"モジュールが2次元状に配置された2次元コードが撮像された画像に対し、該画像内の2次元コード内から走査してコード領域の境界の候補点を検出する候補点検出手段と、前記候補点を用いて第1境界線を算出する算出手段と、前記第1境界線からの距離が閾値以内にある候補点を選択する選択手段と、前記選択手段により選択された候補点を用いて算出した第2境界線を検出する境界線検出手段と、を備える画像処理装置。前記閾値は、前記モジュールのサイズに基いて決定される請求項1記載の画像処理装置。前記候補点検出手段は、前記2次元コード内から走査する際、検出されるモジュールの間隔に基づき前記モジュールのサイズを推定する請求項2記載の画像処理装置。前記算出手段は、前記候補点の外接直線を算出し、該外接直線を前記第1境界線とし、前記選択手段は、前記第1境界線から画像内部方向に対し、前記閾値以内となる候補点を選択する請求項1乃至3いずれか一項に記載の画像処理装置。前記第2境界線を用いて前記コード領域の4頂点を検出する頂点検出手段と、前記頂点検出手段により検出された4頂点から処理対象画像を生成する生成手段と、前記処理対象画像に対し、明と暗とのモジュールのペアが交互に配列されたパターンを検出する際、前記モジュールのペア長に基づき、欠落した前記モジュールのペアを補正するパターン検出手段と、をさらに備える請求項1乃至4いずれか一項に記載の画像処理装置。前記パターン検出手段は、前記モジュールのペア長に対し、小さい順に累積移動平均値を算出して該累積移動平均値に基づいて基準となるペア長を決定する決定手段と、前記決定手段により決定されたペア長に基づく上限値を超えるモジュールのペア長に対し、該モジュールのペア長と、前記決定されたペア長との比率により前記モジュールのペアを補正する補正手段と、を備える請求項5記載の画像処理装置。前記補正手段は、前記決定手段により決定されたペア長に基づく下限値より小さいモジュールのペア長を削除する請求項6記載の画像処理装置。前記生成手段は、前記処理対象画像の前記モジュール内の画素数を所定の画素数にするよう拡大処理又は縮小処理する処理手段を備える請求項5乃至7いずれか一項に記載の画像処理装置。画像処理装置に実行される画像処理方法であって、モジュールが2次元状に配置された2次元コードが撮像された画像に対し、該画像内の2次元コード内から走査してコード領域の境界の候補点を検出し、前記候補点を用いて第1境界線を算出し、前記第1境界線からの距離が閾値以内にある候補点を選択し、選択された候補点を用いて算出した第2境界線を検出する画像処理方法。モジュールが2次元状に配置された2次元コードが撮像された画像に対し、該画像内の2次元コード内から走査してコード領域の境界の候補点を検出し、前記候補点を用いて第1境界線を算出し、前記第1境界線からの距離が閾値以内にある候補点を選択し、選択された候補点を用いて算出した第2境界線を検出する、処理をコンピュータに実行させるための画像処理プログラム。しかしながら、例えば携帯電話などで使用するような廉価なデジタルカメラでは、そのレンズ特性によるピントのボケの発生、処理能力の限界によって、低画素数低解像度の撮影画像を用いなければならない場合がある。図3は、従来技術の課題を説明するための図である。図3に示す画像20は、2次元コードを撮像した画像の一例を示す。図3に示す2次元コードの一部を含む領域を拡大したのが画像21である。画像21に示すように、境界線のボケや歪みにより境界線を正確に検出することができなかった。例えば、従来技術により、境界線を算出すると、境界線26を検出したいが、2次元コードの外接線が境界線25になり、検出したい境界線26よりも外側にずれてしまう。よって、従来技術では、2次元コードの外周部の境界がボケたり、歪んだりすることで、境界線の位置を正確に求めることができないという問題点があった。そこで、開示の技術は、上記問題点に鑑みてなされたものであり、2次元コードの境界線の検出精度を向上させることができる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。開示の一態様の画像処理装置は、モジュールが2次元状に配置された2次元コードを撮像した画像に対し、該画像内の2次元コード内から走査してコード領域の境界の候補点を検出する候補点検出手段と、前記候補点を用いて第1境界線を算出する算出手段と、前記第1境界線からの距離が閾値以内にある候補点を選択する選択手段と、前記選択手段により選択された候補点を用いて算出した第2境界線を検出する境界線検出手段と、を備える。開示の技術によれば、2次元コードの境界線の検出精度を向上させることができる。以下、図面に基づいて、実施例について説明する。[実施例]<構成>図4は、実施例における画像処理装置110の構成の一例を示すブロック図である。図4に示す画像処理装置110は、境界検出手段101、頂点検出手段102、処理対象画像生成手段103、タイミングパターン検出手段104を備える。なお、画像処理装置110は、撮像手段100、デコード手段105、その他表示部などを備えてもよい。撮像手段100は、2次元コードを撮像した画像を生成する。生成された画像は、境界検出手段101に出力される。境界検出手段101は、撮像手段100により撮像された2次元コードを含む画像に対して、2次元コードのコード領域とコード周辺の余白領域との境界線を検出する。余白領域は、クワイエトゾーンと呼ばれる。ここでは、2次元コードが持つ4つの辺の境界線をそれぞれ同じ方法で検出する処理を行う。頂点検出手段102は,境界検出手段101から検出した4つの境界線の両端をおのおの延長し、その交点をコード領域の4頂点として検出する。境界線の検出精度が高ければ高い程、4頂点も高精度に検出できる。この4頂点を結ぶ直線が作る四角形の内部にコード領域が含まれており、4頂点位置が以後の処理の基準点となる。処理対象画像生成手段103は、頂点検出手段102により検出されたコード境界の回転角度および撮影画像の解像度に基づいて、画像データの一部を処理対象画像データとして抽出する。ここでは、所定サイズのモジュール1辺当りの画素数を基準とする。モジュールは、二次元コードのシンボルを構成する最小の単位のセルである。処理対象画像生成手段103は、処理対象画像が回転していたり、解像度が少なかったりするので、回転角度補正、拡大処理又は縮小処理を行って、処理対象画像データを生成する。拡大率または縮小率は、処理対象画像データの解像度がその後の処理に適した値になるように調整する。処理対象画像生成手段103は、例えば、モジュールの一辺当りの画素数が2~8画素になるように調整する。モジュールの一辺当りの画素数が2~8画素であると、一般的に処理がしやすいと言われている。タイミングパターン検出手段104は、処理対象画像生成手段103が生成した処理対象画像のうち、タイミングパターンを含む画像を用いて2次元コードのモジュールサイズとコードサイズを検出する。モジュールサイズは、所定サイズのモジュール1辺当りの画素数を表し、コードサイズは、2次元コードの1辺当りのモジュール数を表す。デコード手段105は、ここまでの各処理手段で取得した値を用いて、2次元コードに対するデコード処理を行い、2次元コードに格納されているデータを取り出す。取り出されたデータは、表示部などに出力される。次に、各処理手段の処理内容について順に説明する。境界検出処理図5は、境界検出手段101の構成の一例を示すブロック図である。図5に示す境界検出手段101は、境界候補点検出手段201、境界候補点補間手段202、仮近似直線算出手段203、境界候補点選択手段204、境界線検出手段205を備える。境界候補点検出手段201は、2次元コードの内部から外部へ向けて画像データの画素を走査し、画素が暗例えば黒から明例えば白に変わる点を境界線の候補点として検出する。境界候補点検出手段201は、例えば、特開2008-102952号公報に記載されているように、白画素の連続長を見つけることで候補点を検出してもよい。境界線の候補点を境界候補点と呼ぶ。境界候補点検出手段201は、画素を走査する際、モジュールのサイズを推定する。境界候補点検出手段201は、例えば、境界候補点を検出する各走査ラインにおいて黒画素と白画素の幅を求め、各走査ラインで最小となる幅の平均値を、1つのモジュールのサイズと推定する。境界候補点補間手段202は、境界候補点検出手段201により検出された境界候補点に対して、その隣接画素の階調値に比例するよう位置を補間修正して境界候補点の位置精度を画素単位より高くなるように向上させる。この処理は、必ずしも必要な処理ではない。仮近似直線算出手段203は、境界候補点補間手段202による補間後の複数の境界候補点を用いて、仮の近似直線を求める。近似直線の求め方としては、例えば、最小二乗法を用いるのが一般的であるが、ハフ変換や、コード外側の境界候補点の外接直線を用いるなど、他の方式を用いてもよい。仮近似直線算出手段203により算出された近似直線を、仮近似直線と呼ぶ。境界候補点選択手段204は、仮近似直線算出手段203により算出された仮近似直線からの距離が、所定の閾値以内にある境界候補点を選択する。境界候補点選択手段204は、仮近似直線から所定範囲内にある境界候補点を選択するようにしてもよい。仮近似直線からの距離が閾値を超える境界候補点は、ボケや歪みなどの影響で正しく検出されていないものと判断され除外される。閾値は、例えば、予め決められた基準値であってもよいが、境界候補点検出手段201で推定されたモジュールのサイズであってもよい。閾値がモジュールサイズの場合、撮像された2次元コードに応じて適切な境界候補点を選択することができる。また、仮近似直線を外接直線とする場合、境界候補点選択手段204は、仮近似直線から画像内部方向に対し、閾値以内となる境界候補点を選択するようにすればよい。仮近似直線が外接直線である場合、仮近似直線よりも画像外部方向に境界候補点がないからである。これにより、境界候補点の選択処理を効率よく行うことができる。境界線検出手段205は、境界候補点選択手段204により選択された複数の境界候補点を用いて再度近似直線を算出し、この近似直線を境界線として検出する。この場合の近似直線の求め方は、最小二乗法などを用いればよい。求めた境界線は、頂点検出手段102に出力される。図6は、境界線検出処理の説明するための図である。図6を用いて、境界線検出処理について具体的に説明する。図6に示す例では、仮近似直線を算出する際には外接直線を用い、境界線を算出する際には最小二乗法を用いる例である。また、図6に示す例は、カメラの特性や撮像画像の解像度不足によって、ボケや歪みが発生している例である。また、図6に示す例では、2次元コードの撮影時に2次元コードが回転状態で撮影されてしまったため、境界線に擬似輪郭が発生してギザギザになっている場合を示す。境界候補点算出手段201は、2次元コードの内部から、垂直上方向に画素を走査して境界候補点を検出する。図6に示す丸印白色丸30、灰色丸31含むが検出された境界候補点である。この検出処理では、本来の境界点ではないコード内部のモジュール境界を検出している。また、本来の境界点であっても、擬似輪郭によって境界点を検出した位置にずれが生じている。図7は、境界候補点のデータテーブルの一例を示す図である。図7に示すように、各境界候補点には、整理番号が付与され、x座標、y座標が関連付けられている。仮近似直線算出手段203は、検出された複数の境界候補点を用いて、境界候補点の外接直線を仮近似直線32として算出する。図6に示すように、仮近似直線32は、擬似輪郭の影響で2次元コードの外側で算出されたため,以降の処理を正確に行うことができない。境界候補点選択手段204は、近似直線32から所定範囲を規定して候補点の選択を行う。所定範囲は、モジュールの大きさXmを基準に設定する。1つのモジュールの大きさXmは、2次元コード内部のモジュールの大きさの分布からおおよその大きさを推定することが可能である。タイミングパターン上は、単位サイズのモジュールが明暗交互に並んでいる形式である。よって、境界候補点の選択には、推定したモジュールサイズの半分である選択基準サイズ範囲所定範囲を以下に式1により求める。Lim0=±Xm/2式1境界候補点選択手段204は、仮近似直線から選択基準サイズ範囲に入る境界候補点を選択する。ただし、境界候補点の検出誤差が小さいことが予測されるような場合にはこの範囲Lim0より小さい範囲を用いてもよい。逆に、検出誤差が大きいことが予測される場合には、この範囲Lim0より大きな範囲±Xmや±Xm×1.5などを用いてもよい。境界候補点の検出誤差が小さいと予測される範囲は、例えば、境界線の中央部であり、境界候補点の現出誤差が大きいと予測される範囲は、境界線の端部である。また、境界候補点選択手段204は、境界候補点の選択を行った後、再度別の方法を用いて選択後の境界候補点に対して仮の近似直線を求めた上で、Lim0例えば±Xm/2の範囲を用いて境界候補点の選択を行ってもよい。なお、図6に示す例では、仮近似曲線が外接直線を示すため、境界候補点選択手段204は、仮近似直線から画像内部方向に対し、例えばXm/2以内にある境界候補点を選択すればよい。図6に示す白色丸30が選択された境界候補点を示し、灰色丸31が選択されなかった境界候補点を示す。図8は、境界候補点の選択結果のデータテーブルの一例を示す図である。図8に示す例では、Xm=3.0、Lim0=1.5とした場合の例である。図8に示すように、仮近似直線からの距離が1.5以内であれば、境界候補点の選択結果は○になる。選択結果○は選択されたことを表し、選択結果×は選択されなかったことを表す。図9は、選択後の境界候補点のデータテーブルの一例を示す図である。図9に示す境界候補点は、図8に示す選択結果が○のものだけが抽出されている。図9に示す境界候補点が、コード領域と余白領域との境界線算出に用いられる。境界線検出手段205は、境界候補点選択手段204により選択された境界候補点を用いて近似直線を算出する。境界線検出手段205は、算出された近似直線をコード領域と余白領域との境界線として検出する。これにより、前述したように境界線を検出することで、カメラの特性や撮像画像の解像度不足によって、ボケや歪みが発生した場合でも、境界線の検出精度を向上させることが可能となる。回転拡縮処理次に、タイミングパターン検出の処理対象画像を生成する処理について説明する。図10は、処理対象画像生成手段103の構成の一例を示すブロック図である。図10に示す処理対象画像生成手段103は、回転角度検出手段301、範囲決定手段302、回転拡縮処理手段303を備える。回転角度検出手段301は、境界線の傾きから、画像データ中の2次元コードの水平/垂直に対する回転角度を求める。範囲決定手段302は、境界線の位置を基準とし、使用する処理方法に対応した画像範囲を決定する。範囲決定手段302は、例えば、DataMatrix登録商標のタイミングパターンの処理を行う場合には、タイミングパターンを含む頂点間の境界線に沿って一定の幅の矩形領域を切り出す。回転拡縮処理手段303は、境界線が画像データ中で水平又は垂直になるように回転補正を行う。回転補正には、アフィン変換処理や射影変換処理などを用いればよい。また、回転拡縮処理手段303は、予め指定した解像度となるように隣接画素間をその階調値に比例して補間することで拡大補正ないし縮小補正を行う。以上より、回転補正を行いコード領域が画像データ中で正立となるようにすることで、以後の処理での位置検出を容易かつ高精度高速に行うことが可能となる。また、解像度が低かったり、高かったりする場合には、拡大補正又は縮小補正を行うことで以後の処理での位置検出精度を高めることが可能となる。縮小補正を行う場合、処理する画素数を低減するため、以後の処理の高速化が可能となる。なお、回転拡縮処理手段303は、撮像解像度検出手段331、補正倍率決定手段332を備える。撮像解像度検出手段331は、境界線に隣接したモジュールの幅を検出し、検出したモジュールの幅に含まれるおおよその解像度を求める。補正倍率決定手段332は、検出した解像度が予め指定した基準解像度より大きい場合には基準解像度と同等となるように縮小倍率を決定し、検出した解像度がk順解像度より小さい場合には基準解像度と同等となるように拡大倍率を決定する。基準解像度は、使用するカメラの特性や以後のデコード処理アルゴリズムの特性に従って任意に設定される。一般的には、サンプリング定理に従って1モジュール当り2~3画素が基準解像度として設定される。しかし、より高精度の検出が必要な場合には、2~3画素より大きな値例えば4~8画素が設定されてもよい。また、精度を必要とせず処理速度を優先させたい場合には2~3画素より小さい値例えば1画素が設定されてもよい。これにより、カメラやデコード処理アルゴリズムの特性や用途に対応して、適切な倍率を設定することができ、より高性能なデコード処理を行うことが可能となる。図11は、回転拡縮処理を説明するための図である。図11を用いて、回転拡縮処理の具体例について説明する。境界線の回転角度が検出されると、範囲決定手段302により処理対象画像の範囲が決定される。図11に示す線40が、境界線を表す。図11に示すように、タイミングパターンの検出の場合、境界線を基準にタイミングパターン全体を含む矩形領域が、処理対象画像の範囲41として切り出される。例えば、範囲決定手段302は、境界線40から所定の幅を有する矩形領域を処理対象画像の範囲41として決定する。回転拡縮処理手段303は、図11に示す範囲41のモジュールの大きさを求める。この大きさは、おおよその値でよいため、回転拡縮処理手段303は、タイミングパターンに沿ったモジュールの大きさを所定個数求めて、その平均値を用いる。ここでは、モジュールの大きさを画素数で表す。図11に示す例の場合、モジュール1個当りおよそ2画素の解像度が求められたとする。以降の処理での基準解像度が、1モジュール当り8画素となっている場合、回転拡縮処理手段303は、処理対象画像に対し、8/2=4倍の拡大補間処理を行う。また、回転拡縮処理手段303は、処理対象画像に対し、回転補正処理を行い、境界線40が処理対象画像中で水平となるようにする。この結果、処理対象画像は、解像度が以降の処理に適切な1モジュール当り8画素に補正され、処理精度が向上する。また、回転補正処理によって境界線の擬似輪郭も補正され、よりきれいな境界線を得られるため、以降の処理の精度が向上する。また、以降の処理で画素走査を行う場合に、水平/垂直方向のインデックスインクリメントだけで済むため、処理速度が向上する。タイミングパターン検出処理次に、タイミングパターンの検出処理について説明する。図12は、タイミングパターン検出手段104の構成の一例を示すブロック図である。図12に示すタイミングパターン検出手段104は、処理対象画像選択手段401、明暗モジュールペア長検出手段402、基準モジュールペア長決定手段403、モジュールペア補正手段404、コードサイズ決定手段405を備える。処理対象画像選択手段401は、タイミングパターンが存在する処理対象画像を選択する。2次元コードがDataMatrix登録商標の場合、4境界線のうち、2境界線がファインダパターン、残り2境界線がタイミングパターンである。しかし、連続した黒画素のファインダパターンは検出が容易であるため、処理対象画像選択手段401は、ファインダパターン以外の2境界線を含む処理対象画像を選択する。選択された処理対象画像は、以後の処理に用いられる。明暗モジュールペア長検出手段402は、タイミングパターンに含まれる隣接する明1個暗1個のモジュールペアの長さを順次求める。このモジュールペアを、明暗モジュールペアと呼ぶ。明暗モジュールペア長検出手段402は、明暗の境界の位置を決定する際に、隣接画素の階調値に比例するよう位置を補間修正して位置精度を画素単位より高くなるように向上させてもよい。基準モジュールペア長決定手段403は、検出された明暗モジュールペア長を小さい方から順に並べ、累積移動平均値を順に算出する。基準モジュールペア長決定手段403は、処理中の明暗モジュールペア長が、累積移動平均値に対して予め規定された倍率をかけた上限値より大きいか否かを判定する。基準モジュールペア長決定手段403は、判定結果が上限値より大きいを示す場合、何らかの異常が発生したものとして、この明暗モジュールペア長を含むそれより大きな明暗モジュールペア長を破棄する。ここでの異常は、例えば、主にボケ等によるモジュールの欠落である。基準モジュールペア長決定手段403は、例えば、残りの明暗モジュールペア長から求めた累積移動平均値の最大値を、基準モジュールペア長に決定する。なお、基準モジュールペア長決定手段403は、予め定められた所定個数の明暗モジュールペアに対して処理した場合に、基準モジュールペア長を決定する。これは、何らかの異常が発生して明暗モジュールペア長が極度に小さくなっている場合があるからである。何らかの異常とは、主に汚れ等によるモジュールの誤検出や、ボケ等によるモジュール幅の極端な太り/細りなどである。モジュールペア補正手段404は、基準モジュールペア長に対し、予め定められた倍率をかけた閾値を設定する。モジュールペア補正手段404は、この閾値に基づく範囲に入らない明暗モジュールペアが存在する場合に、基準モジュールペア長に基づいてモジュールペア数を補正する。補正処理は、タイミングパターンの欠落時と誤検出時などに行われる処理である。タイミングパターン欠落時の補正処理次に、タイミングパターン欠落時の具体的な補正処理について説明する。モジュールペア補正手段404は、基準モジュールペア長に対し、予め定められた倍率を乗算して決定した上限値より大きい明暗モジュールペア長を、モジュールの欠落が発生していると判断する。この倍率は、四捨五入を考慮して、例えば1.4とする。この場合、モジュールペア補正手段404は、基準モジュールペア長とこの明暗モジュールペア長との比率に対応する明暗モジュールペアの個数を追加する。例えば、モジュールペア補正手段404は、追加個数分のモジュールがこの明暗モジュールペア長内に均等に配置されているものと仮定して、明または暗モジュールを追加補正する。これにより、モジュールの欠落が発生した場合でも、適切にモジュール数を検出することが可能となる。タイミングパターン誤検出時の補正処理次に、タイミングパターン誤検出時の具体的な補正処理について説明する。モジュールペア補正手段404は、基準モジュールペア長に対し、予め定められた倍率をかけて決定した下限値より小さい明暗モジュールペア長を、モジュールの誤検出が発生していると判断する。この倍率は、四捨五入を考慮して、例えば0.5とする。なお、汚れなどが原因で誤検出が発生する場合がある。この場合、モジュールペア補正手段404は、この明暗モジュールペア長を隣接する明暗モジュールペアのうちペア長が短い方に加算した上で、この明暗モジュールペア長を削除し、明暗モジュールペアの個数を1減算する。これにより、モジュールの誤検出が発生した場合でも、適切にモジュール数を検出することが可能となる。コードサイズ決定手段405は、補正処理後のモジュールペア数の2倍をコードサイズとして決定する。以上より、基準モジュールペア長を前述した処理で決定することで、タイミングパターンの画像に何らかの異常が発生していたとしても、基準モジュールペア長を適切に決定することが可能となる。また、基準モジュールペア長を用いて、異常が発生した明暗モジュールペアを補間することで、コードサイズを適切に決定することが可能となる。次に、図13~17を用いて、タイミングパターン検出処理の具体例について説明する。図13は、明暗モジュールペア長の例を示す図である。図13に示す例では、タイミングパターンの暗モジュールの1個が欠落している部分51がある。明暗モジュール長検出手段402は、タイミングパターンを構成するモジュールの中心付近を水平方向に走査し、明例えば白、暗例えば黒モジュールペア長a1~a14を求める。なお、図13に示す例では、a14の右に位置する右端の明暗モジュールペア50は、明モジュールの検出誤差が大きくなることが予想されるため用いていない。最後の明モジュールは次のモジュールがないため、白画素が連続し、モジュールの境目が判断しにくいからである。しかし、コード領域と余白領域との境界線が明確に分かっているなどの検出誤差が小さいと予想される場合には、最後の明暗モジュールペア50を用いてもよい。図14は、算出された明暗モジュールペア長の一例を示す図である。図14に示すように、明暗モジュールペア長を識別するための番号Noと、明暗モジュールペア長とが対応付けられている。例えば、a1の明暗モジュールペア長は、18であり、a2の明暗モジュールペア長は、13である。ペア長は、例えば画素値で表す。基準モジュールペア長決定手段403は、検出された明暗モジュールペア長を小さい短い順に並べ替え、小さい方から順に累積移動平均を求める。明暗モジュールペア長は、本来は全て同じとなるはずであるが、解像度やノイズや欠落などにより値が変動する。図15は、並べ替え後の明暗モジュールペア長の一例を示す図である。図15に示す例は、図14に示す明暗モジュールペア長を小さい順に並べ替えている。並べ替え後の順は以下の通りになる。a9<a2<a3<a14<a5<<a1<a12基準モジュールペア長決定手段403は、異常値を検出するための、基準モジュールペア長に乗算する値として、四捨五入すると値が変わってしまう0.5倍を下限にし、1.5倍を上限にする。基準モジュールペア長決定手段403は、例えば、累積移動平均の0.5倍以上1.4倍以内なら正常値と判断して処理を続行する。なお、カメラの特性や以降の処理アルゴリズムの特性によっては、この倍率と異なる値を用いてもよい。図16は、累積移動平均値及び平均値との比の一例を示す図である。図16に示すように、明暗モジュールペア長、累積移動平均値、平均値との比が対応付けられている。平均値との比は、累積移動平均値から明暗モジュールペア長への比である。図17は、明暗モジュールペア長、累積移動平均値、上限値、下限値の関係を示す図である。図17に示す例では、a12の明暗モジュールペア長で、上限値を上回るため、a12の明暗モジュールペア長は、何らかの異常が発生したものと判断される。よって、基準モジュールペア長決定手段403は、a12以前のa9からa1までの累積移動平均値を基準モジュールペア長と決定する。この場合、図16を参照すると、a1までの累積移動平均値は、16.08であるので、基準モジュールペア長を16とする。モジュールペア補正手段404は、異常値と判断されたa12に対応する明暗モジュールペアに対し、以下の式2により、補正すべきペア長を算出する。a12のペア長/基準モジュールペア長=34画素/16画素=2.1...≒2四捨五入式2モジュールペア補正手段404は、式2により算出された値を四捨五入して求めた値を用いて、a12のペア長は、明暗モジュールペア2個分であったと判断する。よって、モジュールペア補正手段404は、以降の処理のため、欠落している暗モジュール1個を追加する。暗モジュールを1個追加すれば、その両隣に明モジュールができるため、結果的に明暗モジュールペアが2個でき、明暗モジュールペアが1つ追加される。コードサイズ決定手段405は、モジュールサイズと、コードサイズとを以下の式3、4により求める。モジュールサイズ=正常値の累積移動平均値/2式3コードサイズ=補正後のモジュールペア数×2式4図13に示すモジュールサイズは、図16を参照してa1までの累積移動平均値16.08を2で除算して四捨五入し、8となる。よって、図13に示す1つのモジュールの辺当たりの画素数は、8画素である。a1までの累積移動平均値は、最終的には、正常値の平均値と同じである。図13に示すコードサイズの場合、以下の式5により決定される。141追加1ペア分1右端の処理に加えていないペア数×2ペアは2モジュール=16×2=325よって、図13に示すコードサイズは、32モジュールと決定することができる。<動作>次に、画像処理装置110の動作について説明する。図18は、実施例における画像処理方法の一例を示すフローチャートである。図18に示すステップS101で、境界候補点検出手段201は、2次元コードの4境界線のうちの1つの辺に対して、2次元コード内部から外部に走査し、境界候補点を求める。ステップS102で、仮近似直線算出手段203は、境界候補点から仮の近似直線を求める。境界候補点選択手段204は、仮の近似直線からの距離を選択基準として、候補点の選択を行う。ステップS103で、境界線検出手段205は、選択して残った境界候補点を用いて、近似直線を算出するステップS104で、境界線検出手段205は、算出した近似直線を境界線として決定する。ステップS105で、境界検出手段101は、4境界線に対し、ステップS101~S104の処理を行ったかを判定する。4境界線の検出が終了していなければステップS105-NOステップS101に戻り、4境界線の検出が終了していればステップS105-YESステップS106に進む。ステップS106で、頂点検出手段102は、4境界線を延長し、その交点から2次元コードのコード領域の4頂点位置を決定する。ステップS107で、範囲決定手段302は、タイミングパターンを含む処理対象画像の範囲を決定する。ステップS108で、回転拡縮処理手段303は、処理対象画像の範囲に対し、回転補正および拡大補正/縮小補正を行い、処理対象画像のデータを作成する。ステップS109で、明暗モジュールペア長検出手段402は、タイミングパターン中の明暗モジュールペアの長さを求める。ステップS110で、基準モジュールペア長決定手段403は、基準モジュールペア長を用いて正常な明暗モジュールペア長を選択する。モジュールペア補正手段404は、基準モジュールペア長を用いて明暗モジュールペアの補正を行う。ステップS111で、コードサイズ決定手段405は、前述した式3及び式4により、2次元コードのモジュールサイズとコードサイズを決定する。ステップS112で、デコード手段105は、取得された境界線4頂点、モジュールサイズ、コードサイズに基づいて2次元コードのデコード処理を行う。以上、実施例によれば、2次元コードの境界線の検出精度を向上させることができる。また、実施例によれば、境界線を求める際、候補点を補間して求めた上で、候補点の選択処理を行うことで、境界線を高精度に求めることが可能になる。また、実施例によれば、境界線を基準にコード領域の画像を補間して回転補正をすることで、明暗モジュールペアの長さ検出などの処理を高精度かつ高速に行うことができる。また、実施例によれば、タイミングパターンの明暗モジュールペアの長さのうち、累積移動平均値との乖離に基づき、正しく検出されているものを選択することで、コードサイズなどを適切に求めることができる。よって、実施例によれば、例えば、廉価なデジタルカメラで撮像した2次元コードを含む画像に対して、高性能かつ高速な認識処理を行うことが可能となる。次に、画像処理装置110が実装された携帯端末装置500について説明する。図19は、携帯端末装置500のハードウェアの一例を示すブロック図である。携帯端末装置500は、アンテナ501、無線部502、ベースバンド処理部503、制御部504、カメラ505、表示部506、主記憶部507、補助記憶部508、端末インタフェース部509を有する。アンテナ501は、送信アンプで増幅された無線信号を送信し、また、基地局から無線信号を受信する。無線部502は、ベースバンド処理部503で拡散された送信信号をD/A変換し、直交変調により高周波信号に変換し、その信号を電力増幅器により増幅する。無線部502は、受信した無線信号を増幅し、その信号をA/D変換してベースバンド処理部503に伝送する。ベースバンド部503は、送信データの誤り訂正符号の追加、データ変調、拡散変調、受信信号の逆拡散、受信環境の判定、各チャネル信号の閾値判定、誤り訂正復号などのベースバンド処理などを行う。制御部504は、例えばプロセッサなどであり、制御信号の送受信などの無線制御を行う。また、制御部504は、補助記憶部508などに記憶されている画像処理プログラムを実行し、実施例において説明した画像処理を行う。カメラ505は、例えばCCDChargeCoupledDeviceを有し、2次元コードを含む撮像画像を生成する。表示部506は、例えば、LCDLiquidCrystalDisplayなどであり、画像やテキストや2次元コードに格納されたデータを表示する。主記憶部507は、ROMReadOnlyMemoryやRAMRandomAccessMemoryなどであり、制御部504が実行する基本ソフトウェアであるOSやアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。例えば、前述した境界候補点や累積移動平均値などは、主記憶部507に記憶される。補助記憶部508は、HDDHardDiskDriveなどであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。端末インタフェース部509は、データ用アダプタ処理、ハンドセットおよび外部データ端末とのインタフェース処理を行う。図4に示す撮像手段100は、例えば、カメラ505により実現され、画像処理装置110、デコード手段105は、例えば、制御部504により実現されうる。これにより、携帯端末装置500において、2次元コードを撮影して、高速かつ高精度に処理を行うことができる。また、実施例における画像処理装置110を1又は複数の半導体集積化回路として、携帯端末装置500に実装することも可能である。また、開示の技術は、携帯端末装置500に限らず、他の機器にも実装することができる。例えば、前述した画像処理装置110、又は前述した画像処理は、2次元コードを読み取る読取装置、コンパクトデジタルカメラ、又はカメラを有する情報処理装置などにも適用可能である。また、前述した実施例で説明した画像処理を実現するためのプログラムを記録媒体に記録することで、実施例での画像処理をコンピュータに実施させることができる。また、このプログラムを記録媒体に記録し、このプログラムが記録された記録媒体をコンピュータや携帯端末装置に読み取らせて、前述した制御処理を実現させることも可能である。なお、記録媒体は、CD-ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。"