(57)【特許請求の範囲】
【請求項１】
１個以上の情報コードが付された読取対象媒体を撮像する撮像部と、
制御部と、
メモリと、
を備えており、
前記制御部は、
前記撮像部によって撮像された前記読取対象媒体の撮像画像のうち、前記１個以上の情報コードを含む第１の領域を特定し、
特定された前記第１の領域についてデコード処理を実行し、１個以上のデータがデコードされた場合に前記１個以上のデータを前記メモリに記憶し、
前記第１の領域内の前記１個以上の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいるか否かを判断する第１の判断処理であって、前記一括コード群は、前記複数個の情報コードによって構成され、前記複数個の情報コードが一括で読み取られることによってデータがデコードされるコード群である、前記第１の判断処理を実行し、
前記第１の判断処理において肯定的に判断される場合に、前記一括コード群を構成する前記複数個の情報コードを含む第２の領域を特定し、
特定された前記第２の領域と、前記撮像画像のうちの特定範囲を指定するためのマーカとが重なる場合に、前記メモリ内の前記１個以上のデータのうち、前記第２の領域内の前記一括コード群のデコード結果に対応するデータを出力する、
情報コード読取装置。
【請求項２】
前記制御部は、
前記第１の判断処理において否定的に判断される場合に、前記１個以上の情報コードのうちの１個の情報コードであり、個別に読み取られることによってデータがデコードされる情報コードである個別コードを含む第３の領域を特定し、
特定された前記第３の領域と、前記マーカとが重なる場合に、前記メモリ内の前記１個以上のデータのうち、前記第３の領域内の前記個別コードのデコード結果に対応するデータを出力する、
請求項１に記載の情報コード読取装置。
【請求項３】
前記制御部は、
前記第１の判断処理が実行された後、前記データが出力されない場合において、さらに、前記第１の領域のうちの未特定の領域内に少なくとも１個の情報コードが含まれる場合に、前記少なくとも１個の情報コードが、前記一括コード群を構成する前記複数個の情報コードをすべて含んでいるか否かを判断する第２の判断処理をさらに実行する、
請求項１又は２に記載の情報コード読取装置。
【請求項４】
前記マーカの位置を示すためのマーカ光を前記読取対象媒体上に照射する照射部をさらに備える、
請求項１から３のいずれか一項に記載の情報コード読取装置。
【請求項５】
前記第１の領域は、前記撮像画像の全体である、
請求項１から４のいずれか一項に記載の情報コード読取装置。
【請求項６】
前記マーカの面積は、前記情報コードの面積より小さい、
請求項１から５のいずれか一項に記載の情報コード読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する技術は、情報コード読取装置に関する。
【背景技術】
【０００２】
特許文献１には、情報コードが付された読取対象媒体を撮像する撮像手段と、情報対象媒体のうち、ユーザが読み取りを希望する範囲を読取対象媒体上で指定するためのマーカ光を照射する照射手段と、撮像手段によって撮影された撮像画像のうち、マーカ光が照射された範囲に含まれる情報コードについてデコード処理を行うデコード手段とを備える情報コード読取装置が開示されている。特許文献１の情報コード読取装置では、ユーザによって読取操作が行われると、まず、撮像手段が読取対象媒体を撮像する。そして、デコード手段は、撮像画像中に含まれる１個以上の情報コードのうち、マーカ光が照射された範囲に含まれる１個の特定の情報コードを読み取る単一スキャン処理を実行する。特定の情報コードのデコードに失敗する場合、デコード手段は、当該１個以上の情報コードによって構成される情報コード群を一括して読み取る多段スキャン処理をさらに実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５１０４７１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の情報コード読取装置では、多段スキャン処理は、単一スキャン処理によるデコードが失敗する場合に限って実行される。特許文献１の技術では、ユーザが、マーカ光で指定する範囲に存在する情報コード群のデコードを希望する場合であっても、最初に単一スキャン処理が実行されるため、マーカ光で指定される範囲に存在する情報コード群のデコードが適切に行われない事態が発生する場合がある。
【０００５】
本明細書では、マーカで指定される領域内に存在する一括コード群のデコード結果に対応するデータを適切に出力することができる技術を提供する。
【課題を解決するための手段】
【０００６】
本明細書は、以下の情報コード読取装置を開示する。情報コード読取装置は、１個以上の情報コードが付された読取対象媒体を撮像する撮像部と、制御部と、メモリとを備えている。制御部は、撮像部によって撮像された読取対象媒体の撮像画像のうち、１個以上の情報コードを含む第１の領域を特定する。そして、制御部は、特定された第１の領域についてデコード処理を実行し、１個以上のデータがデコードされた場合に１個以上のデータをメモリに記憶する。そして、制御部は、第１の領域内の１個以上の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいるか否かを判断する第１の判断処理であって、一括コード群は、複数個の情報コードによって構成され、複数個の情報コードが一括で読み取られることによってデータがデコードされるコード群である、第１の判断処理を実行する。そして、制御部は、第１の判断処理において肯定的に判断される場合に、一括コード群を構成する複数個の情報コードを含む第２の領域を特定する。そして、制御部は、特定された第２の領域と、撮像画像のうちの特定範囲を指定するためのマーカとが重なる場合に、メモリ内の１個以上のデータのうち、第２の領域内の一括コード群のデコード結果に対応するデータを出力する。
【０００７】
上記の構成によると、情報コード読取装置は、撮像画像中の第１の領域内の１個以上の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいる場合に、当該複数個の情報コードを含む第２の領域を特定し、第２の領域とマーカが重なる場合に、第２の領域内の一括コード群のデコード結果に対応するデータを出力する。即ち、上記の構成によると、第２の領域がマーカによって指定される場合に、複数個の情報コードのいずれか１個を個別にデコードする処理等の他のデコード処理が行われることなく、第２の領域内の一括コード群のデコード結果に対応するデータが出力される。従って、上記の情報コード読取装置によると、マーカで指定される領域内に存在する一括コード群のデコード結果に対応するデータを適切に出力することができる。
【図面の簡単な説明】
【０００８】
【図１】情報コード読取装置の構成を模式的に示すブロック図。
【図２】個別コードの一例を示す図。
【図３】一括コード群の一例を示す図。
【図４】情報コード読取装置の制御部が実行する読取処理を示すフローチャート。
【図５】ケースＡの例における撮像画像を示す図。
【図６】ケースＢの例における撮像画像を示す図。
【図７】ケースＣの例における撮像画像を示す図。
【図８】ケースＤの例における撮像画像を示す図。
【図９】ケースＥの例における撮像画像を示す図。
【図１０】ケースＦの例における撮像画像を示す図。
【発明を実施するための形態】
【０００９】
以下に説明する実施例の主要な特徴を列記しておく。なお、以下に示す技術要素は、それぞれ独立した技術要素であって、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。
【００１０】
（特徴１）制御部は、第１の判断処理において否定的に判断される場合に、１個以上の情報コードのうちの１個の情報コードであり、個別に読み取られることによってデータがデコードされる情報コードである個別コードを含む第３の領域を特定してもよい。そして、制御部は、特定された第３の領域と、マーカとが重なる場合に、メモリ内の１個以上のデータのうち、第３の領域内の個別コードのデコード結果に対応するデータを出力してもよい。
【００１１】
この構成によると、情報コード読取装置は、撮像画像中の第１の領域内の１個以上の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいない場合に、１個以上の情報コードのうちの１個の個別コードを含む第３の領域を特定し、第３の領域とマーカが重なる場合に、第３の領域内の個別コードのデコード結果に対応するデータを出力する。即ち、この構成によると、第３の領域がマーカで指定される場合に、複数個の情報コードを一括してデコードする処理等の他のデコード処理が行われることなく、第３の領域内の個別コードのデコード結果に対応するデータが出力される。従って、この構成によると、マーカで指定される領域内に存在する個別コードのデコード結果に対応するデータも適切に出力することができる。
【００１２】
（特徴２）制御部は、第１の判断処理が実行された後、データが出力されない場合において、さらに、第１の領域のうちの未特定の領域内に少なくとも１個の情報データが含まれる場合に、少なくとも１個の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいるか否かを判断する第２の判断処理をさらに実行してもよい。
【００１３】
第１の判断処理が実行された後、デコードデータが出力されない場合は、マーカが、第１の領域のうちの未特定の領域内の他の情報コードに重ねられていた可能性がある。上記の構成によると、情報コード読取装置は、上記未特定の領域内に少なくとも１個の情報コードが含まれる場合に、少なくとも１個の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいるか否かを判断する第２の判断処理をさらに実行する。従って、上記の構成によると、情報コード読取装置は、第１の判断処理が実行された後にデコードデータが出力されない場合に、未特定の領域内に含まれる情報コードに対応するデコードデータを出力し得る。従って、マーカで指定される領域内に存在する情報コードに存在するデコードデータをより適切に出力し得る。
【００１４】
（特徴３）マーカの位置を示すためのマーカ光を読取対象媒体上に照射する照射部をさらに備えてもよい。
【００１５】
この構成によると、マーカ位置を視覚的に把握し易くなる。そのため、ユーザが、デコードデータの出力を希望する領域を適切に指定することができる。
【００１６】
（特徴４）第１の領域は、撮像画像の全体であってもよい。
【００１７】
（特徴５）マーカの面積は、情報コードの面積より小さくてもよい。
【００１８】
（実施例）
（情報コード読取装置１０の構成；図１）
図１に示すように、本実施例の情報コード読取装置１０は、情報コード（例えば二次元コード、バーコード等）を読み取ってデータを取得するための装置である。情報コード読取装置１０は、撮像部１２と、照明部１４と、マーカ光照射部１６と、操作部１８と、表示部２０と、通信インターフェース（以下では「通信Ｉ／Ｆ」と記載する）２２と、制御部２４と、メモリ２６と、を備える。
【００１９】
撮像部１２は、１個以上の情報コードが付された読取対象媒体を撮像可能な撮像装置である。照明部１４は、読取対象媒体を照明する照明装置である。マーカ光照射部１６は、読取対象媒体上に、読取対象部分に対応するマーカを表わすマーカ光を照射するためのレーザ光照射装置である。操作部１８は、複数個のキーを有する。情報コード読取装置１０のユーザは、操作部１８を操作して、情報コード読取装置１０に様々な指示を入力することができる。表示部２０は、様々な情報を表示するディスプレイである。通信Ｉ／Ｆ２２は、図示しない外部装置（例えば、ＰＯＳ端末等）と通信を実行するためのインターフェースである。
【００２０】
制御部２４は、メモリ２６に記憶されているプログラムに従って様々な処理を実行する。また、メモリ２６は、後述の読取処理（図４参照）に伴って取得される様々な情報（例えば読取対象媒体の撮像画像、デコード結果等）を記憶するための領域を有している。
【００２１】
（情報コード読取装置１０の読取対象；図２、図３）
本実施例の情報コード読取装置１０の読取対象について説明する。本実施例の情報コード読取装置１０は、個別コードと、一括コード群とを読取処理の対象とする。図２、図３は、それぞれ、個別コードＩＣと、一括コード群ＰＣと、の一例を示す。
【００２２】
図２に示される個別コードＩＣは、単一の情報コードとして個別に読み取られることによってデータがデコードされるコードである。情報コード読取装置１０は、１個の個別コードＩＣを読み取ることによって、当該個別コードＩＣに記録されている１個のデータをデコードすることができる。
【００２３】
図３に示される一括コード群ＰＣは、複数個（図３の例では４個）のコードＣ１〜Ｃ４によって構成されている。一括コード群ＰＣは、各コードＣ１〜Ｃ４が一括で（即ち略同タイミングで）読み取られることによって、１個のデータがデコードされるコード群である。各コードＣ１〜Ｃ４のそれぞれには、一括コード群ＰＣに記録されるべき１個のデータを４分割した分割データが記録されている。さらに、各コードＣ１〜Ｃ４のそれぞれには、当該情報コードが一括コード群ＰＣの一部を構成するコードであることを示すパリティ情報も記録されている。情報コード読取装置１０は、読み取った情報コードにパリティ情報が含まれている場合に、当該情報コードが一括コード群ＰＣの一部を構成するコードであることを判別することができる。そして、情報コード読取装置１０は、一括コード群ＰＣを構成する４個のコードＣ１〜Ｃ４をすべて一括で読み取ることによって、一括コード群ＰＣに記録されている１個のデータをデコードすることができる。
【００２４】
（制御部２４が実行する読取処理；図４）
続いて、図４を参照して、情報コード読取装置１０の制御部２４が実行する読取処理について説明する。情報コード読取装置１０のユーザは、デコードを希望する情報コード（即ち一括コード群又は個別コード）が付された読取対象媒体に対して撮像部１２の撮影範囲を向けた状態で、操作部１８に所定の読取開始指示を入力することができる。操作部１８において読取開始指示が入力されると、制御部２４は、図４の読取処理を開始する。
【００２５】
Ｓ１０では、制御部２４は、読取対象媒体の撮像画像を取得する。具体的には、まず、制御部２４は、照明部１４によって撮像部１２の撮影範囲に存在する読取対象媒体に対して照明光を照射するとともに、撮像部１２によって、撮影範囲に存在する読取対象媒体の撮影を開始する。同時に、制御部２４は、マーカ光照射部１６は、読取対象媒体上に、読取対象部分に対応するマーカを表わすマーカ光を照射する。また、制御部２４は、表示部２０に、撮像部１２が現在撮影している画像（即ち、読取対象媒体及び読取対象媒体上のマーカ光）を表示させるとともに、ユーザに対して、デコードを希望する情報コードにマーカ光が重なるように情報コード読取装置１０の向きを調整するように促すためのメッセージを表示させる。そして、撮像部１２は、読取対象媒体の画像を撮影する。この結果、制御部２４は、撮像部１２によって撮影された読取対象媒体の画像（以下では「撮像画像」と呼ぶ）を取得する。
【００２６】
続くＳ１２では、制御部２４は、撮像画像（例えば図５の符号５０）中におけるマーカ（例えば図５の符号Ｍ）の位置（例えば図５のＰ１、Ｐ２等）を検出する。マーカの位置は、撮像画像中に含まれるマーカ光の画像の位置に対応する。制御部２４は、撮像画像中の所定位置（例えば中心位置）を原点として定めた場合におけるマーカの中心部分のＸ座標及びＹ座標を特定することにより、撮像画像中におけるマーカの位置を検出する。
【００２７】
続くＳ１４では、制御部２４は、撮像画像の全範囲を、第１エリア（例えば図５の符号Ｒ１）として特定する。第１エリアはデコードの対象となる最大の領域を示す。第１エリアには、少なくとも１個の情報コードが含まれる。
【００２８】
続くＳ１６では、制御部２４は、第１エリアに含まれる全ての情報コード（即ち一括コード群及び／又は個別コード）のデコード処理を実行する。
【００２９】
Ｓ１８では、制御部２４は、Ｓ１６のデコード処理によって少なくとも１個のデータがデコードされたか否かを判断する。
【００３０】
例えば、図５のケースＡのように第１エリアＲ１内に１組の一括コード群ＰＣが含まれる場合には、制御部２４は、当該一括コード群ＰＣに記録されたデータをデコードする。また、図６のケースＢのように第１エリアＲ１内に１個の個別コードＩＣが含まれる場合には、制御部２４は、当該個別コードＩＣに記録されたデータをデコードする。また、図７のケースＣのように第１エリアＲ１内に１組の一括コード群ＰＣ及び１個の個別コードＩＣが含まれる場合には、制御部２４は、当該一括コード群ＰＣに記録されたデータをデコードするとともに、当該個別コードＩＣに記録されたデータをデコードする。また、図８のケースＤのように第１エリアＲ１内に２個の個別コードＩＣ１、ＩＣ２が含まれる場合には、制御部２４は、個別コードＩＣ１、ＩＣ２のそれぞれに記録されたデータをデコードする。また、図９のケースＥのように第１エリアＲ１内に一括コード群ＰＣを構成する４個のコードＣ１〜Ｃ４のうちの２個のコードＣ２、Ｃ４と、１個の個別コードＩＣとが含まれる場合には、制御部２４は、個別コードＩＣに記録されたデータをデコードする。この場合、一括コード群ＰＣに記録されたデータはデコードされない。上記の図５〜図９のような各ケースでは、制御部２４は、Ｓ１８でＹＥＳと判断し、Ｓ１９に進む。
【００３１】
一方、図１０のケースＦのように第１エリアＲ１内に一括コード群ＰＣを構成する４個のコードＣ１〜Ｃ４のうちの２個のコードＣ２、Ｃ４のみが含まれる場合には、制御部２４は、データをデコードすることができない。このようなケースでは、制御部２４は、Ｓ１８でＮＯと判断し、Ｓ５０に進む。また、上記の図５〜図９のような各ケースにおいても、撮像画像に含まれる情報コードの画像がいずれも不鮮明である等の理由により、データがデコードされない場合もある。このような場合にも、制御部２４は、Ｓ１８でＮＯと判断し、Ｓ５０に進む。Ｓ５０では、制御部２４は、所定のエラー処理（例えば、表示部２０に所定のエラーメッセージを表示させる処理等）を実行する。Ｓ５０を終えると、図４の読取処理が終了（即ちエラー終了）する。
【００３２】
Ｓ１９では、制御部２４は、デコードされた１個以上のデータをメモリ２６に記憶させる。
【００３３】
続くＳ２０では、制御部２４は、第１エリア内にデータをデコード可能な一括コード群が含まれているか否かを判断する。例えば、図５のケースＡ、図７のケースＣのように、第１エリアＲ１内に少なくとも１組の一括コード群ＰＣを構成するコードＣ１〜Ｃ４がすべて含まれる場合、制御部２４は、Ｓ２０でＹＥＳと判断し、Ｓ２２に進む。一方、図６のケースＢ、図８のケースＤのように、第１エリアＲ１内に個別コードＩＤ（ＩＤ１、ＩＤ２）のみが含まれており一括コード群が含まれていない場合、若しくは、図９のケースＥのように、第１エリアＲ１内に一括コード群ＰＣを構成するコードＣ１〜Ｃ４のうちの一部のみが含まれている場合（即ち、一括コード群ＰＣを構成するすべてのコードＣ１〜Ｃ４が第１エリアＲ１内に含まれていない場合）には、制御部２４は、Ｓ２０でＮＯと判断し、Ｓ３０に進む。
【００３４】
Ｓ２２では、制御部２４は、第１エリア内で、第１エリアより狭いエリアである第２エリアを特定する。第２エリアは、第１エリアに含まれる一括コード群を含むエリアである。例えば、図５のケースＡ、図７のケースＣでは、制御部２４は、第１エリアＲ１内の一括コード群ＰＣを構成する各コードＣ１〜Ｃ４を含むエリアを第２エリアＲ２として特定する。なお、具体例の図示は省略するが、仮に、第１エリア内に複数組の一括コード群が含まれている場合には、制御部２４は、どちらか一方の一括コード群を含むエリアを第２エリアとして特定する。
【００３５】
続くＳ２４では、制御部２４は、マーカが第２エリアに重なっているか否かを判断する。詳しく言うと、Ｓ２４では、制御部２４は、Ｓ１２で検出されたマーカの位置が、第２エリアに重なるか否かを判断する。制御部２４は、マーカの少なくとも一部が第２エリアに重なっている場合にＳ２４でＹＥＳと判断する。例えば、図７のケースＣの位置Ｐ２１に存在するマーカＭのように、マーカＭが第２エリアＲ２内に存在している場合には、制御部２４は、Ｓ２４でＹＥＳと判断し、Ｓ２６に進む。
【００３６】
Ｓ２６では、制御部２４は、メモリ２６に記憶されている１個以上のデータ（Ｓ１９）のうち、第２エリアに含まれる一括コードのデコード結果のデータ（以下では「一括データ」と呼ぶ）を出力する。具体的には、例えば、制御部２４は、メモリ２６内の一括データを、通信Ｉ／Ｆ２２を介して外部装置に送信する。さらに、制御部２４は、一括データのうちの少なくとも一部を、表示部２０に表示させる。Ｓ２６を終えると、図４の読取処理（即ち正常終了）が終了する。
【００３７】
一方、図７の位置Ｐ２２、Ｐ２３に存在するマーカＭのように、マーカＭが第２エリアＲ２に重なっていない場合、制御部２４は、Ｓ２４でＮＯと判断し、Ｓ３６に進む。この場合、上記の一括データは出力されない。
【００３８】
Ｓ３０では、制御部２４は、第１エリア内で、第１エリアより狭いエリアである第３エリアを特定する。第３エリアは、第１エリアに含まれる１個の個別コードを含むエリアである。例えば、図６のケースＢでは、制御部２４は、第１エリアＲ１内の個別コードＩＣを含むエリアを第３エリアＲ３として特定する。また、図８のケースＤのように、第１エリア内に２個の個別コードＩＣ１、ＩＣ２が含まれている場合には、制御部２４は、一方の個別コードＩＣ１を含むエリアを第３エリアＲ３として特定する。
【００３９】
続くＳ３２では、制御部２４は、マーカが第３エリアに重なっているか否かを判断する。即ち、Ｓ３２では、制御部２４は、Ｓ１２で検出されたマーカの位置が、第３エリアに重なるか否かを判断する。制御部２４は、マーカの少なくとも一部が第３エリアに重なっている場合にＳ３２でＹＥＳと判断する。例えば、図８のケースＤの位置Ｐ３１に存在するマーカＭのように、マーカＭが第３エリアＲ３内に存在する場合、制御部２４は、Ｓ３２でＹＥＳと判断し、Ｓ３４に進む。
【００４０】
Ｓ３４では、制御部２４は、メモリ２６に記憶されている１個以上のデータ（Ｓ１９）のうち、第３エリアに含まれる個別コードのデコード結果のデータ（以下では「個別データ」と呼ぶ）を出力する。データの出力手法は、Ｓ２６と同様である。Ｓ３４を終えると、図４の読取処理が終了（即ち正常終了）する。
【００４１】
一方、図８の位置Ｐ３２、Ｐ３３に存在するマーカＭのように、マーカＭが第３エリアＲ３に重なっていない場合、制御部２４は、Ｓ３２でＮＯと判断し、Ｓ３６に進む。この場合、上記の個別データは出力されない。
【００４２】
Ｓ３６では、制御部２４は、第１エリアのうちの未特定のエリア内に情報コード（即ち他の一括コード群又は個別コード）が存在するか否かを判断する。未特定のエリア（即ち、Ｓ２２で特定された第２のエリア又はＳ３０で特定された第３のエリアとは異なるエリア）にも情報コードが含まれる場合には、制御部２４は、Ｓ３６でＹＥＳと判断し、Ｓ２０に戻る。Ｓ２０では、制御部２４は、第１エリアのうちの未特定のエリア内に、データをデコード可能な一括コード群が含まれているか否かを判断する。そして、制御部２４は、Ｓ２０の判断結果に応じて、それ以降の各処理を再度実行する。例えば、図７のケースＣにおいて、マーカＭが、第２エリアＲ２外の位置Ｐ２３（即ち個別コードＩＣ上）に存在していたためにＳ２４でＮＯと判断された場合の例を想定する。この例では、個別コードＩＣを含むエリアは未特定である。そのため、制御部２４は、Ｓ３６でＹＥＳと判断し、Ｓ２０に戻る。未特定のエリア内には個別コードＩＣのみが存在するため、制御部２４は、Ｓ２０でＮＯと判断する。そして、制御部２４は、個別コードＩＣを含むエリアを新たに第３のエリアとして特定する（Ｓ３０）。この場合、今度はマーカが第３エリア内（即ち位置Ｐ２３）に存在することになるため（Ｓ３２でＹＥＳ）、制御部２４は、個別コードＩＣの個別データを出力することができる（Ｓ３４）。
【００４３】
これに対し、未特定のエリア内に情報コードが含まれていない場合には、制御部２４は、Ｓ３６でＮＯと判断し、Ｓ３８に進む。ここで、未特定のエリア内に情報コードが含まれていない場合には、未特定のエリア内に一括コード群の一部のみが含まれている場合（即ち一括コード群を構成するすべてのコードが存在していない場合）も含まれる。Ｓ３８では、制御部２４は、所定のエラー処理を実行する。Ｓ３８を終えると、図４の読取処理が終了（即ちエラー終了）する。
【００４４】
（具体的なケース；図５〜図１０）
続いて、図５〜図１０を参照して、図４の読取処理によって実現される具体的なケースについて説明する。図５〜図１０の各ケースは、撮像画像５０（図４のＳ１０）に含まれる情報コードの構成が異なる。図５〜図１０のいずれのケースにおいても、撮像画像５０の全範囲が第１エリアＲ１として特定されている（Ｓ１４）。
【００４５】
（ケースＡ；図５）
図５に示すケースＡは、第１エリアＲ１（即ち撮像画像５０の全範囲）内に１組の一括コード群ＰＣが含まれるケースである。この場合、制御部２４は、一括コード群ＰＣに記録されている一括データをデコードし（Ｓ１８でＹＥＳ）、その一括データをメモリ２６に記憶させる（Ｓ１９）。そして、制御部２４は、Ｓ２０でＹＥＳと判断し、一括コード群ＰＣを含むエリアを第２エリアＲ２として特定する（Ｓ２２）。
【００４６】
これ以降の処理はマーカＭの位置に応じて異なる。本実施例では、マーカＭは十字形状のポインタであり、その面積は情報コードの面積よりも小さい。マーカＭが位置Ｐ１（即ち第２エリアＲ２内）に配置されていた場合、制御部２４は、Ｓ２４でＹＥＳと判断し、メモリ２６内の一括データを出力する（Ｓ２６）。一方、マーカＭが位置Ｐ２（即ち第２エリアＲ２外）に配置されていた場合、制御部２４は、Ｓ２４でＮＯと判断し、一括データを出力しない。そして、制御部２４は、未特定のエリア内に他の情報コードが存在しないと判断し（Ｓ３６でＮＯ）、読取処理をエラー終了する。
【００４７】
（ケースＢ；図６）
図６に示すケースＢは、第１エリアＲ１内に１個の個別コードＰＣが含まれるケースである。この場合、制御部２４は、個別コードＩＣに記録されている個別データをデコードし（Ｓ１８でＹＥＳ）、その個別データをメモリ２６に記憶させる（Ｓ１９）。そして、制御部２４は、Ｓ２０でＮＯと判断し、個別コードＩＣを含むエリアを第３エリアＲ３として特定する（Ｓ３０）。
【００４８】
マーカＭが個別コードＩＣ上の位置Ｐ１１（即ち第３エリアＲ３内）に配置されていた場合、制御部２４は、Ｓ３２でＹＥＳと判断し、メモリ２６内の個別データを出力する（Ｓ３４）。一方、マーカＭが位置Ｐ１２（即ち第３エリアＲ３外）に配置されていた場合、制御部２４は、Ｓ２４でＮＯと判断し、個別データを出力しない。そして、制御部２４は、未特定のエリア内に他の情報コードが存在しないと判断し（Ｓ３６でＮＯ）、読取処理をエラー終了する。
【００４９】
（ケースＣ；図７）
図７に示すケースＣは、第１エリアＲ１内に１組の一括コード群ＰＣ及び１個の個別コードＩＣが含まれるケースである。この場合、制御部２４は、一括コード群ＰＣに記録された一括データをデコードするとともに、個別コードＩＣに記録された個別データをデコードし、それらをメモリ２６に記憶させる（Ｓ１９）。そして、制御部２４は、Ｓ２０でＹＥＳと判断し、一括コード群ＰＣを含むエリアを第２エリアＲ２として特定する（Ｓ２２）。
【００５０】
マーカＭが位置Ｐ２１（即ち第２エリアＲ２内）に配置されていた場合、制御部２４は、Ｓ２４でＹＥＳと判断し、メモリ２６内の一括データを出力する（Ｓ２６）。一方、マーカＭが位置Ｐ２２又はＰ２３（即ち第２エリアＲ２外）に配置されていた場合、制御部２４は、Ｓ２４でＮＯと判断し、一括データを出力しない。この場合、制御部２４は、未特定のエリア内に他の情報コード（即ち個別コードＩＣ）が存在すると判断する（Ｓ３６でＹＥＳ）。未特定のエリア内には個別コードＩＣのみが存在するため、制御部２４は、２回目のＳ２０でＮＯと判断し、個別コードＩＣを含むエリアを第３エリア（図示しない）として特定する（Ｓ３０）。
【００５１】
この場合、マーカＭが個別コードＩＣ上の位置Ｐ２２（即ち第３エリア内）に配置されていた場合、制御部２４は、Ｓ３２でＹＥＳと判断し、メモリ２６内の個別データを出力する（Ｓ３４）。
【００５２】
一方、マーカＭが個別コードＩＣ外の位置Ｐ２３（即ち第３エリア外）に配置されていた場合、制御部２４は、Ｓ３２でＮＯと判断し、個別データを出力しない。そして、制御部２４は、未特定のエリア内に他の情報コードが存在しないと判断し（Ｓ３６でＮＯ）、読取処理をエラー終了する。
【００５３】
（ケースＤ；図８）
図８に示すケースＤは、第１エリアＲ１内に２個の個別コードＩＣ１、ＩＣ２が含まれるケースである。この場合、制御部２４は、個別コードＩＣ１、ＩＣ２のそれぞれに記録された個別データをデコードし、それらをメモリ２６に記憶させる（Ｓ１９）。そして、制御部２４は、Ｓ２０でＮＯと判断し、一方の個別コードＩＣ１を含むエリアを第３エリアＲ３として特定する（Ｓ３０）。
【００５４】
マーカＭが個別コードＩＣ１上の位置Ｐ３１（即ち第３エリアＲ３内）に配置されていた場合、制御部２４は、Ｓ３２でＹＥＳと判断し、メモリ２６内の個別コードＩＣ１に対応する個別データを出力する（Ｓ３４）。一方、マーカＭが位置Ｐ３２又はＰ３３（即ち第３エリアＲ３外）に配置されていた場合、制御部２４は、Ｓ３２でＮＯと判断し、個別コードＩＣ１に対応する個別データを出力しない。この場合、制御部２４は、未特定のエリア内に他の情報コード（即ち個別コードＩＣ２）が存在すると判断する（Ｓ３６でＹＥＳ）。未特定のエリア内には個別コードＩＣ２のみが存在するため、制御部２４は、２回目のＳ２０でＮＯと判断し、個別コードＩＣ２を含むエリアを新たに第３エリア（図示しない）として特定する（Ｓ３０）。
【００５５】
この場合、マーカＭが個別コードＩＣ２上の位置Ｐ３２（即ち新たな第３エリア内）に配置されていた場合、制御部２４は、Ｓ３２でＹＥＳと判断し、メモリ２６内の個別コードＩＣ２に対応する個別データを出力する（Ｓ３４）。
【００５６】
一方、マーカＭが個別コードＩＣ２外の位置Ｐ３３（即ち第３エリア外）に配置されていた場合、制御部２４は、Ｓ３２でＮＯと判断し、個別コードＩＣ２に対応する個別データを出力しない。そして、制御部２４は、未特定のエリア内に他の情報コードが存在しないと判断し（２回目のＳ３６でＮＯ）、読取処理をエラー終了する。
【００５７】
（ケースＥ；図９）
図９に示すケースＥは、第１エリアＲ１内に一括コード群ＰＣを構成する４個のコードＣ１〜Ｃ４のうちの一部（即ちコードＣ２、Ｃ４）と、１個の個別コードＩＣとが含まれるケースである。この場合、制御部２４は、個別コードＩＣに記録された個別データをデコードし、メモリ２６に記憶させる（Ｓ１９）。このケースでは、第１エリアＲ１内に一括コード群ＰＣを構成するコードのうちの一部しか含まれないため、一括コード群ＰＣに記録された一括データはデコードされない。そして、制御部２４は、Ｓ２０でＮＯと判断し、個別コードＩＣを含むエリアを第３エリアＲ３として特定する（Ｓ３０）。
【００５８】
マーカＭが個別コードＩＣ上の位置Ｐ４１（即ち第３エリアＲ３内）に配置されていた場合、制御部２４は、Ｓ３２でＹＥＳと判断し、メモリ２６内の個別データを出力する（Ｓ３４）。一方、マーカＭが位置Ｐ４２又はＰ４３（即ち第３エリアＲ３外）に配置されていた場合、制御部２４は、Ｓ３２でＮＯと判断し、個別データを出力しない。このケースでは、未特定のエリア内には一括コードＰＣの一部（Ｃ２、Ｃ４）しか存在しない。そのため、制御部２４は、未特定のエリア内に他の情報コードが存在しないと判断し（Ｓ３６でＮＯ）、読取処理をエラー終了する。
【００５９】
（ケースＦ；図１０）
図１０に示すケースＦは、第１エリアＲ１内に一括コード群ＰＣを構成する４個のコードＣ１〜Ｃ４のうちの一部（即ちコードＣ２、Ｃ４）のみが含まれるケースである。この場合、制御部２４は、データをデコードすることができない（Ｓ１８でＮＯ）。制御部２４は、Ｓ２０以降の処理に進むことなく、読取処理をエラー終了する。
【００６０】
以上、本実施例の情報コード読取装置１０の構成及び動作について説明した。上記の通り、本実施例では、制御部２４は、撮像画像中の第１エリア内の１個以上の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいる場合に（図４のＳ２０でＹＥＳ）、当該複数個の情報コードを含む第２エリアを特定し（Ｓ２２）、第２エリアとマーカが重なる場合に（Ｓ２４でＹＥＳ）、第２内の一括コード群のデコード結果に対応する一括データを出力する（Ｓ２６）。即ち、本実施例によると、ユーザが、読取対象媒体を撮像する際に、第２エリアをマーカ光によって指定する場合に、複数個の情報コードのいずれか１個を個別にデコードする処理等の他のデコード処理が行われることなく、第２エリア内の一括コード群のデコード結果に対応する一括データが出力される。従って、本実施例の情報コード読取装置１０によると、マーカによって指定される領域内に存在する一括コード群のデコード結果に対応する一括データを適切に出力することができる。
【００６１】
また、本実施例では、制御部２４は、撮像画像中の第１エリア内の１個以上の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいない場合に（Ｓ２０でＮＯ）、１個以上の情報コードのうちの１個の個別コードを含む第３エリアを特定し（Ｓ３０）、第３エリアとマーカが重なる場合に（Ｓ３２でＹＥＳ）、第３エリア内の個別コードのデコード結果に対応する個別データを出力する（Ｓ３４）。即ち、この構成によると、ユーザが第３エリアをマーカによって指定する場合に、複数個の情報コードを一括してデコードする処理等の他のデコード処理が行われることなく、第３エリア内の個別コードのデコード結果に対応する個別データが出力される。従って、本実施例では、マーカで指定される領域内に存在する個別コードのデコード結果に対応する個別データも適切に出力することができる。
【００６２】
特定された第２エリア（又は第３エリア）にマーカが重なっていないことによってデータが出力されない場合、マーカが第１エリアのうちの未特定のエリアに存在する他の情報コードに重ねられていた可能性がある。本実施例では、制御部２４は、特定された第２エリア（又は第３エリア）にマーカが重なっていない場合に（Ｓ２４でＮＯ又はＳ３２でＮＯ）、第１エリアの未特定のエリア内に情報コードが含まれるか否かを判断する（Ｓ３６）。そして、未特定のエリア内に情報コードが含まれる場合に（Ｓ３６でＹＥＳ）、制御部２４は、未特定のエリア内の１個以上の情報コードが、一括コード群を構成する複数個の情報コードをすべて含んでいるか否かを判断する（Ｓ２０）。従って、本実施例では、情報コード読取装置１０は、特定された第２エリア（又は第３エリア）にマーカが重なっていないことによってデータが出力されない場合に、未特定のエリア内に含まれる情報コードに対応するデータを出力し得る。従って、マーカで指定される領域内に存在する情報コードに存在するデータをより適切に出力し得る。
【００６３】
本実施例では、情報コード読取装置１０はマーカ光照射部１６を備え、撮像部１２が読取対象画像を撮影する際に、マーカ光照射部１６によって読取対象媒体上にマーカ光が照射される。そのため、本実施例では、ユーザがマーカの位置を視覚的に把握し易くなる。そのため、ユーザが、データの出力を希望する領域を適切に指定することができる。
【００６４】
本実施例と請求項の記載の対応関係を説明しておく。第１エリア（Ｓ１４）、第２エリア（Ｓ２２）、第３エリア（Ｓ３０）が、それぞれ、「第１の領域」、「第２の領域」、「第３の領域」の一例である。Ｓ２０の処理が「第１の判断処理」の一例である。Ｓ３６でＹＥＳと判断された後のＳ２０の処理が「第２の判断処理」の一例である。
【００６５】
以上、本発明の実施例について詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。例えば、以下の変形例を採用してもよい。
【００６６】
（変形例１）上記の実施例では、制御部２４は、撮像画像の全範囲を第１エリアとして特定する。これに限られず、制御部２４は、撮像画像のうちの情報コードを含む領域がすべて含まれていれば、撮像画像のうちの任意の範囲を第１エリアとして特定してもよい。
【００６７】
（変形例２）上記の実施例では、図５等に示すように、マーカＭの形状は、十字形状のポインタであり、その面積は情報コードの面積よりも小さい。これに限られず、マーカＭは、四角枠、円形など、任意の形状であってもよい。また、マーカＭの面積も、情報コードの面積以上であってもよい。
【００６８】
（変形例３）上記の実施例では、情報コード読取装置１０はマーカ光照射部１６を備え、撮像部１２が読取対象画像を撮影する際に、マーカ光照射部１６によって読取対象媒体上にマーカ光が照射される。変形例では、情報コード読取装置１０はマーカ光照射部１６を備えていなくてもよい。その場合、制御部２４は、撮像部１２が読取対象画像を撮影する際に、表示部２０に、撮像部１２が現在撮影している画像（即ち、読取対象媒体）を表示させるとともに、表示部２０内の画像にマーカを表わす画像を合成するようにしてもよい。
【００６９】
（変形例４）上記の各ケース（図５〜図１０）では、情報コードはいずれも２次元コードであるが、情報コードはバーコードであってもよい。
【００７０】
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００７１】
１０：情報コード読取装置
１２：撮像部
１４：照明部
１６：マーカ光照射部
１８：操作部
２０：表示部
２２：通信Ｉ／Ｆ
２４：制御部
２６：メモリ
５０：撮像画像
ＰＣ：一括コード群
Ｃ１、Ｃ２、Ｃ３、Ｃ４：一括コード群を構成するコード
ＩＣ：個別コード
Ｒ１：第１エリア
Ｒ２：第２エリア
Ｒ３：第３エリア
Ｍ：マーカ
【図１】
0006468225.tif 000002
【図２】
0006468225.tif 000003
【図３】
0006468225.tif 000004
【図４】
0006468225.tif 000005
【図５】
0006468225.tif 000006
【図６】
0006468225.tif 000007
【図７】
0006468225.tif 000008
【図８】
0006468225.tif 000009
【図９】
0006468225.tif 000010
【図１０】
0006468225.tif 000011