(57)【要約】【課題】ワークの表面性状に拘わらず、それに付される光学コードの読み取りに最適な撮影条件を的確に取得することが可能な光学コード読取装置における撮影条件決定方法を提供すること。【解決手段】所定のシャッタスピードにてカメラ撮影を行って画像を取得するステップと、取得された画像内の画素レベルの所定特徴を検出するステップと、検出された画素レベルの所定特徴に基づいて次回のカメラ撮影におけるシャッタスピードを決定するステップとからなる一連の処理を１サイクルとして、これを複数サイクル連続的に繰り返すことにより最適シャッタスピードを決定する。【選択図】  図５
2004194172.tif 000002
【特許請求の範囲】
【請求項１】
イメージセンサ内蔵カメラと、被写体を照らす照明器と、カメラによる撮影により得られる画像を記憶する画像メモリと、画像メモリから読み出された画像に対して画像処理を施すことにより得られた画像に含まれる光学コードを所定の規則に従ってデコードするデコード手段と、を有する光学コード読取装置における撮影条件決定方法であって、
所定のシャッタスピードにてカメラ撮影を行って画像を取得するステップと、取得された画像内の画素レベルの所定特徴を検出するステップと、検出された画素レベルの所定特徴に基づいて次回のカメラ撮影におけるシャッタスピードを決定するステップとからなる一連の処理を１サイクルとして、これを複数サイクル連続的に繰り返すことにより最適シャッタスピードを決定する、ことを特徴とする光学コード読取装置における撮影条件決定方法。
【請求項２】
画素レベルの所定特徴が、画素レベルの最大値である、ことを特徴とする請求項１に記載の光学コード読取装置における撮影条件決定方法。
【請求項３】
画素レベルの所定特徴が、画像のコード領域内における白レベルと黒レベルのそれぞれの絶対値、及び、白レベルと黒レベルとの差である、ことを特徴とする請求項１に記載の光学コード読取装置における撮影条件決定方法。
【請求項４】
カメラ撮影におけるシャッタスピードの採りうる値が予め等比級数的に段階設定されている、ことを特徴とする請求項１〜３に記載の光学コード読取装置における撮影条件決定方法。
【請求項５】
光学コード読取装置には、複数の照明方向を択一的に選択可能な照明器が含まれており、
照明器の照明方向を切り替えつつ複数回の撮影を行って複数枚の画像を取得するステップと、取得された複数枚の画像のそれぞれの画素レベルの所定特徴、又は取得された複数枚の画像同士を適宜加算してなる画像の画素レベルの所定特徴を検出するステップと、検出された画素レベルの所定特徴に基づいて最適照明方向又は照明方向組合せを決定するステップと、を有することを特徴とする請求項１に記載の光学コード読取装置における撮影条件決定方法。
【請求項６】
画素レベルの所定特徴が、画素レベルの最大値である、ことを特徴とする請求項５に記載の光学コード読取装置における撮影条件決定方法。
【請求項７】
画素レベルの所定特徴が、画像のコード領域内における白レベルと黒レベルのそれぞれの絶対値、及び、白レベルと黒レベルとの差である、ことを特徴とする請求項６に記載の光学コード読取装置における撮影条件決定方法。
【請求項８】
当該光学コード読取装置の初期設定時に実行される、ことを特徴とする請求項１〜７のいずれかに記載の光学コード読取装置における撮影条件決定方法。
【請求項９】
当該光学コード読取装置のリトライ時に実行される、ことを特徴とする請求項１〜７のいずれかに記載の光学コードの読取装置における撮影条件決定方法。
【請求項１０】
決定された最適シャッタスピードの他に、それと規定の関係をなす高速シャッタスピードと低速シャッタスピードとを予備画像取得のために自動的に決定する、ことを特徴とする請求項９に記載の光学コードの読取装置における撮影条件決定方法。
【請求項１１】
画像同士の加算により得られた画像の画素レベルが画素レベルのダイナミックレンジを越える場合には、設定したシャッタスピードの等比級数の比により割り算を行い、シャッタスピードを決定し直す、ことを特徴とする請求項５に記載の光学コード読取装置における撮影条件決定方法。
【請求項１２】
決定し直されたシャッタスピードに応じて、照明器の光量を調整する、ことを特徴とする請求項１１に記載の光学コード読取装置における撮影条件決定方法。
【請求項１３】
使用者が対象物の位置合わせを行うために、当該光学コード読取装置の初期設定時に実行され、かつ取得された画素レベルの最大値がダイナミックレンジを越えるときには、次の画像取得時のシャッタスピードを一段階高速化する一方、取得された画像の画素レベル最大値が所定値以下のときには、次の画像取得時のシャッタスピードを一段階低速化する、ことを特徴とする請求項２に記載の光学コード読取装置における撮影条件決定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、バーコードや二次元コードと言った光学コードを対象とした光学コード読取装置における撮影条件決定方法に関する。
【０００２】
【従来の技術】
この種の光学コード読取装置（例えば、二次元コード読取装置等）は、イメージセンサ内蔵カメラと、被写体を照らす照明器と、カメラによる撮影により得られる画像を記憶する画像メモリと、画像メモリから読み出された画像に対して画像処理を施すことにより得られた画像に含まれる光学コードを所定の規則に従ってデコードするデコード手段と、を備えており、生産ラインにおけるワーク識別、管理等の用途に広く採用されている。光学コードが付される対象であるワークの材質としては、ガラス、プラスチック、木材と言った様々な反射率を有するものが存在するため、それらのワークに付される光学コードを確実に読み取るためには、適切な撮影条件を設定しなければならない。
【０００３】
従来、二次元コード読取装置において、撮影条件を設定するための技術としては、読取条件が良いゲインと読取条件が悪いゲインとの複数のゲインを用意しておいて、読取条件が良いゲインでｎ回読み取ってもデコードに成功しないときには、読取条件が悪いゲインでの読み取りに切り換えるようにしたものが知られている（特許文献１参照）。
【０００４】
【特許文献１】
特開平１０−１８７８７０号公報
【０００５】
【発明が解決しようとする課題】
ところで、撮影条件を規定する要素として、代表的なものとしては、シャッタスピードと照明態様が挙げられる。これらの要素は相互に影響を及ぼし合うことに加え、光学コードが付されるワークの表面性状（鏡面、粗面、明度、色彩、凹凸等）によっても、撮影条件に与える影響は異なる。そのため、それらを独立に手動で調整して最適な撮影条件を取得することは極めて困難である。
【０００６】
この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、ワークの表面性状に拘わらず、それに付される光学コードの読み取りに最適な撮影条件を的確に自動で取得することが可能な光学コード読取装置における撮影条件決定方法を提供することにある。
【０００７】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記載により当業者であれば容易に理解されるであろう。
【０００８】
【課題を解決するための手段】
この発明の光学コード読取装置における撮影条件決定方法は、イメージセンサ内蔵カメラと、被写体を照らす照明器と、カメラによる撮影により得られる画像を記憶する画像メモリと、画像メモリから読み出された画像に対して画像処理を施すことにより得られた画像に含まれる光学コードを所定の規則に従ってデコードするデコード手段と、を有する光学コード読取装置において、所定のシャッタスピードにてカメラ撮影を行って画像を取得するステップと、取得された画像内の画素レベルの所定特徴を検出するステップと、検出された画素レベルの所定特徴に基づいて次回のカメラ撮影におけるシャッタスピードを決定するステップとからなる一連の処理を１サイクルとして、これを複数サイクル連続的に繰り返すことにより最適シャッタスピードを決定する、ことを特徴とする。
【０００９】
このような構成によれば、所定のシャッタスピードにてカメラ撮影を行って取得された画像内の画素レベルの所定特徴に基づいて次回のカメラ撮影におけるシャッタスピードの決定が行われることから、これを複数サイクル連続的に繰り返すことにより、ワークの表面性状に拘わらず、それに付される光学コードの読取に最適な撮影条件を的確に取得することが可能となる。つまり、ワークの表面性状が異なれば、それぞれの表面性状に対応する画像が実際に取得されるから、こうして得られた画像に基づいて次回のカメラ撮影におけるシャッタスピードを決定する処理を繰り返せば、そのときのワークの表面性状に合致したシャッタスピードが自動的に決定されることとなる。
【００１０】
ここで、画素レベルの所定特徴としては、画素レベルの最大値を採用することができる。すなわち、取得された画像内の画素レベルの最大値を基準値（例えば当該画像のダイナミックレンジ等）と比較することによって、画質の良否を判定し、その判定結果に応じてシャッタスピードを高速化又は低速化することによって、次回のカメラ撮影におけるシャッタスピードが決定される。また、画素レベルの所定特徴としては、画像のコード領域内における白レベルと黒レベルのそれぞれの絶対値、及び、白レベルと黒レベルとの差を採用することもできる。
【００１１】
このような構成を採用すれば、実際の読取対象である画像のコード領域内における画質を判断の基準として、次回のカメラ撮影におけるシャッタスピードを決定するため、最適なシャッタスピードをより的確に取得することが可能となる。このとき、カメラ撮影におけるシャッタスピードの採りうる値を予め等比級数的に段階設定するようにしてもよい。このような構成を採用すれば、予め決められた量だけステップ的にシャッタスピードを変化させることができるため、デジタル制御が容易となる。
【００１２】
好ましい実施の形態においては、光学コード読取装置には、複数の照明方向を択一的に選択可能な照明器が含まれており、照明器の照明方向を切り替えつつ複数回の撮影を行って複数枚の画像を取得するステップと、取得された複数枚の画像のそれぞれの画素レベルの所定特徴、又は取得された複数枚の画像同士を適宜加算してなる画像の画素レベルの所定特徴を検出するステップと、検出された画素レベルの所定特徴に基づいて最適照明方向又は照明方向組合せを決定するステップと、を有するものであってもよい。
【００１３】
このような構成によれば、複数の照明方向の１つを択一的に選択しつつ、各々の選択状態において撮影により得られた複数枚の画像のそれぞれの画素レベルの所定特徴、又は取得された複数枚の画像同士を適宜加算してなる画像の画素レベルの所定特徴に基づいて最適照明方向又は照明方向組み合わせが決定されるため、ワークの表面性状あるいはワークの表面傾きなどに拘わらず、最適な照明方向を的確に取得することができる。ここで、複数の照明方向を択一的に選択可能な照明器としては、それぞれ照明方向の異なる複数の照明要素を有する照明器を採用することができる。ここで照明要素のそれぞれは、１個の光源又は複数の光源により構成することができる。
【００１４】
ここで、『取得された複数枚の画像同士を適宜加算してなる画像』の意味するところは、取得された画像の濃度に規則的なグラデーションが存在するような場合、それと逆方向のグラデーション、又はそれと相補的な関係にあるグラデーションを有する画像を探し出して、両者を加算することにより、グラデーションが相互に打ち消された画素レベルの均一な画像が得られる場合を考慮したものである。このように複数の画像を加算ないし組み合わせることで画素レベルの均一化が為し得る場合には、それの基礎とされた各画像の照明方向組み合わせが最適な照明態様となることを意味している。
【００１５】
ここで、画素レベルの所定特徴としては、先のシャッタスピードの場合と同様にして、画素レベルの最大値を採用することができる。また、画素レベルの所定特徴としては、先のシャッタスピードの場合と同様に、画像のコード領域内における白レベルと黒レベルのそれぞれの絶対値、及び、白レベルと黒レベルとの差を採用することもできる。
【００１６】
好ましい実施の形態においては、本発明方法は、当該光学コード読取装置の初期設定時に実行される、ようにしてもよい。このような構成を採用すれば、装置の稼働に先立ち、当該装置の稼働時における撮影条件を適切に設定することができる。
【００１７】
好ましい実施の形態においては、本発明方法は、当該光学コード読取装置のリトライ時に実行される、ようにしてもよい。このような構成によれば、装置の稼働中に、ワークの表面性状が変化したり、照明態様が変化したり、その他の外乱等によって、取得される画像の画質が低下したような場合には、リトライ操作を行うことによって、最適撮影条件に再設定することができる。
【００１８】
このとき、決定された最適シャッタスピードの他に、それと規定の関係をなす高速シャッタスピードと低速シャッタスピードとを予備画像取得のために自動的に決定する、ようにしてもよい。このような構成によれば、以後読取対象となる光学コードを３種類のシャッタスピードで撮影することによって、当初最適とされた撮影条件に狂いが生じた場合には、予備に取得された高速シャッタスピードと低速シャッタスピードとに対応する画像に切り替えて、再度リトライを行うことなく、確実な読取りを行うことができる。
【００１９】
尚、先の画像同士を加算して画素レベルを均一化する処理において、画像同士の加算により得られた画像の画素レベルが画素レベルのダイナミックレンジを越える場合には、設定したシャッタスピードの等比級数の比により割り算を行い、シャッタスピードを決定し直す、ようにしてもよい。さらに、このとき決定し直されたシャッタスピードに応じて、照明器の光量を適宜に調整する、ようにしてもよい。
【００２０】
本発明方法は、使用者がビデオモニタを見ながら対象物の位置合わせを行うために、当該光学コード読取装置の初期設定を行う際に実行することもできる。その際には、取得された画素レベルの最大値がダイナミックレンジを示すときには、次の画像取得時のシャッタスピードを一段階高速化する一方、取得された画像の画素レベル最大値が所定値以下のときには、次の画像取得時のシャッタスピードを一段階低速化すればよい。
【００２１】
【発明の実施の形態】
以下に、この発明の好適な実施の一形態を添付図面を参照しながら詳細に説明する。尚、以下の実施の形態は、本発明の一部を示すものに過ぎず、本発明の技術的範囲は明細書の特許請求の範囲の記載によってのみ規定されることは言うまでもないことである。
【００２２】
本発明装置のシステム構成を示す外観図が図１に示されている。同図において、１はコントローラ、２はＣＣＤ等のイメージセンサが内蔵されたカメラ、３はカメラ２の先端部に取り付けられた照明器、４はワーク、５はワーク上に付された２次元コード、６はワーク４がカメラ２の視野へ到達したことを検出してトリガ入力を発生するトリガセンサ、７はヒューマンマシンインタフェースを構成するハンディコンソール、８はヒューマンマシンインタフェースを構成するビデオモニタ、９ａは本発明装置を含む生産ラインを制御するプログラマブルコントローラ、９ｂはプログラマブルコントローラ９ａに対して各種の指示を与えるパソコンである。
【００２３】
コントローラ１に対して、プログラマブルコントローラ９ａ並びにパソコン９ｂは上位システム９として機能する。カメラ２はワーク４が搬送されるライン上に固定されており、この例では、ワーク４を真上から撮影する。照明器３内には、後に図８を参照して説明するように、複数の照明要素が設けられている。これらの照明要素はそれぞれ固有の照明方向を有する。又、各照明要素は１個又は複数の光源により構成されている。
【００２４】
コントローラの内部構成を中心として示すブロック図が図２に示されている。尚、同図において図１の構成要素と同一構成部分については同符号を付して説明は省略する。
【００２５】
コントローラ１内には、ＣＰＵ１０１と、メモリ１０２と、画像メモリ１０３と、画像入出力制御部１０４と、コンソールインタフェース１０５と、カメラインタフェース１０６と、モニタインタフェース１０７と、照明インタフェース１０８と、トリガセンサインタフェース１０９と、画像処理部１１０と、ＣＰＵバス１１１と、内部バス１１２と、通信インタフェース１１３とが含まれている。
【００２６】
ＣＰＵ１０１はマイクロプロセッサを主体として構成されており、メモリ１０２に格納されたシステムプログラムを実行することによって、コントローラ１の全体を統括制御する。すなわち、コンソール７の操作で生成されたデータは、コンソールインタフェース１０５、画像入出力制御部１０４、ＣＰＵバス１１１を経由してＣＰＵ１０１に取り込まれる。同様にして、トリガセンサ６からの信号は、トリガセンサインタフェース１０９、画像入出力制御部１０４、ＣＰＵバス１１１を経由してＣＰＵ１０１に取り込まれる。ビデオモニタ８に対するデータは、ＣＰＵ１０１、ＣＰＵバス１１１、画像入出力制御部１０４、モニタインタフェース１０７を経由してビデオモニタ８に出力される。カメラ２の撮影動作により生成された画像データは、カメラインタフェース１０６、画像入出力制御部１０４、内部バス１１２、画像処理部１１０を経由して画像メモリ１０３に格納される。照明器３の内部に含まれた各照明要素に対する点灯／消灯信号は、ＣＰＵ１０１、ＣＰＵバス１１１、画像入出力制御部１０４、照明インタフェース１０８、カメラ２を経由して照明器３へと出力される。これにより、照明器３を構成する複数の照明要素のうち選択された１つ又は複数が点灯されて、所望の照明態様が実現される。画像処理部１１０は、ＣＰＵ１０１からの指令を受けて、画像メモリ１０３から指定された画像を読み出し、これを画像処理して２次元コードを抽出し、この２次元コードを所定の規則に従ってデコードする。
【００２７】
上位システム９とＣＰＵ１０１とは、通信インタフェース１１３を介してデータのやり取りを行う。これにより、上位システム９からのコマンドが、コントローラ１へと送られ、これをＣＰＵ１０１が解読することによって、上位システム９からの各種の指令がコントローラ１側において実行される。
【００２８】
コントローラから照明器へ至る信号経路の説明図が図３に示されている。同図（ａ）に示されるように、コントローラ１とカメラ２とはケーブルＣ１で結ばれ、またカメラ２と照明器３とはケーブルＣ２で結ばれている。同図（ｂ）に示されるように、カメラ２内にはシリアル／パラレル変換器２０１が内蔵されている。シリアル／パラレル変換器２０１は、信号線２０２を介してクロック信号を受け付け、また信号線２０３を介して制御信号を受け付ける。一方、シリアル／パラレル変換器２０１は、信号線２０４−１〜２０４−ｎを介して、照明器を構成する各照明要素（照明群）へとオンオフ信号を送り出す。このようにコントローラ１からシリアルに送られてくる制御信号を、シリアル／パラレル変換器２０１がパラレル信号に変換することで、照明器３を構成する各照明要素が選択的に点灯／消灯される。
【００２９】
以上述べた本発明装置の機能構成を概略的に示すブロック図が図４に示されている。同図から明らかなように、トリガ入力３ａが到来すると、撮像制御機能Ｆ１と照明制御機能Ｆ２とが作動する。すると、照明制御機能Ｆ２の作動により、それぞれ固有の照明方向を有するｎ個の照明要素３０１−１〜３０１−ｎの１つ又は複数が選択的に駆動され、対象物４に対して１方向から又は複数方向から照明が行われる。対象物４からの反射光は、レンズ２０５を経由して撮像素子２０６へと結像される。すると、撮像制御機能Ｆ１の作動により、撮像素子２０６からアナログ画像が出力される。このアナログ画像は、Ａ／Ｄ変換機能Ｆ３によりデジタル画像に変換されて、画像保存機能Ｆ４の作動によりメモリに保存される。こうしてメモリに保存された画像は画像処理機能Ｆ５の作動により適宜画像処理が施された後、デコード処理機能Ｆ６によって一定の規則に従ってデコードが試みられ、こうして得られたデコード結果はＩ／Ｏ処理機能Ｆ７並びにデータ出力機能Ｆ８を経由して上位システム９へと送られる。以上が、この実施形態における２次元コード読取装置の基本的な動作である。
【００３０】
次に、ティーチング前のシャッタスピード仮設定処理を示すフローチャートが図５に示されている。このフローチャートに従って、設定前のシャッタスピードの最適化について説明する。光学コード（文字も含む）を読み取る装置では、通常の処理時の高速化／安定化を図るため、対象となる光学コードに合わせて、各種条件を最適化することを前提としている。その際、まず必要なのは、光学コードが付された対象物（ワーク）を撮像して、画像モニタに表示して、対象物が視野内に存在するか、フォーカスは合っているか、明るさは問題ないか、撮像状態にムラなどがないかなどをチェックすることである。その時、シャッタスピードが固定ならば、暗すぎたり明るすぎたりすると、いちいち変更しなければならない。そこで、この実施形態にあっては、装置が条件設定のモードへ移行したならば、連続的に画像取得を行い、画像取得と次の画像取得との間に、画像内の各画素のレベル（Ａ／Ｄ変換後の値など）をチェックして、その最大値がダイナミックレンジの最大値を示していればシャッタスピードを１段速くし、逆にその最大値がダイナミックレンジの半分以下であればシャッタスピードを１段遅くするように、常にシャッタスピードを変化させる。
【００３１】
この実施形態にあっては、シャッタスピードは、１／１２５ｓｅｃ、１／２５０ｓｅｃ、１／５００ｓｅｃ、１／１０００ｓｅｃ、…と、二倍ずつ変化するように設定されており、条件設定のモードに移行した直後のシャッタスピードは最も遅くしておき、画素レベルの最大値が撮像のダイナミックレンジを越えないレベルになるまでシャッタスピードを変化させる。シャッタスピードと撮像される画素レベルは光量が一定であれば比例するので、上記のような条件でシャッタスピードを変化させる。シャッタスピードを１／１００ｓｅｃ、１／１５０ｓｅｃ、１／２２５ｓｅｃ、…と１．５倍ずつ変化させるようにすると、最大値の下限をダイナミックレンジの１／１．５≒６７％とすことができる。このように、シャッタスピードの設定間隔に応じて最大値の下限レベルが決定される。
【００３２】
画素レベルの最大値の取得は、画像の全画素にわたって行ってもよいが、ユーザがリアルタイム画像を見ているような感覚を持つには、この処理に割ける時間は１０ｍｓｅｃ程度しかないので、全画素ではなく、画素をスキップして最大値を取得してもよい。この状態で連続的に撮像すれば、ほぼリアルタイム画像として得ることが可能であり、ユーザが違和感を持つことはない。
【００３３】
すなわち、図５のフローチャートにおいて、処理が開始されると、まずモード変更入力を待機する状態となる（ステップ５０１）。この状態においてユーザによるモード変更入力が到来すると、設定モードへの移行が行われる（ステップ５０２）。
【００３４】
設定モードに移行されると、シャッタスピードは最も遅い状態に設定され（ステップ５０３）、その状態で撮像（画像取り込み）が行われ（ステップ５０４）、続いて当該取り込まれた画像内における最大画素レベルの検出が行われる（ステップ５０５）。
【００３５】
ここで、画素レベルがダイナミックレンジの上限である『２５５』と判定されれば（ステップ５０６ＹＥＳ）、そのとき画像は飽和しているため、シャッタスピードは１段階高速化された後（ステップ５０８）、再度画像の取り込み並びに最大画素レベルの検出が行われる（ステップ５０５）。以後、最大画素レベルが『２５５』よりも小さな値となるまで、シャッタスピードの高速化が繰り返される（ステップ５０８）。
【００３６】
これに対して、最大画素レベルが『２５５』よりも小さな値となると（ステップ５０６ＮＯ）、最大画素レベルが飽和画素レベル『２５５』の半分の値『１２７』よりも大きいことを条件として（ステップ５０７ＮＯ）、シャッタスピードの変化は停止され（ステップ５１０）、以後シャッタスピードはその状態に維持される。この状態において、ユーザよりトリガ入力が到来すると（ステップ５１１ＹＥＳ）、シャッタスピードの仮設定処理を終了してティーチングが開始される。
【００３７】
一方、画像の取り込み（ステップ５０４）並びに最大画素レベルの検出（ステップ５０５）に続いて、最大画素レベルが飽和画素レベルの半分の値『１２７』以下であると判定されると（ステップ５０７ＹＥＳ）、シャッタスピードは１段階低速化され（ステップ５０９）、以後最大画素レベルが『１２７』以上となるまで、シャッタスピードの低速化処理が繰り返される（ステップ５０９）。
【００３８】
この状態において、最大画素レベルが飽和画素レベルの半分の値『１２７』を越えると（ステップ５０７ＮＯ）、先ほどと同様にしてシャッタスピードは以後その状態に維持され（ステップ５１０）、ユーザによるトリガ入力の到来を待って（ステップ５１１ＹＥＳ）、ティーチングが開始される。
【００３９】
このように、このティーチング前のシャッタスピード仮設定処理によれば、取得される画像の最大画素レベルの値は、飽和レベル『２５５』と２分の１レベル『１２７』との間に収まるように制御される。そのため、後述するティーチング開始に際し、極端に飽和した画像や、極端に暗い画像が取得される虞を回避することができる。尚、上記の処理において、画素レベルが『２５５』となる画素がある一定以上存在するという条件をシャッタスピードを１段階速くする条件としても良い。
【００４０】
次に、照明に関する最適化処理（Ｉ）を示すフローチャート（その１）が図６に、また照明に関する最適化処理（Ｉ）を示すフローチャート（その２）が図７に示されている。以下、これらのフローチャートを参照して、照明の最適化について説明する。
【００４１】
金属粗面、金属鏡面、その他様々な表面に２次元コードはマーキングされるので、図８に示されるように、予め複数の照明要素を用意しておき、それぞれの照明の方向、波長を様々に選択できるようにしておくと、対応範囲が広がる。
【００４２】
すなわち、図８（ａ）は方向の選択可能な配置例であって、それぞれ照明方向の異なる５個の照明要素Ｌ１１〜Ｌ１５を有する。各照明要素Ｌ１１〜Ｌ１５は、１個の光源又は複数の光源を含んでおり、これら５つの照明要素Ｌ１１〜Ｌ１５の色は同一である。従って、それら照明要素Ｌ１１〜Ｌ１５のいずれか１つ又は選択された複数を点灯することによって、対象物である２次元コードに対して様々な方向から光を当てることができる。
【００４３】
図８（ｂ）は波長選択可能例（その１）を示すもので、この例にあっては、照明方向の異なる３個の照明要素Ｌ２１〜Ｌ２３を備えている。照明要素Ｌ２１は青色、Ｌ２２は赤色、Ｌ２３は緑色の光を照射するようになっている。そのため、対象物に対して３種類の方向から異なる色の光を照らすことができる。
【００４４】
図８（ｃ）は波長選択可能例（その２）を示すものであり、この例にあっては、３個の照明要素Ｌ３１〜Ｌ３３をダイクロイックミラーＭ１，Ｍ２を介して同軸化することで、同一の方向から３種類の色の光を選択的に照らすことを可能としている。図８（ｃ）の構成を図８（ａ）の構成と組み合わせれば、５つの方向から様々な色の光を対象物に対して照射することができる。
【００４５】
ところで、どの照明要素を点灯するかの選択をユーザの判断に委ねるとすれば、容易なことではない。又、用意されている照明要素が多数存在し、さらに複数の照明要素を用いなければならない場合、いくつもの組み合わせを試さなければならず、ユーザがその作業を行うにしても、読取装置自身がその組み合わせを１つずつ検証するにしても、膨大な時間と内部メモリが必要となる。
【００４６】
そこで、この実施形態にあっては、以下のような手順で画像を取得し、最適な照明要素を選択する。すなわち、全ての照明要素のうち、どれか任意の１つの照明要素を選択して、画像を取得し、画像メモリ１０３に保存し、次に別の任意の１つの照明要素を選択して、画像を取得し、画像メモリ１０３に保存し、この処理を全ての照明要素１つ１つについて実行する。画像を取得する際には、照明要素を選択してから、先に図５を参照して説明した手順にてシャッタスピードを仮決定して画像を取得し、そのシャッタスピードを記憶しておく。
【００４７】
最適な１つの照明要素だけを選択する場合、それぞれの画像についてデコード処理を行い、デコードが可能であった画像のうちで、最も対象物の白黒の差が大きな画像を得た照明要素及びシャッタスピードを選択する。ここで、白黒の差とは、例えば図９に示されるように、画像内の２次元コード領域において黒い部分Ｂのレベルと白い部分Ｗのレベルとの画素値レベルの差を意味し、それぞれの部分にムラがある場合には、その平均値の差、あるいは、白い部分Ｗの最小値と黒い部分Ｂの最小値との差を用いる。尚、図９（ａ）の例は、白い領域Ｗの画素値が画像の地の色とほぼ同一であり、黒い部分Ｂの画素値が地の色と顕著に暗くなっている。又、図９（ｂ）の例にあっては、黒い部分Ｂの画素値が地の色とほぼ同一であり、白い部分Ｗの画素値が地の色よりも顕著に明るくなっている。以上の流れが、図６及び図７のフローチャートに示されている。
【００４８】
すなわち、図６において処理が開始されると、モード変更入力待機状態となる（ステップ６０１）。この状態において、ユーザによりモード変更入力が到来すると、設定モードへの移行が行われる（ステップ６０２）。
【００４９】
設定モードが開始されると、照明要素（ｎ＝１）だけが点灯され（ステップ６０３）、おこの状態において、先に図５を参照して説明した手順によって、シャッタスピードの仮設定が行われる（ステップ６０４）。その後、ユーザによるトリガ入力の到来を待って、ティーチングが開始される（ステップ６０５）。
【００５０】
ティーチングが開始されると、照明要素を示すポインタｎの値を１〜Ｎまで１つずつ増加させながら、シャッタスピードの仮設定（ステップ６０７）及び撮像と画像格納（ステップ６０８）が繰り返し実行される。
【００５１】
すなわち、例えば図８（ａ）の例であれば、照明要素Ｌ１１だけを点灯して、その状態でシャッタスピードの仮設定（ステップ６０７）及び撮像と画像の格納を行い（ステップ６０８）、続いて照明要素Ｌ１２だけを点灯して、同様にシャッタスピード仮設定（ステップ６０７）及び撮像と画像格納（ステップ６０８）を行い、以後同様にして、照明要素Ｌ１５まで以上の動作が繰り返される。
【００５２】
こうして、ポインタｎの値がＮに達すると（ステップ６０９ＹＥＳ）、撮像と画像格納（ステップ６０８）は終了して、図７のフローチャートへ進み、今度は、格納された画像の読み出し（ステップ７０１）、デコード処理の実行（ステップ７０２）、コントラストの算出（ステップ７０３）、処理結果の記憶（ステップ７０４）が全ての取得した画像について繰り返し実行される（ステップ７０６）。
【００５３】
こうしてポインタｎの値がＮまで達し（ステップ７０５）、メモリに格納された全ての画像に関して、デコード処理実行（ステップ７０２）、コントラスト算出（ステップ７０３）、処理結果記憶（ステップ７０４）が終了すると、以後ステップ７０７に進んで、デコードＯＫ及びコントラスト最大画像の照明及びシャッタスピードの選択処理が行われる。
【００５４】
すなわち、処理結果記憶（ステップ７０４）においては、読み出された画像のそれぞれに関して、デコードの可否並びにコントラスト（白レベルと黒レベルの差）が記憶されているため、それらの記憶結果を参照することで、ステップ７０７においては、デコードが可能でありかつコントラストが最大である画像に対応した照明方向及びシャッタスピードがそれぞれ最適なものとして選択されるわけである。このようにして照明及びシャッタスピードの選択が終了すると、このフローチャートは完了する（ステップ７０８）。
【００５５】
このように、図６及び図７に示される処理によれば、ユーザからの設定モードへの変更入力を待って、設定モードへ移行した後、照明器を構成する照明要素を択一的に１つずつ選択して、各方向別にシャッタスピード並びに画像を撮像並びにメモリへの格納を行い、しかる後、それら格納された画像を１つずつ読み出して、デコード処理を試みると共に、コントラストの算出を行い、それらの結果を記憶させた後、こうして得られた処理結果に基づいて、デコードＯＫ及びコントラスト最大画像の照明方向及びシャッタスピードを選択するのである。これにより、どの方向からの照明が最適であってかつどのようなシャッタスピードが適切であるかが認識されるのである。
【００５６】
尚、図６及び図７のフローチャートにおいて、２つ目以降の照明要素によるシャッタスピードの設定は、１つ前に選択したスピードを初期値とすると、比較的早く決定を行うことができる。
【００５７】
ところで、複数の画像について読取りが可能であった場合に、それぞれの画像の背景あるいは対象物内に読取りに影響を及ぼす可能性のある明るさのばらつきがあれば、それぞれの画像同士を加算して、そのばらつきを抑えられるかを検証し、複数の照明要素を組み合わせて用いることも可能である。ここで、『影響を及ぼす可能性がある』とは、読取に必要な白黒差を確保できない場合が生じることを意味する。具体的には、画像内の明るさのばらつきはデコードしたそれぞれの画像に対して、図１１（ｄ）に示されるように、４本の走査線（１）〜（４）に沿って、画素レベルの走査を行い、そのレベルと勾配を確認し、影響を及ぼす可能性があれば、その他の読取が可能であった画像のスキャン結果と比較し、その勾配を緩和できる組み合わせをそれぞれのライン同士の加算にて比較することで探し出す。さらに、その組み合わせの画像同士の平均を演算した上で、演算結果に対してデコードを実施して、その照明選択の確からしさを確認しても良い。もちろん、走査線の数は４本でなくても良い。以上の流れが図１０のフローチャートに示されている。
【００５８】
すなわち、同図において、処理が開始されると、既に格納された複数の画像の１つが読み出され（ステップ１００１）、デコードが試みられる（ステップ１００２）。しかる後、コントラスト及びグラデーションの算出が行われ（ステップ１００３）、デコードの可否、コントラスト、グラデーションがそれぞれ処理結果として記憶される（ステップ１００４）。以上の処理（ステップ１００２〜１００４）が、順次全ての画像に対して繰り返され（ステップ１００６）、全ての画像に関して処理が完了するのを待って（ステップ１００５ＹＥＳ）、次の処理への移行が行われる。
【００５９】
次の処理においては、まず、デコードＯＫ及び最大コントラスト画像の選択が行われる（ステップ１００７）。しかる後、先に算出されたグラデーションに関して、その度合いが基準値を満足するかどうかの判定が行われる（ステップ１００８）。ここで、デコードＯＫ及び最大コントラスト画像において、グラデーションが適切範囲に入っていれば（ステップ１００８ＹＥＳ）、照明選択は終了する。これに対して、グラデーションに『影響を及ぼす可能性がある』と判定されると（ステップ１００８ＮＯ）、次いでデコードＯＫの画像のグラデーションライン同士の加算が行われ（ステップ１００９）、それらの加算によって画像の平準化が達成されるかどうかの判定が繰り返される（ステップ１０１０）。ここで、２以上の画像同士のグラデーションライン加算によって、画像が平準化されたと判定されれば（ステップ１０１０ＹＥＳ）、シャッタスピードの補正処理（ステップ１０１１）を行った後、照明選択が終了する（ステップ１０１２）。このとき、シャッタスピードの補正に加えて（ステップ１０１３）、照明光量の補正も行ってもよい（ステップ１０１４）。
【００６０】
各画素平均化による読取対象画像生成処理（Ｉ）の説明図（その１）が図１１に示されている。この例にあっては、同図（ｄ）に示されるように、４本の走査線（１）〜（４）に沿って画素値の走査が行われる。又、同図（ａ−１）に示される第１画像は、上下方向のグラデーションを有し、上部が明るく下部が暗い。同図（ｂ−１）に示される第２画像にあっては、同様な上下方向へのグラデーションを有するが、上部が暗く下部が明るい。このことが、同図（ａ−２）の位置／画素レベルグラフと、同図（ｂ−２）に示される位置／画素レベルグラフでも表されている。一方、同図（ｃ−１）に示される読取対象画像にあっては、第１画像と第２画像とを加算して平均化した結果、画像の平準化が達成されており、このことが同図（ｃ−２）に示される位置／画素レベルグラフによっても表されている。このように、第１画像と第２画像とを加算して平均化することによって、画像の平準化が達成した読取対象画像を得ることができる。
【００６１】
各画素平均化による読取対象画像生成処理（Ｉ）の説明図（その２）が図１２に示されている。この例にあっては、第１画像は左右方向のグラデーションを有し、左側が暗く右側が明るい。同図（ｂ）に示される第２画像にあっては、同様な左右方向のグラデーションを有するものの、左側が明るく右側が暗い。そのため、同図（ｃ）に示される読取対象画像にあっては、第１画像と第２画像とを加算して平均化した結果、画像の平準化が達成されている。
【００６２】
一方、背景ではなく、対象物内に明るさのばらつきがある場合には、２次元コードの場合、デコード後の各セルの画素レベル同士を加算し、勾配やレベルが平準化される組み合わせを見つける。照明を複数選択する場合、それぞれの画像取得時のシャッタスピードが異なれば、その中で最も遅いシャッタスピードを選択し、シャッタスピードの比率分だけ照明光量を小さくすることで、最適な照明設定を実現することができる。
【００６３】
照明光量を変更できる回路例が図１５に示されている。この回路は、１個の発光ダイオードＤと、３個のトランジスタＴＲ１〜ＴＲ３と、３個の抵抗Ｒ１〜Ｒ３とで構成される。抵抗値に関しては、Ｒ１＝Ｒ２、Ｒ３＝Ｒ１／２と設定されている。そのため、トランジスタＴＲ１のみをオンとしたときに最も発光パワーが小さく、トランジスタＴＲ１とＴＲ２とをオンしたときに発光パワーはトランジスタＴＲ１のみをオンしたときの２倍となり、全てのトランジスタをオンすると発光パワーは４倍となる。このような回路を、各照明要素を構成する発光ダイオードに適用し、トランジスタＴＲ１〜ＴＲ３を適宜選択的にオンオフさせることによって、照明光量を変更して、補正処理を行うことができる。
【００６４】
斜め方向に明るさのばらつきがある場合の読取対象画像生成処理が図１３に示されている。この例にあっても、４本の走査線（１）〜（４）が使用される。同図（ａ−１）に示される第１画像にあっては、左上から右下に向かう対角線に沿ったグラデーションを有し、左上が明るく右下が暗い。又、画像の中心部分には、２次元コードに起因する明るさのばらつきが存在する。このことが、同図（ａ−２）のグラフにも示されている。同図（ｂ−１）に示される第２画像にあっては、左上から右下へ向かう対角線に沿ったグラデーションを有するものの、左上が暗く右下が明るい。又、画像の中心部には、２次元コードに起因する明るさのばらつきが存在する。このことが、同図（ｂ−２）のグラフにも示されている。同図（ｃ−１）に示される読取対象画像にあっては、第１画像と第２画像とを加算して平均化した結果、画素の平準化が達成されている。このことが同図（ｃ−２）のグラフにも示されている。なお、２次元コード等が存在すると、走査線に沿った画素操作は演算が複雑化するため、その領域を無視して背景の演算を行えば演算の複雑化を回避することができる。
【００６５】
読取対象処理を（加算÷３）と（加算÷２）とで比較して示す説明図が図１４に示されている。同図（ａ）〜（ｃ）に示される画像は水平方向のグラデーションを有する。もっとも、同図（ａ）の画像は、左側２／３の領域が明るく、右側１／３の領域が暗い。同図（ｂ）に示される画像は、左側１／３の部分が暗く、右側２／３の部分が明るい。同図（ｃ）に示される画像は、左右１／３の領域が暗く、中央１／３の領域が明るい。同図（ｄ）に示される画像は、同図（ａ）〜（ｃ）に示される３枚の画像を加算して３で除したものであり、その結果画像の平準化が達成されている。
【００６６】
一方、同図（ｅ）及び（ｆ）に示される２枚の画像は、いずれも右上から左下に向かう対角線に沿ったグラデーションを有する。もっとも、同図（ｅ）に示される画像は、左上並びに右下１／３の領域が明るく、中央１／３の領域が暗い。同図（ｆ）の画像は、左上並びに右下１／３の領域が暗く、中央が明るい。同図（ｇ）に示される画像は、同図（ｅ）及び（ｆ）に示される２枚の画像を加算しこれを２で除した結果、平準化が達成されている。なお、画像の加算による平準化は、背景のグラデーションを基に演算をする他に、２次元コードの存在する領域のみのグラデーションを基に演算しても良い。この場合、白または黒レベルのみのグラデーションを基に演算をすればよい。
【００６７】
次に、図１６〜図１８を参照しながら、シャッタスピードの最適化について説明する。照明に外部照明を用いる場合、通常はシャッタスピードを固定にして照明光量を調整するか、照明光量を一定にしてシャッタスピードを調整する。しかし、仮に対象物の読取りが可能でも、その照明光量あるいはシャッタスピードの組み合わせは最適かどうかをユーザが判断するのは困難である。そこで、この実施形態にあっては、照明光量を固定して、シャッタスピードを自動設定できるようにすることで、調整工数の削減と最適化を図るようにしている。
【００６８】
すなわち、図１７のフローチャートにおいて処理が開始されると、まず、先に図５を参照して説明した処理に従って、シャッタスピード仮設定を行った後（ステップ１７０１）、そのシャッタスピードとそれよりも遅い複数のシャッタスピードでそれぞれ画像を取得する。
【００６９】
次に取得した画像のうち、最も早いシャッタスピードで取得した画像にてデコード処理を行い、対象物の白レベルと黒レベル及びその差を取得する。デコードできなければ次に速いシャッタスピードで取得した画像にてデコード処理を行い、同じく対象物の白レベルと黒レベル及びその差を取得し、デコードができなければ、次の取得画像にて同様の処理を行い、全ての取得画像でデコードできなければデコードできない旨を表示あるいは出力して終了する。
【００７０】
すなわち、ティーチングが開始された後（ステップ１７０２）、変数ｎの値を０から（ステップ１７０３）１つずつ歩進させながら（ステップ１７０７）、シャッタスピードｎ段遅く設定（ステップ１７０４）及び撮像と画像格納（ステップ１７０５）を繰り返し、変数ｎの値がＮに達するのを待って（ステップ１７０６ＹＥＳ）、デコード処理への移行が行われる。
【００７１】
デコード処理への移行が行われると、各シャッタスピードに対応してデコード対象メモリｎの取得（ステップ１７０８）及びデコード処理実行（ステップ１７０９）が行われ、何れかの画像に関しデコードＯＫと判定されるのを待って（ステップ１７１０ＹＥＳ）、残りの画像に関するデコード処理を行うことなく、次の処理への移行が行われる。一方、全ての画像に関しデコード処理を試みた結果、デコードＯＫが判定されないと（ステップ１７１１ＹＥＳ）、照明選択は失敗として終了する（ステップ１７１３）。
【００７２】
続いて、図１８のフローチャートに移って、白レベルと黒レベル及びその差の取得が行われ（ステップ１８０１）、それらの結果が記憶される（ステップ１８０２）。しかる後、図１６に示されるように、白レベルと黒レベル及びその差の値に応じて場合分けが行われる。
【００７３】
ここでは、シャッタスピードの設定は、１／１２５ｓｅｃ、１／２５０ｓｅｃ、１／５００ｓｅｃ、…と倍数の関係に設定されている。この例では、場合を５通りに分けているが、ケース１は白レベルがダイナミックレンジの３／４以上でデコードができている場合、ケース２は白レベルが１／２〜３／４でデコードができていてかつ黒レベルが１／４〜１／２の間の場合、ケース３は白レベルが１／２〜３／４の間でデコードできかつ黒レベルが１／４以下の場合、ケース４は白レベルが１／８〜１／４でデコードできている場合、ケース５は白レベルが１／８以下でデコードできている場合である。
【００７４】
ケース１の場合はシャッタスピードを１段遅くすると、白レベルがハレーションを起こし、黒レベルは現状の２倍の値となるので、結果として白黒差が小さくなるためシャッタスピードを遅くすることはできない。逆に、シャッタスピードを１段速くすると白レベルも黒レベルも値が現状の１／２となるので、白黒差が小さくなるので速くしないほうが良い。
【００７５】
ケース２の場合は、シャッタスピードを１段遅くすると白レベルがハレーションを生じるので結果としてさほど白黒差が拡大しない場合が多いのでシャッタスピードはそのままが最適である。
【００７６】
ケース３では逆にシャッタスピードを遅くすることで白黒差を少し拡大できることが多いのでシャッタスピードを１段遅くすると最適である。
【００７７】
ケース４ではシャッタスピードを２段階遅くしても、白レベルがハレーションを起こさない上、白黒差が４倍となるのでシャッタスピードを２段階遅くするのが最適である。ケース５ではさらにシャッタスピードを遅くしても白レベルがハレーションを起こさない上、白黒差も８倍となる見込みがあるので、シャッタスピードは３段階遅くするのが最適である。
【００７８】
撮像素子の性能やデコードアルゴリズムの状況によりケース５の中でも白レベルがダイナミックレンジの１／１６以下でデコードできている場合が、仮にあれば、シャッタスピードは４段遅くする設定も追加する。
【００７９】
ケース２以外では十分な白黒差が得られているので、デコードが不安定になることは考えられないが、ケース２の場合は、白黒差があまりないことが想定されるため、白黒の差が余裕をもってデコードできるレベルかどうかを判定する処理を実施して、ある一定以上の差がなければ画像モニタに表示したり、Ｉ／Ｏから何らかの信号を出力したりすることで、ユーザに、例えば照明を再設定してもらうとか、マーキング状態を見直してもらうとかなどの改善をしてもらえる。以上の流れの例を図１８のフローチャートに示す。ここで、『設定モード』とは、シャッタスピードだけでなく、対象物を短時間で読み取るため、あるいは安定的に読み取るために装置内部に必要な情報を取り込んで保存するモードであり、シャッタスピードの設定はその一部である。
【００８０】
すなわち、図１８のフローチャートにおいて、処理が開始されると、まず白レベル、黒レベル、白黒差の取得（ステップ１８０１）及び処理結果の記憶（ステップ１８０２）が行われた後、白レベル並びに黒レベルが図１６に示されるどの領域に存在するかの判定が行われる（ステップ１８０３，１８０４，１８０５，１８０６，１８０７，１８０９）。そして、それらの判定結果に応じて、シャッタスピードの制御が適宜に行われ（ステップ１８０８，１８１０，１８１１，１８１２，１８１３）、これによりシャッタスピードの適正化が達成される。
【００８１】
次に、シャッタスピードと照明の同時最適化について説明する。照明を最適化した後、シャッタスピードを図１７及び図１８のフローチャートに従って最適化すると、照明とシャッタスピードの最適化を同時に行うことができる。
【００８２】
シャッタスピード最適化の際に使用する画像は照明要素を１つだけ用いる場合は照明要素を決定したそのままの画像を用いて、そのときのシャッタスピードに対してどれだけシャッタスピードを変化させるかを判別する。照明要素を複数選択した場合は、加算（平均化）した画像を用いて、基準となるシャッタスピードは設定し直したものを用いる。
【００８３】
次に、読取時の最適化について説明する。以上述べた実施の形態は、読取装置の初期設定時の処理についてであるが、通常稼働時にも適用できる。すなわち、シャッタスピードの条件を初期設定時に最適化しても、稼働時には様々な対象物が現れる可能性があり、初期設定時と異なる条件が必要となる場合も考えられるので、最適化したシャッタスピードに対して１段速いシャッタスピードと１段遅いシャッタスピードでそれぞれ、トリガが入力された直後に合計３枚の画像を取り込み、まず、最適化されたシャッタスピードで取り込まれた画像についてデコード処理を施し、その段階で読みとれない場合にデコード処理の結果に応じて速いシャッタスピードの画像か遅いシャッタスピードの画像かを選んでデコード処理をすることで、読み取る対象物の自由度を拡げることができる。又、予め複数の画像を取得しなくても、１枚の取得画像で読み取れなかった場合に、シャッタスピードの条件を変更して読取をリトライすることで、対象物が静止していれば上記と同じ効果が得られる。
【００８４】
さらに、照明についても、設定時にいくつかの照明要素で読取が可能であった場合は、それぞれを記憶しておき、トリガが入力されたときに、それぞれの照明要素で、それぞれ撮像しておき、設定時に最も状態が良かった画像を用いてデコードを行い、読取ができなければ別の照明で撮像した画像にてデコードを行うようにすることで、読取対象物の自由度を拡げることができる。
【００８５】
【発明の効果】
以上の説明で明らかなように、本発明によれば、ワークの表面性状に拘わらず、それに付される光学コードの読取に最適な撮影条件を的確に取得することが可能な光学コード読取装置における撮影条件決定方法を提供することができる。
【図面の簡単な説明】
【図１】本発明装置のシステム構成を示す外観図である。
【図２】コントローラの内部構成を中心として示すブロック図である。
【図３】コントローラから照明器へ至る信号経路の説明図である。
【図４】本発明装置の機能構成を概略的に示すブロック図である。
【図５】ティーチング前のシャッタスピード仮設定処理を示すフローチャートである。
【図６】照明に関する最適化処理（Ｉ）を示すフローチャート（その１）である。
【図７】照明に関する最適化処理（Ｉ）を示すフローチャート（その２）である。
【図８】照明器内における照明要素の配置例の説明図である。
【図９】２次元コード内の白い部分と黒い部分の説明図である。
【図１０】照明に関する最適化処理（II）を示すフローチャートである。
【図１１】各画素平均化による読取対象画像生成処理（Ｉ）の説明図（その１）である。
【図１２】各画素平均化による読取対象画像生成処理（Ｉ）の説明図（その２）である。
【図１３】各画素加算による読取対象画像生成処理の説明図である。
【図１４】読取対象処理を（加算÷３）と（加算÷２）とで比較して示す説明図である。
【図１５】照明光量を変更できる回路例を示す図である。
【図１６】白レベルと黒レベル及びその差に応じた場合分けの説明図である。
【図１７】シャッタスピードと照明との双方同時最適化処理を示すフローチャート（その１）である。
【図１８】シャッタスピードと照明との双方同時最適化処理を示すフローチャート（その２）である。
【符号の説明】
１  コントローラ
２  カメラ
３  照明器
３ａ  トリガ入力
４  ワーク
５  ２次元コード
６  トリガセンサ
７  ハンディコンソール
８  ビデオモニタ
９ａ  プログラマブルコントローラ
９ｂ  パソコン
１０１  ＣＰＵ
１０２  メモリ
１０３  画像メモリ
１０４  画像入出力制御部
１０５  コンソールインタフェース
１０６  カメラインタフェース
１０７  モニタインタフェース
１０８  照明インタフェース
１０９  トリガセンサ
１１０  画像処理部
１１１  ＣＰＵバス
１１２  内部バス
２０１  シリアル／パラレル変換器
２０２，２０３  信号線
２０４−１〜２０４−ｎ  信号線
２０５  レンズ
２０６  撮像素子
３０１−１〜３０１−ｎ  照明要素
Ｆ１  撮像制御機能
Ｆ２  照明制御機能
Ｆ３  Ａ／Ｄ変換機能
Ｆ４  画像保存機能
Ｆ５  画像処理機能
Ｆ６  デコード処理機能
Ｆ７  Ｉ／Ｏ処理機能
Ｆ８  データ出力機能
Ｌ１１〜Ｌ１５，Ｌ２１〜Ｌ２３，Ｌ３１〜Ｌ３３  照明要素
【図１】
2004194172.tif 000003
【図２】
2004194172.tif 000004
【図３】
2004194172.tif 000005
【図４】
2004194172.tif 000006
【図５】
2004194172.tif 000007
【図６】
2004194172.tif 000008
【図７】
2004194172.tif 000009
【図８】
2004194172.tif 000010
【図９】
2004194172.tif 000011
【図１０】
2004194172.tif 000012
【図１１】
2004194172.tif 000013
【図１２】
2004194172.tif 000014
【図１３】
2004194172.tif 000015
【図１４】
2004194172.tif 000016
【図１５】
2004194172.tif 000017
【図１６】
2004194172.tif 000018
【図１７】
2004194172.tif 000019
【図１８】
2004194172.tif 000020