(57)【要約】  光学コードリーダにおいて、少なくともＡＧＣ処理とオートフォーカス制御のうちの選択された一つが光学コードのデコードと並行して実行される。選択された処理は、デコードを開始するどの信号よりも先に開始されるとよい。選択された処理はまた、デコードを開始するどの信号からも独立して周期的に実行されるのがよい。実施形態においては、デコードと選択された処理とは、並行動作する異なる第１及び第２のプロセッサによってそれぞれ実行され、第２のプロセッサは選択された処理を実行し、第１のプロセッサは選択された処理の実行に対していかなる制御も行わない。【選択図】  図２
2012508927.tif 000002
【特許請求の範囲】
【請求項１】
離れた光学コードの画像を規定する光学的品質の範囲の光学情報を撮像距離範囲上で受け取り、前記光学コードの画像から光学情報を復元するためにデコードして、前記光学コードに含まれる画像情報から光学情報を抽出し、前記光学情報に対して光学的品質の変動を補正をするために自動利得制御（ＡＧＣ）処理を実行し、前記光学コードリーダから前記光学コードまでの距離の変動を補正するために可変焦点装置のオートフォーカス制御を実行する、光学コードリーダの動作方法であって、
前記ＡＧＣ処理と前記オートフォーカス制御のうちの少なくとも一つに対応する選択された処理を前記デコードと並行して実行する光学コードリーダの動作方法。
【請求項２】
前記選択された処理は、前記デコードを開始するどの信号よりも先に開始される請求項１に記載の光学コードリーダの動作方法。
【請求項３】
前記選択された処理は、デコードを開始するどの信号からも独立して、周期的に実行される請求項１に記載の光学コードリーダの動作方法。
【請求項４】
前記ＡＧＣ処理と前記オートフォーカス制御の両方が選択される請求項１に記載の光学コードリーダの動作方法。
【請求項５】
ＡＧＣ処理が選択され、該ＡＧＣ処理は、前記デコードを開始するどの信号よりも先に開始され、デコードを開始するどの信号からも独立して、周期的に実行される請求項１に記載の光学コードリーダの動作方法。
【請求項６】
オートフォーカス制御が選択され、該オートフォーカス制御は、レーザ光源を用い、前記光学コードと前記光学コードリーダとの間の距離を測定し、その距離測定結果に基づいて前記可変焦点装置の焦点を調整する請求項１に記載の光学コードリーダの動作方法。
【請求項７】
請求項６に記載の光学コードリーダの動作方法において、
前記焦点の調整に先立って、前記距離の測定が成功したかどうかをテストし、該距離の測定が成功した場合にその測定した距離に基づいて前記焦点を調整し、前記距離の測定が成功しなかった場合には代わりの焦点テストを実行し、該代わりの焦点テストに基づいて前記焦点を調整する光学コードリーダの動作方法。
【請求項８】
前記デコード処理と前記選択された処理は、並行動作する異なる第１及び第２のプロセッサによってそれぞれ実行される請求項１に記載の光学コードリーダの動作方法。
【請求項９】
前記第２のプロセッサは前記選択された処理を実行し、前記第１のプロセッサは該選択された処理の実行に対して何等の制御もすることがない請求項８に記載の光学コードリーダの動作方法。
【請求項１０】
前記第２のプロセッサは、デコードを開始する前記第１のプロセッサのいかなる信号からも独立して、前記選択された処理を周期的に実行する請求項９に記載の光学コードリーダの動作方法。
【請求項１１】
前記ＡＧＣ処理と前記オートフォーカス制御の両方が選択される請求項８に記載の光学コードリーダの動作方法。
【請求項１２】
前記第２のプロセッサは前記ＡＧＣ処理を実行し、該処理は前記第１のプロセッサによる該第２のプロセッサに対するいかなる制御もされることなく開始され、デコードを開始する前記第１のプロセッサのいかなる信号からも独立して、周期的に実行される請求項８に記載の光学コードリーダの動作方法。
【請求項１３】
前記第２のプロセッサはオートフォーカス制御を実行し、該制御はレーザ光源を用いて前記光学コードと前記光学コードリーダとの間の距離を測定し、その距離測定結果に基づいて前記可変焦点装置の焦点を調整する請求項８に記載の光学コードリーダの動作方法。
【請求項１４】
請求項１３に記載の光学コードリーダの動作方法において、
前記焦点の調整に先立って、前記距離の測定が成功したかどうかをテストし、該距離の測定が成功した場合にはその測定した距離に基づいて前記焦点を調整し、前記距離の測定が成功しなかった場合には代わりの焦点テストを実行して、該代わりの焦点テストに基づいて前記焦点を調整する光学コードリーダの動作方法。
【請求項１５】
請求項８に記載の光学コードリーダの動作方法において、
前記光学コードリーダは、前記光学コードの画像を形成する光学センサを有し、
前記光学コードリーダの動作方法はさらに、前記光学センサから画像情報を抽出し、該画像情報を前記第２のプロセッサへ送る第３のプロセッサを使用し、前記画像情報は、前記光学コードの距離、前記画像の輝度、および前記画像のエッジ評価のうちの一つである光学コードリーダの動作方法。
【請求項１６】
前記第３のプロセッサがＡＳＩＣである請求項１５に記載の光学コードリーダの動作方法。
【請求項１７】
前記第２のプロセッサは、オートフォーカス制御とＡＧＣ処理のうちの一つに関する情報を前記第３のプロセッサに与える請求項１５に記載の光学コードリーダの動作方法。
【請求項１８】
離れた光学コードの画像を規定する光学的品質の範囲の光学情報を撮像距離範囲上で受け取り、前記光学コードの画像から光学情報を復元するためにデコードして、前記光学コードに含まれる画像情報から光学情報を抽出し、前記光学情報に対して光学的品質の変動を補正をするために自動利得制御（ＡＧＣ）処理を実行し、前記光学コードリーダから前記光学コードまでの距離を補正するために可変焦点装置のオートフォーカス制御を実行する光学コードリーダであって、
前記ＡＧＣ処理と前記オートフォーカス制御のうち少なくとも一つに対応する選択された処理を、前記光学コードのデコードと並行して実行する制御プロセッサを設けたことを特徴とする光学コードリーダ。
【請求項１９】
前記制御プロセッサは、前記デコードを開始するどの信号よりも先に前記選択された処理を開始する請求項１８に記載の光学コードリーダ。
【請求項２０】
前記制御プロセッサは、前記デコードを開始するど信号からも独立して前記選択された処理を実行する請求項１８に記載の光学コードリーダ。
【請求項２１】
前記制御プロセッサは、前記ＡＧＣ処理と前記オートフォーカス制御の両方を実行する請求項１８に記載の光学コードリーダ。
【請求項２２】
前記制御プロセッサは、前記光学コードと前記光学コードリーダとの間の距離を測定するためにレーザ光源を制御し、その距離の測定結果に基づいて前記可変焦点装置の焦点の調整を制御して、前記オートフォーカス制御を実行する請求項１８に記載の光学コードリーダ。
【請求項２３】
請求項２２に記載の光学コードリーダにおいて、
前記制御プロセッサは、前記焦点の調整に先立って、前記距離の測定が成功したかどうかをテストし、該距離の測定が成功した場合にはその測定した該距離に基づいて前記焦点を調整し、前記距離の測定が成功しなかった場合には代わりの焦点テストを実行して、該代わりの焦点テストに基づいて前記焦点を調整する光学コードリーダ。
【請求項２４】
前記制御プロセッサは、前記デコードと前記選択された処理とをそれぞれ並行して実行する、第１及び第２のプロセッサからなる請求項１８に記載の光学コードリーダ。
【請求項２５】
前記第２のプロセッサは前記選択された処理を実行し、前記第１のプロセッサは該選択された処理の実行に対して何等の制御もすることがない請求項２４に記載の光学コードリーダ。
【請求項２６】
前記第２のプロセッサは、前記デコードを開始する前記第１のプロセッサのどの信号からも独立して、周期的に前記選択された処理を実行する請求項２４に記載の光学コードリーダ。
【請求項２７】
前記第２のプロセッサは前記ＡＧＣ処理を実行し、該処理を前記第１のプロセッサによる該第２のプロセッサに対するいかなる制御もされることなく開始し、デコードを開始する前記第１のプロセッサのいかなる信号からも独立して、周期的に実行する請求項２４に記載の光学コードリーダ。
【請求項２８】
前記第２のプロセッサはオートフォーカス制御を実行し、該制御はレーザ光源を用いて前記光学コードと前記光学コードリーダとの間の距離を測定し、その距離測定結果に基づいて前記可変焦点装置の焦点を調整する請求項２４に記載の光学コードリーダ。
【請求項２９】
請求項２４に記載の光学コードリーダにおいて、
前記第２のプロセッサは、前記焦点調整に先立って前記距離の測定が成功したかどうかをテストし、該距離の測定が成功した場合にはその測定した距離に基づいて前記焦点を調整し、前記距離の測定が成功しなかった場合には代わりの焦点テストを実行して、該代わりの焦点テストに基づいて前記焦点を調整する光学コードリーダ。
【請求項３０】
請求項２４に記載の光学コードリーダにおいて、
前記光学コードの画像を形成する光学センサと、該光学センサから画像情報を抽出し、該画像情報を前記第２のプロセッサへ送る第３のプロセッサとを有し、前記画像情報は、前記光学コードの距離、前記画像の輝度、および前記画像のエッジ評価のうちの一つである光学コードリーダ。
【請求項３１】
前記第３のプロセッサはＡＳＩＣである請求項３０に記載の光学コードリーダ。
【請求項３２】
前記第２のプロセッサは、オートフォーカス制御とＡＧＣ処理のうちの一つに関する情報を前記第３のプロセッサに与える請求項３０に記載の光学コードリーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は光学コードを検出して読み取る装置に関し、特に、並行処理により高速動作を実現する光学コード読取装置及び光学コード読取方法に関する。
【背景技術】
【０００２】
近頃のスーパーマーケットで買い物をする人なら誰でも、製品のパッケージに印刷されたバーコードを走査することによって、迅速な精算を容易にするバーコードスキャナが光学コードリーダの一形態として馴染がある。これは、バーコードを走査するために作業者によってパッケージが基本的に静止されるので、バーコード読み取りの適用が比較的容易である。
【０００３】
最近では、製品の組立、検査、梱包などが行われる製造ラインにおいても、光学コードリーダが利用されるようになってきている。この光学コード読み取りの適用は、製品が製造ラインを、例えばコンベアベルト上で比較的速い速度で移動していくので、より多くの要求がなされる。いくつかの実例において、光学コードが二次元である場合には、より複雑な光学コードのデコードが必要とされる。製造ライン上に隘路を作らないようにするため、製造ラインを製品が移動する速度を落とすことなく、光学コードの正確なデコード（復号）が行われることが重要である。そのため、光学コードを正確にデコードできる速さが最も重要になる。
【０００４】
一般に、光学コードリーダは離れた光学コードをし、その光学コードをデコードするために反射光を処理する（光学コードに含まれる情報を復元する）。光学コードを読み取るためのセットアップ処理中に、一般に光学コードリーダは自動利得制御（ＡＧＣ）回路を調整し、光学コード上へ自動焦点合わせ（オートフォーカス）を行う。ＡＧＣ回路は、検出される光学信号の強さが変動しても、処理回路に与えられる信号が所定の動作範囲内の振幅を有するのを確実にするために、リーダ内の電子回路を調整する。オートフォーカスは、光学コードリーダがそのコードリーダと光学コードとの間の所定の距離範囲に亘って焦点が合った画像を得るのを確実にし、そのコードリーダの被写界深度を効果的に増加させる。
【０００５】
図１は光学コードをデコードする従来の光学コードリーダによって用いられる一般的な処理を示すフロー図である。光学コードリーダに最初に電源が投入されたときに、この処理がブロック１００から開始される。ブロック１０２でトリガーコマンドが受信されたかどうかを判断するためのテストが実行され、それが受信されるまで動作はこのステップに留まる。一般に、トリガーコマンドは光学コードリーダの所定の動作範囲内で光学コードを含む物体が検出されたときに発生される。トリガーコマンドが発生した時、処理はブロック１０４に進み、そこでＡＧＣが調整される。それからブロック１０６へ進み、そこでコントラストが検出される。コントラスト測定は焦点の質をテストするための方法である。処理はそれから自動焦点調整されるブロック１０８へ進む。
【０００６】
ブロック１１０では取得したコードがデコードされ、それからブロック１１２で、デコードが成功したかどうかを判断するためのテストが実行される。成功した場合は、ブロック１１４でデコードの成功結果が記録され、処理はブロック１０２に戻り、次のトリガーコマンドを待つ。もし、ブロック１１２におけるテストによりデコードが成功しなかったことが明らかになったら、ブロック１１６でデコードを所定回数（Ｎ）試みたかどうかを判断するためのテストが実行される。デコードをＮ回試みたと判断した場合は、制御はブロック１１４に移行し、そのブロック１１４でデコードが不成功の結果が記録され、処理はブロック１０２に戻り、次のトリガーコマンドを待つ。デコードをＮ回試みていないと判断した場合は、ブロック１１６でのテストからブロック１０４にその制御を移す。そして、ＡＧＣが再調節され、コントラストが再検出され、焦点が再調整され、その光学コードのデコードを再度試みる。
【０００７】
この従来技術による図１の処理の問題は、ＡＧＣの調節及び自動焦点調整の処理に比較的時間を要することである。光学コードが検出範囲内に入った後繰り返しループでそれらが実行されることは、デコードの速度に深刻な制約を負わす程大きな遅延をもたらし、高速の製造ライン上を移動する物体の光学コードの信頼性のあるデコードを実現できない程深刻であった。
【発明の概要】
【０００８】
この発明の一態様によれば、ＡＧＣ処理とオートフォーカス制御（自動焦点制御）のうちの少なくとも選択された一方が光学コードのデコードと並行して行なわれる。その選択された処理はデコードを開始するどの信号よりも先に開始されるのが望ましい。その選択された処理はまた、周期的に且つデコードを開始するどの信号からも独立して実行されるとよい。実施例においては、デコードとその選択された処理とが、それぞれ並行動作する第１及び第２の異なるプロセッサによって実行され、第１のプロセッサがその選択された処理の実行を制御することなく、第２のプロセッサがその選択された処理を実行する。
【０００９】
この発明の上述の及び他の目的、特徴並びに利点は、以下に詳述するこの発明の好ましい実施形態の記載を添付図面と共に参照することによって、より完全に理解されるであろう。
【図面の簡単な説明】
【００１０】
【図１】光学コードをデコードする従来の光学コードリーダによって用いられる一般的な処理を説明するためのフロー図である。
【図２】この発明を実施した光学コードリーダの機能ブロック図である。
【図３】（Ａ）と（Ｂ）からなり、光学コードを有する物体とコードリーダとの間の距離を判断する方法を説明するための図である。
【図４】ＣＰＵ２の好ましい動作方法を説明するためのフロー図である。
【図５】ＣＰＵ１の好ましい動作方法を説明するためのフロー図である。
【発明を実施するための最良の形態】
【００１１】
図面に戻って、図２はこの発明の具体的な光学コードリーダ１０の機能ブロック図である。光学コードリーダ１０は概略的には、離れた光学コードを照明してその反射光を捕捉し、コードの画像を記録するカメラモジュールＣと、カメラモジュールＣ内にストアされた画像を受け取ってデコードする第１のプロセッサＣＰＵ１と、画像を処理するために必要なときにＣＰＵ１によってトリガされる第２のプロセッサＣＰＵ２とからなり、第２のプロセッサＣＰＵ２はカメラモジュールＣを制御するために、オートフォーカス制御処理とＡＧＣ処理を行う。
【００１２】
光学コードリーダ１０はまた、特定用途用にカスタマイズされた集積回路（ＡＳＩＣ）であるゲートアレイＧＡを備えており、それはカメラモジュールＣ内にストアされた画像からある特徴を抽出して、それをオートフォーカス処理とＡＧＣ処理で用いるためにＣＰＵ２に渡す。そのＡＳＩＣはまた、カメラモジュール内にストアされた画像情報をＣＰＵに送る前に処理したり、カメラモジュールＣによる照明を制御することもできる。
【００１３】
カメラモジュールＣは、１個以上のＬＥＤのような可視光光源１２と、１個以上の赤外線レーザダイオードのようなレーザ光源１４を有している。光源１２及び１４は離れた光学コードを適切に照明するようにゲートアレイＧＡによって制御される。電子カメラにおいて一般的であるように、カメラモジュールＣはイメージセンサ１８上に画像を形成する焦点調節装置１６を備えた光学系を有している。焦点調節装置は、例えばボイスコイルモータによって操作される一つの可動素子を含むようなズームレンズ、あるいは電気的に制御される液体レンズであり得る。その目的は、センサ１８上に焦点の合った画像を与えられるように、カメラモジュールＣから光学コードを配置できる距離範囲のような合焦範囲を広げるためである。センサ１８はＣＭＯＳ素子の二次元アレイのような光学アレイであるとよい。
【００１４】
ＣＰＵ１はセンサ１８にストアされた画像情報を取得し（ブロック２０）、ゲートアレイＧＡから受け取った情報に基づいて、光学コードの情報を復元するためにその画像をデコードする（ブロック２２）。この実施例では、光学コードリーダ１０は、例えば表示の目的で、センサ１８の素子内にストアされた画像を復元することもできる。この場合、それは光学コードをデコードすることなく、単純な電子カメラのように動作をする。
【００１５】
ＣＰＵ１が画像の取得又はデコードの準備をするとき、トリガーコマンドをＣＰＵ２に送る。しかしながら、ＣＰＵ２はＡＧＣ処理（ブロック２４）を実行するためにトリガーコマンドを待ってはいない。動作を早めるために、ＣＰＵ１が画像の取得又はデコードの準備ができたときに遅れを最小限にできるように、ＡＧＣ処理は継続的に実行される。ＣＰＵ２はセンサ１８にストアされた画像に関してゲートアレイＧＡから受け取った情報に基づいてＡＧＣ処理を実行する。例えば、もしその情報が、センサ１８に受けとられている信号が弱いことを示す場合、ＡＧＣ処理はセンサ１８の感度を増加させ、そうしなかった場合より強い信号がセンサ１８にストアされるようにする。
【００１６】
同様に、ゲートアレイＧＡは焦点調整装置１６を制御するための情報をＣＰＵ２に送る。例えば、もしゲートアレイからの情報がセンサ１８上の画像のエッジ品質が低いことを示している場合、焦点が調整される。詳細は後述するが、好ましい実施形態においては、レーザ測距が光学コードとセンサ１８との間の距離を測定するために実行される。これは光学コードが最初にリーダ１０の動作範囲に入るときにレーザ光で光学コードを照明し、その光学コードの距離を判断するために反射されたレーザ光を検知する必要がある。この情報を用いて、ＣＰＵ２は光学コードの実際の距離に合焦するように焦点調整装置１６を制御する。
【００１７】
ゲートアレイＧＡは特定用途用集積回路（ＡＳＩＣ）により処理がなされる。それは画像処理部４２と照明制御部４４とを有する処理部４０を含む。画像処理部４２は、センサ１８上の画像情報に種々のタイプの処理を実行する。詳細は後述するが、センサアレイ１８上のレーザビームの画像から、画像処理部４２はレーザ測距４６を実行することができる。それは光学コードの距離を推定することである。画像処理部４２はまた、輝度測定処理４８とセンサ１８上の画像情報に対するエッジ評価処理５０も実行する。画像処理部４２はまた、画像の重要ではない部分が削除されたトリム画像がＣＰＵ１に与えられるように、画像トリミング処理５２も行なえる。照明制御部４４は、レーザ制御処理５４とＬＥＤ制御処理５６を実行し、レーザ光源１４と可視光光源１２をそれぞれオン及びオフにする。
【００１８】
図示はしないが、ゲートアレイＧＡはレジスタ制御５８の制御下にある１セットのレジスタを有する。ＣＰＵ２からのオートフォーカスとＡＧＣの情報は処理制御パラメータとして記憶するためにレジスタ制御５８に与えられる。レジスタ制御５８は、それからこれらのパラメータを必要に応じてプロセッサ４０に渡す。同様に、プロセッサ４０からの処理結果がレジスタ制御５８に渡され、結果として適切なレジスタにストアされる。
【００１９】
これらの結果は、それからオートフォーカス制御処理とＡＧＣ処理の実行に用いるためにＣＰＵ２に渡されることができる。例えば、レーザ測距４６とエッジ評価５０の結果はオートフォーカス制御に重要であり、輝度測定４８はＡＧＣ処理に重要である。このような情報を受け取ることによって、ＣＰＵ２は焦点調整装置１６の調節とセンサ１８のゲインの制御をすることができる。
【００２０】
レーザによる測距や距離測定を用いることは今日では広く普及している。ほとんどの電子デジタルカメラにはオートフォーカスを行うために赤外線測距の形で用いられており、正確な距離測定を行うためにレーザ測距を用いた多くの木工品や建設用工具が存在している。レーザ測距技術はよく知られている。この発明を実施した光学コードリーダは、後述の特に単純でかつ効果的なレーザ測距方法にするとよい。
【００２１】
図３は（Ａ）と（Ｂ）からなり、光学コードを有する物体とコードリーダ１０との間の距離を推定する方法を説明する図であり、（Ａ）は三つの異なる位置ａ，ｂ，及びｃ（それぞれ５０ｍｍ，１００ｍｍ，１５０ｍｍ）に置かれた物体を模式的に示し、（Ｂ）はａ，ｂ，及びｃの各位置（左から右へ）において得られる反射された赤外レーザ線の画像（スポット）を示している。
【００２２】
図３の（Ａ）は、画像センサ１８から三つの異なる距離ａ，ｂ，及びｃ（それぞれ５０ｍｍ，１００ｍｍ，１５０ｍｍ）における光学コードを有する物体を示す。図示のように、赤外レーザ線Ｒはａ，ｂ，及びｃの位置において異なる高さで物体に当たる。物体からの光線Ｒの反射は、図３の（Ａ）に破線で示されている。その反射された光線はミラーＭで反射され、レンズＬを通過して画像センサ１８上に光線Ｒの画像を形成する（レンズＬはカメラモジュールＣの一部である）。画像センサ１８上の光線Ｒの画像は他の暗い領域内のスポット７０であり、図３の（Ｂ）に見られるように、そのスポット７０は、位置ａ，ｂ，及びｃのそれぞれにおいて光線が物体に異なる高さで当たるために、画像内における高さが異なっている（それぞれ左から右の画像）。
【００２３】
実際には、光学コードリーダ１０は、物体が測定される最も近い位置にあるときに、センサ１８上に形成される画像の一番上にスポット７０が位置するように較正される。その後、画像内のスポット７０の高さに基づいて、物体とセンサ１８との間の距離を推定できる。当業者ならば容易にこの機能を、システムエレクトロニクスやルックアップテーブル用にプログラムすることができる。
【００２４】
当業者ならば、光学コードリーダ１０は、前述のように二次元画像センサを使用すれば画像リーダになり、あるいは走査ラインに沿って読み取るスキャンリーダにもなることが分かるであろう。画像リーダは、図示の便宜上この特別なレーザ測距方法を有するものとしてここに示したに過ぎない。この発明はスキャンリーダにも同様に適用される。
【００２５】
図４はＣＰＵ２の好ましい動作を説明するためのフロー図である。好ましくは光学コードリーダ１０が最初に電源を投入されたとき、動作がブロック２００から開始する。そのとき、ブロック２０２でＡＧＣ処理が始まり、ＣＰＵ１から独立して動作し続ける。ＡＧＣ処理は定期的に継続して実行されるとよい。ＣＰＵ２はゲートアレイＧＡから輝度測定４８の結果を受け取り、それによってセンサ１８を制御して、センサ１８が受け取る光学信号の強さの変化に係らず、センサ１８内の素子上の電荷を所定の動作範囲内に維持する。
【００２６】
ＡＧＣ処理と同時に、ブロック２０４でＣＰＵ１からトリガーコマンドが受け取ったかどうかを判断するためのテストが実行され、受け取ったときは、制御はＣＰＵ１がデコードモードで動作しているか画像取得モードで動作しているかを判断するためのテストをするブロック２０６に移行する。もし、画像取得モードで動作している場合は、制御はすぐに画像データをＣＰＵ１に送ることができるブロック２１６に移行し、ＣＰＵ１へ画像データを送ることが可能になり、ＣＰＵ１は基本的に画像取得処理２０（図２）を実行して画像を形成する。
【００２７】
一方、ブロック２０６でＣＰＵ１がデコードモードで動作していると判断した場合は、制御は光学コードの距離を決定するためにレーザ測距を実行するブロック２０８へ移行する。それから、レーザ測距が成功して距離を判定できたかどうかを判断するためにブロック２１０でのテストを実行する。成功したら、ＣＰＵ２はオートフォーカス処理２６で焦点調整装置１６の焦点を調整する。
【００２８】
動作は画像データをＣＰＵ１へ送ることができるブロック２１６へ続く。それからＣＰＵ１がデコードの結果（成功又は失敗のいずれか）を得た信号を発したかどうかを判断するためにブロック２１８でのテストを実行する。信号が発せられた場合、この処理は終了し、制御はブロック２０４へ戻り、ＣＰＵ１からの新たなトリガーコマンドを待つ。
【００２９】
もしブロック２１８で、デコード結果の情報２をＣＰＵ１から受け取っていないと判断した場合は、ブロック２２０でＣＰＵ１に画像データが送られたかどうかを判断するテストを実行する。もしブロック２２０で画像データが送られたと判断した場合は、ＣＰＵ１によってデコード結果が作られなかったという事実が、画像データがデコードするのに十分良好なものではなかったということを示している。
【００３０】
その場合、制御はレーザ測距を再度行うためにブロック２０８へ移行する。この処理全体において、ＡＧＣ処理はブロック２０２で周期的に行われ、それを続けていることに留意すべきである。したがって、次のデコードがなされる前に、光学コードから受け取る光の強度が大幅に変わるために必要になるセンサ１８の調整がなされるであろう。
【００３１】
レーザ測距は非常に信頼性のある処理である。従って、ブロック２１０における成功結果が得られなかったことは、多分ほぼレーザ測距装置内の不具合や失敗を示すことになり、ＣＰＵ２は一般に警告をするであろう。しかしながら、レーザ測距が失敗したとき、オートフォーカスの失敗を避けるためのバックアップとして、もしブロック２１０でのテストでレーザ測距が成功しなかったことが明らかになると、ブロック２１４で適切な焦点を推定するために従来のコントラスト検出が実行され、それからブロック２１２で焦点が調整される。そして、レーザ測距が成功したかのように動作は続行される。
【００３２】
図５はＣＰＵ１の適切な動作を説明するためのフロー図である。好ましくは光学コードリーダ１０の電源が投入されると、この処理がブロック３００から開始され、ブロック３０２でＣＰＵ１はトリガの受信を待つ。一般に、光学コードを有する物体がその動作範囲に入ったときに、トリガを受信する。トリガを受信した後、ブロック３０４で光学コードリーダ１０がデコードモードにあるかどうかを判断するためのテストが実行される。
【００３３】
説明したように、設計によりビデオカメラのように動作して、単に光学コードの画像を生成する画像取得モードで動作することもできる。もし光学コードリーダ１０が画像取得モードであると、センサ１８のＣＭＯＳレジスタがブロック３０６でセットされ、制御はブロック３０８へ移行する。一方、ブロック３０４で光学コードリーダ１０がデコードモードにあると判断されると、処理はブロック３０４からブロック３０８に移移行する。
【００３４】
ブロック３０８で、ＣＰＵ１はトリガーコマンドをＣＰＵ２へ送る。それから、動作はブロック３１０へ移行し、そこで画像データの受け取りを待つ。画像データを受け取ると（ブロック３１２）、ブロック３１４で、光学コードリーダ１０がデコードモードにあるかどうかを判断するためのテストが実行される。もしデコードモードでなかったら、ＣＰＵ１によって取得された画像データがブロック３１６で出力され、制御はブロック３０２に移行し、そこでＣＰＵ１は次のトリガの受信を待つ。ブロック３１４でのテストにより、光学コードリーダ１０がデコードモードにあることが明らかになると、ブロック３１８でＣＰＵ１は取得した画像データを処理し、そのデコード（コード内の情報を復元する）を試みる。
【００３５】
動作はブロック３２０へ進み、そこでブロック３１８でのデコードが成功したかどうかを判断するためのテストが実行され、成功していれば、ブロック３２２でデコードに成功したことをＣＰＵ２に通知する。一方、もしブロック３２０でのテストでデコードに成功しなかったと判断したら、ブロック３２６で所定回数（Ｎ）のデコードを試みたかどうかを判断するテストが実行される。もしそうであったら、制御はブロック３２２へ移行し、そこでＣＰＵ１はデコードに失敗したことをＣＰＵ２に通知する。一方、もしブロック３２６でのテストで、Ｎ回のデコードが試みられていなかったことが明らかになったら、制御はブロック３１０に移行し、ＣＰＵ１はデコードのための新たな画像データの取得を待つ。
【００３６】
処理はブロック３２４で終了し、そこでＣＰＵ１はデコード結果を出力する。もしデコードに成功していたら、光学コードが有する値が出力されるだろう。一方、もしデコードに失敗していたら、その結果の通知がなされる。それから制御はブロック３０２に移行し、ＣＰＵ１は次のトリガの受信を待つ。
【００３７】
開示した実施形態では、三つのプロセッサが使用されている。ＣＰＵ１は画像のデコードを実行し、ＣＰＵ２はＡＧＣとオートフォーカス制御を実行し、ＡＳＩＣ（ゲートアレイＧＡ）は特定の画像処理を実行する。この方法で処理負荷を分割することによって、各プロセッサがその特定の機能のために最適化されることにより、特に効率よく且つ速く画像処理をする結果となる。
【００３８】
しかしながら、この発明の利益は単一のプロセッサだけが使用される場合にも享受することができる。例えば、単一のプロセッサが使用され、ＣＰＵ１とＣＰＵ２の機能が異なるスレッド処理で並行して分割して実行される場合でも、繰り返し行うＡＧＣ処理を避けることができ、それによる利益はある。ＡＳＩＣの機能もまた、同じ単一のプロセッサにプログラムすることができる。
【００３９】
この発明の好ましい実施形態について説明してきたが、当業者であれば、種々の追加や変更及び置き替えが、添付した特許請求の範囲によって規定されるこの発明の範囲及び趣旨から逸脱することなく可能であることが分かるであろう。
【図１】
2012508927.tif 000003
【図２】
2012508927.tif 000004
【図４】
2012508927.tif 000005
【図５】
2012508927.tif 000006
【図３】
2012508927.tif 000007
【手続補正書】
【提出日】平成23年11月11日(2011.11.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
離れた光学コードの画像を規定する光学的品質の範囲の光学情報を撮像距離範囲上で受け取り、前記光学コードの画像から光学情報を復元するためにデコードして、前記光学コードに含まれる画像情報から光学情報を抽出し、前記光学情報に対して光学的品質の変動を補正をするために自動利得制御（ＡＧＣ）処理を実行し、前記光学コードリーダから前記光学コードまでの距離の変動を補正するために可変焦点装置のオートフォーカス制御を実行する、光学コードリーダの動作方法であって、
前記ＡＧＣ処理と前記オートフォーカス制御のうちの少なくとも一つに対応する選択された処理を前記デコードと並行して実行する光学コードリーダの動作方法。
【国際調査報告】
2012508927.tif 000008