(57)【特許請求の範囲】
【請求項１】
ｎ行、ｍ列の行列の各要素に異なる２色のいずれか一方が付与されてなる２次元コードの作成方法であって、元データを２進数化した複数の２進数元データ行列｜Ｂｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ−１）の各要素について各行毎に要素の第１列から第ｍ−１列に対応するように所定の手順で得られる変調要素を、変調要素の第１列を除いて第２列から順次割り当てるとともに、変調要素の第１列は所定の要素として設定することにより上記２次元コードに対応した２進数の要素からなる変調コード行列｜Ａｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ）を作成し、この変調コード行列｜Ａｉｊ｜の各要素に対応した着色を所定の用紙に施すことにより２次元コードを作成するものであり、
上記所定の手順として、変調コード行列｜Ａｉｊ｜の各行の第１列目の変調要素を「０」とした場合および「１」とした場合の各々について、２進数元データ行列｜Ｂｉｊ｜の各行毎に変調要素と対応した２進数元データ行列｜Ｂｉｊ｜の対応列の要素が「０」であるか「１」であるかを判別し、対応列の要素が「０」のときはその変調要素をつぎの列の変調要素とする一方、対応列の要素が「１」のときはつぎの列の変調要素をその変調要素と異なる変調要素に変える変調処理を行なうとともに、第１列目の変調要素を「０」とした場合と「１」とした場合のいずれかの変調処理を選択することとし、第２行目以降の各行についての上記変調処理の選択としては、当該行と前の行との各列間の変調要素の差の絶対値の合計が大きくなる方の変調処理を選択することを特徴とする２次元コードの作成方法。
【請求項２】
ｎ行、ｍ列の行列の各要素に異なる２色のいずれか一方が付与されてなる２次元コードを備えた用紙であって、元データを２進数化した複数の２進数元データ行列｜Ｂｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ−１）の各要素について各行毎に要素の第１列から第ｍ−１列に対応するように所定の手順で得られる変調要素を、変調要素の第１列を除いて第２列から順次割り当てるとともに、変調要素の第１列は所定の要素として設定することにより上記２次元コードに対応した２進数の要素からなる変調コード行列｜Ａｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ）を作成し、この変調コード行列｜Ａｉｊ｜の各要素に対応した着色が施されてなるものであり、
上記所定の手順は、変調コード行列｜Ａｉｊ｜の各行の第１列目の変調要素を「０」とした場合および「１」とした場合の各々について、２進数元データ行列｜Ｂｉｊ｜の各行毎に変調要素と対応した２進数元データ行列｜Ｂｉｊ｜の対応列の要素が「０」であるか「１」であるかを判別し、対応列の要素が「０」のときはその変調要素をつぎの列の変調要素とする一方、対応列の要素が「１」のときはつぎの列の変調要素をその変調要素と異なる変調要素に変える変調処理を行なうとともに、第１列目の変調要素を「０」とした場合と「１」とした場合のいずれかの変調処理を選択することとし、第２行目以降の各行についての上記変調処理の選択としては、当該行と前の行との各列間の変調要素の差の絶対値の合計が大きくなる方の変調処理を選択したものであることを特徴とする２次元コードを備えた用紙。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、２進コードで表示されるデータを２次元のマトリックスとして配置した、いわゆる２次元コードの作成方法および２次元コードを備えた用紙に関するものである。
【０００２】
【従来の技術】
従来、図６に示すような２次元コード１００が知られている。この２次元コード１００は、カード形式からなる各種の有価証券（例えば商品券や入場券）や帳票類等の用紙Ｐに印刷表示されるものであり、用紙Ｐを、読取り装置に供給して読み取らせることによりコードに付与された情報が認識される。１次元で直線的に情報を表示するバーコードと比較して平面的な広がりを持っているため、より多くの情報を付与することができることから、今後２次元コード１００は利用が進むと考えられる。
【０００３】
かかる２次元コード１００は、行Ｎｉおよび列Ｍｊに区切られた各区画（セルＳｉｊ）に、「０」を示す白色と、「１」を示す黒色との内のいずれか一方が印刷されることにより形成されている。因みに、白色については用紙の地色を当てるのが一般的であるから、実際は「１」を示す黒色のみが印刷されて２次元コード１００が形成されている。
【０００４】
このような２次元コードを読み取る読取り装置は、用紙Ｐを装置内部に送り込む送込み手段と、この送込み手段の駆動で移動しつつある用紙に対し進行方向に直交する方向に走査して各行ＮｉのセルＳｉｊの値を読み取る走査手段とを備えて構成されている。従って、用紙Ｐを読取り装置に通すことにより、走査手段が各行Ｎｉについて各列Ｍｊの値（「０」または「１」）を順次読み取っていき、用紙Ｐが走査手段を通過したき、各セルＳｉｊの値（「０」または「１」）が全て読み取られることになる。
【０００５】
ところで、走査手段による走査の時間間隔（行Ｎｉと行Ｎｉ＋１との間の走査の時間間隔）は、予め設定されているため、この時間間隔と送込み手段の送込み速度とを同期させることにより（例えば１行の走査毎に１行分だけ用紙Ｐを送り込むようにする等）、隣接する行間で混同が生じないように各行Ｎｉを区切った形で各行Ｎｉにおける各列Ｍｊの値を正確に読み取っていくことができるが、送込み手段による送込み速度は、負荷の変動や電圧の変動等によって必ずしも一定しないため、走査手段が読み取った行Ｎｉのデータが必ずしもその行のデータであるとは確定されない。
【０００６】
そこで、従来、このような不都合の生じることがないように、２次元コード１００の幅方向の両側部にそれぞれ１列に亘った合計２列の位置決めコード１０１が設けられ、この位置決めコード１０１に各行Ｎｉに対応するように位置決めセルＣＳｉが設定されている。そして、各位置決めセルＣＳｉには黒色（「１」）、白色（「０」）が交互に印刷され、走査手段がこの位置決めセルＣＳｉを読み取ることによって、この値の変わり目がつぎの行Ｎｉであると認識されるようになされている。こうすることによってたとえ用紙Ｐの送り込み速度が変動しても、行毎のデータが混同するような不都合は起こらない。
【０００７】
【発明が解決しようとする課題】
しかしながら、２次元コード１００の両側部に位置決めセルＣＳｉを設ける従来の方式にあっては、用紙Ｐにおける２次元コード１００のための全体的な領域面積が制限されているときは位置決めセルＣＳｉの存在によって２次元コード１００の容量がその分小さくなる一方、２次元コード１００の容量を確保しようとすれば用紙Ｐの全体的な領域面積を大きくしなければならなくなるという問題点を有している。
【０００８】
また、読取り装置は、２次元コード１００の読み取りとは別に位置決めコード１０１を読み取って行変わりが行われたか否かを常にチェックしなければならず、この処理のためにアクセス時間が長引き、２次元コード１００を高速で読み取ることが困難になるという問題点も存在する。
【０００９】
さらに、従来の２次元コード１００は、元データを単純に２進数変換して「０」を白色に、「１」を黒色にしているだけであるため、各色を「０」、「１」に戻すだけで元データが２進数で得られ、データの内容を極めて容易に解読することができることからデータの秘密保持に関しセキュリティ上も問題がある。
【００１０】
本発明は、上記のような問題点を解消するためになされたものであり、２次元コードに隣接して位置決めコードを設けることなく２次元コードの各セルの値を正しく読み取ることが可能であり、かつ、セキュリティ上の対策もなされた２次元コードの作成方法および２次元コードを備えた用紙を提供することを目的としている。
【００１１】
【課題を解決するための手段】
請求項１記載の発明は、ｎ行、ｍ列の行列の各要素に異なる２色のいずれか一方が付与されてなる２次元コードの作成方法であって、元データを２進数化した複数の２進数元データ行列｜Ｂｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ−１）の各要素について各行毎に要素の第１列から第ｍ−１列に対応するように所定の手順で得られる変調要素を、変調要素の第１列を除いて第２列から順次割り当てるとともに、変調要素の第１列は所定の要素として設定することにより上記２次元コードに対応した２進数の要素からなる変調コード行列｜Ａｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ）を作成し、この変調コード行列｜Ａｉｊ｜の各要素に対応した着色を所定の用紙に施すことにより２次元コードを作成するものであり、上記所定の手順として、変調コード行列｜Ａｉｊ｜の各行の第１列目の変調要素を「０」とした場合および「１」とした場合の各々について、２進数元データ行列｜Ｂｉｊ｜の各行毎に変調要素と対応した２進数元データ行列｜Ｂｉｊ｜の対応列の要素が「０」であるか「１」であるかを判別し、対応列の要素が「０」のときはその変調要素をつぎの列の変調要素とする一方、対応列の要素が「１」のときはつぎの列の変調要素をその変調要素と異なる変調要素に変える変調処理を行なうとともに、第１列目の変調要素を「０」とした場合と「１」とした場合のいずれかの変調処理を選択することとし、第２行目以降の各行についての上記変調処理の選択としては、当該行と前の行との各列間の変調要素の差の絶対値の合計が大きくなる方の変調処理を選択することを特徴とする２次元コードの作成方法。である。
【００１２】
請求項３記載の発明は、ｎ行、ｍ列の行列の各要素に異なる２色のいずれか一方が付与されてなる２次元コードを備えた用紙であって、元データを２進数化した複数の２進数元データ行列｜Ｂｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ−１）の各要素について各行毎に要素の第１列から第ｍ−１列に対応するように所定の手順で得られる変調要素を、変調要素の第１列を除いて第２列から順次割り当てるとともに、変調要素の第１列は所定の要素として設定することにより上記２次元コードに対応した２進数の要素からなる変調コード行列｜Ａｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ）を作成し、この変調コード行列｜Ａｉｊ｜の各要素に対応した着色が施されてなるものであり、上記所定の手順は、変調コード行列｜Ａｉｊ｜の各行の第１列目の変調要素を「０」とした場合および「１」とした場合の各々について、２進数元データ行列｜Ｂｉｊ｜の各行毎に変調要素と対応した２進数元データ行列｜Ｂｉｊ｜の対応列の要素が「０」であるか「１」であるかを判別し、対応列の要素が「０」のときはその変調要素をつぎの列の変調要素とする一方、対応列の要素が「１」のときはつぎの列の変調要素をその変調要素と異なる変調要素に変える変調処理を行なうとともに、第１列目の変調要素を「０」とした場合と「１」とした場合のいずれかの変調処理を選択することとし、第２行目以降の各行についての上記変調処理の選択としては、当該行と前の行との各列間の変調要素の差の絶対値の合計が大きくなる方の変調処理を選択したものであることを特徴とする２次元コードを備えた用紙である。
【００１３】
これらの発明によれば、所定の手順によって形成された変調コード行列｜Ａｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ）は、２進数元データ行列｜Ｂｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ−１）に比べて１列分のコード桁の増加があるが、各行の両端に位置決めコードを追加する従来のコード行列に比べて１列分だけ列数を少なくすることができるため、２次元コードのための全体的な領域面積が制限されているときは変調コード行列｜Ａｉｊ｜の情報量を従来のものより多くすることができる一方、所定の情報量を確保するためには変調コード行列｜Ａｉｊ｜用の用紙全体に占める領域面積を小さくすることができる。
【００１４】
また、所定の手順を適切に設定することにより、位置決めコードを設けることなく変調コード行列｜Ａｉｊ｜の各行そのものを互いに区別され得るものにすることが可能であり、２次元コードの読み取りとは別に位置決めコードを読み取って行変わりが行われたか否かを常にチェックしなければならない従来の不都合が解消され、アクセス時間の短縮化が実現するため、２次元コードは従来に比べて高速で読み取り得るものになる。
【００１５】
さらに、変調コード行列｜Ａｉｊ｜は、元データを単純に２進数変換したものではなく、所定の手順で２進数元データ行列｜Ｂｉｊ｜の要素を逐一調整要素に変換したものであるため、白色を「０」に、黒色を「１」に当て嵌めただけでは元データを再現することはできず、データの秘密保持を行う上で有効であり、セキュリティ上の問題が解消する。
【００１８】
また、上記所定の手順では、２進数元データ行列｜Ｂｉｊ｜に対する上記変調処理によって変調コード行列｜Ａｉｊ｜が得られる。この変調コード行列｜Ａｉｊ｜において、各行の隣り合う要素を互いに比較して同一のときは「０」を設定する一方、同異なるときは「１」を設定し、このような処理を順次行うことで得られた行列は元の２進数元データ行列｜Ｂｉｊ｜になる。
【００１９】
また、変調コード行列｜Ａｉｊ｜の各行の第１列目の変調要素を「０」とした場合および「１」とした場合の各々について上記変調処理を行なうとともに、第１列目の変調要素を「０」とした場合と「１」とした場合のいずれかの変調処理を選択することとし、第２行目以降の各行についての上記変調処理の選択としては、当該行と前の行との各列間の変調要素の差の絶対値の合計が大きくなる方の変調処理を選択するようにしているため、２次元コードとして行間の差を顕著に表現し得る変調コード行列｜Ａｉｊ｜が形成される。従って、従来のように位置決めコードを設けることなく、変調コード行列｜Ａｉｊ｜の各行を順次読み込んでいくことにより、上記偏りに基づいて列の区別が容易に認識される。
【００２０】
【発明の実施の形態】
図１は、本発明に係る２次元コードの一実施形態を示す図であり、（イ）は、コード行列の要素が白色および黒色に色分けされた状態、（ロ）は、白色を「０」、黒色を「１」に置き換えて２進数によるコード行列に変換した状態をそれぞれ示している。
【００２１】
図１の（イ）に示すように、２次元コード１００は、商品券や入場券等の用紙Ｐの所定領域に変調処理された各種の情報（例えば、年月日、整理番号、販売場所、金額、有効期限等）が印刷されるものであり、正方形状の複数の桝目が縦横で得られるように縦線および横線によって区切ることにより形成されている。なお、図１の（イ）に示す例では、図示の都合上、用紙Ｐの略全域に亘って２次元コード１００が形成されているが、本発明は、２次元コード１００が用紙Ｐの全域に亘って形成されることに限定されるものではなく、用紙Ｐの使用目的に応じた印字レイアウトに従って、隅部や中央部等の任意の位置に設定することができる。
【００２２】
この２次元コード１００は、上記複数の桝目（セル）によるｎ行の行Ｎｉと、ｍ列の列Ｍｊとの行列を備えて形成され、ｉ行およびｊ列（但し、ｉ＝１〜ｎ、ｊ＝１〜ｍ）の桝目の位置、すなわちセルＳｉｊに白色または黒色が印刷されてその組み合わせで各種の情報が表示されるようになっている。白色については用紙Ｐの地色がそのまま採用されるのが一般的であるため、実際は所定のセルＳｉｊに黒色のみが印刷されて２次元コード１００ができあがっている。因みに図１においては、２次元コード１００は、図示の都合上、４行６列（ｎ＝４、ｍ＝６）のものを示しているが、本発明は２次元コード１００が４行６列であることに限定されるものではない。
【００２３】
そして、このような２次元コード１００は、白色のセルＳｉｊが「０」、黒色のセルＳｉｊが「１」と決められている。従って、２次元コード１００には、図１の（ロ）に示すように、各行毎に２進数の数字が記述された変調コード行列｜Ａｉｊ｜と対応しているのである。
【００２４】
因みに、図１に示す例では、（イ）に示すように、２次元コード１００の第１行、第１列が白色になっているため、これに対応して変調コード行列｜Ａｉｊ｜の第１行、第１列には、図１の（ロ）に示すように、「０」が設定されており、同様に２次元コード１００の第１行、第２列の黒色に対応して変調コード行列｜Ａｉｊ｜の第１行、第２列には「１」が設定されている。そして、変調コード行列｜Ａｉｊ｜の第１行目には「０１１０００」、第２行目には「０００１１１」、第３行目には「１１０００１」、第４行目には「１００１１１」という２進数の数字情報がそれぞれ設定されていることになる。
【００２５】
このような２次元コード１００（すなわち変調コード行列｜Ａｉｊ｜）は、年月日や整理番号等の生データを２進数化処理した元データ（２進数元データ行列｜Ｂｉｊ｜）に、さらに所定の変調処理を施すことによって形成されている。以下、この変調処理について、図２を基に説明する。
【００２６】
図２は、図１の変調コード行列｜Ａｉｊ｜に対応した２進数元データ行列｜Ｂｉｊ｜を示す図である。この図に示すように、２進数元データ行列｜Ｂｉｊ｜（ｉ＝１〜ｎ（ｎ＝４）、ｊ＝１〜ｍ−１（ｍ−１＝５））は、４行５列であり、変調後の変調コード行列｜Ａｉｊ｜が４行６列であるのに対して１行少ない。逆の言い方をすれば、２進数元データ行列｜Ｂｉｊ｜を変調処理することにより、行の数が１つ増加して変調コード行列｜Ａｉｊ｜になるのである。すなわち、２進数元データ行列｜Ｂｉｊ｜は、各行Ｎ′ｉ毎に各列Ｍ′ｊの値が所定の変調処理で変調コード行列｜Ａｉｊ｜の各行Ｎｉ毎の各列Ｍｊの値に変えられて変調コード行列｜Ａｉｊ｜が形成されている。図１および図２の具体例では、２進数元データ行列｜Ｂｉｊ｜（図２）の第１行目〜第４行目の「１０１００」、「００１００」、「０１００１」および「１０１００」が、変調コード行列｜Ａｉｊ｜（図１の（ロ））の「０１１０００」、「０００１１１」、「１１０００１」、および「１００１１１」に変調されているのである。
【００２７】
図３は、変調処理を説明するための説明図である。この図を参照しながら、まず、２進数元データ行列｜Ｂｉｊ｜の第１行Ｎ′１（「１０１００」）を変調コード行列｜Ａｉｊ｜の第１行Ｎ１（「０１１０００」）に変調する場合を詳細に説明し、引き続き第２行Ｎ′２以下の変調について説明する。
【００２８】
図３に示すように、変調を行うに当っては、変調コード行列｜Ａｉｊ｜の第１行Ｎ１の第１列Ｍ１に「０」を設定して変調処理を施す変調処理▲１▼、および同「１」を設定して変調処理を施す変調処理▲２▼を行う。
【００２９】
そして、上記各変調処理は、変調コード行列｜Ａｉｊ｜の各行の第１列目の変調要素を「０」とした場合（変調処理▲１▼）および「１」とした場合（変調処理▲２▼）の各々について変調要素Ａｉｊの値を、同一列の２進数元データ行列｜Ｂｉｊ｜の要素Ｂｉｊの値に応じて設定し、次の列の変調要素Ａｉｊを順次決定していくのである。そして、変調要素Ａｉｊの対応列の２進数元データ行列｜Ｂｉｊ｜の要素Ｂｉｊが「０」のときはその列の変調要素Ａｉｊをつぎの列の変調要素Ａｉ（ｊ＋１）とすることにより行う。すなわち、２進数元データ行列｜Ｂｉｊ｜の各要素Ｂｉｊは、変調コード行列｜Ａｉｊ｜の変調要素Ａｉｊを設定するときの制御信号（コマンド）としての役割を担っているのである。
【００３０】
図３の具体例では、変調処理▲１▼の場合、２進数元データ行列｜Ｂｉｊ｜の第１行、第１列（要素Ｂ１１）が「０」であるから、変調コード行列｜Ａｉｊ｜の第１行、第１列（変調要素Ａ１１）の「０」が変調コード行列｜Ａｉｊ｜の第１行、第２列（変調要素Ａ１２）に設定され、順次同様の処理が繰り返されることによって変調コード行列｜Ａｉｊ｜の第１行Ｎ１は「０１１０００」となる。同様に変調処理▲２▼の場合、変調コード行列｜Ａｉｊ｜の第１行Ｎ１は「１００１１１」となる。
【００３１】
そして、変調コード行列｜Ａｉｊ｜の第１行Ｎ１を決めるに際し、変調処理▲１▼および変調処理▲２▼のいずれの変調結果を採用するかは任意である。本実施形態においては、変調処理▲１▼の結果を採用している。
【００３２】
つぎに、変調コード行列｜Ａｉｊ｜の第２行Ｎ２を求めるに当っては、上記同様の変調処理▲１▼および変調処理▲２▼が実行され、変調処理▲１▼の結果として「０００１１１」が、変調処理▲２▼の結果として「１１１０００」が得られる。そして、変調コード行列｜Ａｉｊ｜の第２行Ｎ２以下については、この行の各列と、直上の行の各列との差が逐一演算され、それらの絶対値の合計が多い方の変調処理結果が選択される。図３に示す例では、変調コード行列｜Ａｉｊ｜の第１行Ｎ１と第２行Ｎ２の候補である変調処理▲１▼および▲２▼を併記すると、
第１行            「０１１０００」
変調処理▲１▼        「０００１１１」
変調処理▲２▼        「１１１０００」
となる。
【００３３】
そして、変調処理▲１▼の各列と、変調コード行列｜Ａｉｊ｜の第１行Ｎ１の各列との差を逐一計算してそれらの絶対値を合計すると「６」になる。同様に、変調処理▲２▼の各列と、変調コード行列｜Ａｉｊ｜の第１行Ｎ１の各列との差を逐一計算してそれらの絶対値を合計すると「１」になる。従って、絶対値の合計の大きい変調処理▲１▼の結果が変調コード行列｜Ａｉｊ｜の第２行Ｎ２として選択されるのである。
【００３４】
このような変調処理が、変調コード行列｜Ａｉｊ｜の第３行Ｎ３以下についても同様に実行され、その結果として図１の（ロ）に示すような変調コード行列｜Ａｉｊ｜を得ることができる。そして、このような処理で得られた変調コード行列｜Ａｉｊ｜は、隣り合った行と行との間における同一の列間が異なった値になっている確率が非常に大きくなっているため、図１の（イ）に示すように、行間で黒白が極めて明確に区分されており、行の境界の視認が極めて容易であるばかりか、読取り装置で２次元コード１００を読み取った場合も、装置内での行の区分処理を確実に行うことができる。
【００３５】
以下、図４および図５を基に、２次元コード１００の読み取りについて説明する。図４は、２次元コード１００を読み取る読取り装置を説明するための読取り装置の模式的斜視図であり、図５は、ＣＩＳによる読取り走査を説明するための説明図である。まず、図４に示すように、読取り装置１は、用紙Ｐを装置内に所定の送り速度で送り込む上下一対の送込みローラ２と、この送込みローラ２によって送り込まれつつある用紙Ｐの２次元コード１００を読み取るＣＩＳ（ｃｏｎｔａｃｔ  ｉｍａｇｅ  ｓｅｎｓｅｒ（接触式イメージラインセンサ））３と、このＣＩＳ３が読み取った各セルＳｉｊの値に所定の処理を施して各行Ｎｉ毎に区分する制御装置４とを備えて構成されている。
【００３６】
上記ＣＩＳ３は、用紙Ｐに対する対向面に、各列Ｍｊに対応して設けられた複数の接物センサ３ｊ（ｉ＝１〜ｍ（本実施形態ではｍ＝６（実際の接物センサ３ｊの数は６個より相当多いが先に説明した変調コード行列｜Ａｉｊ｜の規模に合わせて６個としている））を有しており、これらの接物センサ３ｊに２次元コード１００の紙面からの反射光が入光されるようになっている。そして、各接物センサ３ｊはこの入光を入光量に比例した電流値に変換して制御装置４に向けて出力するようになっている。かかるＣＩＳ３による２次元コード１００の読み取りは予め設定された数μｓｅｃ毎に間欠的に行われ、用紙Ｐが所定の速度で移動していることにより、２次元コード１００の各行ＮｉのセルＳｉｊを対象として１行当り数点のデータが採取されるようになされている。なお、２次元コード１００の１行当りの接物センサ３ｊによるデータ採取点数は、用紙Ｐの移動速度が変動することによって変動するため、必ずしも一定にはなっていない。
【００３７】
上記制御装置４は、ＣＩＳ３の接物センサ３ｊが読み取った１組ずつのデータ（ラインデータ）から変調コード行列｜Ａｉｊ｜の各行の区切りを判別して各変調要素Ａｉｊの値を確定するとともに、各変調要素Ａｉｊ値を２進数元データ行列｜Ｂｉｊ｜の要素Ｂｉｊに復元するように機能するものであり、データ変換部４１と、ラインデータ比較部４２と、行データ設定部４３と、元データ復元部４４と、適否判別部４５とを備えている。適否判別部４５による判別結果は出力装置４６へ出力され、出力装置４６が備えた機能により判別結果に基づく所定のアクション（例えば、変調コード行列｜Ａｉｊ｜が入場券に付与されている場合に期限切れで不適と判別されたときは入場ゲートが閉止される等のアクション）が行われるようになっている。
【００３８】
上記データ変換部４１は、ＣＩＳ３の接物センサ３ｊが２次元コード１００から読み取った反射光の強弱に基づくアナログ量である電流値を「０」または「１」のディジタル値に変換するものである。２次元コード１００をデータに変換するデータ変換部４１内には予め設定された電流の閾値が入力されており、接物センサ３ｊからの電流値がこの閾値と比較されるようになされている。この閾値は、セルＳｉｊが白色のときの接物センサ３ｊからの電流値と、セルＳｉｊが黒色のときの接物センサ３ｊからの電流値との中間の電流値が採用されている。そして、電流値が閾値より大きいときは「０」（白色）と判別される一方、電流値が閾値より小さいときは「１」（黒色）と判別される。
【００３９】
また、データ変換部４１は、ＣＩＳ３からの電流値をそのまま数値変換して記憶する機能をも有している。この数値変換された値は、つぎのラインデータ比較部４２で２次元コード１００の行区画を決定するときに使用される。
【００４０】
上記ラインデータ比較部４２は、ＣＩＳ３の接物センサ３ｊによって逐一読み取られた２次元コード１００の各列の電流値について、前回の値と今回の値とを比較し、どの時点で電流値が大きく変動しているかを見つけ出して行の区画を判別するものである。電流値としては、用紙ＰのセルＳｉｊが完全な黒体である場合を「０」、同完全な白色である場合を「１０」とし、反射光の明るさに応じて０以上、１０以下の値を付与したものが採用されている。
【００４１】
以下、図５に示す例を基に行区画の判別方法について説明する。図５では、一点鎖線でＣＩＳ３による走査を表現するとともに、各セルＳｉｊに検出されたそのセルＳｉｊの電流値を記入している。すなわち、実際には用紙Ｐが図５の上方に向かって移動することにより静止しているＣＩＳ３によって２次元コード１００の各セルＳｉｊの明るさ（すなわち電流値）が検出されるのであるが、図５では説明の便宜上、静止している用紙Ｐに対してＣＩＳ３が移動するようにしている。
【００４２】
図５に示すように、まず第１回目の走査では、接物センサ３１、３２…３ｊ…３６がセルＳ１１、Ｓ１２…Ｓ１ｊ…Ｓ１６の反射光を読み取ってその強さを電流に変換し、データ変換部４１に向けて出力する。データ変換部４１は、この電流値をその大きさに応じて０〜１０のいずれかの数値に変換する。図５の例では、２次元コード１００のセルＳ１１〜Ｓ１６は、「白、黒、黒、白、白、白」であるから、電流値は「８、０、０、８、８、８」となる。なお、白色を「８」としたのは、用紙Ｐの地色が必ずしも完全な白色ではないからである。
【００４３】
ついで、所定のインターバル時間の経過後、第２回目の操作が行われ、このときもＳ１ｊ（ｊ＝１〜６）が読み取られ、検出される電流値は上記同様に「８、０、０、８、８、８」となる。そして、第２回目の検出が行われた直後に列毎の電流値の差がそれぞれ計算されたのち各差の絶対値の合計が以下の計算式により計算される。
【００４４】
Ｘ＝Σ｜Ｘkj−Ｘ(k-1)j｜
（ｋ＝１〜１２、ｊ＝１〜６）
但し、Ｘ：各列毎の今回電流値と前回電流値との差の合計
ｋ：走査回数
ｊ：２次元コード１００の列数
Ｘkj：今回の走査におけるｊ列のセルの電流値
Ｘ(k-1)j：前回の走査におけるｊ列のセルの電流値
そして、図５に示す例では、ｋ＝１およびｋ＝２を対象として、
Ｘ＝｜８−８｜＋｜０−０｜＋｜０−０｜＋｜８−８｜＋｜８−８｜＋｜８−８｜＝０
と「０」になるため、これによって第１回目の走査と第２回目の走査とは２次元コード１００のセルＳｉｊにおいて同一列であると判別されるのである。なお、Ｘの値に基づく同一列であるか否かの判定は、今回の走査と前回の走査とで全ての列が白黒反転している場合のＸの値の１／２を閾値として採用し、この閾値と等しいか大きいときに列が変わったと判別するようにしている。図５の例では閾値は、白を「８」、黒を「０」として「２４」（（８×６）／２）となる。
【００４５】
第２回目の走査と第３回目の走査とを対象として得られるＸの値も「０」になるため、第３回目の走査は第１行のものであることが判る。
【００４６】
ついで、第３回目の走査の結果と第４回目の走査の結果とが比較される。この場合、第３回目の走査は第２回目と同様にセルＳｉｊの第１行目（ｉ＝１）を対象としているのに対し、第４回目の走査は、セルＳｉｊの第２行目（ｉ＝２）に掛かっているため、接物センサ３ｊによる電流の検出結果は「８８８０００」になる。この第４回目の走査結果と、第３回目の走査結果とを比較してＸを計算すると、
Ｘ＝｜８−８｜＋｜８−０｜＋｜８−０｜＋｜０−８｜＋｜０−８｜＋｜０−８｜＝４０
となり、閾値の「２４」より大きいことによって第４回目の走査は、セルＳｉｊの第２行目のものが対象にされたと判別される。これによって第１回目〜第３回目までのＣＩＳ３による検出結果がセルＳｉｊの第１行目のものであったことが確定される。ＣＩＳ３による同様の走査が以後も継続され、全部で１２回繰り返されることにより全てのセルＳｉｊの値が確定する。
【００４７】
なお、上記Ｘに代えて列間の差の自乗和Ｙ、すなわち
Ｙ＝Σ（Ｘkj−Ｘ(k-1)j）2
（ｋ＝１〜１２、ｊ＝１〜６）
を採用してもよい。
【００４８】
上記行データ設定部４３は、上記ラインデータ比較部４２によって比較された結果、セルＳｉｊの行が変わったと判別された時点で、前の行における各列の変調要素Ａｉｊの値を設定する働きをする。すなわち、図５の例では、第３回目の走査結果と、第４回目の走査結果とに基づいてセルＳｉｊの行が第１行から第２行に変わったと判別されたのであるから、各列の第１回から第３回までの検出結果の平均値が演算され、この平均値が第１行のデータとされるのである。具体的には、
セルＳ1j（ｊ＝１〜６）＝「０１１０００」
セルＳ2j（ｊ＝１〜６）＝「０００１１１」
セルＳ3j（ｊ＝１〜６）＝「１１０００１」
セルＳ4j（ｊ＝１〜６）＝「１００１１１」
となる。この変調コード行列｜Ａｉｊ｜が、ＣＩＳ３が２次元コード１００から読み取り、ラインデータ比較部４２が変換した値であり、この行列は行データ設定部４３に記憶される。
【００４９】
上記元データ復元部４４は、行データ設定部４３が記憶している変調コード行列｜Ａｉｊ｜を２進数元データ行列｜Ｂｉｊ｜に復元する役割を果たすものである。ここでは、変調コード行列｜Ａｉｊ｜において同一行内で変調要素Ａｉｊにつき互いに隣り合ったもの同士が順次比較され、同一であれば「０」が、異なっておれば「１」が設定されて行列が作られる。この行列が、２進数元データ行列｜Ｂｉｊ｜になるのである。
【００５０】
例えば、変調要素Ａ1j（ｊ＝１〜６）の場合は上記セルＳ1jの値であるから、「０１１０００」であり、第１列目と第２列目とを比べると値が「０」と「１」とで異なっているため、要素Ｂ11＝１である。第２列目と第３列目とを比べると値が「１」と「１」とで同じであるから要素Ｂ12＝０である。以下同様に要素Ｂｉｊを求めていくことにより、
要素Ｂ1j（ｊ＝１〜５）＝「１０１００」となる。
【００５１】
上記適否判別部４５は、元データ復元部４４によって復元された２進数元データ行列｜Ｂｉｊ｜を予め設定された適否の設定値と比較し、適否を判別するように構成されている。この判別結果は、出力装置４６に向けて出力され、所定の処理が行われる。
【００５２】
【発明の効果】
請求項１および３記載の発明によれば、所定の手順によって形成された変調コード行列｜Ａｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ）は、２進数元データ行列｜Ｂｉｊ｜（ｉ＝１〜ｎ、ｊ＝１〜ｍ−１）に比べてコード桁が１列増加するが、各行の両端に位置決めコードを追加する従来のコード行列に比べて１列分だけ列数を少なくすることができるため、２次元コードのための全体的な領域面積が制限されているときは変調コード行列｜Ａｉｊ｜の情報量を従来のものより多くすることができる一方、所定の情報量を確保するためには変調コード行列｜Ａｉｊ｜用の用紙全体に占める領域面積を小さくすることができる。
【００５３】
また、所定の手順を適切に設定することにより、位置決めコードを設けることなく変調コード行列｜Ａｉｊ｜の各行そのものを互いに区別され得るものにすることが可能であり、２次元コードの読み取りとは別に位置決めコードを読み取って行変わりが行われたか否かを常にチェックしなければならない従来の不都合が解消され、アクセス時間の短縮化が実現、従来に比べて２次元コードをより高速で読み取ることができる。
【００５４】
さらに、変調コード行列｜Ａｉｊ｜は、元データを単純に２進数変換したものではなく、所定の手順で２進数元データ行列｜Ｂｉｊ｜の要素を逐一調整要素に変換したものであるため、白色を「０」に、黒色を「１」に当て嵌めただけでは元データを再現することはできず、データの秘密保持を行う上で有効であり、セキュリティ性をさらに向上させることができる。
【００５５】
請求項２および４記載の発明によれば、変調コード行列｜Ａｉｊ｜の各行の第１列目の変調要素を「０」とした場合および「１」とした場合の各々について２進数元データ行列｜Ｂｉｊ｜の各行毎に変調要素と２進数元データ行列｜Ｂｉｊ｜の対応列の要素とを比較し、対応列の要素が「０」のときはその変調要素をつぎの列の変調要素とするとともに、変調コード行列｜Ａｉｊ｜の各行における第１列目の変調要素は、得られる変調コード行列｜Ａｉｊ｜の隣接する行において各列間の差の絶対値の合計が大きくなる方を選択して変調コード行列｜Ａｉｊ｜を得るようにしたため、このようにして得られた変調コード行列｜Ａｉｊ｜は、第１行目が「０」であるか「１」であるかの選定に際し、隣接する行において各列間の差の絶対値の合計が大きくなる方を選択することにより、２次元コードとしての行間の差を顕著に表現し得る変調コード行列｜Ａｉｊ｜を形成することができる。従って、従来のように位置決めコードを設けることなく、変調コード行列｜Ａｉｊ｜の各行を順次読み込んでいくことにより、上記偏りに基づいて列の区別を容易に認識することができる。
【図面の簡単な説明】
【図１】本発明に係る２次元コードの一実施形態を示す図であり、（イ）は、コード行列の要素が白色および黒色に色分けされた状態、（ロ）は、白色を「０」、黒色を「１」に置き換えて２進数によるコード行列に変換した状態をそれぞれ示している。
【図２】図１の変調コード行列｜Ａｉｊ｜の基になる２進数元データ行列｜Ｂｉｊ｜を示す図である。
【図３】変調処理を説明するための説明図である。
【図４】２次元コードを読み取る読取り装置を説明するための読取り装置の模式的斜視図である。
【図５】ＣＩＳによる読取り走査を説明するための説明図である。
【図６】従来の２次元コードの一例を示す説明図である。
【符号の説明】
１  読取り装置
２  送込みローラ
３  ＣＩＳ
４  制御装置
４１  データ変換部
４２  ラインデータ比較部
４３  行データ設定部
４４  元データ復元部
４５  適否判別部
４６  出力装置
１００  ２次元コード
｜Ａｉｊ｜  変調コード行列
Ａｉｊ  変調要素
｜Ｂｉｊ｜  ２進数元データ行列
Ｂｉｊ  要素
Ｓｉｊ  セル
【図１】
0004567151.tif 000002
【図２】
0004567151.tif 000003
【図３】
0004567151.tif 000004
【図４】
0004567151.tif 000005
【図５】
0004567151.tif 000006
【図６】
0004567151.tif 000007