(57)【要約】【課題】二次元コードを実際にセットした状態で読み取り動作を確認できる二次元コード読取装置を提供する。【解決手段】二次元コード読取装置は、二次元コードをセットした状態で撮像部で画像データを取得し復号部にて復号化処理を行う動作を複数回繰り返すことにより、二次元コードの読取動作が正常に行われているか否かを確認するための読取テストモードと、照明部で二次元コードを照明する状態で撮像部にて画像データを取得することにより、撮像部の視野範囲における照度分布を確認するための照度分布確認モードを備える。読取試行の結果に基づいてより好ましい条件に設定するというフィードバックを繰り返すことにより、最適な二次元コードの読取条件に設定することが実現される。【選択図】　図１８
2004054871.tif 000002
【特許請求の範囲】
【請求項１】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置であって、
前記二次元コード読取装置は、二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う動作を複数回繰り返すことにより、二次元コードの読取動作が正常に行われているか否かを確認するための読取テストモードを備えることを特徴とする二次元コード読取装置。
【請求項２】
前記二次元コード読取装置はさらに、前記読取テストモードにおいて実行された複数回の読取テストに基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを含む読取テスト結果を一覧表示するための読取テスト結果表示部を備えることを特徴とする請求項１記載の二次元コード読取装置。
【請求項３】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置であって、
前記照明部で二次元コードを照明する状態で前記撮像部にて画像データを取得することにより、撮像部の視野範囲における照度分布を確認するための照度分布確認モードを備えることを特徴とする二次元コード読取装置。
【請求項４】
前記二次元コード読取装置はさらに、前記照度分布確認モードにおいて取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示するための照度分布表示部を備えることを特徴とする請求項３記載の二次元コード読取装置。
【請求項５】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置であって、
前記二次元コード読取装置は、二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う動作を複数回繰り返すことにより、二次元コードの読取動作が正常に行われているか否かを確認する読取テストと、前記照明部で二次元コードを照明する状態で前記撮像部にて画像データを取得することにより、撮像部の視野範囲における照度分布を確認する照度分布確認を行うための読取調整手段を備えることを特徴とする二次元コード読取装置。
【請求項６】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の読取テスト方法であって、
前記二次元コード読取装置に二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う読取テスト動作を複数回繰り返すステップと、
複数回の読取テスト動作の結果に基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを読取テスト結果として表示するステップと、
さらに上記動作を繰り返して、複数の読取テスト結果を一覧表示するステップと、
を備えることを特徴とする二次元コード読取装置の読取テスト方法。
【請求項７】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定方法であって、
前記二次元コード読取装置に二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う読取テスト動作を複数回繰り返すステップと、
複数回の読取テスト動作の結果に基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを読取テスト結果として表示するステップと、
さらに上記動作を繰り返して、複数の読取テスト結果を一覧表示し、これに基づいて二次元コード読取装置の設定を調整するステップと、
を備えることを特徴とする二次元コード読取装置の設定方法。
【請求項８】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の照度分布確認方法であって、
前記二次元コード読取装置に二次元コードをセットしない状態で前記照明部が二次元コードを配置すべき箇所を照明し前記撮像部にて画像データを取得するステップと、
取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示するステップと、
を備えることを特徴とする二次元コード読取装置の照度分布確認方法。
【請求項９】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定方法であって、
前記二次元コード読取装置に二次元コードをセットしない状態で前記照明部が二次元コードを配置すべき箇所を照明し前記撮像部にて画像データを取得するステップと、
取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示するステップと、
照度分布の表示に基づいて照明部の設定または二次元コード読取装置の設定を調整するステップと、
を備えることを特徴とする二次元コード読取装置の設定方法。
【請求項１０】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定方法であって、
二次元コードのコード種別、モデル、誤り訂正レベル、印字パターン、二次元コードにエンコードするデータ種別、データ量、印字可能スペース、印字精度のいずれかを含む二次元コードの仕様を指定するステップと、
上記指定された条件に従って二次元コードのセルサイズ、シンボルの大きさのいずれかを含む二次元コードの仕様を演算するステップと、
撮像部の取付距離制限、二次元コードラベルの位置ずれ許容範囲、回転の有無、二次元コードのセルサイズ、印字パターンのいずれかを含む撮像部の取付条件を指定するステップと、
前記演算された二次元コードの仕様および撮像部の取付条件に従って、撮像部の取付距離、焦点の合う範囲、視野の大きさ、１セルに割り当てられる画素数、接写リングの総厚さ、必要な接写リングのそれぞれの厚さと枚数の組み合わせ、ピントリングの目盛の目安のいずれかを含む取付仕様を演算するステップと、
前記撮像部の取付仕様に従い、前記二次元コード読取装置に二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う読取テスト動作を複数回繰り返すステップと、
複数回の読取テスト動作の結果に基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを読取テスト結果として表示するステップと、
さらに上記動作を繰り返して、複数の読取テスト結果を一覧表示するステップと、
上記読取テスト結果の一覧表示に基づいて二次元コードの仕様、撮像部の取付仕様のいずれかまたは両方を必要に応じて調整するステップと、
を有することを特徴とする二次元コード読取装置設定方法。
【請求項１１】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定方法であって、
二次元コードのコード種別、モデル、誤り訂正レベル、印字パターン、二次元コードにエンコードするデータ種別、データ量、印字可能スペース、印字精度のいずれかを含む二次元コードの仕様を指定するステップと、
上記指定された条件に従って二次元コードのセルサイズ、シンボルの大きさのいずれかを含む二次元コードの仕様を演算するステップと、
撮像部の取付距離制限、二次元コードラベルの位置ずれ許容範囲、回転の有無、二次元コードのセルサイズ、印字パターンのいずれかを含む撮像部の取付条件を指定するステップと、
前記演算された二次元コードの仕様および撮像部の取付条件に従って、撮像部の取付距離、焦点の合う範囲、視野の大きさ、１セルに割り当てられる画素数、接写リングの総厚さ、必要な接写リングのそれぞれの厚さと枚数の組み合わせ、ピントリングの目盛の目安のいずれかを含む取付仕様を演算するステップと、
前記撮像部の取付仕様に従い、前記二次元コード読取装置に二次元コードをセットした状態で前記照明部により二次元コードを照明し前記撮像部にて画像データを取得するステップと、
取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示するステップと、
照度分布の表示に基づいて照明部の設定、撮像部の取付仕様、二次元コードの仕様の少なくともいずれかを必要に応じて調整するステップと、
を有することを特徴とする二次元コード読取装置設定方法。
【請求項１２】
二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定プログラムであって、コンピュータに
前記二次元コード読取装置に二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う読取テスト動作を複数回繰り返す機能と、
複数回の読取テスト動作の結果に基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを読取テスト結果として表示する機能と、
さらに上記動作を繰り返して、複数の読取テスト結果を一覧表示する機能と、前記二次元コード読取装置に二次元コードをセットした状態で前記照明部により二次元コードを照明し前記撮像部にて画像データを取得する機能と、
取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示する機能と、
を実現させるための二次元コード読取装置の設定プログラム。
【請求項１３】
前記請求項１２に記載の二次元コード読取装置設定プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、二次元コード読取装置、二次元コード読取装置設定方法、二次元コード読取装置読取テスト方法、二次元コード読取装置照度分布確認方法、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体に関する。
【０００２】
【従来の技術】
今日、商品管理などの分野においてバーコード、二次元コードなど様々なシンボルが利用されている。バーコードは、１次元コード、リニアコード等とも呼ばれ、種々の幅の線条を隣接して直線的に並べてバー部分と空白部分によって英数字等の情報を表現することができ、例えばユニバーサルプロダクトコードを表現する。これに対し二次元コードは、二次元シンボル、二次元バーコード等とも呼ばれ、情報を縦横に配置したシンボルであり、情報化密度が高く、バーコードに比べてより多くの情報を格納でき、冗長コードなので誤りの訂正ができるといった特徴があり、近年様々な分野での普及が急速に進んでいる。
【０００３】
このようなバーコードや二次元コードを読み取るために、光学式の情報読取装置としてバーコード走査装置や二次元コード読取装置が利用される。図１に、二次元コード読取装置の構成の一例のブロック図を示す。この図に示す二次元コード読取装置は、復号部１である二次元コード読取装置本体に、二次元コード１５を含む画像を取得するための撮像部２と、撮像部２で画像を取得する際に照明を提供するための照明部３が接続される。照明部３は、二次元コードを均一に照射する。撮像部２は、カメラ４やレンズ５といった撮像光学系を備えている。撮像部２は、カメラ４がＣＣＤイメージ素子などの画像センサを備えており、ＣＣＤを使ったイメージセンシング技術により二次元コードラベルを含む領域の画像データを撮像し、二次元コードの像をＣＣＤエリアセンサに映し出して電気信号に変換する。変換された信号は、撮像部２内部でメモリ上に展開され、イメージとして取り込まれる。イメージとして取り込まれた画像データから、画像処理によって二次元コードが切り出され、二値化されて復号化（デコード）処理されてエンコードされた情報が読み取られる。
【０００４】
このように二次元コードの読取はバーコードと異なり、画像処理によって二次元コードを切り出し複合化を行うため、画像読取のためのイメージセンサやカメラ、レンズといった撮像光学系が必要が必要となる。したがって、カメラや照明などの設備が不要で比較的扱いやすいバーコード読取装置に比して、二次元コード読取装置では撮像条件等の二次元コード読取条件の設定作業を装置側で行わねばならない。特に二次元コードは高密度に情報が格納できる分、二次元コードを構成する最小単位であるセルが小さくなることがあり、このような高精度の二次元コードでも正確な読取ができるようにするためには、撮像部２で確実に二次元コードを捉える必要がある。具体的には、カメラのファインダーの視野内に二次元コードの全体を収めると共に、中央付近にできるだけ大きく写し、かつ細部が読みとれるようピントを正確に合わせる必要がある。このためには二次元コード読取装置側の設定を最適な条件となるように、カメラの取付距離や接写リングの厚み、ピントリングの目盛など様々なパラメータを調整する必要がある。
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の二次元コード読取装置では、仮に装置側の設定が最適な条件であっても、実際の読み取りがうまくできるとは限らないという問題があった。それは、二次元コードが二次元コード読取装置にセットされる状態に依存するからである。例えばバーコードリーダの場合は、カメラのような撮像部や照明が不要であるため、バーコードリーダ本体の設定が適切になされておれば、バーコードラベルの配置状態に左右されることなく、レーザ光がバーコードに照射される限り反射光で読み取りが可能となる。これに対して二次元コードの場合は、上述のように画像処理が必要な関係上、二次元コードがカメラの視野の中央付近に十分な大きさで二次元コードの全体像が含まれるように光学撮像系に配置されており、かつ十分な照明が二次元コードに対して得られるように、二次元コード読取装置側の設定に加えて、二次元コードの配置状態も確認する必要がある。従来、二次元コードを実際に二次元コード読取装置にセットした状態で正しく読み取りができているかどうかを確認する方法はなく、装置を運用させた状態で確認するしかなかった。
【０００６】
さらに、光学撮像系により取得した画像を二値化する際の二値化方式には様々な方式があるが、二次元コード読取装置を利用するアプリケーションによって最適な二値化方式は異なる。したがって、二次元コード読取装置を稼働させる前に最適な二値化が行われているかどうか十分に検証する必要があるものの、このような検証を行うための機能は従来の二次元コード読取装置には備わっていなかった。
【０００７】
本発明は、このような従来の問題点に鑑みてなされたものである。本発明の主な目的は、二次元コードを実際にセットした状態で読み取り動作の確認が可能なモードを備える二次元コード読取装置、二次元コード読取装置設定方法、二次元コード読取装置読取テスト方法、二次元コード読取装置照度分布確認方法、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を解決するために、本発明の請求項１に記載される二次元コード読取装置は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える。この二次元コード読取装置は、二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う動作を複数回繰り返すことにより、二次元コードの読取動作が正常に行われているか否かを確認するための読取テストモードを備えることを特徴とする。
【０００９】
また、本発明の請求項２に記載される二次元コード読取装置は、請求項１に記載される特徴に加えて、前記読取テストモードにおいて実行された複数回の読取テストに基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを含む読取テスト結果を一覧表示するための読取テスト結果表示部を備えることを特徴とする。
【００１０】
さらに、本発明の請求項３に記載される二次元コード読取装置は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える。この二次元コード読取装置は、前記照明部で二次元コードを照明する状態で前記撮像部にて画像データを取得することにより、撮像部の視野範囲における照度分布を確認するための照度分布確認モードを備えることを特徴とする。
【００１１】
さらにまた、本発明の請求項４に記載される二次元コード読取装置は、請求項３に記載される特徴に加えて、前記照度分布確認モードにおいて取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示するための照度分布表示部を備えることを特徴とする。
【００１２】
さらにまた、本発明の請求項５に記載される二次元コード読取装置は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える。
この二次元コード読取装置は、二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う動作を複数回繰り返すことにより、二次元コードの読取動作が正常に行われているか否かを確認する読取テストと、前記照明部で二次元コードを照明する状態で前記撮像部にて画像データを取得することにより、撮像部の視野範囲における照度分布を確認する照度分布確認を行うための読取調整手段を備えることを特徴とする。
【００１３】
さらにまた、本発明の請求項６に記載される二次元コード読取装置の読取テスト方法は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の読取テスト方法であって、前記二次元コード読取装置に二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う読取テスト動作を複数回繰り返すステップと、複数回の読取テスト動作の結果に基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを読取テスト結果として表示するステップと、さらに上記動作を繰り返して、複数の読取テスト結果を一覧表示するステップとを備えることを特徴とする。
【００１４】
さらにまた、本発明の請求項７に記載される二次元コード読取装置の設定方法は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定方法であって、前記二次元コード読取装置に二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う読取テスト動作を複数回繰り返すステップと、複数回の読取テスト動作の結果に基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを読取テスト結果として表示するステップと、さらに上記動作を繰り返して、複数の読取テスト結果を一覧表示し、これに基づいて二次元コード読取装置の設定を調整するステップとを備えることを特徴とする。
【００１５】
さらにまた、本発明の請求項８に記載される二次元コード読取装置の設定方法は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の照度分布確認方法であって、前記二次元コード読取装置に二次元コードをセットしない状態で前記照明部が二次元コードを配置すべき箇所を照明し前記撮像部にて画像データを取得するステップと、取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示するステップとを備えることを特徴とする。
【００１６】
さらにまた、本発明の請求項９に記載される二次元コード読取装置の設定方法は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定方法であって、前記二次元コード読取装置に二次元コードをセットしない状態で前記照明部が二次元コードを配置すべき箇所を照明し前記撮像部にて画像データを取得するステップと、取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示するステップと、照度分布の表示に基づいて照明部の設定または二次元コード読取装置の設定を調整するステップとを備えることを特徴とする。
【００１７】
さらにまた、本発明の請求項１０に記載される二次元コード読取装置の設定方法は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定方法であって、二次元コードのコード種別、モデル、誤り訂正レベル、印字パターン、二次元コードにエンコードするデータ種別、データ量、印字可能スペース、印字精度のいずれかを含む二次元コードの仕様を指定するステップと、上記指定された条件に従って二次元コードのセルサイズ、シンボルの大きさのいずれかを含む二次元コードの仕様を演算するステップと、撮像部の取付距離制限、二次元コードラベルの位置ずれ許容範囲、回転の有無、二次元コードのセルサイズ、印字パターンのいずれかを含む撮像部の取付条件を指定するステップと、前記演算された二次元コードの仕様および撮像部の取付条件に従って、撮像部の取付距離、焦点の合う範囲、視野の大きさ、１セルに割り当てられる画素数、接写リングの総厚さ、必要な接写リングのそれぞれの厚さと枚数の組み合わせ、ピントリングの目盛の目安のいずれかを含む取付仕様を演算するステップと、前記撮像部の取付仕様に従い、前記二次元コード読取装置に二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う読取テスト動作を複数回繰り返すステップと、複数回の読取テスト動作の結果に基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを読取テスト結果として表示するステップと、さらに上記動作を繰り返して、複数の読取テスト結果を一覧表示するステップと、上記読取テスト結果の一覧表示に基づいて二次元コードの仕様、撮像部の取付仕様のいずれかまたは両方を必要に応じて調整するステップとを有することを特徴とする。
【００１８】
さらにまた、本発明の請求項１１に記載される二次元コード読取装置の設定方法は、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定方法であって、二次元コードのコード種別、モデル、誤り訂正レベル、印字パターン、二次元コードにエンコードするデータ種別、データ量、印字可能スペース、印字精度のいずれかを含む二次元コードの仕様を指定するステップと、上記指定された条件に従って二次元コードのセルサイズ、シンボルの大きさのいずれかを含む二次元コードの仕様を演算するステップと、撮像部の取付距離制限、二次元コードラベルの位置ずれ許容範囲、回転の有無、二次元コードのセルサイズ、印字パターンのいずれかを含む撮像部の取付条件を指定するステップと、前記演算された二次元コードの仕様および撮像部の取付条件に従って、撮像部の取付距離、焦点の合う範囲、視野の大きさ、１セルに割り当てられる画素数、接写リングの総厚さ、必要な接写リングのそれぞれの厚さと枚数の組み合わせ、ピントリングの目盛の目安のいずれかを含む取付仕様を演算するステップと、前記撮像部の取付仕様に従い、前記二次元コード読取装置に二次元コードをセットした状態で前記照明部により二次元コードを照明し前記撮像部にて画像データを取得するステップと、取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示するステップと、照度分布の表示に基づいて照明部の設定、撮像部の取付仕様、二次元コードの仕様の少なくともいずれかを必要に応じて調整するステップとを有することを特徴とする。
【００１９】
さらにまた、本発明の請求項１２に記載される二次元コード読取装置の設定プログラムは、二次元コードを含む画像を取得するための撮像部および前記撮像部での画像取得の際に二次元コードを照明するための照明部に接続可能であって、前記撮像部で取得された画像データを画像処理して二次元コードを復号するための復号部を備える二次元コード読取装置の設定プログラムに関する。このプログラムは、コンピュータに前記二次元コード読取装置に二次元コードをセットした状態で前記撮像部で画像データを取得し復号部にて復号化処理を行う読取テスト動作を複数回繰り返す機能と、複数回の読取テスト動作の結果に基づいて、復号化した読取データ、読取の成功率、読取に要した平均読取時間、最長読取時間、暗部と明部の平均コントラスト、最低コントラストの少なくともいずれかを読取テスト結果として表示する機能と、さらに上記動作を繰り返して、複数の読取テスト結果を一覧表示する機能と、前記二次元コード読取装置に二次元コードをセットした状態で前記照明部により二次元コードを照明し前記撮像部にて画像データを取得する機能と、取得された画像データを複数のブロックに分割し、各ブロックごとに照度平均を演算して照度の分布を表示する機能とを実現させるための二次元コード読取装置の設定プログラムである。
【００２０】
さらにまた、本発明の請求項１３に記載されるコンピュータ読み取り可能な記録媒体は、請求項１２に記載される二次元コード読取装置の設定プログラムを記録したものである。記録媒体には、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷやフレキシブルディスタ、磁気テープ、ＭＯ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、ＤＶＤ＋Ｒなどの磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。
【００２１】
【発明の実施の形態】
以下、本発明の実施例を図面に基づいて説明する。ただし、以下に示す実施例は、本発明の技術思想を具体化するための二次元コード読取装置、二次元コード読取装置設定方法、二次元コード読取装置読取テスト方法、二次元コード読取装置照度分布確認方法、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体を例示するものであって、本発明は二次元コード読取装置、二次元コード読取装置設定方法、二次元コード読取装置読取テスト方法、二次元コード読取装置照度分布確認方法、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体を以下のものに特定しない。また、特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。また各図面が示す部材の大きさや位置関係などは、説明を明確にするため誇張していることがある。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよい。
【００２２】
本明細書において二次元コード読取装置、二次元コード読取装置設定方法、二次元コード読取装置読取テスト方法、二次元コード読取装置照度分布確認方法、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体は、二次元コードの読取や読取設定を行うシステムそのもの、ならびに二次元コードの読取および読取設定に関連する入出力、表示、演算、通信その他の処理をハードウェア的に行う装置や方法に限定するものではない。ソフトウェア的に処理を実現する装置や方法も本発明の範囲内に包含する。例えば汎用の回路やコンピュータにソフトウェアやプログラム、プラグイン、オブジェクト、ライブラリ、アプレット、コンパイラ、モジュール、特定のプログラム上で動作するマクロなどを組み込んで二次元コードの読取設定そのものあるいはこれに関連する処理を可能とした装置やシステムも、本発明の二次元コード読取装置または二次元コード読取装置設定プログラムに該当する。また本明細書においてコンピュータには、汎用あるいは専用の電子計算機の他、ワークステーション、端末、携帯型電子機器、ＰＤＣやＣＤＭＡ、Ｗ−ＣＤＭＡ、ＦＯＲＭＡなどの携帯電話、ＰＨＳ、ＰＤＡ、ページャ、スマートフォンその他の電子デバイスも包含する。さらに本明細書においてプログラムとは、単体で使用されるものに限られず、特定のコンピュータプログラムやソフトウェア、サービスなどの一部として機能する態様や、必要時に呼び出されて機能する態様、ＯＳなどの環境においてサービスとして提供される態様、環境に常駐して動作する態様、バックグラウンドで動作する態様やその他の支援プログラムという位置付けで使用することもできる。
【００２３】
本発明の実施例において使用されるコンピュータなどの端末同士、およびサーバやこれらに接続される操作、制御、入出力、表示、各種処理その他のためのコンピュータ、あるいはプリンタなどその他の周辺機器との接続は、例えばＩＥＥＥ１３９４、ＲＳ−２３２ＣやＲＳ−４２２、ＵＳＢなどのシリアル接続、パラレル接続、あるいは１０ＢＡＳＥ−Ｔ、１００ＢＡＳＥ−ＴＸ、１０００ＢＡＳＥ−Ｔなどのネットワークを介して電気的に接続して通信を行う。接続は有線を使った物理的な接続に限られず、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ａなどの無線ＬＡＮやＢｌｕｅｔｏｏｔｈなどの電波、赤外線、光通信などを利用した無線接続などでもよい。さらにデータの交換や設定の保存などを行うための記録媒体には、メモリカードや磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどが利用できる。
【００２４】
また本明細書において印字または印刷とは、インクジェットプリンタなどにより二次元コードを印刷する他、レーザマーカあるいはダイレクトマーカなどで二次元コードを刻印、あるいは転写などの方法によって二次元コードを表現する態様も含む意味で使用する。
【００２５】
［実施例１］
図１に、二次元コード読取装置の構成の一例のブロック図を示す。なお既に説明した事項については説明を省略する。この図に示す二次元コード読取装置は、二次元コードを復号化処理する復号部１が二次元コード読取装置本体となる。復号部１である二次元コード読取装置本体には、二次元コード１５を含む画像を取得するための撮像部２と、撮像部２で画像を取得する際に照明を提供するための照明部３が接続される。照明部３は、例えば複数の赤色発光ダイオード（ＬＥＤ）などの光源を備え、これによって二次元コードを均一に照射する。照明部３は対象物の二次元コードを効果的に照明できる位置に配置され、例えば撮像部２のレンズ５近辺に配置される。
【００２６】
撮像部２は、カメラ４やレンズ５といった撮像光学系を備えている。撮像部２は、例えばＣＣＤイメージ素子を使ったイメージセンシングにより、二次元コードラベルの部分を含む領域の画像データを撮像し、二次元コードの像をＣＣＤエリアセンサに映し出して電気信号に変換する。変換された信号は、撮像部２内部でメモリ上に展開され、イメージとして取り込まれる。この処理は二次元コード読取装置本体に送出されて行うこともできる。なおピンホールカメラを用いる場合は、レンズは不要にできる。
【００２７】
［復号部１］
図１に示す二次元コード読取装置本体である復号部１は、画像処理回路６と、演算回路７と、読取安定度出力回路８を備える。画像処理回路６は、撮像部２で取得された画像データを受信し、所定の画像処理を行うための回路である。ここでの画像処理は、アナログの濃淡情報を含む画像データをデジタル信号に変換するＡ／Ｄ変換などであり、例えば８ビット２５６階調のデジタル信号に変換する。
【００２８】
演算回路７はＣＰＵやＭＰＵ、システムＬＳＩ、ＤＳＰや専用ハードウェアなどで構成され、カメラ４やレンズ５などの光学系や照明部３を制御する信号を送信するための制御部９と、画像処理回路６で処理されたデジタル信号をさらに処理するための画像処理部１０と、画像処理部１０で二値化もしくは多値化された信号を復号するための復号処理部１１と、読取安定度を決定するための読取安定度決定部１２と、復号された信号を外部に出力するためのシリアル入出力部１３とを備える。
【００２９】
画像処理部１０は、Ａ／Ｄ変換した画像データからまずファインダパターンを探しだし、これに従って画像データ中に含まれる二次元コードの領域を特定して切り出す。さらに切り出した二次元コードの画像データからセルの境界を判定し、各セルに分割して、各セルの画像データを所定の閾値に基づいて二値化する。
二値化は、取り込まれたイメージに含まれる二次元コードの種類、位置、大きさ、原点、傾き、歪みなどを画像処理により検知し、二次元コードを構成する最小単位であるセルの明暗、例えば白黒を１または０の二値化データとして取得する。なお、二値化データに限られず、多値化データを利用することもできる。
【００３０】
［復号処理部１１」
復号処理部１１は、二値化あるいは多値化されたデータを復号する。復号には符号化されたデータの対照関係を示すシンボルキャラクタテーブルが参照される。テーブルに基づいて、二値化データに対応するシンボルキャラクタデータに変換され復号化される。さらに復号処理部１１は、復号されたデータが正しいかどうか、所定のチェック方式に基づいて検証する。もしデータに誤りに発見された場合は、誤り訂正機能を使って正しいデータを演算により算出する。誤り訂正機能は、使用する二次元コードが採用する方式によって決まる。
【００３１】
［読取安定度決定部１２］
一方、読取安定度決定部１２は、切り出した二次元コードの画像データの内、所定の読取安定度決定領域における濃淡のコントラストを算出し、これを所定の安定度閾値と比較して読取安定度を決定する。ここで濃淡のコントラストとは、二次元コードが無彩色の白黒で構成されている場合は白と黒の明度の差または比を主に指すが、この他、色度、彩度の差または比をも含む概念であり、これらのいずれかまたは組み合わせでコントラスト差を表現する。これによって、カラーの二次元コードにも対応する。一の方法としては、読取安定度決定領域に含まれるＡ／Ｄ変換された画像データに含まれる各点の内、白（１）に属すると判定された部分と黒（０）に属すると判定された点をそれぞれ数点抽出し、白黒それぞれの濃淡情報のデジタル信号の平均値または合計値を求め、この差または比をコントラストとする。そしてコントラストを用いて、二次元コードの読取の安定度を示す指標となる読取安定度を決定する。具体的には、後述するように所定の安定度閾値と比較してその大小により安定度を判定する。抽出する点は、設定された読取安定度決定領域の内の所定の座標点を予め数点選択しておく。例えばファインダパターンがＱＲコードの二重の正方形であれば、白、黒それぞれの枠の四隅の頂点や輪郭部分の点を抽出する。抽出する点数は、例えば白黒それぞれ８点とするなど、十分な平均値または合計値が算出できる数とする。数点を抽出して平均値または合計値でコントラストを決定する方法は、演算階数を少なくして高速に処理できる。
【００３２】
あるいは、別の方法として読取安定度決定領域に含まれるすべての点について、白黒それぞれの平均値または最頻値を求め、この差または比をコントラストとしてもよい。この方法は、すべての点を使用して平均値または最頻値を求めるためコントラストが正確になる反面、読取の条件によっては誤読が発生して白黒の判定を誤って読み取った部分に基づいて計算することとなる。ただ、印字や照明状態が良好で誤読がほとんど生じない条件下では実用上十分に使用できる。信憑性の判定には、例えばエラー訂正機能がどの程度使用されたかを基準に判断することができる。
【００３３】
二値化された画像データからは濃淡の情報を知ることができないので、ここでは二値化される前のデータを使用する。なお二値化でなく多値化されたデータを利用することもできる。また濃淡の判定は、二次元コードが白と黒で構成されておれば白と判定された領域と黒と判定された領域のコントラストを、二次元コードを構成する色がそれ以外の色の場合は、それぞれの色についてコントラストを例えば色相、明度あるいは彩度などのコントラストを調べ、読取安定度を決定する。また読取安定度決定領域は予め設定され、二次元コードのファインダパターンなどが利用できる。ファインダパターンのように予め白黒あるいは明暗のパターンが決まっている領域では、コントラストがどの程度必要かということが判定しやすい。
【００３４】
例えば、コントラストを所定の安定度閾値と比較して、安定度閾値よりも大きいときは安定度良好と判定し、安定度閾値よりも小さくなったとき読取安定度が低下したと判断する。このように一の閾値に対する大小で２段階の評価とする他、安定度閾値を上限安定度閾値と下限安定度閾値の２つとし、上限安定度閾値以上、上限安定度閾値〜下限安定度閾値、下限安定度閾値以下の３段階評価とすることもできる。さらに安定度閾値を３以上設けて多段階評価としてもよい。
【００３５】
あるいは、このような段階的な評価でなく、読取安定度を所定のアルゴリズムにより数値化して出力してもよい。例えば、コントラストと安定度閾値との差の絶対値を算出し、この差に所定の係数を乗算して読取安定度とする方式や、絶対値をそのまま読取安定度として出力する方式などがある。
【００３６】
あるいはまた、コントラストそのものを読取安定度として出力しても良い。コントラストは、例えば８ビット２５６階調にＡ／Ｄ変換された場合、０〜２５５の値で表示する。またコントラスト自体を使用する場合は安定度閾値を別途設ける必要はなく、コントラストを見てユーザが読取の安定度を判断する。
【００３７】
［安定度閾値の設定］
安定度閾値は、二次元コードのＰＣＳ（Ｐｒｉｎｔ　Ｃｏｎｔｒａｓｔ　Ｓｉｇｎａｌ）など印字、刻印状態や周囲の明るさ、照明の効果など、二次元コードを使用する環境に応じて適切な値に設定される。例えばコントラストの大きい紙に二次元コードが印字されている場合は安定度閾値大きく設定し、逆に金属に刻印されている場合のようにコントラストが小さいときは安定度閾値を小さく設定する。安定度閾値はユーザが任意に設定可能である。ユーザは二次元コード読取装置に備えられた安定度閾値設定部から、デフォルト値として設定された一般的な安定度閾値を所望の安定度閾値に変更する。上限安定度閾値と下限安定度閾値を設定する場合は、（上限安定度閾値）＞（下限安定度閾値）となるように設定する。また、二次元コード読取装置に自動設定させてもよい。この場合は、二次元コードを使用する条件をユーザに入力させ、あるいは装置側が自動で検出し、条件に応じた安定度閾値を装置内部で演算する。さらに条件の変化に追随させて安定度閾値を自動的に調整させることもできる。
【００３８】
このようにして読取安定度決定部１２により決定された読取安定度は、シリアル入出力部１３または読取安定度出力回路８に送出される。これによって読取安定度が通知され、二次元コードの読取自体は可能であっても、読取安定度が低下していることがユーザに通知されるので、ユーザは読取ができなくなる前に必要な対策を講じることができ、二次元コード読取装置が不意に読取不能になる自体を回避できる。
【００３９】
［読取安定度出力回路８］
さらに読取安定度出力回路８は読取安定度出力部を構成し、読取安定度決定部１２に接続されており、読取安定度決定部１２で決定された読取安定度を外部に出力する。出力はホストシステム１４に送出する他、専用のモニタなどの表示部を別途設けて、ここに表示されることによりユーザに読取安定度を通知することもできる。また読取安定度出力回路８は、読取安定度決定部１２が算出した読取安定度が所定の警告閾値を下回ったとき、読取安定度の低下を知らせる読取安定度低下信号を外部に出力し警告を発することもできる。
【００４０】
読取安定度決定部１２で決定された読取安定度は、このように専用のＩ／Ｏ端子である読取安定度出力回路８から出力する方法の他、復号化処理したデータに読取安定度を付加し、シリアル入出力部１３からシリアルデータとして転送する方法も利用できる。この場合、読取安定度決定部１２から復号処理部１１を介して読取安定度を付加し、シリアル入出力部１３に送信する他、読取安定度決定部１２から直接シリアル入出力部１３に読取安定度を送信してもよい。
【００４１】
［ホストシステム１４］
ホストシステム１４は汎用もしくは専用のコンピュータなどが利用でき、復号化された二次元コードのデータを受信して所望の処理を行うものである。二次元コード読取装置本体とホストシステム１４は、データ通信可能な状態に接続されている。データ通信は、二次元コード読取装置本体からホストシステム１４にデータを送信する片方向の通信で足りるが、双方向通信として、ホストシステム１４から二次元コード読取装置本体に対し各種設定の変更や動作命令を送信することもできる。
【００４２】
本発明に利用できる二次元コードの種類としては、ＱＲコード、マイクロＱＲコード、データマトリクス（Ｄａｔａ　ｍａｔｒｉｘ；Ｄａｔａ　ｃｏｄｅ）、ベリコード（Ｖｅｒｉ　ｃｏｄｅ）、アズテックコード（Ａｚｔｅｃ　ｃｏｄｅ）、ＰＤＦ４１７、マキシコード（Ｍａｘｉ　ｃｏｄｅ）などがある。二次元コードにはスタック型とマトリクス型があるが、本発明はいずれの二次元コードに対しても適用できる。二次元コードは、二次元コードを印刷あるいは刻印したラベルを対象物に貼付する方法や、二次元コードを対象物自体に刻印する方法などによって、対象物上に固定される。なお本発明は、その名称に拘わらず読み取り対象のシンボルを二次元コードに特定せず、一次元バーコードやその他のデータシンボル、文字認識を行うＯＣＲなどに対しても使用できる。例えば、バーコード読取用のレーザが使用できないようなアプリケーションにおいては、光学撮像系を使ってバーコードを読み取る必要があり、本発明をバーコード読取装置として使用できる。
【００４３】
［二次元コード読取装置設定プログラム］
次に、二次元コード読取装置の設定を行う二次元コード読取装置設定プログラムについて説明する。この二次元コード読取装置設定プログラムは、ホストシステムとして二次元コード読取装置に接続されたコンピュータにインストールされ、実行される。二次元コード読取装置設定プログラムをインストールされたコンピュータが二次元コード読取装置と通信を行い、必要な情報を送受信して設定を行う。通信は、例えばＲＳ−２３２ＣケーブルやＵＳＢケーブルを介してシリアル通信で行われる。
【００４４】
図３〜図１８に、二次元コード読取装置設定プログラムのユーザインターフェース画面のイメージの一例を示す。これらの図に示す画面は、左側に必要な手順がボタン状に表示されており、各ボタンを選択すると設定画面が右側に表示される。設定の流れは、図２のフローチャートのようになる。
【００４５】
なお、これらの画面において各入力欄や各ボタンなどの配置、形状、表示の仕方、サイズ、配色、模様などは適宜変更できることはいうまでもない。デザインの変更によってより見やすく、評価や判断が容易な表示としたり操作しやすいレイアウトとすることもできる。例えば各項目をウィザード形式で入力させるようにして、ユーザは質問に答えていくだけで必要な設定ができるようにしても良い。また、以下の説明では詳細設定画面を別ウィンドウで表示させている場合や同一ウィンドウ内に詳細設定欄を設けている場合があるが、いずれか一方に変更したり両者を併用させても利用できることはいうまでもない。
【００４６】
これらのプログラムのユーザインターフェース画面において、仮想的に設けられたボタン類や入力欄に対するＯＮ／ＯＦＦ操作、数値や命令入力などの指定は、二次元コード読取装置設定プログラムをインストールされたコンピュータに設けられた入力デバイスで行う。本明細書において「押下する」とは、ボタン類に物理的に触れて操作する他、入力デバイスによりクリックあるいは選択して擬似的に押下することを含む。入出力デバイスはコンピュータと有線もしくは無線で接続され、あるいはコンピュータに固定されている。一般的な入力デバイスとしては、例えばマウスやキーボード、スライドパッド、トラックポイント、タブレット、ジョイスティック、コンソール、ジョグダイヤル、デジタイザ、ライトペン、テンキー、タッチパッド、アキュポイントなどの各種ポインティングデバイスが挙げられる。またこれらの入出力デバイスは、プログラムの操作のみに限られず、二次元コード読取設定装置などのハードウェアの操作にも利用できる。さらに、インターフェース画面を表示するディスプレイ自体にタッチスクリーンやタッチパネルを利用して、画面上をユーザが手で直接触れることにより入力や操作を可能としたり、または音声入力その他の既存の入力手段を利用、あるいはこれらを併用することもできる。
【００４７】
なお、二次元コード読取装置設定プログラムをインストールされたコンピュータに接続された入出力デバイスから設定を行う態様の他、二次元コード読取装置設定用のプログラムやハードウェアを二次元コード読取装置に組み込み、二次元コード読取装置のみで設定を行えるようにしても良い。この場合、入出力デバイスは二次元コード読取装置に設けられあるいは接続され、必要に応じて設定用のモニタなどが接続される。
【００４８】
図３〜図１８に、二次元コード読取装置設定プログラムのユーザインターフェース画面のイメージの一例を示す。この図に示す画面は、左側に必要な手順が設定順にボタン状に表示されており、各ボタンを選択すると設定画面が右側に表示される。
【００４９】
この二次元コード読取装置設定プログラムは、基本的な手順として図２のフローチャートに示すステップＳ１〜４の４つで構成されている。ただし、必ずしもこの手順どおりに設定する必要はない。後述するように、ステップＳ１の二次元コードの仕様決定をスキップし、ステップＳ２においてユーザが二次元コードの仕様を直接指定することもできる。また、ステップＳ３の二次元コード読取装置の動作設定は、ステップＳ１、Ｓ２と独立して設定可能である。したがって、プログラムを起動してステップＳ３のみを設定して終了するような使い方も可能である。さらに、このプログラムは設定した内容を保存でき、また起動時には前回の設定内容を自動的に呼び出すこともできるため、デフォルト設定のままでステップＳ４の読取調整を行うことも可能である。このように、本プログラムの使用方法はステップＳ１〜４を順に行う手順のみに限定されるものでない。以下、各設定画面毎に説明する。
【００５０】
［条件指定］
（ステップＳ１　二次元コードの仕様決定）
図３に、二次元コードの仕様を演算する二次元コード読取装置設定プログラムのイメージ画面を示す。この画面では読取対象となる二次元コードの仕様を決定するため、二次元コードにエンコードするデータの種別と印字条件を選択する。入力する項目としてはコード種別、データ種別、データ量、印字可能スペースがある。二次元コードのコード種別としては、図３の例では「コード種別」指定欄１６にＱＲコード、マイクロＱＲコード、正方形データマトリクス、長方形データマトリクスが選択候補として挙げられており、ラジオボタンでいずれかを選択する。なお本発明は、二次元コードの種別をこれら４種類に限定するものでなく、これ以外の二次元コードやバーコードも選択候補として挙げることが可能であることはいうまでもない。
【００５１】
ユーザは使用用途や目的などに応じて二次元コードの種別およびこれに持たせる冗長性や誤り訂正機能を設定できる。例えば二次元コードが紙のようなコントラストの良い対象に印字されているのであれば、ある程度正確な読取が期待できるので誤り訂正機能は低レベルで足り、一方二次元コードが基板にシルク印刷されている場合はコントラストが不足気味であると考えられ、誤り訂正機能をある程度持たせる必要がある。このように使用条件によってどのような二次元コードの設定とするかが決まる。
【００５２】
また右側には選択された二次元コードのサンプルを表示する二次元コードサンプル表示欄１７が設けられており、コード種別を変更するとそれに応じてサンプルの表示も変更される。さらに、コード種別で選択された二次元コードに応じて、その下段の「データ種別」指定欄１８中の選択可能な項目がグレーアウトするなど、各コード種別に応じて設定可能なデータ種別のみが選択可能となる。
【００５３】
「コード種別」指定欄１６の「詳細．．．」ボタン１９を押下すると、図４に示すような二次元コード詳細設定画面２０が別ウィンドウで開き、選択した二次元コードに応じた詳細設定が可能となる。図４の例では、ＱＲコードに対応する例としてモデル、誤り訂正レベル、印字パターンがドットパターンか否かが変更可能となっている。この画面は選択された二次元コードの種別に応じて適切な画面が表示される。
【００５４】
ここで印字パターンとは、主に印字のドットパターンの有無を示す。印字パターンには、ノーマルパターン（通常パターン）とドットパターンがある。ドットパターンとは、シンボルを構成するセルが円形に構成されるため、隣接するセル同士が若干離間しているものを指し、レーザマーキングあるいはダイレクトマーキングによりドット状に印字や刻印がされる場合に発生する。一般には、二次元コードがＱＲコードもしくはデータマトリクスの場合にこのオプションが選択可能となる。
【００５５】
また「データ種別」指定欄１８では、数字、英数、バイナリ、漢字の別をラジオボタンで選択する。
【００５６】
さらに「データ量」指定欄２１は、上記のデータ種別で特定したデータの桁数を指定する。例えば、データ種別が数字のときは桁数、英数や漢字のときは文字数、バイナリのときはバイト数で指定する。
【００５７】
さらにまた、「印字可能スペース」指定欄２２は、印字可能な最大範囲の縦×横のサイズを指定する。
【００５８】
入力完了後、図３の画面において「計算開始」ボタン２３を押下すれば、二次元コード読取装置設定プログラムはユーザが入力した条件に基づいて、条件に合致する二次元コードを作成できるか否かを演算し判定する。作成可能と判定されれば、計算結果表示欄２４にセルサイズの一辺の大きさの最大値、およびシンボルの大きさの最大値を縦×横のサイズで表示する。さらに「印字の詳細」ボタン２５がグレーアウトした状態から押下可能となる。
【００５９】
「印字の詳細」ボタン２５を押下すると、図５に示す印字の詳細設定画面２６が新たにウィンドウで開き、印字されるセルサイズが指定可能となる。これは、二次元コードを印刷するプリンタの解像度に応じて、二次元コードを構成する最小単位である１セルを、プリンタが印字を行う最小単位であるドット何個分を割り当てるかを指定するものである。１セルに割り当てるドット数が大きいほど、印字が正確になり精度が向上する反面、印字される二次元コードシンボルの大きさも大きくなる。二次元コード読取装置設定プログラムは、プリンタの解像度に応じて１ドットの大きさを演算すると共に、１セルに割り当てるドット数に応じて実際に印字される１セルの大きさと二次元コードシンボルの大きさをそれぞれ演算して候補群を表示する。ユーザは使用するプリンタの解像度やシンボルの大きさに応じて、候補群から最適な組み合わせを選択する。
【００６０】
なお作成できないと判定された場合は、単に作成不能である旨のエラーメッセージを計算結果表示欄２４に表示する他、その理由と理由を解消する推奨値を提示して、ユーザに再入力を促すこともできる。例えば、印字可能スペースが小さすぎる、データ量が多すぎるなどの警告メッセージを表示するとともに、解決策としてデータ種別を・・・に変更する、桁数を・・・に変更する、印字可能スペースを・・・×・・・に変更する、といったどのような設定値であれば印字可能となるかを別ウィンドウで提示する。
【００６１】
［二次元コードの仕様］
以下、図３の画面において「計算開始」ボタン２３を押下したときに実行される二次元コードの仕様を決定するアルゴリズムの一例について説明する。
（１）まず、コード種別、データ種別、データ量に基づいて、必要なコードサイズを求める。コードサイズとは、シンボル一辺あたりのセル数であり、バージョンによりコードサイズが規定されている。ここでコード種別、データ種別、データ量とコードサイズの関係は定められており、例えば二次元コードがＱＲコード、モデル２、英数１０桁、誤り訂正レベルＭの場合、バージョン１（２１セル×２１セル）となる。なお、コード種別の詳細でドットパターンが選択されているときは、二次元コード読取装置の仕様によりコードサイズの最大値に制限が課されることがある。
【００６２】
（２）その結果、コードサイズが理論上の最大コードサイズを超えていれば作成不可としてＮＧと判定する。ここで理論上の最大コードサイズは、（ｎ×安全係数）／ｍで表現される。この式においてｍはＣＣＤの画素割当数であり、例えば５、８などの値とする。一般に、印字パターンがノーマルパターンの場合ＣＣＤ上で５画素となり、ドットパターンの場合８画素となる。またｎはＣＣＤの画素数（Ｘ，Ｙ）であり、例えば（６４０，４８０）とする。さらに視野内に完全に二次元コードを収めるための安全係数として、０．９などの値を入力する。
【００６３】
（３）次に、印字可能スペースとコードサイズ（Ｄａｔａ　Ｍａｔｒｉｘのときは外形も含む）から、印字可能スペースいっぱいにコードを印字した時のセルサイズを求める。このときのセルサイズを「暫定最大セルサイズ」とする。暫定最大セルサイズは、（暫定最大セルサイズ［ｍｍ］）＝（印字可能スペース［ｍｍ］）／（（コードサイズ）＋（マージンサイズ）×２）で表される。例えば、印字可能スペースが１０ｍｍ×１０ｍｍ、コードサイズが２１セル×２１セルのとき、暫定最大セルサイズは０．３４５ｍｍとなる。
【００６４】
（４）さらに、（３）で求めた暫定最大セルサイズで２次元コードを印字したときの、シンボルの大きさを計算する。シンボルの大きさは、（シンボルの大きさ［ｍｍ］）＝（セルサイズ［ｍｍ］）×（（コードサイズ）＋（マージンサイズ）×２）で表される。ここで、正方形コードであって正方形の印字可能スペースの場合、（シンボルの大きさ）＝（印字可能スペース）となる。
【００６５】
（５）全ての接写リングの組み合わせについて、（４）で求めたシンボルの大きさが視野のｙ方向の９０％以下となるカメラの取り付け距離を求める。例えば、セルサイズ、位置分解能、視野サイズのみを考慮し、運用時のワーク（二次元コードを含む読み取り対象）の位置決定精度、ワークの回転、カメラの設置条件に制限がないことを前提とし、１セルをＣＣＤの５または８画素に割り当てたとき、必要な視野を確保できるかどうかを計算する。一例として使用できる接写リングが０．５ｍｍ、１ｍｍ、５ｍｍ、１０ｍｍ、２２ｍｍのときセルサイズが０．３４５ｍｍ、必要な視野が１０ｍｍのとき、接写リングの組み合わせが０．５ｍｍ、１ｍｍ、５ｍｍ、５．５ｍｍ、６ｍｍ、６．５ｍｍのとき、条件が満たされる。
【００６６】
ここで、二次元コードとして長方形データマトリクスが選択されている場合、シンボルの大きさは、長辺の長さとする。またカメラの取り付け距離は、長辺の長さが視野のｘ方向の９０％となる時のカメラの取り付け距離とする。もし解が得られなければＮＧとする。解があれば、（３）で求めた「暫定最大セルサイズ」を「セルサイズの最大値」とする。なお、ここで二次元コードがデータマトリクスコードの場合、外形を変えて再計算し、外形のサイズを変更することで印字スペース、視野の制約条件を満たすのであれば、これを推奨値としてユーザーに提示する。
【００６７】
一方、指定された条件を満たす仕様の二次元コードは作成できない（ＮＧ）と判定された場合、仕様を満たすための条件を再計算してユーザに提示する。ここで提示する条件としては、データ種別の変更（漢字→英数→数字の順に設定可能か否かを演算する。）、誤り訂正レベルの変更（ＱＲコード、マイクロＱＲコードの場合のみＨ→Ｑ→Ｍ→Ｌの順に演算する。）、印字スペースの変更（セルサイズの値を０．０２５ｍｍとして、必要な印字スペースを再計算する。）、データ量の変更などがある。
【００６８】
［印字の詳細設定］
さらに、印字の詳細設定に関するアルゴリズムの一例を以下説明する。ここでは、セルサイズおよびシンボルの大きさの最大値でなく、二次元コードを印字するプリンタの解像度に応じて最適なセルサイズおよびシンボルの大きさを演算する。
（１）図３の画面から「印字の詳細」ボタン２５を押下すると、図５の印字の詳細設定画面２６が表れる。
【００６９】
（２）上記で求めた「セルサイズの最大値」のセルを、プリンタの解像度に相当する２００ｄｐｉ、３００ｄｐｉ、４００ｄｐｉ、６００ｄｐｉで印字するためには、１セルあたり何ドットで印字すればよいか、１セルあたりのドット数の最大値（ｎ（ｍａｘ））を求める。（ｎ（ｍａｘ））の演算方法は、（セルサイズの最大値［ｍｍ］）＞１／（プリンタの解像度［ｄｐｉ］）×２５．４×ｎを満たす最大のｎとして求める。ここでセルサイズは、（セルサイズ［ｍｍ］）＝ｎ×２５．４／（プリンタの解像度［ｄｐｉ］）として演算する。また、シンボルの大きさは、（シンボルの大きさ［ｍｍ］）＝（セルサイズ［ｍｍ］）×（（コードサイズ）＋（マージンサイズ）×２）として演算する。
【００７０】
（３）上記（２）で求めたドット数（ｎ（ｍａｘ））について、プリンタの解像度（２００ｄｐｉ、３００ｄｐｉ、４００ｄｐｉ、６００ｄｐｉ）、１セルあたりのドット数、セルサイズ、シンボルの大きさを求め、印字の詳細設定画面２６に表示する。
【００７１】
（４）プリンタの解像度が高く、ｎ（ｍａｘ）＞２となるときは、ｎ＝２からｎ＝ｎ（ｍａｘ）まで、上記（３）の計算を行い、値を表示する。ただし、ｎ（ｍａｘ）が２０を越える場合は、２０でうち切る。図５において表示される演算結果について、各列の先頭をクリックすると、その列をキーにソートして表示される。
【００７２】
さらに、図５の印字の詳細設定画面２６において、ユーザが任意のセルサイズを入力した場合は、ユーザが「印字精度」の入力欄に指定した解像度について上記の演算を行い、演算結果を下部の一覧に表示する。この場合、上記演算の２００ｄｐｉ、３００ｄｐｉ、４００ｄｐｉ、６００ｄｐｉに関する演算結果は表示しない。
【００７３】
以上のようにして得られた演算結果の一覧表から、ユーザは所望の値を表示する行を選択する。その後、図５の印字の詳細設定画面２６において「ＯＫ」ボタンを押下すると、印字の詳細設定画面２６を閉じて図３の二次元コードの仕様を決定する画面に戻る。この際、ユーザーに選択された行の「印字されるセルサイズ」、「印字されるシンボルの大きさ」を、図３の計算結果表示欄２４で表示されるセルサイズ、シンボルの大きさに反映すると共に、セルサイズの欄の「・・・ｍｍ／セル以下」の文字を「ｍｍ／セル」に変更する。なお、再度図３の「印字の詳細」ボタン２５を押下したときは、表示中の［印字の詳細設定］で求めたセルサイズでなく、上記［二次元コードの仕様］で求めた「セルサイズの最大値」に基づいて計算される。
【００７４】
以上のようにして演算されたセルサイズおよびシンボルの大きさの最大値に基づいて、撮像部取付条件を演算する。具体的には、パラメータとしてレンズのｆ値、レンズの主点間距離、レンズ長、使用する接写リングの数と厚さ、ピントリングの調整範囲、ＣＣＤの一画素サイズ、画素数などに基づいて、撮像部の取付距離、接写リングの厚さ、ピントリングの目安の推奨値を計算し、撮像部取付条件のデフォルト値とする。なお撮像部の取付距離とは、ワークからレンズの先端までの距離を指す。また撮像部の取付距離制限とはユーザの望む取付距離であって、ユーザの指定した範囲内で撮像部の取付距離を設定することを意味する。以下の実施例では、撮像部としてカメラを用いる。
【００７５】
（ステップＳ２　カメラ取付条件決定）
ステップＳ２では、カメラの取付条件として、カメラの取付距離、接写リングの厚さ、ピントリングの目安を決定する。図６にカメラの取付条件を決定するためのユーザインターフェース画面を示す。ユーザはカメラを装着する際の条件として、「二次元コード仕様」２７、「二次元コードラベルの位置ずれ許容範囲」２８、「印字パターン」２９、「希望取付距離」３０を図６から指定する。
【００７６】
二次元コードの仕様としては、二次元コードを構成するセルサイズ、シンボルの大きさの縦横を数値で指定する。ここで、上記ステップＳ１にて演算が実行されている場合は、各々演算された値がデフォルト値として入力されており、ユーザはこれらの値を調整することができる。ユーザは所望の数値を直接入力することもできるし、また右側に設けられたスライダ３１をドラッグすれば、セルサイズやシンボルの大きさを連続的に変化させることができ、これに応じた数値が入力欄に自動的に入力される。ユーザがセルサイズの大きさを指定すれば、シンボルの大きさは自動的に演算できる。なおこの場合は後述する「シンボルの大きさの計算」ボタンは表示されない。
【００７７】
あるいは、ステップＳ１を実行しないで直接ユーザが二次元コードの仕様を指定することもできる。この例を図７に示す。この場合はステップＳ１をスキップするため、セルサイズ、シンボルの大きさに演算値がデフォルトとして入力されておらず、ユーザが数値を各入力欄に直接入力する。
【００７８】
［シンボルの大きさの計算］
さらにこの場合は、シンボルの大きさを二次元コードの仕様に基づいて演算させることもできる。図７で「シンボルの大きさ」入力欄３２の右側に設けられた「シンボルの大きさの計算」ボタン３３を押下すると、図８に示すように「シンボルの大きさの計算」設定画面３４が別ウィンドウで表示される。この画面からコード種別、バージョン（コードサイズ）、セルサイズ、シンボルの大きさに連動させるか否かを指定し、ＯＫボタンを押下すると、これらの情報に基づいてシンボルの大きさが演算され、図７の「シンボルの大きさ」入力欄３２に演算結果が入力される。ここでの処理の流れは、以下のようになる。
（１）図７のカメラの取付条件を決定する設定画面における「シンボルの大きさの計算」ボタン３３を押下すると、図８に示す「シンボルの大きさの計算」設定画面３４が表示される。
（２）コード種別、バージョン（コードサイズ）、セルサイズから、シンボルの大きさを計算する。
（３）上記で演算されたシンボルの大きさを、「シンボルの大きさ」として表示する。
（４）図８において「ＯＫ」ボタンを押下すると、「シンボルの大きさの計算」設定画面３４が閉じられて図７の画面に戻る。このとき、上記で得られたセルサイズ、シンボルの大きさが「二次元コードの仕様」２７にて反映される。
（５）図８の「シンボルの大きさをセルサイズに連動させる」欄がチェックされている場合は、図７の画面において「シンボルの大きさ」入力欄３２をグレーアウトし、スライダ３１を有効にする。
【００７９】
以上のように、本発明の実施例は二次元コードのセルサイズやシンボルの大きさ等の項目を直接ユーザに指定させる以外にも、必要な仕様をユーザに選択させることで装置側が演算して求めることもでき、二次元コードに詳しくないユーザでも設定ができるように構成されている。また二次元コードに詳しいユーザには直接入力も可能とすることにより、知識のあるユーザにとって煩わしさを解消し、いずれのユーザに対してもユーザビリティの良さを維持している。
【００８０】
図６、図７において二次元コードラベルの位置ずれ許容範囲２８は、ラベルの位置ずれ範囲またはワークの位置決め精度であり、ラベルが基準位置に対して位置ずれしても許容される範囲を指定する。さらにワークの回転を許すか否かを指定し、ワークが回転するときは「回転あり」にチェックを入れる。「回転あり」にチェックが入ると、後述する図１０の取付イメージ画面で表示される二次元コードが回転して斜めに表示され、「回転あり」が選択されたことがイメージでも確認できる。
【００８１】
さらに印字パターン２９は、ノーマルもしくはドットのいずれかを選択する。
【００８２】
希望取付距離３０は、二次元コードの使用条件によって物理的にカメラを離間できる距離に限界があるなど、カメラの取付距離が制限を受ける場合に設定される。
【００８３】
上記以外に設定可能な条件としては、被写界深度、照明の条件、デコード（復号化処理）時間などが挙げられる。
【００８４】
以上の条件が入力され、「計算開始」ボタン３５を押下すると、指定された条件に基づいて、カメラ取付距離、使用する接写リングの厚さ、ピントリングの厚さが演算され、「取付仕様」表示欄３６に表示される。また「取付条件の詳細」ボタン３７がグレーアウトから選択可能となる。なお、上記ステップＳ１と同様、指定された条件ではカメラの取付距離が演算できない場合は、その旨と理由および推奨値を提示し、ユーザに再入力を促す。
【００８５】
［カメラ取付距離の演算］
以下、「計算開始」ボタン３５を押下したとき実行されるカメラ取付距離の演算アルゴリズムの一例について説明する。このアルゴリズムは以下のようにしてカメラ取付距離の最小値Ｏｍｉｎおよび最大値Ｏｍａｘを求める。
【００８６】
［カメラ取付距離の最小値Ｏｍｉｎの演算］
カメラを取り付けられる最も至近距離であるカメラ取付距離の最小値Ｏｍｉｎは、以下のようにして演算される。
【００８７】
（１）二次元コードのコードサイズが不明の場合、セルサイズ、シンボルの大きさからコードサイズを演算する。正方形コードの場合は、（シンボルの大きさ）／（セルサイズ）＝コードサイズとする。
【００８８】
（２）演算の結果得られたコードサイズが、上述した理論上の最大コードサイズを超えていれば、ＮＧと判断する。
【００８９】
（３）シンボルの大きさ、ラベルの位置ずれ範囲、ワークの回転の有り無しに基づいて、必要なｙ方向の視野Ｖｙｍｉｎを計算する。例えば、正方形コードで回転を許すとき、必要な視野Ｖｙｍｉｎ＝（印字スペースの一辺）×√２＋２×（位置決め精度）となる。
【００９０】
（４）Ｖｙｍｉｎを確保するための倍率Ｍｍａｘを求める。倍率Ｍｍａｘは、Ｍｍａｘ＝ｓ×ｎ／Ｖｙｍｉｎで演算され、上記式においてｓはＣＣＤの画素サイズ（ｍｍ）、ｎはＣＣＤのｙ方向画素数×安全係数、ｍは割り当て画素（５または８）とする。
【００９１】
（５）Ｍｍａｘを満足する接写リングの組み合わせをピックアップする。ここで、実効接写リング厚ｆ・Ｍはｆ・Ｍ＝（接写リング厚）＋（ピントリングの調整範囲）で演算される。Ｍｍａｘを満足する組み合わせがないときは、実現可能な接写リングの組み合わせからＭｍａｘを決め直す。
【００９２】
（６）上記（５）で得られたＭｍａｘにおける物体からレンズ前端までの距離Ｏｍｉｎと、そのときの視野Ｖｙを演算する。ここでレンズ前端までの距離ＯｍｉｎはＯｍｉｎ＝ｆ／Ｍ＋２ｆ＋ΔＨ−ｄで演算され、上式においてΔＨはレンズの主点間距離、ｄはレンズ長である。また視野ＶｙはＶｙ＝ｓ×ｎ／Ｍで演算され、上式においてｓはＣＣＤの画素サイズ（ｍｍ）、ｎは（ＣＣＤのｙ方向画素数）×（安全係数）であり、Ｍは倍率である。この実施例では、計算パラメータとして焦点距離ｆ＝２４．９７［ｍｍ］、主点間距離ΔＨ＝０．６９［ｍｍ］、レンズ長（下端から焦点面まで）ｄ＝５４．８３［ｍｍ］、ＣＣＤの画素サイズｓ＝０．００７４［ｍｍ］、ＣＣＤのｙ方向画素数＝４８０、ＣＣＤのｘ方向画素数＝６４０、ピントリングの調整範囲＝０〜２．５［ｍｍ］、視野の安全係数＝０．９とした。
【００９３】
［カメラ取付距離の最大値Ｏｍａｘの演算］
カメラを取り付けられる最長距離であるカメラ取付距離の最大値Ｏｍａｘは、以下のようにして演算される。
【００９４】
（１）２次元シンボルの１セルがＣＣＤ上で５画素（ノーマルパターンの場合）または８画素（ドットパターンの場合）になる倍率Ｍｍｉｎを求める。ここで、Ｍｍｉｎ＝ｓ×ｍ／Ｓで演算され、上式においてｓはＣＣＤの画素サイズ（ｍｍ）、ｍは割り当て画素（５または８）、Ｓはワーク上でのセルサイズ（ｍｍ）である。
【００９５】
（２）Ｍｍｉｎを満足する接写リングの組み合わせを抽出する。Ｍｍｉｎを満たす組み合わせがない場合は、実現可能な接写リングの組み合わせからＭｍｉｎを決定し直す。
【００９６】
（３）上記（２）で得られたＭｍｉｎにおける物体からレンズ前端までの距離Ｏｍａｘと、そのときの視野Ｖｙを求める。
【００９７】
［「取付仕様」表示欄３６の表示］
図７のカメラの取付条件を決定する設定画面における「取付仕様」表示欄３６で表示される演算結果には、「２次元コードが視野の７０％となる高さ」を表示している。これは上記最小値Ｏｍｉｎを求める計算式において、安全係数を０．７とする場合に対応する。ただし、割り当て画素数が５未満になる場合は、二次元シンボルの１セルがＣＣＤ上で５画素（ノーマルパターン）または８画素（ドットパターン）になる高さ（Ｏｍａｘ）を表示する。
【００９８】
［取付条件の詳細］
なお、カメラの取付距離は最小値または推奨値を示している。最小値の場合、実際の取付はこの値より大きくてもよい。推奨値とは、最小値の１．１倍〜２．０倍程度である。図６、図７において「取付条件の詳細」ボタン３７を押下すると、図９のカメラ取付条件の詳細画面３８が表示される。この図では、カメラの取付可能な距離が図示される。図において、演算されたカメラの取付距離を最小値として、取付可能な範囲を示し、棒状のグラフで示される領域は焦点を合わせることが可能な範囲である。また組み合わせ可能な接写リングの組み合わせのパターンが例示される。さらに、カメラの取付距離および接写リングの厚さに加えて、読取セルサイズの限界値が演算され、ノーマルパターンの場合とドットパターンの場合それぞれの演算値が取付条件詳細表示欄３９に表示される。
【００９９】
図９において左側は「合焦点範囲」表示欄４０であり、縦軸にカメラの取付距離を示し、焦点合わせが可能な範囲を棒グラフ状に示している。この図においては７本のバーが示されており、個々のバーはある接写リングの組み合わせを表す。各バーをクリックして選択すると、バーの色が赤色に変化すると共に、選択された接写リングの組み合わせに係る詳細が右側の「接写リング組み合わせ」欄４１に表示される。図において「接写リング組み合わせ」欄４１に「合計：６．５ｍｍ」とあるのは、現在選択されている接写リングの組み合わせによるリング厚さの合計が６．５ｍｍであることを示す。また「（０．５＋１．０＋５．０）」とあるのは、接写リングの組み合わせのパターンとして０．５ｍｍ、１．０ｍｍ、５．０ｍｍの接写リングを重ねて使用すれば６．５ｍｍになることを示す。これによってユーザは、指定された厚さの接写リングを用意すればよく、迷うことなく接写リングの組み合わせを選択できる。また「取り付け範囲：６５ｍｍ〜９１ｍｍ」とあるのは、現在選択されている接写リングの組み合わせでは６５ｍｍ〜９１ｍｍの範囲でピントを合わせることができることを示している。この範囲は、「合焦点範囲」表示欄４０におけるバーの長さに対応している。なお、「合焦点範囲」表示欄４０では一部のバーの上端および下端が一部切れているが、これは各バーがピントを合わせることができるか否かを基準に表示しており、一方、二次元コードの全体が読めるか否かの基準を考慮すると、上端および下端の領域が含まれないからである。具体的には、バーの上端のセルが判別可能かどうかで決まり、下端は二次元コード全体が読み取り可能かどうかで決まる。以上の項目は接写リングの組み合わせに依存するので、「合焦点範囲」表示欄４０で異なるバーを選択すると、新たに選択されたバーが赤色で示されると共に、このバーに対応する情報に「接写リング組み合わせ」欄４１、取付条件詳細表示欄３９の表示が更新される。
【０１００】
また取付条件詳細表示欄３９の「視野：１０ｍｍ×１０ｍｍ」は、現在の視野を表す。ここで「合焦点範囲」表示欄４０において任意の位置でマウスをクリックすると、クリックされた位置における視野、すなわち「合焦点範囲」表示欄４０の縦軸に対応する位置を取り付け距離とした場合の視野を計算し、表示する。
このように視野の大きさは取り付け距離に依存する。
【０１０１】
さらに「取り付け距離：６６ｍｍ」は、読み取り対象からレンズの前端までの距離を表す。また上記同様「合焦点範囲」表示欄４０でマウスをクリックすると、クリックされた位置での「合焦点範囲」表示欄４０の縦軸に対応する距離が表示される。
【０１０２】
さらにまた、「ピント目盛：０．３ｍ」とは、レンズに付けられたピントリングの目盛りを０．３ｍに合わせるとピントが合うことを意味する。この項目についても、「合焦点範囲」表示欄４０でマウスをクリックすると、クリックされた位置に応じた値が計算され、表示される。この実施例では、０．３ｍ〜∞ｍまでの範囲でピントが合うレンズを使用するため、この項目で表示される値は０．３ｍ〜∞ｍの範囲となる。この項目は接写リングの組み合わせと取り付け距離に依存する。
【０１０３】
さらにまた「画素／セル：５」とは、現在設定されている取り付け距離では二次元コードの１セルがＣＣＤの５画素に割り当てられることを意味する。この項目についても、「合焦点範囲」表示欄４０でマウスをクリックすると、クリックされた位置に合わせた値が計算され、表示される。「合焦点範囲」表示欄４０の下方付近をクリックすると値が大きくなり、逆に「合焦点範囲」表示欄４０の上方をクリックすると値が小さくなる。この項目も取り付け距離に依存する。
【０１０４】
以上の取付条件詳細表示欄３９で表示される各パラメータの演算は、以下のようにして行われる。
［視野］
（１）取付距離Ｏに基づいて倍率Ｍを求める。倍率Ｍは、Ｍ＝−ｆ／（２ｆ＋ΔＨ−ｄ−Ｏ）で演算され、この式においてｆは焦点距離、ΔＨはレンズの主点間距離、ｄはレンズ長である。
【０１０５】
（２）倍率Ｍから視野Ｖｘ，Ｖｙを求める。ここで視野ＶｘはＶｘ＝ｓ×ｎ／Ｍで演算され、この式においてｓはＣＣＤの画素サイズ（ｍｍ）、ｎはＣＣＤのｘ方向画素数、Ｍは倍率である。また視野ＶｙはＶｙ＝ｓ×ｎ／Ｍで演算され、この式においてｓはＣＣＤの画素サイズ（ｍｍ）、ｎはＣＣＤのｙ方向画素数、Ｍは倍率である。
【０１０６】
［ピント目盛り］
（１）倍率Ｍに基づいて実効接写リング厚ｆ・Ｍを求める。
（２）実効接写リング厚ｆ・Ｍと実際に使用する接写リング厚１ｒｉｎｇからピントリングでカバーする長さ１ｐｉｎｔを求める。ここで１ｐｉｎｔ＝ｆ・Ｍ−１ｒｉｎｇである。
（３）１ｐｉｎｔから、ピント目盛りの値ｐを求める。ピント目盛りは０．１ｍ単位で表示し、５ｍより大きいときは∞とする。ここでピント目盛りの値ｐは、ｐ＝ｆ２／１ｐｉｎｔ＋２ｆ＋ΔＨ＋１ｐｉｎｔで演算される。
【０１０７】
［割り当て画素（画素／セル）］
（１）倍率Ｍ、ＣＣＤの画素サイズｓ、ワーク上でのセルサイズＳに基づいて割り当て画素数ｍを求める。求めた値は小数点以下を切り捨て、整数値で表示する。画素数ｍは、ｍ＝Ｍ×Ｓ／ｓで演算され、この式においてｓはＣＣＤの画素サイズ（ｍｍ）、Ｓはワーク上でのセルサイズ（ｍｍ）である。
【０１０８】
さらに「視野に対するコードの比率」欄４２として、視野全体のどのくらいの領域を使って二次元コードが表示されるかを表示させることもできる。目安としては、二次元コードの全体が視野の中央付近で１／３以上の領域で表示されていることが好ましい。ユーザは視野に対するコードの比率を参照しながら、二次元コードの全体が視野に収められていると共に、可能な限り大きく表示される用に設定する。以上のようにして、本プログラムはカメラを取り付ける高さはどのくらいが適当か、接写リングの厚みはいくらにすべきか、ピントリングの目盛はいくつに合わせるのが適当かといった条件を、ユーザに代わって自動的に演算して表示してくれる。
【０１０９】
［取付イメージ］
またステップＳ２においては、図１０に示すように取付イメージ４３を表示させることもできる。これによって、演算された各値が二次元コード読取動作装置のいずれの部位に当たるかをユーザに判りやすく表示でき、特に二次元コードの設定に不慣れなユーザにも視覚的に調整すべき箇所を示すことにより、設定を容易にすることができる。イメージ表示可能な項目としては、演算に係るカメラ取付距離、接写リングのタイプ、ピントリングの目盛の目安、二次元コードのシンボルの縦横のサイズ、一セルのサイズ、二次元コードを印刷した二次元コードラベルの縦横のサイズ、ワークの位置決め精度や視野とシンボルの大きさの関係などがあり、これらの全部あるいは一部、選択された部分のみを表示することもできる。また、各部に入力あるいは演算された数値を表記しても良いし、表示される部位毎に色を変えて表示してもよい。さらに図１０の取付イメージ４３を図６、図７の設定画面と並べて表示し、図６、図７中の設定項目や演算結果に対応する図１０の部位を同じ色で表示させることもできる。さらにまた、図６、図７で選択中の項目を図１０中で反転、点滅、太字、赤文字などハイライトさせて表示する、あるいは逆に図１０中で選択した部位に対応する項目や数値を図６、図７中でハイライト表示させるなどの方法も利用できる。あるいはまた、演算されたサイズに応じてイメージ表示されるサイズの大きさを変更させたり、選択された二次元コードの種別が変わるとイメージ表示された二次元コードのサンプルもこれに応じて変化するようにしても良い。さらに、取付方法を動画で表示させたり音声で各部位の解説や取付方法を説明するなどのガイダンス機能を付加してもよい。このようなイメージ表示によって、初心者でも設定を容易に行えるように補助することができる。
【０１１０】
（ステップＳ３　二次元コード読取動作設定）
図１１〜図１６に二次元コード読取装置本体の動作を設定する画面イメージを示す。この画面では、読取コードの設定、読取動作の設定、出力の設定、予知保全情報に関する設定、通信の設定、その他の設定を各タブ毎に切り替えて行う。
以下、それぞれについて説明する。なお、ここでは二次元コード読取装置自体のハードウェア的な動作を設定するものであり、上記ステップＳ１、Ｓ２のような使用条件に合わせた設定とは別個に行われる。したがって、説明の便宜上ステップＳ３となっているものの、上述のとおり本来的に上記ステップＳ１、Ｓ２と独立に設定することができるものであり、その設定順序はステップＳ１、Ｓ２の後に限られず、これより前でも、また最中でもよい。
【０１１１】
図１１の画面では「読取コード」４４を設定する。まず読取コードとして読取対象の二次元コードの種別を「読取コードの設定」欄４５で選択する。二次元コード読取装置の仕様に応じて選択可能な二次元コードの種別が列挙され、ユーザは所望の種別を複数選択することが可能である。処理能力や速度などは二次元コード読取装置の仕様に依存する。一般に多くの種類の二次元コードを設定すると読取に時間がかかるので、読取処理時間を短縮するには不要な二次元コードのチェックを外して読み取る読取コードを限定する。
【０１１２】
選択された二次元コードの種別に応じて、さらに詳細設定が可能である。例えばＱＲコードを選択したとき、別ウィンドウでＱＲコードの詳細設定画面が表示され、読取対象のＱＲコードのバージョン数を上限、下限を指定して限定する、連結コードの編集モードが可能か否かなどを設定できる。あるいは、データマトリクスを選択したときは、セル数や視野を限定することができる。セル数を限定する場合は、セル数の上限、下限を指定し、視野を限定する場合は視野の頂点座標として例えば左上の座標、右下の座標を（１，１）、（６４０，４８０）のように指定する。
【０１１３】
さらに「二次元コードの印字状態」指定欄４６として、白黒反転や表裏反転が指定でき、さらに印字パターンとしてノーマル、ドットなどを選択する。また、「読取コードの設定」欄４５で「その他のコード」を選択してチェックを入れると、右側の「その他のコードの詳細設定」欄４７がグレーアウトから入力可能となり、各々の項目を設定できる。ここでの設定によって、様々な種類の二次元コードやバーコードを読取対象として設定できる。
【０１１４】
また、図１１〜図１６まではいずれも設定内容を送受信することができる。送受信先は二次元コード読取動作本体に備えられたメモリ１〜４であり、各々別個のデータを保持することができる。各画面において送受信先５０を選択して「設定送信」ボタン４８を押下すると設定内容が指定された先に送信され、また「設定受信」ボタン４９を押下すると、指定先から設定内容が取り込まれる。
【０１１５】
図１２では、「読取動作」タブ５１で読取動作の設定を行う。ここでは、「読取モード」設定欄５２でシングルラベルについてはレベルトリガ、エッジトリガ、ソフトトリガのいずれかを選択し、マルチラベルではレベルトリガか連続かを選択する。また「読取モードの詳細」５３として、「入力時定数」、「ワンショット時間」、「トリガＯＮコマンド」、トリガＯＦＦコマンド」、「２度読み防止時間」を必要に応じて指定する。さらに、「２値化の詳細」ボタン５４が押下されると、図２３に示す「２値化オプション」画面８３が別ウィンドウで開き、２値化方式、Ａ／Ｄ変換基準値、デジタルスムージングサイズ、ドットパターン設定などが設定可能となる。通常の動作ではこれらの設定を変更する必要はない。
【０１１６】
図１３の「出力」タブ５５では出力の設定を行う。ここでは「出力タイミング」５６として読取後、トリガＯＦＦ後のいずれかを選択し、さらにＯＫ端子出力、ＮＧ端子出力、読取エラーコード出力の有無を設定する。また「転送データの詳細」ボタン５７を押下すると、「転送データの詳細」設定画面が別ウィンドウで開き、「シンボル識別子の転送」、「桁数の転送」、「区切りキャラクタの転送」、「ＢＣＣの転送」の有無をそれぞれチェックボックスのＯＮ、ＯＦＦにより選択する。
【０１１７】
図１４の「予知保全情報」タブ５８では、予知保全情報の設定を行う。予知保全情報（Ｐｒｅｖｅｎｔｉｖｅ　Ｍａｉｎｔｅｎａｎｃｅ　Ｉｎｆｏｒｍａｔｉｏｎ：ＰＭＩ）とは、二次元コードの読取の安定度を示す指標である読取安定度であり、二次元コードの明暗を構成する領域でそれぞれのコントラストを調べ、所定の安定度閾値と比較することで読取が安定して行われているか否かを判定する。図１４の例では、「ＰＭＩ端子出力」欄５９で予知保全情報をＰＭＩ端子から出力するか否かを設定する。ＰＭＩ端子は予知保全情報を出力する専用のＩ／Ｏ端子であり、読取安定度出力回路８に相当する。
【０１１８】
また「予知保全情報（ＰＭＩ）」設定欄６０では、二次元コードを読み取った復号データに予知保全情報を付加するか否かを設定する。ここにチェックを入れた場合は予知保全情報が復号化処理したデータに付加され、シリアル入出力部１３からシリアルデータとして転送される。上記ＰＭＩ端子からの出力と、シリアル入出力部１３からの出力を共に選択することもできる。
【０１１９】
さらに「予知保全情報（ＰＭＩ）」設定欄６０は、上限安定度閾値である予知保全設定値１および下限安定度閾値である予知保全設定値２を入力する。それぞれの予知保全設定値には、二次元コードを読み取った明暗のコントラストが悪くなって読取の安定度が低下したと判断される基準値を、ユーザが使用環境に応じて決定し入力される。この例では２つの安定度閾値による３段階評価で二次元コード読取の安定度を評価する。
【０１２０】
図１５の「通信」タブ６１は通信設定画面を示す画面イメージである。ここでは、二次元コード読取装置がホストシステムと通信を行う際の条件を設定する。
この例では、ホストシステムを構成するコンピュータとＲＳ−２３２Ｃによりシリアル通信を行う。図１５において「通信速度」６２は、４８００ｂｐｓ、９６００ｂｐｓ、１９２００ｂｐｓ、３８４００ｂｐｓ、５７６００ｂｐｓ、１１５２００ｂｐｓのコンボボックスから選択する。また「データ長」６３は７ビットか８ビットか、「ストップビット」６４は１ビットか２ビットか、「パリティ」６５はなしか偶数か奇数か、「ヘッダ、ターミネータ」６６はＳＴＸ、ＥＴＸ、ＣＲ、ＬＦなどの種別をそれぞれ選択する。さらに「フロー制御」６７はＲＴＳ／ＣＴＳ制御か、「通信手段」６８は無手順かＡＣＫ／ＮＡＫか等をそれぞれ選択する。また「設定終了後、ＰＣの通信設定に反映する」６９をチェックすると、これらの設定が自動的にＰＣの通信設定に反映され、これによって二次元コード読取装置側の通信設定を変更してもホストシステムとの通信を継続することができる。
【０１２１】
さらに図１６は「その他」タブ７０によるその他の設定画面である。ここでは「外部照明出力」７１としてコンボボックスより「なし」、「常時ＯＦＦ」、「常時ＯＮ」、「トリガ同期ＯＮ」、「トリガ同期ＯＦＦ」のいずれかから選択する。さらに「ブザー鳴動許可」、「読取データの表示」の可否をチェックボックスにより選択する。さらにまた「画像保存の設定」７２として、取得された画像データの保存条件を設定する。この例では最大１０画面まで保存することができ、ＮＧ画像のみ保存、ＯＫ画像のみ保存、全画像保存のいずれかから選択する。
【０１２２】
（ステップＳ４　読取調整）
図１７および図１８に読取調整画面を示す。この画面では、実際に二次元コードラベルを二次元コード読取装置にセットした状態で動作させて、読取テストを行うことが可能である。さらに、二次元コードをセットする前に照度分布テストを実行することもできる。このように二次元コード読取装置は、読取動作確認を行うための読取テストモードと、カメラの視野における照度分布状態を確認するための照度分布確認モードを備えている。この二次元コード読取装置は、読取テストモードと照度分布確認モードを実行するための読取調整手段を備えている。
読取調整手段は、図１のブロック図に示す演算回路７によって実現され、図１７、図１８で示すように、画面左下の「読み取り調整ボタン」を選択することによって読取調整画面となり、この画面からこれらのモードを操作することができる。まず読み取りテストモードについて説明する。
【０１２３】
［読取テストモード］
読取テストモードでは、二次元コード読取装置が実際に二次元コードラベルに対して連続して読み取り動作を行い、所定の試行回数毎にテスト結果を表示する。さらにこの動作を複数回繰り返して、テスト結果を一覧表示する。
図１７および図１８において「設定．．．」ボタン７３を押下すると、図１９に示す「読取テストの設定」画面７４が別ウィンドウで開き、「デコード時間制限」、「試行回数」が指定可能となる。また「表示データ」設定欄７５において、読取テストの結果として図１７、図１８の読取テスト結果表示欄７９に表示される表示データに含めたい項目として、「読取データ」、「読取率」、「平均読取時間」、「最長読取時間」、「平均コントラスト」、「最低コントラスト」を選択でき、それぞれの項目毎にチェックボックスをチェックすることで表示データに付加される。また「表示データ」設定欄７５の下段には、選択された表示データのサンプル７６が表示され、各項目のチェックボックスをＯＮ、ＯＦＦすることで、これに応じて表示サンプルも変化し、現在選択された表示データがどのような形で表示されるかを確認できる。
【０１２４】
また図１７、図１８の「表示形式」指定欄７７において、取得したデータを「生データ」で表示させるか「２値化データ」で表示させるかを選択する。このようにして読取テストの設定を行い、さらに実際に二次元コード読取装置に二次元コードをセットした後「テスト開始」ボタン７８を押下すると、読取テストを行う確認画面が開き、「視野内に二次元コードを置き、ピント、絞り、照明の位置を調節して下さい。」とのメッセージが表示される。ここでＯＫボタンを押下すると二次元コードの読取が開始される。二次元コード読取装置設定プログラムは「テスト開始」ボタン７８が押下されると、連続して読み取りテストを行い、上記「読取テストの設定」画面７４で指定された試行回数（デフォルト１０回）の試行の度にテスト結果を１行に表示し、これを繰り返して読取テスト結果表示欄７９に表示する。
【０１２５】
図１７は読取率が高い場合、図１８は読取率が低い場合の例をそれぞれ示している。これらの図では、読取テスト結果表示欄７９に表示される情報として、左から読み取りデータ、読み取り率、平均読取り時間、最長読取り時間、平均コントラスト、最低コントラストが表示される。読み取り率が１００％となるのが読み取り安定の目安となる。読取結果の良好な図１７と比べ、読取結果の低い図１８では、読取率が低い場合が増えると共に、読み取り時間が長く、コントラストも低くなっていることが判る。このように、設定された条件の下で実際に読取を行って読取率や読取時間などの情報を表示させることができ、読取の安定度を知ることができる。よってユーザは、読取テストを行って安定した条件に設定することができる。
【０１２６】
［照度分布確認モード］
次に照度分布確認モードについて説明する。照度分布確認モードは、二次元コード読取装置に二次元コードや二次元コードを含むワークをセットしない状態で照明部を動作させて照明をあて、撮像部にて取得した画像データからバックグラウンドの照度の分布を確認する照度分布テストを実行するためのモードである。
図１７および図１８において、メニューの「読み取り調整（Ｔ）」→「照度分布テスト」を選択すると、照度分布テストを行う確認画面が開き、「照度分布テストを行います。」とのメッセージが表示される。ここでＯＫボタンを押下すると、実際に二次元コードに照明を照射した状態での照度分布が測定され、測定結果を示す照度分布画面８０が別ウィンドウにて表示される。照度分布テストの結果の一例を図２０〜図２２に示す。図２０および図２１は良い例、図２２は悪い例をそれぞれ示す。これらの図において、左側の照度分布表示欄８１では視野をブロック状に分割し照度分布を表示している。各ブロック毎に平均照度として平均明度を演算し、右下に表示されるスケールのように、照度が明るいほど白く、暗いほど黒くなるよう照度を段階的に色を変えて表示する。
【０１２７】
また右側には「推奨パターン」８２として、好ましい照度分布の例を示している。この推奨パターン８２を参考にして、設定を変更しながら照度分布確認テストを繰り返し、照度分布表示欄８１にて確認することによって照度分布のパターンを推奨パターンに近付けるように設定できる。図２０では十分に明るい照度で均一に分布しており、また図２１では右側に若干照度が劣る部分があるものの、十分な照度が得られている。一方図２２では、全体に暗く十分な照度が得られていない。よって図２２のような照度分布が表示された場合は、推奨パターンに近付けるように照明の光量や取付位置、角度などを調整する。調整された状態で再度照度分布テストを行って、照度分布が改善されたかどうかを確認する。このようにして、ユーザは照度分布を確認しながら照明の調整を行うことができる。
【０１２８】
この例では、取得された横６４０×縦４８０画素の画像データを、横６４×縦４８画素とする矩形状のブロックで分割し、縦１０×横１０個のブロック毎に照度の平均を測定している。このブロックは、画像データの二値化方式におけるブロックと対応している。
【０１２９】
［二値化方式］
画像データのアナログ信号を二値化する二値化方式には、様々な方法がある。
図１２の画面において、「２値化の詳細」ボタン５４を押下すると図２３の「２値化オプション」画面８３が表示され、「二値化方式」設定欄８４にて二値化方式を選択、設定することができる。この例では、分割二値化１、分割二値化２、固定のいずれかが選択できる。
【０１３０】
「分割二値化１」とは、上述のように画像データを複数のブロック（例えば１６×１６画素）に分割し、各ブロックの平均明度および画像全体の固定閾値に基づいて二値化する方法である。画像全体の固定閾値は、後述するように二次元コード読取装置が自動的に演算し、ユーザは指定する必要がない。この方式は、明度ムラおよび背景ノイズのいずれもが比較的多い場合に用いられる。それぞれのムラやノイズが多い場合は、ムラやノイズに応じて以下のいずれかの方式が好ましい。
【０１３１】
また「分割二値化２」とは、画像データを複数のブロックに分割し、各ブロックの平均明度に基づいて二値化する方法である。この方式では、ブロック毎に明度のヒストグラムを求めて平均明度を演算しており、各ブロックで二値化の閾値が変わる。この方式は、明度ムラが多く、背景ノイズが少ない場合に用いられる。このような分割二値化は、画像全体の固定閾値に基づく二値化では問題があるような場合に効果的である。例えば照明が均一に照射されず、取得された画像データに明るい部分と暗い部分が偏在するようなグラデーションが生じている場合、画面全体に基づいて二値化を行うと偏りが生じてしまい正しく二値化できない事態が生じる。このような場合に画像を分割してそれぞれの領域で二値化の閾値を設定してやることによって、正しく二値化データが得られる。
【０１３２】
一方、「固定」とは、画像データ全体を一定の固定閾値で二値化する方法である。この方式では、上記「分割二値化１」と異なり、ユーザが固定閾値を直接指定することができる。図２３の画面において「固定」を選択すると、「二値化レベル」入力欄８５がグレーアウトから入力可能な状態となり、「二値化レベル」として固定閾値をユーザが入力する。この方式は、明度ムラが少なく、背景ノイズが多い場合に用いられる。
【０１３３】
固定閾値は、ユーザが直接指定する他、二次元コード読取装置に演算させることもできる。固定閾値は例えば画像全体の明度の分布を示すヒストグラムから算出することができる。ヒストグラムより、明部（白）と暗部（黒）のそれぞれの中心的な明度を求めることができ、この差のコントラストを上述の読取安定度の指標として利用することもできる。この例で固定閾値を演算させるには、図１７、１８の読取調整画面においてメニューの「読み取り調整（Ｔ）」から「二値化レベル自動検出」を選択する。すると、「二値化方式を固定にするときの適切な二値化レベルを自動検出します。視野内に二次元コードを置き、ピント、絞り、照明の位置を調節して下さい。」とのダイヤログボックスが表示され、ＯＫを押下すると二値化レベル自動検出が実行される。「二値化レベル自動検出中　二値化レベルを自動検出しています。しばらくお待ち下さい。」とのメッセージが表示され、１分程度で最適な固定閾値が算出される。必要に応じて画面に演算値を表示し、さらに固定閾値として自動的に設定させることもできる。
【０１３４】
このように様々な二値化方式が存在しており、ユーザは二次元コード読取装置の使用条件に応じて適切な二値化方式を選択する。その際に、上述の動作テストおよび照度分布確認が有効となる。すなわち、二次元コード読取装置を運用する前に、まず照度分布を確認し、その上で実際に二次元コードの読取を試験することで、最適な二値化方式が選択されているか否かを事前に確認することができるのである。また、各二値化方式においても、各々の設定値をさらに最適な値に調整することができる。さらにまた二値化方式以外の上述した各読取条件についても適切な値に設定することができる。例えばステップＳ４の読取テストの結果、読取安定度が悪いことが判明すると、上記ステップＳ２に戻りこのような問題点を改善するような設定に変更、調整することができる。そして変更された条件で再度読取テストを行い、安定した読取ができるようになることが確認できれば設定を終了する。このように読取試行の結果をフィードバックさせることでより好ましい条件を模索し、さらに試行するという動作を繰り返しながら最終的には最適な条件に調整し、また読取精度の向上あるいは読取処理速度の向上といった所望の目的に応じた二次元コードの読取条件に設定することが可能となる。さらに、二次元コード読取装置の導入や運用前にテストを行い、実際に二次元コードを読み取らせて読取安定度などを確認できることで、運用開始後に読取率が不十分であることが判明するといったトラブルを未然に防止できるというメリットもある。
【０１３５】
【発明の効果】
以上説明したように、本発明の二次元コード読取装置、二次元コード読取装置設定方法、二次元コード読取装置読取テスト方法、二次元コード読取装置照度分布確認方法、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体は、実際に二次元コードをセットした状態で二次元コードの読取試験を行い、最適な読み取りが実施されているかどうかを確認することができる。また照度分布を確認することもでき、同様に照明の状態についても確認できる。これによって、二次元コードの読取条件を試行結果に基づきより好ましい条件に調整することができ、また変更された条件でさらに読み取り試験を行うことでその調整の効果を確認でき、このようなフィードバックを繰り返すことで所望の読取条件に設定することができるという特長がある。
【０１３６】
さらに、本発明の二次元コード読取装置、二次元コード読取装置設定方法、二次元コード読取装置読取テスト方法、二次元コード読取装置照度分布確認方法、二次元コード読取装置設定プログラムおよびコンピュータ読取可能な記録媒体によれば、二次元コード読取装置を稼働させる前に二次元コードの読取テストを行えるため、これを用いてアプリケーションに応じた最適な二値化方式やその他の読取条件が選択されているかどうかを確認することもできる。このように本発明は、二次元コードを実際にセットした状態で試験できるため、運用前に動作検証を行って二次元コードの読取がより確実に実行されるよう予め設定を完全にすることができるという優れた特長を備える。
【図面の簡単な説明】
【図１】本発明の一実施例に係る二次元コード読取装置の構成を示すブロック図である。
【図２】本発明の一実施例に係る二次元コード読取装置設定プログラムの流れを示すフローチャートである。
【図３】二次元コードの仕様決定ステップにおける二次元コードの仕様を決定する画面を示すイメージ図である。
【図４】二次元コードの仕様決定ステップにおける二次元コード詳細設定画面を示すイメージ図である。
【図５】二次元コードの仕様決定ステップにおける印字の詳細設定画面を示すイメージ図である。
【図６】カメラ取付条件の設定におけるシンボルの大きさの計算ボタンのないカメラの取付条件を決定する設定画面を示すイメージ図である。
【図７】カメラ取付条件の設定におけるシンボルの大きさの計算が可能なカメラの取付条件を決定する設定画面を示すイメージ図である。
【図８】カメラ取付条件の設定におけるシンボルの大きさの計算設定画面を示すイメージ図である。
【図９】カメラ取付条件の設定におけるカメラ取付条件の詳細を示すイメージ図である。
【図１０】カメラ取付条件の設定における取付イメージを示すイメージ図である。
【図１１】二次元コード読取装置の動作設定における読取コードの設定画面を示すイメージ図である。
【図１２】二次元コード読取装置の動作設定における読取動作の設定画面を示すイメージ図である。
【図１３】二次元コード読取装置の動作設定における出力の設定画面を示すイメージ図である。
【図１４】二次元コード読取装置の動作設定における予知保全情報の設定画面を示すイメージ図である。
【図１５】二次元コード読取装置の動作設定における通信の設定画面を示すイメージ図である。
【図１６】二次元コード読取装置の動作設定におけるその他の設定画面を示すイメージ図である。
【図１７】読取調整画面における読取テストの結果、読取率が高い例を示すイメージ図である。
【図１８】読取調整画面における読取テストの結果、読取率が低い例を示すイメージ図である。
【図１９】読取調整画面における読取テストの設定画面を示すイメージ図である。
【図２０】読取調整画面における照度分布テストの結果、照度分布が良い一例を示すイメージ図である。
【図２１】読取調整画面における照度分布テストの結果、照度分布が良い他の例を示すイメージ図である。
【図２２】読取調整画面における照度分布テストの結果、照度分布が悪い一例を示すイメージ図である。
【図２３】二次元コード読取装置の動作設定における２値化オプション画面を示すイメージ図である。
【符号の説明】
１・・・復号部
２・・・撮像部
３・・・照明部
４・・・カメラ
５・・・レンズ
６・・・画像処理回路
７・・・演算回路
８・・・読取安定度出力回路
９・・・制御部
１０・・・画像処理部
１１・・・復号処理部
１２・・・読取安定度決定部
１３・・・シリアル入出力部
１４・・・ホストシステム
１５・・・二次元コード
１６・・・「コード種別」指定欄
１７・・・二次元コードサンプル表示欄
１８・・・「データ種別」指定欄
１９・・・「詳細．．．」ボタン
２０・・・二次元コード詳細設定画面
２１・・・「データ量」指定欄
２２・・・「印字可能スペース」指定欄
２３・・・「計算開始」ボタン
２４・・・計算結果表示欄
２５・・・「印字の詳細」ボタン
２６・・・印字の詳細設定画面
２７・・・「二次元コードの仕様」
２８・・・「二次元コードラベルの位置ずれ許容範囲」
２９・・・「印字パターン」
３０・・・「希望取付距離」
３１・・・スライダ
３２・・・「シンボルの大きさ」入力欄
３３・・・「シンボルの大きさの計算」ボタン
３４・・・「シンボルの大きさの計算」設定画面
３５・・・「計算開始」ボタン
３６・・・「取付仕様」表示欄
３７・・・「取付条件の詳細」ボタン
３８・・・カメラ取付条件の詳細画面
３９・・・取付条件詳細表示欄
４０・・・「合焦点範囲」表示欄
４１・・・「接写リング組み合わせ」欄
４２・・・「視野に対するコードの比率」欄
４３・・・取付イメージ
４４・・・「読取コード」
４５・・・「読取コードの設定」欄
４６・・・「二次元コードの印字状態」指定欄
４７・・・「その他のコードの詳細設定」欄
４８・・・「設定送信」ボタン
４９・・・「設定受信」ボタン
５０・・・送受信先
５１・・・「読取動作」タブ
５２・・・「読取モード」設定欄
５３・・・「読取モードの詳細」
５４・・・「２値化の詳細」ボタン
５５・・・「出力」タブ
５６・・・「出力タイミング」
５７・・・「転送データの詳細」ボタン
５８・・・「予知保全情報」タブ
５９・・・「ＰＭＩ端子出力」欄
６０・・・「予知保全情報（ＰＭＩ）」設定欄
６１・・・「通信」タブ
６２・・・「通信速度」
６３・・・「データ長」
６４・・・「ストップビット」
６５・・・「パリティ」
６６・・・「ヘッダ、ターミネータ」
６７・・・「フロー制御」
６８・・・「通信手段」
６９・・・「設定終了後、ＰＣの通信設定に反映する」
７０・・・「その他」タブ
７１・・・「外部照明出力」
７２・・・「画像保存の設定」
７３・・・「設定．．．」ボタン
７４・・・「読取テストの設定」画面
７５・・・「表示データ」設定欄
７６・・・表示データのサンプル
７７・・・「表示形式」指定欄
７８・・・「テスト開始」ボタン
７９・・・読取テスト結果表示欄
８０・・・照度分布画面
８１・・・照度分布表示欄
８２・・・「推奨パターン」
８３・・・「２値化オプション」画面
８４・・・「二値化方式」設定欄
８５・・・「二値化レベル」入力欄
【図１】
2004054871.tif 000003
【図２】
2004054871.tif 000004
【図３】
2004054871.tif 000005
【図４】
2004054871.tif 000006
【図５】
2004054871.tif 000007
【図６】
2004054871.tif 000008
【図７】
2004054871.tif 000009
【図８】
2004054871.tif 000010
【図９】
2004054871.tif 000011
【図１０】
2004054871.tif 000012
【図１１】
2004054871.tif 000013
【図１２】
2004054871.tif 000014
【図１３】
2004054871.tif 000015
【図１４】
2004054871.tif 000016
【図１５】
2004054871.tif 000017
【図１６】
2004054871.tif 000018
【図１７】
2004054871.tif 000019
【図１８】
2004054871.tif 000020
【図１９】
2004054871.tif 000021
【図２０】
2004054871.tif 000022
【図２１】
2004054871.tif 000023
【図２２】
2004054871.tif 000024
【図２３】
2004054871.tif 000025