JP5115123B2 - Bar code reader and program - Google Patents

Bar code reader and program Download PDF

Info

Publication number
JP5115123B2
JP5115123B2 JP2007260081A JP2007260081A JP5115123B2 JP 5115123 B2 JP5115123 B2 JP 5115123B2 JP 2007260081 A JP2007260081 A JP 2007260081A JP 2007260081 A JP2007260081 A JP 2007260081A JP 5115123 B2 JP5115123 B2 JP 5115123B2
Authority
JP
Japan
Prior art keywords
data
bar
barcode
latest
barcode image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007260081A
Other languages
Japanese (ja)
Other versions
JP2009093210A (en
Inventor
哲也 黒松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2007260081A priority Critical patent/JP5115123B2/en
Publication of JP2009093210A publication Critical patent/JP2009093210A/en
Application granted granted Critical
Publication of JP5115123B2 publication Critical patent/JP5115123B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、バーコード読取装置及びプログラムに関する。   The present invention relates to a barcode reader and a program.

従来、一次元バーコードを読み取るバーコード読取機能を有するHT(Handy Terminal)等のバーコード読取装置が知られている。例えば、コンビニエンスストア等の店舗において、会計(売上登録)処理、棚卸時に、商品に付されたバーコードをバーコード読取装置で読み取り、そのバーコードに記録された商品の識別情報を取得していた。   Conventionally, a barcode reader such as an HT (Handy Terminal) having a barcode reading function for reading a one-dimensional barcode is known. For example, in a store such as a convenience store, a barcode attached to a product is read by a barcode reader at the time of accounting (sales registration) processing and inventory, and identification information of the product recorded on the barcode is acquired. .

バーコード読取装置は、記憶部、制御部及びバーコードイメージ読み取り部を備える。また、バーコード読取装置において、バーコードイメージ読み取り部でバーコードイメージを読み取り、バーコードの印刷品質不良やバーコードの汚れにより、そのバーコードイメージにバーコード条件不成立部分が含まれる場合には、そのバーコード条件不成立部分を、他のバーコードイメージのバーコード条件成立部分に置き換えて、読み取り可能にするようにバーコード合成を行っていた(例えば、特許文献1参照)。
特開2001−43300号公報
The barcode reading apparatus includes a storage unit, a control unit, and a barcode image reading unit. Further, in the barcode reader, when the barcode image is read by the barcode image reading unit and the barcode image includes a portion where the barcode condition is not satisfied due to poor print quality of the barcode or contamination of the barcode, The barcode condition unsatisfied part is replaced with a barcode condition satisfied part of another barcode image, and barcode synthesis is performed so that the barcode can be read (for example, see Patent Document 1).
JP 2001-43300 A

しかし、上記従来のバーコード合成方式では、読み取っているバーコードの種別(Code39等)が事前に分かっていないとバーコード条件が成立しているか否かが判断できなかった。このため、実際の運用される状況のように、複数のバーコードを読み取る場合は、従来のバーコード合成方式を適用するのが難しいという問題があった。   However, in the above conventional barcode synthesis method, it is impossible to determine whether or not the barcode condition is satisfied unless the type of barcode being read (Code 39 or the like) is known in advance. For this reason, there has been a problem that it is difficult to apply a conventional bar code composition method when reading a plurality of bar codes as in an actual operating situation.

また、従来のバーコード合成方式では、バーコードイメージの一部を他のバーコードイメージと置き換えるため、置き換えた部分の前後でバーコードの特性が変化してしまうおそれがあった。例えば、バーコードイメージ読み取り部から近距離で取得したバーコードイメージに対して、ある一部分を遠距離で取得したバーコードイメージに置き換えると、置き換えた前後でデータの大きさが変化し、バーコードイメージをデコードする場合に問題となるおそれがあった。   Further, in the conventional bar code composition method, a part of the bar code image is replaced with another bar code image, so that the bar code characteristics may change before and after the replaced part. For example, if a barcode image acquired at a short distance from the barcode image reading unit is replaced with a barcode image acquired at a long distance, the data size changes before and after the replacement, and the barcode image There was a possibility that it would become a problem when decoding.

本発明の課題は、バーコードの読み取り性能を向上することである。   An object of the present invention is to improve barcode reading performance.

上記課題を解決するために、請求項1に記載の発明のバーコード読取装置は、
バーコードから、当該バーコードの複数のバーの幅を示すバーデータからなるバーコードイメージを読み取る読取手段と、
前記バーコードに対応しバーデータ比較の基準となるバーコードイメージをベースデータとして記憶する記憶手段と、
前記読取手段により読み取られた最新のバーコードイメージをデコードし、当該デコードが失敗した場合に、前記記憶されたベースデータのバーデータと前記最新のバーコードイメージのバーデータとが一致するように、当該最新のバーコードイメージのバーデータを合成し、合成後のバーコードイメージをデコードする制御手段と、を備える。
In order to solve the above-described problem, a barcode reader according to claim 1 is provided.
Reading means for reading a barcode image composed of bar data indicating the width of a plurality of bars of the barcode from the barcode;
Storage means for storing, as base data, a barcode image corresponding to the barcode and serving as a reference for comparing barcode data;
When the latest barcode image read by the reading means is decoded and the decoding fails, the stored base data bar data and the latest barcode image bar data match, Control means for synthesizing the bar data of the latest barcode image and decoding the synthesized barcode image.

請求項2に記載の発明は、請求項1に記載のバーコード読取装置において、
前記制御手段は、合成前の前記最新のバーコードイメージと前記ベースデータとを比較し、当該合成前の最新のバーコードイメージが当該ベースデータよりもベースデータとして適する場合に、前記記憶手段に記憶されたベースデータを当該合成前の最新のバーコードイメージで更新する。
The invention according to claim 2 is the barcode reader according to claim 1,
Said control means compares said latest barcode images before combining with said base data, if the latest bar code image before the synthesis are suitable as base data than the base data, stored in the storage means The updated base data is updated with the latest barcode image before the synthesis .

請求項3に記載の発明は、請求項1又は2に記載のバーコード読取装置において、
前記制御手段は、前記合成後の最新のバーコードイメージの全てのバーデータにおいて各バーデータごとに変数とし、前記ベースデータの全てのバーデータにおいて各バーデータごとに変数とした場合の、これらの変数の差が、予め決められた許容範囲以内である場合に当該バーデータが一致すると判別する。
The invention according to claim 3 is the barcode reader according to claim 1 or 2,
The control means is a variable for each bar data in all bar data of the latest barcode image after the synthesis , and a variable for each bar data in all bar data of the base data. When the difference in the variables is within a predetermined allowable range, it is determined that the bar data match.

請求項4に記載の発明は、請求項1から3のいずれか一項に記載のバーコード読取装置において、
前記ベースデータは、バーデータ個数が最小であるバーコードイメージである。
The invention according to claim 4 is the barcode reader according to any one of claims 1 to 3,
The base data is a barcode image having the smallest number of bar data.

請求項5に記載の発明は、請求項1から4のいずれか一項に記載のバーコード読取装置において、
前記ベースデータは、デコード桁数が最長であるバーコードイメージである。
The invention according to claim 5 is the barcode reader according to any one of claims 1 to 4,
The base data is a barcode image having the longest number of decoding digits.

請求項6に記載の発明は、請求項1から5のいずれか一項に記載のバーコード読取装置において、
前記制御手段は、前記最新のバーコードイメージのバーデータが前記ベースデータのバーデータよりも小さい場合に、当該最新のバーコードイメージのバーデータを合成する。
The invention according to claim 6 is the barcode reader according to any one of claims 1 to 5,
When the bar data of the latest barcode image is smaller than the bar data of the base data, the control unit synthesizes the bar data of the latest barcode image.

請求項7に記載の発明のプログラムは、
コンピュータを、
バーコードから、当該バーコードの複数のバーの幅を示すバーデータからなるバーコードイメージを読み取る読取手段、
前記バーコードに対応しバーデータ比較の基準となるバーコードイメージをベースデータとして記憶する記憶手段、
前記読取手段により読み取られた最新のバーコードイメージをデコードし、当該デコードが失敗した場合に、前記記憶されたベースデータのバーデータと前記最新のバーコードイメージのバーデータとが一致するように、当該最新のバーコードイメージのバーデータを合成し、合成後のバーコードイメージをデコードする制御手段、
として機能させる。
The program of the invention described in claim 7 is:
Computer
Reading means for reading a barcode image composed of bar data indicating the width of a plurality of bars of the barcode from the barcode,
Storage means for storing a bar code image corresponding to the bar code as a reference for bar data comparison as base data;
When the latest barcode image read by the reading means is decoded and the decoding fails, the stored base data bar data and the latest barcode image bar data match, Control means for synthesizing the latest barcode image data and decoding the combined barcode image;
To function as.

本発明によれば、バーコードの読み取り性能を向上できる。   According to the present invention, the barcode reading performance can be improved.

以下、添付図面を参照して本発明に係る好適な実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. The present invention is not limited to the illustrated example.

図1〜図9を参照して本発明に係る実施の形態を説明する。先ず、図1を参照して本実施の形態の装置構成を説明する。図1に、本実施の形態のハンディターミナル1の構成を示す。   Embodiments according to the present invention will be described with reference to FIGS. First, the apparatus configuration of the present embodiment will be described with reference to FIG. In FIG. 1, the structure of the handy terminal 1 of this Embodiment is shown.

本実施の形態のバーコード読取装置としてのハンディターミナル1は、バーコード読取機能を有する携帯端末である。図1に示すように、ハンディターミナル1は、CPU(Central Processing Unit)11、入力部12、記憶手段としてのRAM(Random Access Memory)13、表示部14、記憶部15、通信部16、電源部17、読取手段としてのスキャナ部18等を備えて構成され、各部がバス19を介して接続される。スキャナ部18は、レーザ走査部181、レーザ受光部182及びバーカウンタ抽出部183を備えて構成される。   A handy terminal 1 as a barcode reading apparatus according to the present embodiment is a portable terminal having a barcode reading function. As shown in FIG. 1, a handy terminal 1 includes a CPU (Central Processing Unit) 11, an input unit 12, a RAM (Random Access Memory) 13 as a storage means, a display unit 14, a storage unit 15, a communication unit 16, and a power supply unit. 17, a scanner unit 18 serving as a reading unit, and the like, and each unit is connected via a bus 19. The scanner unit 18 includes a laser scanning unit 181, a laser light receiving unit 182, and a bar counter extraction unit 183.

CPU11は、ハンディターミナル1の各部を中央制御する。CPU11は、記憶部15に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをRAM13に展開し、RAM13に展開されたプログラムとの協働で、各種処理を実行する。CPU11は、プログラムとの協働により制御手段として機能する。   The CPU 11 centrally controls each part of the handy terminal 1. The CPU 11 expands a program designated from the system program and various application programs stored in the storage unit 15 in the RAM 13 and executes various processes in cooperation with the program expanded in the RAM 13. The CPU 11 functions as a control unit in cooperation with the program.

CPU11は、後述するデコードプログラムとの協働により、スキャナ部18により光学的に読み取られた最新データをデコードし、そのデコードが失敗した場合に、バーの個数が最小のバーコードイメージをベースデータとして使用して、最新データを合成してデコードし、そのデコードが失敗した場合に、デコード桁数が最長のバーコードイメージをベースデータとして使用して、最新データを合成してデコードする。ここで、一つのバーコードに対し、スキャナ部18における一回のレーザ光走査で取得した全てのバー(及びスペース)の幅(カウンタ値)をバーコードイメージという。また、一つ一つのバー(又はスペース)の幅をバーデータという。ベースデータは、読み取り対象のバーコードに対応しバーデータ比較の基準となるバーコードイメージである。また、最新データは、スキャナ部18により読み取られた最新のバーコードイメージとする。   The CPU 11 decodes the latest data optically read by the scanner unit 18 in cooperation with a decoding program to be described later, and when the decoding fails, the barcode image with the smallest number of bars is used as the base data. The latest data is synthesized and decoded. When the decoding fails, the latest data is synthesized and decoded using the barcode image having the longest number of decoding digits as the base data. Here, for one barcode, the width (counter value) of all the bars (and spaces) acquired by one scanning of the laser beam in the scanner unit 18 is called a barcode image. The width of each bar (or space) is called bar data. The base data is a bar code image that corresponds to the bar code to be read and serves as a bar data comparison reference. The latest data is the latest barcode image read by the scanner unit 18.

入力部12は、スキャン実行を入力するためのトリガキーと、カーソルキー、数字キー及び各種機能キー等を有するキーパッドとを備え、操作者から押下入力された各キーの入力信号をCPU11に出力する。   The input unit 12 includes a trigger key for inputting scan execution and a keypad having cursor keys, numeric keys, various function keys, and the like, and outputs an input signal of each key pressed by the operator to the CPU 11. .

RAM13は、揮発性のメモリであり、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納するワークエリアを有し、情報を一時的に格納する。表示部14は、LCD(Liquid Crystal Display)、ELD(ElectroLuminescent Display)等で構成され、CPU11からの表示信号に従って画面表示を行う。   The RAM 13 is a volatile memory, has a work area for storing various programs to be executed, data related to these various programs, and the like, and temporarily stores information. The display unit 14 includes an LCD (Liquid Crystal Display), an ELD (ElectroLuminescent Display), and the like, and performs screen display according to a display signal from the CPU 11.

記憶部15は、各種プログラム及び各種データを読み出し可能に記憶するROM(Read Only Memory)を備えて構成される。また、記憶部15には、各種情報を読み出し及び書き込み可能に記憶するフラッシュメモリをさらに含める構成としてもよい。記憶部15は、デコードプログラムを記憶する。   The storage unit 15 includes a ROM (Read Only Memory) that stores various programs and various data in a readable manner. The storage unit 15 may further include a flash memory that stores various information in a readable and writable manner. The storage unit 15 stores a decoding program.

通信部16は、無線又は有線の通信方式で外部機器と各種情報の通信を行う。電源部17は、ハンディターミナル1の各部に電源電力を供給する。電源部17は、例えば、CPU11の指示により、電源供給のオフ等を行う。   The communication unit 16 communicates various information with an external device using a wireless or wired communication method. The power supply unit 17 supplies power to each unit of the handy terminal 1. For example, the power supply unit 17 turns off the power supply in accordance with an instruction from the CPU 11.

スキャナ部18は、CPU11の指示に基づいて、バーコードを光学的に読み取り、バーコードイメージ(バーデータ)を取得する。レーザ走査部181は、レーザ光の発光部と可動式のミラー部とを備える。レーザ走査部181は、発光部からレーザ光を発光してミラー部に反射させて出射し、その際ミラー部を駆動してレーザ光の反射角度を変化させることにより、レーザ光がバーコード上を走査する。   The scanner unit 18 optically reads a barcode based on an instruction from the CPU 11 and acquires a barcode image (bar data). The laser scanning unit 181 includes a laser light emitting unit and a movable mirror unit. The laser scanning unit 181 emits a laser beam from the light emitting unit, reflects it to the mirror unit, and emits it. At that time, the mirror unit is driven to change the reflection angle of the laser beam so that the laser beam moves on the barcode. Scan.

レーザ受光部182は、レーザ走査部181から出射されたレーザ光がバーコードで反射された反射光を受光し、その受光した光信号を電気信号に変換する。バーカウンタ抽出部183は、レーザ受光部182により取得された電気信号から、予め定められた閾値を用いてバーコードの黒白の2値のカウンタ値を検出し、そのカウンタ値から、各バー(黒)、各スペース(白)の幅を示すバーデータを取得し、一回のレーザ走査で得られる全バーデータをバーコードイメージとして取得する。以下、特に断らない限り、バー及びスペースをまとめて“バー”と表現する。   The laser light receiving unit 182 receives reflected light obtained by reflecting the laser beam emitted from the laser scanning unit 181 with a barcode, and converts the received optical signal into an electrical signal. The bar counter extraction unit 183 detects a black and white binary counter value of the barcode from the electrical signal acquired by the laser light receiving unit 182 using a predetermined threshold value, and determines each bar (black color) from the counter value. ), Bar data indicating the width of each space (white) is acquired, and all bar data obtained by one laser scanning is acquired as a barcode image. Hereinafter, a bar and a space are collectively expressed as “bar” unless otherwise specified.

次いで、図2を参照して、バーコードイメージ及びバーデータの具体例を説明する。図2(a)に、バーコードB及び各バーの幅の一例を示す。図2(b)に、バーコードイメージ及びバーデータの一例を示す。   Next, specific examples of the barcode image and the bar data will be described with reference to FIG. FIG. 2A shows an example of the barcode B and the width of each bar. FIG. 2B shows an example of a barcode image and bar data.

図2(a)に示すような一次元のバーコードBが左から右への矢印の向きに、スキャナ部18によりバーコード読み取りされるものとする。バーコードBの各バーの幅は、順にバーデータC1〜C17であるものとする。このとき、図2(b)に示すように、一回のレーザ走査で、各バーデータC1〜C17を含むバーコードイメージが得られる。   It is assumed that a one-dimensional barcode B as shown in FIG. 2A is read by the scanner unit 18 in the direction of the arrow from left to right. The width of each bar of the barcode B is assumed to be bar data C1 to C17 in order. At this time, as shown in FIG. 2B, a barcode image including the respective bar data C1 to C17 is obtained by one laser scanning.

次に、図3〜図9を参照して、ハンディターミナル1の動作を説明する。先ず、図3を参照して、本実施の形態におけるバーコードイメージの合成の概念について説明する。図3に、ベースデータと最新データ(以下、スキャナ部18により最新に取得されたバーコードイメージを最新データという)との合成の一例を示す。   Next, the operation of the handy terminal 1 will be described with reference to FIGS. First, the concept of bar code image composition in the present embodiment will be described with reference to FIG. FIG. 3 shows an example of synthesis of the base data and the latest data (hereinafter, the barcode image acquired latest by the scanner unit 18 is referred to as the latest data).

バーコードの読み取りにおいては、バーコード読み取り時のノイズ、バーコードの品質不良(掠れ)、バーコードの傷、汚れ等により、本来一本であるはずのバーが複数に分割されたバーとして読み取られることが発生しうる。そこで、本実施の形態では、ベースデータを用いて、分割されたバーデータを一つにし、本来の幅のバーデータに合成する。つまり、最新データがベースデータと同じような比率(大きさ)になるように、最新データ内のバーデータを合成(結合)する。   When reading barcodes, the original bar should be read as a divided bar due to noise at the time of barcode reading, barcode quality defects (friction), scratches on the barcode, dirt, etc. Can happen. Therefore, in the present embodiment, the base data is used to combine the divided bar data into one and combine it with the original width bar data. That is, the bar data in the latest data is combined (combined) so that the latest data has the same ratio (size) as the base data.

1つのバーコードをスキャンする場合に、レーザ走査部181は、複数回レーザ走査を行い、その走査の都度バーコードイメージが取得される。取得済のバーコードイメージのうち、正確なデータを多く含むとみなされる最適なバーコードイメージをベースデータとする。   When scanning one barcode, the laser scanning unit 181 performs laser scanning a plurality of times, and a barcode image is acquired for each scanning. Of the acquired barcode images, an optimum barcode image that is considered to contain a lot of accurate data is used as base data.

本実施の形態では、1つのバーコードイメージに含まれるバーデータの個数が最小であるバーコードイメージ(以下、最小データとする)をベースデータの一つとして用いる。最小データは、バーデータ個数が最小であることから、バーの分割が少ない最適なデータと考えられるからである。また、1つのバーコードイメージにおいてデコードした桁数が最長であるバーコードイメージ(以下、最長データとする)をベースデータの一つとして用いる。最長データは、デコード処理が最も進んだデータであり、正しいデータが取れている領域が大きい最適なデータと考えられるからである。   In the present embodiment, a barcode image in which the number of bar data included in one barcode image is minimum (hereinafter referred to as minimum data) is used as one of base data. This is because the minimum data is considered to be optimal data with few bar divisions because the number of bar data is the minimum. Also, a barcode image having the longest number of digits decoded in one barcode image (hereinafter referred to as the longest data) is used as one of the base data. This is because the longest data is data that has been most advanced in decoding processing, and is considered to be optimal data with a large area where correct data is obtained.

図3に示すように、バーコード読み取り中に、ベースデータと、最新データとの各バーデータが左から順に比較される。例えば、あるバーについて、ベースデータのバーデータに比較し最新データのバーデータが小さいとすると、最新データのバーデータに次の2本のバーデータが合成(結合)されて、ベースデータのバーデータと比較される。2本のバーデータは、白(スペース)と黒(バー)との組み合わせとなり、この組み合わせで本来のバーデータが分割されていると考えられる。バーデータが一致するまで上記比較が繰り返される。   As shown in FIG. 3, the bar data of the base data and the latest data are compared in order from the left during barcode reading. For example, if the bar data of the latest data is smaller than the bar data of the base data for a certain bar, the following two bar data are combined (combined) with the bar data of the latest data, and the bar data of the base data Compared with The two pieces of bar data are a combination of white (space) and black (bar), and it is considered that the original bar data is divided by this combination. The above comparison is repeated until the bar data match.

図3の例では、b1、b2部分に、ベースデータに比較して最新データに分割が発生している。このため、b1、b2部分のバーデータが合成されて合成データ(合成後のバーコードイメージ)が生成される。b3部分では、最新データに比較してベースデータに分割が発生している。このため、b3部分のバーデータは合成されず、次のバーデータの比較に移る。このようにして得られた合成データは、新たなベースデータの候補となり、ベースデータがより適切なものに更新されていく。   In the example of FIG. 3, the latest data is divided compared to the base data in the b1 and b2 portions. For this reason, the bar data of the b1 and b2 portions are combined to generate combined data (the combined barcode image). In the b3 portion, the base data is divided compared to the latest data. For this reason, the bar data of the b3 portion is not synthesized, and the next bar data is compared. The synthesized data obtained in this way becomes a candidate for new base data, and the base data is updated to a more appropriate one.

次いで、図4〜図9を参照して、ハンディターミナル1で実行されるデコード処理を説明する。図4に、デコード処理の流れを示す。図5に、図4のデコード処理の続きの流れを示す。   Next, a decoding process executed in the handy terminal 1 will be described with reference to FIGS. FIG. 4 shows the flow of the decoding process. FIG. 5 shows a flow subsequent to the decoding process of FIG.

ハンディターミナル1において、スキャナ部18によりバーコードが読み取られる場合に、バーコードにレーザ光が複数回走査される。スキャナ部18において、レーザ走査部181によりバーコードにレーザ光が走査され、レーザ受光部182及びバーカウンタ抽出部183によりバーコードイメージ(全バーコードデータ)が取得される毎に、デコード処理が実行される。このように、ハンディターミナル1において、スキャナ部18により、バーコードにレーザ光が一回走査されて1つのバーコードイメージが取得されたことをトリガとして、記憶部15から読み出されて適宜RAM13上に展開されたデコードプログラムと、CPU11との協働で、デコード処理が実行される。スキャナ部18により取得されたバーコードイメージは、最新データとしてRAM13に格納される。   In the handy terminal 1, when the barcode is read by the scanner unit 18, the barcode is scanned with laser light a plurality of times. In the scanner unit 18, each time a laser beam is scanned by the laser scanning unit 181 and a barcode image (all barcode data) is acquired by the laser receiving unit 182 and the bar counter extraction unit 183, a decoding process is executed. Is done. As described above, in the handy terminal 1, the scanner unit 18 scans the barcode with the laser beam once to acquire one barcode image as a trigger, and is read from the storage unit 15 and appropriately stored in the RAM 13. The decoding process is executed in cooperation with the CPU 11 and the decoding program developed in FIG. The barcode image acquired by the scanner unit 18 is stored in the RAM 13 as the latest data.

図4及び図5に示すように、先ず、スキャナ部18により取得された合成前のバーコードイメージ(最新データ)がデコードされる(ステップS1)。ステップS1において、デコードの成功した桁数(デコード桁数)も取得される。そして、ステップS1のデコードが最新データの最後まで完全に成功したか否かが判別される(ステップS2)。   As shown in FIGS. 4 and 5, first, the barcode image (latest data) before synthesis acquired by the scanner unit 18 is decoded (step S1). In step S1, the number of digits successfully decoded (number of decoded digits) is also acquired. Then, it is determined whether or not the decoding in step S1 has been completely successful up to the end of the latest data (step S2).

ステップS1のデコードが完全に成功していない場合(ステップS2;NO)、バーコードイメージ中のバーデータ個数が最小であるバーコードイメージ(最小データ)がRAM13に格納されているか否かが判別される(ステップS3)。最小データがある場合(ステップS3;YES)、RAM13に格納されている最小データをベースデータとして使用して最新データの合成処理が実行される(ステップS4)。   If the decoding in step S1 is not completely successful (step S2; NO), it is determined whether or not the barcode image (minimum data) having the smallest number of barcode data in the barcode image is stored in the RAM 13. (Step S3). When there is the minimum data (step S3; YES), the latest data is synthesized using the minimum data stored in the RAM 13 as the base data (step S4).

そして、ステップS4で合成された合成データがデコードされる(ステップS5)。ステップS5において、デコードのデコード桁数も取得される。そして、ステップS5のデコードが完全に成功したか否かが判別される(ステップS6)。   Then, the synthesized data synthesized in step S4 is decoded (step S5). In step S5, the number of decoded digits is also acquired. Then, it is determined whether or not the decoding in step S5 is completely successful (step S6).

ステップS5のデコードが完全に成功していない場合(ステップS6;NO)、バーコードイメージ中のデコード桁数が最長であるバーコードイメージ(最長データ)がRAM13に格納されているか否かが判別される(ステップS7)。最小データがない場合(ステップS3;NO)、ステップS7に移行される。最長データがある場合(ステップS7;YES)、RAM13に格納されている最長データをベースデータとして使用して最新データの合成処理が実行される(ステップS8)。   If the decoding in step S5 is not completely successful (step S6; NO), it is determined whether or not the barcode image (longest data) having the longest number of decoded digits in the barcode image is stored in the RAM 13. (Step S7). When there is no minimum data (step S3; NO), the process proceeds to step S7. When there is the longest data (step S7; YES), the latest data is synthesized using the longest data stored in the RAM 13 as the base data (step S8).

そして、ステップS8で合成された合成データがデコードされる(ステップS9)。ステップS9において、デコードのデコード桁数も取得される。そして、ステップS9のデコードが完全に成功したか否かが判別される(ステップS10)。   Then, the synthesized data synthesized in step S8 is decoded (step S9). In step S9, the number of decoded digits is also acquired. Then, it is determined whether or not the decoding in step S9 is completely successful (step S10).

ステップS9のデコードが完全に成功していない場合(ステップS10;NO)、最新データのステータスにデコード失敗が設定される(ステップS11)。最長データがない場合(ステップS7;NO)、ステップS11に移行される。ステップS1のデコードが完全に成功した場合(ステップS2;YES)、ステップS5のデコードが完全に成功した場合(ステップS6;YES)、又はステップS9のデコードが完全に成功した場合(ステップS10;YES)、最新データのステータスにデコード成功が設定される(ステップS12)。デコード成功の設定は、デコードを複数回(例えば3回)実行し、全てデコードが完全に成功した場合に、スータスをデコード成功に設定することとしてもよい。   If the decoding in step S9 is not completely successful (step S10; NO), decoding failure is set in the status of the latest data (step S11). When there is no longest data (step S7; NO), it transfers to step S11. When the decoding of step S1 is completely successful (step S2; YES), the decoding of step S5 is completely successful (step S6; YES), or the decoding of step S9 is completely successful (step S10; YES) ) Successful decoding is set in the status of the latest data (step S12). The decoding success setting may be performed by executing decoding a plurality of times (for example, three times) and setting the status to the decoding success when all the decodings are completely successful.

そして、合成前の最新データのバーデータ個数が、RAM13に格納された最小データのバーデータ個数よりも小さいか否かが判別される(ステップS13)。合成前の最新データのバーデータ個数が最小データより小さい場合(ステップS13;YES)、RAM13に格納される最小データが合成前の最新データに更新されてベースデータが更新される(ステップS14)。   Then, it is determined whether or not the number of bar data of the latest data before synthesis is smaller than the number of bar data of the minimum data stored in the RAM 13 (step S13). If the number of bar data of the latest data before synthesis is smaller than the minimum data (step S13; YES), the minimum data stored in the RAM 13 is updated to the latest data before synthesis and the base data is updated (step S14).

そして、合成後の最新データのデコード桁数が、RAM13に格納された最長データのデコード桁数よりも長いか否かが判別される(ステップS15)。合成後の最新データ及びそのデコード桁数は、ステップS1、S5又はS10で得られたものとする。合成前の最新データのバーデータ個数が最小データより小さくない場合(ステップS13;NO)、ステップS15に移行される。合成後の最新データのデコード桁数が最長データより長い場合(ステップS15;YES)、RAM13に格納される最長データが最新データに更新されてベースデータが更新され(ステップS16)、デコード処理が終了する。合成後の最新データのデコード桁数が最長データより長くない場合(ステップS15;NO)、デコード処理が終了する。   Then, it is determined whether or not the number of decoded digits of the latest data after synthesis is longer than the number of decoded digits of the longest data stored in the RAM 13 (step S15). It is assumed that the latest data after synthesis and the number of decoded digits are obtained in step S1, S5 or S10. When the number of bar data of the latest data before the synthesis is not smaller than the minimum data (step S13; NO), the process proceeds to step S15. When the number of decoding digits of the latest data after synthesis is longer than the longest data (step S15; YES), the longest data stored in the RAM 13 is updated to the latest data and the base data is updated (step S16), and the decoding process ends. To do. When the number of decoding digits of the latest data after the synthesis is not longer than the longest data (step S15; NO), the decoding process ends.

次いで、図6〜図8を参照して、デコード処理のステップS4,S8のベースデータを使用した最新データの合成処理を説明する。図6に、デコード処理内の合成処理の流れを示す。図7に、図6の合成処理の続きの流れを示す。図8に、ベースデータと最新データとの合成の様子を示す。ステップS4でベースデータとして最小データを使用し、ステップS8でベースデータとして最長データを使用するが、まとめてベースデータを使用するものとして説明する。   Next, the latest data composition process using the base data in steps S4 and S8 of the decoding process will be described with reference to FIGS. FIG. 6 shows a flow of the synthesis process in the decoding process. FIG. 7 shows a continuation flow of the synthesis process of FIG. FIG. 8 shows how the base data and the latest data are combined. In step S4, the minimum data is used as the base data, and in step S8, the longest data is used as the base data.

図8に示すように、ベースデータの各バーデータを変数Nで表し、最新データの各バーデータを変数nで表す。本実施の形態の合成処理では、ベースデータを使用して最新データを合成して合成データを得る。   As shown in FIG. 8, each bar data of the base data is represented by a variable N, and each bar data of the latest data is represented by a variable n. In the synthesis process of the present embodiment, the latest data is synthesized using the base data to obtain synthesized data.

図6及び図7に示すように、先ず、ベースデータの未読み込みのバーデータNが左から順に一つRAM13から読み込まれる(ステップS21)。そして、最新データの未読み込みのバーデータnが左から順に一つRAM13から読み込まれる(ステップS22)。そして、ステップS21,S22において、ベースデータ又は最新データの全てのバーデータが読み込まれたか(直前のステップS21又はS22において、読み込むバーデータがないか)否かが判別される(ステップS23)。   As shown in FIGS. 6 and 7, first, unread bar data N of base data is read from the RAM 13 in order from the left (step S21). Then, the unread bar data n of the latest data is read from the RAM 13 one by one from the left (step S22). Then, in steps S21 and S22, it is determined whether or not all bar data of the base data or the latest data has been read (whether there is no bar data to be read in the immediately preceding step S21 or S22) (step S23).

ベースデータ又は最新データの全てのバーデータが読み込まれた場合(ステップS23;YES)、合成処理が終了する。ベースデータ又は最新データの全てのバーデータが読み込まれていない場合(ステップS23;NO)、バーデータnとバーデータNとの差d1=|n−N|が算出される(ステップS24)。そして、差d1がn/10よりも小さいか否かが判別される(ステップS25)。   When all the bar data of the base data or the latest data has been read (step S23; YES), the synthesis process ends. When all the bar data of the base data or the latest data has not been read (step S23; NO), the difference d1 = | n−N | between the bar data n and the bar data N is calculated (step S24). Then, it is determined whether or not the difference d1 is smaller than n / 10 (step S25).

差d1がn/10よりも小さい場合(ステップS25;YES)、バーデータNがバーデータnと一致したとみなされ、バーデータnが合成データに挿入され(ステップS26)、ステップS21に移行される。   When the difference d1 is smaller than n / 10 (step S25; YES), it is considered that the bar data N matches the bar data n, the bar data n is inserted into the combined data (step S26), and the process proceeds to step S21. The

差d1がn/10以上である場合(ステップS25;NO)、バーデータnがバーデータNより小さいか否かが判別される(ステップS27)。バーデータnがバーデータNより小さい場合(ステップS27;YES)、最新データに分割が発生しているものとみなされ、最新データのベースデータへの一致処理が開始され、最新データのバーデータnの次のバーデータ(n+1)、(n+2)がRAM13から読み込まれ、合成後のバーデータna=n+(n+1)+(n+2)が算出される(ステップS28)。   When the difference d1 is n / 10 or more (step S25; NO), it is determined whether or not the bar data n is smaller than the bar data N (step S27). When the bar data n is smaller than the bar data N (step S27; YES), it is considered that the latest data has been divided, the matching process of the latest data to the base data is started, and the bar data n of the latest data is started. The next bar data (n + 1) and (n + 2) are read from the RAM 13, and the combined bar data na = n + (n + 1) + (n + 2) is calculated (step S28).

そして、バーデータnaとバーデータNとの差d2=|na−N|が算出される(ステップS29)。そして、差d2がna/10よりも小さいか否かが判別される(ステップS30)。差d2がna/10よりも小さい場合(ステップS30;YES)、バーデータnaがバーデータNと一致したとみなされ、バーデータnaが合成データに挿入され(ステップS31)、ステップS21に移行される。   Then, the difference d2 = | na−N | between the bar data na and the bar data N is calculated (step S29). Then, it is determined whether or not the difference d2 is smaller than na / 10 (step S30). When the difference d2 is smaller than na / 10 (step S30; YES), it is considered that the bar data na coincides with the bar data N, the bar data na is inserted into the synthesized data (step S31), and the process proceeds to step S21. The

差d2がna/10以上である場合(ステップS30;NO)、差d2が差d1より小さいか否かが判別される(ステップS32)。差d2が差d1より小さい場合(ステップS32;YES)、合成によりバーデータの差が縮まっており、差d1に差d2の値が代入される(ステップS33)。そして、バーデータnにバーデータnaの値が代入され(ステップS34)、ステップS28に移行される。   When the difference d2 is greater than or equal to na / 10 (step S30; NO), it is determined whether or not the difference d2 is smaller than the difference d1 (step S32). When the difference d2 is smaller than the difference d1 (step S32; YES), the difference of the bar data is reduced by the synthesis, and the value of the difference d2 is substituted for the difference d1 (step S33). Then, the value of the bar data na is substituted for the bar data n (step S34), and the process proceeds to step S28.

差d2が差d1以上である場合(ステップS32;NO)、合成によりバーデータの差が拡大しており、バーデータnが合成データに挿入される(ステップS35)。そして、最新データのバーデータnの読込位置が左にバーデータ2つ分戻され(ステップS36)、ステップS21に移行される。   When the difference d2 is greater than or equal to the difference d1 (step S32; NO), the difference between the bar data is expanded by the synthesis, and the bar data n is inserted into the synthesized data (step S35). Then, the reading position of the latest data of bar data n is returned to the left by two bar data (step S36), and the process proceeds to step S21.

バーデータnがバーデータN以上である場合(ステップS27;NO)、ベースデータに分割が発生しているものとみなされ、ベースデータの比較位置移動処理が開始され、ベースデータのバーデータNの次のバーデータ(N+1)、(N+2)がRAM13から読み込まれ、合成後のバーデータNa=N+(N+1)+(N+2)が算出される(ステップS37)。   When the bar data n is equal to or greater than the bar data N (step S27; NO), it is considered that the base data has been divided, the base data comparison position movement process is started, and the base data bar data N The next bar data (N + 1), (N + 2) is read from the RAM 13, and the combined bar data Na = N + (N + 1) + (N + 2) is calculated (step S37).

そして、バーデータnとバーデータNaとの差d2=|n−Na|が算出される(ステップS38)。そして、差d2がn/10よりも小さいか否かが判別される(ステップS39)。差d2がn/10よりも小さい場合(ステップS39;YES)、バーデータnがバーデータNaと一致したとみなされ、バーデータnが合成データに挿入され(ステップS40)、ステップS21に移行される。   Then, the difference d2 = | n−Na | between the bar data n and the bar data Na is calculated (step S38). Then, it is determined whether or not the difference d2 is smaller than n / 10 (step S39). When the difference d2 is smaller than n / 10 (step S39; YES), it is considered that the bar data n matches the bar data Na, the bar data n is inserted into the synthesized data (step S40), and the process proceeds to step S21. The

差d2がn/10以上である場合(ステップS39;NO)、差d2が差d1より小さいか否かが判別される(ステップS41)。差d2が差d1より小さい場合(ステップS41;YES)、合成によりバーデータの差が縮まっており、差d1に差d2の値が代入される(ステップS42)。そして、バーデータNにバーデータNaの値が代入され(ステップS43)、ステップS37に移行される。   When the difference d2 is n / 10 or more (step S39; NO), it is determined whether or not the difference d2 is smaller than the difference d1 (step S41). When the difference d2 is smaller than the difference d1 (step S41; YES), the difference of the bar data is reduced by the synthesis, and the value of the difference d2 is substituted for the difference d1 (step S42). Then, the value of the bar data Na is substituted for the bar data N (step S43), and the process proceeds to step S37.

差d2が差d1以上である場合(ステップS41;NO)、合成によりバーデータの差が拡大しており、バーデータnが合成データに挿入される(ステップS44)。そして、ベースデータのバーデータNの読込位置が左にバーデータ2つ分戻され(ステップS45)、ステップS21に移行される。   When the difference d2 is greater than or equal to the difference d1 (step S41; NO), the difference between the bar data is enlarged by the synthesis, and the bar data n is inserted into the synthesized data (step S44). Then, the reading position of the bar data N of the base data is returned to the left by two bar data (step S45), and the process proceeds to step S21.

ここで、図9を参照して、上記合成処理の具体例を説明する。図9に、ベースデータと最新データとの一例を示す。   Here, a specific example of the synthesis process will be described with reference to FIG. FIG. 9 shows an example of the base data and the latest data.

図9に示すように、バーデータA1〜A10を有するベースデータと、バーデータa1〜a12を有する最新データと、を考える。先ず、(a1−A1)<a1/10であるので、バーデータa1とバーデータA1とが一致するとみなされ、バーデータa1が合成データに挿入される。   As shown in FIG. 9, consider base data having bar data A1 to A10 and latest data having bar data a1 to a12. First, since (a1-A1) <a1 / 10, it is considered that the bar data a1 and the bar data A1 match, and the bar data a1 is inserted into the synthesized data.

そして、(A2−a2)>a2/10であるので、バーデータa2にバーデータa3,a4が合成される。そして、(A2−(a2+a3+a4))<(a2+a3+a4)/10であるので、バーデータ(a2+a3+a4)とバーデータA2とが一致するとみなされ、バーデータ(a1+a2+a3)が合成データに挿入される。   Since (A2-a2)> a2 / 10, the bar data a3 and a4 are combined with the bar data a2. Since (A2− (a2 + a3 + a4)) <(a2 + a3 + a4) / 10, it is considered that the bar data (a2 + a3 + a4) and the bar data A2 match, and the bar data (a1 + a2 + a3) is inserted into the combined data.

同様にして、バーデータa5〜a8は、バーデータA3〜A6と一致するとみなされ、バーデータa5〜a8が合成データに挿入される。そして、(a9−A7)>a9/10であるので、バーデータA7にバーデータA8,A9が合成される。そして、(a9−(A7+A8+A9))>a9/10であり且つ(a9−A7)<(a9−(A7+A8+A9))であるので、バーデータa9とバーデータA7とが一致するとみなされ、バーデータa9が合成データに挿入される。このようにして、ベースデータのバーデータA1〜A10を使用して、最新データのバーデータa1〜a12の合成が行われる。   Similarly, the bar data a5 to a8 are considered to coincide with the bar data A3 to A6, and the bar data a5 to a8 are inserted into the synthesized data. Since (a9-A7)> a9 / 10, the bar data A8 and A9 are combined with the bar data A7. Since (a9− (A7 + A8 + A9))> a9 / 10 and (a9−A7) <(a9− (A7 + A8 + A9)), it is considered that the bar data a9 and the bar data A7 match, and the bar data a9. Is inserted into the composite data. In this way, the bar data a1 to a12 of the latest data are synthesized using the bar data A1 to A10 of the base data.

以上、本実施の形態によれば、ハンディターミナル1は、スキャナ部18により読み取られた最新データをデコードし、当該デコードが失敗した場合に、RAM13に記憶されたベースデータのバーデータと最新データのバーデータとが一致するように、当該最新データのバーデータに続く2本(スペース及びバー)のバーデータを合成して合成データを生成し、この合成データをデコードしていく。このため、ノイズ、バーコードの印刷品質不良、汚れ、傷等によりデコードが失敗した場合にも、ベースデータに基づいて最新データを適切に合成してデコードでき、バーコードの読み取り性能を向上できる。   As described above, according to the present embodiment, the handy terminal 1 decodes the latest data read by the scanner unit 18 and, when the decoding fails, the bar data of the base data stored in the RAM 13 and the latest data. Two bar data (space and bar) following the bar data of the latest data are combined to generate combined data so that the bar data matches, and the combined data is decoded. For this reason, even when decoding fails due to noise, barcode printing quality defects, dirt, scratches, etc., the latest data can be appropriately synthesized and decoded based on the base data, and the barcode reading performance can be improved.

また、合成前の最新データのバーデータ数がベースデータのバーデータ数より大きいか否かを判別し、合成前の最新データのバーデータ数が大きい場合に、最小データを合成前の最新データで更新する。また、合成後の最新データのデコード桁数がベースデータのデコード桁数より長いか否かを判別し、合成後の最新データのデコード桁数が大きい場合に、最長データを合成後の最新データで更新する。このため、ベースデータをより適切な合成前又は合成後の最新データで容易に更新できる。   Also, it is determined whether or not the number of bar data of the latest data before synthesis is larger than the number of bar data of the base data. If the number of bar data of the latest data before synthesis is large, the minimum data is the latest data before synthesis. Update. Also, it is determined whether the number of decoding digits of the latest data after synthesis is longer than the number of decoding digits of the base data. If the number of decoding digits of the latest data after synthesis is large, the longest data is replaced with the latest data after synthesis. Update. For this reason, the base data can be easily updated with the latest data before synthesis or after synthesis.

また、合成前又は合成後の最新データのバーデータとベースデータのバーデータとの差が、最新データのバーデータの1/10より小さい場合に当該バーデータが一致すると判別する。このため、バーデータの誤差を許容範囲として、最新データのバーデータとベースデータのバーデータとの一致を適切に判別できる。   Further, when the difference between the bar data of the latest data before or after synthesis and the bar data of the base data is smaller than 1/10 of the bar data of the latest data, it is determined that the bar data match. For this reason, it is possible to appropriately determine the coincidence between the bar data of the latest data and the bar data of the base data with the error of the bar data as an allowable range.

また、ベースデータとして、バーデータ数が最小であるバーコードイメージである最小データを用いた。このため、ベースデータとして適切なバーコードイメージを用いることができる。   As the base data, the minimum data that is a barcode image with the minimum number of bar data is used. For this reason, an appropriate barcode image can be used as the base data.

また、ベースデータとして、デコード桁数が最長であるバーコードイメージである最長データを用いた。このため、ベースデータとして適切なバーコードイメージを用いることができる。   As the base data, the longest data, which is a barcode image having the longest number of decoding digits, was used. For this reason, an appropriate barcode image can be used as the base data.

また、最新データのバーデータがベースデータのバーデータよりも小さい場合に、この最新データのバーデータを合成して合成データとする。このため、デコード対象として最新データから合成データを生成できる。   In addition, when the bar data of the latest data is smaller than the bar data of the base data, the bar data of the latest data is synthesized into synthesized data. Therefore, synthesized data can be generated from the latest data as a decoding target.

なお、上記実施の形態における記述は、本発明に係るバーコード読取装置及びプログラムの一例であり、これに限定されるものではない。   The description in the above embodiment is an example of the barcode reading apparatus and the program according to the present invention, and the present invention is not limited to this.

上記実施の形態では、バーコード読取装置としてハンディターミナルを用いる構成としたが、ECR(Electronic Cash Register)、POS(Point Of Sales System)端末等に接続されるバーコード読取装置等、他のバーコード読取装置としてもよい。   In the above embodiment, the handy terminal is used as the bar code reader. However, other bar codes such as a bar code reader connected to an ECR (Electronic Cash Register), a POS (Point Of Sales System) terminal or the like are used. It may be a reading device.

また、上記実施の形態では、ベースデータとして、バーデータ数が最小のバーコードイメージと、デコード桁数が最長のバーコードイメージと、を用いる構成として説明したが、これに限定されるものではない。例えば、ベースデータとして、バーデータの比率分布がある一定範囲内である(バーの太さが一定比率である)バーコードイメージや、全てのバーデータがある一定値以上の(バー幅が細過ぎない)バーコードイメージ等を用いる構成としてもよい。   In the above embodiment, the barcode data having the smallest number of barcode data and the barcode image having the longest number of decoding digits are described as the base data. However, the present invention is not limited to this. . For example, as base data, a bar code image with a bar data ratio distribution within a certain range (bar thickness is a constant ratio), or all bar data with a certain value or more (bar width is too narrow) No) A bar code image or the like may be used.

また、上記実施の形態では、合成前の最新データによりベースデータとしての最小データを更新し、合成後の最新データによりベースデータとしての最長データを更新する構成として説明したが、これに限定されるものではない。例えば、合成後の最新データにより最小データを更新し、合成前の最新データにより最長データを更新する構成等、合成前及び合成後の最新データの少なくとも一つによりベースデータを更新する構成としてもよい。   In the above embodiment, the minimum data as base data is updated with the latest data before synthesis, and the longest data as base data is updated with the latest data after synthesis. However, the present invention is not limited to this. It is not a thing. For example, the base data may be updated with at least one of the latest data before and after synthesis, such as a configuration in which the minimum data is updated with the latest data after synthesis and the longest data is updated with the latest data before synthesis. .

また、上記実施の形態では、合成前の最新データのデコードが失敗した場合に、最小データを用いた最新データの合成及びデコードを行い、最小データを用いた最新データのデコードが失敗した場合に、最長データを用いた最新データの合成及びデコードを行う構成として説明したが、これに限定されるものではない。例えば、1つの種類のベースデータを用いて最新データの合成及びデコードを行う構成でもよく、複数の種類のベースデータを用いて最新データの合成及びデコードを行う構成でもよい。また、合成及びデコードを行うベースデータの順は、特定の順に限定されない。   In the above embodiment, when decoding of the latest data before synthesis fails, the latest data is synthesized and decoded using the minimum data, and when decoding of the latest data using the minimum data fails, Although it has been described as a configuration for synthesizing and decoding the latest data using the longest data, it is not limited to this. For example, the configuration may be such that the latest data is synthesized and decoded using one type of base data, or the latest data may be synthesized and decoded using a plurality of types of base data. Further, the order of base data to be combined and decoded is not limited to a specific order.

また、上記実施の形態におけるハンディターミナル1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱することのない範囲で適宜変更可能であることは勿論である。   Moreover, it is needless to say that the detailed configuration and detailed operation of each component of the handy terminal 1 in the above embodiment can be changed as appropriate without departing from the spirit of the present invention.

本発明に係る実施の形態のハンディターミナルの構成を示すブロック図である。It is a block diagram which shows the structure of the handy terminal of embodiment which concerns on this invention. (a)は、バーコード及び各バーの幅の一例を示す図である。(b)は、バーコードイメージ及びバーデータの一例を示す図である。(A) is a figure showing an example of the width of a bar code and each bar. (B) is a figure which shows an example of a barcode image and bar data. ベースデータと最新バーコードイメージとの合成の一例を示す図である。It is a figure which shows an example of a synthesis | combination with base data and the newest barcode image. デコード処理を示すフローチャートである。It is a flowchart which shows a decoding process. 図4のデコード処理の続きを示すフローチャートである。5 is a flowchart showing a continuation of the decoding process of FIG. デコード処理内の合成処理を示すフローチャートである。It is a flowchart which shows the synthetic | combination process in a decoding process. 図6の合成処理の続きを示すフローチャートである。It is a flowchart which shows the continuation of the synthetic | combination process of FIG. ベースデータと最新データとの合成の様子を示す図である。It is a figure which shows the mode of a synthesis | combination with base data and the newest data. ベースデータと最新データとの一例を示す。An example of base data and the latest data is shown.

符号の説明Explanation of symbols

1 ハンディターミナル
11 CPU
12 入力部
13 RAM
14 表示部
15 記憶部
16 通信部
17 電源部
18 スキャナ部
181 レーザ走査部
182 レーザ受光部
183 バーカウンタ抽出部
19 バス
1 Handy terminal 11 CPU
12 Input unit 13 RAM
14 Display unit 15 Storage unit 16 Communication unit 17 Power supply unit 18 Scanner unit 181 Laser scanning unit 182 Laser light receiving unit 183 Bar counter extraction unit 19 Bus

Claims (7)

バーコードから、当該バーコードの複数のバーの幅を示すバーデータからなるバーコードイメージを読み取る読取手段と、
前記バーコードに対応しバーデータ比較の基準となるバーコードイメージをベースデータとして記憶する記憶手段と、
前記読取手段により読み取られた最新のバーコードイメージをデコードし、当該デコードが失敗した場合に、前記記憶されたベースデータのバーデータと前記最新のバーコードイメージのバーデータとが一致するように、当該最新のバーコードイメージのバーデータを合成し、合成後のバーコードイメージをデコードする制御手段と、
を備えるバーコード読取装置。
Reading means for reading a barcode image composed of bar data indicating the width of a plurality of bars of the barcode from the barcode;
Storage means for storing, as base data, a barcode image corresponding to the barcode and serving as a reference for comparing barcode data;
When the latest barcode image read by the reading means is decoded and the decoding fails, the stored base data bar data and the latest barcode image bar data match, Control means for synthesizing the latest barcode image and decoding the combined barcode image;
A barcode reader.
前記制御手段は、合成前の前記最新のバーコードイメージと前記ベースデータとを比較し、当該合成前の最新のバーコードイメージが当該ベースデータよりもベースデータとして適する場合に、前記記憶手段に記憶されたベースデータを当該合成前の最新のバーコードイメージで更新する請求項1に記載のバーコード読取装置。 Said control means compares said latest barcode images before combining with said base data, if the latest bar code image before the synthesis are suitable as base data than the base data, stored in the storage means The barcode reader according to claim 1, wherein the base data is updated with the latest barcode image before the synthesis . 前記制御手段は、前記合成後の最新のバーコードイメージの全てのバーデータにおいて各バーデータごとに変数とし、前記ベースデータの全てのバーデータにおいて各バーデータごとに変数とした場合の、これらの変数の差が、予め決められた許容範囲以内である場合に当該バーデータが一致すると判別する請求項1又は2に記載のバーコード読取装置。 The control means is a variable for each bar data in all bar data of the latest barcode image after the synthesis , and a variable for each bar data in all bar data of the base data. The bar code reading device according to claim 1, wherein when the difference between the variables is within a predetermined allowable range, it is determined that the bar data matches. 前記ベースデータは、バーデータ個数が最小であるバーコードイメージである請求項1から3のいずれか一項に記載のバーコード読取装置。   4. The barcode reader according to claim 1, wherein the base data is a barcode image having a minimum number of barcode data. 5. 前記ベースデータは、デコード桁数が最長であるバーコードイメージである請求項1から4のいずれか一項に記載のバーコード読取装置。   5. The barcode reader according to claim 1, wherein the base data is a barcode image having the longest number of decoding digits. 前記制御手段は、前記最新のバーコードイメージのバーデータが前記ベースデータのバーデータよりも小さい場合に、当該最新のバーコードイメージのバーデータを合成する請求項1から5のいずれか一項に記載のバーコード読取装置。   The said control means combines the bar data of the said latest barcode image, when the bar data of the said latest barcode image is smaller than the bar data of the said base data. The barcode reader according to the description. コンピュータを、
バーコードから、当該バーコードの複数のバーの幅を示すバーデータからなるバーコードイメージを読み取る読取手段、
前記バーコードに対応しバーデータ比較の基準となるバーコードイメージをベースデータとして記憶する記憶手段、
前記読取手段により読み取られた最新のバーコードイメージをデコードし、当該デコードが失敗した場合に、前記記憶されたベースデータのバーデータと前記最新のバーコードイメージのバーデータとが一致するように、当該最新のバーコードイメージのバーデータを合成し、合成後のバーコードイメージをデコードする制御手段、
として機能させるためのプログラム。
Computer
Reading means for reading a barcode image composed of bar data indicating the width of a plurality of bars of the barcode from the barcode,
Storage means for storing a bar code image corresponding to the bar code as a reference for bar data comparison as base data;
When the latest barcode image read by the reading means is decoded and the decoding fails, the stored base data bar data and the latest barcode image bar data match, Control means for synthesizing the latest barcode image data and decoding the combined barcode image;
Program to function as.
JP2007260081A 2007-10-03 2007-10-03 Bar code reader and program Active JP5115123B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007260081A JP5115123B2 (en) 2007-10-03 2007-10-03 Bar code reader and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007260081A JP5115123B2 (en) 2007-10-03 2007-10-03 Bar code reader and program

Publications (2)

Publication Number Publication Date
JP2009093210A JP2009093210A (en) 2009-04-30
JP5115123B2 true JP5115123B2 (en) 2013-01-09

Family

ID=40665190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007260081A Active JP5115123B2 (en) 2007-10-03 2007-10-03 Bar code reader and program

Country Status (1)

Country Link
JP (1) JP5115123B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9857814B2 (en) 2013-05-17 2018-01-02 Intel Corporation On-chip supply generator using dynamic circuit reference

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6168675A (en) * 1984-09-12 1986-04-09 Tokyo Electric Co Ltd Bar code reader
JP2776035B2 (en) * 1991-02-18 1998-07-16 富士通株式会社 Barcode reader
JPH07239899A (en) * 1994-02-28 1995-09-12 Toshiba Corp Optical character reader
JP2002133363A (en) * 2000-10-20 2002-05-10 Fujitsu Kiden Ltd Bar code demodulation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9857814B2 (en) 2013-05-17 2018-01-02 Intel Corporation On-chip supply generator using dynamic circuit reference

Also Published As

Publication number Publication date
JP2009093210A (en) 2009-04-30

Similar Documents

Publication Publication Date Title
US8282006B2 (en) Imaging device operative for image processing
US8944327B2 (en) Using a user&#39;s application to configure user scanner
US9189669B2 (en) Distinctive notice for different symbology information
CN107092849B (en) Method and apparatus for reading optical indicia using multiple data sources
US7445143B2 (en) In-field monitoring and management of data capture systems
US7422153B2 (en) Decoding with data from multiple scans
EP2397968B1 (en) Intelligent optical code reader
JP5613592B2 (en) Bar code reader
JP2006277198A (en) Data processor and program
JP2006250998A (en) Image display system
JP2007179372A (en) Combined barcode and method of reading barcode
JP5115123B2 (en) Bar code reader and program
EP0896291B1 (en) Bar code reader
US20170220833A1 (en) Distinctive notice for different symbology information
US8757492B2 (en) Scanner device and computer program product
JP4337597B2 (en) Code symbol reader and program
JP2008538150A (en) In-field upgrade management for data capture systems
JP5115124B2 (en) Bar code reader and program
US20090084849A1 (en) Method and apparatus for reading indicia
CN112101499A (en) Bar code generating device, bar code generating method and computer readable storage medium
JP5674438B2 (en) Information processing device
US8746567B2 (en) Barcode reader and computer program product
JP2001005907A (en) Bar code reader and storage medium
JP4915307B2 (en) Portable information reader
JPH10143595A (en) Separation type electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100921

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120918

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121001

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5115123

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151026

Year of fee payment: 3