(57)【要約】【課題】露光時間を自動的に設定する場合にコードのセルの大きさも考慮できるようにして設定の際の精度を高める。【解決手段】入力部により入力されたワークの移動速度と、セルサイズ算出部により算出されたセルのサイズとに基づいて、ワークに付されたコードを読み取るための制約条件として撮像部の露光時間の上限値を求める。撮像部に露光時間を変化させて複数回撮像させて取得されたコードを含む複数の画像を解析することにより、制約条件の範囲内で撮像部の露光時間を設定する。【選択図】図１４
2018136860.tif 000002
【特許請求の範囲】
【請求項１】
移動するワークに付されたコードを撮像する撮像素子を有する撮像部と、
上記ワークの移動速度を入力する入力部と、
上記撮像部により得られた画像上のコードを構成しているセルのサイズを設定するセルサイズ設定部と、
上記入力部により入力されたワークの移動速度と、上記セルサイズ設定部により設定されたセルのサイズとに基づいて、上記ワークに付されたコードを読み取るための制約条件として上記撮像部の露光時間の上限値を求めるとともに、上記撮像部に露光時間又はゲインを変化させて複数回撮像させて取得されたコードを含む複数の画像を解析することにより、上記制約条件の範囲内で上記撮像部の露光時間を設定する撮像条件設定部と、
上記撮像条件設定部により設定された露光時間を用いて、上記撮像部により新たに取得された画像に含まれるコードをデコードするデコード部とを備えていることを特徴とする光学的情報読取装置。
【請求項２】
請求項１に記載の光学的情報読取装置において、
上記撮像部から上記コードまでの距離を得る距離設定部と、
上記撮像部から上記コードまでの距離に応じた上記撮像部の視野範囲を定める第１の特性情報を記憶する特性情報記憶部とを備え、
上記セルサイズ設定部は、上記撮像部により撮像された画像に含まれるコードと、上記距離設定部で得られた距離と、上記特性情報記憶部に記憶された第１の特性情報とに基づいてセルのサイズを算出することを特徴とする光学的情報読取装置。
【請求項３】
請求項１または２に記載の光学的情報読取装置において、
上記撮像条件設定部は、上記撮像部にゲインを変化させて複数回撮像させて取得された複数の画像を解析してゲインを設定するように構成され、
上記デコード部は、上記撮像条件設定部により設定されたゲインを用いて上記撮像部により新たに取得された画像に含まれるコードをデコードするように構成されていることを特徴とする光学的情報読取装置。
【請求項４】
請求項１から３のいずれか１つに記載の光学的情報読取装置において、
上記撮像条件設定部は、制約条件内で露光時間を変化させて上記撮像部にコードを複数回撮像させるように構成されていることを特徴とする光学的情報読取装置。
【請求項５】
請求項２に記載の光学的情報読取装置において、
上記特性情報記憶部は、上記撮像部からの離間距離に応じた合焦範囲を定める第２の特性情報を記憶しており、
上記入力部は、上記撮像部から上記コードまでの距離の変動幅に関する変動情報を入力するように構成され、
上記特性情報記憶部に記憶された第２の特性情報と、上記セルサイズ設定部により設定されたセルのサイズと、上記入力部により入力された変動情報とに基づいて、上記光学的情報読取装置とコードとの推奨離間距離を求める推奨離間距離決定部と、
上記推奨離間距離決定部により求めた推奨離間距離を表示する表示部とを備えていることを特徴とする光学的情報読取装置。
【請求項６】
請求項２に記載の光学的情報読取装置において、
上記撮像部には、合焦用レンズを有する光学系と、上記合焦用レンズによる合焦位置を調整するためのオートフォーカス機構とが設けられており、
上記オートフォーカス機構による上記合焦用レンズの調整量と、上記撮像部から上記コードまでの距離との対応関係を記憶する対応関係記憶部を備え、
上記距離設定部は、上記合焦用レンズによる合焦が完了したときの上記調整量と、上記対応関係とに基づいて、上記撮像部から上記コードまでの距離を得るように構成されていることを特徴とする光学的情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を光学的に読み取る光学的情報読取装置に関する。
【背景技術】
【０００２】
近年、たとえば物品の流通経路を製造段階から消費段階あるいは廃棄段階まで追跡可能にする、いわゆるトレーサビリティが重要視されてきており、このトレーサビリティを目的としたコードリーダが普及してきている。また、トレーサビリティ以外にもコードリーダは様々な分野で利用されている。
【０００３】
一般的に、コードリーダは、ワークに付されたバーコードや二次元コード等のコードをカメラによって撮像し、得られた画像に含まれるコードを画像処理によって切り出して二値化し、デコード処理して情報を読み取ることができるように構成されており、情報を光学的に読み取る装置であることから光学的情報読取装置とも呼ばれている（たとえば特許文献１、２参照）。
【０００４】
特許文献１では、カメラの露光時間やゲイン等の撮像パラメータを自動的に最適な値となるように設定するチューニング工程を光学的情報読取装置の運用前、即ち設定時に行うことができるように構成されている。
【０００５】
また、特許文献２では、ワークの搬送速度と適切な露光時間との対応テーブルを事前に用意しておき、この対応テーブルを用いてワークの搬送速度に応じた露光時間を設定することができるように構成されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−３３７８７号公報
【特許文献２】特開平９−６８９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特に搬送中のワークに付されたコードを撮像する場合にはブレが発生し易くなる。ブレはワークの搬送速度に大きく依存するが、それだけではなく、コードを構成するセルの大きさにも依存する。たとえばコードを構成するセルが小さければ小さいほどブレに弱くなる一方、セルが大きければ大きいほどブレに強くなる。
【０００８】
ブレを抑制する観点から、特許文献２ではワークの搬送速度と露光時間との対応テーブルを用いて適切な露光時間の設定を試みているが、この露光時間を設定するにあたり、セルの大きさは考慮されていない。従って、設定された露光時間がワークの搬送速度及びセルの大きさに対して最適な時間であるか否かは不明であり、改善の余地があると考えられる。具体的には、ワークの搬送速度だけで露光時間を決めてしまうと、セルの大きさからみたときには短すぎる露光時間となっている場合が考えられ、この場合には、ワークの搬送速度をもっと高速化できるのに遅く設定してしまっていることになるので、光学的情報読取装置の高速読取性能を十分に発揮できていない状態になってしまう。
【０００９】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、露光時間を自動的に設定する場合にコードのセルの大きさも考慮できるようにして設定の際の精度を高めることができるようにすることにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明では、移動するワークに付されたコードを撮像する撮像素子を有する撮像部と、上記ワークの移動速度を入力する入力部と、上記撮像部により得られた画像上のコードを構成しているセルのサイズを設定するセルサイズ設定部と、上記入力部により入力されたワークの移動速度と、上記セルサイズ設定部により設定されたセルのサイズとに基づいて、上記ワークに付されたコードを読み取るための制約条件として上記撮像部の露光時間の上限値を求めるとともに、上記撮像部に露光時間又はゲインを変化させて複数回撮像させて取得されたコードを含む複数の画像を解析することにより、上記制約条件の範囲内で上記撮像部の露光時間を設定する撮像条件設定部と、上記撮像条件設定部により設定された露光時間を用いて、上記撮像部により新たに取得された画像に含まれるコードをデコードするデコード部とを備えている。
【００１１】
この構成によれば、ワークの移動速度と、コードを構成しているセルのサイズとに基づいて、露光時間の上限値を求めることができる。そして、露光時間又はゲイン（又は少なくとも露光時間）を変化させて複数回撮像して得られた複数の画像を解析することにより、露光時間の上限値以下の範囲で読取に適した条件（露光時間など）を設定することができる。従って、ワークの移動速度だけでなく、セルのサイズを反映した適切な露光時間を設定することができる。そして、この露光時間を用いて撮像部により新たに取得された画像に含まれるコードをデコードすることができ、読み取り精度を高めることができる。
【００１２】
また、上記撮像部から上記コードまでの距離を得る距離設定部と、上記撮像部から上記コードまでの距離に応じた上記撮像部の視野範囲を定める第１の特性情報を記憶する特性情報記憶部とを備え、上記セルサイズ設定部は、上記撮像部により撮像された画像に含まれるコードと、上記距離設定部で得られた距離と、上記特性情報記憶部に記憶された第１の特性情報とに基づいてセルのサイズを算出するように構成されていてもよい。
【００１３】
また、上記撮像条件設定部は、上記撮像部にゲインを変化させて複数回撮像させて取得された複数の画像を解析してゲインを設定するように構成され、上記デコード部は、上記撮像条件設定部により設定されたゲインを用いて上記撮像部により新たに取得された画像に含まれるコードをデコードするように構成されていてもよい。
【００１４】
また、上記撮像条件設定部は、制約条件内で露光時間を変化させて上記撮像部にコードを複数回撮像させるように構成されていてもよい。
【００１５】
また、上記特性情報記憶部は、上記撮像部からの離間距離に応じた合焦範囲を定める第２の特性情報を記憶しており、上記入力部は、上記撮像部から上記コードまでの距離の変動幅に関する変動情報を入力するように構成され、上記特性情報記憶部に記憶された第２の特性情報と、上記セルサイズ設定部により設定されたセルのサイズと、上記入力部により入力された変動情報とに基づいて、上記光学的情報読取装置とコードとの推奨離間距離を求める推奨離間距離決定部と、上記推奨離間距離決定部により求めた推奨離間距離を表示する表示部とを備えていてもよい。
【００１６】
また、上記撮像部には、合焦用レンズを有する光学系と、上記合焦用レンズによる合焦位置を調整するためのオートフォーカス機構とが設けられており、上記オートフォーカス機構による上記合焦用レンズの調整量と、上記撮像部から上記コードまでの距離との対応関係を記憶する対応関係記憶部を備え、上記距離設定部は、上記合焦用レンズによる合焦が完了したときの上記調整量と、上記対応関係とに基づいて、上記撮像部から上記コードまでの距離を得るように構成されていてもよい。
【発明の効果】
【００１７】
本発明によれば、ワークの搬送速度及びセルのサイズを反映した適切な露光時間を設定することができ、読み取り精度を高めることができる。
【図面の簡単な説明】
【００１８】
【図１】光学的情報読取装置の運用時を説明する図である。
【図２】光学的情報読取装置の斜視図である。
【図３】光学的情報読取装置を照明部側から見た図である。
【図４】光学的情報読取装置の側面図である。
【図５】光学的情報読取装置を表示部側から見た図である。
【図６】偏光フィルタアタッチメントを本体から取り外した状態を示す斜視図である。
【図７】リフレクタの斜視図である。
【図８】リフレクタの正面図である。
【図９】透光パネルの斜視図である。
【図１０】透光パネルの正面図である。
【図１１】光学的情報読取装置のブロック図である。
【図１２】コンピュータのブロック図である。
【図１３】パラメータセット記憶部の記憶内容を表示するためのユーザーインターフェースである。
【図１４】設定条件の抽出工程を示すフローチャートである。
【図１５】起動用インターフェースである。
【図１６】コード情報取得用インターフェースである。
【図１７】寸法情報の算出工程を示すフローチャートである。
【図１８】コード移動条件入力用インターフェースである。
【図１９】平行移動速度入力用インターフェースである。
【図２０】奥行き方向移動速度入力用インターフェースである。
【図２１】回転移動速度入力用インターフェースである。
【図２２】位置条件入力用インターフェースである。
【図２３】詳細設置条件入力用インターフェースである。
【図２４】回転移動速度入力用インターフェースの別の例を示す図である。
【図２５】設置可能距離を決定する要領について説明する図である。
【図２６】パラメータ設定条件の算出工程のフローチャートである。
【図２７】推奨離間距離が近方限界距離と遠方限界距離との範囲外である場合の図２３相当図である。
【図２８】最適位置提示インターフェースである。
【図２９】チューニング工程のフローチャートである。
【図３０】ナビゲート機能の制御内容を示すフローチャートである。
【図３１】搬送方向と視野範囲との関係を示す図である。
【図３２】検証時におけるコードの移動速度を検出する方法を模式的に示す図である。
【図３３】検証時における読み取り成功回数及びコードの移動速度の表示例を示すインターフェースである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【００２０】
図１は、本発明の実施形態に係る光学的情報読取装置１の運用時を模式的に示す図である。この例では、複数のワークＷが搬送用ベルトコンベアＢの上面に載置された状態で図１における矢印Ｙの方向へ搬送されており、そのワークＷから上方へ離れた所に、実施形態に係る光学的情報読取装置１が設置されている。光学的情報読取装置１は、ワークＷに付されているコードを撮像し、撮像された画像に含まれるコードをデコード処理して情報を読み取ることができるように構成されたコードリーダである。光学的情報読取装置１は、その運用時に動かないようにブラケット等（図示せず）に固定して使用してもよいし、ロボット（図示せず）や使用者等が把持して動かしながら運用してもよい。また、静止状態にあるワークＷのコードを光学的情報読取装置１によって読み取るようにしてもよい。運用時とは、搬送用ベルトコンベアＢによって搬送されるワークＷのコードを順に読み取る動作を行っている時である。
【００２１】
また、各ワークＷの上面にはコードが付されている。コードには、バーコード及び二次元コードの両方が含まれる。二次元コードとしては、たとえば、ＱＲコード（登録商標）、マイクロＱＲコード、データマトリクス（Ｄａｔａ  ｍａｔｒｉｘ；Ｄａｔａ  ｃｏｄｅ）、ベリコード（Ｖｅｒｉ  ｃｏｄｅ）、アズテックコード（Ａｚｔｅｃ  ｃｏｄｅ）、ＰＤＦ４１７、マキシコード（Ｍａｘｉ  ｃｏｄｅ）などがある。二次元コードにはスタック型とマトリクス型があるが、本発明はいずれの二次元コードに対しても適用できる。コードは、ワークＷに直接印刷あるいは刻印することによって付してもよいし、ラベルに印刷した後にワークＷに貼付することによって付してもよく、その手段、方法は問わない。
【００２２】
光学的情報読取装置１は、コンピュータ１００及びプログラマブル・ロジック・コントローラ（ＰＬＣ）１０１にそれぞれ信号線１００ａ、１０１ａによって有線接続されているが、これに限らず、光学的情報読取装置１、コンピュータ１００及びＰＬＣ１０１に通信モジュールを内蔵し、光学的情報読取装置１と、コンピュータ１００及びＰＬＣ１０１とを無線接続するようにしてもよい。ＰＬＣ１０１は、搬送用ベルトコンベアＢ及び光学的情報読取装置１をシーケンス制御するための制御装置であり、汎用のＰＬＣを利用することができる。コンピュータ１００は、汎用あるいは専用の電子計算機や携帯型端末等を利用することができる。
【００２３】
また、光学的情報読取装置１は、その運用時において、ＰＬＣ１０１から信号線１０１ａを介して、コード読取の開始タイミングを規定する読取開始トリガ信号を受信する。そして、光学的情報読取装置１は、この読取開始トリガ信号に基づいてコードの撮像やデコードを行う。その後、デコードした結果は、信号線１０１ａを介してＰＬＣ１０１へ送信される。このように、光学的情報読取装置１の運用時には、光学的情報読取装置１とＰＬＣ１０１等の外部制御装置との間で、信号線１０１ａを介して読取開始トリガ信号の入力とデコード結果の出力が繰り返し行われる。なお、読取開始トリガ信号の入力やデコード結果の出力は、上述したように、光学的情報読取装置１とＰＬＣ１０１との間の信号線１０１ａを介して行ってもよいし、それ以外の図示しない信号線を介して行ってもよい。例えば、ワークの到着を検知するためのセンサと光学的情報読取装置１とを直接的に接続し、そのセンサから光学的情報読取装置１へ読取開始トリガ信号を入力するようにしてもよい。
【００２４】
［光学的情報読取装置１の全体構成］
図２〜図６に示すように、光学的情報読取装置１は、装置本体２と、偏光フィルタアタッチメント３とを備えている。偏光フィルタアタッチメント３は省略してもよい。装置本体２には、照明部４と、撮像部５と、表示部６と、電源コネクタ７と、信号線コネクタ８とが設けられている。さらに、装置本体２には、図５に示すインジケータ９と、図３に示すエイマー１０と、図５に示すセレクトボタン１１と、エンターボタン１２とが設けられている。
【００２５】
この実施形態の説明では、図２〜図６に示すように光学的情報読取装置１の前面、後面、上面、下面、左面、右面を定義するが、これは説明の便宜を図るためだけであり、光学的情報読取装置１の使用時における向きを限定するものではない。すなわち、図１に示すように、光学的情報読取装置１の前面が下に向くように設置して使用することや、光学的情報読取装置１の前面が上に向くように設置して使用すること、あるいは光学的情報読取装置１の前面が傾斜した状態となるように設置して使用すること等が可能である。また、光学的情報読取装置１の左右方向は幅方向と呼ぶこともできる。
【００２６】
装置本体２は、上下方向に長い略矩形箱状をなすケーシング２ａを備えている。ケーシング２ａの内部には、図１１に示す制御ユニット２９やデコード部３１等が設けられている。図２及び図６に示すように、ケーシング２ａの前面に偏光フィルタアタッチメント３が着脱可能に取り付けられている。また、ケーシング２ａの前面には、光学的情報読取装置１の前方へ向けて光を照射することによってワークＷの少なくともコードを照明する照明部４と、光学的情報読取装置１の前方にあるワークＷの少なくともコードを撮像する撮像部５とが設けられている。さらに、ケーシング２ａの前面には、発光ダイオード（ＬＥＤ）等の発光体で構成されたエイマー１０が設けられている。このエイマー１０は、光学的情報読取装置１の前方へ向けて光を照射することによって撮像部５による撮像範囲や照明部４の光軸の目安を示すためのものである。使用者は、エイマー１０から照射される光を参照して光学的情報読取装置１を設置することもできる。
【００２７】
ケーシング２ａの上面には表示部６が設けられている。また、ケーシング２ａの上面には、光学的情報読取装置１の設定時や各種情報の入力時等に使用するセレクトボタン１１及びエンターボタン１２とが設けられている。セレクトボタン１１及びエンターボタン１２は制御ユニット２９に接続されていて、制御ユニット２９はセレクトボタン１１及びエンターボタン１２の操作状態を検出可能になっている。セレクトボタン１１は、表示部６に表示された複数の選択肢の中から１つを選択する際に操作するボタンである。エンターボタン１２は、セレクトボタン１１で選択した結果を確定する際に操作するボタンである。セレクトボタン１１及びエンターボタン１２は入力部である。
【００２８】
さらに、ケーシング２ａの上面の左右両側には、それぞれインジケータ９が設けられている。インジケータ９は、制御ユニット２９に接続されていて、たとえば発光ダイオード等の発光体で構成することができる。光学的情報読取装置１の作動状態をインジケータ９の点灯状態によって外部に報知することができる。
【００２９】
ケーシング２ａの下面には、光学的情報読取装置１に電力を供給するための電力配線が接続される電源コネクタ７と、コンピュータ１００及びＰＬＣ１０１に接続される信号線１００ａ、１０１ａ用のＥｔｈｅｒｎｅｔコネクタ８とが設けられている。尚、Ｅｔｈｅｒｎｅｔ規格は一例であり、Ｅｔｈｅｒｎｅｔ規格以外の規格の信号線を利用することもできる。
【００３０】
［照明部４の構成］
照明部４は、図７及び図８に示すリフレクタ１５と、図３等に示す複数の第１発光ダイオード１６及び複数の第２発光ダイオード１７とを備えている。第１発光ダイオード１６と第２発光ダイオード１７とは、制御ユニット２９に電気的に接続されていて制御ユニット２９により個別に制御され、別々に点灯及び消灯させることができるようになっている。
【００３１】
図７及び図８に示すように、リフレクタ１５は、光学的情報読取装置１の前面の上部から下部に亘って延びる板状をなしている。第１発光ダイオード１６及び第２発光ダイオード１７はそれぞれ７つ設けられているが、第１発光ダイオード１６及び第２発光ダイオード１７の数はこれに限られるものではない。第１発光ダイオード１６及び第２発光ダイオード１７はリフレクタ１５の後側に配置されて前方へ光を照射するように光軸が設定されている。リフレクタ１５の上下方向中間部には、撮像部５を外部に臨ませるための撮像用開口部１５ａが形成されている。リフレクタ１５における撮像用開口部１５ａの左右両側には、それぞれエイマー１０の光を通すためのエイマー用開口部１５ｂが形成されている。
【００３２】
リフレクタ１５における撮像用開口部１５ａよりも下側部分には、第１発光ダイオード１６の光を通すとともに前方へ集光して照射するための第１孔１５ｃが第１発光ダイオード１６の数と同じだけ、即ち７つ形成されている。これら第１孔１５ｃは同じ形状とされており、前側へ向かって次第に拡径するコーン形状をなしている。第１孔１５ｃの内面は、光の反射率を高めるために金メッキ等のメッキ処理が施されている。
【００３３】
７つの第１孔１５ｃのうち、４つの第１孔１５ｃは、光学的情報読取装置１の左右方向（幅方向）に並ぶように配置されている。残りの３つの第１孔１５ｃは、その中心が上記４つの第１孔１５ｃの中心よりも下に位置するように、かつ、上記４つの第１孔１５ｃのうち、隣合う第１孔１５ｃ、１５ｃの中心間にそれぞれ位置するように配置されている。これにより、７つの第１孔１５ｃを密に配置することができる。第１発光ダイオード１６は、各第１孔１５ｃの中心に配置される。
【００３４】
リフレクタ１５における撮像用開口部１５ａよりも上側部分には、第２発光ダイオード１７の光を通すとともに前方へ集光して照射するための第２孔１５ｄが第２発光ダイオード１７の数と同じだけ、即ち７つ形成されている。これら第２孔１５ｄは第１孔１５ｃと同じ形状とされており、第２孔１５ｄの内面には第１孔１５ｃと同様なメッキ処理が施されている。
【００３５】
７つの第２孔１５ｄのうち、４つの第２孔１５ｄは、光学的情報読取装置１の左右方向（幅方向）に並ぶように配置されている。残りの３つの第２孔１５ｄは、その中心が上記４つの第２孔１５ｄの中心よりも上に位置するように、かつ、上記４つの第２孔１５ｄのうち、隣合う第２孔１５ｄ、１５ｄの中心間にそれぞれ位置するように配置されている。これにより、７つの第２孔１５ｄを密に配置することができる。第２発光ダイオード１７は、各第２孔１５ｄの中心に配置される。
【００３６】
照明部４は撮像部５と別体に構成されていてもよい。この場合、照明部４と撮像部５とを有線または無線接続することができる。また、後述する制御ユニット２９は、照明部４に内蔵されていてもよいし、撮像部５に内蔵されていてもよい。
【００３７】
［偏光フィルタアタッチメント３の構成］
図６に示すように、偏光フィルタアタッチメント３は、枠部材２０と、透光パネル２１とを備えている。枠部材２０は、光学的情報読取装置１の前面の外形状に略一致する外形状を有している。この枠部材２０の内部に、透光パネル２１が設けられている。透光パネル２１は、照明部４の第１発光ダイオード１６及び第２発光ダイオード１７を前方から覆うとともに、撮像部５も前方から覆うように形成されている。図９及び図１０に示すように、透光パネル２１における第１発光ダイオード１６を覆う部分、即ち下側部分２１ａは第１発光ダイオード１６の光を出射する部分であり、この下側部分２１ａは、無色透明で偏光フィルタを有していない部分である。一方、透光パネル２１における第２発光ダイオード１７を覆う部分、即ち上側部分２１ｂは第２発光ダイオード１７の光を出射する部分であり、この上側部分２１ｂは、偏光フィルタが設けられた部分である。さらに、透光パネル２１における下側部分２１ａと上側部分２１ｂとの間の中間部分２１ｃは撮像部５を覆う部分であり、撮像部５に入射する光が透過する部分である。中間部分２１ｃも偏光フィルタが設けられた部分である。上側部分２１ｂの偏光フィルタの偏光方向と、中間部分２１ｃの偏光フィルタの偏光方向とは、たとえば９０度異なっている。図９及び図１０では、偏光フィルタが設けられている部分を薄く着色して示している。図２、図３及び図６では偏光フィルタが設けられている部分を無着色としているが、実際には図９や図１０と同様に薄く着色される。
【００３８】
つまり、第１発光ダイオード１６から照射された光は偏光フィルタを通過せずにワークＷに達する一方、第２発光ダイオード１７から照射された光は偏光フィルタを通過してワークＷに達する。そして、ワークＷからの反射光は偏光フィルタを通過して撮像部５に入射することになる。
【００３９】
従って、使用者が偏光フィルタアタッチメント３を取り外さなくても、光学的情報読取装置１が第１発光ダイオード１６と第２発光ダイオード１７のどちらを点灯させるかを電気的に切り替えることで、様々なワークＷに容易に対応することができる。具体的には、偏光フィルタが無い方がより有利なワークＷ（たとえば鋳物等）については第１発光ダイオード１６を点灯させて第２発光ダイオード１７を消灯させる。一方、偏光フィルタが有る方がより有利なワークＷ（たとえばプリント基板やフライス加工面、黒色樹脂等に二次元コードが付されている場合）については第１発光ダイオード１６を消灯させて第２発光ダイオード１７を点灯させる。
【００４０】
［撮像部５の構成］
図１１は光学的情報読取装置１の構成を示すブロック図である。図１１に示すように、撮像部５は、ワークＷに付されていて上記照明部４によって照明されているコードを撮像する撮像素子５ａと、レンズ等を有する光学系５ｂと、オートフォーカス機構（ＡＦ機構）５ｃとを備えている。光学系５ｂには、ワークＷのコードが付された部分から反射した光が入射するようになっている。撮像素子５ａは、光学系５ｂを通して得られたコードの画像を電気信号に変換するＣＣＤ(charge-coupled device)やＣＭＯＳ（complementary metal oxide semiconductor）等の受光素子からなるイメージセンサである。撮像素子５ａは制御ユニット２９に接続されていて、撮像素子５ａによって変換された電気信号は、制御ユニット２９に入力される。また、ＡＦ機構５ｃは、光学系５ｂを構成するレンズのうち、合焦用レンズの位置や屈折率を調整することによってピント合わせを行う機構であり、合焦用レンズによる合焦位置（ピントが合う位置）を調整することができるように構成されている。ＡＦ機構５ｃも制御ユニット２９に接続され、制御ユニット２９のＡＦ制御部２９ａにより制御される。
【００４１】
［表示部６の構成］
表示部６は、たとえば有機ＥＬディスプレイや液晶ディスプレイ等からなるものである。表示部６は、制御ユニット２９に接続され、たとえば撮像部５で撮像された画像、撮像部５で撮像されたコード、コードのデコード結果である文字列、読み取り成功率、マッチングレベル、推奨離間距離等を表示させることができる。読み取り成功率とは、複数回読み取り処理を実行したときの平均読み取り成功率であり、デコード部３１によるコードのデコード処理のし易さを示すスコアである。また、マッチングレベルとは、デコードが成功したコードの読み取りのしやすさを示す読取余裕度であり、これもデコード部３１によるコードのデコード処理のし易さを示すスコアである。マッチングレベルは、デコード時に発生した誤り訂正の数等から求めることができ、たとえば数値で表すことができる。誤り訂正が少なければ少ないほどマッチングレベル（読取余裕度）が高くなり、一方、誤り訂正が多ければ多いほどマッチングレベル（読取余裕度）が低くなる。
【００４２】
推奨離間距離（推奨設置距離ともいう）とは、光学的情報読取装置１とコードとの推奨離間距離であり、具体的には、光学的情報読取装置１の光学系５ｂのレンズ面と、撮像対象物としてのコードとの距離とすることができる。推奨離間距離は、光学的情報読取装置１の撮像素子５ａの撮像面と、コードとの距離であってもよいし、光学的情報読取装置１の前面の特定部分と、コードとの距離であってもよい。
【００４３】
［セルサイズ設定部３０の構成］
光学的情報読取装置１は、撮像部５により得られた画像上のコードを構成しているセルのサイズを設定するセルサイズ設定部３０を有している。セルサイズ設定部３０は、撮像部５により撮像された画像に含まれるコードと、撮像部５からコードまで距離と、撮像部５からコードまでの距離に応じた撮像部５の視野範囲を定める第１の特性情報（たとえば光学系５ｂの画角）とに基づいて実際の（現実の）セルのサイズを算出し、設定するように構成されている。撮像部５からコードまで距離は、距離設定部２９ｄにより得ることができるようになっている。セルのサイズの具体的な算出手順（設定手順）については後述するフローチャートに基づいて詳細に説明する。
【００４４】
［デコード部３１の構成］
光学的情報読取装置１は、撮像素子５ａにより撮像された画像に含まれるコード位置を検出するとともに、検出されたコードにデコード処理を行うデコード部３１を有している。具体的に、デコード部３１は、白黒の二値化されたデータをデコードするように構成されており、デコードの際には、符号化されたデータの対照関係を示すテーブルを使用することができる。さらに、デコード部３１は、デコードした結果が正しいか否かを所定のチェック方式に従ってチェックする。データに誤りが発見された場合にはエラー訂正機能を使用して正しいデータを演算する。エラー訂正機能はコードの種類によって異なる。
【００４５】
デコード部３１は、コードをデコードして得られたデコード結果を記憶装置３５に書き込むように構成されている。また、デコード部３１では、デコード前の画像に対して各種画像処理フィルタ等の画像処理を行うこともできる。
【００４６】
デコード部３１が、撮像素子５ａにより撮像された画像に含まれるコード位置を検出する際には、撮像素子５ａにより撮像された画像内においてコードを探索し、コードが探索されたら、探索されたコードのたとえば中心部を推定し、その中心部のＸ座標とＹ座標を求める。コードの位置を検出する方法は、これに限られるものではなく、たとえばコードの端部のＸ座標とＹ座標を求めるようにしてもよい。
【００４７】
［通信部３２の構成］
光学的情報読取装置１は通信部３２を有している。通信部３２は、コンピュータ１００及びＰＬＣ１０１と通信を行う部分である。通信部３２は、コンピュータ１００及びＰＬＣ１０１と接続されるＩ／Ｏ部、ＲＳ２３２Ｃ等のシリアル通信部、無線ＬＡＮや有線ＬＡＮ等のネットワーク通信部を有していてもよい。
【００４８】
［制御ユニット２９の構成］
図１１に示す制御ユニット２９は、光学的情報読取装置１の各部を制御するためのユニットであり、ＣＰＵやＭＰＵ、システムＬＳＩ、ＤＳＰや専用ハードウエア等で構成することができる。制御ユニット２９は、後述するように様々な機能を搭載しているが、これらは論理回路によって実現されていてもよいし、ソフトウエアを実行することによって実現されていてもよい。
【００４９】
制御ユニット２９は、ＡＦ制御部２９ａと、撮像制御部２９ｂと、チューニング部（撮像条件設定部）２９ｃと、距離設定部２９ｄと、推奨離間距離決定部２９ｅと、ＵＩ管理部２９ｅとを有している。ＡＦ制御部２９ａは、ＡＦ機構５ｃを制御するユニットであり、従来から周知のコントラストＡＦや位相差ＡＦによって光学系５ｂのピント合わせを行うことができるように構成されている。ＡＦ制御部２９ａは、光学系５ｂを構成している合焦用レンズの光軸方向の位置を得ることができるように構成されている。具体的には、ＡＦ用モータのステップ数や回転量に基づいて、ＡＦ機構５ｃによる合焦用レンズの調整量を得ることが可能になる。また、屈折率を変化させることによって合焦する液体レンズの場合には、液体レンズへ印加する電圧等によって合焦用レンズの調整量を得ることが可能になる。
【００５０】
撮像制御部２９ｂは、撮像素子５ａが撮像した画像に適用されるゲインが所定値になるように制御したり、照明部４の光量が所定の光量となるように制御したり、撮像素子５ａの露光時間（シャッタースピード）が所定時間となるように制御するためのユニットである。ここで、ゲインとは、撮像素子５ａに適用する増幅率（アナログゲイン）と、撮像素子５ａから出力された画像の明るさをデジタル画像処理によって増幅する際の増幅率（デジタルゲイン）とを含んでおり、両方を調整することができるように構成されているが、どちらか一方のみ調整可能にしてもよい。照明部４の光量については、第１発光ダイオード１６と第２発光ダイオード１７を別々に制御して変更することができる。ゲイン、照明部４の光量及び露光時間は、撮像部５の撮像条件である。
【００５１】
チューニング部２９ｃは、ゲイン、照明部４の光量及び露光時間等の撮像条件や、画像処理条件を変更して最適化するためのユニットである。画像処理条件とは、画像処理フィルタの係数（画像処理フィルタの強弱）や、複数の画像処理フィルタがある場合に画像処理フィルタの選択、種類の異なる画像処理フィルタの組み合わせ等である。搬送時のワークＷに対する外光の影響や、コードが付されている面の色及び材質等によって適切な撮像条件及び画像処理条件は異なる。よって、チューニング部２９ｃは、より適切な撮像条件及び画像処理条件を探索して、ＡＦ制御部２９ａ、撮像制御部２９ｂ、デコード部３１による処理を設定する。画像処理フィルタは、たとえば、膨脹フィルタ、収縮フィルタ及び平滑化フィルタ以外にも、従来から周知の各種画像処理フィルタを使用することができる。
【００５２】
チューニング部２９ｃは、ワークＷの移動速度（搬送速度ともいう）と、セルサイズ設定部３０によって設定されたコードのセルのサイズとに基づいて、ワークＷに付されたコードを読み取るための制約条件として撮像部５の露光時間の上限値を求めるとともに、撮像部５に露光時間を変化させて複数回撮像させて取得されたコードを含む複数の画像を解析することにより、制約条件の範囲内で撮像部５の露光時間を設定することができるように構成されており、本発明の撮像条件設定部としても機能する。チューニング部２９ｃは、制約条件内（露光時間の上限値以下）で露光時間を変化させて撮像部５にコードを複数回撮像させるように構成されているのが好ましい。これにより、無駄な試行を減らすことができる。
【００５３】
上記ワークＷの移動速度は、使用者が入力した値を用いることができる。ワークＷの移動速度は、セレクトボタン１１及びエンターボタン１２の操作によって入力することや、図１２に示すコンピュータ１００の入力部４３（たとえばテンキーやマウス等）の操作によって入力することができる。コンピュータ１００の入力部４３の操作によって入力する場合、コンピュータ１００の入力部４３は光学的情報読取装置１の構成要素の一部とすることができる。
【００５４】
また、チューニング部２９ｃは、撮像部５にゲインを変化させて複数回撮像させて取得された複数の画像を解析してゲインを設定するように構成されていてもよい。さらに、チューニング部２９ｃは、撮像部５に、露光時間とゲインの両方を変化させて複数回撮像させて取得された複数の画像を解析して露光時間とゲインを設定するように構成されていてもよい。
【００５５】
距離設定部２９ｄは、撮像部５からコードまでの距離を得る部分である。撮像部５からコードまでの距離は、撮像部５を構成する光学系５ｂのレンズ面と、コードとの距離とすることができる。また、撮像部５からコードまでの距離は、撮像素子５ａの撮像面と、コードとの距離であってもよい。
【００５６】
撮像部５からコードまでの距離を得る具体的な方法としては次のような方法がある。たとえば、合焦用レンズによる合焦が完了したときにおけるＡＦ機構５ｃによる合焦用レンズの調整量を距離設定部２９ｄが得て、その調整量と、撮像部５からコードまでの距離との対応関係とに基づいて、撮像部５からコードまでの距離を得る方法がある。つまり、撮像部５からコードまでの距離が変化すれば、ピント合わせを行うために合焦用レンズの位置や屈折率が調整されるので、ＡＦ機構５ｃによる合焦用レンズの調整量と、撮像部５からコードまでの距離とは対応関係にあると言えるので、ＡＦ機構５ｃによる合焦用レンズの調整量と、撮像部５からコードまでの距離との対応関係を対応関係記憶部３５ｅに予め記憶させておくことで、合焦用レンズによる合焦が完了したときの上記調整量と、上記対応関係とに基づいて、撮像部５からコードまでの距離を簡単にかつ正確に得ることができる。
【００５７】
また、撮像部５からコードまでの距離を得る別の方法としては、たとえば使用者がセレクトボタン１１及びエンターボタン１２や、図１２に示すコンピュータ１００の入力部４３を操作することによって手動で入力した値を読み込む方法もある。この場合、使用者が撮像部５からコードまでの距離を事前に測定しておけばよい。
【００５８】
推奨離間距離決定部２９ｅは、撮像部５からの離間距離に応じた合焦範囲を定める第２の特性情報と、セルサイズ設定部３０により設定されたセルのサイズと、撮像部５からコードまでの距離の変動幅に関する変動情報とに基づいて、光学的情報読取装置１とコードとの推奨離間距離を求めるように構成されている。光学的情報読取装置１とコードとの推奨離間距離は、言い換えると光学的情報読取装置１の推奨設置距離であり、光学的情報読取装置１とコードとをどの程度まで離してもコードを所定の読み取り成功率で読み取ることができるか、あるいは光学的情報読取装置１とコードとをどの程度まで近づけてもコードを所定の読み取り成功率で読み取ることができるかを具体的に示す指標である。
【００５９】
推奨離間距離を求める具体的な方法については後述するフローチャートに基づいて説明する。尚、推奨離間距離決定部２９ｅにより求めた推奨離間距離は表示部６や、コンピュータ１００の表示部４２に表示することができる。コンピュータ１００の表示部４２に表示する場合、当該表示部４２は光学的情報読取装置１の構成要素の一部とすることができる。
【００６０】
撮像部５の光学系５ｃの合焦用レンズを所定位置で固定した状態でピントが合う範囲、即ち合焦範囲（被写界深度または単に深度ともいう）は決まっており、この深度は撮像部５とコードとの離間距離によって変化する。第２の特性情報は、撮像部５からの離間距離に応じて定まる深度に関する情報であり、光学系５ｃに固有のものである。この第２の特性情報は事前に試験等を行うことにより得ておくことができる。第２の特性情報を利用することで、撮像部５からの離間距離が分かると、当該離間距離における深度を求めることが可能になる。また、深度は、所定の計算式によって求めるようにしてもよい。
【００６１】
また、撮像部５からコードまでの距離の変動幅は、たとえば形状が異なる複数種のワークＷが搬送用ベルトコンベアＢによって搬送されている場合に大きくなる。ワークＷの形状が異なると、撮像部５からコードまでの距離がワークの形状毎に異なることになり、これにより、撮像部５からコードまでの距離の変動することになる。この変動幅に関する情報は、使用者がワークＷの外寸を測定する、各ワークＷと撮像部５までの距離を実際に測定する等の方法によって事前に得ることができる。また、同一形状のワークＷが同じ姿勢で搬送されている場合には、撮像部５からコードまでの距離の変動は殆どないので、変動幅はほぼ０になる。変動幅に関する情報は、たとえば使用者がセレクトボタン１１及びエンターボタン１２や、図１２に示すコンピュータ１００の入力部４３を操作することによって手動で入力することもできる。
【００６２】
図１１に示すＵＩ管理部２９ｅは、表示部６に、各種ユーザーインターフェース、撮像部５で撮像されたコード、コードのデコード結果である文字列、読み取り成功率、マッチングレベル等を表示させたり、セレクトボタン１１及びエンターボタン１２からの入力を受け付けたり、インジケータ９の点灯を制御するユニットである。
【００６３】
［記憶装置３５の構成］
記憶装置３５は、メモリやハードディスク等で構成されている。記憶装置３５には、デコード結果記憶部３５ａと、画像データ記憶部３５ｂと、パラメータセット記憶部３５ｃと、特性情報記憶部３５ｄと、対応関係記憶部３５ｅとが設けられている。
【００６４】
デコード結果記憶部３５ａは、デコード部３１によりデコードされた結果であるデコード結果を記憶する部分である。画像データ記憶部３５ｂは、撮像素子５ａによって撮像された画像を記憶する部分である。
【００６５】
図１１に示すパラメータセット記憶部３５ｃは、コンピュータ１００等の設定装置によって設定された設定情報やセレクトボタン１１及びエンターボタン１２によって設定された設定情報等を記憶する部分である。パラメータセット記憶部３５ｃには、撮像部５の撮像条件（ゲイン、照明部４の光量及び露光時間等）と、画像処理条件（画像処理フィルタの種類等）との少なくとも一方を構成する複数のパラメータを含むパラメータセットを記憶することができる。この実施形態では、図１３に示すパラメータセット表示フォーマット４６の中に、バンク１〜５として表示するように、撮像部５の撮像条件を構成するパラメータ及び画像処理条件を構成するパラメータがセットになったパラメータセットを複数通り記憶することができるように構成されている。バンク１〜５には異なるパラメータセットを記憶させることができ、たとえばワークＷが異なる場合等に対応することができる。バンクの数は任意に設定することができる。
【００６６】
この光学的情報読取装置１では、パラメータセット記憶部３５ｃに記憶されている複数のパラメータセットのうち、一のパラメータセットから他のパラメータセットに切り替えることができるように構成されている。パラメータセットの切替は、使用者が行うこともできるし、ＰＬＣ１０１で行うように構成することもできる。パラメータセットの切替を使用者が行う場合には、図１３に示すユーザーインターフェースに組み込まれているパラメータセット切替部４６ｂを操作すればよい。パラメータセット切替部４６ｂを「有効」にすることで、そのバンクのパラメータセットが光学的情報読取装置１の運用時に使用され、また、パラメータセット切替部４６ｂを「無効」にすることで、そのバンクのパラメータセットが光学的情報読取装置１の運用時に使用されないようになる。つまり、パラメータセット切替部４６ｂは、一のパラメータセットから他のパラメータセットに切り替えるためのものである。尚、パラメータセット切替部４６ｂの形態は図示した形態に限られるものではなく、たとえばボタン等、各種の形態を使用することができる。
【００６７】
ここで、図１３に示すパラメータセット４６について、補足説明する。図１３では、「共通」パラメータとして、「オルタネート」（複数登録したパラメータセットを自動的に切り換えながら撮像・デコードを試行する機能）や「バンク内リトライ回数」（オルタネートするまでに行う撮像・デコードの回数）などが含まれている。「コード」パラメータとしては、「コード詳細設定」（読取を行うコード種別）や「桁限定出力機能」（読取データの出力桁を限定する機能）などが含まれている。「照明」パラメータとしては、「内部照明の使用」（光学的情報読取装置１に内蔵されている照明の使用有無）、「外部照明の使用」（光学的情報読取装置１に外付けされている照明の使用有無）及び「偏光フィルタ」（後述する偏光モードを有効にするか否か）が含まれている。「撮像」パラメータとしては、「露光時間」（撮像時の露光時間μｓ）、「ゲイン」（撮像時のゲイン）及び「コントラスト調整方式」（上述した「ＨＤＲ」、「超ＨＤＲ」、「標準特性」及び「コントラスト強調特性」のいずれか）が含まれている。さらに、「画像処理フィルタ」パラメータとして、「１番目画像処理フィルタ」（１番目に実行する画像フィルタの種別）や「１番目画像処理フィルタ回数」（１番目の画像フィルタを実行する回数）などが含まれている。
【００６８】
図１３では、バンク１〜５において、上述した「コントラスト調整方式」は、それぞれ「ＨＤＲ」「コントラスト強調」「標準」「超ＨＤＲ」「ＨＤＲ」に設定されている。また、上述した「オルタネート」は、バンク１およびバンク２のみが「有効」となっている。したがって、光学的情報読取装置１は、まず、バンク１の設定内容であるコントラスト調整方式「ＨＤＲ」を用いて、デコードを試みる。デコードに失敗した場合には、バンク１の設定内容からバンク２の設定内容に切り換えて、バンク２の設定内容であるコントラスト調整方式「コントラスト強調」を用いて、デコードを試みる。要するに、複数登録したパラメータセットを自動的に切り換えながらデコードを試みることで、自動的にコントラスト調整方式を切り替えながらデコードを試みることができ、ひいては読取精度を高めることができる。
【００６９】
なお、上述した「オルタネート」の順序は、種々の方法が考えられる。例えば、上述したように、１番から順番にバンクを切り換えてデコードを試行してもよい。その他にも、例えば、読み取り成功したバンクを優先するようにしてもよい。具体的には、読取に成功したバンクについては、次の読取時に優先的に設定されるようにしてもよい。これにより、例えばロット単位で印字状態が変わる場合に、読取タクトを短縮することができる。
【００７０】
図１１に示す特性情報記憶部３５ｄは、撮像部５からコードまでの距離に応じた撮像部５の視野範囲（視野サイズともいう）を定める第１の特性情報と、上述した撮像部５からの離間距離に応じた合焦範囲を定める第２の特性情報とを記憶している。第１の特性情報は、撮像部５からコードまでの距離に応じた撮像部５の視野範囲を定めることができる情報であればよく、たとえば光学系５ｂの画角（ｒａｄ）とすることができる。第２の特性情報は、光学系５ｃに固有のものであることから事前に得ておき、撮像部５からの離間距離と深度との関係を対応テーブルのような形態として特性情報記憶部４１ｃに記憶させておけばよい。
【００７１】
対応関係記憶部３５ｅは、上述したＡＦ機構５ｃによる合焦用レンズの調整量と、撮像部５からコードまでの距離との対応関係を記憶する部分である。ＡＦ機構５ｃによる合焦用レンズの調整量と、撮像部５からコードまでの距離との対応関係は、光学系５ｃに固有のものであることから事前に得ておき、合焦用レンズの調整量と撮像部５からコードまでの距離との関係を対応テーブルのような形態として対応関係記憶部３５ｅに記憶させておけばよい。
【００７２】
［コンピュータ１００の構成］
コンピュータ１００は、図１２にブロック図で示すように、ＣＰＵ４０と、記憶装置４１と、表示部４２と、入力部４３と、通信部４４とを備えている。光学的情報読取装置１を小型化することで、光学的情報読取装置１の表示部６やボタン１１、１２等だけでは、光学的情報読取装置１の全ての設定を行うことが困難になるので、光学的情報読取装置１とは別にコンピュータ１００を用意し、コンピュータ１００で光学的情報読取装置１の各種設定を行って設定情報を光学的情報読取装置１に転送するようにしてもよい。
【００７３】
また、コンピュータ１００と光学的情報読取装置１とを双方向通信可能に接続して、上述した光学的情報読取装置１の処理の一部をコンピュータ１００で行うようにしてもよい。逆も可能である。この場合、コンピュータ１００の一部が光学的情報読取装置１の構成要素の一部になる。
【００７４】
ＣＰＵ４０は、記憶装置４１に記憶されているプログラムに基づいてコンピュータ１００が備えている各部を制御するユニットである。記憶装置４１は、メモリやハードディスク等で構成されている。表示部４２は、たとえば液晶ディスプレイ等で構成されている。入力部４３は、キーボードやマウス、表示部４２に設けられたタッチスクリーンやタッチセンサ等で構成されている。通信部４４は、光学的情報読取装置１と通信を行う部分である。通信部４４は、光学的情報読取装置１と接続されるＩ／Ｏ部、ＲＳ２３２Ｃ等のシリアル通信部、無線ＬＡＮや有線ＬＡＮ等のネットワーク通信部を有していてもよい。
【００７５】
ＣＰＵ４０は、様々な演算を行う演算部４０ａを備えている。演算部４０ａには、ＵＩ制御部４０ｂと設定部４０ｃとが設けられている。ＵＩ制御部４０ｂは、光学的情報読取装置１の撮像部５の撮像条件や画像処理条件等を設定するためのユーザーインターフェースや、光学的情報読取装置１から出力されたデコード結果、画像データ等を表示するためのユーザーインターフェースを生成し、表示部４２に表示させる。設定部４０ｃは、撮像部５の撮像条件及び画像処理条件を設定する。
【００７６】
コンピュータ１００の記憶装置４１は、デコード結果記憶部４１ａと、画像データ記憶部４１ｂと、パラメータセット記憶部４１ｃと、特性情報記憶部４１ｄと、対応関係記憶部４１ｅとが設けられている。これら記憶部４１ａ〜４１ｅは、光学的情報読取装置１のデコード結果記憶部３５ａと、画像データ記憶部３５ｂと、パラメータセット記憶部３５ｃと、特性情報記憶部３５ｄと、対応関係記憶部３５ｅと同様な情報を記憶する部分であり、光学的情報読取装置１の構成要素の一部とすることができる。
【００７７】
［設定時に実行される工程］
次に、上記のように構成された光学的情報読取装置１が設定時に実行する工程について図１４に示すフローチャートに基づいて説明する。以下に述べる工程は、光学的情報読取装置１の制御ユニット２９が実行してもよいし、コンピュータ１００のＣＰＵ４０が光学的情報読取装置１の各部を制御しながら実行してもよい。この実施形態では、光学的情報読取装置１の制御ユニット２９にチューニング部２９ｃが設けられているので、制御ユニット２９がチューニング工程を実行する。
【００７８】
図１４に示すフローチャートのステップＳＡ１では、撮像部５に固有のパラメータ（カメラパラメータ）を読み込む。カメラパラメータは、撮像部５により得られた画像上のコードに基づいて当該コードの実際の大きさ（当該コードを構成するセルの大きさ）を特定するために必要なパラメータとすることができ、この実施形態では、撮像部５からコードまでの距離に応じた撮像部５の視野範囲を定める第１の特性情報と、撮像部５からの離間距離に応じた合焦範囲を定める第２の特性情報を含んでいる。尚、撮像部５が固定焦点タイプである場合、カメラパラメータは分解能（ｍｍ／ピクセル）とすることもできる。
【００７９】
ステップＳＡ２では設定条件の抽出を開始する。設定条件の抽出にあたっては、まず、コンピュータ１００のＵＩ制御部４０ｂが、図１５に示すような起動用ユーザーインターフェース４７をコンピュータ１００の表示部４２に表示させる。起動用ユーザーインターフェース４７には、モニタボタン４７ａ、オートフォーカスボタン４７ｂ、チューニング開始ボタン４７ｃ、画像表示領域４７ｄ及び設定開始ボタン４７ｅが組み込まれている。
【００８０】
使用者がコンピュータ１００の入力部４３を操作してモニタボタン４７ａをクリックすると、光学的情報読取装置１の撮像部５によって現在撮像されている画像が画像表示領域４７ｄに表示される。使用者は、起動用インターフェース４７の画像を見ながら、ワークＷのコードＣが画像表示領域４７ｄに表示されるようにワークＷを移動させる。実際のワークＷの代わりに、コードが付された紙等のような部材を撮像させてチューニングを行うこともできる。
【００８１】
尚、モニタボタン４７ａをクリックすることで当該ボタン４７ａを操作（押下）することができるが、たとえばタッチパネルの場合には画面上のモニタボタン４７ａに触れることで当該ボタン４７ａを操作することができる。以下、「クリック」とは、操作の具体的な方法の一例を挙げているだけであって操作の方法がクリックに限定されるものではない。
【００８２】
その後、使用者が起動用インターフェース４７のオートフォーカスボタン４７ｂをクリックすると、撮像部５のＡＦ機構５ｃをＡＦ制御部２９ａによって制御してコードＣにピントを合わせる。これにより、コードＣが画像表示領域４７ｄ内にあることを確認でき、使用者は、起動用インターフェース４７の画像を見ながらワークＷを移動させて位置を微調整したり、ピントを合わせ直すことができる。また、使用者が起動用インターフェース４７のチューニング開始ボタン４７ｃをクリックすると、チューニング工程が実行される。
【００８３】
使用者が起動用インターフェース４７のチューニング開始ボタン４７ｃをクリックする前に、設定開始ボタン４７ｅをクリックすると設定ウィザードが開始されて図１６に示すコード情報取得用インターフェース４８がコンピュータ１００の表示部４２に表示される。コード情報取得用インターフェース４８には、コードをどのようにして置けばよいかを示す説明図が組み込まれている。
【００８４】
設定ウィザードが開始されると同時に、チューニング部２９ｃは撮像部５にモニタ動作を開始させる。モニタ動作とは、光学的情報読取装置１の撮像部５によって連続撮影した画像を画像表示領域４７ｄに順次表示する動作であり、照明部４も撮像部５に同期して作動する。モニタ動作を停止させる場合には、コード情報取得用インターフェース４８の停止ボタン４８ｃをクリックすればよい。
【００８５】
そして、図１４に示すフローチャートのステップＳＡ４に進んで、チューニング部２９ｃが撮像部５の視野範囲内でデコード処理の対象となるコードを探索する。このとき、露光時間やゲイン等を様々に変えながら撮像部５による撮像を試行し、試行によって何らかのコードが見つかった段階でそのコード種類を判別する。
【００８６】
コード種類の判別とは、たとえば、バーコード、ＱＲコード、マイクロＱＲコード、データマトリクス、ベリコード、アズテックコード、ＰＤＦ４１７、マキシコード等のいずれのコードであるか判別することであるが、単に、バーコードと二次元コードのいずれであるかを判別するようにしてもよい。コード種類の判別結果は、図１６に示すコード情報取得用インターフェース４８に組み込まれているコード種別表示領域４８ａに表示される。ステップＳＡ７では、コードを構成する１つのセルが撮像部５によって取得された画像データにおいていくつの画素に相当するかを示す値、即ちＰＰＣ（ピクセル／セル）を算出する。ＰＰＣは、撮像部５によって取得された画像データを用いて周知の手法に基づいて演算することができるので、詳細な説明は省略する。
【００８７】
また、ステップＳＡ５に進んで寸法情報を算出する。寸法情報の算出工程のフローチャートは図１７に示す。ステップＳＢ１では、フォーカス条件を読み込む。フォーカス条件は、ＡＦ機構５ｃによる合焦用レンズの調整量である。ステップＳＢ２では、図１４に示すフローチャートのステップＳＡ１と同様にカメラパラメータを読み込む。ステップＳＢ３では、探索によって見つかったコードを読み込む。
【００８８】
ステップＳＢ４では、距離設定部２９ｄが、合焦用レンズによる合焦が完了したときにおけるＡＦ機構５ｃによる合焦用レンズの調整量と、撮像部５からコードまでの距離との対応関係とに基づいて、撮像部５からコードまでの距離（ｍｍ）を得る。これが現時点での設置距離になる。尚、撮像部５からコードまでの距離を使用者がスケール等を用いて測定し、その実測値を設置距離として入力するようにしてもよい。
【００８９】
ステップＳＢ５では予め記憶されている光学系５ｂの画角（ｒａｄ）を読み込む。ステップＳＢ６では撮像素子５ａの画素数（ピクセル）を、たとえば縦１２８０×横７６８画素の形式で読み込む。撮像素子５ａの画素数は既知であり、予め記憶装置３５に記憶させておけばよい。ステップＳＢ７では光学系５ｂの絞りと焦点距離に関する情報を読み込む。光学系５ｂの現在の絞り及び焦点距離が制御ユニット２９に出力されるようにしておけばよい。
【００９０】
ステップＳＢ８ではＰＰＣ（ピクセル／セル）を算出する。ステップＳＢ９ではコードの座標を読み込む。コードの座標は、たとえばコードの中心部を推定し、その中心部のＸ座標とＹ座標を求めることで得られるが、コードの端部の座標であってもよい。
【００９１】
ステップＳＢ１０では撮像部５の視野範囲を算出する。視野範囲ｈは式（１）から算出可能である。
【００９２】
ｈ＝２ｄ・ｔａｎ（θ／２）・・・・・（１）
ここで、ｄは現時点での設置距離であり、θは光学系５ｂの画角である。
【００９３】
ステップＳＢ１１では分解能ｒ、即ち画像データを構成している１ピクセルが表す実寸長さを算出する。分解能ｒは式（２）から算出可能である。
【００９４】
分解能（ｒ）＝ｈ／ｎ・・・・・・・・・・・・・・（２）
ここで、ｎは撮像素子５ａの横方向の画素数である。
【００９５】
ステップＳＢ１２ではコードの大きさ（コードサイズ）を算出する。コードサイズＣＳ（ｍｍ）は式（２）から算出された分解能ｒを、コードの横方向のピクセル数に乗じることで得ることができる。コードの横方向のピクセル数は画像データから得ることができる。
【００９６】
ステップＳＢ１３ではセルの大きさ（セルサイズ）を算出する。セルは、コードを構成する最小単位のことである。セルサイズｐは式（２）から算出された分解能ｒを、セルの横方向のピクセル数に乗じることで得ることができる。セルの横方向のピクセル数は画像データから得ることができる。セルサイズｐはセルサイズ設定部３０により算出する。
【００９７】
ステップＳＢ１４では許容錯乱円径（ｍｍ）を設定する。許容錯乱円径は、許容できるボケ量の限界値である。すなわち、ワークを高速で移動させながらコードを撮像するとブレが発生し、多少のブレが発生しても誤り訂正機能によって正しくデコードすることはできるが、ここでは、所定以上の読み取り成功率を得ることができるブレ量を最大許容ブレ量とし、この最大許容ブレ量は、許容錯乱円径によって表すことができる。許容錯乱円径は、コードを構成しているセルの個数で表現することもできる。また、最大許容ブレ量は、予め求められており、光学的情報読取装置１の記憶装置３５に記憶しておくことができる。
【００９８】
ステップＳＢ１５では前方被写界深度（ｍｍ）を式（３）から算出し、後方被写界深度（ｍｍ）を式（４）から算出する。
【００９９】
前方被写界深度Ｄｆ＝（δＦｄ２）／（ｆ２＋δＦｄ）・・・・・（３）
後方被写界深度Ｄｂ＝（δＦｄ２）／（ｆ２−δＦｄ）・・・・・（４）
ここで、Ｆは光学系５ｂの絞り、ｆは光学系５ｂの焦点距離である。また、δは許容錯乱円径である。
【０１００】
以上のようにして図１４に示すフローチャートのステップＳＡ５が完了し、以降の計算に必要なコードの寸法、視野範囲、深度等を得ることができる。図１４に示すフローチャートのステップＳＡ６では、ステップＳＡ５で算出したセルサイズｐを読み込む。セルサイズｐは、図１６に示すコード情報取得用インターフェース４８に組み込まれているセルサイズ表示領域４８ｂに「最小セルサイズ（ｍｍ）」として表示することができる。ここで表示されたセルサイズを確認して誤りがあれば、使用者が修正することや手動で入力して設定することができる。
【０１０１】
一方、図１４に示すフローチャートのステップＳＡ３では、使用者によって搬送条件を入力する。図１６に示すコード情報取得用インターフェース４８の「次へ」ボタン４８ｄをクリックすると、図１８に示すコード移動条件入力用インターフェース４９がコンピュータ１００の表示部４２に表示される。コード移動条件入力用インターフェース４９には、プルダウンメニューボタン４９ａが組み込まれている。プルダウンメニューボタン４９ａをクリックすると、選択可能な項目の例として、「移動なし」、「平行移動」、「奥行き移動」及び「回転移動」が表示され、所望の項目を選択可能になっている。
【０１０２】
「移動なし」とは、光学的情報読取装置１の運用中（撮像中）にワークＷが移動しない場合に選択する項目である。「平行移動」とは、撮像中にワークＷが撮像素子５ａの縦方向、または横方向に移動する場合に選択する項目である。「奥行き移動」とは、撮像中にワークＷが奥行き方向、即ち撮像素子５ａに対して接近する方向、または遠ざかる方向に移動する場合に選択する項目である。「回転移動」とは、撮像中にワークＷが回転する場合に選択する項目である。
【０１０３】
コード移動条件入力用インターフェース４９には、「戻る」ボタン４９ｂと、「次へ」ボタン４９ｃとが組み込まれており、「戻る」ボタン４９ｂをクリックすると図１６に示すコード情報取得用インターフェース４８がコンピュータ１００の表示部４２に表示され、一方、たとえば「平行移動」を選択して「次へ」ボタン４９ｃをクリックすると図１９に示す平行移動速度入力用インターフェース５０がコンピュータ１００の表示部４２に表示される。平行移動速度入力用インターフェース５０にも、コード移動条件入力用インターフェース４９のプルダウンメニューボタン４９ａと同様なプルダウンメニューボタン５０ａが組み込まれている。
【０１０４】
平行移動速度入力用インターフェース５０には、ワークＷの搬送速度（ｍ／分）を入力するための搬送速度入力欄５０ｂと、読み取り頻度（回／分）を入力するための頻度入力欄５０ｃとが組み込まれている。ワークＷの搬送速度は、たとえば搬送用ベルトコンベアＢによる搬送速度とすることができる。読み取り頻度（回／分）は、コードを１分間で読み取る回数とすることができる。平行移動速度入力用インターフェース５０には、ワークの移動方向を示す図が表示される。
【０１０５】
平行移動速度入力用インターフェース５０には、「戻る」ボタン５０ｄと、「次へ」ボタン５０ｅとが組み込まれており、「戻る」ボタン５０ｄをクリックすると図１８に示すコード移動条件入力用インターフェースがコンピュータ１００の表示部４２に表示され、一方、「次へ」ボタン５０ｅをクリックすると図２２に示す位置条件入力用インターフェース５３がコンピュータ１００の表示部４２に表示される。
【０１０６】
図１８に示すコード移動条件入力用インターフェース４９において「奥行き移動」を選択した場合には、図２０に示す奥行き方向移動速度入力用インターフェース５１がコンピュータ１００の表示部４２に表示される。奥行き方向移動速度入力用インターフェース５１にも、コード移動条件入力用インターフェース４９のプルダウンメニューボタン４９ａと同様なプルダウンメニューボタン５１ａが組み込まれている。奥行き移動速度入力用インターフェース５１には、ワークＷの搬送速度（ｍ／分）を入力するための搬送速度入力欄５１ｂと、読み取り頻度（回／分）を入力するための頻度入力欄５１ｃとが組み込まれている。奥行き方向移動速度入力用インターフェース５１にも、ワークＷの移動方向を示す図が表示される。
【０１０７】
奥行き方向移動速度入力用インターフェース５１には、「戻る」ボタン５１ｄと、「次へ」ボタン５１ｅとが組み込まれており、「戻る」ボタン５１ｄをクリックすると図１８に示すコード移動条件入力用インターフェースがコンピュータ１００の表示部４２に表示され、一方、「次へ」ボタン５１ｅをクリックすると図２２に示す位置条件入力用インターフェース５３がコンピュータ１００の表示部４２に表示される。
【０１０８】
図１８に示すコード移動条件入力用インターフェース４９において「回転移動」を選択した場合には、図２１に示す回転移動速度入力用インターフェース５２がコンピュータ１００の表示部４２に表示される。回転移動速度入力用インターフェース５２にも、コード移動条件入力用インターフェース４９のプルダウンメニューボタン４９ａと同様なプルダウンメニューボタン５２ａが組み込まれている。回転移動速度入力用インターフェース５２には、ワークＷの目標回転速度（ｒｐｍ）を入力するための回転速度入力欄５２ｂと、タクト時間（ｍｓ）を入力するためのタクト時間入力欄５２ｃと、ワークＷの直径（ｍｍ）を入力するための直径入力欄５２ｄとが組み込まれている。回転移動速度入力用インターフェース５２にも、ワークの移動方向を示す図が表示される。
【０１０９】
回転移動速度入力用インターフェース５２には、「戻る」ボタン５２ｅと、「次へ」ボタン５２ｆとが組み込まれており、「戻る」ボタン５２ｅをクリックすると図１８に示すコード移動条件入力用インターフェースがコンピュータ１００の表示部４２に表示され、一方、「次へ」ボタン５２ｆをクリックすると図２２に示す位置条件入力用インターフェース５３がコンピュータ１００の表示部４２に表示される。
【０１１０】
図２２に示す位置条件入力用インターフェース５３には、光学的情報読取装置１の設置方向を選択する選択欄５３ａと、光学的情報読取装置１の高さばらつき（ｍｍ）を入力する高さばらつき入力欄５３ｂと、ワークＷの縦幅（ｍｍ）を入力する縦幅入力欄５３ｃと、ワークの横幅（ｍｍ）を入力する横幅入力欄５３ｄとが組み込まれている。光学的情報読取装置１の設置方向の「水平」とは、ワークＷが撮像素子５ａに対して横方向に移動する設置状態のことである。光学的情報読取装置１の高さばらつきとは、光学的情報読取装置１とコードとの離間距離のばらつき範囲（変動情報）のことである。ワークＷの縦幅とは、ワークＷの移動方向と直交する方向の寸法である。ワークＷの横幅とは、ワークＷの移動方向の寸法である。
【０１１１】
位置条件入力用インターフェース５３には、「戻る」ボタン５３ｅと、「次へ」ボタン５３ｆとが組み込まれており、「戻る」ボタン５３ｅをクリックすると直前に表示されていたインターフェース画面に戻り、一方、「次へ」ボタン５３ｆをクリックするとチューニング実行画面に移る。
【０１１２】
また、図２３に示すように、詳細設置条件入力用インターフェース５４を表示させることもできる。この詳細設置条件入力用インターフェース５４には、光学的情報読取装置１の光学系５ｂの光軸とワークＷのコードが付された面とが直交しないように、光学的情報読取装置１を傾けて設置する場合にその設置角度を入力する角度入力欄５４ａが設けられている。すなわち、光沢のある面にコードが付されている場合には、白とびを防ぐために上述したような角度を付けて光学的情報読取装置１を設置することが一般的に行われており、この設置時の角度を入力することで、角度を加味した計算を行うことができ、より厳密に視野範囲や深度を計算することができる。
【０１１３】
また、詳細設置条件入力用インターフェース５４には、ワークＷと光学的情報読取装置１とが接近した場合の近方限界距離（ｍｍ）を入力するための限界設置距離（近）入力欄５４ｂと、ワークＷと光学的情報読取装置１とが大きく離れた場合の遠方限界距離（ｍｍ）を入力するための限界設置距離（遠）入力欄５４ｃとが組み込まれている。
【０１１４】
また、図２４に示すように、使用者が入力した光学的情報読取装置１の設置状態に対応するインターフェースをコンピュータ１００の表示部４２に表示させるようにしてもよい。
【０１１５】
以上のようにして図１４に示すフローチャートのステップＳＡ３で使用者が搬送条件を入力する。その後のステップＳＡ８では、使用者が入力した搬送条件のうち、たとえば搬送速度等を読み込む。ステップＳＡ９では、推奨設置条件を算出する。このステップＳＡ９では、搬送条件と、実際に読み取ったコードの読み取りに要した時間、ＰＰＣ等に基づいて、光学的情報読取装置１とコードとの推奨離間距離を設置可能距離として求める。たとえば、ある搬送条件に対して以下の各要素が設置可能距離を制約することになる。具体的には、図２５に示すように、ａ）分解能限界から制約される設置可能距離と、ｂ）光量限界から制約される設置可能距離と、ｃ）コードサイズ限界から制約される設置可能距離と、ｄ）滞在時間限界から制約される設置可能距離と、ｅ）深度限界から制約される設置可能距離とが少なくともある。
【０１１６】
ａ）分解能限界から制約される設置可能距離は、撮像されるコードが読み取り可能なＰＰＣを下回るとコードの読み取りが不可能になることから定まる。ｂ）光量限界から制約される設置可能距離は、照明部４の光量によって定まる。コードが遠方へ離れると撮像した画像におけるコードのコントラストが十分に確保できなくなるからである。ａ、ｂは、ともに遠方限界の制約になる。
【０１１７】
ｃ）コードサイズ限界から制約される設置可能距離は、撮像視野にコードの全体が入りきらなくなるとコードの読み取りが不可能になることから定まる。コードが撮像部５に近づきすぎると起こることから、近方限界の制約になる。
【０１１８】
ｄ）滞在時間限界から制約される設置可能距離は、コードが視野範囲を通過する時間（コードの滞在時間）により定まる。コードの滞在時間が短すぎるとデコード処理に必要な回数読み取るための時間が確保できないからである。コードの滞在時間は、撮像部５がコードから遠ざかるほど長くなるので、近方限界の制約になる。
【０１１９】
ｅ）深度限界から制約される設置可能距離は、撮像部５の前方被写界深度Ｄｆと後方被写界深度Ｄｂとから求まる被写界深度により定まる。この例では、近方限界の制約になっている。
【０１２０】
ａ〜ｅの制約の中で遠方限界となっているａ、ｂのうちの最小値ｄｎと、近方限界となっているｃ〜ｅのうちの最大値ｄｆとの間が、設置可能距離になる。たとえば、設置可能距離を（ｄｎ＋ｄｆ）／２とすることで、ａ〜ｅのいずれの観点でも限界に対して余裕のある距離にすることができる。ａ〜ｅの制約条件のうち、任意の１つまたは２つ以上を省略してもよい。
【０１２１】
図１４に示すフローチャートのステップＳＡ１０では設置距離を読み込む。そしてステップＳＡ１１に進んでパラメータ設定条件を算出する。パラメータ設定条件の算出工程のフローチャートは図２６に示す。ステップＳＣ１では図１４に示すフローチャートのステップＳＡ３で入力された搬送条件を読み込む。図２６に示すフローチャートのステップＳＣ２では図１４に示すフローチャートのステップＳＡ５で算出された各種寸法情報を読み込む。ステップＳＣ３ではワークＷの搬送速度を読み込む。ステップＳＣ４ではコードの読み取り回数を読み込む。読み取り回数ＲＣは、１つのコードを視野範囲内で何回読み取るかを表しており、予め所定の回数に設定しておいてもよいし、使用者が手動で入力可能にしておいてもよい。ステップＳＣ５では要求深度（ｍｍ）を読み込む。要求深度は、高さばらつき入力欄５３ｂに入力された高さばらつきとすることができる。ステップＳＣ６では視野範囲を読み込む。ステップＳＣ７ではコードサイズを読み込む。ステップＳＣ８ではセルサイズを読み込む。
【０１２２】
ステップＳＣ９では最小視野範囲（ｍｍ）を算出する。たとえば、光学的情報読取装置１からコードまでの距離がｄｍｉｎ〜ｄｍａｘの間で変動する場合、最近傍における視野範囲ｈｍｉｎは、視野範囲が、光学的情報読取装置１からコードまでの距離ｄに比例することから式（５）から算出可能である。
【０１２３】
ｈｍｉｎ＝ｈ×（ｄｍｉｎ／ｄ）・・・・・・・・（５）
ステップＳＣ１０では撮像視野内にコードが滞在する時間（ｍｓ）を算出する。撮像視野内にコードが滞在する時間ＳＴは、視野範囲、コードサイズ、ワークＷの搬送速度ｖが分かっているので、式（６）から算出可能である。
【０１２４】
ＳＴ＝（ｈｍｉｎ−ＣＳ）／ｖ・・・・・・・・（６）
ステップＳＣ１１ではコードの読み取り時間（ｍｓ）の上限を算出する。１つのコードに対してＲＣ回の読み取りを行おうとすると、１回の読み取りにかかる時間ＲＴは式（７）から算出可能である。
【０１２５】
ＲＴ＜＝ＳＴ／ＲＣ・・・・・・・・・・・・・（７）
これにより許容できる１回の読み取り時間の上限値が得られる。ここでは単純にコードの滞在時間を読み取り回数で割ることによってＲＴを算出しているが、これに限らず、一定の安全率で更に割ることによってより厳しい上限値を設定することもできる。
【０１２６】
ステップＳＣ１２では最大露光時間（ｍｓ）を算出する。搬送中のワークＷに付されているコードを読み取る場合、露光時間が長すぎるとブレが発生し易くなって読み取りが困難になってしまう。許容されるブレ量は、セルサイズｐの倍数で指定することができる。倍数をＮとすると最大露光時間ｔｍａｘは式（８）から算出可能である。
【０１２７】
ｔｍａｘ＝（Ｎ・ｐ）／ｖ・・・・・・・・・・（８）
以上のようにして図１４に示すフローチャートのステップＳＡ１１のパラメータ設定条件が算出される。ステップＳＡ１２では露光時間の上限を読み込む。ステップＳＡ１３ではパラメータ設定条件を抽出して終了する。
【０１２８】
上述したように、図１４に示すフローチャートのステップＳＡ９では、光学的情報読取装置１とコードとの推奨離間距離を求めることができる。この推奨離間距離が、図２３に示す設置条件詳細入力用インターフェース５４で入力された近方限界距離と遠方限界距離との範囲外であれば、図２７に示すように、設置条件詳細入力用インターフェース５４のコメント表示領域５４ｄに「入力された条件を満たす設置条件が見つかりませんでした。」と表示して、推奨離間距離が近方限界距離と遠方限界距離との範囲外であることを使用者に報知する。この場合、次のステップには進めないようにしておくのが好ましい。
【０１２９】
使用者側の要求を満たすことができる推奨離間距離の場合には、撮像部５のＡＦ機構５ｃを作動させて推奨離間距離に対応した所に合焦させる。そして、図２８に示す最適位置提示インターフェース５５をコンピュータ１００の表示部４２に表示させる。この最適位置提示インターフェース５５には、推奨離間距離を表示する推奨離間距離表示領域５５ａと、現在の光学的情報読取装置１とコードとの離間距離（現在距離）を表示する現在距離表示領域５５ｂとが組み込まれている。現在距離は、セルサイズと、撮像画像上の見かけの大きさ（ＰＰＣ）とに基づいて推定した距離である。使用者は現在距離表示領域５５ｂに表示されている現在距離を参考にしてコードの位置を調整して光学的情報読取装置１とコードとの離間距離が推奨離間距離となるようにすることができる。
【０１３０】
最適位置提示インターフェース５５には、チューニング開始ボタン５５ｃが組み込まれている。光学的情報読取装置１とコードとの離間距離が推奨離間距離になった後に、チューニング開始ボタン５５ｃをクリックすると、ここまでで入力された各種条件を考慮した最適な設定条件の探索を開始する。
［チューニング工程に組み込む場合］
図２９に示すフローチャートは、上述した処理をチューニング工程の中に組み込んだ場合の一例を示している。ステップＳＤ１では図１７に示すフローチャートのステップＳＢ２と同様にカメラパラメータを読み込む。ステップＳＤ２では図１７に示すフローチャートのステップＳＢ１と同様にフォーカス条件を読み込む。また、ステップＳＤ４では、図１４に示すフローチャートのステップＳＡ３と同様に搬送条件を入力する。
【０１３１】
ステップＳＤ５は図１７に示すフローチャートのステップＳＢ５〜７と同様である。ステプＳＤ６は図１７に示すフローチャートのステップＳＢ４と同様である。ステップＳＤ９では使用者が入力した条件から求められる各条件を読み込む。
【０１３２】
ステップＳＤ３はチューニング工程の開始ステップであり、ステップＳＤ７では図１４に示すフローチャートのステップＳＡ４と同様にコードを探索し、ステップＳＤ８ではＰＰＣとコード座標を読み込む。
【０１３３】
ステップＳＤ１０では図１４に示すフローチャートのステップＳＡ５と同様に寸法情報を算出する。ステップＳＤ１１では各寸法情報を読み込む。ステップＳＤ１２では図１４に示すフローチャートのステップＳＡ１１と同様にパラメータ設定条件を算出する。ステップＳＤ１３では各パラメータ設定条件を読み込む。
【０１３４】
ステップＳＤ１４では最適な設定条件を算出する。このステップＳＤ１４では、従来から行われているチューニング工程と同様に、露光時間、ゲイン、明るさ、画像処理フィルタの適否、画像処理フィルタの強さ等をそれぞれ様々に変化させながら、撮像からデコード処理までを複数回試行する。ステップＳＤ１４は、チューニング部２９ｃで行われる。
【０１３５】
そして、試行により取得された複数の画像に含まれるコードのデコード結果を解析する。解析の方法としては特に限定されるものではないが、たとえば、各画像に含まれているコードのデコード処理のし易さについて判定する方法がある。デコード処理のし易さについては、たとえば、平均読み取り成功率が高い場合や、読み取りの誤りが少ない場合は、デコード処理がし易い場合とすることができ、反対に、読み取り成功率が低い場合や、読み取りの誤りが多い場合には、デコード処理がし難い場合とすることができる。上述した平均読み取り成功率を、コードのデコード処理のし易さを示す指標として用いることができる。マッチングレベルを、コードのデコード処理のし易さを示す指標として用いることができる。マッチングレベルは、たとえば０〜１００の値で示すことができ、数値が大きくなるほどマッチングレベルが高くなる。
【０１３６】
また、コードのデコード処理のし易さを示す指標としては、たとえばコードの読み取りに要する時間に基づいて算出することもできる。コードの読み取りに要する時間が長いということはコードのデコード処理がしにくい場合であり、一方、コードの読み取りに要する時間が短くて済むということはコードのデコード処理がし易い場合である。この場合のスコアは、コードの読み取りに要する時間をそのまま指標として用いてもよいし、最も時間がかかった場合を「０」とし、最も短かった場合を「１００」として０〜１００の値を指標として用いてもよい。
【０１３７】
マッチングレベル、読み取り成功率、コードの読み取りに要する時間を総合的に考慮し、最もデコード処理し易い露光時間、ゲイン、明るさを決定する。また、同様に、最もデコード処理し易い画像処理フィルタの種類とその画像処理フィルタの強さも決定する。
【０１３８】
つまり、チューニング部２９ｃは、まず、ワークＷに付されたコードを読み取るための制約条件として撮像部５の露光時間の上限値をステップＳＤ１２で求める。その後、ステップＳＤ１４では、撮像部５に露光時間を変化させて複数回撮像させて取得されたコードを含む複数の画像を解析する。その解析結果に基づいて、ステップＳＤ４で設定されている制約条件の範囲内で撮像部５の露光時間を設定する。チューニング部２９ｃは、ステップＳＤ１５において露光時間やゲイン等を読み込む。
【０１３９】
その後、ステップＳＤ１６では推奨条件を算出する。推奨条件には、推奨離間距離及び推奨撮像範囲が含まれている。推奨撮像範囲は、コードを良好に読み取ることができる視野範囲のことである。推奨条件の算出結果をステップＳＤ１７において読み込む。ステップＳＤ１８ではチューニング結果を出力する。チューニング結果を構成する各パラメータは、図１３に示すパラメータセット表示フォーマット４６の中のバンクにパラメータセットとして表示されるとともに記憶装置３５に記憶される。このとき、パラメータセットをどのバンクに記憶させるのかを選択することもでき、たとえば、図２８に示すインターフェースに組み込まれているバンク選択用プルダウンメニュー５５ｄを使用して使用者が選択できる。
【０１４０】
また、現在の光学的情報読取装置１とコードとの離間距離を変更することなく、コードの読み取り可能な範囲（視野範囲）を限定する、或いは撮像部５による撮像をバーストモードと呼ばれるタイミング制御に変更することで読み取り速度を改善することができる場合もある。バーストモードは、複数の画像を極めて短い間隔で撮像した後にデコード処理を実行する制御であり、ワークＷが高速で移動する場合に対応することが可能なモードである。
【０１４１】
コードの読み取り可能な範囲の変更やタイミング制御の変更は影響を及ぼす範囲が広いため、チューニングで自動的に最適化する対象項目とはせずに、設定変更が効果的か否かを検証し、効果ありと判断される場合には、推奨読み取り可能範囲や推奨タイミング方式として出力することもできる。
【０１４２】
効果があるか否かの検証としては、実際に設定を仮変更した状態で読み取り時間（デコード処理に要する時間）を測定する方法であってもよいし、変更の効果を、読み取り時間が視野範囲の大きさに比例する等の仮定を置いて推定する方法であってもよい。読み取り可能な範囲を限定する場合、搬送条件で入力された搬送方向（視野に対して縦方向、横方向）を読み込んで、搬送方向については限定せずに、搬送方向と直交する方向に限定するのが好ましい。たとえば図３１の上側に示すように搬送方向が横方向である場合には縦方向を狭め、一方、下側に示すように搬送方向が縦方向である場合には横方向を狭めるようにすればよい。
【０１４３】
また、読み取り可能な範囲を更に狭めることもできる。たとえばコードがバーコードであり、かつ、コードが回転しないことが搬送条件から分かっている場合には、読み取り可能な範囲を縦方向に１ピクセルとして極端に小さな値とし、一次元波形としてコードを読み取ることも可能である。これによってレーザータイプの光学的情報読取装置に近い読み取り速度を実現することが可能になる。
【０１４４】
また、各推奨値の検証を行った後、パラメータセットの反映を行うとともに、推奨値の提示を行うこともできる。場合によっては、パラメータセットの反映後に、再度チューニングを行うようなインターフェースを提供することもできる。また、反映されたパラメータセットで運用可能な否かを試すためのテスト機能を設けておき、テスト工程へ誘導してもよい。ここでのテストは、従来から知られている読み取り率やタクトのテストだけではなく、入力された搬送条件に実際に対応できるか否かを確認することができる内容としてもよい。
【０１４５】
たとえば、搬送条件として入力された搬送速度に対応しているか否かを簡易的に確認するために、以下の手順によって対応可能速度を計算して使用者に提示することができる。
１．チューニングで決定されたパラメータセットを反映させてコードの連続読み取りを行う。
２．読み取りを開始したら、使用者はコードが付された紙等を手で持って撮像部５の前で任意に動かす。
３．連続して２回読み取りに成功したら、１回目の撮像時刻ｔ１とコードの中心座標ｃ１とを得るとともに、２回目の撮像時刻ｔ２とコードの中心座標ｃ２とを得る。
４．３で得たｔ１、ｔ２、ｃ１、ｃ２と、分解能ｒを用いて式（９）から、読み取り成功時におけるコードの搬送速度ｖを算出することができる。
【０１４６】
ｖ＝ｒ（ｃ２−ｃ１）／（ｔ２−ｔ１）・・・・・・・・・（９）
コードの搬送速度ｖの算出要領を図３２に模式的に示す。
５．４を繰り返し行い、読み取ることができた最大の速度を対応可能速度とする。尚、連続撮像回数は２回でなくてもよい。
【０１４７】
このような手順を経ることで、設定の変更のたびに実際のラインで検証を行わなくても済み、最適設定の抽出から検証までを机上で完結させることができ、運用準備に要する手間を大幅に減らすことができる。
【０１４８】
また、図３３に示すように、チューニング用インターフェース４７に、検証時における読み取り成功回数を表示する成功回数表示領域４７ｅと、コードの搬送速度を表示する移動速度表示領域４７ｆとを組み込むこともできる。これにより、使用者はチューニング用インターフェース４７を見るだけで検証時における読み取り成功回数及びコードの移動速度を把握することができる。各表示形態は一例であり、これに限られるものではない。
［ナビゲート機能］
図３０に示すフローチャートは、上述した処理の結果を使用者に提示してコードの読み取り精度をより高める方向に案内するナビゲート機能について示すものである。
【０１４９】
ステップＳＥ１では、コード情報（コード種別等）を得る。コード情報は使用者が入力する場合と、モニタ機能によって自動的に取得する場合とがある。自動取得する場合には、図１４に示すフローチャートのステップＳＡ４と同様な処理を行えばよい。
【０１５０】
ステップＳＥ２では図１４に示すフローチャートのステップＳＡ３と同様に使用者が搬送条件を入力する。ステップＳＥ３では図２９に示すフローチャートのステップＳＤ１、ＳＤ２と同様にカメラパラメータを読み込む。ステップＳＥ４ではコード種別、ＰＰＣ及びコード座標を読み込む。ステップＳＥ５では図２９に示すフローチャートのステップＳＤ９と同様に要求条件を読み込む。
【０１５１】
ステップＳＥ６では図２９に示すフローチャートのステップＳＤ１０と同様に寸法情報を算出する。ステップＳＥ７では図２９に示すフローチャートのステップＳＤ１１と同様に各寸法情報を読み込む。ステップＳＥ８では図２９に示すフローチャートのステップＳＤ１６と同様に推奨条件を算出する。ステップＳＥ９では推奨条件の算出結果を読み込む。ステップＳＥ１０では撮像部５のＡＦ機構５ｃを作動させて推奨離間距離に対応した所に合焦させる。
【０１５２】
一方、ステップＳＥ１１ではステップＳＥ１と同様にコード情報を自動取得する。ステップＳＥ１２ではＰＰＣを読み込む。ステップＳＥ１３では、セルサイズと、撮像画像上の見かけの大きさ（ＰＰＣ）とに基づいて、現在の光学的情報読取装置１とコードとの離間距離（現在距離）を推定する。ステップＳＥ１４ではステップＳＥ１３で推定した推定距離を読み込む。ステップＳＥ１５では、たとえば図２８に示す最適位置提示インターフェース５５をコンピュータ１００の表示部４２に表示させ、推奨離間距離表示領域５５ａに推奨離間距離を表示させるとともに、現在距離表示領域５５ｂに現在距離を表示させて、現在距離が推奨離間距離となるようにナビゲートする。
【０１５３】
その後、ステップＳＥ１６に進み、図２９に示すフローチャートのステップＳＤ１４と同様に最適条件を設定する。ステップＳＥ１７では推奨離間距離を表示させる。
【０１５４】
［運用時に実行される工程］
以上のようにして光学的情報読取装置１のチューニングが完了して光学的情報読取装置１の運用準備が終わると、光学的情報読取装置１を運用することができる。光学的情報読取装置１の運用時には読取制御が実行される。読取制御では、まず、記憶装置３５から撮像条件を構成するパラメータセットを読み出す。この撮像条件は上記チューニング工程で決定された条件等である。
【０１５５】
そして、パラメータセットを有効にした状態、即ち、チューニング部２９ｃにより設定された露光時間及びゲインを用いて撮像部５により新たに取得された画像に含まれるコードをデコードする。その後、デコード結果を出力する。出力されたデコード結果はデコード記憶部３５ａに記憶されるとともに、コンピュータ１００に出力されて利用される。
【０１５６】
［偏光フィルタアタッチメントの有無検知方法］
偏光フィルタアタッチメント３のような着脱可能な部材が本体に取り付けられているか否かを自動で検知する方法として、一般的には、たとえば機械的なスイッチや電気的接点を使用する方法が知られているが、これらの場合は構造が複雑になるというデメリットがある。
【０１５７】
この実施形態では機械的なスイッチや電気的接点を使用することなく、偏光フィルタアタッチメント３の有無を自動で検知することができるように構成されている。具体的には、光が偏光フィルタを透過することで照射する光量が半減し、また、光を受光する際も偏光フィルタを透過することで光量が半減する性質を利用し、次のようにソフトウエアによって偏光フィルタアタッチメント３の有無を自動で検知する。
【０１５８】
すなわち、まず、第１発光ダイオード１６を点灯させて第２発光ダイオード１７を消灯させた状態で撮像部５に撮像させる。その後、第１発光ダイオード１６を消灯させて第２発光ダイオード１７を点灯させた状態で撮像部５に撮像させる。この順番はどちらが先でもよい。その後、２つの画像の明るさを比較して略同等であれば偏光フィルタアタッチメント３が装着されていないと判断する。一方、一方の画像の明るさが他方の画像の明るさの倍程度（または半分程度）であれば、偏光フィルタアタッチメント３が装着されていると判断する。
【０１５９】
つまり、偏光フィルタアタッチメント３の偏光フィルタを透過するように配置されている発光体を発光させ、かつ、偏光フィルタを透過しないように配置されている発光体を光らせない状態にして撮像した画像と、偏光フィルタアタッチメント３の偏光フィルタを透過するように配置されている発光体を光らせず、かつ、偏光フィルタを透過しないように配置されている発光体を発光させて撮像した画像との明るさを比較する比較部を設けておく。そして、この比較部による２つの画像の比較結果に基づいて偏光フィルタアタッチメント３の有無を自動で検知することができる。
【０１６０】
［実施形態の作用効果］
以上説明したように、この実施形態に係る光学的情報読取装置１によれば、ワークＷの搬送速度と、コードを構成しているセルのサイズとに基づいて、露光時間の上限値を求めることができる（ステップＳＡ１２）。そして、チューニング工程では、露光時間を変化させて複数回撮像して得られた複数の画像を解析することにより、露光時間の上限値以下の露光時間を設定することができる（ステップＳＤ１４）。従って、ワークＷの搬送速度だけでなく、セルのサイズを反映した適切な露光時間を設定することができ、この露光時間を用いて撮像部５により新たに取得された画像に含まれるコードをデコードすることができ、読み取り精度を高めることができる。
【０１６１】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【０１６２】
以上説明したように、本発明に係る光学的情報読取装置は、たとえば、バーコードや二次元コード等のコードを読み取る場合に使用することができる。
【符号の説明】
【０１６３】
１                光学的情報読取装置
５                撮像部
５ａ              撮像素子
６                表示部
１１              セレクトボタン（入力部）
１２              エンターボタン（入力部）
２９              制御ユニット
２９ｃ            チューニング部（撮像条件設定部）
２９ｅ            推奨離間距離決定部
３０              セルサイズ設定部
３１              デコード部
３５ｄ            特性情報記憶部
３５ｅ            対応関係記憶部
４２              表示部
４３              入力部
【図１】
2018136860.tif 000003
【図２】
2018136860.tif 000004
【図３】
2018136860.tif 000005
【図４】
2018136860.tif 000006
【図５】
2018136860.tif 000007
【図６】
2018136860.tif 000008
【図７】
2018136860.tif 000009
【図８】
2018136860.tif 000010
【図９】
2018136860.tif 000011
【図１０】
2018136860.tif 000012
【図１１】
2018136860.tif 000013
【図１２】
2018136860.tif 000014
【図１３】
2018136860.tif 000015
【図１４】
2018136860.tif 000016
【図１５】
2018136860.tif 000017
【図１６】
2018136860.tif 000018
【図１７】
2018136860.tif 000019
【図１８】
2018136860.tif 000020
【図１９】
2018136860.tif 000021
【図２０】
2018136860.tif 000022
【図２１】
2018136860.tif 000023
【図２２】
2018136860.tif 000024
【図２３】
2018136860.tif 000025
【図２４】
2018136860.tif 000026
【図２５】
2018136860.tif 000027
【図２６】
2018136860.tif 000028
【図２７】
2018136860.tif 000029
【図２８】
2018136860.tif 000030
【図２９】
2018136860.tif 000031
【図３０】
2018136860.tif 000032
【図３１】
2018136860.tif 000033
【図３２】
2018136860.tif 000034
【図３３】
2018136860.tif 000035