(57)【特許請求の範囲】
【請求項１】
被写体を撮像することでその画像を読み取るスキャナ装置であって、
前記画像を読み取る際は、その被写体を撮像するための焦点位置を前記画像の読み取りに適した所定焦点位置に移動させる焦点制御手段と、
前記焦点制御手段で、前記焦点位置を前記所定焦点位置に移動する過程において前記被写体に対してスポット光を継続して照射する照射手段と、
前記焦点位置を移動させている過程において前記スポット光を撮像した際のコントラストを逐次検出する検出手段と、
前記焦点位置が前記所定焦点位置に達する前であっても、前記検出手段で検出されたコントラストが所定値以上になった場合に、前記画像をデコード処理するデコード手段と、
前記デコード処理が成功した際は、前記焦点位置が前記所定焦点位置に達する前であっても、その焦点位置の移動駆動を終了させる終了制御手段と、
を具備したことを特徴とするスキャナ装置。
【請求項２】
前記所定焦点位置は、前記被写体までの距離に応じて決まる焦点位置であり、
前記画像の読み取りに先立って前記所定焦点位置を設定する設定手段と、
を更に具備したことを特徴とする請求項１に記載のスキャナ装置。
【請求項３】
前記検出手段で検出されたコントラストが所定値以上になったことを検出した際は、前記スポット光を消灯し、前記被写体全体に対して照明を行う照明光を点灯する制御手段と、
を更に具備し、
前記デコード手段は、前記照明光で照明された被写体の画像をデコード処理する、
ことを特徴とする請求項１又は２に記載のスキャナ装置。
【請求項４】
被写体を撮像することでその画像を読み取るスキャナ装置のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
前記画像を読み取る際は、その被写体を撮像するための焦点位置を前記画像の読み取りに適した所定焦点位置に移動させる焦点制御手段、
前記焦点制御手段で、前記焦点位置を前記所定焦点位置に移動する過程において前記被写体に対してスポット光を継続して照射する照射手段、
前記焦点位置を移動させている過程において前記スポット光を撮像した際のコントラストを逐次検出する検出手段、
前記焦点位置が前記所定焦点位置に達する前であっても、前記検出手段で検出されたコントラストが所定値以上になった場合に、前記画像をデコード処理するデコード手段、
前記デコード処理が成功した際は、前記焦点位置が前記所定焦点位置に達する前であっても、その焦点位置の移動駆動を終了させる終了制御手段、
として機能させるようにしたコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャナ装置及びプログラムに関する。
【背景技術】
【０００２】
従来、スキャナ装置には、シンボルとしてのバーコードを撮像してスキャンする２次元のイメージャデバイスが用いられている。従来のイメージャデバイスは、固定焦点のレンズを用いていたため、高分解能のバーコードほど焦点の合う範囲が狭くなっており、バーコードをスキャンするための使い勝手がよくないおそれがあった。
【０００３】
それに対し、スキャナ装置に、焦点深度範囲を広げるために、カメラモジュールのようなオートフォーカス（Auto Focus）をイメージャデバイスとして搭載することも考えられるが、レンズ移動による物理的な焦点調整をしていること、焦点位置を探すためにレンズ移動により全範囲に焦点位置をずらしながら被写体の焦点位置を確認することなどが原因となり、ピントが合うまでに５００ミリ秒以上の時間がかかってしまい、スキャナの操作性を悪化させてしまう。
【０００４】
近年、レンズの物理的移動無しに焦点調整のできる液体レンズが開発され、高速での焦点調整が可能になった。例えば、液体レンズの寿命を検知する装置として、液体レンズに電圧を印加して屈折率を変化させることによりコントラストの増減方向をチェックしながら、コントラストの最大点を求め、その最大点に焦点を合わせるべき被写体が存在するとして合焦点位置を求め、この合焦点位置における印加電圧と、予め定められた基準値との差分が所定量を越えた場合に、液体レンズが寿命である旨を検知する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−９３８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来の液体レンズは、屈折率の異なる油／水の界面カーブによるレンズ構造となっているため、温度により粘性が変化することで焦点調整時間が異なっていた。また、液体レンズの個体差によっても焦点調整時間が異なっていた。
【０００７】
本発明の課題は、焦点移動時間のバラツキによる影響を少なくし、最短の時間で被写体の読み取りを行うことである。
【課題を解決するための手段】
【０００８】
請求項１は、被写体を撮像することでその画像を読み取るスキャナ装置であって、前記画像を読み取る際は、その被写体を撮像するための焦点位置を前記画像の読み取りに適した所定焦点位置に移動させる焦点制御手段と、前記焦点制御手段で、前記焦点位置を前記所定焦点位置に移動する過程において前記被写体に対してスポット光を継続して照射する照射手段と、前記焦点位置を移動させている過程において前記スポット光を撮像した際のコントラストを逐次検出する検出手段と、前記焦点位置が前記所定焦点位置に達する前であっても、前記検出手段で検出されたコントラストが所定値以上になった場合に、前記画像をデコード処理するデコード手段と、前記デコード処理が成功した際は、前記焦点位置が前記所定焦点位置に達する前であっても、その焦点位置の移動駆動を終了させる終了制御手段と、を具備したことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、焦点移動時間のバラツキによる影響を少なくし、最短の時間で被写体の読み取りを行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明に係る実施の形態のスキャナ装置の正面の外観図である。
【図２】スキャナ装置の機能構成を示すブロック図である。
【図３】イメージャモジュールの構成を示す平面図である。
【図４】液体レンズの焦点変化を示す図である。
【図５】近距離又は遠距離に置かれたバーコードのスキャンの様子を示す図である。
【図６】（ａ）は、近距離の焦点位置のバーコードを撮像したフレーム画像を示す図である。（ｂ）は、遠距離の焦点位置のバーコードを撮像したフレーム画像を示す図である。
【図７】イメージャモジュールのピント調整における経過時間に対するピント位置を示す図である。
【図８】フレーム画像と、エイマーの映像の位置と、を示す図である。
【図９】印加電圧テーブルの構成を示す図である。
【図１０】バーコード画像とエイマーの映像とを含むフレーム画像を示す図である。
【図１１】常温時のイメージャモジュールのピント調整における経過時間に対するピント位置を示す図である。
【図１２】図１１の点における切り出し画像を示す図である。
【図１３】ＣＰＵが実行するバーコード読み取り処理を示すフローチャートである。
【図１４】イメージャコントローラが実行するスキャン制御処理を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【００１８】
先ず、図１を参照して、本実施の形態の装置の外観構成を説明する。図１に、本実施の形態のスキャナ装置１の正面の外観構成を示す。
【００１９】
本実施の形態のスキャナ装置１は、情報の入力受付け、情報の記憶、情報の送受信、及びバーコード読み取りなどの機能を有する携帯機器である。
【００２０】
図１に示すように、スキャナ装置１は、筐体としてのケース２を備える。スキャナ装置１は、ケース２の正面に、トリガキー１２Ａと、各種キー１２Ｂと、表示部１４と、スピーカ１８Ａと、を備える。スキャナ装置１は、ケース２の側面に、トリガキー１２Ｃを備える。また、スキャナ装置１は、ケース２の先端に、イメージャモジュール２１を備える。スピーカ１８Ａは、バーコード読み取りのデコード成功時のブザー音等を出力する。
【００２１】
トリガキー１２Ａ，１２Ｃは、イメージャモジュール２１によるスキャン開始の入力を受け付けるトリガキーである。各種キー１２Ｂは、数字、文字等の入力キー、機能キー等からなり、各種情報の入力を受け付ける。表示部１４は、イメージャモジュール２１を用いたバーコード読み取り時のスルー画面、デコード結果等の表示情報を表示する。
【００２２】
次いで、図２を参照して、スキャナ装置１の内部の機能構成を説明する。図２に、スキャナ装置１の機能構成を示す。
【００２３】
図２に示すように、スキャナ装置１は、コントラスト検出部、デコード部及び転送部としてのＣＰＵ（central Processing Unit）１１と、操作部１２と、記憶部としてのＲＡＭ（Random Access Memory）１３と、表示部１４と、ＲＯＭ（Read Only Memory）１５と、通信部１６と、フラッシュメモリ１７と、音出力部１８と、焦点調整部及び切り出し画像生成部としてのイメージャコントローラ１９と、電圧昇圧部２０と、イメージャモジュール２１と、電源部２２と、を備える。スキャナ装置１のイメージャモジュール２１及び電源部２２を除く各部は、バス２３を介して接続されている。イメージャモジュール２１は、撮像部としての撮像素子２１１と、可変焦点レンズとしての液体レンズ２１２と、スポット光照射部としてのエイマー２１３と、照明光照射部としてのイルミネーション２１４と、を有する。
【００２４】
ＣＰＵ１１は、スキャナ装置１の各部を制御する。ＣＰＵ１１は、ＲＯＭ１５からプログラムを読み出してＲＡＭ１３に展開し、ＲＡＭ１３に展開されたプログラムとの協働で各種処理を実行する。具体的には、ＣＰＵ１１（コンピュータ）は、後述する図１３の処理フローで示すプログラムを実行する。
【００２５】
ＣＰＵ１１は、バーコード読み取りプログラム１５１に従って、イメージャコントローラ１９に、液体レンズ２１２を介してバーコードを撮像素子２１１に撮像させてエイマー２１３の光の映像を含む切り出し画像の画像データを出力させるとともに、エイマー２１３の光の映像から液体レンズ２１２の焦点位置に対応する電圧を液体レンズ２１２に印加させる。また、ＣＰＵ１１は、イメージャコントローラ１９に入力された画像データの光像のコントラストを算出し、そのコントラストが所定値以上になった又は所定時間を経過した場合に、液体レンズ２１２を介してバーコードを撮像素子２１１に撮像させてフレーム画像の画像データを出力させるとともに、当該画像データに含まれるバーコード画像をデコードする。
【００２６】
また、ＣＰＵ１１は、撮像素子２１１からイメージャコントローラ１９に入力された画像のラインデータを、ＲＡＭ１３にＤＭＡ（Direct Memory Access）転送し記憶させるＤＭＡ転送機能を有する。なお、ＤＭＡ転送機能は、イメージャコントローラ１９が有する構成としてもよい。
【００２７】
操作部１２は、各種キー１２Ｂ、トリガキー１２Ａ，１２Ｃ等のキー群を有し、当該キー群の各キーへの押下入力を受け付け、その操作情報をＣＰＵ１１に出力する。
【００２８】
ＲＡＭ１３は、揮発性の半導体メモリであり、各種データ及び各種プログラムを格納するワークエリアを有する。
【００２９】
表示部１４は、ＬＣＤ（Liquid Crystal Display）、ＥＬ（electroluminescent）ディスプレイ等で構成され、各種情報を表示する。
【００３０】
ＲＯＭ１５は、読み出し専用の半導体メモリである。ＲＯＭ１５には、バーコード読み取りプログラム１５１が記憶されている。
【００３１】
通信部１６は、通信アンテナ、信号処理部、変調部、復調部等を備え、アクセスポイントを介してサーバ装置と通信する無線通信部である。通信部１６は、送信情報の信号を信号処理部で処理し、変調部で変調して通信アンテナから電波としてアクセスポイントに送信情報を無線送信する。また、通信部１６は、通信アンテナによりアクセスポイントから送信された電波を受信して復調部で復調し、その信号を信号処理部で信号処理して受信情報を取得する。
【００３２】
また、通信部１６は、携帯電話通信方式により、基地局を介してサーバ装置と無線通信する無線通信部としてもよい。また、通信部１６は、スキャナ装置１を載置するクレードルを介してサーバ装置と有線通信する有線通信部としてもよい。
【００３３】
フラッシュメモリ１７は、各種データを読み出し及び書き込み可能な不揮発性の半導体メモリである。
【００３４】
音出力部１８は、音源部、アンプ、スピーカ１８Ａを備え、デコード成功時のブザー音を出力する。音出力部１８は、ＣＰＵ１１から入力されたブザー音出力の指示に応じて、音源部でブザー音の信号を生成し、アンプで増幅して、スピーカ１８Ａから音出力する。
【００３５】
イメージャコントローラ１９は、イメージャモジュール２１及び電圧昇圧部２０の制御部である。イメージャコントローラ１９は、ＡＳＩＣ（Application Specific Integrated Circuit）等の半導体回路により構成されている。
【００３６】
イメージャコントローラ１９は、撮像素子２１１から、キャプチャされた画像データの１フレームの出力タイミングに同期したフレーム同期信号と、画像データの１ラインの出力タイミングに同期したライン同期信号と、画像データに同期するためのクロック信号と、が入力される。イメージャコントローラ１９は、これらフレーム同期信号、ライン同期信号及びクロック信号に基づいて、ＲＡＭ１３への画像データの転送タイミングを監視する。そして、イメージャコントローラ１９は、監視状況に応じて液体レンズ２１２駆動用の電圧昇圧部２０の昇圧レベルをＰＷＭ（Pulse Width Modulation）信号でコントロールすることにより液体レンズ２１２の焦点をリアルタイムに変化させる。
【００３７】
また、イメージャコントローラ１９は、入力される画像データの画像領域を指定する画像領域指定信号を生成して撮像素子２１１に出力する。
【００３８】
電圧昇圧部２０は、イメージャコントローラ１９から入力されたＰＷＭ信号に応じて、液体レンズ２１２に電圧を印加する。
【００３９】
イメージャモジュール２１は、焦点を調整してバーコードを撮影するモジュールである。撮像素子２１１は、ＣＭＯＳ（Complementary Metal Oxide Semiconductor Image Sensor：相補性金属酸化膜半導体）イメージセンサであり、画像領域を指定して画像データを出力することが可能な撮像素子である。撮像素子２１１は、液体レンズ２１２を含む光学系を介して入射された被写体像を露光し光電変換して被写体の画像データの電気信号に変換する。
【００４０】
撮像素子２１１は、イメージャコントローラ１９から入力された画像領域指定信号により指定されたラインの画像データを１ラインずつラインデータとしてイメージャコントローラ１９に出力する。また、撮像素子２１１は、フレーム同期信号と、ライン同期信号と、クロック信号と、をイメージャコントローラ１９に出力する。液体レンズ２１２は、イメージャモジュール２１の光学系の一部を構成する光学素子であり、印加電圧に応じて高速で焦点位置を変更可能な可変焦点レンズである。液体レンズ２１２については、詳細に後述する。
【００４１】
エイマー２１３は、ＬＤ（LASER Diode）等の光源により構成され、被写体にイメージャモジュール２１を向けるための基準となるスポット光（目標光）としてのレーザ光を被写体又はその近傍に出射する。イルミネーション２１４は、ＬＥＤ（Light Emitting Diode）等の光源により構成され、被写体及びその周囲の領域を明るくするための照射光（イルミネーション光とする）を出射する。
【００４２】
電源部２２は、二次電池等で構成され、スキャナ装置１の各部に電力供給を行う。
【００４３】
次いで、図３を参照して、イメージャモジュール２１の各部の配置を詳細に説明する。図３に、イメージャモジュール２１の平面構成を示す。
【００４４】
図３に示すように、イメージャモジュール２１において、液体レンズ２１２を含む光学系の光軸に対応する位置に撮像素子２１１が配置されている。また、液体レンズ２１２を含む光学系２１２Ａの横に、エイマー２１３及びイルミネーション２１４が配置されている。エイマー２１３のレーザ光がイメージャモジュール２１（光学系及び撮像素子２１１）の画角内に含まれるように、エイマー２１３が配置されている。また、イルミネーション２１４の扇状に広がる光がイメージャモジュール２１（光学系及び撮像素子２１１）の画角を含むように、イルミネーション２１４が配置されている。
【００４５】
エイマー２１３は、エイマー光が画角方向に平行に照射されるように実装されている。このため、扇状に広がるイメージャモジュール２１の画角に対するエイマー２１３の位置が距離によって異なる。
【００４６】
次いで、図４を参照して、液体レンズ２１２を詳細に説明する。図４に、印加電圧の変化による液体レンズ２１２の焦点変化を示す。図４に、液体レンズ２１２の焦点変化を示す。
【００４７】
図４に示すように、液体レンズ２１２は、液体部２１２１，２１２２と、容器２１２３と、電極２１２４と、を有する。液体部２１２１，２１２２は、互いに屈折率が異なり比重が同じ水溶液及び油である。容器２１２３は、液体部２１２１，２１２２を密閉した容器である。電極２１２４は、電圧を印加するために液体部２１２１，２１２２の周囲に設けられている電極である。
【００４８】
液体部２１２１側の電極２１２４と、液体部２１２２側の電極２１２４との間に、電源３０が接続されている構成を考える。電源３０により、液体部２１２１側の電極２１２４と、液体部２１２２側の電極２１２４との間に電圧を印加することで、液体部２１２１，２１２２の中央部分の界面がレンズのように湾曲することでレンズ機能を実現する。また、電源３０の印加電圧を高くすることで、液体部２１２１，２１２２の中央部分の界面の湾曲が大きくなる。界面の湾曲が小さい場合に、液体レンズ２１２の焦点が遠方の距離の位置に合う。界面の湾曲が大きくなると、液体レンズ２１２の焦点も近接の距離の位置に合う。
【００４９】
また、液体レンズ２１２にかかる電圧の大きさに応じてレンズ曲率が変化するため、従来のオートフォーカス機構のようなレンズの移動が発生しないまま、電気的に高速に液体レンズ２１２のレンズ曲率を変化することができる。このように、印加電圧の調整によるレンズ曲率変化により、液体レンズ２１２の焦点調整を行うことができる。そのため、従来のオートフォーカス機構と比べ、焦点変更にかかる時間が短くなるという利点がある。このように、液体レンズ２１２の特長として、印加する電圧レベルに応じてレンズ曲率が変化できることと、物理的な可動部がないため耐久性が高いことと、印加電圧レベルは高電圧だが電流が流れないため消費電力が少ないことと、が挙げられる。
【００５０】
次いで、図５及び図６を参照して、撮像素子２１１により撮像された画像内のエイマー光の位置と、イメージャモジュール２１から被写体までの距離と、の関係を説明する。図５に、近距離又は遠距離に置かれたバーコード４１のスキャンの様子を示す。図６（ａ）に、焦点位置Ａのバーコード４１を撮像したフレーム画像ｑ１を示す。図６（ｂ）に、焦点位置Ｂのバーコード４１を撮像したフレーム画像ｑ２を示す。
【００５１】
図５に示すように、スキャナ装置１（イメージャモジュール２１）からの焦点距離が近距離である焦点位置Ａと、焦点距離が遠距離の焦点位置Ｂと、にバーコード４１が置かれているものとする。一例として、この焦点位置Ａ及び焦点位置Ｂに置かれたバーコード４１に対して、スキャナ装置１により画像キャプチャ及びデコードを行うケースを説明する。
【００５２】
スキャナ装置１によりバーコード４１を近接（焦点位置Ａ）から読み取る場合、撮像素子２１１の画角に対してバーコード画像の相対サイズが大きくなるため、焦点位置Ａの画像領域までバーコードイメージが大きくなったイメージとなり、焦点位置Ａの画像領域でデコードが可能となる。図６（ａ）に示すように、バーコード４１を近距離に置いた場合のフレーム画像ｑ１は、バーコード画像Ｑ１と、エイマー２１３のレーザ光の映像Ｅ１と、を含む。映像Ｅ１がバーコード画像Ｑ１の端に位置しており、読み取りターゲットのバーコード４１が近くにあることを示す。
【００５３】
反対に、スキャナ装置１によりバーコード４１を遠方（焦点位置Ｂ）から読み取る場合、撮像素子２１１の画角に対するバーコード画像の相対サイズが小さいため、焦点位置Ｂの画像領域に収まるような小さなサイズのイメージとなり、焦点位置Ｂの画像領域でデコードが可能となる。図６（ｂ）に示すように、バーコード４１を遠距離に置いた場合のフレーム画像ｑ２は、バーコード画像Ｑ２と、エイマー２１３のレーザ光の映像Ｅ２と、を含む。映像Ｅ２は、バーコード画像Ｑ２の外側にあるが、バーコード画像Ｑ２が小さいためである。フレーム画像ｑ２の中心から映像Ｅ２までの距離は、フレーム画像ｑ１の中心から映像Ｅ１までの距離より小さい。
【００５４】
このように、フレーム画像の大きさを同じにした場合に、フレーム画像の中心からエイマー２１３のレーザ光の映像までの距離が大きくなるほど、スキャナ装置１から被写体（バーコード４１）までの距離が大きくなっている。このことから、フレーム画像中のエイマーの映像位置によりターゲットのバーコードまでの距離を測定することができるため、それに合わせて液体レンズ２１２の焦点を調整することが可能となる。
【００５５】
次いで、図７を参照して、液体レンズ２１２の温度変化におけるイメージャモジュール２１のピント位置（焦点位置）調整を説明する。図７に、イメージャモジュール２１のピント調整における経過時間に対するピント位置を示す。
【００５６】
図７に示すように、液体レンズ２１２の環境温度を高温、常温、低温のように変化させた場合を考える。液体レンズ２１２に所定の電圧を印加することにより、イメージャモジュール２１のピント位置を、ピントが合うピント調整ターゲット位置に調整するまでの時間は、温度に応じて異なる。というのは、液体レンズ２１２の特性である温度による曲率変化速度のバラツキがあるためである。環境温度が低いほど、ピント調整ターゲット位置にピント位置が安定する時間が大きくなる。つまり、常温、高温時においても、低温時における最大変化時間分の待ち時間が必要である。
【００５７】
次に、図８及び図９を参照して、フラッシュメモリ１７に記憶されている情報を説明する。図８に、フレーム画像ｑと、エイマー２１３の映像Ｅａ，Ｅｂの位置と、を示す。図９に、印加電圧テーブル１７１の構成を示す。
【００５８】
図８に示すように、スキャナ装置１における撮像素子２１１のフレーム画像ｑにｘ軸及びｙ軸をとり、ｘ座標及びｙ座標を考える。ターゲットのバーコードがイメージャモジュール２１から遠いときのエイマー２１３の映像Ｅａの座標を（ｘａ，ｙｅ）とする。ターゲットのバーコードがイメージャモジュール２１から近いときのエイマー２１３の映像Ｅｂの座標を（ｘｂ，ｙｅ）とする。また、フレーム画像ｑのうち、少なくとも全ての距離のエイマー２１３の映像を含むことが可能な、映像及びその周辺の領域の画像を切り出し領域画像Ｆ１とする。領域画像Ｆ１の左上及び右上の座標を、順に、（ｘ１，ｙ１）、（ｘ２，ｙ２）とする。
【００５９】
図９に示すように、フレーム画像ｑにおけるエイマー２１３の映像のｘ座標に対応る適切な液体レンズ２１２への印加電圧を定義した印加電圧テーブル１７１を説明する。印加電圧テーブル１７１は、フレーム画像ｑにおけるエイマー２１３の映像のｘ座標であるエイマー位置１７１１と、エイマー位置１７１１に対応して、ターゲットに焦点を合わせる適切な液体レンズ２１２への印加電圧である印加電圧１７１２と、の項目を各エイマー位置毎に予め記憶している。
【００６０】
フラッシュメモリ１７には、予め、印加電圧テーブル１７１と、切り出し領域画像Ｆ１の座標（ｘ１，ｙ１）、（ｘ２，ｙ２）と、が記憶されている。印加電圧テーブル１７１と、座標（ｘ１，ｙ１）、（ｘ２，ｙ２）とは、出荷時のキャリブレーションにより設定されて記憶される。切り出し領域画像Ｆ１は、ターゲットのバーコードがイメージャモジュール２１から遠いときのエイマー２１３の映像Ｅａの座標（ｘａ，ｙｅ）、及び、ターゲットのバーコードがイメージャモジュール２１から近いときのエイマー２１３の映像Ｅｂの座標（ｘｂ，ｙｅ）を含む範囲である。
【００６１】
次に、図１０〜図１３を参照して、スキャナ装置１の動作を説明する。先ず、図１０〜図１２を参照して、本実施の形態の液体レンズ２１２の焦点調整の概要を説明する。図１０に、バーコード画像Ｑ３とエイマー２１３の映像Ｅ３とを含むフレーム画像ｑ３を示す。図１１に、常温時のイメージャモジュール２１のピント調整における経過時間に対するピント位置を示す。図１２に、図１１の点Ｐ１，Ｐ２，Ｐ３における切り出し画像ｐ１，ｐ２，ｐ３を示す。
【００６２】
環境温度が常温時に、スキャナ装置１から任意の距離にあるバーコード４１をスキャンするケースを考える。図１０に示すように、スキャナ装置１により、初期状態において、バーコード画像Ｑ３とエイマー２１３の映像Ｅ３１とを含むフレーム画像ｑ３が得られる。
【００６３】
一方、図１１に示すように、常温時のイメージャモジュール２１のピント調整における経過時間に対するピント位置の曲線において、予め、デコード可能なピント範囲が設定されている。そして、ピント調整開始からデコード可能なピント範囲までの間に、順に、点Ｐ１，Ｐ２，Ｐ３をとる。
【００６４】
スキャナ装置１は、ピント調整開始からフレーム画像を繰り返し取得していくとともに、各フレーム画像から図８の座標（ｘ１，ｙ１）から座標（ｘ２，ｙ２）までで決定される領域を切り出して切り出し画像を取得する。図１２に示すように、点Ｐ１，Ｐ２，Ｐ３に対応して、切り出し画像ｐ１，ｐ２，ｐ３を取得する。切り出し画像ｐ１，ｐ２，ｐ３は、順に、エイマー２１３の映像Ｅ３１，Ｅ３２，Ｅ３３を含む。ピント調整開始時のフレーム画像ｑ３の切り出し画像は、切り出し画像ｐ１であるものとする。
【００６５】
先ず、スキャナ装置１は、ピント調整開始し、フレーム画像ｑ３の切り出し画像ｐ１から、映像Ｅ３１の位置（エイマー位置）を検出し、映像Ｅ３１のエイマー位置に対応する、スキャナ装置１から被写体のバーコード位置までの距離を推定する。実際には、スキャナ装置１は、推定した距離に合うように液体レンズの焦点を調整するため、印加電圧テーブル１７１を用いて、映像Ｅ３１のエイマー位置に対応する液体レンズ２１２への印加電圧を設定する。そして、スキャナ装置１は、推定された印加電圧を液体レンズ２１２に印加し、液体レンズ２１２が変化している間に、フレーム画像を取得してエイマー２１３の映像を含む切り出し画像を取得することを繰り返し、切り出し画像中の映像のコントラストを監視する。焦点が合っていない間は、映像のスポット形状の輪郭はぼやけているが、焦点が合ってくるとはっきりとしてくる。スキャナ装置１は、切り出し画像のコントラストが予め設定された一定値以上であるか否かを判別する。
【００６６】
例えば、切り出し画像のコントラストが一定値よりも小さいと、切り出し画像ｐ１，ｐ２に示すように、映像Ｅ３１，Ｅ３２がぼやけており、ピント（焦点位置）が合っていない。そして、スキャナ装置１は、切り出し画像のコントラストが一定値以上になると、ピント（焦点位置）がほぼ合っているものとして、その焦点距離でエイマー２１３を消灯し、イルミネーション２１４を点灯して、バーコードを撮像し、得られるフレーム画像中のバーコード画像をデコードする。例えば、切り出し画像のコントラストが一定値以上になると、切り出し画像ｐ３に示すように、映像Ｅ３３の輪郭がはっきりしている。
【００６７】
また、スキャナ装置１は、焦点調整開始から切り出し画像のコントラストの監視が予め設定された一定時間経過すると、液体レンズ２１２の焦点変化待ちを終了し、ピント（焦点位置）がほぼ合っているものとみなして、上記バーコードスキャン及びデコードを行う。この一定時間とは、想定される環境温度が最も低い場合に対応してピント位置が最初にピント調整ターゲット位置になる時間である。環境温度が、この一定時間に対応する温度以上となるので、ピント位置がピント調整ターゲット位置になる時間は、この一定時間以下となるからである。
【００６８】
次いで、図１３及び図１４を参照して、スキャナ装置１のＣＰＵ１１及びイメージャコントローラ１９の動作を説明する。図１３に、ＣＰＵ１１が実行するバーコード読み取り処理のフローチャートを示す。図１４に、イメージャコントローラ１９が実行するスキャン制御処理のフローチャートを示す。
【００６９】
図１３を参照して、ＣＰＵ１１で実行されるバーコード読み取り処理を説明する。バーコード読み取り処理は、イメージャモジュール２１を用いてバーコードをスキャンし、取得したバーコードの画像データをデコードする処理である。スキャナ装置１において、トリガキー１２Ａ，１２Ｃがユーザにより押下入力されたことをトリガとして、ＣＰＵ１１は、ＲＯＭ１５から読み出されてＲＡＭ１３に適宜展開されたバーコード読み取りプログラム１５１との協働で、バーコード読み取り処理を実行する。
【００７０】
先ず、ＣＰＵ１１は、初期設定を行い、イメージャモジュール２１の起動の指示信号をイメージャコントローラ１９に出力する（ステップＳ１１）。ステップＳ１１の初期設定は、例えば、撮像素子２１１からイメージャコントローラ１９に入力された画像データ（ラインデータ）をＲＡＭ１３にＤＭＡ転送する際のＲＡＭ１３内の記憶領域の設定である。
【００７１】
そして、ＣＰＵ１１は、エイマー２１３の点灯の指示信号と、撮像素子２１１の切り出しキャプチャの指示信号とを、イメージャコントローラ１９に出力する（ステップＳ１２）。切り出しキャプチャの指示信号とは、フラッシュメモリ１７に記憶されている座標（ｘ１，ｙ１）及び座標（ｘ２，ｙ２）で定義された切り出し領域のラインデータの取得の指示信号である。
【００７２】
そして、ＣＰＵ１１は、ＤＭＡ機能により、撮像素子２１１からイメージャコントローラ１９に入力された切り出し画像のラインデータをＲＡＭ１３にＤＭＡ転送して記憶させる（ステップＳ１３）。そして、ＣＰＵ１１は、ＲＡＭ１３に記憶された切り出し画像の画像データ（ラインデータ）を読み出し、この切り出し画像内のエイマー位置（映像のｘ座標）を検出する（ステップＳ１４）。エイマー位置の検出は、スキャナ装置１からバーコードまでの距離の推定に対応する。
【００７３】
そして、ＣＰＵ１１は、フラッシュメモリ１７に記憶された印加電圧テーブル１７１において、ステップＳ１４で検出したエイマー位置１７１１に対応する印加電圧１７１２を読み出し、液体レンズ２１２への印加電圧をターゲットに焦点を合わせる印加電圧１７１２に変更する指示信号をイメージャコントローラ１９に出力する（ステップＳ１５）。
【００７４】
そして、ＣＰＵ１１は、ステップＳ１６，Ｓ１７として、ステップＳ１２，Ｓ１３と同様の処理を実行する。そして、ＣＰＵ１１は、ＲＡＭ１３に記憶された切り出し画像の画像データ（ラインデータ）を読み出し、この切り出し画像内のエイマー２１３の映像のコントラストを算出する（ステップＳ１８）。そして、ＣＰＵ１１は、ステップＳ１８で算出したコントラストが予め設定された一定値であるか、又は最初のステップＳ１６の実行から予め設定された一定時間をタイムアウトしたか、否かを判別する（ステップＳ１９）。コントラストが一定値以上でなく且つタイムアウトもしていない場合（ステップＳ１９；ＮＯ）、ステップＳ１６に移行される。これは、液体レンズ２１２の焦点調整が行われている場合であり、図１２に示すように、映像Ｅ３１，Ｅ３２がぼやけており、ピント（焦点位置）が合っていない状態である。このような状態のときは、ステップＳ１６からステップＳ１９の処理を繰り返す。
【００７５】
コントラストが一定値以上であり又はタイムアウトした場合（ステップＳ１９；ＹＥＳ）、ＣＰＵ１１は、エイマー２１３の消灯の指示信号をイメージャコントローラ１９に出力する（ステップＳ２０）。そして、ＣＰＵ１１は、イルミネーション２１４の点灯（次画像キャプチャ中のイルミネーション２１４の点灯及びその後の消灯）の指示信号をイメージャコントローラ１９に出力する（ステップＳ２１）。
【００７６】
そして、ＣＰＵ１１は、撮像素子２１１の全画面の画像キャプチャの指示信号をイメージャコントローラ１９に出力する（ステップＳ２２）。そして、ステップＳ２３として、ＣＰＵ１１は、ステップＳ１３と同様の処理を実行する。そして、ＣＰＵ１１は、ＲＡＭ１３に記憶された全画面の画像データ（ラインデータ）を読み出し、この全画面のフレーム画像について、デコードをしやすくする画像処理（一つの画像データに合成する処理等）を施し、画像処理後のフレーム画像中のバーコード画像をデコードする（ステップＳ２４）。
【００７７】
そして、ＣＰＵ１１は、ステップＳ２４のデコードが成功したか否かを判別する（ステップＳ２５）。デコードが成功していない場合（ステップＳ２５；ＮＯ）、ステップＳ１２に移行される。デコードが成功した場合（ステップＳ２５；ＹＥＳ）、ＣＰＵ１１は、イメージャモジュール２１の電源オフの指示信号をイメージャコントローラ１９に出力する（ステップＳ１７）。そして、ＣＰＵ１１は、デコード結果を表示部１４に表示し、デコード成功のブザー音を音出力部１８に鳴動させ（ステップＳ２７）、バーコード読み取り処理を終了する。
【００７８】
次いで、図１４を参照して、イメージャコントローラ１９で実行されるスキャン制御処理を説明する。スキャン制御処理は、イメージャモジュール２１を用いて焦点位置を調整してバーコードをスキャンし、エイマー２１３の映像を含む切り出し画像やバーコード画像を含むフレーム画像の画像データを取得する処理である。スキャナ装置１において、イメージャコントローラ１９は、バーコード読み取り処理のステップＳ１１に対応して、ＣＰＵ１１から起動の指示信号が入力されたことをトリガとして、スキャン制御処理を実行する。
【００７９】
先ず、イメージャコントローラ１９は、初期設定を行う（ステップＳ３１）。ステップＳ３１の初期設定は、例えば、イメージャモジュール２１からの画像データの受信に関する設定である。そして、イメージャコントローラ１９は、イメージャモジュール２１の電源をオンする（ステップＳ３２）。
【００８０】
そして、イメージャコントローラ１９は、バーコード読み取り処理のステップＳ２６に対応して、ＣＰＵ１１からイメージャモジュール２１の電源オフの指示信号が入力されたか否かを判別する（ステップＳ３３）。電源オフの指示信号が入力されていない場合（ステップＳ３３；ＮＯ）、イメージャコントローラ１９は、バーコード読み取り処理のステップＳ１５に対応して、ＣＰＵ１１からの液体レンズ２１２への印加電圧変更の指示信号が入力されたか否かを判別する（ステップＳ３４）。
【００８１】
印加電圧変更の指示信号が入力された場合（ステップＳ３４；ＹＥＳ）、イメージャコントローラ１９は、印加電圧変更の指示信号の印加電圧値に応じたＰＷＭ信号を生成して電圧昇圧部２０に出力する（ステップＳ３５）。電圧昇圧部２０により、液体レンズ２１２の印加電圧が変更される。
【００８２】
ステップＳ３５の実行後、又は印加電圧変更の指示信号が入力されていない場合（ステップＳ３４；ＮＯ）、イメージャコントローラ１９は、バーコード読み取り処理のステップＳ１２，Ｓ１６，Ｓ２２に対応して、ＣＰＵ１１から画像キャプチャの指示信号が入力されたか否かを判別する（ステップＳ３６）。画像キャプチャの指示信号が入力されていない場合（ステップＳ３６；ＮＯ）、ステップＳ３３に移行される。
【００８３】
画像キャプチャの指示信号が入力された場合（ステップＳ３６；ＹＥＳ）、イメージャコントローラ１９は、ステップＳ３６で入力された画像キャプチャの指示信号に応じて、撮像素子２１１の画像キャプチャ領域を切り出し画像又は全画面に設定する（ステップＳ３７）。そして、イメージャコントローラ１９は、バーコード読み取り処理のステップＳ１２，Ｓ１６に対応して、ＣＰＵ１１からエイマー２１３の点灯の指示信号が入力されたか否かを判別する（ステップＳ３８）。
【００８４】
エイマー２１３の点灯の指示信号が入力されている場合（ステップＳ３８；ＹＥＳ）、イメージャコントローラ１９は、エイマー２１３を点灯する（ステップＳ３９）。エイマー２１３の点灯の指示信号が入力されていない場合（ステップＳ３８；ＮＯ）、バーコード読み取り処理のステップＳ２０に対応して、ＣＰＵ１１からエイマー２１３の消灯の指示信号が入力されており、イメージャコントローラ１９は、エイマー２１３を消灯する（ステップＳ４０）。
【００８５】
そして、イメージャコントローラ１９は、バーコード読み取り処理のステップＳ２１に対応して、ＣＰＵ１１からイルミネーション２１４の点灯の指示信号が入力されたか否かを判別する（ステップＳ４１）。イルミネーション２１４の点灯の指示信号が入力されていない場合（ステップＳ４１；ＮＯ）、イメージャコントローラ１９は、ステップＳ３７で設定された切り出し画像の画像キャプチャ領域の画像領域指定信号を生成して撮像素子２１１に出力し、撮像素子２１１に画像キャプチャさせ、撮像素子２１１から切り出し画像の画像データが入力され（ステップＳ４２）、ステップＳ３３に移行される。
【００８６】
イルミネーション２１４の点灯の指示信号が入力された場合（ステップＳ４１；ＮＯ）、イメージャコントローラ１９は、イルミネーション２１４を点灯する（ステップＳ４３）。そして、イメージャコントローラ１９は、ステップＳ３７で設定された全画面の画像キャプチャ領域の画像領域指定信号を生成して撮像素子２１１に出力し、撮像素子２１１に画像キャプチャさせ、撮像素子２１１から全画面のフレーム画像の画像データが入力される（ステップＳ４４）。そして、イメージャコントローラ１９は、イルミネーション２１４を消灯し（ステップＳ４５）、ステップＳ３３に移行される。
【００８７】
電源オフの指示信号が入力されていない場合（ステップＳ３３；ＮＯ）、イメージャコントローラ１９は、イメージャモジュール２１の電源をオフし（ステップＳ４６）、スキャン制御処理を終了する。
【００８８】
以上、本実施の形態によれば、スキャナ装置１は、エイマー２１３と、液体レンズ２１２と、撮像素子２１１と、撮像素子２１１により撮像された画像の中のスポット光（エイマー２１３の光）の映像の位置から、被写体までの焦点位置に応じた電圧を算出し、当該算出した電圧を液体レンズ２１２に印加し、液体レンズ２１２の焦点調整が行われている際に、前記撮像された画像の中から、前記スポット光の映像を含む画像を切り出して切り出し画像を生成し、前記切り出し画像から前記スポット光の映像のコントラストを検出し、予め設定された所定値以上のコントラストを検出する場合に、前記撮像された画像に含まれるシンボル画像をデコードするイメージャコントローラ１９及びＣＰＵ１１と、を備える。このため、温度や個体による可変焦点レンズの焦点変化時間のバラツキによらず、最短の時間で焦点調整を終了することができる。
【００８９】
また、撮像素子２１１は、液体レンズ２１２の駆動が行われている際に、前記画像を順次撮像し、イメージャコントローラ１９は、前記順次撮像された画像の中から、前記映像を含む予め定められた領域の画像を切り出す。このため、スポット光の映像を含む切り出し画像を高速に取得できる。
【００９０】
また、撮像素子２１１及びイメージャコントローラ１９は、スポット光の映像の所定値以上のコントラストを検出するまで、前記映像を含む予め定められた領域の画像の切り出し及びコントラストの検出を繰り返し行う。このため、繰り返し取得した切り出し画像により画像データの転送及びコントラストの検出時間をより短縮できる。
【００９１】
また、ＣＰＵ１１は、スポット光の映像の所定値以上のコントラストが検出された場合に、撮像素子２１１に全画面のフレーム画像を撮像させ、当該撮像された全画面の画像をデコードする。このため、全画面のフレーム画像に含まれるバーコード画像を確実にデコードできる。
【００９２】
また、ＣＰＵ１１は、撮像素子２１１からイメージャコントローラ１９に入力された切り出し画像及びフレーム画像の画像データをＲＡＭ１３に転送して記憶させる。このため、画像データをＲＡＭ１３に容易に記憶できる。
【００９３】
また、ＣＰＵ１１は、スポット光の映像の所定値以上のコントラストを検出する場合に、エイマー２１３を消灯して撮像素子２１１に画像を撮像させる。このため、デコードに不要なスポット光の映像をバーコード画像から除去でき、デコードの精度を高めることができる。
【００９４】
また、ＣＰＵ１１は、スポット光の映像の所定値以上のコントラストを検出する場合に、イルミネーション２１４を点灯して撮像素子２１１に画像を撮像させる。このため、バーコード画像のコントラストを高めることができ、デコードの精度を高めることができる。
【００９５】
また、ＣＰＵ１１は、スポット光の映像の所定値以上のコントラストを検出する場合、又は焦点調整開始からの経過時間が予め設定された低温の焦点調整時間に対応する所定時間を超えた場合に、撮像素子２１１により撮像された画像に含まれるシンボル画像をデコードする。このため、温度による可変焦点レンズの焦点変化時間のバラツキによる影響を少なくし、最短の時間でシンボルの読み取りを行うことができる。
【００９６】
なお、上記実施の形態における記述は、本発明に係るスキャナ装置及びプログラムの一例であり、これに限定されるものではない。
【００９７】
上記実施の形態では、焦点可変レンズとして、液体レンズ２１２を用いる構成としたが、これに限定されるものではない。例えば、印加電圧により屈折率が変化する「電気光学結晶」の一種であるＫＴＮ（タンタル酸ニオブ酸カリウム、ＫＴa１−ｘＮbｘＯ３）を用いた可変焦点レンズ等、他の可変焦点レンズとしてもよい。
【００９８】
また、上記実施の形態では、シンボルとして１次元バーコードを読み取る構成を説明したが、これに限定されるものではない。例えば、２次元コード等のシンボルを読み取る構成としてもよい。
【００９９】
また、上記実施の形態では、エイマー２１３から照射されたスポット光の映像の例を説明したが、これに限定されるものではない。基準となるスポット光の映像は、他の光源から照射された光の映像であってもよい。この映像は、スキャナ装置と被写体との距離に応じて、画像全体の中で映像の位置が相対的に変化するものであればよい。例えば、スポット光は、液体レンズ２１２を含む光学系２１２Ａの光軸方向に沿って、ほぼ平行に照射されればよい。
【０１００】
また、上記実施の形態では、エイマー２１３の光の映像を含む切り出し画像は、予め定めた領域（座標（ｘ１，ｙ１）及び座標（ｘ２，ｙ２）で表される矩形領域）である例で説明したが、これに限定されるものではない。例えば、エイマーの光の映像を含む切り出し画像は、図１３のステップＳ１２でその位置が既に検出されているので、同図のステップＳ１６では、エイマーの光の映像が含まれる部分領域であり、前記予め定めた領域より狭い領域を決定でき、この決定された領域の画像を切り出すようにしてもよい。この部分領域は前記予め定めた領域より狭いので、一定値以上のコントラストが検出されるまで繰り返されるステップＳ１６〜ステップＳ１８の処理、即ち、切り出し画像の画像データの転送処理と、コントラスト検出処理と、の時間をより短縮でき、迅速な処理が可能になる。
【０１０１】
また、上記実施の形態では、被写体までの距離を示すエイマー２１３の光の映像の位置と液体レンズ２１２への印加電圧との関係を印加電圧テーブル１７１に予め記憶した例で説明したが、これに限定されるものではない。エイマー２１３の光の映像の位置と液体レンズ２１２への印加電圧との関係を計算式で表し、エイマー２１３の光の映像の位置（距離）から液体レンズ２１２への印加電圧を上記計算式により直接算出する構成としてもよい。
【０１０２】
また、上記実施の形態では、エイマー２１３から照射されるスポット光の映像形状を、円形として説明したが、これに限定されるものではない。スポット光の映像形状は、十字形状等、他の形状であってもよい。
【０１０３】
また、上記実施の形態では、イメージャコントローラ１９がＡＳＩＣ等の半導体回路であることとして説明したが、これに限定されるものではない。例えば、イメージャコントローラ１９が、ＣＰＵ、ＲＡＭ及びＲＯＭにより構成され、ＲＯＭから読み出されてＲＡＭに展開されたプログラムとＣＰＵとの協働により、イメージャコントローラ１９が処理を実行する構成としてもよい。
【０１０４】
また、上記実施の形態におけるスキャナ装置の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。
【符号の説明】
【０１０５】
１  スキャナ装置
２  ケース
１１  ＣＰＵ
１２  操作部
１２Ａ，１２Ｃ  トリガキー
１２Ｂ  各種キー
１３  ＲＡＭ
１４  表示部
１５  ＲＯＭ
１６  通信部
１７  フラッシュメモリ
１８  音出力部
１８Ａ  スピーカ
１９  イメージャコントローラ
２０  電圧昇圧部
２１  イメージャモジュール
２１１  撮像素子
２１２  液体レンズ
２１２１，２１２２  液体部
２１２３  容器
２１２４  電極
２１２Ａ  光学系
２１３  エイマー
２１４  イルミネーション
２２  電源部
２３  バス
３０  電源
４１  バーコード
【図１】
0005515887.tif 000002
【図２】
0005515887.tif 000003
【図５】
0005515887.tif 000004
【図７】
0005515887.tif 000005
【図９】
0005515887.tif 000006
【図１３】
0005515887.tif 000007
【図１４】
0005515887.tif 000008
【図３】
0005515887.tif 000009
【図４】
0005515887.tif 000010
【図６】
0005515887.tif 000011
【図８】
0005515887.tif 000012
【図１０】
0005515887.tif 000013
【図１１】
0005515887.tif 000014
【図１２】
0005515887.tif 000015