(57)【特許請求の範囲】
【請求項１】
バーコードに光を照射して前記バーコードを読み取るバーコード読取装置であって、
円柱状もしくは楕円柱状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた前記光の反射強度分布に基づいて、前記バーコードの平面上の画像データを生成する画像データ生成手段を有し、前記平面上の画像データを用いてデコードを行うことを特徴とするバーコード読取装置。
【請求項２】
バーコードを読み取るバーコード読取装置であって、
前記バーコードに光を照射する光照射手段と、
前記バーコードからの反射光の反射強度を検出する複数の素子からなるセンサーを備える反射強度検出手段と、
円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成する平面反射強度データ生成手段と、
前記平面反射強度データに基づいてデコードを行うデコード手段と、
を備えることを特徴とするバーコード読取装置。
【請求項３】
請求項２に記載のバーコード読取装置において、
前記平面反射強度データ生成手段は、円柱状物品もしくは楕円柱状物品のバーコードからの所定値以上の反射強度と、前記センサーの素子の位置データとから得られる曲線を楕円の一部とみなして反射強度データとセンサーの素子の位置データから前記楕円の方程式を導出し、前記楕円の方程式から、前記楕円の方程式の角度と前記センサーの素子の位置との関係を求め、前記センサーの素子の反射強度データに基づいて前記角度における反射強度データを決定して平面上の反射強度データを生成することを特徴とするバーコード読取装置。
【請求項４】
請求項３に記載のバーコード読取装置において、
前記反射強度の最大値を前記楕円の一方の軸の１／２の長さとして、前記センサーの複数の素子の位置における前記楕円の他方の軸の１／２の長さを求め、求めた前記楕円の他方の軸の１／２の長さの複数の数値の平均値を前記楕円の他方の軸の１／２の長さとして前記楕円の方程式を得ることを特徴とするバーコード読取装置。
【請求項５】
バーコードに光を照射して前記バーコードを読み取るバーコード読取方法であって、
画像データ生成手段が、円柱状もしくは楕円柱状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた前記光の反射強度分布に基づいて、前記バーコードの平面上の画像データを生成するステップと、
デコード手段が、前記平面上の画像データを用いてデコードを行うステップと、
を含むことを特徴とするバーコード読取方法。
【請求項６】
バーコードを読み取るバーコード読取方法であって、
光照射手段が、前記バーコードに光を照射するステップと、
複数の素子からなるセンサーを備える反射強度検出手段が、前記バーコードからの反射光の反射強度を検出するステップと、
平面反射強度データ生成手段が、円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成するステップと、
デコード手段が、前記平面反射強度データに基づいてデコードを行うステップと、
を含むことを特徴とするバーコード読取方法。
【請求項７】
バーコードに光を照射して前記バーコードを読み取るバーコード読取装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
円柱状もしくは楕円柱状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた前記光の反射強度分布に基づいて、前記バーコードの平面上の画像データを生成する画像データ生成手段と、
前記平面上の画像データを用いてデコードを行う手段と、
して機能させるためのプログラム。
【請求項８】
バーコードを読み取るバーコード読取装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
光照射手段から前記バーコードに光を照射させる手段と、
複数の素子からなるセンサーを備える反射光強度検出手段に前記バーコードからの反射光の反射強度を検出させる手段と、
円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成する平面反射強度データ生成手段と、
前記平面反射強度データに基づいてデコードを行うデコード手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードを読み取るためのバーコード読取装置及びその方法に関するものである。
【背景技術】
【０００２】
従来、商品コードの識別等の用途にバーコードが使用され、このバーコードを読み取るためにバーコードスキャナが利用されている。例えば、缶ジュース等の円筒形容器表面のバーコードを読み取る場合があるが、その際、円筒形容器表面に縦方向（円筒形容器の長さ方向）にバーコードラベルが貼られ、或いはバーコードが印刷されている場合には、バーコード自体の平面性を確保する必要がある。
【０００３】
また、円筒形容器の横方向（円周方向）にバーコードラベルが貼られ、或いは印刷されている場合には、バーコードスキャナが適切にバーコードをデコードするために、バーコードスキャナのセンサに映る映像の端部が歪まないように直径が比較的大きい円筒形容器を使用する必要がある。
【０００４】
バーコードラベルが円筒形容器の円周方向に貼られている場合には、円筒形容器の直径が小さいと、バーコードスキャナで読取ができなくなる。これは、バーコードスキャナに映るバーコードラベルの映像の両端が著しく歪むことが原因である。この歪みを解決できれば、比較的直径の小さい円筒形容器のバーコードでもバーコードを読み取ることができるようになる。
【０００５】
バーコードを読み取るための技術としては、例えば、特許文献１にはバーコードに光を照射する照明光源、バーコードからの反射光を偏向するミラー、バーコードのイメージを出力するＣＣＤ、ＣＣＤからの出力信号を増幅する増幅回路、増幅回路からのアナログ信号を２値化する２値化回路、２値化回路の出力信号を処理するＣＰＵ等を備えた光学的読取装置が記載されている。
【０００６】
また、特許文献２には、バーコードラベルに光を照射する手段、バーコードからの反射光を受光する手段、受光された光を増幅する手段、増幅信号の高周波ノイズをカットする手段、増幅信号を２値化する手段、２値化信号を処理する手段を備えたバーコード走査装置が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−０７６０８９号公報
【特許文献２】特開２００３−０５８８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１、２には、上述のようにバーコードに照明光源から光を照射し、その反射光をＣＣＤセンサ等で受光し、その信号を増幅して２値化した後、ＣＰＵ等を用いて処理することが記載されている。しかしながら、特許文献１、２では円筒形物品等に貼られたバーコードを読み取ることは言及されていない。
【０００９】
本発明の目的は、外形が円柱状又は楕円状である物品上のバーコードを画像歪みを生じることなく読み取ることが可能なバーコード読取装置及び方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明に係るバーコード読取装置は、バーコードに光を照射して前記バーコードを読み取るバーコード読取装置であって、円柱状もしくは楕円柱状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた前記光の反射強度分布に基づいて、前記バーコードの平面上の画像データを生成する画像データ生成手段を有し、前記平面上の画像データを用いてデコードを行うことを特徴とする。
【００１１】
また、本発明に係るバーコード読取装置は、バーコードを読み取るバーコード読取装置であって、前記バーコードに光を照射する光照射手段と、前記バーコードからの反射光の反射強度を検出する複数の素子からなるセンサーを備える反射強度検出手段と、円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成する平面反射強度データ生成手段と、前記平面反射強度データに基づいてデコードを行うデコード手段と、を備えることを特徴とする。
【００１２】
また、本発明に係るバーコード読取方法は、バーコードに光を照射して前記バーコードを読み取るバーコード読取方法であって、画像データ生成手段が、円柱状もしくは楕円柱状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた前記光の反射強度分布に基づいて、前記バーコードの平面上の画像データを生成するステップと、デコード手段が、前記平面上の画像データを用いてデコードを行うステップと、を含むことを特徴とする。
【００１３】
また、本発明に係るバーコード読取方法は、バーコードを読み取るバーコード読取方法であって、光照射手段が、前記バーコードに光を照射するステップと、複数の素子からなるセンサーを備える反射強度検出手段が、前記バーコードからの反射光の反射強度を検出するステップと、平面反射強度データ生成手段が、円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成するステップと、デコード手段が、前記平面反射強度データに基づいてデコードを行うステップと、を含むことを特徴とする。
【００１４】
また、本発明に係るプログラムは、バーコードに光を照射して前記バーコードを読み取るバーコード読取装置としてコンピュータを機能させるためのプログラムであって、前記コンピュータを、円柱状もしくは楕円柱状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた前記光の反射強度分布に基づいて、前記バーコードの平面上の画像データを生成する画像データ生成手段と、前記平面上の画像データを用いてデコードを行う手段と、して機能させることを特徴とする。
【００１５】
また、本発明に係るプログラムは、バーコードを読み取るバーコード読取装置としてコンピュータを機能させるためのプログラムであって、前記コンピュータを、光照射手段から前記バーコードに光を照射させる手段と、複数の素子からなるセンサーを備える反射光強度検出手段に前記バーコードからの反射光の反射強度を検出させる手段と、円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成する平面反射強度データ生成手段と、前記平面反射強度データに基づいてデコードを行うデコード手段と、して機能させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、外形が円柱状又は楕円状である物品上のバーコードを画像歪みを生じることなく正確に読み取ることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係るバーコードスキャナの基本構成を示す斜視図である。
【図２】バーコードの一例を示す図である。
【図３】等間隔に縦筋を有するバーコードを模したラベルの例を示す図である。
【図４】円筒形物品の側面に図３のラベルを貼った状態を示す図である。
【図５】円筒形物品上の点Ｐにおける照射光を模式的に示す図である。
【図６】円筒形物品の側面に貼られたラベルのイメージセンサ上の受光分布を示す図である。
【図７】図４のラベル４０２においてラベル左端はθ＝−α、ラベル右端はθ＝＋αとした場合のイメージを示す図である。
【図８】円柱状によって歪んだイメージを平面上のイメージに変換した時の反射強度を示す図である。
【図９】左右対称に等間隔の線を有するラベル及びそのラベルを円筒形物品の側面に貼り付けた例を示す図である。
【図１０】図９の円筒形物品に貼られたラベル上の黒線の位置関係、センサー上の位置関係、及びセンサーの検出強度を示す図である。
【図１１】図１０の検出強度を取り出して詳細に示す図である。
【図１２】図１１から不連続点を除外した場合の図である。
【図１３】図１２の近似曲線イメージを示す図である。
【図１４】縦軸を検出強度ｙ、横軸をψとした場合のグラフを示す図である。
【図１５】図１４の一部を拡大して示す図である。
【図１６】ラベル位置が円筒形物品の中心ではない場合の例を示す図である。
【図１７】特殊形状の物品にラベルが貼られた場合の例及びその例の場合の反射強度を示す図である。
【図１８】図１のプロセッサの機能ブロック図である。
【図１９】本発明に係るバーコードスキャナの動作の概要を説明するフローチャートである。
【発明を実施するための形態】
【００１８】
次に、発明を実施するための形態について図面を参照して詳細に説明する。まず、本発明は、バーコードスキャナのイメージセンサに映し出された映像から光の反射強度を分析し、映し出された映像を平面の映像として変換することによりバーコードをデコードする上で適切な映像を取得する。
【００１９】
即ち、本発明に係るバーコード読取方法は、円筒形状物品の側面に貼られた（又は印刷された）バーコードラベルを光の反射強度分布を利用して平面状のラベルとして変換し、円筒形端部における映像歪みを補正しつつデコードする上で適切なバーコード形状を取得・形成すると共に、より半径の小さい円筒形物品上のバーコードであってもバーコードをデコードできるようにする。なお、これを実現するためにバーコードスキャナとしての特別なセンサーを必要としない。
【００２０】
図１は本発明に係るバーコードスキャナ（バーコード読取装置）の基本構成を示す斜視図である。バーコードスキャナは、読み取り対象のバーコード１０６に光を照射する照明光源１０５、照明光源１０５から照射されたバーコード１０６からの反射光を反射する反射ミラー１０４、反射ミラー１０４からの光を集光する光学フィルタ（集光レンズと光を適切に通すフィルタを含む）１０３を備えている。また、光学フィルタ１０３からの光が入射し、バーコード１０６のイメージを取得するイメージセンサ１０２、データ処理を行うプロセッサ１０１を備えている。
【００２１】
照明光源１０５からバーコード１０６に光が照射され、バーコード１０６からの反射光が反射ミラー１０４で反射され、更にその反射光は集光レンズと照射光を適切に通す光学フィルタ１０３を通ってイメージセンサ１０２に入射する。プロセッサ１０１は後述するようにイメージセンサ１０２の出力を用いて演算処理を行い、バーコード１０６から得られた画像データに基づき平面上の画像データを算出する。プロセッサ１０１の読み取りデータは上位装置に出力される。
【００２２】
なお、バーコードスキャナの形状によっては反射ミラー１０４を省略することが可能である。また、光学フィルタ（集光レンズ／フィルタ）１０３についてもフィルタが不要であれば集光レンズだけでも良い。
【００２３】
図２は一般的なバーコードラベル２０１の例を示す図であるが、説明を簡単にするため図３に示すように等間隔に縦筋が描かれたバーコードを模したラベル３０１を読み取る場合を想定する。図４は図３のラベルを缶ジュース等の円筒形物品の側面（円周方向）に貼り付けた図を示す。
【００２４】
なお、本実施形態では、バーコードラベルが側面（円周方向）に貼られた読み取り対象の物品として円筒形物品を説明するが、図４に示すように少なくともバーコードラベルが貼られたバーコード部分の外形が円柱形状の物品であれば良い。また、本発明は、外形が円柱形状の物品には楕円形状の物品も含む。なお、円筒形物品の側面に貼られたバーコードラベルを読み取る例を説明するが、円筒形物品の側面に印刷されたバーコードを読み取る場合も同様である。
【００２５】
図４に示すように図３のラベル３０１を円筒形物品４０１の側面、即ち、円周方向に貼ると、４０２で示すようにラベル３０１の両端の縦筋の間隔が狭くなったように見える。この状態のラベルを正面から見た図を４０３で示す。この状態では、バーコードスキャナのイメージセンサ１０２には、本来のラベル３０１がラベル４０３の様に映ってしまう。その結果、ラベル両端付近の縦筋の間隔が中央部と比較して狭くなるため不適切となり、バーコードスキャナは正しくデコードできない。
【００２６】
図５は円筒形物品４０１上の点Ｐにおけるバーコードスキャナの照射光を模式的に示す図である。図５では点Ｐにおいて平行に照射される照射光に対し、点Ｐの接線の法線との角度をδとすると、点Ｐで反射強度はＣＯＳδに比例する。これを踏まえて、円筒形物品４０１の側面に貼られたラベル４０２のイメージセンサ１０２に映る映像、即ち、イメージセンサ１０２の受光強度分布は図６に示すグラフ６０２のようになる。ｘ軸はイメージセンサ１０２の位置を示す。ラベル６０１の黒い部分は反射強度が小さく、白い部分は反射強度が大きいため、イメージセンサ１０２の波形は６０２で示すように短冊状となる。
【００２７】
また、図５で説明した円筒形物品４０１における位置と反射強度の関係から、グラフ６０２で示す反射強度においてラベル６０１の白部の反射強度分布の曲線は、ＣＯＳθの曲線の一部分として近似することができる。また、ＣＯＳθの曲線の一部として近似することによってラベルの左端部の角度θ＝α、右端部の角度θ＝βを特定することができる。
【００２８】
例えば、図４に示すラベル４０２の場合、ラベル４０２は円筒形物品４０１のほぼ中心にあるため、α＞０とすれば左端はθ＝−α、右端はθ＝＋αと算出することができる。この時のイメージを図７に示す。図７に示す７０１の上部曲線はｙ＝ｒＣＯＳθ（ｒは定数、近似した時に算出）となる。次に、θ＝δにおける点を平面状に変換するため、図１４、図１５等で説明するように反射強度の横軸を変換することによって図８に示すように両端の間隔が狭い状態を補正することができる（t＝πｒδ／１８０という式を用いて変換することもできる）。
【００２９】
以上により、円筒形状によって歪んだイメージを平面変換して補正でき、次の段階で適切にバーコードをデコードできるようになる。なお、上記平面への変換方法は、変換後に隙間（不連続点）ができることがある。これは、変換元のプロット密度より変換後のプロット密度の方が低いためであるが、平面変換後から逆変換する方法で解決できる。以上は本発明の概要であるが、以下に詳しく説明する。
【００３０】
以下、本発明に係るバーコード検出方法を更に詳細に説明する。まず、原理的な説明を簡単にするために、次のような前提条件を想定する。即ち、図９（ａ）に示すように左右対称に等間隔に配置した７本の黒い線と、両端に黒いベタ塗りがあるラベルを想定する。このラベルを図９（ｂ）に示すように円筒形物品（円柱）側面に横（円周方向）に貼り付ける。この時、円筒形物品を真上から見た図が図９（ｃ）である。図９（ｃ）に示すようにラベルは円筒形物品の上面円の中心から基準位置（０°）の±７５°の範囲にあるものとする。
【００３１】
一方、円柱側面の黒い線の位置関係は図１０（ａ）に示す様に基準位置から＋６０°＜θ＜＋７５°、−７５°＜θ＜−６０°（ラベルの両端）は黒となっており、基準位置から０°、±１５°、±３０°、±４５°（各１５°間隔）の各点を中心とした±１．５°の範囲（３°の幅）が黒という状態になっているものとする。この時、バーコードスキャナのイメージセンサ１０２上に水平投影される黒部の位置関係は図１０（ｂ）に示す様になる。
【００３２】
また、円筒形物品の側面の各位置とイメージセンサ１０２との距離の差が無視できる距離であるとして、円筒形物品の中心からの角度に応じてイメージセンサ１０２で検出される「強度」（一般的にはセンサー出力という意味で、強度とはセンサー各点の出力電圧ということになる）と、イメージセンサ１０２の各ピクセル（説明のためセンサー中心を０として±１２０ピクセル、合計２４１ピクセル）の理想的な強度分布を示すのが図１０（ｃ）である。
【００３３】
なお、この例では、説明を簡素化するためにバーコードスキャナのイメージセンサ１０２上に水平投影されるという条件としているが、実際にはレンズを通して光学的焦点の１点を通過し、イメージセンサ１０２上に逆像をつくる。
【００３４】
ここで、図９（ａ）に示すように想定したバーコードラベルの黒い線の間隔は等間隔であるが、図１０（ｃ）に示すように基準位置（０°）から遠ざかるにつれてイメージセンサ１０２に投影されたバーコードラベルの「黒部」に相当する低強度ポイントの間隔が狭くなっているのが分かる。これが、円筒形物品の側面に貼られたバーコードラベルをバーコードスキャナのイメージセンサ１０２から見たときの「歪み」である。
【００３５】
本実施形態では、バーコードスキャナのイメージセンサ１０２が図１０（ｃ）に示すように反射強度を検出した状態からバーコードの検出をスタートする。図１１は図１０から図１０（ｃ）だけを取り出して詳細に示す図である。なお、以下に説明するバーコードの読み取り処理は、図１に示すプロセッサ１０１にて行う。
【００３６】
図１１から近似曲線を取り出すために、不連続点、即ち、検出強度が低いポイントを除外した不連続点除去後の検出強度を図１２に示す。不連続点の除外方法としては、例えば、「一定の強度以下のデータを削除する」という手法が合理的である（図１２では、例えば、閾値を強度２と設定）。閾値以下と判定した強度は、以後”０”とみなすものとする。
【００３７】
ここで、図１２に近似曲線を当てはめるに当たり、近似曲線上の点Ｐ（Ｐｘ，Ｐｙ）を、次のような楕円上の点とみなす。図１３はその場合の近似曲線を示す。
【００３８】
【数１】
0005489247.tif 000002
…式（１）
【００３９】
【数２】
0005489247.tif 000003
…式（２）
まず、図１２に示す不連続点除外後の検出強度の全体から縦軸（強度）の最大測定値を抽出する。図１２の例では、強度最大値は４．５０である。このことから、ｂ＝４．５とする。また、式（２）からそれぞれのｘ、ｙにおけるａを、
【００４０】
【数３】
0005489247.tif 000004
…式（３）
と算出することができる。その結果を一覧にしたものが表１である。表１では測定点全点ではなく、一部を抜粋して示す。ｘはセンサーの素子の位置であり、ｙは反射強度である。
【００４１】
【表１】
0005489247.tif 000005
【００４２】
この結果、それぞれのｘ、ｙにおけるａ（表１では１４ポイント）の平均は１２０．３と算出できる。これにより、ａ＝１２０．３とすることができ、図１３における近似曲線の式は以下の式（４）のように表される（本例ではψを３６０°単位（度数法）で算出している）。
【００４３】
【数４】
0005489247.tif 000006
…式（４）
【００４４】
つまり、ｘ＝１２０．３・ＣＯＳψ    …式（５）
となる。
【００４５】
ここで、式（５）のψに０°〜１８０°の範囲の角度値を代入して位置ｘを算出（四捨五入する）し、表１からｘ位置における強度ｙ（実際に検出されている強度）を決定して新たな表を作成すると表２に示す通りとなる。ψの代入値によっては表２のｘに対応するｙのデータが存在しない。この場合には、ｙはデータ無しとみなし、有効なｙのデータが存在する範囲のψを使用する。位置ｘの算出値を四捨五入して整数にしている。これは、本例ではセンサーの素子の位置を整数と定義しているためである。
【００４６】
以上の結果から、イメージセンサ１０２の位置ｘ、検出強度ｙ、近似曲線のψ（計算値）の関係は表２に示す通りとなる。表２のx、yの関係は図１１と対応する。また、横軸をψ、縦軸をｙとしたグラフを図１４に示す。
【００４７】
【表２】
0005489247.tif 000007
【００４８】
図１４を参照すると、図１１と比較してｙ＝０のポイントがほぼ等間隔に並んでいることが分かる。つまり、これまでの処理によって円筒形物品によって歪んだ映像をイメージセンサ上で捕らえた強度と、イメージセンサ上の位置の情報から、もとの平面バーコードラベルの白と黒の位置関係をψ軸上に復元することができる。更に、図１５に示すようにψを等間隔（本例では１°単位）にプロットすることができる。
【００４９】
図１５は図１４の一部を拡大して示す。即ち、図１５は図１４の左端部付近を拡大して示す。以後、デコード段階で位置ψに対する強度ｙの関係（表２）を用いて二値化し、適切なデコードを実現することができる。
【００５０】
なお、図１６（ａ）に示すようにバーコードラベル位置が円筒形物品の側面中心でない場合がある。その際、円筒形物品側面のバーコードラベルに対してバーコードスキャナがバーコードラベル中央を捉えられなかったとしても、円筒形物品の側面のバーコードスキャナのイメージセンサと水平の接線が引ける点、即ち、図１６（ｂ）に示す基準点（０°）のポイントが最も反射強度が強いポイントとなるため、これを中心に近似をずらせば良い。従って、これまで説明した方法でもとの平面ラベルの白と黒の位置関係をψ軸上に復元できる。
【００５１】
更に、特殊形状の立体物にバーコードラベルが貼られる場合がある。例えば、図１７（ａ）に示すように直方体の一つの面に凸状に円柱側面が盛り上がった曲面を持つ特殊な形状の立体物にバーコードラベルが貼られる場合がある。この場合には、バーコードスキャナのイメージセンサで検出する強度ｙとセンサー位置ｘとの関係は図１７（ｂ）に示すように両端に強い強度が現れる。両端の強い強度のデータは、近似曲線を当てはめる上で支障となるため、両端のデータを無効データとして破棄する必要がある。
【００５２】
例えば、１つの方法として、閾値による低強度部分の情報をカットをした後、センサー両端部からゼロで無いデータが始まっているかどうかをチェックする。図１７（ｂ）の例では、ｘ＝１２０から開始してｘを１つずつ中央側にチェックし、また、ｘ＝−１２０から開始してｘを1つずつ中央側にチェックする。そして、ゼロ（または閾値による情報カット部分）になるまでの範囲を近似曲線算出に使用しない「無効情報」として排除する。
【００５３】
図１８は図１のプロセッサ１０１の機能ブロック図を示す。また、図１９は本実施形態の全体的な処理の流れを示すフローチャートである。図１８に示すようにプロセッサ１０１は、演算処理部１１０を備えている。演算処理部１１０は２値化部１１１、デコード部１１２を備えている。１０２は図１のイメージセンサである。演算処理部１１０は、上述のようにイメージセンサ１０２の出力を用いて演算処理を行い、イメージセンサ１０２上に映し出された映像の光の反射強度分布を利用して映像を平面の映像として変換する。
【００５４】
次に、図１９を用いて本実施形態の動作を説明すると、まず、円筒形物品に貼られたバーコードラベルに図１に示す照明光源１０５から光が照射され、その反射光が反射ミラー１０４で反射され、光学フィルタ（集光レンズ／フィルタ）１０３を通ってイメージセンサ１０２に入射する。イメージセンサ１０２の出力はプロセッサ１０１に入力される。その場合、上述のようにイメージセンサ１０２に映る映像は左右が歪む。イメージセンサの出力をそのまま２値化、デコードすると映像の歪みが原因で正しくデコードできない。
【００５５】
本実施形態では、簡単に説明するが、演算処理部１１０は図１１から図１５等で説明したようにイメージセンサ１０２の素子の位置ｘと強度ｙを楕円で近似する処理を行う。また、図１４〜図１５等を用いて説明したようにその近似結果からＰｙとψの関係に変換し、ψ軸上にもとのバーコードラベルの平面図、即ち、平面ラベルの白と黒の位置関係をψ軸上に復元する。つまり、本実施形態では、円筒形物品上のバーコードから得られた画像データに基づいて平面上のバーコードの画像データを生成する。２値化部１１１では画像データの２値化を行い、デコード部１１２にてデコードを行う。
【００５６】
このように本実施形態では、円筒形物品上のバーコードから得られた画像データに基づいて平面上のバーコードの画像データを生成するため、イメージセンサ上のバーコードの映像の両端付近で生じる歪みを補正することができ、円筒形物品上のバーコードであっても正確に読み取ることが可能となる。また、より直径の小さい円筒形物品上のバーコードであっても読み取りが可能となる。
【００５７】
なお、上記バーコード読取装置は、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００５８】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory)）を含む。
【００５９】
また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６０】
なお、上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限らない。
【００６１】
（付記１）バーコードに光を照射して前記バーコードを読み取るバーコード読取装置であって、
円柱状もしくは楕円形状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた画像データに基づいて、前記バーコードの平面上の画像データを生成する画像データ生成手段を有し、前記平面上の画像データを用いてデコードを行うことを特徴とするバーコード読取装置。
【００６２】
（付記２）バーコードを読み取るバーコード読取装置であって、
前記バーコードに光を照射する光照射手段と、
前記バーコードからの反射光の反射強度を検出する複数の素子からなるセンサーを備える反射強度検出手段と、
円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成する平面反射強度データ生成手段と、
前記平面反射強度データに基づいてデコードを行うデコード手段と、
を備えることを特徴とするバーコード読取装置。
【００６３】
（付記３）付記２に記載のバーコード読取装置において、
前記平面反射強度データ生成手段は、円柱状物品もしくは楕円柱状物品のバーコードからの所定値以上の反射強度と、前記センサーの素子の位置データとから得られる曲線を楕円の一部とみなして反射強度データとセンサーの素子の位置データから前記楕円の方程式を導出し、前記楕円の方程式から、前記楕円の方程式の角度と前記センサーの素子の位置との関係を求め、前記センサーの素子の反射強度データに基づいて前記角度における反射強度データを決定して平面上の反射強度データを生成することを特徴とするバーコード読取装置。
【００６４】
（付記４）付記３に記載のバーコード読取装置において、
前記反射強度の最大値を前記楕円の一方の軸の１／２の長さとして、前記センサーの複数の素子の位置における前記楕円の他方の軸の１／２の長さを求め、求めた前記楕円の他方の軸の１／２の長さの複数の数値の平均値を前記楕円の他方の軸の１／２の長さとして前記楕円の方程式を得ることを特徴とするバーコード読取装置。
【００６５】
（付記５）付記３に記載のバーコード読取装置において、
前記平面反射強度データ生成手段は、
前記センサーの素子で得られた反射強度のうち所定の値以下の反射強度を削除して得られた曲線を楕円の一部とみなし、前記反射強度の最大値をｂ、前記センサーの素子の位置ｘと反射強度ｙの各点における値の平均値をａ、前記センサーの素子の位置をＰｘ、反射強度をＰｙとして、以下のように楕円で近似する手段と、
【００６６】
【数５】
0005489247.tif 000008
【００６７】
前記反射強度の最大値ｂを抽出し、且つ、前記センサーの素子の位置ｘと反射強度ｙの各点における値の平均値ａを求める手段と、
前記センサーの素子の反射強度ｙと位置ｘ、前記平均値ａと前記最大値ｂから前記楕円の方程式を求める手段とを有し、
前記楕円の方程式に角度ψを代入して前記センサーの素子の位置ｘを求め、且つ、当該センサーの素子の位置ｘと反射強度ｙのデータから前記センサーの範囲内の角度ψと反射強度ｙのデータを求め、得られたセンサーの素子の反射強度データに基づいて前記角度ψにおける反射強度データを決定して平面上の反射強度データを生成することを特徴とするバーコード読取装置。
【００６８】
（付記６）バーコードに光を照射して前記バーコードを読み取るバーコード読取方法であって、
画像データ生成手段が、円柱状もしくは楕円形状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた画像データに基づいて、前記バーコードの平面上の画像データを生成するステップと、
デコード手段が、前記平面上の画像データを用いてデコードを行うステップと、
を含むことを特徴とするバーコード読取方法。
【００６９】
（付記７）バーコードを読み取るバーコード読取方法であって、
光照射手段が、前記バーコードに光を照射するステップと、
複数の素子からなるセンサーを備える反射強度検出手段が、前記バーコードからの反射光の反射強度を検出するステップと、
平面反射強度データ生成手段が、円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成するステップと、
デコード手段が、前記平面反射強度データに基づいてデコードを行うステップと、
を含むことを特徴とするバーコード読取方法。
【００７０】
（付記８）付記７に記載のバーコード読取方法において、
前記反射強度データを生成するステップにおいて、円柱状物品もしくは楕円柱状物品のバーコードからの所定値以上の反射強度と、前記センサーの素子の位置データとから得られる曲線を楕円の一部とみなして反射強度データとセンサーの素子の位置データから前記楕円の方程式を導出し、前記楕円の方程式から、前記楕円の方程式の角度と前記センサーの素子の位置との関係を求め、前記センサーの素子の反射強度データに基づいて前記角度における反射強度データを決定して平面上の反射強度データを生成することを特徴とするバーコード読取方法。
【００７１】
（付記９）付記７に記載のバーコード読取方法において、
前記反射強度の最大値を前記楕円の一方の軸の１／２の長さとして、前記センサーの複数の素子の位置における前記楕円の他方の軸の１／２の長さを求め、求めた前記楕円の他方の軸の１／２の長さの複数の数値の平均値を前記楕円の他方の軸の１／２の長さとして前記楕円の方程式を得ることを特徴とするバーコード読取方法。
【００７２】
（付記１０）付記８に記載のバーコード読取方法において、
前記反射強度データを生成するステップにおいて、
前記センサーの素子で得られた反射強度のうち所定の値以下の反射強度を削除して得られた曲線を楕円の一部とみなし、前記反射強度の最大値をｂ、前記センサーの素子の位置ｘと反射強度ｙの各点における値の平均値をａ、前記センサーの素子の位置をＰｘ、反射強度をＰｙとして、以下のように楕円で近似するステップと、
【００７３】
【数６】
0005489247.tif 000009
【００７４】
前記反射強度の最大値ｂを抽出し、且つ、前記センサーの素子の位置ｘと反射強度ｙの各点における値の平均値ａを求めるステップと、
前記センサーの素子の反射強度ｙと位置ｘ、前記平均値ａと前記最大値ｂから前記楕円の方程式を求めるステップとを含み、
前記楕円の方程式に角度ψを代入して前記センサーの素子の位置ｘを求め、且つ、当該センサーの素子の位置ｘと反射強度ｙのデータから前記センサーの範囲内の角度ψと反射強度ｙのデータを求め、得られたセンサーの素子の反射強度データに基づいて前記角度ψにおける反射強度データを決定して平面上の反射強度データを生成することを特徴とするバーコード読取方法。
【００７５】
（付記１１）バーコードに光を照射して前記バーコードを読み取るバーコード読取装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
円柱状もしくは楕円形状の物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた画像データに基づいて、前記バーコードの平面上の画像データを生成する画像データ生成手段と、
前記平面上の画像データを用いてデコードを行う手段と、
して機能させるためのプログラム。
【００７６】
（付記１２）バーコードを読み取るバーコード読取装置としてコンピュータを機能させるためのプログラムであって、
前記コンピュータを、
光照射手段から前記バーコードに光を照射させる手段と、
複数の素子からなるセンサーを備える反射光強度検出手段に前記バーコードからの反射光の反射強度を検出させる手段と、
円柱状物品もしくは楕円柱状物品の円周方向に設けられ、長手方向が前記円周方向であるバーコードから得られた反射強度データと、前記センサーの素子の位置データに基づいて、前記バーコードの平面上の反射強度データを生成する平面反射強度データ生成手段と、
前記平面反射強度データに基づいてデコードを行うデコード手段と、
して機能させるためのプログラム。
【００７７】
（付記１３）付記１２に記載のプログラムにおいて、
前記平面反射強度データ生成手段を、円柱状物品もしくは楕円柱状物品のバーコードからの所定値以上の反射強度と、前記センサーの素子の位置データとから得られる曲線を楕円の一部とみなして反射強度データとセンサーの素子の位置データから前記楕円の方程式を導出し、前記楕円の方程式から、前記楕円の方程式の角度と前記センサーの素子の位置との関係を求め、前記センサーの素子の反射強度データに基づいて前記角度における反射強度データを決定して平面上の反射強度データを生成する手段として機能させることを特徴とするプログラム。
【００７８】
（付記１４）付記１３に記載のプログラムにおいて、
前記反射強度の最大値を前記楕円の一方の軸の１／２の長さとして、前記センサーの複数の素子の位置における前記楕円の他方の軸の１／２の長さを求め、求めた前記楕円の他方の軸の１／２の長さの複数の数値の平均値を前記楕円の他方の軸の１／２の長さとして前記楕円の方程式を得ることを特徴とするプログラム。
【００７９】
（付記１５）付記１３に記載のプログラムであって、
更に、前記平面反射強度データ生成手段を、
前記センサーの素子で得られた反射強度のうち所定の値以下の反射強度を削除して得られた曲線を楕円の一部とみなし、前記反射強度の最大値をｂ、前記センサーの素子の位置ｘと反射強度ｙの各点における値の平均値をａ、前記センサーの素子の位置をＰｘ、反射強度をＰｙとして、以下のように楕円で近似する手段と、
【００８０】
【数７】
0005489247.tif 000010
【００８１】
前記反射強度の最大値ｂを抽出し、且つ、前記センサーの素子の位置ｘと反射強度ｙの各点における値の平均値ａを求める手段と、
前記センサーの素子の反射強度ｙと位置ｘ、前記平均値ａと前記最大値ｂから前記楕円の方程式を求める手段と、
前記楕円の方程式に角度ψを代入して前記センサーの素子の位置ｘを求め、且つ、当該センサーの素子の位置ｘと反射強度ｙのデータから前記センサーの範囲内の角度ψと反射強度ｙのデータを求め、得られたセンサーの素子の反射強度データに基づいて前記角度ψにおける反射強度データを決定して平面上の反射強度データを生成する手段として機能させることを特徴とするプログラム。
【産業上の利用可能性】
【００８２】
本発明は、円筒形物品上のバーコードを読み取るバーコードスキャナに好適に使用することができる。
【符号の説明】
【００８３】
１０１  プロセッサ
１０２  イメージセンサ
１０３  光学フィルタ（集光レンズ／フィルタ）
１０４  反射ミラー
１０５  照明光源
１０６  バーコード
１１０  演算処理部
１１１  ２値化部
１１２  デコード部
【図１】
0005489247.tif 000011
【図２】
0005489247.tif 000012
【図３】
0005489247.tif 000013
【図４】
0005489247.tif 000014
【図５】
0005489247.tif 000015
【図６】
0005489247.tif 000016
【図７】
0005489247.tif 000017
【図８】
0005489247.tif 000018
【図９】
0005489247.tif 000019
【図１０】
0005489247.tif 000020
【図１１】
0005489247.tif 000021
【図１２】
0005489247.tif 000022
【図１３】
0005489247.tif 000023
【図１４】
0005489247.tif 000024
【図１５】
0005489247.tif 000025
【図１６】
0005489247.tif 000026
【図１７】
0005489247.tif 000027
【図１８】
0005489247.tif 000028
【図１９】
0005489247.tif 000029