A1.装置構成:
図1は、本発明の一実施例としての光学情報読取装置の概略構成を示すブロック図である。図2は、本実施例の光学情報読取装置が取り扱う商品券の表面の概略構成を示す説明図である。
図1に示す光学情報読取装置100は、バーコードが印刷された紙葉類を受け入れ、バーコードを読み取って管理する。本実施例では、かかる紙葉類として商品券を採用するが、商品券に限定されるものではない。紙葉類として、例えば、紙幣、クーポン券、カード、通帳など、任意の紙葉類を採用してもよい。
図2に示すように、光学情報読取装置100において取り扱い可能な商品券Cは、表面に、バーコードが印刷された部分(以下、「バーコード部」と呼ぶ)P1と、文字列が印刷された部分(以下、「文字部」と呼ぶ)P2とを備えている。文字部P2は、バーコード部P1の近傍に配置されている。本実施例では、文字部P2に印刷された文字は、バーコード部P1に印刷されたバーコードの意味する文字と一致している。なお、文字部P2の文字とバーコードの意味する文字とが一致しない構成を採用することもできる。例えば、バーコードがチェックデジットを含む構成を採用してもよい。この構成では、文字部P2の文字とバーコードの意味する文字とは一致しない。この場合であっても、バーコードの意味する文字(数字)に対して所定の計算を行うことにより、文字部P2の文字とバーコードの意味する文字とを一致させることができる。すなわち、本実施例の光学情報読取装置100が取り扱うことができる紙葉類として、バーコードと、バーコードの意味する文字に対応する文字とが印刷された商品券等の任意の紙葉類を採用してもよい。
図1に示すように、光学情報読取装置100は、紙葉類入出部30と、搬送機構32と、回収庫34と、返却庫36と、撮像部40と、表示部42と、操作部44と、記憶部46と、主制御部10とを備えている。
紙葉類入出部30は、ユーザによって挿入された紙葉類を受け入れ、また、紙葉類を排出してユーザに返却する。搬送機構32は、光学情報読取装置100内において紙葉類を搬送する。搬送機構32は、紙葉類入出部30と、回収庫34と、返却庫36とに接続されており、紙葉類入出部30に挿入された紙葉類を、回収庫34又は返却庫36に向かって搬送する。また、搬送機構32は、回収庫34又は返却庫36内に保管されている紙葉類を、紙葉類入出部30に向かって搬送する。搬送機構32としては、例えば、複数のローラーにより構成される搬送路と、かかるローラーを駆動するモーター等により構成することができる。
回収庫34は、紙葉類入出部30に挿入された紙葉類のうち、後述する紙葉類受入処理において回収すべき紙葉類であると判断された紙葉類を保管する。返却庫36は、紙葉類入出部30に挿入された紙葉類のうち、後述する紙葉類受入処理において返却すべき紙葉類であると判断された紙葉類を一時的に保管する。
撮像部40は、紙葉類の搬送路の途中に配置されており、搬送される紙葉類の表面を撮像して画像を取得する。表示部42は、各種メニュー画面等を表示する。操作部44は、各種操作ボタンを備え、ユーザによる操作を受け付ける。
記憶部46は、データの上書きが可能な不揮発性メモリにより構成されており、読取ログ格納部47と、補正ログ格納部48とを備えている。読取ログ格納部47は、後述する読取ログを格納する。補正ログ格納部48は、後述する補正ログを格納する。
主制御部10は、光学情報読取装置100全体の制御を行う。主制御部10は、CPU(Central Processing Unit)や、ROM(Read Only Memory)や、RAM(Random Access Memory)等により構成されている。主制御部10は、搬送制御部11と、撮像制御部12と、ユーザインターフェイス制御部13と、画像認識部14と、バーコード解釈部15と、種別判定部16と、受入制御部17と、リトライ制御部18と、画像処理部19とを備えている。これらの各種機能部10〜19は、CPUがROMに記憶されている各種制御用プログラムを実行することにより実現される。
搬送制御部11は、搬送機構32を制御して、紙葉類の搬送速度や、紙葉類の位置を制御する。撮像制御部12は、撮像部40を制御する。ユーザインターフェイス制御部13は、各種メニュー画面を作成すると共に、表示部42を制御してメニュー画面を表示させる。また、ユーザインターフェイス制御部13は、操作部44から入力された指示を解釈し、解釈した指示内容を他の機能部11,12,14〜19に伝える。画像認識部14は、撮像部40による撮像により得られた画像(以下、「撮像画像」と呼ぶ)から、バーコード部や、文字部などを特定する。また、画像認識部14は、特定された文字部から文字を認識して文字情報を取得する。バーコード解釈部15は、バーコード部に記載されたバーコードを解釈して文字情報を抽出する。具体的には、バーコード解釈部15は、バーコードの形状等からバーコードの種類を特定すると共に、特定した種類に応じた読取ルールにしたがって、文字情報を取得する。種別判定部16は、バーコードから抽出された文字情報や紙葉類(商品券C)の表面の模様等に基づき、紙葉類の種類を特定する。受入制御部17は、後述する紙葉類受入処理及び返却処理の全体を制御する。リトライ制御部18は、後述するリトライ処理の全体を制御する。画像処理部19は、撮像制御部12により得られた撮像画像を、ユーザからの指示に従って補正する。
上記構成を有する光学情報読取装置100では、後述する紙葉類受入処理と、返却処理と、リトライ処理とを実行することにより、当初バーコードの読み取りが不可能であった紙葉類を容易に受け入れることができる。なお、前述のユーザインターフェイス制御部13は、請求項における表示制御部に相当する。また、画像認識部14は請求項における第2の文字情報取得部に、バーコード解釈部15は請求項における第1の文字情報取得部及び光学的シンボル生成部に、リトライ制御部18は請求項における読取文字数比較部に、画像処理部19は請求項における画像補正部に、それぞれ相当する。
A2.紙葉類受入処理:
図3は、紙葉類受入処理の手順を示すフローチャートである。ユーザが1枚又は複数枚の商品券Cを紙葉類入出部30に挿入し、表示部42に表示された各種メニュー画面の中から操作部44を操作して紙葉類受入処理メニューを選択すると、光学情報読取装置100において紙葉類受付処理が開始される。
撮像制御部12は、撮像部40を制御して、紙葉類入出部30に挿入された紙葉類(商品券C)のうち、1枚の商品券Cについて表面を撮像して撮像画像を得る(ステップS105)。画像認識部14は、撮像画像からバーコード部及び文字部を特定し、バーコード解釈部15は、特定されたバーコード部の画像(以下、「読取バーコード画像」と呼ぶ)から文字情報を取得する(ステップS110)。このとき、バーコードの印刷品質が不良である等の理由により、バーコードの示す文字情報のうち、一部の文字情報(一部の桁)が読み取りできなかった場合、バーコード解釈部15は、かかる文字については不明であることを示す情報を付加して記録する。本実施例では、上述した不明であることを示す情報として、「?」の文字を採用しているが、かかる文字に限らず任意の文字を用いてもよい。なお、画像認識部14は、バーコード部を特定する際に、バーコード部の印字座標を特定する。以降では、バーコード部の画像から取得された文字情報を、「バーコード解釈文字情報」と呼ぶ。なお、前述のバーコード解釈文字情報は、請求項における第1の文字情報に相当する。
画像認識部14は、文字部の画像(以下、「文字画像」と呼ぶ)から文字情報を取得する(ステップS115)。以降では、文字画像から取得された文字情報を、「読取文字情報」と呼ぶ。なお、文字画像は、請求項における文字コード画像に相当する。また、読取文字情報は、請求項における第2の文字情報に相当する。種別判定部16は、商品券Cの種類を特定し、受入制御部17は、前述のステップS110,S115により得られた情報や、特定された商品券Cの種類を、読取ログに記録する(ステップS120)。
図4は、図1に示す読取ログ格納部47に格納される読取ログの内容の一例を示す説明図である。図4に示すように、読取ログは、読取番号フィールドf1と、バーコード種別フィールドf2と、バーコード解釈文字情報フィールドf3と、読取文字情報フィールドf4と、紙葉類種別フィールドf5と、バーコード部印字座標フィールドf6と、分類フィールドf7と、補正フィールドf8とを備えている。読取ログには、1枚の紙葉類ごとに、各フィールドf1〜f8からなるエントリが記録される。図4の例では、読取ログに3つのエントリ(エントリE1,E2,E3)が記録されている。
読取番号フィールドf1には、光学情報読取装置100における読取の順序(エントリ番号)が記録される。バーコード種別フィールドf2には、バーコードの種類が記録される。バーコード解釈文字情報フィールドf3には、前述のステップS110で得られたバーコード解釈文字情報が記録される。読取文字情報フィールドf4には、前述のステップS115で得られた読取文字情報が記録される。紙葉類種別フィールドf5には、ステップS120で特定された商品券Cの種類が記録される。バーコード部印字座標フィールドf6には、前述のステップS110で特定されたバーコード部の印字座標が記録される。分類フィールドf7には、光学情報読取装置100に挿入された紙葉類の処理結果に応じた分類情報が記録される。補正フィールドf8には、後述するリトライ処理における補正の有無が記録される。前述のステップS120では、図4に示す各フィールドf1〜f8のうち、6つのフィールドf1〜f6が記録される。
図3に示すように、前述のステップS120が実行された後、受入制御部17は、バーコード解釈文字に読み取りできなかった文字が含まれているか否かを判定する(ステップS125)。受入制御部17は、バーコード解釈文字に読み取りできなかった文字が含まれていないと判定された場合(ステップS125:NO)、ステップS110で得られたバーコード解釈文字情報と、ステップS115で得られた読取文字情報とを比較して(ステップS130)、これら2つの情報の示す文字が一致するか否かを判定する(ステップS135)。
前述のステップS135において、2つの情報(バーコード解釈文字情報及び読取文字情報)の示す文字が一致すると判定された場合(ステップS135:YES)、受入制御部17は、記録ログにおける該当するエントリ(処理対象の商品券Cのエントリ)において、分類フィールドf7に「回収」を記録する。搬送制御部11は、搬送機構32を制御して、処理対象の商品券Cを回収庫34に搬送する。その結果、処理対象の商品券Cは、回収庫34に保管される。読取できなかった文字が含まれておらず(ステップS125:NO)、かつ、バーコード解釈文字情報の示す文字と読取文字情報の示す文字とが一致している場合(ステップS135:YES)、バーコードの読取は正常に行えており、処理対象の商品券Cを受け入れても良いと判断できる。そこで、光学情報読取装置100では、かかる処理対象の商品券Cを回収庫34に回収して保管するようにしている。
前述のステップS125においてバーコード解釈文字に読み取りできなかった文字が含まれている判定された場合(ステップS125:YES)、および、前述のステップS135において、2つの情報(バーコード解釈文字情報及び読取文字情報)の示す文字が一致しないと判定された場合(ステップS135:NO)、受入制御部17は、記録ログにおける該当するエントリ(処理対象の商品券Cのエントリ)において、分類フィールドf7に「読取不可」を記録する(ステップS155)。搬送制御部11は、搬送機構32を制御して、処理対象の商品券Cを返却庫36に搬送する。前述のステップS160が実行された後、受入制御部17は、返却処理を行う(ステップS165)。返却処理の詳細については、後述する。
受入制御部17は、前述のステップS145が実行された後、及び返却処理が完了した後(ステップS165の後)、受入制御部17は、紙葉類入出部30に挿入されたすべての商品券Cについて上述した各処理が実行されたか否かを判定し(ステップS150)。すべての商品券Cについて上述した各処理が実行されていないと判定された場合(ステップS150:NO)、前述のステップS105に戻って、残りの商品券Cを処理対象として、ステップS105〜S165を実行する。これに対して、すべての商品券Cについて上述した各処理が実行されたと判定された場合(ステップS150:YES)、紙葉類受入処理は終了する。
A3.返却処理:
図5は、図3に示す返却処理(ステップS165)の詳細手順を示すフローチャートである。受入制御部17は、読取ログを参照して、同種の紙葉類に対して既に行われた補正の有無を特定し(ステップS205)、かかる補正の有無を判定する(ステップS210)。図4に示すように、各エントリの紙葉類種別フィールドf5には、紙葉類の種類が記録されている。また、各エントリの補正フィールドf8には、補正有りを示す「有り」と、補正無しを示す「無し」とが記録されている。したがって、受入制御部17は、これらのフィールドf5、f8を参照することにより、処理対象の商品券Cと同種の紙葉類に対する補正の有無を判定することができる。
受入制御部17は、処理対象の商品券Cと同種の紙葉類に対して補正があると判定されると(ステップS210:YES)、補正ログ格納部48に格納されている補正ログを参照して、かかる補正を特定すると共に、画像処理部19を制御して、特定された補正と同じ補正を、処理対象のC商品券Cの読取バーコード画像に対して実行する(ステップS215)。なお、補正の詳細については、後述する。
バーコード解釈部15は、ステップS215により補正された後の読取バーコード画像から文字情報を取得する(ステップS220)。受入制御部17は、ステップS220で取得された文字情報(以下、「再取得文字情報」と呼ぶ)に、読み取りできなかった文字が含まれているか否かを判定する(ステップS225)。受入制御部17は、再取得文字情報に、読み取りできなかった文字が含まれていないと判定された場合(ステップS225:NO)、再取得文字情報の示す文字と、ステップS115で得られた読取文字情報とを比較して(ステップS230)、これら2つの情報の示す文字が一致するか否かを判定する(ステップS235)。
前述のステップS235において、2つの情報(バーコード解釈文字情報及び読取文字情報)の示す文字が一致すると判定された場合(ステップS235:YES)、受入制御部17は、記録ログにおける該当するエントリ(処理対象の商品券Cのエントリ)において、分類フィールドf7の値を、「読取不可」から「利用者により回収」に変更すると共に、補正フィールドf8の値を、「有り」に変更する(ステップS240)。搬送制御部11は、搬送機構32を制御して、処理対象の商品券Cを回収庫34に搬送する。その結果、処理対象の商品券Cは、回収庫34に保管され、返却処理は終了する。
前述のステップS210において同種の紙葉類に対する補正が無いと判定された場合(ステップS210:NO)と、前述のステップS225においてバーコード解釈文字に読み取りできなかった文字が含まれている判定された場合(ステップS225:YES)と、前述のステップS235において、2つの情報(再取得文字情報及び読取文字情報)の示す文字が一致しないと判定された場合(ステップS235:NO)とには、搬送制御部11は、処理対象の商品券Cを、返却庫36から紙葉類入出部30に搬送して排出する(ステップS250)。ユーザインターフェイス制御部13は、リトライメニュー画面を表示部42に表示させる(ステップS255)。
図6は、ステップS255において表示されるリトライメニュー画面の一例を示す説明図である。リトライメニュー画面W1は、ユーザに対してリトライ処理の実行の要否を確認するための画面である。リトライ処理とは、前述の返却処理によりユーザに返却された商品券Cを対象として、光学情報読取装置100への受け入れを再度試みる処理である。
図6に示すように、リトライメニュー画面W1には、2つの操作ボタンB1,B2と、メッセージを表示する領域AR1とが表示されている。操作ボタンB1は、「はい」(了解)を指示するボタンである。操作ボタンB2は、キャンセルを指示するボタンである。領域AR1には、リトライ処理の実行の要否を問うメッセージが表示されている。
リトライメニュー画面W1が表示された後、リトライ制御部18は、リトライ処理の実行が指示されたか否かを判定する(ステップS260)。図6に示す操作ボタンB1が押下されると、リトライ処理の実行が指示されたと判定され(ステップS260:YES)、リトライ処理が実行される(ステップS265)。これに対して、図6に示す操作ボタンB2が押下されると、リトライ処理の実行が指示されないと判定され(ステップS260:NO)、返却処理は終了する。
A4.リトライ処理:
図7は、実施例1におけるリトライ処理の手順を示す第1のフローチャートである。図8は、実施例1におけるリトライ処理の手順を示す第2のフローチャートである。図8に示すフローチャートは、図7に示すフローチャートのうち、後述するステップS310の判定結果に応じて実行される手順を示している。
リトライ制御部18は、補正ログを参照して、紙葉類の種類毎に、紙葉類受付処理において読み取りできなかった文字が含まれていたケースと、バーコード解釈文字情報の示す文字と読取文字情報の示す文字とが一致しないケースとの合計回数(読取不可回数)を集計すると共に、紙葉類の種類毎に補正の有無を特定する(ステップS305)。図9は、ステップS305により得られる集計結果の一例を示す説明図である。図9に示すように、ステップS305により得られる集計結果には、紙葉類の種類と、読取不可回数と、補正の有無とが含まれている。例えば、紙葉類の種類が「○○百貨店」である紙葉類(商品券C)については、読取不可回数が「6」、補正の有無は「無し」と集計されている。ここで、読取不可回数は、図4に示すように読取ログ内の分類フィールドf7が、「読取不可」又は「利用者により回収」であるエントリ数を集計することにより得られる。
図7に示すように、ステップS305が実行された後、リトライ制御部18は、ステップS305により得られた集計結果に基づき、リトライ処理の処理対象の商品券Cと同じ種類の紙葉類について、読取不可回数が所定数以上であるか否かを判定する(ステップS310)。ステップS310における所定数としては、例えば、10や100など任意の値を設定することができる。後述するように、本実施例では、同じ種類の紙葉類について読み取りできなかった回数が所定数以上ある場合には、その種類の紙葉類において同様な印刷不良等の不具合が起きているものと判断し、読取画像の補正を1回だけ行い、かかる補正を同種の紙葉類に共通的に行うようにしている。
リトライ処理の処理対象の商品券Cと同じ種類の紙葉類について、読取不可回数が所定数以上でないと判定された場合(ステップS310:NO)、リトライ制御部18は、読取ログにおける処理対象の紙葉類のエントリを参照して、バーコード解釈文字情報における読取不可桁数と、読取文字情報における読取不可桁数とを比較して、バーコード解釈文字情報における読取不可桁数が、読取文字情報における読取不可桁数以上であるか否かを判定する(ステップS315)。
リトライ制御部18は、バーコード解釈文字情報における読取不可桁数が、読取文字情報における読取不可桁数以上であると判定された場合(ステップS315:YES)、ユーザインターフェイス制御部13を制御して、読取文字情報の示す文字を、表示部42に表示させる(ステップS320)。これに対して、バーコード解釈文字情報における読取不可桁数が、読取文字情報における読取不可桁数よりも少ないと判定された場合(ステップS315:NO)、リトライ制御部18は、受入制御部17を制御して、バーコード解釈文字情報の示す文字を、表示部42に表示させる(ステップS325)。
図10は、前述のステップS320又はステップS325で表示される文字情報を含むメニュー画面の一例を示す説明図である。図10に示すメニュー画面W2は、文字情報表示領域U1と、候補文字表示領域U2と、操作ボタンB3と、操作ボタンB4とを有している。文字情報表示領域U1には、ステップS320が実行される場合には読取文字情報の示す文字が、ステップS325が実行される場合にはバーコード解釈文字情報の示す文字が、それぞれ表示される。図10の例では、図4に示すエントリE2の読取文字情報が文字情報表示領域U1に表示されている。図4に示すように、エントリE2では、読取文字情報において読取不可の桁数は「1」であり、バーコード解釈文字情報において読取不可の桁数は「2」であるため、かかるエントリE2の商品券Cを対象としてリトライ処理が実行された場合、ステップS320が実行されることになる。
候補文字表示領域U2には、文字情報表示領域U1に表示された文字列に対して、読取不可の桁に、候補の文字を表示した候補文字が表示される。かかる候補文字としては、例えば、図10のように、読取文字情報の示す文字が文字情報表示領域U1に表示された場合には、読取文字情報における読取不可の桁に相当するバーコード解釈文字情報の桁の値を、読取文字情報における読取不可文字に代えて用いた文字を採用することができる。また、例えば、読取不可文字に任意の文字を代替した文字を採用してもよい。代替する文字としては、例えば、同じ種類の紙葉類の同じ桁において用いられた頻度の高い文字を採用してもよい。図10の例では、文字情報表示領域U1に表示された文字のうち、読取不可文字「?」に代えて、「E」、「1」、「2」が用いられた3つの文字が候補として候補文字表示領域U2に表示されている。なお、図10の例では、3つの候補文字のうち、最上段の候補文字が選択されている。上述したように、バーコード解釈文字情報及び読取文字情報のうち、より読取不可桁数が少ない文字情報の示す文字を判断して、かかる文字を文字情報表示領域U1に表示し、また、かかる文字から候補文字を作成しているので、商品券Cに印刷された正しい文字列により近い候補を候補文字表示領域U2に表示させることができる。このため、ユーザによる直接入力の可能性を低くし、利便性を向上させることができる。
図10に示す操作ボタンB3は、処理の続行を指示するためのボタンである。操作ボタンB4は、候補文字表示領域U2に表示された候補文字が、商品券Cに記載された文字と異なる場合に、ユーザが直接文字を入力するためのメニュー画面を表示させるためのボタンである。ユーザは、返却された紙葉類に記載された文字列(コード)と、候補文字表示領域U2に表示された候補文字とを見比べて、同じ文字列が存在する場合には、かかる文字列を選択して操作ボタンB3を押下することができる。また、ユーザは、候補文字表示領域U2に表示された候補文字のいずれも、返却された紙葉類に記載された文字列(コード)と異なる場合には、操作ボタンB4を押下して、図示しない文字入力画面において操作部44を操作して、正しい文字列を入力することができる。
図7に示すように、リトライ制御部18は、前述のステップS320又はS325が実行された後、ユーザ操作による文字入力の有無を判定する(ステップS330)。文字入力があったと判定された場合(ステップS330:YES)、リトライ制御部18は、記録ログにおける処理対象の紙葉類のエントリにおいて、バーコード解釈文字情報フィールドf3又は読取文字情報フィールドf4を、入力された内容で上書きする(ステップS335)。ユーザ操作による文字入力がなかったと判定された場合(ステップS330:NO)、この場合、前述のメニュー画面W2における候補文字表示領域U2から候補が選択されているので、リトライ制御部18は、記録ログにおける処理対象の紙葉類のエントリにおいて、バーコード解釈文字情報フィールドf3又は読取文字情報フィールドf4を、選択された候補文字列で上書きする(ステップS340)。
ユーザインターフェイス制御部13は、処理対象の商品券Cを紙葉類入出部30に再挿入するように促すメニュー画面を表示部42に表示させる(ステップS345)。リトライ制御部18は、紙葉類入出部30に紙葉類が再挿入されるまで待機し(ステップS350)、再挿入があった場合には(ステップS350:YES)、読取ログにおける処理対象の紙葉類のエントリにおいて、分類フィールドf7を、「利用者により回収」に変更する(ステップS355)。リトライ制御部18は、搬送制御部11を制御して、再挿入された商品券Cを、回収庫34に搬送して保管する(ステップS360)。
前述のステップS310において、リトライ処理の処理対象の商品券Cと同じ種類の紙葉類について、読取不可回数が所定数以上であると判定された場合(ステップS310:YES)、図8に示すように、リトライ制御部18は、読取ログにおける処理対象の紙葉類のエントリを参照して、バーコード解釈文字情報における読取不可桁数と、読取文字情報における読取不可桁数とを比較して、バーコード解釈文字情報における読取不可桁数が、読取文字情報における読取不可桁数以上であるか否かを判定する(ステップS370)。ステップS370の処理は、図7に示す前述のステップS315と同じ処理であるので、説明を省略する。
バーコード解釈文字情報における読取不可桁数が、読取文字情報における読取不可桁数以上であると判定された場合(ステップS370:YES)、バーコード解釈部15は、読取文字情報からバーコードを再現する(ステップS375)。これに対して、バーコード解釈文字情報における読取不可桁数が、読取文字情報における読取不可桁数よりも少ないと判定された場合(ステップS370:NO)、バーコード解釈部15は、バーコード解釈文字情報からバーコードを再現する(ステップS380)。
ユーザインターフェイス制御部13は、ステップS375又はステップS380が実行された後、ステップS375又はステップS380で再現されたバーコードの画像(以下、「再現バーコード画像」と呼ぶ)と、前述のステップS105で取得された読取バーコード画像とを重ねて、表示部42に表示させる(ステップS385)。なお、ステップS380により得られた再現バーコード画像は、請求項における第1の再現シンボル画像に相当する。また、ステップS375により得られた再現バーコード画像は、請求項における第2の再現シンボル画像に相当する。
図11は、ステップS385において表示部42に表示されるメニュー画面の一例を示す説明図である。このメニュー画面W3は、バーコード表示領域ARaと、文字列表示領域ARbと、操作メニュー表示領域ARcとを備えている。バーコード表示領域ARaには、再現バーコード画像と読取バーコード画像とが重ねて表示される。図11の例では、再現バーコード画像Bc1と、読取バーコード画像Bc2とが重ねて表示されている。なお、これらバーコード画像Bc1,Bc2は、図4に示すエントリE3の商品券Cを処理対象とした場合のバーコード画像を示す。図4に示すように、エントリE3では、バーコード解釈文字情報における読取不可桁数「1」が、読取文字情報における読取不可桁数「2」よりも少ないため、再現バーコード画像Bc1は、バーコード解釈文字情報の示す文字から再現されている。バーコード解釈文字情報には読取不可文字が1つ含まれているため、図11に示すように、再現バーコード画像Bc1には、一部の情報が欠けている。文字列表示領域ARbには、再現バーコード画像Bc1の元となった文字列が表示される。図11の例では、エントリE3のバーコード解釈文字情報フィールドf3に記載されている文字列が、文字列表示領域ARbに表示されている。
操作メニュー表示領域ARcには、バーコード表示領域ARaに表示された読取バーコード画像Bc2を補正するためのメニューアイコンが複数表示されている。図11の例では、操作メニュー表示領域ARcに、3つのメニューアイコンm1,m2,m3が表示されている。メニューアイコンm1は、バーコード表示領域ARaに表示された読取バーコード画像Bc2のうち、選択された範囲の拡大及び縮尺を行うためのメニューを示す。メニューアイコンm2は、文字の直接入力を行うためのメニューを示す。メニューアイコンm3は、バーコード表示領域ARaに表示された読取バーコード画像Bc2のうち、選択された範囲の回転を行うためのメニューを示す。
図11に示すように、再現バーコード画像Bc1と、読取バーコード画像Bc2とが重ねて表示されるので、ユーザは、読取バーコード画像Bc2をどのように補正したら、再現バーコード画像Bc1に近づける(近似させる)ことができるかを容易に理解することができる。図11の例では、ユーザは、読取バーコード画像Bc2の一部を選択した上で、メニューアイコンm3を選択して、選択領域SR1を時計回りに回転させようとしている。なお、補正が完了した後、ユーザは、メニュー画面W3に含まれる図示しない操作ボタンを選択することにより、画像の補正を確定すると共に処理の続行を指示することができる。なお、図11に示すメニュー画面W3は、請求項におけるユーザインターフェイスに相当する。
前述のステップS385が実行された後、バーコード解釈部15は、メニュー画面W3を利用した読取バーコード画像Bc2の補正が完了するまで待機し(ステップS390)、補正後のバーコード画像から文字情報を取得する(ステップS395)。以降では、ステップS395により取得された文字情報を、「補正バーコード解釈文字情報」と呼ぶ。
図12は、補正前の読取バーコード画像と、補正後の読取バーコード画像とを示す説明図である。図12において、(a)は補正前の読取バーコード画像を示し、(b)は補正後の読取バーコード画像を示す。なお、図12(a)は、図11に示すバーコード表示領域ARaに表示された画像と同じである。図12(a),(b)では、読取バーコード画像に加えて、再現バーコード画像Bc1も表示されている。
図12(a)(図11)に示すようにユーザが読取バーコード画像Bc2を補正することにより、図12(b)に示すように、補正後の読取バーコード画像Bc3が得られる。補正後の読取バーコード画像Bc3は、補正前の読取バーコード画像Bc2に比べて、再現バーコード画像Bc1に近似している。それゆえ、図12(b)に示すように、かかる補正後の読取バーコード画像Bc3から取得された文字情報(補正バーコード解釈文字情報)では、読取不可文字が解消される可能性が高くなる。
リトライ制御部18は、ステップS385により取得された補正バーコード解釈文字情報に、読み取りできなかった文字が含まれているか否かを判定する(ステップS400)。補正バーコード解釈文字情報に、読み取りできなかった文字が含まれていないと判定された場合(ステップS400:NO)、リトライ制御部18は、補正バーコード解釈文字情報の示す文字と、ステップS115で得られた読取文字情報とを比較して(ステップS405)、これら2つの情報の示す文字が一致するか否かを判定する(ステップS410)。
前述のステップS410において、2つの情報(補正バーコード解釈文字情報及び読取文字情報)の示す文字が一致すると判定された場合(ステップS410:YES)、ユーザインターフェイス制御部13は、処理対象の商品券Cの再挿入を促すメニュー画面を表示部42に表示させる(ステップS415)。リトライ制御部18は、紙葉類入出部30に商品券Cが再挿入されるまで待機し(ステップS420)、再挿入があった場合には(ステップS420:YES)、読取バーコード画像の補正内容を補正ログに記録する(ステップS425)。リトライ制御部18は、ステップS395において得られた補正バーコード解釈文字情報を、読取ログにおける該当するエントリのバーコード解釈文字情報フィールドf3に上書きする(ステップS430)。その後、図7に示す前述のステップS355,S360が実行され、処理対象の商品券Cは、回収庫34に保管される。
前述のステップS400において、補正バーコード解釈文字情報に、読み取りできなかった文字が含まれていると判定された場合(ステップS400:YES)、及び前述のステップS410において、2つの情報(補正バーコード解釈文字情報及び読取文字情報)の示す文字が一致しないと判定された場合(ステップS410:NO)、リトライ処理は終了する。この場合、リトライは失敗し、処理対象となった商品券Cは、光学情報読取装置100に保管されない。
以上説明した実施例1の光学情報読取装置100では、リトライ処理において、再現バーコードの画像と、読取バーコード画像とを重ねて表示するので、どのように読取バーコード画像を補正すれば再現バーコード画像に近似させ得るかを、ユーザに容易に理解させることができる。再現バーコード画像は、読み取ることができた文字情報から再現されているので、再現バーコード画像に近似させる補正を行うことにより、補正後の読取バーコードにおいて、読み取りできない文字が生じることを抑制できる。このため、商品券Cを受け入れることが可能となる。したがって、光学情報読取装置100によると、バーコードが読み取れない場合においても商品券Cを容易に受け入れることができる。
また、光学情報読取装置100では、読取バーコード画像が補正された場合に補正内容を記録しておき、返却処理において、同じ種類の紙葉類に対して既に行われた補正がある場合に、かかる補正内容を実行するようにしている。したがって、同一ロットの多数の紙葉類において印刷不良等の不具合が共通して生じた場合であっても、ユーザは、各紙葉類についてそれぞれ手作業で補正等の操作を行うことを省略できる。それゆえ、このような場合においても、多数の紙葉類を容易に光学情報読取装置100に受け入れさせることができる。
また、再現バーコード画像として、バーコード解釈文字情報と読取文字情報とのうち、読取不可桁数がより少ない文字情報に基づき再現したバーコード画像を用いている。このため、再現バーコード画像をより明確に表示させることができ、読取バーコード画像をどのように補正したらよいかをユーザに容易に判断させることができる。
また、リトライ処理において、処理対象の商品券Cと同じ種類の紙葉類について、読取不可回数が所定数以上の場合には、読取バーコード画像の補正を行うので、同一ロットの多数の紙葉類において、印刷不良等の不具合が共通して生じた場合において、これら多数の紙葉類を容易に受け入れることができる。加えて、処理対象の商品券Cと同じ種類の紙葉類について、読取不可回数が所定数よりも少ない場合には、ユーザに対して文字列の直接入力を許容するので、正確な文字情報を登録させ得ると共に、バーコードを読み取りできなかった紙葉類を受け入れることができる。
B.実施例2:
図13は、実施例2におけるリトライ処理の手順を示すフローチャートである。図13に示すフローチャートは、図8と同様に、図7に示すフローチャートのうち、ステップS310の判定結果(ステップS310:YES)に応じて実行される手順を示している。
実施例2の光学情報読取装置は、リトライ処理において、ステップS375に代えてステップS375aを実行する点と、ステップS380に代えてステップS380aを実行する点と、ステップS385に代えてステップS385aを実行する点と、ステップS395に代えてステップS395aを実行する点と、ステップS430に代えてステップS430aを実行する点とにおいて、実施例1の光学情報読取装置100と異なり、他の処理の手順及び装置構成は、実施例1の光学情報読取装置100と同じである。
実施例1では、リトライ処理において、処理対象の商品券Cと同じ種類の紙葉類について読取不可回数が所定数以上である場合に、再現バーコード画像と読取バーコード画像とが重ねて表示されていた。これに対して、実施例2では、リトライ処理において、処理対象の商品券Cと同じ種類の紙葉類について読取不可回数が所定数以上である場合に、文字画像と、読取文字情報の示す文字とが同一画面に表示される。
具体的には、図13に示すように、ステップS370が実行されて、バーコード解釈文字情報における読取不可桁数が読取文字情報における読取不可桁数以上であると判定された場合(ステップS370:YES)、リトライ制御部18は、読取文字情報を基準として特定する(ステップS375a)。これに対して、バーコード解釈文字情報における読取不可桁数が、読取文字情報における読取不可桁数よりも少ないと判定された場合(ステップS370:NO)、リトライ制御部18は、バーコード解釈文字情報を基準として特定する(ステップS375a)。
ユーザインターフェイス制御部13は、ステップS105で得られた撮像画像に含まれる文字画像と、ステップS375aまたはステップS380aにおいて基準として特定された文字情報(文字)とを、同一メニュー画面に表示させる(ステップS385a)。
図14は、実施例2のリトライ処理のステップS385aにおいて表示部42に表示されるメニュー画面の一例を示す説明図である。このメニュー画面W4は、バーコード表示領域ARaに代えて文字列表示領域ARdを備えている点において、図11に示すメニュー画面W3と異なり、他の構成は、メニュー画面W3と同じである。
文字列表示領域ARdには、ステップS105で得られた撮像画像に含まれる文字画像が表示される。図14の例では、図4に示すエントリE3に対応する商品券Cについて得られた文字画像(GHIJKLMN)が、文字列表示領域ARdに表示されている。図4に示すように、エントリE3では、バーコード解釈文字情報における読取不可桁数「1」は、読取文字情報における読取不可桁数「2」よりも少ないため、ステップS380aが実行され、バーコード解釈文字情報の示す文字が、文字列表示領域ARbに表示されている。
図14に示すように、文字画像と、バーコード解釈文字情報の示す文字とが同一画面に表示されるので、ユーザは、文字列のうちいずれの文字が読み取りできなかったのかを容易に理解することができる。加えて、ユーザは、文字画像のうち、読み取りできなかった文字を含む部分をどのように補正したら読み取り可能になるかを、容易に理解することができる。図14の例では、ユーザは、文字画像の一部を選択した上で、メニューアイコンm3を選択して、選択領域SR2を時計回りに回転させようとしている。なお、補正が完了した後、ユーザは、メニュー画面W4に含まれる図示しない操作ボタンを選択することにより、画像の補正を確定すると共に処理の続行を指示することができる。
前述のステップS385aが実行された後、メニュー画面W4を利用した文字画像の補正が完了するまで待機し(ステップS390)、画像認識部14は、補正後の文字画像から文字情報を取得する(ステップS395a)。以降では、ステップS395aで取得された文字情報を、補正読取文字情報と呼ぶ。
ステップS395aが実行された後、前述のステップS400〜S425が実行される。ステップS425が実行された後、リトライ制御部18は、ステップS395aにおいて得られた補正読取文字情報を、読取ログにおける該当するエントリの読取文字情報フィールドf4に上書きする(ステップS430a)。その後、図7に示す前述のステップS355,S360が実行され、処理対象の商品券Cは、回収庫34に保管される。
以上説明した実施例2の光学情報読取装置は、実施例1の光学情報読取装置100と同様の効果を有する。実施例2の光学情報読取装置では、リトライ処理において、撮像により得られた文字画像と、読取文字情報又はバーコード解釈文字情報の示す文字とが同一画面に表示されるので、紙葉類表面の文字列のうちいずれの文字が読み取りできなかったのかを、ユーザに容易に理解させることができる。加えて、どのように文字画像を補正すれば読み取り可能になるかを、ユーザに容易に理解させることができる。
また、文字画像と同一画面に表示させる文字として、バーコード解釈文字情報と読取文字情報とのうち、読取不可桁数がより少ない文字情報の示す文字を採用するので、文字画像の補正箇所及び補正量を減らすことができ、ユーザの作業負担を軽減できる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記各構成、機能等は、プロセッサがそれぞれの機能を実現するためのプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するためのプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD(登録商標)等の記録紙葉類に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上の制御線や情報線を必ずしも全て示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。また、本発明には、具体的な以下のような変形例が含まれ得る。
上記各実施例では、バーコードが印刷された紙葉類(商品券C)が用いられていたが、バーコードに代えて、QRコードなどの任意の光学的シンボルが印刷された紙葉類を用いてもよい。また、光学的シンボルが直接的に印刷された紙葉類に代えて、光学的シンボルが印刷されたシール等の紙片が、表面に貼られた紙葉類を用いることができる。すなわち、一般には、光学的シンボルを表面に有する紙葉類を、本発明において用いることができる。
また、実施例1のメニュー画面W3において、再現バーコード画像と読取バーコード画像とを重ねて表示することに代えて、重ねずに表示してもよい。このようにしても、再現バーコード画像と、読取バーコード画像とが同一画面に表示されるので、どのように読取バーコード画像を補正すれば再現バーコード画像に近似させ得るかを、ユーザに容易に理解させることができる。
また、各実施例の処理内容を組み合わせて実行することもできる。例えば、処理対象の商品券Cと同じ種類の紙葉類について、読取不可回数が所定数以上である場合に、まずは、実施例1と同様に、ステップS370〜S430を実行する。すなわち、再現バーコード画像と読取バーコード画像とを重ねて表示し、また、読取バーコード画像の補正を許容する。そして、ステップS400において読み取りができない文字があると判定された場合、およびステップS410において補正バーコード解釈文字情報の示す文字と読取文字情報の示す文字とが一致しないと判定された場合に、実施例2におけるステップS370〜S430aを実行するようにしてもよい。このようにすることで、ひとたびバーコードの読み取りができないと判断された紙葉類が受け入れられる可能性を高めることができる。なお、まずは実施例2のステップS370〜S430aを実行し、ステップS400において読み取りができない文字があると判定された場合、およびステップS410において補正バーコード解釈文字情報の示す文字と読取文字情報の示す文字とが一致しないと判定された場合に、実施例1におけるステップS370〜S430を実行するようにしてもよい。
また、読取ログにおいて、補正フィールドf8を省略することもできる。この場合、返却処理のステップS205では、同種の紙葉類であって分類フィールドf7が「利用者により回収」のエントリが無い場合に「補正無し」と判定し、かかるエントリが有る場合に「補正有り」と判定することができる。
また、実施例1のメニュー画面W3及び実施例2のメニュー画面W4において、3つのメニューアイコンm1,m2,m3に加えて、バーコードを構成する各バーの縦横比を調整するためのメニューを示すメニューアイコンなど、任意の画像補正を行うためのメニューアイコンを、操作メニュー表示領域ARcに表示させてもよい。
また、各実施例では、ステップS315及びS370において、読み取りできなかった文字数を比較していたが、読み取りできなかった文字数に代えて、読み取りできた文字数を比較してもよい。
また、各実施例では、リトライ処理において、読取バーコード画像又は文字画像の補正は、ユーザ操作により実行されていたが、自動的に実行される構成としてもよい。例えば、実施例1では、ステップS370〜S390を省略して、予め設定された補正内容(回転、拡大、縮小等)により読取バーコード画像を補正してもよい。この構成では、ユーザ操作による画像補正を省略できるので、メニュー画面W3の表示を省略できる。すなわち、請求項におけるユーザインターフェイスを省略できる。なお、この構成においては、例えば、予め複数の補正内容を登録しておき、再現バーコード画像と補正後の読取バーコード画像とを重ねた際に表れる差分の面積が最も小さくなる補正内容を特定し、かかる補正内容で補正した読取バーコード画像を用いてステップS395を実行してもよい。