(57)【特許請求の範囲】
【請求項１】
媒体に表示された情報コードを撮像可能な撮像部と、
前記撮像部によって撮像された前記情報コードを読み取ることが可能なコード読取部と、
前記コード読取部で読み取った前記情報コードの読取結果を出力可能な出力部と、
前記撮像部、前記コード読取部、及び前記出力部を制御する制御部と、を備え、
前記情報コードは、記録対象となる一般情報と、前記一般情報に固有に設定された固有情報と、を含み、
前記制御部は、前記コード読取部が前記固有情報の読み取りに成功しかつ前記一般情報の読み取りに失敗した場合に、読み取りに成功した前記固有情報と異なる前記固有情報を有する前記情報コードについては前記一般情報を読み取らないように前記コード読取部を制御する、
情報コード読取装置。
【請求項２】
前記制御部は、前記コード読取部が前記固有情報の読み取りに成功しかつ前記一般情報の読み取りに失敗した場合に、予め設定された所定期間が経過するまでは、読み取りに成功した前記固有情報と異なる固有情報を有する前記情報コードについては前記一般情報を読み取らないように前記コード読取部を制御する、
請求項１に記載の情報コード読取装置。
【請求項３】
外部装置からの指令を受信可能な受信部を更に備え、
前記制御部は、前記コード読取部が前記固有情報の読み取りに成功しかつ前記一般情報の読み取りに失敗した場合に、前記受信部が前記外部装置からの指令を受けるまでは、読み取りに成功した前記固有情報と異なる固有情報を有する前記情報コードについては前記一般情報を読み取らないように前記コード読取部を制御する、
請求項１に記載の情報コード読取装置。
【請求項４】
前記制御部は、前記出力部から出力される出力内容に、前記読取結果に含まれる情報の種類を識別する情報識別子を付加する、
請求項１から３のいずれか一項に記載の情報コード読取装置。
【請求項５】
前記制御部は、前記コード読取部が前記固有情報を読み取ってから第１期間が経過しても前記一般情報を読み取れなかった場合には前記出力部から前記固有情報を出力する、
請求項１から４のいずれか一項に記載の情報コード読取装置。
【請求項６】
前記制御部は、前記出力部から前記固有情報を出力した後は、
位置検出パターンが未検出状態になることなく前記位置検出パターンの検出有り状態が継続している間は、前記出力部から前記固有情報を出力せず、
前記位置検出パターンの未検出状態が第２期間以上継続した後に更に前記固有情報の読み取りが成功し、その後、前記第１期間が経過しても前記一般情報を読み取れなかった場合に、前記出力部から前記固有情報を再度出力する、
請求項５に記載の情報コード読取装置。
【請求項７】
請求項１から６のいずれか一項に記載された情報コード読取装置に読み取るための情報コードを生成する情報コード生成方法であって、
所定のコード領域の内部に予め設定された形状の機能パターンと符号化した前記一般情報とを配置するとともに、前記コード領域の内部又は周囲に前記一般情報に固有に設定された符号化した固有情報を配置して情報コードを生成する、
情報コード生成方法。
【請求項８】
前記固有情報は、前記情報コードを媒体に印刷する印刷装置を識別するための装置識別子及び前記印刷装置によって印刷された順番を示す連番号を含んでいる、
請求項７に記載の情報コード生成方法。
【請求項９】
前記機能パターンと前記一般情報と前記固有情報とを２次元コードで構成する、
請求項７又は８に記載の情報コード生成方法。
【請求項１０】
前記固有情報を、符号化領域内において前記符号化領域と位置検出パターンとを分離する分離パターンに隣接して配置する、
請求項９に記載の情報コード生成方法。
【請求項１１】
前記機能パターンと前記一般情報とを２次元コードで構成し、前記固有情報をバーコードで構成する、
請求項７又は８に記載の情報コード生成方法。
【請求項１２】
前記固有情報を、符号化領域外において２つの位置検出パターン間であって前記符号化領域に隣接する位置に配置する、
請求項１１に記載の情報コード生成方法。
【請求項１３】
同一内容の前記固有情報を少なくとも２か所に配置する、
請求項７から１２のいずれか一項に記載の情報コード生成方法。
【請求項１４】
請求項７から１３のいずれか一項に記載の情報コード生成方法によって生成された情報コードが表示された情報コード表示媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報コード読取装置、情報コード生成方法、及び情報コード表示媒体に関する。
【背景技術】
【０００２】
バーコードやＱＲコード（登録商標）等の情報コードを読み取り、その読取結果を出力することができる情報コード読取装置がある。近年、その情報コード読取装置を、例えば駅や空港、イベント会場等において入場者を管理するための改札機に組み込むことが提案されている。例えば乗車券や入場券等の情報コードが表示された券紙等をユーザが情報コード読取装置に翳すと、情報コード読取装置は、券紙等に表示された情報コードを読み取る。そして、情報コード読取装置は、読み取った情報コードからデータを取得し、その取得したデータを情報コード読取装置の外部装置、例えば改札機の制御装置へ通知する。
【０００３】
しかし、券紙を持つユーザの指等によって情報コードの一部が隠されてしまった場合や、情報コード読取装置の読み取り視野に情報コードの一部しか入らなかった場合、情報コード読取装置は、翳された券紙等から情報コードを正常に読み取ることが出来ないことがある。そして、従来の情報コード読取装置は、券紙等が翳されたにもかかわらず情報コードを読み取ることが出来なかった場合には無応答となる。この場合、情報コード読取装置は、例えば改札機の制御装置やユーザに対して情報コードの読み取り異常を通知することが出来なくなる。その結果、改札機の動作が一時的に停止したり、ユーザが情報コードの読み取りが正常に実行されたか否かについて判断することが困難になったりする。
【０００４】
そして、このような従来構成においては、例えば複数のユーザが連続して改札機を通過する際に次のような問題が生じ得る。すなわち、先のユーザが翳した券紙等に対する情報コードの読み取りが失敗すると、情報コード読取装置が無応答になって改札機の動作が一時的に停止する。この場合、情報コードの読み取りが失敗したことに先のユーザが気付かないと、先のユーザは、改札機が一時停止している間に更に進んでしまう。そして、先のユーザに続いて後から来たユーザが、復帰した情報コード読取装置に対して券紙等を翳すと、情報コード読取装置は、後のユーザが翳した券紙等の情報コードを読み取ってしまう。この場合、情報コード読取装置は、読み取った情報コードが先のユーザが翳した券紙のものか後のユーザが翳した券紙のものかを区別することなく、その読み取り結果を出力する。すると、改札機は、後のユーザが翳した券紙等が有する情報コードによって、先のユーザを通過させてしまう。そして、この場合、既に先のユーザが改札機を通過しているため、後から来たユーザが改札機を通過出来ない、という事態が生じ得る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１９１０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで、情報コードの読み取りに失敗した後に、その読み取りに失敗した情報コードと異なる情報コードを読み取ってしまうことを抑制することができる情報コード読取装置、その情報コード読取装置で読み取り可能な情報コードを生成するための情報コード生成方法、及びその情報コードが表示された情報コード表示媒体を提供する。
【課題を解決するための手段】
【０００７】
実施形態による情報コード読取装置は、媒体に表示された情報コードを撮像可能な撮像部と、前記撮像部によって撮像された前記情報コードを読み取ることが可能なコード読取部と、前記コード読取部で読み取った前記情報コードの読取結果を出力可能な出力部と、前記撮像部、前記コード読取部、及び前記出力部を制御する制御部と、を備える。前記情報コードは、記録対象となる一般情報と、前記一般情報に固有に設定された固有情報と、を含む。前記制御部は、前記コード読取部が前記固有情報の読み取りに成功しかつ前記一般情報の読み取りに失敗した場合に、読み取りに成功した前記固有情報と異なる前記固有情報を有する前記情報コードについては前記一般情報を読み取らないように前記コード読取部を制御する。
実施形態による情報コード生成方法は、所定のコード領域の内部に予め設定された形状の機能パターンと符号化した一般情報とを配置するとともに、前記コード領域の内部又は周囲に前記一般情報に固有に設定された符号化した固有情報を配置して情報コードを生成する。
実施形態による情報コード表示媒体は、上記の情報コード生成方法によって生成された情報コードが表示されている。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態による情報コードシステムの一例について構成を概念的に示すブロック図
【図２】第１実施形態について、情報コードの内容を概念的に示す図
【図３】第１実施形態について、固有情報の構成の一例を概念的に示す図（その１）
【図４】第１実施形態について、固有情報の構成の一例を概念的に示す図（その２）
【図５】第１実施形態について、符号化された情報コードの一例を示す図
【図６】第１実施形態について、情報コード読取装置の制御部で行われる情報コード読取処理の内容を示すフローチャート（その１）
【図７】第１実施形態について、情報コード読取装置の制御部で行われる情報コード読取処理の内容を示すフローチャート（その２）
【図８】第１実施形態について、情報コード読取装置の制御部における制御状態と出力部から出力されるデータとの関係を示す図（その１）
【図９】第２実施形態について、情報コード読取装置の制御部で行われる情報コード読取処理の内容を示すフローチャート（その１）
【図１０】第２実施形態について、情報コード読取装置の制御部で行われる情報コード読取処理の内容を示すフローチャート（その２）
【図１１】第３実施形態について、情報コード読取装置の制御部で行われる情報コード読取処理の内容のうち、主に図６又は図９と異なる部分を示すフローチャート
【図１２】第３実施形態について、情報コード読取装置の制御部で行われる情報コード読取処理の内容のうち、主に図７又は図１０と異なる部分を示すフローチャート
【図１３】第３実施形態について、情報コード読取装置の制御部における制御状態と出力部から出力されるデータとの関係を示す図（その１）
【図１４】第３実施形態について、情報コード読取装置の制御部における制御状態と出力部から出力されるデータとの関係を示す図（その２）
【図１５】第３実施形態について、情報コード読取装置の制御部における制御状態と出力部から出力されるデータとの関係を示す図（その３）
【図１６】第４実施形態について、符号化された情報コードの一例を示す図
【発明を実施するための形態】
【０００９】
以下、複数の実施形態について図面を参照しながら説明する。なお、各実施形態で実質的に同一の要素には同一の符号を付し、説明を省略する。
【００１０】
（第１実施形態）
まず、第１実施形態について、図１〜図８を参照して説明する。
本実施形態の情報コードシステム１０は、情報コード生成装置２０、情報コード読取装置３０、及び外部装置４０を含んで構成されている。情報コードシステム１０は、例えば駅や空港、イベント会場等において入場者を管理するための発券及び改札システム等に用いることができる。この場合、例えば外部装置４０は改札機であり、情報コード生成装置２０は発券機である。また、情報コード読取装置３０は、例えば改札機つまり外部装置４０に組み込まれたコードリーダである。なお、情報コードシステム１０は、発券及び改札システムに限られず、他の用途にも適用することができる。また、情報コード読取装置３０は、外部装置４０に組み込まれている必要はない。
【００１１】
［情報コード生成装置］
以下では、図１〜図５を参照して情報コード生成装置２０について説明する。情報コード生成装置２０は、図１又は図５に示す情報コード５０を生成し、その情報コード５０を情報コード表示媒体６０に表示させる。情報コード５０は、例えばスタック型又はマトリックス型の２次元コードを含むものである。例えば情報コード生成装置２０は、２次元コード及び１次元コードを生成する機能を有する。本実施形態の場合、情報コード生成装置２０は、ＱＲコード及びバーコードを生成する機能を有する。なお、情報コード生成装置２０が生成する情報コード５０は、ＱＲコード及びバーコードに限られない。
【００１２】
情報コード５０が表示される情報コード表示媒体６０は、例えば紙又は樹脂製のシート状の媒体や、液晶画面等の表示画面を備える電子機器例えばスマートフォン等である。この場合、「情報コード５０を情報コード表示媒体６０に表示させる」とは、情報コード５０を情報コード表示媒体６０に対して外観から認識できるように表示することを意味する。すなわち、「情報コード５０を表示させる」とは、例えば情報コード表示媒体６０が紙媒体である場合にはその紙媒体に情報コード５０を印刷することを意味し、情報コード表示媒体６０がスマートフォン等の電子機器である場合にはその電子機器の画面に情報コード５０を表示させることを意味する。本実施形態の場合、情報コード生成装置２０は、情報コード生成装置２０で生成した情報コードを媒体に印刷する機能を有している。したがって、情報コード生成装置２０は、情報コード生成装置２０で生成した情報コードを媒体に印刷するための印刷装置を兼ねている。
【００１３】
情報コード生成装置２０は、制御部２１、一般情報取得部２２、固有情報生成部２３、符号化部２４、及び印刷部２５を備えている。制御部２１は、例えばＣＰＵ２１１や、ＲＯＭ、ＲＡＭ、及び書き換え可能なフラッシュメモリ等の記憶領域２１２、及び図示しないタイマー等を有するマイクロコンピュータを主体に構成されており、情報コード生成装置２０の全体を制御する。記憶領域２１２は、情報コード生成プログラムを記憶している。制御部２１は、ＣＰＵ２１１において情報コード生成プログラムを実行することにより、一般情報取得部２２、固有情報生成部２３、及び符号化部２４等を、ソフトウェアによって仮想的に実現する。なお、これら一般情報取得部２２、固有情報生成部２３、及び符号化部２４は、例えば制御部２１と一体の集積回路としてハードウェア的に実現してもよい。
【００１４】
情報コード生成装置２０によって生成される情報コード５０には、図２に示すように、一般情報５６及び固有情報５７が含まれている。一般情報５６とは、符号化の対象となる情報つまり記録の目的となる情報である。例えば情報コードシステム１０が駅の改札システムに用いられる場合、一般情報５６は、列車番号や座席番号、乗車地、降車地、発券日時及び料金等の情報である。固有情報５７とは、一般情報５６に付随する情報であって、一般情報５６に固有の情報である。つまり、固有情報５７は、一般情報５６に紐付されており、情報コード５０が複数個存在する場合であっても、各情報コード５０について一般情報５６と固有情報５７とは、原則として１対１の関係になっている。
【００１５】
情報コード生成装置２０は、例えば図示しない通信回線を介して、この情報コード生成装置２０よりも上位のホストコンピュータに接続されている。一般情報取得部２２は、この図示しないホストコンピュータから一般情報５６を取得する機能を有する。
【００１６】
固有情報生成部２３は、図２に示すように、一般情報取得部２２で取得した一般情報５６に固有の固有情報５７を生成する。固有情報生成部２３は、例えば符号１１ビット及び誤り訂正１ビットを有するＢＣＨ符号による固有情報５７を生成する。この場合、固有情報生成部２３は、２^１１＝２０４８通りの固有情報５７を生成することができる。そして、同一の固有情報５７が生成される確率は、１／（２０４８）＾２となる。したがって、同一の固有情報５７が生成される確率は、極めて低いといえる。
【００１７】
固有情報生成部２３は、図３に示すように、例えば乱数を用いて固有情報５７を生成する機能を有する。つまり、この場合、固有情報５７は、乱数５７１によって構成されている。例えば情報コードシステム１０が複数台の情報コード生成装置２０を備えている場合、各情報コード生成装置２０は、それぞれ異なる乱数表を有している。
【００１８】
また、固有情報生成部２３は、例えば図４に示すように、固有情報５７を、１１ビットのうち３ビットを装置識別子５７２として設定し、残りの８ビットを印刷装置つまり情報コード生成装置２０によって印刷された順番を示す連番号５７３として設定する。つまり、この場合、固有情報は、装置識別子５７２及び連番号５７３によって構成されている。
【００１９】
例えば情報コードシステム１０が８台の情報コード生成装置２０を備えている場合、各情報コード生成装置２０には、それぞれ０〜７の装置識別子５７２が割り当てられる。そして、固有情報生成部２３は、その装置識別子５７２に連番号５７３を付加して、固有情報５７を生成する。この場合、連番号５７３は、情報コード生成装置２０が使用開始してから現在までに生成した固有情報５7の数を意味する。なお、固有情報生成部２３が生成する固有情報５７は、上述したものに限られない。例えば固有情報５７のビット数は１１ビットよりも多くてもよいし、少なくてもよい。また、固有情報５７は、乱数５６１や、装置識別子５７２及び連番号５７３から構成されるものに限られず、他の要素を含んでいてもよい。
【００２０】
図１に示す符号化部２４は、一般情報取得部２２で取得した一般情報５６及び固有情報生成部２３で生成した固有情報５７を符号化つまりエンコードして２次元コードを生成する機能を有する。本実施形態の場合、符号化部２４は、一般情報取得部２２で取得した一般情報及び固有情報生成部２３で生成した固有情報を符号化して、図５に示すようなＱＲコード５０を生成する。
【００２１】
図１に示す印刷部２５は、符号化部２４によって符号化された情報コード５０つまり一般情報５６及び固有情報５７を、券紙等の情報コード表示媒体６０に印刷する。なお、印刷部２５は、情報コード生成装置２０に内蔵されたものでもよいし、情報コード生成装置２０の外部に設けられていてもよい。また、情報コード生成装置２０は、情報コード生成装置２０で生成した情報コード５０をスマートフォン等の電子機器に表示させるために、印刷部２５に換えて電子機器と通信可能な通信部を備えていてもよい。
【００２２】
［情報コード］
以下では、図５を参照して情報コード５０の詳細について説明する。情報コード５０は、所定のコード領域５１の内部を格子状に区分けして形成された複数のセル５１１を有している。各セル５１１は、コード領域５１内において２次元的つまり平面的に配列されている。コード領域５１は、情報コード５０を構成する各セル５１１を全て含む領域であって、例えば矩形状の領域である。本実施形態の場合、コード領域５１は、２１×２１個のセル５１１を含む正方形状の領域である。なお、コード領域５１のサイズつまり情報コード５０のサイズは、上述したものに限定されず、一般情報５６の容量等によって適宜変更することができる。各セル５１１は、例えば白色の明色又は例えば黒色の暗色で表示される。
【００２３】
情報コード５０は、例えばＱＲコードであり、ＪＩＳＸ０５１０に即した構成である。この場合、情報コード５０は、位置検出パターン５２１〜５２３、タイミングパターン５３、分離パターン５４１〜５４３、及び符号化領域５５を有している。位置検出パターン５２１〜５２３及びタイミングパターン５３は、予め設定された形状の機能パターンである。すなわち、位置検出パターン５２１〜５２３及びタイミングパターン５３は、一般情報５６及び固有情報５７の内容に関わらず、一定形状に設定されている。
【００２４】
本実施形態の場合、正方形のコード領域５１の３つの頂点を含む角部に、それぞれ３つの位置検出パターン５２１〜５２３が配置されている。この場合、３つの位置検出パターン５２１〜５２３のうち、コード領域５１の矩形状における対角線上に配置された２つの位置検出パターン５２１、５２２を、それぞれ第１位置検出パターン５２１、第２位置検出パターン５２２と称し、残りの位置検出パターン５２３を第３位置検出パターン５２３と称する。タイミングパターン５３は、符号化領域５５内に配置されている。
【００２５】
分離パターン５４１〜５４３は、位置検出パターン５２１〜５２３と符号化領域５５とを分離するためのパターンであり、全て明色つまり白色で構成されている。この場合、第１位置検出パターン５２１と符号化領域５５とを分離するための分離パターン５４１を第１分離パターン５４１と称する。また、第２位置検出パターン５２２と符号化領域５５とを分離するための分離パターン５４２を第２分離パターン５４２と称する。そして、第３位置検出パターン５２３と符号化領域５５とを分離するための分離パターン５４３を第３分離パターン５４３と称する。
【００２６】
符号化領域５５には、符号化された一般情報５６及び固有情報５７が配置される。なお、図５では、説明の都合上、符号化された一般情報５６及び固有情報５７は表示されていない。しかし、実際には、符号化領域５５内の各セル５１１は、符号化された一般情報５６及び固有情報５７に応じて明色又は暗色で表示される。固有情報５７は、符号化領域５５内において、分離パターン５４に隣接して配置される。情報コード５０は、固有情報５７が１か所のみに配置されていてもよいが、同一内容の固有情報５７が少なくとも２か所に分散して配置されていることが好ましい。したがって、同一内容の固有情報５７を３か所以上に分散して配置しても良い。
【００２７】
本実施形態の場合、同一内容の固有情報５７が２か所に分散して配置されている。具体的には、符号化領域５５は、第１固有情報領域５５１及び第２固有情報領域５５２を有している。この場合、図５では、符号化領域５５内の各セル５１１のうち、右下がりの斜線で示した部分が第１固有情報領域５５１のセル５１１であり、左下がりの斜線で示した部分が第２固有情報領域５５２のセル５１１である。第１固有情報領域５５１及び第２固有情報領域５５２には、同一内容の固有情報５７が配置される。
【００２８】
この場合、第１固有情報領域５５１は、２つに分離して設けられている。第１固有情報領域５５１の一部分は、第１分離パターン５４１のうち第３位置検出パターン５２３と対向しない部分に隣接して設けられている。また、第１固有情報領域５５１の残りの部分は、第２分離パターン５４２のうち第３位置検出パターン５２３と対向しない部分に隣接して設けられている。第２固有情報領域５５２は、第３分離パターン５４３の全体に亘って隣接して設けられている。また、符号化された一般情報５６は、符号化領域５５のうち固有情報領域５５１、５４２以外の領域に配置される。
【００２９】
［情報コード読取装置］
以下では、図１を参照して情報コード読取装置３０について説明する。情報コード読取装置３０は、情報コード表示媒体６０に表示された情報コード５０を読み取り、その読み取った情報コード５０を復号つまりデコードする。そして、情報コード読取装置３０は、その読取結果つまり復号したコードデータを外部装置４０へ送信する。この場合、情報コード読取装置３０は、２次元コード及び１次元コードを読み取る機能を有する。本実施形態の場合、情報コード読取装置３０は、ＱＲコード及びバーコードを読み取る機能を有する。なお、情報コード読取装置３０が読み取る情報コード５０は、ＱＲコード及びバーコードに限られない。
【００３０】
情報コード読取装置３０は、制御部３１、撮像部３２、通信部３３、コード読取部３４、出力部３５、及び受信部３６を備えている。制御部３１は、例えばＣＰＵ３１１や、ＲＯＭ、ＲＡＭ、及び書き換え可能なフラッシュメモリ等の記憶領域３１２、及び図示しないタイマー等を有するマイクロコンピュータを主体に構成されており、情報コード読取装置３０の全体を制御する。記憶領域３１２は、情報コード読取プログラムを記憶している。制御部３１は、ＣＰＵ３１１において情報コード読取プログラムを実行することにより、コード読取部３４、出力部３５、及び受信部３６等を、ソフトウェアによって仮想的に実現する。なお、これらコード読取部３４、出力部３５、及び受信部３６は、例えば制御部３１と一体の集積回路としてハードウェア的に実現してもよい。
【００３１】
撮像部３２は、例えばＣＣＤカメラ等であり、情報コード表示媒体６０に表示された情報コード５０を撮像する機能を有する。制御部３１は、情報コード表示媒体６０から反射した可視光又は不可視光を撮像部３２によって取得することで、情報コード表示媒体６０に表示された情報コード５０を取得することができる。また、制御部３１は、撮像部３２による撮像画像の明暗等から、情報コード表示媒体６０が撮像部３２に翳されたことを検知する機能を有する。なお、制御部３１は、近接センサ等の他のセンサを用いて、情報コード表示媒体６０が翳されたことを検知してもよい。ユーザが情報コード表示媒体６０を撮像部３２に翳すと、制御部３１は、撮像部３２による撮像画像から、情報コード表示媒体６０に表示された情報コード５０を取得する。
【００３２】
通信部３３は、外部装置４０とデータを送受信するためのインターフェースである。通信部１６は、無線又は有線で外部装置４０と接続される。コード読取部３４は、撮像部３２で撮像した画像をスキャンして、情報コード５０を復号して情報コード５０の内容を読み取る機能を有する。例えばコード読取部３４は、図５に示す位置検出パターン５２１〜５２３を検出すると、符号化領域５５内の一般情報５６及び固有情報５７の復号を行う。出力部３５は、コード読取部３４で読み取った情報コード５０の内容つまりコードデータ等を、通信部３３を介して外部装置４０へ出力する機能を有する。受信部３６は、通信部３３を介して外部装置４０からの指令を受信する機能を有する。
【００３３】
［情報コード読取処理］
以下では、図６及び図７を参照して、情報コード読取装置３０の制御部３１で行われる情報コード読取処理について説明する。なお、以下の説明において、括弧内の語句は、その括弧の直前の語句に対応するフローチャートの内容を示している。また、図６のステップＳ１４に表記されている「ＦＰ」は、ファインダパターンの略であり、位置検出パターン５２１〜５２３を意味する。以下の処理では、１つの固定値Ｔｏと、３つの変数Ｔ、ＩＤ０、ＩＤｘが設定される。変数Ｔは、タイマーを作動させてからの時間を示す変数である。制御部３１は、情報コード読取処理を開始（図６のスタート）してから初めて固有情報５７の読み取りに成功した場合に、タイマーによる計時を開始する。
【００３４】
固定値Ｔｏは、変数Ｔの上限を定めるもので、予め設定された値である。変数ＩＤ０は、情報コード読取処理の実行開始（図６のスタート）後に初めて読み取った固有情報５７の値を示すためのものである。そして、変数ＩＤｘは、情報コード読取処理の実行開始（図６のスタート）後に読み取った固有情報５７のうち最新の固有情報５７の値を示すためのものである。以下の説明では、変数Ｔをカウント時間Ｔと称し、固定値Ｔｏをタイムアウト時間Ｔｏと称し、変数ＩＤ０を初期値ＩＤ０と称し、変数ＩＤｘを現在値ＩＤｘと称する。
【００３５】
本実施形態において、制御部３１は、コード読取部３４が固有情報５７の読み取りに成功しかつ一般情報５６の読み取りに失敗した場合に、読み取りに成功した固有情報５７と異なる固有情報５７を有する情報コード５０については一般情報５６を読み取らないようにコード読取部３４を制御する。
【００３６】
具体的には、制御部３１は、情報コード読取処理を開始すると（図６のスタート）、ステップＳ１１において初期設定を行う。制御部３１は、初期設定を実行すると、カウント時間Ｔ、初期値ＩＤ０、及び現在値ＩＤｘをそれぞれ０に設定する。次に、制御部３１は、ステップＳ１２において、カウント時間Ｔがタイムアウト時間Ｔｏに達しているか否かを判断する。カウント時間Ｔがタイムアウト時間Ｔｏ以上である場合（ステップＳ１２でＮＯ）、制御部３１は、情報コード読取処理を終了する（図７のエンド）。一方、カウント時間Ｔがタイムアウト時間Ｔｏ未満であれば（ステップＳ１２でＹＥＳ）、制御部３１は、ステップＳ１３へ処理を移行する。
【００３７】
ステップＳ１３において、制御部３１は、撮像部３２及びコード読取部３４により情報コード５０の画像取得及びスキャンを行う。ステップＳ１３の処理の結果、位置検出パターン５２１〜５２３が検出されなかった場合（ステップＳ１４でＮＯ）、制御部３１は、ステップＳ１２へ処理を移行する。一方、位置検出パターン５２１〜５２３が検出された場合（ステップＳ１４でＹＥＳ）、制御部３１は、ステップＳ１５へ処理を移行し、情報コード５０から固有情報５７の読み取りを試みる。
【００３８】
固有情報５7の読み取りが失敗した場合（ステップＳ１６でＮＯ）、制御部３１は、ステップＳ１２へ処理を移行する。一方、固有情報５７の読み取りが成功した場合（ステップＳ１６でＹＥＳ）、制御部３１は、ステップＳ１７へ処理を移行する。そして、制御部３１は、現在値ＩＤｘを、ステップＳ１５で読み取った固有情報５７の値に設定する。その後、制御部３１は、図７のステップＳ１８へ処理を移行する。
【００３９】
制御部３１は、図７のステップＳ１８において、タイマーが作動中であるか否かを判断する。タイマーが停止しているということは、図６のステップＳ１５で読み取った固有情報５７が、情報コード読取処理を開始（図６のスタート）してから初めて読み取った固有情報５７そのものであることを意味する。そのため、タイマーが停止中であれば（ステップＳ１８でＮＯ）、制御部３１は、ステップＳ１９へ処理を移行し、タイマーを始動させる。そして、制御部３１は、ステップＳ２０へ処理を移行し、初期値ＩＤ０を現在値ＩＤｘに設定する。その後、制御部３１は、ステップＳ２２へ処理を移行する。
【００４０】
これに対し、ステップＳ１８においてタイマーが作動しているということは、既にステップＳ１９、２０を実行したということを意味する。すなわち、ステップＳ１８においてタイマーが作動しているということは、図６のステップＳ１５で読み取った固有情報５７が、情報コード読取処理を開始（図６のスタート）してから初めて読み取った固有情報５７そのものでないことつまり２回目以降に読み取った固有情報５７であることを意味する。そのため、タイマーが作動中である場合（ステップＳ１８でＹＥＳ）、制御部３１は、ステップＳ２１へ処理を移行し、現在値ＩＤｘが初期値ＩＤ０と等しいか否かを判断する。
【００４１】
ステップＳ２１において現在値ＩＤｘが初期値ＩＤ０に一致していないということは、２回目以降に検出した固有情報５７が最初に検出した固有情報５７と異なっていること、すなわち、最初に取得した情報コード５０と、現在取得している情報コード５０とが異なっていることを意味する。換言すれば、撮像部３２に現在翳されている情報コード表示媒体６０が、最初に翳された情報コード表示媒体６０と異なっていることを意味する。そのため、現在値ＩＤｘと初期値ＩＤ０とが不一致である場合（ステップＳ２１でＮＯ）、制御部３１は、最初に翳された情報コード表示媒体６０と異なる情報コード表示媒体６０が翳されたと判断する。そして、制御部３１は、ステップＳ２２において一般情報５６を読み取ることなく図６のステップＳ１２へ処理を移行する。
【００４２】
一方、ステップＳ２１において現在値ＩＤｘが初期値ＩＤ０に一致しているということは、２回目以降に検出した固有情報５７と最初に検出した固有情報５７とが同一であること、すなわち、最初に取得した情報コード５０と現在取得している情報コード５０とが同一であることを意味する。換言すれば、撮像部３２に現在翳されている情報コード表示媒体６０が、最初に翳された情報コード表示媒体６０と同一のものであることを意味する。そのため、現在値ＩＤｘと初期値ＩＤ０とが一致している場合（ステップＳ２１でＹＥＳ）、制御部３１は、最初に翳された情報コード表示媒体６０と同一の情報コード表示媒体６０が再度翳されたと判断し、ステップＳ２２へ処理を移行する。
【００４３】
そして、制御部３１は、ステップＳ２２において、コード読取部３４により、符号化領域５５内に配置された一般情報５６を読み取る。次に、制御部３１は、ステップＳ２３において、ステップＳ２２で一般情報５６の読み取りが成功したか否かを判断する。一般情報５６の読み取りが失敗した場合（ステップＳ２３でＮＯ）、制御部３１は、図６のステップＳ１２へ処理を移行し、再度、ステップＳ１２〜Ｓ２３の処理を繰り返す。
【００４４】
一方、一般情報５６の読み取りが成功した場合（ステップＳ２３でＹＥＳ）、制御部３１は、ステップＳ２４へ処理を移行する。そして、制御部３１は、ステップＳ２４において、出力部３５により読取結果を出力するとともに、通信部３７を介してその読取結果を外部装置４０へ送信する。この場合、制御部３１は、図８に示すように、コード読取部３４による一般情報の読み取りが成功した（図７のステップＳ２３でＹＥＳ）直後に、読取結果として一般情報５６及び固有情報５７を出力する（図７のステップＳ２４）。なお、図８の「読取状態」の矢印上部に付した番号は、図６及び図７のステップ番号を意味している。そして、制御部３１は、情報コード読取処理を終了する（図７のエンド）。情報コード読取装置３０から読取結果を受信した外部装置４０は、その読取結果に応じた処理を行う。
【００４５】
以上説明した実施形態によれば、情報コード読取装置３０は、撮像部３２、コード読取部３４、出力部３５、及び制御部３１を備えている。撮像部３２は、情報コード表示媒体６０に表示された情報コード５０を撮像することが出来る。コード読取部３４は、撮像部３２によって撮像された情報コード５０を読み取ることが出来る。出力部３５は、コード読取部３４で読み取った情報コード５０の読取結果を出力することが出来る。制御部３１は、これら撮像部３２、コード読取部３４、及び出力部３５を制御する。情報コード５０は、記録対象となる一般情報５６と、一般情報５６に固有に設定された固有情報５７と、を含んでいる。
【００４６】
そして、制御部３１は、コード読取部３４が位置検出パターン５２１〜５２３を検出した後（ステップＳ１４でＹＥＳ）、コード読取部３４が固有情報５７の読み取りに成功し（図６のステップＳ１６でＹＥＳ）かつ一般情報５６の読み取りに成功した場合（図７のステップＳ２３でＹＥＳ）、その読取結果を出力する（ステップＳ２４）。一方、制御部３１は、コード読取部３４が位置検出パターン５２１〜５２３を検出した後（ステップＳ１４でＹＥＳ）、コード読取部３４が固有情報５７の読み取りに成功し（図６のステップＳ１６でＹＥＳ）かつ一般情報５６の読み取りに失敗した場合（図７のステップＳ２３でＮＯ）、読み取りに成功した固有情報５７と異なる固有情報５７を有する情報コード５０については一般情報５６を読み取らないようにコード読取部３４を制御する（図７のステップＳ２１でＮＯ）。
【００４７】
これによれば、最初に翳された情報コード５０について一般情報５６の読み取りに失敗し（図７のステップＳ２３）、その後、最初の情報コード５０の一般情報５６を読み取ることなく更に別の情報コード表示媒体６０が翳された場合（図７のステップＳ２１でＹＥＳ）に、次のような作用効果を奏する。すなわち、情報コード５０は一般情報５６に固有の固有情報５７を有している。そのため、この場合、後に翳された情報コード５０が有する固有情報５７と、最初に翳された情報コード５０が有する固有情報５７とは一致しない。したがって、制御部３１は、後に翳された情報コード５０の一般情報５６を読み取らないようにコード読取部３４を制御する。これにより、情報コード５０について一般情報５６の読み取りに失敗した後に、その読み取りに失敗した情報コード５０と異なる情報コード５０の一般情報５６を読み取ってしまうことを防ぐことができる。その結果、例えば情報コード読取装置３０を改札機に組み込んだものにおいて、複数のユーザが連続して改札機を通過した場合であっても、改札機は、後のユーザが翳した情報コード５０によって先のユーザを通過させてしまう、といった事態を抑制することができる。
【００４８】
制御部３１は、コード読取部３４が固有情報５７の読み取りに成功し（図６のステップＳ１６でＹＥＳ）かつ一般情報５６の読み取りに失敗した場合（図７のステップＳ２３でＮＯ）に、所定期間Ｔ０が経過するまでは（図６のステップＳ１２でＹＥＳ）、読み取りに成功した固有情報５７と異なる固有情報５７を有する情報コード５０については一般情報５６を読み取らないようにコード読取部３４を制御する。これによれば、情報コード読取装置３０が一般情報５６の読み取りに失敗した場合であっても、情報コード読取装置３０単体によって読取処理を継続することができる。したがって、外部装置４０による処理の増大を抑制することができ、その結果、外部装置４０の負荷を抑制することができる。
【００４９】
また、上記実施形態による情報コード生成方法は、図５に示すように、所定のコード領域５１の内部に予め設定された形状の機能パターン５２１〜５２３、５３と符号化した一般情報５６とを配置するとともに、コード領域５１の内部に符号化した固有情報５７を配置して情報コード５０を生成する。これによれば、例えば従来のＱＲコードの構成を大きく変えることなく、固有情報５７を有した情報コード５０を容易に生成することができる。
【００５０】
ここで、例えば固有情報５７が乱数によって設定される場合、極めて希ではあるものの、異なる一般情報５６に対して偶然にも同一の固有情報５７が発番される可能性が存在する。したがって、この場合、同一の固有情報５７が生成される可能性を許容するか、又は、固有情報５７を生成する情報コード生成装置２０が過去に生成された固有情報５７と新たに生成した固有情報５７とを照合し、一致する場合には固有情報５７を生成し直す等の処理が必要になる。そして、後者の処理を行う場合、情報コード生成装置２０が印刷装置であって、その印刷装置が複数台存在すると、過去に生成された固有情報５７を相互の印刷装置で共有する必要がある。その結果、複数の情報コード生成装置２０の相互間で通信が必要となってシステム全体が複雑化する。
【００５１】
そこで、上記実施形態による情報コード生成方法において、固有情報５７は、装置識別子５７２及び連番号５７３を含んでいても良い。装置識別子５７２は、情報コード５０を情報コード表示媒体６０に印刷する印刷装置２０この場合情報コード生成装置２０を識別するための識別子である。連番号５７３は、印刷装置２０によって印刷された順番を示す番号である。これによれば、印刷装置つまり情報コード生成装置２０が複数台存在する場合であっても、各情報コード生成装置２０間で少なくとも装置識別子５７２が異なるため、各情報コード生成装置２０間で同一の固有情報５７が生成されることがない。そのため、各情報コード生成装置２０間で通信等を行うことなく、情報コード生成装置２０単体で固有情報５７の生成を管理でき、その結果、システム全体が複雑化することを抑制できる。
【００５２】
上記実施形態による情報コード生成方法は、機能パターン５２１〜５２３と一般情報５６と固有情報５７とを２次元コードで構成する。これによれば、固有情報５７を例えば従来のＱＲコードに含めることができるため、固有情報５７を含む情報コード５０の生成が容易になる。
【００５３】
この場合、情報コード５０を構成する２次元コードはＱＲコードである。そして、情報コード生成方法は、固有情報５７を、符号化領域５５内において符号化領域５５と位置検出パターン５２１〜５２３とを分離する分離パターン５４１〜５４３に隣接して配置する。つまり、固有情報５７は、位置検出パターン５２１〜５２３の近傍に配置されている。これによれば、情報コード５０の一部がユーザの指等によって隠されていた場合であっても、位置検出パターン５２１〜５２３が検出されれば、位置検出パターン５２１〜５２３の近傍に配置された固有情報５７も同時に検出され易くなる。したがって、情報コード５０のうち少なくとも固有情報５７が正常に読み取られる確率を向上させることができる。
【００５４】
また、上記実施形態による情報コード生成方法は、同一内容の固有情報５７を少なくとも２か所に配置する。すなわち、上記実施形態では、同一内容の固有情報５７が、符号化領域５５内において第１固有情報領域５５１と第２固有情報領域５５２との２か所に分散して配置されている。これによれば、情報コード読取装置３０は、一方の固有情報５７がユーザの指等によって隠されていた場合であっても、他方の固有情報５７を読み取ることができる。したがって、情報コード５０のうち少なくとも固有情報５７が正常に読み取られる確率を更に向上させることができる。
【００５５】
（第２実施形態）
次に、第２実施形態について図９及び図１０を参照して説明する。
第２実施形態において、制御部３１は、図９及び図１０に示す情報コード読取処理を実行する。図９及び図１０に示す情報コード読取処理は、図６のステップＳ１２、及び図７のステップＳ１８、１９に換えて、図９に示すステップＳ３１、Ｓ３２、及び図１０に示すステップＳ３３を有している。
【００５６】
すなわち、制御部３１は、情報コード読取処理の実行を開始し（図９のスタート）、初期設定を行うと（ステップＳ１１）、ステップＳ３１において初期値ＩＤ０が０であるか否かを判断する。初期値ＩＤ０が０であることは、情報コード読取処理が開始されてから現在に至るまでに未だ図１０のステップＳ２０が実行されていないこと、即ち固有情報５７が読み取られていないことを意味する。逆を言えば、初期値ＩＤ０が０と異なる値であることは、既にステップＳ２０〜ステップＳ２３が実行されていることを意味する。つまり、初期値ＩＤ０が０と異なる値であることは、情報コード読取処理が開始されてから現在に至るまでに既に固有情報５７の読み取りが成功し（図９のステップＳ１６でＹＥＳ）、かつ、一般情報５６の読み取りが失敗している（図１０のステップＳ２３でＮＯ）ことを意味する。
【００５７】
図９のステップＳ３１において初期値ＩＤ０が０と異なる値である場合（ステップＳ３１でＮＯ）、制御部３１は、第１実施形態と同様にステップＳ１３〜ステップＳ１７を実行した後、図１０のステップＳ３３へ処理を移行する。そして、制御部３１は、ステップＳ３３において、初期値ＩＤ０が０であるか否かを判断する。初期値ＩＤ０が０である場合（ステップＳ３３でＹＥＳ）、制御部３１は、ステップＳ２０において初期値ＩＤ０を現在値ＩＤｘに設定する。その後、制御部３１は、ステップＳ２１へ処理を移行する。一方、初期値ＩＤ０が０でない場合（ステップＳ３３でＮＯ）、制御部３１は、ステップＳ２０を実行することなく、つまり初期値Ｉ０を維持した状態で、ステップＳ２１へ処理を移行する。
【００５８】
制御部３１は、第１実施形態と同様にステップＳ２１〜ステップＳ２３を実行する。この場合、現在値ＩＤｘが初期値ＩＤ０と異なる場合（ステップＳ２１でＮＯ）、又は一般情報５６の読み取りが失敗した場合（ステップＳ２３でＮＯ）、制御部３１は、図９のステップＳ３１へ処理を移行し、再度、ステップＳ３１以降の処理を繰り返す。また、現在値ＩＤｘが初期値ＩＤ０と同一であり（図１０のステップＳ２１でＹＥＳ）、かつ、一般情報５６の読み取りが成功した場合（ステップＳ２３でＹＥＳ）、制御部３１は、ステップＳ２４へ処理を移行する。そして、制御部３１は、ステップＳ２４において、出力部３５により読取結果を出力するとともに、通信部３７を介してその読取結果を外部装置４０へ送信する。そして、制御部３１は、処理を終了する（エンド）。
【００５９】
これに対し、図９のステップＳ３１において、初期値ＩＤ０が０と異なる値である場合（ステップＳ３１でＮＯ）、制御部３１は、ステップＳ３２へ処理を移行する。そして、制御部３１は、受信部３６が外部装置４０から初期値ＩＤ０のクリア指令を受信したか否かを判断する。受信部３６が初期値ＩＤ０のクリア指令を受信していない場合（ステップＳ３２でＮＯ）、制御部３１は、上述したように、ステップＳ１３以降を実行する。一方、受信部３６が初期値ＩＤ０のクリア指令を受信した場合（ステップＳ３２でＹＥＳ）、制御部３１は、情報コード読取処理を終了する（図１０のエンド）。
【００６０】
このように、本実施形態において、制御部３１は、コード読取部３４が固有情報５７の読み取りに成功し（ステップＳ１６でＹＥＳ）かつ一般情報５６の読み取りに失敗した場合（図１０のステップＳ２３でＮＯ）に、受信部３６が外部装置４０からの指令を受けるまで（図９のステップＳ３２でＹＥＳ）は、読み取りに成功した固有情報５７と異なる固有情報５７を有する情報コード５０については一般情報５６を読み取らないようにコード読取部３４を制御する（ステップＳ２１でＮＯ）。
これによれば、上記第１実施形態と同様の作用効果が得られる。
【００６１】
（第３実施形態）
次に、第３実施形態について図１１〜図１５を参照して説明する。なお、図１３〜図１５の「読取状態」の矢印上部に付した番号は、図１１及び図１２のステップ番号を意味している。
本実施形態において、制御部３１は、図１３〜図１５に示すように、出力部３５から出力される出力内容に、読取結果に含まれる情報の種類を識別する情報識別子５８１、５８２を付加する。制御部３１は、例えば図１３に示すように、固有情報５７及び一般情報５６の読み取りに成功した場合に、固有情報５７及び一般情報５６に第１情報識別子５８１を付加して出力する。この場合、第１情報識別子５８１は、固有情報５７及び一般情報５６の読み取りに成功したことを示すものである。つまり、第１情報識別子５８１は、出力部３５から出力された内容に、固有情報５７及び一般情報５６が含まれていることを示すものである。
【００６２】
また、制御部３１は、例えば図１４及び図１５に示すように、固有情報５７の読み取りには成功したが一般情報５６の読み取りに失敗した場合に、固有情報５７に第２情報識別子５８２を付加して出力する。この場合、第２情報識別子５８２は、一般情報５６の読み取りに失敗したことを示すものである。つまり、第２情報識別子５８２は、出力部３５から出力された内容に、一般情報５６が含まれていないことを示すものである。
【００６３】
また、制御部３１は、図１４及び図１５に示すように、コード読取部３４が固有情報５７を読み取ってから第１期間Ｔ１が経過しても一般情報５６を読み取れなかった場合には出力部３５から固有情報５７を出力する。そして、制御部３１は、出力部３５から固有情報５７を出力した後は、位置検出パターン５２１〜５２３が未検出状態になることなく位置検出パターン５２１〜５２３の検出有り状態が継続している間は、出力部３５から固有情報５７を出力しない。また、制御部３１は、出力部３５から固有情報５７を出力した後は、位置検出パターン５２１〜５２３の未検出状態が第２期間Ｔ２以上継続した後に更に固有情報５７の読み取りが成功し、その後、第１期間Ｔ１が経過しても一般情報５６を読み取れなかった場合に、出力部３５から固有情報５７を再度出力する。
【００６４】
この場合、第２期間Ｔ２は、第１期間Ｔ１よりも長い期間である。例えば第２期間Ｔ２は、情報コード表示媒体６０を情報コード読取装置３０に翳したユーザが、その情報コード表示媒体６０を情報コード読取装置３０から一度離してから再度翳すまでの期間として想定される期間であり、例えば１秒程度である。第１期間Ｔ１は、第２期間Ｔ２よりも短い期間であり、例えば０．５秒程度である。
【００６５】
本実施形態において、制御部３１は、図１１及び図１２に示す情報コード読取処理を実行する。図１１に示す処理内容は、図６又は図９の処理内容に加えて、ステップＳ４１、Ｓ４２を有している。なお、図１１では、ステップＳ１３以降の処理を示している。この場合、図１１の処理内容において、ステップＳ１３以前の処理内容は、図６に示すものつまりステップＳ１１〜Ｓ１３であっても良いし、図９に示すものつまりステップＳ１１、Ｓ３１、Ｓ３２であっても良い。
【００６６】
また、図１２に示す処理内容は、図７又は図１０に示す処理内容に加えて、ステップＳ４３〜Ｓ４７を有している。なお、図１２では、ステップＳ２２以降の処理を示している。この場合、図１２の処理内容において、ステップＳ２２以前の処理内容は、図７に示すものつまりステップＳ１８〜Ｓ２１であっても良いし、図１０に示すものつまりステップＳ３３、Ｓ２０、Ｓ２１であっても良い。また、図１２に示す処理内容では、図７又は図１０のステップＳ２４に換えて、ステップＳ４３、Ｓ４７を有している。
【００６７】
具体的には、制御部３１は、図６のステップＳ１１、Ｓ１２、又は図９のステップＳ１１、Ｓ３１、Ｓ３２を実行し、更に図１１に示すステップＳ１３、Ｓ１４を実行する。この場合、制御部３１は、ステップＳ１１の初期設定において変数Ｆを０に設定する。変数Ｆは、出力部３５から固有情報５７の出力を許可するか否かを決定するものである。変数Ｆが０である場合、制御部３１は、出力部３５から固有情報５７の出力を許可する。一方、変数Ｆが０と異なる値である場合、制御部３１は、出力部３５から固有情報５７の出力を許可しない。
【００６８】
図１１のステップＳ１３の処理の結果、位置検出パターン５２１〜５２３が検出されなかった場合（ステップＳ１４でＮＯ）、制御部３１は、ステップＳ４１へ処理を移行する。制御部３１は、ステップＳ４１において、位置検出パターン５２１〜５２３の未検出状態が第２所定期間Ｔ２以上継続しているか否かを判断する。位置検出パターン５２１〜５２３の未検出状態が第２所定期間Ｔ２以上継続している場合（ステップＳ４１でＹＥＳ）、制御部３１は、ステップＳ４２において変数Ｆを０に設定する。その後、制御部３１は、図６のステップＳ１２又は図９のステップＳ３１へ処理を移行する。
【００６９】
一方、位置検出パターン５２１〜５２３の未検出状態が第２所定期間Ｔ２以上継続していない場合（図１１のステップＳ４１でＮＯ）、制御部３１は、ステップＳ４２を実行することなく、図６のステップＳ１２又は図９のステップＳ３１へ処理を移行する。つまり、位置検出パターン５２１〜５２３の未検出状態となっていない場合、又は位置検出パターン５２１〜５２３の未検出状態が第２所定期間Ｔ２未満で終了した場合には、制御部３１は、ステップＳ４２を実行しない。
【００７０】
また、図１２のステップＳ２３において、制御部３１は、ステップＳ２２で行った一般情報５６の読み取りが成功したか否かを判断する。一般情報５６の読み取りが成功した場合（ステップＳ２３でＹＥＳ）、制御部３１は、ステップＳ４３へ処理を移行する。そして、ステップＳ４３において、制御部３１は、図１３に示すように、一般情報５６及び固有情報５７に加えて第１情報識別子５８１を、出力部３５から出力する。
【００７１】
一方、一般情報５６の読み取りが失敗した場合（ステップＳ２３でＮＯ）、制御部３１は、ステップＳ４４へ処理を移行する。そして、ステップＳ４４において、制御部３１は、最初に一般情報５６の読み取りを失敗してから第１期間Ｔ１が経過したか否かを判断する。ここで、「最初に一般情報５６の読み取りを失敗」とは、情報コード読取処理を開始（スタート）してから初めて位置検出パターン５２１〜５２３を検出し（図１１のステップＳ１４でＹＥＳ）、その後初めて一般情報５６の読み取りに失敗した場合（図１２のステップＳ２３でＮＯ）を意味する。
【００７２】
最初に一般情報５６の読み取りを失敗してから第１期間Ｔ１が経過していない場合（ステップＳ４４でＮＯ）、制御部３１は、ステップＳ４５〜Ｓ４７を実行することなく、図６のステップＳ１２又は図９のステップＳ３１へ処理を移行する。つまり、最初に一般情報５６の読み取りを失敗してから（ステップＳ２３でＮＯ）、第１期間Ｔ１が経過することなく（ステップＳ４４でＮＯ）、再度、一般情報５６の読み取りに失敗した場合（ステップＳ２３でＮＯ）、制御部３１は、ステップＳ４５〜Ｓ４７を実行することなく、図６のステップＳ１２又は図９のステップＳ３１へ処理を移行する。
【００７３】
一方、最初に一般情報５６の読み取りを失敗してから第１期間Ｔ１が経過した場合（ステップＳ４４でＹＥＳ）、制御部３１は、ステップＳ４５へ処理を移行する。ステップＳ４５において、制御部３１は、変数Ｆが０であるか否かを判断する。変数Ｆが０であることは、未だステップＳ４６、Ｓ４７を実行しておらず固有情報５７が出力されていないか、又はステップＳ４６、Ｓ４７を実行して固有情報５７が出力されたが、その後、位置検出パターン５２１〜５２３の未検出状態が第２期間Ｔ２以上継続されて（図１１のステップＳ４１でＹＥＳ）、変数Ｆが０にリセットされた（ステップＳ４２）ことを意味する。そのため、変数Ｆが０である場合（ステップＳ４５でＹＥＳ）、制御部３１は、ステップＳ４６において、図１４又は図１５に示すように、固有情報５７に加えて第２情報識別子５８２を、出力部３５から出力する。
【００７４】
また、変数Ｆが０と異なる値であることは、既にステップＳ４６、４７が実行されて固有情報５７が出力されておりかつ位置検出パターン５２１〜５２３の未検出状態となっていないこと、又は既にステップＳ４６、４７が実行されて固有情報５７が出力されておりかつ位置検出パターン５２１〜５２３の未検出状態となっても第２期間Ｔ２以上継続していないことを意味する。そのため、変数Ｆが０でない場合（図１２でステップＳ４５でＮＯ）、制御部３１は、ステップＳ４６、Ｓ４７を実行することなく、つまり固有情報５７を出力することなく、図６のステップＳ１２又は図９のステップＳ３１へ処理を移行する。
【００７５】
つまり、既にステップＳ４６、４７が実行されて固有情報５７が出力されておりかつ位置検出パターン５２１〜５２３の未検出状態となっていない場合、又は既にステップＳ４６、４７が実行されて固有情報５７が出力されておりかつ位置検出パターン５２１〜５２３の未検出状態となっても第２期間Ｔ２以上継続していない場合には、制御部３１は、出力部３５から第２識別情報５８２及び固有情報５７を出力しない。
【００７６】
このように、本実施形態において制御部３１は、出力部３５から出力される出力内容に、読取結果に含まれる情報の種類を識別する情報識別子５８１、５８２を付加する。これによれば、情報コード読取装置３０から読取結果を受信した外部装置４０は、その読取結果に付加された情報識別子５８１、５８２を見ることで、その読取結果に含まれる情報の種類を判別でき、便利である。
【００７７】
ここで、例えばユーザの指等によって符号化領域５５の一部が隠された状態で、ユーザが情報コード表示媒体６０を情報コード読取装置３０に翳したままにすると、次のような問題が生じる。すなわち、この場合、情報コード読取装置３０は、ユーザが情報コード表示媒体６０を翳している間中、固有情報５７及び一般情報５６の読み取りを行うことになる。そして、一般情報５６の読み取りを失敗する度に、固有情報５７を出力する構成にすると、出力部３５は、一般情報５６の読み取りが成功するまでの間、固有情報５７を出力し続けることになる。すると、外部装置４０が受信する情報量が増えて外部装置４０の処理が複雑化する。
【００７８】
そこで、本実施形態において、制御部３１は、固有情報５７の読み取りが成功し（図１１のステップＳ１６でＹＥＳ）、その後、第１期間Ｔ１が経過しても一般情報５６を読み取れなかった場合に（図１２のステップＳ２３でＮＯ、かつ、ステップＳ４４でＹＥＳ）、出力部３５から固有情報５７を出力する。したがって、制御部３１は、一般情報５６の読み取りを失敗する度に、固有情報５７を出力することがない。つまり、制御部３１は、一旦固有情報５７を出力してしまえば、一般情報５６の読み取りが成功するまでの間、固有情報５７を出力し続ける、といったことがない。したがって、外部装置４０が受信する情報量の増加を抑制することができ、その結果、外部装置４０の処理の複雑化を防止し処理の負荷を低減させることができる。
【００７９】
また、情報コード読取装置３０に対して情報コード表示媒体６０が翳された回数は、情報コード読取装置３０や外部装置４０の制御を行ううえで有用な情報である。ここで、位置検出パターン５２１〜５２３が未検出状態になることなく位置検出パターン５２１〜５２３の検出有り状態が継続しているということは、一度翳された情報コード５０が情報コード読取装置３０から離されていないこと、つまり翳し動作が一度しか行われていないことを意味する。そこで、制御部３１は、出力部３５から固有情報５７を出力した後は、位置検出パターン５２１〜５２３が未検出状態になることなく位置検出パターン５２１〜５２３の検出有り状態が継続している間は、出力部３５から固有情報５７を出力しない。
【００８０】
また、位置検出パターン５２１〜５２３が未検出状態になった後に再度位置検出パターン５２１〜５２３の検出有り状態になるということは、情報コード表示媒体６０が翳し直された可能性がある。そこで、制御部３１は、出力部３５から固有情報５７を出力した後は、位置検出パターン５２１〜５２３の未検出状態が第２期間Ｔ２以上継続した後に更に固有情報５７の読み取りが成功し、その後、第１期間Ｔ１が経過しても一般情報５６を読み取れなかった場合に、出力部３５から固有情報５７を再度出力する。
【００８１】
この場合、位置検出パターン５２１〜５２３が未検出状態になった後に再度位置検出パターン５２１〜５２３の検出有り状態になったというだけでは、単なる読取不良なのか、又は翳し動作が行われたかを判断することができない。そのため、制御部３１は、第２期間Ｔ２を、翳し動作をやり直すために必要な時間、例えば１秒程度に設定している。そして、制御部３１は、未検出状態が第２期間Ｔ２以上継続したことを、固有情報５７を再度出力の条件の１つとしている。
【００８２】
これによれば、固有情報５７が出力された回数を、情報コード表示媒体６０が翳された回数と擬制することができる。したがって、外部装置４０は、情報コード読取装置３０から受信した固有情報５７の回数を計測することで、ユーザが情報コード表示媒体６０を翳した回数を疑似的に把握することができる。
【００８３】
（第４実施形態）
次に、第４実施形態について図１６を参照して説明する。
第４実施形態では、情報コード５０に配置した固有情報５７の構成が、上記各実施形態のものと異なる。本実施形態において、情報コード生成装置２０は、符号化した固有情報５７としてバーコード５９１、５９２を生成する。この場合、２つのバーコード５９１、５９２の一方を第１バーコード５９１と称し、他方を第２バーコード５９２と称する。第１バーコード６９１及び第２バーコード５９２は、いずれも同一内容の固有情報５７を示すものである。
【００８４】
本実施形態において、情報コード５０を構成する２次元コードは、例えばＱＲコードである。そして、情報コード生成装置２０は、２つのバーコード５９１、５９２を、それぞれ符号化領域５５外において符号化領域５５に隣接する位置であって、２つの位置検出パターン間に配置する。つまり、情報コード生成装置２０は、バーコード５９１、５９２を、ＱＲコードのコード領域５１外において、ＱＲコードのコード領域５１に接する位置に配置する。この場合、第１バーコード５９１は、第１位置検出パターン５２１と第３位置検出パターン５２３との間に配置される。また、第２バーコード５９２は、第２位置検出パターン５２１と第３位置検出パターン５２３との間に配置される。
【００８５】
これによれば、固有情報５７は、バーコード５９１、５９２として符号化領域５５外に配置されている。したがって、符号化領域５５内に固有情報５７を配置することによる一般情報５６の情報量の低下を抑制することができる。つまり、本実施形態によれば、一般情報５６に対する情報コード５０のサイズを小さくすることができる。
【００８６】
また、バーコード５９１、５９２は、それぞれ２つの位置検出パターン間、つまり第１位置検出パターン５２１と第３位置検出パターン５２３との間及び第２位置検出パターン５２１と第３位置検出パターン５２３との間に配置されている。つまり、バーコード５９１、５９２は、各位置検出パターン５２１〜５２３のいずれにも隣接していない。
【００８７】
ここで、位置検出パターン５２１〜５２３に隣接してバーコード５９１、５９２を配置するためには、バーコード５９１、５９２と位置検出パターン５２１〜５２３との間に一定のクワイエットゾーンつまり余白を設ける必要がある。一方、図１６に示すように、バーコード５９１、５９２を、ＱＲコードのコード領域５１外でかつ符号化領域５５外に配置する場合であれば、バーコード５９１、５９２と符号化領域５５との間にクワイエットゾーンを設ける必要がない。そして、バーコード５９１、５９２を、ＱＲコードのコード領域５１外でかつ位置検出パターン５２１〜５２３間に設けることで、バーコード５９１、５９２と位置検出パターン５２１〜５２３との距離を極力近づけることができる。つまり、バーコード５９１、５９２をコード領域５１外に配置したことによるバーコード５９１、５９２の読み取り性能の低下を極力避けることができる。
【００８８】
以上、本発明の複数の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８９】
図面中、１０は情報コードシステム、２０は情報コード生成装置（印刷装置）、３０は情報コード読取装置、３１は制御部、３２は撮像部、３４はコード読取部、３５は出力部、３６は受信部、４０は外部装置、５０は情報コード（２次元コード、ＱＲコード）、５１はコード領域、５２１は第１位置検出パターン（位置検出パターン、機能パターン）、５２２は第２位置検出パターン（位置検出パターン、機能パターン）、５２３は第３位置検出パターン（位置検出パターン、機能パターン）、５４１は第１分離パターン（分離パターン）、５４２は第２分離パターン（分離パターン）、５４３は第３分離パターン（分離パターン）、５５は符号化領域、５６は一般情報、５７は固有情報、５７２は装置識別子、５７３は連番号、５８１は代１情報識別子（情報識別子）、５８２は第２情報識別子（情報識別子）、５９１は第１バーコード（バーコード）、５９２は第２バーコード（バーコード）、６０は情報コード表示媒体を示す。
【図１】
0006502882.tif 000002
【図２】
0006502882.tif 000003
【図３】
0006502882.tif 000004
【図４】
0006502882.tif 000005
【図５】
0006502882.tif 000006
【図６】
0006502882.tif 000007
【図７】
0006502882.tif 000008
【図８】
0006502882.tif 000009
【図９】
0006502882.tif 000010
【図１０】
0006502882.tif 000011
【図１１】
0006502882.tif 000012
【図１２】
0006502882.tif 000013
【図１３】
0006502882.tif 000014
【図１４】
0006502882.tif 000015
【図１５】
0006502882.tif 000016
【図１６】
0006502882.tif 000017