(57)【要約】【課題】  ２次元コードの読み取りにおいて当該２次元コードの画像の形状が歪んでいる場合でも、高速に当該２次元コードに含まれる情報を読み取ることができる２次元コード読取装置を提供する。【解決手段】  本発明に係る２次元コード読取装置１００は、ベクトル値を演算するベクトル値演算部と、参照座標Ｒ（０，０）を、ベクトル値、ｓ、ｔ、Ｗｘ及びＷｙを用いて表現する第１参照座標表現部と、ｓまたはｔが異なる場合における直線Ｌ１、直線Ｌ２の交点の参照座標Ｒを、ｓ、ｔ、Ｗｘ及びＷｙに基づいて算出される定数値、及び参照座標Ｒ（０，０）を用いて表現する第２参照座標表現部とを備える。【選択図】  図２
2006155218.tif 000002
【特許請求の範囲】
【請求項１】
２次元コードを読み取り、前記２次元コードの画像である２次元コード画像上における位置を示す座標に基づいて、前記２次元コードに含まれる情報を取得する２次元コード読取装置であって、
前記２次元コード画像の周囲において、前記２次元コード画像を囲む四辺形を設定するマーカ設定部と、
前記四辺形の何れかの頂点を原点とし、前記原点を含む第１の辺の長さである第１辺長、前記原点を含む第２の辺の長さである第２辺長、及び前記四辺形の頂点の位置ベクトルに基づいて、ベクトル値を演算するベクトル値演算部と、
前記第１の辺を第１の割合で内分する第１内分点と、前記第１の辺に対向する第１対向辺を前記第１の割合で内分する第１対向内分点とを結ぶ直線、及び前記第２の辺を第２の割合で内分する第２内分点と、前記第２の辺に対向する第２対向辺を前記第２の割合で内分する第２対向内分点とを結ぶ直線の交点の座標である第１参照座標を、前記ベクトル値、前記第１の割合、前記第２の割合、前記第１辺長、及び前記第２辺長を用いて表現する第１参照座標表現部と、
前記第１の割合または前記第２の割合が異なる場合における前記直線の交点の座標である第２参照座標を、前記ベクトル値、前記第１の割合、前記第２の割合、前記第１辺長及び前記第２辺長に基づいて算出される定数値、及び前記第１参照座標を用いて表現する第２参照座標表現部と
を備えることを特徴とする２次元コード読取装置。
【請求項２】
前記ベクトル値演算部は、前記第１辺長（Ｗｘ）、前記第２辺長（Ｗｙ）、前記原点の位置ベクトル（Ｐ０）、前記四辺形の第１頂点の位置ベクトル（Ｐ１）、前記四辺形の第２頂点の位置ベクトル（Ｐ２）、及び前記四辺形の第３頂点の位置ベクトル（Ｐ３）を用いて、
【数１】
2006155218.tif 000014
【数２】
2006155218.tif 000015
【数３】
2006155218.tif 000016
によって、前記ベクトル値（Ｐ１’，Ｐ２’，Ｐ３’）を演算することを特徴とする請求項１に記載の２次元コード読取装置。
【請求項３】
前記第１参照座標表現部は、前記第１の割合（ｓ：１−ｓ）、及び前記第２の割合（ｔ：１−ｔ）をさらに用いて、前記第１参照座標を、
【数４】
2006155218.tif 000017
【数５】
2006155218.tif 000018
として表現することを特徴とする請求項２に記載の２次元コード読取装置。
【請求項４】
前記第２参照座標表現部は、前記定数値（ａｍ，ｂ０）を用いて、
R(n+1, m) = R(n, m)+am，  a0 = A0・Y0+A1，  am+1 = am+A0
R(0, m+1) = R(0, m)+b0，  b0 = A0・X0+A2
によって、前記第２参照座標（Ｒ（Ｎ＋１，Ｍ），Ｒ（０，Ｍ＋１））を表現することを特徴とする請求項３に記載の２次元コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元コードを読み取り、当該２次元コードの画像上における位置を示す座標に基づいて、当該２次元コードに含まれる情報を取得する２次元コード読取装置に関する。
【背景技術】
【０００２】
近年、数字や文字などの情報を表現する情報表現コードの一種として、縦横の２方向において情報を表現することによって、表現できる情報量をバーコードよりも増大させた２次元コードが広く用いられている。
【０００３】
このような２次元コードを読み取るために用いられる読取装置（スキャナ）は、一般的に、ＣＣＤなどによって構成される画像取得部が、２次元コードを光（画像）信号として読み取り、読み取った光（画像）信号をディジタル画像データに変換している。
【０００４】
また、このような読取装置によって変換されたディジタル画像データから得られる２次元コードの画像には歪みが発生し、２次元コードに含まれる情報を正確に読み取ることができない場合があることが知られている。
【０００５】
すなわち、読取装置（画像取得部）が読み取り対象の２次元コードと正対していない状態において、２次元コードが読取装置（画像取得部）によって読み取られることが発生し得るため、読取装置によって変換されたディジタル画像データから得られる２次元コードの画像の形状が歪んでしまうのである。
【０００６】
このような歪みの発生を抑制するため、読取装置には、２次元コードと極力正対するように補助する補助機構（例えば、ガイドマーカ）が設けられ、また、読取装置の使用者も読取装置と２次元コードとが正対するように努力するが、このような歪みの発生を完全に防止することは困難である。
【０００７】
そこで、このような歪みを有する２次元コードのディジタル画像データを補正する技術が開示されている（例えば、特許文献１）。図５は、このような２次元コードのディジタル画像データの概略補正方法を説明するための説明図である。
【０００８】
同図は、読取装置によって読み取られ、歪みを有する２次元コード（ＱＲコード）の画像（２次元コード画像ＰＣ’）を模式的に示している。なお、主走査方向及び副走査方向とは、読取装置の画像取得部（ＣＣＤ）の走査方向を示している。
【０００９】
この補正方法では、歪みを有する２次元コード画像ＰＣ’の領域ＡＢＣＤに基づいて、辺ＡＤと辺ＢＣとが平行な台形が仮定される。具体的には、辺ＡＢに隣接する辺の長さ、すなわち、辺ＡＤ及び辺ＢＣの長さを変えないことを“条件”として、辺ＡＢ側にない頂点Ｃ，Ｄの一方を移動させ、辺ＡＢに隣接する辺ＡＤと辺ＢＣとが平行な台形が仮定される。同図では、頂点Ｃを移動させることによって、台形ＡＢＣ’Ｄが仮定されている。
【００１０】
次いで、このような「一定条件を満たす台形」のそれぞれの辺に分割点（内分点）、及び当該分割点同士を結んだ検査線が設定される。さらに、当該検査線に基づいて２次元コード画像に含まれるデータ領域のセルの位置が決定される。
【特許文献１】特開２０００−２２２５１７号公報（第５−６頁、第７−９図）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した従来技術には、次のような問題があった。すなわち、図５を参照して説明した従来のディジタル画像データの補正方法では、頂点Ｃ’の位置を決定する際に、（１）辺ＡＤと辺ＢＣ’とが平行になること、（２）辺ＢＣ’と辺ＢＣとが同じ長さになることが必要となる。
【００１２】
つまり、（１’）辺ＢＣ’及び辺ＡＤと、辺ＡＢとの角度、（２’）辺ＢＣ’及び辺ＢＣの長さを演算する必要がある。当該角度や辺の長さの演算では、三角関数や乗算・除算が用いられるため、演算時間が長くなり、高速な処理ができないといった問題がある。
【００１３】
さらに、当該補正方法では、２次元コード画像の領域を「一定条件を満たす台形」と仮定することが前提とされているが、読取装置（画像取得部）が２次元コードと正対していない状態で読み取られた２次元コード画像は、当該台形に仮定することができない場合があるといった問題があった。
【００１４】
そこで、本発明は、以上の点に鑑みてなされたもので、２次元コードの読み取りにおいて当該２次元コードの画像の形状が歪んでいる場合でも、高速に当該２次元コードに含まれる情報を読み取ることができる２次元コード読取装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決するため、本発明は、次のような特徴を有している。まず、本発明の第１の特徴は、２次元コード（例えば、ＱＲコード）を読み取り、前記２次元コードの画像である２次元コード画像（２次元コード画像ＰＣ）上における位置を示す座標に基づいて、前記２次元コードに含まれる情報を取得する２次元コード読取装置（２次元コード読取装置１００）であって、前記２次元コード画像の周囲において、前記２次元コード画像を囲む四辺形（四辺形Ａ）を設定するマーカ設定部（マーカ設定部１０３）と、前記四辺形の何れかの頂点を原点（例えば、Ｐ０）とし、前記原点を含む第１の辺（Ｐ０〜Ｐ１）の長さである第１辺長（Ｗｘ）、前記原点を含む第２の辺（Ｐ０〜Ｐ２）の長さである第２辺長（Ｗｙ）、及び前記四辺形の頂点の位置ベクトル（Ｐ０，Ｐ１，Ｐ２，Ｐ３）に基づいて、前記原点を基準とするベクトル値（Ｐ１’，Ｐ２’，Ｐ３’）を演算するベクトル値演算部と、前記第１の辺を第１の割合（ｓ：１−ｓ）で内分する第１内分点（内分点ｐ１）と、前記第１の辺に対向する第１対向辺（Ｐ２〜Ｐ３）を前記第１の割合で内分する第１対向内分点（内分点ｐ１’）とを結ぶ直線（直線Ｌ１）、及び前記第２の辺を第２の割合（ｔ：１−ｔ）で内分する第２内分点（内分点ｐ２）と、前記第２の辺に対向する第２対向辺（Ｐ１〜Ｐ３）を前記第２の割合で内分する第２対向内分点（ｔ：１−ｔ）とを結ぶ直線（直線Ｌ２）の交点の座標である第１参照座標（例えば、Ｒ（０，０））を、前記ベクトル値、前記第１の割合、前記第２の割合、前記第１辺長、及び前記第２辺長を用いて表現する第１参照座標表現部と、前記第１の割合または前記第２の割合が異なる場合における前記直線の交点の座標である第２参照座標（例えば、Ｒ（１，０））を、前記ベクトル値、前記第１の割合、前記第２の割合、前記第１辺長及び前記第２辺長に基づいて算出される定数値（ａｍ，ｂ０）、及び前記第１参照座標を用いて表現する第２参照座標表現部とを備えることを要旨とする。
【００１６】
かかる特徴によれば、定数値（ａｍ，ｂ０）と、参照座標Ｒ（０，０）とに基づいて参照座標（例えば、Ｒ（１，０））が表現されるため、参照座標Ｒ（１，０）を求める演算では、三角関数や乗算を用いる必要がなく、加算のみで参照座標を表現することができる。
【００１７】
また、かかる特徴によれば、マーカ設定部が、２次元コード画像の周囲に四辺形を設定し、第１参照座標演算部及び第２参照座標演算部が、当該四辺形の内分点を結ぶ直線の交点を参照座標（第１参照座標及び第２参照座標）として表現するため、上述した従来技術のように、読み取った２次元コード画像を「一定の条件を満たす台形」として仮定する必要がなく、２次元コード画像の形状の多様な歪みに対応することができる。
【００１８】
すなわち、かかる特徴によれば、２次元コードの読み取りにおいて当該２次元コードの画像の形状が歪んでいる場合でも、高速に当該２次元コードに含まれる情報を読み取ることができる。
【００１９】
本発明の第２の特徴は、本発明の第１の特徴に係り、前記ベクトル値演算部が、前記第１辺長（Ｗｘ）、前記第２辺長（Ｗｙ）、前記原点の位置ベクトル（Ｐ０）、前記四辺形の第１頂点の位置ベクトル（Ｐ１）、前記四辺形の第２頂点の位置ベクトル（Ｐ２）、及び前記四辺形の第３頂点の位置ベクトル（Ｐ３）を用いて、
【数６】
2006155218.tif 000003
【数７】
2006155218.tif 000004
【数８】
2006155218.tif 000005
【００２０】
によって、前記ベクトル値（Ｐ１’，Ｐ２’，Ｐ３’）を演算することを要旨とする。
【００２１】
本発明の第３の特徴は、本発明の第２の特徴に係り、前記第１参照座標表現部が、前記第１の割合（ｓ：１−ｓ）、及び前記第２の割合（ｔ：１−ｔ）をさらに用いて、前記第１参照座標を、
【数９】
2006155218.tif 000006
【数１０】
2006155218.tif 000007
【００２２】
として表現することを要旨とする。
【００２３】
本発明の第４の特徴は、本発明の第３の特徴に係り、前記第２参照座標表現部が、前記定数値（ａｍ，ｂ０）を用いて、
R(n+1, m) = R(n, m)+am，  a0 = A0・Y0+A1，  am+1 = am+A0
R(0, m+1) = R(0, m)+b0，  b0 = A0・X0+A2
によって、前記第２参照座標（Ｒ（Ｎ＋１，Ｍ），Ｒ（０，Ｍ＋１））を表現することを要旨とする。
【発明の効果】
【００２４】
本発明によれば、２次元コードの読み取りにおいて当該２次元コードの画像の形状が歪んでいる場合でも、高速に当該２次元コードに含まれる情報を読み取ることができる２次元コード読取装置を提供することができる。
【発明を実施するための最良の形態】
【００２５】
（２次元コード読取装置の構成）
本発明の実施形態について図面を参照しながら説明する。まず、図１〜図３を参照して、本実施形態に係る２次元コード読取装置１００（スキャナ）の論理ブロック構成について説明する。
【００２６】
図１に示すように、２次元コード読取装置１００は、２次元コード画像取得部１０１と、マーカ設定部１０３と、ベクトル値演算部１０５と、２次元コード画像座標演算部１０７と、配列情報取得部１０９と、記憶部１１１と、電源部１１３とを備えている。
【００２７】
２次元コード画像取得部１０１は、例えば、各種の書類や製品など、２次元コード表示対象媒体２０に表示されている２次元コード１０を読み取り、２次元コード１０の画像（以下、２次元コード画像ＰＣ）のデータ（ディジタル画像データ）をマーカ設定部１０３に出力するものである。
【００２８】
具体的には、２次元コード画像取得部１０１は、ＣＣＤセンサ（不図示）を有し、当該ＣＣＤセンサを用いて、２次元コード表示対象媒体２０に表示されている２次元コード１０を撮像する。さらに、２次元コード画像取得部１０１は、２次元コード１０を撮像することによって取得した２次元コード１０のディジタル画像データをマーカ設定部１０３に出力する。
【００２９】
マーカ設定部１０３は、２次元コード画像ＰＣ（図２参照）の周囲において、当該２次元コード１０の画像を囲む四辺形Ａ（図２参照）を設定するものである。
【００３０】
具体的には、マーカ設定部１０３は、２次元コード画像ＰＣの周囲４箇所に、当該位置をマーカ設定部１０３が検出することができる特定パターンを有するマーカを設定する。図２では、Ｐ０〜Ｐ３の４箇所にマーカが設定されている。なお、本実施形態に係る２次元コード１０では、マーカ設定部１０３に２次元コード１０における当該位置を検出させるため、４箇所にマーカが設けられている。
【００３１】
また、マーカ設定部１０３は、検出したマーカ（Ｐ０〜Ｐ３）の位置情報をベクトル値演算部１０５及び２次元コード画像座標演算部１０７に通知する。
【００３２】
ベクトル値演算部１０５は、四辺形Ａの何れかの頂点を原点とし、当該原点を含む第１の辺の長さである第１辺長、当該原点を含む第２の辺の長さである第２辺長、及び四辺形Ａの頂点の位置ベクトルに基づいて、ベクトル値を演算するものである。
【００３３】
具体的には、ベクトル値演算部１０５は、図２に示すように、Ｐ０を原点とし、第１辺長（Ｗｘ）、第２辺長（Ｗｙ）、原点の位置ベクトルＰ０、Ｐ１（第１頂点）の位置ベクトルＰ１、Ｐ２（第２頂点）の位置ベクトルＰ２、及びＰ３（第３頂点）の位置ベクトルＰ３を用いて、
【数１１】
2006155218.tif 000008
【数１２】
2006155218.tif 000009
【数１３】
2006155218.tif 000010
【００３４】
によって、ベクトル値（Ｐ１’，Ｐ２’，Ｐ３’）を演算する。
【００３５】
２次元コード画像座標演算部１０７は、図２に示すように、第１の辺（Ｐ０〜Ｐ１）をｓ：１−ｓ（第１の割合）で内分する内分点ｐ１（第１内分点）と、第１の辺に対向する第１対向辺（Ｐ２〜Ｐ３）をｓ：１−ｓで内分する内分点ｐ１’（第１対向内分点）とを結ぶ直線Ｌ１、及び第２の辺をｔ：１−ｔ（第２の割合）で内分する内分点ｐ２（第２内分点）と、第２の辺に対向する第２対向辺（Ｐ１〜Ｐ３）をｔ：１−ｔで内分する内分点ｐ２’（第２対向内分点）とを結ぶ直線Ｌ２の交点の参照座標Ｒ（第１参照座標、例えば、Ｒ（０，０））を、ベクトル値（Ｐ１’，Ｐ２’，Ｐ３’）、ｓ、ｔ、Ｗｘ、及びＷｙを用いて表現するものであり、本実施形態では、第１参照座標表現部を構成する。
【００３６】
具体的には、２次元コード画像座標演算部１０７は、参照座標Ｒ（Ｘ０，Ｙ０）＝Ｒ（０，０）、図２参照）を、
【数１４】
2006155218.tif 000011
【数１５】
2006155218.tif 000012
【００３７】
として表現する。
【００３８】
また、２次元コード画像座標演算部１０７は、ｓまたはｔが異なる場合における直線Ｌ１と直線Ｌ２との交点の座標である参照座標Ｒ（第２参照座標）を、ベクトル値（Ｐ１’，Ｐ２’，Ｐ３’）、ｓ、ｔ、Ｗｘ、及びＷｙに基づいて算出される定数値（ａｍ，ｂ０）（図３参照）と、参照座標Ｒ（第１参照座標、例えば、Ｒ（０，０））とを用いて表現するものであり、本実施形態では、第２参照座標表現部を構成する。
【００３９】
具体的には、２次元コード画像座標演算部１０７は、定数値（ａｍ，ｂ０）を用いて、
R(n+1, m) = R(n, m)+am，  a0 = A0・Y0+A1，  am+1 = am+A0      …（式８−１）
R(0, m+1) = R(0, m)+b0，  b0 = A0・X0+A2      …（式８−２）
によって、参照座標（Ｒ（Ｎ＋１，Ｍ），Ｒ（０，Ｍ＋１））を表現する。なお、２次元コード画像座標演算部１０７のより具体的な動作については後述する。
【００４０】
配列情報取得部１０９は、２次元コード画像座標演算部１０７によって演算された参照座標Ｒに基づいて、２次元コード１０のデータ領域１０ｄに含まれている数字や文字などの配列情報を取得するものである。
【００４１】
具体的には、配列情報取得部１０９は、２次元コード画像座標演算部１０７によって演算された参照座標Ｒを用いて、データ領域１０ｄのどの領域の配列情報を取得したかを認識し、取得した配列情報を外部の他の機器に出力したり、記憶部１１１に記憶させたりすることができる。また、配列情報取得部１０９は、取得した配列情報に誤りが含まれている場合、当該誤りを訂正した配列情報を出力することができる。
【００４２】
電源部１１３は、２次元コード読取装置１００を動作させるために、上述した各機能ブロック（２次元コード画像取得部１０１〜記憶部１１１）に電源を供給するものである。
【００４３】
（２次元コード読取装置の動作）
次に、図２〜図４を参照して、上述した２次元コード読取装置１００による２次元コード１０の読取動作について説明する。図４は、２次元コード読取装置１００による２次元コード１０の読取動作フローを示している。
【００４４】
同図に示すように、ステップＳ１０において、２次元コード読取装置１００は、各種の書類や製品など、２次元コード表示対象媒体２０に表示されている２次元コード１０の画像（２次元コード画像ＰＣ）のデータを取得する。
【００４５】
ここで、２次元コード読取装置１００が２次元コード１０と正対していない状態において、２次元コード１０が２次元コード読取装置１００によって読み取られることが発生し得るため、２次元コード読取装置１００によって出力される２次元コード画像ＰＣのディジタル画像データの形状が歪んでしまう場合がある。
【００４６】
ただし、当該歪みは、一定の規則に従った歪みである。具体的には、２次元コード表示対象媒体２０に表示されている２次元コード１０は、四辺形状、つまり直線的な形状であり、２次元コード読取装置１００によって読み取られた２次元コード画像ＰＣは、曲線的になることはなく、読み取られた２次元コード画像ＰＣの形状は、依然として直線的である。
【００４７】
ステップＳ２０において、２次元コード読取装置１００は、２次元コード画像ＰＣ（図２参照）の周囲において、当該２次元コード１０の画像を囲む四辺形Ａを設定する。具体的には、２次元コード読取装置１００は、図２に示したように、２次元コード画像ＰＣの周囲４箇所に、当該位置を検出することができる特定パターンを有するマーカＰ０〜Ｐ３を設定する。
【００４８】
ステップＳ３０において、２次元コード読取装置１００は、Ｐ０を原点とし、第１辺長（Ｗｘ）、第２辺長（Ｗｙ）、原点の位置ベクトルＰ０、Ｐ１（第１頂点）の位置ベクトルＰ１、Ｐ２（第２頂点）の位置ベクトルＰ２、及びＰ３（第３頂点）の位置ベクトルＰ３、さらに、上述した（式１）〜（式３）を用いて、ベクトル値（Ｐ１’，Ｐ２’，Ｐ３’）を演算する。
【００４９】
ステップＳ４０において、２次元コード読取装置１００は、参照座標（Ｒ（０，０）、図２参照）を、上述した（式４）〜（式７）を用いて表現する。ここで、参照座標Ｒ（０，０）のベクトルＲは、
【数１６】
2006155218.tif 000013
【００５０】
のように表現することができる。この（式９）は、角度を用いない表現方法であるため、従来のように、三角関数などを用いた演算を回避できる利点がある。しかし、（式９）をそのまま利用してベクトルＲを演算するのは好ましくない。すなわち、ｓ：１−ｓ及びｔ：１−ｔの演算後に３回の乗算が必要であり、２次元コード画像ＰＣの画素数をＮ×Ｍとすると、各画素の座標を求めるには、６ＮＭ回の乗算が必要となるからである。
【００５１】
つまり、２入力を有する乗算器を１台のみ有する処理系（ハードウェア）では、２次元コード画像ＰＣの画素数（Ｎ×Ｍ）に比例して増大する演算時間（乗算時間）によって、処理の高速化が難しくなるからである。
【００５２】
そこで、本実施形態では、上述した（式４）のように参照座標Ｒ（０，０）を表現することによって、参照座標Ｒ（例えば、Ｒ（１，０））を加算のみによって表現し、乗算を用いないようにした。
【００５３】
ステップＳ５０において、２次元コード読取装置１００は、ｓまたはｔが異なる場合における直線Ｌ１と直線Ｌ２との交点の座標である参照座標Ｒを、ベクトル値（Ｐ１’，Ｐ２’，Ｐ３’）、ｓ、ｔ、Ｗｘ、及びＷｙに基づいて算出される定数値（ａｍ，ｂ０）と、参照座標Ｒ（０，０）とを用いて表現する。
【００５４】
例えば、図３に示すように、２次元コード読取装置１００は、参照座標Ｒ（１，０）について、当該座標を（Ｘ０＋１，Ｙ０）とするとともに、参照座標Ｒ（０，０）を表現する（式４）に準じ、（式１０）が成り立つものとする。
【００５５】
R(1, 0) = A0*(X0+1)*Y0+A1*(X0+1)+A2*Y0+P0      …（式１０）
さらに、（式１０）を整理すると、
R(1, 0) = R(0, 0)+a0
a0 = A0・Y0+A1
また、上述した参照座標Ｒ（１，０）と同様に、参照座標Ｒ（０，１）を（Ｘ０，Ｙ０＋１）とすると、
R(0, 1) = R(0, 0)+b0
b0 = A0・X0+A2
また、参照座標Ｒ（１，１）を（Ｘ０＋１，Ｙ０＋１）とすると、
R(1, 1) = A0*(X0+1)*(Y0+1)+A1*(X0+1)+A2*(Y0+1)+P0
=R(0, 0)+b0+a0+A0
と表現することができ、ａ１＝ａ０＋Ａ０が得られる。
【００５６】
次いで、２次元コード読取装置１００は、定数値（ａｍ，ｂ０）、及び以下に再掲する（式８−１）及び（式８−２）を用い、Ｘ軸（主走査方向）及びＹ軸方向（副走査方向）について、参照座標Ｒ（Ｒ（Ｎ＋１，Ｍ），Ｒ（０，Ｍ＋１））を表現する。
【００５７】
R(n+1, m) = R(n, m)+am，  a0 = A0・Y0+A1，  am+1 = am+A0      …（式８−１）
R(0, m+1) = R(0, m)+b0，  b0 = A0・X0+A2      …（式８−２）
すなわち、２次元コード読取装置１００は、定数値（ａｍ，ｂ０）を順次加算することにより、全ての２次元コード画像ＰＣの参照座標Ｒを近似的に求めることができる。
【００５８】
ステップＳ６０において、２次元コード読取装置１００は、ステップＳ５０において演算された参照座標Ｒに基づいて、２次元コード１０のデータ領域１０ｄに含まれている数字や文字などの配列情報を取得する。
【００５９】
さらに、２次元コード読取装置１００は、取得した配列情報を外部の他の機器に出力したり、内部（記憶部１１１）に記憶させたりする。
【００６０】
（作用・効果）
以上説明した本実施形態に係る２次元コード読取装置１００によれば、定数値（ａｍ，ｂ０）と、参照座標Ｒ（０，０）とに基づいて参照座標（例えば、Ｒ（１，０））が表現されるため、参照座標を求める演算では、三角関数や乗算を用いる必要がなく、加算のみで参照座標を表現することができる。
【００６１】
また、２次元コード読取装置１００によれば、マーカ設定部１０３が、２次元コード画像ＰＣの周囲に四辺形Ａを設定し、２次元コード画像座標演算部１０７が、四辺形Ａの内分点（Ｐ１とＰ１’、Ｐ２とＰ２’）を結ぶ直線Ｌ１，Ｌ２の交点を参照座標Ｒ（０，０）または参照座標Ｒ（例えば、Ｒ（１，０）として表現するため、２次元コード画像取得部１０１によって読み取られた２次元コード画像ＰＣを「一定の条件を満たす台形」として仮定する必要がなく、２次元コード画像ＰＣの形状の多様な歪みに対応することができる。
【００６２】
すなわち、２次元コード読取装置１００によれば、２次元コード１０の読み取りにおいて２次元コード１０の画像の形状が歪んでいる場合でも、高速に２次元コード１０に含まれる情報を読み取ることができる。
【００６３】
また、２次元コード読取装置１００によれば、参照座標Ｒ（０，０）、及びａ０，ｂ０，Ａ０を求めた後においては、当該定数値（等差数列）を用いて参照座標を求めることができるため、加算のみで参照座標を表現することができる。このため、高速な２次元コード１０の読取処理と、低消費電力とを両立することができる。
【００６４】
（その他の実施形態）
上述したように、本発明の一実施形態を通じて本発明の内容を開示したが、この開示の一部をなす論述及び図面は、本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００６５】
例えば、本発明は、２次元の画像（以下、２次元画像）を用いて情報を記録、再生するホログラムメモリが用いられる場合にも適用することができる。図６は、本発明を適用することができるホログラムメモリの断面図である。
【００６６】
同図に示すように、ホログラムメモリ４００は、２次元画像を生成するホログラムを記録した平面型シングルモード光導波路が多層に重ねられた積層導波路ホログラムである。
【００６７】
ホログラムメモリ４００は、表面からクラッド層４１０ａ、コア層４１０ｂ、クラッド層４２０ａ、コア層４２０ｂ、クラッド層４３０ａ、コア層４３０ｂ、及びクラッド層４４０が、順に積層されている。
【００６８】
コア層４１０ｂ，４２０ｂ，４３０ｂは、石英やプラスティックなどの板状の透明な媒質によって構成される。また、コア層４１０ｂ，４２０ｂ，４３０ｂは、クラッド層４１０ａ，４２０ａ，４３０ａ，４４０ａよりも光の屈折率が高く、屈折率を変調するなどの方法によって形成された散乱因子によって、２次元コードによって符号化された２次元符号を再生するホログラムＨが形成されている。
【００６９】
レーザなどの光源（不図示）から出射されたレーザ光ＬＢは、レンズＬによって集光され、ホログラムメモリ４００の端面４００ｅから入射する。端面４００ｅから入射したレーザ光ＬＢは、コア層４２０ｂに結合し、コア層４２０ｂの内部を導波光ＰＢとして伝搬する。
【００７０】
導波光ＰＢは、コア層４２０ｂに形成されているホログラムＨによって散乱し、回折光ＤＢとして、ホログラムメモリ４００から出射する。ホログラムメモリ４００から出射した回折光ＤＢは、ホログラム画像ＨＰ（２次元画像）を形成する。
【００７１】
回折光ＤＢによって形成されたホログラム画像ＨＰをＣＣＤセンサなどの光検出器を用いて読み取ることによって、コア層４２０ｂにホログラムＨとして形成（記録）されている情報を取得することができる。
【００７２】
また、クラッド層及びコア層が積層されている方向Ｖに、レーザ光ＬＢ及びレンズＬを移動させることによって、コア層４１０ｂやコア層４３０ｂにレーザ光ＬＢを結合させることができる。
【００７３】
コア層４１０ｂやコア層４３０ｂにレーザ光ＬＢを結合させることによって、コア層４１０ｂやコア層４３０ｂに記録されている情報を取得することができる。
【００７４】
また、上述した２次元コード画像取得部１０１（ＣＣＤセンサを除く）、マーカ設定部１０３、ベクトル値演算部１０５、２次元コード画像座標演算部１０７及び配列情報取得部１０９は、コンピュータにおいて実行可能なプログラムとして提供することもできる。
【００７５】
さらに、上述した本発明の実施形態では、２次元コードとしてＱＲコードを例として説明したが、本発明は、他の２次元コード（例えば、スタックドバーコード方式）などの情報表現コードにも勿論適用することができる。
【００７６】
このように、本発明は、ここでは記載していない様々な実施の形態などを含むことは勿論である。したがって、本発明の技術的範囲は、上述の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施形態に係る２次元コード読取装置の論理ブロック構成を示す図である。
【図２】本発明の実施形態に係る２次元コード読取装置の処理概要を説明するための説明図である。
【図３】本発明の実施形態に係る２次元コード読取装置の処理概要を説明するための説明図である。
【図４】本発明の実施形態に係る２次元コード読取装置の動作フロー図である。
【図５】従来の２次元コード読取装置の処理概要を説明するための説明図である。
【図６】本発明のその他の実施形態に係るホログラムメモリの断面図である。
【符号の説明】
【００７８】
１０…２次元コード、１０ｄ…データ領域、２０…２次元コード表示対象媒体、１００…２次元コード読取装置、１０１…２次元コード画像取得部、１０３…マーカ設定部、１０５…ベクトル値演算部、１０７…２次元コード画像座標演算部、１０９…配列情報取得部、１１１…記憶部、１１３…電源部、４００…ホログラムメモリ、４００ｅ…端面、４１０ａ，４２０ａ，４３０ａ，４４０…クラッド層、４１０ｂ，４２０ｂ，４３０ｂ…コア層、ＤＢ…回折光、Ｈ…ホログラム、ＨＰ…ホログラム画像、Ｌ…レンズ、ＬＢ…レーザ光、ＰＢ…導波光、ＰＣ…２次元コード画像
【図１】
2006155218.tif 000019
【図２】
2006155218.tif 000020
【図３】
2006155218.tif 000021
【図４】
2006155218.tif 000022
【図５】
2006155218.tif 000023
【図６】
2006155218.tif 000024