IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

7063488撮像方法、撮像装置、撮像対象の判別方法及びプログラム
<>
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図1
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図2
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図3
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図4
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図5
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図6
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図7
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図8
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図9
  • -撮像方法、撮像装置、撮像対象の判別方法及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-25
(45)【発行日】2022-05-09
(54)【発明の名称】撮像方法、撮像装置、撮像対象の判別方法及びプログラム
(51)【国際特許分類】
   H04N 5/235 20060101AFI20220426BHJP
   G03B 7/091 20210101ALI20220426BHJP
   G06K 7/10 20060101ALI20220426BHJP
   G06K 7/14 20060101ALI20220426BHJP
   H04N 5/225 20060101ALI20220426BHJP
【FI】
H04N5/235 200
G03B7/091
G06K7/10 376
G06K7/10 384
G06K7/10 464
G06K7/14 060
H04N5/225 600
H04N5/235 100
H04N5/235 300
H04N5/235 400
【請求項の数】 22
(21)【出願番号】P 2020035225
(22)【出願日】2020-03-02
(65)【公開番号】P2021141371
(43)【公開日】2021-09-16
【審査請求日】2021-06-02
(73)【特許権者】
【識別番号】391062872
【氏名又は名称】株式会社オプトエレクトロニクス
(74)【代理人】
【識別番号】100123881
【弁理士】
【氏名又は名称】大澤 豊
(74)【代理人】
【識別番号】100080931
【弁理士】
【氏名又は名称】大澤 敬
(72)【発明者】
【氏名】川島 安武
【審査官】佐藤 直樹
(56)【参考文献】
【文献】特開2011-076519(JP,A)
【文献】特開2006-293596(JP,A)
【文献】特開2001-326847(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/235
G03B 7/091
G06K 7/10
G06K 7/14
H04N 5/225
(57)【特許請求の範囲】
【請求項1】
撮像部と、前記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像方法であって、
前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件に従った撮像を行い、
前記撮像で得られた画像の明るさと、該画像の撮像条件とを対応付けて記憶部に記憶し、
前記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、前記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、
前記第1パラメータの推定値及び前記第2パラメータの推定値に基づき、次の撮像に用いる撮像条件を決定することを特徴とする撮像方法。
【請求項2】
請求項1に記載の撮像方法であって、
前記第1パラメータの推定値及び前記第2パラメータの推定値に基づき、前記点灯時間が長くなるほど、前記露光時間が短くなり、前記点灯時間が短くなるほど、前記露光時間が長くなるような、露光時間と点灯時間との間の関係を定め、
定めた前記関係を満たすように、次の撮像に用いる撮像条件の前記決定をすることを特徴とする撮像方法。
【請求項3】
請求項2に記載の撮像方法であって、
前記次の撮像に用いる撮像条件を、露光時間と点灯時間との間の前記関係を満たし、かつ、最新の撮像条件と比べて、点灯時間の露光時間に対する比が所定閾値以上異なるように決定することを特徴とする撮像方法。
【請求項4】
請求項2又は3に記載の撮像方法であって、
前記次の撮像に用いる撮像条件を、点灯時間の露光時間に対する比が、前記第2パラメータの推定値の前記第1パラメータの推定値に対する比になるべく近くなるように決定することを特徴とする撮像方法。
【請求項5】
撮像部と、前記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像方法であって、
前記撮像部の露光時間と前記照明部による前記撮像対象の照明量とを含む撮像条件に従った撮像を行い、
前記撮像で得られた画像の明るさと、該画像の撮像条件とを対応付けて記憶部に記憶し、
前記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、前記照明量の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、
前記第1パラメータの推定値及び前記第2パラメータの推定値に基づき、次の撮像に用いる撮像条件を決定することを特徴とする撮像方法。
【請求項6】
撮像部と、
前記撮像部による撮像対象を照明する照明部と、
前記撮像部と前記照明部とを、前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件に従って制御して撮像を行う制御部と、
前記撮像で得られた画像の明るさと、該画像の撮像条件とを対応付けて登録する登録部と、
前記登録部により登録された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、前記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、前記第1パラメータの推定値及び前記第2パラメータの推定値に基づき、前記制御部が次の撮像に用いる撮像条件を決定する撮像条件決定部とを備えることを特徴とする撮像装置。
【請求項7】
請求項6に記載の撮像装置であって、
前記撮像条件決定部が、前記第1パラメータの推定値及び前記第2パラメータの推定値に基づき、前記点灯時間が長くなるほど、前記露光時間が短くなり、前記点灯時間が短くなるほど、前記露光時間が長くなるような、露光時間と点灯時間との間の関係を定め、定めた前記関係を満たすように、次の撮像に用いる撮像条件の前記決定をすることを特徴とする撮像装置。
【請求項8】
請求項7に記載の撮像装置であって、
前記撮像条件決定部が、前記次の撮像に用いる撮像条件を、露光時間と点灯時間との間の前記関係を満たし、かつ、最新の撮像条件と比べて、点灯時間の露光時間に対する比が所定閾値以上異なるように決定することを特徴とする撮像装置。
【請求項9】
請求項7又は8に記載の撮像装置であって、
前記撮像条件決定部が、前記次の撮像に用いる撮像条件を、点灯時間の露光時間に対する比が、前記第2パラメータの推定値の前記第1パラメータの推定値に対する比になるべく近くなるように決定することを特徴とする撮像装置。
【請求項10】
撮像部と、
前記撮像部による撮像対象を照明する照明部と、
前記撮像部と前記照明部とを、前記撮像部の露光時間と前記照明部による前記撮像対象の照明量とを含む撮像条件に従って制御して撮像を行う制御部と、
前記撮像で得られた画像の明るさと、該画像の撮像条件とを対応付けて登録する登録部と、
前記登録部により登録された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、前記照明量の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、前記第1パラメータの推定値及び前記第2パラメータの推定値に基づき、前記制御部が次の撮像に用いる撮像条件を決定する撮像条件決定部とを備えることを特徴とする撮像装置。
【請求項11】
コンピュータに、撮像部と、前記撮像部による撮像対象を照明する照明部とを備える撮像装置を制御させて、請求項1乃至5のいずれか一項に記載の撮像方法を実行させるためのプログラム。
【請求項12】
撮像部と、前記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法であって、
前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件を用い、少なくとも前記露光時間が相互に異なる複数の撮像条件に従った撮像をそれぞれ行い、
前記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、
前記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いの推定値を求め、該推定値が所定の閾値より大きい場合に、前記撮像部による撮像対象が発光体であると判断することを特徴とする、撮像対象の判別方法。
【請求項13】
撮像部と、前記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法であって、
前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件を用い、少なくとも前記点灯時間が相互に異なる複数の撮像条件に従った撮像をそれぞれ行い、
前記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、
前記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、前記点灯時間の変動が画像の明るさに与える影響の度合いの推定値を求め、該推定値が所定の閾値より小さい場合に、前記撮像部による撮像対象が発光体であると判断することを特徴とする、撮像対象の判別方法。
【請求項14】
撮像部と、前記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法であって、
前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件を用い、少なくとも前記露光時間と前記点灯時間との間の比が相互に異なる複数の撮像条件に従った撮像をそれぞれ行い、
前記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、
前記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、前記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、
前記第1パラメータの推定値が第1閾値より大きく、かつ、前記第2パラメータの推定値が第2閾値より小さい場合に、前記撮像部による撮像対象が発光体であると判断することを特徴とする、撮像対象の判別方法。
【請求項15】
撮像部と、前記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法であって、
前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件を用い、少なくとも前記露光時間と前記点灯時間との間の比が相互に異なる複数の撮像条件に従った撮像をそれぞれ行い、
前記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、
前記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、前記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、
前記第1パラメータの推定値の、前記第2パラメータの推定値に対する比が、所定の閾値よりも大きい場合に、前記撮像部による撮像対象が発光体であると判断することを特徴とする、撮像対象の判別方法。
【請求項16】
請求項12乃至15のいずれか一項に記載の撮像対象の判別方法により撮像対象が発光体であると判断した場合に、撮像対象が発光体であると判断しなかった場合と比べて点灯時間の上限値を小さくして次の撮像に用いる撮像条件を決定し、該撮像対象の判別方法により撮像対象が発光体であると判断しなかった場合に、撮像対象が発光体であると判断した場合と比べて点灯時間の下限を大きくして次の撮像に用いる撮像条件を決定して、
決定した前記撮像条件に従って前記撮像装置により撮像を行うことを特徴とする撮像方法。
【請求項17】
撮像部と、
前記撮像部による撮像対象を照明する照明部と、
前記撮像部と前記照明部とを、それぞれ前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件であって少なくとも前記露光時間が相互に異なる複数の撮像条件に従って制御して、前記各撮像条件と対応する撮像をそれぞれ行う制御部と、
前記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて登録する登録部と、
前記登録部により登録された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いの推定値を求め、該推定値が所定の閾値より大きい場合に、前記撮像部による撮像対象は発光体であると判断する撮像対象判別部とを備えることを特徴とする撮像装置。
【請求項18】
撮像部と、
前記撮像部による撮像対象を照明する照明部と、
前記撮像部と前記照明部とを、それぞれ前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件であって少なくとも前記点灯時間が相互に異なる複数の撮像条件に従って制御して、前記各撮像条件と対応する撮像をそれぞれ行う制御部と、
前記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて登録する登録部と、
前記登録部により登録された明るさ及び撮像条件の複数組に基づいて、前記点灯時間の変動が画像の明るさに与える影響の度合いの推定値を求め、該推定値が所定の閾値より小さい場合に、前記撮像部による撮像対象は発光体であると判断する撮像対象判別部とを備えることを特徴とする撮像装置。
【請求項19】
撮像部と、
前記撮像部による撮像対象を照明する照明部と、
前記撮像部と前記照明部とを、それぞれ前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件であって少なくとも前記露光時間と前記点灯時間との間の比が相互に異なる複数の撮像条件に従って制御して、前記各撮像条件と対応する撮像をそれぞれ行う制御部と、
前記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて登録する登録部と、
前記登録部により登録された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、前記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、前記第1パラメータの推定値が第1閾値より大きく、かつ、前記第2パラメータの推定値が第2閾値より小さい場合に、前記撮像部による撮像対象は発光体であると判断する撮像対象判別部とを備えることを特徴とする撮像装置。
【請求項20】
撮像部と、
前記撮像部による撮像対象を照明する照明部と、
前記撮像部と前記照明部とを、それぞれ前記撮像部の露光時間と前記照明部の点灯時間とを含む撮像条件であって少なくとも前記露光時間と前記点灯時間との間の比が相互に異なる複数の撮像条件に従って制御して、前記各撮像条件と対応する撮像をそれぞれ行う制御部と、
前記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて登録する登録部と、
前記登録部により登録された明るさ及び撮像条件の複数組に基づいて、前記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、前記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、前記第1パラメータの推定値の、前記第2パラメータの推定値に対する比が、所定の閾値よりも大きい場合に、前記撮像部による撮像対象は発光体であると判断する撮像対象判別部とを備えることを特徴とする撮像装置。
【請求項21】
請求項17乃至20のいずれか一項に記載の撮像装置であって、
前記撮像対象判別部が前記撮像部による撮像対象は発光体であると判断した場合に、撮像対象は発光体であると判断しなかった場合と比べて点灯時間の上限値を小さくして前記制御部が次の撮像に用いる撮像条件を決定し、前記撮像対象判別部が前記撮像部による撮像対象は発光体であると判断しなかった場合に、撮像対象は発光体であると判断した場合と比べて点灯時間の下限を大きくして前記制御部が次の撮像に用いる撮像条件を決定する撮像条件決定部を備えることを特徴とする撮像装置。
【請求項22】
コンピュータに、撮像部と、前記撮像部による撮像対象を照明する照明部とを備える撮像装置を制御させて、請求項12乃至15のいずれか一項に記載の撮像対象の判別方法又は請求項16に記載の撮像方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、撮像部と、上記撮像部による撮像対象を照明する照明部とを備える撮像装置、このような撮像装置による撮像方法、および、コンピュータに撮像装置を制御させて撮像方法を実行させるためのプログラムに関する。また、この発明は、撮像部と、上記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法及び撮像方法にも関する。
【背景技術】
【0002】
従来から、例えばバーコードや二次元コード等のコード記号を光学的に読み取るための光学的情報読取装置において、読取対象物を撮像し、撮像で得られた画像からコード記号を切り出してデコードすることが行われている。この場合において、画像が暗すぎるとデコードが行えないため、光学的情報読取装置に照明部を設け、読取対象物を照明しつつ撮像することも行われている。
【0003】
この場合において、どの程度の強度や時間で照明を行えばよいかは、周囲の環境や、読取対象物の種類によって変わってくる。また、それらにより適切な露光時間も変わってくる。このため、照明の強度や時間を自動的に適切な値に調整する技術が、本件出願人によるものも含め、特許文献1乃至7に示すように種々開発されている。
【0004】
この中で、例えば特許文献1には、その段落0028及び図5A等に、連続した低強度の照明と少なくとも1パルスの高強度の照明とを行いつつ、撮像した画像の画像強度に基づき適切な露光時間を設定することが記載されている。
特許文献2には、段落0038等に、画像の明るさや読取対象物までの距離に基づいて点灯時間を調整することが記載されている。
なお、照明や露光の調整は、コード記号の読取以外の目的で撮像する際にも行われ、特許文献1乃至7には、光学的情報読取装置以外の装置に関する技術を開示する文献も含まれる。
【先行技術文献】
【特許文献】
【0005】
【文献】特許第6053224号公報
【文献】特開2015-76106号公報
【文献】特開2001-43306号公報
【文献】特開2001-245111号公報
【文献】特開2011-130165号公報
【文献】特開2013-42429号公報
【文献】特開2019-129509号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、コード記号の例で考えると、近年コード記号は、紙等の記録担体に固定的に印刷されるのみならず、ディスプレイ等の表示器により動的に表示されることも多い。このため、読取装置の運用環境においてしばしば、読取対象物すなわち撮像対象として記録担体と表示器の双方を想定しなければならない。
【0007】
しかしながら、記録担体と表示器では、記録担体は通常は自ら発光しない一方表示器は自ら発光するものが多いという点で、特性が大きく異なる。このため、撮像に適した条件も、大きく異なる。
【0008】
このため、単に撮像で得られた画像の明るさに基づき撮像条件を調整するのみでは、コード記号のデコードに適した画像を得ることが難しい場合もあった。例えば、スマートフォンのディスプレイに表示されたコード記号を読み取る場合、ディスプレイ自体が発光されているため、画像の明るさが十分でないからといって照明の点灯時間を増加させても、画像の明るさ向上に寄与しづらいことが考えられる。一方、露光時間を延ばすことは、明るさ向上に効果的と考えられる。逆に、紙に印刷されたコード記号を読み取る場合、周囲が暗ければ、露光時間を延ばしたとしても画像の明るさ向上は見込めず、照明の点灯時間を(露光時間の範囲内で)増加させることが効果的と考えられる。
【0009】
照明の光量や時間と、露光時間との双方を増加させれば、撮像対象がスマートフォンの場合と紙の場合の双方に対応可能と考えられるが、スマートフォンを撮像する場合に、本来不要な量の照明を行うことになり、消費電力の増加や、ユーザがまぶしく感じるといったことの原因となり得る。また、スマートフォンの表示面のガラスの正反射のため、照明により却って撮像に支障が出ることも考えられる。
【0010】
また、何らかの手段により撮像対象を判別した上で、その特性に合った制御を行うことも考えられる。しかし、安価に搭載可能なハードウェアやソフトウェアでは、紙とスマートフォンですら、効果的に判別することは難しかった。例えば、撮像対象の表面で正反射が起こる場合に読取対象物がスマートフォンであると判別することが考えられるが、この基準では、保護シートが貼られている等により正反射が起こらない場合には適切な判別ができない。また、オペレータが撮像対象をスイッチ等で読取装置に設定することも考えられるが、様々な対象を速やかに読み取る必要がある場合には、現実的ではない。
【0011】
この発明は、このような課題を解決し、撮像装置により撮像対象を照明しつつ撮像を行う場合において、幅広い撮像対象を想定しつつ速やかに適切な撮像条件を設定できるようにすることを目的とする。また、この発明は、別の側面として、撮像装置により撮像対象を照明しつつ撮像を行う場合において、撮像対象が発光体である場合に、容易にその旨を判別できるようにすることを目的とする。いずれの場合においても、もちろん、撮像の目的は、コード記号等の情報の読み取りには限られず、本発明は、任意の目的で撮像を行う場合に適用可能である。想定される撮像対象も、紙等の記録担体と、スマートフォン等が備える表示器とに限られず、任意である。
【課題を解決するための手段】
【0012】
以上の目的を達成するため、この発明の撮像方法は、撮像部と、上記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像方法において、上記撮像部の露光時間と上記照明部の点灯時間とを含む撮像条件に従った撮像を行い、上記撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、上記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、上記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、上記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、上記第1パラメータの推定値及び上記第2パラメータの推定値に基づき、次の撮像に用いる撮像条件を決定するようにしたものである。
【0013】
さらに、上記第1パラメータの推定値及び上記第2パラメータの推定値に基づき、上記点灯時間が長くなるほど、上記露光時間が短くなり、上記点灯時間が短くなるほど、上記露光時間が長くなるような、露光時間と点灯時間との間の関係を定め、定めた上記関係を満たすように、次の撮像に用いる撮像条件の上記決定をするとよい。
さらに、上記次の撮像に用いる撮像条件を、露光時間と点灯時間との間の上記関係を満たし、かつ、最新の撮像条件と比べて、点灯時間の露光時間に対する比が所定閾値以上異なるように決定するとよい。
さらに、上記次の撮像に用いる撮像条件を、点灯時間の露光時間に対する比が、上記第2パラメータの推定値の上記第1パラメータの推定値に対する比になるべく近くなるように決定するとよい。
この発明の撮像方法において、上記点灯時間に代えて、上記照明部による前記撮像対象の照明量を用いることもできる。
【0014】
また、この発明は、撮像装置により撮像対象を照明しつつ撮像を行う場合において、撮像対象が発光体である場合に、容易にその旨を判別できるようにすることを目的とした、以下の判別方法及び、このような判別方法を利用した撮像方法も提供する。これらの発明においても、撮像の目的は、コード記号等の情報の読取には限られず、本発明は、任意の目的で撮像を行う場合に適用可能である。想定される発光体も、スマートフォン等が備える表示器に限られず、任意である。
【0015】
この発明の判別方法は、撮像部と、上記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法であって、上記撮像部の露光時間と上記照明部の点灯時間とを含む撮像条件を用い、少なくとも上記露光時間が相互に異なる複数の撮像条件に従った撮像をそれぞれ行い、上記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、上記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、上記露光時間の変動が画像の明るさに与える影響の度合いの推定値を求め、その推定値が第1閾値より大きい場合に、上記撮像部による撮像対象が発光体であると判断するものである。
【0016】
また、この発明の別の判別方法は、撮像部と、上記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法であって、上記撮像部の露光時間と上記照明部の点灯時間とを含む撮像条件を用い、少なくとも上記点灯時間が相互に異なる複数の撮像条件に従った撮像をそれぞれ行い、上記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、上記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、上記点灯時間の変動が画像の明るさに与える影響の度合いの推定値を求め、その推定値が第2閾値より小さい場合に、上記撮像部による撮像対象が発光体であると判断するものである。
【0017】
また、この発明のさらに別の判別方法は、撮像部と、上記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法であって、上記撮像部の露光時間と上記照明部の点灯時間とを含む撮像条件を用い、少なくとも上記露光時間と上記点灯時間との間の比が相互に異なる複数の撮像条件に従った撮像をそれぞれ行い、上記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、上記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、上記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、上記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、上記第1パラメータの推定値が第1閾値より大きく、かつ、上記第2パラメータの推定値が第2閾値より小さい場合に、上記撮像部による撮像対象が発光体であると判断するものである。
【0018】
また、この発明のさらに別の判別方法は、撮像部と、上記撮像部による撮像対象を照明する照明部とを備える撮像装置による撮像対象の判別方法であって、上記撮像部の露光時間と上記照明部の点灯時間とを含む撮像条件を用い、少なくとも上記露光時間と上記点灯時間との間の比が相互に異なる複数の撮像条件に従った撮像をそれぞれ行い、上記各撮像で得られた画像の明るさと、その画像の撮像条件とを対応付けて記憶部に記憶し、上記記憶部に記憶された明るさ及び撮像条件の複数組に基づいて、上記露光時間の変動が画像の明るさに与える影響の度合いを示す第1パラメータの推定値及び、上記点灯時間の変動が画像の明るさに与える影響の度合いを示す第2パラメータの推定値を求め、上記第1パラメータの推定値の、上記第2パラメータの推定値に対する比が、第3閾値よりも大きい場合に、上記撮像部による撮像対象が発光体であると判断するものである。
【0019】
また、この発明の撮像方法は、上記のいずれかの判別方法により撮像対象が発光体であると判断した場合に、撮像対象が発光体であると判断しなかった場合と比べて点灯時間の上限値を小さくして次の撮像に用いる撮像条件を決定し、撮像対象が発光体であると判断しなかった場合に、撮像対象が発光体であると判断した場合と比べて点灯時間の下限を大きくして次の撮像に用いる撮像条件を決定して、決定した上記撮像条件に従って上記撮像装置により撮像を行うものである。
【0020】
また、この発明は、以上説明した態様で実施する他、装置、方法、システム、プログラム、プログラムを記録した記録媒体等、任意の態様で実施することができる。
【発明の効果】
【0021】
以上のような本発明の構成によれば、撮像装置により撮像対象を照明しつつ撮像を行う場合において、幅広い撮像対象を想定しつつ速やかに適切な撮像条件を設定することができる。また、この本発明の別の側面の構成によれば、撮像装置により撮像対象を照明しつつ撮像を行う場合において、撮像対象が発光体である場合に、容易にその旨を判別することができる。
【図面の簡単な説明】
【0022】
図1】この発明の撮像装置の一実施形態である読取装置100のハードウェア構成を示すブロック図である。
図2図1に示した読取装置100が備える機能の構成を示す機能ブロック図である。
図3】読取装置100が実行する、点灯時間trと露光時間teを求めるための処理の概要について説明するための図である。
図4】読取装置100が実行する、点灯時間trと露光時間teを求めるための処理の概要について説明するための別の図である。
図5】読取装置100のCPU121が実行する、読取制御部151の機能と対応する処理のフローチャートである。
図6】同じく、撮像部153及び撮像条件決定部154の機能と対応する処理のフローチャートである。
図7図6に示した撮像条件決定処理のフローチャートである。
図8】読取装置100のCPU121が実行する、デコード部156の機能と対応する処理のフローチャートである。
図9】第2実施形態の読取装置100が備える機能の構成を示す、図2と対応する機能ブロック図である。
図10】第2実施形態の読取装置100のCPU121が実行する、撮像対象判定部158の機能と対応する処理のフローチャートである。
【発明を実施するための形態】
【0023】
この発明の実施形態について、図面を参照しながら説明する。
〔第1実施形態:図1乃至図8
まず図1を用いて、この発明の撮像装置の一実施形態について説明する。図1は、撮像装置の実施形態である読取装置のハードウェア構成を示すブロック図である。
図1に示す読取装置100は、読取対象101上の、光反射率が周囲と異なる記号により示されるコード記号102を光学的に読み取るための光学的情報読取装置であって、その読み取りに際して、読取対象101を撮像する撮像装置でもある。
【0024】
読取対象101は、静的にコード記号102を担持する記録担体であってもよいし、動的にコード記号を表示する表示器であってもよい。記録担体の材質は、紙、金属、樹脂など任意でよいし、記録担体にコード記号102を担持させる方法も、印刷、表面改質、刻印など、任意でよい。表示器も、バックライト等により自ら発光して情報を呈示する発光体であっても、反射型液晶表示装置のように、外部からの光を反射することにより情報を呈示する装置であってもよい。もちろん、読取対象101が上記のいずれであるかが予め特定されていなくてよい。
【0025】
コード記号102も、一次元のバーコードであっても、二次元コードであってもよく、その規格は問わない。コード記号102の規格が予め特定されておらず、後述するデコード処理の中で規格を判別する構成であってもよい。
【0026】
図1に示すように、この読取装置100は、光学部110、制御部120、操作部131及び通知部132を備える。
これらのうち光学部110は、撮像センサ111、レンズ112、パルスLED(発光ダイオード)113を備え、コード記号102を含む読取対象101の画像を光学的に撮像するための撮像装置である。
【0027】
撮像センサ111は、読取対象101等の撮像対象の画像を撮像するための撮像部であり、例えばCMOS(相補性金属酸化膜半導体)イメージセンサにより構成することができる。また、撮像センサ111は、撮像によりイメージセンサの各画素に蓄積した電荷に基づき、各画素の階調値を示す画像データを生成し、制御部120へ出力することができる。この撮像センサ111において、画素は二次元的に配置されている。
【0028】
レンズ112は、撮像センサ111上に撮像対象からの反射光を結像させるための光学系である。
パルスLED113は、撮像センサ111による撮像対象へ照明光を照射するための照明部である。
【0029】
次に、制御部120は、CPU121と、CPU121が実行するプログラムや各種テーブル等のデータを記憶したROM122と、CPU121が各種の処理を実行する際の作業領域として使用するRAM123と、外部装置と通信を行うための通信I/F124とを備えている。
【0030】
CPU121は、RAM123を作業領域としてROM122に記憶されたプログラムを実行することにより、光学部110、操作部131及び通知部132を含む読取装置100全体の動作を制御して、図2を用いて後述するものを始めとする、種々の機能を実現する。また、撮像センサ111が撮像した画像の画像データに含まれるコード記号102の検出及びデコード、そのデコード結果の外部への出力あるいは蓄積などの処理も行う。
通信I/F124は、コード記号102のデコード結果を利用するデータ処理装置など、種々の外部装置と通信するためのインタフェースである。
【0031】
操作部131は、ユーザの操作を受け付けるためのボタンやトリガ等の操作手段である。通知部132は、ユーザへの各種通知を行うための通知手段である。具体的な通知の方法としては、ディスプレイによるメッセージやデータの表示、ランプの点灯や点滅、スピーカによる音の出力等が考えられるが、これに限られることはない。
読取装置100を外部装置からの制御あるいは自律制御により自動で動作させる場合には、操作部131や通知部132を設けなくてもよい。
以上の読取装置100は、例えば手持ち型や据え置き型のコード記号読取装置として構成することができるが、これらに限られることはない。
【0032】
以上の読取装置100において、特徴的な点の一つは、撮像センサ111による過去の撮像で得られた画像の明るさと、その撮像に用いた撮像条件との組み合わせに基づき、次の撮像の撮像条件を決定する方法である。次に、この点について説明する。
まず、読取装置100が備える、上記の撮像条件の決定の機能を含む、コード記号の読み取りに関連する機能について説明する。図2は、その機能の構成を示す機能ブロック図である。
【0033】
図2に示すように、読取装置100は、読取制御部151、トリガ検出部152、撮像部153、撮像条件決定部154、撮像履歴記憶部155、デコード部156及び出力部157の機能を備える。これらの各部の機能は、ここで説明する例では、CPU121がソフトウェアを実行することにより光学部110をはじめとする読取装置100の各部を制御することにより実現するが、その一部又は全部を専用の制御回路により実現してもよい。
【0034】
図2に示す読取制御部151は、読取対象101の撮像からコード記号102のデコードまで、コード記号102の読み取りに関連する動作を統括的に制御する機能を備える。この機能には、読取開始トリガの検出に応じた撮像の開始や、デコード完了トリガの検出に応じた撮像の停止及びデコード結果の出力等が含まれる。
【0035】
トリガ検出部152は、読取開始トリガの発生を監視すると共に、読取開始トリガを検出した場合にその旨を読取制御部151に通知する機能を備える。何を読取開始トリガとするかは、読取装置100のメーカーあるいはユーザが任意に定めればよい。例えば、操作部131が備えるトリガスイッチの操作があったことや、撮像センサ111の撮像範囲内に何らかの物体が進入したこと等をトリガとすることができる。後者の場合、物体検知用の、赤外線センサ等のセンサ等を読取装置100に設けるとよい。また、何をトリガとするかをユーザが任意に切り替えられるようにしてもよい。
【0036】
撮像部153は、読取制御部151からの開始指示に応じて、光学部110を制御して撮像を行わせ、撮像で得られた画像データを取得する機能を備える。この撮像は、撮像条件決定部154が決定した条件に従って行う。また、撮像部153は、撮像で得られた画像をデコードする場合に、その画像データをデコード部156に渡す機能及び、撮像に用いた撮像条件とその撮像で得られた画像の明るさとを対応付けて、撮像履歴として撮像履歴記憶部155に登録する登録部の機能も備える。
【0037】
撮像条件決定部154は、撮像履歴記憶部155に登録されている、撮像条件と画像の明るさとの組のデータに基づき、現在の読取対象101を撮像するに適した撮像条件を決定し、撮像部153に提供する機能を備える。この実施形態では、撮像条件決定部154は、撮像条件として撮像センサ111の露光時間及びパルスLED113の点灯時間を決定するが、他の条件も合わせて決定することは妨げられない。また、この決定のアルゴリズムの詳細については後述する。
【0038】
撮像履歴記憶部155は、撮像部153が撮像に用いた撮像条件とその撮像で得られた画像の明るさとを対応付けて記憶する機能を備える。記憶に用いるハードウェアは、RAM123等の、読取装置100が備えるハードウェアであっても、読取装置100の外部のハードウェアであってもよい。
デコード部156は、撮像部153から渡された画像データに含まれるコード記号102のデコード処理を行い、デコードが成功した場合にその旨及びデコード結果のデータを読取制御部151に渡す機能を備える。
【0039】
出力部157は、通信I/F124や通知部132を用いて、コード記号102のデコード結果を、データ処理装置等の外部装置へ出力すると共に、読取成功をユーザに通知する機能を備える。ユーザへの通知の方法は、ブザーや振動など、任意の方法で行うことができるし、通知不要の場合には行わなくてもよい。
【0040】
次に、以上の読取装置100において撮像条件決定部154が行う読取条件決定の基本的な考え方について説明する。
まず、撮像条件決定部154は、撮像部153での撮像により、デコードに適した明るさの画像が得られるように、撮像条件を決定する。明るさは、例えば、画像中の数百画素程度の標本画素の画素値の、上位数パーセント程度のパーセンタイル値として求めることができる。適当なオフセット処理を行ってもよい。いずれにせよ、本明細書では、画像の明るさを示すパラメータの値を輝度指標値D1とし、輝度指標値D1の値が所定の目標値D1_tとなる画像が得られるように、撮像条件を決定する。
【0041】
ここで、周囲の環境や読取対象及びその位置が一定である場合、すなわち、特定の読取対象に対して複数フレームの撮像を短時間のうちに行う場合、輝度指標値D1に影響を与えるパラメータとしては、パルスLED113の点灯時間tr、撮像センサ111の露光時間te、および撮像センサ111のゲインgが考えられる。そして、これらのパラメータと、輝度指標値D1との関係は、近似的には以下の式1のように表せると考えられる。
【0042】
【数1】
【0043】
ここで、k_offは、露光時間teの変動が画像の明るさに与える影響の度合いを示す露光寄与度(第1パラメータ)であり、k_onは、点灯時間trの変動が画像の明るさに与える影響の度合いを示す点灯寄与度(第2パラメータ)である。式1は、撮像センサ111が検出する光量は、概ね露光時間teに比例し、パルスLED113を点灯すればその点灯時間trに比例する量だけ増加し、画像の明るさ(輝度指標値D1)は、その光量をどの程度の倍率のゲインgで画素値に反映させるかによって決まる、との考え方に基づく。
【0044】
なお、ここでは、パルスLED113による照明の光量は、点灯中は常に一定であると仮定しており、また、露光時間teと点灯時間trの寄与がそれぞれ線形であると仮定しているが、このように仮定しても、撮像条件の決定は、十分な精度で行うことができる。照明の光量の変動を考慮する例については、変形例として後述する。
【0045】
式1において、k_on及びk_offの値は、周囲の環境や読取対象及びその位置によって決まり、これらが一定である場合には、定数とみなすことができる。従って、tr,te,gの値を適切に定めることにより、撮像で得られる画像の輝度指標値D1を、所望の値又はその近傍の値にすることが期待できる。
しかしここでは、制御を簡単にするため、ゲインgは固定とし、点灯時間tr及び露光時間teの調整によって、所望の輝度指標値D1を得ることを考える。
【0046】
そこで、D=D1/gなる輝度指標値Dを導入する。輝度指標値Dを用いると、式1の関係は次の式2のように表せるので、以下では、撮像で得られる画像の輝度指標値Dを所定の目標値D_tにできるような、点灯時間tr及び露光時間teを求めることを考える。
【0047】
【数2】
【0048】
撮像条件決定部154は、このためにまず、k_on及びk_offの値を推定する。
具体的には、撮像条件決定部154は、点灯時間tr及び露光時間teを変更しつつ撮像を行い、点灯時間tr及び露光時間teと、各撮像で得られた画像の輝度指標値Dとを式2にあてはめて、式3のような関係式を得る。式3において、iを自然数として、D_ciは、i番目の撮像で得られた画像の輝度指標値Dの値、tri及びteiはそれぞれi番目の撮像に用いた撮像条件における点灯時間tr及び露光時間teである。xは、k_on及びk_offの値の推定に利用可能な撮像履歴の数である。
【0049】
【数3】
【0050】
式3において、未知数はk_on及びk_offのみであるから、式3を、k_on及びk_offの連立方程式であると見て解けば、k_on及びk_offの推定値を求めることができる。式が3以上あると、k_onとk_offの解は一意に定まらないが、以下の式4及び式5に従った計算により、全ての式を概ね満たす、k_onとk_offの解の近似値を得ることができる。
【0051】
【数4】
【0052】
【数5】
【0053】
式4は、式3と同じ内容を行列を用いて表したもの、式5は、式4を変形して、左辺の行列Kの値を求める式を導出したものである。式5において、Xは行列Xの転置行列を、X-1は行列Xの逆行列を示す。式5は、式4の両辺に、左側から行列S及び行列(SS)-1を順次乗じて整理することにより、導出できる。
なお、式2の趣旨から、k_on及びk_offは、ともに正の値であると考えられるため、式5の計算の結果0以下の値となった場合には、推定値を適当な小さい正の値とするとよい。
【0054】
また、x=2の場合は、2回の撮像で点灯時間trと露光時間teの比が一定であると、解が求まらないため、当該2回の撮像では、点灯時間trと露光時間teの比が互いに異なる撮像条件を用いることが好ましい。また、xが3以上であっても、x回の撮像で点灯時間trと露光時間teの比が全て一定であると、解が求まらないため、点灯時間trと露光時間teの比は、撮像毎に適宜に変動させることが好ましい。
【0055】
撮像条件決定部154は、以上によりk_on及びk_offの推定値が求まると、その推定値を用いて、次の撮像に用いるべき点灯時間trと露光時間teを求める。次に、この点について、図3及び図4のグラフを参照しつつ説明する。
図3は、式2のグラフを、tr-te-D空間上に示したもので、符号223が、式2が表す平面を示す。(a)と(b)は、この平面223を、それぞれk_onとk_offの値の異なる組み合わせについて示した、2つの例である。
【0056】
(a)は、k_onが大きく、k_offが小さい値である場合の例である。例えば、暗い環境で、紙等の非発光体を撮像しようとする場合、露光時間teを長くしても撮像センサ111に入射する光量はさほど変わらず、点灯時間trを長くすれば、入射光量はそれに応じて大きく増加して画像の明るさに反映されると考えられるため、(a)のような傾向を示す。
【0057】
(b)は、k_onが小さく、k_offがある程度大きい値である場合の例である。例えば、スマートフォンのディスプレイのように、発光体を撮像しようとする場合、露光時間teを長くすれば、ディスプレイが発する光が長時間撮像センサ111に入射するため、撮像センサ111に入射する光量は増加してそれが画像の明るさに反映される。しかし、点灯時間trを長くしても、撮像センサ111に入射する光量自体はそれに応じて増加すると考えられるが、同じ時間内に入射する、ディスプレイが発する光と比べて弱いため、画像の明るさへの影響は小さいと考えられる。このため、(b)のような傾向を示す。
【0058】
これらの(a)と(b)は、単に2つの例を示したのみであり、これら以外の、例えばk_onとk_offが共にある程度大きい値である場合もあり得る。第1実施形態において、撮像条件決定部154は、k_on及びk_offの推定値に応じて、点灯時間tr及び露光時間teの算出アルゴリズムを変える必要はない。すなわち、k_on及びk_offの推定値に基づき、撮像対象や撮像環境がどのようなものであるかを判定する必要はない。
【0059】
(a)と(b)のいずれにおいても、式2が示す平面223は、tr-D平面上の、原点を通って傾きがk_onである直線221と、te-D平面上の、原点を通って傾きがk_offである直線222とを含む平面である。そして、輝度指標値Dの値として目標値D_tを得るためには、点灯時間trと露光時間teの組み合わせを、平面223と、D=D_tの平面との交線である直線224に乗るように定めればよいと考えられる。この直線224を、求めるべきtrとteの値の関係を示す直線という意味で、「解決定直線」と呼ぶことにする。この点は、(a)の例でも(b)の例でも共通である。
【0060】
撮像条件決定部154は、解決定直線224上のいずれかの点を、所定の制約条件に従って選択して、その点のtrとteの座標値を次の撮像に用いる点灯時間tr及び露光時間teとして採用する。次に、この制約条件について説明する。
図4は、解決定直線224をte-tr平面上に投影すると共に、制約条件の一例を図示したものである。図4の(a)と(b)は、それぞれ図3の(a)と(b)に対応する。
【0061】
図4に示す制約条件の1つめは、0≦te,trである。露光時間も点灯時間も、負の値を取ることはできないためである。
制約条件の2つめは、tr≦teである。露光時間よりも長く投光しても、画像の明るさに影響はなく、電力の無駄であるため、この制約条件を設けている。図4では、直線231が、tr=teの直線であり、ドットハッチングを付した領域が2つめの制約条件により除外される。
【0062】
制約条件の3つめは、前回撮像時の露光時間と点灯時間をそれぞれteα、trαとし、適宜な1を超える定数をρとして、ρ≦(tr/te)/(trα/teα)、または(tr/te)/(trα/teα)≦1/ρである。これは、点灯時間trと露光時間teの比が、前回撮像時と比べて所定閾値以上異なるようにするための制約条件であり、前回撮像時の1/ρ倍より大きくρ倍未満の範囲を除外するものである。図4では、点232が、(teα,trα)であり、直線233が、原点と点232を通る直線で、ハッチングを付していない、符号234で示す範囲が、3つめの制約条件により除外される。
【0063】
従って、撮像条件決定部154は、解決定直線224上にあって、かつ縦線のハッチングを付した範囲にある点のいずれかを、次の撮像に用いる点灯時間tr及び露光時間teとして採用する。
なお、te-tr平面上において、解決定直線224の傾きは、-k_off/k_onであるので、負の値である。すなわち、解決定直線224は、点灯時間trが長くなるほど露光時間teが短くなり、点灯時間trが短くなるほど露光時間teが長くなるような、露光時間teと点灯時間trとの間の関係を定める。
【0064】
そして、撮像条件決定部154は、原点から解決定直線224に下した垂線235と解決定直線224との交点236が制約条件を満たす範囲にあれば、交点236の座標を採用する。(b)がこのケースに該当する。また、交点236が制約条件を満たす範囲になければ、制約条件を満たす範囲でなるべく交点236に近い点237の座標を採用する。(a)がこのケースに該当する。
【0065】
いずれの場合も、垂線235の傾きはk_on/k_offであるので、交点236では、tr=(k_on/k_off)・te、すなわち、tr/te=k_on/k_offである。従って、撮像条件決定部154は、点灯時間trの露光時間teに対する比が、第2パラメータk_onの推定値の第1パラメータk_offの推定値に対する比になるべく近くなるように、露光時間teと点灯時間trを決定することになる。
【0066】
なお、交点236を採用するのは、この点が、解決定直線224上で原点に最も近い点であるためである。解決定直線224の点であれば、どの点を採用しても輝度指標値Dが目標値D_tとなるような画像を得られると考えられるが、露光時間teを長くしすぎれば1フレームの時間が長くなって読取時間が延びるし、点灯時間trを長くしすぎれば消費電力が増加するし、ユーザからパルスLED113が見える場合にはユーザがまぶしく感じることになる。交点236になるべく近い点の座標を採用することにより、露光時間teと点灯時間trのバランスをとった撮像条件を決定できると考えられる。
【0067】
図4からわかるように、(a)のケースでは、読取対象101からの反射光により十分な光量を得られるだけの点灯時間trと、trとほぼ同じ露光時間teが決定されると考えられる。(b)のケースでは、読取対象101の発光により概ね十分な光量を得られるだけの露光時間teと、短い点灯時間trとが決定されると考えられる。
【0068】
以上説明してきた考え方に基づけば、読取対象101が何であるかによらず、また、周囲の環境にもよらず、無用に長くパルスLED113を点灯させずにかつ1フレームの時間が長くなりすぎずに好ましい明るさの画像が得られるような撮像条件を、共通のアルゴリズムによって自動的にかつ速やかに設定することができる。撮像履歴として2フレーム分のデータを利用可能となる3フレーム目には、ある程度の精度で輝度指標値の目標値D_tを達成可能な撮像条件を設定できると期待できる。
【0069】
なお、ここまでに説明してきたk_on、k_off及びtr、teの算出法を、ここまで説明してきたように区切ってステップバイステップで実行することは必須ではない。ここまでに説明してきたことは基本的な考え方であり、いくつかのステップをまとめてその先の結果を得るための演算を、解析的にあるいは近似的に定めて実行しても構わない。
【0070】
また、露光時間teと点灯時間trとが満たすべき制約条件として、図4に示した条件以外を考慮してもよい。また、図4に示した条件も、具体的な内容を、上述と異なるものとしてもよい。
例えば、パルスLED113の消灯時の電圧変動が、撮像後の撮像センサ111からの画像データの読み出しに際してノイズとならないように、露光時間teが終了するよりも所定時間kだけ前までに投光を終了するようにすることが考えられる。この場合、制約条件はte≦tr-kである。
また、フレーム期間やシャッタ速度の制約から、露光時間teの最大値と最小値を定めてもよい。また、パルスLED113の応答速度や発熱及び消費電力などの制約から、点灯時間trの最大値と最小値を定めてもよい。
【0071】
また、解決定直線224上で露光時間te及び点灯時間trとして採用する点は、垂線235との交点には限られない。例えば、適当な正の定数βに関し、tr/te=β・(k_on/k_off)となる点を採用してもよい。βが大きいほど、点灯時間が長く、露光時間が短い条件を、βが小さいほど、点灯時間が短く、露光時間が長い条件を設定することになる。読取装置100の利用態様や周辺環境に合わせ、βの値をユーザが調整できるようにしてもよい。
【0072】
次に、以上説明してきた露光時間teと点灯時間trの決定の処理を含む、CPU121がコード記号102の読取制御のために実行する処理について、図5乃至図8を参照しつつ説明する。ここで説明する処理は、この発明の撮像方法の実施形態である。また、ここまでの説明では省略した、2フレーム分の撮像履歴を用意するまでの処理も含む。
【0073】
まず図5に、読取制御部151の機能と対応する処理のフローチャートを示す。
CPU121は、読取装置100の電源がONされると、図5に示す処理を開始する。
この処理において、CPU121はまず、トリガ検出部152からの読取開始トリガ発生の通知を検出するまで待機する(S11)。そして、この通知を検出すると、コード記号102の読み取りを行うべく、撮像部153に対して撮像開始を指示する(S12)。
【0074】
CPU121はその後、デコード部156からデコード結果を受領するか(S13のYes)、読取開始から所定時間経過する(S14のYes)まで待機し、これらのいずれかが満たされると、撮像部153に対して撮像停止を指示する(S15)。前者の場合はデコード(読取)成功、後者の場合はタイムアウトによる読取失敗である。
CPU121は、デコードが成功していれば、(S16のYes)、出力部157によりデコード結果を出力して、ステップS11に戻る。このとき、デコード成功の旨を、音や光によりユーザに通知してもよい。デコード失敗であれば(S16のNo)、そのままステップS11に戻る。
【0075】
次に、図6に、撮像部153及び撮像条件決定部154の機能と対応する処理のフローチャートを示す。
CPU121は、図5のステップS12の処理による撮像開始指示を検出すると、図6の処理を開始する。
この処理において、CPU121はまず、図7に示す撮像条件決定処理を実行する(S21)。この処理は、図3及び図4を用いて説明したように、次の撮像に用いる露光時間teと点灯時間trを決定する処理であるが、この処理については後述する。
【0076】
CPU121は次に、ステップS21で決定した撮像条件に従い、光学部110を制御して1フレーム分の撮像を実行する(S22)。そして、撮像で得られた画像データの画素値から、輝度指標値Dを算出し(S23)、撮像に用いた撮像条件とその算出した輝度指標値Dとを対応付けて、撮像履歴記憶部155に登録する(S24)。このとき、今回の開始した処理における何番目のフレームの撮像であるかを示すデータも、合わせて登録する。ステップS24で登録したデータは、図7の撮像条件決定処理において参照される。
【0077】
その後、CPU121は、今回算出した輝度指標値Dが目標値D_tの近傍の所定範囲内にある(デコードに適している)か、および、これまで所定フレーム続けてその所定範囲外であることが続いた(好ましい範囲に収束しないが時間がかかっているためトライしてみる)かの、いずれかを満たすか否か判断する(S25)。ここでYesであれば、CPU121は、今回の撮像で得られた画像データをデコードすると判断し、画像データをデコード部156に渡す(S26)。
また、ステップS25でNoであれば、CPU121は、今回の撮像で得られた画像データはデコードしないと判断し、ステップS26をスキップしてステップS27に進む。
【0078】
その後、図5のステップS15による撮像停止指示を受けていれば(S27のYes)、図6の処理を終了し、受けていなければステップS21に戻って処理を繰り返す。ステップS27がYesになるのは、既にデコードが成功したか、読み取りがタイムアウトした場合である。
【0079】
次に、図7に、図6に示した撮像条件決定処理のフローチャートを示す。この処理は、撮像条件決定部154の機能と対応する処理である。
CPU121は、図6のステップS21において、図7の処理を開始する。
この処理において、CPU121はまず、撮像履歴記憶部155に、今回の読み取りにおける撮像条件の決定に利用可能な撮像履歴がいくつ登録されているかを確認する(S31)。そして、その数によって処理を分岐させる。
【0080】
基本的には、最後に図6の処理を開始した後の撮像履歴が利用可能であると考えられるが、その中で最新の所定数のフレームのみを利用可能としてもよい。あるいは、前回のデコードからあまり時間が経っていない場合、周辺環境に大きな違いがないと想定されるため、前回デコード時の最後の所定数のフレームの撮像履歴も利用可能としてもよい。このようにすれば、1フレーム目からステップS37にて精度よく好適な読取条件を設定することができる。
ただし、紙とスマートフォンといった、特性の異なる読取対象101が混在すると想定される場合は、前回デコード時の撮像履歴は利用しないことが望ましい。前回デコード時の撮像履歴を利用するモードとしないモードとを、ユーザが任意に切り替えることができるようにしてもよい。
【0081】
ステップS31で利用可能な撮像履歴の数が0であった場合、撮像に用いるべき露光時間teと点灯時間trを決めるためのデータが何もないことになるので、CPU121は、予め登録されている初期値を、次の撮像に用いる露光時間te及び点灯時間trとして採用して(S32)、図6の処理に戻る。この初期値としては、最も頻繁に読み取りが行われる環境や読取対象101に適した値を登録しておくとよい。例えば標準的な室内の明るさで、標準的な距離にある紙面を読み取る場合に適した値を登録しておくとよい。
【0082】
次に、ステップS31で利用可能な撮像履歴の数が1であった場合、まだ、式3乃至式5に従ってk_on及びk_offの推定値を求めることはできない。そこで、CPU121は、k_offについては、予め登録されている初期値を採用する(S33)。この初期値は、ステップS32で採用する値と同じでも、異なっていてもよい。
そして、撮像履歴中の、撮像条件と輝度指標値Dの1組および、ステップS33で採用したk_offに基づき、k_onの推定値を算出する(S34)。具体的には、式2を変形して得られる以下の式6に、撮像条件中のte,trと、輝度指標値D及び露光寄与度k_offを代入すればよい。
【0083】
【数6】
【0084】
その後、CPU121は、ステップS33で採用したk_offと、ステップS34で算出したk_onに基づき、図3及び図4を用いて上述したように、所定の制約条件を満たし、かつ目標の輝度指標値D_tが得られると推定できる露光時間te及び点灯時間trを算出する(S35)。そして、この算出したte及びtrを、次の撮像に用いる露光時間te及び点灯時間trに決定して、図6の処理に戻る。
【0085】
なお、ステップ33でk_offについて既定の初期値を採用したのは、k_offの方が、k_onに比べ、値が目標値からずれても弊害が小さいためであるが、k_onについて既定の初期値を採用するようにしても、ステップS34及びS35の算出は、上述の場合と同様に行うことができる。ただしこの場合、式6に代えて、式2を左辺がk_offとなるように整理した式を用いる。
【0086】
また、ステップS35においては、図4に示したように、解決定直線234と垂線235との交点236の座標値を、露光時間te及び点灯時間trとする必要はない。まだ、k_on、k_off、te、trを安定して求められる状況にないため、例えば、制約条件を満たす範囲で直線233に最も近い点の座標値を採用することにより、te、trが極端な値となって、次回の撮像や、次回以降のk_on、k_off、te、trの算出に悪影響を与えることを防止できる。
【0087】
次に、ステップS31で利用可能な撮像履歴の数が2以上であった場合、通常であれば、式3乃至式5に従ってk_on及びk_offの推定値を求めることができる。そこで、CPU121は、撮像履歴中の、撮像条件と輝度指標値Dの複数組に基づき、上述した式5の演算により、k_on及びk_offの推定値を求める(S36)。
そして、ステップS36で求めたk_on及びk_offに基づき、図3及び図4を用いて上述したように、所定の制約条件を満たし、かつ目標の輝度指標値D_tが得られると推定できる露光時間te及び点灯時間trを算出する(S37)。そして、この算出したte及びtrを、次の撮像に用いる露光時間te及び点灯時間trに決定して、図6の処理に戻る。
【0088】
次に、図8に、デコード部156の機能と対応する処理のフローチャートを示す。
CPU121は、図6のステップS26の処理により画像データがデコード部156に渡されると、これを取得して図8の処理を開始する。
この処理において、CPU121はまず、取得した画像データから、デコードすべきコード記号の部分を抽出して、デコード処理を行う(S41)。この処理は、想定されるコード記号の規格に応じて、適宜に公知のものを採用すればよい。また、複数の規格について順次デコードを試みるべき場合もある。
【0089】
そして、ステップS41でのデコードが成功した場合(S42のYes)、CPU121は、読取制御部151に対し、デコード成功の旨及びデコード結果のデータを通知して(S43)、処理を終了する。デコード失敗であれば(S42のNo)、ステップS43をスキップして処理を終了する。
【0090】
CPU121が、以上の図5乃至図8の処理を実行することにより、読取装置100は、特に図6及び図7の処理によって、図3及び図4を用いて説明したように、広範な周囲環境(特に明るさ)や読取対象101が想定される場合であっても、実行中の読み取りに適した撮像条件を速やかに設定してコード記号102を読み取ることができる。また、パルスLED113の点灯時間を無用に長くすることがなく、消費電力やまぶしさを低減することができる。
なお、図7の処理で利用可能な撮像履歴の数が0や1の状態でデコードが成功してしまえば、それ以上撮像を繰り返す必要はなく、利用可能な撮像履歴の数が2以上になる前に読取を終了することもある。
【0091】
〔第2実施形態:図9及び図10
次に、この発明の第2実施形態について説明する。第2実施形態は、読取装置100が、算出した露光寄与度k_off及び点灯寄与度k_onの推定値に基づき、撮像対象が発光体であるか否かを判別すると共に、その判別結果によって異なる処理を実行するようにした点が、第1実施形態と異なるのみである。そこで、第1実施形態との共通部分の説明は省略し、この相違点を中心に説明する。また、第1実施形態と共通の又は対応する要素には、同じ符号を付す。
【0092】
まず図9に、読取装置100が備えるコード記号の読み取りに関連する機能の構成を示す。
図9に示す機能構成は、撮像対象判定部158が追加されている点以外は、図2に示したものと同様である。
撮像対象判定部158は、撮像条件決定部154が撮像条件の決定に際して算出したk_off及びk_onの推定値に基づき、撮像センサ111による撮像対象が発光体であるか否かを判別する機能を備える。また、その判別の結果に基づき、撮像条件決定部154が決定する点灯時間trの制約条件を変更すると共に、デコード部156が実行するデコード処理を変更する機能も備える。
【0093】
図10に、上記の撮像対象判定部158の機能と対応する処理のフローチャートを示す。図10の処理は、図7のステップS36とS37の間に挿入されるものである。
第2実施形態の読取装置100において、CPU121は、図7のステップS36でk_off及びk_onの推定値を算出すると、図10のステップS51の処理に進む。ステップS51及びS52では、CPU121は、露光寄与度k_offが所定の第1閾値T1より大きく、かつ点灯寄与度k_onが所定の第2閾値T2より小さい場合(S52のYes)に、撮像対象が発光体であると判断する。また、これらのいずれかが満たされない場合(S51又はS52でNo)、CPU121は、撮像対象は発光体でないと判断する。
【0094】
第1実施形態で図3の説明で述べたように、発光体を撮像しようとする場合には、k_onが小さく、k_offがある程度大きい値となると考えられるため、この考え方に沿って、判断基準を設けたものである。
そして、撮像対象は発光体でないと判断した場合、CPU121は、デコード部156を汎用のデコードモードに切り替える(S53)と共に、図7のステップS37で用いる制約条件として、点灯時間trの下限値を設定する(S54)。
【0095】
汎用のデコードモードとは、特定の読取対象を想定せず、想定されるコード記号102の規格全てについて、順次デコード処理を行うモードである。また、ステップS54でtrの下限値を設定するのは、撮像対象が発光体でない場合には、ある程度の照明が必要であることが通常であり、点灯時間trが短すぎると露光時間teが長くなって読み取りに時間がかかるため、ある程度の点灯時間を確保して、露光時間teが無用に長くなることを防止するためである。
一方、撮像対象が発光体であると判断した場合、CPU121は、デコード部156をスマートフォン用のデコードモードに切り替える(S55)と共に、図7のステップS37で用いる制約条件として、点灯時間trの上限値を設定する(S56)。
【0096】
この実施形態では、発光体としてスマートフォンのディスプレイを想定し、読取装置100の利用環境において、スマートフォンには特定の規格のコード記号が表示されることを想定している。このような環境においては、撮像対象が発光体であると判断できた場合、デコード処理において、当該特定の規格を対象としたデコード処理を最初に試みることにより、他の規格を対象とした処理による無用なデコード失敗を起こさずに、デコード処理を高速化することができる。スマートフォン用のデコードモードは、このような用途で、上記特定の規格を対象としたデコード処理を最初に試みるモードである。
【0097】
なお、紙に印刷されるコード記号は、スマートフォンに表示されるコード記号と異なる規格のコード記号であるような利用環境も考えられる。この場合は、ステップS53で、汎用ではなく紙媒体用のデコードモードとして、紙印刷に用いられる規格を対象としたデコード処理を最初に試みるモードを設定すれば、同様にデコード処理を高速化することができる。
【0098】
また、ステップS56でtrの上限値を設定するのは、撮像対象が発光体である場合には、照明は画像の明るさ増にあまり寄与しないことが通常であり、点灯時間trが長すぎると消費電力やまぶしさの増加に繋がって好ましくないため、点灯時間trが長くなりすぎることを防止するためである。
ステップS54又はS56の後、CPU121は図7のステップS37の処理に進み、以後は第1実施形態と同様な処理を行う。
【0099】
以上のように、k_off及びk_onの推定値を利用することにより、撮像対象が発光体であるか否かを、簡単な処理で判別することができる。また、判別結果に応じてデコードの処理を切り替えたり、次回以降の撮像に用いる撮像条件あるいはその決定方法を変えることにより、読取対象あるいは撮像対象に合った効率的な読み取りを行うことができる。
【0100】
なお、撮像対象の判別結果に応じて行う処理は、図10に示したものに限られず、任意である。コード記号の読み取りやデコードと無関係な処理であってもよい。また、発光体としてスマートフォン以外のものを想定した処理であってもよい。
また、撮像対象の判別の基準として、「露光寄与度k_offが所定の第1閾値T1より大きい」、および、「点灯寄与度k_onが所定の第2閾値T2より小さい」の一方のみを用いるようにしてもよい。図10のように双方を用いる場合に比べると精度は落ちるが、一方のみでも一定程度の判別は可能である。
【0101】
また、k_off,k_on>0であるので、k_off>T1かつk_on<T2ならばk_off/k_on>T1/T2である。そこで、T1/T2を第3閾値T3とすると、図10のステップS51及びS52の判別条件は、k_offのk_onに対する比が第3閾値T3より大きい場合に撮像対象が発光体であると判断するものである、と捉えることもできる。
【0102】
〔変形例〕
以上で実施形態の説明を終了するが、この発明において、装置の具体的な構成、具体的な処理の手順、データの形式、具体的なデータの内容、採用する規格等は、実施形態で説明したものに限るものではない。
【0103】
例えば、上述した実施形態において、trはパルスLED113の点灯時間として規定しているが、撮像センサ111が撮像する画像の画素値は、各画素に入射する光量の時間積分値に依存する。従って、これに合わせ、trを、パルスLED113による照射光量の時間積分値と捉えることもできる。この時間積分値は、読取対象101に対して行う照明の量である「照明量」であると考えることができる。パルスLED113の照射強度が常に一定であれば、時間積分値は点灯時間に比例するため、どちらで捉えても、trの値を求める演算に、大きな違いはない。しかし、trを時間積分値と捉える場合、例えば、trを2倍にする場合に、パルスLED113の点灯時間を2倍にする代わりに点灯光量を2倍にすることも考えられる。
【0104】
また、実際の装置では、パルスLED113を点灯させようとして電圧を印加しても、すぐには所望の光量に達せず、さほど長い時間でないとはいえ、制御回路の時定数に応じた時間をかけて徐々に光量が増加していくことが一般的である。この点をtrの算出に反映させるためには、trを光量の時間積分値と捉えた上で、実際の通電時間tr_cを、パルスLED113の制御回路の特性方程式を用いて発光光量の時間積分値に換算した上で、当該換算値を上述の実施形態における点灯時間trとして取り扱って、式3~式5及び図3図4を用いて説明した手法により、輝度指標値の目標値D_tを達成するためのte及びtrの値を求めることが考えられる。そして、特性方程式を用いて、その求めたtrに相当する時間積分値を達成するための通電時間tr_xを算出し、tr_xの時間だけパルスLED113に通電することにより、過渡現象も考慮して、適切な光量の照明を行うことができる。
【0105】
また、読取装置100により読み取る対象が、コード記号102以外の情報、例えば文字列やマークであってもよい。
また、この発明は、情報の読み取り以外の目的で撮像を行う場合でも、当然適用可能である。例えば、撮像で得られた画像そのものを分析するために、特定の明るさの画像を取得したい場合などでも、上述の実施形態の場合と同様に撮像条件の決定をすることは、有用である。
【0106】
また、この発明のプログラムの実施形態は、1のコンピュータに、あるいは複数のコンピュータを協働させて、所要のハードウェアを制御させ、上述した実施形態における読取装置100の機能を実現させ、あるいは上述した実施形態にて説明した処理を実行させるためのプログラムである。
【0107】
このようなプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。さらに、ネットワークに接続された外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
【0108】
また、以上説明してきた実施形態及び変形例の構成が、相互に矛盾しない限り任意に組み合わせて実施可能であり、また、一部のみを取り出して実施することができることは、勿論である。
【符号の説明】
【0109】
100…読取装置、101…読取対象、102…コード記号、110…光学部、111…撮像センサ、112…レンズ、113…パルスLED、120…制御部、151…読取制御部、152…トリガ検出部、153…撮像部、154…撮像条件決定部、155…撮像履歴記憶部、156…デコード部、157…出力部、158…撮像対象判定部、224…解決定直線、235…垂線、D,D1…輝度指標値、D_t,D1_t…輝度指標値の目標値、k_off…露光寄与度、k_on…点灯寄与度、te…撮像センサ111の露光時間、tr…パルスLED113の点灯時間
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10