"入力画像のボケの程度を表す関数であるボケ関数および前記入力画像が示す二次元コードが当該二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定する誤差関数決定手段と、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定する画素値制約手段と、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定する目的関数決定手段と、前記目的関数を最適化する復元画像を決定する目的関数最適化手段を備えたことを特徴とする画像処理システム。誤差関数決定手段は、復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど小さい値をとる誤差関数を決定し、画素値制約手段は、画像に含まれる各画素の画素値が離散化した画素値のうちのいずれかに近いほど適切な画像であることを示す関数である画素値制約関数を制約条件とする画素値制約情報を決定し、目的関数決定手段は、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど小さな値をとる目的関数を決定し、目的関数最適化手段は、前記目的関数を最小化する復元画像を決定する請求項1記載の画像処理システム。誤差関数決定手段は、復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど小さい値をとる誤差関数を決定し、画素値制約手段は、復元する画像の取り得る画素値が予め定めた個数の離散値であるとする制約条件を画素値制約情報として決定し、目的関数決定手段は、前記誤差関数における復元画像の取り得る画素値を、前記画素値制約情報の制約条件として決定された離散値のいずれかの値をとる目的関数を決定し、目的関数最適化手段は、前記目的関数を最小化する復元画像を決定する請求項1記載の画像処理システム。目的関数最適化手段が決定した復元画像の画素値を予め定めら得た閾値を用いて離散化することにより、復元画像を生成する画素値離散化手段を備えた請求項1から請求項3のうちのいずれか1項に記載の画像処理システム。入力画像から、二次元コードのマーカを検出するマーカ検出手段と、マーカ検出手段が検出したマーカから二次元コードのセル配置を推定するセル配置推定手段と、入力画像に対するボケ関数を決定するボケ関数決定手段と、推定された二次元コードのセル配置から幾何変形行列を推定する幾何変形推定手段と、復元する入力画像の領域を指定する最適化領域指定手段とを備え、誤差関数決定手段は、入力画像と、前記ボケ関数決定手段が決定したボケ関数と、前記幾何変形推定手段が推定した幾何変形行列とをもとに、誤差関数を決定する請求項1から請求項4のうちのいずれか1項に記載の画像処理システム。目的関数を構成する要素のうち、目的関数最適化手段によって同時に最適化される変数とする要素を指定する同時最適化変数指定手段を備え、目的関数最適化手段は、目的関数を最適化する復元画像および前記同時最適化変数指定手段で指定された要素を決定する請求項1から請求項5のうちのいずれか1項に記載の画像処理システム。二次元コードのセル配置が入力されるセル配置入力手段と、幾何変形行列が入力される幾何変形入力手段と、ボケ関数が入力されるボケ関数入力手段とを備え、誤差関数決定手段は、幾何変形入力手段に入力された幾何変形行列と、ボケ関数入力手段に入力されるボケ関数とを用いて誤差関数を決定し、画素値制約手段は、セル配置入力手段に入力される二次元コードのセル配置に基づいて、画素値制約情報を決定する請求項1から請求項4のうちのいずれか1項に記載の画像処理システム。画像中に存在する複数種類のマーカを全て検出する複数マーカ検出手段と、検出されたマーカのコードの種類を識別するコード種類識別手段と、目的関数最適化手段が決定した復元画像中の全てのコードに対するボケ除去がされたか否かを判定するボケ除去判定手段とを備え、セル配置推定手段は、複数マーカ検出手段が検出したマーカから二次元コードのセル配置を推定する請求項5から請求項7のうちのいずれか1項に記載の画像処理システム。ぼかされた入力画像の程度を表す関数であるボケ関数および前記入力画像が示す二次元コードが当該二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定し、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定し、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定し、前記目的関数を最適化する復元画像を決定することを特徴とする画像処理方法。コンピュータに、ぼかされた入力画像の程度を表す関数であるボケ関数および前記入力画像が示す二次元コードが当該二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定する誤差関数決定処理、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定する画素値制約処理、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定する目的関数決定処理、および、前記目的関数を最適化する復元画像を決定する目的関数最適化処理を実行させるための画像処理プログラム。ボケ除去処理は、一般に不良設定問題である。すなわち、エッジが不鮮明な一つの画像に対して、解である復元画像が一意に定まらない。そして、ボケが大きいほど解が一意に定まりにくく、復元画像が不安定になりやすい。不良設定問題を解くためには、解すなわち復元画像に対する何らか制約を設け、正確な復元画像が解となるようにする必要がある。しかしながら、特許文献1に記載された方法は、フィルタリングにより復元を行うのみであり、復元画像に対する制約を設けていないため、正確な復元画像を得ることが困難であるという問題がある。特許文献2に記載された方法では、ニ次元コードに関する複数の特徴のうち、画像が2値であるという特徴を用いている。そのため、復元画像、すなわち解を制約することが可能である。しかし、より強く復元画像に対する制約を設けることで、ボケが大きい場合であっても、解が不安定になることを抑制し、正確な復元画像が得られることが望ましい。そこで、本発明は、ボケが大きいコード画像から正確な復元画像を得ることができる画像処理システム、画像処理方法および画像処理プログラムを提供することを目的とする。本発明による画像処理システムは、ぼかされた入力画像の程度を表す関数であるボケ関数および入力画像が示す二次元コードがその二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定する誤差関数決定手段と、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定する画素値制約手段と、誤差関数と画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定する目的関数決定手段と、目的関数を最適化する復元画像を決定する目的関数最適化手段を備えたことを特徴とする。本発明による画像処理方法は、ぼかされた入力画像の程度を表す関数であるボケ関数および入力画像が示す二次元コードがその二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定し、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定し、誤差関数と画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定し、目的関数を最適化する復元画像を決定することを特徴とする。本発明による画像処理プログラムは、コンピュータに、ぼかされた入力画像の程度を表す関数であるボケ関数および入力画像が示す二次元コードがその二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定する誤差関数決定処理、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定する画素値制約処理、誤差関数と画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定する目的関数決定処理、および、目的関数を最適化する復元画像を決定する目的関数最適化処理を実行させることを特徴とする。本発明によれば、ボケが大きいコード画像から正確な復元画像を得ることができる。以下、本発明の実施形態を図面を参照して説明する。実施形態1.図1は、本発明の第1の実施形態における画像処理システムの例を示すブロック図である。第1の実施形態における画像処理システムは、画像入力手段1100と、プログラム制御により動作するコンピュータ1200と、画像出力手段1300とを備えている。なお、コンピュータ1200は、中央処理装置や、プロセッサ、データ処理装置と呼ぶこともできる。コンピュータ1200は、マーカ検出手段1201と、マーカ領域ボケ除去手段1202とを含む。さらに、マーカ領域ボケ除去手段1202は、セル配置推定手段1203と、ボケ関数決定手段1204と、幾何変形推定手段1205と、誤差関数決定手段1206と、画素値制約手段1207と、最適化領域指定手段1208と、目的関数決定手段1209と、目的関数最適化手段1210と、画素値離散化手段1211とを含む。画像入力手段1100には、カメラやスキャナなどにより得られた画像が入力される。そして、画像入力手段1100は、入力された画像をメモリ図示せず等に記憶させる。ここで、画像入力手段1100に入力された画像における各画素の輝度値をラスタスキャン順に並べた縦ベクトルをYと表わす。例えば、入力された画像の画素数がNである場合、Y=Y1,Yi,YNtと表わされる。なお、tは転置行列を意味する。なお、以下では、入力された画像の輝度値を用いて処理を行う場合について説明する。ただし、入力画像を示す情報は輝度値に限定されない。すなわち、本実施形態では、画像入力手段1100が記憶させる値が輝度値である場合について説明するが、画像入力手段1100に入力される値は輝度値に限定されない。例えば、入力される画像がRGB信号であり、RGBそれぞれ独立に画素値をラスタスキャン順に並べた縦ベクトルをYR、YG、YBをとした場合、画像入力手段1100は、YR、YGおよびYBをメモリに記憶させても良い。また、本実施形態では、画像入力手段1100に入力され、メモリ図示せずに記憶させる画像が1枚である場合について説明する。ただし、画像入力手段1100に入力される画像は1枚に限定されない。複数枚以下、P枚と記すの画像が入力される場合、画像入力手段1100は、入力されたP枚の各画像における各画素の輝度値をラスタスキャン順に並べた縦ベクトルY1,Y2,、YPをメモリ図示せずに記憶させてもよい。マーカ検出手段1201は、画像入力手段1100に入力された画像中から、コードを特徴付けるマーカを検出する。すなわち、このマーカは、ニ次元コードの種類ごとに定められたパターンということもできる。マーカ検出手段1201は、マーカを検出する方法として、例えば、テンプレートマッチングなどを用いればよい。また、マーカ検出手段1201は、入力された画像と、検出されたマーカとをメモリ図示せず等に記憶させる。なお、入力される画像が複数枚の場合、マーカ検出手段1201は、その全ての画像についてマーカを検出し、入力された複数枚の画像と、検出されたマーカとをメモリ図示せず等に記憶させればよい。コードがQRコードである場合に、QRコードからマーカを検出する方法を、図2を用いて具体的に説明する。図2は、QRコードにおいて画像とセルとの関係の例を示す説明図である。図2における画像F101が入力画像である場合、マーカ検出手段1201は、マーカF1021,F1022,F1033を検出する。マーカ領域ボケ除去手段1202は、マーカ検出手段1201がコードを特徴付けるマーカを検出すると、そのマーカによって特定される領域のボケを除去したコード画像すなわち、復元画像と記す。を生成する。例えば、復元画像の画素数とコードのセル数とが同一であるものとする。また、復元画像の各画素の輝度値をラスタスキャン順に並べた縦ベクトルをXと表すこととする。なお、この縦ベクトルXを復元画像と記すこともある。入力された画像のセル数がMである場合、X=X1,,Xi,,XMtになる。例えば、図2における画像F101が入力画像として入力された場合、復元画像の画素数は、F103に例示するセル数、すなわち、37×37セルになる。したがって、この場合、縦ベクトルXの次元は、1369=37×37次元になる。なお、ここでは復元画像を輝度値のみで生成する場合について説明した。ただし、マーカ領域ボケ除去手段1202が画像を生成する方法は輝度値を用いる方法に限定されない。例えば、各画素のRGB値をそれぞれ独立にラスタスキャン順に並べた縦ベクトルをXR、XG、XBとしたとき、マーカ領域ボケ除去手段1202は、RGB値によって表されたそれぞれの復元画像を生成してもよい。画像出力手段1300は、マーカ領域ボケ除去手段1202が生成した復元画像Xを出力する出力装置である。画像出力手段1300は、例えば、ディスプレイ装置などにより実現される。以下、マーカ領域ボケ除去手段1202に含まれる各構成要素について説明する。セル配置推定手段1203は、マーカ検出手段1201が検出したマーカから、セルの配置を推定する。なお、ここでいうセル配置は、コード中のセル数など、コードの構成要素の配置を規定するパラメータで表わされる。なお、セル配置推定手段1203が推定する配置は、セルに限定されない。セル配置推定手段1203が推定する配置は、二次元コードの種類ごとに規定されるセル以外の他の構成要素であってもよい。具体的には、セル配置推定手段1203は、マーカ検出手段1201が検出したマーカに基づいて二次元コードの種類を特定する。そして、セル配置推定手段1203は、二次元コードの種類ごとに定められたフォーマットに基づいて、コード全体のセル数を推定する。なお、マーカと二次元コードとの対応関係、および、二次元コードとフォーマットとの対応関係は、予めメモリ等に記憶しておく。そして、セル配置推定手段1203は、これらの対応関係に基づいて二次元コードの種類の特定、および、セル数の推定を行えばよい。そして、セル配置推定手段1203は、推定したセル配置と、マーカ検出手段1201に記憶されているマーカおよび入力画像をメモリ図示せず等に記憶させる。なお、入力される画像が複数枚の場合、セル配置推定手段1203は、その全ての画像についてセル配置を推定し、推定したセル配置とマーカ検出手段1201に記憶されているマーカとをメモリ図示せず等に記憶させればよい。ボケ関数決定手段1204は、検出されたコード画像すなわち、ニ次元コードが撮影された画像のボケの程度を表す関数以下、ボケ関数と記す。を決定する。一般的に、画像を撮影する際、光学系のレンズの焦点が合わないことや、手振れなどにより画像がぶれることにより、画像中のエッジが不鮮明になる。ボケ関数は、このような画像中のエッジが不鮮明になる効果を表す関数である。ボケ関数として、例えば、点広がり関数PSF:PointSpreadFunctionなどが挙げられる。ただし、ボケ関数は、点広がり関数に限定されない。ボケ関数は、ボケ画像におけるボケの程度を表す関数であれば、他の関数であってもよい。ボケ関数決定手段1204は、決定したボケ関数をメモリ図示せず等に記憶させる。なお、入力される画像が複数枚の場合、ボケ関数決定手段1204は、その全ての画像についてそれぞれボケ関数を決定し、決定したボケ関数をメモリ図示せず等に記憶させればよい。ボケ関数決定手段1204は、入力画像からコード画像のボケの程度を検出してボケ関数を決定してもよい。ボケ関数決定手段1204は、例えば、ジャイロセンサなどの角速度センサが検知する撮像面の傾きを示す情報や、加速度センサが検知する平行移動成分を示す情報をもとに撮像装置の動きを推定してボケ関数を決定してもよい。また、利用者によって予め決められた関数を、ボケ関数として用いてもよい。利用者がボケ関数を指定する場合、ボケ関数決定手段1204は、利用者によって指定された関数をボケ関数と決定すればよい。以下では、ボケ関数によって表されるボケをN×Nの行列Bによって表す。また、画素数がNである画像における各画素の画素値をそれぞれラスタスキャン順に並べた縦ベクトルをZとし、与えられたボケ関数によりぼかされた画像Zの各画素の画素値をそれぞれラスタスキャン順に並べた縦ベクトルをZbとする。このとき、縦ベクトルZと縦ベクトルZbとの関係は、Bを用いて以下に示す式1のように表される。Zb=BZ式1言い換えると、縦ベクトルZは、ぼけていない画像を表し、縦ベクトルZbは、ぼけている画像を表す。入力画像Yは、ぼけている画像であるため、縦ベクトルZbに対応する。幾何変形推定手段1205は、セル配置推定手段1203が推定したセル配置と入力画像とから、これらの幾何変形行列Wを推定する。幾何変形行列Wは、コードがセル上に配置されていることを制約する行列である。言い換えると、幾何変形行列Wは、入力された各画素の輝度値を、コードを構成するいずれかのセルに対して割り当てる行列であるということも出来る。ここで、コードの形状すなわち、セル配置を基準とする入力画像の変動は、平行移動や、回転および拡大等の一様である幾何学的な変形モデルで表される。また、上記入力画像の変動は、Bスプライン関数等の補間関数によって表される非一様変形である幾何学的な変形モデルでも表される。また、これらの変換モデルは、平行移動量や回転量などのパラメータにより表される。例えば、幾何学的な変換モデルを予め定めておいた場合、幾何変形推定手段1205は、変換モデルのパラメータを推定し、推定したパラメータを用いて幾何変形行列Wを算出する。なお、変換モデルのパラメータは、基準とするコードの形状に存在する特徴点例えば、マーカの中心座標と、対応する入力画像の特徴点マーカの中心座標とを一致させるために行われる変換処理に用いられるパラメータと言える。そのため、幾何変形推定手段1205は、このパラメータを、例えば、最小二乗推定などで求め、変換モデルのパラメータとしてもよい。なお、上記説明では、幾何変形推定手段1205が特徴点を用いて変換モデルのパラメータを求める方法について説明した。ただし、幾何変形推定手段1205が変換モデルのパラメータを求める方法は特徴点を用いる方法に限定されない。幾何変形推定手段1205は、特徴点ベースによる手法だけでなく、例えば、以下に示す参考文献に記載されているように、領域ベースによる手法を用いて変換モデルのパラメータを求めてもよい。<参考文献>BruceDLucasTakeoKanadeAnIterativeRegistrationTechniquewithanApplicationtoStereoVisionProceedingsofImagingUnderstandingWorkshop1981年,pp121130この変換モデルとパラメータが算出されれば、入力画像の位置とコードの位置との対応関係を求めることが出来る。そのため、幾何変形推定手段1205は、コードのある位置の画素値を、例えば、入力画像の対応する位置の周辺の輝度値から補間するすなわち、入力画像の画素値の線形和とすることで求めることが出来る。ここで、入力画像の画素数がN、変換後の画像の画素数がMの場合、幾何変形行列Wは、N×Mの行列で表わされる。具体的には、画素数がNの画像の画素値を成分とする縦ベクトルをZNとし、行列Wによって画素数がMに変形された画像の画素値を成分とする縦ベクトルをZMとする。このとき、縦ベクトルZNと縦ベクトルZMとの関係は、行列Wを用いて以下に示す式2のように表される。ZM=WZN式2すなわち、縦ベクトルZNは、幾何変換前の画像を表し、縦ベクトルZMは、幾何変換後の画像を表す。セル配置が幾何変換され、さらにぼけたものが入力画像である。そのため、入力画像Yは、縦ベクトルZMに対応する。そして、幾何変形推定手段1205は、推定した幾何変形行列Wと、セル配置と、入力画像とをメモリ図示せず等に記憶させる。なお、入力される画像が複数枚の場合、幾何変形推定手段1205は、その全ての画像についてそれぞれ幾何変形行列を推定し、推定した幾何変形行列と、セル配置と、入力画像とをメモリ図示せず等に記憶させればよい。誤差関数決定手段1206は、入力画像と、ボケ関数決定手段1204が決定したボケ行列Bと、幾何変形推定手段1205が推定した幾何変形行列Wとを用いて、入力画像の輝度成分Yと、復元画像の輝度成分Xとの関係を表す誤差関数EdataXを決定する。そして、誤差関数決定手段1206は、決定した誤差関数をメモリ図示せず等に記憶させる。誤差関数EdataXは、YとXとWとBとを含む関数であり、Xが正しく復元された画像すなわち、入力画像と復元画像に幾何変形とボケを加えた画像との誤差が小さいを示すほど小さい値をとる関数である。誤差関数EdataXは、例えば、以下に示す式3のような関係式として予め定義される。EdataX=f|BWX-Y|式3ここで、fは、引数の値が小さいほど小さな値をとる関数である。また、||は、ベクトルのノルムを表す。なお、関数を決定するとは、ボケ行列Bや幾何変形行列Wなどのパラメータを、予め定められた関係式に当てはめることと言える。そこで、誤差関数決定手段1206は、誤差関数EdataXを表すために必要なパラメータすなわち、入力画像、ボケ行列B、幾何変形行列Wを、メモリに記憶させる。なお、上記説明では、誤差関数決定手段1206が輝度値のみを用いた誤差関数を決定する場合について説明した。ただし、誤差関数決定手段1206が決定する誤差関数に用いられる値は輝度値に限定されない。例えば、復元画像がRGB値すなわちXR、XG、XBを用いて表される場合、誤差関数EdataXR,XG,XBを、以下に示す式4のような関係式として定義すればよい。なお、上記説明では、誤差関数決定手段1206が1枚の入力画像のみを用いて誤差関数を決定する場合について説明した。ただし、誤差関数決定手段1206が誤差関数を決定する際に用いられる入力画像の枚数は1枚に限定されない。例えば、P枚の入力画像の輝度値が、それぞれY1,Y2,,YPである場合、誤差関数EdataXを、以下に示す式5のような関係式として定義すればよい。ただし、B1,B2,,BPは、それぞれの画像において推定されたボケ行列である。また、W1,W2,,WPはそれぞれの画像において推定された幾何変形行列である。画素値制約手段1207は、復元画像が取り得る画素値を離散化した画素値に制約するときの制約条件を規定した情報以下、画素値制約情報を決定する。画素値制約手段1207は、画素値制約情報として、例えば、復元する画像の取り得る画素値が少数の離散値であるとする制約条件を決定してもよい。ただし、画素値制約手段1207が決定する画素値制約情報は、上記内容に限定されない。他にも、画素値制約手段1207は、画素値制約情報として、画像に含まれる各画素の画素値が離散化した画素値のうちのいずれかに近いほどより適切な画像であることを示す関数を定義し、この関数を制約条件として決定してもよい。以下、画素値制約手段1207が、画素値制約情報として、画像に含まれる各画素の画素値が離散化した画素値のうちのいずれかに近いほどより適切な画像であることを示す関数を定義し、その関数を制約条件として決定する場合について説明する。画素値制約手段1207は、コードが離散化された少数の画素値から構成されることを制約する画素値制約関数EregXを定義し、定義した画素値制約関数をメモリ図示せず等に記憶させる。以下の説明では、画素値制約手段1207が画素値制約関数を定義することを、画素値制約手段1207が画素値制約関数を決定すると記すこともある。画素値制約関数EregXは、比較する画像に含まれる各画素の画素値が、二次元コードを構成する画素値として定められた少数の離散値のうちのいずれかに近いほど小さな値をとる関数として定義される。例えば、コードがi個の画素値から構成されている場合、EregXは、以下に示す式6のような関係式として予め定義される。EregX=gX,X1,,Xi式6ただし、X1からXiは、コードを構成する画素値である。また、gX,X1,,Xiは、ベクトルXの各成分が、X1からXiの値のいずれかに近いほど小さな値をとる関数である。QRコードをコードの例として説明すると、QRコードは、白と黒の2つの画素値で構成されているため、EregXは、以下に示す式7のように定義できる。なお、X1、X2はそれぞれ黒、白の画素値を表す。EregX=gX,X1,X2式7なお、画素値制約関数を決定するとは、与えられたパラメータを、予め定められた関係式に当てはめると言うことが出来る。そこで、画素値制約手段1207は、画素値制約関数EregXを表すために必要なパラメータここでは、X1、X2を、例えば、利用者の指示に応じて、メモリ図示せずに記憶させる。なお、上記説明では、画素値制約手段1207が輝度値のみを用いた画素値制約関数を決定する場合について説明した。ただし、画素値制約手段1207が決定する画素値制約関数に用いられる値は輝度値に限定されない。例えば、復元画像がRGB値すなわちXR、XG、XBを用いて表される場合、画素値制約関数EregXR,XG,XBを、以下に示す式8のような関係式として定義すればよい。ただし、XR1,XG1,XB1からXRi,XGi,XBiは、コードを構成するi個の画素値におけるRGBの大きさである。目的関数決定手段1209は、誤差関数決定手段1206が記憶させた誤差関数EdataXと、画素値制約手段1207が決定した画素値制約情報に基づいて、目的関数EXを決定する。目的関数とは、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である。具体的には、目的関数EXは、復元画像が真の画像に近いほど小さな値をとる関数として定義される。例えば、画素値制約情報が画素値制約関数EregXとして定義された場合、目的関数決定手段1209は、誤差関数決定手段1206が記憶させた誤差関数EdataXと画素値制約手段1207が定義したEregXとを用いて、目的関数EXを決定する。そして、目的関数決定手段1209は、決定した目的関数EXをメモリ図示せず等に記憶させる。目的関数は、例えば、以下に示す式9のような関係式として予め定義される。EX=EdataXαEregX式9ここで、αは、利用者が予め決定したパラメータであり、誤差関数EdataXと、EregXとの重み付けに用いられる。具体的には、αが大きくなるほど、復元画像の画素値が予め定められた画素値に近づくことに重点が置かれる。一方、αが小さくなるほど、復元画像に幾何変形とボケを加えた画像の画素値を入力画像に近づけることに重点が置かれることを意味する。また、αの値は、コードのグリッドすなわち、復元画像の画素ごとに定められてもよい。なお、ここでも、関数を決定するとは、与えられたパラメータを、予め定められた関係式に当てはめると言うことが出来る。目的関数決定手段1209は、目的関数EXを表すために必要なパラメータここでは、αを、利用者の指示により受け取ると、受け取ったパラメータで構成される目的関数をメモリ図示せずに記憶させる。なお、上記説明では、目的関数決定手段1209が輝度値のみを用いた目的関数を決定する場合について説明した。ただし、目的関数決定手段1209が決定する目的関数に用いられる値は輝度値に限定されない。例えば、復元画像がRGB値すなわちXR、XG、XBを用いて表される場合、目的関数EXR,XG,XBを、以下に示す式10のような関係式として定義すればよい。最適化領域指定手段1208は、最適化する領域を指定する。ここで、最適化する領域を指定するとは、入力画像を復元する領域を特定することを意味する。例えば、最適化する領域をユーザ等により指示されるとする。このとき、最適化領域指定手段1208は、その指示に応じて、セル配置推定手段1203が推定したセル配置から、復元画像の輝度成分Xのうち、目的関数EXを用いて推定する必要がある画素を指定する。なお、最適化する領域が既知の場合、最適化領域指定手段1208は、その領域を最適化する領域として特定すればよい。最適化する領域について、QRコードの場合を例に挙げて説明する。図3は、QRコードにおいて、最適化する必要がある領域の例を示す説明図である。マーカが存在している画素については、利用者は、既に正解を知っている。そのため、この領域については目的関数EXを用いて推定最適化する必要がない。また、QRコード以外の領域についても、目的関数EXを用いて推定最適化する必要がない。したがって、例えば、画像F11の場合、最適化領域指定手段1208は、これ以外の画素、すなわち、画像F11の斜線部領域F111を、目的関数EXを用いて推定する必要がある画素として指定する。また、画像F12に示すように、複数種類のマーカがコード内に存在している場合、最適化領域指定手段1208は、複数種類のマーカを除いた画素、すなわち、画像F12の斜線部領域F112を、目的関数EXを用いて推定する必要がある画素として指定すればよい。目的関数最適化手段1210は、目的関数EXを最適化することにより復元画像Xを決定する。具体的には、目的関数最適化手段1210は、目的関数EXが最小になるXを計算する。目的関数最適化手段1210は、例えば、以下に例示する式11を満たすX0を計算する。目的関数最適化手段1210は、例えば、共役勾配法を用いてX0を計算してもよい。このようにして求められる画像は、目的関数を最適化したときの画像である。言い換えると、目的関数EXを最小にするXを計算することは、目的関数を最適化するということができる。なお、上記説明では、目的関数最適化手段1210が最適化する画素値が輝度値である場合について説明した。ただし、目的関数最適化手段1210が最適化する値は輝度値に限定されない。例えば、復元画像がRGB値を用いて表される場合、目的関数最適化手段1210は、目的関数EXR,XG,XBが最小になるXR、XGおよびXBの値、すなわちXR0、XG0および、XB0を計算すればよい。画素値離散化手段1211は、予め利用者によって与えられた閾値を用いて、目的関数最適化手段1210が算出したX0の画素値を離散化することにより、復元画像を生成する。X0の画素値を離散化することで、復元画像中のコードに含まれる領域における全ての画素の輝度値がX1からXiの値のどれかになる。例えば、輝度値を2つに離散化する場合、予め1つの閾値を設定しておく。このとき、画素値離散化手段1211は、X0の画素値が閾値以上である場合に輝度値をX1、閾値を下回る場合に輝度値をX2と離散化すればよい。そして、画素値離散化手段1211は、離散化した画素値の画像を画像出力手段1300に出力させる。なお、上記説明では、画素値離散化手段1211が離散化する画素値が輝度値である場合について説明した。ただし、画素値離散化手段1211が離散化する値は輝度値に限定されない。例えば、復元画像がRGB値を用いて表される場合、画素値離散化手段1211は、目的関数最適化手段1210が算出した各画素の画素値を、コードを構成する最も近い画素値に置き換えればよい。なお、目的関数最適化手段1210が、目的関数を最適化することにより決定したX0を復元画像Xとしてもよい。ただし、画素値離散化手段1211が、画素値を離散化することにより、より明確な二次元コードを導出することが出来る。上述するように、マーカ検出手段1201と、マーカ領域ボケ除去手段1202より具体的には、セル配置推定手段1203と、ボケ関数決定手段1204と、幾何変形推定手段1205と、誤差関数決定手段1206と、画素値制約手段1207と、最適化領域指定手段1208と、目的関数決定手段1209と、目的関数最適化手段1210と、画素値離散化手段1211とは、プログラム画像処理プログラムに従って動作するコンピュータのCPU等によって実現される。例えば、プログラムは、画像処理システム内装置の記憶部図示せずに記憶され、CPUは、そのプログラムを読み込み、プログラムに従って、マーカ検出手段1201、および、マーカ領域ボケ除去手段1202より具体的には、セル配置推定手段1203、ボケ関数決定手段1204、幾何変形推定手段1205、誤差関数決定手段1206、画素値制約手段1207、最適化領域指定手段1208、目的関数決定手段1209、目的関数最適化手段1210、および、画素値離散化手段1211として動作してもよい。マーカ検出手段1201と、マーカ領域ボケ除去手段1202より具体的には、セル配置推定手段1203と、ボケ関数決定手段1204と、幾何変形推定手段1205と、誤差関数決定手段1206と、画素値制約手段1207と、最適化領域指定手段1208と、目的関数決定手段1209と、目的関数最適化手段1210と、画素値離散化手段1211とは、それぞれが専用のハードウェアで実現されていてもよい。次に、本実施形態における画像処理システムの動作を説明する。図4は、第1の実施形態における画像処理システムの動作の例を示すフローチャートである。まず、画像入力手段1100に画像が入力されると、画像入力手段1100は、入力された画像をメモリ図示せずに記憶させるステップS201。次に、マーカ検出手段1201は、画像入力手段1100がメモリ図示せずに記憶させた入力画像からマーカを検出するステップS202。なお、マーカが検出されなかった場合、処理を終了させてもよい。そして、セル配置推定手段1203は、検出されたマーカから、セル配置を推定するステップS203。次に、幾何変形推定手段1205は、入力画像とセル配置とから、幾何変形行列Wを推定するステップS204。さらに、ボケ関数決定手段1204は、ボケ関数Bを決定するステップS205。誤差関数決定手段1206は、推定されたボケ関数Bと幾何変形行列Wとから誤差関数を決定し、その誤差関数をメモリ図示せずに記憶させるステップS206。画素値制約手段1207は、セル配置推定手段1203によってメモリ図示せずに記憶されたセル配置をもとに利用者が指示する画素値制約関数を表すためのパラメータを受け取る。そして、画素値制約手段1207は、そのパラメータと予め定義された関数を基に画素値制約関数を決定し、決定した画素値制約関数をメモリ図示せずに記憶させるステップS207。そして、目的関数決定手段1209は、誤差関数決定手段1206がメモリ図示せずに記憶させた誤差関数と、画素値制約手段1207がメモリ図示せずに記憶させた画素値制約関数とから目的関数を決定し、決定した目的関数をメモリ図示せずに記憶させるステップS208。セル配置推定手段1203が推定したセル配置から、目的関数を用いて最適化する領域が最適化領域指定手段1208により指定されると、目的関数最適化手段1210は、その領域について、目的関数を最適化するステップS209。画素値離散化手段1211は、目的関数を最適化することで得られた結果に対する画素値を離散化し、復元画像を導出するステップS210。最後に、画像出力手段1300は、導出された復元画像を出力するステップS211。次に、本実施形態の効果を説明する。以上のように、本実施形態によれば、誤差関数決定手段1206が、ボケ関数Bおよび幾何変形行列Wを用いて、ボケ画像を復元した復元画像Xに対して幾何変形とボケを加えた画像と入力画像Yとの誤差が小さいほど小さな値をとる誤差関数Edataを決定する。また、画素値制約手段1207が、画素値制約情報を決定する。次に、目的関数決定手段1209が、誤差関数Edataと画素値制約情報とに基づいて、目的関数を決定する。そして、目的関数最適化手段1210が、目的関数を最適化する復元画像Xを決定する。よって、ボケが大きいコード画像から正確な復元画像を得ることができる。すなわち、本実施形態では、コード画像に関する複数の制約をもとに決定された目的関数を用いるため、複数の制約を持つ不良設定問題を解くことになり、解が安定する。よって、ボケが大きい画像であっても、より正確な復元画像を得ることができる。次に、本実施形態における変形例について説明する。上記実施形態では、画素値制約手段1207が、画素値制約情報として画素値制約関数EregXを定義し、画素値制約関数EregXを制約条件として決定する場合について説明した。本変形例では、画素値制約手段1207が、画素値制約情報として、復元する画像の取り得る画素値が少数の離散値であるとする制約条件を決定する場合について説明する。画素値制約手段1207は、セル配置推定手段1203が推定したセル配置から、制約条件として、コードを構成する画素値X1~Xiを決定する。この画素値X1~Xiは、利用者によって与えられる値であってもよく、画素値制約手段1207がセル配置から動的に推定した値であってもよい。例えば、復元するコードがQRコードである場合、画素値制約手段1207は、セル配置推定手段1203が推定したセル配置から、QRコード内の輝度値の最大値と最小値を算出し、これをX1X2としてもよい。そして、画素値制約手段1207は、決定した画素値X1~Xiをメモリ図示せず等に記憶させる。なお、画素値制約手段1207が決定する画素値制約関数に用いられる値は輝度値に限定されない。例えば、復元画像がRGB値すなわちXR,XG,XBを用いて表される場合、画素値制約手段1207は、制約条件として、コードを制約する画素値XR1,XG1,XB1~XRi,XGi,XBiを決定してもよい。目的関数決定手段1209は、誤差関数決定手段1206が記憶させた誤差関数EdataXと、画素値制約手段1207が決定したコードを構成する画素値X1~Xiとから、例えば、以下に示す式12で定義される目的関数EXを決定する。EX=h|BWX-Y|式12ここで、hは、引数の値が小さいほど小さな値をとる関数である。また、||は、ベクトルのノルムを表す。また、目的関数決定手段1209は、式12の代わりに、以下に示す式13で定義される目的関数EXを決定してもよい。EX=-2YTBWXXTWTBTBWX式13ただし、式12及び式13で定義されるいずれの目的関数EXも、Xの各成分は、画素値制約手段1207が決定した画素値X1~Xiのみを値として取るという制約がある。なお、目的関数決定手段1209が決定する目的関数に用いられる値は輝度値に限定されない。例えば、復元画像がRGB値すなわちXR,XG,XBを用いて表される場合、目的関数EXR,XG,XBを、以下に示す式14や式15のような関係式として定義してもよい。ただし、式14及び式15で定義されるいずれの目的関数EXR,XG,XBも、XR、XGおよびXBの各成分は、画素値制約手段1207が決定した画素値X1~Xiのみを値として取るという制約がある。目的関数最適化手段1210は、目的関数EXを最適化する。具体的には、目的関数最適化手段1210は、目的関数EXが最小になるXを計算する。目的関数最適化手段1210は、例えば、離散多値最適化手法を用いて目的関数EXを最適化する。なお、目的関数最適化手段1210は、最適化の手法として、例えば、GraphCuts、FusionMove、QuadraticPseudo-BooleanOptimisation、BeliefPropagationなどを用いればよい。すなわち、上記実施形態では、目的関数最適化手段1210は、共役勾配法などを用いて目的関数を最適化していた。一方、本変形例では、目的関数最適化手段1210が目的関数を最適化する際、離散多値最小化手法を用いることが可能になる。実施形態2.次に、本発明の第2の実施形態における画像処理システムについて説明する。なお、第1の実施形態と同様の構成については、図1と同一の符号を付し、説明を省略する。図5は、本発明の第2の実施形態における画像処理システムの例を示すブロック図である。第2の実施形態における画像処理システムは、画像入力手段1100と、プログラム制御により動作するコンピュータ1200aと、画像出力手段1300とを備えている。第1の実施形態と同様、コンピュータ1200aは、中央処理装置や、プロセッサ、データ処理装置と呼ぶこともできる。コンピュータ1200aは、マーカ検出手段1201と、マーカ領域ボケ除去手段1202aとを含む。さらに、マーカ領域ボケ除去手段1202aは、セル配置推定手段1203と、ボケ関数決定手段1204と、幾何変形推定手段1205と、誤差関数決定手段1206と、画素値制約手段1207と、最適化領域指定手段1208と、目的関数決定手段1209aと、同時最適化変数指定手段3001と、目的関数同時最適化手段3002と、画素値離散化手段1211とを含む。画像入力手段1100、マーカ検出手段1201、セル配置推定手段1203、ボケ関数決定手段1204、幾何変形推定手段1205、誤差関数決定手段1206、画素値制約手段1207、最適化領域指定手段1208、画素値離散化手段1211、および、画像出力手段1300については、第1の実施形態と同様であるため、説明を省略する。同時最適化変数指定手段3001には、後述する目的関数決定手段1209aが決定する目的関数に与えられるパラメータのうち、変数として扱う対象要素が指定される。具体的には、目的関数が復元画像Xに加え、ボケ行列B、幾何変形行列W、コードを構成する離散化された少数の画素値で表わされるとする。この場合、同時最適化変数指定手段3001には、これらの要素のうち、どの量を変数として扱うかが利用者により指定される。なお、上述する要素として指定される変数の自由度を減らすため、ボケ行列Bや幾何変形行列Wを少数のパラメータによる関数として表してもよい。そして、同時最適化変数指定手段3001には、これらのパラメータを同時最適化させる変数として入力させるようにしてもよい。目的関数決定手段1209aは、同時最適化変数指定手段3001に指定された要素およびXを引数として決定された目的関数をメモリ図示せず等に記憶させる。例えば、同時最適化変数指定手段3001にボケ行列Bと幾何変形Wとが変数として指定された場合に、目的関数決定手段1209aは、目的関数をEX、W、Bと決定すればよい。目的関数同時最適化手段3002は、同時最適化変数指定手段3001に指定された要素およびXを同時に最適化する。例えば、目的関数が、EX、W、Bの場合、目的関数同時最適化手段3002は、目的関数EX、W、Bが最小になるX、W、Bの組を算出する。具体的には、目的関数同時最適化手段3002は、以下に示す式16を満たすX0、W0、B0の組を計算する。目的関数同時最適化手段3002は、例えば、EMExpectationMaximizationアルゴリズムなどを用いて同時最適化を行ってもよい。なお、マーカ検出手段1201と、マーカ領域ボケ除去手段1202aより具体的には、セル配置推定手段1203と、ボケ関数決定手段1204と、幾何変形推定手段1205と、誤差関数決定手段1206と、画素値制約手段1207と、最適化領域指定手段1208と、目的関数決定手段1209aと、同時最適化変数指定手段3001と、目的関数同時最適化手段3002と、画素値離散化手段1211とは、プログラム画像処理プログラムに従って動作するコンピュータのCPU等によって実現される。次に、本実施形態における画像処理システムの動作を説明する。図6は、第2の実施形態における画像処理システムの動作の例を示すフローチャートである。まず、画像入力手段1100に画像が入力されると、画像入力手段1100は、入力された画像をメモリ図示せずに記憶させるステップS401。次に、マーカ検出手段1201は、画像入力手段1100がメモリ図示せずに記憶させた入力画像からマーカを検出するステップS402。そして、セル配置推定手段1203は、検出されたマーカから、セル配置を推定するステップS403。次に、幾何変形推定手段1205は、入力画像とセル配置とから、幾何変形行列Wを推定するステップS404。さらに、ボケ関数決定手段1204は、ボケ関数Bを決定するステップS405。誤差関数決定手段1206は、推定されたボケ関数Bと幾何変形行列Wとから誤差関数を決定し、その誤差関数をメモリ図示せずに記憶させるステップS406。画素値制約手段1207は、セル配置推定手段1203によってメモリ図示せずに記憶されたセル配置をもとに利用者が指示する画素値制約関数を表すためのパラメータを受け取る。そして、画素値制約手段1207は、そのパラメータと予め定義された関数を基に画素値制約関数を決定し、決定した画素値制約関数をメモリ図示せずに記憶させるステップS407。目的関数決定手段1209aは、誤差関数決定手段1206がメモリ図示せずに記憶させた誤差関数と、画素値制約手段1207がメモリ図示せずに記憶させた画素値制約関数と、同時最適化変数指定手段3001に指定された変数とから目的関数を決定し、決定した目的関数をメモリ図示せずに記憶させるステップS408。セル配置推定手段1203が推定したセル配置から、目的関数を用いて最適化する領域が最適化領域指定手段1208により指定されると、目的関数同時最適化手段3002は、その領域について、目的関数を最適化するステップS409。画素値離散化手段1211は、目的関数を最適化することで得られた結果に対する画素値を離散化し、復元画像を導出するステップS410。最後に、画像出力手段1300は、導出された復元画像を出力するステップS411。以上のように、本実施形態によれば、第1の実施形態に加え、目的関数同時最適化手段3002が、目的関数のうち、同時最適化変数指定手段3001に指定された変数を最適化する。具体的には、本実施形態では、目的関数を最適化する際に、既に推定された幾何変形行列W、ボケ関数B、コードを構成する離散化された少数の画素値についても同時に最適化を行うように構成されている。そのため、幾何変形行列、ボケ関数、コードを構成する離散化された小数の画素値について誤差が生じていた場合に、これらを補正しつつ、復元画像を得ることが出来る。したがって、第1の実施形態に比べ、より正確な復元画像を得ることが出来る。実施形態3.次に、本発明の第3の実施形態における画像処理システムについて説明する。なお、第1の実施形態と同様の構成については、図1と同一の符号を付し、説明を省略する。図7は、本発明の第3の実施形態における画像処理システムの例を示すブロック図である。第3の実施形態における画像処理システムは、画像入力手段1100と、プログラム制御により動作するコンピュータ1200bと、画像出力手段1300と、セル配置入力手段5001と、幾何変形入力手段5002と、ボケ関数入力手段5003とを備えている。第1の実施形態と同様、コンピュータ1200bは、中央処理装置や、プロセッサ、データ処理装置と呼ぶこともできる。コンピュータ1200bは、誤差関数決定手段1206bと、画素値制約手段1207bと、最適化領域指定手段1208bと、目的関数決定手段1209と、目的関数最適化手段1210と、画素値離散化手段1211とを含む。なお、画像入力手段1100、目的関数決定手段1209、目的関数最適化手段1210、および、画像出力手段1300については、第1の実施形態と同様であるため、説明を省略する。セル配置入力手段5001には、コードのセル数など、セルの配置を表すパラメータおよびマーカの領域が入力される。入力される値は、利用者が予め決定した値であってもよいし、センサなどにより算出された値であってもよい。幾何変形入力手段5002には、入力画像と復元画像の幾何変形を表す行列すなわち、幾何変形行列Wとが入力される。そして、幾何変形入力手段5002は、入力された行列Wをメモリ等図示せずに記憶させる。入力される値は、セル配置入力手段5001と同様に、利用者が予め決定した値であってもよいし、センサなどにより算出された値であってもよい。ボケ関数入力手段5003には、ボケ関数が入力される。そして、ボケ関数入力手段5003は、入力されたボケ関数をメモリ等図示せずに記憶させる。入力されるボケ関数の値は、セル配置入力手段5001と同様に、利用者が予め決定した値であってもよいし、センサなどにより算出された値であってもよい。誤差関数決定手段1206bは、画像入力手段1100に入力され、メモリ等図示せずに記憶されている入力画像と、幾何変形入力手段5002に入力された幾何変形行列Wと、ボケ関数入力手段5003に入力されたボケ関数Wとを用いて、誤差関数を決定する。そして、誤差関数決定手段1206bは、決定した誤差関数をメモリ図示せず等に記憶させる。誤差関数は、第1の実施形態と同様、例えば、式3に例示する関係式として予め定義しておけばよい。画素値制約手段1207bは、画素値制約関数を決定し、決定した画素値制約関数をメモリ図示せず等に記憶させる。画素値制約関数のパラメータは、画像入力手段1100にて記憶されている入力画像と、セル配置入力手段5001にて記憶されているセル配置とをもとに、利用者等により指示される。画素値制約関数は、第1の実施形態と同様、例えば、式6に例示する関係式として予め定義しておけばよい。最適化領域指定手段1208bは、セル配置入力手段5001に入力されたセル配置や、マーカの領域をもとに、目的関数決定手段1209が決定した目的関数を用いて復元する領域を指定する。なお、最適化領域指定手段1208bが領域を指定する方法は、第1の実施形態における最適化領域指定手段1208が領域を指定する方法と同様である。なお、誤差関数決定手段1206bと、画素値制約手段1207bと、最適化領域指定手段1208bと、目的関数決定手段1209と、目的関数最適化手段1210と、画素値離散化手段1211とは、プログラム画像処理プログラムに従って動作するコンピュータのCPU等によって実現される。次に、本実施形態における画像処理システムの動作を説明する。図8は、第3の実施形態における画像処理システムの動作の例を示すフローチャートである。まず、画像入力手段1100に画像が入力されると、画像入力手段1100は、入力された画像をメモリ図示せずに記憶させるステップS601。次に、セル配置入力手段5001にはセル配置およびマーカの領域が入力され、幾何変形入力手段5002には幾何変形行列Wが入力され、ボケ関数入力手段5003にはボケ行列Bが入力され、これらの情報がメモリ等図示せずに記憶されるステップS602。誤差関数決定手段1206bは、入力されたボケ関数Bと幾何変形行列Wとから誤差関数を決定し、その誤差関数をメモリ図示せずに記憶させるステップS603。画素値制約手段1207bは、セル配置入力手段5001に入力されたセル配置をもとに利用者が指示する画素値制約関数を表すためのパラメータを受け取る。そして、画素値制約手段1207bは、そのパラメータと予め定義された関数を基に画素値制約関数を決定し、決定した画素値制約関数をメモリ図示せずに記憶させるステップS604。そして、目的関数決定手段1209は、誤差関数決定手段1206bがメモリ図示せずに記憶させた誤差関数と、画素値制約手段1207bがメモリ図示せずに記憶させた画素値制約関数とから目的関数を決定し、決定した目的関数をメモリ図示せずに記憶させるステップS605。セル配置入力手段5001に入力されたセル配置から、目的関数を用いて最適化する領域が最適化領域指定手段1208bにより指定されると、目的関数最適化手段1210は、その領域について、目的関数を最適化するステップS606。画素値離散化手段1211は、目的関数を最適化することで得られた結果に対する画素値を離散化し、復元画像を導出するステップS607。最後に、画像出力手段1300は、導出された復元画像を出力するステップS608。以上のように、本実施形態によれば、セル配置入力手段5001にセル配置およびマーカの領域が、幾何変形入力手段5002に幾何変形行列Wが、ボケ関数入力手段5003にボケ行列Bが、それぞれ入力される。すなわち、本実施形態では、予め指定されたセル配置、幾何変形行列、ボケ関数を用いて目的関数が定義されるため、正確な目的関数を作成することができる。したがって、第1の実施形態に比べ、より正確な復元画像を得ることが出来る。実施形態4.次に、本発明の第4の実施形態における画像処理システムについて説明する。なお、第1の実施形態と同様の構成については、図1と同一の符号を付し、説明を省略する。図9は、本発明の第4の実施形態における画像処理システムの例を示すブロック図である。第4の実施形態における画像処理システムは、画像入力手段1100と、プログラム制御により動作するコンピュータ1200dと、画像出力手段1300とを備えている。第1の実施形態と同様、コンピュータ1200dは、中央処理装置や、プロセッサ、データ処理装置と呼ぶこともできる。コンピュータ1200dは、複数マーカ検出手段7001と、コード識別手段7002と、マーカ領域ボケ除去手段1202dと、ボケ除去判定手段7003とを含む。さらに、マーカ領域ボケ除去手段1202dは、セル配置推定手段1203dと、ボケ関数決定手段1204と、幾何変形推定手段1205と、誤差関数決定手段1206と、画素値制約手段1207dと、最適化領域指定手段1208dと、目的関数決定手段1209と、目的関数最適化手段1210と、画素値離散化手段1211とを含む。画像入力手段1100、ボケ関数決定手段1204、幾何変形推定手段1205、誤差関数決定手段1206、目的関数決定手段1209と、目的関数最適化手段1210、画素値離散化手段1211、および、画像出力手段1300については、第1の実施形態と同様であるため、説明を省略する。複数マーカ検出手段7001は、画像中に複数種類のマーカが複数個存在していた場合、これらのマーカを全て検出し、メモリ図示せず等に記憶させる。コード識別手段7002は、検出された各々のマーカがどの種類のコードのマーカであるかを識別し、識別した結果をメモリ図示せず等に記憶させる。一般的に、コードの種類ごとにセル等の配置は異なる。そのため、セルの配置とコードの種類の対応を予めメモリ図示せずに記憶しておくことで、複数マーカ検出手段7001がマーカを検出するのと同時に、コード識別手段7002がコードを識別することが可能になる。セル配置推定手段1203dは、コード識別手段7002が識別したコードの種類に応じて、検出されたマーカからセル配置を推定し、推定したセル配置をメモリ図示せず等に記憶させる。なお、セル配置推定手段1203dが検出されたマーカからセル配置を推定する方法は、第1の実施形態におけるセル配置推定手段1203がセル配置を推定する方法と同様である。例えば、識別されたコードがQRコードである場合、セル配置推定手段1203dは、第1の実施形態と同様の方法で、QRコードにおけるセルの配置を推定すればよい。画素値制約手段1207dは、コード識別手段7002が識別したコードの種類に応じて決定される画素値制約関数をメモリ図示せず等に記憶させる。なお、画素値制約手段1207dが画素値制約関数をメモリ図示せず等に記憶させる方法は、第1の実施形態における画素値制約手段1207が画素値制約関数をメモリ図示せず等に記憶させる方法と同様である。例えば、識別されたコードがQRコードである場合、画素値制約手段1207dは、第1の実施形態と同様の方法で、画素値制約関数をメモリ図示せずに記憶させればよい。最適化領域指定手段1208dは、推定されたセル配置をもとに、目的関数決定手段1209が決定した目的関数を用いて復元する領域を指定する。なお、最適化領域指定手段1208dが領域を指定する方法は、第1の実施形態における最適化領域指定手段1208が領域を指定する方法と同様である。ボケ除去判定手段7003は、画像中にボケ除去がされていないコードが存在するか否かを判定する。一般的に、画像中のぼけている領域は、その他の領域に比べ、高周波成分が少ないという特徴がある。そこで、ボケ除去判定手段7003は、画像にハイパスフィルタなどを適用し、高周波成分が少ない領域をぼけている領域とすることでボケを検出し、ボケ除去がされていないコードが存在すると判定してもよい。ただし、ボケ除去判定手段7003がボケを検出する方法は、ハイパスフィルタを適用する場合に限定されない。ボケ除去がされていないコードが存在する場合、再度、コード識別手段7002がそのコードに対して識別処理を行う。そして、コード識別手段7002が、コードボケ除去手段1202dにそのコードのボケ除去を指示する。画像中にボケ除去されていないコードが存在しない場合、ボケ除去判定手段7003は、その画像をメモリ等図示せずに記憶させる。なお、複数マーカ検出手段7001と、コード識別手段7002と、マーカ領域ボケ除去手段1202dより具体的には、セル配置推定手段1203dと、ボケ関数決定手段1204と、幾何変形推定手段1205と、誤差関数決定手段1206と、画素値制約手段1207dと、最適化領域指定手段1208dと、目的関数決定手段1209と、目的関数最適化手段1210と、画素値離散化手段1211と、ボケ除去判定手段7003とは、プログラム画像処理プログラムに従って動作するコンピュータのCPU等によって実現される。次に、本実施形態における画像処理システムの動作を説明する。図10は、第4の実施形態における画像処理システムの動作の例を示すフローチャートである。まず、画像入力手段1100に画像が入力されると、画像入力手段1100は、入力された画像をメモリ図示せずに記憶させるステップS801。次に、複数マーカ検出手段7001は、画像入力手段1100がメモリ図示せずに記憶させた入力画像から全てのマーカを検出するステップS802。コード識別手段7002は、検出した複数のマーカから、ひとつのマーカを選択し、そのコードの種類を識別するステップS803。セル配置推定手段1203dは、識別されたコードの種類とマーカとから、セル配置を推定するステップS804。次に、幾何変形推定手段1205は、入力画像とセル配置とから、幾何変形行列Wを推定するステップS805。さらに、ボケ関数決定手段1204は、ボケ関数Bを決定するステップS806。誤差関数決定手段1206は、推定されたボケ関数Bと幾何変形行列Wとから誤差関数を決定し、その誤差関数をメモリ図示せずに記憶させるステップS807。画素値制約手段1207dは、セル配置推定手段1203dによってメモリ図示せずに記憶されたセル配置をもとに利用者が指示する画素値制約関数を表すためのパラメータを受ける。そして、画素値制約手段1207dは、そのパラメータと予め定義された関数を基に画素値制約関数を決定し、決定した画素値制約関数をメモリ図示せずに記憶させるステップS808。そして、目的関数決定手段1209は、誤差関数決定手段1206がメモリ図示せずに記憶させた誤差関数と、画素値制約手段1207dがメモリ図示せずに記憶させた画素値制約関数とから目的関数を決定し、決定した目的関数をメモリ図示せずに記憶させるステップS809。セル配置推定手段1203dが推定したセル配置から、目的関数を用いて最適化する領域が最適化領域指定手段1208dにより指定されると、目的関数最適化手段1210は、その領域について、目的関数を最適化するステップS810。画素値離散化手段1211は、目的関数を最適化することで得られた結果に対する画素値を離散化し、コード領域を多値化するステップS811。ボケ除去判定手段7003は、復元画像中にボケ除去されていないコード領域が存在しないか否かを判別するステップS812。ボケ除去されていないコード領域が存在する場合ステップS812におけるNO、ステップS803にもどる。一方、復元画像中にボケ除去されていないコード領域が存在しない場合ステップS812におけるYES、ステップS813に進む。ステップS813において、画像出力手段1300は、ボケ除去判定手段7003の指示に応じて、導出された復元画像を出力する。以上の処理をまとめると、ステップS803では、コード識別手段7002が検出した複数のマーカから一つ種類のマーカを選択し、ステップS803~S811では、マーカ領域ボケ除去手段1202dが、そのマーカに対応するコードのボケ除去を行い、ステップS812では、ボケ除去判定手段7003が画像中のボケ除去されていない種類のコードが存在するか否かを判定する。具体的には、ステップS803でQRコードに対応するマーカが選択されると、S804~S811で、複数のQRコードのボケ除去が行われ、ステップS811でボケ除去されていない他の種類のコードが存在するかを判定する。すなわち、ステップS811で復元画像中にボケ除去されていないコード領域が存在するか否かを判定することは、ボケ除去されていない他の種類のコードが存在するか否かを判定しているとも言える。以上のように、本実施形態によれば、第1の実施形態に加え、複数マーカ検出手段7001が、画像中に含まれる複数種類のマーカを検出し、コード識別手段7002が、検出された各々のマーカに対応するコードの種類を識別する。そして、ボケ除去判定手段7003が、画像中にボケ除去がされていないコードが存在するか否かを判定する。すなわち、本実施形態では、複数マーカ検出手段7001と、コード識別手段7002と、ボケ除去判定手段7003とが、入力画像中の複数のコードの検出とボケ除去を行う。そのため、入力画像に複数種類のコードが複数個存在していても、それら全てのコードのボケ除去を行うことができる。以下、具体的な実施例により本発明を説明するが、本発明の範囲は以下に説明する内容に限定されない。本実施例は第1の実施形態に対応するものである。以下、図1を参照して説明する。本実施例では、画像入力手段1100として、NTSCNationalTelevisionSystemCommittee信号を入出力できるビデオキャプチャボードを用い、画像出力手段1300として、ディスプレイ装置を用いる。また、コンピュータ1200として、画像処理プロセッサを搭載した画像処理ボードを用いる。ビデオキャプチャボードは、入力されたビデオ信号をYUV信号に変換し、画像処理ボードに送信する。また、ビデオキャプチャボードは、画像処理ボードにおける処理結果が転送させると、その処理結果をビデオ信号に変換してディスプレイ装置に表示させる。このように、本実施例では、画像処理ボードの処理結果をビデオキャプチャボードに転送し、ビデオキャプチャボードが画像をディスプレイ装置に表示させる。画像処理ボードは、マーカ検出手段1201と、マーカ領域ボケ除去手段1202とを含む。入力画像の入力信号が画像入力手段1100に入力されると、画像入力手段1100はその値をメモリ等に記憶させる。マーカ検出手段1201は、入力された画像中に存在するマーカを検出する。ボケ除去を行う対象のコードがQRコードである場合、マーカ検出手段1201は、例えば、図2に例示するマーカマーカF1021~F1023をテンプレートマッチングにより探索する。マーカ検出手段1201は、検出したマーカそれぞれの中心座標と入力画像とをメモリ等に記憶させる。セル配置推定手段1203は、マーカ検出手段1201が検出したマーカから、コードのセル数を算出する。以下、図11を用いて、セル数を推定する方法について説明する。図11は、QRコードにおけるマーカを示す説明図である。QRコードにおけるマーカF121の大きさは、7×7セルであり、そのうち白枠F122の大きさは、5×5セルである。マーカ検出手段1201が検出したマーカがQRコードのマーカである場合、セル配置推定手段1203は、まず、マーカの白いセルの枠の大きさから、1セルあたり何画素であるかを推定する。次に、セル配置推定手段1203は、コードの3箇所に配置されたマーカの座標から、コード全体が何画素から構成されているかを算出する。そして、セル配置推定手段1203は、上記情報を基に着目しているコードのセル数を計算する。最後に、セル配置推定手段1203は、推定したセル数、入力画像、および、マーカの中心座標をメモリに記憶させる。ボケ関数決定手段1204は、検出されたマーカ領域がどの程度ぼけているかを表す点広がり関数PSF、すなわちボケ関数を決定する。ボケ関数は、利用者が予め決定してもよいし、加速度センサなどの情報から推定されたものであってもよい。以下、第1の実施形態と同様、ボケ関数をBと表わす。また、ボケ関数がN×Nの行列であるとする。また、画素数がNである画像における各画素の輝度値をラスタスキャン順に並べた縦ベクトルをZとする。また、与えられたボケ関数によりぼかされた画像Zの各画素の輝度値をラスタスキャン順に並べた縦ベクトルをZbとする。このとき、縦ベクトルZと縦ベクトルZbとの関係は、Bを用いて先に示した式1のように表すことができる。幾何変形推定手段1205は、セル配置推定手段1203がメモリに記憶させたマーカの中心座標から、幾何変形行列Wを推定する。画素数がNの入力画像の輝度値を成分とする縦ベクトルをZNとし、幾何変形行列Wにより変形された画素数がMの復元画像の輝度値を成分とする縦ベクトルをZMとする。このとき、縦ベクトルZNと縦ベクトルZMとの関係は、幾何変形行列Wを用いて先に示した式2のように表すことができる。幾何変形推定手段1205は、入力画像から検出したマーカの中心座標と復元画像におけるマーカの中心座標との対応点から、予め仮定された変形モデルのパラメータを算出する。このようにして、幾何変形推定手段1205は、幾何変形行列Wを推定すればよい。なお、変形モデルとしては、例えば、アフィン変換モデルなどが挙げられる。誤差関数決定手段1206は、ボケ関数決定手段1204が決定したボケ行列Bと、幾何変形推定手段1205が推定した幾何変形行列Wとを用いて、入力画像の輝度成分Yと復元画像の輝度成分Xとの関係を表す誤差関数EdataXを決定する。そして、誤差関数決定手段1206は、決定した誤差関数をメモリに記憶させる。誤差関数EdataXは、YとXとWとBとを含む関数であり、Xが正しく復元された画像であるほど小さい値をとる。誤差関数EdataXは、例えば、以下に示す式17のような関係式として予め定義される。EdataX=|BWX-Y|2式17画素値制約手段1207は、コードが離散された少数の画素値から構成されることを制約する画素値制約関数EregXを決定し、決定した画素値制約関数をメモリに記憶させる。QRコードのように、2値の画素値から二次元コードが構成されている場合、EregXは、以下に示す式18のような関係式として予め定義される。ここで、以下の記号は、ベクトルの要素ごとの掛け算を表している。X1、X2は、コードを構成する2つの画素値である。なお、画素値制約関数EregXを表す関数は、上述する式18の内容に限定されない。X1、X2に極小値をもつ関数であれば他の関数であってもよい。そのような関数として、例えば、2重井戸型ポテンシャルと呼ばれる関数が挙げられる。目的関数決定手段1209は、誤差関数決定手段1206が決定した誤差関数EdataXと、画素値制約手段1207が決定したEregXとを用いて、目的関数を決定する。そして、目的関数決定手段1209は、決定した目的関数EXをメモリに記憶させる。目的関数は、例えば、先に示した式9のような関数として予め定義される。最適化領域指定手段1208は、セル配置推定手段1203が推定したセル配置から、復元画像の輝度成分Xのうち、目的関数EXを用いて推定する必要がある画素を指定する。本実施例において、推定する必要がある画素を指定するとは、復元する画像の領域を特定することを意味する。最適化する領域は、例えば、ユーザ等により指示される。目的関数最適化手段1210は、目的関数EXが最小になるXを計算する。すなわち、目的関数最適化手段1210は、目的関数EXを最適化するXを算出する。具体的には、目的関数最適化手段1210は、先に示した式11を満たすX0を計算する。目的関数最適化手段1210は、目的関数EXを最適化する方法として、例えば、勾配法、ニュートン法、共役勾配法などを用いてもよい。画素値離散化手段1211は、予め利用者によって与えられた閾値を用いて、目的関数最適化手段1210が算出したX0の画素値を離散化する。X0を2値化することで、復元画像中のコードに含まれる領域の全ての画素の輝度値が、X1またはX2の値になる。なお、本実施例では、誤差関数及び画素値制約関数が輝度値のみを用いて決定される場合について説明した。例えば、誤差関数及び画素値制約関数がRGB値を用いて表される場合、式17及び式3のかわりに、以下に示す式19及び式20を定義してもよい。ただし、Πは、kが1からiまでのベクトルの要素ごとの総乗を表している。また、XRk、XGk、XBkはそれぞれ、k番目のコードを制約するRGB値である。次に、本発明による画像処理システムの最小構成の例を説明する。図12は、本発明による画像処理システムの最小構成の例を示すブロック図である。本発明による画像処理システムは、誤差関数決定手段90例えば、誤差関数決定手段1206と、画素値制約手段91例えば、画素値制約手段1207と、目的関数決定手段92例えば、目的関数決定手段1209と、目的関数最適化手段93例えば、目的関数最適化手段1210とを備えている。誤差関数決定手段90は、ぼかされた入力画像の程度を表す関数であるボケ関数例えば、ボケ関数Bおよび入力画像が示す二次元コードがその二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列例えば、幾何変形行列Wを用いて、復元された画像である復元画像例えば、復元画像Xに対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく例えば、誤差が小さいほど小さな値になる関係を満たす関数である誤差関数例えば、Edataを決定する。画素値制約手段91は、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件例えば、画素値制約関数EregX、復元画像の画素値が少数の離散値をとることを示す条件を規定した画素値制約情報を決定する。目的関数決定手段92は、誤差関数と画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数例えば、目的関数EXを決定する。目的関数最適化手段93は、目的関数を最適化する復元画像を決定する。そのような構成により、ボケが大きいコード画像から正確な復元画像を得ることができる。すなわち、このような構成を採用し、コード画像に関する複数の制約をもとに構成された目的関数を用いることで、複数の制約のもとで不良設定問題を解くため解が安定化する。ゆえにボケが大きい画像に対しても、より正確な復元画像を得ることができる。上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。付記1ぼかされた入力画像の程度を表す関数であるボケ関数および前記入力画像が示す二次元コードが当該二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定する誤差関数決定手段と、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定する画素値制約手段と、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定する目的関数決定手段と、前記目的関数を最適化する復元画像を決定する目的関数最適化手段を備えたことを特徴とする画像処理システム。付記2誤差関数決定手段は、復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど小さい値をとる誤差関数を決定し、画素値制約手段は、画像に含まれる各画素の画素値が離散化した画素値のうちのいずれかに近いほど適切な画像であることを示す関数である画素値制約関数を制約条件とする画素値制約情報を決定し、目的関数決定手段は、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど小さな値をとる目的関数を決定し、目的関数最適化手段は、前記目的関数を最小化する復元画像を決定する付記1記載の画像処理システム。付記3誤差関数決定手段は、復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど小さい値をとる誤差関数を決定し、画素値制約手段は、復元する画像の取り得る画素値が予め定めた個数の離散値であるとする制約条件を画素値制約情報として決定し、目的関数決定手段は、前記誤差関数における復元画像の取り得る画素値を、前記画素値制約情報の制約条件として決定された離散値のいずれかの値をとる目的関数を決定し、目的関数最適化手段は、前記目的関数を最小化する復元画像を決定する付記1記載の画像処理システム。付記4目的関数最適化手段が決定した復元画像の画素値を予め定めら得た閾値を用いて離散化することにより、復元画像を生成する画素値離散化手段を備えた付記1から付記3のうちのいずれか1つに記載の画像処理システム。付記5入力画像から、二次元コードのマーカを検出するマーカ検出手段と、マーカ検出手段が検出したマーカから二次元コードのセル配置を推定するセル配置推定手段と、入力画像に対するボケ関数を決定するボケ関数決定手段と、推定された二次元コードのセル配置から幾何変形行列を推定する幾何変形推定手段と、復元する入力画像の領域を指定する最適化領域指定手段とを備え、誤差関数決定手段は、入力画像と、前記ボケ関数決定手段が決定したボケ関数と、前記幾何変形推定手段が推定した幾何変形行列とをもとに、誤差関数を決定する付記1から付記4のうちのいずれか1つに記載の画像処理システム。付記6目的関数を構成する要素のうち、目的関数最適化手段によって同時に最適化される変数とする要素を指定する同時最適化変数指定手段を備え、目的関数最適化手段は、目的関数を最適化する復元画像および前記同時最適化変数指定手段で指定された要素を決定する付記1から付記5のうちのいずれか1つに記載の画像処理システム。付記7二次元コードのセル配置が入力されるセル配置入力手段と、幾何変形行列が入力される幾何変形入力手段と、ボケ関数が入力されるボケ関数入力手段とを備え、誤差関数決定手段は、幾何変形入力手段に入力された幾何変形行列と、ボケ関数入力手段に入力されるボケ関数とを用いて誤差関数を決定し、画素値制約手段は、セル配置入力手段に入力される二次元コードのセル配置に基づいて、画素値制約情報を決定する付記1から付記4のうちのいずれか1つに記載の画像処理システム。付記8画像中に存在する複数種類のマーカを全て検出する複数マーカ検出手段と、検出されたマーカのコードの種類を識別するコード種類識別手段と、目的関数最適化手段が決定した復元画像中の全てのコードに対するボケ除去がされたか否かを判定するボケ除去判定手段とを備え、セル配置推定手段は、複数マーカ検出手段が検出したマーカから二次元コードのセル配置を推定する付記5から付記7のうちのいずれか1つに記載の画像処理システム。付記9ぼかされた入力画像の程度を表す関数であるボケ関数および前記入力画像が示す二次元コードが当該二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定し、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定し、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定し、前記目的関数を最適化する復元画像を決定することを特徴とする画像処理方法。付記10復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど小さい値をとる誤差関数を決定し、画像に含まれる各画素の画素値が離散化した画素値のうちのいずれかに近いほど適切な画像であることを示す関数である画素値制約関数を制約条件とする画素値制約情報を決定し、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど小さな値をとる目的関数を決定し、前記目的関数を最小化する復元画像を決定する付記9記載の画像処理方法。付記11復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど小さい値をとる誤差関数を決定し、復元する画像の取り得る画素値が予め定めた個数の離散値であるとする制約条件を画素値制約情報として決定し、前記誤差関数における復元画像の取り得る画素値を、前記画素値制約情報の制約条件として決定された離散値のいずれかの値をとる目的関数を決定し、前記目的関数を最小化する復元画像を決定する付記9記載の画像処理方法。付記12コンピュータに、ぼかされた入力画像の程度を表す関数であるボケ関数および前記入力画像が示す二次元コードが当該二次元コードの構成単位であるセル上に配置されることを制約する行列である幾何変形行列を用いて、復元された画像である復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど所定の結果に近づく関係を満たす関数である誤差関数を決定する誤差関数決定処理、復元する二次元コードの画素値を離散化した所定の画素値に制約するときの制約条件を規定した画素値制約情報を決定する画素値制約処理、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど所定の結果に近づく関係を満たす関数である目的関数を決定する目的関数決定処理、および、前記目的関数を最適化する復元画像を決定する目的関数最適化処理を実行させるための画像処理プログラム。付記13コンピュータに、誤差関数決定処理で、復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど小さい値をとる誤差関数を決定させ、画素値制約処理で、画像に含まれる各画素の画素値が離散化した画素値のうちのいずれかに近いほど適切な画像であることを示す関数である画素値制約関数を制約条件とする画素値制約情報を決定させ、目的関数決定処理で、前記誤差関数と前記画素値制約情報とに基づいて、復元画像が真の画像に近いほど小さな値をとる目的関数を決定させ、目的関数最適化処理で、前記目的関数を最小化する復元画像を決定させる付記12記載の画像処理プログラム。付記14コンピュータに、誤差関数決定処理で、復元画像に対して幾何変形とボケを加えた画像と入力画像との誤差が小さいほど小さい値をとる誤差関数を決定させ、画素値制約処理で、復元する画像の取り得る画素値が予め定めた個数の離散値であるとする制約条件を画素値制約情報として決定させ、目的関数決定処理で、前記誤差関数における復元画像の取り得る画素値を、前記画素値制約情報の制約条件として決定された離散値のいずれかの値をとる目的関数を決定させ、目的関数最適化処理で、前記目的関数を最小化する復元画像を決定させる付記12記載の画像処理プログラム。以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。この出願は、2010年8月31日に出願された日本特許出願2010-193745を基礎とする優先権を主張し、その開示の全てをここに取り込む。"