(57)【特許請求の範囲】
【請求項１】
撮影画像を取得する取得部と、
前記撮影画像からデータコードを読み取るコード読取部と、
前記撮影画像から前記データコードの存在を示すマークを検出するマーク検出部と、
前記コード読取部が前記データコードを読み取る場合には前記データコードに対応するコードデータを出力し、前記コード読取部が前記データコードを読み取らず前記マーク検出部が前記マークを検出する場合には第１の所定情報を出力する第１の出力部と、
を備え、
前記第１の出力部は、前記第１の所定情報を出力してから第２の所定時間内に前記マーク検出部が前記マークを検出しても前記第１の所定情報を出力しない、
コードリーダ。
【請求項２】
前記第１の所定情報は、前記データコードの読み取りに失敗したことを示す情報、又は前記マークを検出したことを示す情報である、
前記請求項１に記載のコードリーダ。
【請求項３】
前記第１の出力部は、前記マーク検出部が前記マークを検出してから第１の所定時間内に前記コード読取部が前記データコードを読み取らない場合に、前記第１の所定情報を出力する、
前記請求項１又は２に記載のコードリーダ。
【請求項４】
前記撮影画像は、前記コードリーダに翳された、前記データコードを備える媒体の画像であり、
前記第１の出力部は、前記第１の所定情報を出力してから、前記媒体の再翳しが行われるまでは、前記第１の所定情報を出力しない、
前記請求項１乃至３の何れか１項に記載のコードリーダ。
【請求項５】
前記コード読取部は、検出用コードを読み取り、
前記コード読取部が検出用コードを読み取る場合には、第２の所定情報を出力する第２の出力部を備える、
前記請求項１乃至４の何れか１項に記載のコードリーダ。
【請求項６】
前記第２の所定情報は、前記データコードを備える媒体の裏面が翳されたことを示す通知、又は、前記検出用コードの検出を示す検出用コード検出情報である、
前記請求項５に記載のコードリーダ。
【請求項７】
前記検出用コードは、不可視光で読取可能である、
前記請求項５又は６に記載のコードリーダ。
【請求項８】
前記マークは、前記データコード内に形成される、
前記請求項１乃至７の何れか１項に記載のコードリーダ。
【請求項９】
前記データコードは、二次元コードである、
前記請求項１乃至８の何れか１項に記載のコードリーダ。
【請求項１０】
前記データコードは、ＱＲコードであり、
前記マークは、ファインダパターンである、
前記請求項９に記載のコードリーダ。
【請求項１１】
画像を撮影するカメラを備え、
前記取得部は、前記カメラが撮影した画像を前記撮影画像として取得する、
前記請求項１乃至１０の何れか１項に記載のコードリーダ。
【請求項１２】
外部装置とデータを送受信する通信部を備え、
前記第１の出力部は、前記通信部を通じて、前記外部装置へ前記コードデータ又は前記第１の所定情報を送信する、
前記請求項１乃至１１の何れか１項に記載のコードリーダ。
【請求項１３】
前記データコードは、媒体に形成され、
前記媒体は、前記データコードが形成される領域以外の領域に少なくとも１つの前記マークを備える、
前記請求項１に記載のコードリーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コードリーダに関する。
【背景技術】
【０００２】
二次元コードなどを読み取るコードリーダは、翳されたシート又は画面などからコードを読み取り、読み取ったコードから取得されるデータを外部に通知する。コードリーダは、シート又は画面などが翳されたにも拘わらずシート又は画面からコードの読み取りに失敗した場合には、無応答となる。従来、コードリーダは、コードの読み取り待機中は無応答になるが、コードの読み取りに失敗した場合にも、同様に無応答になるという課題がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１９１０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
先行技術文献は、データコードの誤り訂正機能から、どの程度コードを間違って読み取ったかでコードの印紙状態又はコードリーダの劣化を判断するものである。しかしながら、先行技術文献は、データコードの読み取りに際して、検出しやすいマークを検出することで、媒体がコードリーダに翳されたが読取できなかったのか、媒体が翳されていないために読取ができなかったのかを判断することができない。
【０００５】
上記の課題を解決するため、コードの読み取り失敗に対応して情報を出力するコードリーダを提供する。
【課題を解決するための手段】
【０００６】
実施形態によれば、コードリーダは、取得部と、コード読取部と、マーク検出部と、第１の出力部と、を備える。取得部は、撮影画像を取得する。コード読取部は、前記撮影画像からデータコードを読み取る。マーク検出部は、前記撮影画像から前記データコードの存在を示すマークを検出する。第１の出力部と、前記コード読取部が前記データコードを読み取る場合には前記データコードに対応するコードデータを出力し、前記コード読取部が前記データコードを読み取らず前記マーク検出部が前記マークを検出する場合には第１の所定情報を出力する。前記第１の出力部は、前記第１の所定情報を出力してから第２の所定時間内に前記マーク検出部が前記マークを検出しても前記第１の所定情報を出力しない。
【図面の簡単な説明】
【０００７】
【図１】図１は、実施形態に係るコードリーダの構成例を示すブロック図である。
【図２】図２は、実施形態に係る券紙の表面の構成例を示す図である。
【図３】図３は、実施形態に係る券紙の表面の他の構成例を示す図である。
【図４】図４は、実施形態に係る券紙の裏面の構成例を示す図である。
【図５】図５は、実施形態に係る券紙の裏面の他の構成例を示す図である。
【図６】図６は、実施形態に係るコードリーダの動作例を説明するためのフローチャートである。
【図７】図７は、実施形態に係るコードリーダの動作例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら実施形態について説明する。
【０００９】
実施形態に係るコードリーダは、シート（たとえば、券紙など）に記録されたコード又は画面（スマートフォンなどの液晶画面）などに表示されるコードを読み取る。ここでは、コードリーダが読み取るコードは、二次元コードである。コードリーダが読み取るコードは、たとえば、スタック型又はマトリックス型の二次元コードである。コードリーダが読み取るコードは、たとえば、ＱＲコード（登録商標）である。コードリーダが読み取るコードは、特定の二次元コードに限定されるものではない。
【００１０】
なお、コードリーダは、コードとしてバーコードなどの一次元コードを読み取るものであってもよい。また、コードリーダが読み取るコードは、特定の構成に限定されるものではない。
【００１１】
たとえば、コードリーダは、読み取ったコードをデコードして、コードデータを取得し、コードデータを外部装置へ送信する。
【００１２】
次に、コードリーダの構成例について説明する。  
図１は、コードリーダ１の構成例を示すブロック図である。
【００１３】
図１が示すように、コードリーダ１は、プロセッサ１１、ＲＯＭ１２、ＲＡＭ１３、第１のタイマ１４ａ、第２のタイマ１４ｂ、カメラ１５及び通信部１６などを備える。
【００１４】
プロセッサ１１は、コードリーダ１全体の動作を制御する機能を有する。プロセッサ１１は、内部キャッシュおよび各種のインターフェースなどを備えても良い。プロセッサ１１は、内部メモリ、ＲＯＭ１２などに予め記憶したプログラムを実行することにより種々の処理を実現する。
【００１５】
なお、プロセッサ１１がプログラムを実行することにより実現する各種の機能のうちの一部は、ハードウエア回路により実現されるものであっても良い。この場合、プロセッサ１１は、ハードウエア回路により実行される機能を制御する。
【００１６】
ＲＯＭ１２は、予め制御用のプログラム及び制御データなどが記憶された不揮発性のメモリである。ＲＯＭ１２に記憶される制御プログラム及び制御データは、予めコードリーダ１の仕様に応じて組み込まれる。ＲＯＭ１２は、たとえば、コードリーダ１の回路基板を制御するプログラムなどを格納している。
【００１７】
ＲＡＭ１３は、揮発性のメモリである。ＲＡＭ１３は、プロセッサ１１の処理中のデータなどを一時的に格納する。ＲＡＭ１３は、プロセッサ１１からの命令に基づき種々のデータを格納する。また、ＲＡＭ１３は、プログラムの実行に必要なデータ及びプログラムの実行結果などを格納してもよい。
【００１８】
第１のタイマ１４ａは、プロセッサ１１が検出マークを検出した時点からの時間を計時する。たとえば、第１のタイマ１４ａは、プロセッサ１１からの信号に基づいて計時を開始し、計時された時間をプロセッサ１１に通知する。また、第１のタイマ１４ａは、所定の時間を計時すると、所定の信号をプロセッサ１１へ送信してもよい。なお、第１のタイマ１４ａは、プロセッサ１１の機能として実現されてもよい。
【００１９】
第２のタイマ１４ｂは、プロセッサ１１が読取異常信号又は検出情報を送信した時点からの時間を計時する。第２のタイマ１４ｂは、第１のタイマ１４ａと同様の構成である。  
なお、第１のタイマ１４ａ及び第２のタイマ１４ｂは、１つのタイマであってもよい。
【００２０】
カメラ１５は、シートに記録されたコード又は画面などが表示するコードを含む画像を取得する。たとえば、カメラ１５は、カメラ１５に内蔵される又はコードリーダ１が備える照明などが照射する光の反射光を取得することで画像を取得する。また、カメラ１５は、画面などが発する光を取得することで画像を取得する。カメラ１５は、可視光を用いて画像を取得してもよい。また、カメラ１５は、不可視光を用いて画像を取得することができる。即ち、カメラ１５は、不可視光である所定の専用光を用いて画像を取得する。たとえば、カメラ１５は、ＣＣＤなどである。
【００２１】
たとえば、カメラ１５は、カメラ１５に翳されたシート又は画面などからコードを撮影する。  
また、カメラ１５は、ハンディタイプであってもよい。たとえば、カメラ１５は、オペレータなどによってシート又は画面などに翳されることで、コードを撮影してもよい。
【００２２】
ここでは、カメラ１５は、シートとして券紙２に記録されたコードを撮影するものとする。
【００２３】
通信部１６は、外部装置とデータを送受信するためのインターフェースである。通信部１６は、無線又は有線で外部装置と接続する。通信部１６は、たとえば、ＵＳＢ接続をサポートするインターフェースである。
【００２４】
プロセッサ１１は、コードの読み取りに成功した場合（つまりコードデータの取得に成功した場合）、通信部１６を通じて外部装置に取得されたコードデータ（デコード結果）を送信する。また、プロセッサ１１は、コードの読み取りに失敗し（つまりコードデータの取得に失敗し）検出マークの検出に成功した場合、通信部１６を通じて外部装置にコードの読み取りに失敗したことを示す読取異常信号（第１の所定情報）、又は検出マークの検出を示すマーク検出情報（第１の所定情報）を送信する。例えば、読取異常信号は、コードの読み取りに失敗したことを示す情報である。つまり、プロセッサ１１は、コードデータの取得に成功した場合と、コードデータの取得に失敗したが検出マークの検出には成功した場合とで異なる情報を後続の処理装置に送信する。
【００２５】
なお、コードリーダ１は、適宜必要な要素をさらに備え、又は不要な要素を削除してもよい。たとえば、コードリーダ１は、データを書き換え可能な不揮発性メモリ、画像を表示する表示部、又は、音を出力するスピーカ部などを備えてもよい。
【００２６】
次に、券紙２について説明する。  
券紙２は、たとえば、矩形の感熱媒体である。券紙２は、外部から熱を加えられると、加えられた部分が所定の色に変化する。たとえば、券紙２は、熱により黒色に変化する。たとえば、券紙２は、紙、プラスチック、又は、ビニールなどである。
【００２７】
図２は、カメラ１５が撮影する券紙２の表面の構成例を示す。  
図２が示すように、券紙２の表面は、データコード２１などを備える。
【００２８】
データコード２１は、所定のデータをエンコードして作成されるコードである。データコード２１は、券紙２を発行する発行機などによって券紙２上に印刷される。たとえば、発行機は、券紙２を加熱することで、データコード２１を券紙２上に印刷する。ここでは、データコード２１は、二次元コードである。たとえば、データコード２１は、ＱＲコードである。
【００２９】
たとえば、データコード２１は、乗車券情報を含むものであってもよい。即ち、データコード２１は、乗車券情報をエンコードして作成されるものであってもよい。データコード２１が示す情報は、特定の構成に限定されるものではない。
【００３０】
データコード２１は、検出マーク２２ａ乃至ｃを有する。検出マーク２２ａ乃至ｃは、データコード２１の存在を示す。たとえば、検出マーク２２ａ乃至ｃは、検出マーク２２ａ乃至ｃの基準位置から所定の範囲内にデータコード２１があることを示す。  
検出マーク２２ａ乃至ｃは、データコード２１内に形成される。即ち、検出マーク２２ａ乃至ｃは、データコード２１の一部として形成される。検出マーク２２ａ乃至ｃは、データコード２１の位置及び／又は方向を示してもよい。たとえば、プロセッサ１１は、検出マーク２２ａ乃至ｃの位置からデータコード２１の位置及び／又は方向を認識してもよい。例えば、データコード２１が、ＱＲコードの場合、検出マーク２２ａ乃至ｃは、ＱＲコードのＦＰ（ファインダパターン）であってもよい。
【００３１】
検出マーク２２ａ乃至ｃは、それぞれデータコード２１の角に形成される。図２が示す例では、検出マーク２２ａ乃至ｃは、それぞれデータコード２１の左上、右上、及び、左下に形成される。なお、検出マーク２２は、データコード２１の中心部に形成されてもよいし、その他の箇所に形成されてもよい。データコード２１が備える検出マーク２２の位置及び個数は、特定の構成に限定されるものではない。
【００３２】
なお、券紙２は、データコード２１が形成される領域（コード領域）以外の領域に文字列などを備えてもよい。たとえば、券紙２は、当該領域にデータコード２１に関連する文字列を備えてもよい。
【００３３】
次に、券紙２の表面の他の構成例について説明する。  
図３は、券紙２の表面の他の構成例を示す。  
図３が示すように、券紙２の表面は、データコード２１に加えて、コード領域外に検出マーク２２を少なくとも１つ有する。図３が示す例では、券紙２の表面は、検出マーク２２ｄ乃至２２ｇを備える。
【００３４】
検出マーク２２ｄ乃至２２ｇは、検出マーク２２ａ乃至２２ｃと同様の構成である。  
検出マーク２２ｄ乃至２２ｇは、それぞれ券紙２の表面の左上、左下、右上、及び、右下に形成される。なお、検出マークは、コード領域以外のその他の箇所に形成されてもよい。コード領域以外に形成される検出マーク２２の位置及び個数は、特定の構成に限定されるものではない。
【００３５】
次に、券紙２の裏面について説明する。  
図４は、券紙２の裏面の構成例を示す。  
図４が示すように、券紙２の裏面は、検出マーク２２ｈ乃至２２ｋなどを備える。検出マーク２２ｈ乃至２２ｋは、検出マーク２２ａ乃至２２ｃと同様の構成である。
【００３６】
図４が示す例では、検出マーク２２ｈ乃至２２ｋは、それぞれ券紙２の裏面の左上、左下、右上、及び、右下に形成される。なお、券紙２の裏面は、他の位置に検出マーク２２を備えてもよい。券紙２の裏面が備える検出マーク２２の個数及び位置は、特定の構成に限定されるものではない。
【００３７】
次に、券紙２の裏面の他の構成例について説明する。  
図５は、券紙２の裏面の他の構成例を示す。  
図５が示すように、券紙２の裏面は、隠蔽層２３及び検出用コード２４などを備える。
【００３８】
隠蔽層２３は、所定の専用光を用いて情報（コード）が読み取られる層である（専用光により情報が読み取り可能となる記録領域である）。隠蔽層２３は、所定の専用光を透過し、可視光を透過しない。カメラ１５は、所定の専用光を照射して、隠蔽層２３の下にあるコード等からの反射光を得ることができる。
【００３９】
専用光は、カメラ１５が読み取ることができる不可視光である。専用光は、たとえば、紫外線又は赤外線などである。  
なお、隠蔽層２３は、券紙２の裏面の全体に形成されてもよい。
【００４０】
検出用コード２４は、所定の情報をエンコードして作成されるコードである。たとえば、検出用コード２４は、いずれの券紙２であっても同様の情報を示すものであってもよい。たとえば、検出用コード２４は、自身が裏面に形成されていることを示すものであってもよい。また、検出用コード２４は、テスト用のコードであってもよい。たとえば、検出用コード２４は、ＱＲコードである。
【００４１】
検出用コード２４は、隠蔽層２３の下に形成される。そのため、検出用コード２４は、所定の専用光で読み取られる。即ち、検出用コード２４は、不可視光で読取可能である。
【００４２】
次に、プロセッサ１１が実現する機能について説明する。  
プロセッサ１１は、カメラ１５が撮影した撮影画像を取得する機能を有する（取得部）。たとえば、プロセッサ１１は、画像を撮影させる信号をカメラ１５へ送信する。プロセッサ１１は、カメラ１５から送信される画像を撮影画像として取得する。
【００４３】
また、プロセッサ１１は、カメラ１５に媒体（たとえば、券紙２）が翳されたことを検知する機能を有する。たとえば、プロセッサ１１は、カメラ１５が撮影した撮影画像の明暗などから媒体が翳されたことを検知する。また、プロセッサ１１は、近接センサなどの他のセンサなどを用いて、媒体が翳されたことを検知してもよい。
【００４４】
プロセッサ１１は、撮影画像をスキャンして、データコード２１又は検出用コード２４を読み取る機能を有する（コード読取部）。たとえば、プロセッサ１１は、撮影画像をラスタスキャンしてデータコード２１又は検出用コード２４を検出する。また、プロセッサ１１は、データコード２１又は検出用コード２４の暗モジュール及び明モジュールのパターンを検出する。プロセッサ１１は、検出されたパターンからデータコード２１又は検出用コード２４をデコードして、データコード２１又は検出用コード２４から所定のデータを取得する。なお、プロセッサ１１がデータコード２１又は検出用コード２４を読み取る方法、及びデータコード２１又は検出用コード２４からデータを取得する方法は、特定の方法に限定されるものではない。
【００４５】
また、プロセッサ１１は、撮影画像をスキャンして、検出マーク２２を検出する機能を有する（マーク検出部）。たとえば、プロセッサ１１は、撮影画像をラスタスキャンして検出マーク２２を検出する。なお、プロセッサ１１が検出マーク２２を検出する方法は、特定の方法に限定されるものではない。
【００４６】
なお、プロセッサ１１は、データコード２１又は検出用コード２４を読み取る機能と検出マーク２２検出する機能とを同時並行して実行してもよい。たとえば、プロセッサ１１は、撮影画像に対してスキャンを実行し、データコード２１又は検出用コード２４を読み取る機能と検出マーク２２を検出する機能とを同時に実行する。
【００４７】
また、プロセッサ１１は、検出用コード２４を読み取った場合に、券紙２の裏面が翳されたことを示す裏面通知（第２の所定情報）、又は、検出用コードの検出を示す検出用コード検出情報（第２の所定情報）を出力する機能を有する（第２の出力部）。
【００４８】
また、プロセッサ１１は、検出マーク２２を検出した後に所定時間（第１の所定時間）内にデータコード２１を読み取ることができない場合（つまりデータコード２１からコードデータを取得できない場合）、又は、券紙２がカメラ１５に翳されなくなった場合に、データコード２１の読み取りに失敗したことを示す読取異常通知、又は検出マークの検出を示すマーク検出情報を出力する機能を有する（第１の出力部）。
【００４９】
たとえば、プロセッサ１１は、検出マーク２２を検出すると、第１のタイマ１４ａをスタートする。たとえば、プロセッサ１１は、第１のタイマ１４ａに計時を開始させる信号を送信する。プロセッサ１１は、第１のタイマ１４ａが第１の所定時間（たとえば、０．１秒から１秒の間で任意に設定された時間）を計時するまで、撮影画像からデータコード２１を読み取る動作を継続する。
【００５０】
また、プロセッサ１１は、検出マーク２２を検出すると、券紙２がカメラ１５に翳されなくなったかを判定する。プロセッサ１１は、券紙２がカメラ１５に翳されなくなったと判定するまで、撮影画像からデータコード２１を読み取る動作を継続する。
【００５１】
たとえば、プロセッサ１１は、検出された検出マーク２２に基づいてデータコード２１を読み取ってもよい。たとえば、プロセッサ１１は、検出マーク２２の位置などに基づいてデータコード２１の位置及び方向などを推定する。プロセッサ１１は、推定されたデータコード２１の位置及び方向などに基づいてデータコード２１を読み取ってもよい。
【００５２】
また、プロセッサ１１は、第１のタイマ１４ａが第１の所定時間を計時するとデータコード２１の読み取り動作を終了する。プロセッサ１１は、データコード２１の読み取り動作を終了すると、たとえば、通信部１６を通じて、データコード２１の読み取りに失敗したことを示す読取異常通知、又は検出マークの検出を示すマーク検出情報を外部装置へ送信する。
【００５３】
また、プロセッサ１１は、読取異常通知又はマーク検出情報を外部装置へ送信してから所定時間（第２の所定時間）内である場合、検出マーク２２を検出しても読取異常通知又はマーク検出情報を外部装置へ送信しない。
【００５４】
たとえば、プロセッサ１１は、読取異常通知又はマーク検出情報を外部装置へ送信すると、第２のタイマ１４ｂをスタートする。たとえば、プロセッサ１１は、第２のタイマ１４ｂに計時を開始させる信号を送信する。プロセッサ１１は、第２のタイマ１４ｂが第２の所定時間（たとえば、数秒）を計時するまで、検出マーク２２を検出しても読取異常通知又はマーク検出情報を外部装置へ送信しない。
【００５５】
また、プロセッサ１１は、読取異常通知又はマーク検出情報を外部装置へ送信してから券紙２の再翳しがない場合、検出マーク２２を検出しても読取異常通知又はマーク検出情報を外部装置へ送信しない。
【００５６】
たとえば、プロセッサ１１は、読取異常通知又はマーク検出情報を外部装置へ送信すると、券紙２が翳されなくなり、かつ、再度券紙２が翳されたか判定する。プロセッサ１１は、券紙２の再翳しが行われるまで、検出マーク２２を検出しても読取異常通知又はマーク検出情報を外部装置へ送信しない。
【００５７】
読取異常通知又はマーク検出情報を送信してからも検出マークを検出する度に読取異常通知又はマーク検出情報を出力した場合、プロセッサ１１は、媒体が翳される続ける限り、何度も読取異常通知又はマーク検出情報を外部装置に送信することがある。その場合、外部装置は、何回媒体が翳されたかを判断できない。そのため、プロセッサ１１は、読取異常通知又はマーク検出情報を送信してから第２の所定時間以上、検出マーク２２の未検出が続かなければ検出マーク２２を検出しても読取異常通知又はマーク検出情報を送信しない。これによって、プロセッサ１１は、外部装置が複雑な処理を行わなくとも、外部装置の動作と利用者が媒体を翳す動作とを同期させることができる。
【００５８】
ここでは、プロセッサ１１は、次の検出マーク２２を検出した後に、前の検出マーク２２に関する読取異常通知又はマーク検出情報を外部装置へ送信してから第２の所定時間が経過するか、又は、券紙２の再翳しが行われた場合には、再度検出マーク２２を検出すると、読取異常通知又はマーク検出情報を外部装置へ送信するものとする。
【００５９】
次に、プロセッサ１１の動作例について説明する。  
図６及び図７は、プロセッサ１１の動作例について説明するためのフローチャートである。  
ここでは、オペレータは、券紙２をカメラ１５に翳すものとする。また、第２のタイマ１４ｂは、初期状態において第２の所定時間を計時した状態で停止しているものとする。これにより、プロセッサ１１は、最初に検出マーク２２を検出した後のＳ１６において、ＹＥＳと判定し、第１のタイマ１４ａを開始することができる。
【００６０】
まず、プロセッサ１１は、カメラ１５が撮影した撮影画像を取得する（Ｓ１１）。撮影画像を取得すると、プロセッサ１１は、撮影画像をスキャンする（Ｓ１２）。
【００６１】
撮影画像をスキャンすると、プロセッサ１１は、撮影画像からデータコード２１を読み取ったか判定する（Ｓ１３）。プロセッサ１１は、撮影画像からデータコード２１を読み取り、データコード２１からコードデータのデコードを試行し、コードデータを取得する。例えば、データコード２１は、エラー訂正コードを含み、仮にコードの一部分が欠落していても（コードの一部分が読み取られなくても）、プロセッサ１１は、エラー訂正コードによりコードデータをデコードすることができる。このようにして、プロセッサ１１は、コードデータのデコードを試行し、データコード２１からコードデータの取得に成功したか判定する。撮影画像からデータコード２１を読み取っていないと判定すると（Ｓ１３、ＮＯ）、つまり、コードデータを取得していないと判定すると、プロセッサ１１は、検出用コード２４を読み取ったか判定する（Ｓ１４）。プロセッサ１１は、データコード２１の読み取りと同様に検出用コード２４の取得に成功したか判定する。
【００６２】
検出用コード２４を読み取っていないと判定すると（Ｓ１４、ＮＯ）、プロセッサ１１は、検出マーク２２を検出したか判定する（Ｓ１５）。
【００６３】
検出マーク２２を検出していないと判定すると（Ｓ１５、ＮＯ）、プロセッサ１１は、Ｓ１１に戻る。
【００６４】
検出マーク２２を検出したと判定すると（Ｓ１５、ＹＥＳ）、プロセッサ１１は、第２のタイマ１４ｂが第２の所定時間を計時したか、又は、券紙２の再翳しが行われたかを判定する（Ｓ１６）。第２のタイマ１４ｂが第２の所定時間を計時した、又は、券紙２の再翳しが行われたと判定すると（Ｓ１６、ＹＥＳ）、プロセッサ１１は、第１のタイマ１４ａをスタートさせる（Ｓ１７）。第１のタイマ１４ａをスタートすると、プロセッサ１１は、カメラ１５が撮影した撮影画像を取得する（Ｓ１８）。撮影画像を取得すると、プロセッサ１１は、撮影画像をスキャンする（Ｓ１９）。
【００６５】
撮影画像をスキャンすると、プロセッサ１１は、撮影画像からデータコード２１を読み取ったか判定する（Ｓ２０）。撮影画像からデータコード２１を読み取っていないと判定すると（Ｓ２０、ＮＯ）、プロセッサ１１は、第１のタイマ１４ａが第１の所定時間を計時したか又は券紙２が翳されなくなったか判定する（Ｓ２１）。
【００６６】
第１のタイマ１４ａが第１の所定時間を計時していないかつ券紙２が翳されていると判定すると（Ｓ２１、ＮＯ）、プロセッサ１１は、Ｓ１８に戻る。第１のタイマ１４ａが第１の所定時間を計時した又は券紙２が翳されなくなったと判定すると（Ｓ２１、ＹＥＳ）、プロセッサ１１は、通信部１６を通じて、データコード２１の読み取りに失敗したことを示す読取異常通知、又は検出マークの検出を示すマーク検出情報を外部装置へ送信する（Ｓ２２）。
【００６７】
読取異常通知又はマーク検出情報を送信すると、プロセッサ１１は、第２のタイマ１４ｂをスタートさせる（Ｓ２３）。たとえば、プロセッサ１１は、第２のタイマ１４ｂをリセットして、計時をスタートさせる。
【００６８】
第２のタイマ１４ｂをスタートさせた場合（Ｓ２３）、又は、第２のタイマ１４ｂが第２の所定時間を計時していないかつ券紙２の再翳しが行われていないと判定した場合（Ｓ１６、ＮＯ）、プロセッサ１１は、Ｓ１１に戻る。
【００６９】
撮影画像からデータコード２１を読み取ったと判定した場合（Ｓ１３、ＹＥＳ）、又は、撮影画像からデータコード２１を読み取ったと判定した場合（Ｓ２０、ＹＥＳ）、プロセッサ１１は、通信部１６を通じて、データコード２１をデコードしたコードデータを外部装置へ送信する（Ｓ２４）。
【００７０】
検出用コード２４を読み取ったと判定すると（Ｓ１４、ＹＥＳ）、プロセッサ１１は、通信部１６を通じて、券紙２の裏面が翳されたことを示す裏面通知、又は、検出用コードの検出を示す検出用コード検出情報を外部層へ送信する（Ｓ２５）。
【００７１】
読取異常通知又はマーク検出情報を送信した場合（Ｓ２４）、又は、裏面通知又は検出用コード検出情報を送信した場合（Ｓ２５）、プロセッサ１１は、動作を終了する。
【００７２】
なお、コードリーダ１は、画像を表示する表示部を備えてもよい。たとえば、プロセッサ１１は、読み取りに失敗したことを示すメッセージなどを読取異常通知として表示部に表示してもよい。また、プロセッサ１１は、コードデータを表示部に表示してもよい。
【００７３】
また、コードリーダ１は、音を出力するスピーカを備えてもよい。たとえば、プロセッサ１１は、スピーカを通じて読み取りに失敗したことを示す警告音又は警告音声を読取異常通知として出力してもよい。
【００７４】
たとえば、プロセッサ１１は、検出マーク２２を再度検出すると、第１のタイマ１４ａをリセットしてもよい（第１のタイマ１４ａを初期値に戻してもよい）。また、プロセッサ１１は、検出マーク２２を再度検出すると、データコード２１を読み取る時間を延長してもよい。
【００７５】
以上のように構成されたコードリーダは、検出マークを検知した後に一定時間内にコードを読み取ることができないと（コードデータを取得できないと）、読み取りに失敗したことを示す読取異常通知を外部装置へ送信する。検出マークはコードの存在を示すため、検出マークを検出した場合は、コードリーダは、コードが記録されたシート又はコードが表示された画面が翳されたことを認識することができる。
【００７６】
そのため、コードリーダは、検出マークを検出したにもかかわらずコードを読み取ることができない場合には、読み取りに異常が生じたものと判定することができる。したがって、コードリーダは、以上の動作によって、コードの読み取り失敗に対応して情報を出力することができ、例えば、読取異常通知又はマーク検出情報を通知することができる。
【００７７】
また、二次元コードからデータを読み取る場合、コードリーダは、格子状に配置されたセルの座標と白黒識別とを正確に検出する必要がある。それに対して、コードリーダは、検出マークを検出するために、概略の形状を検出すればよい。そのため、コードリーダは、カメラと二次元コードとの距離による光学ぼけ又は手ぶれが生じた場合でも、検出マークを容易に読み取ることができる。従って、コードリーダは、媒体が翳されたがデータの読取に失敗したことを判定することができる。
【００７８】
また、検出マークを検出する度に読取異常通知などを出力した場合、コードリーダは、１回の翳し動作で複数の読取異常通知などを出力することがある。この場合、外部装置は、利用者が媒体を何回翳したのかを判断できない。そのため、コードリーダは、検出マークを検出した後に、所定の時間にデータを読み取らない場合に、読取異常通知などを送信することで、外部装置の動作と利用者が媒体を翳す動作とを同期させることができる。
【００７９】
また、コードリーダは、検出用マークを検出した場合、裏面が翳されたことを示す裏面通知を送信する。そのため、コードリーダは、利用者が誤って券紙の裏面を翳したことを外部装置へ通知することができる。また、コードリーダは、不可視光で検出用マークを読み取ることができる。そのため、利用者は、裏面にあるコードを認識できず、誤って裏面を翳すことが防止される。
【００８０】
なお、上記各機能及び各処理を実現するための手順は全てソフトウェアによって実行することが可能である。このため、上記各機能及び各処理を実現するための手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムをコードリーダ１にインストールして実行することで、上記各機能及び各処理を実現することができる。
【００８１】
例えば、プロセッサ１１は、通信部１６を介して、コンピュータ読み取り可能な記憶媒体から上記プログラムを読み取り、読み取ったプログラムを記憶し、プログラムのインストールを完了することができる。或いは、プロセッサ１１は、通信部１６を介して、上記プログラムをサーバからダウンロードし、ダウンロードしたプログラムを記憶し、プログラムのインストールを完了することができる。これにより、コードリーダ１のプロセッサ１１は、インストールされた上記プログラムに基づき、上記処理を実現することができる。
【００８２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に本件出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
撮影画像を取得する取得部と、
前記撮影画像からデータコードを読み取るコード読取部と、
前記撮影画像から前記データコードの存在を示すマークを検出するマーク検出部と、
前記コード読取部が前記データコードを読み取る場合には前記データコードに対応するコードデータを出力し、前記コード読取部が前記データコードを読み取らず前記マーク検出部が前記マークを検出する場合には第１の所定情報を出力する第１の出力部と、
を備えるコードリーダ。
［Ｃ２］
前記第１の所定情報は、前記データコードの読み取りに失敗したことを示す情報、又は前記マークを検出したことを示す情報である、
前記Ｃ１に記載のコードリーダ。
［Ｃ３］
前記第１の出力部は、前記マーク検出部が前記マークを検出してから第１の所定時間内に前記コード読取部が前記データコードを読み取らない場合に、前記第１の所定情報を出力する、
前記Ｃ１又は２に記載のコードリーダ。
［Ｃ４］
前記第１の出力部は、前記第１の所定情報を出力してから、前記マーク検出部が第２の所定時間以上、前記マークを未検出でなければ、前記第１の所定情報を出力しない、
前記Ｃ１乃至３の何れか１項に記載のコードリーダ。
［Ｃ５］
前記撮影画像は、前記コードリーダに翳された、前記データコードを備える媒体の画像であり、
前記第１の出力部は、前記第１の所定情報を出力してから、前記媒体の再翳しが行われるまでは、前記第１の所定情報を出力しない、
前記Ｃ１乃至３の何れか１項に記載のコードリーダ。
［Ｃ６］
前記コード読取部は、検出用コードを読み取り、
前記コード読取部が検出用コードを読み取る場合には、第２の所定情報を出力する第２の出力部を備える、
前記Ｃ１乃至５の何れか１項に記載のコードリーダ。
［Ｃ７］
前記第２の所定情報は、前記データコードを備える媒体の裏面が翳されたことを示す通知、又は、前記検出用コードの検出を示す検出用コード検出情報である、
前記Ｃ６に記載のコードリーダ。
［Ｃ８］
前記検出用コードは、不可視光で読取可能である、
前記Ｃ６又は７に記載のコードリーダ。
［Ｃ９］
前記マークは、前記データコード内に形成される、
前記Ｃ１乃至８の何れか１項に記載のコードリーダ。
［Ｃ１０］
前記データコードは、二次元コードである、
前記Ｃ１乃至９の何れか１項に記載のコードリーダ。
［Ｃ１１］
前記データコードは、ＱＲコードであり、
前記マークは、ファインダパターンである、
前記Ｃ１０に記載のコードリーダ。
［Ｃ１２］
画像を撮影するカメラを備え、
前記取得部は、前記カメラが撮影した画像を前記撮影画像として取得する、
前記Ｃ１乃至１１の何れか１項に記載のコードリーダ。
［Ｃ１３］
外部装置とデータを送受信する通信部を備え、
前記第１の出力部は、前記通信部を通じて、前記外部装置へ前記コードデータ又は前記第１の所定情報を送信する、
前記Ｃ１乃至１２の何れか１項に記載のコードリーダ。
［Ｃ１４］
前記データコードは、媒体に形成され、
前記媒体は、前記データコードが形成される領域以外の領域に少なくとも１つの前記マークを備える、
前記Ｃ１に記載のコードリーダ。
【符号の説明】
【００８３】
１…コードリーダ、２…券紙、１１…プロセッサ、１４ａ…第１のタイマ、１４ｂ…第２のタイマ、１５…カメラ、１６…通信部、２１…データコード、２２ａ乃至ｃ…検出マーク、２３…隠蔽層、２４…検出用コード。
【図１】
0006486813.tif 000002
【図２】
0006486813.tif 000003
【図３】
0006486813.tif 000004
【図４】
0006486813.tif 000005
【図５】
0006486813.tif 000006
【図６】
0006486813.tif 000007
【図７】
0006486813.tif 000008