(57)【要約】【課題】ユーザがシンボル読取装置の表示画面内にシンボルを入れて撮影するだけでシンボルのＩＤを高速に抽出可能なシンボル読取装置、及びプログラムを提供する。【解決手段】シンボルを撮影して画像を生成させ、生成された撮影画像から前記シンボルの大きさを検出し、検出されたシンボルの大きさと予め設定された値とを比較して大小を判定し、判定の結果、前記シンボルの大きさが、予め設定された値よりも小さい場合は撮像手段の焦点位置を遠方側の所定位置へと移動させ、予め設定された値よりも大きい場合は撮像手段の焦点位置を近接側の所定位置へと移動させて撮影された撮影画像から前記シンボルに対応するシンボルデータを解析する。【選択図】図４
2010204792.tif 000002
【特許請求の範囲】
【請求項１】
シンボルを撮影して画像を生成する撮像手段と、
前記撮像手段により生成された撮影画像から前記シンボルの大きさを検出する検出手段と、
前記検出手段により検出されたシンボルの大きさと予め設定された値とを比較して大小を判定する判定手段と、
前記判定手段による判定の結果、前記シンボルの大きさが、予め設定された値よりも小さい場合は前記撮像手段の焦点位置を遠方側の所定位置へと移動させ、予め設定された値よりも大きい場合は前記撮像手段の焦点位置を近接側の所定位置へと移動させる焦点移動制御手段と、
前記撮像手段により生成された撮影画像から前記シンボルに対応するシンボルデータを解析する解析手段と、
を備えたことを特徴とするシンボル読取装置。
【請求項２】
前記予め設定された値には、少なくとも２つの異なる値があり、
前記焦点移動制御手段は、前記判定手段による判定の結果、前記バーコードの大きさが、前記２つの異なる値のうち小さい方の値よりも小さい場合は前記撮像手段の焦点位置を遠方側の所定位置へと移動させ、前記２つの異なる値のうち大きい方の値よりも大きい場合は前記撮像手段の焦点位置を近接側の所定位置へと移動させることを特徴とする請求項１に記載のシンボル読取装置。
【請求項３】
前記シンボルは、１次元バーコード又は２次元コードであることを特徴とする請求項１又は２に記載のシンボル読取装置。
【請求項４】
前記検出手段は、前記撮影画像に含まれる座標位置を示す部分に基づいて前記シンボルの大きさを検出することを特徴とする請求項１乃至３のいずれか一項に記載のシンボル読取装置。
【請求項５】
シンボル読取装置のコンピュータを、
シンボルを撮影して画像を生成する撮像手段、
前記撮像機能により生成された撮影画像から前記シンボルの大きさを検出する検出手段、
前記検出機能により検出されたシンボルの大きさと予め設定された値とを比較して大小を判定する判定手段、
前記判定機能による判定の結果、前記シンボルの大きさが、予め設定された値よりも小さい場合は前記撮像機能の焦点位置を遠方側の所定位置へと移動させ、予め設定された値よりも大きい場合は前記撮像機能の焦点位置を近接側の所定位置へと移動させる焦点移動制御手段、
前記撮像機能により生成された撮影画像から前記シンボルに対応するシンボルデータを解析する解析手段、
として機能させるためのプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シンボル読取装置、及びプログラムに関する。
【背景技術】
【０００２】
シンボルはさまざまな情報を識別するために広く使用されている。バーコードは数値情報を規定に従った一次元の図形表現により表したシンボルであり、最近では、縦横両方向に情報を持たせる二次元コードと呼ばれるシンボルも普及しはじめている。
ハンディーターミナル（業務用携帯端末）などのシンボル読取装置は、カメラ等の撮像装置でシンボルを含む被写体を撮像し、当該撮像した撮像画像をデコードエンジンにより解析することで、シンボルの内容を読み取る。
【０００３】
バーコードや二次元コードのシンボルをデジタルカメラ等の撮像装置を備えたシンボル読取装置で撮像してＩＤを抽出する際、シンボルをどのような構図や距離にて撮影するのが好適であるかがわかりにくい。
従来、シームレスなフォーカス調整機能を有するデジタルカメラにおいて、バーコード等の被写体の撮影に最適なフォーカス位置を選択するための手段として、以下のような方法が存在する。例えば、ＰＳＤ（Position Sensitive Detector）を利用した測距センサや２組のリニアイメージセンサを利用した位相差差分方式をとることで直接対象物までの距離を計測し、或いはレーザー照射を利用した測距方法をとることで距離を計測し、その値に沿ったフォーカス位置へとレンズを直接移動するという方法が存在する。
【０００４】
上記した方法は、ベストフォーカスを決定するのがほぼ一瞬で済むため、ユーザに良好なレスポンスを提供でき、かつ精度も高いというメリットがある。反面、カメラモジュールとは別に測距用の装置（センサ）が必要なため、コストの増大やサイズの肥大といったデメリットがある。そのため、コストやサイズに比較的余裕のある一眼レフカメラでよく使われている。
【０００５】
また、上記した方法とは別に、コンパクトデジタルカメラ等でよく用いられる方法として、コントラスト法がある。
コントラスト法とは、フォーカス位置を最遠方端から最近接端まで移動しながら逐次画像をキャプチャーし、キャプチャーされた画像のコントラストが最も高いと判定されるフォーカス位置を探索するというものである。ただし、この方法にはフォーカス位置を移動しながら逐次画像をキャプチャーするという動作が伴うため、時間が掛かるという欠点がある。
【０００６】
また、特許文献１には、バーコードを撮像してＩＤを抽出する際、ＩＤを好適に抽出可能な技術が開示されている。具体的には、バーコードを被写体として撮像する際、バーコードをはめ込むための照準枠を表示処理部にオンスクリーン表示させ、撮像部を介して取得されたバーコード画像を画像バッファ処理部に保存させ、保存されたバーコード画像からＩＤを抽出し、ＩＤ格納部に格納する。通常撮影時とバーコード撮影時のそれぞれに対応して撮像条件を設定する撮像条件設定部を設け、バーコード撮影時、照準枠にバーコード画像をはめ込んだ状態で、好適な撮像条件をバーコード撮影用の撮像条件として設定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−２５０５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の技術は、バーコードをはめ込むための照準枠をオンスクリーン表示させ、照準枠にバーコードをはめ込んだ構図で撮影することでバーコード画像を撮像し、当該撮像されたバーコード画像からＩＤを抽出するようにしている。従って、ユーザは、液晶表示画面に表示される照準枠の位置及び大きさに合わせてバーコードを撮影する必要があり、不便であった。
【０００９】
本発明は、ユーザがシンボル読取装置の表示画面内にシンボルを入れて撮影するだけでシンボルのＩＤを高速に抽出可能なシンボル読取装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
以上の課題を解決するために、請求項１に記載の発明のシンボル読取装置は、シンボルを撮影して画像を生成する撮像手段と、前記撮像手段により生成された撮影画像から前記シンボルの大きさを検出する検出手段と、前記検出手段により検出されたシンボルの大きさと予め設定された値とを比較して大小を判定する判定手段と、前記判定手段による判定の結果、前記シンボルの大きさが、予め設定された値よりも小さい場合は前記撮像手段の焦点位置を遠方側の所定位置へと移動させ、予め設定された値よりも大きい場合は前記撮像手段の焦点位置を近接側の所定位置へと移動させる焦点移動制御手段と、前記撮像手段により生成された撮影画像から前記シンボルに対応するシンボルデータを解析する解析手段と、を備える。
【００１１】
請求項２に記載の発明は、請求項１に記載のシンボル読取装置において、前記予め設定された値には、少なくとも２つの異なる値があり、前記焦点移動制御手段は、前記判定手段による判定の結果、前記バーコードの大きさが、前記２つの異なる値のうち小さい方の値よりも小さい場合は前記撮像手段の焦点位置を遠方側の所定位置へと移動させ、前記２つの異なる値のうち大きい方の値よりも大きい場合は前記撮像手段の焦点位置を近接側の所定位置へと移動させる。
【００１２】
請求項３に記載の発明は、請求項１又は２に記載のシンボル読取装置において、前記シンボルは、１次元バーコード又は２次元コードである。
【００１３】
請求項４に記載の発明は、請求項１乃至３のいずれか一項に記載のシンボル読取装置において、前記検出手段は、前記撮影画像に含まれる座標位置を示す部分に基づいて前記シンボルの大きさを検出する。
【００１４】
請求項５に記載の発明のプログラムは、シンボル読取装置のコンピュータを、シンボルを撮影して画像を生成する撮像手段、前記撮像機能により生成された撮影画像から前記シンボルの大きさを検出する検出手段、前記検出機能により検出されたシンボルの大きさと予め設定された値とを比較して大小を判定する判定手段、前記判定機能による判定の結果、前記シンボルの大きさが、予め設定された値よりも小さい場合は前記撮像機能の焦点位置を遠方側の所定位置へと移動させ、予め設定された値よりも大きい場合は前記撮像機能の焦点位置を近接側の所定位置へと移動させる焦点移動制御手段、前記撮像機能により生成された撮影画像から前記シンボルに対応するシンボルデータを解析する解析手段、として機能させる。
【発明の効果】
【００１５】
本発明によれば、ユーザがシンボル読取装置の表示画面内にシンボルを入れて撮影するだけでシンボルのＩＤを高速に抽出可能なシンボル読取装置、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本実施形態に係るシンボル読取装置１の概略構成を示すブロック図である。
【図２】二次元コードを撮影しようとしたときのピント調整の様子について示した図である。
【図３】シンボル読取装置１の撮像部１０から被写体である二次元コードまでの距離とフォーカスレンズ１１ｂのレンズ位置との関係について示した図である。
【図４】本実施形態に係るシンボル読取装置１内で行われる二次元コード読取処理の一例について示したフローチャートである。
【図５】シンボル領域算出処理の一例について示したフローチャートである。
【図６】シンボル領域算出処理中の各場面について示した図である。
【図７】本実施形態に係るシンボル読取装置１内で行われる二次元コード読取処理の一例（二次元コード読取処理２）について示したフローチャートである。
【図８】本実施形態に係るシンボル読取装置１内で行われる二次元コード読取処理の一例（二次元コード読取処理２）について示したフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態を図面に基づいて説明する。
【００１８】
図１は、本実施形態に係るシンボル読取装置１の概略構成を示すブロック図である。
図１に示すように、シンボル読取装置１は、撮像部１０と、データ処理部２０と、ユーザインタフェース部３０と、加速度センサ４０と、を備えて構成される。
【００１９】
撮像部１０は、撮像レンズ部１１と、レンズ駆動部１２と、イメージセンサ１３と、を備えて構成され、被写体を撮影する機能を有する。
撮像レンズ部１１は、例えば、被写体を撮影するために光を集光する複数のレンズで構成され、倍率を調整するためのズームレンズ１１ａやピントを調整するためのフォーカスレンズ１１ｂ等を備える。
レンズ駆動部１２は、被写体の撮像の際に、ズームレンズ１１ａを光軸方向に移動させるズームレンズ駆動部１２ａ、フォーカスレンズ１１ｂを光軸方向に移動させるフォーカスレンズ駆動部１２ｂ等を備える。なお、ズームレンズ駆動部１２ａ及びフォーカスレンズ駆動部１２ｂはそれぞれエンコーダを備え、各モータの回転量を検出することができる。
イメージセンサ１３は、例えば、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の固体撮像素子により構成され、撮像レンズ部１１が光を集光することによって結像した画像を、デジタル化した画像データとして取り込む。取り込まれた画像データは、データ処理部２０のメモリ２１に一時的に記憶される。
【００２０】
データ処理部２０は、メモリ２１と、画像処理部２２と、画像出力部２３と、制御部２４と、プログラムメモリ２５と、を備えて構成される。
メモリ２１は、撮影処理を行う度にイメージセンサ１３が取り込んだ画像データ（例えばバーコード画像等）を一時的に記憶する。また、メモリ２１は、画像処理に必要な画像データ、各種フラグの値、閾値等も記憶する。さらに、メモリ２１は、画像表示を行うための表示画像データの記憶と読み出しを行うための表示メモリ領域を含んでいる。
画像処理部２２は、メモリ２１に一時記憶されている画像データに対して、画像表示を行うための所定の画像処理を施す。当該画像処理を施された画像データは、表示画像データとしてメモリ２１の表示メモリ領域に格納される。
画像出力部２３は、メモリ２１の表示メモリ領域に格納された表示画像データを読み出し、当該読み出された表示画像データに基づいてＲＧＢ信号を生成し、当該生成されたＲＧＢ信号をユーザインタフェース部３０の液晶表示部３１に出力する。また、ＲＧＢ信号を、ユーザインタフェース部３０の外部インタフェース３３を介して外部出力させることにより、テレビやＰＣ、プロジェクタ等の外部機器に画像表示させることも可能である。
【００２１】
制御部２４は、図示しないＣＰＵやＲＡＭ、及びズームレンズ駆動制御部２４ａ、フォーカスレンズ駆動制御部２４ｂ、ぶれ補正処理部２４ｃ、を含んで構成され、プログラムメモリ２５に記憶されたシンボル読取装置１用のプログラムに従って各種制御動作を行う。
ズームレンズ駆動制御部２４ａは、ＤＣモータによるズームレンズ１１ａの駆動に必要なパルス数（駆動量）を予め算出して保持しており、当該駆動量に基づいてズームレンズ１１ａの駆動を制御する。
フォーカスレンズ駆動制御部２４ｂは、撮像レンズ部１１により結像された画像のフォーカス精度の評価値、例えば、コントラスト値や、エッジ量に応じて、フォーカスレンズ１１ｂの位置を制御する。また、フォーカスレンズ駆動制御部２４ｂは、算出された駆動量に基づいてフォーカス追従位置を算出し、当該フォーカス追従位置へとフォーカスレンズ１１ｂを駆動させる。
ぶれ補正処理部２４ｃは、後述する加速度センサ４０から入力されたシンボル読取装置１のぶれ量に応じて、撮像レンズ部１１の図示しないぶれ補正レンズを光軸と直交する方向に駆動し、イメージセンサ１３に結像する画像のぶれを補正するよう制御する。
【００２２】
また、制御部２４は、撮像部１０により生成された撮影画像から二次元コードの大きさを検出し、検出された二次元コードの大きさと予め設定された値とを比較して大小を判定する。判定の結果、二次元コードの大きさが、予め設定された値よりも小さい場合はフォーカスレンズ１１ｂの焦点位置を遠方側の所定位置へと移動させ、予め設定された値よりも大きい場合はフォーカスレンズ１１ｂの焦点位置を近接側の所定位置へと移動させる。そして、生成された撮影画像から二次元コードに対応するシンボルデータを解析する。
【００２３】
プログラムメモリ２５は、例えば、ＲＯＭ（Read Only Memory）やフラッシュメモリなどの記憶装置から構成され、制御部２４の動作に必要な各種プログラムやデータを記憶する。具体的には、二次元コードを解析して情報を取得するための二次元コード読取プログラム等を記憶している。
【００２４】
ユーザインタフェース部３０は、液晶表示部３１と、操作部３２と、外部インタフェース３３と、外部メモリ３４と、を備えて構成される。
液晶表示部３１は、画像出力部２３から出力されたＲＧＢ信号に基づいて被写体画像を表示する。具体的には、撮像部１０により生成された複数の画像データに基づいたライブビュー画像や、録画中に外部メモリ３４に記録される動画像を表示したり、外部メモリ３４に記録された動画像を再生表示したりする。なお、液晶表示部３１に、画像出力部２３から適宜出力される表示画像データを一時的に記憶する画像メモリ（図示せず）を備えるようにしてもよい。
操作部３２は、ユーザがシンボル読取装置１における所定の操作を行うための機能であり、ユーザの操作に応じた操作信号を制御部２４に出力する。操作部３２は、例えば、シャッタボタン、選択決定用ボタン、再生ボタン、撮影ボタン、モード切替ボタン等を備えている。モード切替ボタンは、動画を撮影するための動画撮影モードと静止画を撮影するための静止画撮影モードとを切り替える際に用いられるボタンである。
外部インタフェース３３は、テレビやＰＣ、プロジェクタ等の外部機器との接続用端子であり、所定の通信ケーブルを介してデータの送受信を行う。
外部メモリ３４は、例えば、カード型の不揮発性メモリ（フラッシュメモリ）やハードディスク等により構成され、撮像部１０により撮影され、画像処理部２２により圧縮・符号化された被写体画像の画像データを、複数記憶する。
【００２５】
加速度センサ４０は、シンボル読取装置１の動きを物理的、直接的に検出し、角速度を示す測定値を制御部２４に入力する。
【００２６】
ＩＤ管理部５０は、ＩＤ抽出部５１と、ＩＤ格納部５２と、を備える。
ＩＤ抽出部５１は、制御部２４からの指令に基づいて、メモリ２１に格納されているバーコード画像からＩＤを抽出する。抽出されたＩＤは、ＩＤ格納部５２に格納される。
以下、図２〜図８を用いて、デジタルカメラ１の動作を説明する。
【００２７】
図２は、二次元コードを撮影しようとしたときのピント調整の様子について示した図である。二次元コードとは、例えばＱＲコードのように水平方向と垂直方向に情報を持つ表示方式のコードのことである。以後、撮影された二次元コードの画像をシンボル画像と呼ぶ。なお、シンボル画像撮影時、フォーカスレンズ１１ｂはデフォルト位置（Ｆ０）にあるものとする。
【００２８】
図２（ａ）は、シンボル画像を遠方から撮影しようとした際のライブビュー画像を示している。本実施形態では、「遠方」を、シンボル読取装置１の撮像部１０から１５ｃｍの距離と定義する。「遠方」から撮影が行われると、図２（ａ）に示すように、小さめのシンボル画像が、ピントがずれた状態で液晶表示部３１に画面表示される。このピントのずれを解消するために、フォーカスレンズ１１ｂを遠方側（Ｆ＋）へと移動させた様子が、図２（ｂ）に示されている。
【００２９】
図２（ｃ）は、シンボル画像をピントが合った状態で撮影しようとした際のライブビュー画像を示している。本実施形態では、フォーカスレンズ１１ｂがデフォルト位置（Ｆ０）にある場合に、自然とピントが合う距離（＝「焦点位置」）をシンボル読取装置１の撮像部１０から１０ｃｍとする。ピントが合った状態で撮影が行われると、図２（ｄ）に示すように、ピントが合ったシンボル画像が液晶表示部３１に画面表示される。
【００３０】
図２（ｅ）は、シンボル画像を近接から撮影しようとした際のライブビュー画像を示している。本実施形態では、「近接」を、シンボル読取装置１の撮像部１０から５ｃｍの距離と定義する。「近接」から撮影が行われると、図２（ｅ）に示すように、大きめのシンボル画像が、ピントがずれた状態で液晶表示部３１に画面表示される。このピントのずれを解消するために、フォーカスレンズ１１ｂを近接側（Ｆ−）へと移動させた様子が、図２（ｆ）に示されている。
【００３１】
このように、本実施形態に係るシンボル読取装置１は、シンボル画像のおおよその大きさを判定することでピントの状態を判定し、フォーカスレンズ１１ｂの位置を前後に移動させる。
【００３２】
図３は、シンボル読取装置１の撮像部１０から被写体である二次元コードまでの距離とフォーカスレンズ１１ｂのレンズ位置との関係について示した図である。
例えば、シンボル読取装置１の撮像部１０から二次元コードまでの距離が近い場合は、シンボル画像がより大きく撮像される領域でピントが合う。つまり、フォーカスレンズ１１ｂが近接側（Ｆ−）にあるときに読み取りが成功する。
また、シンボル読取装置１の撮像部１０から二次元コードまでの距離がピント位置付近にある場合は、フォーカスレンズ１１ｂをデフォルト位置（Ｆ０）から動かさずにピントを合わせることが可能である。本実施形態では、画像解析処理を行うことにより、少々のピンボケは許容できる。そのため、比較的広い範囲でデコードを成功させることができる。
また、シンボル読取装置１の撮像部１０から二次元コードまでの距離が遠い場合は、シンボル画像がより小さく撮像される領域でピントが合う。つまり、フォーカスレンズ１１ｂが遠方側（Ｆ＋）にあるときに読み取りが成功する。
【００３３】
（第１実施形態）
図４は、本実施形態に係るシンボル読取装置１内で行われる二次元コード読取処理の一例について示したフローチャートである。この二次元コード読取処理は、制御部２４がプログラムメモリ２５に格納されている二次元コード読取プログラムを実行することにより実現される。
【００３４】
図４に示すように、ステップＳ１０１では、フォーカスレンズ１１ｂの位置をデフォルト位置（Ｆ０）に移動させる。
ステップＳ１０２では、撮像部１０により撮像されているシンボル画像を液晶表示部３１にスルー表示させる。
ステップＳ１０３では、ユーザにより操作部３２の撮影ボタンが押下されたか否かを判定する。撮影ボタンが押下された場合は、次のステップＳ１０４へと移行し、撮影ボタンが押下されていなかった場合は、ステップＳ１０２へと移行する。
ステップＳ１０４では、シンボル領域算出処理を行う。このシンボル領域算出処理について、図５、図６を用いて具体的に説明する。
【００３５】
図５は、シンボル領域算出処理の一例について示したフローチャートである。また、図６は、シンボル領域算出処理中の各場面について示した図である。
図５に示すように、ステップＳ２０１では、図４のステップＳ１０２でスルー表示された元画像（図６（ａ）参照）を２値化する（図６（ｂ）参照）。
ステップＳ２０２では、ステップＳ２０１で２値化された元画像をブロック分割する（図６（ｃ）参照）。例えば、ＱＶＧＡ（３２０×２４０）画像を８ピクセル単位で４０×３０個のブロックに分割する。なお、適切なピクセル単位は、予め評価実験により設定されるものとする。
ステップＳ２０３では、ステップＳ２０２で分割された各ブロックを黒ブロックと白ブロックに分割する。黒ブロックと判定するための設定値は、予め評価実験により算出されている。ただし、実際の環境に合わせて、後から変更することも可能である。
ステップＳ２０４では、元画像の中心付近の黒ブロックの塊を探索する。具体的には、元画像にラベリング処理を施すことにより塊ブロックを抽出する。
ステップＳ２０５では、黒ブロックの塊が占める総ブロック数をカウントする。
【００３６】
次に、図４のステップＳ１０５では、サイズが設定値１より小さいか否かを判定する。設定値１とは、図３に示したｂの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と遠方側（Ｆ＋）で撮像可能な範囲との境界点のことである。サイズが設定値１より小さかった場合は、次のステップＳ１０６へと移行し、サイズが設定値１以上であった場合は、ステップＳ１０７へと移行する。
ステップＳ１０６では、フォーカスレンズ１１ｂを遠方側（Ｆ＋）へと移動させる。
ステップＳ１０７では、サイズが設定値２より大きいか否かを判定する。設定値２とは、図３に示したａの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と近接側（Ｆ−）で撮像可能な範囲との境界点のことである。サイズが設定値２より大きかった場合は、次のステップＳ１０８へと移行し、サイズが設定値２以下であった場合は、ステップＳ１０９へと移行する。
ステップＳ１０８では、フォーカスレンズ１１ｂを近接側（Ｆ−）へと移動させる。
【００３７】
ステップＳ１０９では、高解像度ＶＧＡで静止画像を撮像部１０にキャプチャーさせる。
ステップＳ１１０では、ステップＳ１０９でキャプチャーされた静止画像を解析し、デコード処理を行う。
ステップＳ１１１では、静止画像のデコードが成功したか否かを判定する。デコードが成功した場合は、当該二次元コード読取処理を終了し、デコードが成功しなかった場合は、次のステップＳ１１２へと移行する。
ステップＳ１１２では、デコード処理の再試行回数を超過したか否かを判定する。当該再試行回数は、ユーザが任意に設定可能である。再試行回数を超過した場合は、次のステップＳ１１３へと移行し、再試行回数を超過しなかった場合は、ステップＳ１０９へと移行する。
ステップＳ１１３では、デコード失敗を液晶表示部３１にメッセージ表示させる。当該メッセージが表示されると、当該二次元コード読取処理を終了する。
【００３８】
このように、第１実施形態では、撮影画像から二次元コードのおおよその大きさ（撮影画像内に占める面積）を判定し、その大きさが予め設定されている値のうち小さいほうの値より小さければフォーカスレンズ１１ｂの位置を遠方側の所定位置に、予め設定されている値のうち大きい方の値より大きければフォーカスレンズ１１ｂの位置を近接側の所定位置に移動させる。また、それらに当てはまらない場合にはフォーカスレンズ１１ｂの位置をそのままの状態で再度撮影動作を実行し、その画像を解析してデコード処理を行う。
【００３９】
すなわち、より望ましいフォーカス位置へと移動するのに、フォーカス調整機構を１ステップずつ移動させながら逐一画像を判定する（『画像キャプチャー→画像判定→フォーカス移動』というサイクルを複数回繰り返す）のではなく、予め設定された所定位置へと一気に移動するため、その間の余計なキャプチャー時間や画像判定時間が不要となる。また、そのために必要な電力消費も不要となる。従って、良好なレスポンスと消費電力の低減の両方を実現することができる。
特に、液体レンズのように、１画面のキャプチャー時間よりもフォーカス移動の方が圧倒的に速いカメラモジュールでは高い効果を発揮する。
【００４０】
（第２実施形態）
図７、図８は、本実施形態に係るシンボル読取装置１内で行われる二次元コード読取処理の一例（二次元コード読取処理２）について示したフローチャートである。
図７に示すように、ステップＳ３０１では、フォーカスレンズ１１ｂの位置をデフォルト位置（Ｆ０）に移動させる。
ステップＳ３０２では、撮像部１０により撮像されているシンボル画像を液晶表示部３１にスルー表示させる。
ステップＳ３０３では、ユーザにより操作部３２の撮影ボタンが押下されたか否かを判定する。撮影ボタンが押下された場合は、次のステップＳ３０４へと移行し、撮影ボタンが押下されていなかった場合は、ステップＳ３０２へと移行する。
【００４１】
ステップＳ３０４では、高解像度ＶＧＡで静止画像を撮像部１０にキャプチャーさせる。
ステップＳ３０５では、ステップＳ３０４でキャプチャーされた静止画像を解析し、デコード処理を行う。
ステップＳ３０６では、静止画像のデコードが成功したか否かを判定する。デコードが成功した場合は、当該二次元コード読取処理を終了し、デコードが成功しなかった場合は、次のステップＳ３０７へと移行する。
ステップＳ３０７では、デコード処理の再試行回数を超過したか否かを判定する。当該再試行回数は、ユーザが任意に設定可能である。再試行回数を超過した場合は、次のステップＳ３０８へと移行し、再試行回数を超過しなかった場合は、ステップＳ３０９へと移行する。
ステップＳ３０８では、デコード失敗を液晶表示部３１にメッセージ表示させる。当該メッセージが表示されると、当該二次元コード読取処理を終了する。
【００４２】
ステップＳ３０９では、シンボルサイズの推定ができているか否かを判定する。シンボルサイズとは、シンボル画像の大きさのことであり、当該シンボルサイズの推定は、撮影画像に含まれる座標位置を示す部分（二次元コードの目玉部分）に基づいて行われる。シンボルサイズの推定ができていた場合は、図８のステップＳ３１５へと移行し、シンボルサイズの推定ができていなかった場合は、次のステップＳ３１０へと移行する。
ステップＳ３１０では、シンボル領域算出処理を行う。このシンボル領域算出処理については、図５、図６を用いて具体的に説明したので、ここでは説明を省略する。
ステップＳ３１１では、サイズが設定値１より小さいか否かを判定する。設定値１とは、図３に示したｂの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と遠方側（Ｆ＋）で撮像可能な範囲との境界点のことである。サイズが設定値１より小さかった場合は、次のステップＳ３１２へと移行し、サイズが設定値１以上であった場合は、ステップＳ３１３へと移行する。
ステップＳ３１２では、フォーカスレンズ１１ｂを遠方側（Ｆ＋）へと移動させる。
ステップＳ３１３では、サイズが設定値２より大きいか否かを判定する。設定値２とは、図３に示したａの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と近接側（Ｆ−）で撮像可能な範囲との境界点のことである。サイズが設定値２より大きかった場合は、次のステップＳ３１４へと移行し、サイズが設定値２以下であった場合は、ステップＳ３０４へと移行する。
ステップＳ３１４では、フォーカスレンズ１１ｂを近接側（Ｆ−）へと移動させる。
【００４３】
次に、図６のステップＳ３１５では、推定サイズ（座標位置を示す部分間の距離から算出）が設定値３より小さいか否かを判定する。設定値３とは、図３に示したｂの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と遠方側（Ｆ＋）で撮像可能な範囲との境界点のことである。推定サイズが設定値３より小さかった場合は、次のステップＳ３１６へと移行し、推定サイズが設定値３以上であった場合は、ステップＳ３１７へと移行する。
ステップＳ３１６では、フォーカスレンズ１１ｂを遠方側（Ｆ＋）へと移動させる。
ステップＳ３１７では、推定サイズが設定値４より大きいか否かを判定する。設定値４とは、図３に示したａの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と近接側（Ｆ−）で撮像可能な範囲との境界点のことである。推定サイズが設定値４より大きかった場合は、次のステップＳ３１８へと移行し、推定サイズが設定値４以下であった場合は、ステップＳ３０４へと移行する。
【００４４】
このように、第２実施形態では、二次元コードの目玉部分（座標位置を示す部分）に基づいてシンボルサイズの推定ができているか否かを判定し、シンボルサイズの推定ができていた場合に、当該シンボルサイズに基づいてフォーカスレンズ１１ｂの位置を調整し、その画像を解析してデコード処理を行う。
これにより、二次元コードのデコードに失敗したときにも、シンボルサイズの推定ができてさえいれば、改めて二次元コードの撮影を行わなくても画像を解析してデコード処理を行うことができるため、無駄な撮影動作を省くことが可能となる。
【００４５】
以上、本発明に係る実施形態に基づいて具体的に説明したが、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で変更可能である。
【００４６】
例えば、上記実施形態では、シンボルとして二次元コードを撮像したときの処理について説明しているが、一次元のバーコードを撮像したときも同様の処理で対応することが可能である。
【００４７】
また、上記実施形態では、「遠方」を撮像部１０から１５ｃｍの距離、「焦点位置」を撮像部１０から１０ｃｍの距離、「近接」を撮像部１０から５ｃｍの距離と定義しているが、この限りではなく、撮像部１０の仕様によりいかようにも設定可能である。
【００４８】
また、上記実施形態では、シンボルのおおよその大きさを判定する際に用いられる設定値に異なる２つの値を用いているが、当該設定値は１つでもよい。設定値が１つの場合、シンボルの大きさが、設定値よりも小さい場合はフォーカスレンズ１１ｂの焦点位置を遠方側の所定位置へと移動させ、設定値よりも大きい場合はフォーカスレンズ１１ｂの焦点位置を近接側の所定位置へと移動させることとなる。
【００４９】
その他、シンボル読取装置１を構成する各装置の細部構成及び細部動作に関しても、本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【符号の説明】
【００５０】
１  シンボル読取装置
１０  撮像部
１１  撮像レンズ部
１１ａ  ズームレンズ
１１ｂ  フォーカスレンズ
１２  レンズ駆動部
１２ａ  ズームレンズ駆動部
１２ｂ  フォーカスレンズ駆動部
１３  イメージセンサ
２０  データ処理部
２１  メモリ
２２  画像処理部
２３  画像出力部
２４  制御部
２４ａ  ズームレンズ駆動制御部
２４ｂ  フォーカスレンズ駆動制御部
２４ｃ  ぶれ補正処理部
２５  プログラムメモリ
３０  ユーザインタフェース部
３１  液晶表示部
３２  操作部
３３  外部インタフェース
３４  外部メモリ
４０  加速度センサ
５０  ＩＤ判別部
５１  ＩＤ抽出部
５２  ＩＤ格納部 
【図１】
2010204792.tif 000003
【図３】
2010204792.tif 000004
【図４】
2010204792.tif 000005
【図５】
2010204792.tif 000006
【図７】
2010204792.tif 000007
【図８】
2010204792.tif 000008
【図２】
2010204792.tif 000009
【図６】
2010204792.tif 000010
【手続補正書】
【提出日】平成21年12月25日(2009.12.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
請求項２に記載の発明は、請求項１に記載のシンボル読取装置において、前記予め設定された値には、少なくとも２つの異なる値があり、前記焦点移動制御手段は、前記判定手段による判定の結果、前記シンボルの大きさが、前記２つの異なる値のうち小さい方の値よりも小さい場合は前記撮像手段の焦点位置を遠方側の所定位置へと移動させ、前記２つの異なる値のうち大きい方の値よりも大きい場合は前記撮像手段の焦点位置を近接側の所定位置へと移動させる。 
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
図２は、二次元コードを撮影しようとしたときのピント調整の様子について示した図である。二次元コードとは、例えばＱＲコードのように水平方向と垂直方向に情報を持つ表示方式のコードのことである。ＱＲコードの３隅には、黒い正方形の外枠とその内側に白い正方形の枠と更にその内側に黒い正方形からなる模様(目玉)がある。以後、撮影された二次元コードの画像をシンボル画像と呼ぶ。なお、シンボル画像撮影時、フォーカスレンズ１１ｂはデフォルト位置（Ｆ０）にあるものとする。 
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
ステップＳ３０９では、シンボルサイズの推定ができているか否かを判定する。シンボルサイズとは、シンボル画像の大きさのことであり、当該シンボルサイズの推定は、撮影画像に含まれる座標位置を示す部分（二次元コードの目玉部分）に基づいて行われる。ＱＲコードの３隅には目玉があり、各目玉は、黒い正方形の外枠とその内側に白い正方形の枠と更にその内側に黒い正方形からなる模様である。目玉は、黒い外枠、白い正方形の枠、 黒い正方形よりなり、目玉の中央を通る線に沿って黒と白の幅の比を見ると、線上の幅は「1：1：3：1：1」の割合になるように定義されている。この３つの目玉の位置関係からシンボルサイズの大きさが推定できた場合は、図８のステップＳ３１５へと移行し、シンボルサイズの推定ができなかった場合は、次のステップＳ３１０へと移行する。
ステップＳ３１０では、シンボル領域算出処理を行う。このシンボル領域算出処理については、図５、図６を用いて具体的に説明したので、ここでは説明を省略する。
ステップＳ３１１では、サイズが設定値１より小さいか否かを判定する。設定値１とは、図３に示したｂの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と遠方側（Ｆ＋）で撮像可能な範囲との境界点のことである。サイズが設定値１より小さかった場合は、次のステップＳ３１２へと移行し、サイズが設定値１以上であった場合は、ステップＳ３１３へと移行する。
ステップＳ３１２では、フォーカスレンズ１１ｂを遠方側（Ｆ＋）へと移動させる。
ステップＳ３１３では、サイズが設定値２より大きいか否かを判定する。設定値２とは、図３に示したａの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と近接側（Ｆ−）で撮像可能な範囲との境界点のことである。サイズが設定値２より大きかった場合は、次のステップＳ３１４へと移行し、サイズが設定値２以下であった場合は、ステップＳ３０４へと移行する。
ステップＳ３１４では、フォーカスレンズ１１ｂを近接側（Ｆ−）へと移動させる。 
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
次に、図６のステップＳ３１５では、推定サイズ（座標位置を示す部分間の距離から算出）が設定値３より小さいか否かを判定する。設定値３とは、図３に示したｂの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と遠方側（Ｆ＋）で撮像可能な範囲との境界点のことである。推定サイズが設定値３より小さかった場合は、次のステップＳ３１６へと移行し、推定サイズが設定値３以上であった場合は、ステップＳ３１７へと移行する。
ステップＳ３１６では、フォーカスレンズ１１ｂを遠方側（Ｆ＋）へと移動させる。
ステップＳ３１７では、推定サイズが設定値４より大きいか否かを判定する。設定値４とは、図３に示したａの値、すなわちデフォルト位置（Ｆ０）で撮像可能な範囲と近接側（Ｆ−）で撮像可能な範囲との境界点のことである。推定サイズが設定値４より大きかった場合は、次のステップＳ３１８へと移行し、推定サイズが設定値４以下であった場合は、ステップＳ３０４へと移行する。
ステップＳ３１８では、フォーカスレンズ１１ｂを近接側（Ｆ−）へと移動させる。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
シンボルを撮影して画像を生成する撮像手段と、
前記撮像手段により生成された撮影画像から前記シンボルの大きさを検出する検出手段と、
前記検出手段により検出されたシンボルの大きさと予め設定された値とを比較して大小を判定する判定手段と、
前記判定手段による判定の結果、前記シンボルの大きさが、予め設定された値よりも小さい場合は前記撮像手段の焦点位置を遠方側の所定位置へと移動させ、予め設定された値よりも大きい場合は前記撮像手段の焦点位置を近接側の所定位置へと移動させる焦点移動制御手段と、
前記撮像手段により生成された撮影画像から前記シンボルに対応するシンボルデータを解析する解析手段と、
を備えたことを特徴とするシンボル読取装置。
【請求項２】
前記予め設定された値には、少なくとも２つの異なる値があり、
前記焦点移動制御手段は、前記判定手段による判定の結果、前記シンボルの大きさが、前記２つの異なる値のうち小さい方の値よりも小さい場合は前記撮像手段の焦点位置を遠方側の所定位置へと移動させ、前記２つの異なる値のうち大きい方の値よりも大きい場合は前記撮像手段の焦点位置を近接側の所定位置へと移動させることを特徴とする請求項１に記載のシンボル読取装置。
【請求項３】
前記シンボルは、１次元バーコード又は２次元コードであることを特徴とする請求項１又は２に記載のシンボル読取装置。
【請求項４】
前記検出手段は、前記撮影画像に含まれる座標位置を示す部分に基づいて前記シンボルの大きさを検出することを特徴とする請求項１乃至３のいずれか一項に記載のシンボル読取装置。
【請求項５】
シンボル読取装置のコンピュータを、
シンボルを撮影して画像を生成する撮像手段、
前記撮像機能により生成された撮影画像から前記シンボルの大きさを検出する検出手段、
前記検出機能により検出されたシンボルの大きさと予め設定された値とを比較して大小を判定する判定手段、
前記判定機能による判定の結果、前記シンボルの大きさが、予め設定された値よりも小さい場合は前記撮像機能の焦点位置を遠方側の所定位置へと移動させ、予め設定された値よりも大きい場合は前記撮像機能の焦点位置を近接側の所定位置へと移動させる焦点移動制御手段、
前記撮像機能により生成された撮影画像から前記シンボルに対応するシンボルデータを解析する解析手段、
として機能させるためのプログラム。