JP5104557B2 - Optical information reader - Google Patents

Optical information reader Download PDF

Info

Publication number
JP5104557B2
JP5104557B2 JP2008145930A JP2008145930A JP5104557B2 JP 5104557 B2 JP5104557 B2 JP 5104557B2 JP 2008145930 A JP2008145930 A JP 2008145930A JP 2008145930 A JP2008145930 A JP 2008145930A JP 5104557 B2 JP5104557 B2 JP 5104557B2
Authority
JP
Japan
Prior art keywords
code
image
feature portion
pixel
predetermined feature
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
Application number
JP2008145930A
Other languages
Japanese (ja)
Other versions
JP2009294769A (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.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2008145930A priority Critical patent/JP5104557B2/en
Publication of JP2009294769A publication Critical patent/JP2009294769A/en
Application granted granted Critical
Publication of JP5104557B2 publication Critical patent/JP5104557B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、光学的情報読取装置に関するものである。   The present invention relates to an optical information reader.

バーコードや二次元コードなどの情報コードを読み取る光学的情報読取装置では、情報コードからの反射光を取り込むと共に、結像レンズによって情報コードの像を撮像素子上に結像させ、当該撮像素子によって得られた情報コードの画像データをデコードする構成が一般的である。なお、情報コードを光学的に読み取る装置としては例えば特許文献1のようなものが提供されている。
特開平5−94561号公報
In an optical information reader that reads an information code such as a bar code or a two-dimensional code, the reflected light from the information code is captured, and an image of the information code is formed on the image sensor by an imaging lens. In general, the image data of the obtained information code is decoded. As an apparatus for optically reading an information code, for example, a device as disclosed in Patent Document 1 is provided.
Japanese Patent Application Laid-Open No. 5-94561

ところで、上記光学的情報読取装置では、情報コードが常に適正なサイズで撮像されるとは限らず、撮像手段に対して相対的に小さいサイズで情報コードが結像されてしまうと、撮像素子の画素が適切に割り当てられず、読み取りを良好に行うことができなくなってしまうという問題がある。   By the way, in the optical information reading device, the information code is not always imaged with an appropriate size, and if the information code is imaged with a relatively small size with respect to the imaging means, There is a problem in that the pixels are not properly allocated and reading cannot be performed satisfactorily.

このような問題に関連する技術としては例えば特許文献1のようなものがある。特許文献1の技術は、反射光の経路上にズームの拡大、縮小を行い得るズームレンズ、ズームコントローラが設けられており、撮像素子(イメージセンサ)に映し出される情報コードのサイズを変更できるように構成されている。この構成では、撮像した情報コードの解読を行い、誤り数が訂正能力を超えている場合にはズームレンズを制御してズームの拡大を行い、さらに解読処理を行うといったことを繰り返している。   For example, Patent Document 1 discloses a technique related to such a problem. The technique of Patent Document 1 is provided with a zoom lens and a zoom controller capable of zooming in and out on a reflected light path so that the size of an information code displayed on an image sensor (image sensor) can be changed. It is configured. In this configuration, the captured information code is decoded, and if the number of errors exceeds the correction capability, the zoom lens is controlled to enlarge the zoom and the decoding process is repeated.

しかしながら、特許文献1の技術は、情報コードの拡大と解読を交互に行うものであり、試行錯誤的に処理を繰り返すものであるため、明らかに解読が困難な画像や、解読可能か否か不明な画像に対しても一連の解読処理を行う必要がある。従って、処理時間の増大は避けられず、読み取りの効率を低下させてしまうという懸念がある。   However, since the technique of Patent Document 1 alternately performs expansion and decoding of an information code and repeats the process by trial and error, it is unclear whether the image is clearly difficult to decode or whether it can be decoded. It is necessary to perform a series of decoding processes even for a simple image. Therefore, an increase in processing time is unavoidable, and there is a concern that the reading efficiency is lowered.

本発明は、上述した課題を解決するためになされたものであり、情報コードが小さなサイズで撮像された場合であっても適切に解読処理を行うことができ、かつその解読処理に要する時間を極力削減できる光学的情報読取装置を提供することを目的とする。   The present invention has been made in order to solve the above-described problem, and even when an information code is imaged in a small size, the decoding process can be appropriately performed, and the time required for the decoding process can be reduced. An object of the present invention is to provide an optical information reader that can be reduced as much as possible.

上記目的を達成するため、請求項1の発明は、複数の画素からなる撮像素子を備えた撮像手段と、情報コードからの反射光を前記撮像手段に結像させる結像手段と、前記撮像素子からの信号に基づいて各画素に対応した画素データを取得し、前記情報コードの画像データを生成する生成手段と、前記生成手段にて生成された前記画像データに対して画像拡大処理を行う拡大処理手段と、を備えた光学的情報読取装置であって、前記画像データのコード領域に配され且つ複数のセルによって構成される所定特徴部分を検出する特徴部分検出手段と、前記特徴部分検出手段によって検出された前記所定特徴部分の画像と、前記所定特徴部分の画像を構成する複数の画素データと、に基づいて、前記所定特徴部分の各セルに対する画素割当度合いを検出する割当度合検出手段と、を備え、前記拡大処理手段は、前記割当度合検出手段によって検出された前記画素割当度合いに応じて拡大率を決定し、その決定された前記拡大率に基づいて前記画像データに対して前記画像拡大処理を行う構成をなしており、前記情報コードのコード種別毎に前記所定特徴部分が決められており、前記所定特徴部分は、規定されたセル数、及び規定された形状で構成された部分であり、前記割当度合検出手段は、前記特徴部分検出手段によって検出された前記所定特徴部分の画像と、前記所定特徴部分の画像を構成する複数の画素データと、に基づいて、前記所定特徴部分によって特定されるコード種別に応じた画素割当度合算出処理を行い、更に、前記撮像手段により撮像された前記情報コードが一次元コードであるか二次元コードであるかを判断する判断手段を備え、前記拡大処理手段は、前記判断手段により前記情報コードが一次元コードと判断された場合、前記画像拡大処理として一次元の線形補間処理を行い、前記情報コードが二次元コードと判断された場合には、二次元の線形補間処理を行うことを特徴とする。 In order to achieve the above object, the invention of claim 1 is directed to an image pickup means having an image pickup element comprising a plurality of pixels, an image forming means for forming an image of reflected light from an information code on the image pickup means, and the image pickup element. Obtaining pixel data corresponding to each pixel based on a signal from the generation unit, generating image data of the information code, and enlargement for performing image enlargement processing on the image data generated by the generation unit An optical information reading apparatus comprising: processing means; feature portion detection means for detecting a predetermined feature portion arranged in a code area of the image data and configured by a plurality of cells; and the feature portion detection means Based on the image of the predetermined feature portion detected by the plurality of pieces of pixel data constituting the image of the predetermined feature portion, the pixel allocation degree for each cell of the predetermined feature portion is determined. An allocation degree detection means for issuing, and the enlargement processing means determines an enlargement ratio according to the pixel assignment degree detected by the assignment degree detection means, and based on the determined enlargement ratio, The image enlargement process is performed on image data, and the predetermined feature portion is determined for each code type of the information code, and the predetermined feature portion includes a specified number of cells and a specified number of cells. The allocation degree detecting means includes an image of the predetermined feature portion detected by the feature portion detecting means and a plurality of pixel data constituting the image of the predetermined feature portion. Based on this, a pixel allocation degree calculation process according to the code type specified by the predetermined feature portion is performed, and the information code captured by the imaging unit is further converted to a one-dimensional code. Determination means for determining whether the information code is a one-dimensional code or not when the information code is determined as a one-dimensional code by the determination means. An interpolation process is performed, and when the information code is determined to be a two-dimensional code, a two-dimensional linear interpolation process is performed .

請求項2の発明は、請求項1に記載の光学的情報読取装置において、前記特徴部分検出手段は、前記情報コードがバーコードである場合、明色バーと暗色バーとが所定の幅比率で並ぶ部分を前記所定特徴部分として検出し、前記割当度合検出手段は、前記幅比率と、前記所定特徴部分を構成する複数の画素データと、に基づいて、前記バーコードの単位幅に対する前記画素割当度合いを検出することを特徴とする。 According to a second aspect of the present invention, in the optical information reading device according to the first aspect, when the information code is a bar code, the characteristic portion detection unit has a light bar and a dark bar at a predetermined width ratio. A line-up portion is detected as the predetermined feature portion, and the allocation degree detection unit is configured to detect the pixel allocation for the unit width of the barcode based on the width ratio and a plurality of pixel data constituting the predetermined feature portion. It is characterized by detecting the degree.

請求項3の発明は、請求項1又は請求項2に記載の光学的情報読取装置において、前記特徴部分検出手段は、前記情報コードがQRコードである場合、当該QRコードの位置検出パターンを前記所定特徴部分として検出し、前記割当度合検出手段は、前記位置検出パターンの画像と、前記位置検出パターンを構成する複数の画素データと、に基づいて、前記位置検出パターンの1セルに対する画素割当度合いを検出することを特徴とする。 According to a third aspect of the present invention, in the optical information reading device according to the first or second aspect, when the information code is a QR code, the characteristic portion detection unit displays a position detection pattern of the QR code. The allocation degree detection means detects the predetermined feature portion, and the allocation degree detection means determines the pixel allocation degree for one cell of the position detection pattern based on the image of the position detection pattern and a plurality of pixel data constituting the position detection pattern. Is detected.

請求項1の発明では、画像データのコード領域に配され且つ複数のセルによって構成される所定特徴部分を検出し、その検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素データと、に基づいて、所定特徴部分の各セルに対する画素割当度合いを検出している。この構成によれば、各セルに対して画素がどの程度割り当てられているかを、所定特徴部分の解析によって迅速且つ適切に把握できるようになる。
更に、請求項1の発明では、検出された画素割当度合いに応じて拡大率を決定し、その決定された拡大率に基づいて画像データに対して画像拡大処理を行っている。このようにすると、妥当な拡大率を得るために試行錯誤的に処理を繰り返す必要がなくなり、画素割当度合いに応じた適切な拡大率を迅速に取得でき、ひいては、画像拡大処理や解読処理を効率的且つ良好に行うことができるようになる。
According to the first aspect of the present invention, a predetermined feature portion arranged in a code area of image data and composed of a plurality of cells is detected, and the detected image of the predetermined feature portion and a plurality of images constituting the predetermined feature portion are formed. The pixel allocation degree for each cell of the predetermined feature portion is detected based on the pixel data. According to this configuration, it is possible to quickly and appropriately grasp how many pixels are assigned to each cell by analyzing a predetermined feature portion.
Further, in the first aspect of the present invention, the enlargement ratio is determined according to the detected degree of pixel allocation, and image enlargement processing is performed on the image data based on the determined enlargement ratio. In this way, it is not necessary to repeat the process by trial and error in order to obtain a reasonable enlargement ratio, and an appropriate enlargement ratio corresponding to the degree of pixel allocation can be quickly acquired. It is possible to perform the operation properly and satisfactorily.

また、規定されたセル数、及び規定された形状で構成された部分が所定特徴部分とされており、且つ情報コードのコード種別毎に所定特徴部分が決められている。情報コードは、規定されたセル数、及び規定された形状で構成された部分を備えているが、この部分を所定特徴部分として利用すれば、各セルに対して画素がどの程度割り当てられているかを、複雑な処理を用いることなく精度高く算出できるようになる。更に、所定特徴部分によって特定されるコード種別に応じた画素割当度合算出処理を行い、特定されるコード種別に応じた画像拡大処理を行うようにしているため、各コード種別に適した方法でそれぞれ画素割当度合を算出でき、各コード種別についてそれぞれ最適な拡大処理を行うことができる。 Further, a portion constituted by a prescribed number of cells and a prescribed shape is set as a predetermined feature portion, and a predetermined feature portion is determined for each code type of the information code. The information code has a specified number of cells and a part configured with a specified shape. If this part is used as a predetermined feature, how many pixels are allocated to each cell. Can be calculated with high accuracy without using complicated processing. Furthermore, since the pixel allocation degree calculation process corresponding to the code type specified by the predetermined feature portion is performed, and the image enlargement process corresponding to the specified code type is performed, each method is suitable for each code type. The degree of pixel allocation can be calculated, and an optimum enlargement process can be performed for each code type.

また、画像拡大処理として、線形補間法を用いた拡大処理を行うようにしている。このように線形補間法を用いると、処理時間の短縮化を図りつつ拡大処理後の画質を比較的良好なものとすることができる。 Further, as image enlargement processing , enlargement processing using a linear interpolation method is performed. When the linear interpolation method is used in this way, the image quality after the enlargement process can be made relatively good while shortening the processing time.

また、撮像手段により撮像された情報コードが一次元コードであるか二次元コードであるかを判断し、一次元コードと判断された場合、画像拡大処理として一次元の線形補間処理を行い、情報コードが二次元コードと判断された場合には、二次元の線形補間処理を行うようにしている。一次元コード、二次元コードそれぞれについて、必要なレベルで適切な補間処理を行うことができ、拡大処理の効率化を図ることができる。 Also, it is determined whether the information code captured by the imaging means is a one-dimensional code or a two-dimensional code. If it is determined that the information code is a one-dimensional code, a one-dimensional linear interpolation process is performed as an image enlargement process, When the code is determined to be a two-dimensional code, a two-dimensional linear interpolation process is performed. For each of the one-dimensional code and the two-dimensional code, appropriate interpolation processing can be performed at a necessary level, and the efficiency of the enlargement processing can be improved.

請求項2の発明では、情報コードがバーコードである場合に、明色バーと暗色バーとが所定の幅比率で並ぶ部分を所定特徴部分として検出している。このようにすると、バーコードが読み取り対象である場合に、所定特徴部分を幅比率に基づいて簡易且つ迅速に検出できる。さらに、その幅比率と、所定特徴部分を構成する複数の画素データと、に基づいて、バーコードの単位幅に対する画素割当度合いを検出している。このようにすると、得られたバーコード画像についての画素割当度合いを、簡易に、かつ精度高く把握できる。 According to the second aspect of the present invention, when the information code is a bar code, a portion where the light color bar and the dark color bar are arranged at a predetermined width ratio is detected as the predetermined characteristic portion. In this way, when the barcode is to be read, the predetermined characteristic portion can be detected easily and quickly based on the width ratio. Further, the pixel allocation degree with respect to the unit width of the barcode is detected based on the width ratio and a plurality of pixel data constituting the predetermined feature portion. In this way, it is possible to easily and accurately grasp the degree of pixel allocation for the obtained barcode image.

請求項3の発明は、情報コードがQRコードである場合、当該QRコードの位置検出パターンを所定特徴部分として検出し、位置検出パターンの画像と、位置検出パターンを構成する複数の画素データと、に基づいて、位置検出パターンの1セルに対する画素割当度合いを検出している。このようにすると、QRコードの各セルに対する画素割当度合いを、簡易に、かつ精度高く把握できる。特に、位置検出パターンは、QRコードの読み取りの際に早期に検出される部分であり、QRコードの位置を把握する上で必須の部分であるため、このような位置検出ターンの検出を画素割当度合いの把握に兼用すれば、各セルに対する画素割当度合いを極めて迅速に、かつ効率的に検出できるようになり、ひいては、画像拡大処理、デコード処理の迅速化を図ることができる。 In the invention of claim 3 , when the information code is a QR code, the position detection pattern of the QR code is detected as a predetermined feature portion, an image of the position detection pattern, a plurality of pixel data constituting the position detection pattern, Based on the above, the pixel allocation degree for one cell of the position detection pattern is detected. In this way, it is possible to easily and accurately grasp the degree of pixel allocation for each cell of the QR code. In particular, the position detection pattern is a portion to be detected at an early stage during the reading of the QR code, since it is essential part in order to grasp the position of the QR code, the pixel detection of such a position detection pattern If it is also used for grasping the allocation degree, the pixel allocation degree for each cell can be detected very quickly and efficiently, and the image enlargement process and the decoding process can be accelerated.

[第1実施形態]
以下、本発明の第1実施形態に係る光学情報読取装置20について、図面を参照しつつ説明する。
図1に示すように、情報コードリーダ20は、主に、照明光源21、受光センサ23、フィルタ25、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示装置46等のマイクロコンピュータ(以下「マイコン」という)系と、電源スイッチ41、電池49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。
[First Embodiment]
Hereinafter, an optical information reader 20 according to a first embodiment of the present invention will be described with reference to the drawings.
As shown in FIG. 1, the information code reader 20 mainly includes an optical system such as an illumination light source 21, a light receiving sensor 23, a filter 25, and an imaging lens 27, a memory 35, a control circuit 40, an operation switch 42, and a liquid crystal display. A microcomputer (hereinafter referred to as “microcomputer”) system such as the device 46 and a power system such as a power switch 41 and a battery 49 are configured. These are mounted on a printed wiring board (not shown) or housed in a housing (not shown).

光学系は、照明光源21、受光センサ23、フィルタ25、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本実施形態では、受光センサ23を挟んだ両側に照明光源21が設けられており、図略のハウジングの読取口を介して読取対象物Rに向けて照明光Lfを照射可能に構成されている。この読取対象物Rは、例えば、包装容器や包装用紙あるいはラベルといった表示媒体に相当するもので、その表面には情報コードCとして例えばバーコードや二次元コードが印刷されている。   The optical system includes an illumination light source 21, a light receiving sensor 23, a filter 25, an imaging lens 27, and the like. The illumination light source 21 functions as an illumination light source capable of emitting illumination light Lf, and includes, for example, a red LED and a diffusion lens, a condensing lens, and the like provided on the emission side of the LED. In the present embodiment, illumination light sources 21 are provided on both sides of the light receiving sensor 23, and configured to irradiate the illumination light Lf toward the reading object R through a reading port of a housing (not shown). . The reading object R corresponds to a display medium such as a packaging container, packaging paper, or a label, for example, and a barcode or a two-dimensional code is printed on the surface as the information code C, for example.

受光センサ23は、読取対象物Rや情報コードCに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の受光素子を2次元に配列したエリアセンサが、これに相当する。この受光センサ23の受光面23aは、ハウジング外から読取口を介して外観可能に位置しており、受光センサ23は、結像レンズ27を介して入射する入射光をこの受光面23aで受光可能に図略のプリント配線板に実装されている。なお、受光センサ23は、「撮像手段」の一例に相当し、受光センサ23を構成する受光素子(図示略)は、撮像素子の一例に相当する。   The light receiving sensor 23 is configured to receive the reflected light Lr irradiated and reflected on the reading object R or the information code C. For example, the light receiving sensor 23 is an area in which light receiving elements such as C-MOS and CCD are arranged two-dimensionally. A sensor corresponds to this. The light receiving surface 23a of the light receiving sensor 23 is positioned so as to be externally visible through the reading port from the outside of the housing. The light receiving sensor 23 can receive incident light incident through the imaging lens 27 on the light receiving surface 23a. It is mounted on a printed wiring board (not shown). The light receiving sensor 23 corresponds to an example of an “imaging unit”, and the light receiving element (not shown) constituting the light receiving sensor 23 corresponds to an example of an imaging element.

フィルタ25は、反射光Lrの波長相当以下の光の通過を許容し、当該波長相当を超える光の通過を遮断し得る光学的なローパスフィルタで、ハウジングの読取口と結像レンズ27との間に設けられている。これにより、反射光Lrの波長相当を超える不要な光が受光センサ23に入射することを抑制している。   The filter 25 is an optical low-pass filter that allows passage of light that is less than or equal to the wavelength of the reflected light Lr, and that can block passage of light that exceeds the wavelength, and is provided between the reading port of the housing and the imaging lens 27. Is provided. Thereby, unnecessary light exceeding the wavelength equivalent of the reflected light Lr is prevented from entering the light receiving sensor 23.

結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数のレンズとにより構成されている。本実施形態では、照明光源21から照射された照明光Lfが情報コードCにて反射して読取口に入射するように構成されており、結像レンズ27は、この反射光Lrを集光することにより、受光センサ23の受光面23aに情報コードCのコード画像を結像している。なお、結像レンズ27は、「結像手段」の一例に相当する。   The imaging lens 27 functions as an imaging optical system capable of condensing incident light incident from the outside via a reading port and forming an image on the light receiving surface 23a of the light receiving sensor 23. And a plurality of lenses housed in the lens barrel. In the present embodiment, the illumination light Lf emitted from the illumination light source 21 is reflected by the information code C and is incident on the reading port, and the imaging lens 27 condenses the reflected light Lr. As a result, the code image of the information code C is formed on the light receiving surface 23a of the light receiving sensor 23. The imaging lens 27 corresponds to an example of “imaging unit”.

次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン(情報処理装置)として機能し得る制御回路40およびメモリ35と中心に構成されるもので、前述した光学系によって撮像された情報コードCの画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該情報コードリーダ20の全体システムに関する制御も行っている。   Next, a configuration outline of the microcomputer system will be described. The microcomputer system includes an amplification circuit 31, an A / D conversion circuit 33, a memory 35, an address generation circuit 36, a synchronization signal generation circuit 38, a control circuit 40, an operation switch 42, an LED 43, a buzzer 44, a liquid crystal display device 46, and a communication interface 48. Etc. As the name suggests, this microcomputer system is composed mainly of a control circuit 40 and a memory 35 that can function as a microcomputer (information processing device). The microcomputer system captures an image signal of an information code C imaged by the optical system described above. It can perform signal processing in terms of hardware and software. The control circuit 40 also performs control related to the entire system of the information code reader 20.

受光センサ23の各受光画素(受光センサ23を構成する受光素子の各要素)から出力される受光信号(アナログ信号)はそれぞれ、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力され、アナログ信号からディジタル信号に変換される。そして、それらディジタル化された受光信号は、画像データ(画像情報)としてメモリ35内の画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される受光信号の格納アドレスを発生可能に構成されている。   After each light receiving signal (analog signal) output from each light receiving pixel (each element of the light receiving element constituting the light receiving sensor 23) of the light receiving sensor 23 is input to the amplifier circuit 31 and amplified by a predetermined gain, The signal is input to the A / D conversion circuit 33 and converted from an analog signal to a digital signal. These digitized light reception signals are stored in the image data storage area in the memory 35 as image data (image information). The synchronization signal generation circuit 38 is configured to generate a synchronization signal for the light receiving sensor 23 and the address generation circuit 36. The address generation circuit 36 is based on the synchronization signal supplied from the synchronization signal generation circuit 38. Thus, the storage address of the received light signal stored in the memory 35 can be generated.

メモリ35は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ35のうちのRAMには、前述した画像データ蓄積領域のほかに、制御回路40が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。またROMには、後述する読取処理等を実行可能な所定プログラムやその他、照明光源21、受光センサ23等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。   The memory 35 is a semiconductor memory device, and corresponds to, for example, a RAM (DRAM, SRAM, etc.) or a ROM (EPROM, EEPROM, etc.). In addition to the above-described image data storage area, the RAM of the memory 35 is configured to be able to secure a work area and a reading condition table that are used by the control circuit 40 in each processing such as arithmetic operation and logical operation. . The ROM stores in advance a predetermined program that can execute a reading process and the like that will be described later, and a system program that can control each piece of hardware such as the illumination light source 21 and the light receiving sensor 23.

制御回路40は、情報コードリーダ20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40は、内蔵された入出力インタフェースを介して種々の入出力装置(周辺装置)と接続可能に構成されており、本実施形態の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示装置46、通信インタフェース48等が接続されている。なお、通信インタフェース48は、外部装置との通信を行うためのインターフェースであり、図1ではその外部装置の一例としてホストコンピュータHSTが図示されている。このような構成をなすことにより、例えば、電源スイッチ41や操作スイッチ42の監視や管理、LED43の点灯・消灯、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、液晶表示装置46の画面表示、通信インタフェース48の通信動作等を制御回路40によって制御できるようになっている。   The control circuit 40 is a microcomputer capable of controlling the entire information code reader 20 and includes a CPU, a system bus, an input / output interface, and the like. The control circuit 40 can constitute an information processing apparatus together with the memory 35 and has an information processing function. The control circuit 40 is configured to be connectable to various input / output devices (peripheral devices) via a built-in input / output interface. In this embodiment, the control circuit 40 includes a power switch 41, an operation switch 42, an LED 43, a buzzer. 44, a liquid crystal display device 46, a communication interface 48, and the like are connected. Note that the communication interface 48 is an interface for communicating with an external device, and FIG. 1 illustrates a host computer HST as an example of the external device. With this configuration, for example, monitoring and management of the power switch 41 and the operation switch 42, turning on / off the LED 43, turning on / off the buzzer 44 capable of generating a beep sound and an alarm sound, and the liquid crystal display device 46 The control circuit 40 can control screen display, communication operation of the communication interface 48, and the like.

電源系は、電源スイッチ41、電池49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、電池49からの駆動電圧の供給や遮断が制御されている。なお、電池49は、所定の直流電圧を発生可能な2次電池で、例えば、リチウムイオン電池等がこれに相当する。また、電池49によることなく、外部から別途電力供給を受ける構成も可能であり、この場合には当該電池49は不要となる。   The power supply system includes a power switch 41, a battery 49, and the like, and supply / cutoff of the drive voltage from the battery 49 is controlled by turning on / off the power switch 41 managed by the control circuit 40. The battery 49 is a secondary battery that can generate a predetermined DC voltage, and corresponds to, for example, a lithium ion battery. In addition, a configuration in which power is separately supplied from the outside without using the battery 49 is also possible. In this case, the battery 49 is not necessary.

次に、情報コードの読取処理について説明する。
図1で例示した情報コードリーダ20では、例えば図2のような流れで情報コードの読取処理が行われる。この読取処理は、例えば操作スイッチ42に対する所定操作をトリガとして開始されるものであり、処理が開始されると、まず画像取得処理が行われる(S1)。この画像取得処理では、情報コードCからの反射光を受光センサ23にて受光し、受光センサ23の各受光画素から出力される信号に基づく画像データをメモリ35に記憶する。
なお、本実施形態では、メモリ35及び制御回路40が「生成手段」の一例に相当し、受光センサ23の各受光画素からの信号に基づいて各受光画素に対応した画素データを取得し、情報コードCの画像データを生成するように機能する。
Next, the information code reading process will be described.
In the information code reader 20 illustrated in FIG. 1, for example, the information code reading process is performed according to the flow shown in FIG. 2. This reading process is started, for example, with a predetermined operation on the operation switch 42 as a trigger. When the process is started, an image acquisition process is first performed (S1). In this image acquisition process, the reflected light from the information code C is received by the light receiving sensor 23, and image data based on the signal output from each light receiving pixel of the light receiving sensor 23 is stored in the memory 35.
In the present embodiment, the memory 35 and the control circuit 40 correspond to an example of “generating means”, and acquire pixel data corresponding to each light receiving pixel based on a signal from each light receiving pixel of the light receiving sensor 23 to obtain information. It functions to generate code C image data.

S1の画像取得処理の後には、ラベリング処理が行われる(S2)。この処理は、S1で取得された画像データにおいてコード領域を抽出する処理であり、ここでは公知の手法でコード領域を抽出している。そして、その抽出されたコード領域に対して特徴検出処理が行われる(S3)。本実施形態では、情報コードのコード種別毎に、複数のセルによって構成される所定特徴部分が決められており、S3では、その所定特徴部分を検出するように処理が行われる。   After the image acquisition process of S1, a labeling process is performed (S2). This process is a process of extracting a code area from the image data acquired in S1, and here, the code area is extracted by a known method. Then, feature detection processing is performed on the extracted code area (S3). In the present embodiment, a predetermined feature portion composed of a plurality of cells is determined for each code type of the information code, and in S3, processing is performed so as to detect the predetermined feature portion.

具体的には、規定されたセル数、及び規定された形状で構成された部分が所定特徴部分として定められており、例えば、QRコード、マキシコード、データマトリックスコードなどの二次元コードについては、各種別特有の位置検出パターンを所定特徴部分としている。また、一次元コードについても、規定されたセル数、及び規定された形状で構成された部分を所定特徴部分としており、例えばバーコードでは、データ内容にかかわらず明色バーと暗色バーとが決められた比率で配列される部分(例えばCODE39のバーコードについては、スタートコード或いはストップコード)を所定特徴部分としている。S3の処理では、S2で特定されたコード領域において、各コード種別ごとに決められた所定特徴部分のいずれかを検出する。   Specifically, a part configured with a specified number of cells and a specified shape is determined as a predetermined feature part. For example, for two-dimensional codes such as a QR code, a maxi code, and a data matrix code, Each type-specific position detection pattern is used as a predetermined feature portion. In addition, the one-dimensional code also has a predetermined feature portion that is configured with a specified number of cells and a specified shape. For example, in a barcode, a light color bar and a dark color bar are determined regardless of data contents. A portion arranged at a predetermined ratio (for example, a start code or a stop code for a barcode of CODE 39) is a predetermined characteristic portion. In the process of S3, one of the predetermined characteristic portions determined for each code type is detected in the code area specified in S2.

その後、S1で得られた画像データに含まれる情報コードCが二次元コードか否かを判断する(S4)。既に、S3の特徴検出処理で情報コードの所定特徴部分が検出されているため、この所定特徴部分により、得られた情報コードCのコード種別が特定でき、この特定されたコード種別に基づいてS4の判断処理を行う。例えば、S3においてQRコード特有の位置検出パターンが所定特徴部分として検出されていれば、得られた情報コードは二次元コードであるから、S4にてYesに進む。或いは、S3においてCODE39のスタートコードが所定特徴部分として検出されていれば、得られた情報コードは一次元コードであるからS4にてNoに進むこととなる。
なお、本実施形態では、制御回路40が「特徴部分検出手段」の一例に相当する。
Thereafter, it is determined whether or not the information code C included in the image data obtained in S1 is a two-dimensional code (S4). Since the predetermined feature portion of the information code has already been detected in the feature detection process of S3, the code type of the obtained information code C can be specified by this predetermined feature portion, and based on this specified code type, S4 The determination process is performed. For example, if a position detection pattern peculiar to a QR code is detected as a predetermined feature portion in S3, the obtained information code is a two-dimensional code, so the process proceeds to Yes in S4. Alternatively, if the start code of the CODE 39 is detected as a predetermined characteristic portion in S3, the obtained information code is a one-dimensional code, so that the process proceeds to No in S4.
In the present embodiment, the control circuit 40 corresponds to an example of “characteristic part detection means”.

S1で得られた画像データに含まれる情報コードCが二次元コードである場合には、S4にてYesに進み、S3にて検出された所定特徴部分に基づいて割当度合算出処理を行う(S5)。なお、本実施形態では、制御回路40が「割当度合検出手段」の一例に相当しており、検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素データと、に基づいて、所定特徴部分の各セルに対する画素割当度合いを検出するように機能する。   If the information code C included in the image data obtained in S1 is a two-dimensional code, the process proceeds to Yes in S4, and an allocation degree calculation process is performed based on the predetermined feature portion detected in S3 (S5). ). In the present embodiment, the control circuit 40 corresponds to an example of an “allocation degree detection unit”, and includes the detected image of the predetermined feature portion and a plurality of pixel data constituting the image of the predetermined feature portion. Based on this, it functions to detect the degree of pixel allocation for each cell of the predetermined feature portion.

S5の割当度合算出処理では、S3の特徴検出処理によって検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素データと、に基づいて、所定特徴部分によって特定されるコード種別に応じた画素割当度合を算出する。例えば、S1で取得された画像が図4(a)のようなQRコードの画像であり、S3で検出された所定特徴部分が図4(b)のようなQRコードの位置検出パターンFPであった場合には、位置検出パターンFPの画像と、位置検出パターンFPを構成する複数の画素データと、に基づいて、位置検出パターンFPの1セルに対する画素割当度合いを検出する。   In the allocation degree calculation process of S5, a code specified by the predetermined feature part based on the image of the predetermined feature part detected by the feature detection process of S3 and a plurality of pixel data constituting the image of the predetermined feature part A pixel allocation degree corresponding to the type is calculated. For example, the image acquired in S1 is a QR code image as shown in FIG. 4A, and the predetermined characteristic portion detected in S3 is a QR code position detection pattern FP as shown in FIG. 4B. In such a case, the pixel allocation degree for one cell of the position detection pattern FP is detected based on the image of the position detection pattern FP and a plurality of pixel data constituting the position detection pattern FP.

1セル当りの画素割当度合いの算出としては、まず、図4(b)のように、特徴部分として検出された位置検出パターンFPにおいて特定の比率が得られる1の画素ラインを定め、そのラインにおける位置検出パターン領域の画素数を算出する。即ち、QRコードでは、位置検出パターンFPの所定位置を横切るラインにおいて暗色領域と明色領域との比率が、1:1:3:1:1となるように規定されており、S5では、暗色領域と明色領域との比率が、1:1:3:1:1となるラインL1を特定すると共に、そのラインL1において位置検出パターンFPの両端位置P1、P2を特定し、その両端位置P1,P2の間に配される画素数Sxを算出する。この画素数Sxは、7セル分の画素数であるので、Sxを7で割った値(即ちSx/7)を1セル当りの画素数Xとして算出する。   To calculate the degree of pixel allocation per cell, first, as shown in FIG. 4B, one pixel line that obtains a specific ratio in the position detection pattern FP detected as a characteristic portion is determined, and The number of pixels in the position detection pattern area is calculated. That is, in the QR code, the ratio between the dark color area and the light color area is defined to be 1: 1: 3: 1: 1 in a line crossing a predetermined position of the position detection pattern FP. A line L1 in which the ratio of the area to the light color area is 1: 1: 3: 1: 1 is specified, and both end positions P1, P2 of the position detection pattern FP are specified in the line L1, and both end positions P1 are specified. , P2 is calculated. Since the number of pixels Sx is the number of pixels for 7 cells, a value obtained by dividing Sx by 7 (that is, Sx / 7) is calculated as the number of pixels X per cell.

そして、S5で得られた1セル当りの画素数Xが予め定められた閾値X2以下であるか否かを判断する(S6)。閾値X2は、画像拡大処理を行うか否かの基準となる閾値であり、1セル当りの画素数XがX2を超える場合には、割り当てられている画素数が十分であると判断できるため、S6にてNoに進み、画像拡大処理(補間処理)を行わずにS12のデコード処理を行う。一方、1セル当りの画素数XがX2以下の場合には割り当てられている画素数が不十分であるとしてS6にてYesに進み、S7の二次元補間処理を行う。   Then, it is determined whether or not the number of pixels X per cell obtained in S5 is equal to or less than a predetermined threshold value X2 (S6). The threshold value X2 is a threshold value that is a criterion for determining whether or not to perform image enlargement processing. When the number of pixels X per cell exceeds X2, it can be determined that the number of assigned pixels is sufficient. In S6, the process proceeds to No, and the decoding process of S12 is performed without performing the image enlargement process (interpolation process). On the other hand, if the number of pixels X per cell is less than or equal to X2, the number of allocated pixels is insufficient, the process proceeds to Yes in S6, and the two-dimensional interpolation process in S7 is performed.

上記のように、本実施形態では、撮像手段により撮像された情報コードCが一次元コードであるか二次元コードであるかを判断した上で(S4)画像拡大処理を行っており、情報コードCが二次元コードと判断された場合には、画像拡大処理として二次元の補間処理(具体的には二次元の線形補間処理(図3(a))が行われ、情報コードCが一次元コードと判断された場合には、画像拡大処理として一次元の補間処理(具体的には一次元の線形補間処理(図3(b))が行われるようになっている。
なお、本実施形態では制御回路40が「判断手段」の一例に相当する。
As described above, in the present embodiment, after determining whether the information code C imaged by the imaging means is a one-dimensional code or a two-dimensional code (S4), image enlargement processing is performed, and the information code When C is determined to be a two-dimensional code, a two-dimensional interpolation process (specifically, a two-dimensional linear interpolation process (FIG. 3A)) is performed as an image enlargement process, and the information code C is one-dimensional. When the code is determined, one-dimensional interpolation processing (specifically, one-dimensional linear interpolation processing (FIG. 3B)) is performed as the image enlargement processing.
In the present embodiment, the control circuit 40 corresponds to an example of “determination means”.

S7の二次元補間処理は、例えば図3(a)のような流れで行われる。この処理では、まず、1セル当りの画素数Xが閾値X1以下か否かを判断する(S71)。この閾値X1は、拡大率を決める上で基準となる閾値であり、1セル当りの画素数Xが閾値X1以下の場合にはS71にてYesに進み、4倍の拡大率で二次元線形補間処理を行う。1セル当りの画素数Xが閾値X1を超える場合(即ち、X1<X≦X2の場合)には、S71にてNoに進み、2倍の拡大率で二次元線形補間処理を行うこととなる。二次元の線形補間処理は画像処理の分野では公知であり、当該二次元線形補間処理では、設定する倍率に応じた線形補間処理を行いうることも公知であるので詳細は省略するが、例えば、図6(a)のように、縦、横、斜めに隣接する原画素間の中間位置を補間位置と定め、図6(b)〜(d)のように、各補間位置について、周囲の4点の原画素を用いて線形補間により補間データを生成する例が挙げられる。   The two-dimensional interpolation process of S7 is performed according to the flow as shown in FIG. In this process, first, it is determined whether or not the number of pixels X per cell is equal to or less than a threshold value X1 (S71). This threshold value X1 is a reference threshold value for determining the enlargement ratio. When the number of pixels X per cell is equal to or less than the threshold value X1, the process proceeds to Yes in S71, and two-dimensional linear interpolation is performed at a fourfold enlargement ratio. Process. When the number of pixels X per cell exceeds the threshold value X1 (that is, when X1 <X ≦ X2), the process proceeds to No in S71, and two-dimensional linear interpolation processing is performed at a double enlargement ratio. . Two-dimensional linear interpolation processing is known in the field of image processing, and it is also known that linear interpolation processing according to the magnification to be set can be performed in the two-dimensional linear interpolation processing. As shown in FIG. 6A, an intermediate position between adjacent original pixels vertically, horizontally, and diagonally is defined as an interpolation position. As shown in FIGS. There is an example in which interpolation data is generated by linear interpolation using the original pixel of a point.

例えば、図6(b)〜(d)、図7は、2倍の拡大率の場合の二次元線形補間処理を概念的に説明するものであるが、図6(b)では、n2行、m2列の原画素データ「150」と、n2行、m3列の原画素データ「50」との中間位置を補間位置とし、この補間位置のデータ「100」を、周囲の4点の原画素データ(n1行、m2列の原画素データ「150」、n1行、m3列の原画素データ「50」、n2行、m2列の原画素データ「150」、n2行、m3列の原画素データ「50」)によって線形補間により生成している。図6(c)、(d)も同様であり、図6(c)では、n1行、m2列の原画素データ「150」と、n2行、m3列の原画素データ「50」との中間位置を補間位置とし、この補間位置のデータ「100」を、周囲の4点の原画素データ(n1行、m2列の原画素データ「150」、n1行、m3列の原画素データ「50」、n2行、m2列の原画素データ「150」、n2行、m3列の原画素データ「50」)によって線形補間により生成している。このような方法で、縦、横、斜めに隣接する画素間の中間位置に補間データを生成すると、1つの原画素の周囲に図7のような補間データが生成され、このような補間データが全ての原画素間で生成されることとなる。なお、4倍の拡大率については、各画素間に補間データを2つずつ生成する点、補間データの生成位置が2倍のときと若干異なる点(即ち、2倍のときのように原画素の中間位置に1つの補間データを生成するのではなく、例えば原画素間を3等分した位置に2つの補間データをそれぞれ生成する等)などの相違はあるものの、公知の二次元線形補間処理を用いて線形補間を行う点は同様である。   For example, FIG. 6B to FIG. 6D and FIG. 7 conceptually explain the two-dimensional linear interpolation processing in the case of a double enlargement ratio. In FIG. An intermediate position between the original pixel data “150” in the m2 column and the original pixel data “50” in the n2 row and the m3 column is set as an interpolation position, and the data “100” at the interpolation position is used as the surrounding four original pixel data. (N1 row, m2 column original pixel data “150”, n1 row, m3 column original pixel data “50”, n2 row, m2 column original pixel data “150”, n2 row, m3 column original pixel data “150” 50 ") by linear interpolation. The same applies to FIGS. 6C and 6D. In FIG. 6C, the intermediate pixel data “150” in the n1 row and m2 column and the original pixel data “50” in the n2 row and m3 column are intermediate. The position is set as an interpolation position, and the data “100” of this interpolation position is converted into the original pixel data of the surrounding four points (original pixel data “150” in the n1 row and m2 column, original pixel data “50” in the n1 row and m3 column). , N2 row, m2 column original pixel data “150”, n2 row, m3 column original pixel data “50”). When interpolation data is generated at an intermediate position between vertically, horizontally, and diagonally adjacent pixels by such a method, interpolation data as shown in FIG. 7 is generated around one original pixel. It is generated between all original pixels. In addition, with respect to the enlargement ratio of 4 times, the point that two interpolation data are generated between each pixel and the point where the generation position of the interpolation data is slightly different from that when the interpolation data is doubled (that is, the original pixel as in the case of 2 times) However, there is a difference in that, for example, two interpolation data are generated at positions obtained by dividing the original pixel into three equal parts, etc. The point of performing linear interpolation using is the same.

なお、本実施形態では、制御回路40が「拡大処理手段」の一例に相当し、S1で生成された画像データに対して画像拡大処理(より詳しくは、所定特徴部分によって特定されるコード種別に応じた画像拡大処理)を行うように機能する。また、この「拡大処理手段」は、S71〜S73のように、検出された画素割当度合いに応じて拡大率を決定し、その決定された拡大率に基づいて画像データに対して画像拡大処理(S72、S73)を行うように機能している。   In the present embodiment, the control circuit 40 corresponds to an example of an “enlargement processing unit”, and the image enlargement process (more specifically, the code type specified by the predetermined feature portion is applied to the image data generated in S1. It functions to perform the corresponding image enlargement process). In addition, as in S71 to S73, the “enlargement processing unit” determines an enlargement rate according to the detected pixel allocation degree, and performs image enlargement processing (for image data based on the determined enlargement rate). S72, S73).

一方、図2のS4で二次元コードでないと判断される場合には、S4にてNoに進み、S1で得られた情報コードCが一次元コードであるか否かを判断する。一次元コードと判断できない場合にはS8にてNoに進み、再びS1以降の処理を繰り返す。S8にて一次元コードと判断できる場合には、S8にてYesに進み、S3にて検出された所定特徴部分に基づいて割当度合算出処理を行う(S9)。S9の割当度合算出処理でも、S3の特徴検出処理によって検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素と、に基づいて、所定特徴部分によって特定されるコード種別に応じた画素割当度合を算出する。   On the other hand, if it is determined in S4 of FIG. 2 that the code is not a two-dimensional code, the process proceeds to No in S4, and it is determined whether or not the information code C obtained in S1 is a one-dimensional code. If it cannot be determined that the code is a one-dimensional code, the process proceeds to No in S8, and the processes after S1 are repeated. If it can be determined that the code is a one-dimensional code in S8, the process proceeds to Yes in S8, and an allocation degree calculation process is performed based on the predetermined feature portion detected in S3 (S9). Also in the allocation degree calculation process of S9, the code type specified by the predetermined feature part based on the image of the predetermined feature part detected by the feature detection process of S3 and the plurality of pixels constituting the image of the predetermined feature part The pixel allocation degree corresponding to is calculated.

具体的には、上述したように、明色バーと暗色バーとが所定の幅比率で並ぶ部分を所定特徴部分として検出しているため、幅比率と、所定特徴部分を構成する複数の画素データと、に基づいて、バーコードの単位幅に対する画素割当度合いを検出している。即ち、図5のようなバーコードについては、最小幅(単位幅)となる1モジュール分を1セルとしており、この1モジュールあたりの画素割当度合を以下のように算出している。   Specifically, as described above, since the portion where the light color bar and the dark color bar are arranged at a predetermined width ratio is detected as the predetermined feature portion, the width ratio and a plurality of pixel data constituting the predetermined feature portion are detected. Based on the above, the pixel allocation degree with respect to the unit width of the barcode is detected. That is, in the barcode as shown in FIG. 5, one module corresponding to the minimum width (unit width) is set as one cell, and the pixel allocation degree per one module is calculated as follows.

単位幅当りの画素割当度合いの算出としては、まず、図5(b)のように、所定特徴部分として検出された領域を横切る画素のラインL2、及びそのラインL2において所定特徴部分の両端位置P11、P12を特定し、その両端位置P11,P12の間に配される画素数Syを算出する。例えば、CODE39の所定特徴部分は、暗色バーと明色バーとが1:2:1:1:2:1:2:1:1の比率で並ぶ部分であり、12モジュール分(12セル分)に相当している。従って、P11とP12との間の画素数Syを12で割った値(即ちSy/12)を1セル当りの画素数Yとして算出する。なお、画素のラインL2の設定は、S1で得られた画像データ(即ち、画素データがマトリックス状に並ぶデータ)において、バーコードを横切る横方向の画素列を任意に抽出して用いてもよく、例えば、S2で抽出したコード領域において、バーの並び方向と平行な画素の列(即ち、各バーの長手方向と直交する画素の列)を抽出して用いてもよい。   In calculating the pixel allocation degree per unit width, first, as shown in FIG. 5B, a line L2 of pixels crossing the area detected as the predetermined feature portion, and both end positions P11 of the predetermined feature portion in the line L2. , P12 is specified, and the number of pixels Sy arranged between the both end positions P11, P12 is calculated. For example, the predetermined characteristic portion of CODE 39 is a portion where dark bars and light bars are arranged in a ratio of 1: 2: 1: 1: 2: 1: 2: 1: 1, and is for 12 modules (for 12 cells). It corresponds to. Therefore, a value obtained by dividing the number of pixels Sy between P11 and P12 by 12 (ie, Sy / 12) is calculated as the number of pixels Y per cell. The pixel line L2 may be set by arbitrarily extracting a pixel row in the horizontal direction across the barcode in the image data obtained in S1 (that is, data in which pixel data is arranged in a matrix). For example, in the code area extracted in S2, a column of pixels parallel to the bar arrangement direction (that is, a column of pixels orthogonal to the longitudinal direction of each bar) may be extracted and used.

そして、S9で得られた1セル当り(即ち、1モジュール当り)の画素数Yが予め定められた閾値Y2以下であるか否かを判断する(S10)。閾値Y2は、画像拡大処理を行うか否かの基準となる閾値であり、1セル当りの画素数YがY2を超える場合には、割り当てられている画素数が十分であると判断できるため、S10にてNoに進み、画像拡大処理(補間処理)を行わずにS12のデコード処理を行う。一方、1セル当りの画素数YがY2以下の場合には割り当てられている画素数が不十分であるとしてS10にてYesに進み、S11の一次元補間処理を行う。   Then, it is determined whether or not the number of pixels Y per cell (ie, per module) obtained in S9 is equal to or less than a predetermined threshold Y2 (S10). The threshold value Y2 is a threshold value that is a criterion for determining whether or not to perform image enlargement processing. When the number of pixels Y per cell exceeds Y2, it can be determined that the number of assigned pixels is sufficient. The process proceeds to No in S10, and the decoding process of S12 is performed without performing the image enlargement process (interpolation process). On the other hand, if the number of pixels Y per cell is Y2 or less, the number of allocated pixels is insufficient, the process proceeds to Yes in S10, and one-dimensional interpolation processing in S11 is performed.

S11の一次元補間処理は、例えば図3(b)のような流れで行われる。この処理では、まず、1セル当りの画素数Yが閾値Y1以下か否かを判断する(S111)。この閾値Y1は、拡大率を決める上で基準となる閾値であり、1セル当り(1モジュール当り)の画素数Yが閾値Y1以下の場合にはS111にてYesに進み、4倍の拡大率で一次元線形補間処理を行う。一方、1セル当りの画素数Yが閾値Y1を超える場合(即ち、Y1<Y≦Y2の場合)には、S111にてNoに進み、2倍の拡大率で一次元線形補間処理を行うこととなる。このように、バーコードにおいても、割当度合算出処理(S9)にて算出された画素割当度合いに応じて拡大率を決定し、その決定された拡大率に基づいて画像データに対して画像拡大処理を行っている。   The one-dimensional interpolation processing in S11 is performed in the flow as shown in FIG. In this process, first, it is determined whether or not the number of pixels Y per cell is equal to or less than the threshold Y1 (S111). This threshold value Y1 is a reference threshold value for determining the enlargement ratio. When the number of pixels Y per cell (per module) is equal to or less than the threshold value Y1, the process proceeds to Yes in S111, and the enlargement ratio is 4 times. 1-dimensional linear interpolation is performed. On the other hand, when the number of pixels Y per cell exceeds the threshold Y1 (that is, when Y1 <Y ≦ Y2), the process proceeds to No in S111, and one-dimensional linear interpolation processing is performed at a double enlargement ratio. It becomes. As described above, also in the barcode, the enlargement ratio is determined according to the pixel assignment degree calculated in the assignment degree calculation process (S9), and the image enlargement process is performed on the image data based on the determined enlargement ratio. It is carried out.

一次元の線形補間処理も画像処理の分野では公知であり、当該一次元線形補間処理では、倍率に応じた線形補間処理を行いうることも公知であるので詳細は省略するが、S112、S113ではこれを利用する。例えば、図8(a)のような原画像に対して、図8(b)のように、左右に隣接する原画素間の中間位置を補間位置と定め、線形補間処理を行う。なお、図8(b)では、2倍の拡大率の場合における一部の画素間の補間についてのみ示しているが、他の画素間も同様である。また、4倍の場合も、各画素間に2つの補間データを配置(例えば、2つの補間データが原画素間を三等分した位置にそれぞれ配置)という相違はあるものの、公知の一次元線形補間処理を用いて補間データを生成する点は2倍の場合と同様である。   One-dimensional linear interpolation processing is also known in the field of image processing, and it is well known that linear interpolation processing according to magnification can be performed in the one-dimensional linear interpolation processing. Use this. For example, with respect to the original image as shown in FIG. 8A, as shown in FIG. 8B, an intermediate position between the original pixels adjacent to the left and right is determined as the interpolation position, and linear interpolation processing is performed. Note that FIG. 8B shows only interpolation between some pixels in the case of a double magnification, but the same applies to other pixels. Also in the case of 4 times, there is a difference that two interpolation data are arranged between each pixel (for example, two interpolation data are arranged at positions where the original pixels are divided into three equal parts), but a known one-dimensional linear The point of generating the interpolation data using the interpolation process is the same as in the case of double.

本実施形態の構成によれば、例えば以下のような効果を奏する。
本実施形態の情報コードリーダ20は、画像データのコード領域に配され且つ複数のセルによって構成される所定特徴部分を検出し、その検出された所定特徴部分の画像と、所定特徴部分の画像を構成する複数の画素データと、に基づいて、所定特徴部分の各セルに対する画素割当度合いを検出している。この構成によれば、各セルに対して画素がどの程度割り当てられているかを、所定特徴部分の解析によって迅速且つ適切に把握できるようになる。
更に、検出された画素割当度合いに応じて拡大率を決定し、その決定された拡大率に基づいて画像データに対して画像拡大処理を行っている。このようにすると、妥当な拡大率を得るために試行錯誤的に処理を繰り返す必要がなくなり、画素割当度合いに応じた適切な拡大率を迅速に取得でき、ひいては、画像拡大処理や解読処理を効率的且つ良好に行うことができるようになる。
According to the configuration of the present embodiment, for example, the following effects can be obtained.
The information code reader 20 of the present embodiment detects a predetermined feature portion that is arranged in the code area of the image data and includes a plurality of cells, and detects the detected image of the predetermined feature portion and the image of the predetermined feature portion. Based on the plurality of pieces of pixel data constituting the pixel data, the pixel allocation degree for each cell of the predetermined feature portion is detected. According to this configuration, it is possible to quickly and appropriately grasp how many pixels are assigned to each cell by analyzing a predetermined feature portion.
Further, an enlargement ratio is determined according to the detected pixel allocation degree, and image enlargement processing is performed on the image data based on the determined enlargement ratio. In this way, it is not necessary to repeat the process by trial and error in order to obtain a reasonable enlargement ratio, and an appropriate enlargement ratio corresponding to the degree of pixel allocation can be quickly acquired. It is possible to perform the operation properly and satisfactorily.

また、規定されたセル数、及び規定された形状で構成された部分が所定特徴部分とされており、且つ情報コードのコード種別毎に所定特徴部分が決められている。情報コードは、規定されたセル数、及び規定された形状で構成された部分を備えているが、この部分を所定特徴部分として利用すれば、各セルに対して画素がどの程度割り当てられているかを、複雑な処理を用いることなく精度高く算出できるようになる。更に、所定特徴部分によって特定されるコード種別に応じた画素割当度合算出処理を行い、特定されるコード種別に応じた画像拡大処理を行うようにしているため、各コード種別に適した方法でそれぞれ画素割当度合を算出でき、各コード種別についてそれぞれ最適な拡大処理を行うことができる。   Further, a portion constituted by a prescribed number of cells and a prescribed shape is set as a predetermined feature portion, and a predetermined feature portion is determined for each code type of the information code. The information code has a specified number of cells and a part configured with a specified shape. If this part is used as a predetermined feature, how many pixels are allocated to each cell. Can be calculated with high accuracy without using complicated processing. Furthermore, since the pixel allocation degree calculation process corresponding to the code type specified by the predetermined feature portion is performed, and the image enlargement process corresponding to the specified code type is performed, each method is suitable for each code type. The degree of pixel allocation can be calculated, and an optimum enlargement process can be performed for each code type.

また、画像拡大処理として、線形補間法を用いた拡大処理を行うようにしている。このように線形補間法を用いると、処理時間の短縮化を図りつつ拡大処理後の画質を比較的良好なものとすることができる。   Further, as image enlargement processing, enlargement processing using a linear interpolation method is performed. When the linear interpolation method is used in this way, the image quality after the enlargement process can be made relatively good while shortening the processing time.

また、撮像手段により撮像された情報コードが一次元コードであるか二次元コードであるかを判断し、一次元コードと判断された場合、画像拡大処理として一次元の線形補間処理を行い、情報コードが二次元コードと判断された場合には、二次元の線形補間処理を行うようにしている。このようにすることで、一次元コード、二次元コードそれぞれについて、必要なレベルで適切な補間処理を行うことができ、拡大処理の効率化を図ることができる。   Also, it is determined whether the information code captured by the imaging means is a one-dimensional code or a two-dimensional code. If it is determined that the information code is a one-dimensional code, a one-dimensional linear interpolation process is performed as an image enlargement process, When the code is determined to be a two-dimensional code, a two-dimensional linear interpolation process is performed. In this way, appropriate interpolation processing can be performed at a necessary level for each of the one-dimensional code and the two-dimensional code, and the efficiency of the enlargement processing can be improved.

また、図5のように情報コードがバーコードである場合に、明色バーと暗色バーとが所定の幅比率で並ぶ部分を所定特徴部分として検出している。このようにすると、バーコードが読み取り対象である場合に、所定特徴部分を幅比率に基づいて簡易且つ迅速に検出できる。さらに、その幅比率と、所定特徴部分を構成する複数の画素データと、に基づいて、バーコードの単位幅に対する画素割当度合いを検出している。このようにすると、得られたバーコード画像についての画素割当度合いを、簡易に、かつ精度高く把握できる。   Further, when the information code is a bar code as shown in FIG. 5, a portion where the light color bar and the dark color bar are arranged at a predetermined width ratio is detected as a predetermined feature portion. In this way, when the barcode is to be read, the predetermined characteristic portion can be detected easily and quickly based on the width ratio. Further, the pixel allocation degree with respect to the unit width of the barcode is detected based on the width ratio and a plurality of pixel data constituting the predetermined feature portion. In this way, it is possible to easily and accurately grasp the degree of pixel allocation for the obtained barcode image.

また、図4のように情報コードがQRコードである場合、当該QRコードの位置検出パターンを所定特徴部分として検出し、位置検出パターンの画像と、位置検出パターンを構成する複数の画素データと、に基づいて、位置検出パターンの1セルに対する画素割当度合いを検出している。このようにすると、QRコードの各セルに対する画素割当度合いを、簡易に、かつ精度高く把握できる。特に、位置検出パターンは、QRコードの読み取りの際に早期に検出される部分であり、QRコードの位置を把握する上で必須の部分であるため、このような位置検出バターンの検出を画素割当度合いの把握に兼用すれば、各セルに対する画素割当度合いを極めて迅速に、かつ効率的に検出できるようになり、ひいては、画像拡大処理、デコード処理の迅速化を図ることができる。   Further, when the information code is a QR code as shown in FIG. 4, the position detection pattern of the QR code is detected as a predetermined feature portion, an image of the position detection pattern, a plurality of pixel data constituting the position detection pattern, Based on the above, the pixel allocation degree for one cell of the position detection pattern is detected. In this way, it is possible to easily and accurately grasp the degree of pixel allocation for each cell of the QR code. In particular, the position detection pattern is a part that is detected early when reading the QR code, and is an indispensable part for grasping the position of the QR code. If it is also used for grasping the degree, the pixel assignment degree for each cell can be detected very quickly and efficiently, and the image enlargement process and the decoding process can be accelerated.

[他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではない。
[Other Embodiments]
The present invention is not limited to the embodiments described with reference to the above description and drawings .

図1は、本発明の第1実施形態に係る情報コードリーダの電気的構成を概略的に例示するブロック図である。FIG. 1 is a block diagram schematically illustrating an electrical configuration of an information code reader according to the first embodiment of the present invention. 図2は、図1の情報コードリーダで行われる読取処理を例示するフローチャートである。FIG. 2 is a flowchart illustrating a reading process performed by the information code reader of FIG. 図3(a)は、図2の読取処理における二次元補間処理を例示するフローチャートであり、図3(b)は、図2の読取処理における一次元補間処理を例示するフローチャートである。3A is a flowchart illustrating a two-dimensional interpolation process in the reading process of FIG. 2, and FIG. 3B is a flowchart illustrating a one-dimensional interpolation process in the reading process of FIG. 図4(a)は、QRコードの画像データ例を示す説明図であり、図4(b)は、QRコードにおける所定特徴部分を例示する説明図である。FIG. 4A is an explanatory diagram illustrating an example of image data of a QR code, and FIG. 4B is an explanatory diagram illustrating a predetermined feature portion in the QR code. 図5(a)は、バーコードの画像データ例を示す説明図であり、図5(b)は、バーコードにおける所定特徴部分を例示する説明図である。FIG. 5A is an explanatory diagram illustrating an example of barcode image data, and FIG. 5B is an explanatory diagram illustrating a predetermined feature portion of the barcode. 図6は、二次元線形補間法を用いて補間データを生成する例について説明する説明図である。FIG. 6 is an explanatory diagram illustrating an example of generating interpolation data using a two-dimensional linear interpolation method. 図7は、二次元線形補間により補間データを生成する説明図であり、特定の原画素の周囲の補間データ生成例を説明する図である。FIG. 7 is an explanatory diagram for generating interpolation data by two-dimensional linear interpolation, and is a diagram for explaining an example of generating interpolation data around a specific original pixel. 図8は、一次元線形補間により補間データを生成する説明図である。FIG. 8 is an explanatory diagram for generating interpolation data by one-dimensional linear interpolation.

符号の説明Explanation of symbols

20…情報コードリーダ(光学的情報読取装置)
23…受光センサ(撮像手段)
27…結像レンズ(結像手段)
40…制御回路(生成手段、拡大処理手段、特徴部分検出手段、割当度合検出手段)
20. Information code reader (optical information reader)
23. Light receiving sensor (imaging means)
27. Imaging lens (imaging means)
40... Control circuit (generation means, enlargement processing means, feature portion detection means, allocation degree detection means)

Claims (3)

複数の画素からなる撮像素子を備えた撮像手段と、
情報コードからの反射光を前記撮像手段に結像させる結像手段と、
前記撮像素子からの信号に基づいて各画素に対応した画素データを取得し、前記情報コードの画像データを生成する生成手段と、
前記生成手段にて生成された前記画像データに対して画像拡大処理を行う拡大処理手段と、
を備えた光学的情報読取装置であって、
前記画像データのコード領域に配され且つ複数のセルによって構成される所定特徴部分を検出する特徴部分検出手段と、
前記特徴部分検出手段によって検出された前記所定特徴部分の画像と、前記所定特徴部分の画像を構成する複数の画素データと、に基づいて、前記所定特徴部分の各セルに対する画素割当度合いを検出する割当度合検出手段と、
を備え、
前記拡大処理手段は、前記割当度合検出手段によって検出された前記画素割当度合いに応じて拡大率を決定し、その決定された前記拡大率に基づいて前記画像データに対して前記画像拡大処理を行う構成をなしており、
前記情報コードのコード種別毎に前記所定特徴部分が決められており、
前記所定特徴部分は、規定されたセル数、及び規定された形状で構成された部分であり、
前記割当度合検出手段は、前記特徴部分検出手段によって検出された前記所定特徴部分の画像と、前記所定特徴部分の画像を構成する複数の画素データと、に基づいて、前記所定特徴部分によって特定されるコード種別に応じた画素割当度合算出処理を行い、
更に、前記撮像手段により撮像された前記情報コードが一次元コードであるか二次元コードであるかを判断する判断手段を備え、
前記拡大処理手段は、前記判断手段により前記情報コードが一次元コードと判断された場合、前記画像拡大処理として一次元の線形補間処理を行い、前記情報コードが二次元コードと判断された場合には、二次元の線形補間処理を行うことを特徴とする光学的情報読取装置。
An imaging means comprising an imaging device comprising a plurality of pixels;
Imaging means for imaging the reflected light from the information code on the imaging means;
Generation means for acquiring pixel data corresponding to each pixel based on a signal from the image sensor and generating image data of the information code;
An enlargement processing unit that performs an image enlargement process on the image data generated by the generation unit;
An optical information reader comprising:
Feature portion detection means for detecting a predetermined feature portion arranged in a code region of the image data and configured by a plurality of cells;
Based on the image of the predetermined feature portion detected by the feature portion detection means and a plurality of pixel data constituting the image of the predetermined feature portion, a pixel allocation degree for each cell of the predetermined feature portion is detected. An allocation degree detection means;
With
The enlargement processing means determines an enlargement ratio according to the pixel assignment degree detected by the assignment degree detection means, and performs the image enlargement process on the image data based on the determined enlargement ratio. Made up of
The predetermined characteristic portion is determined for each code type of the information code,
The predetermined feature portion is a portion configured with a prescribed number of cells and a prescribed shape,
The allocation degree detecting unit is specified by the predetermined feature portion based on the image of the predetermined feature portion detected by the feature portion detecting unit and a plurality of pixel data constituting the image of the predetermined feature portion. The pixel allocation degree calculation process according to the code type
Furthermore, it comprises a judging means for judging whether the information code imaged by the imaging means is a one-dimensional code or a two-dimensional code,
The enlargement processing means performs a one-dimensional linear interpolation process as the image enlargement process when the information code is determined as a one-dimensional code by the determination means, and when the information code is determined as a two-dimensional code. Is a two-dimensional linear interpolation process, an optical information reader.
前記特徴部分検出手段は、前記情報コードがバーコードである場合、明色バーと暗色バーとが所定の幅比率で並ぶ部分を前記所定特徴部分として検出し、  When the information code is a bar code, the feature portion detection means detects a portion where a light bar and a dark bar are arranged at a predetermined width ratio as the predetermined feature portion,
前記割当度合検出手段は、前記幅比率と、前記所定特徴部分を構成する複数の画素データと、に基づいて、前記バーコードの単位幅に対する前記画素割当度合いを検出することを特徴とする請求項1に記載の光学的情報読取装置。  2. The allocation degree detection unit detects the pixel allocation degree with respect to a unit width of the barcode based on the width ratio and a plurality of pixel data constituting the predetermined feature portion. 2. The optical information reading apparatus according to 1.
前記特徴部分検出手段は、前記情報コードがQRコードである場合、当該QRコードの位置検出パターンを前記所定特徴部分として検出し、  When the information code is a QR code, the characteristic part detection unit detects a position detection pattern of the QR code as the predetermined characteristic part,
前記割当度合検出手段は、前記位置検出パターンの画像と、前記位置検出パターンを構成する複数の画素データと、に基づいて、前記位置検出パターンの1セルに対する画素割当度合いを検出することを特徴とする請求項1又は請求項2に記載の光学的情報読取装置。  The allocation degree detection means detects a pixel allocation degree for one cell of the position detection pattern based on an image of the position detection pattern and a plurality of pixel data constituting the position detection pattern. The optical information reading device according to claim 1 or 2.
JP2008145930A 2008-06-03 2008-06-03 Optical information reader Expired - Fee Related JP5104557B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008145930A JP5104557B2 (en) 2008-06-03 2008-06-03 Optical information reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008145930A JP5104557B2 (en) 2008-06-03 2008-06-03 Optical information reader

Publications (2)

Publication Number Publication Date
JP2009294769A JP2009294769A (en) 2009-12-17
JP5104557B2 true JP5104557B2 (en) 2012-12-19

Family

ID=41542938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008145930A Expired - Fee Related JP5104557B2 (en) 2008-06-03 2008-06-03 Optical information reader

Country Status (1)

Country Link
JP (1) JP5104557B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2014CN02941A (en) * 2011-10-10 2015-07-03 Yewon Comm Co Ltd
JP5780192B2 (en) * 2012-03-29 2015-09-16 株式会社デンソーウェーブ Information code reader

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07107691B2 (en) * 1988-09-30 1995-11-15 松下電器産業株式会社 Image signal processor
JP2781716B2 (en) * 1993-09-28 1998-07-30 株式会社テック Symbol reader
JP2006344066A (en) * 2005-06-09 2006-12-21 Sharp Corp Figure code reading device
JP4890112B2 (en) * 2006-06-13 2012-03-07 日立コンピュータ機器株式会社 Image processing apparatus and image processing method

Also Published As

Publication number Publication date
JP2009294769A (en) 2009-12-17

Similar Documents

Publication Publication Date Title
EP3040906B1 (en) Visual feedback for code readers
JP4058529B2 (en) Optical information reader
JP2008090810A (en) Optical information reading apparatus
JP4470860B2 (en) Information code reader
JP2009087286A (en) Two-dimensional code, and its reader
JP4968093B2 (en) Optical information reader
JP4254628B2 (en) Optical information reader
JP5104557B2 (en) Optical information reader
JP4853214B2 (en) Optical information reader
JP2006134303A (en) Optical information reader
JP5007960B2 (en) Optical information reader
JP2007034546A (en) Optical reader
JP2011008574A (en) Optical information reader
JP2010182057A (en) Optical information reading device
JP5888199B2 (en) Bar code reader
JP4378491B2 (en) Code image output device
JP2008071032A (en) Optical information reader
JP5780192B2 (en) Information code reader
JP4650138B2 (en) Optical information reader
JP5786784B2 (en) Information code reader
JP5104713B2 (en) Optical information reader
JP2011197856A (en) Optical information reading device
JP5240124B2 (en) Optical information reader
JP5293853B1 (en) Bar code reader
JP5282559B2 (en) Information code reader

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120809

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: 20120904

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: 20120917

R150 Certificate of patent or registration of utility model

Ref document number: 5104557

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: 20151012

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees