(57)【特許請求の範囲】
【請求項１】
明暗セルの分布パターンによって情報を表現し、デコード時に誤り訂正が可能且つその誤り訂正に用いたセル位置を特定可能な２次元コードが印刷されていると共に、所定の図形パターンが、磁気インクあるいは特定波長を変調するインクである特殊インクを用いて前記２次元コードに重ねて印刷されている情報コード印刷媒体に対し、それが偽造されたものであるか否かを判定する偽造判定方法であって、
前記２次元コードを光学的に読み取ってデコードした際に誤り訂正が実行された場合には、誤り訂正対象となったセル位置である誤り訂正位置を特定し、その誤り訂正位置が、前記２次元コードと前記図形パターンとの重なり部分中の特定の位置であれば、偽造の可能性が高いと判定すること
を特徴とする偽造判定方法。
【請求項２】
請求項１記載の偽造判定方法において、
２次元コードを構成するセルは所定にブロック単位で配置されていると共に、その配置情報が２次元コード内に記録されており、当該配置情報に基づいて前記誤り訂正位置を特定すること
を特徴とする偽造判定方法。
【請求項３】
請求項１記載の偽造判定方法において、
２次元コードの記録形式を示す情報とデコード内容に基づいて再生成した２次元コードを構成するセル毎の明暗と、２次元コードを光学的に読み取った際のセル毎の明暗とを比較することで、前記誤り訂正位置を特定すること
を特徴とする偽造判定方法。
【請求項４】
請求項１〜３のいずれか記載の偽造判定方法において、
前記誤り訂正位置に基づく偽造判定に先立ち、前記２次元コードと前記図形パターンとの重なり部分中の特定の位置を通る走査線上を、前記特殊インクを感知可能なセンサにて走査し、前記図形パターンに対応する位置に前記特殊インクを感知できない場合には、前記情報コード印刷媒体が偽造されたものであると判定し、一方、前記特殊インクを感知できた場合には、前記誤り訂正位置に基づく偽造判定に移行すること
を特徴とする偽造判定方法。
【請求項５】
明暗セルの分布パターンによって情報を表現し、デコード時に誤り訂正が可能且つその誤り訂正に用いたセル位置を特定可能な２次元コードが印刷されていると共に、所定の図形パターンが、磁気インクあるいは特定波長を変調するインクである特殊インクを用いて前記２次元コードに重ねて印刷されている情報コード印刷媒体に対し、それが偽造されたものであるか否かを判定する偽造判定装置であって、
前記２次元コードを構成するセル毎の明暗を光学的に読み取る読取手段と、
該読取手段にて読み取ったセル毎の明暗に基づき、明暗セルの分布パターンにて表現されている情報をデコードするデコード手段と、
該デコード手段によってデコードした際に誤り訂正が実行された場合には、誤り訂正対象となったセル位置である誤り訂正位置を特定する誤り訂正位置特定手段と、
該誤り訂正位置特定手段によって特定された誤り訂正位置が、前記２次元コードと前記図形パターンとの重なり部分中の特定の位置であれば、偽造の可能性が高いと判定する判定手段と、を備えること
を特徴とする偽造判定装置。
【請求項６】
請求項５記載の偽造判定装置において、
前記２次元コードを構成するセルは所定にブロック単位で配置されていると共に、その配置情報が２次元コード内に記録されており、
前記誤り訂正位置特定手段は、前記セルの配置情報に基づいて前記誤り訂正位置を特定すること
を特徴とする偽造判定装置。
【請求項７】
請求項５記載の偽造判定装置において、
前記誤り訂正位置特定手段は、前記２次元コードの記録形式を示す情報とデコード内容に基づいて再生成した２次元コードを構成するセル毎の明暗と、２次元コードを光学的に読み取った際のセル毎の明暗とを比較することで、前記誤り訂正位置を特定すること
を特徴とする偽造判定装置。
【請求項８】
請求項６記載の偽造判定装置において、
複数台の端末と少なくとも１台のホストで構成され、前記読取手段、デコード手段及び前記誤り訂正位置特定手段は前記端末に備えられると共に、前記判定手段は前記ホストに備えられており、前記端末の訂正位置特定手段にて特定された誤り訂正位置を前記ホストに通知し、その通知された誤り訂正位置に基づいて前記ホストの判定手段が偽造判定を行うこと
を特徴とする偽造判定装置。
【請求項９】
請求項７記載の偽造判定装置において、
複数台の端末と少なくとも１台のホストで構成され、前記読取手段及びデコード手段は前記端末に備えられると共に、前記誤り訂正位置特定手段及び判定手段は前記ホストに備えられており、前記端末の読取手段にて読み取った際のセル毎の明暗と前記デコード手段にてデコードした内容及び２次元コードの記録形式を示す情報を前記ホストに通知し、前記ホストの誤り訂正位置特定手段が、前記通知された２次元コードの記録形式を示す情報とデコード内容に基づいて再生成した２次元コードを構成するセル毎の明暗と、前記端末から通知されたセル毎の明暗とを比較することで、前記誤り訂正位置を特定すること
を特徴とする偽造判定装置。
【請求項１０】
請求項５〜９のいずれか記載の偽造判定装置において、
前記２次元コードと前記図形パターンとの重なり部分中の特定の位置を通る走査線上を走査して、前記特殊インクの存在を感知可能な特殊インク感知センサを備え、
前記判定手段は、前記誤り訂正位置に基づく偽造判定に先立ち、前記特殊インク感知センサによる感知を実行し、前記特殊インクを感知できない場合には、前記情報コード印刷媒体が偽造されたものであると判定し、一方、前記特殊インクを感知できた場合には、前記誤り訂正位置に基づく偽造判定に移行すること
を特徴とする偽造判定装置。
【請求項１１】
請求項１〜４のいずれか記載の偽造判定方法が、コンピュータシステムにて実行するプログラムとして記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、各種券類などの複写による偽造を判定する技術に関する。
【０００２】
【従来の技術】
近年は複写機の性能が向上し、使用する紙質が同じであれば、見た目では被複写物と複写物との区別が付きにくいほど精巧なものが容易に作成できるようになっている。したがって、例えば契約書、領収書などの書類や商品券、各種チケットなどの金券類においては、このような複写機によって複写された場合の対策を講じる必要がある。
【０００３】
その一案として、磁気インクなどの特殊インクを利用した偽造防止技術が提案されてきた。例えば図３（ａ）に示すような特殊インクが印刷されている入場券などの印刷媒体は、単に複写機にて複写しただけでは特殊インクとしての機能が発揮できない。したがって、このように単に複写しただけの偽造券は、特殊インク感知センサで感知できないため偽造であることを検出できる。なお、ここでは、特殊インクとしては特殊インク以外にも、例えば特定波長を変調する特殊なインクであっても同様に適用できる。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来技術においては、偽造を完全に防止することははできなかった。例えば、図３（ｂ）に示すように、印刷媒体を複写した後、特殊インク感知センサが走査する所定位置に別の印刷媒体から特殊インクが印刷された部分を切り取って貼り付ければ、結果的に偽造することは可能となる。つまり、特殊インク感知センサは、図３（ｂ）の場合であれば入場券の所定位置に特殊インクが存在するか否かを感知するだけであるからである。
【０００５】
なお、特殊インクを印刷した台紙を入手し、あるいは自ら作成し、その台紙を用いて複写機で複写すれば、真正品に近いものを得ることができる。つまり、専門的な知識を有するものが資金と技術を投入すれば偽造自体は不可能ではない。しかし、ここで問題にすべきは、このような専門的な知識を有するものによる偽造品の判定を目的とするのではなく、一般に使用できる通常の複写機における複写によって容易に偽造された場合にそれが見過ごされてしまうような事態を防ぐことである。なぜなら、物理的に偽造ができたとしても、真正品の価値を上回る費用がかかるようでは偽造を実行する意味がないため、偽造行為自体が発生しにくい。それに対して、数十円もあれば複写できるような状況においては、そのような簡易な手段を用いた偽造を適切に判定することが、社会的にも重要であると考えるからである。
【０００６】
このような状況を鑑み、本発明は、特殊インク部分に２次元コードを重ねて印刷する情報コード印刷媒体を前提とし、複写後に、上述した特殊インクが印刷された部分を切り取って２次元コード上に貼り付けられた場合に、２次元コードの持つ特有の機能に基づいて適切に偽造判定を行う技術を提供することを目的とする。
【０００７】
【課題を解決するための手段及び発明の効果】
最初に、本発明の偽造判定方法によって偽造を判定できる情報コード印刷媒体について説明する。この情報コード印刷媒体は、明暗セルの分布パターンによって情報を表現し、デコード時に誤り訂正が可能且つその誤り訂正に用いたセル位置を特定可能な２次元コードが印刷されている。例えばＱＲコードなどである。そして、所定の図形パターンが特殊インクを用いて２次元コードに重ねて印刷されている。一般的には、何も印刷されていない台紙などに特殊インクにて所定の図形パターンを印刷しておき、その上から、２次元コードあるいは必要に応じて文字などを印刷することとなる。特殊インクは、２次元コードなどが上から印刷されていても専用の感知センサを用いれば感知することができる。
【０００８】
請求項１記載の発明は、このような情報コード印刷媒体に対し、それが偽造されたものであるか否かを判定する偽造判定方法であって、２次元コードを光学的に読み取ってデコードした際に誤り訂正が実行された場合には、誤り訂正対象となったセル位置である誤り訂正位置を特定し、その誤り訂正位置が、２次元コードと前記図形パターンとの重なり部分中の特定の位置であれば、偽造の可能性が高いと判定する。これによって、例えば、図３（ｂ）に示した偽造は適切に判定できる。
【０００９】
すなわち、図３（ｂ）の場合には、印刷媒体を複写した後、特殊インク感知センサが走査する所定位置に別の印刷媒体から特殊インクが印刷された部分を切り取って貼り付けている。図３（ａ）の場合には、２次元コード上に何も貼り付けられていないので、偶発的に生じる２次元コード上の汚れなど以外では誤り訂正機能を使う必要がない。したがって、２次元コードと図形パターンとの重なり部分中の特定の位置が誤り訂正位置である場合には、偶発的にその部分が汚れたのか、図３（ｂ）に示したような偽造が行われたのかいずかである。偶発的に汚れる可能性は低いので、この部分が誤り訂正位置となった場合には偽造の可能性が高いと判定する。このように、本発明方法では、２次元コードの持つ誤り訂正機能を巧みに利用して偽造判定を行うことができるのである。
【００１０】
なお、この判定結果に基づいて偽造の可能性が高いと判定された場合には、例えば人間が情報コード印刷媒体を直接チェックすればよい。そして２次元コード上の汚れが原因であれば、偽造でないと確認すればよく、一方偽造であればしかるべき対処をすればよい。このような偽造判定方法を用いることで、基本的には偽造の判定を自動化することができる。
【００１１】
このように、本発明方法によれば、特殊インク部分に２次元コードを重ねて印刷する情報コード印刷媒体を前提とし、複写後に、上述した特殊インクが印刷された部分を切り取って２次元コード上に貼り付けられた場合に、２次元コードの持つ特有の機能に基づいて適切に偽造判定を行うことができる。つまり、一般に使用できる通常の複写機を用いた複写によって容易に偽造された場合にはそれを適切に見つけられる。上述したように専門的な知識を有するものが資金と技術を投入すれば偽造自体は不可能ではないが、物理的に偽造ができたとしても、真正品の価値を上回る費用がかかるようでは偽造を実行する意味がないため、偽造行為自体が発生しにくい。それに対して、数十円もあれば複写できるような状況においては、そのような簡易な手段を用いた偽造を適切に判定することが、社会的にも重要である。したがって、本発明方法の実効性は高い。
【００１２】
ところで、誤り訂正位置の特定に際しては、次のような手法が考えられる。まず、請求項２に示すように、２次元コードを構成するセルは所定にブロック単位で配置されていると共に、その配置情報が２次元コード内に記録されている場合には、その配置情報に基づいて誤り訂正位置を特定することができる。例えばＱＲコードにおいては、セルブロックの配置が定められており、どのブロックが誤り訂正対象となったが判るので、本手法を用いればよい。また、請求項３に示すように、２次元コードの記録形式を示す情報とデコード内容に基づいて再生成した２次元コードを構成するセル毎の明暗と、２次元コードを光学的に読み取った際のセル毎の明暗とを比較することで、誤り訂正位置を特定してもよい。請求項２に示したようなブロックの配置情報がない場合にはこのようにすればよい。つまり、デコード内容から逆にセルの明暗を再生成し、実際に読み取ったセルの明暗と比較して相違部分を探すのである。やや原始的な手法ではあるが、これでも誤り訂正位置を特定することはできる。
【００１３】
これまでの説明では、図３（ｂ）に示すように、印刷媒体を複写した後、特殊インク感知センサが走査する所定位置に別の印刷媒体から特殊インクが印刷された部分を切り取って貼り付けるような偽造を判定することを前提としたが、このレベルまで至らない偽造、すなわち特殊インクの存在を知らないで単に複写しただけの偽造も発生し得ることを鑑みれば、請求項４の偽造判定方法を採用することも有効である。つまり、上述した誤り訂正位置に基づく偽造判定に先立ち、２次元コードと図形パターンとの重なり部分中の特定の位置を通る走査線上を、特殊インクを感知可能なセンサにて走査し、図形パターンに対応する位置に前記特殊インクを感知できない場合には、情報コード印刷媒体が偽造されたものであると判定し、一方、特殊インクを感知できた場合には、誤り訂正位置に基づく偽造判定に移行するのである。
【００１４】
このようにすれば、特殊インクの存在を知らないで単に複写しただけの（稚拙な）偽造については、簡易に判定でき、あえて誤り訂正位置に基づく判定処理は行わなくて済む。
一方、請求項５に記載の発明は、請求項１に記載の発明方法を実現する偽造判定装置に関するものである。この偽造判定装置においては、読取手段が、情報コード印刷媒体上に印刷されている２次元コードを構成するセル毎の明暗を光学的に読み取り、デコード手段が、その読取手段にて読み取ったセル毎の明暗に基づき、明暗セルの分布パターンにて表現されている情報をデコードする。誤り訂正位置特定手段が、デコード手段によってデコードした際に誤り訂正が実行された場合には、誤り訂正対象となったセル位置である誤り訂正位置を特定する。そして判定手段が、特定された誤り訂正位置が２次元コードと前記図形パターンとの重なり部分中の特定の位置であれば、偽造の可能性が高いと判定する。
【００１５】
この結果、本偽造判定装置によれば、上述したのと同様に、情報コード印刷媒体を複写した後で特殊インクが印刷された部分を切り取って２次元コード上に貼り付けられた場合に、２次元コードの持つ特有の機能に基づいて適切に偽造判定を行うことができる。
【００１６】
また、請求項６，７記載の偽造判定装置は、それぞれ請求項２，３記載の偽造判定方法を実現するための装置であり、その発揮する効果については同様であるため、ここでは繰り返さない。
なお、このような偽造判定装置は、例えば複数台の端末と少なくとも１台のホストで構成することも可能である。その場合には、上述した読取手段、デコード手段、誤り訂正位置特定手段、判定手段をいずれに備えるかについて、次のようなバリエーションが考えられる。
【００１７】
まず、請求項８に示す場合には、請求項６記載の偽造判定装置を前提としており、読取手段、デコード手段及び誤り訂正位置特定手段を端末に備え、判定手段をホストに備える。この場合は、端末の訂正位置特定手段にて特定された誤り訂正位置をホストに通知し、その通知された誤り訂正位置に基づいてホストの判定手段が偽造判定を行うこととなる。
【００１８】
一方、請求項９に示す場合には、請求項７記載の偽造判定装置を前提としており、読取手段及びデコード手段は端末に備え、誤り訂正位置特定手段及び判定手段をホストに備える。この場合は、端末の読取手段にて読み取った際のセル毎の明暗とデコード手段にてデコードした内容及び２次元コードの記録形式を示す情報がホストに通知される。そしてホストの誤り訂正位置特定手段が、通知された２次元コードの記録形式を示す情報とデコード内容に基づいて再生成した２次元コードを構成するセル毎の明暗と、前記端末から通知されたセル毎の明暗とを比較することで、誤り訂正位置を特定する。もちろん、その特定した誤り訂正位置に基づいてホストの判定手段が偽造判定を行う。
【００１９】
また、請求項１０記載の偽造判定装置は、請求項４記載の偽造判定方法を実現するための装置である。この場合には、２次元コードと前記図形パターンとの重なり部分中の特定の位置を通る走査線上を走査して、特殊インクの存在を感知可能な特殊インク感知センサをさらに備えることとなる。そして、判定手段は、誤り訂正位置に基づく偽造判定に先立ち、特殊インク感知センサによる感知を実行し、特殊インクを感知できない場合には、情報コード印刷媒体が偽造されたものであると判定し、一方、特殊インクを感知できた場合には、誤り訂正位置に基づく偽造判定に移行する。その発揮する効果については請求項４に関する説明の場合と同様であるため、ここでは繰り返さない。
【００２０】
なお、請求項１〜４のいずれか記載の偽造判定方法を実行する機能は、例えば、デジタル回路やコンピュータシステム側で起動するプログラムとして備えられる。プログラムで実現する場合、例えば、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ハードディスク等の機械読み取り可能な記録媒体に記憶し、必要に応じてコンピュータシステムにロードして起動することにより用いることができる。この他、ＲＯＭやバックアップＲＡＭを機械読み取り可能な記録媒体として前記プログラムを記憶しておき、このＲＯＭあるいはバックアップＲＡＭをコンピュータシステムに組み込んで用いても良い。
【００２１】
【発明の実施の形態】
以下、本発明を具体化した一実施例を図面を参照して説明する。
図１は実施例の偽造判定機能を有する読取装置（以下、単に読取装置と称す。）１の概略透視図であり、図３はこの読取装置１にて偽造か否かを判定する対象となる「情報コード印刷媒体」の一例としての入場券５０の上面（後述する２次元コードなどが印刷されている面）を示す説明図である。なお、図３（ａ）は真正品の入場券５０を示しており、図３（ｂ）は偽造品の一例としての入場券１５０を示している。
【００２２】
まず、図３（ａ）を参照して入場券５０について説明する。入場券５０は長方形形状の券であり、長方形の短辺幅とほぼ同じ長さの特殊インクストライプ５１が、券上面の中央から左側にかけての領域に所定間隔で３本印刷されている。そして、券上面の左下側の領域には、１本の特殊インクストライプ５１上に重ねて２次元コード５２が印刷されている。本実施例の特殊インクストライプ５１は、磁性材料を含む磁気インクにて印刷したものであり、その上に２次元コード５２が重ねて印刷されていても、後述する特殊インク感知ユニット２１にて感知することができる。
【００２３】
次に、２次元コード５２について説明する。本実施例の２次元コード５２は、いわゆるＱＲ（Quick Response）コードであって、図４に示すように、３個の位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃ、頂点検出用セル５５、情報記録領域５６、タイミングセル５７ａ，５７ｂ及びフォーマットコード５８などから構成されている。
【００２４】
情報記録領域５６中の各セルは、光学的に異なった２種類のセルから選ばれており、図および説明上では白（明）・黒（暗）で区別して表す。図４では、便宜上、頂点検出用セル５５及びタイミングセル５７ａ，５７ｂ以外のデータセルの白黒のパターンは省略しているが、実際には、例えば図５に示すような白黒パターンとなる。なお、図５に示した２次元コード例は、図４に示すものとタイミングセル５７ａ，５７ｂの数が異なっているが、あくまで白黒パターンの概要を例示するものであり、以降の説明における具体例に対応するものではないことを付言しておく。
【００２５】
３つの位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃは、２次元コード５２の４つの頂点の内、３つに配置されている。これらの位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃのセルの明暗配置は、１セル幅の黒部からなる枠状正方形内の中心部分に、１セル幅の白部からなる縮小した枠状正方形が形成され、その内側の中心部分に黒部からなる３セル×３セルの大きさの正方形が形成されているパターンである。したがって、これら３つの位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃは、明暗比率が走査方向によらず特定の比率、１（暗）：１（明）：３（暗）：１（明）：１（暗）となる。したがって、この特定の比率を検出すれば、３つの位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃを検出することができる。
【００２６】
また、頂点検出用セル５５は、図４に示すごとく、４つの頂点の内、３つの位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃが配置されていない残りの頂点に配置されている。
一方、タイミングセル５７ａ，５７ｂは、位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃ間に配置されており、白と黒とが交互に組み合わせられた各データセル位置の指標となる基準パターンとして用いられる。
【００２７】
また、フォーマットコード５８は、位置決め用シンボル５４Ａの近傍に配置されており、情報記録領域５６内に記録された情報のフォーマットについて、予め設定されたバージョン情報を示すものとなっている。本実施例の２次元コード（ＱＲコード）の規格におけるバージョン情報は、１〜８のバージョンと、各バージョンについて４つの誤り訂正レベルＬ，Ｍ，Ｑ，Ｈとの組み合わせで構成されるものとし、例えば「３−Ｌ」，「５−Ｈ」などと表すこととなる。
【００２８】
ここで、バージョン情報に対応して設定されている情報について説明する。まず、バージョン１〜８は、主に総コードワード数の違いに対応する。コードワードは８ビットで構成されており、図６に示すＤ１〜Ｄ４６及びＥ１〜Ｅ８８で示すそれぞれがコードワードに対応する。なお、Ｄ１〜Ｄ４６で示す４６個のコードはデータコードワードであり、Ｅ１〜Ｅ８８で示す８８個のコード誤り訂正コードワードである。本実施例ではリード・ソロモン（ＲＳ）を用いて誤り訂正を行うため、誤り訂正コードワードをＲＳコードワードと表す。図５に示す例は、バージョン５に対応するものであり、４６個のデータコードワードと８８個のＲＳコードワードとの和である１３４個が総コードワード数となる。
【００２９】
なお、データコードワードＤ１〜Ｄ４６及びＲＳコードワードＥ１〜Ｅ８８の数字は、デコードの順番に対応しており、Ｄ１からデコードを開始してＤ４６までデコードすると続いてＥ１をデコードし、最後のＥ８８で終了する。本実施例では、図６において下から上へ縦の列を順番にデコードしながら、右から左へデコードする列を移動していく。
【００３０】
また、上述したように各コードワードは８ビットで構成されるため、Ｄ１〜Ｄ４６及びＥ１〜Ｅ８８はそれぞれ８つのセルで構成されることとなる。但し、最初のデータコードワードＤ１は４ビットで構成されている。しかし、誤り訂正のためのリード・ソロモン計算時は、４個のゼロビットを頭に付けて８ビットのコードワードとして処理される。
【００３１】
そして、４６個のデータコードワードの内のＤ１〜Ｄ２３によってデータブロック１が構成され、Ｄ２４〜Ｄ４６によってデータブロック２が構成される。それに対応して、ＲＳコードワードの内のＥ１〜Ｄ４４によってＲＳブロック１が構成され、Ｅ４５〜Ｄ８８によってＲＳブロック２が構成される。つまり、情報記録領域５６は複数（ここでは４つ）のブロックに分割されている。なお、図５では、判り易いように、データブロック２及びＲＳブロック２をそれぞれ太枠にて囲ってある。
【００３２】
バージョン１〜８が主に総コードワード数の違いに対応することを説明したが、誤り訂正レベル（Ｌ，Ｍ，Ｑ，Ｈ）は、例えばＲＳコードワード数やＲＳブロック数あるいはデータコードワード数などを規定する。例えば、図６に示す例は、バージョン５−Ｈに対応するものであり、ＲＳコードワード数が８８でＲＳブロック数が２である。したがって、上述したようにバージョン５の総コードワード数は１３４であるため、ブロック単位で考えると、１つのデータブロックは２３個のデータコードワードで構成され、１つのＲＳブロックは４４個のコードワードで構成され、それらの組み合わせが２セット存在することとなる。
【００３３】
なお、ここで説明している規格の場合には、同じバージョン５でもＬ，Ｍ，ＱについてはＲＳブロック数が１である。また、誤り訂正能力は、誤り訂正レベルで言えばＨ→Ｑ→Ｍ→Ｌの順番で小さくなっている。全体の内のどの程度の割合のコードワードが破損などで読み取れなくても誤り訂正によって正常にデコードすることができるかを示す許容破損率で示すと、以下のようになる。
【００３４】
誤り訂正レベルＨ…約３０％
誤り訂正レベルＱ…約２５％
誤り訂正レベルＭ…約２０％
誤り訂正レベルＬ…約１０％
このようなバージョン情報とその実質的な内容（総コードワード数、ＲＳコードワード数、誤り訂正能力など）との対応関係が、後述する読取装置１の光学情報読取ユニット１０内の例えば制御部１１内のＲＡＭ等にテーブル化して格納されている。
【００３５】
そして、図６で言えば１３４個のコードワードＤ１〜Ｄ４４，Ｅ１〜Ｅ８８の内の所定位置には、インジケータと呼ばれるコードが記録される。これは、記録されているビット列が何を意味しているのかを定義するための「記録形式指示コード」である。本実施例では４ビットで示すこととし、例えば０００１は数字、００１０は英数字、１０００は漢字といった具合である。本実施例では、このインジケータが記録されている部分から再度インジケータが記録されるまでの間の記録形式を定義することとする。
【００３６】
このインジケータは、図７に示すように、各ブロックの先頭、つまりデータブロック１の先頭のデータコードワードＤ１、データブロック２の先頭のデータコードワードＤ２４、ＲＳブロック１の先頭のＲＳコードワードＥ１、ＲＳブロック２の先頭のＲＳコードワードＥ４５にそれぞれインジケータが記録されている。もちろん、データブロック１中で記録形式が変化する場合には、対応するデータコードワードＤｎにインジケータが記録される。他のブロックについても同様である。
【００３７】
なお、本実施例の入場券５０には、上述した特殊インクストライプ５１及び２次元コード５２の他に、施設名や大人・子供の区別、料金、日付けなど各種情報が文字にて記載されている。上述した２次元コード５２は、これらの情報を記録したものである。
【００３８】
次に、読取装置１について説明する。
図１の概略透視図に示すように、読取装置１は定置式の装置であり、券搬送ベルト７０の上方に配置されている。そして、券搬送ベルト７０によって搬送される入場券５０の上面（光学情報記録面）に印刷された情報を読み取り、偽造か否かの判定を行う。
【００３９】
読取装置１は、光学情報読取ユニット１０と、券検知ユニット２０と、特殊インク感知ユニット３０とを備えており、３つの各ユニット１０，２０，２１は、相互に位置関係が変わらないように一体化されている。
最初に券検知ユニット２０について説明する。
【００４０】
券検知ユニット２０は、フォトセンサを用いて構成されており、下方へ可視光を出射しこの反射光を検知する。そして、反射光が検知されたか否かを示す信号を、光学情報読取ユニット１０へ出力する。券検知ユニット２０からの光は、券搬送ベルト７０と入場券５０の上面の色の違いによって、券搬送ベルト７０に照射された場合は吸収され、一方、入場券５０に照射された場合は反射される。本実施例では、入場券５０が券搬送ベルト７０の所定位置まで来ると、具体的には入場券５０の先端５０ａが図１中に記号αで示した位置（以下、単に「位置α」という。）まで来ると、反射光が検知されるものとする。
【００４１】
続いて光学情報読取ユニット１０について説明する。
光学情報読取ユニット１０は、図２に示すように、制御部１１、読取部１２及び通信Ｉ／Ｆ１３を備えている。
制御部１１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏ等を備えたコンピュータシステムとして構成されている。そして、券検知ユニット２０及び特殊インク感知ユニット３０からの信号は、この制御部１１に入力されるようになっている。制御部１１は、ＲＯＭに記憶されているプログラムに従い、券検知ユニット２０からの信号に基づき、読取部１２を介して２次元コード５２の画像の取り込みを行う。そして、取り込んだ画像及び特殊インク感知ユニット３０からの信号に基づき、入場券５０が偽造されたものであるか否かを判定し、その判定結果に基づく処理を実行する。
【００４２】
読取部１２は、図１に示したコレクトミラー１２ａ、結像レンズ１２ｂ、ＣＣＤエリアセンサ１２ｃをはじめ、図示しない照明用発光ダイオード、増幅回路、２値化回路、アドレス発生回路、画像メモリなどを備えている。そして、制御部１１からの指示があると、入場券５０の上面に記録された情報コードに対し、照明用発光ダイオードから照明用の赤色光を照射する。その反射光は、コレクトミラー１２ａ及び結像レンズ１２ｂを介して、ＣＣＤエリアセンサ１２ｃに結像される。そして、ＣＣＤエリアセンサ１２ｃから出力される走査線信号を増幅回路にて増幅し、２値化回路にて２値データに変換して、画像メモリへ記憶する。画像メモリにおける記憶先のアドレスは、アドレス発生回路にて例えば８ビット単位で生成される。なお、ここで示したような２次元コード（ＱＲコード）を読み取るための構成は、当業者にとってよく知られたものである。必要ならば、例えば特開平１０−１８７８６８号公報などを参照されたい。
【００４３】
通信Ｉ／Ｆ１３は、図示しない外部装置との間で通信を行うものであり、図示しない通信用発光素子を介してデータを外部装置に送信したり、図示しない通信用受光素子を介して外部装置からの信号を受信する。
さらに続けて、特殊インク感知ユニット３０について説明する。
【００４４】
上述したように、入場券５０に印刷する特殊インクストライプ５１が磁気インクを用いているため、本実施例の特殊インク感知ユニット３０も、それを読み取れるように磁気インク読取装置を採用している。つまり、磁気ヘッドにて走査することによって磁束の変化を検出する。本実施例の特殊インク感知ユニット３０は、図１に示すように券搬送ベルト７０によって一定の搬送速度で搬送される入場券５０に対して位置を固定した磁気ヘッドにて磁束変化を検出する。磁気ヘッドにより検出する入場券５０上のラインは、図３（ａ）に示すように、特殊インクストライプ５１と２次元コード５２とが重なっている所定のラインである。
【００４５】
図８（ａ）には、特殊インクストライプ５１以外を除いて入場券５０の上面を示した。なお、図３あるいはこの図８において特殊インクストライプ５１を斜線で示しているが、実際には、透明であるため人間には見えない。そして、走査ラインが走査されることによって、特殊インクストライプ５１上が走査される期間Ｔにおいて、磁束信号のレベルが変化する。すなわち、図８（ａ）に示すように入場券５０の予め定められた位置に特殊インクストライプ５１が印刷されていれば、図８（ｂ）に示す如く磁束信号のレベルが変化する。この図８（ｂ）に示した信号が、特殊インク感知ユニット３０から出力される図形パターン対応信号として、制御部１１に入力される。
【００４６】
次に、以上のように構成された読取装置１の動作として、上述した制御部１１にて実行される読取処理を詳細に説明する。図５は、この読取処理を示すフローチャートである。
まず最初のステップＳ１００において、入場券５０を検知したか否かを判断する。この処理は、券検知ユニット２０からの信号に基づき、入場券５０の先端５０ａが位置αに来たことを判断するものである。ここで入場券５０を検知した場合（Ｓ１００：ＹＥＳ）、Ｓ１１０へ移行する。一方、入場券５０を検知しないうちは（Ｓ１００：ＮＯ）、この判断処理を繰り返す。
【００４７】
Ｓ１１０では、券検知ユニット２０からの信号に基づくタイミングで、読取部１２へ画像の取り込みを指示する。これによって、２次元コード５２が画像として取り込まれる。
続くＳ１２０では、特殊インク感知ユニット３０からの図形パターン対応信号を入力する。この図形パターン対応信号は、券検知ユニット２０にて入場券５０の先端５０ａが位置αに来たことが検知されてから、所定タイミングで入力される。したがって、図形パターン対応信号のレベルが変化を見れば、少なくとも走査ライン上において特殊インクストライプ５１が予め決められた位置に印刷されているか否かを判断することができる。
【００４８】
したがって、図９のフローチャートにおける次のステップＳ１３０では、入力された図形パターン対応信号が図８（ｂ）に示す正常時の信号と一致するか否かによって、図形パターンの位置が正しいか否かを判断する。ここで図形パターン位置が正しいと判断された場合（Ｓ１３０：ＹＥＳ）、Ｓ１４０へ移行する。一方、図形パターン位置が正しくないと判断された場合は（Ｓ１３０：ＮＯ）、Ｓ１８０へ移行する。
【００４９】
Ｓ１４０では、デコード処理を行う。このデコード処理については、図１０を参照して説明する。
図１０に示すように、デコード処理が開始されると、まず、位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃの検出処理が行われる（Ｓ２００）。
【００５０】
この処理では、画像メモリおよびアドレス記憶メモリに対してアクセスし、その記憶内容から位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃが適切な位置に、３つ存在しているか否かの判断と位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃの画像上での正確な形状と中心位置とを決定する。
【００５１】
この処理は、まずアドレス記憶メモリに多数検出された位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃのアドレスが、位置的に３つのグループに分けられるかを、そのアドレス値と画像メモリ８の画像とを参照しつつ判断する。更に、各位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃの形状と中心位置とを、画像メモリの画像の１（白）／０（黒）のパターンから決定し、その３つが図４に示したごとく３つの頂点に存在する配置状態になっているかを判断する。
【００５２】
次に、ステップＳ２００にて適切な３つの位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃが検出されたか否かが判定され（Ｓ２１０）、検出されていなければ（Ｓ２１０：ＮＯ）、デコード処理を終了してメイン処理（図９）へ戻る。
適切な３つの位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃが検出されると（Ｓ２１０：ＹＥＳ）、次に新しい２次元コード５２か否かが判定される（Ｓ２２０）。この処理は、前回以前に検出された２次元コード５２がいまだＣＣＤにより検出され続けている場合に、別の２次元コードとして解読するのを防止するためである。例えば、前回または所定回数前の本処理にて、適切な３つの位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃが検出され、更にそのコード内容も既に適切に読み取られていた場合には、同一の２次元コード５２を検出しているものとして（Ｓ２２０：ＮＯ）、デコード処理を終了してメイン処理（図９）へ戻る。
【００５３】
新しい２次元コード５２であると判定すると（Ｓ２２０：ＹＥＳ）、次に位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃの形状に応じて、各位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃを構成する各セルの形状と中心位置が計算される（Ｓ２３０）。
【００５４】
次に、位置決め用シンボル５４Ａに基づいてフォーマットコード５８の検出処理を行う（Ｓ２４０）。このフォーマットコード５８は、位置決め用シンボル５４Ａの最外周の枠状正方形を構成する４辺の内、位置決め用シンボル５４Ｂに対向する辺に対して、１セル分だけ離れて平行に配置されている。したがって、この関係に基づけばフォーマットコード５８の位置が判り、コード検出することができる。
【００５５】
次に、設定されている処理モードが第１のデコード処理であるかどうかを判断する（Ｓ２５０）。本実施例においては、詳しくは後述するように、従来通りに情報記録領域５６全体を対象としたデコード（全体デコード処理）を行い、失敗した場合にだけブロック単位でのデコード（部分デコード処理）を実施する第１のデコード処理と、最初から部分デコード処理を実施する第２のデコード処理があり、ユーザが図示しない設定スイッチなどを操作していずれかを設定できるようになっている。このＳ２５０ではその設定結果に基づいて、第１のデコード処理が設定されているかどうかを判断するのである。そして、第１のデコード処理が設定されている場合は（Ｓ２５０：ＹＥＳ）、第１のデコード処理を実行し（Ｓ２６０）、第２のデコード処理が設定されている場合は（Ｓ２５０：ＮＯ）、第２のデコード処理を実行する（Ｓ２７０）。
【００５６】
ここで、Ｓ２６０において実行する第１のデコード処理及びＳ２７０において実行する第２のデコード処理の詳細について、図１１，１２のフローチャートを参照して説明する。
まず、Ｓ２６０での第１のデコード処理について説明する。
【００５７】
図１１に示すように、本処理ルーチンが開始すると、まず、全体デコード処理を実行する（Ｓ２６１）。具体的には、図１０のＳ２４０にて検出したフォーマットコード５８に基づき、そのバージョンに対応する２次元コード５２中の情報記録領域５６の存在するエリアを特定する。本実施例の場合には１セルのサイズは予め固定であるため、存在エリア及びセルの大きさが判り、図１０のＳ２３０にて検出された位置決め用シンボル５４Ａ，５４Ｂ，５４Ｃの形状及び中心位置に基づいて、情報記録領域５６の各データセルの中心位置を決定する。そして、各データセルの中心位置の画素から２値を読み取り、各セルの種類を決定しコード内容を得る。すなわち情報記録領域５６内の全てのコードワードを対象としたデコード処理を行う。
なお、このデコードの際には、必要に応じてフォーマットコード５８から得たフォーマット情報に基づいた処理を実行する。例えば、図６に示すように、コードワードは基本的に２セル×４セルで構成されることとなるが、縦長のものと横長のものが混在している。したがって、どのようなセルグループでコードワードが構成されるかというフォーマット情報をフォーマットコード５８から得て、それに基づいてデコードすればよい。
【００５８】
こうして、全体デコード処理（Ｓ２６１）を実行した後は、続くＳ２６２において、デコードしたコード内容が正常なものか否かが判定される。なお、Ｓ２６１における全体デコード処理では、ＲＳコードワードを用いた誤り訂正が行われているため、その誤り訂正レベル以内の破損であれば正常なコード内容が得られるが、誤り訂正レベルを超える破損などがあると正常なコード内容を得ることはできない。
【００５９】
コード内容が正常であれば（Ｓ２６２：ＹＥＳ）、そのまま本処理ルーチンを終了して、図１０のＳ２８０へ移行するが、コード内容が正常でなければ（Ｓ２６２：ＮＯ）、Ｓ２６３へ移行する。
Ｓ２６３では情報記録領域５６が複数のブロックに分割されているかどうかを判断する。複数ブロックに分割されていない場合には（Ｓ２６３：ＮＯ）、ブロック単位でのデコードが不可能なので、そのまま本処理ルーチンを終了する。
【００６０】
一方、複数ブロックに分割されていれば（Ｓ２６３：ＹＥＳ）、デコード順序に従ってコードワードＤ１…Ｄ４６，Ｅ１…Ｅ８８を探索して、インジケータを検出する（Ｓ２６４）。そして、インジケータを検出できた場合には（Ｓ２６５：ＹＥＳ）、そのインジケータが含まれるブロックについてデコード処理（部分デコード処理）を行う（Ｓ２６６）。
【００６１】
その後、Ｓ２６４へ戻る。なお、Ｓ２６４へ戻って行うインジケータ検出は、直前のＳ２６６でのデコード処理にてデコードしたブロックの後に存在するインジケータを検出する。このようにして、インジケータが検出できる限り、対応するブロックのデコード処理（Ｓ２６６）を行い、インジケータが検出できなくなった時点で（Ｓ２６５：ＮＯ）、Ｓ２６７へ移行する。このようにすることで、インジケータが検出できたブロックについてはそのインジケータで定義される記録形式に基づいてデコードすることができる。もちろん、コードワードの破損量が多ければ、誤り訂正によっても正常にコード内容を得ることができないかもしれないが、そのような判断もブロック単位で行われる。
【００６２】
Ｓ２６７では、コード内容結合処理を実行する。このコード内容結合処理は、ブロック単位でデコードされたコード内容を、必要に応じて結合する処理である。つまり、デコードしたブロック単位のコード内容をどのように使用するかによってこの結合処理は変えればよく、例えば結合をしない場合もあるし、特定のブロックのコード内容のみを結合させることも考えられる。
【００６３】
Ｓ２６７でのコード内容結合処理の後は、本処理ルーチンを終了して、図１０のＳ２８０へ移行する。
次に、Ｓ２７０での第２のデコード処理について説明する。
図１２に示すように、本処理ルーチンが開始すると、まず、情報記録領域５６が複数のブロックに分割されているかどうかを判断する（Ｓ２７１）。複数ブロックに分割されていない場合には（Ｓ２７１：ＮＯ）、ブロック単位でのデコードが不可能なので、そのまま本処理ルーチンを終了する。
【００６４】
一方、複数ブロックに分割されていれば（Ｓ２７１：ＹＥＳ）、デコード順序を決定する（Ｓ２７２）。図１０のＳ２４０にて検出したフォーマットコード５８に基づき、そのバージョンが判るので、情報記録領域５６内に存在するブロックの数及びその存在エリアが判る。そして、例えば図５に示すようにデータブロック及びＲＳブロックがそれぞれ２つずつ存在する場合であれば、４つのブロックをどのような順序でデコードしていくかを決定する。なお、必ずしもデータブロック１→データブロック２→ＲＳブロック１→ＲＳブロック２の順序でデコードしなくてもよいので、Ｓ２７２では、任意の順序を決定すればよい。
【００６５】
デコード順序が決定した後は、順序番号ｎ＝１にして（Ｓ２７３）、順序ｎのブロックにおけるインジケータを検出する（Ｓ２７４）。そして、インジケータを検出できなかった場合には（Ｓ２７５：ＮＯ）、Ｓ２７７へ移行するが、インジケータを検出できた場合には（Ｓ２７５：ＹＥＳ）、そのインジケータが含まれるブロックについてデコード処理（部分デコード処理）を行ってから（Ｓ２７６）、Ｓ２７７へ移行する。
【００６６】
Ｓ２７７では、順序番号をインクリメント（ｎ＝ｎ＋１）し、その順序ｎのブロックがあるかどうかを判断する（Ｓ２７８）。順序ｎのブロックがあれば（Ｓ２７８：ＹＥＳ）、Ｓ２７４へ戻る。このようにして、Ｓ２７２にて設定された順序に従ってインジケータを検出し、対応するブロックのデコード処理（Ｓ２７６）を行い、全てデコードし終えた場合（Ｓ２７８：ＮＯ）、コード内容結合処理を実行する（Ｓ２７９）。このコード内容結合処理は、上述した図１１のＳ２６８と同様なので説明は繰り返さない。
【００６７】
Ｓ２７９でのコード内容結合処理の後は、本処理ルーチンを終了して、図１０に戻る。
このように、本実施例の２次元コード読取装置２においては、ブロックの先頭に配置されたインジケータの示す記録形式に基づいて当該ブロック内のコードをデコードする部分デコード処理を、複数のブロックについてそれぞれ行い、その複数のブロックのデコード結果に基づいて、２次元コード５２の内容を読み取ることができる。ブロック内のコードに対する記録形式は、自ブロックの先頭のインジケータさえあれば特定できるため、他のブロックでのデコード結果に影響を受けずにデコードすることができる。
【００６８】
また、誤り訂正を行った場合には、どのブロックが誤り訂正の対象となったかという「誤り訂正位置」も特定することができる。この誤り訂正位置は、後述の偽造判定処理（図９のＳ１６０）にて用いられる。
図９の処理に戻り、続くＳ１７０では、Ｓ１６０でのデコード処理の結果に基づき、デコードが成功したか否かを判断する。デコードが失敗した場合には（Ｓ１５０：ＮＯ）、デコード失敗を出力して（Ｓ１５５）、本処理を終了する。
【００６９】
一方、デコードが成功した場合には（Ｓ１５０：ＹＥＳ）、Ｓ１６０へ移行して偽造判定処理を行う。この偽造判定処理について図１３のフローチャートを参照して説明する。
まず、偽造判定処理の最初のステップＳ３１０では、誤り訂正を使用したか否かを判断する。誤り訂正を使用していなければ（Ｓ３１０：ＮＯ）、無条件で正常な券であると判定し、その判定結果を記憶した上で（Ｓ３２０）、図９の処理へ戻る。
【００７０】
一方、誤り訂正を使用している場合には（Ｓ３１０：ＹＥＳ）、誤り訂正位置を算出し、その誤り訂正位置が、偽造判定位置として指定された位置と一致するか否かを確認する（Ｓ３３０）。そして、誤り訂正が指定されたブロックで使用されている場合には（Ｓ３４０：ＹＥＳ）、偽造券であると判定し、その判定結果を記憶した上で（Ｓ３５０）、図９の処理へ戻る。また、誤り訂正が指定されたブロックで使用されていない場合には（Ｓ３４０：ＮＯ）、正常な券であると判定し、その判定結果を記憶した上で（Ｓ３５０）、図９の処理へ戻る。
【００７１】
図９の処理に戻り、続くＳ１７０ではＳ１６０での判定結果に基づき、偽造か否かを判断する。図１３のＳ３２０あるいはＳ３６０の処理が実行された場合には正常であるため（Ｓ１７０：ＮＯ）、Ｓ１７５へ移行してデコードした内容を、通信Ｉ／Ｆを介して図示しない管理装置等に出力する。これにより、例えば入場のためのゲートを開けるなどの処理を管理装置が行うこととなる。
【００７２】
一方、図１３のＳ３５０の処理が実行された場合には偽造であるため（Ｓ１７０：ＹＥＳ）、Ｓ１８０へ移行して警告処理を実行し、その後、本読取処理を終了する。警告処理は、通信Ｉ／Ｆを介して図示しない管理装置等に入場券５０が偽造されている可能性がある旨を報知する処理である。これにより、例えば入場のためのゲートを閉じたままにし、警告ブザーにて係員を呼び出すなどの処理を管理装置が行うこととなる。
【００７３】
なお、上述したように、特殊インクストライプ５１がないために、特殊インク感知ユニット３０からの図形パターン対応信号による図形パターン位置が正しくないと判断された場合も（Ｓ１３０：ＮＯ）、Ｓ１８０へ移行する。したがって、同様に入場ゲートを閉じたままにし、警告ブザーにて係員を呼び出すなどの処理が行われる。
【００７４】
本実施例の偽造判定機能を有する読取装置１によれば、次のような偽造を適切に判定することができる。
まず、図３（ａ）に示す真正品の入場券５０を複写機によって複写して偽造した場合には、特殊インクストライプ５１は複写できないため、特殊インク感知ユニット３０からの図形パターン対応信号には、真正品の入場券５０にあるような特殊インクストライプ５１部分のパターンが欠落する。一方、図８を用いて説明したように、真正品の入場券５０の場合には、特殊インク感知ユニット３０からの図形パターン対応信号は、記号Ｔで示す期間で変化し、図８（ｂ）に示す如くとなる。したがって、このような偽造は、図９のＳ１３０の判断処理にて真正品とは異なることが判定され、Ｓ１８０の警告処理がなされることによって、所定の対処が実行される。
【００７５】
一方、このような稚拙な偽造ではなく、図３（ｂ）に示すような偽造も想定される。すなわち、入場券５０を複写した後、特殊インク感知ユニット２１にて走査する所定位置に別の入場券（例えば使用済みのものでもよい）５０から特殊インクストライプ５１が印刷された部分を切り取って貼り付けるのである。このような偽造に対しても、図１３のＳ３４０，Ｓ３５０にて説明したように、誤り訂正を使用している場合の「誤り訂正位置」が、偽造判定位置として指定された位置と一致した場合には、偽造券であると判定する。
【００７６】
この判定手法で適切に偽造が判定できるのは次の理由からである。図３（ａ）に示す真正品の入場券５０の場合には、２次元コード５２上に何も貼り付けられていないので、偶発的に生じる２次元コード５２上の汚れなど以外では誤り訂正機能を使う必要がない。したがって、２次元コード５２と特殊インクストライプ５１との重なり部分中の特定の位置が誤り訂正位置である場合には、偶発的にその部分が汚れたのか、図３（ｂ）に示したような偽造が行われたのかいずかである。しかし、偶発的に汚れる可能性は低いので、この部分が誤り訂正位置となった場合には偽造の可能性が高いと判定してもよい。このように、２次元コード５２の持つ誤り訂正機能を巧みに利用して偽造判定を行っている。
【００７７】
なお、上述したように、図９のＳ１８０での警告処理の結果、警告ブザーにて係員を呼び出されれば、その係員が入場券５０を直接チェックすればよい。そして２次元コード５２上の汚れが原因であれば、偽造でないと確認すればよく、一方、偽造であればしかるべき対処をすればよい。
【００７８】
一般に使用できる通常の複写機を用いた複写によって容易に偽造された場合にはそれを適切に見つけられる。その一方で、専門的な知識を有するものが資金と技術を投入すれば偽造自体は不可能ではないが、物理的に偽造ができたとしても、真正品の価値を上回る費用がかかるようでは偽造を実行する意味がないため、偽造行為自体が発生しにくい。それに対して、数十円もあれば複写できるような状況においては、そのような簡易な手段を用いた偽造を適切に判定することが、社会的にも重要である。したがって、上述した偽造判定の実効性は高い。
【００７９】
なお、入場券５０を複写した後で特殊インクストライプ５１（の印刷された紙片）を貼り付けるという偽造の場合には、誤り訂正位置が所定の偽造判定位置であることで判定するため、上述したように偶発的な汚れの可能性も捨てきれない。それに対して、単に複写しただけの偽造の場合には特殊インクストライプ５１自体がないので、ほぼ１００％偽造と判定できる。したがって、図９のＳ１８０ではこれら両者の場合を同様の警告処理にて対応しているが、区別を付けてもよい。つまり、図９のＳ１３０にて否定判断されてＳ１８０に移行した場合には、ほぼ１００％偽造であるため、係員が対処する場合も、そのような認識の基で対処すればよい。それに対して、Ｓ１７０にて肯定判断されてＳ１８０へ移行した場合には、実際には入場券５０をチェックしないと確定はできないため、係員もそのような認識で慎重に対処できる。つまり、実際には偽造しておらず単に汚れていただけの利用者に対して不適当な対処をしてしまうことを防止できる。
【００８０】
以上、本発明はこのような実施例に何等限定されるものではなく、本発明の主旨を逸脱しない範囲において種々なる形態で実施し得る。それらのいくつかを説明する。
（１）上述した実施例では、２次元コード５２としてＱＲコードを用いた。そして、図６に示すようなブロックの配置情報を持つことを前提としていたため、誤り訂正が行われた場合には「誤り訂正位置」を算出することができた。これに対して、次のようにして誤り訂正位置を見つけることができる。すなわち、２次元コードの記録形式を示す情報とデコード内容に基づいて再生成した２次元コードを構成するセル毎の明暗と、２次元コードを光学的に読み取った際のセル毎の明暗とを比較することで、誤り訂正位置を特定するのである。例えばＱＲコードであれば、マスクパターン＋誤り訂正レベル＝フォーマット情報と、モデル番号、デコード内容に基づけば再生成できる。
【００８１】
例えば、ある部分のセルの状態（白黒）が図１４（ａ）に例示するパターンであったとする。ここで、白を１、黒を０とすると図１４（ｂ）に示すような２値化情報が得られる。一方、デコード内容に基づけば図１４（ｃ）に示すようなコード情報が再生成できる。２値化情報と再生成情報を比較すると、４段目が「１０１１」と「１１１１」で異なっている。これによって、誤り訂正位置が判る。この手法は、デコード内容から逆にセルの明暗を再生成し、実際に読み取ったセルの明暗と比較して相違部分を探すため、原始的な手法ではあるが、セルブロックの配置が判らない場合には、この手法にて誤り訂正位置を特定できる。
【００８２】
（２）また、図１５に例示するように、例えばｎ台の端末Ｔ１〜Ｔｎと（少なくとも）１台のホストＨでシステムを構成してもよい。その場合、情報コードの読取及びデコードは端末Ｔ１〜Ｔｎにて行い、偽造判定はホストＨにて行うことが考えられる。そして、誤り訂正位置の特定については、端末Ｔ１〜ＴｎあるいはホストＨのいずれか一方で行えばよい。具体的には、ＱＲコードのような誤り訂正位置が容易に判る場合には端末Ｔ１〜Ｔｎにて誤り訂正位置の特定まで行えばよいし、そうでない場合には、ホストＨが誤り訂正位置の特定を行えばよい。
【００８３】
ホストＨでの処理の概略は図１６に示す通りである。すなわち、端末Ｔ１〜Ｔｎからコードのセル情報又は誤り訂正位置を受信する（Ｓ４１０）。そして、その受信した誤り訂正位置が、偽造判定位置として指定された位置と一致するか否かを確認する（Ｓ４２０）。そして、誤り訂正が指定されたブロックで使用されている場合には（Ｓ４３０：ＹＥＳ）、偽造券であると判定し、デコード出力の禁止を端末Ｔ１〜Ｔｎに送信する（Ｓ４４０）。一方、誤り訂正が指定されたブロックで使用されていない場合には（Ｓ４３０：ＮＯ）、正常な券であると判定し、デコード出力許可を端末Ｔ１〜Ｔｎに送信する（Ｓ４５０）。
【００８４】
（３）上記実施例では、図３（ａ）に示すように特殊インクストライプ５１を３本印刷した入場券５０を用いたが、１本であってもよい。その場合には、２次元コード５２と重ねて印刷するもののみを残す。また、例えば図３（ａ）の場合には、入場券５０の長手方向に対して直交するよう特殊インクストライプ５１を３本印刷したが、斜めに印刷し、複数の走査ラインにて走査するようにしてもよい。このようにすれば、後から特殊インクストライプ５１を貼り付ける位置の特定がより困難となり、簡易な偽造を防止できる。
【００８５】
また、特殊インクとしては、磁気インクではなく、特定波長を変調するインクでもよい。
（４）上記実施例では情報コード印刷媒体の一例として入場券５０を例に挙げたが、それ以外にも、抽選券、乗車券、商品券などが考えられる。
【図面の簡単な説明】
【図１】実施例の読取装置を示す概略透視図である。
【図２】実施例の読取装置の概略構成を示すブロック図である。
【図３】（ａ）は真正品の入場券の上面を示す説明図であり、（ｂ）は偽造品の入場券の上面を示す説明図である。
【図４】実施例における２次元コードの概略構成説明図である。
【図５】２次元コードを例示する説明図である。
【図６】実施例における２次元コードの情報記録領域内のコードワードの構成を示す説明図である。
【図７】実施例における２次元コードの情報記録領域内におけるインジケータの配置場所を示す説明図である。
【図８】入場券に対する特殊インク感知ユニットによる走査ラインと走査結果の信号を示す説明図である。
【図９】読取装置の制御部にて実行される読取処理を示すフローチャートである。
【図１０】デコード処理の全体を示すフローチャートである。
【図１１】デコード処理内で実行される第１のデコード処理ルーチンを示すフローチャートである。
【図１２】デコード処理内で実行される第２のデコード処理ルーチンを示すフローチャートである。
【図１３】デコード処理内で実行される偽造判定処理ルーチンを示すフローチャートである。
【図１４】誤り訂正位置の特定の別実施例を示す説明図である。
【図１５】ホストと端末にて機能を分担する場合の別実施例を示す説明図である。
【図１６】ホストと端末にて機能を分担する場合の別実施例におけるホストでの処理を示すフローチャートである。
【符号の説明】
１…読取装置                      １０…光学情報読取ユニット
１１…制御部                        １２…読取部
１２ａ…コレクトミラー              １２ｂ…結像レンズ
１２ｃ…ＣＣＤエリアセンサ            １３…通信Ｉ／Ｆ
２０…券検知ユニット                ２１…特殊インク感知ユニット
３０…特殊インク感知ユニット        ５０…（真正品の）入場券
５０ａ…先端                          ５１…特殊インクストライプ
５２…２次元コード    ５４Ａ，５４Ｂ，５４Ｃ…位置決め用シンボル
５５…頂点検出用セル                ５６…情報記録領域
５７ａ，５７ｂ…タイミングセル        ５８…フォーマットコード
７０…券搬送ベルト                １５０…（偽造品の）入場券
Ｈ…ホスト                  Ｔ１〜Ｔｎ…端末
【図１】
0003541731.tif 000002
【図２】
0003541731.tif 000003
【図３】
0003541731.tif 000004
【図４】
0003541731.tif 000005
【図５】
0003541731.tif 000006
【図６】
0003541731.tif 000007
【図７】
0003541731.tif 000008
【図８】
0003541731.tif 000009
【図９】
0003541731.tif 000010
【図１０】
0003541731.tif 000011
【図１１】
0003541731.tif 000012
【図１２】
0003541731.tif 000013
【図１３】
0003541731.tif 000014
【図１４】
0003541731.tif 000015
【図１５】
0003541731.tif 000016
【図１６】
0003541731.tif 000017