(57)【特許請求の範囲】
【請求項１】
バーコードを読み取る読取手段と、
前記バーコードに含まれるコードを復号する復号手段と、
前記復号されたコードに対応したバーコードの間隙及びバーの幅と、前記読み取られたバーコードにおける間隙及びバーの幅とのずれ量をもとに、当該読み取り対象のバーコードに含まれるコードの読み取りを行った際の、復号されたコードの信頼度を算出する算出手段と、
前記算出された信頼度に応じて前記復号されたコードを出力する出力手段と、
を備えるコード読取装置。
【請求項２】
前記出力手段は、前記算出された信頼度が所定の閾値を超える場合に、前記復号されたコードを出力する、
請求項１に記載のコード読取装置。
【請求項３】
前記復号手段によって復号されたコードと、当該復号されたコードについて算出された信頼度とを記憶する記憶手段を更に備え、
前記出力手段は、前記記憶手段に記憶された複数のコードの中で、互いの信頼度の差が所定の閾値を超える場合の、大きな信頼度を算出したコードの方を出力する、
請求項１に記載のコード読取装置。
【請求項４】
前記ずれ量をもとに前記信頼度を算出する算出方式を設定する設定手段を更に備え、
前記算出手段は、前記設定手段により設定された算出方式に従って前記信頼度の算出を行う、
請求項１乃至３のいずれか一項に記載のコード読取装置。
【請求項５】
前記算出手段は、前記読み取られたバーコードを構成するセグメントごとに、当該セグメントに含まれるコードに対する復号されたコードの信頼度を算出し、
前記出力手段は、前記読み取られたバーコードを構成する全てのセグメントにかかる前記算出された信頼度が所定の閾値を超える場合に、前記復号されたコードを出力する、
請求項１乃至４のいずれか一項に記載のコード読取装置。
【請求項６】
コンピュータを、
バーコードを読み取る読取手段により読み取られたバーコードに含まれるコードを復号する復号手段と、
前記復号されたコードに対応したバーコードの間隙及びバーの幅と、前記読み取られたバーコードにおける間隙及びバーの幅とのずれ量をもとに、当該読み取り対象のバーコードに含まれるコードの読み取りを行った際の、復号されたコードの信頼度を算出する算出手段と、
前記算出された信頼度に応じて前記復号されたコードを出力する出力手段と、
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、コード読取装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ＥＡＮ（European  Article  Number）コードやＪＡＮ（Japanese  Article  Number）コード等のバーコードを光学的に読み取るハンディスキャナ等のコード読取装置が知られている。このコード読取装置は、例えばスーパー等で使用されるＰＯＳ（Point  Of  Sale）端末と通信ケーブル等を介して接続され、商品に添付された商品コードを含むバーコードの読み取りに用いられている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上述した従来のコード読取装置では、複数回同じ読み取り結果が得られた場合に、その読み取り結果をＰＯＳ端末へ出力することで、読み取り結果の信頼性を維持している。しかしながら、間違えた読み取り結果が複数回得られる場合もあることから、読み取り結果の信頼性のさらなる向上が望まれていた。
【課題を解決するための手段】
【０００４】
上述した課題を解決するために、実施形態のコード読取装置は、バーコードを読み取る読取手段と、前記バーコードに含まれるコードを復号する復号手段と、前記復号されたコードに対応したバーコードの間隙及びバーの幅と、前記読み取られたバーコードにおける間隙及びバーの幅とのずれ量をもとに、当該読み取り対象のバーコードに含まれるコードの読み取りを行った際の、復号されたコードの信頼度を算出する算出手段と、前記算出された信頼度に応じて前記復号されたコードを出力する出力手段と、を備える。
【０００５】
実施形態のプログラムは、コンピュータを、バーコードを読み取る読取手段により読み取られたバーコードに含まれるコードを復号する復号手段と、前記復号されたコードに対応したバーコードの間隙及びバーの幅と、前記読み取られたバーコードにおける間隙及びバーの幅とのずれ量をもとに、当該読み取り対象のバーコードに含まれるコードの読み取りを行った際の、復号されたコードの信頼度を算出する算出手段と、前記算出された信頼度に応じて前記復号されたコードを出力する出力手段と、して機能させる。
【図面の簡単な説明】
【０００６】
【図１】図１は、実施形態にかかるコード読取装置の概観を示す斜視図である。
【図２】図２は、実施形態にかかるコード読取装置のハードウェア構成を示すブロック図である。
【図３】図３は、ＣＰＵが実現する機能構成を示すブロック図である。
【図４】図４は、バーコードの一例を示す概念図である。
【図５】図５は、各キャラクタの４要素の幅と割り当てられた数値との関係を示す表である。
【図６】図６は、数字セットの組み合わせにより１桁の数値を導き出すことを示す表である。
【図７】図７は、バーコードにおける各キャラクタの測定を示す概略図である。
【図８】図８は、バーコードにおける復号の対応関係を示す表である。
【図９】図９は、平均ずれ量と信頼度との対応関係を示すグラフである。
【図１０】図１０は、実施形態にかかるコード読取装置の動作の一例を示すフローチャートである。
【図１１】図１１は、フルセグメントの場合について信頼度による読取コードの出力を例示する概念図である。
【図１２】図１２は、ハーフセグメントの場合について信頼度による読取コードの出力を例示する概念図である。
【図１３】図１３は、フルセグメントの場合について信頼度による読取コードの出力を例示する概念図である。
【発明を実施するための形態】
【０００７】
以下では、実施形態にかかるコード読取装置及びプログラムを図面を参照して説明する。コード読取装置は、一取引にかかる商品の登録、精算を行う際に、商品に添付されたバーコードを読み取るハンディスキャナなどであってよい。実施形態では、飲食店やスーパーマーケット等の店舗に導入されたＰＯＳ端末に接続して用いるコード読取装置を例に説明する。
【０００８】
図１は、実施形態にかかるコード読取装置１００の概観を示す斜視図である。図１に示すように、実施形態にかかるコード読取装置１００は、内部にバーコードを読み取るバーコード読取部２０４（図２参照）を有する筐体１０１、把握部１０２、操作スイッチ１０３、通信ケーブル１０４を備えて構成される。把握部１０２は、筐体１０１に設けられ、オペレータがコード読取装置１００を操作する際に片手で把握する部分である。操作スイッチ１０３は、オペレータの操作入力を受け付ける。オペレータは、把握部１０２を片手で把握して操作することで、コード読取装置１００によるバーコード等の読み取りや、操作スイッチ１０３を介した操作入力を行う。通信ケーブル１０４は、ＰＯＳ端末等の端末装置３００（図２参照）と接続する。コード読取装置１００により読み取られたバーコード等の情報は、通信ケーブル１０４を介して端末装置３００へ出力される。
【０００９】
図２は、本実施形態にかかるコード読取装置１００のハードウェア構成を示すブロック図である。図２に示すように、コード読取装置１００は、ＣＰＵ２０１（Central  Processing  Unit）、ＲＯＭ２０２（Read  Only  Memory）、ＲＡＭ２０３（Random  Access  Memory）、バーコード読取部２０４、通信部２０５、操作部２０６を備えて構成される。なお、コード読取装置１００が備える各構成部は、バス２０８を介して相互に通信可能に接続されている。
【００１０】
ＣＰＵ２０１は、コード読取装置１００の動作を中央制御する。具体的には、ＣＰＵ２０１は、ＲＯＭ２０２に記憶されたプログラムをＲＡＭ２０３の作業領域に展開して順次実行することで、コード読取装置１００の各部に制御信号を出力してコード読取装置１００の動作を制御する。ＲＯＭ２０２は、ＣＰＵ２０１が読み出して実行するプログラムや設定情報等のデータを記憶する。ＲＡＭ２０３は、ＣＰＵ２０１に作業領域を提供する。
【００１１】
バーコード読取部２０４は、ＣＰＵ２０１の制御のもと、間隙及びバーが配列されたバーコードを光学的に読み取るためのスキャナである。具体的には、バーコード読取部２０４は、ＬＥＤ（Light  Emitting  Diode）照明及びＣＣＤ（Charge  Coupled  Device）イメージセンサやレーザスキャナ等であってよい。なお、本実施形態のバーコードは、ＥＡＮコードやＪＡＮコード等であってよく、商品コード等のコードに対応した幅で間隙及びバーが配列されたものである。コード読取装置１００では、バーコードとして配列された間隙及びバーの幅をバーコード読取部２０４で読み取り、読み取った間隙及びバーの幅をもとにコード復号部２０１１（図３参照）で復号することで、バーコードからのコードの読み出しを行っている。
【００１２】
通信部２０５は、ＣＰＵ２０１の制御のもと、通信ケーブル１０４（図１参照）を介して接続するＰＯＳ端末等の端末装置３００とデータ通信を行う。具体的には、通信部２０５は、ＵＳＢ（Universal  Serial  Bus）などで端末装置３００と通信する。操作部２０６は、操作スイッチ１０３（図１参照）を介したオペレータの操作入力を受け付けてＣＰＵ２０１へ出力する。
【００１３】
次に、ＣＰＵ２０１がプログラムを順次実行することで実現されるコード読取装置１００の機能部について、図３を参照して説明する。図３は、ＣＰＵ２０１が実現する機能構成を示すブロック図である。図３に示すように、ＣＰＵ２０１は、プログラムを順次実行することにより、コード復号部２０１１、信頼度算出部２０１２、出力部２０１３としての機能を備える。
【００１４】
コード復号部２０１１は、バーコード読取部２０４で読み取ったバーコードを復号してコードを取得する。具体的には、コード復号部２０１１は、読み取ったバーコードの間隙及びバーの幅をもとに、予め設定された変換式に従って、その間隙及びバーの幅に対応したコードへの変換を行う。
【００１５】
ここで、コード復号部２０１１における、バーコードの復号の詳細について説明する。なお、以下の復号にかかる説明では、ＪＡＮコード（ＥＡＮコード）にかかるＪＩＳ規格であるＪＩＳＸ０５０１−１９８５（共通商品コード用バーコードシンボル）、ＪＩＳＸ０５０７−２００４（バーコードシンボル−ＥＡＮ／ＵＰＣ−基本仕様）を参考にしており、特にＪＩＳＸ０５０１については２ページの図表を、ＪＩＳＸ０５０７については３、５、１４、１５ページを参考にしている。図４は、バーコードＢＣの一例を示す概念図である。
【００１６】
図４に示すように、バーコードＢＣは、例えば１３桁のＪＡＮコード（ＥＡＮコード）であり、１モジュールを基本単位として全１１３モジュールで構成される。１モジュールの幅は０．３３ｍｍを基本とし、０．８〜２．０倍（０．２６４〜０．６６０ｍｍ）までがＪＡＮコードの規格として認められている。バーコードＢＣは、左からレフトマージン、レフトガードバー、データキャラクタ（左側）、センターバー、データキャラクタ（右側）、モジュラチェックキャラクタ、ライトガードバー、ライトマージンで構成される。なお、中央のセンターバーは、黒（バー）、白（間隙）、黒、白、黒の５モジュールで構成される。また、左側のデータキャラクタは６キャラクタ、右側のデータキャラクタは５キャラクタ、モジュラチェックキャラクタは１キャラクタで、各キャラクタは７モジュールで構成される。
【００１７】
バーコードＢＣにおいて、左側のデータキャラクタは白、黒、白、黒の４要素で構成される。また、右側のデータキャラクタとモジュラチェックキャラクタは黒、白、黒、白の４要素で構成される。各要素は１〜４モジュールの幅を持つ。ただし、４要素の合計は７モジュールとする。バーコードＢＣにおいて、左側のデータキャラクタ、すなわちバーコードＢＣの左側のハーフセグメントでは、国コードＣ１、商品メーカーコードＣ２が記述されている。また、右側のデータキャラクとモジュラチェックキャラクタ（右側のハーフセグメント）では、商品アイテムコードＣ３、モジュラチェックキャラクタＣ４が記述されている。
【００１８】
図５は、各キャラクタの４要素の幅と割り当てられた数値との関係を示す表である。図５に示す表中のＳは白（間隙）を、Ｂは黒（バー）を意味する。また、Ｓ又はＢにおける数値は、要素（間隙又はバー）の幅を意味する。また、左側のデータキャラクタには、数字セットＡ、もしくは数字セットＢの要素の幅が割り当てられており、右側のデータキャラク及びモジュラチェックキャラクタには数字セットＣの要素の幅が割り当てられている。
【００１９】
図６は、数字セットの組み合わせにより１桁の数値を導きだすことを示す表である。図６に示すように、左側のデータキャラクタ（６キャラクタ）における数字セットの種類の組み合わせをもとに、１桁の数値が導き出される。例えば、左側のデータキャラクタにおける１〜６キャラクタの数字セットの種類がＡ、Ａ、Ｂ、Ａ、Ｂ、Ｂである場合は、１桁の数値として「１」が導き出されることとなる。
【００２０】
図７は、バーコードＢＣにおける各キャラクタの測定を示す概略図である。図７の上側は数字セットＣにおける１キャラクタ（左からバーＢＲ１、間隙ＳＰ１、バーＢＲ２、間隙ＳＰ２の４要素）の測定を示している。また、図７の下側は数字セットＡ及び数字セットＢにおける１キャラクタ（右からバーＢＲ１、間隙ＳＰ１、バーＢＲ２、間隙ＳＰ２の４要素）の測定を示している。先頭エッジから隣接キャラクタまでの幅Ｓを７モジュールとすると、バーＢＲ１及び間隙ＳＰ１のなす幅ｅ１及び間隙ＳＰ１及びバーＢＲ２のなす幅ｅ２は、２〜５モジュールの幅になる。この幅ｅ１と、幅ｅ２とをもとにした決定要因Ｅ１、Ｅ２の組み合わせにより、各キャラクタの値を復号して求める。
【００２１】
図８は、バーコードＢＣにおける復号の対応関係を示す表である。図８に示すように、数字セットＡ、Ｂ、Ｃにおけるピクセル数等である幅ｅ１と、幅ｅ２とをもとにした、整数値である決定要因Ｅ１、Ｅ２の組み合わせを第１決定要因として、キャラクタの数値が復号される。ただし、組み合わせが同じ値となる場合は、第１決定要因で数値が復号できないことから、バーＢＲ１の幅ｂ１（図７参照）と、バーＢＲ２の幅ｂ２（図７参照）とを用いた第２決定要因で判別を行って復号を行う。例えば、数字セットＡの場合、キャラクタの数値が「１」と「７」、及び「２」と「８」の組み合わせは同じ値となるため、第１決定要因で数値が復号できない。したがって、幅ｂ１と幅ｂ２の合計値（ｂ１＋ｂ２）と所定の閾値とを比較する第２決定要因で、キャラクタの数値の復号を行う。
【００２２】
なお、コード復号部２０１１における復号では、ある程度の許容を持って復号する数値が割り当てられている。具体的には、幅ｅ１と、幅ｅ２は実数値として求められるが、小数点以下は四捨五入して整数化されて２〜５の数値が求められる。
【００２３】
より具体的には、次のように基準閾値ＲＴ１、ＲＴ２、ＲＴ３、ＲＴ４及びＲＴ５を定める。
ＲＴ１＝（１．５／７）Ｓ
ＲＴ２＝（２．５／７）Ｓ
ＲＴ３＝（３．５／７）Ｓ
ＲＴ４＝（４．５／７）Ｓ
ＲＴ５＝（５．５／７）Ｓ
各キャラクタにおいて、幅ｅ１及び幅ｅ２（実数値）と、上述した基準閾値とを次にように比較して整数化する。
・ＲＴ１≦ｅｉ＜ＲＴ２であればＥｉ＝２とする。（ｉ＝１、２）
・ＲＴ２≦ｅｉ＜ＲＴ３であればＥｉ＝３とする。（ｉ＝１、２）
・ＲＴ３≦ｅｉ＜ＲＴ４であればＥｉ＝４とする。（ｉ＝１、２）
・ＲＴ４≦ｅｉ＜ＲＴ５であればＥｉ＝５とする。（ｉ＝１、２）
これにより、幅ｅ１及び幅ｅ２（実数値）を、２、３、４又は５のいずれかの整数値とする。
【００２４】
図３に戻り、信頼度算出部２０１２は、読み取られたバーコードに含まれるコードに対するコード復号部２０１１により復号されたコードの信頼度を算出する。ここで、信頼度とは、読み取り対象のバーコードに含まれるコードの読み取りを行った際の、読み取りコード（復号されたコード）の信頼性を数値で示したものである。具体的には、読み取り対象のバーコードに含まれるコードを真の値とした場合、バーコードの印字品質、読み取り時の照明、ノイズの混入等の影響により、コード復号部２０１１により復号されたコードが真の値からずれることがある。例えば、読み取り対象のバーコードに含まれるコードが「４９１２３４５６７８９０４」である時に、復号されたコードが「４９１２３４５６７８９０２」として復号されることがある。信頼度算出部２０１２では、一回の読み取りにおいて、上述した真の値からずれることなく復号されたコードが得られているかを、０〜１の間の数値で示した信頼度を算出する。なお、算出する信頼度については、０〜１の間の数値だけでなく、パーセント表記の数値であってもよい。
【００２５】
具体的には、信頼度算出部２０１２は、復号されたコードに対応したバーコードに応じた間隙及びバーの幅と、読み取られたバーコードにおける間隙及びバーの幅とを比較し、そのずれ量をもとに信頼度の算出を行う。例えば、バーコードＢＣにおいて、各キャラクタが理想的な幅で印字されていると仮定すると、決定要因Ｅ１、Ｅ２は２．０、３．０、４．０、５．０のいずれかの値となる。しかし、実際には印字品質やノイズ等の影響により、真の値からずれた値となる。このずれ量ｄｉは以下の式１により求められる。
【００２６】
【数１】
0005341951.tif 000002
【００２７】
また、各キャラクタの平均のずれ量Ｄは以下の式２により求められる。
【００２８】
【数２】
0005341951.tif 000003
【００２９】
ここで、平均のずれ量Ｄは−０．５〜０．５の値を取り得る。この平均のずれ量Ｄを元に各キャラクタの信頼度ｃを以下の式３により求める。
【００３０】
【数３】
0005341951.tif 000004
【００３１】
なお、各キャラクタの信頼度ｃは、以下の式４により求めてもよい。
【００３２】
【数４】
0005341951.tif 000005
【００３３】
図９は、平均ずれ量Ｄと信頼度との対応関係を示すグラフである。図９に示すように、平均のずれ量Ｄが０から離れるのに従い、信頼度は低下する。なお、式３で信頼度を算出するよりも、式４で信頼度を算出するほうが、平均のずれ量Ｄが０から離れるのに従う信頼度の落ち込み具合が強くなる。このため、信頼度の算出方式を式３から式４に切り替えることで、より厳しく信頼度を見積もることができる。
【００３４】
次いで、各キャラクタの信頼度ｃをもとに、バーコードＢＣを構成するセグメントの信頼度Ｃを以下の式５により求める。
【００３５】
【数５】
0005341951.tif 000006
【００３６】
図３に戻り、出力部２０１３は、信頼度算出部２０１２により算出された信頼度に応じて、コード復号部２０１１により復号されたコードを読み取ったコードとして通信部２０５を介して端末装置３００へ出力する。具体的には、出力部２０１３は、算出された信頼度が所定の閾値を超える場合に、その信頼度が算出されたコードを端末装置３００へ出力する。したがって、端末装置３００では、オペレータが読み取り対象のバーコードＢＣをコード読取装置１００で読み取らせた場合、読み取り結果の信頼性の高いコードを得ることができる。
【００３７】
次に、コード読取装置１００の動作について詳細に説明する。図１０は、実施形態にかかるコード読取装置１００の動作の一例を示すフローチャートである。
【００３８】
図１０に示すように、操作スイッチ１０３による操作入力などに従って処理が開始されると、ＣＰＵ２０１は、信頼度算出部２０１２で信頼度を算出する際の、信頼度の算出方式の設定、すなわち上述した式３又は式４のいずれの算出式で信頼度を算出するかの設定を行う（Ｓ１０）。具体的には、設定手段としての操作部２０６によりオペレータの選択操作等の操作入力を受け付けて、信頼度の算出方式を設定する。なお、信頼度の算出方式の設定は、操作部２０６により事前に行われ、ＲＯＭ２０２等に予め記憶された設定情報を読み出して行ってもよい。このように、信頼度の算出方式を設定可能とすることで、バーコードの読み取りにかかる寛容性を運用に応じて変更できる。
【００３９】
次いで、ＣＰＵ２０１は、バーコード読取部２０４によるバーコードの読み取りを開始する（Ｓ１１）。バーコード読取部２０４によるバーコードの読み取りが開始されると、コード復号部２０１１は、バーコード読取部２０４により読み取られたバーコードを復号してコードを取得する（Ｓ１２）。次いで、信頼度算出部２０１２は、コード復号部２０１１により復号されたコードの信頼度を算出する（Ｓ１３）。
【００４０】
Ｓ１３において算出された信頼度は、復号されたコードとともにＲＡＭ２０３に一時記憶される。なお、バーコード読取部２０４によりバーコードの読み取りが逐次行われる場合には、復号されたコードごとに、算出された信頼度がＲＡＭ２０３に積算されて記憶されるものとする。例えば、バーコード読取部２０４によりバーコードが３回読み取られ、復号されたコードとして「４９１２３４５６７８９０４」が２回と、「４９１２３４５６７８９０２」が１回得られたものとする。この場合、「４９１２３４５６７８９０４」の２回分の信頼度がＲＡＭ２０３に積算されて記憶され、「４９１２３４５６７８９０２」の１回分の信頼度がＲＡＭ２０３に記憶される。
【００４１】
次いで、出力部２０１３は、信頼度算出部２０１２により算出された信頼度がＲＯＭ２０２等に予め設定される所定の閾値を越えたか否かを判定する（Ｓ１４）。算出された信頼度が所定の閾値を越えている場合（Ｓ１４：ＹＥＳ）、読み取りにより復号したコードは十分に信頼できることから、出力部２０１３は、復号したコードを端末装置３００へ出力し（Ｓ１５）、Ｓ１６へ処理を進める。なお、算出された信頼度が所定の閾値を超えない場合（Ｓ１４：ＮＯ）、読み取りにより復号したコードは十分に信頼できないことから、出力部２０１３は、復号したコードを出力することなくＳ１６へ処理を進める。
【００４２】
Ｓ１６において、ＣＰＵ２０１は、操作スイッチ１０３による読み取り終了等の操作入力に従って処理を終了するか否かを判定する（Ｓ１６）。処理を終了せずに継続する場合（Ｓ１６：ＮＯ）、ＣＰＵ２０１は、Ｓ１２へ処理を戻す。また、処理を終了する場合（Ｓ１６：ＹＥＳ）、ＣＰＵ２０１は、バーコード読取部２０４によるバーコードの読み取りを終了して処理を終了する。
【００４３】
なお、コード読取装置１００では、読み取られたバーコードを構成するセグメントごとに信頼度の算出を行い、全てのセグメントの信頼度が所定の閾値を超える場合に、復号されたコードを端末装置３００へ出力してもよい。このように、セグメント毎に誤読の確認を行うことで、読み取り結果の信頼性を向上させることが可能となる。具体的には、信頼度算出部２０１２は、Ｓ１３において、バーコード読取部２０４により読み取られたバーコードを構成するセグメントごとに、そのセグメントに含まれるコードに対する信頼度を算出し、各セグメントの信頼度をＲＡＭ２０３に一時記憶する。次いで、出力部２０１３は、Ｓ１４において、読み取られたバーコードを構成する全てのセグメント（フルセグメント分）の信頼度が所定の閾値を超える場合に、復号されたコードを端末装置３００へ出力する。
【００４４】
図１１は、フルセグメントの場合について信頼度による読取コードの出力を例示する概念図である。図１１に示すように、数回のバーコードの読み取りにより、ＲＡＭ２０３には、「４９１２３４５６７８９０４」及び「４９１２３４５６７８９０２」等の復号された読取コード（フルセグメント）と、その読取コードに対する信頼度の積算値が記憶される。出力部２０１３は、ＲＡＭ２０３に記憶された信頼度が例えば１．８程度の閾値を上回るセグメントを有効とする。図示例では、信頼度が「２．２」である「４９１２３４５６７８９０４」が有効とされる。次いで、出力部２０１３は、有効とされたコードをＲＡＭ２０３より読み出し、読み出したコードがフルセグメント分あるか否かを判定する。有効とされたコードがフルセグメント分ある場合、出力部２０１３は、そのコードを端末装置３００へ出力する。図示例では、有効とされた「４９１２３４５６７８９０４」が、フルセグメント分あることから、そのまま端末装置３００へ出力される。
【００４５】
図１２は、ハーフセグメントの場合について信頼度による読取コードの出力を例示する概念図である。図１２に示すように、数回のバーコードの読み取りにより、ＲＡＭ２０３には、左側のハーフセグメント分の読取コードである「４９１２３４５」、右側のハーフセグメント分の読取コードである「６７８９０２」及び「６７２９０４」と、読取コードに対する信頼度の積算値が記憶される。左側のハーフセグメントの「４９１２３４５」と、右側のハーフセグメントの「６７２９０４」が有効とされるものとする。出力部２０１３は、左側及び右側のハーフセグメントで有効とされたそれぞれのコードを読み出し、読み出したフルセグメント分のコードについて、チェックキャラクタの整合を確認する。次いで、出力部２０１３は、チェックキャラクタの整合が確認された場合に、左側及び右側のハーフセグメントで有効とされたフルセグメント分のコードを端末装置３００へ出力する。図示例では、左側のハーフセグメントの「４９１２３４５」と右側のハーフセグメントの「６７２９０４」とを組み合わせた「４９１２３４５６７２９０４」が端末装置３００へ出力される。
【００４６】
また、出力部２０１３は、ＲＡＭ２０３に記憶された複数のコードの中で、互いの信頼度の差が所定の閾値を超える場合の、大きな信頼度を算出したコードの方を端末装置３００へ出力してもよい。具体的には、出力部２０１３は、ＲＡＭ２０３に記憶されている読取コードを信頼度の大きい順にソートし、信頼度が１番大きいコードと、次に大きいコードとの間の信頼度の差が所定の閾値を超えたか否かを判定する。そして、出力部２０１３は、信頼度の差が所定の閾値を超えた場合に、信頼度が１番大きいコードを端末装置３００へ出力する。
【００４７】
読み取り時の条件（バーコードに対するコード読取装置１００の角度や照明等）が好条件であれば、正しく読み取れたコードの信頼度は大きくなり、正しく読み取れなかったコードの信頼度との差が十分に大きくなる。したがって、信頼度が１番大きいコードと、次に大きいコードとの間の信頼度の差が十分に大きな場合に、信頼度が１番大きいコードを端末装置３００へ出力することで、読み取り結果の信頼性を向上させることが可能となる。
【００４８】
図１３は、フルセグメントの場合について信頼度による読取コードの出力を例示する概念図である。図１３に示すように、「４９１２３４５６７８９０４」及び「４９１２３４５６７８９０２」等の復号された読取コード（フルセグメント）を信頼度の大きい順にソートし、互いの信頼度の値を比較する。そして、所定の閾値として例えば１．５以上の差がある場合に、信頼度の大きい「４９１２３４５６７８９０４」を有効とし、有効とされた「４９１２３４５６７８９０４」を端末装置３００へ出力する。
【００４９】
実施形態のコード読取装置１００は、ＣＰＵなどの制御装置と、ＲＯＭ（Read  Only  Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００５０】
実施形態のコード読取装置１００で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００５１】
また、実施形態のコード読取装置１００で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施形態のコード読取装置１００で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。また、本実施形態のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００５２】
実施形態のコード読取装置１００で実行されるプログラムは、上述した各部（コード復号部２０１１、信頼度算出部２０１２、出力部２０１３）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
【００５３】
なお、上述した実施形態では、コード読取装置１００のＣＰＵ２０１がプログラムを実行することで、コード復号部２０１１、信頼度算出部２０１２、出力部２０１３としての機能を提供する構成を例示した。しかしながら、コード復号部２０１１、信頼度算出部２０１２、出力部２０１３は、端末装置３００側のＣＰＵがプログラムを実行することで実現されてもよい。
【符号の説明】
【００５４】
１００…コード読取装置、１０１…筐体、１０２…把握部、１０３…操作スイッチ、１０４…通信ケーブル、２０１…ＣＰＵ、２０２…ＲＯＭ、２０３…ＲＡＭ、２０４…バーコード読取部、２０５…通信部、２０６…操作部、２０８…バス、３００…端末装置、２０１１…コード復号部、２０１２…信頼度算出部、２０１３…出力部、ＢＣ…バーコード、ＢＲ１、ＢＲ２…バー、Ｃ１…国コード、Ｃ２…商品メーカーコード、Ｃ３…商品アイテムコード、Ｃ４…モジュラチェックキャラクタ、ＳＰ１、ＳＰ２…間隙
【先行技術文献】
【特許文献】
【００５５】
【特許文献１】特開２００１−１７５８０５号公報
【図１】
0005341951.tif 000007
【図２】
0005341951.tif 000008
【図３】
0005341951.tif 000009
【図４】
0005341951.tif 000010
【図５】
0005341951.tif 000011
【図６】
0005341951.tif 000012
【図７】
0005341951.tif 000013
【図８】
0005341951.tif 000014
【図９】
0005341951.tif 000015
【図１０】
0005341951.tif 000016
【図１１】
0005341951.tif 000017
【図１２】
0005341951.tif 000018
【図１３】
0005341951.tif 000019