(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-16
(45)【発行日】2023-10-24
(54)【発明の名称】コード読取装置、コード読取方法及びプログラム
(51)【国際特許分類】
G06K 7/10 20060101AFI20231017BHJP
G06K 7/14 20060101ALI20231017BHJP
【FI】
G06K7/10 384
G06K7/10 424
G06K7/10 456
G06K7/14 065
(21)【出願番号】P 2019055903
(22)【出願日】2019-03-25
【審査請求日】2022-01-27
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】入江 知徳
(72)【発明者】
【氏名】小川 泰明
【審査官】打出 義尚
(56)【参考文献】
【文献】特開2004-157812(JP,A)
【文献】特開2006-293596(JP,A)
【文献】特開2004-102762(JP,A)
【文献】特開2004-145630(JP,A)
【文献】特開2005-135149(JP,A)
【文献】特開2005-295313(JP,A)
【文献】特開2016-015147(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 7/10
G06K 7/14
(57)【特許請求の範囲】
【請求項1】
光学的に読取可能なコードを読み取るコード読取装置であって、
前記コードの画像を撮影する撮像手段と、
前記撮像手段により撮影されたコードの画像に基づいて、当該コードをデコードするデコード手段と、
前記デコード手段によるデコードに失敗した場合に、当該デコードの対象となったコードの画像に基づいて前記撮像手段による次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整
し、前記次回以降のコードの画像の撮影時
にこの調整された露光時間で撮影を
行わせ、前記出力画像サイズのコードの画像を出力するよう制御する制御手段
と、
を備え、
前記制御手段は、前記デコード手段によるデコードに失敗した場合であって前記デコードの対象となったコードの画像に基づいて前記撮像手段による次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整する場合には、前記デコードの対象となったコードの画像の輝度値に基づい
て前記次回以降のコードの画像の撮影時において候補となる露光時間を決定
し、この決定された候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するととも
に前記出力画像サイズを所定のサイズに調整する、
ことを特徴とするコード読取装置。
【請求項2】
前記制御手段は、前記決定された候補となる露光時間の長さが前記最小露光時間の長さ以上であり、且つ、予め定めた第1の最大露光時間の長さよりも短い場合、前記露光時間を当該候補となる露光時間に調整するととも
に前記出力画像サイズを前記所定のサイズに調整する、
ことを特徴とする請求項1に記載のコード読取装置。
【請求項3】
前記制御手段は、前記決定された候補となる露光時間の長さが前記第1の最大露光時間の長さ以上であり、且つ、予め定めた第2の最大露光時間の長さよりも短い場合、前記露光時間を当該候補となる露光時間に調整するととも
に前記出力画像サイズを前記所定のサイズの半分のサイズに調整する、
ことを特徴とする請求項2に記載のコード読取装置。
【請求項4】
前記制御手段は、前記決定された候補となる露光時間の長さが前記第2の最大露光時間の長さ以上である場合、前記露光時間を前記第2の最大露光時間に調整するととも
に前記出力画像サイズを前記所定のサイズの半分のサイズに調整する、
ことを特徴とする請求項3に記載のコード読取装置。
【請求項5】
撮影位置を照らす照明手段と、
撮影位置を案内するための発光手段と、
を備え、
前記制御手段は、前記撮像手段に前記コードの画像を撮影させる際に前記照明手段を点灯させ、前記撮像手段により撮影された前記コードの画像を出力させる際に前記発光手段を点灯させる、
ことを特徴とする請求項1~4のいずれか一項に記載のコード読取装置。
【請求項6】
光学的に読取可能なコードを読み取るコード読取装置が実行するコード読取方法であって、
前記コードの画像を撮影する撮像ステップと、
前記撮像ステップで撮影されたコードの画像に基づいて、当該コードをデコードするデコードステップと、
前記デコードステップでデコードに失敗した場合に、当該デコードの対象となったコードの画像に基づいて次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整し、前記次回以降のコードの画像の撮影時にこの調整された露光時間で撮影を行わせ、前記出力画像サイズのコードの画像を出力するよう制御する制御ステップと、
を有し、
前記制御ステップは、前記デコードステップでデコードに失敗した場合であって前記デコードの対象となったコードの画像に基づいて次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整する場合には、前記デコードの対象となったコードの画像の輝度値に基づいて前記次回以降のコードの画像の撮影時において候補となる露光時間を決定し、この決定された候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するとともに前記出力画像サイズを所定のサイズに調整する、
ことを特徴とするコード読取方法。
【請求項7】
光学的に読取可能なコードの画像を撮影する撮像手段を備えるコード読取装置のコンピューターを、
前記撮像手段により撮影されたコードの画像に基づいて、当該コードをデコードするデコード手段、
前記デコード手段によるデコードに失敗した場合に、当該デコードの対象となったコードの画像に基づいて前記撮像手段による次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整し、前記次回以降のコードの画像の撮影時にこの調整された露光時間で撮影を行わせ、前記出力画像サイズのコードの画像を出力するよう制御する制御手段、
として機能させ、
前記制御手段は、前記デコード手段によるデコードに失敗した場合であって前記デコードの対象となったコードの画像に基づいて前記撮像手段による次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整する場合には、前記デコードの対象となったコードの画像の輝度値に基づいて前記次回以降のコードの画像の撮影時において候補となる露光時間を決定し、この決定された候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するとともに前記出力画像サイズを所定のサイズに調整する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コード読取装置、コード読取方法及びプログラムに関する。
【背景技術】
【0002】
従来、プレスキャンで読取られるプレスキャン画像における指定された読取範囲内の画像を解析し、プレスキャン画像の出力値の最大値が閾値より小さい場合、プレスキャン画像の出力値の最大値がスキャナ装置のダイナミックレンジの最大値となるように露光時間を調整し、本スキャンの画像読取りを行う画像読取制御方法が開示されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に開示されている画像読取制御方法では、暗い原稿を読み取る場合、露光時間の調整によってスキャンのフレームレートが低下するため、読み取りに時間がかかってしまうという問題がある。
【0005】
本発明は、このような問題に鑑みてなされたものであり、暗所でも効率良く読み取りを行うことを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明に係るコード読取装置は、光学的に読取可能なコードを読み取るコード読取装置であって、前記コードの画像を撮影する撮像手段と、前記撮像手段により撮影されたコードの画像に基づいて、当該コードをデコードするデコード手段と、前記デコード手段によるデコードに失敗した場合に、当該デコードの対象となったコードの画像に基づいて前記撮像手段による次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整し、前記次回以降のコードの画像の撮影時にこの調整された露光時間で撮影を行わせ、前記出力画像サイズのコードの画像を出力するよう制御する制御手段と、を備え、前記制御手段は、前記デコード手段によるデコードに失敗した場合であって前記デコードの対象となったコードの画像に基づいて前記撮像手段による次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整する場合には、前記デコードの対象となったコードの画像の輝度値に基づいて前記次回以降のコードの画像の撮影時において候補となる露光時間を決定し、この決定された候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するとともに前記出力画像サイズを所定のサイズに調整する、ことを特徴とする。
また、本発明に係るコード読取方法は、光学的に読取可能なコードを読み取るコード読取装置が実行するコード読取方法であって、前記コードの画像を撮影する撮像ステップと、前記撮像ステップで撮影されたコードの画像に基づいて、当該コードをデコードするデコードステップと、前記デコードステップでデコードに失敗した場合に、当該デコードの対象となったコードの画像に基づいて次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整し、前記次回以降のコードの画像の撮影時にこの調整された露光時間で撮影を行わせ、前記出力画像サイズのコードの画像を出力するよう制御する制御ステップと、を有し、前記制御ステップは、前記デコードステップでデコードに失敗した場合であって前記デコードの対象となったコードの画像に基づいて次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整する場合には、前記デコードの対象となったコードの画像の輝度値に基づいて前記次回以降のコードの画像の撮影時において候補となる露光時間を決定し、この決定された候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するとともに前記出力画像サイズを所定のサイズに調整する、ことを特徴とする。
また、本発明に係るプログラムは、光学的に読取可能なコードの画像を撮影する撮像手段を備えるコード読取装置のコンピューターを、前記撮像手段により撮影されたコードの画像に基づいて、当該コードをデコードするデコード手段、前記デコード手段によるデコードに失敗した場合に、当該デコードの対象となったコードの画像に基づいて前記撮像手段による次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整し、前記次回以降のコードの画像の撮影時にこの調整された露光時間で撮影を行わせ、前記出力画像サイズのコードの画像を出力するよう制御する制御手段、として機能させ、前記制御手段は、前記デコード手段によるデコードに失敗した場合であって前記デコードの対象となったコードの画像に基づいて前記撮像手段による次回以降のコードの画像の撮影時の露光時間と次回以降のコードの画像の出力画像サイズとを調整する場合には、前記デコードの対象となったコードの画像の輝度値に基づいて前記次回以降のコードの画像の撮影時において候補となる露光時間を決定し、この決定された候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するとともに前記出力画像サイズを所定のサイズに調整する、ことを特徴とする。
【発明の効果】
【0007】
本発明によれば、暗所でも効率良く読み取りを行うことができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の実施形態のコード読取装置の全体構造を示す正面図である。
【
図2】コード読取装置の内部構成を示すブロック図である。
【
図3】イメージャモジュール及びイメージャコントローラの平面図である。
【
図4】コード読取装置によるコード読み取り処理の制御手順を示すフローチャートである。
【
図5】コード読取装置による露光時間・画像サイズ調整処理の制御手順を示すフローチャートである。
【
図6】(a)は撮像素子により撮影された画像全体のサイズを示す図であり、(b)は撮像素子により撮影された画像全体の半分のサイズを示す図であり、(c)はコード読み取り処理の時間配分を模式的に示した図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施の形態を図面に基づいて説明する。
【0010】
図1は、本発明の実施形態のコード読取装置の全体構造を示す正面図である。
本実施形態のコード読取装置(コンピューター)1は、一次元バーコード、二次元コード等のコードの読み取り機能を有する携帯機器である。
【0011】
コード読取装置1は、筐体としてのケース2を備える。コード読取装置1は、ケース2の正面に、トリガキー12Aと、各種キー12Bと、表示部14と、を備える。コード読取装置1は、ケース2の側面に、トリガキー12Cを備える。また、コード読取装置1は、ケース2の先端部に、イメージャモジュール(スキャナデバイス)21を備える。
【0012】
トリガキー12A、12Cは、イメージャモジュール21によるコード読み取り動作の開始命令の入力を受け付けるトリガキーである。各種キー12Bは、数字、文字等の入力キー、機能キー等からなり、各種情報の入力操作を受け付ける。表示部14は、入力操作に係るメニューやステータスなどの情報、及び、イメージャモジュール21を用いたコード読み取り動作の実行時のステータスやデコード結果等の情報を表示する。
【0013】
図2は、コード読取装置1の内部構成を示すブロック図である。
【0014】
コード読取装置1は、調整手段、制御手段、デコード手段、決定手段としてのCPU(Central Processing Unit)11と、操作部12と、RAM(Random Access Memory)13と、表示部14と、記憶部15と、通信部16と、イメージャコントローラ19と、イメージャモジュール21と、電源部22と、レーザ駆動電源23と、を備える。
【0015】
コード読取装置1のイメージャモジュール21及び電源部22を除く各部は、バス24を介して互いに接続されている。イメージャモジュール21は、撮像素子(撮像手段)211と、可変焦点レンズ212と、可変焦点レンズ212を駆動して焦点を調節するフォーカス機構213と、エイマー(発光手段)214と、イルミネーション(照明手段)215と、を有する。
【0016】
CPU11は、コード読取装置1の各部を制御する。CPU11は、記憶部15から種々のプログラムを読み出してRAM13に展開し、RAM13に展開されたプログラムとの協働で各種処理を実行する。
【0017】
操作部12は、各種キー12B、トリガキー12A、12C等のキー群を有し、当該キー群の各キーの押下操作を受け付け、その操作情報を入力信号に変換してCPU11へ出力する。
【0018】
RAM13は、揮発性の半導体メモリであり、CPU11に作業用メモリ空間を提供する。また、RAM13は、各種データの一時記憶、及び、各種プログラムを実行する際の展開に用いられる。
【0019】
表示部14は、LCD(Liquid Crystal Display)や、EL(Electro Luminescent)ディスプレイ等で構成され、CPU11から入力される表示情報に応じて各種情報を表示する。
【0020】
記憶部15は、読み書きの可能な不揮発性メモリであり、例えば、フラッシュメモリである。記憶部15には、予め種々のプログラムや設定データが格納されている。或いは、記憶部15は、EEPROM(Electrically Erasable and Programmable Read Only Memory)やハードディスクであってもよい。又は、専用のコード読取装置においては、ROM(Read Only Memory)を用いることとしてもよい。この記憶部15に格納されたプログラムには、イメージャモジュール21を用いてコードをスキャンし、取得したコードの画像データをデコードする処理を行うプログラム15aが含まれる。
【0021】
通信部16は、通信アンテナ、信号処理部、変調部、復調部等を備え、アクセスポイントと無線通信する。アクセスポイントは、通信を中継する機器である。つまり、コード読取装置1は、通信部16により、アクセスポイントを介して、当該アクセスポイントに接続されたサーバ装置等の外部機器と通信する。通信部16は、送信情報の信号を信号処理部で処理し、変調部で変調して通信アンテナから電波としてアクセスポイントに送信情報を無線送信する。また、通信部16は、通信アンテナによりアクセスポイントから送信された電波を受信して復調部で復調し、その信号を信号処理部で信号処理して受信情報を取得する。
【0022】
また、通信部16は、携帯電話通信方式により、基地局を介してサーバ装置と無線通信する無線通信部としてもよい。また、通信部16は、コード読取装置1を載置するクレードル、又は通信ケーブルを介して、サーバ装置と有線通信する有線通信部としてもよい。
【0023】
イメージャコントローラ19は、イメージャモジュール21の各部の動作を制御し、イメージャモジュール21とコード読取装置1の他の部位との間のデータの送受信を制御する。イメージャコントローラ19は、ASIC(Application Specific Integrated Circuit)等の半導体回路により構成されている。
【0024】
イメージャコントローラ19は、撮像素子211から、キャプチャされた画像データの1フレームの出力タイミングに同期したフレーム同期信号と、画像データの1ラインの出力タイミングに同期したライン同期信号と、画像データに同期するためのクロック信号と、が入力される。イメージャコントローラ19は、これらフレーム同期信号、ライン同期信号及びクロック信号に基づいて、RAM13への画像データの転送タイミングを監視する。イメージャコントローラ19は、撮像素子211からイメージャコントローラ19に入力された画像データを、CPU11を介さずに直接RAM13に転送するDMA(Direct Memory Access)転送機能を有する。
【0025】
イメージャモジュール21は、可変焦点レンズ212の焦点位置を調整して被写体のコードを撮像するモジュールである。撮像素子211は、特には限られないが、CMOS(Complementary Metal Oxide Semiconductor:相補性金属酸化膜半導体)イメージセンサである。撮像素子211は、可変焦点レンズ212を含む光学系を介して入射された被写体像を光電変換して電気信号に変換することで、画像データをキャプチャ(取得)する。
【0026】
撮像素子211は、イメージャコントローラ19から入力された画像領域指定信号により指定されたラインの画像データを1ラインずつラインデータとしてイメージャコントローラ19に出力する。また、撮像素子211は、フレーム同期信号、ライン同期信号、及び、クロック信号をイメージャコントローラ19に出力する。可変焦点レンズ212は、例えば、液体レンズであり、イメージャモジュール21の光学系の一部を構成する光学素子である。この液体レンズは、フォーカス機構213に印加される電圧に応じて高速で焦点位置を変更可能な構成となっている。
【0027】
フォーカス機構213は、可変焦点レンズ212の焦点位置を調節する駆動部である。可変焦点レンズ212が液体レンズである場合には、フォーカス機構213は、当該液体レンズの所定箇所に電圧を加えるための電極を含む電気回路である。また、可変焦点レンズ212としてガラスやプラスチックなどの固体レンズを用いる場合には、フォーカス機構213には、例えば、ボイスコイルモータが用いられる。
【0028】
エイマー214は、イメージャモジュール21と被写体であるコードとの距離の測定指標、及び、イメージャモジュール21の撮像方向と被写体方向とを合わせるための基準となるスポット光(目標光)としてのレーザ光ビームを出射するレーザダイオード(LD)である。イルミネーション215は、例えば、LED(Light Emitting Diode)といった光源により構成され、被写体及びその周囲の領域を明るく照らすための照射光を出射する。
【0029】
電源部22は、二次電池等で構成され、コード読取装置1の各部に電力供給を行う。レーザ駆動電源23は、エイマー214を駆動してスポット光を出射させる際の電力を供給する。レーザ駆動電源23は、イメージャコントローラ19と共にメイン基板上に配置される。
【0030】
次いで、
図3を参照して、イメージャモジュール21の各部の配置を詳細に説明する。
図3は、イメージャモジュール21の平面図である。
【0031】
イメージャモジュール21において、可変焦点レンズ212を含む光学系212Aは、当該イメージャモジュール21の外側を撮像可能に配置される。また、撮像素子211は、光学系212Aの光軸に対して垂直に配置されている。エイマー214及びイルミネーション215は、光学系212A及びフォーカス機構213に並列して配置されている。エイマー214は、出射するビーム状のレーザ光が光学系212Aについて変更可能な焦点距離内においてイメージャモジュール21(光学系212A及び撮像素子211)により撮像可能な画角内に含まれる配置となっている。本実施形態では、このレーザ光のビームは、光学系212Aの光軸に平行な方向に出射される。また、イルミネーション215は、扇状に照射する光が光学系212Aについて変更可能な焦点距離内において、イメージャモジュール21(光学系212A及び撮像素子211)により撮影可能な画角内に含まれる配置となっている。
【0032】
次いで、
図4を参照して、コード読取装置1の動作を説明する。
図4は、コード読取装置1によるコード読み取り処理の制御手順を示すフローチャートである。
【0033】
コード読み取り処理は、イメージャモジュール21を用いてコードをスキャンし、取得したコードの画像データをデコードする処理である。コード読取装置1において、トリガキー12A,12Cがユーザーにより押下入力されたことをトリガとして、CPU11は、ROM15から読み出されてRAM13に適宜展開されたプログラム15aとの協働で、コード読み取り処理を実行する。
【0034】
図4に示すように、先ず、コード読取装置1のCPU11は、イメージャコントローラ19へ指令を送り、イメージャモジュール21を起動させる(ステップS1)。
【0035】
次いで、CPU11は、初期設定を行う(ステップS2)。具体的には、CPU11は、イメージャコントローラ19へ指令を送り、撮像素子211により被写体であるコードを撮影する際の露光時間Eを予め定められた初期値(標準的な明るさの露光値)E0に設定させるとともに、撮像素子211により撮影されたコードの画像データをRAM13に転送(出力)する際の出力画像サイズRを当該画像データの全体のサイズRfullに設定させる。また、CPU11は、コード読み取り処理のループ回数Lを初期値(L=0)に設定する。
【0036】
次いで、CPU11は、コード読み取り処理のループ回数Lの値を1インクリメントする(ステップS3)。
【0037】
次いで、CPU11は、イメージャコントローラ19へ指令を送り、撮像素子211にコードを撮影させるとともに、撮像素子211からイメージャコントローラ19へ送られる当該コードの画像データをDMAによってRAM13へ直接転送させる(ステップS4)。また、ステップS4において、CPU11は、イメージャコントローラ19へ指令を送り、撮像素子211によるコードの撮影時にはイルミネーション215を照射させることにより、明るい画像を撮影できるようにする。また、コードの画像データの転送時にはエイマー214を照射させることにより、ユーザーに撮影位置を指し示すことができるようにする。
【0038】
次いで、CPU11は、RAM13に転送された画像データに基づいて、コードのデコード(解読)を行う(ステップS5)。
【0039】
次いで、CPU11は、コードのデコードに成功したか否かを判定する(ステップS6)。
【0040】
ステップS6において、コードのデコードに成功したと判定された場合(ステップS6;YES)、CPU11は、デコードデータを表示部14に表示(出力)し(ステップS7)、コード読み取り処理を終了する。
一方、ステップS6において、コードのデコードに成功していない、すなわち失敗したと判定された場合(ステップS6;NO)、CPU11は、ループ回数Lの値が3よりも大きいか否かを判定する(ステップS8)。
【0041】
ステップS8において、ループ回数Lの値が3よりも大きいと判定された場合(ステップS8;YES)、CPU11は、デコード失敗データ(例えば、「コードを読み取ることができません」等の文字データ)を表示部14に表示(出力)し(ステップS9)、コード読み取り処理を終了する。
一方、ステップS8において、ループ回数Lの値が3よりも大きくない、すなわち3以下であると判定された場合(ステップS8;NO)、CPU11は、露光時間・画像サイズ(出力画像サイズ)調整処理(後述)を行う(ステップS10)。そして、CPU11は、処理をステップS3へ戻し、それ以降の処理を繰り返し行う。
【0042】
図5は、コード読取装置1による露光時間・画像サイズ(出力画像サイズ)調整処理の制御手順を示すフローチャートである。露光時間・画像サイズ調整処理は、撮像素子211による次回以降の撮影時の露光時間と出力画像サイズとを決定する処理である。
【0043】
図5に示すように、先ず、CPU11は、露光時間候補E1を決定する(ステップS21)。具体的には、CPU11は、上述のコード読み取り処理のステップS5においてデコードがなされたコードの画像データの輝度値を導出する。そして、CPU11は、導出された輝度値を対象として露出制御処理を行い、適正な露光時間候補E1を決定する。なお、露出制御処理は公知の技術であるため、その説明は省略する。
【0044】
次いで、CPU11は、露光時間候補E1の長さがイメージャモジュール21に設定可能な最小露光時間Eminの長さよりも短いか否かを判定する(ステップS22)。
【0045】
ステップS22において、露光時間候補E1の長さが最小露光時間Eminの長さよりも短いと判定された場合(ステップS22;YES)、CPU11は、イメージャコントローラ19へ指令を送り、出力画像サイズRを、
図6(a)に示すように、撮像素子211により撮影された画像全体のサイズRfullに調整させ(ステップS23)、また、露光時間Eを最小露光時間Eminに調整させ(ステップS24)、露光時間・画像サイズ調整処理を終了する。
【0046】
また、ステップS22において、露光時間候補E1の長さが最小露光時間Eminの長さよりも短くない、すなわち最小露光時間Eminの長さ以上であると判定された場合(ステップS22;NO)、CPU11は、露光時間候補E1の長さがイメージャモジュール21に設定可能な第1の最大露光時間Emax1の長さよりも短いか否かを判定する(ステップS25)。ここで、第1の最大露光時間Emax1とは、出力画像サイズRがRfullに設定されている際にイメージャモジュール21に設定可能な最大露光時間を意味する。
【0047】
ステップS25において、露光時間候補E1の長さが第1の最大露光時間Emax1の長さよりも短いと判定された場合(ステップS25;YES)、CPU11は、イメージャコントローラ19へ指令を送り、出力画像サイズRを撮像素子211により撮影された画像全体のサイズRfullに調整させ(ステップS26)、また、露光時間Eを露光時間候補E1に調整させ(ステップS27)、露光時間・画像サイズ調整処理を終了する。
【0048】
また、ステップS25において、露光時間候補E1の長さが第1の最大露光時間Emax1の長さよりも短くない、すなわち第1の最大露光時間Emax1の長さ以上であると判定された場合(ステップS25;NO)、CPU11は、露光時間候補E1の長さがイメージャモジュール21に設定可能な第2の最大露光時間Emax2の長さよりも短いか否かを判定する(ステップS28)。ここで、第2の最大露光時間Emax2とは、出力画像サイズRがRfullの半分のサイズRhalf(
図6(b)参照)に設定されている際にイメージャモジュール21に設定可能な最大露光時間を意味する。
【0049】
ステップS28において、露光時間候補E1の長さが第2の最大露光時間Emax2の長さよりも短いと判定された場合(ステップS28;YES)、CPU11は、イメージャコントローラ19へ指令を送り、出力画像サイズRを、
図6(b)に示すように、Rfullの半分のサイズRhalfに調整させ(ステップS29)、また、露光時間Eを露光時間候補E1に調整させ(ステップS27)、露光時間・画像サイズ調整処理を終了する。
【0050】
また、ステップS28において、露光時間候補E1の長さが第2の最大露光時間Emax2の長さよりも短くない、すなわち第2の最大露光時間Emax2の長さ以上であると判定された場合(ステップS28;NO)、CPU11は、イメージャコントローラ19へ指令を送り、出力画像サイズRをRfullの半分のサイズRhalfに調整させ(ステップS30)、また、露光時間Eを第2の最大露光時間Emax2に調整させ(ステップS31)、露光時間・画像サイズ調整処理を終了する。
【0051】
次いで、暗所において実行されたコード読み取り処理の一態様について、
図6(c)を参照して説明する。
図6(c)は、コード読み取り処理の時間配分を模式的に示した図である。
【0052】
図6(c)に示すように、先ず、コード読取装置1において、トリガキー12A,12Cがユーザーにより押下入力されたことをトリガとして、イメージャモジュール(スキャナデバイス)21が起動され、露光時間Eが初期値E0に設定されるとともに、出力画像サイズRがRfullに設定される。そして、1回目(ループ回数L=1)のコード読み取り処理が行われる。
【0053】
1回目のコード読み取り処理では、撮像素子211により露光時間E0でコードの撮影が行われ、撮影されたコードの画像データが出力画像サイズRfullでRAM13に転送される。そして、1回目のコード読み取り処理では、RAM13に転送された画像データの輝度値が低いためデコードに失敗し、上述の露光時間・画像サイズ調整処理が行われることとなる。ここで、露光時間E0は露光時間候補E1に調整され、出力画像サイズRは1回目のコード読み取り処理と同様にRfullに調整されるものとする。そして、2回目(ループ回数L=2)のコード読み取り処理が行われる。
【0054】
2回目のコード読み取り処理では、撮像素子211により露光時間候補E1でコードの撮影が行われ、撮影されたコードの画像データが出力画像サイズRfullでRAM13に転送される。そして、2回目のコード読み取り処理でも、RAM13に転送された画像データの輝度値が低いためデコードに失敗し、上述の露光時間・画像サイズ調整処理が行われることとなる。ここで、露光時間候補E1は第2の最大露光時間Emax2に調整され、出力画像サイズRはRhalfに調整されるものとする。そして、3回目(ループ回数L=3)のコード読み取り処理が行われる。
【0055】
3回目のコード読み取り処理では、撮像素子211により第2の最大露光時間Emax2でコードの撮影が行われ、撮影されたコードの画像データが出力画像サイズRhalfでRAM13に転送される。つまり、3回目のコード読み取り処理では、露光時間が長くなる一方で、画像転送に費やされる時間が短くなっており、1回目や2回目のコード読み取り処理に費やされる時間とほぼ同等の時間でコード読み取り処理が行われるようになっている。そして、3回目のコード読み取り処理では、露光時間候補E1よりも露光時間が長い第2の最大露光時間Emax2で撮影が行われたことによって、RAM13に転送される画像データの輝度値が高くなりデコードに成功する。
【0056】
以上のように、本実施形態のコード読取装置1は、光学的に読取可能なコードを読み取るコード読取装置1であって、コードの画像を撮影する撮像素子211と、撮像素子211により撮影されたコードの画像に基づいて、撮像素子211による次回以降のコードの画像の撮影時の露光時間Eと当該次回以降のコードの画像の出力画像サイズRとを調整し、次回以降のコードの画像の撮影時に、撮像素子211が調整された露光時間Eで撮影を行い、調整された出力画像サイズRのコードの画像を出力するよう制御する。
このような構成によれば、例えば、暗所においてコードの読み取り作業が行われ、次回以降のコードの画像の撮影時の露光時間Eが長くなるように調整された場合であっても、出力画像サイズRを小さくすることにより画像データの転送時間が短くなるように調整することができる。
したがって、暗所でも通常時と同等の時間でコードの読み取りを行うことができるので、暗所でも効率良くコードの読み取りを行うことができる。
【0057】
また、コード読取装置1は、デコードに失敗した場合、当該デコードの対象となったコードの画像に基づいて、露光時間Eと出力画像サイズRとを調整するので、デコードの失敗が繰り返されることを抑制することができる。
【0058】
また、コード読取装置1は、デコードの対象となったコードの画像の輝度値に基づいて、次回以降のコードの画像の撮影時において候補となる露光時間(露光時間候補E1)を決定し、決定された候補となる露光時間の長さが予め定めた最小露光時間Eminの長さよりも短い場合、露光時間Eを当該最小露光時間Eminに調整するとともに、出力画像サイズRをRfull(所定のサイズ)に調整する。
このような構成によれば、コードの読み取り精度を向上させるとともに、効率良くコードの読み取りを行うことができる。
【0059】
また、コード読取装置1は、候補となる露光時間(露光時間候補E1)の長さが最小露光時間Eminの長さ以上であり、且つ、予め定めた第1の最大露光時間Emax1の長さよりも短い場合、露光時間Eを当該候補となる露光時間に調整するとともに、出力画像サイズRをRfull(所定のサイズ)に調整する。
このような構成によれば、コードの読み取り精度を向上させるとともに、効率良くコードの読み取りを行うことができる。
【0060】
また、コード読取装置1は、候補となる露光時間(露光時間候補E1)の長さが第1の最大露光時間Emax1の長さ以上であり、且つ、予め定めた第2の最大露光時間Emax2の長さよりも短い場合、露光時間Eを当該候補となる露光時間に調整するとともに、出力画像サイズRをRfull(所定のサイズ)に調整する。
このような構成によれば、コードの読み取り精度を向上させるとともに、効率良くコードの読み取りを行うことができる。
【0061】
また、コード読取装置1は、候補となる露光時間(露光時間候補E1)の長さが第2の最大露光時間Emax2の長さ以上である場合、露光時間Eを第2の最大露光時間Emax2に調整するとともに、出力画像サイズRをRhalf(所定のサイズの半分のサイズ)に調整する。
このような構成によれば、コードの読み取り精度を向上させるとともに、効率良くコードの読み取りを行うことができる。
【0062】
また、コード読取装置1は、イルミネーション215と、エイマー214と、を備え、撮像素子211にコードの画像を撮影させる際にイルミネーション215を点灯させ、撮像素子211により撮影されたコードの画像を転送(出力)させる際にエイマー214を点灯させるので、暗所でもコードの読み取り精度を向上させることができる。
【0063】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、RAM13にDMA転送された画像データに基づいて、CPU11がコードのデコードを行ったが、イメージャコントローラ19が当該デコードの機能をASIC基板上に実装してハードウェア的に演算可能としても良い。
【0064】
また、上記実施の形態における可変焦点レンズとして、液体レンズ及びガラス等を用いた固体レンズを例に挙げたが、これらに限定されるものではない。例えば、印加電圧により屈折率が変化する「電気光学結晶」の一種であるKTN(タンタル酸ニオブ酸カリウム、KTa1-xNbxO3)を用いた可変焦点レンズも利用可能である。
【0065】
また、上記実施の形態では、本発明に係るプログラムのコンピューター読み取り可能な媒体として記憶部15(例えば、フラッシュメモリ、EEPROM、ハードディスク、ROM)を使用した例を開示したが、この例に限定されない。その他のコンピューター読み取り可能な媒体として、CD-ROM等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0066】
また、上記実施の形態では、コードのデコードが成功した時点でコード読み取り処理を終了としたが、デコードに成功した際の露光時間E及び出力画像サイズRの設定値を引き継いで複数のコードを連続して読み取るようにしてもよい。
その他、上記実施の形態で示した数値、制御の順序などの具体的な細部は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【0067】
本発明の実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【0068】
[付記]
<請求項1>
光学的に読取可能なコードを読み取るコード読取装置であって、
前記コードの画像を撮影する撮像手段と、
前記撮像手段により撮影された前記コードの画像に基づいて、当該撮像手段による次回以降のコードの画像の撮影時の露光時間と当該次回以降のコードの画像の出力画像サイズとを調整する調整手段と、
前記次回以降のコードの画像の撮影時に、前記撮像手段が前記調整手段により調整された前記露光時間で撮影を行い、前記出力画像サイズのコードの画像を出力するよう制御する制御手段と、
を備えることを特徴とするコード読取装置。
<請求項2>
前記撮像手段により撮影された前記コードの画像に基づいて、当該コードをデコードするデコード手段を備え、
前記調整手段は、前記デコード手段によるデコードに失敗した場合、当該デコードの対象となったコードの画像に基づいて、前記露光時間と前記出力画像サイズとを調整することを特徴とする請求項1に記載のコード読取装置。
<請求項3>
前記デコードの対象となったコードの画像の輝度値に基づいて、前記次回以降のコードの画像の撮影時において候補となる露光時間を決定する決定手段を備え、
前記調整手段は、前記決定手段により決定された前記候補となる露光時間の長さが予め定めた最小露光時間の長さよりも短い場合、前記露光時間を当該最小露光時間に調整するとともに、前記出力画像サイズを所定のサイズに調整することを特徴とする請求項2に記載のコード読取装置。
<請求項4>
前記調整手段は、前記候補となる露光時間の長さが前記最小露光時間の長さ以上であり、且つ、予め定めた第1の最大露光時間の長さよりも短い場合、前記露光時間を当該候補となる露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズに調整することを特徴とする請求項3に記載のコード読取装置。
<請求項5>
前記調整手段は、前記候補となる露光時間の長さが前記第1の最大露光時間の長さ以上であり、且つ、予め定めた第2の最大露光時間の長さよりも短い場合、前記露光時間を当該候補となる露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズの半分のサイズに調整することを特徴とする請求項4に記載のコード読取装置。
<請求項6>
前記調整手段は、前記候補となる露光時間の長さが前記第2の最大露光時間の長さ以上である場合、前記露光時間を前記第2の最大露光時間に調整するとともに、前記出力画像サイズを前記所定のサイズの半分のサイズに調整することを特徴とする請求項5に記載のコード読取装置。
<請求項7>
撮影位置を照らす照明手段と、
撮影位置を案内するための発光手段と、
を備え、
前記制御手段は、前記撮像手段に前記コードの画像を撮影させる際に前記照明手段を点灯させ、前記撮像手段により撮影された前記コードの画像を出力させる際に前記発光手段を点灯させることを特徴とする請求項1~6のいずれか一項に記載のコード読取装置。
<請求項8>
光学的に読取可能なコードの画像を撮影する撮像手段を備えるコード読取装置のコンピューターを、
前記撮像手段により撮影された前記コードの画像に基づいて、当該撮像手段による次回以降のコードの画像の撮影時の露光時間と当該次回以降のコードの画像の出力画像サイズとを調整する調整手段、
前記次回以降のコードの画像の撮影時に、前記撮像手段が前記調整手段により調整された前記露光時間で撮影を行い、前記出力画像サイズのコードの画像を出力するよう制御する制御手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【0069】
1 コード読取装置
11 CPU(調整手段、制御手段、デコード手段、決定手段)
211 撮像素子(撮像手段)
214 エイマー(発光手段)
215 イルミネーション(照明手段)