(58)【調査した分野】(Int.Cl.,DB名)
第一面の第一辺に第一コントロールマークが配置されるとともに、前記第一面の前記第一辺と対向する第二辺に、前記第一コントロールマークと同一の第二コントロールマークが配置されたマークカードの前記第一面を1ラインずつ順に読み取って前記第一面の1ライン分の画像イメージである第一画像イメージを順に出力する読取部と、
前記読取部から順に出力される複数ライン分の前記第一画像イメージを合成して第一合成イメージを生成する画像処理部と、
前記第一合成イメージに基づいて、前記第一面の記入内容を認識する認識部と、を具備し、
前記認識部は、前記第一コントロールマークの識別に失敗したときに、前記第二コントロールマークを用いて前記第一面の前記記入内容を認識する、
マークカード読取装置。
第一面の第一辺に第一コントロールマークが配置されるとともに、前記第一面の前記第一辺と対向する第二辺に、前記第一コントロールマークと同一の第二コントロールマークが配置されたマークカードの前記第一面を1ラインずつ順に読み取って前記第一面の1ライン分の画像イメージである第一画像イメージを順に出力し、
順に出力される複数ライン分の前記第一画像イメージを合成して第一合成イメージを生成し、
前記第一コントロールマークの識別に失敗したときに、前記第二コントロールマークを用いて、前記第一合成イメージに基づいて、前記第一面の記入内容を認識する、
マークカード読取方法。
第一面の第一辺に第一コントロールマークが配置されるとともに、前記第一面の前記第一辺と対向する第二辺に、前記第一コントロールマークと同一の第二コントロールマークが配置されたマークカードの前記第一面を1ラインずつ順に読み取って前記第一面の1ライン分の画像イメージである第一画像イメージを順に出力する読取部を具備するマークカード読取装置に、
前記読取部から順に出力される複数ライン分の前記第一画像イメージを合成して第一合成イメージを生成し、
前記第一コントロールマークの識別に失敗したときに、前記第二コントロールマークを用いて、前記第一合成イメージに基づいて、前記第一面の記入内容を認識する、
処理を実行させるためのプログラム。
【発明を実施するための形態】
【0011】
以下に、本願の開示するマークカード読取装置、マークカード読取方法及びプログラムを図面に基づいて詳細に説明する。なお、この実施例により本願の開示するマークカード読取装置、マークカード読取方法及びプログラムが限定されるものではない。また、各実施例において同一の機能を有する構成、及び、同一の処理を行うステップには同一の符号を付す。また、以下では、マーク式のカード(以下では「マークカード」と呼ぶことがある)の一例としてマーク式投票カードを挙げて説明する。しかし、開示の技術は、マーク式投票カードを含む、すべてのマークカードに適用可能である。
【0012】
[実施例1]
<公営競技システムの構成>
図1は、実施例1の公営競技システムの構成例を示す図である。
図1において、公営競技システム5は、投票端末10−1〜10−3と、ホストコンピュータ40とを有する。投票端末10−1〜10−3の各々は、マークカード読取装置20−1〜20−3を有する。以下では、投票端末10−1〜10−3を区別しない場合には「投票端末10」と総称し、マークカード読取装置20−1〜20−3を区別しない場合には「マークカード読取装置20」と総称することがある。投票端末10とホストコンピュータ40とは、ネットワーク30を介して接続されており、相互に通信可能である。
図1では3台の投票端末10を一例として挙げているが、ホストコンピュータ40に接続可能な投票端末10の台数は3台に限定されない。
【0013】
<投票端末の外観>
図2は、実施例1の投票端末の外観の一例を示す図である。
図2において、投票端末10は、運用状況表示窓101と、投票券投入口102と、投票券排出口103と、マークカード投入排出口104と、紙幣投入排出口105と、硬貨投入口106と、硬貨排出口107と、タッチパネル108とを有する。
【0014】
運用状況表示窓101は、投票端末10において投票券の発券受付中であるか発券停止中であるかを表示する。また、運用状況表示窓101は、投票端末10において的中券の払戻受付中であるか払戻停止中であるかを表示する。
【0015】
投票券投入口102には、当たりか外れかが確定している投票券が投入される。
【0016】
投票券排出口103は、購入された投票券を排出する。
【0017】
マークカード投入排出口104は、マーク式投票カードを投入される一方で、返却されるマーク式投票カードを排出する。
【0018】
紙幣投入排出口105は、紙幣を投入される一方で、返却される紙幣または釣銭とされる紙幣を排出する。
【0019】
硬貨投入口106は、硬貨を投入される。
【0020】
硬貨排出口107は、返却される硬貨または釣銭とされる硬貨を排出する。
【0021】
タッチパネル108は、操作案内、レース案内、及び、マーク式投票カードによる投票内容等の各種の画面を表示し、各種の入力や投票内容の修正等の際にタッチ操作される。
【0022】
なお、投票端末10において、投票券投入口102と投票券排出口103とを一体構成としても良い。また、硬貨投入口106と硬貨排出口107とを一体構成としても良い。また、マークカード投入排出口104を、マークカード投入口とマークカード排出口とのように、別体構成としても良い。また、紙幣投入排出口105を、紙幣投入口と紙幣排出口とのように、別体構成としても良い。
【0023】
<マークカード読取装置の構成>
図3は、実施例1のマークカード読取装置の構成例を示す図である。
図3において、マークカード読取装置20は、マークカード投入排出口104と、ラインセンサ21−1,21−2と、画像処理部22と、記憶部23と、制御部24と、認識部25と、通信部26と、モータ60と、上側搬送ローラ65−1〜65−4と、下側搬送ローラ70−1〜70−4とを有する。以下では、ラインセンサ21−1,21−2を区別しない場合には「ラインセンサ21」と総称することがある。ラインセンサ21は、マーク式投票カードMCを読み取る「読取部」の一例である。
【0024】
上側搬送ローラ65−1〜65−4と下側搬送ローラ70−1〜70−4とは対向して配置され、両者の間にマーク式投票カードMCが挟まれてマーク式投票カードMCが搬送路75上を搬送される。以下では、上側搬送ローラ65−1〜65−4を区別しない場合には「上側搬送ローラ65」と総称し、下側搬送ローラ70−1〜70−4を区別しない場合には「下側搬送ローラ70」と総称することがある。
【0025】
制御部24は、モータ60の駆動及び回転を制御する。
【0026】
モータ60と、上側搬送ローラ65及び下側搬送ローラ70とは、搬送ベルト(図示省略)を介して繋がっており、モータ60の回転にリンクして上側搬送ローラ65及び下側搬送ローラ70が回転する。例えば、モータ60が左回転するときは、上側搬送ローラ65が右回転する一方で下側搬送ローラ70が左回転して、マーク式投票カードMCを左方向(+X方向)へ搬送する一方で、モータ60が右回転するときは、上側搬送ローラ65が左回転する一方で下側搬送ローラ70が右回転して、マーク式投票カードMCを右方向(−X方向)へ搬送する。
【0027】
ラインセンサ21は、マーク式投票カードMCのZ軸方向の幅のすべてをカバーするように配置されている。ラインセンサ21−1は、マーク式投票カードMCの+X方向への搬送に伴って、マーク式投票カードMCの上面S1を1ラインずつ順に読み取り、読み取った1ライン分の画像イメージ(以下では「1ライン分上面イメージ」と呼ぶことがある)を画像処理部22へ順に出力する。ラインセンサ21−2は、マーク式投票カードMCの+X方向への搬送に伴って、マーク式投票カードMCの下面S2を1ラインずつ順に読み取り、読み取った1ライン分の画像イメージ(以下では「1ライン分下面イメージ」と呼ぶことがある)を画像処理部22へ順に出力する。
【0028】
画像処理部22は、ラインセンサ21−1から順に出力される1ライン分上面イメージを合成して合成後の上面イメージ(以下では「合成上面イメージ」と呼ぶことがある)を生成し、生成した合成上面イメージを記憶部23へ出力して記憶部23に記憶させる。画像処理部22は、1ライン分上面イメージを合成する際は、これまでに記憶部23に記憶された合成上面イメージを記憶部23から取得し、取得した合成上面イメージに、ラインセンサ21−1から出力された1ライン分上面イメージを合成して新たな合成上面イメージを生成する。そして、画像処理部22は、これまでに記憶部23に記憶された合成上面イメージを、新たな合成上面イメージで上書き更新する。
【0029】
また、画像処理部22は、ラインセンサ21−2から順に出力される1ライン分下面イメージを合成して合成後の下面イメージ(以下では「合成下面イメージ」と呼ぶことがある)を生成し、生成した合成下面イメージを記憶部23へ出力して記憶部23に記憶させる。画像処理部22は、1ライン分下面イメージを合成する際は、これまでに記憶部23に記憶された合成下面イメージを記憶部23から取得し、取得した合成下面イメージに、ラインセンサ21−2から出力された1ライン分下面イメージを合成して新たな合成下面イメージを生成する。そして、画像処理部22は、これまでに記憶部23に記憶された合成下面イメージを、新たな合成下面イメージで上書き更新する。
【0030】
記憶部23は、合成上面イメージ及び合成下面イメージを記憶する。
【0031】
認識部25は、記憶部23に記憶された合成上面イメージ及び合成下面イメージを参照し、合成上面イメージに基づいて上面S1の記入内容を認識するとともに、合成下面イメージに基づいて下面S2の記入内容を認識する。認識部25は、上面S1の記入内容の認識結果(以下では「上面認識結果」と呼ぶことがある)を通信部26へ出力するとともに、下面S2の記入内容の認識結果(以下では「下面認識結果」と呼ぶことがある)を通信部26へ出力する。
【0032】
通信部26は、上面認識結果及び下面認識結果(つまり、投票内容)をネットワーク30を介してホストコンピュータ40へ送信する。
【0033】
<マーク式投票カードの帳票フォーマット>
図4及び
図5は、実施例1のマーク式投票カードの帳票フォーマットの一例を示す図である。
図4には、マーク式投票カードMCの表面(おもてめん)の帳票フォーマット(以下では「表面フォーマット」と呼ぶことがある)を示し、
図5には、マーク式投票カードMCの裏面(うらめん)の帳票フォーマット(以下では「裏面フォーマット」と呼ぶことがある)を示す。
【0034】
図4及び
図5に示すように、マーク式投票カードMCは、角(かど)CA,CB,CC,CDの4つの角を有する。
【0035】
また、
図4に示すように、表面フォーマットは、コントロールマークCMA,CMB、及び、タイミングマークTM1を有する。タイミングマークTM1において、右端のタイミングマークTMAはコントロールマークCMAの位置を示し、左端のタイミングマークTMBはコントロールマークCMBの位置を示す。コントロールマークCMAは、表面の右辺に沿って配置され、コントロールマークCMBは、表面の左辺に沿って配置される。
【0036】
また、
図5に示すように、裏面フォーマットは、コントロールマークCMC,CMD、及び、タイミングマークTM2を有する。タイミングマークTM2において、右端のタイミングマークTMCはコントロールマークCMCの位置を示し、左端のタイミングマークTMDはコントロールマークCMDの位置を示す。コントロールマークCMCは、裏面の右辺に沿って配置され、コントロールマークCMDは、裏面の左辺に沿って配置される。
【0037】
図6及び
図7は、実施例1のコントロールマークの一例を示す図である。
【0038】
図6に示すように、表面フォーマットにおいて、コントロールマークCMA,CMBはそれぞれ「4ビット×3」の12ビットで形成され、コントロールマーク値は4ビットずつの3つの16進数で表現される。よって例えば、コントロールマークCMA,CMBが
図4に示すように表面に印刷されている場合は、コントロールマークCMA及びコントロールマークCMBのコントロールマーク値は、
図6に示すように、共に「111」となる。つまり、コントロールマークCMAとコントロールマークCMBとは、同一のコントロールマーク値を有する同一のコントロールマークである。
【0039】
同様に、
図7に示すように、裏面フォーマットにおいて、コントロールマークCMC,CMDはそれぞれ「4ビット×3」の12ビットで形成され、コントロールマーク値は4ビットずつの3つの16進数で表現される。よって例えば、コントロールマークCMC,CMDが
図5に示すように裏面に印刷されている場合は、コントロールマークCMC及びコントロールマークCMDのコントロールマーク値は、
図7に示すように、共に「112」となる。つまり、コントロールマークCMCとコントロールマークCMDとは、同一のコントロールマーク値を有する同一のコントロールマークである。また、表面フォーマットと裏面フォーマットとは互いに異なるため、コントロールマークCMA,CMBのコントロールマーク値と、コントロールマークCMC,CMDのコントロールマーク値とは、互いに異なる。つまり、コントロールマークCMA,CMBと、コントロールマークCMC,CMDとは、互いに異なるコントロールマークである。
【0040】
<マークカード読取装置の動作>
図8は、実施例1のマークカード読取装置の動作の一例の説明に供する図である。
【0041】
図8に示すように、マーク式投票カードMCにおいて角CBが裏面側に折れた状態で、マーク式投票カードMCが表面を上面S1として左辺側から(つまり、コントロールマークCMA側から)マークカード投入排出口104に投入された場合を想定する。この場合、角CBの角折れの箇所がタイミングマークTMAやコントロールマークCMAに及んでしまうと、コントロールマークCMAの位置の特定や、コントロールマークCMAのコントロールマーク値の特定(つまり、コントロールマークCMAの識別)が困難になる。
【0042】
図8に示す例では、角CBの角折れの箇所がタイミングマークTMA及びコントロールマークCMAの双方に及んでいるため、合成上面イメージにおいて、タイミングマークTMAのすべてが欠損していると共に、コントロールマークCMAの一部が欠損している。
【0043】
一方で、角CC及び角CDには折れが無いため、合成上面イメージにおいて、タイミングマークTMB及びコントロールマークCMBの双方に欠損が無い。また、コントロールマークCMAとコントロールマークCMBとは、同一のコントロールマーク値を有する同一のコントロールマークである。
【0044】
そこで、認識部25は、コントロールマークCMAの識別に失敗したときに、コントロールマークCMBを用いて上面S1の記入内容を認識する。
【0045】
<マークカード読取装置の処理>
図9は、実施例1のマークカード読取装置の処理の一例の説明に供するフローチャートである。
【0046】
図9において、ステップS11では、制御部24は、モータ60の駆動を開始してモータ60を左回転させることにより、マーク式投票カードMCの+X方向(
図3)への搬送を開始するとともに、画像処理部22に対して読取開始の指示を行う。
【0047】
次いで、ステップS13では、ラインセンサ21は、マーク式投票カードMCの読取を開始し、マーク式投票カードMCの+X方向への搬送に伴って、マーク式投票カードMCの上面S1及び下面S2を1ラインずつ順に読み取る。ラインセンサ21によるマーク式投票カードMCの読取は、読取開始後、読取ライン数が所定の「N」に達するまで、中断することなく継続される。「ラインセンサ21の読取ラインの1ラインの幅×N」は、マーク式投票カードMCのX軸方向(
図3)の長さに相当し、例えば、Nは“1200”に予め設定される。つまり、ラインセンサ21は、以下に説明するコントロールマークCMAの識別に成功するか失敗するかにかかわらず、マーク式投票カードMCの搬送に伴って、上面S1及び下面S2の全体を読み取る。
【0048】
次いで、ステップS15では、画像処理部22は、読取ライン数が所定の「M」(但し、M<N)に達したか否かを判断する。例えば、Mは“400”に予め設定される。読取ライン数がMに達していない場合は(ステップS15:No)、画像処理部22は、ステップS15の判断を継続する。
【0049】
一方で、読取ライン数がMに達した場合は(ステップS15:Yes)、ステップS17において、画像処理部22は、読取ライン数がMに達したことを認識部25に通知し、この通知に従って、認識部25は、記憶部23に記憶されているMライン分の合成上面イメージに基づいて、コントロールマークCMAの識別を試みる。
【0050】
次いで、ステップS19では、認識部25は、コントロールマークCMAの識別に成功したか否か(つまり、コントロールマークCMAの識別に成功したか失敗したか)を判断する。例えば、認識部25は、Mライン分の合成上面イメージにおいて、マーク式投票カードMCの先端から所定の長さ以内にタイミングマークTMAを検出しないときに、コントロールマークCMAの識別に失敗したと判断する。また例えば、認識部25は、Mライン分の合成上面イメージにおいて、マーク式投票カードMCの先端から所定の長さ以内にタイミングマークTMAを検出したときでも、コントロールマークCMAから算出されるコントロールマーク値が、記憶部23に予め記憶されている何れのコントロールマーク値にも該当しないときに、コントロールマークCMAの識別に失敗したと判断する。また例えば、認識部25は、Mライン分の合成上面イメージにおいて、マーク式投票カードMCの先端から所定の長さ以内にタイミングマークTMAを検出し、かつ、コントロールマークCMAから算出されるコントロールマーク値が、記憶部23に予め記憶されている何れかのコントロールマーク値に該当するときに、コントロールマークCMAの識別に成功したと判断する。
【0051】
コントロールマークCMAの識別に成功したときは(ステップS19:Yes)、ステップS21において、認識部25は、コントロールマークCMAの識別に成功したことを画像処理部22に通知し、この通知に従って、画像処理部22は、読取ライン数がNに達したか否かを判断する。
【0052】
読取ライン数がNに達していない場合は(ステップS21:No)、画像処理部22は、ステップS21の判断を継続する。
【0053】
一方で、読取ライン数がNに達した場合は(ステップS21:Yes)、記憶部23に記憶されている合成上面イメージは上面S1全体の画像イメージになっているため、ステップS31において、画像処理部22は、読取ライン数がNに達したことを認識部25に通知する。この通知に従って、認識部25は、マーク式投票カードMCを受け付けて、ステップS19で識別に成功したコントロールマークCMAから表面フォーマットを特定し、特定した表面フォーマットと、記憶部23に記憶されている合成上面イメージに含まれるマークとに基づいて、上面S1の記入内容を認識する。また、認識部25は、マーク式投票カードMCを受け付けたことを制御部24へ通知し、この通知に従って、制御部24は、マーク式投票カードMCをさらに左方向(+X方向)へ搬送して、マーク式投票カードMCを投票端末10内に回収する。
【0054】
一方で、コントロールマークCMAの識別に失敗したときは(ステップS19:No)、ステップS23において、認識部25は、表面フォーマットの特定を保留する。
【0055】
次いで、ステップS25では、画像処理部22は、読取ライン数がNに達したか否かを判断する。
【0056】
読取ライン数がNに達していない場合は(ステップS25:No)、画像処理部22は、ステップS25の判断を継続する。
【0057】
一方で、読取ライン数がNに達した場合は(ステップS25:Yes)、ステップS27において、画像処理部22は、読取ライン数がNに達したことを認識部25に通知し、この通知に従って、認識部25は、記憶部23に記憶されているNライン分の合成上面イメージに基づいて、コントロールマークCMBの識別を試みる。
【0058】
次いで、ステップS29では、認識部25は、コントロールマークCMBの識別に成功したか否か(つまり、コントロールマークCMBの識別に成功したか失敗したか)を判断する。例えば、認識部25は、Nライン分の合成上面イメージにおいて、マーク式投票カードMCの後端から所定の長さ以内にタイミングマークTMBを検出しないときに、コントロールマークCMBの識別に失敗したと判断する。また例えば、認識部25は、Nライン分の合成上面イメージにおいて、マーク式投票カードMCの後端から所定の長さ以内にタイミングマークTMBを検出したときでも、コントロールマークCMBから算出されるコントロールマーク値が、記憶部23に予め記憶されている何れのコントロールマーク値にも該当しないときに、コントロールマークCMBの識別に失敗したと判断する。また例えば、認識部25は、Nライン分の合成上面イメージにおいて、マーク式投票カードMCの後端から所定の長さ以内にタイミングマークTMBを検出し、かつ、コントロールマークCMBから算出されるコントロールマーク値が、記憶部23に予め記憶されている何れかのコントロールマーク値に該当するときに、コントロールマークCMBの識別に成功したと判断する。
【0059】
コントロールマークCMBの識別に成功したときは(ステップS29:Yes)、ステップS31において、認識部25は、マーク式投票カードMCを受け付けて、ステップS29で識別に成功したコントロールマークCMBから表面フォーマットを特定し、特定した表面フォーマットと、記憶部23に記憶されている合成上面イメージに含まれるマークとに基づいて、上面S1の記入内容を認識する。また、認識部25は、マーク式投票カードMCを受け付けたことを制御部24へ通知し、この通知に従って、制御部24は、マーク式投票カードMCをさらに左方向(+X方向)へ搬送して、マーク式投票カードMCを投票端末10内に回収する。
【0060】
一方で、コントロールマークCMBの識別に失敗したときは(ステップS29:No)、認識部25がコントロールマークCMA,CMBの双方の識別に失敗したときであるため、ステップS33において、認識部25は、マーク式投票カードMCに読取エラーが発生したと判断し、マーク式投票カードMCの受付を拒否する。また、認識部25は、マーク式投票カードMCの受付を拒否したことを制御部24へ通知し、この通知に従って、制御部24は、モータ60を右回転させることにより、マーク式投票カードMCを右方向(−X方向)へ搬送してマーク式投票カードMCをマークカード投入排出口104から排出して返却する。
【0061】
以上のように、実施例1では、マークカード読取装置20は、ラインセンサ21−1,21−2と、画像処理部22と、認識部25とを有する。ラインセンサ21−1は、上面S1としての表面の右辺にコントロールマークCMAが配置されるとともに、表面の左辺にコントロールマークCMBが配置されたマーク式投票カードMCの表面を読み取って1ライン分上面イメージを出力する。コントロールマークCMAとコントロールマークCMBとは、同一のコントロールマーク値を有する同一のコントロールマークである。画像処理部22は、1ライン分上面イメージを合成して合成上面イメージを生成する。認識部25は、合成上面イメージに基づいて、マーク式投票カードMCの表面の記入内容を認識する。そして、認識部25は、コントロールマークCMAの識別に失敗したときに、コントロールマークCMBを用いて、マーク式投票カードMCの表面の記入内容を認識する。
【0062】
こうすることで、コントロールマークの識別の失敗によりマーク式投票カードMCが読取エラーとして返却される頻度を減少させることができるため、マーク式投票カードMCの受付率を向上させることができる。
【0063】
また、実施例1では、認識部25は、コントロールマークCMAの識別に失敗したときに、表面フォーマットの特定を保留する。
【0064】
こうすることで、識別に失敗したコントロールマークを用いて表面フォーマットの特定を行うという無駄な処理を省くことができる。また、識別に失敗したコントロールマークを用いて表面フォーマットが特定されることがなくなるため、誤った表面フォーマットが特定されてしまうことを防止できる。
【0065】
また、実施例1では、ラインセンサ21−1は、認識部25がコントロールマークCMAの識別に成功するか否かにかかわらず、マーク式投票カードMCの搬送に伴って、マーク式投票カードMCの表面の全体を読み取る。
【0066】
こうすることで、コントロールマークCMAの識別に失敗してコントロールマークCMBを用いてマーク式投票カードMCの表面の記入内容を認識する時点では既に、マーク式投票カードMCの表面の全体の画像イメージが取得されているため、マーク式投票カードMCの記入内容の認識に要する時間を短縮することができる。
【0067】
[実施例2]
<マークカード読取装置の動作>
図10及び
図11は、実施例2のマークカード読取装置の動作の一例の説明に供する図である。
【0068】
図10に示すように、マーク式投票カードMCにおいて角CB,CC,CDの3つの角が裏面側に折れた状態で、マーク式投票カードMCが表面を上面S1として左辺側から(つまり、コントロールマークCMA側から)マークカード投入排出口104に投入された場合を想定する。この場合、角CB,CC,CDのそれぞれの角折れの箇所がタイミングマークTMA、コントロールマークCMA、タイミングマークTMB、または、コントロールマークCMBに及んでしまうと、コントロールマークCMA,CMBの位置の特定や、コントロールマークCMA,CMBのコントロールマーク値の特定(つまり、コントロールマークCMA,CMBの識別)が困難になる。
【0069】
図10に示す例では、角CBの角折れの箇所がタイミングマークTMA及びコントロールマークCMAの双方に及んでいるため、合成上面イメージにおいて、タイミングマークTMAのすべてが欠損していると共に、コントロールマークCMAの一部が欠損している。また、角CDの角折れの箇所がタイミングマークTMB及びコントロールマークCMBの双方に及んでいるため、合成上面イメージにおいて、タイミングマークTMBのすべてが欠損していると共に、コントロールマークCMBの一部が欠損している。
【0070】
一方で、裏面については、
図11に示すように、角CCの角折れの箇所がタイミングマークTMD及びコントロールマークCMDの双方に及んでいるため、合成下面イメージにおいて、タイミングマークTMDのすべてが欠損していると共に、コントロールマークCMDの一部が欠損している。しかし、裏面については、角CBの角折れの箇所がタイミングマークTMC及びコントロールマークCMCの何れにも及んでいないため、合成下面イメージにおいて、タイミングマークTMC及びコントロールマークCMCの双方に欠損が無い。また、コントロールマークCMCとコントロールマークCMDとは、同一のコントロールマーク値を有する同一のコントロールマークである。
【0071】
そこで、記憶部23は、コントロールマークCMA,CMB(つまり、表面のコントロールマーク)と、コントロールマークCMC,CMD(つまり、裏面のコントロールマーク)との対応関係(以下では「CM対応関係」と呼ぶことがある)を設定されたテーブル(以下では「対応関係テーブル」と呼ぶことがある)を予め記憶する。
【0072】
図12は、実施例2の対応関係テーブルの一例を示す図である。
図12に示すように、対応関係テーブルでは、例えば、裏面のコントロールマーク値“112”に対応する表面のコントロールマーク値として“111”が設定され、裏面のコントロールマーク値“22B”に対応する表面のコントロールマーク値として“22A”が設定され、裏面のコントロールマーク値“336”に対応する表面のコントロールマーク値として“335”が設定され、裏面のコントロールマーク値“402”に対応する表面のコントロールマーク値として“401”が設定され、裏面のコントロールマーク値“31B”に対応する表面のコントロールマーク値として“31A”が設定される。
【0073】
よって、認識部25は、裏面のコントロールマークであるコントロールマークCMC,CMDの何れかを識別できれば、CM対応関係に基づいて、表面のコントロールマークであるコントロールマークCMA,CMBのコントロールマーク値を対応関係テーブルから取得することができる。そこで、認識部25は、コントロールマークCMA,CMBの双方の識別に失敗したときに、CM対応関係に基づいて、上面S1の記入内容を認識する。例えば、
図10及び
図11に示す状態において、裏面のコントロールマークCMCの識別に成功する認識部25は、コントロールマークCMCのコントロールマーク値“112”に基づいて
図12に示す対応関係テーブルを参照し、コントロールマーク値“112”に対応するコントロールマーク値“111”を表面のコントロールマーク値として取得する。そして、認識部25は、対応関係テーブルから取得したコントロールマーク値“111”を用いて、表面の記入内容を認識する。
【0074】
<マークカード読取装置の処理>
図13は、実施例2のマークカード読取装置の処理の一例の説明に供するフローチャートである。
図13において、ステップS11〜S27の処理は実施例1(
図9)と同一であるため、説明を省略する。また、以下では、マーク式投票カードMCの表面の記入内容の認識方法に着目して説明する。
【0075】
図13のステップS21において読取ライン数がNに達した場合は(ステップS21:Yes)、記憶部23に記憶されている合成上面イメージは上面S1全体の画像イメージになっているため、ステップS53において、画像処理部22は、読取ライン数がNに達したことを認識部25に通知する。この通知に従って、認識部25は、マーク式投票カードMCを受け付けて、ステップS19で識別に成功したコントロールマークCMAから表面フォーマットを特定し、特定した表面フォーマットと、記憶部23に記憶されている合成上面イメージに含まれるマークとに基づいて、上面S1の記入内容を認識する。また、認識部25は、マーク式投票カードMCを受け付けたことを制御部24へ通知し、この通知に従って、制御部24は、マーク式投票カードMCをさらに左方向(+X方向)へ搬送して、マーク式投票カードMCを投票端末10内に回収する。
【0076】
また、ステップS41では、認識部25は、コントロールマークCMBの識別に成功したか否か(つまり、コントロールマークCMBの識別に成功したか失敗したか)を判断する。判断手法は、実施例1と同様である。
【0077】
コントロールマークCMBの識別に成功したときは(ステップS41:Yes)、ステップS53において、認識部25は、マーク式投票カードMCを受け付けて、ステップS41で識別に成功したコントロールマークCMBから表面フォーマットを特定し、特定した表面フォーマットと、記憶部23に記憶されている合成上面イメージに含まれるマークとに基づいて、上面S1の記入内容を認識する。また、また、認識部25は、マーク式投票カードMCを受け付けたことを制御部24へ通知し、この通知に従って、制御部24は、マーク式投票カードMCをさらに左方向(+X方向)へ搬送して、マーク式投票カードMCを投票端末10内に回収する。
【0078】
一方で、コントロールマークCMBの識別に失敗したときは(ステップS41:No)、認識部25が表面のコントロールマークCMA,CMBの双方の識別に失敗したときであるため、ステップS43において、認識部25は、記憶部23に記憶されているNライン分の合成下面イメージに基づいて、コントロールマークCMCの識別を試みる。
【0079】
次いで、ステップS45では、認識部25は、コントロールマークCMCの識別に成功したか否か(つまり、コントロールマークCMCの識別に成功したか失敗したか)を判断する。例えば、認識部25は、Nライン分の合成下面イメージにおいて、マーク式投票カードMCの先端から所定の長さ以内にタイミングマークTMCを検出しないときに、コントロールマークCMCの識別に失敗したと判断する。また例えば、認識部25は、Nライン分の合成下面イメージにおいて、マーク式投票カードMCの先端から所定の長さ以内にタイミングマークTMCを検出したときでも、コントロールマークCMCから算出されるコントロールマーク値が、記憶部23に予め記憶されている何れのコントロールマーク値にも該当しないときに、コントロールマークCMCの識別に失敗したと判断する。また例えば、認識部25は、Nライン分の合成下面イメージにおいて、マーク式投票カードMCの先端から所定の長さ以内にタイミングマークTMCを検出し、かつ、コントロールマークCMCから算出されるコントロールマーク値が、記憶部23に予め記憶されている何れかのコントロールマーク値に該当するときに、コントロールマークCMCの識別に成功したと判断する。
【0080】
コントロールマークCMCの識別に成功したときは(ステップS45:Yes)、ステップS51において、認識部51は、識別に成功したコントロールマークCMCから算出されるコントロールマーク値に基づいて対応関係テーブルを参照し、コントロールマークCMCのコントロールマーク値に対応するコントロールマーク値(つまり、コントロールマークCMA,CMBのコントロールマーク値)を取得する。つまり、コントロールマークCMCの識別に成功したときのステップS51では、認識部51は、ステップS45で識別に成功した裏面のコントロールマークCMCから、表面のコントロールマークCMAを特定する。
【0081】
一方で、コントロールマークCMCの識別に失敗したときは(ステップS45:No)、認識部25が表面のコントロールマークCMA,CMBの識別及び裏面のコントロールマークCMCの識別に失敗したときであるため、ステップS47において、認識部25は、記憶部23に記憶されているNライン分の合成下面イメージに基づいて、コントロールマークCMDの識別を試みる。
【0082】
次いで、ステップS49では、認識部25は、コントロールマークCMDの識別に成功したか否か(つまり、コントロールマークCMDの識別に成功したか失敗したか)を判断する。例えば、認識部25は、Nライン分の合成下面イメージにおいて、マーク式投票カードMCの後端から所定の長さ以内にタイミングマークTMDを検出しないときに、コントロールマークCMDの識別に失敗したと判断する。また例えば、認識部25は、Nライン分の合成下面イメージにおいて、マーク式投票カードMCの後端から所定の長さ以内にタイミングマークTMDを検出したときでも、コントロールマークCMDから算出されるコントロールマーク値が、記憶部23に予め記憶されている何れのコントロールマーク値にも該当しないときに、コントロールマークCMDの識別に失敗したと判断する。また例えば、認識部25は、Nライン分の合成下面イメージにおいて、マーク式投票カードMCの後端から所定の長さ以内にタイミングマークTMDを検出し、かつ、コントロールマークCMDから算出されるコントロールマーク値が、記憶部23に予め記憶されている何れかのコントロールマーク値に該当するときに、コントロールマークCMDの識別に成功したと判断する。
【0083】
コントロールマークCMDの識別に成功したときは(ステップS49:Yes)、ステップS51において、認識部51は、識別に成功したコントロールマークCMDから算出されるコントロールマーク値に基づいて対応関係テーブルを参照し、コントロールマークCMDのコントロールマーク値に対応するコントロールマーク値(つまり、コントロールマークCMA,CMBのコントロールマーク値)を取得する。つまり、コントロールマークCMDの識別に成功したときのステップS51では、認識部51は、ステップS49で識別に成功した裏面のコントロールマークCMDから、表面のコントロールマークCMAを特定する。
【0084】
ステップS51に後続するステップS53において、認識部25は、マーク式投票カードMCを受け付けて、ステップS51で特定したコントロールマークCMAから表面フォーマットを特定し、特定した表面フォーマットと、記憶部23に記憶されている合成上面イメージに含まれるマークとに基づいて、上面S1の記入内容を認識する。また、認識部25は、マーク式投票カードMCを受け付けたことを制御部24へ通知し、この通知に従って、制御部24は、マーク式投票カードMCをさらに左方向(+X方向)へ搬送して、マーク式投票カードMCを投票端末10内に回収する。
【0085】
一方で、コントロールマークCMDの識別に失敗したときは(ステップS49:No)、認識部25が表面のコントロールマークCMA,CMB、及び、裏面のコントロールマークCMC,CMDのすべてのコントロールマークの識別に失敗したときであるため、ステップS55において、認識部25は、マーク式投票カードMCに読取エラーが発生したと判断し、マーク式投票カードMCの受付を拒否する。また、また、認識部25は、マーク式投票カードMCの受付を拒否したことを制御部24へ通知し、この通知に従って、制御部24は、モータ60を右回転させることにより、マーク式投票カードMCを右方向(−X方向)へ搬送してマーク式投票カードMCをマークカード投入排出口104から排出して返却する。
【0086】
以上のように、実施例2では、ラインセンサ21−1がマーク式投票カードMCの表面を読み取って1ライン分上面イメージを出力するとともに、ラインセンサ21−2が、下面S2としての裏面の右辺にコントロールマークCMCが配置されるとともに、裏面の左辺にコントロールマークCMDが配置されたマーク式投票カードMCの裏面を読み取って1ライン分下面イメージを出力する。コントロールマークCMCとコントロールマークCMDとは、同一のコントロールマーク値を有する同一のコントロールマークである。画像処理部22は、1ライン分上面イメージを合成して合成上面イメージを生成するとともに、1ライン分下面イメージを合成して合成下面イメージを生成する。認識部25は、合成上面イメージに基づいてマーク式投票カードMCの表面の記入内容を認識するとともに、合成下面イメージに基づいてマーク式投票カードMCの裏面の記入内容を認識する。そして、認識部25は、コントロールマークCMA及びコントロールマークCMBの双方の識別に失敗したときに、コントロールマークCMCとコントロールマークCMAとの対応関係、または、コントロールマークCMDとコントロールマークCMAとの対応関係に基づいて、マーク式投票カードMCの表面の記入内容を認識する。
【0087】
こうすることで、マーク式投票カードMCに角折れが複数発生した場合でも、コントロールマークの識別に成功する頻度を増加させることができるため、マーク式投票カードMCの受付率をさらに向上させることができる。
【0088】
なお、コントロールマークCMAとコントロールマークCMBとは同一のコントロールマーク値を有する同一のコントロールマークであるため、認識部25は、コントロールマークCMCとコントロールマークCMBとの対応関係、または、コントロールマークCMDとコントロールマークCMBとの対応関係に基づいて、マーク式投票カードMCの表面の記入内容を認識しても良い。
【0089】
[実施例3]
実施例1,2では、マーク式投票カードMCにおいて、コントロールマークCMAが表面の右辺に沿って配置され、コントロールマークCMBが表面の左辺に沿って配置され、コントロールマークCMCが裏面の右辺に沿って配置され、コントロールマークCMDが裏面の左辺に沿って配置される場合を一例に挙げて説明した。しかし、開示の技術は、例えば、マーク式投票カードMCにおいて、コントロールマークCMAが表面の上辺に沿って配置され、コントロールマークCMBが表面の下辺に沿って配置され、コントロールマークCMCが裏面の上辺に沿って配置され、コントロールマークCMDが裏面の下辺に沿って配置される場合にも適用可能である。表面の右辺と表面の左辺とは、表面において互いに対向する辺であり、裏面の右辺と裏面の左辺とは、裏面において互いに対向する辺である。同様に、表面の上辺と表面の下辺とは、表面において互いに対向する辺であり、裏面の上辺と裏面の下辺とは、裏面において互いに対向する辺である。
【0090】
[実施例4]
<マークカード読取装置のハードウェア構成>
マークカード読取装置20は、例えば、次のようなハードウェア構成により実現することができる。
図14は、実施例4のマークカード読取装置のハードウェア構成例を示す図である。
図14において、マークカード読取装置20は、ハードウェアの構成要素として、プロセッサ20aと、メモリ20bと、搬送機構20cと、ラインセンサ21と、ネットワークインタフェースモジュール20dとを有する。プロセッサ20aの一例として、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等が挙げられる。また、マークカード読取装置20は、プロセッサ20aと周辺回路とを含むLSI(Large Scale Integrated circuit)を有しても良い。メモリ20bの一例として、SDRAM(Synchronous Dynamic Random Access Memory)等のRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等が挙げられる。
【0091】
搬送機構20cには、モータ60と、上側搬送ローラ65と、下側搬送ローラ70とが含まれる。画像処理部22、制御部24、及び、認識部25は、例えばプロセッサ20aによって実現される。記憶部23は、例えばメモリ20bによって実現される。通信部26は、例えばネットワークインタフェースモジュール20dによって実現される。
【0092】
また、マークカード読取装置20の上記説明における各処理は、各処理に対応するプログラムをプロセッサ20aに実行させることによって実現しても良い。例えば、上記説明における各処理に対応するプログラムがメモリ20bに記憶され、プログラムがプロセッサ20aによってメモリ20bから読み出されて実行されても良い。また、このプログラムは、マークカード読取装置20以外の装置にもインストールすることが可能である。