(57)【要約】【課題】暗所でも効率良く読み取りを行う。【解決手段】コード読取装置１は、光学的に読取可能なコードを読み取るコード読取装置１であって、コードの画像を撮影する撮像素子２１１と、撮像素子２１１により撮影されたコードの画像に基づいて、撮像素子２１１による次回以降のコードの画像の撮影時の露光時間Ｅと当該次回以降のコードの画像の出力画像サイズＲとを調整し、次回以降のコードの画像の撮影時に、撮像素子２１１が調整された露光時間Ｅで撮影を行い、調整された出力画像サイズＲのコードの画像を出力するよう制御する。【選択図】図４
2020160486.tif 000002
【特許請求の範囲】
【請求項１】
光学的に読取可能なコードを読み取るコード読取装置であって、
前記コードの画像を撮影する撮像手段と、
前記撮像手段により撮影された前記コードの画像に基づいて、当該撮像手段による次回以降のコードの画像の撮影時の露光時間と当該次回以降のコードの画像の出力画像サイズとを調整する調整手段と、
前記次回以降のコードの画像の撮影時に、前記撮像手段が前記調整手段により調整された前記露光時間で撮影を行い、前記出力画像サイズのコードの画像を出力するよう制御する制御手段と、
を備えることを特徴とするコード読取装置。
【請求項２】
前記撮像手段により撮影された前記コードの画像に基づいて、当該コードをデコードするデコード手段を備え、
前記調整手段は、前記デコード手段によるデコードに失敗した場合、当該デコードの対象となったコードの画像に基づいて、前記露光時間と前記出力画像サイズとを調整することを特徴とする請求項１に記載のコード読取装置。
【請求項３】
前記デコードの対象となったコードの画像の輝度値に基づいて、前記次回以降のコードの画像の撮影時において候補となる露光時間を決定する決定手段を備え、
前記調整手段は、前記決定手段により決定された前記候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するとともに、前記出力画像サイズを所定のサイズに調整することを特徴とする請求項２に記載のコード読取装置。
【請求項４】
前記調整手段は、前記候補となる露光時間の長さが前記最小露光時間の長さ以上であり、且つ、予め定めた第１の最大露光時間の長さよりも短い場合、前記露光時間を当該候補となる露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズに調整することを特徴とする請求項３に記載のコード読取装置。
【請求項５】
前記調整手段は、前記候補となる露光時間の長さが前記第１の最大露光時間の長さ以上であり、且つ、予め定めた第２の最大露光時間の長さよりも短い場合、前記露光時間を当該候補となる露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズの半分のサイズに調整することを特徴とする請求項４に記載のコード読取装置。
【請求項６】
前記調整手段は、前記候補となる露光時間の長さが前記第２の最大露光時間の長さ以上である場合、前記露光時間を前記第２の最大露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズの半分のサイズに調整することを特徴とする請求項５に記載のコード読取装置。
【請求項７】
撮影位置を照らす照明手段と、
撮影位置を案内するための発光手段と、
を備え、
前記制御手段は、前記撮像手段に前記コードの画像を撮影させる際に前記照明手段を点灯させ、前記撮像手段により撮影された前記コードの画像を出力させる際に前記発光手段を点灯させることを特徴とする請求項１〜６のいずれか一項に記載のコード読取装置。
【請求項８】
光学的に読取可能なコードの画像を撮影する撮像手段を備えるコード読取装置のコンピューターを、
前記撮像手段により撮影された前記コードの画像に基づいて、当該撮像手段による次回以降のコードの画像の撮影時の露光時間と当該次回以降のコードの画像の出力画像サイズとを調整する調整手段、
前記次回以降のコードの画像の撮影時に、前記撮像手段が前記調整手段により調整された前記露光時間で撮影を行い、前記出力画像サイズのコードの画像を出力するよう制御する制御手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コード読取装置及びプログラムに関する。
【背景技術】
【０００２】
従来、プレスキャンで読取られるプレスキャン画像における指定された読取範囲内の画像を解析し、プレスキャン画像の出力値の最大値が閾値より小さい場合、プレスキャン画像の出力値の最大値がスキャナ装置のダイナミックレンジの最大値となるように露光時間を調整し、本スキャンの画像読取りを行う画像読取制御方法が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２８７０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に開示されている画像読取制御方法では、暗い原稿を読み取る場合、露光時間の調整によってスキャンのフレームレートが低下するため、読み取りに時間がかかってしまうという問題がある。
【０００５】
本発明は、このような問題に鑑みてなされたものであり、暗所でも効率良く読み取りを行うことを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係るコード読取装置は、
光学的に読取可能なコードを読み取るコード読取装置であって、
前記コードの画像を撮影する撮像手段と、
前記撮像手段により撮影された前記コードの画像に基づいて、当該撮像手段による次回以降のコードの画像の撮影時の露光時間と当該次回以降のコードの画像の出力画像サイズとを調整する調整手段と、
前記次回以降のコードの画像の撮影時に、前記撮像手段が前記調整手段により調整された前記露光時間で撮影を行い、前記出力画像サイズのコードの画像を出力するよう制御する制御手段と、
を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、暗所でも効率良く読み取りを行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態のコード読取装置の全体構造を示す正面図である。
【図２】コード読取装置の内部構成を示すブロック図である。
【図３】イメージャモジュール及びイメージャコントローラの平面図である。
【図４】コード読取装置によるコード読み取り処理の制御手順を示すフローチャートである。
【図５】コード読取装置による露光時間・画像サイズ調整処理の制御手順を示すフローチャートである。
【図６】（ａ）は撮像素子により撮影された画像全体のサイズを示す図であり、（ｂ）は撮像素子により撮影された画像全体の半分のサイズを示す図であり、（ｃ）はコード読み取り処理の時間配分を模式的に示した図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１０】
図１は、本発明の実施形態のコード読取装置の全体構造を示す正面図である。
本実施形態のコード読取装置（コンピューター）１は、一次元バーコード、二次元コード等のコードの読み取り機能を有する携帯機器である。
【００１１】
コード読取装置１は、筐体としてのケース２を備える。コード読取装置１は、ケース２の正面に、トリガキー１２Ａと、各種キー１２Ｂと、表示部１４と、を備える。コード読取装置１は、ケース２の側面に、トリガキー１２Ｃを備える。また、コード読取装置１は、ケース２の先端部に、イメージャモジュール（スキャナデバイス）２１を備える。
【００１２】
トリガキー１２Ａ、１２Ｃは、イメージャモジュール２１によるコード読み取り動作の開始命令の入力を受け付けるトリガキーである。各種キー１２Ｂは、数字、文字等の入力キー、機能キー等からなり、各種情報の入力操作を受け付ける。表示部１４は、入力操作に係るメニューやステータスなどの情報、及び、イメージャモジュール２１を用いたコード読み取り動作の実行時のステータスやデコード結果等の情報を表示する。
【００１３】
図２は、コード読取装置１の内部構成を示すブロック図である。
【００１４】
コード読取装置１は、調整手段、制御手段、デコード手段、決定手段としてのＣＰＵ（Central Processing Unit）１１と、操作部１２と、ＲＡＭ（Random Access Memory）１３と、表示部１４と、記憶部１５と、通信部１６と、イメージャコントローラ１９と、イメージャモジュール２１と、電源部２２と、レーザ駆動電源２３と、を備える。
【００１５】
コード読取装置１のイメージャモジュール２１及び電源部２２を除く各部は、バス２４を介して互いに接続されている。イメージャモジュール２１は、撮像素子（撮像手段）２１１と、可変焦点レンズ２１２と、可変焦点レンズ２１２を駆動して焦点を調節するフォーカス機構２１３と、エイマー（発光手段）２１４と、イルミネーション（照明手段）２１５と、を有する。
【００１６】
ＣＰＵ１１は、コード読取装置１の各部を制御する。ＣＰＵ１１は、記憶部１５から種々のプログラムを読み出してＲＡＭ１３に展開し、ＲＡＭ１３に展開されたプログラムとの協働で各種処理を実行する。
【００１７】
操作部１２は、各種キー１２Ｂ、トリガキー１２Ａ、１２Ｃ等のキー群を有し、当該キー群の各キーの押下操作を受け付け、その操作情報を入力信号に変換してＣＰＵ１１へ出力する。
【００１８】
ＲＡＭ１３は、揮発性の半導体メモリであり、ＣＰＵ１１に作業用メモリ空間を提供する。また、ＲＡＭ１３は、各種データの一時記憶、及び、各種プログラムを実行する際の展開に用いられる。
【００１９】
表示部１４は、ＬＣＤ（Liquid Crystal Display）や、ＥＬ（Electro Luminescent）ディスプレイ等で構成され、ＣＰＵ１１から入力される表示情報に応じて各種情報を表示する。
【００２０】
記憶部１５は、読み書きの可能な不揮発性メモリであり、例えば、フラッシュメモリである。記憶部１５には、予め種々のプログラムや設定データが格納されている。或いは、記憶部１５は、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）やハードディスクであってもよい。又は、専用のコード読取装置においては、ＲＯＭ（Read Only Memory）を用いることとしてもよい。この記憶部１５に格納されたプログラムには、イメージャモジュール２１を用いてコードをスキャンし、取得したコードの画像データをデコードする処理を行うプログラム１５ａが含まれる。
【００２１】
通信部１６は、通信アンテナ、信号処理部、変調部、復調部等を備え、アクセスポイントと無線通信する。アクセスポイントは、通信を中継する機器である。つまり、コード読取装置１は、通信部１６により、アクセスポイントを介して、当該アクセスポイントに接続されたサーバ装置等の外部機器と通信する。通信部１６は、送信情報の信号を信号処理部で処理し、変調部で変調して通信アンテナから電波としてアクセスポイントに送信情報を無線送信する。また、通信部１６は、通信アンテナによりアクセスポイントから送信された電波を受信して復調部で復調し、その信号を信号処理部で信号処理して受信情報を取得する。
【００２２】
また、通信部１６は、携帯電話通信方式により、基地局を介してサーバ装置と無線通信する無線通信部としてもよい。また、通信部１６は、コード読取装置１を載置するクレードル、又は通信ケーブルを介して、サーバ装置と有線通信する有線通信部としてもよい。
【００２３】
イメージャコントローラ１９は、イメージャモジュール２１の各部の動作を制御し、イメージャモジュール２１とコード読取装置１の他の部位との間のデータの送受信を制御する。イメージャコントローラ１９は、ＡＳＩＣ（Application Specific Integrated Circuit）等の半導体回路により構成されている。
【００２４】
イメージャコントローラ１９は、撮像素子２１１から、キャプチャされた画像データの１フレームの出力タイミングに同期したフレーム同期信号と、画像データの１ラインの出力タイミングに同期したライン同期信号と、画像データに同期するためのクロック信号と、が入力される。イメージャコントローラ１９は、これらフレーム同期信号、ライン同期信号及びクロック信号に基づいて、ＲＡＭ１３への画像データの転送タイミングを監視する。イメージャコントローラ１９は、撮像素子２１１からイメージャコントローラ１９に入力された画像データを、ＣＰＵ１１を介さずに直接ＲＡＭ１３に転送するＤＭＡ（Direct Memory Access）転送機能を有する。
【００２５】
イメージャモジュール２１は、可変焦点レンズ２１２の焦点位置を調整して被写体のコードを撮像するモジュールである。撮像素子２１１は、特には限られないが、ＣＭＯＳ（Complementary Metal Oxide Semiconductor：相補性金属酸化膜半導体）イメージセンサである。撮像素子２１１は、可変焦点レンズ２１２を含む光学系を介して入射された被写体像を光電変換して電気信号に変換することで、画像データをキャプチャ（取得）する。
【００２６】
撮像素子２１１は、イメージャコントローラ１９から入力された画像領域指定信号により指定されたラインの画像データを１ラインずつラインデータとしてイメージャコントローラ１９に出力する。また、撮像素子２１１は、フレーム同期信号、ライン同期信号、及び、クロック信号をイメージャコントローラ１９に出力する。可変焦点レンズ２１２は、例えば、液体レンズであり、イメージャモジュール２１の光学系の一部を構成する光学素子である。この液体レンズは、フォーカス機構２１３に印加される電圧に応じて高速で焦点位置を変更可能な構成となっている。
【００２７】
フォーカス機構２１３は、可変焦点レンズ２１２の焦点位置を調節する駆動部である。可変焦点レンズ２１２が液体レンズである場合には、フォーカス機構２１３は、当該液体レンズの所定箇所に電圧を加えるための電極を含む電気回路である。また、可変焦点レンズ２１２としてガラスやプラスチックなどの固体レンズを用いる場合には、フォーカス機構２１３には、例えば、ボイスコイルモータが用いられる。
【００２８】
エイマー２１４は、イメージャモジュール２１と被写体であるコードとの距離の測定指標、及び、イメージャモジュール２１の撮像方向と被写体方向とを合わせるための基準となるスポット光（目標光）としてのレーザ光ビームを出射するレーザダイオード（ＬＤ）である。イルミネーション２１５は、例えば、ＬＥＤ（Light Emitting Diode）といった光源により構成され、被写体及びその周囲の領域を明るく照らすための照射光を出射する。
【００２９】
電源部２２は、二次電池等で構成され、コード読取装置１の各部に電力供給を行う。レーザ駆動電源２３は、エイマー２１４を駆動してスポット光を出射させる際の電力を供給する。レーザ駆動電源２３は、イメージャコントローラ１９と共にメイン基板上に配置される。
【００３０】
次いで、図３を参照して、イメージャモジュール２１の各部の配置を詳細に説明する。
図３は、イメージャモジュール２１の平面図である。
【００３１】
イメージャモジュール２１において、可変焦点レンズ２１２を含む光学系２１２Ａは、当該イメージャモジュール２１の外側を撮像可能に配置される。また、撮像素子２１１は、光学系２１２Ａの光軸に対して垂直に配置されている。エイマー２１４及びイルミネーション２１５は、光学系２１２Ａ及びフォーカス機構２１３に並列して配置されている。エイマー２１４は、出射するビーム状のレーザ光が光学系２１２Ａについて変更可能な焦点距離内においてイメージャモジュール２１（光学系２１２Ａ及び撮像素子２１１）により撮像可能な画角内に含まれる配置となっている。本実施形態では、このレーザ光のビームは、光学系２１２Ａの光軸に平行な方向に出射される。また、イルミネーション２１５は、扇状に照射する光が光学系２１２Ａについて変更可能な焦点距離内において、イメージャモジュール２１（光学系２１２Ａ及び撮像素子２１１）により撮影可能な画角内に含まれる配置となっている。
【００３２】
次いで、図４を参照して、コード読取装置１の動作を説明する。図４は、コード読取装置１によるコード読み取り処理の制御手順を示すフローチャートである。
【００３３】
コード読み取り処理は、イメージャモジュール２１を用いてコードをスキャンし、取得したコードの画像データをデコードする処理である。コード読取装置１において、トリガキー１２Ａ，１２Ｃがユーザーにより押下入力されたことをトリガとして、ＣＰＵ１１は、ＲＯＭ１５から読み出されてＲＡＭ１３に適宜展開されたプログラム１５ａとの協働で、コード読み取り処理を実行する。
【００３４】
図４に示すように、先ず、コード読取装置１のＣＰＵ１１は、イメージャコントローラ１９へ指令を送り、イメージャモジュール２１を起動させる（ステップＳ１）。
【００３５】
次いで、ＣＰＵ１１は、初期設定を行う（ステップＳ２）。具体的には、ＣＰＵ１１は、イメージャコントローラ１９へ指令を送り、撮像素子２１１により被写体であるコードを撮影する際の露光時間Ｅを予め定められた初期値（標準的な明るさの露光値）Ｅ０に設定させるとともに、撮像素子２１１により撮影されたコードの画像データをＲＡＭ１３に転送（出力）する際の出力画像サイズＲを当該画像データの全体のサイズＲｆｕｌｌに設定させる。また、ＣＰＵ１１は、コード読み取り処理のループ回数Ｌを初期値（Ｌ＝０）に設定する。
【００３６】
次いで、ＣＰＵ１１は、コード読み取り処理のループ回数Ｌの値を１インクリメントする（ステップＳ３）。
【００３７】
次いで、ＣＰＵ１１は、イメージャコントローラ１９へ指令を送り、撮像素子２１１にコードを撮影させるとともに、撮像素子２１１からイメージャコントローラ１９へ送られる当該コードの画像データをＤＭＡによってＲＡＭ１３へ直接転送させる（ステップＳ４）。また、ステップＳ４において、ＣＰＵ１１は、イメージャコントローラ１９へ指令を送り、撮像素子２１１によるコードの撮影時にはイルミネーション２１５を照射させることにより、明るい画像を撮影できるようにする。また、コードの画像データの転送時にはエイマー２１４を照射させることにより、ユーザーに撮影位置を指し示すことができるようにする。
【００３８】
次いで、ＣＰＵ１１は、ＲＡＭ１３に転送された画像データに基づいて、コードのデコード（解読）を行う（ステップＳ５）。
【００３９】
次いで、ＣＰＵ１１は、コードのデコードに成功したか否かを判定する（ステップＳ６）。
【００４０】
ステップＳ６において、コードのデコードに成功したと判定された場合（ステップＳ６；ＹＥＳ）、ＣＰＵ１１は、デコードデータを表示部１４に表示（出力）し（ステップＳ７）、コード読み取り処理を終了する。
一方、ステップＳ６において、コードのデコードに成功していない、すなわち失敗したと判定された場合（ステップＳ６；ＮＯ）、ＣＰＵ１１は、ループ回数Ｌの値が３よりも大きいか否かを判定する（ステップＳ８）。
【００４１】
ステップＳ８において、ループ回数Ｌの値が３よりも大きいと判定された場合（ステップＳ８；ＹＥＳ）、ＣＰＵ１１は、デコード失敗データ（例えば、「コードを読み取ることができません」等の文字データ）を表示部１４に表示（出力）し（ステップＳ９）、コード読み取り処理を終了する。
一方、ステップＳ８において、ループ回数Ｌの値が３よりも大きくない、すなわち３以下であると判定された場合（ステップＳ８；ＮＯ）、ＣＰＵ１１は、露光時間・画像サイズ（出力画像サイズ）調整処理（後述）を行う（ステップＳ１０）。そして、ＣＰＵ１１は、処理をステップＳ３へ戻し、それ以降の処理を繰り返し行う。
【００４２】
図５は、コード読取装置１による露光時間・画像サイズ（出力画像サイズ）調整処理の制御手順を示すフローチャートである。露光時間・画像サイズ調整処理は、撮像素子２１１による次回以降の撮影時の露光時間と出力画像サイズとを決定する処理である。
【００４３】
図５に示すように、先ず、ＣＰＵ１１は、露光時間候補Ｅ１を決定する（ステップＳ２１）。具体的には、ＣＰＵ１１は、上述のコード読み取り処理のステップＳ５においてデコードがなされたコードの画像データの輝度値を導出する。そして、ＣＰＵ１１は、導出された輝度値を対象として露出制御処理を行い、適正な露光時間候補Ｅ１を決定する。なお、露出制御処理は公知の技術であるため、その説明は省略する。
【００４４】
次いで、ＣＰＵ１１は、露光時間候補Ｅ１の長さがイメージャモジュール２１に設定可能な最小露光時間Ｅｍｉｎの長さよりも短いか否かを判定する（ステップＳ２２）。
【００４５】
ステップＳ２２において、露光時間候補Ｅ１の長さが最小露光時間Ｅｍｉｎの長さよりも短いと判定された場合（ステップＳ２２；ＹＥＳ）、ＣＰＵ１１は、イメージャコントローラ１９へ指令を送り、出力画像サイズＲを、図６（ａ）に示すように、撮像素子２１１により撮影された画像全体のサイズＲｆｕｌｌに調整させ（ステップＳ２３）、また、露光時間Ｅを最小露光時間Ｅｍｉｎに調整させ（ステップＳ２４）、露光時間・画像サイズ調整処理を終了する。
【００４６】
また、ステップＳ２２において、露光時間候補Ｅ１の長さが最小露光時間Ｅｍｉｎの長さよりも短くない、すなわち最小露光時間Ｅｍｉｎの長さ以上であると判定された場合（ステップＳ２２；ＮＯ）、ＣＰＵ１１は、露光時間候補Ｅ１の長さがイメージャモジュール２１に設定可能な第１の最大露光時間Ｅｍａｘ１の長さよりも短いか否かを判定する（ステップＳ２５）。ここで、第１の最大露光時間Ｅｍａｘ１とは、出力画像サイズＲがＲｆｕｌｌに設定されている際にイメージャモジュール２１に設定可能な最大露光時間を意味する。
【００４７】
ステップＳ２５において、露光時間候補Ｅ１の長さが第１の最大露光時間Ｅｍａｘ１の長さよりも短いと判定された場合（ステップＳ２５；ＹＥＳ）、ＣＰＵ１１は、イメージャコントローラ１９へ指令を送り、出力画像サイズＲを撮像素子２１１により撮影された画像全体のサイズＲｆｕｌｌに調整させ（ステップＳ２６）、また、露光時間Ｅを露光時間候補Ｅ１に調整させ（ステップＳ２７）、露光時間・画像サイズ調整処理を終了する。
【００４８】
また、ステップＳ２５において、露光時間候補Ｅ１の長さが第１の最大露光時間Ｅｍａｘ１の長さよりも短くない、すなわち第１の最大露光時間Ｅｍａｘ１の長さ以上であると判定された場合（ステップＳ２５；ＮＯ）、ＣＰＵ１１は、露光時間候補Ｅ１の長さがイメージャモジュール２１に設定可能な第２の最大露光時間Ｅｍａｘ２の長さよりも短いか否かを判定する（ステップＳ２８）。ここで、第２の最大露光時間Ｅｍａｘ２とは、出力画像サイズＲがＲｆｕｌｌの半分のサイズＲｈａｌｆ（図６（ｂ）参照）に設定されている際にイメージャモジュール２１に設定可能な最大露光時間を意味する。
【００４９】
ステップＳ２８において、露光時間候補Ｅ１の長さが第２の最大露光時間Ｅｍａｘ２の長さよりも短いと判定された場合（ステップＳ２８；ＹＥＳ）、ＣＰＵ１１は、イメージャコントローラ１９へ指令を送り、出力画像サイズＲを、図６（ｂ）に示すように、Ｒｆｕｌｌの半分のサイズＲｈａｌｆに調整させ（ステップＳ２９）、また、露光時間Ｅを露光時間候補Ｅ１に調整させ（ステップＳ２７）、露光時間・画像サイズ調整処理を終了する。
【００５０】
また、ステップＳ２８において、露光時間候補Ｅ１の長さが第２の最大露光時間Ｅｍａｘ２の長さよりも短くない、すなわち第２の最大露光時間Ｅｍａｘ２の長さ以上であると判定された場合（ステップＳ２８；ＮＯ）、ＣＰＵ１１は、イメージャコントローラ１９へ指令を送り、出力画像サイズＲをＲｆｕｌｌの半分のサイズＲｈａｌｆに調整させ（ステップＳ３０）、また、露光時間Ｅを第２の最大露光時間Ｅｍａｘ２に調整させ（ステップＳ３１）、露光時間・画像サイズ調整処理を終了する。
【００５１】
次いで、暗所において実行されたコード読み取り処理の一態様について、図６（ｃ）を参照して説明する。図６（ｃ）は、コード読み取り処理の時間配分を模式的に示した図である。
【００５２】
図６（ｃ）に示すように、先ず、コード読取装置１において、トリガキー１２Ａ，１２Ｃがユーザーにより押下入力されたことをトリガとして、イメージャモジュール（スキャナデバイス）２１が起動され、露光時間Ｅが初期値Ｅ０に設定されるとともに、出力画像サイズＲがＲｆｕｌｌに設定される。そして、１回目（ループ回数Ｌ＝１）のコード読み取り処理が行われる。
【００５３】
１回目のコード読み取り処理では、撮像素子２１１により露光時間Ｅ０でコードの撮影が行われ、撮影されたコードの画像データが出力画像サイズＲｆｕｌｌでＲＡＭ１３に転送される。そして、１回目のコード読み取り処理では、ＲＡＭ１３に転送された画像データの輝度値が低いためデコードに失敗し、上述の露光時間・画像サイズ調整処理が行われることとなる。ここで、露光時間Ｅ０は露光時間候補Ｅ１に調整され、出力画像サイズＲは１回目のコード読み取り処理と同様にＲｆｕｌｌに調整されるものとする。そして、２回目（ループ回数Ｌ＝２）のコード読み取り処理が行われる。
【００５４】
２回目のコード読み取り処理では、撮像素子２１１により露光時間候補Ｅ１でコードの撮影が行われ、撮影されたコードの画像データが出力画像サイズＲｆｕｌｌでＲＡＭ１３に転送される。そして、２回目のコード読み取り処理でも、ＲＡＭ１３に転送された画像データの輝度値が低いためデコードに失敗し、上述の露光時間・画像サイズ調整処理が行われることとなる。ここで、露光時間候補Ｅ１は第２の最大露光時間Ｅｍａｘ２に調整され、出力画像サイズＲはＲｈａｌｆに調整されるものとする。そして、３回目（ループ回数Ｌ＝３）のコード読み取り処理が行われる。
【００５５】
３回目のコード読み取り処理では、撮像素子２１１により第２の最大露光時間Ｅｍａｘ２でコードの撮影が行われ、撮影されたコードの画像データが出力画像サイズＲｈａｌｆでＲＡＭ１３に転送される。つまり、３回目のコード読み取り処理では、露光時間が長くなる一方で、画像転送に費やされる時間が短くなっており、１回目や２回目のコード読み取り処理に費やされる時間とほぼ同等の時間でコード読み取り処理が行われるようになっている。そして、３回目のコード読み取り処理では、露光時間候補Ｅ１よりも露光時間が長い第２の最大露光時間Ｅｍａｘ２で撮影が行われたことによって、ＲＡＭ１３に転送される画像データの輝度値が高くなりデコードに成功する。
【００５６】
以上のように、本実施形態のコード読取装置１は、光学的に読取可能なコードを読み取るコード読取装置１であって、コードの画像を撮影する撮像素子２１１と、撮像素子２１１により撮影されたコードの画像に基づいて、撮像素子２１１による次回以降のコードの画像の撮影時の露光時間Ｅと当該次回以降のコードの画像の出力画像サイズＲとを調整し、次回以降のコードの画像の撮影時に、撮像素子２１１が調整された露光時間Ｅで撮影を行い、調整された出力画像サイズＲのコードの画像を出力するよう制御する。
このような構成によれば、例えば、暗所においてコードの読み取り作業が行われ、次回以降のコードの画像の撮影時の露光時間Ｅが長くなるように調整された場合であっても、出力画像サイズＲを小さくすることにより画像データの転送時間が短くなるように調整することができる。
したがって、暗所でも通常時と同等の時間でコードの読み取りを行うことができるので、暗所でも効率良くコードの読み取りを行うことができる。
【００５７】
また、コード読取装置１は、デコードに失敗した場合、当該デコードの対象となったコードの画像に基づいて、露光時間Ｅと出力画像サイズＲとを調整するので、デコードの失敗が繰り返されることを抑制することができる。
【００５８】
また、コード読取装置１は、デコードの対象となったコードの画像の輝度値に基づいて、次回以降のコードの画像の撮影時において候補となる露光時間（露光時間候補Ｅ１）を決定し、決定された候補となる露光時間の長さが予め定めた最小露光時間Ｅｍｉｎの長さよりも短い場合、露光時間Ｅを当該最小露光時間Ｅｍｉｎに調整するとともに、出力画像サイズＲをＲｆｕｌｌ（所定のサイズ）に調整する。
このような構成によれば、コードの読み取り精度を向上させるとともに、効率良くコードの読み取りを行うことができる。
【００５９】
また、コード読取装置１は、候補となる露光時間（露光時間候補Ｅ１）の長さが最小露光時間Ｅｍｉｎの長さ以上であり、且つ、予め定めた第１の最大露光時間Ｅｍａｘ１の長さよりも短い場合、露光時間Ｅを当該候補となる露光時間に調整するとともに、出力画像サイズＲをＲｆｕｌｌ（所定のサイズ）に調整する。
このような構成によれば、コードの読み取り精度を向上させるとともに、効率良くコードの読み取りを行うことができる。
【００６０】
また、コード読取装置１は、候補となる露光時間（露光時間候補Ｅ１）の長さが第１の最大露光時間Ｅｍａｘ１の長さ以上であり、且つ、予め定めた第２の最大露光時間Ｅｍａｘ２の長さよりも短い場合、露光時間Ｅを当該候補となる露光時間に調整するとともに、出力画像サイズＲをＲｆｕｌｌ（所定のサイズ）に調整する。
このような構成によれば、コードの読み取り精度を向上させるとともに、効率良くコードの読み取りを行うことができる。
【００６１】
また、コード読取装置１は、候補となる露光時間（露光時間候補Ｅ１）の長さが第２の最大露光時間Ｅｍａｘ２の長さ以上である場合、露光時間Ｅを第２の最大露光時間Ｅｍａｘ２に調整するとともに、出力画像サイズＲをＲｈａｌｆ（所定のサイズの半分のサイズ）に調整する。
このような構成によれば、コードの読み取り精度を向上させるとともに、効率良くコードの読み取りを行うことができる。
【００６２】
また、コード読取装置１は、イルミネーション２１５と、エイマー２１４と、を備え、撮像素子２１１にコードの画像を撮影させる際にイルミネーション２１５を点灯させ、撮像素子２１１により撮影されたコードの画像を転送（出力）させる際にエイマー２１４を点灯させるので、暗所でもコードの読み取り精度を向上させることができる。
【００６３】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、ＲＡＭ１３にＤＭＡ転送された画像データに基づいて、ＣＰＵ１１がコードのデコードを行ったが、イメージャコントローラ１９が当該デコードの機能をＡＳＩＣ基板上に実装してハードウェア的に演算可能としても良い。
【００６４】
また、上記実施の形態における可変焦点レンズとして、液体レンズ及びガラス等を用いた固体レンズを例に挙げたが、これらに限定されるものではない。例えば、印加電圧により屈折率が変化する「電気光学結晶」の一種であるＫＴＮ（タンタル酸ニオブ酸カリウム、ＫＴa１−ｘＮbｘＯ３）を用いた可変焦点レンズも利用可能である。
【００６５】
また、上記実施の形態では、本発明に係るプログラムのコンピューター読み取り可能な媒体として記憶部１５（例えば、フラッシュメモリ、ＥＥＰＲＯＭ、ハードディスク、ＲＯＭ）を使用した例を開示したが、この例に限定されない。その他のコンピューター読み取り可能な媒体として、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ（搬送波）も本発明に適用される。
【００６６】
また、上記実施の形態では、コードのデコードが成功した時点でコード読み取り処理を終了としたが、デコードに成功した際の露光時間Ｅ及び出力画像サイズＲの設定値を引き継いで複数のコードを連続して読み取るようにしてもよい。
その他、上記実施の形態で示した数値、制御の順序などの具体的な細部は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【００６７】
本発明の実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【００６８】
［付記］
＜請求項１＞
光学的に読取可能なコードを読み取るコード読取装置であって、
前記コードの画像を撮影する撮像手段と、
前記撮像手段により撮影された前記コードの画像に基づいて、当該撮像手段による次回以降のコードの画像の撮影時の露光時間と当該次回以降のコードの画像の出力画像サイズとを調整する調整手段と、
前記次回以降のコードの画像の撮影時に、前記撮像手段が前記調整手段により調整された前記露光時間で撮影を行い、前記出力画像サイズのコードの画像を出力するよう制御する制御手段と、
を備えることを特徴とするコード読取装置。
＜請求項２＞
前記撮像手段により撮影された前記コードの画像に基づいて、当該コードをデコードするデコード手段を備え、
前記調整手段は、前記デコード手段によるデコードに失敗した場合、当該デコードの対象となったコードの画像に基づいて、前記露光時間と前記出力画像サイズとを調整することを特徴とする請求項１に記載のコード読取装置。
＜請求項３＞
前記デコードの対象となったコードの画像の輝度値に基づいて、前記次回以降のコードの画像の撮影時において候補となる露光時間を決定する決定手段を備え、
前記調整手段は、前記決定手段により決定された前記候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するとともに、前記出力画像サイズを所定のサイズに調整することを特徴とする請求項２に記載のコード読取装置。
＜請求項４＞
前記調整手段は、前記候補となる露光時間の長さが前記最小露光時間の長さ以上であり、且つ、予め定めた第１の最大露光時間の長さよりも短い場合、前記露光時間を当該候補となる露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズに調整することを特徴とする請求項３に記載のコード読取装置。
＜請求項５＞
前記調整手段は、前記候補となる露光時間の長さが前記第１の最大露光時間の長さ以上であり、且つ、予め定めた第２の最大露光時間の長さよりも短い場合、前記露光時間を当該候補となる露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズの半分のサイズに調整することを特徴とする請求項４に記載のコード読取装置。
＜請求項６＞
前記調整手段は、前記候補となる露光時間の長さが前記第２の最大露光時間の長さ以上である場合、前記露光時間を前記第２の最大露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズの半分のサイズに調整することを特徴とする請求項５に記載のコード読取装置。
＜請求項７＞
撮影位置を照らす照明手段と、
撮影位置を案内するための発光手段と、
を備え、
前記制御手段は、前記撮像手段に前記コードの画像を撮影させる際に前記照明手段を点灯させ、前記撮像手段により撮影された前記コードの画像を出力させる際に前記発光手段を点灯させることを特徴とする請求項１〜６のいずれか一項に記載のコード読取装置。
＜請求項８＞
光学的に読取可能なコードの画像を撮影する撮像手段を備えるコード読取装置のコンピューターを、
前記撮像手段により撮影された前記コードの画像に基づいて、当該撮像手段による次回以降のコードの画像の撮影時の露光時間と当該次回以降のコードの画像の出力画像サイズとを調整する調整手段、
前記次回以降のコードの画像の撮影時に、前記撮像手段が前記調整手段により調整された前記露光時間で撮影を行い、前記出力画像サイズのコードの画像を出力するよう制御する制御手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【００６９】
１  コード読取装置
１１  ＣＰＵ（調整手段、制御手段、デコード手段、決定手段）
２１１  撮像素子（撮像手段）
２１４  エイマー（発光手段）
２１５  イルミネーション（照明手段）
【図１】
2020160486.tif 000003
【図２】
2020160486.tif 000004
【図３】
2020160486.tif 000005
【図４】
2020160486.tif 000006
【図５】
2020160486.tif 000007
【図６】
2020160486.tif 000008