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