(57)【要約】【課題】読み取り対象となる一次元コード、二次元コード等のバーコードシンボルを特定することが困難である場合であっても確実にバーコードシンボルを読み取ることができるバーコードシンボル読取装置、バーコードシンボル読取方法、及びコンピュータプログラムを提供する。【解決手段】少なくとも一のバーコードシンボルを含む画像を取得し、取得した画像を表示する。少なくとも一のバーコードシンボルを含む画像上で、バーコードシンボルの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一のバーコードシンボルを囲むように受け付ける。設定パラメータの入力を部分的に受け付け、指定を受け付けたチューニング領域内でバーコードシンボルを検出する。検出したバーコードシンボルを正常にデコードすることができるか否かを判断し、正常にデコードすることができると判断した場合、バーコードシンボルの設定パラメータを抽出する。【選択図】図３
2012018494.tif 000002
【特許請求の範囲】
【請求項１】
読み取り対象となる一次元コード又は二次元コードの特徴に関する特徴パラメータを画像から読み取り、一次元コード又は二次元コードを検出してデコードするバーコードシンボル読取装置において、
少なくとも一の一次元コード又は二次元コードを含む画像を取得する取得手段と、
取得した画像を表示する表示手段と、
少なくとも一の一次元コード又は二次元コードを含む画像上で、前記一次元コード又は前記二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の一次元コード又は二次元コードを囲むように受け付ける領域指定受付手段と、
前記設定パラメータの入力を部分的に受け付ける設定パラメータ入力受付手段と、
指定を受け付けたチューニング領域内で前記一次元コード又は前記二次元コードを検出する検出手段と、
検出した一次元コード又は二次元コードを正常にデコードすることができるか否かを判断する判断手段と、
該判断手段が正常にデコードすることができると判断した場合、前記一次元コード又は前記二次元コードの設定パラメータを抽出する抽出手段と
を備えることを特徴とするバーコードシンボル読取装置。
【請求項２】
少なくとも一の一次元コード又は二次元コードを含む画像上で、前記一次元コード又は前記二次元コードの位置と姿勢とを検出するサーチ領域の指定を受け付けるサーチ領域指定受付手段を備え、
前記領域指定受付手段は、前記サーチ領域とは別個に、前記チューニング領域の指定を受け付けることを特徴とする請求項１記載のバーコードシンボル読取装置。
【請求項３】
前記領域指定受付手段は、
指定を受け付けたチューニング領域において、前記一次元コード又は前記二次元コードに固有のシンボルを検出することができるか否かを判断するシンボル判断手段を備え、
該シンボル判断手段で前記シンボルを検出することができないと判断した場合、再度前記チューニング領域の指定を受け付けるようにしてあることを特徴とする請求項１又は２記載のバーコードシンボル読取装置。
【請求項４】
前記設定項目は、少なくとも前記二次元コードに固有のシンボルを構成するセルの大きさ、二次元コードのコード種別、コントラスト、印字の色種別、ミラー反転、基準角度、撮像条件、ピッチ角度、画像フィルタの種別のいずれかを含むことを特徴とする請求項１乃至３のいずれか一項に記載のバーコードシンボル読取装置。
【請求項５】
前記設定パラメータ入力受付手段は、各設定項目が前記抽出手段での設定パラメータの抽出対象であるか否かに関する情報の入力も受け付けるようにしてあることを特徴とする請求項１乃至４のいずれか一項に記載のバーコードシンボル読取装置。
【請求項６】
前記抽出手段は、前記設定項目が設定パラメータの抽出対象ではない場合、設定パラメータを更新することなく、入力を受け付けた設定パラメータを使用し、前記設定項目が設定パラメータの抽出対象である場合、設定パラメータを抽出するようにしてあることを特徴とする請求項５記載のバーコードシンボル読取装置。
【請求項７】
前記設定パラメータ入力受付手段は、
前記設定パラメータとして、前記設定パラメータの指定がない旨を示す入力を受け付けることを特徴とする請求項１乃至６のいずれか一項に記載のバーコードシンボル読取装置。
【請求項８】
前記チューニング領域の大きさに基づいて、前記一次元コード又は前記二次元コードを検出することが可能な最小の大きさまで前記チューニング領域内の画像を縮小する比率を算出し、算出した比率に応じて縮小した縮小画像を用いて前記一次元コード又は前記二次元コードを検出するようにしてあることを特徴とする請求項１乃至７のいずれか一項に記載のバーコードシンボル読取装置。
【請求項９】
読み取り対象となる一次元コード又は二次元コードの特徴に関する特徴パラメータを画像から読み取り、一次元コード又は二次元コードを検出してデコードするバーコードシンボル読取装置で実行することが可能なバーコードシンボル読取方法において、
少なくとも一の一次元コード又は二次元コードを含む画像を取得するステップと、
取得した画像を表示するステップと、
少なくとも一の一次元コード又は二次元コードを含む画像上で、前記一次元コード又は前記二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の一次元コード又は二次元コードを囲むように受け付けるステップと、
前記設定パラメータの入力を部分的に受け付けるステップと、
指定を受け付けたチューニング領域内で前記一次元コード又は前記二次元コードを検出するステップと、
検出した一次元コード又は二次元コードを正常にデコードすることができるか否かを判断するステップと、
正常にデコードすることができると判断した場合、前記一次元コード又は前記二次元コードの設定パラメータを抽出するステップと
を含むことを特徴とするバーコードシンボル読取方法。
【請求項１０】
読み取り対象となる一次元コード又は二次元コードの特徴に関する特徴パラメータを画像から読み取り、一次元コード又は二次元コードを検出してデコードするバーコードシンボル読取装置で実行することが可能なコンピュータプログラムにおいて、
前記バーコードシンボル読取装置を、
少なくとも一の一次元コード又は二次元コードを含む画像を取得する取得手段、
取得した画像を表示する表示手段、
少なくとも一の一次元コード又は二次元コードを含む画像上で、前記一次元コード又は前記二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の一次元コード又は二次元コードを囲むように受け付ける領域指定受付手段、
前記設定パラメータの入力を部分的に受け付ける設定パラメータ入力受付手段、
指定を受け付けたチューニング領域内で前記一次元コード又は前記二次元コードを検出する検出手段、
検出した一次元コード又は二次元コードを正常にデコードすることができるか否かを判断する判断手段、及び
該判断手段が正常にデコードすることができると判断した場合、前記一次元コード又は前記二次元コードの設定パラメータを抽出する抽出手段
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコード、ＱＲコードのような二次元コードを読み取るバーコードシンボル読取装置、バーコードシンボル読取方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、バーコード、ＱＲコードのような二次元コードを読み取る各種のバーコードシンボル読取装置は、二次元コードそれぞれが有する固有の特徴を利用して二次元コードの位置決めを実行してから、デコードしている。読み取り対象となる二次元コードの存在する位置を検出するために、二次元コードの固有の特徴を示すパラメータの入力を直接受け付けても良いし、二次元コードの存在する位置を検出する領域（以下、サーチ領域）の指定を受け付けて、二次元コードが有する固有の特徴を示すパラメータを抽出しても良い。
【０００３】
特許文献１では所定のファインダーパターンを検出するためのサーチ領域の領域指定機能を有する二次元コード読取装置が開示されている。特許文献１では、ＱＲコードのバージョン、種類等に固有の白黒パターンの幅の比率に関する情報等の特徴を示すパラメータを手動で設定することにより、読み取り対象となる二次元コードを検出してデコードする（読み取る）ことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０１３０２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
二次元コード読み取りの安定性向上、高速性向上のために、読み取り対象となる二次元コードの特徴を示すパラメータを限定することが多い。この場合、二次元コードの特徴を示すパラメータは、例えばバーコードシンボルの色種別、シンボルサイズ等の情報として、ユーザの直接入力を受け付ける、又は二次元コードを撮像して取得した画像から抽出する。
【０００６】
最近では、鋳肌表面に印刷する、鏡面に印刷する等、二次元コードを読み取ることが困難である印刷面に二次元コードが付与されていることも多い。斯かる印刷面から二次元コードを読み取る場合、特許文献１に開示されている二次元コード読取装置では、鏡面、鋳肌表面等でも確実に読み取ることができるよう各種の設定を行うことが非常に困難になるおそれがあるという問題点があった。
【０００７】
また、二次元コードを検出することができない場合、二次元コードの特徴を示すパラメータをユーザが直接入力する必要があり、作業が煩雑であった。さらに、鏡面反転等の見た目では判断できない特徴を示すパラメータは、ユーザが直接入力することが困難であるという問題点もあった。
【０００８】
加えて、サーチ領域内に複数の二次元コードが存在する場合、チューニング処理の対象となる二次元コードを特定することが困難になる場合もあり、正しく二次元コードの特徴を示すパラメータを抽出することが困難であるという問題点もあった。
【０００９】
本発明は上記事情に鑑みてなされたものであり、読み取り対象となる一次元コード、二次元コード等のバーコードシンボルを特定することが困難である場合であっても、確実にバーコードシンボルを読み取ることができるバーコードシンボル読取装置、バーコードシンボル読取方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために第１発明に係るバーコードシンボル読取装置は、読み取り対象となる一次元コード又は二次元コードの特徴に関する特徴パラメータを画像から読み取り、一次元コード又は二次元コードを検出してデコードするバーコードシンボル読取装置において、少なくとも一の一次元コード又は二次元コードを含む画像を取得する取得手段と、取得した画像を表示する表示手段と、少なくとも一の一次元コード又は二次元コードを含む画像上で、前記一次元コード又は前記二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の一次元コード又は二次元コードを囲むように受け付ける領域指定受付手段と、前記設定パラメータの入力を部分的に受け付ける設定パラメータ入力受付手段と、指定を受け付けたチューニング領域内で前記一次元コード又は前記二次元コードを検出する検出手段と、検出した一次元コード又は二次元コードを正常にデコードすることができるか否かを判断する判断手段と、該判断手段が正常にデコードすることができると判断した場合、前記一次元コード又は前記二次元コードの設定パラメータを抽出する抽出手段とを備えることを特徴とする。
【００１１】
また、第２発明に係るバーコードシンボル読取装置は、第１発明において、少なくとも一の一次元コード又は二次元コードを含む画像上で、前記一次元コード又は前記二次元コードの位置と姿勢とを検出するサーチ領域の指定を受け付けるサーチ領域指定受付手段を備え、前記領域指定受付手段は、前記サーチ領域とは別個に、前記チューニング領域の指定を受け付けることを特徴とする。
【００１２】
また、第３発明に係るバーコードシンボル読取装置は、第１又は第２発明において、前記領域指定受付手段は、指定を受け付けたチューニング領域において、前記一次元コード又は前記二次元コードに固有のシンボルを検出することができるか否かを判断するシンボル判断手段を備え、該シンボル判断手段で前記シンボルを検出することができないと判断した場合、再度前記チューニング領域の指定を受け付けるようにしてあることを特徴とする。
【００１３】
また、第４発明に係るバーコードシンボル読取装置は、第１乃至第３発明のいずれか１つにおいて、前記設定項目は、少なくとも前記二次元コードに固有のシンボルを構成するセルの大きさ、二次元コードのコード種別、コントラスト、印字の色種別、ミラー反転、基準角度、撮像条件、ピッチ角度、画像フィルタの種別のいずれかを含むことを特徴とする。
【００１４】
また、第５発明に係るバーコードシンボル読取装置は、第１乃至第４発明のいずれか１つにおいて、前記設定パラメータ入力受付手段は、各設定項目が前記抽出手段での設定パラメータの抽出対象であるか否かに関する情報の入力も受け付けるようにしてあることを特徴とする。
【００１５】
また、第６発明に係るバーコードシンボル読取装置は、第５発明において、前記抽出手段は、前記設定項目が設定パラメータの抽出対象ではない場合、設定パラメータを更新することなく、入力を受け付けた設定パラメータを使用し、前記設定項目が設定パラメータの抽出対象である場合、設定パラメータを抽出するようにしてあることを特徴とする。
【００１６】
また、第７発明に係るバーコードシンボル読取装置は、第１乃至第６発明のいずれか１つにおいて、前記設定パラメータ入力受付手段は、前記設定パラメータとして、前記設定パラメータの指定がない旨を示す入力を受け付けることを特徴とする。
【００１７】
また、第８発明に係るバーコードシンボル読取装置は、第１乃至第７発明のいずれか１つにおいて、前記チューニング領域の大きさに基づいて、前記一次元コード又は前記二次元コードを検出することが可能な最小の大きさまで前記チューニング領域内の画像を縮小する比率を算出し、算出した比率に応じて縮小した縮小画像を用いて前記一次元コード又は前記二次元コードを検出するようにしてあることを特徴とする。
【００１８】
次に、上記目的を達成するために第９発明に係るバーコードシンボル読取方法は、読み取り対象となる一次元コード又は二次元コードの特徴に関する特徴パラメータを画像から読み取り、一次元コード又は二次元コードを検出してデコードするバーコードシンボル読取装置で実行することが可能なバーコードシンボル読取方法において、少なくとも一の一次元コード又は二次元コードを含む画像を取得するステップと、取得した画像を表示するステップと、少なくとも一の一次元コード又は二次元コードを含む画像上で、前記一次元コード又は前記二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の一次元コード又は二次元コードを囲むように受け付けるステップと、前記設定パラメータの入力を部分的に受け付けるステップと、指定を受け付けたチューニング領域内で前記一次元コード又は前記二次元コードを検出するステップと、検出した一次元コード又は二次元コードを正常にデコードすることができるか否かを判断するステップと、正常にデコードすることができると判断した場合、前記一次元コード又は前記二次元コードの設定パラメータを抽出するステップとを含むことを特徴とする。
【００１９】
次に、上記目的を達成するために第１０発明に係るコンピュータプログラムは、読み取り対象となる一次元コード又は二次元コードの特徴に関する特徴パラメータを画像から読み取り、一次元コード又は二次元コードを検出してデコードするバーコードシンボル読取装置で実行することが可能なコンピュータプログラムにおいて、前記バーコードシンボル読取装置を、少なくとも一の一次元コード又は二次元コードを含む画像を取得する取得手段、取得した画像を表示する表示手段、少なくとも一の一次元コード又は二次元コードを含む画像上で、前記一次元コード又は前記二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の一次元コード又は二次元コードを囲むように受け付ける領域指定受付手段、前記設定パラメータの入力を部分的に受け付ける設定パラメータ入力受付手段、指定を受け付けたチューニング領域内で前記一次元コード又は前記二次元コードを検出する検出手段、検出した一次元コード又は二次元コードを正常にデコードすることができるか否かを判断する判断手段、及び該判断手段が正常にデコードすることができると判断した場合、前記一次元コード又は前記二次元コードの設定パラメータを抽出する抽出手段として機能させることを特徴とする。
【００２０】
第１発明、第９発明及び第１０発明では、少なくとも一の一次元コード又は二次元コードを含む画像を取得し、取得した画像を表示する。少なくとも一の一次元コード又は二次元コードを含む画像上で、一次元コード又は二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の一次元コード又は二次元コードを囲むように受け付ける。設定パラメータの入力を部分的に受け付け、指定を受け付けたチューニング領域内で一次元コード又は二次元コードを検出する。検出した一次元コード又は二次元コードを正常にデコードすることができるか否かを判断し、正常にデコードすることができると判断した場合、一次元コード又は二次元コードの設定パラメータを抽出する。読み取り対象となる一の一次元コード又は二次元コードを囲むようにチューニング領域の指定を受け付けることにより、一次元コード又は二次元コードを検出するまでの時間を短縮することができ、チューニング処理の対象となる一次元コード又は二次元コードを確実に特定することが可能となる。
【００２１】
第２発明では、少なくとも一の一次元コード又は二次元コードを含む画像上で、一次元コード又は二次元コードの位置と姿勢とを検出するサーチ領域の指定を受け付ける。サーチ領域とは別個に、チューニング領域の指定を受け付けることにより、チューニング処理の対象領域を一次元コード又は二次元コードの近傍に限定することができ、一次元コード又は二次元コードを検出するまでの時間を短縮することができる。
【００２２】
第３発明では、指定を受け付けたチューニング領域において、一次元コード又は二次元コードに固有のシンボルを検出することができるか否かを判断し、シンボルを検出することができないと判断した場合、再度チューニング領域の指定を受け付ける。これにより、チューニング領域の指定に誤りがあった場合であっても、事前に確認してチューニング領域の指定を受け付け直すことができ、チューニング領域に一の一次元コード又は二次元コードを確実に含ませることが可能となる。
【００２３】
第４発明では、設定項目は、少なくとも二次元コードに固有のシンボルを構成するセルの大きさ、二次元コードのコード種別、コントラスト、印字の色種別、ミラー反転、基準角度、撮像条件、ピッチ角度、画像フィルタの種別のいずれかを含むことにより、データマトリクス（ＤＭ）コード、ＱＲコード等の代表的な二次元コードをより効率よく検出することができる。
【００２４】
第５発明では、各設定項目が設定パラメータの抽出対象であるか否かに関する情報の入力も受け付けることにより、抽出対象ではない特徴に関する設定項目の設定パラメータを抽出する処理を回避することができ、一次元コード又は二次元コード検出処理の演算処理負荷を軽減することができる。
【００２５】
第６発明では、設定項目が設定パラメータの抽出対象である場合、設定パラメータを抽出する。設定項目が設定パラメータの抽出対象ではない場合、設定パラメータを更新することなく、入力を受け付けた設定パラメータに限定し、チューニング処理を実行する。これにより、より安定したチューニング処理を実行することが可能になる。
【００２６】
第７発明では、設定パラメータとして、設定パラメータの指定がない旨を示す入力を受け付けることにより、特定の一次元コード又は二次元コードに限定することなく、広く一次元コード又は二次元コードを検出することができる。
【００２７】
第８発明では、チューニング領域の大きさに基づいて、一次元コード又は二次元コードを検出することが可能な最小の大きさまでチューニング領域内の画像を縮小する比率を算出し、算出した比率に応じて縮小した縮小画像を用いて一次元コード又は二次元コードを検出する。これにより、一次元コード又は二次元コードの検出時に必要な最低限の縮小画像での処理に限定できるので一次元コード又は二次元コード検出処理の演算処理負荷を大きく軽減することができる。
【発明の効果】
【００２８】
本発明によれば、一の一次元コード又は二次元コードを囲むようにチューニング領域の指定を受け付けることにより、一次元コード又は二次元コードを検出するまでの時間を短縮することができ、チューニング処理の対象となる一次元コード又は二次元コードを確実に特定することが可能となる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態１に係るバーコードシンボル読取装置の構成を模式的に示すブロック図である。
【図２】本発明の実施の形態１に係る画像処理装置の特徴パラメータ記憶部のデータ構成の例示図である。
【図３】本発明の実施の形態１に係るバーコードシンボル読取装置の一構成例を示す機能ブロック図である。
【図４】チューニング領域の概念を説明するための模式図である。
【図５】本発明の実施の形態１に係るバーコードシンボル読取装置の領域指定受付手段の機能ブロック図である。
【図６】本発明の実施の形態１に係るバーコードシンボル読取装置の設定パラメータ受付画面の例示図である。
【図７】設定項目「コード種別」の設定パラメータが「指定なし」の場合を示す画面例示図である。
【図８】チューニング処理により、二次元コードがＤＭコードである旨が抽出された場合を示す画面例示図である。
【図９】本発明の実施の形態１に係る画像処理装置の主制御部の二次元コード読み取り処理の手順を示すフローチャートである。
【図１０】本発明の実施の形態２に係るバーコードシンボル読取装置の構成を模式的に示すブロック図である。
【図１１】本発明の実施の形態２に係るバーコードシンボル読取装置の一構成例を示す機能ブロック図である。
【図１２】本発明の実施の形態２に係るＰＣのＣＰＵの二次元コード読み取り処理の手順を示すフローチャートである。
【図１３】本発明の実施の形態２に係るバーコードシンボル読取装置の、チューニング処理を画像処理装置で実行する場合の、一構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施の形態に係るバーコードシンボル読取装置について、図面を参照しながら説明する。なお、参照する図面を通じて、同一又は同様の構成又は機能を有する要素については、同一又は同様の符号を付して、詳細な説明を省略する。
【００３１】
（実施の形態１）
図１は、本発明の実施の形態１に係るバーコードシンボル読取装置の構成を模式的に示すブロック図である。図１に示すように本実施の形態１に係るバーコードシンボル読取装置１は、画像処理装置２、カメラ３、コンソール４、ＰＬＣ６で構成されている。
【００３２】
画像処理装置２は、少なくともＣＰＵ（中央演算装置）、ＬＳＩ等で構成された主制御部２１、メモリ２２、記憶装置２３、ビデオインタフェース２４、入出力インタフェース２５、可搬型ディスクドライブ２６、通信インタフェース２７及び上述したハードウェアを接続する内部バス２８で構成されている。主制御部２１は、内部バス２８を介して画像処理装置２の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置２３に記憶されているコンピュータプログラム１００に従って、種々のソフトウェア的機能を実行する。メモリ２２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１００の実行時にロードモジュールが展開され、コンピュータプログラム１００の実行時に発生する一時的なデータ等を記憶する。
【００３３】
記憶装置２３は、内蔵される固定型記憶装置（ハードディスク、フラッシュメモリ）、ＲＯＭ等で構成されている。記憶装置２３に記憶されているコンピュータプログラム１００は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ等の可搬型記録媒体９０から、可搬型ディスクドライブ２６によりダウンロードされ、実行時には記憶装置２３からメモリ２２へ展開して実行される。もちろん、通信インタフェース２７を介して外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００３４】
記憶装置２３は、一次元コード又は二次元コードの特徴に関する設定項目、設定項目ごとの設定パラメータ、及び各設定項目がチューニング処理による設定パラメータの抽出対象であるか否かに関する情報を記憶する特徴パラメータ記憶部２３１を備えている。図２は、本発明の実施の形態１に係る画像処理装置２の特徴パラメータ記憶部２３１のデータ構成の例示図である。
【００３５】
図２に示すように、一次元コード又は二次元コードの特徴に関する設定項目は、例えば二次元コードの場合には、少なくともシンボルを構成するセルの大きさ、二次元コードのコード種別、シンボルサイズ、コントラスト、印字の色種別、ミラー反転、基準角度、撮像条件、ピッチ角度、画像フィルタの種別のいずれかを含む。
【００３６】
「シンボルを構成するセルの大きさ」には、例えば二次元コードに固有のシンボルを構成するセルの縦の個数、横の個数及び１個当たりのセルの大きさを記憶する。すなわち、シンボルサイズを縦のセルの個数及び横のセルの個数で示し、１個当たりのセルの大きさを併せて記憶しておくことで、検出した二次元コードをより正確にデコードすることができる。本実施の形態１では、１個当たりのセルの大きさをＰＰＣ（Ｐｉｘｅｌ  Ｐｅｒ  Ｃｅｌｌ）として「ピクセル」単位で記憶しているが、実長に即して「インチ」単位で記憶しても良いし、「ｍｍ」単位で記憶しても良い。なお、バーコードのような一次元コードの場合、最も細いバー、スペース等の間隔に基づいて１モジュール当たりの大きさを同じように「ピクセル」単位で記憶しても良いし、実長に即して「インチ」単位で記憶しても良いし、「ｍｍ」単位で記憶しても良い。
【００３７】
「コード種別」には、二次元コードのコード種別、例えばＤＭ（データマトリクス）コード、ＱＲコード等の種別を記憶する。「シンボルサイズ」には、例えば二次元コードのコード種別がＤＭ（ＤａｔａＭａｔｒｉｘ）コードである場合、１０×１０から１４４×１４４までのサイズを記憶する。なお、一次元コードのコード種別としては、ＪＡＮコード、インターリーブド２オブ５、コード３９等の種別を記憶する。
【００３８】
「コントラスト」には、二次元コードの背景と前景との画素値の変動を、階調で表した数値を記憶する。「印字の色種別」には、黒シンボルからなる二次元コード又は白黒反転したシンボルからなる二次元コードの色種別を記憶する。「ミラー反転」には、二次元コードをガラス表面に印刷して反対側から撮像した二次元コードであるか否かを記憶する。
【００３９】
「基準角度」には、正立した状態を０度とし、時計回りを正とした場合の、撮像された二次元コードの角度を記憶する。「撮像条件」としては、「露光時間」、「照明パターン」、「カメラゲイン」等を少なくとも含む撮像時の条件を記憶する。「ピッチ角度」には、二次元コードの印刷面に対するイメージセンサの面の相対角度を記憶する。「画像フィルタの種別」には、メディアンフィルタ等のフィルタリング処理を実行する場合に用いる画像フィルタの種別を記憶する。
【００４０】
設定パラメータの入力を受け付けた場合には、設定項目ごとに特徴パラメータ記憶部２３１に記憶される。なお、図２の例のように、入力を受け付けていない場合には、設定パラメータは「指定なし」となる。
【００４１】
すなわち、設定項目ごとに、チューニング処理による設定パラメータの抽出対象であるか否かに関する情報を記憶しておき、チューニング処理による設定パラメータの抽出対象である設定項目については、チューニング処理により抽出された設定パラメータが指定される。また、チューニング処理による設定パラメータの抽出対象ではない設定項目については、設定パラメータの入力を受け付ける必要がある。これにより、全ての設定項目についてチューニング処理により抽出する必要がなくなるので、チューニング処理の演算処理負荷を軽減することができる。また、チューニング処理を実行する時に、入力を受け付けた設定パラメータに限定してチューニング処理を実行するので、より安定したチューニング処理を実行することが可能となる。
【００４２】
図１に戻って、通信インタフェース２７は内部バス２８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、外部のコンピュータ等とデータ送受信を行うことが可能となっている。すなわち、上述した記憶装置２３は、画像処理装置２に内蔵される構成に限定されるものではなく、通信インタフェース２７を介して接続されている外部のサーバコンピュータ等に設置されているハードディスク等の外部記録媒体であっても良い。
【００４３】
ビデオインタフェース２４は、内部バス２８に接続されており、コンソール４の表示装置４０１に接続されることにより、所望の画像を表示する。入出力インタフェース２５は、内部バス２８に接続されており、コンソール４のキーボード４０２を介してデータの入力を受け付ける。なお、コンソール４は、表示装置４０１とキーボード４０２とが一体になっている構成に限定されるものではなく、別個に構成されていても良いし、液晶パネル等と一体になったタッチパネル等の入力情報を取得する装置全般を含む広い概念である。
【００４４】
カメラ３は、ＣＣＤ撮像素子を備えたＣＣＤカメラ等であり、少なくとも一の二次元コード５を含む画像を撮像して取得する。画像処理装置２は、二次元コードの読み取り処理だけでなく、さまざまな画像処理を実行する。ＰＬＣ６は、画像処理装置２を含む各種の装置からデータを受信し、受信した内容に応じて画像処理装置２及び／又は各種の装置へ指示を送信する装置である。
【００４５】
図３は、本発明の実施の形態１に係るバーコードシンボル読取装置１の一構成例を示す機能ブロック図である。図３において、本実施の形態１に係るバーコードシンボル読取装置１は、カメラ３と、画像処理装置２と、コンソール４と記憶装置２３とで構成される。以下、二次元コードのバーコードシンボルを読み取る場合について説明する。
【００４６】
画像取得手段（取得手段）２０１は、少なくとも一の二次元コードを含む画像を、カメラ３で撮像することにより取得する。画像を取得する方法は、カメラ３による撮像に限定されるものではなく、過去に撮像された画像を画像データとして記憶装置２３に記憶しておき、所望の画像データを読み出すことで取得しても良い。また、外部のコンピュータに記憶してある画像データを通信インタフェース２７を介して読み出すことで取得しても良い。取得した画像の画像データは記憶装置２３に記憶される。
【００４７】
画像表示手段（表示手段）２０２は、取得した画像をコンソール４の表示装置４０１に表示する。表示された画像全体を、二次元コードの位置と姿勢とを検出するためのサーチ領域としても良いし、図示しないサーチ領域指定受付手段にてサーチ領域の指定を受け付けても良い。
【００４８】
領域指定受付手段２０３は、少なくとも一の二次元コードを含む画像上で、二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の二次元コードを囲むような位置にて受け付ける。チューニング領域の指定を受け付けることにより、不要な領域を含めてチューニング処理を実行する必要がなく、チューニング処理の演算処理負荷を軽減することができる。
【００４９】
また、二次元コードの位置と姿勢とを検出するためのサーチ領域とは別個に、チューニング領域の指定を受け付けることが好ましい。チューニング領域を二次元コードの近傍に限定することができ、二次元コードを検出するまでの時間を短縮することができるからである。
【００５０】
図４は、チューニング領域の概念を説明するための模式図である。図４に示すように、カメラ３で撮像された画像を表示している画面上において、二次元コードの位置と姿勢とを検出（サーチ）するためのサーチ領域４１の指定を受け付ける。図４の例では、サーチ領域４１内に２つのＤＭコード４２、４３が存在するので、このままＤＭコードの検出処理を開始した場合、どちらのＤＭコードが検出されるか不明である。また、複数のＤＭコード４２、４３に対して検出処理が実行されることから、サーチ領域４１が比較的広く、ＤＭコードを検出するまでの時間を短縮することが困難となる。
【００５１】
そこで、本実施の形態１では、シンボルサイズの小さいＤＭコード４２を確実に検出することができるよう、ＤＭコード４２を囲むようにチューニング領域４４の指定を受け付ける。これにより、読み取り対象をＤＭコード４２に特定することができ、ＤＭコード４２の特徴に関する設定項目の設定パラメータを確実に抽出することができる。また、チューニング領域４４がサーチ領域４１よりも狭いことから、ＤＭコード４２を検出するまでの時間を短縮することもできる。
【００５２】
さらに、例えばチューニング領域４４として回転可能な矩形領域の指定を受け付けることができる場合、二次元コードに固有のシンボルの傾斜角度に合わせてチューニング領域４４の指定を受け付けることができるので、シンボルの傾斜角度の検出処理において、検出角度は指定を受け付けた回転可能な矩形領域の回転角度に近いことが期待できるので検出角度の探索範囲を狭めることができ、全体としてＤＭコード４２を検出するまでの時間を短縮することができる。
【００５３】
なお、チューニング領域４４が矩形領域である場合、例えば矩形領域の左上の座標値及び右下の座標値の指定を受け付ける。また、チューニング領域４４が回転可能な矩形領域である場合、例えば矩形領域が正立している状態（基準角度が０度の状態）での幅、高さ、矩形領域の中心座標及び回転角度の指定を受け付ける。
【００５４】
さらに、チューニング領域４４として指定を受け付ける領域の形状は矩形に限定されるものではなく、円形、楕円形等、二次元コードに固有のシンボルを囲むことができる形状であれば特に限定されるものではない。また、複数の形状を用いることができ、チューニング領域４４の指定を受け付ける場合に、どの形状を用いて指定を受け付けるかの選択を受け付けるようにしても良い。
【００５５】
また、チューニング領域４４が適切に指定されず、例えばチューニング領域４４内に読み取り対象となる二次元コードに固有のシンボルが一部しか含まれない位置にてチューニング領域４４の指定を受け付けた場合、二次元コードのコード種別を正しく抽出することができない。そこで、チューニング領域の指定を受け付けた時点で、二次元コードに固有のシンボルを検出することができるか否かを判断することが好ましい。
【００５６】
図５は、本発明の実施の形態１に係るバーコードシンボル読取装置１の領域指定受付手段２０３の機能ブロック図である。図５において、シンボル判断手段５０１は、二次元コードに固有のシンボルを検出することができるか否かを判断する。
【００５７】
例えば二次元コードがＱＲコードである場合、二次元コードの四隅のうち三か所にある矩形シンボルを検出することが必要となる。指定を受け付けたチューニング領域４４が上下方向又は左右方向にシフトしている場合、矩形シンボルの一部を検出することができず、設定パラメータとして「コード種別」がＱＲコードであると抽出することができない。
【００５８】
領域再指定受付手段５０２は、シンボル判断手段５０１にて二次元コードに固有のシンボルを検出することができないと判断した場合、再度チューニング領域４４の指定を受け付ける。これにより、チューニング領域４４に一の二次元コードを確実に含ませることができる、すなわちチューニング処理の対象となる一の二次元コードが確実にチューニング領域４４内に存在することを担保することができる。
【００５９】
図３に戻って、設定パラメータ入力受付手段２０４は、二次元コードの特徴に関する設定項目の設定パラメータの入力を部分的に受け付ける。二次元コードの特徴に関する設定項目の設定パラメータのうち、既知の設定パラメータのみの入力を受け付けることにより、入力を受け付けた設定パラメータによっては読み取り対象となる二次元コードのコード種別が何であるのか判断することができ、あるいは未知の設定パラメータの抽出を容易にすることができる。
【００６０】
図６は、本発明の実施の形態１に係るバーコードシンボル読取装置１の設定パラメータ受付画面の例示図である。まず、チューニング処理の対象となる画像を、カメラ３で撮像した「入力画像」にするか、記憶装置２３に記憶してある「登録画像」にするかの指定を、対象画像設定領域６１にて受け付ける。図６の例では、「登録画像」の指定を受け付けている。
【００６１】
次に、上述したようにチューニング領域４４の指定を受け付ける。そして、設定パラメータ指定領域６２にて、必要な設定項目について設定パラメータの入力を受け付ける。図６の例では、設定パラメータ指定領域６２の設定項目ごとに、チューニング処理による設定パラメータの抽出対象であるか否かに関する情報の入力を受け付けるチェックボックスを設けている。
【００６２】
チェックボックスにチェックが入力されている設定項目については、チューニング処理により自動的に設定パラメータが指定される。チェックが入力されていない設定項目については、設定パラメータの入力を受け付ける。図６の例では、設定項目「ミラー反転」のみチェックが入力されていない。したがって、設定パラメータとして「反転なし」を入力している。他の設定項目については、チューニング処理前は空欄であり「自動チューニング」ボタン６３の選択を受け付けた場合、チューニング処理が実行され、抽出された設定項目ごとの設定パラメータが指定される。
【００６３】
このように、設定項目が設定パラメータの抽出対象であるか否かに関する情報の入力を受け付けることにより、設定項目が設定パラメータの抽出対象ではない場合、設定パラメータを更新することなく、入力を受け付けた設定パラメータに限定してチューニング処理を実行することができる。したがって、チューニング処理の演算処理負荷を軽減することができ、より安定したチューニング処理を実行することが可能になる。
【００６４】
なお、設定パラメータ入力受付手段２０４は、設定パラメータとして、設定パラメータの指定がない旨を示す「指定なし」の入力を受け付けることが好ましい。例えば設定項目「コード種別」の設定パラメータとして「指定なし」の入力を受け付けることができる場合、さまざまな種別の二次元コードを検出することができ、二次元コードの種別が未知である場合に効果的である。
【００６５】
図７は、設定項目「コード種別」の設定パラメータが「指定なし」の場合を示す画面例示図である。コード種別設定領域７１にて、ＤＭコード、ＱＲコード等ではなく、「指定なし」の入力を受け付けている。この場合、チューニング領域４４内の二次元コードのコード種別がチューニング処理により抽出されるまで、その他の設定項目の設定パラメータの入力を受け付ける設定パラメータ指定領域７２には、その他の設定項目が表示されない。もちろん、設定項目「コード種別」には、チューニング処理による設定パラメータの抽出対象であるか否かに関する情報の入力を受け付けるチェックボックスを設けてあり、チェックボックスにチェックが入力されている。
【００６６】
図７の状態で「自動チューニング」ボタン７３の選択を受け付けた場合、チューニング処理が実行され、まず二次元コードのコード種別が抽出される。コード種別を抽出する方法は特に限定されるものではなく、各二次元コードに固有のシンボルについてパターンマッチングして抽出しても良い。図８は、チューニング処理により、二次元コードのコード種別がＤＭコードである旨が抽出された場合を示す画面例示図である。
【００６７】
図８に示すように、コード種別設定領域７１の設定項目「コード種別」には、抽出した設定パラメータ「ＤａｔａＭａｔｒｉｘ」が指定されており、設定パラメータ指定領域７２には、「コード種別」がＤＭコードである場合に設定パラメータの入力を受け付ける設定項目が表示されている。この時点で、各設定項目にはチューニング処理の結果が指定されている。この状態で、図６と同様にチェックボックスや設定項目の内容を変更して「自動チューニング」ボタン７３の選択を受け付けた場合、変更した内容に従ってチューニング処理が実行され、変更した内容に従って抽出された設定項目ごとの設定パラメータが指定される。
【００６８】
なお、チューニング領域４４は、サーチ領域４１とは表示が異なることが好ましい。例えばチューニング領域４４を示す枠の色とサーチ領域４１を示す枠の色とを異なる色にする、チューニング領域４４を示す枠の線種とサーチ領域４１を示す枠の線種とを異なる線種（実線と破線、太線と細線等）にする等、視覚的に容易に区別することができるようにすることで、読み取り対象となる二次元コードを確実に特定することができる。
【００６９】
図３に戻って、二次元コード検出手段（検出手段）２０５は、領域指定受付手段２０３にて指定を受け付けたチューニング領域内で二次元コードを検出する。従来は、二次元コードを検出（サーチ）するためのサーチ領域内で二次元コードを検出していた。本実施の形態１では、サーチ領域とは別個に指定を受け付けたチューニング領域にて二次元コードに固有のシンボルを検出することにより、チューニング領域内の二次元コードを検出する。
【００７０】
デコード判断手段（判断手段）２０６は、検出した二次元コードを正常にデコードすることができるか否かを判断する。正常にデコードすることができるか否かを判断する方法は、特に限定されるものではない。例えば二次元コード自体を検出することができない場合、明らかに正常にデコードすることができないと判断することができる。
【００７１】
また、一の二次元コードに固有のシンボルが存在すると推定した領域を囲むようにチューニング領域の指定を受け付け、二次元コード自体は検出することができたものの、白黒パターンに誤りが含まれている場合も、正常にデコードすることができないと判断することができる。通常、二次元コードに固有のシンボルには誤り検出機能又は誤り検出訂正機能が付与されている。誤り検出機能しか付与されていない場合、誤りを検出したときに正常にデコードすることができないと判断することができる。一方、誤り検出訂正機能が付与されている場合、誤りを検出して、正常に誤り訂正をすることができなかったときに正常にデコードすることができないと判断することができる。
【００７２】
正常にデコードすることができると判断した場合、設定パラメータ抽出手段（抽出手段）２０７は、入力を受け付けた設定パラメータを使用して、検出した二次元コードの、抽出対象である設定項目の設定パラメータを抽出する。抽出した設定パラメータは、記憶装置２３の特徴パラメータ記憶部２３１に記憶される。これにより、二次元コードの内容を正しく読み取ることができる。
【００７３】
正常にデコードすることができないと判断した場合、二次元コードの読み取りに失敗した旨を示す情報（メッセージ等）をコンソール４の表示装置４０１に表示することが好ましい。カメラ３との相対位置を変更して二次元コードを撮像しなおす、チューニング領域４４の指定を改めて受け付ける等、再度試行することができるからである。
【００７４】
図９は、本発明の実施の形態１に係る画像処理装置２の主制御部２１の二次元コード読み取り処理の手順を示すフローチャートである。画像処理装置２の主制御部２１は、カメラ３で撮像した、少なくとも一の二次元コードを含む画像を、カメラ３で撮像することにより取得する（ステップＳ９０１）。画像を取得する方法は、カメラ３による撮像に限定されるものではなく、過去に撮像された画像を画像データとして記憶装置２３に記憶しておき、所望の画像データを読み出すことで取得しても良い。また、外部のコンピュータに記憶してある画像データを通信インタフェース２７を介して読み出すことで取得しても良い。取得した画像の画像データは記憶装置２３に記憶される。
【００７５】
主制御部２１は、取得した画像をコンソール４の表示装置４０１に表示する（ステップＳ９０２）。表示された画像全体を、二次元コードの位置と姿勢とを検出（サーチ）するためのサーチ領域としても良いし、図示しないサーチ領域指定受付手段にてサーチ領域の指定を受け付けても良い。
【００７６】
主制御部２１は、少なくとも一の二次元コードを含む画像上で、二次元コードの位置と姿勢とを検出するためのサーチ領域とは別個に、二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の二次元コードを囲むように受け付ける（ステップＳ９０３）。主制御部２１は、二次元コードの特徴に関する設定項目の設定パラメータの入力を部分的に受け付ける（ステップＳ９０４）。二次元コードの特徴に関する設定項目の設定パラメータのうち、既知の設定パラメータのみの入力を受け付けることにより、入力を受け付けた設定パラメータによっては読み取り対象となる二次元コードのコード種別が何であるのか判断することができ、あるいは未知の設定パラメータの抽出を容易にすることができる。
【００７７】
主制御部２１は、指定を受け付けたチューニング領域内で二次元コードを検出する（ステップＳ９０５）。主制御部２１は、二次元コードを検出することができたか否かを判断する（ステップＳ９０６）。
【００７８】
主制御部２１が、二次元コードを検出することができたと判断した場合（ステップＳ９０６：ＹＥＳ）、主制御部２１は、検出した二次元コードを正常にデコードすることができるか否かを判断する（ステップＳ９０７）。主制御部２１が、正常にデコードすることができると判断した場合（ステップＳ９０７：ＹＥＳ）、主制御部２１は、入力を受け付けた設定パラメータを使用して、検出した二次元コードの、抽出対象である設定項目の設定パラメータを抽出する（ステップＳ９０８）。抽出した設定パラメータは、記憶装置２３の特徴パラメータ記憶部２３１に記憶される。これにより、二次元コードの内容を正しく読み取ることができる。
【００７９】
主制御部２１が、二次元コードを検出することができなかったと判断した場合（ステップＳ９０６：ＮＯ）、又は正常にデコードすることができないと判断した場合（ステップＳ９０７：ＮＯ）、主制御部２１は、チューニング処理に失敗した旨を示すメッセージをコンソール４の表示装置４０１に表示する（ステップＳ９０９）。
【００８０】
以上のように本実施の形態１によれば、一の二次元コードを囲むようにチューニング領域の指定を受け付けることにより、二次元コードを検出するまでの時間を短縮することができ、チューニング領域に一の二次元コードを含ませることにより、チューニング処理の対象となる二次元コードを確実に特定することが可能となる。また、サーチ領域とは別個にチューニング領域の指定を受け付けることにより、二次元コードを検出するまでの時間を短縮することができる。
【００８１】
なお、二次元コードに固有のシンボルを検出する処理の処理速度を早めるために、カメラ３で撮像した画像を縮小した画像を用いてシンボルを検出しても良い。ただし、縮小した画像（縮小画像）の解像度は低くなるので、二次元コードに固有のファインダーパターンを検出するためには画像を縮小する比率に限界が生じる。
【００８２】
通常、チューニング領域は、一の二次元コードを囲み、余白領域が可能な限り少なくなるように指定する。したがって、例えばＤＭコードの場合はシンボルサイズ、ＱＲコードの場合はバージョンが既知の場合、指定を受け付けたチューニング領域の大きさとの比率から最大の縮小度を算出することができる。
【００８３】
そこで、本実施の形態１では、チューニング領域の大きさに基づいて二次元コードに固有のファインダーパターンを検出することが可能な最小の大きさまでチューニング領域内の画像を縮小する比率（最大の縮小度）を算出し、算出した比率に応じて縮小した縮小画像を用いて二次元コードを検出する。二次元コードに固有のファインダーパターンを検出することが可能な最小の大きさは、二次元コードのセルの大きさ（あるいはＰＰＣ。一次元コードである場合には、最も細いバー又はスペース等の間隔）に依存する。
【００８４】
例えばＤＭコードの場合はシンボルサイズ、ＱＲコードの場合はバージョンが既知の場合、指定を受け付けたチューニング領域の大きさとの比率からセルの大きさを推定することができるので、チューニング領域をどこまで縮小することができるか、最大の縮小度を推定することができる。また、ＱＲコードのバージョンが不明である場合等には、最小のバージョンであると仮定することにより、最大の縮小度を推定することができる。
【００８５】
推定した最大の縮小度に基づいてチューニング領域内の画像、すなわち二次元コードの画像を縮小し、縮小した画像から二次元コードを検出する。これにより、二次元コードに固有のファインダーパターンの検出に縮小画像を用いることができるので、二次元コード検出処理の演算処理負荷を大きく軽減することができる。
【００８６】
また、最大の縮小度で縮小した縮小画像から段階的な縮小画像を準備しておき、まず最大の縮小度で縮小した縮小画像を用いてシンボルの検出処理を実行する。正常に検出することができた場合は、引き続きデコード処理を実行する。デコード処理が正常に終了した場合は、縮小画像に対するシンボルの検出処理及びデコード処理の演算処理負荷は大きく軽減されているので、処理時間も大きく短縮することができる。
【００８７】
また、デコード処理が異常終了した場合、順次縮小度が小さい縮小画像を用いてシンボルの検出処理及びデコード処理を同様に実行することで、場合によっては、縮小前の画像を用いたシンボルの検出処理及びデコード処理の処理時間よりも処理時間が短くなる場合も生じる。これは、縮小画像に対するシンボルの検出処理及びデコード処理の演算処理負荷が大きく軽減されるからである。
【００８８】
（実施の形態２）
図１０は、本発明の実施の形態２に係るバーコードシンボル読取装置１の構成を模式的に示すブロック図である。図１０に示すように本実施の形態２に係るバーコードシンボル読取装置１は、画像処理装置２、カメラ３、ＰＬＣ６、ＰＣ７で構成されている。
【００８９】
画像処理装置２、カメラ３の構成は実施の形態１と同様であることから、同一の符号を付することにより詳細な説明は省略する。
【００９０】
ＰＣ７は、少なくともＣＰＵ（中央演算装置）７１、メモリ７２、記憶装置７３、ビデオインタフェース７４、入出力インタフェース７５、可搬型ディスクドライブ７６、通信インタフェース７７及び上述したハードウェアを接続する内部バス７８で構成されている。ＣＰＵ７１は、内部バス７８を介してＰＣ７の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置７３に記憶されているコンピュータプログラム１０１に従って、種々のソフトウェア的機能を実行する。メモリ７２は、ＳＲＡＭ、ＳＤＲＡＭ等の揮発性メモリで構成され、コンピュータプログラム１０１の実行時にロードモジュールが展開され、コンピュータプログラム１０１の実行時に発生する一時的なデータ等を記憶する。
【００９１】
記憶装置７３は、内蔵される固定型記憶装置（ハードディスク、フラッシュメモリ）、ＲＯＭ等で構成されている。記憶装置７３に記憶されているコンピュータプログラム１０１は、プログラム及びデータ等の情報を記録したＤＶＤ、ＣＤ−ＲＯＭ、フラッシュメモリ等の可搬型記録媒体９１から、可搬型ディスクドライブ７６によりダウンロードされ、実行時には記憶装置７３からメモリ７２へ展開して実行される。もちろん、通信インタフェース７７を介して外部のコンピュータからダウンロードされたコンピュータプログラムであっても良い。
【００９２】
通信インタフェース７７は内部バス７８に接続されており、インターネット、ＬＡＮ、ＷＡＮ等の外部のネットワークに接続されることにより、画像処理装置２等とデータ送受信を行うことが可能となっている。
【００９３】
ビデオインタフェース７４は、内部バス７８に接続されており、表示装置８１に接続されることにより、所望の画像を表示する。入出力インタフェース７５は、内部バス７８に接続されており、キーボード、マウス等の入力装置８２を介してデータの入力を受け付ける。
【００９４】
図１１は、本発明の実施の形態２に係るバーコードシンボル読取装置１の一構成例を示す機能ブロック図である。図１１において、本実施の形態２に係るバーコードシンボル読取装置１は、カメラ３と、画像処理装置２と、ＰＣ７とから構成される。
【００９５】
画像取得手段（取得手段）７０１は、少なくとも一の二次元コードを含む画像を、画像処理装置２から取得する。画像表示手段（表示手段）７０２は、取得した画像を表示装置８１に表示する。表示された画像全体を、二次元コードの位置と姿勢とを検出（サーチ）するためのサーチ領域としても良いし、図示しないサーチ領域指定受付手段にてサーチ領域の指定を受け付けても良い。
【００９６】
領域指定受付手段７０３は、少なくとも一の二次元コードを含む画像上で、二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の二次元コードを囲むような位置にて受け付ける。チューニング領域の指定を受け付けることにより、不要な領域を含めてチューニング処理を実行する必要がなく、チューニング処理の演算処理負荷を軽減することができる。
【００９７】
また、サーチ領域とは別個にチューニング領域の指定を受け付けることが好ましい。チューニング領域を二次元コードの近傍に限定することができ、二次元コードを検出するまでの時間を短縮することができるからである。
【００９８】
設定パラメータ入力受付手段７０４は、二次元コードの特徴に関する設定項目の設定パラメータの入力を部分的に受け付ける。二次元コードの特徴に関する設定項目の設定パラメータのうち、既知の設定パラメータのみの入力を受け付けることにより、入力を受け付けた設定パラメータによっては読み取り対象となる二次元コードのコード種別が何であるのか判断することができ、あるいは未知の設定パラメータの抽出を容易にすることができる。
【００９９】
二次元コード検出手段（検出手段）７０５は、領域指定受付手段７０３にて指定を受け付けたチューニング領域内で二次元コードを検出する。従来は、二次元コードを検出（サーチ）するためのサーチ領域内で二次元コードを検出していた。本実施の形態２では、指定を受け付けたチューニング領域にて二次元コードに固有のシンボルを検出することにより、チューニング領域内の二次元コードを検出する。
【０１００】
デコード判断手段（判断手段）７０６は、検出した二次元コードを正常にデコードすることができるか否かを判断する。正常にデコードすることができるか否かを判断する方法は、特に限定されるものではない。
【０１０１】
正常にデコードすることができると判断した場合、設定パラメータ抽出手段（抽出手段）７０７は、入力を受け付けた設定パラメータを使用して、検出した二次元コードの、抽出対象である設定項目の設定パラメータを抽出する。抽出した設定パラメータは、画像処理装置２の設定パラメータ取得手段２０８にて受信され、画像処理装置２の記憶装置２３の特徴パラメータ記憶部２３１に記憶される。これにより、二次元コードの内容を正しく読み取ることができる。
【０１０２】
正常にデコードすることができないと判断した場合、二次元コードの読み取りに失敗した旨を示す情報（メッセージ等）を表示装置８１に表示することが好ましい。カメラ３との相対位置を変更して二次元コードを撮像しなおす、チューニング領域の指定を改めて受け付ける等、再度試行することができるからである。
【０１０３】
図１２は、本発明の実施の形態２に係るＰＣ７のＣＰＵ７１の二次元コード読み取り処理の手順を示すフローチャートである。ＰＣ７のＣＰＵ７１は、画像処理装置２から少なくとも一の二次元コードを含む画像を取得する（ステップＳ１２０１）。
【０１０４】
ＣＰＵ７１は、取得した画像を表示装置８１に表示する（ステップＳ１２０２）。表示された画像全体を、二次元コードの位置と姿勢とを検出（サーチ）するためのサーチ領域としても良いし、図示しないサーチ領域指定受付手段にてサーチ領域の指定を受け付けても良い。
【０１０５】
ＣＰＵ７１は、少なくとも一の二次元コードを含む画像上で、二次元コードの位置と姿勢とを検出するためのサーチ領域とは別個に、二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の二次元コードを囲むように受け付ける（ステップＳ１２０３）。ＣＰＵ７１は、二次元コードの特徴に関する設定項目の設定パラメータの入力を部分的に受け付ける（ステップＳ１２０４）。二次元コードの特徴に関する設定項目の設定パラメータのうち、既知の設定パラメータのみの入力を受け付けることにより、入力を受け付けた設定パラメータによっては読み取り対象となる二次元コードのコード種別が何であるのか判断することができ、あるいは未知の設定パラメータの抽出を容易にすることができる。
【０１０６】
ＣＰＵ７１は、指定を受け付けたチューニング領域内で二次元コードを検出する（ステップＳ１２０５）。ＣＰＵ７１は、二次元コードを検出することができたか否かを判断する（ステップＳ１２０６）。
【０１０７】
ＣＰＵ７１が、二次元コードを検出することができたと判断した場合（ステップＳ１２０６：ＹＥＳ）、ＣＰＵ７１は、検出した二次元コードを正常にデコードすることができるか否かを判断する（ステップＳ１２０７）。ＣＰＵ７１が、正常にデコードすることができると判断した場合（ステップＳ１２０７：ＹＥＳ）、ＣＰＵ７１は、入力を受け付けた設定パラメータを使用して、検出した二次元コードの、抽出対象である設定項目の設定パラメータを抽出する（ステップＳ１２０８）。ＣＰＵ７１は、抽出した設定パラメータを画像処理装置２へ送信し（ステップＳ１２０９）、送信された設定パラメータは、画像処理装置２の記憶装置２３の特徴パラメータ記憶部２３１に記憶される。これにより、二次元コードの内容を正しく読み取ることができる。
【０１０８】
ＣＰＵ７１が、二次元コードを検出することができなかったと判断した場合（ステップＳ１２０６：ＮＯ）、又は正常にデコードすることができないと判断した場合（ステップＳ１２０７：ＮＯ）、ＣＰＵ７１は、チューニング処理に失敗した旨を示すメッセージを表示装置８１に表示する（ステップＳ１２１０）。
【０１０９】
以上のように本実施の形態２によれば、一の二次元コードを囲むようにチューニング領域の指定を受け付けることにより、二次元コードを検出するまでの時間を短縮することができ、チューニング領域に一の二次元コードを含ませることにより、チューニング処理の対象となる二次元コードを確実に特定することが可能となる。また、ＰＣ７が二次元コードの読み取り処理機能を有することから、画像処理装置２と接続されていない場合であっても、独立してチューニング領域の指定を受け付けることができ、設定パラメータの入力を受け付けることができる。
【０１１０】
なお、チューニング処理機能は、画像処理装置２が有していても良い。図１３は、本発明の実施の形態２に係るバーコードシンボル読取装置１の、チューニング処理を画像処理装置２で実行する場合の、一構成例を示す機能ブロック図である。
【０１１１】
画像取得手段（取得手段）７０１は、少なくとも一の二次元コードを含む画像を、画像処理装置２から取得する。画像表示手段（表示手段）７０２は、取得した画像を表示装置８１に表示する。表示された画像全体を、二次元コードの位置と姿勢とを検出（サーチ）するためのサーチ領域としても良いし、図示しないサーチ領域指定受付手段にてサーチ領域の指定を受け付けても良い。
【０１１２】
領域指定受付手段７０３は、少なくとも一の二次元コードを含む画像上で、二次元コードの特徴に関する設定項目の設定パラメータを抽出するチューニング領域の指定を、一の二次元コードを囲むような位置にて受け付ける。チューニング領域の指定を受け付けることにより、不要な領域を含めてチューニング処理を実行する必要がなく、チューニング処理の演算処理負荷を軽減することができる。
【０１１３】
また、二次元コードの位置と姿勢とを検出するためのサーチ領域とは別個にチューニング領域の指定を受け付けることが好ましい。チューニング領域を二次元コードの近傍に限定することができ、二次元コードを検出するまでの時間を短縮することができるからである。
【０１１４】
設定パラメータ入力受付手段７０４は、二次元コードの特徴に関する設定項目の設定パラメータの入力を部分的に受け付ける。二次元コードの特徴に関する設定項目の設定パラメータのうち、既知の設定パラメータのみの入力を受け付けることにより、入力を受け付けた設定パラメータによっては読み取り対象となる二次元コードのコード種別が何であるのか判断することができ、あるいは未知の設定パラメータの抽出を容易にすることができる。
【０１１５】
設定情報送信手段７０８は、領域指定受付手段７０３で指定を受け付けたチューニング領域に関する情報、設定パラメータ入力受付手段７０４で入力を受け付けた情報を含む設定情報を、画像処理装置２へ送信する。
【０１１６】
設定情報を受信した画像処理装置２の二次元コード検出手段（検出手段）２０５、デコード判断手段（判断手段）２０６、及び設定パラメータ抽出手段（抽出手段）２０７は、実施の形態１の図９のステップＳ９０５乃至ステップＳ９０９の処理を実行する。
【０１１７】
このようにすることで、演算処理負荷が大きいチューニング処理をＰＣ７にて実行する必要がないことから、ＰＣ７にて稼働するコンピュータプログラム１０１が簡易で済み、コンピュータプログラム１０１自体を安価に提供することができる。
【０１１８】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば「自動チューニング」ボタンの選択を受け付けた時点で二次元コードの検出処理、デコード処理を開始しているが、チューニング領域の指定を受け付けた時点で開始しても良いし、設定パラメータの入力を受け付ける都度、開始しても良い。
【符号の説明】
【０１１９】
１  バーコードシンボル読取装置
２  画像処理装置
３  カメラ（撮像手段）
４  コンソール
５  二次元コード
６  ＰＬＣ
７  ＰＣ
２１  主制御部
２２、７２  メモリ
２３、７３  記憶装置
２４、７４  ビデオインタフェース
２５、７５  入出力インタフェース
２６、７６  可搬型ディスクドライブ
２７、７７  通信インタフェース
２８、７８  内部バス
７１  ＣＰＵ
９０、９１  可搬型記録媒体
１００、１０１  コンピュータプログラム
【図１】
2012018494.tif 000003
【図２】
2012018494.tif 000004
【図３】
2012018494.tif 000005
【図５】
2012018494.tif 000006
【図９】
2012018494.tif 000007
【図１０】
2012018494.tif 000008
【図１１】
2012018494.tif 000009
【図１２】
2012018494.tif 000010
【図１３】
2012018494.tif 000011
【図４】
2012018494.tif 000012
【図６】
2012018494.tif 000013
【図７】
2012018494.tif 000014
【図８】
2012018494.tif 000015