(57)【要約】  【課題】  券面を読み取って解析等を行う装置を用いることなく、券類の真偽を判定することのできる発券装置、発券プログラム、記録媒体、確認補助器具を提供する。  【解決手段】  テンプレート３０の透過部３１、透過部３２、透過部３３から確認できるチケット２０上の文字が、チケット２０の券面記載事項、例えば、席番号の一部と一致するように、チケット２０上に真偽判定用文字列を印刷する。【選択図】        図６
2008065770.tif 000002
【特許請求の範囲】
【請求項１】
発券対象の発券情報を取得する取得手段と、
前記取得手段が取得した発券情報に含まれる少なくとも１つの文字情報に基づいて特定文字情報を生成する生成手段と、
前記生成手段が生成した特定文字情報が表現する文字を任意の文字列中の所定の位置に配置する配置手段と、
前記配置手段が配置した文字列と前記取得手段が取得した発券情報中の券面情報とに基づいて券面画像を生成する画像生成手段と
を具備することを特徴とする発券装置。
【請求項２】
前記生成手段は、前記取得手段が取得した発券情報に含まれる複数の文字情報に対して所定の演算を施した数値を算出し、該算出した数値を表現する情報を前記特定文字情報として生成することを特徴とする請求項１記載の発券装置。
【請求項３】
発券対象の発券情報を取得する取得処理と、
前記取得処理で取得した発券情報に含まれる少なくとも１つの文字情報に基づいて特定文字情報を生成する生成処理と、
前記生成処理で生成した特定文字情報が表現する文字を任意の文字列中の所定の位置に配置する配置処理と、
前記配置処理で配置した文字列と前記取得処理で取得した発券情報中の券面情報とに基づいて券面画像を生成する画像生成処理と
を情報処理装置に実行させることを特徴とする発券プログラム。
【請求項４】
前記生成処理は、前記取得処理で取得した発券情報に含まれる複数の文字情報に対して所定の演算を施した数値を算出し、該算出した数値を表現する情報を前記特定文字情報として生成することを特徴とする請求項３記載の発券プログラム。
【請求項５】
発券情報に含まれる少なくとも１つの文字に基づく特定文字が任意の文字列中の所定の位置に配置された判定用文字列が表面若しくは裏面に記録されていることを特徴とする記録媒体。
【請求項６】
前記特定文字は、前記発券情報に含まれる複数の文字に対して所定の演算を施すことで得られる数値を表現する複数の数字であることを特徴とする請求項５記載の記録媒体。
【請求項７】
発券情報に含まれる少なくとも１つの文字に基づく特定文字が任意の文字列中の所定の位置に配置された判定用文字列が表面若しくは裏面に記録された券の該判定用文字列が記録された面と重ね合わせた際に、前記特定文字と重なる部分が視認できる平板部を具備することを特徴とする確認補助器具。
【請求項８】
前記特定文字は、前記発券情報に含まれる複数の文字に対して所定の演算を施すことで得られる数値を表現する複数の数字であり、
前記平板部は、前記演算の逆演算を示す演算式が記録されている
ことを特徴とする請求項７記載の確認補助器具。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発券装置、発券プログラム、記録媒体、確認補助器具に関する。
【背景技術】
【０００２】
近年、コンピュータやスキャナ、プリンタ等の高性能化に伴い、様々な書類等が偽造される可能性が高くなっている。特に、チケット、クーポン、抽選券のような券類は、真正なものもプリンタで印刷されることが多いことや換金性が高いこと等の理由もあり、偽造される可能性がより高くなっている。
【０００３】
このため、券面に電子透かし情報をいれておき、これによって印刷物の真偽を確認するシステムが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００３−１４３３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、券面を読み取って解析等を行う装置を用いることなく、券類の真偽を判定することのできる発券装置、発券プログラム、記録媒体、確認補助器具を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上述した目的を達成するため、請求項１の発明は、発券対象の発券情報を取得する取得手段と、前記取得手段が取得した発券情報に含まれる少なくとも１つの文字情報に基づいて特定文字情報を生成する生成手段と、前記生成手段が生成した特定文字情報が表現する文字を任意の文字列中の所定の位置に配置する配置手段と、前記配置手段が配置した文字列と前記取得手段が取得した発券情報中の券面情報とに基づいて券面画像を生成する画像生成手段とを具備することを特徴とする。
【０００６】
また、請求項２の発明は、請求項１の発明において、前記生成手段は、前記取得手段が取得した発券情報に含まれる複数の文字情報に対して所定の演算を施した数値を算出し、該算出した数値を表現する情報を前記特定文字情報として生成することを特徴とする。
【０００７】
また、請求項３の発明は、発券対象の発券情報を取得する取得処理と、前記取得処理で取得した発券情報に含まれる少なくとも１つの文字情報に基づいて特定文字情報を生成する生成処理と、前記生成処理で生成した特定文字情報が表現する文字を任意の文字列中の所定の位置に配置する配置処理と、前記配置処理で配置した文字列と前記取得処理で取得した発券情報中の券面情報とに基づいて券面画像を生成する画像生成処理とを情報処理装置に実行させることを特徴とする。
【０００８】
また、請求項４の発明は、請求項３の発明において、前記生成処理は、前記取得処理で取得した発券情報に含まれる複数の文字情報に対して所定の演算を施した数値を算出し、該算出した数値を表現する情報を前記特定文字情報として生成することを特徴とする。
【０００９】
また、請求項５の発明は、発券情報に含まれる少なくとも１つの文字に基づく特定文字が任意の文字列中の所定の位置に配置された判定用文字列が表面若しくは裏面に記録されていることを特徴とする。
【００１０】
また、請求項６の発明は、請求項５の発明において、前記特定文字は、前記発券情報に含まれる複数の文字に対して所定の演算を施すことで得られる数値を表現する複数の数字であることを特徴とする。
【００１１】
また、請求項７の発明は、発券情報に含まれる少なくとも１つの文字に基づく特定文字が任意の文字列中の所定の位置に配置された判定用文字列が表面若しくは裏面に記録された券の該判定用文字列が記録された面と重ね合わせた際に、前記特定文字と重なる部分が視認できる平板部を具備することを特徴とする。
【００１２】
また、請求項８の発明は、請求項７の発明において、前記特定文字は、前記発券情報に含まれる複数の文字に対して所定の演算を施すことで得られる数値を表現する複数の数字であり、前記平板部は、前記演算の逆演算を示す演算式が記録されていることを特徴とする。
【発明の効果】
【００１３】
請求項１の発明によれば、券面を読み取って解析等を行う装置を用いることなく、真偽を判定することのできる券類等の記録媒体を提供することが可能となる。
【００１４】
請求項２の発明によれば、請求項１の発明で提供される記録媒体よりも偽造が困難な券類等の記録媒体を提供することが可能となる。
【００１５】
請求項３の発明によれば、券面を読み取って解析等を行う装置を用いることなく、真偽を判定することのできる券類等の記録媒体を提供することが可能となる。
【００１６】
請求項４の発明によれば、請求項３の発明で提供される記録媒体よりも偽造が困難な券類等の記録媒体を提供することが可能となる。
【００１７】
請求項５の発明によれば、券面を読み取って解析等を行う装置を用いることなく、真偽を判定することが可能となる。
【００１８】
請求項６の発明によれば、請求項５の発明よりも偽造が困難となる。
【００１９】
請求項７の発明によれば、券類等の記録媒体の真偽を容易に判定することが可能となる。
【００２０】
請求項８の発明によれば、券類等の記録媒体の真偽を容易に判定することが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係る発券装置、発券プログラム、記録媒体、確認補助器具の一実施の形態について、添付図面を参照して詳細に説明する。
【実施例１】
【００２２】
図１は、本願発明を適用した発券システムの構成例を示した図である。同図（ａ）に示した例は、本発明を適用した情報処理装置１と画像形成装置２を接続している。情報処理装置１は、発券装置として動作し、券面記載事項等を含む券面画像を生成する。画像形成装置２は、情報処理装置１が生成した券面画像を用紙等に印刷する。この情報処理装置１と画像形成装置２の接続は、ＵＳＢ（Universal Serial Bus）等を利用したローカル接続であってもよく、ネットワーク接続であってもよい。また、情報処理装置１に対して複数の画像形成装置２を接続するように構成してもよい。
【００２３】
また、同図（ｂ）に示した例は、本発明を適用した情報処理装置３をインターネット４に接続している。また、インターネット４には、画像形成装置６が接続された情報処理装置５や、専用発券装置７等が接続されている。情報処理装置３は、発券装置として動作し、券面記載事項等を含む券面画像を生成する。情報処理装置５は、通信装置として動作し、インターネット４を介して情報処理装置３から券面画像を取得する。画像形成装置６は、情報処理装置５が取得した券面画像を用紙等に印刷する。専用発券装置７は、情報処理装置５と画像形成装置６の両者の機能を有するもので、インターネット４を介して情報処理装置３から券面画像を取得して用紙等に印刷する。
【００２４】
次に、情報処理装置１および情報処理装置３について説明するが、両者の構成は、ほぼ同様であるため、ここでは、情報処理装置１の構成を中心に説明する。図２は、情報処理装置１の構成例を示した図である。
【００２５】
同図に示すように、情報処理装置１は、演算部１Ａと、記憶部１Ｂ、一時記憶部１Ｃ、記憶装置接続部１Ｄ、記憶装置１Ｅ、印刷装置接続部１Ｆ、ネットワーク制御部１Ｇを有している。
【００２６】
演算部１Ａは、演算処理を行うもので、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサにより実現されるものである。記憶部１Ｂは、情報等を記憶するもので、例えば、ＲＯＭ（Read Only Memory）、不揮発性メモリ(Nonvolatile Memory)等のメモリで実現されるものである。一時記憶部１Ｃは、情報等を一時的に記憶するもので、例えば、ＲＡＭ（Random Access Memory）等のメモリで構成される。記憶装置接続部１Ｄは、記憶装置１Ｅを接続するためのインタフェイスであり、記憶装置１Ｅは、磁気ディスク等の情報等を記憶する装置である。装置接続部１Ｆは、画像形成装置２等を接続するインタフェイスである。ネットワーク制御部１Ｇは、情報処理装置１をネットワークに接続するためのインタフェイスである。なお、情報処理装置１と画像形成装置２をローカル接続する場合には、ネットワーク制御部１Ｇは不要であり、情報処理装置１と画像形成装置２をネットワーク接続する場合には、装置接続部１Ｆは不要である。
【００２７】
また、情報処理装置３は、情報処理装置１と同様の構成を有しているが、装置接続部１Ｆは、情報処理装置３に必ずしも必要な構成ではない。
【００２８】
続いて、情報処理装置１と情報処理装置３の機能的な構成について説明するが、両者の機能は、両者の機能は、ほぼ同様であるため、ここでは、情報処理装置１の機能的な構成を中心に説明する。図３は、情報処理装置１の機能的な構成を示すブロック図である。
【００２９】
同図に示すように、情報処理装置１は、様式決定部１１と、発券情報取得部１２、演算処理部１３、配置処理部１４、画像情報生成部１５、画像情報出力部１６を有している。なお、同図に示す各部は、これらを実現させるためのプログラムを情報処理装置１の記憶装置１Ｅに記憶し、このプログラムに基づいて演算部１Ａが記憶部１Ｂや一時記憶部１Ｃ等を利用して動作することで実現される。
【００３０】
様式決定部１１は、後述する真偽判定用文字列の様式を決定する。発券情報取得部１２は、発券対象となる券類の券面記載事項等の発券情報を取得する。演算処理部１３は、様式決定部１１が決定した様式と、発券情報取得部１２が取得した発券情報に基づいて、真偽判定用文字列に利用する文字を決定する。配置処理部１４は、演算処理部１３が決定した文字の文字列としての配置を決定する。画像情報生成部１５は、発券情報取得部１２が取得した発券情報と配置処理部１４が決定した配置に基づいて、券面画像を生成する。画像情報出力部１６は、画像情報生成部１５が生成した画像情報を画像形成装置２に出力する。
【００３１】
また、情報処理装置３は、情報処理装置１と同様の構成を有しているが、画像情報出力部１６に相当する構成がインターネット４を介して情報処理装置５や専用発券装置７へ券面情報を出力する点が情報処理装置１と異なる。
【００３２】
次に、画像形成装置２、画像形成装置６、専用発券装置７で印刷されるチケット等の券類について説明する。図４は、図１に示したシステムで発券されるチケットの表面を示した図である。
【００３３】
同図に示すように、チケット２０の表面には、券面記載事項２１と真偽判定用文字列２２が印刷されている。この券面記載事項２１と真偽判定用文字列２２は、情報処理装置１若しくは情報処理装置３が出力する券面画像に基づいて印刷されるものである。
【００３４】
券面記載事項２１は、一般的なチケットに印刷されている事項と同様のもので、席番号や発券番号、日時等が印刷されている。真偽判定用文字列２２は、券面記載事項２１の一部、例えば、席番号に基づいて決定された特定文字を含む文字列である。この特定文字は、真偽判定用文字列２２中、様式決定部１１で決定された様式に応じた位置に配置されている。したがって、その位置に印刷された文字と券面記載事項２１の一部（例えば、席番号）を比較することで、チケット２０の真偽を判定することが可能となる。
【００３５】
なお、真偽判定用文字列２２は、必ずしもチケット２０の表面に印刷される必要は無く、チケット２０の裏面に印刷するようにしてもよい。
【００３６】
このように、チケット２０は、券面記載事項２１と真偽判定用文字列２２を比較することで、その真偽を判定することが可能であるが、真偽判定用文字列２２から特定文字を探し出すことは、困難な場合がある。このため、券面記載事項２１と真偽判定用文字列２２の比較を容易にするために、確認補助用のテンプレートを利用してチケット２０の真偽を判定する。
【００３７】
図５は、確認補助用のテンプレートの例を示した図である。同図（ａ）は、テンプレートの正面を示した図であり、同図（ｂ）は、同図（ａ）中のＸ−Ｘ’におけるテンプレートの断面を示した図である。また、同図（ｃ）は、テンプレートの別例の断面を示した図である。
【００３８】
同図に示すように、テンプレート３０は、透過部３１、透過部３２、透過部３３が設けられている。これら透過部３１、透過部３２、透過部３３は、テンプレート３０をチケット２０と重ね合わせた際に、テンプレート３０を通してチケット３０の券面を確認（視認）することができるもので、簡単な構成としては、テンプレート３０に孔を形成することで実現することができる。
【００３９】
このテンプレート３０をチケット２０と重ね合わせると、図６に示すように、透過部３１、透過部３２、透過部３３からチケット２０の券面に印刷された文字を確認することができる。この透過部３１、透過部３２、透過部３３から確認できる文字は、チケット２０の真偽判定用文字列２２に含まれる特定文字であり、透過部３１、透過部３２、透過部３３から確認できる文字を順に並べると、券面記載事項２１の席番号と一致する（厳密には、透過部３１から確認できる文字で表される数を１００倍したものに、透過部３２から確認できる文字で表される数を１０倍したものを加算し、さらに、透過部３３から確認できる文字で表される数を加算した値が、席番号と一致する）。
【００４０】
なお、確認補助用のテンプレートは、図５（ｃ）に示すテンプレート３０’のように、その断面をＵ字形状として、チケット２０を挟みこめるように構成してもよい。
【００４１】
次に、情報処理装置１と情報処理装置３の動作の流れについて説明する。なお、両者の動作の流れは、ほぼ同様であるため、ここでは、情報処理装置１の動作の流れを中心に説明する。図７は、情報処理装置１の動作の流れを示すフローチャートである。
【００４２】
情報処理装置１は、発券処理を開始すると、まず、様式決定部１１が真偽判定用文字列の様式を決定する（ステップ１０１）。真偽判定用文字列の様式は、特定文字の配置位置や特定文字と券面情報の関係を示すもので、図４に示したチケット２０の場合、特定文字の配置位置は、図５に示したテンプレート３０の透過部３１、透過部３２、透過部３３と重ね合わさる位置であり、特定文字と券面情報の関係は、透過部３１から確認できる文字で表される数を１００倍したものに、透過部３２から確認できる文字で表される数を１０倍したものを加算し、さらに、透過部３３から確認できる文字で表される数を加算した値が、席番号と一致することである。この様式は、予め用意された複数の様式から選択してもよく、乱数等を用いて作成するようにしてもよい。
【００４３】
次に、情報処理装置１は、発券情報取得部１２が発券情報を取得する（ステップ１０２）。発券情報は、情報処理装置１の操作者が手入力するか、データを読み込ませることで発券情報取得部１２によって取得される。
【００４４】
続いて、演算処理部１３が乱数を用いて、真偽判定用文字列に利用する所定の大きさの文字列、例えば、１０行１０列の文字列を決定し（ステップ１０３）、様式決定部１１が決定した様式と発券情報取得部１２が取得した発券情報に基づいて、特定文字を決定する（ステップ１０４）。そして、決定した特定文字を先に決定した文字列中に配置して真偽判定用文字列を作成する（ステップ１０５）。
【００４５】
次に、画像情報生成部１５が、作成された真偽判定用文字列と発券情報取得部１２が取得した発券情報から、券面情報と真偽判定用文字列を含む券面画像を生成し（ステップ１０６）、この券面画像を画像情報出力部１６が画像形成装置２へ出力し（ステップ１０７）、発券処理を終了する。
【００４６】
なお、様式決定部１１が決定する様式は、所定の単位のチケット、例えば、公演のチケットであれば、公演単位毎に異なるものとし、スポーツ観戦のチケットであれば、試合毎若しくは競技場の入口毎に異なるものとする。この場合、チケットに色情報を付加するなどして、チケットとテンプレートの組み合わせを容易に特定できるようにすることも可能である。
【００４７】
また、真偽判定用文字列に色を採用して、その色に演算としての意味を持たせたり、数字以外の文字を採用して、当該文字に特定の意味、例えば、演算子を表したり数字への変換を表したりするなどの意味を持たせたりすることもできる。この他にも、文字の書体や向きに意味を持たせた真偽判定用文字列を採用することも可能である。
【００４８】
さらに、真偽判定用文字列を図８（ａ）に示すチケット４０の真偽判定用文字列４１のように、不規則に並べてコンピュータ等を利用した解析を困難にすることも可能である。この場合でも、図８（ｂ）に示すように、対応するテンプレート５０を用いれば、容易に特定文字を確認することができる。
【実施例２】
【００４９】
実施例２では、実施例１で説明した真偽判定用文字列とは異なる様式の真偽判定用文字列を利用する場合の例を説明する。なお、情報処理装置１、情報処理装置３等を含むシステムの構成は、実施例１の場合と同じであるため、ここでの説明は省略する。
【００５０】
図９は、実施例２で説明する様式に対応する確認補助用のテンプレートの正面を示した図である。同図に示すように、テンプレート６０には、透過部６１、透過部６２、透過部６３、透過部６４が設けられており、さらに、透過部６１、透過部６２、透過部６３、透過部６４から確認できる特定文字とチケットの券面記載事項との関係を記述した記述部６５が設けられている。
【００５１】
このテンプレート６０は、図１０（ａ）に示すチケット７０と重ね合わせると、図１０（ｂ）に示すように、４つの特定文字を確認することができ、確認した特定文字に対して記述部６５の記述にしたがった演算を施すことで、チケット７０の真偽を確認することが可能となっている。
【００５２】
ここで、実施例２における情報処理装置１の動作の流れを説明する。図１１は、実施例２における情報処理装置１の動作の流れを示すフローチャートである。
【００５３】
情報処理装置１は、発券処理を開始すると、まず、様式決定部１１が真偽判定用文字列の様式を決定する。様式は、演算項目数決定処理（ステップ２０１）、特定箇所選定処理（ステップ２０２）、演算内容決定処理（ステップ２０３）の各処理を実行することにより決定される。
【００５４】
続いて、情報処理装置１は、演算処理部１３と配置処理部１４が、数値・数字列決定処理を行い（ステップ２０４）、この結果に基づいて、画像情報生成部１５が券面情報と真偽判定用文字列を含む券面画像を生成し（ステップ２０５）、この券面画像を画像情報出力部１６が画像形成装置２へ出力し（ステップ２０６）、発券処理を終了する。
【００５５】
次に、演算項目数決定処理（ステップ２０１）、特定箇所選定処理（ステップ２０２）、演算内容決定処理（ステップ２０３）、数値・数字列決定処理（ステップ２０４）の詳細を説明する。
【００５６】
図１２は、演算項目数決定処理の流れを示すフローチャートである。演算項目数決定処理では、まず、０より大きく１より小さい乱数Ｒｎｄを発生させる（ステップ３０１）。そして、この乱数Ｒｎｄを３倍した値に４を加えた値を項目数ｚとして算出する（ステップ３０２）。この項目数ｚは、特定文字の数に相当するもので、４、５、６のいずれかの値となる。
【００５７】
図１３は、特定箇所選定処理の流れを示すフローチャートである。特定箇所選定処理では、まず、変数ｎの値を「１」に初期化する（ステップ４０１）。そして、０より大きく１より小さい乱数Ｒｎｄ＿ｘ（ｎ）を発生させ（ステップ４０２）、続いて、０より大きく１より小さい乱数Ｒｎｄ＿ｙ（ｎ）を発生させる（ステップ４０３）。
【００５８】
次に、乱数Ｒｎｄ＿ｘ（ｎ）を１０倍した値をＸｎとして算出し（ステップ４０４）、乱数Ｒｎｄ＿ｙ（ｎ）を１０倍した値をＹｎとして算出して（ステップ４０５）、Ｍｎ＝（Ｘｎ，Ｙｎ）を特定する（ステップ４０６）。
【００５９】
そして、特定したＸｎの値が先に特定したＸｍの値と異なれば（ステップ４０７でＹＥＳ）、変数ｎの値が項目数ｚの値と等しくなるまで、変数ｎの値を「１」だけインクリメントして（ステップ４０８でＹＥＳ、ステップ４０９）、同様の処理を繰り返す。また、特定したＸｎの値が先に特定したＸｍの値と同じであれば（ステップ４０７でＮＯ）、再度、Ｘｎの値を特定する。
【００６０】
このような処理を繰り返し、変数ｎの値が項目数ｚの値と等しくなると（ステップ４０８でＹＥＳ）、特定箇所選定処理を終了する。
【００６１】
この特定箇所選定処理によりｚ個のＭｎが特定されるが、Ｍｎは真偽判定用文字列における座標を示しているため、特定文字を配置する位置をｚ個だけ特定することになる。
【００６２】
図１４および図１５は、演算内容決定処理の流れを示すフローチャートである。
【００６３】
演算内容決定処理では、まず、０より大きく１より小さい乱数Ｒｎｄを発生させる（ステップ５０１）。そして、この乱数Ｒｎｄの値が０．５よりも大きければ（ステップ５０２でＮＯ）、「演算１」を乗算に決定する（ステップ５０３）。一方、乱数Ｒｎｄの値が０．２５よりも大きく０．５以下であれば（ステップ５０２でＹＥＳ、ステップ５０４でＹＥＳ）、「演算１」を減算に決定し（ステップ５０５）、乱数Ｒｎｄの値が０．２５以下であれば（ステップ５０２でＹＥＳ、ステップ５０４でＮＯ）、「演算１」を加算に決定する（ステップ５０６）。
【００６４】
次に、項目数ｚの値が４よりも大きければ（ステップ５０７でＹＥＳ）、０より大きく１より小さい乱数Ｒｎｄを発生させる（ステップ５０８）。そして、この乱数Ｒｎｄの値が０．５よりも大きければ（ステップ５０９でＹＥＳ）、「演算２」を減算に決定し（ステップ５１０）、乱数Ｒｎｄの値が０．５以下であれば（ステップ５０９でＮＯ）、「演算２」を加算に決定する（ステップ５１１）。
【００６５】
次に、項目数ｚの値が５よりも大きければ（ステップ５１２でＹＥＳ）、０より大きく１より小さい乱数Ｒｎｄを発生させる（ステップ５１３）。そして、この乱数Ｒｎｄの値が０．５よりも大きければ（ステップ５１４でＹＥＳ）、「演算３」を減算に決定し（ステップ５１５）、乱数Ｒｎｄの値が０．５以下であれば（ステップ５１４でＮＯ）、「演算３」を加算に決定する（ステップ５１６）。
【００６６】
項目数ｚの値が４であった場合に「演算１」の種別を決定するか（ステップ５０７でＮＯ）、項目数ｚの値が５であった場合に「演算１」と「演算２」の各種別を決定するか（ステップ５１２でＮＯ）、項目数ｚの値が６であった場合に「演算１」と「演算２」、「演算３」の各種別を決定すると、その「演算１」が乗算に決定されていた場合には（ステップ５１７でＹＥＳ）、０より大きく１より小さい乱数Ｒｎｄを発生させ（ステップ５１８）、この乱数Ｒｎｄの値が０．５よりも大きければ（ステップ５１９でＹＥＳ）、「演算（ｚ−２）」と「演算（ｚ−１）」をともに加算に決定する（ステップ５２０）。
【００６７】
一方、「演算１」が乗算に決定されていなかった場合（ステップ５１７でＮＯ）、または、ステップ５１８で発生させた乱数Ｒｎｄの値が０．５以下であった場合には（ステップ５１９でＮＯ）、「演算（ｚ−２）」をＭ（ｚ−１）を１０倍してから加算に決定し、「演算（ｚ−１）」をＭｚを加算に決定する（ステップ５２１）。
【００６８】
この演算内容決定処理により、ｚ個の特定文字が表す数値に対する演算式が決定される。
【００６９】
図１６は、数値・数字列決定処理の流れを示すフローチャートである。
【００７０】
数値・数字列決定処理では、まず、券面情報から得られる情報から数値Ｆ０を取得する（ステップ６０１）。この数値Ｆ０は、例えば、席番号の下２桁であったり、これを入れ替えた値、発券番号の下２桁など、真偽判定用文字列と比較する対象となる値である。
【００７１】
次に、０より大きく１より小さい乱数を発生させ、これを１０倍して小数点以下を切り捨てる処理を所定の数、例えば、１００回繰り返すことで、１０行１０列の数字列を生成する（ステップ６０２）。
【００７２】
続いて、生成した数字列のうち、特定箇所Ｍ１〜Ｍｚに位置する値を演算内容決定処理で決定した演算内容にしたがって演算して、数値Ｆを算出する（ステップ６０３）。そして、数値Ｆから数値Ｆ０を減じた値が所定の値、例えば、０または１００となるまで（ステップ６０４でＮＯ）、予め定めた方法に従って特定箇所Ｍ１〜Ｍｚに位置する値のいずれかを変更し（ステップ６０５）、再度、数値Ｆを算出する（ステップ６０３）。
【００７３】
このような処理を繰り返し、数値Ｆから数値Ｆ０を減じた値が所定の値となると（ステップ６０４でＹＥＳ）、特定箇所Ｍ１〜Ｍｚに位置する値をステップ６０２で生成した数字列の該当位置の値と入れ替えて（ステップ６０６）、処理を終了する。
【００７４】
なお、ステップ６０５で説明した予め定めた方法とは、演算内容決定処理で決定した演算内容に応じて定められた方法である。
【００７５】
ここで、ステップ６０５で説明した予め定めた方法を、演算内容が「Ｍ１×Ｍ２＋Ｍ３−Ｍ４＋Ｍ５×１０＋Ｍ６」である場合を例として説明する。
【００７６】
図１７乃至２３は、ステップ６０１乃至６０５で説明した処理の具体的な処理例を示すフローチャートである。
【００７７】
この処理例では、まず、券面情報から得られる情報から数値Ｆ０を取得する（ステップ７０１）。この数値Ｆ０は、例えば、席番号の下２桁であったり、これを入れ替えた値、発券番号の下２桁など、真偽判定用文字列と比較する対象となる値である。
【００７８】
次に、０より大きく１より小さい乱数を発生させ、これを１０倍して小数点以下を切り捨てる処理を所定の数、例えば、１００回繰り返すことで、１０行１０列の数字列を生成する（ステップ７０２）。
【００７９】
続いて、生成した数字列のうち、特定箇所Ｍ１〜Ｍ６に位置する値を演算内容決定処理で決定した演算内容にしたがって演算して、数値Ｆを算出する（ステップ７０３）。
【００８０】
ここで、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７０４でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００８１】
一方、数値Ｆから数値Ｆ０を減じた値が正の値であれば（ステップ７０４でＮＯ、ステップ７０５でＮＯ）、変数ｎの値を「１」に初期化し（ステップ７０６）、その時点でのＭ１〜Ｍ６に位置する各値を記憶する（ステップ７０７）。
【００８２】
そして、Ｍｎに位置する値が「０」でなければ（ステップ７０８でＮＯ、ステップ７０９でＮＯ）、Ｍｎに位置する値を「１」だけ減じ（ステップ７１０）、再度、数値Ｆを算出する（ステップ７１１）。ただし、ｎの値が「４」である場合には（ステップ７０８でＹＥＳ）、Ｍ４に位置する値が「９」でなければ（ステップ７１２でＮＯ）、Ｍ４に位置する値を「１」だけ増やし（ステップ７１３）、再度、数値Ｆを算出する（ステップ７１１）。
【００８３】
数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７１４でＹＥＳ）、先に説明したステップ６０６に相当する処理に進むが、数値Ｆから数値Ｆ０を減じた値が正の値のままであれば（ステップ７１４でＮＯ、ステップ７１５でＮＯ）、変数ｎの値が「６」以外であれば（ステップ７１６でＮＯ）、変数ｎの値を「１」だけ増やし（ステップ７１７）、変数ｎの値が「６」であれば（ステップ７１６でＹＥＳ）、変数ｎの値を「１」に設定して（ステップ７１８）、ステップ７０７に戻り、同様の処理を繰り返す。
【００８４】
その結果、数値Ｆから数値Ｆ０を減じた値が負の値に変わると（ステップ７１５でＹＥＳ）、Ｍ３に位置する値が「９」でなければ（ステップ７１９でＮＯ）、Ｍ３に位置する値を「１」だけ増やし（ステップ７２０）、再度、数値Ｆを算出する（ステップ７２１）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７２２でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００８５】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７２２でＮＯ）、若しくは、Ｍ３に位置する値が「９」である場合には（ステップ７１９でＹＥＳ）、Ｍ４に位置する値が「０」でなければ（ステップ７２３でＮＯ）、Ｍ４に位置する値を「１」だけ減じ（ステップ７２４）、再度、数値Ｆを算出する（ステップ７２５）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７２６でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００８６】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７２６でＮＯ）、若しくは、Ｍ４に位置する値が「０」である場合には（ステップ７２３でＹＥＳ）、Ｍ６に位置する値が「９」でなければ（ステップ７２７でＮＯ）、Ｍ６に位置する値を「１」だけ増やし（ステップ７２８）、再度、数値Ｆを算出する（ステップ７２９）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７３０でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００８７】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７３０でＮＯ）、若しくは、Ｍ６に位置する値が「９」である場合には（ステップ７２７でＹＥＳ）、Ｍ３に位置する値とＭ６に位置する値のいずれかが「９」でないか、Ｍ４に位置する値「０」でなければ（ステップ７３１でＮＯ）、ステップ７１９に戻り同様の処理を繰り返す。
【００８８】
その結果、Ｍ３に位置する値とＭ６に位置する値がともに「９」となり、さらにＭ４に位置する値「０」となれば（ステップ７３１でＹＥＳ）、Ｍ１〜Ｍ６に位置する各値をステップ７０７で記憶した状態に戻す（ステップ７３２）。この状態は、数値Ｆから数値Ｆ０を減じた値が負の値に変わることになった処理を取り消した状態と同じである。
【００８９】
続いて、Ｍ３に位置する値が「０」でなければ（ステップ７３３でＮＯ）、Ｍ３に位置する値を「１」だけ減じ（ステップ７３４）、再度、数値Ｆを算出する（ステップ７３５）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７３６でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００９０】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７３６でＮＯ）、若しくは、Ｍ３に位置する値が「０」である場合には（ステップ７３３でＹＥＳ）、Ｍ４に位置する値が「９」でなければ（ステップ７３７でＮＯ）、Ｍ４に位置する値を「１」だけ増やし（ステップ７３８）、再度、数値Ｆを算出する（ステップ７３９）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７４０でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００９１】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７４０でＮＯ）、若しくは、Ｍ４に位置する値が「９」である場合には（ステップ７３７でＹＥＳ）、Ｍ６に位置する値が「０」でなければ（ステップ７４１でＮＯ）、Ｍ６に位置する値を「１」だけ減じ（ステップ７４２）、再度、数値Ｆを算出する（ステップ７４３）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７４４でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００９２】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７４４でＮＯ）、若しくは、Ｍ６に位置する値が「０」である場合には（ステップ７４１でＹＥＳ）、ステップ７３３に戻り同様の処理を繰り返す。
【００９３】
また、ステップ７０３で算出した数値Ｆに対して、数値Ｆから数値Ｆ０を減じた値が負の値であれば（ステップ７０４でＮＯ、ステップ７０５でＹＥＳ）、変数ｎの値を「１」に初期化し（ステップ７４５）、その時点でのＭ１〜Ｍ６に位置する各値を記憶する（ステップ７４６）。
【００９４】
そして、Ｍｎに位置する値が「９」でなければ（ステップ７４７でＮＯ、ステップ７４８でＮＯ）、Ｍｎに位置する値を「１」だけ増やし（ステップ７４９）、再度、数値Ｆを算出する（ステップ７５０）。ただし、ｎの値が「４」である場合には（ステップ７４７でＹＥＳ）、Ｍ４に位置する値が「０」でなければ（ステップ７５１でＮＯ）、Ｍ４に位置する値を「１」だけ減じ（ステップ７５２）、再度、数値Ｆを算出する（ステップ７５０）。
【００９５】
数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７５３でＹＥＳ）、先に説明したステップ６０６に相当する処理に進むが、数値Ｆから数値Ｆ０を減じた値が負の値のままであれば（ステップ７５３でＮＯ、ステップ７５４でＹＥＳ）、変数ｎの値が「６」以外であれば（ステップ７５５でＮＯ）、変数ｎの値を「１」だけ増やし（ステップ７５６）、変数ｎの値が「６」であれば（ステップ７５５でＹＥＳ）、変数ｎの値を「１」に設定して（ステップ７５７）、ステップ７４６に戻り、同様の処理を繰り返す。
【００９６】
その結果、数値Ｆから数値Ｆ０を減じた値が正の値に変わると（ステップ７５４でＮＯ）、Ｍ３に位置する値が「０」でなければ（ステップ７５８でＮＯ）、Ｍ３に位置する値を「１」だけ減じ（ステップ７５９）、再度、数値Ｆを算出する（ステップ７６０）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７６１でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００９７】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７６１でＮＯ）、若しくは、Ｍ３に位置する値が「０」である場合には（ステップ７５８でＹＥＳ）、Ｍ４に位置する値が「９」でなければ（ステップ７６２でＮＯ）、Ｍ４に位置する値を「１」だけ増やし（ステップ７６３）、再度、数値Ｆを算出する（ステップ７６４）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７６５でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００９８】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７６５でＮＯ）、若しくは、Ｍ４に位置する値が「９」である場合には（ステップ７６２でＹＥＳ）、Ｍ６に位置する値が「０」でなければ（ステップ７６６でＮＯ）、Ｍ６に位置する値を「１」だけ減じ（ステップ７６７）、再度、数値Ｆを算出する（ステップ７６８）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７６９でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【００９９】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７６９でＮＯ）、若しくは、Ｍ６に位置する値が「０」である場合には（ステップ７６６でＹＥＳ）、Ｍ３に位置する値とＭ６に位置する値のいずれかが「０」でないか、Ｍ４に位置する値「９」でなければ（ステップ７７０でＮＯ）、ステップ７５８に戻り同様の処理を繰り返す。
【０１００】
その結果、Ｍ３に位置する値とＭ６に位置する値がともに「０」となり、さらにＭ４に位置する値「９」となれば（ステップ７７０でＹＥＳ）、Ｍ１〜Ｍ６に位置する各値をステップ７４６で記憶した状態に戻す（ステップ７７１）。この状態は、数値Ｆから数値Ｆ０を減じた値が正の値に変わることになった処理を取り消した状態と同じである。
【０１０１】
続いて、Ｍ３に位置する値が「９」でなければ（ステップ７７２でＮＯ）、Ｍ３に位置する値を「１」だけ増やし（ステップ７７３）、再度、数値Ｆを算出する（ステップ７７４）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７７５でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【０１０２】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７７５でＮＯ）、若しくは、Ｍ３に位置する値が「９」である場合には（ステップ７７２でＹＥＳ）、Ｍ４に位置する値が「０」でなければ（ステップ７７６でＮＯ）、Ｍ４に位置する値を「１」だけ減じ（ステップ７７７）、再度、数値Ｆを算出する（ステップ７７８）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７７９でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【０１０３】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７７９でＮＯ）、若しくは、Ｍ４に位置する値が「０」である場合には（ステップ７７６でＹＥＳ）、Ｍ６に位置する値が「９」でなければ（ステップ７８０でＮＯ）、Ｍ６に位置する値を「１」だけ増やし（ステップ７８１）、再度、数値Ｆを算出する（ステップ７８２）。数値Ｆを算出した結果、数値Ｆから数値Ｆ０を減じた値が０または１００であった場合には（ステップ７８３でＹＥＳ）、先に説明したステップ６０６に相当する処理に進む。
【０１０４】
数値Ｆから数値Ｆ０を減じた値が０または１００でない場合（ステップ７８３でＮＯ）、若しくは、Ｍ６に位置する値が「９」である場合には（ステップ７８０でＹＥＳ）、ステップ７７２に戻り同様の処理を繰り返す。
【実施例３】
【０１０５】
実施例１と実施例２では、発券情報のうちの座席番号等の券面情報の一部を特定文字として使用する例を説明したが、実施例３では、発券情報のうち券面情報以外の情報を特定文字として使用する例を説明する。なお、情報処理装置１、情報処理装置３等を含むシステムの構成は、実施例１の場合と同じであるため、ここでの説明は省略する。
【０１０６】
実施例３の場合には、発券時に、購入者情報として、運転免許証番号や健康保険証番号、携帯電話番号等の本人確認が可能な情報を発券情報として取り込み、この情報を特定文字として使用した真偽判定用文字列を発生させる。
【０１０７】
例えば、運転免許証番号を使用する場合、当該番号の下１桁は、再交付等により発券時と異なる番号となる可能性があるため、下３桁のうち、下１桁を除いた番号を利用する。ただし、運転免許証番号のどの部分を利用するかは、購入者には知らせないため、偽造のために、番号を推定することは困難となる。
【０１０８】
購入者情報の発券情報としての取り込みは、例えば、実施例１で説明した処理（図７参照）では、情報処理装置１の操作者が手入力するか、データを読み込ませることで行われ、その情報が発券情報取得部１２によって取得される（ステップ１０２参照）。
【０１０９】
また、運転免許証は、必ずしも全ての人が有しているわけではないので、健康保険証番号や携帯電話番号を併用することとなる。したがって、実施例３の場合には、図２４に示すチケット８０のようなチケットを発行することとなる。このチケット８０には、真偽判定用文字列８１のほかに、真偽判定用文字列８１を発生させるのに利用した本人確認書類を示す書類種別情報８２が印刷されている。
【０１１０】
これにより、真偽の判定時に、運転免許証等の提示を求める必要は生じるが、偽造をより困難とすることが出来る。
【図面の簡単な説明】
【０１１１】
【図１】本願発明を適用した発券システムの構成例を示した図である。
【図２】情報処理装置１の構成例を示した図である。
【図３】情報処理装置１の機能的な構成を示すブロック図である。
【図４】図１に示したシステムで発券されるチケットの表面を示した図である。
【図５】確認補助用のテンプレートの例を示した図である。
【図６】テンプレート３０をチケット２０と重ね合わせた状態を示した図である。
【図７】情報処理装置１の動作の流れを示すフローチャートである。
【図８】真偽判定用文字列を不規則に並べた例を示した図である。
【図９】実施例２で説明する様式に対応する確認補助用のテンプレートの正面を示した図である。
【図１０】テンプレート６０をチケット７０と重ね合わせた状態を示した図である。
【図１１】実施例２における情報処理装置１の動作の流れを示すフローチャートである。
【図１２】演算項目数決定処理の流れを示すフローチャートである。
【図１３】特定箇所選定処理の流れを示すフローチャートである。
【図１４】演算内容決定処理の流れを示すフローチャートである。
【図１５】演算内容決定処理の流れを示すフローチャートである。
【図１６】数値・数字列決定処理の流れを示すフローチャートである。
【図１７】ステップ６０１乃至６０５で説明した処理の具体的な処理例を示すフローチャートである。
【図１８】ステップ６０１乃至６０５で説明した処理の具体的な処理例を示すフローチャートである。
【図１９】ステップ６０１乃至６０５で説明した処理の具体的な処理例を示すフローチャートである。
【図２０】ステップ６０１乃至６０５で説明した処理の具体的な処理例を示すフローチャートである。
【図２１】ステップ６０１乃至６０５で説明した処理の具体的な処理例を示すフローチャートである。
【図２２】ステップ６０１乃至６０５で説明した処理の具体的な処理例を示すフローチャートである。
【図２３】ステップ６０１乃至６０５で説明した処理の具体的な処理例を示すフローチャートである。
【図２４】実施例３で発券されるチケットの表面を示した図である。
【符号の説明】
【０１１２】
１    情報処理装置
１Ａ    演算部
１Ｂ    記憶部
１Ｃ    一時記憶部
１Ｄ    記憶装置接続部
１Ｅ    記憶装置
１Ｆ    装置接続部
１Ｇ    ネットワーク制御部
２    画像形成装置
３    情報処理装置
４    インターネット
５    情報処理装置
６    画像形成装置
７    専用発券装置
１１    様式決定部
１２    発券情報取得部
１３    演算処理部
１４    配置処理部
１５    画像情報生成部
１６    画像情報出力部
２０    チケット
２１    券面記載事項
２２    真偽判定用文字列
３０    テンプレート
３０’    テンプレート
３１    透過部
３１’    透過部
３２    透過部
３３    透過部
４０    チケット
５０    テンプレート
６０    テンプレート
６１    透過部
６２    透過部
６３    透過部
６４    透過部
６５    記述部
７０    チケット
８０    チケット
８１    真偽判定用文字列
８２    書類種別情報
【図１】
2008065770.tif 000003
【図２】
2008065770.tif 000004
【図３】
2008065770.tif 000005
【図４】
2008065770.tif 000006
【図５】
2008065770.tif 000007
【図６】
2008065770.tif 000008
【図７】
2008065770.tif 000009
【図８】
2008065770.tif 000010
【図９】
2008065770.tif 000011
【図１０】
2008065770.tif 000012
【図１１】
2008065770.tif 000013
【図１２】
2008065770.tif 000014
【図１３】
2008065770.tif 000015
【図１４】
2008065770.tif 000016
【図１５】
2008065770.tif 000017
【図１６】
2008065770.tif 000018
【図１７】
2008065770.tif 000019
【図１８】
2008065770.tif 000020
【図１９】
2008065770.tif 000021
【図２０】
2008065770.tif 000022
【図２１】
2008065770.tif 000023
【図２２】
2008065770.tif 000024
【図２３】
2008065770.tif 000025
【図２４】
2008065770.tif 000026