(57)【要約】【課題】情報が記録された情報コードから情報を光学的に読み取る光学情報読み取り装置において、各情報コードの読み取り処理に要する時間のばらつきを低減する。【解決手段】光学情報読み取り装置は、情報コードを撮像することにより情報コードの画像を含む対象画像を取得する画像取得部と、対象画像を解析して情報コードの種類の特定と情報の抽出とを含む読み取り処理を行う読み取り処理部と、読み取り処理において特定された情報コードの種類を記憶する記憶部と、記憶部に記憶された情報コードの種類に基づき次に読み取り処理の対象となる情報コードの種類を予測する予測部と、対象画像における情報コードの画像の概略サイズを表すサイズ情報を取得するサイズ情報取得部と、予測された情報コードの種類とサイズ情報とに基づき読み取り処理部における処理速度を設定する速度設定部と、を備える。【選択図】図３
2011134309.tif 000002
【特許請求の範囲】
【請求項１】
情報が記録された情報コードから前記情報を光学的に読み取る光学情報読み取り装置であって、
前記情報コードを撮像することにより前記情報コードの画像を含む対象画像を取得する画像取得部と、
前記対象画像を解析して、前記情報コードの種類の特定と前記情報の抽出とを含む読み取り処理を行う読み取り処理部と、
前記読み取り処理において特定された前記情報コードの種類を記憶する記憶部と、
前記記憶部に記憶された情報コードの種類に基づき、次に読み取り処理の対象となる前記情報コードの種類を予測する予測部と、
前記対象画像における前記情報コードの画像の概略サイズを表すサイズ情報を取得するサイズ情報取得部と、
予測された前記情報コードの種類と前記サイズ情報とに基づき、前記読み取り処理部における処理速度を設定する速度設定部と、を備えることを特徴とする、光学情報読み取り装置。
【請求項２】
請求項１に記載の光学情報読み取り装置であって、
前記速度設定部は、予測された情報コードの種類が第１の種類である場合には、前記予測された情報コードより読み取り処理における演算量の多い第２の種類である情報コードと比較して、前記処理速度を遅い値に設定することを特徴とする、光学情報読み取り装置。
【請求項３】
請求項１または請求項２に記載の光学情報読み取り装置であって、
前記速度設定部は、前記サイズ情報により表される前記情報コードの画像の概略サイズが小さいほど、前記処理速度をより遅い値に設定することを特徴とする、光学情報読み取り装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の光学情報読み取り装置であって、
前記予測部は、次に読み取り処理の対象となる前記情報コードの種類は、直前の読み取り処理において特定された前記情報コードの種類であると予測することを特徴とする、光学情報読み取り装置。
【請求項５】
請求項１ないし請求項３のいずれかに記載の光学情報読み取り装置であって、
前記記憶部は、複数回の読み取り処理のそれぞれにおいて特定された前記情報コードの種類を記憶し、
前記予測部は、前記記憶部に記憶された複数回の読み取り処理のそれぞれにおいて特定された前記情報コードの種類に基づき、次に読み取り処理の対象となる前記情報コードの種類を予測することを特徴とする、光学情報読み取り装置。
【請求項６】
請求項５に記載の光学情報読み取り装置であって、
前記予測部は、次に読み取り処理の対象となる前記情報コードの種類は、前記記憶部に記憶された複数回の読み取り処理のそれぞれにおいて特定された前記情報コードの種類の内の最も回数の多い前記情報コードの種類であると予測することを特徴とする、光学情報読み取り装置。
【請求項７】
請求項１ないし請求項６のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、予め設定された最大処理時間内に読み取り処理が完了しない場合は前記読み取り処理を中止すると共に、新たに設定された前記処理速度で読み取り処理を再度実行し、
前記速度設定部は、読み取り処理が中止された場合には、前記処理速度を予め設定された最高速度に設定することを特徴とする、光学情報読み取り装置。
【請求項８】
請求項１ないし請求項７のいずれかに記載の光学情報読み取り装置であって、
前記速度設定部は、前記情報コードの種類毎に定められた基準処理速度における単位時間当たり処理サイズを表す情報と、読み取り処理の所要時間の目標値を表す情報と、を有すると共に、前記基準処理速度と予測された前記情報コードの種類に対応する前記単位時間当たり処理サイズと前記サイズ情報と前記目標値とに基づき、前記処理速度を設定することを特徴とする、光学情報読み取り装置。
【請求項９】
請求項１ないし請求項８のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、前記対象画像を複数の領域に分割した各領域の内で前記情報コードの画像の少なくとも一部を含む前記領域により構成されるラベリング領域を設定し、
前記サイズ情報取得部は、前記ラベリング領域の面積を表す情報を、前記サイズ情報として取得することを特徴とする、光学情報読み取り装置。
【請求項１０】
請求項１ないし請求項９のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、予測された前記情報コードの種類に基づき、読み取り処理における前記情報コードの種類を特定する処理の順序を設定することを特徴とする、光学情報読み取り装置。
【請求項１１】
請求項１ないし請求項１０のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、前記読み取り処理中に、前記情報コードの読み取りにくさを表す難読度を判定し、
前記速度設定部は、同一の前記情報コードの種類で比較した場合に前記難読度が高いほど処理速度が速くなるように、前記読み取り処理部における前記難読度の特定以降の処理速度を再設定する、光学情報読み取り装置。
【請求項１２】
請求項１１に記載の光学情報読み取り装置であって、
前記読み取り処理部は、前記読み取り処理において最初に読み取りが行われる前記情報コード中の基準パターンの読み取り成否に基づき、前記難読度を判定する、光学情報読み取り装置。
【請求項１３】
請求項１２に記載の光学情報読み取り装置であって、
特定の前記情報コードの前記基準パターンは、複数の基準パターン要素により構成され、
前記読み取り処理部は、前記特定の情報コードに関し、読み取りが成功した前記基準パターン要素の数が少ないほど前記難読度が高くなるように、前記難読度を判定する、光学情報読み取り装置。
【請求項１４】
請求項１ないし請求項１３のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、前記読み取り処理中に、前記情報コードの情報量を特定し、
前記速度設定部は、同一の前記情報コードの種類で比較した場合に前記情報量が多いほど処理速度が速くなるように、前記読み取り処理部における前記情報量の特定以降の処理速度を再設定する、光学情報読み取り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報が記録された情報コードから情報を光学的に読み取る光学情報読み取り装置に関する。
【背景技術】
【０００２】
情報が記録された１次元または２次元の情報コードとして、例えばバーコードのＣＯＤＥ１２８やＱＲコード（登録商標）といった複数種類のコードが用いられている。情報コードの種類を判別する機能を有し、複数種類の情報コードに対応する光学情報読み取り装置が知られている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３５２８３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、光学情報読み取り装置における読み取り処理を行う処理速度（例えばＣＰＵのクロック周波数）は一定であった。一方、情報コードの読み取り処理における演算量は、情報コードの種類やサイズにより異なる場合がある。そのため、光学情報読み取り装置による情報コードの読み取り処理に要する時間は、情報コードの種類やサイズによって異なる場合があった。従って、光学情報読み取り装置により複数の情報コードの読み取り処理を連続的に行う場合、各情報コードの種類やサイズに応じて読み取り処理に要する時間にばらつきが生ずる場合があり（すなわち読み取りフィーリングが一定ではなくなる場合があり）、このことが読み取り作業の効率を損ねる場合があった。
【０００５】
本発明は、上記の課題を解決するためになされたものであり、情報が記録された情報コードから情報を光学的に読み取る光学情報読み取り装置において、各情報コードの読み取り処理に要する時間のばらつきを低減することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために、本発明は、以下の形態または適用例として実現することが可能である。
【０００７】
［適用例１］情報が記録された情報コードから前記情報を光学的に読み取る光学情報読み取り装置であって、
前記情報コードを撮像することにより前記情報コードの画像を含む対象画像を取得する画像取得部と、
前記対象画像を解析して、前記情報コードの種類の特定と前記情報の抽出とを含む読み取り処理を行う読み取り処理部と、
前記読み取り処理において特定された前記情報コードの種類を記憶する記憶部と、
前記記憶部に記憶された情報コードの種類に基づき、次に読み取り処理の対象となる前記情報コードの種類を予測する予測部と、
前記対象画像における前記情報コードの画像の概略サイズを表すサイズ情報を取得するサイズ情報取得部と、
予測された前記情報コードの種類と前記サイズ情報とに基づき、前記読み取り処理部における処理速度を設定する速度設定部と、を備えることを特徴とする、光学情報読み取り装置。
【０００８】
この光学情報読み取り装置では、情報コードの画像を含む対象画像が取得され、対象画像の解析を通じた情報コードの種類の特定と情報の抽出とを含む読み取り処理が行われ、読み取り処理において特定された情報コードの種類が記憶され、記憶された情報コードの種類に基づき次に読み取り処理の対象となる情報コードの種類が予測され、対象画像における情報コードの画像の概略サイズを表すサイズ情報が取得され、予測された情報コードの種類とサイズ情報とに基づき読み取り処理部における処理速度が設定されるため、処理速度を、処理の対象となる情報コードの種類や対象画像における情報コードの画像のサイズに見合った適切な値に設定することができ、各情報コードの読み取り処理に要する時間のばらつきを低減することができる。
【０００９】
［適用例２］適用例１に記載の光学情報読み取り装置であって、
前記速度設定部は、予測された情報コードの種類が第１の種類である場合には、前記予測された情報コードより読み取り処理における演算量の多い第２の種類である情報コードと比較して、前記処理速度を遅い値に設定することを特徴とする、光学情報読み取り装置。
【００１０】
この光学情報読み取り装置では、予測された情報コードの種類が第１の種類である場合には、予測された情報コードより読み取り処理における演算量の多い第２の種類である情報コードと比較して、処理速度が遅い値に設定されるため、情報コードの種類毎の演算量の多寡を原因とする読み取り処理の所要時間のばらつきを低減することができる。
【００１１】
［適用例３］適用例１または適用例２に記載の光学情報読み取り装置であって、
前記速度設定部は、前記サイズ情報により表される前記情報コードの画像の概略サイズが小さいほど、前記処理速度をより遅い値に設定することを特徴とする、光学情報読み取り装置。
【００１２】
この光学情報読み取り装置では、情報コードの画像の概略サイズが小さいほど処理速度がより遅い値に設定されるため、情報コードの画像のサイズの大小を原因とするデコード処理の所要時間のばらつきを低減することができる。
【００１３】
［適用例４］適用例１ないし適用例３のいずれかに記載の光学情報読み取り装置であって、
前記予測部は、次に読み取り処理の対象となる前記情報コードの種類は、直前の読み取り処理において特定された前記情報コードの種類であると予測することを特徴とする、光学情報読み取り装置。
【００１４】
この光学情報読み取り装置では、次に読み取り処理の対象となる情報コードの種類は直前の読み取り処理において特定された情報コードの種類であると予測されるため、情報コードの種類の予測の精度を向上させることができ、情報コードの種類毎の演算量の多寡を原因とする読み取り処理の所要時間のばらつきを高い精度で低減することができる。
【００１５】
［適用例５］適用例１ないし適用例３のいずれかに記載の光学情報読み取り装置であって、
前記記憶部は、複数回の読み取り処理のそれぞれにおいて特定された前記情報コードの種類を記憶し、
前記予測部は、前記記憶部に記憶された複数回の読み取り処理のそれぞれにおいて特定された前記情報コードの種類に基づき、次に読み取り処理の対象となる前記情報コードの種類を予測することを特徴とする、光学情報読み取り装置。
【００１６】
この光学情報読み取り装置では、記憶部に記憶された複数回の読み取り処理のそれぞれにおいて特定された情報コードの種類に基づき次に読み取り処理の対象となる情報コードの種類が予測されるため、情報コードの種類の予測の精度を向上させることができ、情報コードの種類毎の演算量の多寡を原因とする読み取り処理の所要時間のばらつきを高い精度で低減することができる。
【００１７】
［適用例６］適用例５に記載の光学情報読み取り装置であって、
前記予測部は、次に読み取り処理の対象となる前記情報コードの種類は、前記記憶部に記憶された複数回の読み取り処理のそれぞれにおいて特定された前記情報コードの種類の内の最も回数の多い前記情報コードの種類であると予測することを特徴とする、光学情報読み取り装置。
【００１８】
この光学情報読み取り装置では、次に読み取り処理の対象となる情報コードの種類は記憶部に記憶された複数回の読み取り処理のそれぞれにおいて特定された情報コードの種類の内の最も回数の多い情報コードの種類であると予測されるため、情報コードの種類の予測の精度を向上させることができ、情報コードの種類毎の演算量の多寡を原因とする読み取り処理の所要時間のばらつきを高い精度で低減することができる。
【００１９】
［適用例７］適用例１ないし適用例６のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、予め設定された最大処理時間内に読み取り処理が完了しない場合は前記読み取り処理を中止すると共に、新たに設定された前記処理速度で読み取り処理を再度実行し、
前記速度設定部は、読み取り処理が中止された場合には、前記処理速度を予め設定された最高速度に設定することを特徴とする、光学情報読み取り装置。
【００２０】
この光学情報読み取り装置では、予め設定された最大処理時間内に読み取り処理が完了しない場合は読み取り処理が中止され、処理速度が予め設定された最高速度に設定され、新たに設定された処理速度で読み取り処理が再度実行されるため、読み取り処理の所要時間が極端に長くなることを抑制しつつ所要時間のばらつきの低減を実現することができる。
【００２１】
［適用例８］適用例１ないし適用例７のいずれかに記載の光学情報読み取り装置であって、
前記速度設定部は、前記情報コードの種類毎に定められた基準処理速度における単位時間当たり処理サイズを表す情報と、読み取り処理の所要時間の目標値を表す情報と、を有すると共に、前記基準処理速度と予測された前記情報コードの種類に対応する前記単位時間当たり処理サイズと前記サイズ情報と前記目標値とに基づき、前記処理速度を設定することを特徴とする、光学情報読み取り装置。
【００２２】
この光学情報読み取り装置では、処理の対象となる情報コードの種類や対象画像における情報コードの画像のサイズに見合った処理速度の設定を実現することができる。
【００２３】
［適用例９］適用例１ないし適用例８のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、前記対象画像を複数の領域に分割した各領域の内で前記情報コードの画像の少なくとも一部を含む前記領域により構成されるラベリング領域を設定し、
前記サイズ情報取得部は、前記ラベリング領域の面積を表す情報を、前記サイズ情報として取得することを特徴とする、光学情報読み取り装置。
【００２４】
この光学情報読み取り装置では、対象画像における情報コードの画像の概略サイズを表すサイズ情報を容易に取得することができ、対象画像における情報コードの画像のサイズに見合った処理速度の設定を容易に実現することができる。
【００２５】
［適用例１０］適用例１ないし適用例９のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、予測された前記情報コードの種類に基づき、読み取り処理における前記情報コードの種類を特定する処理の順序を設定することを特徴とする、光学情報読み取り装置。
【００２６】
この光学情報読み取り装置では、予測された情報コードの種類に基づき読み取り処理における情報コードの種類を特定する処理の順序が設定されるため、読み取り処理におけるルーチンの反復回数の低減を図ることができ、読み取り処理の所要時間を全体として短縮しつつ、そのばらつきを低減することができる。
【００２７】
［適用例１１］適用例１ないし適用例１０のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、前記読み取り処理中に、前記情報コードの読み取りにくさを表す難読度を判定し、
前記速度設定部は、同一の前記情報コードの種類で比較した場合に前記難読度が高いほど処理速度が速くなるように、前記読み取り処理部における前記難読度の特定以降の処理速度を再設定する、光学情報読み取り装置。
【００２８】
この光学情報読み取り装置では、読み取り処理中に情報コードの読み取りにくさを表す難読度が判定され、読み取り処理部における難読度の特定以降の処理速度が、同一の情報コードの種類で比較した場合に難読度が高いほど処理速度が速くなるよう設定される。一般に、情報コードが読み取りにくい場合には情報コードが読み取りやすい場合と比較して読み取り処理に要する時間が長くなる傾向にあるが、この光学情報読み取り装置では、情報コードが読み取りにくい場合における読み取り処理に要する時間の増大を抑制することができ、各情報コードの読み取り処理に要する時間のばらつきをより良好に低減することができる。
【００２９】
［適用例１２］適用例１１に記載の光学情報読み取り装置であって、
前記読み取り処理部は、前記読み取り処理において最初に読み取りが行われる前記情報コード中の基準パターンの読み取り成否に基づき、前記難読度を判定する、光学情報読み取り装置。
【００３０】
この光学情報読み取り装置では、難読度の判定のための特別な処理を行う必要がないため、難読度の判定を実行することに伴う処理時間の増大を抑制することができる。
【００３１】
［適用例１３］適用例１２に記載の光学情報読み取り装置であって、
特定の前記情報コードの前記基準パターンは、複数の基準パターン要素により構成され、
前記読み取り処理部は、前記特定の情報コードに関し、読み取りが成功した前記基準パターン要素の数が少ないほど前記難読度が高くなるように、前記難読度を判定する、光学情報読み取り装置。
【００３２】
この光学情報読み取り装置では、特定の情報コードに関し、読み取りが成功した基準パターン要素の数が少ないほど難読度が高くなるように難読度が判定されるため、適切にかつ迅速に難読度を判定することができる。
【００３３】
［適用例１４］適用例１ないし適用例１３のいずれかに記載の光学情報読み取り装置であって、
前記読み取り処理部は、前記読み取り処理中に、前記情報コードの情報量を特定し、
前記速度設定部は、同一の前記情報コードの種類で比較した場合に前記情報量が多いほど処理速度が速くなるように、前記読み取り処理部における前記情報量の特定以降の処理速度を再設定する、光学情報読み取り装置。
【００３４】
この光学情報読み取り装置では、読み取り処理中に情報コードの情報量が特定され、読み取り処理部における情報量の特定以降の処理速度が、同一の情報コードの種類で比較した場合に情報量が多いほど処理速度が速くなるよう設定される。一般に、情報コードの情報量が多い場合には情報コードの情報量が少ない場合と比較して読み取り処理に要する時間が長くなる傾向にあるが、この光学情報読み取り装置では、情報コードの情報量が多い場合における読み取り処理に要する時間の増大を抑制することができ、各情報コードの読み取り処理に要する時間のばらつきをより良好に低減することができる。
【００３５】
なお、本発明は、種々の態様で実現することが可能であり、例えば、光学情報読み取り装置、情報読み取り方法等の態様で実現することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施例における光学情報読み取り装置１００の外観を示す説明図である。
【図２】光学情報読み取り装置１００の内部構成を概略的に示すブロック図である。
【図３】光学情報読み取り装置１００による処理の流れを示すフローチャートである。
【図４】ラベリング処理により抽出されるラベリング領域ＬＡの一例を示す説明図である。
【図５】記録処理により更新される記録テーブルＲＴの一例を示す説明図である。
【図６】ＣＰＵの動作クロック信号周波数に応じた消費電力の一例を表すグラフである。
【図７】第２実施例における光学情報読み取り装置１００によるデコード処理の流れを示すフローチャートである。
【図８】難読度の判定方法の一例を示す説明図である。
【図９】速度調整係数Ｋ１を規定する速度調整係数テーブルＡＴ１の一例を示す説明図である。
【図１０】第３実施例における光学情報読み取り装置１００によるデコード処理の流れを示すフローチャートである。
【図１１】速度調整係数Ｋ２を規定する速度調整係数テーブルＡＴ２の一例を示す説明図である。
【発明を実施するための形態】
【００３７】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．変形例：
【００３８】
Ａ．第１実施例：
図１は、本発明の第１実施例における光学情報読み取り装置１００の外観を示す説明図である。光学情報読み取り装置１００は、記録面に記録された各種の情報コードＣ（例えばバーコードのＣＯＤＥ１２８のような１次元情報コードや、例えばＱＲコード（登録商標、以下同様）のような２次元情報コード）から、情報を読み取る装置である。本実施例の光学情報読み取り装置１００は、複数種類の情報コードに対応する読み取り装置、すなわち、複数種類の情報コードから情報を読み取ることが可能な読み取り装置である。また、図１に示すように、本実施例の光学情報読み取り装置１００は、いわゆるハンディタイプの読み取り装置である。
【００３９】
図１には、記録面としてのラベルＬに記録された情報コードＣの例としてＱＲコードを示している。ＱＲコードは、白と黒の格子状のパターンで情報を表す正方形形状の情報コードＣであり、３つの隅に正方形形状の位置決めシンボルＳ（ファインダーパターンＦＰとも呼ばれる）を有している。
【００４０】
光学情報読み取り装置１００は、後に詳述するように、情報コードＣを撮像することにより情報コードＣの画像を含む対象画像（対象画像データ）を取得し、取得された対象画像を解析して情報コードＣに含まれる情報の抽出を行う。以下、対象画像を解析して情報コードＣに含まれる情報の抽出を行う処理を「デコード処理」または「読み取り処理」と呼ぶ。
【００４１】
図２は、光学情報読み取り装置１００の内部構成を概略的に示すブロック図である。光学情報読み取り装置１００は、光学情報読み取り装置１００全体を制御する制御回路１１０と、画像データ等を記憶するメモリ１５０と、情報コードＣから読み取った情報等を表示する表示部１６０と、各種操作のためのスイッチ類を含む操作部１７０と、光学情報読み取り装置１００に電力を供給するバッテリー１８０と、図示しない外部装置（例えばホストコンピュータ）との通信のための外部インターフェース１９０と、を備える。表示部１６０は、例えば液晶パネルを用いて構成されている。
【００４２】
制御回路１１０は、動作クロック信号に同期して演算を行う図示しないＣＰＵを含み、デコード処理を行う機能を有する。また、制御回路１１０は、制御回路１１０によるデコード処理の処理速度Ｓｐを可変に設定する速度設定回路１１６を含んでいる。速度設定回路１１６は、制御回路１１０に含まれるＣＰＵの動作クロック信号の周波数を可変に設定することにより、制御回路１１０の処理速度Ｓｐを可変に設定する。なお、速度設定回路１１６は、ＣＰＵの動作クロック信号を可変に設定する代わりに、あるいはＣＰＵの動作クロック信号を可変に設定すると共に、メモリ１５０へのアクセスのためのアクセスクロック信号を可変に設定することにより、制御回路１１０の処理速度Ｓｐを可変に設定するものとしてもよい。
【００４３】
光学情報読み取り装置１００は、また、対象画像を取得するための構成要素として、光を発する照明部１２２と、照明部１２２を駆動する照明駆動回路１２０と、ラベルＬといった対象物からの反射光を２次元画像センサ１３２の撮像面に結像する結像レンズ１３０と、結像された光を光電変換して画像信号を取得する２次元画像センサ１３２と、２次元画像センサ１３２を駆動するセンサ駆動回路１３４と、センサ駆動回路１３４に画像信号の取得タイミングを示すクロック信号を供給するクロック制御回路１３６と、２次元画像センサ１３２により取得された画像信号を増幅する増幅回路１４０と、増幅された画像信号をデジタル信号に変換するＡ／Ｄ変換回路１４２と、を備える。デジタル信号に変換された画像信号は、制御回路１１０によって、メモリ１５０内に格納される。これら各構成要素は、本発明における画像取得部に相当する。
【００４４】
照明部１２２は、例えばＬＥＤを用いて構成された光源を有している。２次元画像センサ１３２は、例えばＣＣＤセンサやＣＭＯＳセンサにより構成されている。
【００４５】
図３は、光学情報読み取り装置１００による処理の流れを示すフローチャートである。光学情報読み取り装置１００による処理は、操作部１７０に含まれる電源スイッチ（不図示）がユーザーによってＯＮ状態とされると開始される。
【００４６】
ステップＳ１１０では、制御回路１１０が、制御回路１１０がデコード処理を行う際の処理速度Ｓｐの初期化を行う。処理速度Ｓｐの初期化として、制御回路１１０の速度設定回路１１６は、処理速度Ｓｐを予め設定された基準処理速度Ｓｂに設定する。すなわち、速度設定回路１１６は、ＣＰＵの動作クロック信号の周波数を、基準処理速度Ｓｂに対応する値に設定する。本実施例では、基準処理速度Ｓｂは、制御回路１１０の最高処理速度であるものとする。
【００４７】
ステップＳ１１０では、また、制御回路１１０が、デコード処理を行う際の読み取り順序の初期化を行う。デコード処理の際には、予め登録された複数の情報コードＣの種類の候補の内の１つの選択と、選択された候補に対応する手順に従った情報抽出処理とが、情報抽出処理が成功するまで繰り返し実行される。例えば、情報コードＣの種類の最初の候補としてＱＲコードが選択された場合には、情報抽出処理として、位置決めシンボルＳ（図１参照）の検出、検出された位置決めシンボルＳ間の距離の算出、位置決めシンボルＳ間の距離に基づくセルの特定、各セルからの情報の抽出が実行される。例えば位置決めシンボルＳが検出できず、情報抽出処理が成功しなかった場合には、次の候補として別の種類の情報コードＣ（例えばマキシコード）が選択され、選択された候補に対応する手順に従った情報抽出処理が実行される。デコード処理を行う際の読み取り順序とは、情報コードＣの種類の候補の選択順序である。読み取り順序の初期化として、制御回路１１０は、読み取り順序を予め設定されたデフォルトの順序に設定する。
【００４８】
ステップＳ１２０では、制御回路１１０が、操作部１７０（図２）に含まれるトリガー（不図示）がＯＮ状態になったことを検出する。トリガーは、ユーザーが情報コードＣの読み取りを希望する場合にＯＮ状態になるように操作されるスイッチである。制御回路１１０は、トリガーがＯＮ状態になったことを検出すると、上述した対象画像を取得するための各構成要素を制御して、対象画像を取得する（ステップＳ１３０）。取得された対象画像は、メモリ１５０に格納される。
【００４９】
ステップＳ１４０では、制御回路１１０が、対象画像を対象としてラベリング処理を行う。ラベリング処理は、対象画像において、情報コードＣの画像の概略の位置およびサイズを特定するラベリング領域ＬＡを抽出する処理である。図４は、ラベリング処理により抽出されるラベリング領域ＬＡの一例を示す説明図である。図４には、情報コードＣの画像Ｃｉを含む対象画像において特定されたラベリング領域ＬＡを示している。制御回路１１０は、ラベリング処理として、対象画像を複数の領域（例えば矩形領域）に分割し、走査線ＳＬに沿って各画素の値を調べることにより、各分割領域に情報コードＣの画像Ｃｉの少なくとも一部が含まれるか否かを判定し、情報コードＣの画像Ｃｉの少なくとも一部が含まれると判定された分割領域により構成される領域をラベリング領域ＬＡとして抽出する。このようにして抽出されたラベリング領域ＬＡは、図４に示すように、対象画像において情報コードＣの画像Ｃｉの概略の位置およびサイズを特定する領域となる。そのため、ラベリング処理により、後のデコード処理の際に処理対象とする画像領域が限定されることとなり、処理の迅速化が図られる。ラベリング処理の詳細内容については、例えば特開２００２−３０４５９４号公報や特開２０００−３５３２１０号公報に記載されているため、ここでは記載を省略する。
【００５０】
ステップＳ１５０では、制御回路１１０の速度設定回路１１６が、制御回路１１０によるデコード処理の処理速度Ｓｐを設定する。ただし、処理速度Ｓｐの初期化（ステップＳ１１０）直後のステップＳ１５０では、初期化において設定された処理速度Ｓｐがそのまま維持される。
【００５１】
ステップＳ１６０では、制御回路１１０が、設定された処理速度Ｓｐでデコード処理を行う。制御回路１１０は、対象画像中のラベリング領域ＬＡを解析して、初期化ステップ（ステップＳ１１０）で設定された読み取り順序に従った複数の情報コードＣの種類の候補の内の１つの選択と、選択された候補に対応する手順に従った情報抽出処理とを、情報抽出処理が成功するまで繰り返し実行する。情報抽出処理が成功した場合には、情報コードＣの種類は、そのとき選択されていた候補であることが特定される。予め登録されたすべての情報コードＣの種類の候補に関して情報抽出処理が成功しなかった場合や、情報抽出処理が成功することなく予め設定された最大処理時間Ｔｍが経過した場合等には、デコード処理は不成功とされる。最大処理時間Ｔｍは、デコード処理の所要時間の目標値である。
【００５２】
デコード処理が成功した場合には（ステップＳ１７０：Ｙｅｓ）、制御回路１１０は、記録処理を行う。記録処理は、デコード処理において特定された情報コードＣの種類と、ラベリング処理により抽出された対象画像におけるラベリング領域ＬＡ（図４）の面積（以下、「ラベリング領域面積Ａｌ」と呼ぶ）とを、メモリ１５０に記録する処理である。
【００５３】
本実施例では、記録処理は、メモリ１５０に格納された記録テーブルＲＴを更新することにより実行される。図５は、記録処理により更新される記録テーブルＲＴの一例を示す説明図である。図５に示すように、記録テーブルＲＴには、成功したデコード処理の各回において特定された情報コードＣの種類とラベリング領域面積Ａｌとが、デコード処理の実行順に登録される。制御回路１１０は、記録処理において、既に記録テーブルＲＴに登録されているデコード処理の実行順をそれぞれ１つ後ろに繰り下げると共に、直前回のデコード処理の記録（情報コードＣの種類およびラベリング領域面積Ａｌ）を新たに登録する。
【００５４】
ステップＳ１９０では、制御回路１１０が、読み取り順序を設定（更新）する。具体的には、制御回路１１０は、記録テーブルＲＴ（図５）に記録された情報コードＣの種類に基づき、次にデコード処理の対象となる情報コードＣの種類を予測すると共に、予測結果に基づいて読み取り順序を設定する。本実施例では、次にデコード処理の対象となる情報コードＣの種類は、直前のデコード処理において特定された情報コードＣの種類と同じであると予測される。従って、制御回路１１０は、読み取り順序を、予測された情報コードＣの種類が最初に候補として選択されるような順序に更新する。なお、情報コードＣの種類を予測する制御回路１１０は、本発明における予測部として機能する。
【００５５】
ステップＳ２００では、制御回路１１０が、デコード処理の読み取り結果、すなわち情報コードＣから読み取られた情報を出力する。具体的には、制御回路１１０は、情報コードＣから読み取られた情報の内容を表示部１６０に表示する。なお、このとき、制御回路１１０が、外部インターフェース１９０を介して接続された外部装置に対して読み取られた情報を送信するとしてもよいし、デコード処理が成功したことをユーザーに知らせるために図示しないブザーを鳴らすものとしてもよい。
【００５６】
読み取り結果の出力の後、制御回路１１０は、操作部１７０（図２）に含まれるトリガーがＯＦＦ状態になったことを検出する（ステップＳ２１０）。その後、操作部１７０に含まれる電源スイッチがＯＦＦ状態とされて処理が終了されることなく、再度、トリガーがＯＮ状態になったことが検出されると（ステップＳ２１０）、上述したステップＳ１３０以降の処理が再度実行される。すなわち、対象画像が取得され（ステップＳ１３０）、対象画像に対するラベリング処理が行われ（ステップＳ１４０）、処理速度Ｓｐの設定が行われ（ステップＳ１５０）、設定された処理速度Ｓｐでのデコード処理が行われる（ステップＳ１６０）。
【００５７】
ここで、図３に示す光学情報読み取り装置１００による処理が開始されてから２回目以降の処理速度設定ステップ（ステップＳ１５０）では、制御回路１１０は、次にデコード処理の対象となる情報コードＣの種類の予測結果と、直前のラベリング処理（ステップＳ１３０）により抽出されたラベリング領域ＬＡ（図４）の面積（ラベリング領域面積Ａｌ）と、に基づいて、処理速度Ｓｐを設定する。情報コードＣの種類の予測結果は、上述した読み取り順序の設定（ステップＳ１９０）の際に参照される予測結果と同じである。すなわち、本実施例では、制御回路１１０は、次にデコード処理の対象となる情報コードＣの種類は、直前のデコード処理において特定された情報コードＣの種類と同じであると予測する。また、制御回路１１０は、直前のラベリング処理により抽出されたラベリング領域ＬＡの面積を算出する。このとき、制御回路１１０は、本発明におけるサイズ情報取得部として機能する。
【００５８】
制御回路１１０は、具体的には、処理速度Ｓｐを下記の式（１）により算出する。式（１）において、「Ｓｂ」は上述の基準処理速度であり、「Ａｌ」は直前のラベリング処理により設定されたラベリング領域ＬＡの面積であり、「Ｔｍ」は上述の最大処理時間である。また、「Ａｂ」は、デコード処理の際に基準処理速度Ｓｂで単位時間当たりに処理可能な画像面積（以下、「基準処理面積」と呼ぶ）である。本実施例では、情報コードＣの種類毎に、基準処理面積Ａｂが予め設定され、メモリ１５０内に記憶されている。制御回路１１０は、次にデコード処理の対象となると予測された情報コードＣの種類に対応する基準処理面積Ａｂを使用する。
Ｓｐ＝Ｓｂ×（Ａｌ／Ａｂ）／Ｔｍ        ・・・（１）
【００５９】
上記式（１）において、（ラベリング領域面積Ａｌ／基準処理面積Ａｂ）は、ラベリング領域ＬＡに対して基準処理速度Ｓｂでデコード処理を行った場合の予想処理時間を表す。従って、処理速度Ｓｐは、基準処理速度Ｓｂに、最大処理時間Ｔｍに対する予想処理時間の割合を乗ずることにより算出されることとなる。
【００６０】
情報コードＣのデコード処理における演算量は、情報コードＣの種類により異なる場合があるため、基準処理面積Ａｂも情報コードＣの種類により異なる場合がある。例えば、一般にバーコードのような１次元情報コードを対象としたデコード処理における演算量は、ＱＲコードのような２次元情報コードを対象としたデコード処理における演算量より少ないため、１次元情報コードに対応する基準処理面積Ａｂは、２次元情報コードに対応する基準処理面積Ａｂよりも大きい傾向にある。そのため、予測された情報コードＣの種類が比較的演算量の少ない種類である場合には、情報コードＣの種類が比較的演算量の多い種類である場合と比較して、基準処理面積Ａｂが大きい値となり、上記式（１）によれば処理速度Ｓｐは遅い値となる。
【００６１】
また、上記式（１）によれば、情報コードＣの種類が同じ場合には、ラベリング領域面積Ａｌが小さいほど、処理速度Ｓｐは遅い値となる。
【００６２】
なお、本実施例では、制御回路１１０の速度設定回路１１６は、ＣＰＵの動作クロック信号の周波数を、シームレスに設定することはできず（すなわち、所定の範囲における任意の値に設定することができず）、段階的に設定された複数の値の内の１つに設定するものとしている。そのため、実際の処理速度Ｓｐも、段階的に設定された複数の値の内の１つに設定されることとなる。従って、速度設定回路１１６は、上記式（１）により目標速度としての処理速度Ｓｐを算出し、実際の処理速度Ｓｐが、設定可能な値の内の目標速度より遅い側で最も近い値になるように、ＣＰＵの動作クロック信号の周波数を選択する。
【００６３】
光学情報読み取り装置１００による処理が開始されてから２回目以降のデコード処理においてデコード処理が成功した場合にも、上述したステップＳ１８０以降の処理、すなわち、記録処理（ステップＳ１８０）、読み取り順序設定（ステップＳ１９０）、読み取り結果出力（ステップＳ２００）、が同様に実行される。
【００６４】
デコード処理が成功しなかった場合（ステップＳ１７０：Ｎｏ）であって、予め設定された最大処理時間Ｔｍが経過したことによる失敗以外の失敗である場合には（ステップＳ２４０：Ｎｏ）、再度、対象画像取得（ステップＳ１３０）以降の処理が実行される。また、予め設定された最大処理時間Ｔｍが経過したことによる失敗である場合には（ステップＳ２４０：Ｙｅｓ）、制御回路１１０の速度設定回路１１６は、処理速度Ｓｐを予め設定された最大処理速度に設定（変更）する（ステップＳ２５０）。その後、再度、対象画像取得（ステップＳ１３０）以降の処理が実行される。制御回路１１０は、操作部１７０に含まれる電源スイッチがＯＦＦ状態とされたことを検出すると（ステップＳ２２０：Ｙｅｓ）、処理を終了する。
【００６５】
以上説明したように、本実施例の光学情報読み取り装置１００では、デコード処理において特定された情報コードＣの種類が記録テーブルＲＴとしてメモリ１５０に記憶され、記憶された情報コードＣの種類に基づき次にデコード処理の対象となる情報コードＣの種類を予測され、予測された情報コードＣの種類と直前のラベリング処理により抽出されたラベリング領域ＬＡの面積（ラベリング領域面積Ａｌ）とに基づきデコード処理の処理速度Ｓｐが設定される。デコード処理に要する時間は、デコード処理の対象となる情報コードＣの種類とラベリング領域面積Ａｌとにより変化し得るが、本実施例の光学情報読み取り装置１００では、デコード処理の処理速度Ｓｐを、対象となる情報コードＣやラベリング領域面積Ａｌに見合った適切な値に設定することができ、情報コードＣのデコード処理に要する時間のばらつきを低減することができ、一定に近い読み取りフィーリングでの読み取りを実現することができる。
【００６６】
具体的には、本実施例の光学情報読み取り装置１００では、予測された情報コードＣの種類が比較的演算量の少ない種類である場合には、情報コードＣの種類が比較的演算量の多い種類である場合と比較して、処理速度Ｓｐが遅い値に設定される。そのため、本実施例の光学情報読み取り装置１００では、情報コードＣの種類毎の演算量の多寡を原因とするデコード処理の所要時間のばらつきを低減することができ、一定に近い読み取りフィーリングでの読み取りを実現することができる。
【００６７】
また、本実施例の光学情報読み取り装置１００では、ラベリング領域面積Ａｌが小さいほど、処理速度Ｓｐが遅い値に設定されるため、ラベリング領域面積Ａｌの大小を原因とするデコード処理の所要時間のばらつきを低減することができ、一定に近い読み取りフィーリングでの読み取りを実現することができる。
【００６８】
なお、上記式（１）から理解されるように、本実施例の光学情報読み取り装置１００では、情報コードＣの種類が比較的演算量の少ない種類である場合や、ラベリング領域面積Ａｌが比較的小さい場合には、処理速度Ｓｐが基準処理速度Ｓｂを低減した値に設定される。一般に、処理速度Ｓｐが低い、すなわち、ＣＰＵの動作クロック信号の周波数が低いと、消費電力は低減される。図６は、ＣＰＵの動作クロック信号周波数に応じた消費電力の一例を表すグラフである。図６に示すように、各動作電圧において、ＣＰＵの動作クロック信号の周波数が低いほど消費電力は低減される。従って、本実施例の光学情報読み取り装置１００では、デコード処理の際の消費電力の低減を図ることができると共に、バッテリー１８０による駆動時間の延長を図ることができる。
【００６９】
また、本実施例の光学情報読み取り装置１００では、次にデコード処理の対象となる情報コードＣの種類は、直前のデコード処理において特定された情報コードＣの種類であると予測される。一般に、光学情報読み取り装置１００による情報コードＣの読み取りの際には、同一種類の情報コードＣを連続的に読み取る場合が比較的多い。従って、本実施例の光学情報読み取り装置１００では、次にデコード処理の対象となる情報コードＣの種類の予測の精度を向上させることができ、情報コードＣの種類毎の演算量の多寡を原因とするデコード処理の所要時間のばらつきを高い精度で低減することができる。
【００７０】
また、本実施例の光学情報読み取り装置１００では、予め設定された最大処理時間Ｔｍ内にデコード処理が完了しない場合には、処理が中止され、処理速度Ｓｐが予め設定された最高速度に設定された上で再度デコード処理が実行されるため、デコード処理の所要時間が極端に長くなることを抑制しつつ所要時間のばらつきの低減を実現することができる。
【００７１】
また、本実施例の光学情報読み取り装置１００では、予測された情報コードＣの種類に基づき、デコード処理における読み取り順序（情報コードＣの種類を特定する処理の順序）が設定されるため、デコード処理におけるルーチン（情報コードＣの種類の候補の選択と、選択された候補に対応する手順に従った情報抽出）の反復回数の低減を図ることができ、デコード処理の所要時間を全体として短縮しつつ、そのばらつきを低減することができる。
【００７２】
Ｂ．第２実施例：
図７は、第２実施例における光学情報読み取り装置１００によるデコード処理（図３のステップＳ１６０）の流れを示すフローチャートである。なお、第２実施例において、光学情報読み取り装置１００による処理（図３）におけるデコード処理（ステップＳ１６０）以外の処理の内容は、第１実施例と同様である。また、第２実施例における光学情報読み取り装置１００の構成は、図２に示した第１実施例と同様である。
【００７３】
上述した第１実施例と同様に、制御回路１１０（図２）は、デコード処理を開始すると（ステップＳ３１０）、予め登録された複数の情報コードＣの種類の候補の内の１つの選択と、選択された候補に対応する手順に従った情報抽出処理とを、情報抽出処理が成功するまで繰り返し実行する。このとき、制御回路１１０は、情報コードＣの読み取りにくさを表す難読度を判定する（ステップＳ３２０）。なお、情報コードＣの読み取りにくさは、例えばラベルＬにおける情報コードＣの汚れ等に起因する。
【００７４】
図８は、難読度の判定方法の一例を示す説明図である。制御回路１１０は、例えば情報コードＣの種類の候補としてＱＲコードを選択すると、最初に、ＱＲコードに含まれる基準パターンとしての３つの位置決めシンボルＳ（ファインダーパターンＦＰ）の読み取り（検出）を行う。制御回路１１０は、ＱＲコードに含まれる３つのファインダーパターンＦＰの検出結果に基づき、情報コードＣがＱＲコードであるか否かを判定する。情報コードＣがＱＲコードであると判定された場合には、制御回路１１０は、基準パターンを構成する基準パターン要素としてのファインダーパターンＦＰの検出数に基づき、難読度を判定する。例えば、制御回路１１０は、３つのファインダーパターンＦＰの検出に成功した場合には情報コードＣの難読度（読み取りにくさ）を低い値「低」に設定し、１つのファインダーパターンＦＰのみを検出した場合には難読度を高い値「高」に設定し、２つのファインダーパターンＦＰを検出した場合には難読度を「低」と「高」との中間の値「中」に設定する。図８に示した例では、ＱＲコードに含まれる３つのファインダーパターンＦＰの内の２つが検出されているので、難読度は中間の値「中」に設定される。
【００７５】
なお、難読度の判定方法は、情報コードＣの種類毎に予め設定されている。例えば情報コードＣの種類の候補としてデータマトリックスコードが選択されると、制御回路１１０は、最初に、データマトリックスコードに含まれる基準パターンとしてのＬ字型のアライメントパターンおよび点線状のタイミングセルの読み取り（検出）を行い、読み取り結果に基づき、情報コードＣがデータマトリックスコードであるか否かを判定する。また、制御回路１１０は、情報コードＣがデータマトリックスコードであると判定した場合には、データマトリックスコードに含まれる基準パターンの検出の成否に応じて、難読度を判定する。他の情報コードＣの種類についても、同様に、予め定められた方法に従い難読度が判定される。このように、制御回路１１０は、デコード処理において最初に読み取りが行われる情報コードＣ中の基準パターンの読み取り成否に基づき、難読度を判定する。
【００７６】
一般に、デコード処理において、情報コードＣに含まれる基準パターンが読み取りにくい場合には、情報コードＣの他の部分（記録すべき情報が埋め込まれた部分）も読み取りにくい可能性が高いと考えられる。そのため、本実施例では、情報コードＣ中の基準パターンの読み取り成否に基づき、情報コードＣの難読度を判定するものとしている。
【００７７】
難読度が判定されると、制御回路１１０の速度設定回路１１６（図２）は、判定された難読度に応じて、制御回路１１０によるデコード処理の処理速度Ｓｐを再設定する（ステップＳ３３０）。以下、再設定された処理速度Ｓｐを更新処理速度ｕＳｐと呼ぶ。速度設定回路１１６は、更新処理速度ｕＳｐを下記の式（２）により算出する。式（２）において、「Ｓｐ」は直前のステップＳ１５０（図３）で設定された処理速度Ｓｐであり、「Ｋ１」は速度調整係数である。本実施例では、情報コードＣの種類毎に、難読度に応じた速度調整係数Ｋの値が予め設定され、速度調整係数テーブルＡＴ１としてメモリ１５０内に記憶されている。
ｕＳｐ＝Ｋ１×Ｓｐ            ・・・（２）
【００７８】
図９は、速度調整係数Ｋ１を規定する速度調整係数テーブルＡＴ１の一例を示す説明図である。図９に示すように、同一の情報コードＣの種類で比較した場合に、速度調整係数Ｋ１は、難読度が高いほど大きな値に設定されている。従って、式（２）により算出される更新処理速度ｕＳｐは、難読度が高いほど速い値となる。
【００７９】
なお、本実施例では、速度設定回路１１６は、ＣＰＵの動作クロック信号の周波数を、シームレスに設定することはできず、段階的に設定された複数の値の内の１つに設定するものとしている。そのため、実際の更新処理速度ｕＳｐも、段階的に設定された複数の値の内の１つに設定されることとなる。従って、速度設定回路１１６は、上記式（２）により目標速度としての更新処理速度ｕＳｐを算出し、実際の更新処理速度ｕＳｐが、設定可能な値の内の目標速度より遅い側で最も近い値になるように、ＣＰＵの動作クロック信号の周波数を選択する。
【００８０】
また、図９に示すように、本実施例では、情報コードＣがＱＲコードであり、かつ、ファインダーパターンＦＰが３つとも検出されて難読度が「低」であると判定された場合には、速度調整係数Ｋ１の値は「１．０」となり、更新処理速度ｕＳｐは、再設定前の処理速度Ｓｐと等しくなる。従って、本実施例では、情報コードＣがＱＲコードであり、かつ、ファインダーパターンＦＰが３つとも検出された場合には、情報コードＣは難読状態ではないと判定され、処理速度の再設定（ステップＳ３３０）が省略されると解釈することもできる。
【００８１】
処理速度の再設定（ステップＳ３３０）が完了すると、制御回路１１０は、設定された更新処理速度ｕＳｐで、以降のデコード処理を続行する（ステップＳ３４０）。
【００８２】
ここで、情報コードＣが読み取りにくい場合には、情報コードＣが読み取りやすい場合と比較して、デコード処理に要する時間が長くなる傾向にある。これは、以下の（１）ないし（３）の内の少なくとも１つを要因とする。（１）情報コードＣにおける基準パターン自体の検出に比較的長い時間を要する。例えば、基準パターンの検出に失敗した場合に、再チャレンジしたり、違う位置を探索したりする処理が実行される場合があり、処理時間が増大する。（２）基準パターンの一部が検出できなかった場合には、基準パターンを全部検出できた場合には必要ではない追加の処理を要する。例えば、情報コードＣがＱＲコードであり、３つのファインダーパターンＦＰをすべて検出できた場合には、検出されたファインダーパターンＦＰからコードの外形を算出することができる。これに対し、検出できたファインダーパターンＦＰの数が２つ以下である場合には、コードの他の部分の情報を参照してコードの外形を求めるという追加の処理が必要となる。（３）基準パターンが読み取りにくい場合には、情報コードＣの他の部分も読み取りにくい可能性が高いと考えられ、誤り訂正処理等に要する時間が増大する可能性が高い。
【００８３】
本実施例では、更新処理速度ｕＳｐが、同一の情報コードＣの種類で比較した場合に、情報コードＣの難読度が高いほど速い値になるように設定されるため、情報コードＣが読み取りにくい場合におけるデコード処理に要する時間の増大を抑制することができる。そのため、本実施例では、各情報コードＣの読み取りにくさの程度に関わらず、各情報コードＣのデコード処理に要する時間のばらつきを低減することができ、一定に近い読み取りフィーリングでの読み取りをより良好に実現することができる。
【００８４】
また、本実施例では、デコード処理において通常実行される情報コードＣ中の基準パターンの読み取り処理の成否に基づき情報コードＣの難読度を判定しており、難読度の判定のための特別な処理を行う必要がないため、難読度の判定を実行することに伴う処理時間の増大を抑制することができる。
【００８５】
また、本実施例では、情報コードＣがＱＲコードであると判定された場合には、検出に成功したファインダーパターンＦＰの数が少ないほど難読度が高くなるように難読度が判定されるため、適切にかつ迅速に難読度を判定することができる。
【００８６】
Ｃ．第３実施例：
図１０は、第３実施例における光学情報読み取り装置１００によるデコード処理（図３のステップＳ１６０）の流れを示すフローチャートである。なお、第３実施例において、光学情報読み取り装置１００による処理（図３）におけるデコード処理（ステップＳ１６０）以外の処理の内容は、第１実施例と同様である。また、第３実施例における光学情報読み取り装置１００の構成は、図２に示した第１実施例と同様である。
【００８７】
上述した第１実施例と同様に、制御回路１１０（図２）は、デコード処理を開始すると（ステップＳ４１０）、予め登録された複数の情報コードＣの種類の候補の内の１つの選択と、選択された候補に対応する手順に従った情報抽出処理とを、情報抽出処理が成功するまで繰り返し実行する。このとき、制御回路１１０は、情報コードＣの情報量を特定する（ステップＳ４２０）。
【００８８】
制御回路１１０は、例えば情報コードＣの種類の候補としてＱＲコードを選択すると、最初に、ＱＲコードに含まれる基準パターンとしての３つの位置決めシンボルＳ（ファインダーパターンＦＰ）の読み取り（検出）を行う。制御回路１１０は、ＱＲコードに含まれる３つのファインダーパターンＦＰの検出結果に基づき、情報コードＣがＱＲコードであるか否かを判定する。ＱＲコードは、セル数の異なる複数のバージョンが存在する。情報コードＣがＱＲコードであると判定された場合には、制御回路１１０は、ラベリング領域面積Ａｌに対するファインダーパターンＦＰのサイズに基づき、コードの情報量としてのセル数を特定する。
【００８９】
なお、情報コードＣの情報量の特定方法は、情報コードＣの種類毎に予め設定されている。例えば情報コードＣの種類の候補としてデータマトリックスコードが選択されると、制御回路１１０は、最初に、データマトリックスコードに含まれる基準パターンとしてのＬ字型のアライメントパターンおよび点線状のタイミングセルの読み取り（検出）を行い、読み取り結果に基づき、情報コードＣがデータマトリックスコードであるか否かを判定する。また、制御回路１１０は、情報コードＣがデータマトリックスコードであると判定した場合には、データマトリックスコードに含まれる基準パターンに基づき、情報量としてのセル数を特定する。他の情報コードＣの種類についても、同様に、予め定められた方法に従い情報量が特定される。
【００９０】
情報量が特定されると、制御回路１１０の速度設定回路１１６（図２）は、特定された情報量に応じて、制御回路１１０によるデコード処理の処理速度Ｓｐを再設定する（ステップＳ４３０）。以下、再設定された処理速度Ｓｐを更新処理速度ｕＳｐと呼ぶ。速度設定回路１１６は、更新処理速度ｕＳｐを下記の式（３）により算出する。式（３）において、「Ｓｐ」は直前のステップＳ１５０（図３）で設定された処理速度Ｓｐであり、「Ｋ２」は速度調整係数である。本実施例では、情報コードＣの種類毎に、情報量に応じた速度調整係数Ｋ２の値が予め設定され、速度調整係数テーブルＡＴ２としてメモリ１５０内に記憶されている。
ｕＳｐ＝Ｋ２×Ｓｐ            ・・・（３）
【００９１】
図１１は、速度調整係数Ｋ２を規定する速度調整係数テーブルＡＴ２の一例を示す説明図である。図１１に示すように、同一の情報コードＣの種類で比較した場合に、速度調整係数Ｋ２は、情報量が多いほど大きな値に設定されている。従って、式（３）により算出される更新処理速度ｕＳｐは、情報量が多いほど速い値となる。
【００９２】
なお、本実施例では、速度設定回路１１６は、ＣＰＵの動作クロック信号の周波数を、シームレスに設定することはできず、段階的に設定された複数の値の内の１つに設定するものとしている。そのため、実際の更新処理速度ｕＳｐも、段階的に設定された複数の値の内の１つに設定されることとなる。従って、速度設定回路１１６は、上記式（３）により目標速度としての更新処理速度ｕＳｐを算出し、実際の更新処理速度ｕＳｐが、設定可能な値の内の目標速度より遅い側で最も近い値になるように、ＣＰＵの動作クロック信号の周波数を選択する。
【００９３】
また、図１１に示すように、本実施例では、情報コードＣがＱＲコードであり、かつ、情報量が予め設定された標準情報量Ａ１である場合には、速度調整係数Ｋ２の値は「１．０」となり、更新処理速度ｕＳｐは、再設定前の処理速度Ｓｐと等しくなる。従って、本実施例では、情報コードＣがＱＲコードであり、かつ、情報量が標準情報量Ａ１である場合には、処理速度の再設定（ステップＳ４３０）が省略されると解釈することもできる。
【００９４】
処理速度の再設定（ステップＳ４３０）が完了すると、制御回路１１０は、設定された更新処理速度ｕＳｐで、以降のデコード処理を続行する（ステップＳ４４０）。
【００９５】
ここで、同一の情報コードＣの種類で比較したとき、情報コードＣの情報量が多い場合には、情報コードＣの情報量が少ない場合と比較して、デコード処理に要する時間が長くなる。本実施例では、更新処理速度ｕＳｐが、同一の情報コードＣの種類で比較した場合に、情報コードＣの情報量が多いほど速い値になるように設定されるため、各情報コードＣの情報量の多寡に関わらず、各情報コードＣのデコード処理に要する時間のばらつきを低減することができ、一定に近い読み取りフィーリングでの読み取りを実現することができる。
【００９６】
Ｄ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００９７】
Ｄ１．変形例１：
上記各実施例では、記録テーブルＲＴに、複数回のデコード処理において特定された情報コードＣの種類およびラベリング領域面積Ａｌが登録されるとしているが、記録テーブルＲＴに、直前の１回のデコード処理において特定された情報コードＣの種類およびラベリング領域面積Ａｌのみが登録されるとしてもよい。このようにすれば、記録処理の効率化を図ることができると共に、メモリ１５０における使用記憶領域を低減することができる。
【００９８】
また、記録テーブルＲＴには、デコード処理において特定された情報コードＣの種類のみが登録され、ラベリング領域面積Ａｌは登録されないとしてもよい。
【００９９】
Ｄ２．変形例２：
上記各実施例では、次にデコード処理の対象となる情報コードＣの種類は直前のデコード処理において特定された情報コードＣの種類と同じであると予測されるとしているが、情報コードＣの種類の予測方法はこれに限られない。例えば、次にデコード処理の対象となる情報コードＣの種類は、記録テーブルＲＴ（図５）に登録された複数回のデコード処理における情報コードＣの種類の内、最も回数の多い情報コードＣの種類であると予測されるものとしてもよい。このようにすれば、情報コードＣの種類の予測の精度を向上させることができ、情報コードＣの種類毎の演算量の多寡を原因とするデコード処理の所要時間のばらつきを高い精度で低減することができる。
【０１００】
また、記録テーブルＲＴに登録された複数回のデコード処理における情報コードＣの種類に基づき、情報コードＣの種類の順番パターンが推定され、推定された順番パターンに基づき情報コードＣの種類が予測されるものとしてもよい。例えば、ある特定の種類（種類１）の情報コードＣと他の特定の種類（種類２）の情報コードＣとが交互に読み取り対象となった場合には、種類１と種類２とが並んだ順番パターンが推定され、直前のデコード処理における情報コードＣの種類が種類１であった場合には、次にデコード処理の対象となる情報コードＣの種類は種類２であると予測される。このようにしても、情報コードＣの種類の予測の精度を向上させることができ、情報コードＣの種類毎の演算量の多寡を原因とするデコード処理の所要時間のばらつきを高い精度で低減することができる。
【０１０１】
Ｄ３．変形例３：
上記各実施例では、処理速度Ｓｐの算出の際には、直前のラベリング処理により設定されたラベリング領域面積Ａｌが用いられているが（上記式（１）参照）、記録テーブルＲＴに記録された実施済みのデコード処理のラベリング領域面積Ａｌに基づき次のデコード処理におけるラベリング領域面積Ａｌを予測し、予測されたラベリング領域面積Ａｌが処理速度Ｓｐの算出に用いられるものとしてもよい。この場合に、ラベリング領域面積Ａｌの予測方法は、直前のデコード処理において特定されたラベリング領域面積Ａｌと同じであると予測する方法が用いられてもよいし、記録テーブルＲＴに記録されたラベリング領域面積Ａｌの平均値であると予測する方法が用いられてもよい。一般に、同一人物が複数の情報コードＣの読み取り操作を連続して行う場合には、ラベリング領域面積Ａｌは同じような値になることが多い。そのため、本変形例のようにラベリング領域面積Ａｌを予測して処理速度Ｓｐを算出しても、情報コードＣのデコード処理に要する時間のばらつきを低減することができる。
【０１０２】
また、上記各実施例では、処理速度Ｓｐの算出の際に、ラベリング領域面積Ａｌが用いられているが、ラベリング領域面積Ａｌの代わりに、対象画像における情報コードＣの画像Ｃｉの概略サイズを表す他の指標が用いられるとしてもよい。このようにしても、処理速度Ｓｐを、対象となる情報コードＣや画像Ｃｉの概略サイズに見合った適切な値に設定することができ、情報コードＣのデコード処理に要する時間のばらつきを低減することができる。
【０１０３】
Ｄ４．変形例４：
上記各実施例では、速度設定回路１１６が、上記式（１）ないし（３）により目標速度としての処理速度Ｓｐ（または更新処理速度ｕＳｐ、以下同様）を算出し、実際の処理速度Ｓｐが設定可能な値の内の目標速度より遅い側で最も近い値になるようにＣＰＵの動作クロック信号の周波数を選択するとしているが、実際の処理速度Ｓｐが設定可能な値の内の目標速度より速い側で最も近い値になるようにＣＰＵの動作クロック信号の周波数を選択するとしてもよいし、遅い側・速い側を問わず、実際の処理速度Ｓｐが設定可能な値の内の目標速度に最も近い値になるようにＣＰＵの動作クロック信号の周波数を選択するとしてもよい。このようにしても、情報コードＣのデコード処理に要する時間のばらつきを低減することができる。
【０１０４】
また、上記実施例では、速度設定回路１１６は、ＣＰＵの動作クロック信号の周波数を段階的に設定された複数の値の内の１つに設定するものとしているが、ＣＰＵの動作クロック信号の周波数をシームレスに設定することが可能であるとしてもよい。すなわち、速度設定回路１１６が、処理速度Ｓｐの値をシームレスに設定することが可能であるとしてもよい。この場合には、式（１）ないし（３）により算出された処理速度Ｓｐをそのまま使用する処理速度Ｓｐとして使用すればよい。このようにすると、情報コードＣのデコード処理に要する時間のばらつきをさらに低減することができる。
【０１０５】
また、上記実施例では、基準処理速度Ｓｂは制御回路１１０の最高処理速度であるとしているが、基準処理速度Ｓｂは制御回路１１０の最高処理速度である必要はなく、任意の速度に設定可能である。このようにしても、情報コードＣのデコード処理に要する時間のばらつきを低減することができる。
【０１０６】
Ｄ５．変形例５：
上記各実施例における光学情報読み取り装置１００の構成は、あくまで一例であり、光学情報読み取り装置１００の構成は種々変形可能である。例えば、光学情報読み取り装置１００は、バッテリー１８０により電力供給されるとしているが、商用電源から電力供給されるとしてもよい。また、上記実施例では、光学情報読み取り装置１００はハンディタイプの読み取り装置であるとしているが、本発明は例えば定置式といった他のタイプの光学情報読み取り装置にも適用可能である。
【０１０７】
また、上記実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよい。
【０１０８】
Ｄ６．変形例６：
上記第２実施例における速度調整係数テーブルＡＴ１の内容は、あくまで一例であり、種々変形可能である。
例えば、情報コードＣがＱＲコードである場合において、ファインダーパターンＦＰの検出数が２であり難読度が「中」である場合の速度調整係数Ｋ１の値を「１．０」とし、ファインダーパターンＦＰの検出数が３であり難読度が「低」である場合の速度調整係数Ｋ１の値を１．０より小さい値にすることにより、難読度が「低」である場合の更新処理速度ｕＳｐを低下させ、もって、各情報コードＣのデコード処理に要する時間のばらつきを低減するものとしてもよい。すなわち、速度調整係数Ｋ１は、同一の情報コードＣの種類で比較した場合に難読度が高いほど大きな値に設定されていれば、１．０より小さい値であってもよい。
【０１０９】
同様に、上記第３実施例における速度調整係数テーブルＡＴ２の内容は、あくまで一例であり、種々変形可能である。速度調整係数Ｋ２は、同一の情報コードＣの種類で比較した場合に情報量が多いほど大きな値に設定されていれば、１．０より小さい値であってもよい。
【０１１０】
Ｄ７．変形例７：
上記第２実施例では、情報コードＣ中の基準パターンの読み取り成否に基づき情報コードＣの難読度を判定するとしているが、難読度の判定方法はこれに限られない。例えば、情報コードＣの基準パターン以外の部分の読み取り成否に基づき情報コードＣの難読度を判定するとしてもよい。
【０１１１】
また、例えば、情報コードＣの種類がバーコードのような１次元コードである場合には、横方向に読み取り走査を行うが、例えばバーコードの高さが低くて、最初の走査でコード全体の読み取りに成功しなかった場合には、難読度が高いと判定し、以降の処理速度が速くなるように処理速度の再設定を行うとしてもよい。
【０１１２】
Ｄ８．変形例８：
上記第２実施例における情報コードＣの難読度に応じた更新処理速度ｕＳｐの設定と、上記第３実施例における情報コードＣの情報量に応じた更新処理速度ｕＳｐの設定とを組み合わせて実行するものとしてもよい。すなわち、更新処理速度ｕＳｐを、同一の情報コードＣの種類で比較した場合に、情報コードＣの難読度が高いほど速い値になるように、かつ、情報コードＣの情報量が多いほど速い値になるように、設定するものとしてもよい。このような更新処理速度ｕＳｐの設定は、更新処理速度ｕＳｐを下記の式（４）により算出することにより実現することができる。
ｕＳｐ＝Ｋ１×Ｋ２×Ｓｐ            ・・・（４）
【符号の説明】
【０１１３】
１００…光学情報読み取り装置
１１０…制御回路
１１６…速度設定回路
１２０…照明駆動回路
１２２…照明部
１３０…結像レンズ
１３２…２次元画像センサ
１３４…センサ駆動回路
１３６…クロック制御回路
１４０…増幅回路
１４２…Ａ／Ｄ変換回路
１５０…メモリ
１６０…表示部
１７０…操作部
１８０…バッテリー
１９０…外部インターフェース
【図１】
2011134309.tif 000003
【図２】
2011134309.tif 000004
【図３】
2011134309.tif 000005
【図４】
2011134309.tif 000006
【図５】
2011134309.tif 000007
【図６】
2011134309.tif 000008
【図７】
2011134309.tif 000009
【図８】
2011134309.tif 000010
【図９】
2011134309.tif 000011
【図１０】
2011134309.tif 000012
【図１１】
2011134309.tif 000013