(57)【特許請求の範囲】
【請求項１】
媒体に表示された画像を撮影した読み取り画像を取得するインターフェース部と、
前記画像に含まれる所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレート及び当該複数のテンプレートに重畳されたボケ量を記憶する記憶部と、
処理部であって、
前記読み取り画像上で前記所定のパターンが写っているパターン領域を検知するパターン検出機能と、
前記パターン領域と前記複数のテンプレートのそれぞれとの一致度合いを求め、当該一致度合いに基づいて、前記複数のテンプレートのうち、前記読み取り画像に写っている前記所定のパターンと最も一致するテンプレートを特定するマッチング機能と、
前記最も一致するテンプレートに対応するボケ量を、前記読み取り画像に重畳されたボケ量と推定する判定機能と、
を実現する処理部と、
を有し、
前記複数のテンプレートは、複数の受光素子が配列された画像入力装置によって前記所定のパターンを撮影する場合、前記所定のパターンに含まれる第１の画素値を持つ画素と第１の画素値よりも大きい第２の画素値を持つ画素との境界が前記複数の受光素子のうちの何れかに写ったときの当該受光素子に対応する画素値を、前記第１の画素値と前記第２の画素値の中間の値として生成した素子ずれパターンに前記ボケ量を重畳することにより生成された第１のテンプレートを含む、
画像処理装置。
【請求項２】
前記処理部は、推定されたボケ量が第１の閾値よりも大きい場合、前記媒体に表示された画像を撮影した第２の読み取り画像を取得し、当該第２の読み取り画像を前記読み取り画像として、前記パターン検出機能、前記マッチング機能及び前記判定機能を実行する、請求項１に記載の画像処理装置。
【請求項３】
前記複数のテンプレートは、前記所定のパターンを所定の倍率で拡大または縮小したパターンであるリサイズパターンに前記ボケ量を重畳することにより生成された第２のテンプレートを含む、請求項２に記載の画像処理装置。
【請求項４】
媒体に表示された画像を撮影した読み取り画像を取得し、
前記読み取り画像上で前記画像に含まれる所定のパターンが写っているパターン領域を検知し、
前記パターン領域と前記所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレートのそれぞれとの一致度合いを求め、当該一致度合いに基づいて前記複数のテンプレートのうち、前記読み取り画像に写っている前記所定のパターンと最も一致するテンプレートを特定し、前記複数のテンプレートは、複数の受光素子が配列された画像入力装置によって前記所定のパターンを撮影する場合、前記所定のパターンに含まれる第１の画素値を持つ画素と第１の画素値よりも大きい第２の画素値を持つ画素との境界が前記複数の受光素子のうちの何れかに写ったときの当該受光素子に対応する画素値を、前記第１の画素値と前記第２の画素値の中間の値として生成した素子ずれパターンに前記ボケ量を重畳することにより生成されたテンプレートを含み、
前記最も一致するテンプレートに対応するボケ量を、前記読み取り画像に重畳されたボケ量と推定する、
ことを含む画像処理方法。
【請求項５】
媒体に表示された画像を撮影した読み取り画像を取得し、
前記読み取り画像上で前記画像に含まれる所定のパターンが写っているパターン領域を検知し、
前記パターン領域と前記所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレートのそれぞれとの一致度合いを求め、当該一致度合いに基づいて前記複数のテンプレートのうち、前記読み取り画像に写っている前記所定のパターンと最も一致するテンプレートを特定し、前記複数のテンプレートは、複数の受光素子が配列された画像入力装置によって前記所定のパターンを撮影する場合、前記所定のパターンに含まれる第１の画素値を持つ画素と第１の画素値よりも大きい第２の画素値を持つ画素との境界が前記複数の受光素子のうちの何れかに写ったときの当該受光素子に対応する画素値を、前記第１の画素値と前記第２の画素値の中間の値として生成した素子ずれパターンに前記ボケ量を重畳することにより生成されたテンプレートを含み、
前記最も一致するテンプレートに対応するボケ量を、前記読み取り画像に重畳されたボケ量と推定する、
ことをコンピュータに実行させる画像処理用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、媒体に印刷された画像を電子データに変換した後に、その電子データに表された画像を処理する画像処理装置、画像処理方法及び画像処理用コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、データをパターン化した２次元コードが広く利用されている。このような２次元コードには、２次元コードを読み取った画像から、２次元コードの位置を決定できるように、所定のパターンを持つ位置決めシンボルが含まれる（例えば、特許文献１を参照）。
また、印刷物に記載された秘密情報が漏洩することを防止するための技術が開発されている。特に、不特定多数の人に見られたくない画像を予め暗号化し、その暗号化された画像を紙などの媒体に印刷する技術が提案されている（例えば、特許文献２を参照）。そのような技術のうちの一つを用いた暗号化装置は、入力画像上の暗号化対象領域に含まれる画素の配置を、所定の暗号鍵に従ってブロック単位で入れ替える。さらにその暗号化装置は、暗号化された領域の４隅のうちの少なくとも二つ以上に、暗号化された領域を特定するための位置決めマーカを付加する。またその暗号化装置は、暗号化された領域を復号することにより得られる復号画像の妥当性を検証するためのチェック用マーカを付す。一方、復号装置は、暗号化された領域を持つ画像が印刷された媒体を、スキャナまたはデジタルカメラなどの読取装置を用いて読み込んで電子データ化する。そして復号装置は、電子データ化された画像に対して位置決めマーカを参照して暗号化された領域を復号することにより、原画像を得る。
【０００３】
しかしながら、２次元コードまたは暗号画像が印刷された媒体が、デジタルカメラまたはカメラ付き携帯電話などで撮影されると、焦点位置ずれによって撮影された画像がボケたり、また手ブレによるボケがその撮影された画像に重畳されてしまうことがある。そしてこのようなボケが撮影された画像に重畳されると、その画像に写っている２次元コードに含まれるデータが再生できなくなるおそれがある。あるいは、暗号画像を復号することにより得られた画像の画質が原画像の画質と比較して大幅に劣化してしまう。
一方、撮影された画像から求めたエッジ強度または自己相関値に基づいて、その画像に重畳されたボケまたは手ブレ量を評価する技術が提案されている（例えば、特許文献３及び４を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２５４０３７号公報
【特許文献２】特開２００８−３０１０４４号公報
【特許文献３】特開２０００−１８９２０号公報
【特許文献４】特開２００６−１７２４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、画像上のエッジ強度または自己相関値は、撮影対象となった、媒体に印刷されている画像にも依存する。そのため、媒体に印刷されている画像によらず、撮影された画像に重畳されているボケの量を検出可能な技術が求められている。
【０００６】
そこで、本明細書は、撮影された画像に重畳されているボケの量を検出可能な画像処理装置、画像処理方法及び画像処理用コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、画像処理装置が提供される。係る画像処理装置は、媒体に表示された画像を撮影した読み取り画像を取得するインターフェース部と、媒体に表示された画像に含まれる所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレート及びそれら複数のテンプレートに重畳されたボケ量を記憶する記憶部と、読み取り画像に重畳されているボケ量を検出する処理部とを有する。処理部は、読み取り画像上で所定のパターンが写っているパターン領域を検知するパターン検出機能と、パターン領域と複数のテンプレートのそれぞれとの一致度合いを求め、その一致度合いに基づいて、複数のテンプレートのうち、読み取り画像に写っている所定のパターンと最も一致するテンプレートを特定するマッチング機能と、最も一致するテンプレートに対応するボケ量を、読み取り画像に重畳されたボケ量と推定する判定機能とを実現する。
【０００８】
また、他の実施形態によれば、媒体に表示された画像を撮影した読み取り画像の処理方法が提供される。この画像処理方法は、媒体に表示された画像を撮影した読み取り画像を取得し、読み取り画像上で媒体に表示された画像に含まれる所定のパターンが写っているパターン領域を検知し、パターン領域と所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレートのそれぞれとの一致度合いを求め、その一致度合いに基づいて、複数のテンプレートのうち、読み取り画像に写っている所定のパターンと最も一致するテンプレートを特定し、最も一致するテンプレートに対応するボケ量を読み取り画像に重畳されたボケ量と推定することを含む。
【０００９】
さらに他の実施形態によれば、媒体に表示された画像を撮影した読み取り画像の処理をコンピュータに実行させるコンピュータプログラムが提供される。このコンピュータプログラムは、媒体に表示された画像を撮影した読み取り画像を取得し、読み取り画像上で媒体に表示された画像に含まれる所定のパターンが写っているパターン領域を検知し、パターン領域と所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレートのそれぞれとの一致度合いを求め、その一致度合いに基づいて、複数のテンプレートのうち、読み取り画像に写っている所定のパターンと最も一致するテンプレートを特定し、最も一致するテンプレートに対応するボケ量を読み取り画像に重畳されたボケ量と推定することをコンピュータに実行させる。
【００１０】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
【発明の効果】
【００１１】
ここに開示される画像処理装置、画像処理方法及び画像処理用コンピュータプログラムは、撮影された画像に重畳されているボケの量を検出することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態による画像処理装置の概略構成図である。
【図２】（Ａ）は、暗号画像の一例を示す図であり、（Ｂ）は、（Ａ）に示された暗号画像に含まれる位置検出マーカの拡大図であり、（Ｃ）は、（Ｂ）に示された位置検出マーカの一部の輝度分布を表す図である。
【図３】（Ａ）は、図２（Ａ）に示した暗号画像を撮影する際に、水平方向の手ブレが生じたことによりブレた読み取り画像に写っている位置検出マーカの像を示す図であり、（Ｂ）は、図３（Ａ）に示された領域Ｃ内の水平方向の輝度分布を表すグラフである。
【図４】第１の実施形態による、処理部の機能を示すブロック図である。
【図５】ボケ検出用テンプレート生成処理の動作フローチャートである。
【図６】（Ａ）〜（Ｄ）は、受光素子に対する位置検出マーカのエッジの相対的な位置と、画像上での位置検出マーカのエッジ近傍の画素値との関係を示す図である。
【図７】（Ａ）〜（Ｄ）は、それぞれ、水平方向のボケ検出用テンプレートにおける、黒ブロックと白ブロック間の境界近傍の画素値の分布を表すグラフである。
【図８】原画像上の各ブロックの位置と、スクランブル処理後の画像における各ブロックの位置との関係を示す。
【図９】第１の実施形態による画像処理装置の処理部上で実行されるコンピュータプログラムにより制御される画像処理の動作フローチャートである。
【図１０】第２の実施形態による、処理部の機能を示すブロック図である。
【図１１】第２の実施形態による画像処理装置の処理部上で実行されるコンピュータプログラムにより制御される画像処理の動作フローチャートである。
【発明を実施するための形態】
【００１３】
以下、図を参照しつつ、第１の実施形態による画像処理装置について説明する。この画像処理装置は、画像が印刷された紙などの媒体をデジタルカメラまたはカメラ付き携帯電話などによって撮影することにより得られた電子データ上の画像に重畳された、焦点位置ずれまたは手ブレなどによるボケの量を検知する。そのために、この画像処理装置は、媒体に印刷された画像に含まれる既知のパターンを、互いに異なるボケ量を持つ複数のテンプレートと、その画像上の既知のパターンとの一致度合いを求める。そしてこの画像処理装置は、画像上の既知のパターンと最も一致するテンプレートに対応するボケ量が画像に重畳されていると判定する。
なお、以下では、便宜上、媒体に印刷された画像を印刷画像と呼ぶ。そして印刷画像には、既知のパターンを含む画像として、例えば、原画像が暗号化された暗号画像または２次元コードが含まれる。以下では、一例として、印刷画像は暗号画像であるものとする。また、印刷画像を撮影することにより得られた画像を読み取り画像と呼ぶ。
【００１４】
図１は、一つの実施形態による画像処理装置の概略構成図である。画像処理装置１は、インターフェース部１１と、記憶部１２と、処理部１３とを有する。画像処理装置１は、インターフェース部１１を介して画像入力装置２と接続される。そして画像処理装置１は、画像入力装置２から取得した、読み取り画像である、電子データ化された暗号画像に対して復号処理を実行することにより、復号画像を得る。
【００１５】
画像入力装置２は、紙などの媒体に印刷された暗号画像を撮影し、その暗号画像を電子データ化することにより、読み取り画像を生成する。そのために、画像入力装置２は、例えば、２次元アレイ状に配置された複数の受光素子と、その複数の受光素子に撮影対象物の像を結像する光学系とを有する。なお、受光素子は、例えば、固体撮像素子である。また画像入力装置２は、画像処理装置１と一体的に形成されていてもよく、あるいは、画像処理装置１と別個に設けられてもよい。
【００１６】
インターフェース部１１は、例えば、画像処理装置１を、画像入力装置２と接続するための通信インターフェース及びその制御回路を有する。そのような通信インターフェースは、例えば、Universal Serial Bus（ユニバーサル・シリアル・バス、USB）またはSmall Computer System Interface（スカジー、SCSI）などの通信規格に従ったインターフェースとすることができる。
【００１７】
インターフェース部１１は、読み取り画像を画像入力装置２から取得し、その読み取り画像を処理部１３へ渡す。またインターフェース部１１は、処理部１３から読み取り画像または復号画像を受け取り、受け取った画像をディスプレイまたはプリンタといった出力装置３へ出力する。
またインターフェース部１１は、イーサネット（登録商標）などの通信規格に従った通信ネットワークまたはIntegrated Services Digital Network（総合ディジタル通信網サービス、ISDN）に接続するための通信インターフェース及びその制御回路を有してもよい。そして画像処理装置１は、インターフェース部１１を介して、他の機器に対して、読み取り画像または復号画像を送信してもよい。あるいは、画像処理装置１は、他の機器から通信ネットワークを介して読み取り画像を取得してもよい。
【００１８】
記憶部１２は、例えば、半導体メモリ、磁気ディスク装置、または光ディスク装置のうちの少なくとも何れか一つを有する。そして記憶部１２は、画像処理装置１で実行されるコンピュータプログラム、暗号画像を復号するために使用される復号鍵などのパラメータ、画像入力装置２から取得した読み取り画像、または処理部１３により生成された復号画像を記憶する。
また記憶部１２は、暗号画像上の既知のパターンが含まれる領域を特定するためのパターン検出用テンプレートを記憶する。さらに記憶部１２は、暗号画像上の既知のパターンに対して所定のボケ量を重畳させることにより生成された複数のボケ検出用テンプレート及び各ボケ検出用テンプレートに対応するボケ量、識別番号を記憶する。なお、パターン検出用テンプレート及びボケ検出用テンプレートの詳細については後述する。
【００１９】
処理部１３は、１個または複数個のプロセッサ及びその周辺回路を有する。そして処理部１３は、画像入力装置２から取得した、読み取り画像に重畳されているボケ量を求める。また処理部１３は、読み取り画像に対して復号処理を実行することにより、復号画像を生成する。さらに処理部１３は、画像処理装置１全体を制御する。
【００２０】
図２（Ａ）は、暗号画像の一例を示す図である。
図２（Ａ）に示されるように、暗号画像２００の４隅には、暗号化された画像領域を特定するための位置検出マーカ２０１〜２０４が設けられている。この位置検出マーカ２０１〜２０４は、暗号画像を復号する装置（本実施形態では、画像処理装置１）が予め知っているパターンである。この例では、位置検出マーカ２０１〜２０４は、それぞれ、水平方向及び垂直方向に沿って輝度が低い矩形状のブロックと輝度が高い矩形状のブロックが交互に配置されたパターンを有する。なお、図２（Ａ）では、輝度が低いブロックは、黒で表され、輝度が高いブロックは白で表されている。以下では、便宜上、輝度が低いブロックを黒ブロックと呼び、輝度が高いブロックを白ブロックと呼ぶ。
【００２１】
図２（Ｂ）は、暗号画像２００の左上に配置された位置検出マーカ２０１の拡大図である。そして図２（Ｃ）は、図２（Ｂ）に示された領域Ａに含まれる、位置検出マーカ２０１の水平方向のパターンの一部の画素値分布を示す図である。図２（Ｃ）に示されるように、位置検出マーカ２０１の水平方向のパターンを横断する、水平方向の線Ｂ上に点f0〜f9が設定されている。各点f0〜f9のうち、黒ブロックに含まれる点f0〜f4の画素値は、白ブロックに含まれる点f5〜f9の画素値よりも低い。そして点f4と点f5の中間に位置する、ブロック間の境界において急激に画素値が変化する。
そのため、手ブレまたはボケが重畳されていない、理想的な読み取り画像では、この位置検出マーカの白ブロックと黒ブロックとの境界で急激に輝度が変化する。
【００２２】
図３（Ａ）は、図２（Ａ）に示された暗号画像２００を撮影する際に、水平方向の手ブレが生じたことによりブレた読み取り画像に写っている、左上の位置検出マーカ２０１の像の一例を示す。
図３（Ａ）に示されるように、読み取り画像に水平方向の手ブレによるボケが重畳されると、位置検出マーカ２０１の像３００では、位置検出マーカ２０１が有する白ブロックと黒ブロック間の境界が不鮮明となる。
図３（Ｂ）は、図３（Ａ）に示された領域Ｃ内の水平方向の画素値分布を表すグラフである。図３（Ｂ）において、横軸は読み取り画像上の水平方向の位置を表し、縦軸は画素値を表す。グラフ３００に示されるように、読み取り画像に水平方向の手ブレによるボケが重畳されると、ボケが無い場合と異なり、水平方向の位置変化に応じて画素値は緩やかに変化する。
そして、読み取り画像に重畳されたボケ量が大きくなるほど、白ブロックと黒ブロック間の境界は不鮮明となり、その境界近傍における画素値変化も緩やかになる。このように、読み取り画像に重畳されたボケ量に応じて、読み取り画像に写っている位置検出マーカの像に対応する画素値の分布も変動する。
【００２３】
そこで処理部１３は、読み取り画像上において、既知である位置検出マーカに含まれるパターンの画素値分布を調べることにより、読み取り画像に重畳されているボケ量を求めることができる。
【００２４】
図４は、処理部１３の機能を示すブロック図である。処理部１３は、テンプレート生成部２１と、パターン検出部２２と、マッチング部２３と、判定部２４と、補正部２５と、復号部２６とを有する。処理部１３が有するこれらの各部は、処理部１３が有するプロセッサ上で実行されるコンピュータプログラムによって実装される機能モジュールである。
【００２５】
テンプレート生成部２１は、暗号画像の位置検出マーカに対して所定のボケ量を重畳させたボケ検出用テンプレートを生成する。
暗号画像を撮影したときの媒体像と画像入力装置２間の距離に応じて、読み取り画像上での位置検出マーカのサイズは変動する。また、位置検出マーカに含まれる白ブロックと黒ブロックとの境界の位置と、画像入力装置２が有する受光素子の位置との関係に応じて、その境界が写っている画素の値も変動する。さらに、手ブレまたは焦点位置ずれによるボケ量によっても位置検出用マーカの像は変動する。
そこで、テンプレート生成部２１は、これらの点を考慮して、読み取り画像上にできる位置検出マーカの模擬的な像をボケ検出用テンプレートとして作成する。
【００２６】
図５は、ボケ検出用テンプレート生成処理の動作フローチャートである。まず、テンプレート生成部２１は、位置検出マーカ全体または位置検出マーカの一部と同一のパターンを持つ基本テンプレートを拡大または縮小することにより１以上のリサイズテンプレートを生成する（ステップＳ１０１）。
なお、基本テンプレートは、白ブロックと黒ブロックの境界を少なくとも一つ、好ましくは二つ以上含む。例えば、読み取り画像の各画素の値が0〜255で表され、値が大きいほど輝度が高い場合、基本テンプレートでは、白ブロックに相当する画素の値は255に設定され、黒ブロックに相当する画素の値は0に設定される。また、基本テンプレートは、水平方向のボケ量を検出するための、水平方向に並んだ白ブロックと黒ブロックを含む水平テンプレートと、垂直方向のボケ量を検出するための、垂直方向に並んだ白ブロックと黒ブロックを含む垂直テンプレートとを含んでもよい。
【００２７】
テンプレート生成部２１は、例えば、倍率を所定の単位ずつ変更し、基本テンプレートを、最近傍法または線形補間法を用いて各倍率で拡大または縮小することにより、１以上のリサイズテンプレートを生成する。倍率は、例えば、暗号画像の各画素を読み取り画像上で識別できる下限に相当する最小縮小率から、読み取り画像上に暗号画像全体が写る上限に相当する最大拡大率までの範囲内の値に設定される。また所定の単位は、例えば、0.1〜0.5の範囲内の何れかの値に設定される。
【００２８】
次に、テンプレート生成部２１は、各リサイズテンプレートに基づいて、白ブロックと黒ブロックの境界と画像入力装置２が有する受光素子の仮想的な位置関係に応じて、その境界が写る画素の値を調節した素子ずれテンプレートを生成する（ステップＳ１０２）。
図６（Ａ）〜図６（Ｄ）は、それぞれ、受光素子に対する白ブロックと黒ブロックの境界の位置と、各受光素子に対応する画素値との関係を表した図である。図６（Ａ）〜図６（Ｄ）において、上側に示されたブロック６０１及び６０２は、それぞれ、位置検出マーカの黒ブロック及び白ブロックである。また、水平方向に並んで配置された５個のブロック６１１〜６１５は、それぞれ、一つの受光素子を表す。そして受光素子６１１〜６１５の下方に示されたグラフ６２１〜６２４は、それぞれ、受光素子６１１〜６１５に対応する、画素の値を表すグラフである。
【００２９】
図６（Ａ）では、黒ブロック６０１と白ブロック６０２の境界が、受光素子６１３と６１４の境界と一致している。そのため、グラフ６２１に示されるように、受光素子６１１〜６１３に対応する画素の値は、黒ブロック６０１に相当する画素値（例えば0）となり、受光素子６１４〜６１５に対応する画素の値は、白ブロック６０２に相当する画素値（例えば255）となる。
一方、図６（Ｂ）では、黒ブロック６０１と白ブロック６０２の境界の位置が、受光素子６１３と６１４の境界から、受光素子６１３の幅の1/4だけ左側にずれている。そのため、受光素子６１３の3/4には、黒ブロック６０１が写り、残りの1/4には白ブロック６０２が写ることになる。そのため、グラフ６２２に示されるように、受光素子６１３に対応する画素の値は、黒ブロックに相当する画素の値と白ブロックに相当する画素の値の中間的な値になる。具体的には、受光素子６１３に対応する画素の値は、黒ブロックに相当する画素の値と白ブロックに相当する画素の値とを、受光素子６１３上の黒ブロックの面積と白ブロックの面積の比に応じて補間した値（すなわち、0×3/4+255×1/4=63）となる。
同様に、図６（Ｃ）では、黒ブロック６０１と白ブロック６０２の境界の位置が、受光素子６１３と６１４の境界から、受光素子６１３の幅の1/2だけ左側にずれている。そのため、受光素子６１３には、黒ブロック６０１と白ブロック６０２が同じ面積だけ写ることになる。そのため、グラフ６２３に示されるように、受光素子６１３に対応する画素の値は、黒ブロックに相当する画素の値と白ブロックに相当する画素の値の平均値（すなわち、0×1/2+255×1/2=127）となる。
さらに、図６（Ｄ）では、黒ブロック６０１と白ブロック６０２の境界の位置が、受光素子６１３と６１４の境界から、受光素子６１３の幅の3/4だけ左側にずれている。そのため、受光素子６１３の1/4には黒ブロック６０１が写り、残りの3/4には白ブロック６０２が写ることになる。そのため、グラフ６２４に示されるように、受光素子６１３に対応する画素の値は、黒ブロックに相当する画素の値と白ブロックに相当する画素の値とを、受光素子６１３上の黒ブロックの面積と白ブロックの面積の比に応じて補間した値となる。すなわち、受光素子６１３に対応する画素の値は、191(=0×1/4+255×3/4)となる。
【００３０】
そこで、テンプレート生成部２１は、媒体と画像入力装置２間の距離を様々に変えて、画像入力装置２で媒体上の位置検出マーカを撮影したときに、各リサイズテンプレートに相当する画像が得られると仮定する。そしてテンプレート生成部２１は、各リサイズテンプレートに含まれる白ブロックと黒ブロックの位置を水平方向または垂直方向にΔdだけ移動し、白ブロックと黒ブロックの境界が写る受光素子に対応する画素の値を次式に従って算出する。
【数１】
0005505007.tif 000002
ここで、ei(M)は、白ブロックと黒ブロックの境界が位置する受光素子iの画素値を表す。またdは、Δdが水平方向のずれ量である場合、受光素子の水平方向の長さを表し、Δdが垂直方向のずれ量である場合、受光素子の垂直方向の長さを表す。そしてfs,i、fs,i+1は、それぞれ、リサイズテンプレートfsの画素iの画素値及び画素(i+1)の画素値を表す。なお、Δdが水平方向のずれ量である場合、画素i及び画素(i+1)は、水平方向に隣接する二つの画素であり、Δdが垂直方向のずれ量である場合、画素i及び画素(i+1)は、垂直方向に隣接する二つの画素である。そして画素i及び画素(i+1)の一方が、白ブロックに含まれる画素であり、他方が黒ブロックに含まれる画素となる。
テンプレート生成部２１は、各リサイズテンプレートについて、Δdを0〜dの範囲内で所定の単位ずつ変更し、それぞれのΔdを用いて（１）式により境界画素の値を求めることにより、１以上の素子ずれテンプレートを生成する。なお、所定の単位は、例えば、d/10〜d/2の範囲内の値とすることができる。
本実施形態では、テンプレート生成部２１は、リサイズテンプレートに対して（１）式の演算を行うことにより素子ずれテンプレートを生成した。しかし、読み取り画像上での位置検出マーカのサイズが既知であり、かつほぼ一定である場合には、テンプレート生成部２１は、基本テンプレートに対して（１）式の演算を行うことにより素子ずれテンプレートを生成してもよい。
【００３１】
テンプレート生成部２１は、各素子ずれテンプレートと、ボケ量を様々に変更したボケ関数との畳み込み演算を次式に従って行うことによりボケ検出用テンプレートを生成する（ステップＳ１０３）。
【数２】
0005505007.tif 000003
ただし、ti(k)は、k番目のボケ検出用テンプレートの画素iの画素値を表す。またei(l)は、l番目の素子ずれテンプレートの画素iの値を表す。そしてPSF(i,σN)は、所定のボケ量に相当するパラメータσNを持つボケ関数を表す。また演算子'*'は、畳み込み演算を表す。
【００３２】
ボケ関数は、例えば、点広がり関数とすることができる。この点広がり関数は、手ブレによるボケを素子ずれテンプレートに重畳する場合、例えば、所定の方向の１次元のガウス分布関数Gauss(i, σN)またはsinc関数とすることができる。点広がり関数が１次元のガウス分布関数である場合、上記の（２）式は、次のように表される。
【数３】
0005505007.tif 000004
なお、ej(l)は、l番目の素子ずれテンプレートの画素jの値を表す。またnは、所定の方向に沿った直線上に位置する、素子ずれテンプレートに含まれる画素の総数を表す。σN2は分散を表す。この分散σN2は、ボケ量に相当し、分散σN2が大きいほど、ボケ量も大きい。
また、所定の方向は、例えば、水平方向、垂直方向あるいは水平方向に対して角度θ（ただし、0＜θ＜180°）をなす方向とすることができる。
【００３３】
また、焦点位置ずれによるボケを素子ずれテンプレートに重畳する場合、点広がり関数は、例えば、２次元のガウス分布関数または第１種ベッセル関数J1を着目する画素からの距離xで割った値の２乗(J1/x)2であってもよい。
テンプレート生成部２１は、手ブレによるボケと焦点位置ずれによるボケの両方を含むボケ検出用テンプレートを生成してもよい。この場合、テンプレート生成部２１は、例えば、素子ずれテンプレートと手ブレ用の点広がり関数との畳み込み演算を行って得られたテンプレートと、焦点位置ずれ用点広がり関数との畳み込み演算を行う。これにより、テンプレート生成部２１は、手ブレによるボケと焦点位置ずれによるボケの両方を含むボケ検出用テンプレートを生成できる。
【００３４】
なお、テンプレート生成部２１は、リサイズテンプレートとボケ関数との畳み込み演算を行ってボケ検出用テンプレートを生成してもよい。また、ボケ検出用テンプレートは、基本テンプレート、各リサイズテンプレート及び各素子ずれテンプレートを含んでもよい。
【００３５】
最後に、テンプレート生成部２１は、得られたボケ検出用テンプレートを次式に従って正規化する。
【数４】
0005505007.tif 000005
なお、ti(k)は、ボケ検出用テンプレートT(k)に含まれる画素iの値であり、AVG(T(k))は、ボケ検出用テンプレートT(k)に含まれる画素値の平均値を表し、STD(T(k))はボケ検出用テンプレートT(k)に含まれる画素値の標準偏差を表す。またnは、ボケ検出用テンプレートT(k)に含まれる画素の総数を表す。そしてtsi(k)は、正規化されたボケ検出用テンプレートに含まれる画素iの値である。
【００３６】
図７（Ａ）〜図７（Ｄ）は、それぞれ、ボケ量の異なる水平方向のボケ検出用テンプレートにおける、黒ブロックと白ブロックの境界近傍における画素値分布を表すグラフである。図７（Ａ）〜図７（Ｄ）において、横軸は水平方向の位置を表し、縦軸は画素値を表す。またグラフ７０１〜７０４は、それぞれ、黒ブロックと白ブロックの境界近傍における、ボケ検出用テンプレートの各画素の値を表す。
図７（Ａ）に示されるグラフ７０１は、ボケが重畳されていないボケ検出用テンプレートに対応する。このボケ検出用テンプレートでは、黒ブロックと白ブロックの境界が位置する画素の値のみが白ブロックに含まれる画素の値と黒ブロックに含まれる画素の値の中間の値を持つ。
グラフ７０２〜７０４は、それぞれ、ボケが重畳されたボケ検出用テンプレートに対応する。このうち、グラフ７０２に対応するボケ検出用テンプレートに重畳されたボケ量が最も少なく、一方、グラフ７０４に対応するボケ検出用テンプレートに重畳されたボケ量が最も多い。図７（Ｂ）〜図７（Ｄ）に示されるように、重畳されるボケ量が多いほど、黒ブロックと白ブロックの境界近傍における画素値の変化が緩やかになる。
【００３７】
テンプレート生成部２１は、生成した各ボケ検出用テンプレートを、そのテンプレートの生成に用いられたボケ関数に対応するボケ量及びボケ検出用テンプレートの識別番号とともに記憶部１２に記憶する。
【００３８】
パターン検出部２２は、読み取り画像上で位置検出マーカが写っている領域を検出する。
例えば、パターン検出部２２は、読み取り画像と、位置検出マーカと同様のパターンを持つパターン検出用テンプレートとのパターンマッチングを行って、読み取り画像とパターン検出用テンプレートが最も一致する位置を求める。具体的には、パターン検出部２２は、読み取り画像に対するパターン検出用テンプレートの相対的な位置を変えつつ、読み取り画像とパターン検出用テンプレートとの対応画素間の画素値の差分絶対値の合計を相違度として算出する。そしてパターン検出部２２は、相違度が最小となる、パターン検出用テンプレートの位置を、両者が最も一致する位置であるパターン位置として特定する。そしてパターン検出部２２は、読み取り画像上に、パターン位置を基準として、位置検出マーカのサイズと等しい領域、または位置検出マーカのサイズに所定の余裕分を加えたサイズを持つ領域を、パターン領域として設定する。例えば、読み取り画像とパターン検出用テンプレートが最も一致したときのパターン検出用テンプレートの左上端画素の読み取り画像上の位置がパターン位置に設定される。この場合、パターン検出部２２は、そのパターン位置を左上端とし、位置検出マーカの水平方向サイズに1.0〜1.2を乗じた幅を持ち、位置検出マーカの垂直方向サイズに1.0〜1.2を乗じた高さを持つ領域をパターン領域とする。
【００３９】
なお、読み取り画像に写っている位置検出マーカのサイズは、画像入力装置２と媒体に印刷された暗号画像との距離によって変わる。そこで、パターン検出用テンプレートとして、上記の複数のリサイズテンプレートが用いられてもよい。この場合、パターン検出部２２は、複数のリサイズテンプレートのそれぞれと、読み取り画像とのパターンマッチングを行う。そしてパターン検出部２２は、相違度が最小となるリサイズテンプレートによって、パターン位置を特定する。またこの場合、パターン検出部２２は、相違度が最小となるリサイズテンプレートに対応する倍率が大きいほど、パターン領域のサイズを大きくしてもよい。例えば、パターン検出部２２は、相違度が最小となるリサイズテンプレートに対応する倍率が1である場合、予め定められた基準の幅及び高さを持つパターン領域を設定する。一方、パターン検出部２２は、倍率が1と異なる値を持つ場合、パターン領域の基準の幅及び高さのそれぞれに、その倍率を乗じた値を、パターン領域の幅及び高さとする。
【００４０】
また、パターン検出部２２は、パターン位置を決定するために、位置検出マーカに含まれる白ブロックと黒ブロックの境界を読み取り画像上で検出してもよい。ここで、隣接する二つの画素間の差分値の絶対値は、その二つの画素の一方が白ブロックに含まれ、他方が黒ブロックに含まれるときに極大値となる。そして、位置検出マーカは、交互に配置された複数の白ブロックと黒ブロックを有するので、このような差分絶対値の極大値は、白ブロックと黒ブロックのそれぞれの境界において検出される。さらに、隣接する極大値間の距離は、白ブロックまたは黒ブロックの長さに、読み取り画像上での暗号画像の倍率を乗じた値となる。そこで、パターン検出部２２は、読み取り画像に対して水平方向または垂直方向の近傍画素間の差分演算を実行して近傍画素間の差分絶対値を算出する。そしてパターン検出部２２は、差分絶対値が極大値となる画素であるエッジ画素の位置を求める。パターン検出部２２は、複数のエッジ画素のうち、複数のエッジ画素間の水平方向または垂直方向の距離が、位置検出マーカが有する各白ブロック及び黒ブロックの長さに一定の倍率を乗じた値となっているエッジ画素の組を検出する。そしてパターン検出部２２は、検出されたエッジ画素の組を含む領域をパターン領域として設定する。
【００４１】
なお、パターン検出部２２は、読み取り画像とパターン検出用テンプレートとのパターンマッチングにより求められたパターン領域内で、上記のエッジ画素の検出及びエッジ画素間の距離の算出を行ってもよい。この場合、パターン検出部２２は、より正確にパターン領域を検出できるので、パターンマッチングによって求められたパターン領域内に、より狭いパターン領域を設定できる。そのため、マッチング部２３による、パターン領域とボケ検出用テンプレートとのパターンマッチングの演算量を軽減できる。なお、マッチング部２３の処理の詳細については後述する。
【００４２】
さらにまた、パターン検出部２２は、読み取り画像上において、予め定められた領域をパターン領域としてもよい。例えば、暗号画像が読み取り画像の1/2よりも大きくなるように撮影されることが想定される場合、パターン検出部２２は、読み取り画像を水平方向及び垂直方向のそれぞれに２分割したブロックのうち、左上端のブロックをパターン領域に設定してもよい。
【００４３】
パターン検出部２２は、パターン領域の位置及びサイズを表す情報をマッチング部２３に渡す。
【００４４】
マッチング部２３は、記憶部１２に記憶されている各ボケ検出用テンプレートと、読み取り画像のうち、パターン検出部２２により検出された位置検出マーカが含まれるパターン領域との間でパターンマッチングを実行する。そしてマッチング部２３は、読み取り画像に含まれる位置検出マーカと最も一致するボケ検出用テンプレートを決定する。
具体的には、マッチング部２３は、パターン領域に対するボケ検出用テンプレートの相対的な位置を様々に変更し、それぞれの位置でボケ検出用テンプレートとパターン領域との相違度を算出する。この相違度は、ボケ検出用テンプレートとパターン領域の一致度合いを表す指標となる。
マッチング部２３は、相違度を算出する際、読み取り画像取得時の撮影環境の明るさによって相違度の値が変わることを防ぐことが好ましい。そこでマッチング部２３は、パターン領域のうち、ボケ検出用テンプレートと同じ位置及び同じサイズのテスト領域に含まれる画素の値を次式に従って正規化する。
【数５】
0005505007.tif 000006
なお、giは、テスト領域Gに含まれる画素iの値であり、AVG(G)は、テスト領域Gに含まれる画素値の平均値を表し、STD(G)はテスト領域Gに含まれる画素値の標準偏差を表す。またnは、テスト領域Gに含まれる画素の総数を表す。そしてgsiは、正規化されたテスト領域Gに含まれる画素iの値である。
【００４５】
マッチング部２３は、パターン領域中の様々な位置に設定され、正規化されたテスト領域Gと、ボケ検出用テンプレートとの相違度を次式に従って算出する。
【数６】
0005505007.tif 000007
ただし、M(k)は、k番目のボケ検出用テンプレートと、正規化されたテスト領域Gの相違度を表す。gsiは、正規化されたテスト領域Gに含まれるi番目の画素の値を表し、tsi(k)は、k番目のボケ検出用テンプレートのi番目の画素の値を表す。またnは、テスト領域Gに含まれる画素の総数を表す。
【００４６】
マッチング部２３は、パターン領域に対するk番目のボケ検出用テンプレートの相対的な位置を様々に変更し、各位置について相違度M(k)を算出する。そしてマッチング部２３は、相違度M(k)のうちの最小値Mmin(k)を、k番目のボケ検出用テンプレートに対する相違度とする。同様に、マッチング部２３は、パターン領域と、記憶部１２に記憶されている各ボケ検出用テンプレートとの相違度を算出する。
マッチング部２３は、各ボケ検出用テンプレートの相違度Mmin(k)のうちの最小値Mminを求める。そしてマッチング部２３は、最小値Mminに対応するボケ検出用テンプレートを、読み取り画像に含まれる位置検出マーカに対して最も一致するテンプレートとする。
【００４７】
なお、マッチング部２３は、相違度の逆数である類似度を、ボケ検出用テンプレートとパターン領域との一致度合いを表す指標として求めてもよい。この場合、マッチング部２３は、類似度が最大となるボケ検出用テンプレートを、読み取り画像に含まれる位置検出マーカに対して最も一致するテンプレートとする。
マッチング部２３は、読み取り画像に含まれる位置検出マーカと最も一致したボケ検出用テンプレートの識別番号を判定部２４に通知する。
【００４８】
判定部２４は、マッチング部２３により求められた、読み取り画像に含まれる位置検出マーカと最も一致したボケ検出用テンプレートに対応するボケ量dを読み取り画像に重畳されているボケ量であると推定する。そして判定部２４は、読み取り画像に重畳されているボケ量dに応じて、読み取り画像を補正するか否か、あるいは読み取り画像を再取得するか否かを判定する。
例えば、判定部２４は、記憶部１２から、読み取り画像と最も一致したボケ検出用テンプレートの識別番号に対応するボケ量dを読み込む。そして判定部２４は、そのボケ量dを第１の閾値Th1と比較する。そして判定部２４は、ボケ量dが第１の閾値Th1よりも大きいとき、読み取り画像を廃棄する。そして判定部２４は、読み取り画像がボケていることを処理部１３に通知する。この場合、処理部１３は、図示しないユーザインターフェースを介して、ユーザに対して暗号画像を再度撮影することを求めるメッセージを通知する。あるいは、同一の暗号画像を撮影した複数の読み取り画像が記憶部１２に記憶されている場合、処理部１３は、廃棄された読み取り画像と異なる読み取り画像を記憶部１２から読み込む。
そして処理部１３は、再取得された読み取り画像を用いて再度ボケ量の検出を行わせる。
なお、第１の閾値Th1は、例えば、暗号画像を復号できるボケ量の上限値に対応する値に設定される。あるいは、第１の閾値Th1は、暗号画像を復号して得られる復号画像に含まれる情報をユーザが読み取れるボケ量の上限値に設定されてもよい。
【００４９】
また、判定部２４は、ボケ量dが第１の閾値以下である場合、そのボケ量dを、第１の閾値Th1よりも小さい第２の閾値Th2と比較する。そして判定部２４は、ボケ量dが第２の閾値Th2よりも大きい場合、読み取り画像に対して補正が必要なことを処理部１３に通知する。そして処理部１３は、補正部２５に対して、マッチング部２３から受け取ったボケ検出用テンプレートの識別番号に対応するボケ量d及び読み取り画像を渡す。
一方、ボケ量dが第２の閾値Th2以下である場合、判定部２４は、読み取り画像の画質は良好であると判定する。そして判定部２４は、その判定結果を処理部１３に返す。
なお、第２の閾値Th2は、例えば、暗号画像から復号することにより得られる復号画像の画質が良好でないと判断されるボケ量の下限値に設定される。
【００５０】
なお、同一のボケ量が重畳されていても、読み取り画像に写っている暗号画像の領域が大きいほど、暗号画像に対する相対的なボケは小さいので、暗号画像から復号される復号画像の画質は良好となる。そこで、第１の閾値Th1及び第２の閾値Th2は、読み取り画像に写っている暗号画像の領域が大きいほど、大きい値であってもよい。
この場合、記憶部１２は、ボケ検出用テンプレートの識別番号とともに、そのテンプレートの生成に用いられたリサイズテンプレートに応じた倍率を記憶する。判定部２４は、読み取り画像と最も一致したボケ検出用テンプレートの識別番号に対応する倍率を記憶部１２から読み込む。そして判定部２４は、その倍率を、第１の閾値Th1の基準値及び第２の閾値Th2の基準値に乗じた値を、それぞれ第１の閾値Th1及び第２の閾値Th2とする。
【００５１】
補正部２５は、処理部１３から渡されたボケ量に応じて、読み取り画像に対してエッジ強調処理を実行する。
例えば、補正部２５は、読み取り画像をフーリエ変換して、周波数画像を生成する。そして補正部２５は、周波数画像の各周波数成分に対して強調係数α(u,v)を乗じることにより、補正周波数画像を生成する。なお、uは水平方向の周波数を表し、vは垂直方向の周波数を表す。また強調係数α(u,v)は、例えば、所定の周波数(u0,v0)よりも絶対値が大きい周波数(u,v)に対して1よりも大きい値、例えば、1.1〜2の範囲内の値であり、所定の周波数(u0,v0)以下の周波数の絶対値に対して1である。また、強調係数α(u,v)は、所定の周波数(u0,v0)よりも絶対値が大きい周波数(u,v)についても、周波数帯域ごとに異なる値であってもよい。
【００５２】
位置検出マーカと最も一致するボケ検出用テンプレートが、所定の１次元の方向にのみボケを持つテンプレートであることもある。この場合、補正部２５は、そのボケた方向の周波数成分に対する強調係数の値をボケた方向と直交する方向の周波数成分に対する強調係数よりも大きくしてもよい。例えば、位置検出マーカと最も一致するボケ検出用テンプレートには水平方向のボケ量のみが重畳されている場合、補正部２５は、v=0かつ|u|>u0に対応する強調係数α(u,v)の値を1よりも大きいに設定し、一方、u=0に対応する強調係数α(u,v)の値をvに関わらず1に設定する。
その後、補正部２５は、補正周波数画像を逆フーリエ変換することにより、エッジ強調した補正画像を得る。
補正部２５は、ボケ量が大きいほど、所定の周波数(u0,v0)を低い値に設定することが好ましい。このように周波数(u0,v0)を設定することにより、ボケ量が大きいほど、低い周波数成分も強調されるので、補正画像においてもよりエッジが強調される。
【００５３】
なお、補正部２５は、他のエッジ強調処理を用いて、例えば、着目画素の値と着目画素の周囲に設定されたアンシャープマスク内の平均画素値との差に強調係数を乗じた値を着目画素の値に加算することにより、エッジ強調した補正画像を生成してもよい。この場合、補正部２５は、ボケ量が大きいほど、アンシャープマスクのサイズを大きくする。また読み取り画像と最も一致するボケ検出用テンプレートが、所定の１次元の方向にのみボケを持つテンプレートであれば、補正部２５は、アンシャープマスクを、ボケが重畳された方向の長さが、ボケが重畳されていない方向の長さよりも長くなるように設定する。例えば、読み取り画像と最も一致するボケ検出用テンプレートには垂直方向のボケ量のみが重畳されている場合、補正部２５は、アンシャープマスクの水平方向の長さを１画素とし、アンシャープマスクの垂直方向の長さをボケ量に応じて数画素〜十数画素程度に設定する。
補正部２５は、補正画像を復号部２６に渡す。
【００５４】
復号部２６は、読み取り画像または補正画像に対して復号処理を実行することにより、復号画像を生成する。
ここで、復号部２６により実行される復号処理の理解を容易にするために、原画像に対して行われる暗号化処理の一例を説明する。
暗号化処理を実行する暗号化装置は、まず、原画像のうち、暗号化する領域を複数のブロックに分割し、各ブロックに固有の番号を設定する。例えば、暗号化装置は、暗号化する領域を縦３個×横４個の合計１２個のブロックに分割し、それぞれのブロックに１〜１２の番号を付す。次に、暗号化装置は、暗号鍵を用いて各ブロックの位置を入れ替えるスクランブル処理を実行する。そのために、暗号化装置は、暗号鍵から変換前と変換後のブロックの位置関係を表す対応テーブルを作成する。例えば、変換後のブロックの番号がｘで表され、変換前のブロックの番号がｙで表されるとする。このとき、スクランブル処理に対応するブロックの変換式は次式で表される。
【数７】
0005505007.tif 000008
（７）式において、p及びqは、それぞれ、暗号鍵が表す素数である。
【００５５】
図８に、原画像を縦３個×横４個のブロックに分割し、p=7、q=13としたときの、原画像上の各ブロックの位置と、スクランブル処理後の画像における各ブロックの位置との関係を示す。
図８において、画像８０１は原画像であり、画像８０２は、原画像８０１に対してスクランブル処理が施された暗号画像である。また原画像８０１及び暗号画像８０２の各ブロック内に示された番号は、原画像におけるブロックの番号を表す。例えば、（７）式より、xが1のとき、対応するyの値は7となる。したがって、暗号化装置は、変換前のブロック番号yが7であるブロックを、スクランブル処理により、変換後のブロック番号xが1であるブロックの位置へ移動する。
以下では、スクランブル処理によって画素の位置を他の位置へ移動させる単位であるこのブロックを、位置変換ブロックと呼ぶ。
【００５６】
復号部２６は、位置検出用マーカの位置により、読み取り画像において暗号画像が写っている暗号領域を特定する。そして復号部２６は、暗号領域に対して逆スクランブル処理を実行する。復号部２６は、スクランブル処理を実行したときの暗号鍵及びブロック位置を変換する（７）式を用いて、スクランブル処理実行後の位置変換ブロックの位置がxとなる、暗号画像内の位置変換ブロックの元の位置yを決定できる。そして復号部２６は、暗号画像内の各位置変換ブロックを、得られた元の位置変換ブロックの位置へ移動させることにより、各位置変換ブロックの位置が原画像における位置と同一となる復号画像を生成できる。
復号部２６は、復号画像を出力する。
【００５７】
図９は、画像処理装置の処理部上で実行されるコンピュータプログラムにより制御される画像処理の動作フローチャートである。
処理部１３は、画像入力装置２または記憶部１２から読み取り画像を取得する（ステップＳ２０１）。そして処理部１３は、読み取り画像をパターン検出部２２へ渡す。
パターン検出部２２は、読み取り画像から既知のパターンである位置検出マーカを含むパターン領域を検出する（ステップＳ２０２）。そしてパターン検出部２２は、パターン領域の位置及びサイズを表す情報をマッチング部２３に通知する。
【００５８】
マッチング部２３は、パターン領域と各ボケ検出用テンプレートとの相違度を算出する（ステップＳ２０３）。そしてマッチング部２３は、相違度が最小となるボケ検出用テンプレートを、読み取り画像に写っている位置検出マーカと最も一致するボケ検出用テンプレートとして特定する（ステップＳ２０４）。マッチング部２３は、相違度が最小となるボケ検出用テンプレートに対応する識別番号を判定部２４に通知する。
【００５９】
判定部２４は、読み取り画像に含まれる位置検出マーカと最も一致するボケ検出用テンプレートに対応する識別番号を参照して、記憶部１２からそのボケ検出用テンプレートに対応するボケ量dを読み込む。そして判定部２４は、読み取り画像に含まれる位置検出マーカと最も一致するボケ検出用テンプレートに対応するボケ量dは第１の閾値Th1より大きいか否か判定する（Ｓ２０５）。ボケ量dが第１の閾値Th1より大きい場合（ステップＳ２０５−Ｙｅｓ）、判定部２４は、読み取り画像に重畳されたボケ量が大きいことを処理部１３に通知する。この場合、処理部１３は、暗号画像の再読取を行うメッセージを、図示しないユーザインターフェースを介してユーザに通知する（ステップＳ２０６）。その後、処理部１３は、ステップＳ２０１以降の処理を繰り返す。
【００６０】
一方、ボケ量dが第１の閾値Th1以下である場合（ステップＳ２０５−Ｎｏ）、判定部２４は、ボケ量dは第２の閾値Th2より大きいか否か判定する（ステップＳ２０７）。ボケ量dが第２の閾値Th2より大きい場合（ステップＳ２０７−Ｙｅｓ）、判定部２４は、読み取り画像に対して補正が必要なことを処理部１３に通知する。そして処理部１３は、補正部２５に、ボケ量d及び読み取り画像を渡す。補正部２５は、読み取り画像に対して、ボケ量dに応じたエッジ強調処理といった補正処理を実行する（ステップＳ２０８）。そして補正部２５は、補正処理を行うことにより生成された補正画像を復号部２６へ渡す。
一方、ボケ量dが第２の閾値Th2以下である場合（ステップＳ２０７−Ｎｏ）、復号部２６は、読み取り画像に対して復号処理を行って、復号画像を生成する（ステップＳ２０９）。またステップＳ２０８の後、復号部２６は、補正画像に対して復号処理を行って、復号画像を生成する（ステップＳ２０９）。
そして処理部１３は、読み取り画像に対する処理を終了する。
【００６１】
以上に説明してきたように、第１の実施形態に係る画像処理装置は、媒体に印刷された画像に含まれる既知のパターンに対して、そのパターンに所定のボケ量を重畳させた複数のボケ検出用テンプレートのうち、最も一致するテンプレートを特定する。そしてこの画像処理装置は、最も一致すると判定されたテンプレートについてのボケ量を、読み取り画像に重畳されたボケ量として推定する。そのため、この画像処理装置は、読み取り画像に重畳されたボケ量を正確に推定できる。そしてこの画像処理装置は、読み取り画像に重畳されたボケ量に応じて、画像の再読取が必要か否か、または画像に対する補正処理が必要か否かを判定することができる。
【００６２】
次に、第２の実施形態による、画像処理装置について説明する。
図１０は、第２の実施形態による処理部１３の機能ブロック図である。図１０に示されるように、処理部１３は、フレーム間判定部２０を有する。なお、図１０において、処理部１３の各機能ブロックには、図４に示された処理部１３の対応する機能ブロックと同一の参照番号を付した。
第２の実施形態による画像処理装置は、第１の実施形態による画像処理装置と比較して、フレーム間判定部２０により、同一の暗号画像を撮影して得られた複数の読み取り画像が相違するか否かで読み取り画像にボケが重畳されているか否かを判定する点で異なる。そこで以下では、フレーム間判定部２０について説明する。
【００６３】
フレーム間判定部２０は、同一の暗号画像を撮影した２枚の読み取り画像間でフレーム間差分処理を実行してこの２枚の読み取り画像間の相違度を算出する。その相違度が所定の閾値よりも大きい場合、フレーム間判定部２０は、その２枚の読み取り画像のうちの少なくとも一方にはボケが重畳されていると判定する。そしてフレーム間判定部２０は、その２枚の読み取り画像の何れか一方または両方を廃棄する。
そこで、フレーム間判定部２０は、例えば、２枚の読み取り画像の同じ位置の画素間で、画素値の差分絶対値を求め、画像全体でのその差分絶対値の総和を、２枚の読み取り画像間の相違度として算出する。そしてフレーム間判定部２０は、相違度が所定の閾値よりも小さければ、それら２枚の読み取り画像の何れについても重畳されたボケ量は少なく、２枚の読み取り画像は一致すると判定する。そしてフレーム間判定部２０は、それら２枚の読み取り画像の何れか一方を処理部１３に渡す。そして処理部１３は、フレーム間判定部２０から受け取った読み取り画像に対して、上記の第１の実施形態による処理を実行する。
【００６４】
一方、相違度が所定の閾値以上である場合、フレーム間判定部２０は、２枚の読み取り画像のうちの少なくとも何れか一方が大きくボケていると判定する。そしてフレーム間判定部２０は、２枚の読み取り画像が一致しないことを処理部１３に通知する。この場合、処理部１３は、２枚の読み取り画像のうちの少なくとも何れか一方、例えば、先に生成された読み取り画像を廃棄する。そして処理部１３は、図示しないユーザインターフェースを介して、暗号画像を再度撮影するようにユーザに通知する。あるいは、記憶部１２に同一の暗号画像を撮影した他の読み取り画像が記憶されている場合、処理部１３は、記憶部１２からその読み取り画像を読み込んで、フレーム間判定部２０へ渡す。そしてフレーム間判定部２０は、新たに取得した読み取り画像と、廃棄されていない方の読み取り画像とが一致するか否か、あるいは新たに取得した２枚の読み取り画像が一致するか否かを判定する。
【００６５】
なお、媒体上において暗号画像が印刷されていない領域に何も印刷されていない場合のように、読み取り画像において暗号画像が含まれる領域以外の領域に含まれる各画素の値が略同一となることがある。このような場合、上記のように、読み取り画像全体でフレーム間差分が行われると、画素値が略同一となる領域では、ボケ量が大きくてもフレーム間での画素値の差が小さくなるので、相違度は小さくなる可能性がある。
そこで、フレーム間判定部２０は、二つの読み取り画像を、それぞれ、複数のブロックに分割し、二つの読み取り画像のうちの同じ位置にあるブロックごとに相違度を算出してもよい。そしてフレーム間判定部２０は、相違度の最大値を求め、その相違度の最大値が所定の閾値よりも大きければ、２枚の読み取り画像のうちの少なくとも何れか一方が大きくボケていると判定してもよい。
【００６６】
また、暗号画像が撮影されたときの撮影環境の明るさなどにより、読み取り画像ごとに、画像全体または画像の一部の明るさが異なることもある。そこで、フレーム間判定部２０は、２枚の読み取り画像それぞれの画素の値を正規化した後に、それら２枚の読み取り画像間の相違度を算出してもよい。この場合、フレーム間判定部２０は、例えば、テスト領域を読み取り画像全体として、上記の（５）式を用いて読み取り画像を正規化できる。
【００６７】
さらに、暗号画像が撮影されたときの媒体と画像入力装置２間の相対的な位置関係に応じて、読み取り画像上で暗号画像が写っている暗号領域の位置及び暗号領域のサイズも変化する。そこで、フレーム間判定部２０は、各読み取り画像に対してパターン検出部２２の処理と同様の処理を行って、複数の位置検出マーカの位置を求めることにより、各読み取り画像上での暗号領域を特定してもよい。そしてフレーム間判定部２０は、一方の読み取り画像に対してアフィン変換などの位置変換処理を行って、２枚の読み取り画像上の暗号領域の位置及びサイズを一致させる。そしてフレーム間判定部２０は、暗号領域同士でフレーム間差分を行って相違度を算出してもよい。
【００６８】
図１１は、第２の実施形態による画像処理装置の処理部１３上で実行されるコンピュータプログラムにより制御される画像処理の動作フローチャートである。なお、図１１に示されたフローチャートにおいて、ステップＳ３０４〜Ｓ３１１の処理は、それぞれ、図９に示されたフローチャートのステップＳ２０２〜Ｓ２０９の処理と同じである。そこで以下では、ステップＳ３０１〜Ｓ３０３について説明する。
処理部１３は、記憶部１２から２枚の読み取り画像を取得する（ステップＳ３０１）。そして処理部１３は、２枚の読み取り画像をフレーム間判定部２０へ渡す。
フレーム間判定部２０は、２枚の読み取り画像全体あるいは２枚の読み取り画像の少なくとも一部の領域について、相違度を算出する（ステップＳ３０２）。そしてフレーム間判定部２０は、相違度が所定の閾値Th3よりも小さいか否か判定する（ステップＳ３０３）。
相違度が閾値Th3よりも小さい場合（ステップＳ３０３−Ｙｅｓ）、フレーム間判定部２０は、２枚の読み取り画像のうちの一方を処理部１３に渡す。そして処理部１３は、フレーム間判定部２０から受け取った読み取り画像に対して、ステップＳ３０４〜Ｓ３１１の処理を実行する。
一方、相違度が閾値Th3以上である場合（ステップＳ３０３−Ｎｏ）、フレーム間判定部２０は、２枚の読み取り画像が一致しないことを処理部１３に通知する。処理部１３は、２枚の読み取り画像のうちの少なくとも一方を廃棄する。そして処理部１３は、暗号画像を再度撮影するよう、ユーザに通知する（ステップＳ３０８）。その後、処理部１３は、ステップＳ３０１以降の処理を繰り返す。
【００６９】
以上に説明してきたように、第２の実施形態に係る画像処理装置は、同一の暗号画像を撮影した２枚の読み取り画像を比較して、両画像が一致した場合に限り、一方の読み取り画像に重畳されているボケ量を検出する。そのため、この画像処理装置は、何れか一方の読み取り画像がボケている場合に、ボケ量を検出する際のテンプレートマッチング処理を省略できる。したがって、この画像処理装置は、ボケ量を検出するための演算量を軽減することができる。
【００７０】
なお、本発明は、上記の実施形態に限定されるものではない。
他の実施形態によれば、ボケ検出用テンプレートは、上記の各実施形態によるボケ検出用テンプレートを、フーリエ変換または離散コサイン変換などの周波数変換処理を用いて周波数スペクトルに変換したものであってもよい。この場合、ボケ検出用テンプレートは、位置検出マーカのような既知のパターンに所定のボケ量が重畳された画素値の分布に対する周波数スペクトルを表す。一般に、パターンに重畳されるボケ量が大きくなるほど、白ブロックと黒ブロックの境界部分の画素値の変化が緩やかになるので、ボケ検出用テンプレートに対応する周波数スペクトルに含まれる高周波数成分は低下する。
このような周波数スペクトルを表すボケ検出用テンプレートが用いられる場合、マッチング部は、テスト領域も周波数スペクトルに変換する。そしてマッチング部２３は、テスト領域の周波数スペクトルと、ボケ検出用テンプレートの周波数スペクトルとの間で、各周波数における成分値の差の絶対値和を相違度として求める。
【００７１】
また他の実施形態によれば、マッチング部は、読み取り画像に写っている複数の位置検出マーカについて、それぞれ最も一致するボケ検出用テンプレートを求めてもよい。この場合、判定部は、各位置検出マーカと最も一致すると判定されたボケ検出用テンプレートのそれぞれに対応するボケ量の平均値または総和を、読み取り画像に重畳されているボケ量としてもよい。
【００７２】
さらに他の実施形態によれば、画像処理装置の記憶部は、他の装置により予め生成されたボケ検出用テンプレートを記憶してもよい。この場合、画像処理装置の処理部において、テンプレート生成部の機能は省略されてもよい。
【００７３】
さらに他の実施形態によれば、媒体に印刷された画像が２次元コードなど、既知のパターンを含むが、暗号化されていない画像である場合、画像処理装置の処理部は、復号部を有さなくてもよい。代わりに、処理部は、２次元コードに含まれる情報を抽出するための情報抽出部を有してもよい。情報抽出部は、２次元コードについて予め定められた規則に従って、読み取り画像に含まれる２次元コードから情報を抽出する。
また、他の実施形態において、画像処理装置の処理部は、補正部を有さなくてもよい。この場合、図９に示されたフローチャートにおけるステップＳ２０７及びＳ２０８の処理、及び図１１に示されたフローチャートにおけるステップＳ３０９及びＳ３１０の処理は省略される。
【００７４】
さらに、上記の各実施形態による画像処理装置による処理の対象となる画像は、印刷以外の方法で媒体上に表示されたものでもよい。
【００７５】
画像入力装置により電子データ化された暗号画像は、カラー画像であってもよい。例えば、電子データ化された暗号画像が、赤（Ｒ）、緑（Ｇ）、青（Ｂ）の三色のそれぞれごとに輝度情報を持っている場合、各実施形態による画像処理装置は、各色の何れかについて上記の画像処理を実行してもよい。あるいは画像処理装置は、読み取り画像に対してHSV色空間に変換する色変換処理を行って、各画素の輝度情報を求め、その輝度情報に基づいて上記の処理を実行してもよい。
【００７６】
さらに、第１の実施形態または第２の実施形態の画像処理装置の処理部が有する各機能をコンピュータに実現させるコンピュータプログラムは、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。
【００７７】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００７８】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
媒体に表示された画像を撮影した読み取り画像を取得するインターフェース部と、
前記画像に含まれる所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレート及び当該複数のテンプレートに重畳されたボケ量を記憶する記憶部と、
処理部であって、
前記読み取り画像上で前記所定のパターンが写っているパターン領域を検知するパターン検出機能と、
前記パターン領域と前記複数のテンプレートのそれぞれとの一致度合いを求め、当該一致度合いに基づいて、前記複数のテンプレートのうち、前記読み取り画像に写っている前記所定のパターンと最も一致するテンプレートを特定するマッチング機能と、
前記最も一致するテンプレートに対応するボケ量を、前記読み取り画像に重畳されたボケ量と推定する判定機能と、
を実現する処理部と、
を有する画像処理装置。
（付記２）
前記処理部は、推定されたボケ量が第１の閾値よりも大きい場合、前記媒体に表示された画像を撮影した第２の読み取り画像を取得し、当該第２の読み取り画像を前記読み取り画像として、前記パターン検出機能、前記マッチング機能及び前記判定機能を実行する、付記１に記載の画像処理装置。
（付記３）
前記複数のテンプレートは、前記所定のパターンを所定の倍率で拡大または縮小したパターンであるリサイズパターンに前記ボケ量を重畳することにより生成された第１のテンプレートを含む、付記２に記載の画像処理装置。
（付記４）
前記判定機能は、前記最も一致するテンプレートが前記第１のテンプレートである場合、前記所定の倍率が大きいほど前記第１の閾値を大きくする、付記３に記載の画像処理装置。
（付記５）
前記複数のテンプレートは、複数の受光素子が配列された画像入力装置によって前記所定のパターンを撮影する場合、前記所定のパターンに含まれる第１の画素値を持つ画素と第１の画素値よりも大きい第２の画素値を持つ画素との境界が前記複数の受光素子のうちの何れかに写ったときの当該受光素子に対応する画素値を、前記第１の画素値と前記第２の画素値の中間の値として生成した素子ずれパターンに前記ボケ量を重畳することにより生成された第２のテンプレートを含む、付記２に記載の画像処理装置。
（付記６）
前記処理部は、推定されたボケ量が前記第１の閾値以下であり、かつ、前記第１の閾値よりも小さい第２の閾値よりも大きい場合、前記読み取り画像に対してエッジ強調処理を行う補正機能をさらに実現する、付記２〜５の何れか一項に記載の画像処理装置。
（付記７）
前記複数のテンプレートは、第１の方向に対するボケ量が当該第１の方向と直交する第２の方向に対するボケ量よりも大きい第２のテンプレートを含み、
前記補正機能は、前記一致度が最大となるテンプレートが前記第２のテンプレートである場合、前記第１の方向に対するエッジ強調度を前記第２の方向に対するエッジ強調度よりも強くする、付記６に記載の画像処理装置。
（付記８）
媒体に表示された画像を撮影した読み取り画像を取得し、
前記読み取り画像上で前記画像に含まれる所定のパターンが写っているパターン領域を検知し、
前記パターン領域と前記所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレートのそれぞれとの一致度合いを求め、当該一致度合いに基づいて前記複数のテンプレートのうち、前記読み取り画像に写っている前記所定のパターンと最も一致するテンプレートを特定し、
前記最も一致するテンプレートに対応するボケ量を、前記読み取り画像に重畳されたボケ量と推定する、
ことを含む画像処理方法。
（付記９）
媒体に表示された画像を撮影した読み取り画像を取得し、
前記読み取り画像上で前記画像に含まれる所定のパターンが写っているパターン領域を検知し、
前記パターン領域と前記所定のパターンに対して互いに異なるボケ量を重畳した複数のテンプレートのそれぞれとの一致度合いを求め、当該一致度合いに基づいて前記複数のテンプレートのうち、前記読み取り画像に写っている前記所定のパターンと最も一致するテンプレートを特定し、
前記最も一致するテンプレートに対応するボケ量を、前記読み取り画像に重畳されたボケ量と推定する、
ことをコンピュータに実行させる画像処理用コンピュータプログラム。
【符号の説明】
【００７９】
１    画像処理装置
２    画像入力装置
３    出力装置
１１    インターフェース部
１２    記憶部
１３    処理部
２０    フレーム間判定部
２１    テンプレート生成部
２２    パターン検出部
２３    マッチング部
２４    判定部
２５    補正部
２６    復号部
【図１】
0005505007.tif 000009
【図２】
0005505007.tif 000010
【図４】
0005505007.tif 000011
【図５】
0005505007.tif 000012
【図６】
0005505007.tif 000013
【図７】
0005505007.tif 000014
【図８】
0005505007.tif 000015
【図９】
0005505007.tif 000016
【図１０】
0005505007.tif 000017
【図１１】
0005505007.tif 000018
【図３】
0005505007.tif 000019