JP5676183B2 - Bar code reading apparatus and bar code reading method - Google Patents
Bar code reading apparatus and bar code reading method Download PDFInfo
- Publication number
- JP5676183B2 JP5676183B2 JP2010198208A JP2010198208A JP5676183B2 JP 5676183 B2 JP5676183 B2 JP 5676183B2 JP 2010198208 A JP2010198208 A JP 2010198208A JP 2010198208 A JP2010198208 A JP 2010198208A JP 5676183 B2 JP5676183 B2 JP 5676183B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- barcode
- reading
- data
- character
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10544—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
- G06K7/10821—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
- G06K7/10861—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices sensing of data fields affixed to objects or articles, e.g. coded labels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1413—1D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
- G07G1/0045—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Character Input (AREA)
Description
本発明は、バーコードを光学的に読み取って復号するバーコード読取装置およびバーコード読取方法に関する。 The present invention relates to a barcode reading apparatus and a barcode reading method for optically reading and decoding a barcode.
一般に、一次元のバーコードは、複数のバーおよびスペース(または黒バーおよび白バー)をエレメントとして交互に配置してなるもので、各バーおよび各スペースの幅方向の情報(例えば、幅の大小やその配列など)に基づいて数字,アルファベット,記号等からなるキャラクタ情報を表すことができる。バーコードを読取装置で読み取ることによって、POSシステム等の端末への所要情報の入力を、簡単に行うことができる。 In general, a one-dimensional barcode is formed by alternately arranging a plurality of bars and spaces (or black bars and white bars) as elements, and information in the width direction of each bar and each space (for example, the magnitude of the width). Character information consisting of numbers, alphabets, symbols, etc. can be expressed based on the data. By reading the barcode with a reader, the required information can be easily input to a terminal such as a POS system.
例えば、商品管理や物流管理等では、各商品の識別情報が、バーコード化されて、その商品或いは包装等に付加される。そして、このバーコードを、レーザスキャナやCCD(Charge Coupled Device) センサ、CMOS(Complementary Metal Oxide Semiconductor) センサ等の光学読取装置で光学的に読み取り、さらに復号することで、識別情報が自動認識される。 For example, in merchandise management, physical distribution management, etc., identification information of each merchandise is converted into a barcode and added to the merchandise or packaging. Then, the barcode is optically read by an optical reader such as a laser scanner, a CCD (Charge Coupled Device) sensor, or a CMOS (Complementary Metal Oxide Semiconductor) sensor, and further decoded, so that the identification information is automatically recognized. .
近年、例えば個人情報をカードに記録する手段としても、バーコードを利用する場合がある。このような場合に、カードの同一面に、文字情報等およびバーコードの両方を付加することがある。このため、光学読取装置として、カードの全面をスキャンして画像データに変換した後で、この画像データからバーコードが表示された領域を判定するタイプのものも、登場している。 In recent years, barcodes are sometimes used as means for recording personal information on a card, for example. In such a case, both character information and a barcode may be added to the same surface of the card. For this reason, there is an optical reader that scans the entire surface of a card and converts it into image data, and then determines an area in which a barcode is displayed from the image data.
バーコードは光学的に読み取られるため、表示面の汚れやかすれ等が、読み取り誤りの原因になるおそれがある。このような読み取り誤りを低減する技術として、例えば、下記特許文献1、2の技術が知られている。
Since the bar code is optically read, dirt or fading on the display surface may cause a reading error. As techniques for reducing such reading errors, for example, the techniques of
特許文献1には、バーコードに複数の走査線を設定し、正誤判定で正しいと判定されるまで走査線を変えながら読み取りを繰り返し、さらに、すべての走査線について読み取りが誤りであった場合はバーコードの下に印字された文字を文字認識部で認識する技術が開示されている(特許文献1の例えば段落[0033]〜[0037]参照)。
In
特許文献2には、バーコードに複数の走査線を設定してそれぞれを複数のブロックに分割し、正誤判定で正しいと判定されたブロックを組み合わせることによって、汚れやかすれ等の影響が無い走査線を得る技術が開示されている(特許文献2の例えば段落[0016]参照)。
In
上述の特許文献1、2に記載されているように、バーコードの読み取りの正誤判定は、各バー、各スペースの幅やこれらの配列がバーコード規格に適合しているか否かによって行われる(特許文献1の段落[0022]、特許文献2の段落[0014]参照)。しかし、このような判定方法で、読み取り結果が正しいとの判定結果を得た場合でも、実際には読み取り誤りが発生している可能性がある。正誤判定結果の信頼性は、例えば、バーコードの表示面に汚れやかすれ等がある場合に低くなる。そして、正誤判定の信頼性が低いほど、読み取り結果に対する信頼性も低くなる。このため、特許文献1、2の技術では、バーコードの復号結果に対して十分な信頼性を確保することが難しいという問題がある。
As described in
また、特許文献1の技術では、正しい読み取り結果が得られなかったときにバーコードの下に印字された文字を認識するが、一般に、文字認識はバーコードの復号に比べて処理負荷が大きい。このため、特許文献1の技術には、処理時間が長くなったり、高性能のプロセッサ等が必要になって高価格化を招いたりするという欠点がある。
In the technique of
さらに、特許文献2の技術にも、正誤判定で正しいと判定されたブロックを組み合わせる処理が必要となるため、処理負荷が増大して、処理時間の増大や装置の高価格化を招くという欠点がある。
Furthermore, since the technique of
本発明の課題は、処理負荷や処理時間を増大させることなく、バーコードの復号結果に対する信頼性を向上させることができる、バーコード読取装置およびバーコード読取方法を提供することにある。 An object of the present invention is to provide a barcode reading apparatus and a barcode reading method capable of improving the reliability of a barcode decoding result without increasing the processing load and processing time.
請求項1に係るバーコード読取装置は、媒体の表面を光学的に読み取ってバーコードの少なくとも1キャラクタのデータを生成する読取部と、前記データを記憶するメモリと、該メモリに記憶された前記データに対して、複数の走査線を設定する走査線設定部と、前記走査線に対応する前記データから、それぞれ前記バーコードを復号する復号処理部と、前記走査線に対応する前記データから、前記バーコードの復号誤りの発生し難さを示す読み取り信頼度を演算し、該読み取り信頼度を用いて最も信頼性が高い前記走査線を判定する判定部とを備え、前記判定部は、前記走査線設定部で設定された複数の走査線のそれぞれについて、キャラクタ単位で前記読み取り信頼度を算出する読み取り信頼度算出部と、該読み取り信頼度算出部で算出した読み取り信頼度の中で最も良い値を判定する読み取り信頼度判定部と、前記最も良い値の読み取り信頼度に対応する走査線を判定する走査線判定部と、を備え、前記読み取り信頼度算出部は、前記複数の走査線のそれぞれについて、前記バーコードのエレメントの幅に基づき算出されるエレメントデータごとに、読み取り誤りの発生し難さを示す余裕幅を算出する余裕幅算出部と、それぞれの前記走査線ごとに、対応する前記余裕幅のうち最も小さいものを選択して、該走査線の前記読み取り信頼度に決定する読み取り信頼度決定部と、を備え、前記復号処理部は、前記走査線の各々に対応する前記データから少なくとも1キャラクタを抽出する手段と、それぞれの前記走査線ごとに、前記1キャラクタのエレメントデータの計測値e(i)を算出するともに、前記1キャラクタの全長の計測値Sを算出する手段と、それぞれの前記走査線ごとに、抽出した前記1キャラクタの全長の単位モジュール数mと前記全長の計測値Sとの比m/Sを算出する手段と、t(i)=e(i)×m/Sを算出して、該t(i)の小数点第1位を四捨五入することにより、エレメントデータの正規化値E(i)を算出する手段と、該エレメントデータの正規化値E(i)に基づいてキャラクタ復号を実行する手段とを備え、前記余裕幅算出部は、前記エレメントデータの正規化値E(i)を得ることができるt(i)の下限境界値を‘E(i)−0.5’、上限境界値を‘E(i)+0.5’として、t(i)と下限境界値との乖離の絶対値およびt(i)と上限境界値との乖離の絶対値のうちいずれか小さい方を、t(i)の余裕幅として算出する手段を備える、ことを特徴とする。
A barcode reader according to
請求項2に係るバーコード読取装置は、請求項1の構成に加え、前記エレメントデータは前記バーコードのエッジ対類似エッジ間距離であることを特徴とする。
The barcode reader according to
請求項3に係るバーコード読取方法は、媒体の表面を光学的に読み取ってバーの少なくとも1キャラクタのデータを生成する第1ステップと、前記データをメモリに記憶させる第2ステップと、前記メモリに記憶された前記データに対して、複数の走査線を設定する第3ステップと、前記走査線に対応する前記データから、それぞれ前記バーコードを復号する第4ステップと、前記走査線に対応する前記データから前記バーコードの復号誤りの発生し難さを示す読み取り信頼度を演算し、該読み取り信頼度を用いて最も信頼性が高い前記走査線を判定する第5ステップとを備え、前記第5ステップは、前記第3ステップで設定された複数の走査線のそれぞれについて、キャラクタ単位で前記読み取り信頼度を算出する読み取り信頼度算出ステップと、該読み取り信頼度算出ステップで算出した読み取り信頼度の中で最も良い値を判定する読み取り信頼度判定ステップと、前記最も良い値の読み取り信頼度に対応する走査線を判定する走査線判定ステップとを備え、前記読み取り信頼度算出ステップは、前記複数の走査線のそれぞれについて、前記バーコードのエレメントの幅に基づき算出されるエレメントデータごとに、読み取り誤りの発生し難さを示す余裕幅を算出する余裕幅算出ステップと、それぞれの前記走査線ごとに、対応する前記余裕幅のうち最も小さいものを選択して、該走査線の前記読み取り信頼度に決定する読み取り信頼度決定ステップと、を備え、前記第4ステップは、前記走査線に対応する前記データから少なくとも1キャラクタを抽出するステップと、それぞれの前記走査線ごとに、前記1キャラクタのエレメントデータの計測値e(i)を算出するとともに、前記1キャラクタの全長の計測値Sを算出するステップと、それぞれの前記走査線ごとに、抽出した前記1キャラクタの全長の単位モジュール数mと前記全長の計測値Sとの比m/Sを算出するステップと、t(i)=e(i)×m/Sを算出して、該t(i)の小数点第1位を四捨五入することにより、エレメントデータの正規化値E(i)を算出するステップと、該エレメントデータの正規化値E(i)に基づいてキャラクタ復号を実行するステップと、を備え、前記余裕幅算出ステップは、前記エレメントデータの正規化値E(i)を得ることができるt(i)の下限境界値を‘E(i)−0.5’、上限境界値を‘E(i)+0.5’として、t(i)と下限境界値との乖離の絶対値およびt(i)と上限境界値との乖離の絶対値のうちいずれか小さい方を、t(i)の余裕幅として算出する、ことを特徴とする。 According to a third aspect of the present invention, there is provided a bar code reading method comprising: a first step of optically reading a surface of a medium to generate data of at least one character of a bar; a second step of storing the data in a memory; A third step for setting a plurality of scanning lines for the stored data, a fourth step for decoding the barcode from the data corresponding to the scanning lines, and the corresponding step for the scanning lines, respectively. A fifth step of calculating a reading reliability indicating the difficulty of occurrence of the barcode decoding error from the data, and determining the scanning line having the highest reliability using the reading reliability; The step is a reading reliability calculation step for calculating the reading reliability in character units for each of the plurality of scanning lines set in the third step. A reading reliability determination step for determining the best value among the reading reliability calculated in the reading reliability calculation step, and a scanning line determination for determining a scanning line corresponding to the reading reliability of the best value And the reading reliability calculation step includes, for each of the plurality of scanning lines, a margin width indicating the difficulty of occurrence of a reading error for each element data calculated based on the width of the element of the barcode. A margin width calculating step for calculating the scanning line, and for each of the scanning lines, selecting the smallest of the corresponding margin widths to determine the reading reliability of the scanning line; and The fourth step includes extracting at least one character from the data corresponding to the scanning line; and Calculating a measurement value e (i) of the element data of the one character for each of the scanning lines, calculating a measurement value S of the total length of the one character, and extracting for each of the scanning lines Calculating a ratio m / S between the number m of unit modules of the total length of the one character and the measured value S of the total length, and calculating t (i) = e (i) × m / S, The step of calculating the normalized value E (i) of the element data by rounding off the first decimal place of (i), and the step of executing the character decoding based on the normalized value E (i) of the element data And the margin width calculating step sets the lower limit boundary value of t (i) to obtain a normalized value E (i) of the element data as “E (i) −0.5”, and sets the upper limit boundary. The value is 'E (i) +0.5' Then, the smaller one of the absolute value of the deviation between t (i) and the lower limit boundary value and the absolute value of the deviation between t (i) and the upper limit boundary value is calculated as the margin width of t (i). , characterized in that.
請求項4に係るバーコード読取方法は、請求項3の構成に加え、前記エレメントデータは前記バーコードのエッジ対類似エッジ間距離であることを特徴とする。 The barcode reading method according to a fourth aspect is characterized in that, in addition to the configuration of the third aspect, the element data is a distance between the edge of the barcode and a similar edge.
本発明によれば、処理負荷や処理時間を増大させることなく、バーコードの復号結果に対する信頼性を向上させることができる。 According to the present invention, it is possible to improve the reliability of the barcode decoding result without increasing the processing load and the processing time.
本発明の一実施形態について、図面を用いて説明する。
[バーコードおよびバーコード読取装置の構成]
An embodiment of the present invention will be described with reference to the drawings.
[Configuration of barcode and barcode reader]
図1は、本実施形態に係るバーコード読取装置の構成を示す概念図である。図2は、バーコードの一種であるCODE128と呼ばれるバーコードの一例を示す概念図である。
(バーコード)
FIG. 1 is a conceptual diagram showing a configuration of a barcode reading apparatus according to the present embodiment. FIG. 2 is a conceptual diagram showing an example of a barcode called CODE128, which is a kind of barcode.
(barcode)
まず、本実施形態で使用するバーコードを、図1および図2を用いて説明する。
図1および2において、符号151はバーコードであり、本実施形態では、バーコード規格CODE128に基づくバーコード(以下、バーコード151という)である。バーコード151は、記録媒体150の表面の所定位置に印刷などにより形成されている。
First, the barcode used in this embodiment will be described with reference to FIGS.
1 and 2,
バーコード151は、図2に示すように、エレメントである各バー201および各スペース202の幅方向の配列によって情報が記録され、各エレメントの幅方向の情報(例えば、エレメントの幅の大小やその配列など)に基づいて、数字,アルファベット,記号等のキャラクタ情報を表すもので、一次元バーコードである。換言すれば、一次元バーコードは、連続する複数のバー201およびスペース202の幅方向にバーコードを付与しており、各バー201およびスペース202の高さ方向には情報を付与していない。
As shown in FIG. 2, the
さらに、図2に示すように、バーコード151は、スタートマーク(スタートキャラクタ)と、データ(‘86'、データキャラクタ)と、チェックデジット(‘CHK'、チェックキャラクタ)と、ストップマーク(ストップキャラクタ)と、で構成されている。これらは、それぞれがバーコードの最小の情報単位である1キャラクタを構成している。具体的には、スタートマーク、データキャラクタおよびチェックデジットは、3本のバー201と3本のスペース202とを交互に配置することで1キャラクタとして構成されている。また、ストップマークは4本のバー201と3本のスペース202とを交互に配置することで1キャラクタとして構成されている。
Further, as shown in FIG. 2, the
また、各バーおよび各スペース(すなわち、各エレメント)の幅は、「単位モジュール」と呼ばれる基本幅を最小単位として、その整数倍となっている。本実施形態では、バーコード151の各バーおよび各スペースの幅は、基本幅の1、2、3、4倍(すなわち、1乃至4モジュール)のいずれかである。そして、最小の情報単位である1キャラクタの全長(1キャラクタにおける各バーおよび各スペースの幅の和)は、基本幅(単位モジュール)の整数倍で構成されている。
The width of each bar and each space (that is, each element) is an integral multiple of a basic width called “unit module” as a minimum unit. In the present embodiment, the width of each bar and each space of the
具体的には、ストップマーク以外のストップマーク、データキャラクタ、チェックデジット(3本のバーと3本のスペース)の全長は基本幅(単位モジュール)の11倍(11モジュール)で構成され、ストップマーク(4本のバーと3本のスペース)の全長は基本幅(単位モジュール)の13倍(13モジュール)で構成されている。 Specifically, the total length of stop marks, data characters, and check digits (three bars and three spaces) other than stop marks is 11 times the basic width (unit module) (11 modules). The total length of (four bars and three spaces) is 13 times the basic width (unit module) (13 modules).
なお、図2に示すバーコード151(CODE128)では、データキャラクタ(‘12')は1キャラクタ(1情報単位)のみとなっているが、説明を簡単にするためであり、バーコード151の情報データとしてデータキャラクタが格納される領域は可変長であり、スタートマークの後には複数のデータキャラクタを格納することができる。
(バーコード読取装置)
In the bar code 151 (CODE 128) shown in FIG. 2, the data character ('12') is only one character (one information unit). The area where data characters are stored as data has a variable length, and a plurality of data characters can be stored after the start mark.
(Bar code reader)
次にこのバーコード151を読み取るバーコード読取装置100について説明する。
Next, the
図1に示したように、本実施形態のバーコード読取装置100は、媒体搬送機構110と、読取部としての撮像部120と、メモリとしての画像メモリ130と、読取処理部140とを備えている。媒体搬送機構110は、搬送路111と、搬送ガイド112、113とを備えている。記録媒体150の画像データを読み取る際には、記録媒体150が、図示しない搬送ローラ等の搬送手段により、矢印114で示す搬送方向に、所定速度で移動する。その際同時に、記録媒体150の表面に形成されているバーコード151が撮像部120によって読み取られるようになっている。
As shown in FIG. 1, the
撮像部120は、記録媒体150の表面を光学的に読み取って、バーコード151のデータを生成する読取部である。撮像部120は、媒体搬送機構110に固定されており、搬送方向114と直角な方向に配列された光電変換素子列121を有している。この撮像部120は、記録媒体150の表面反射光を受光してアナログ電気信号に変換し、さらに、このアナログ電気信号の値(輝度を示す値)をデジタル多値情報の画像データに変換する。例えば、アナログ電気信号を8ビットのデジタル多値情報の画像データに変換する場合、かかるアナログ電気信号が示す輝度は、256階調のデジタル輝度値(すなわち、0〜255の整数値で表される輝度値)に変換される。記録媒体150を一定速度で搬送しながら、このような動作を各光電変換素子が一定周期で繰り返すことにより、2次元配列の画素からなるデジタル多値情報の画像データ(以下、多値画像データという)を得ることができる。この多値画像データには、バーコード151の多値画像データが含まれる。なお、撮像部120としては、例えば一次元の密着型イメージセンサ等を採用することができる。
The
画像メモリ130は、バーコード151を含む多値画像データを一時的に記憶するメモリである。本実施形態では、画像データを有限個の画素の行列とみなし、撮像部120により生成された多値画像データを画素ごとに記憶する。なお、画像メモリ130としては、例えばRAM(Random Access Memory)、SDRAM(Synchronous Dynamic Random Access Memory)、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)、RDRAM(Rambus Dynamic Random Access Memory)等、画像データを記憶できるものなら何でも使用することができる。
The
読取処理部140は、多値画像データのバーコード151を構成する複数のエレメントの配列および各エレメントの幅寸法等のエレメントの幅方向の情報を算出し、このエレメントの幅方向の情報に基づいて、数字,アルファベット,記号等からなるキャラクタ情報に復号する機能を有している。読取処理部140は、位置決定部141と、走査線設定部142と、復号処理部143と、判定部144とを備えている。
The
位置決定部141は、画像メモリ130の多値画像データから、バーコード151の多値画像データを特定し、バーコード151が表示された領域を決定する。
The
走査線設定部142は、バーコード151が表示された領域に対して、複数の走査線を設定する。図2に、この走査線を概念的に示す。図2に示したバーコード151においては、5本の走査線211,212,・・・,215が、バー201およびスペース202の高さ方向に沿ってほぼ等間隔に設定されている。なお、走査線の本数や間隔は、特に限定されないが、バーコード151の全範囲に亘って均等に設定することが望ましい。
The scanning
復号処理部143は、画像メモリ130に格納された多値画像データのうち、各走査線211〜215が設定された位置に対応する多値画像データを用いて、エレメントの幅方向の情報として、エレメントデータおよびエレメントデータの配列を求め、そのエレメントデータおよびエレメントデータの配列を用いて、バーコード151を復号する。そして、復号処理部143は、判定部144が選択した走査線に対応する復号結果を、最終的な復号結果として出力する。
The
ここで、エレメントデータとは、エレメントの幅方向の情報のうち、エレメントの幅寸法に基づき算出される値をいう。エレメントデータは、各バーや各スペースの幅の値で示す場合や、隣接するバーとスペースの幅の和を表すエッジ対類似エッジ間距離で示す場合などがある。本実施形態では、バーコード151はCODE128であり、エレメントデータとしてエッジ対類似エッジ間距離を用いている。
Here, the element data refers to a value calculated based on the width dimension of the element among the information in the width direction of the element. The element data may be indicated by the value of the width of each bar or space, or may be indicated by the edge-to-similar edge distance representing the sum of the widths of adjacent bars and spaces. In the present embodiment, the
本実施形態の復号処理部143は、エレメント幅算出部143a、正規化値算出部143bおよびキャラク復号部143cを有している。
The
エレメント幅算出部143aは、上述したようなエレメントデータを画素数として算出する。具体的には、各走査線211〜215が設定された位置に対応する多値画像データを計測し、各エレメント幅の画素数を求める。この計測により求めた画素数に基づきエレメントデータの画素数を算出する。さらに、1キャラクタの全長の画素数を算出する。
The element
正規化値算出部143bは、単位モジュールに基づき正規化されたエレメントデータを算出する。ここで、本願における「正規化」とは、各バーおよび各スペースの幅、エレメントデータや1キャラクタの全長を画素数単位からモジュールの整数比(単位モジュール)に変換することを言う。
The normalized
キャラクタ復号部143cは、エレメントの幅方向の情報をキャラクタ情報に変換するための復号参照テーブル(図示せず)を備えている。そして、キャラクタ復号部143cは、正規化値算出部143bで正規化されたエレメントデータに基づくエレメントデータの配列を求め、復号参照テーブルと比較することにより、該当するキャラクタを復号する。なお、キャラクタ復号部143cによる復号処理結果の最終的な出力は、後述する判定部144の走査線判定部144bにより決定される走査線に対する復号結果として実行される。
The
判定部144は、走査線211〜215に対応する多値画像データから読み取り信頼度をそれぞれ算出し、算出された読み取り信頼度が最も良い走査線を判定する。本実施形態では、判定部144は、読み取り信頼度算出部144aと、読み取り信頼度判定部144bと、走査線判定部144cとを有している。
The
読み取り信頼度算出部144aは、走査線設定部142によって設定された走査線211〜215のそれぞれについて、読み取り信頼度を算出する。なお、読み取り信頼度は、バーコードを構成するキャラクタ全てについて算出しても良いが、1つのデータキャラクタのみについて算出しても良い。
The reading
また、本実施形態では、読み取り信頼度として余裕幅を算出する。ここで、余裕幅とは、正規化されたエレメントデータが正しい値となるために許容される読み取り誤差であり、バーコードの復号誤りの発生し難さ(誤りの発生する可能性の低さ)の度合いを表す指標である。 In this embodiment, a margin width is calculated as the reading reliability. Here, the margin is a reading error that is allowed for normalized element data to have a correct value, and it is difficult for a barcode decoding error to occur (low possibility of error occurrence). It is an index representing the degree of.
読み取り信頼度判定部144bは、読み取り信頼度算出部144aが走査線211〜215毎に算出した読み取り信頼度から、最も大きい読み取り信頼度を判定する。
The reading
走査線判定部144cは、読み取り信頼度判定部144bで判定された読み取り信頼度、すなわち最も大きな読み取り信頼度に対応する走査線を決定する。決定した走査線の情報は、復号処理部143のキャラクタ複号部143cに出力される。
[バーコード読み取り処理の概要]
The scanning
[Overview of barcode reading process]
このように構成されたバーコード151の動作を説明すると、まず、媒体搬送機構110が記録媒体150の搬送を開始するとともに、撮像部120が記録媒体150の撮像を開始する。撮像部120は、上述のようにして多値画像データ(256階調のデジタル輝度値)を生成し、画像メモリ130を構成する各記憶素子に記憶させる。続いて、読取処理部140が、画像メモリ130に記憶された多値画像データを用いて、バーコード151を復号する。
The operation of the
以下、読取処理部140によるバーコード読取処理について、図3を用いて説明する。図3は、読取処理部140の動作を説明するためのフローチャートである。
Hereinafter, barcode reading processing by the
読取処理部140は、画像メモリ130から多値画像データを読み出し、処理を開始する。この多値画像データは、位置決定部141に入力される。
The
位置決定部141は、この多値画像データから、バーコード151が表示された領域の位置を検出する(ステップS301)。バーコード151の位置の検出には、公知の技術を使用することができる。例えば、垂直射影と水平射影とを演算することによって、バーコードの位置を検出することが可能である。また、例えば特開2009−266190号に記載された方法を用いても良い。位置決定部141は、図1、2において、バーコード151の左側の境界位置、右側の境界位置、上側の境界位置および下側の境界位置の位置情報等を、それぞれ生成する。
The
次に、走査線設定部142が、このバーコード151に対する走査線の設定を行う(ステップS302)。上述したように、本実施形態では、5本の走査線211〜215を、望ましくは均等に設定する(図2参照)。
Next, the scanning
その後、復号処理部143が、多値画像データのうちこれら走査線211〜215に対応する位置の画素列を用い、各走査線についてバーコード151の復号を行う(ステップS303)。この復号処理については、後述する。
Thereafter, the
続いて、判定部144が、復号処理部143の演算結果を用いて、走査線の判定処理を行う(ステップS304)。本実施形態では、同一のバーコード151に対して5本の走査線211〜215を設定しているので、読み取り誤りが発生しなかった場合は、これら走査線211〜215の復号結果は全て一致する。しかしながら、例えばバーコード151の汚れやかすれ等のために読み取り誤りが発生して、走査線211〜215の復号結果が一致しない場合がある。また、これら復号結果が一致したとしても、復号結果の信頼性が低い場合もある。信頼性が低い場合には、復号結果を受け取るアプリケーションに対して、信頼性の度合いを通知することが有用な場合がある。そこで、本実施形態では、各走査線211〜215の読み取り信頼度を計算し、この計算結果を用いて、走査線211〜215の復号結果に対する信頼性を判定し、最も信頼性の高い走査線に対する復号結果を最終的に採用している。
(復号処理)
Subsequently, the
(Decryption process)
図4は、ステップS303の復号処理部143における復号処理の具体的動作の一例を説明するためのフローチャートである。
FIG. 4 is a flowchart for explaining an example of a specific operation of the decoding process in the
復号処理部143では、各走査線ごとに、エレメント幅算出部143aがバーコード151を構成する各エレメント(バー201およびスペース202)の幅を画素数で計測(カウント)し、この計測により求めた画素数に基づきエレメントデータの画素数および1キャラクタの全長の画素数を算出する。(ステップS401)。
In the
具体的には、エレメント幅算出部143aは、まず、図2に示す最初の走査線211に対応する画素列、すなわち走査線211に沿って並ぶ一連の画素配列について、各画素のデジタル輝度値を読み出す。そして、これら画素の輝度値から、各エレメント201,202のエッジ(始点と終点)を計測し、各エレメント201,202の幅寸法を画素数で計測(カウント)する。
Specifically, the element
次に、このようにして得られたバー幅およびスペース幅(エレメントの幅寸法)に基づいて、エレメントデータおよびその配列(以下「エレメントデータ列」という)を求め、バーコード151の復号処理(すなわち、コード変換)が行われる(ステップS402)。本実施形態では、エレメントデータは、隣接するバーおよびスペースの幅の和を示すエッジ対類似エッジ間距離であるので、1キャラクタを構成する3本(または4本)のバーおよび3本のスペースから4個のエッジ対類似エッジ間距離を求め、エレメントデータ列を算出し、これを正規化してコードワードを求め復号処理すなわちコード変換する。コード変換の詳細は後述する。 Next, based on the bar width and space width (element width dimension) obtained in this way, element data and its arrangement (hereinafter referred to as “element data string”) are obtained, and decoding processing of the barcode 151 (ie, , Code conversion) is performed (step S402). In this embodiment, the element data is an edge-to-similar edge distance indicating the sum of the widths of adjacent bars and spaces, and therefore, from three (or four) bars and three spaces constituting one character. A distance between four edges and similar edges is obtained, an element data string is calculated, and this is normalized to obtain a code word, which is decoded or code-converted. Details of the code conversion will be described later.
次に、復号処理部143は、ステップS401、S402の処理が、ステップS302で設定された全ての走査線211,212,・・・,215について実行されたか否かを、チェックする(ステップS403)。ここでは、走査線211に対する処理しか実行されていないので、復号処理部143は、残りの走査線212〜215に対してステップS401、S402の処理を行う。走査線215に対するステップS401、S402の処理が終了したと判断されると、復号処理部143は、ステップS303(図3参照)の処理を終了する。そして、S304の走査線判定に進む。
Next, the
以下では、エレメント幅の計測(S401)から復号処理すなわちコード変換(S402)について、詳しく説明する。
(エレメント幅の計測方法)S401
Hereinafter, the decoding process, that is, the code conversion (S402) from the measurement of the element width (S401) will be described in detail.
(Element width measurement method) S401
まず、図5により、本実施形態におけるバーコードのエレメントのエッジを決定し、エレメントの幅を計測する方法を説明する。図5(A)は、本実施形態に係るデジタル輝度波形の一例を示す概念図であり、図5(B)は、(A)のデジタル輝度波形から得られるバーコードのエレメント配列を示す矩形波形である。 First, referring to FIG. 5, a method for determining the edge of the barcode element and measuring the width of the element in this embodiment will be described. FIG. 5A is a conceptual diagram showing an example of a digital luminance waveform according to the present embodiment, and FIG. 5B is a rectangular waveform showing a bar code element array obtained from the digital luminance waveform of FIG. It is.
具体的には、まず、解析対象の走査線に対応する画素列の輝度値を計測して図5(A)のデジタル輝度波形を得る。この波形において、横軸は位置(バーコード151の始点からの距離)を、縦軸は計測した位置における画素のデジタル輝度値(値は0〜255)を示している。バー201は黒色であり反射率が低くデジタル輝度値が小さくなる、一方、スペース202は白色であり反射率が高いため、スペース202ではデジタル輝度値が大きくなる。したがって、図5(A)で示す輝度値波形は、バー201に対応する位置に極小値Min1,Min2,・・・を有し、且つ、スペース202に対応する位置に極大値Max1,Max2,・・・を有する。
Specifically, first, the luminance value of the pixel column corresponding to the scanning line to be analyzed is measured to obtain the digital luminance waveform of FIG. In this waveform, the horizontal axis indicates the position (distance from the start point of the barcode 151), and the vertical axis indicates the digital luminance value (value is 0 to 255) of the pixel at the measured position. The
なお、計測に使用する画素列は、走査線(ここでは走査線211)に対応する1本の画素列のみを使用してもよいが、当該走査線近傍の複数画素列を使用することも可能である。複数の画素列を使用する場合、縦軸は、当該位置に対応する複数画素のデジタル輝度値の平均値或いは総和等とすることができる。また、エッジ計測方法としては、本実施形態では、上述したような各画素のデジタル輝度値を使用したが、これに代えて、例えば走査反射率波形を用いる方法でもよい。走査反射率波形とは、バーコード151のバー201およびスペース202を幅方向に沿って反射率を打点することにより得られる波形であり、例えばJISのX0520等に定義されている。
Note that the pixel column used for the measurement may use only one pixel column corresponding to the scanning line (here, the scanning line 211), but it is also possible to use a plurality of pixel columns in the vicinity of the scanning line. It is. When a plurality of pixel columns are used, the vertical axis can be an average value or a sum of digital luminance values of a plurality of pixels corresponding to the position. As the edge measurement method, the digital brightness value of each pixel as described above is used in this embodiment, but instead, for example, a method using a scanning reflectance waveform may be used. The scanning reflectance waveform is a waveform obtained by marking the reflectance along the width direction of the
次に、本実施形態では、極小値が現れる位置と極大値が現れる位置との中央位置を閾値、すなわちバー201とスペース202とのエッジであると判断する局所閾値方式によって、図5(B)に示す矩形波形を得る。図5(B)において、横軸は図5(A)と同様に、バーコードにおける位置を示す一方、縦軸はバー201およびスペース202の区別を示し、縦軸の値が‘0’の区間はバー201に対応し、縦軸の値が‘1’の区間はスペース202に対応する。
Next, in the present embodiment, the local position method in which the central position between the position where the minimum value appears and the position where the maximum value appears is the threshold, that is, the edge of the
なお、局所閾値方式に代えて、例えば、走査線に対応する全画素のデジタル輝度値の平均値を求め、縦軸の値がこの平均値となる位置を閾値、すなわちバー201とスペース202とのエッジであると判定する固定閾値方式方法)を使用してもよい。
Instead of the local threshold method, for example, the average value of the digital luminance values of all the pixels corresponding to the scanning line is obtained, and the position at which the value on the vertical axis becomes this average value is set as the threshold value, that is, the
その後、エレメント幅の計測は、図5(B)の縦軸値が0の区間T1,T3,・・・をバー201の区間として、および縦軸値が1の区間T2,T4,・・・をスペース202の区間として、各エレメントの幅に対応する画素の個数(横軸方向の画素数)を数えることによって行う。
(コード変換):S402
Thereafter, the element width is measured using the sections T1, T3,... With the vertical axis value of 0 in FIG. 5B as the section of the
(Code conversion): S402
図6は、上述のS402におけるコード変換(復号処理)の具体的動作の一例を説明するためのフローチャートである。 FIG. 6 is a flowchart for explaining an example of a specific operation of the code conversion (decoding process) in S402 described above.
コード変換に際しては、最初に、バーコード151の判別が行われ、バーコード規格の種類が特定される(ステップS601)。バーコード151は、バーコード規格の種類によって、スタートマークの開始部分およびストップマークの終了部分を構成するバーおよびスペースの幅およびその配列が異なる。例えば、本実施形態のCODE128では、スタートマーク開始部分はバー、スペース、バーの幅の比が2:1:1であり、ストップマーク終了部分は、バー、スペース、バーの幅の比が1:1:2である。したがって、開始部分および終了部分のバーおよびスペースの幅およびその配列を解析することで、バーコード151の種別を判別することができる。なお、本実施形態はCODE128の規格に基づくものであるので、ここでは他のバーコード規格の種類が特定される方法についての詳細な説明は省略する。
(スタートマークおよびストップマークの検出)
In code conversion, first, the
(Start mark and stop mark detection)
次に、バーコード規格の種類がCODE128の規格に基づくものであると特定された場合は、スタートマークおよびストップマークの検出が行われる(ステップS602)。 Next, when it is specified that the type of the bar code standard is based on the CODE 128 standard, a start mark and a stop mark are detected (step S602).
バーコード151は、スタートマークとストップマークとの間に可変長のデータキャラクタを格納している。このため、本実施形態のバーコード読取装置100は、まず、これらのスタートマークおよびストップマークを検出することで、バーコード151のデータ記録方向、データキャラクタの開始位置およびチェックデジットの終了位置を確定するとともに、バーコードがCODE128であることを確定する。特に、スタートマークの検出では、CODE128の規格におけるキャラクタセットがコードA、コードBまたはコードCのいずれかであるかを特定する。
The
具体的には、スタートマークの検出では、スタートマークを構成する(バーコードの最初の)3本のバーおよび3本のスペースの幅をデジタル多値情報の画像データの画素数(計測値)を上述のエレメント幅計測(ステップS401)の結果として得て、エレメントデータの計測値を算出する。本実施形態では、エッジ類似エッジ間の幅をエレメントデータとして取得する。しかし、バーコードの規格は、エレメントの基本幅である単位モジュールを基準としており、また、計測したエレメントデータ画素数(計測値)には計測の誤差が含まれている。そこで、復号処理部143は、画素による計測値を単位モジュールに基づき正規化されたエレメントデータおよびその配列(エレメントデータ列)を求める。以下では、正規化したエレメントデータ列をコードワードという。
Specifically, in the detection of the start mark, the widths of the three bars (first bar code) and the three spaces constituting the start mark are used to determine the number of pixels (measurement value) of the image data of the digital multi-value information. Obtained as a result of the above-described element width measurement (step S401), a measurement value of element data is calculated. In this embodiment, the width between edge-similar edges is acquired as element data. However, the barcode standard is based on the unit module, which is the basic width of the element, and the measured number of element data pixels (measured value) includes measurement errors. Therefore, the
復号処理部143は、スタートマークを示すコードワードと一致するキャラクタ情報を復号参照テーブルから求め、かかるキャラクタ情報を出力した後、ストップマークの検出に移る。一方、一致するコードワードが復号参照テーブルにない場合には、復号処理にエラーが発生した旨を出力する。
The
ストップマークは、4本のバー201と3本のスペース202とを交互に配置することで1キャラクタとして構成されているが、スタートマーク同様に、復号処理部143は、ストップマークを示すコードワードを求め、これと一致するキャラクタ情報を,復号参照テーブルから求めて、かかるキャラクタ情報を出力した後、データキャラクタのコードワードを得るための解析処理(S603)に移る。一方、一致するコードワードが復号参照テーブルにない場合には,復号処理にエラーが発生した旨を出力する。
(データキャラクタの解析)
The stop mark is configured as one character by alternately arranging four
(Data character analysis)
以降では、データキャラクタのエレメントデータ列を単位モジュールで正規化しデータコードワードを取得するための処理(ステップS603。データコードワードの取得という。)について説明する。ここで、データコードワードとは、キャラクタ情報を表す一連の数列であり、データキャラクタに対応するエレメントデータ列を単位モジュールによって正規化した数列である。1個のキャラクタ情報を表すデータキャラクタは、上述したスタートマークと同様、3本のバー201と3本のスペース202との合計6本のエレメントの一連配列であって、全長11モジュール(基本幅の11倍)で構成されている。また、データキャラクタ、データコードワードおよびキャラクタ情報は、各々が一対一の対応関係であり、復号参照テーブルは、データコードワードとキャラクタ情報の対応表である。
Hereinafter, a process for obtaining a data code word by normalizing an element data string of data characters using a unit module (step S603, referred to as acquisition of a data code word) will be described. Here, the data code word is a series of numbers representing character information, and is a number sequence obtained by normalizing an element data sequence corresponding to a data character by a unit module. A data character representing one character information is a series arrangement of a total of six elements of three
図7によって、データキャラクタのエレメントデータ列を単位モジュールで正規化したデータコードワードを取得するための処理(ステップS603)を具体的に説明する。図7は、データコードワードの取得方法を説明するための概念図である。 The processing (step S603) for acquiring the data code word obtained by normalizing the element data string of the data character with the unit module will be specifically described with reference to FIG. FIG. 7 is a conceptual diagram for explaining a method for acquiring a data code word.
図7において、コードワード取得の対象となるデータキャラクタは、3本のバーB31、B32、B33と3本のスペースS31、S32、S33との合計6本のエレメントにより構成されている。復号処理部143は、かかるデータキャラクタから、エレメントデータとして4個のエッジ対類似エッジ間距離e(1),e(2),e(3),e(4)を画素数で算出する。上述のように、エッジ対類似エッジ間距離とは、隣接するバーおよびスペースの幅の和を示しており、あるバー(またはスペース)の先端から次のスペース(またはバー)の末端までの距離である。したがって、エッジ対類似エッジ間距離は、隣接する2本のバーB31,32,33とスペースS31,32,33の幅の計測値を加えた値である。このように、エッジ対類似エッジ間距離を用いることによって、バーコード151の印刷誤差等の影響を受けにくくしている。
In FIG. 7, the data character for which the code word is to be acquired is composed of a total of six elements including three bars B31, B32, B33 and three spaces S31, S32, S33. The
先頭から、バーB31の幅の画素数の計測値(すなわち、「計測幅」)は‘20画素’、スペースS31の計測幅は‘4画素’、バーB32の計測幅は‘6画素’、スペースS32の計測幅は‘10画素’、バーB33の計測幅は‘6画素’、スペースS33の計測幅は‘10画素’である。一方、上述のように、本実施形態のCODE128では、バーコード151のデータキャラクタ(1キャラクタ)の全長(3本のバーB31,32,33と3本のスペースS31,32,33の幅の和)は、11モジュールと規定されている。そこで、次のように基本幅(単位モジュール)あたりの画素数を求める。 From the top, the measurement value of the number of pixels in the width of the bar B31 (ie, “measurement width”) is “20 pixels”, the measurement width of the space S31 is “4 pixels”, the measurement width of the bar B32 is “6 pixels”, and the space The measurement width of S32 is “10 pixels”, the measurement width of the bar B33 is “6 pixels”, and the measurement width of the space S33 is “10 pixels”. On the other hand, as described above, in the CODE 128 of the present embodiment, the total length of the data character (one character) of the barcode 151 (the sum of the widths of the three bars B31, 32, 33 and the three spaces S31, 32, 33). ) Is defined as 11 modules. Therefore, the number of pixels per basic width (unit module) is obtained as follows.
ここで、データキャラクタの全長の計測値をS、データキャラクタの全長の単位モジュール値(規格値)をm、単位モジュール(基本幅)あたりの画素数をwとすると;
Sは、3本のバー計測幅と3本のスペース計測幅の和(画素数の合計)であるので、
Here, if the measured value of the total length of the data character is S, the unit module value (standard value) of the total length of the data character is m, and the number of pixels per unit module (basic width) is w;
Since S is the sum (total number of pixels) of the three bar measurement widths and the three space measurement widths,
S=20+4+6+10+6+10=56(すなわち、56画素)
m=11モジュール
w=S/m=56/11である。
S = 20 + 4 + 6 + 10 + 6 + 10 = 56 (ie, 56 pixels)
m = 11 modules w = S / m = 56/11.
一方、エレメントデータの計測値をe(i)(ただし、i=1,2,3,4)とすると;e(1)はバーB31および隣接するスペースS31の幅の和、e(2)はスペースS31および隣接するバーS32の幅の和、e(3)はバーB32および隣接するスペースS32の幅の和、e(4)はスペースS32および隣接するバーB33の幅の和であるので、 On the other hand, if the measured value of the element data is e (i) (where i = 1, 2, 3, 4), e (1) is the sum of the widths of the bar B31 and the adjacent space S31, and e (2) is Since the sum of the widths of the space S31 and the adjacent bar S32, e (3) is the sum of the widths of the bar B32 and the adjacent space S32, and e (4) is the sum of the widths of the space S32 and the adjacent bar B33.
e(1)=20+4=24
e(2)=4+6=10
e(3)=6+10=16
e(4)=10+6=16である。
e (1) = 20 + 4 = 24
e (2) = 4 + 6 = 10
e (3) = 6 + 10 = 16
e (4) = 10 + 6 = 16.
次に、復号処理部143は、エレメントデータとしてのエッジ対類似エッジ間距離の計測値e(i)にm/Sを掛け合わせて、正規化前のエレメントデータの単位モジュールの計算値t(i)を算出する。すなわち;
Next, the
t(i)=e(i)/w=e(i)×(m/S)
具体的に、図7の例では、
t(1)=e(1)/w=24×(11/56)=4.714
t(2)=e(2)/w=10×(11/56)=1.964
t(3)=e(3)/w=16×(11/56)=3.143
t(4)=e(4)/w=16×(11/56)=3.143となる。
t (i) = e (i) / w = e (i) × (m / S)
Specifically, in the example of FIG.
t (1) = e (1) / w = 24 × (11/56) = 4.714
t (2) = e (2) / w = 10 × (11/56) = 1.964
t (3) = e (3) / w = 16 × (11/56) = 3.143
t (4) = e (4) / w = 16 × (11/56) = 3.143.
そして、t(i)を正規化する。すなわち、t(i)の値の小数点第1を四捨五入する。本実施形態では、t(i)に0.5を加えた後で小数点以下を切り捨てることにより、この四捨五入を実現する。すなわち、正規化されたエレメントデータE(i)は; Then, t (i) is normalized. That is, the first decimal point of the value of t (i) is rounded off. In this embodiment, this rounding is realized by adding 0.5 to t (i) and then truncating after the decimal point. That is, the normalized element data E (i) is:
E(i)=INT(t(i)+0.5)
=INT(e(i)×m/S+0.5)
ただし,i=1,2,3,4 ・・・式(3)
(なお、INT(x)は、パラメータxを超えない最大の整数を返す関数。)
したがって、 E(1)=INT(24×(11/56)+0.5)=5
E (i) = INT (t (i) +0.5)
= INT (e (i) × m / S + 0.5)
However, i = 1, 2, 3, 4 ... Formula (3)
(INT (x) is a function that returns the largest integer that does not exceed the parameter x.)
Therefore, E (1) = INT (24 × (11/56) +0.5) = 5
E(2)=INT(10×(11/56)+0.5)=2
E(3)=INT(16×(11/56)+0.5)=3
E(4)=INT(16×(11/56)+0.5)=3である。
E (2) = INT (10 × (11/56) +0.5) = 2
E (3) = INT (16 × (11/56) +0.5) = 3
E (4) = INT (16 × (11/56) +0.5) = 3.
これにより、正規化されたエレメントデータ列[E(1),E(2),E(3),E(4)]に対応するデータコードワード[5233]が得られる。 As a result, the data code word [5233] corresponding to the normalized element data string [E (1), E (2), E (3), E (4)] is obtained.
このように、エレメントデータの正規化は、エレメント幅算出部143aから入力した1キャラクタの全長の画素数(S)を、1キャラクタの全長に相当するモジュール数(m)で除算することによって、バーコード151を構成する単位モジュールあたりの画素数(基本幅値)を算出して、各エレメント(バーおよびスペース)の幅の画素数をこの基本幅値で除して、単位モジュール数に変換し、エレメントデータおよび1キャラクタの全長のモジュール数を算出し、各エレメントの幅が基本幅の1倍、2倍、3倍、4倍のいずれかとなるように、読み取り(計測)の誤差を調整して変換して、コードワードを取得するようにしている。
In this way, normalization of element data is performed by dividing the total number of pixels (S) of one character input from the element
なお、CODE128のバーコードパターンの規格では、バーの幅およびスペースの幅は基本幅の1倍、2倍、3倍、4倍のいずれかになるが、隣接するバーおよびスペースの幅が両方同時に4倍となることは無いので、正規化されたエレメントデータ(エッジ対類似エッジ間距離)の各モジュール数であるE(i)は、2から7までの整数値となる。 According to the barcode pattern standard of CODE128, the width of the bar and the width of the bar is one time, two times, three times, or four times the basic width. Since it is never four times, E (i), which is the number of modules of normalized element data (edge-to-similar edge distance), is an integer value from 2 to 7.
以上のようにコードワードを取得した後、復号処理部143は、このコードワードに対応するキャラクタ値を復号参照テーブル(図示せず)から取得して、コードワードをキャラクタに変換することにより、データ復号を行う(ステップS604)。復号参照テーブルは、例えばJISX0504等の、CODE128規約にしたがって作成する。
After obtaining the code word as described above, the
図7の例では、データコードワードは、正規化されたエレメントデータE(i)の配列[5233]なので、キャラクタ値として‘86’が復号参照テーブルより取得される。 In the example of FIG. 7, since the data code word is an array [5233] of normalized element data E (i), '86' is acquired from the decoding reference table as a character value.
なお、本実施形態では、データは‘86’と1キャラクタとなっているが、バーコード151ではデータとして格納される領域は可変長であるので、複数のキャラクタが格納されている場合がある。このようなデータコードワード取得は、バーコード151に含まれる全てのデータキャラクタについて行われる。
In this embodiment, the data is '86' and one character, but in the
このようなデータ復号取得処理は、上述のステップS603で取得された全てのデータキャラクタについて行われる。 Such data decoding acquisition processing is performed for all data characters acquired in step S603 described above.
その後、バーコード151に含まれる誤り訂正符号を用いて、データ復号結果の誤り訂正を行う。誤り訂正の方法は、CODE128に規定された通りでよいので、ここでの説明を省略する。これにより、ステップS604のデータ復号処理が終了する。
Thereafter, the error correction of the data decoding result is performed using the error correction code included in the
以上により、ステップS402(図4参照)の復号処理が終了する。
(読み取り信頼性判定)
Thus, the decoding process in step S402 (see FIG. 4) ends.
(Reading reliability judgment)
上述のとおり、本実施形態では、各走査線211〜215の読み取り信頼度を計算し、この計算結果を用いて、走査線211〜215の復号結果に対する信頼性を判定する。また、この「読み取り信頼度」は、バーコードを読み取る際の余裕幅を用いて算出される。以下、読み取り信頼度の計算方法について説明する。
As described above, in the present embodiment, the reading reliability of each of the
上述のとおり、余裕幅とは、正規化されたエレメントデータが正しい値となるために許容される読み取り誤差の幅(範囲)であり、バーコードの復号誤りの発生し難さ(誤りの発生する可能性の低さ)の度合いを表す指標である。具体的には、実際の計測に基づくエレメントデータの値(画像メモリ130に格納された多値画像のバーコード151データから実際に計測し求めた値)と正しい正規化値を得ることができる計測値の範囲を示す境界値との乖離が大きいほど許容される読み取り誤差が大きく、その乖離が小さいほど許容される読み取り誤差は小さい。そこで、次のように余裕幅を定義する。
As described above, the margin width is a width (range) of a reading error that is allowed for normalized element data to have a correct value, and it is difficult for a barcode decoding error to occur (an error occurs). It is an index that represents the degree of low possibility). Specifically, the element data value based on the actual measurement (the value actually measured and obtained from the
まず、バーコード151の復号処理では、データコードワードを取得するに際して、エレメントデータE(i)を得るため、上式(3)のとおり、画素数の計数により求めたエッジ対類似エッジ間距離の実際の計測値e(i)について、単位モジュールにより変換計算した計算値t(i)を四捨五入し正規化している。したがって、t(i)の取り得る値の範囲は;E(i)−0.5≦t(i)<E(i)+0.5である。すなわち、正規化値E(i)を得ることができる計算値t(i)の下限は‘E(i)−0.5’であり、計算値t(i)の上限は‘E(i)+0.5’を超えない値である。
First, in the decoding process of the
ここで、‘E(i)−0.5’を下限境界値、‘E(i)+0.5’を上限境界値とすると計算値t(i)が実際の計測に基づくエレメントデータの値に相当する。そこで、t(i)と下限境界値との乖離およびt(i)と上限境界値との乖離のうちいずれか小さい方の乖離を、t(i)の余裕幅と定義する。換言すると、t(i)と(E(i)−0.5)との差の絶対値およびt(i)と(E(i)+0.5)との差の絶対値の小さい方をt(i)の余裕幅として算出することができる。つまり、読み取り誤差が、t(i)を中心にして正負方向に小さい方の乖離範囲のであれば、E(i)は必ず誤りのない正規化値となる。 Here, if “E (i) −0.5” is the lower limit boundary value and “E (i) +0.5” is the upper limit boundary value, the calculated value t (i) becomes the element data value based on the actual measurement. Equivalent to. Therefore, the smaller one of the divergence between t (i) and the lower limit boundary value and the divergence between t (i) and the upper limit boundary value is defined as a margin width of t (i). In other words, the smaller of the absolute value of the difference between t (i) and (E (i) −0.5) and the absolute value of the difference between t (i) and (E (i) +0.5) is expressed as t. It can be calculated as the margin width of (i). That is, if the reading error is a smaller deviation range in the positive and negative directions centering on t (i), E (i) is always a normalized value without error.
例えば、エレメントデータとしてエッジ対類似エッジ間距離e(i)の正規化値E(i)が4の場合、境界値は3.5および4.5である。したがって、例えば、実際の計測に基づく計算値t(i)が4.0の場合、余裕幅は0.5である。また、計算値t(i)が3.6の場合や4.4の場合、余裕幅は0.1である。余裕幅が小さい場合ほど、境界値に近い値となり読み取り誤りが発生し易いので、正規化演算結果E(i)の信頼性が低いことになる。 For example, when the normalized value E (i) of the edge-to-similar edge distance e (i) is 4 as element data, the boundary values are 3.5 and 4.5. Therefore, for example, when the calculated value t (i) based on actual measurement is 4.0, the margin width is 0.5. When the calculated value t (i) is 3.6 or 4.4, the margin width is 0.1. The smaller the margin width, the closer to the boundary value and the more likely the reading error occurs, so the reliability of the normalized calculation result E (i) is low.
上述のように、バーコード151では、1個のデータコードワードについて、4個のエレメントデータE(i)が使用される。本実施形態では、これら4個のE(i)全てについて、余裕幅を演算し、これらのうちで最も小さい余裕幅を、そのデータコードワードの余裕幅とする。さらに、1本の走査線に対応するデータコードワードの余裕幅のうちで最も小さいものを、その走査線の読み取り信頼度と定義する。すなわち、各走査線121〜125の読み取り信頼度は、その走査線に対応する全ての余裕幅の中で最小の余裕幅となる。したがって、最小の余裕幅が、最も良い読み取り信頼度を表している。
As described above, in the
図7の実施例では、E(1)=5(その取り得る計算値の範囲は4.5以上5.5未満)に対して、計算値t(1)=24×11/56=4.7・・・であるため、余裕幅は計算値t(1)と4.5との差であり、約0.2となる。E(2)=2(同上1.5以上2.5未満)に対して、計算値t(2)=10×11/56=1.9・・・であるため、余裕幅は、計算値t(2)と1.5との差であり、約0.4となる。また、E(3)=3(同上2.5以上3.5未満)に対して、計算値t(3)=16×11/56=3.1・・・であるため、余裕幅は、計算値t(3)と3.5との差であり、約0.4となる。同様に、E(4)はE(3)と同一の結果となる。したがって、この正規化したエレメントデータ列すなわちデータコードワード[5233]の余裕幅は、E(1)の余裕幅すなわち約0.2である。 In the example of FIG. 7, the calculated value t (1) = 24 × 11/56 = 4. E (1) = 5 (the range of possible calculated values is 4.5 or more and less than 5.5). Therefore, the margin is the difference between the calculated value t (1) and 4.5, and is about 0.2. For E (2) = 2 (same as 1.5 or more and less than 2.5), the calculated value t (2) = 10 × 11/56 = 1.9. This is the difference between t (2) and 1.5, which is about 0.4. Further, for E (3) = 3 (same as 2.5 or more and less than 3.5), the calculated value t (3) = 16 × 11/56 = 3.1. The difference between the calculated value t (3) and 3.5, which is about 0.4. Similarly, E (4) has the same result as E (3). Accordingly, the margin of the normalized element data string, that is, the data code word [5233] is the margin of E (1), that is, about 0.2.
全ての走査線211〜215に対する読み取り信頼度が演算されると、走査線判定部144cは、読み取り信頼度が最も大きい走査線を選択する。そして、走査線判定部144sは、選択した走査線に対応する復号結果(図3のステップS303参照)を、そのバーコード151の復号結果として出力する。
When the reading reliability for all the
加えて、走査線判定部144は、その復号結果に対応する読み取り信頼度を、復号結果の信頼性を示すデータとして出力してもよい。また、読み取り信頼度が所定値よりも低い(悪い)場合に、信頼性が不十分であることを示す参考情報を出力することとしてもよい。
(本実施形態の主な効果)
In addition, the scanning
(Main effects of this embodiment)
以上説明したように、本実施形態によれば、バーコードに対し複数の走査線を設定し、各走査線に対応するバーコードのデータからバーコードの復号誤りの発生し難さを示す読み取り信頼度を演算し、この読み取り信頼度用いて、走査線ごとに読み取り信頼性を評価することができる。さらに、この走査線ごとの読み取り信頼性の評価に基づき、最も信頼性が高い走査線に対応する復号結果をバーコードの復号結果として採用するので、バーコードの復号結果に対する信頼性を、向上させることができる。 As described above, according to the present embodiment, a plurality of scanning lines are set for a barcode, and reading reliability indicating the difficulty of occurrence of barcode decoding errors from barcode data corresponding to each scanning line. The degree of calculation is calculated, and the reading reliability can be evaluated for each scanning line by using the reading reliability. Furthermore, since the decoding result corresponding to the scanning line with the highest reliability is adopted as the barcode decoding result based on the evaluation of the reading reliability for each scanning line, the reliability of the barcode decoding result is improved. be able to.
特に、読み取り信頼度算出部を用いて各走査線の読み取り信頼度を算出し、読み取り信頼度判定部を用いて該算出結果から最も良い読み取り信頼度を判定し、さらに、走査線判定部を用いて該判定結果に対応する走査線を判定することにより、最も信頼性が高い走査線およびその信頼性の評価値を得ることができる。 In particular, the reading reliability calculation unit is used to calculate the reading reliability of each scanning line, the reading reliability determination unit is used to determine the best reading reliability from the calculation result, and the scanning line determination unit is used. By determining the scanning line corresponding to the determination result, the most reliable scanning line and the evaluation value of the reliability can be obtained.
また、読み取り信頼度として、バーコードに含まれるエレメントデータごとに算出する余裕幅を用いるので、簡単な演算処理で信頼性の評価を行うことができる。 Further, since the margin width calculated for each element data included in the barcode is used as the reading reliability, the reliability can be evaluated with a simple arithmetic processing.
加えて、本実施形態によれば、読み取り信頼度を、エレメントデータすなわちエッジ対類似エッジ間距離についての計測値と正規化値とを用いて演算するので、簡単な演算処理で信頼性の評価を行うことができる。 In addition, according to the present embodiment, since the reading reliability is calculated using the measured value and the normalized value for the element data, that is, the distance between the edge and the similar edge, the reliability can be evaluated by simple calculation processing. It can be carried out.
さらに、本実施形態によれば、エレメントデータすなわちエッジ対類似エッジ間距離を正規化する演算の途中結果を用いて余裕幅を算出することができるので、この点でも演算処理がさらに簡単になる。 Furthermore, according to the present embodiment, the margin width can be calculated by using the intermediate result of the calculation for normalizing the element data, that is, the edge-to-similar edge distance, so that the calculation process is further simplified in this respect.
また、本実施形態によれば、エレメントデータとしてエッジ対類似エッジ間距離を用いているので、バーコード151の印刷誤差等の影響を受けにく、バーコードの復号結果に対する信頼性を、一層向上させることができる。
[他の実施形態]
Further, according to the present embodiment, since the edge-to-similar edge distance is used as the element data, it is not affected by the printing error of the
[Other Embodiments]
本実施形態では、全ての走査線211〜215に対する復号処理を行った後で、これら走査線211〜215に対する読み取り信頼度演算を行うこととしたが(図3のステップS303、S304参照)、最初の走査線211に対して復号処理および読み取り信頼度演算を行った後で二番目の走査線212に対する復号処理および判定処理を行うというような順序で処理を行うこととしてもよい。
In this embodiment, after performing the decoding process on all the
また、本実施形態では、データキャラクタ1個の例で説明したが、バーコードが複数のデータキャラクタを持つ場合には、1つの走査線にある全てのデータキャラクタについて計測値および正規化値を求め、余裕幅を演算し、これらのうちで最も小さい余裕幅を、そのデータコードワードの余裕幅とすることができる。さらには、1本の走査線に対応するデータコードワードの余裕幅のうちで最も小さいものを、その走査線の読み取り信頼度とすることができる。 Further, in the present embodiment, an example of one data character has been described. However, when a barcode has a plurality of data characters, measurement values and normalized values are obtained for all data characters on one scanning line. The margin width is calculated, and the smallest margin width among them can be set as the margin width of the data code word. Furthermore, the smallest one of the margins of the data code word corresponding to one scanning line can be set as the reading reliability of the scanning line.
本実施形態では、エレメントデータとしてエッジ対類似エッジ間距離を用いたが、これに限定するものではない。たとえば、エレメントデータとして、各バーや各スペースの幅をそのまま使用してもよい。 In the present embodiment, the edge-to-similar edge distance is used as the element data, but the present invention is not limited to this. For example, the width of each bar or each space may be used as it is as element data.
また、本実施形態は、搬送機構と一次元イメージセンサとを用いたバーコード読取装置に本発明を適用した場合を例に採って説明したが、搬送機構を持たないハンディタイプの読取装置や、エリアセンサ(例えば二次元CCDやCMOSイメージャ等)を用いた読取装置等にも本発明を適用することが可能である。 Further, in the present embodiment, the case where the present invention is applied to a barcode reading apparatus using a conveyance mechanism and a one-dimensional image sensor has been described as an example, but a handy type reading apparatus having no conveyance mechanism, The present invention can also be applied to a reading device using an area sensor (for example, a two-dimensional CCD or a CMOS imager).
また、CCD等のカメラによってバーコードを撮影し、その映像データに画像処理を施すことで、バーコード部分を抽出するとともに当該バーコードを検出し解読してもよい。さらに、バーコード上をレーザ光線で走査し、その反射光を光学式1次元センサで検出することで、バーコードのキャラクタを取得するレーザスキャン方式であってもよい。 Alternatively, a barcode may be taken by a camera such as a CCD, and the video data may be subjected to image processing to extract the barcode portion and detect and decode the barcode. Further, a laser scanning method may be used in which a barcode character is obtained by scanning the barcode with a laser beam and detecting the reflected light with an optical one-dimensional sensor.
100 バーコード読取装置
110 媒体搬送機構
111 底板
112,113 搬送ガイド
120 撮像部
121 光電変換素子列
130 画像メモリ
140 読取処理部
141 位置決定部
142 走査線設定部
143 復号処理部
143a エレメント幅算出部
143b 正規化値算出部
143c キャラクタ復号部
144 走査線判定部
144a 読み取り信頼度算出部
144b 読み取り信頼度判定部
144c 走査線判定部
150 記録担体
151 バーコード
201 バー
202 スペース
211,212,213,214,215 走査線
DESCRIPTION OF
Claims (4)
前記データを記憶するメモリと、
該メモリに記憶された前記データに対して、複数の走査線を設定する走査線設定部と、
前記走査線に対応する前記データから、それぞれ前記バーコードを復号する復号処理部と、
前記走査線に対応する前記データから、前記バーコードの復号誤りの発生し難さを示す読み取り信頼度を演算し、該読み取り信頼度を用いて最も信頼性が高い前記走査線を判定する判定部と、
を備え、
前記判定部は、
前記走査線設定部で設定された複数の走査線のそれぞれについて、キャラクタ単位で前記読み取り信頼度を算出する読み取り信頼度算出部と、
該読み取り信頼度算出部で算出した読み取り信頼度の中で最も良い値を判定する読み取り信頼度判定部と、
前記最も良い値の読み取り信頼度に対応する走査線を判定する走査線判定部と、
を備え、
前記読み取り信頼度算出部は、
前記複数の走査線のそれぞれについて、前記バーコードのエレメントの幅に基づき算出されるエレメントデータごとに、読み取り誤りの発生し難さを示す余裕幅を算出する余裕幅算出部と、
それぞれの前記走査線ごとに、対応する前記余裕幅のうち最も小さいものを選択して、該走査線の前記読み取り信頼度に決定する読み取り信頼度決定部と、
を備え、
前記復号処理部は、
前記走査線の各々に対応する前記データから少なくとも1キャラクタを抽出する手段と、
それぞれの前記走査線ごとに、前記1キャラクタのエレメントデータの計測値e(i)を算出するともに、前記1キャラクタの全長の計測値Sを算出する手段と、
それぞれの前記走査線ごとに、抽出した前記1キャラクタの全長の単位モジュール数mと前記全長の計測値Sとの比m/Sを算出する手段と、
t(i)=e(i)×m/Sを算出して、該t(i)の小数点第1位を四捨五入することにより、エレメントデータの正規化値E(i)を算出する手段と
該エレメントデータの正規化値E(i)に基づいてキャラクタ復号を実行する手段と、
を備え、
前記余裕幅算出部は、
前記エレメントデータの正規化値E(i)を得ることができるt(i)の下限境界値を‘E(i)−0.5’、上限境界値を‘E(i)+0.5’として、t(i)と下限境界値との乖離の絶対値およびt(i)と上限境界値との乖離の絶対値のうちいずれか小さい方を、t(i)の余裕幅として算出する手段と、
を備えることを特徴とするバーコード読取装置。 A reading unit that optically reads the surface of the medium to generate data of at least one character of the barcode;
A memory for storing the data;
A scanning line setting unit for setting a plurality of scanning lines for the data stored in the memory;
A decoding processor that decodes the barcode from the data corresponding to the scanning line;
A determination unit that calculates read reliability indicating the difficulty of occurrence of decoding error of the barcode from the data corresponding to the scan line, and determines the scan line having the highest reliability using the read reliability. When,
With
The determination unit
For each of the plurality of scanning lines set by the scanning line setting unit, a reading reliability calculation unit that calculates the reading reliability in character units;
A reading reliability determination unit that determines the best value among the reading reliability calculated by the reading reliability calculation unit;
A scanning line determination unit that determines a scanning line corresponding to the reading reliability of the best value;
With
The read reliability calculation unit includes:
For each of the plurality of scanning lines, for each element data calculated based on the width of the element of the barcode, a margin width calculation unit that calculates a margin width indicating the difficulty of occurrence of reading errors;
For each of the scanning lines, a reading reliability determination unit that selects the smallest one of the corresponding margin widths and determines the reading reliability of the scanning line;
With
The decryption processing unit
Means for extracting at least one character from the data corresponding to each of the scanning lines;
Means for calculating the measured value e (i) of the element data of the one character for each of the scanning lines, and calculating the measured value S of the total length of the one character;
Means for calculating the ratio m / S between the unit module number m of the extracted full length of one character and the measured value S of the full length for each of the scanning lines;
means for calculating a normalized value E (i) of element data by calculating t (i) = e (i) × m / S and rounding off the first decimal place of t (i);
Means for performing character decoding based on the normalized value E (i) of the element data;
With
The margin calculation part
The lower limit boundary value of t (i) from which the normalized value E (i) of the element data can be obtained is “E (i) −0.5”, and the upper limit boundary value is “E (i) +0.5”. , T (i) and the absolute value of the deviation between the lower limit boundary value and the absolute value of the deviation between the t (i) and the upper limit boundary value, the smaller one being calculated as the margin width of t (i); ,
A bar code reader characterized by comprising:
前記データをメモリに記憶させる第2ステップと、A second step of storing the data in a memory;
前記メモリに記憶された前記データに対して、複数の走査線を設定する第3ステップと、A third step of setting a plurality of scanning lines for the data stored in the memory;
前記走査線に対応する前記データから、それぞれ前記バーコードを復号する第4ステップと、A fourth step of decoding the barcode respectively from the data corresponding to the scanning line;
前記走査線に対応する前記データから、前記バーコードの復号誤りの発生し難さを示す読み取り信頼度を演算し、該読み取り信頼度を用いて最も信頼性が高い前記走査線を判定する第5ステップと、From the data corresponding to the scanning line, a reading reliability indicating the difficulty of occurrence of the barcode decoding error is calculated, and the scanning line having the highest reliability is determined using the reading reliability. Steps,
を備え、With
前記第5ステップは、The fifth step includes
前記第3ステップで設定された複数の走査線のそれぞれについて、キャラクタ単位で前記読み取り信頼度を算出する読み取り信頼度算出ステップと、A reading reliability calculation step of calculating the reading reliability in character units for each of the plurality of scanning lines set in the third step;
該読み取り信頼度ステップで算出した読み取り信頼度の中で最も良い値を判定する読み取り信頼度判定ステップと、A reading reliability determination step for determining the best value among the reading reliability calculated in the reading reliability step;
前記最も良い値の読み取り信頼度に対応する走査線を判定する走査線判定ステップと、A scanning line determination step of determining a scanning line corresponding to the reading reliability of the best value;
を備え、With
前記読み取り信頼度算出ステップは、The read reliability calculation step includes:
前記複数の走査線のそれぞれについて、前記バーコードのエレメントの幅に基づき算出されるエレメントデータごとに、読み取り誤りの発生し難さを示す余裕幅を算出する余裕幅算出ステップと、For each of the plurality of scanning lines, for each element data calculated based on the width of the element of the barcode, a margin width calculating step for calculating a margin width indicating the difficulty of occurrence of reading errors;
それぞれの前記走査線ごとに、対応する前記余裕幅のうち最も小さいものを選択して、該走査線の前記読み取り信頼度に決定する読み取り信頼度決定ステップと、For each of the scanning lines, a reading reliability determining step of selecting the smallest of the corresponding margin widths and determining the reading reliability of the scanning line;
を備え、With
前記第4ステップは、The fourth step includes
前記走査線に対応する前記データから少なくとも1キャラクタを抽出するステップと、Extracting at least one character from the data corresponding to the scanning line;
それぞれの前記走査線ごとに、前記1キャラクタのエレメントデータの計測値e(i)を算出するとともに、前記1キャラクタの全長の計測値Sを算出するステップと、Calculating a measurement value e (i) of the element data of the one character for each of the scanning lines, and calculating a measurement value S of the total length of the one character;
それぞれの前記走査線ごとに、抽出した前記1キャラクタの全長の単位モジュール数mと前記全長の計測値Sとの比m/Sを算出するステップと、Calculating a ratio m / S of the extracted unit module number m of the full length of the one character and the measurement value S of the full length for each of the scanning lines;
t(i)=e(i)×m/Sを算出して、該t(i)の小数点第1位を四捨五入することにより、エレメントデータの正規化値E(i)を算出するステップと、calculating t (i) = e (i) × m / S and rounding off the first decimal place of t (i) to calculate a normalized value E (i) of the element data;
該エレメントデータの正規化値E(i)に基づいてキャラクタ復号を実行するステップと、Performing character decoding based on the normalized value E (i) of the element data;
を備え、With
前記余裕幅算出ステップは、The margin calculation step includes
前記エレメントデータの正規化値E(i)を得ることができるt(i)の下限境界値を‘E(i)−0.5’、上限境界値を‘E(i)+0.5’として、t(i)と下限境界値との乖離の絶対値およびt(i)と上限境界値との乖離の絶対値のうちいずれか小さい方を、t(i)の余裕幅として算出する、The lower limit boundary value of t (i) from which the normalized value E (i) of the element data can be obtained is “E (i) −0.5”, and the upper limit boundary value is “E (i) +0.5”. , The absolute value of the deviation between t (i) and the lower limit boundary value and the absolute value of the deviation between t (i) and the upper limit boundary value, whichever is smaller, is calculated as the margin width of t (i).
ことを特徴とするバーコード読取方法。A bar code reading method.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010198208A JP5676183B2 (en) | 2010-09-03 | 2010-09-03 | Bar code reading apparatus and bar code reading method |
US13/223,506 US8381983B2 (en) | 2010-09-03 | 2011-09-01 | Apparatus and method for reading barcode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010198208A JP5676183B2 (en) | 2010-09-03 | 2010-09-03 | Bar code reading apparatus and bar code reading method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012058776A JP2012058776A (en) | 2012-03-22 |
JP5676183B2 true JP5676183B2 (en) | 2015-02-25 |
Family
ID=45769944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010198208A Expired - Fee Related JP5676183B2 (en) | 2010-09-03 | 2010-09-03 | Bar code reading apparatus and bar code reading method |
Country Status (2)
Country | Link |
---|---|
US (1) | US8381983B2 (en) |
JP (1) | JP5676183B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9702707B2 (en) * | 2011-12-22 | 2017-07-11 | AppLabz, LLC | Systems, methods, and apparatus for providing indoor navigation using optical floor sensors |
US11341384B2 (en) * | 2014-08-28 | 2022-05-24 | Banctec, Incorporated | Document processing system and method for associating metadata with a physical document while maintaining the integrity of its content |
KR102638707B1 (en) * | 2018-10-31 | 2024-02-21 | 삼성전자주식회사 | Method and Electronic device for reading a barcode |
WO2020247788A1 (en) * | 2019-06-06 | 2020-12-10 | Bluebeam, Inc. | Methods and systems for processing images to perform automatic alignment of electronic images |
WO2021173562A1 (en) * | 2020-02-24 | 2021-09-02 | Walmart Apollo, Llc | Systems and methods for visual identifiers |
CN112329495B (en) * | 2020-11-02 | 2022-08-05 | 杭州海康威视数字技术股份有限公司 | Bar code identification method, device and system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05165994A (en) * | 1991-12-17 | 1993-07-02 | Olympus Optical Co Ltd | Bar code symbol reader |
JPH09161001A (en) * | 1995-12-05 | 1997-06-20 | Fujitsu Ltd | Bar code reader |
JPH09237312A (en) | 1996-02-29 | 1997-09-09 | Toshiba Corp | Optical character reader |
JP2001043300A (en) | 1999-07-29 | 2001-02-16 | Nec Data Terminal Ltd | Device and method for reading bar code |
US20060060654A1 (en) * | 2004-09-23 | 2006-03-23 | Kazukuni Hosoi | Method of decoding barcode symbols and the like using multiple scanning lines |
US7422153B2 (en) * | 2005-11-30 | 2008-09-09 | Symbol Technologies, Inc. | Decoding with data from multiple scans |
US8172145B2 (en) * | 2007-11-20 | 2012-05-08 | Datalogic ADC, Inc. | Enhanced virtual scan line processing |
US8025234B2 (en) * | 2008-10-16 | 2011-09-27 | Symbol Technologies, Inc. | Arrangement for and method of enhancing performance of an imaging reader |
-
2010
- 2010-09-03 JP JP2010198208A patent/JP5676183B2/en not_active Expired - Fee Related
-
2011
- 2011-09-01 US US13/223,506 patent/US8381983B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20120055991A1 (en) | 2012-03-08 |
JP2012058776A (en) | 2012-03-22 |
US8381983B2 (en) | 2013-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7380718B2 (en) | Method for reading out symbol information and device for reading out symbol information | |
JP5591578B2 (en) | Character string recognition apparatus and character string recognition method | |
JP5676183B2 (en) | Bar code reading apparatus and bar code reading method | |
JP4752413B2 (en) | Two-dimensional code division display method, two-dimensional code reading method, and two-dimensional code reading apparatus | |
US8333326B2 (en) | Stacked barcode reader and stacked barcode reading method | |
US7949187B2 (en) | Character string recognition method and device | |
JP4202101B2 (en) | Barcode recognition method and recognition decoding processing apparatus | |
US9070033B2 (en) | Stack barcode reader and stack barcode reading method | |
EP3933662B1 (en) | Enhanced matrix symbol error correction method | |
JP5187383B2 (en) | Two-dimensional code division display method, two-dimensional code reading method, and two-dimensional code reading apparatus | |
JP5379626B2 (en) | Stack bar code information reading method and stack bar code information reading device | |
JP4652201B2 (en) | Bar code symbol information reading method and bar code symbol information reading device | |
JP5187382B2 (en) | Two-dimensional code division display method, two-dimensional code reading method, and two-dimensional code reading apparatus | |
JP2003346105A (en) | Two-dimensional bar code and method for recording the same | |
JP5515012B2 (en) | Bar code information reading method and bar code information reading device | |
JP7427427B2 (en) | Method and apparatus for decoding symbols with insufficient resolution | |
US9495574B2 (en) | Stack barcode reader and stack barcode reading method | |
JP5657987B2 (en) | Stacked bar code reader and stack bar code reading method | |
JP5683891B2 (en) | Stacked bar code reader and stack bar code reading method | |
JPH10111904A (en) | Bar code reader and recording medium | |
JP5453594B2 (en) | Symbol information reading apparatus and symbol information reading method | |
JP4403063B2 (en) | Symbol information reading method and symbol information reading apparatus | |
CN102117399A (en) | Method and device for recognizing document barcode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130807 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140324 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140605 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140805 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20141106 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20141201 |
|
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: 20141216 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141225 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5676183 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |