KR100414559B1 - Bar Code Reader - Google Patents

Bar Code Reader Download PDF

Info

Publication number
KR100414559B1
KR100414559B1 KR10-2000-0049802A KR20000049802A KR100414559B1 KR 100414559 B1 KR100414559 B1 KR 100414559B1 KR 20000049802 A KR20000049802 A KR 20000049802A KR 100414559 B1 KR100414559 B1 KR 100414559B1
Authority
KR
South Korea
Prior art keywords
memory
image data
data
barcode
microcontroller
Prior art date
Application number
KR10-2000-0049802A
Other languages
Korean (ko)
Other versions
KR20020015252A (en
Inventor
이현곤
Original Assignee
주식회사 제일컴테크
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=19685366&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100414559(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 주식회사 제일컴테크 filed Critical 주식회사 제일컴테크
Priority to KR10-2000-0049802A priority Critical patent/KR100414559B1/en
Publication of KR20020015252A publication Critical patent/KR20020015252A/en
Application granted granted Critical
Publication of KR100414559B1 publication Critical patent/KR100414559B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1456Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Abstract

1차원 바코드와 2차원 바코드를 모두 해독할 수 있으며, 가격이 저렴하여 경제성이 높은 2차원 바코드 판독기를 제공한다.Both 1-D barcodes and 2-D barcodes can be decoded, and the low cost provides a highly economical 2-D barcode reader.

바코드 판독기는 시모스 이미지 센서(10), 제1 메모리(40), 마이크로컨트롤러(20) 및 신호 처리부(30)를 구비한다. 시모스 이미지 센서(10)는 바코드 영상을 캡쳐하여 디지털 영상 데이터를 출력한다. 제1 메모리(40)는 캡쳐된 영상에 대한 디지털 영상 데이터를 저장한다. 마이크로컨트롤러(20)는 제2 메모리(24)를 구비하며, 상기 제1 메모리(40)에 저장된 디지털 영상 데이터를 제2 메모리(24)에 저장한 후 해독하여 바코드 데이터를 생성하고, 해독된 데이터를 외부의 데이터 처리 장치에 출력한다. 신호 처리부(30)는 시모스 이미지 센서(10)로부터 디지털 영상 데이터를 받아들여 제1 메모리(40)에 저장하고, 마이크로컨트롤러(20)의 요구에 따라 제1 메모리(40)로부터 디지털 영상 데이터를 독출하여 마이크로컨트롤러(20)에 제공한다.The barcode reader includes a CMOS image sensor 10, a first memory 40, a microcontroller 20, and a signal processor 30. The CMOS image sensor 10 captures a barcode image and outputs digital image data. The first memory 40 stores digital image data about the captured image. The microcontroller 20 includes a second memory 24, stores the digital image data stored in the first memory 40 in the second memory 24, decodes the generated barcode data, and decodes the decoded data. Is output to an external data processing apparatus. The signal processor 30 receives the digital image data from the CMOS image sensor 10, stores the digital image data in the first memory 40, and reads the digital image data from the first memory 40 according to a request of the microcontroller 20. To the microcontroller 20.

CMOS 이미지 센서를 채용하기 때문에 제작 단가가 높지 않고, 휴대형 기기에 채용되는 경우 배터리 사용 시간을 늘일 수 있다는 장점이 있다.Since the CMOS image sensor is used, the manufacturing cost is not high, and when used in a portable device, the battery life can be extended.

Description

바코드 판독기 {Bar Code Reader}Bar Code Reader {Bar Code Reader}

본 발명은 바코드 판독기에 관한 것으로, 보다 상세하게는 2차원 바코드를 해독할 수 있는 바코드 판독기에 관한 것이다.The present invention relates to a barcode reader, and more particularly to a barcode reader capable of decoding a two-dimensional barcode.

바코드는 흑백 패턴에 의해 정보를 표현하는 일종의 부호 체계이다. 바코드로서 일반적으로 사용되는 것은 1차원 바코드인데, 이러한 1차원 바코드의 대표적인 포맷으로는 code 3 of 9, code 93, Interleaved 2 of 5, UPC-A/EAN-13/KAN, UPC-E, EAN-8, CODABAR, code 128 및 3 out of 5 code 등을 들 수 있다. 한편, 최근에는 1차원 바코드를 확장하여 흑백 패턴을 2차원적으로 배치한 2차원 바코드도 활용되고 있는데, 2차원 바코드의 대표적인 형태로는 PDF 417 및 4 state code 2 등을 들 수 있다. 이러한 바코드는 공장에서의 공정관리, 재고관리, 창고관리 등에 활용되고 있으며, 신분증에 부착되어 출입관리, 도서대출 등에 응용되기도 한다. 최근에는, 바코드의 사용 분야가 화물운송과 같은 유통분야, 공장자동화 분야, 물류분야, 병원에서의 환자관리, 우체국의 우편배달 등 산업 전반에 확대되고 있는 추세이다.Bar codes are a type of coding system that expresses information by black and white patterns. Commonly used as a bar code is a one-dimensional bar code, the representative formats of this one-dimensional bar code is code 3 of 9, code 93, Interleaved 2 of 5, UPC-A / EAN-13 / KAN, UPC-E, EAN- 8, CODABAR, code 128 and 3 out of 5 code. On the other hand, recently, two-dimensional barcodes in which black and white patterns are two-dimensionally arranged by extending one-dimensional barcodes have also been utilized. Representative forms of two-dimensional barcodes include PDF 417 and four state codes 2. These barcodes are used in process management, inventory management, warehouse management in factories, and are also attached to identification cards and applied to access management and book loans. In recent years, the use of bar codes has been expanding in general industries such as distribution, such as freight transportation, factory automation, logistics, patient management in hospitals, and postal delivery of post offices.

바코드 판독기는 제품이나 상품 기타 자료 등에 부착되어 있는 바코드를 읽어서 문자나 숫자와 같은 데이터로 변환시키는 장치이다. 일반적으로, 바코드 판독기에 의해 해독된 데이터는 곧바로 바코드 판독기에 연결된 컴퓨터 장치로 전송되거나, 판독기 내의 버퍼에 임시 저장된 후 한꺼번에 컴퓨터 장치로 전송된다. 바코드 판독기가 휴대형 데이터 단말기에 채용되는 경우에는, 판독 데이터가 휴대형 데이터 단말기에 적재된 응용 프로그램에 의하여 이용될 수도 있다.A barcode reader is a device that reads barcodes attached to products, products, and other materials and converts them into data such as letters and numbers. In general, data decrypted by a barcode reader is sent directly to a computer device connected to the barcode reader, or temporarily stored in a buffer in the reader and then transferred to the computer device at once. When the barcode reader is employed in the portable data terminal, the read data may be used by an application program loaded in the portable data terminal.

통상 1차원 바코드 판독기는 발광 다이오드(LED)나 레이저를 이용하여 바코드를 스캐닝함으로써 바코드에 저장된 정보를 해독하게 된다. 그러나, 이러한 스캐닝 방식으로는 2차원 바코드를 해독하기 어렵다는 문제점이 있다. 이러한 이유로 인하여, 종래의 1차원 바코드 판독기는 2차원 바코드를 해독하는 기능을 갖지 못하였다.Typically, a one-dimensional barcode reader is to decode the information stored in the barcode by scanning the barcode using a light emitting diode (LED) or a laser. However, there is a problem that it is difficult to decode a two-dimensional bar code with such a scanning method. For this reason, conventional one-dimensional barcode readers do not have the function of decoding two-dimensional barcodes.

2차원 바코드의 이미지를 읽어들인 후 이를 전기신호로 변환하여 그 정보를 추출해내는 2차원 바코드 판독기들은 레이저 주사 방식 또는 전하결합소자(CCD) 방식을 채택하고 있다. 그러나, 레이저 방식 2차원 바코드 판독기는 그 부품이 고가이므로 1차원 바코드 판독기보다 가격이 높다는 단점이 있다. 한편, CCD 방식 2차원 판독기는 레이저 판독기보다 성능은 우수하나 가격이 높고 전력 소모가 크다는 문제점이 있다.Two-dimensional barcode readers that read an image of a two-dimensional bar code and convert it into an electrical signal to extract the information employ a laser scanning method or a charge coupled device (CCD) method. However, the laser type two-dimensional bar code reader has a disadvantage that the price is higher than the one-dimensional bar code reader because the parts are expensive. On the other hand, the CCD type two-dimensional reader has better performance than the laser reader, but has a problem of high price and high power consumption.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 1차원 바코드와 2차원 바코드를 모두 해독할 수 있으며, 가격이 저렴하여 경제성이 높은 2차원 바코드 판독기를 제공하는 것을 그 기술적 과제로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and the technical problem is to provide a two-dimensional barcode reader that can decode both one-dimensional barcodes and two-dimensional barcodes, and has a low cost and high economical efficiency.

도 1은 본 발명에 따른 바코드 판독기의 블록도1 is a block diagram of a barcode reader according to the present invention.

도 2는 바코드 판독기에 내장된 마이크로컨트롤러에 적재된 프로그램 모듈의 일 예를 보여주는 도면.2 shows an example of a program module loaded on a microcontroller embedded in a barcode reader.

도 3은 본 발명에 따른 바코드 판독기의 동작을 설명하기 위한 흐름도.3 is a flow chart for explaining the operation of the barcode reader according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of Symbols for Main Parts of Drawings>

10 : CMOS 이미지 센서 20 : 마이크로컨트롤러10: CMOS image sensor 20: microcontroller

22 : CPU 24, 40 : 메모리22: CPU 24, 40: memory

30 : 신호 처리부 32 : 버퍼30: signal processor 32: buffer

34 : 버스 송수신부 36 : 메모리 제어부34: bus transceiver 36: memory controller

상기 기술적 과제를 달성하기 위한 본 발명의 바코드 판독기는 바코드 영상을 스캐닝하여 상기 바코드 영상에 상응하는 바코드 데이터를 외부의 데이터 처리장치에 출력한다. 여기서, 데이터 처리 장치는 예컨대 케이블 등에 의해 바코드 판독기에 연결되는 컴퓨터가 될 수 있다. 다른 응용예에 있어서, 바코드 판독기와 데이터 처리 장치는 PDA와 같은 하나의 장치 내에서 구현될 수도 있다. 바코드 판독기는 시모스 이미지 센서, 제1 메모리, 마이크로컨트롤러 및 신호 처리부를 구비한다. 시모스 이미지 센서는 바코드 영상을 캡쳐하여 디지털 영상 데이터를 출력한다. 제1 메모리는 캡쳐된 영상에 대한 디지털 영상 데이터를 저장한다. 마이크로컨트롤러는 제2 메모리를 구비하며, 상기 제1 메모리에 저장된 디지털 영상 데이터를 제2 메모리에 저장한 후 해독하여 바코드 데이터를 생성하고, 해독된 데이터를 외부의 데이터 처리 장치에 출력한다. 신호 처리부는 시모스 이미지 센서로부터 디지털 영상 데이터를 받아들여 제1 메모리에 저장하고, 마이크로컨트롤러의 요구에 따라 제1 메모리로부터 디지털 영상 데이터를 독출하여 마이크로컨트롤러에 제공한다.The barcode reader of the present invention for achieving the above technical problem is to scan the barcode image and output the barcode data corresponding to the barcode image to an external data processing apparatus. Here, the data processing apparatus may be a computer connected to a barcode reader by, for example, a cable or the like. In other applications, the barcode reader and data processing device may be implemented in one device, such as a PDA. The barcode reader has a CMOS image sensor, a first memory, a microcontroller and a signal processor. The CMOS image sensor captures a barcode image and outputs digital image data. The first memory stores digital image data for the captured image. The microcontroller includes a second memory, stores the digital image data stored in the first memory in the second memory, decodes the generated barcode data, and outputs the decoded data to an external data processing apparatus. The signal processor receives the digital image data from the CMOS image sensor and stores the digital image data in the first memory. The signal processor reads the digital image data from the first memory and provides the digital image data to the microcontroller according to the request of the microcontroller.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 구체적으로 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.

도 1은 본 발명에 의한 바코드 판독기의 바람직한 실시예를 보여준다. 본 실시예에 있어서, 바코드 판독기는 CMOS 이미지 센서(10), 마이크로컨트롤러(20), 신호처리부(30) 및 메모리(40)를 포함한다. CMOS 이미지 센서(10)는 마이크로컨트롤러(20)로부터 트리거 신호가 인가될 때 전면의 영상을 캡쳐하여, 신호처리부(30)를 통해 메모리(40)에 저장한다. 마이크로컨트롤러(20)는 CMOS 이미지 센서(10), 신호처리부(30) 및 메모리(40)를 포함하는 판독기 전체의 동작을 제어하고 CMOS 이미지 센서(10)에 의해 캡쳐된 영상 데이터를 해독하며, 외부의 데이터 처리장치와의 인터페이스 기능을 수행한다.1 shows a preferred embodiment of a barcode reader according to the present invention. In the present embodiment, the barcode reader includes a CMOS image sensor 10, a microcontroller 20, a signal processor 30, and a memory 40. The CMOS image sensor 10 captures an image of the front side when the trigger signal is applied from the microcontroller 20, and stores the image in the memory 40 through the signal processor 30. The microcontroller 20 controls the operation of the entire reader including the CMOS image sensor 10, the signal processor 30, and the memory 40, decodes image data captured by the CMOS image sensor 10, and externally. Functions as an interface with the data processing device.

바람직한 실시예에 있어서, CMOS 이미지 센서(10)는 대략 1000×1000의 해상도를 가지도록 픽셀 어레이가 배치되어 있으며, 각 픽셀마다 광다이오드 또는 광트랜지스터와 같은 광검출기와, 증폭용 트랜지스터와, 아날로그-디지털 변환기가 마련되어 있다. 광검출기에 의해 검출되는 신호는 증폭용 트랜지스터에 의해 증폭된 후 아날로그-디지털 변환기에 의해 디지털 데이터로 변환되어 출력된다. 이와 같은 CMOS 이미지 센서(10)로는 예컨대 픽셀캠사(PixelCam Corporation)의 PCS2112와 같은 제품을 채용할 수 있다.In a preferred embodiment, the CMOS image sensor 10 has a pixel array arranged to have a resolution of approximately 1000 × 1000, with each pixel having a photodetector, such as a photodiode or phototransistor, an amplifying transistor, and an analog- A digital converter is provided. The signal detected by the photodetector is amplified by the amplifying transistor and then converted into digital data by an analog-digital converter and output. As such a CMOS image sensor 10, for example, a product such as PCS2112 of PixelCam Corporation can be employed.

신호처리부(30)는 버퍼(32), 버스 송수신부(34) 및 메모리 제어부(36)를 포함한다. 버퍼(32)는 CMOS 이미지 센서(10)로부터의 디지털 영상 데이터를 받아들이고 이를 임시 저장한 후, 버스 송수신부(34)의 제어 신호에 응답하여 저장된 데이터를 메모리(40)에 저장한다. 버스 송수신부(34)는 마이크로컨트롤러(20)의 제어 신호에 응답하여 메모리(40)에 저장된 데이터를 독출하여 마이크로컨트롤러(20)에 제공한다. 또한, 버스 송수신부(34)는 메모리(40)에 저장된 데이터를 독출하는 동안에 CMOS 이미지 센서(10)로부터의 데이터가 메모리(40)에 저장되는 것을 방지하기 위하여 버퍼(32)의 출력 동작을 제어한다. 바람직한 실시예에 있어서, 메모리(40)는 1메가바이트의 용량을 가지는 DRAM에 의해 구현된다. 메모리 제어부(36)는 /RAS, /CAS. /WE와 같은 메모리 제어신호를 발생하여 메모리(40)의 동작을 제어하게 된다.The signal processor 30 includes a buffer 32, a bus transceiver 34, and a memory controller 36. The buffer 32 receives the digital image data from the CMOS image sensor 10 and temporarily stores the digital image data, and then stores the stored data in the memory 40 in response to a control signal of the bus transceiver 34. The bus transceiver 34 reads data stored in the memory 40 in response to a control signal of the microcontroller 20 and provides the data to the microcontroller 20. In addition, the bus transceiver 34 performs an output operation of the buffer 32 to prevent data from the CMOS image sensor 10 from being stored in the memory 40 while reading data stored in the memory 40. To control. In a preferred embodiment, memory 40 is implemented by a DRAM having a capacity of 1 megabyte. The memory control unit 36 is / RAS, / CAS. The memory control signal such as / WE is generated to control the operation of the memory 40.

마이크로컨트롤러(20)는 칩간(Inter-integrated Chip: I2C) 버스를 통해 CMOS 이미지 센서(10)에 연결되어 있다. 사용자가 스캔 버튼(미도시됨)을 누를 때 마이크로컨트롤러(20)는 CMOS 이미지 센서(10)에 트리거 신호를 공급하여 CMOS 이미지 센서(10)가 영상을 스캐닝하도록 한다. 또한, 마이크로컨트롤러(20)는 CMOS 이미지 센서(10)로부터 스캐닝 영상 신호 중 동기 신호를 받아들이고, 이 동기 신호를 토대로 신호처리부(30)를 제어한다. 한편, 마이크로컨트롤러(20)는 신호처리부(30)를 경유하여 메모리(40)로부터 받아들인 영상 데이터를 해독하고, 해독된 데이터를 외부의 데이터 처리장치에 공급한다. 바람직한 실시예에 있어서, 마이크로컨트롤러(20)로는 CPU(22)와 함께 메모리(24)가 내장된 임베디드 CPU, 예컨대 아트멜사(Atmel Corporation)의 AT91M40400을 사용한다. 그렇지만, 본 발명의 다른 실시예에 있어서는, 통상적인 CPU 또는 마이크로컨트롤러와 별도의 메모리를 채용할 수도 있다. 한편, 상기 메모리(24)는 데이터를 기록하고 독출할 수 있는 DRAM과, EEPROM 또는 플래쉬 메모리를 포함한다.The microcontroller 20 is connected to the CMOS image sensor 10 via an inter-integrated chip (I 2 C) bus. When the user presses a scan button (not shown), the microcontroller 20 supplies a trigger signal to the CMOS image sensor 10 so that the CMOS image sensor 10 scans an image. In addition, the microcontroller 20 receives a synchronization signal among the scanning image signals from the CMOS image sensor 10 and controls the signal processor 30 based on the synchronization signal. Meanwhile, the microcontroller 20 decodes the image data received from the memory 40 via the signal processor 30 and supplies the decoded data to an external data processing apparatus. In a preferred embodiment, the microcontroller 20 uses an embedded CPU having a memory 24 together with a CPU 22, such as AT91M40400 from Atmel Corporation. However, in another embodiment of the present invention, a memory separate from a conventional CPU or microcontroller may be employed. On the other hand, the memory 24 includes a DRAM capable of recording and reading data, and an EEPROM or flash memory.

장치 제어와 데이터 해독을 위하여, 마이크로컨트롤러(20)의 메모리에는 소정의 프로그램들이 적재된다. 도 2는 마이크로컨트롤러(20)에 적재되는 프로그램들을 개략적으로 보여준다. 메인 제어 모듈(50)은 프로그램의 전반적인 실행을 제어하며 외부 인터페이스 기능을 수행하는 메인 루틴이다. 이미지 캡쳐 모듈(52)은 사용자가 스캔 버튼(미도시됨)을 누를 때 CMOS 이미지 센서(10)에 트리거 신호를 공급하여 CMOS 이미지 센서(10)가 영상을 스캐닝하도록 하고, 스캐닝된 영상 데이터가 메모리(40)에 저장되도록 신호처리부(30)를 제어한다. 회전 모듈(54)은 메모리(40)로부터 독출된 데이터가 일정한 포맷들 중 어느 하나에 해당하는지를 판단하고, 데이터가 정해진 포맷들 중 어느 하나에도 해당하지 않는 경우 독출된 데이터 어레이를 90도 단위로 회전시켜 다시 정해진 포맷에 해당하는지 판단하는 기능을 수행한다. 디코딩 모듈(56)은 데이터가 일정한 포맷들 중 어느 하나에 해당하는 경우, 해당 포맷에 따라 데이터를 디코딩하고 디코딩된 데이터를 메모리(24)에 저장하거나 외부에 출력한다. 여기서, 정해진 포맷들이라 함은 상용화된 1차원 및 2차원 바코드 포맷들 전부 또는 그중 일부 그룹을 의미한다.For device control and data decryption, certain programs are loaded into the memory of the microcontroller 20. 2 schematically shows the programs loaded on the microcontroller 20. The main control module 50 is a main routine that controls the overall execution of a program and performs an external interface function. The image capture module 52 supplies a trigger signal to the CMOS image sensor 10 when the user presses a scan button (not shown) so that the CMOS image sensor 10 scans an image, and the scanned image data is stored in memory. The signal processor 30 is controlled to be stored at 40. The rotation module 54 determines whether the data read from the memory 40 corresponds to any one of the predetermined formats, and rotates the read data array by 90 degrees when the data does not correspond to any of the predetermined formats. This function determines whether it corresponds to the predetermined format again. If the data corresponds to any one of the formats, the decoding module 56 decodes the data according to the format and stores the decoded data in the memory 24 or outputs the data to the outside. Herein, the predetermined formats mean all or some groups of commercially available one-dimensional and two-dimensional barcode formats.

도 3 은 본 발명 바코드 판독기의 동작을 설명하기 위한 흐름도이다.3 is a flowchart illustrating the operation of the barcode reader of the present invention.

바코드 판독기에 전원이 인가되면, 먼저 마이크로컨트롤러(20)는 CMOS 이미지 센서(10)에 대한 초기화 작업을 수행한다(제 60 단계). 그 다음, 바코드 판독기를 구성하는 각 부분에 대한 이상 여부를 점검하기 위한 셀프 테스트 작업을 수행하게 된다(제 62 단계). 셀프 테스트를 수행한 후, 이상이 없는 경우에는 바코드를 감지할 수 있는 상태가 된다.When power is supplied to the barcode reader, the microcontroller 20 first performs an initialization operation on the CMOS image sensor 10 (step 60). Then, a self test operation for checking an abnormality for each part constituting the barcode reader is performed (step 62). After performing the self-test, if there is no abnormality, the bar code can be detected.

이와 같은 상태에서, 마이크로컨트롤러(20)는 지속적으로 스캐닝 명령이 인가되는 지 즉, 스캐닝 버튼이 눌려지는지를 점검한다(제 64 단계). 만약, 스캐닝 명령이 인가되면, 마이크로컨트롤러(20)는 CMOS 이미지 센서(10)에 트리거 신호를 공급하여 바코드의 이미지가 캡쳐되도록 하게 된다. 캡쳐된 바코드 이미지는 디지털 데이터 형태로 메모리(40)에 저장된다.In this state, the microcontroller 20 continuously checks whether the scanning command is applied, that is, whether the scanning button is pressed (step 64). If a scanning command is applied, the microcontroller 20 supplies a trigger signal to the CMOS image sensor 10 to capture an image of a barcode. The captured barcode image is stored in the memory 40 in the form of digital data.

이미지 캡쳐가 완료되면, 마이크로컨트롤러(20)는 영상 데이터의 해독 작업을 시작한다. 먼저, 마이크로컨트롤러(20)는 메모리(40)로부터 영상 데이터를 받아들이고, 영상 데이터가 정해진 포맷들 중의 하나에 적합한 것인지를 판단한다. 만약, 정해진 포맷들 중 어느 하나에도 해당하지 않을 경우, 마이크로컨트롤러(20)의 회전 프로그램 모듈(54)은 영상 데이터 어레이를 90O회전시킨다(제 68 단계). 데이터가 정해진 포맷들 중 하나에 해당될 때까지 회전 작업은 2-3 차례 반복적으로 실행될 수 있다. 데이터 어레이 회전에 따라 영상 데이터가 정해진 포맷들 중 어느 하나에 적합한 것으로 판단되면, 마이크로컨트롤러(20)는 데이터의 디코딩 작업을 수행한다. 디코딩 작업 수행에 있어서는, 먼저 바코드 이미지가 1차원 바코드 이미지인지를 판별한다(제 70 단계). 제 70 단계에서 1차원 바코드로 판별되면, 제 72 단계에서는 디코딩 작업을 수행한다. 디코딩 작업은 마이크로컨트롤러(20)내의 디코딩 프로그램 모듈(56)에 의해 수행된다. 한편, 제 70 단계에서 1차원의 바코드가 아니라고 판별되는 경우에는 CMOS 이미지 센서에 의하여 캡쳐된 바코드가 2차원 바코드인지의 여부를 판별하게 된다(제 74 단계). 바코드가 2차원인 것으로 판단되는 경우에는, 2차원 바코드의 코드 워드를 분석한 후, 에러 수정을 수행하고, 최종적으로 에러 정정된 데이터를 디코딩하게 된다. 에러 정정 과정에 있어서, 데이터 일부가 손상된 경우에는, 손상된 정보를 보관하거나 바코드내의 다른 위치에 있는 정보로 대체할 수 있고, 손상된 정보량이 많은 경우에는 해당 부분의 데이터를 삭제한 후 출력할 수 도 있다.When the image capture is completed, the microcontroller 20 starts to decode the image data. First, the microcontroller 20 receives image data from the memory 40 and determines whether the image data is suitable for one of the predetermined formats. If, given formats of all cases, even one that does not, rotation program module 54 of the microcontroller 20 causes the image data array 90 rotates O (68th step). The rotation can be repeated 2-3 times until the data corresponds to one of the defined formats. When it is determined that the image data is suitable for any one of the predetermined formats according to the rotation of the data array, the microcontroller 20 performs decoding of the data. In performing the decoding operation, it is first determined whether the barcode image is a one-dimensional barcode image (step 70). If it is determined in step 70 that the barcode is one-dimensional, in step 72 the decoding operation is performed. The decoding operation is performed by the decoding program module 56 in the microcontroller 20. On the other hand, if it is determined in step 70 that the barcode is not one-dimensional, it is determined whether the barcode captured by the CMOS image sensor is a two-dimensional barcode (step 74). If it is determined that the barcode is two-dimensional, after analyzing the code words of the two-dimensional barcode, error correction is performed, and finally the error corrected data is decoded. In the error correction process, if a part of the data is damaged, the damaged information can be stored or replaced with information in another location in the bar code. If the amount of damaged information is large, the data of the corresponding part can be deleted and output. .

제 72 단계 또는 제 76 단계 수행 중에 데이터 디코딩이 정상적으로 수행되지 않는 경우에는, 디코딩 작업이 종료되고 제 78 단계로 진행한다. 제 78 단계에서는 디코딩 작업이 정상적으로 종료되었는지를 판단한다. 디코딩 작업이 비정상적으로 종료된 경우에는, 메모리(40)에 저장된 데이터를 삭제하고 장치를 초기화한 후 제 64 단계로 진행하여 다시 트리거 명령을 기다리게 된다. 이때 사용자에게 경고음 등을 통해 비정상적인 종료 사실을 통지할 수도 있다(제 80 단계).If data decoding is not normally performed during the operation of the seventy-eighth or seventy-seventh operation, the decoding operation is terminated, and the operation proceeds to the seventy-eighth stage. In operation 78, it is determined whether the decoding operation is normally completed. If the decoding operation is abnormally terminated, the data stored in the memory 40 is deleted, the device is initialized, and the process proceeds to step 64 to wait for the trigger command again. In this case, the user may be notified of abnormal termination through a warning sound (step 80).

한편, 제 78 단계에서 디코딩이 정상적으로 종료된 것으로 판단된 경우에는 디코딩 데이터를 외부 데이터 처리 장치로 전송하기에 적합한 전송 포맷으로 변환한다(제 82 단계). 그 다음, 전송 포맷으로 변환된 데이터를 외부 데이터 처리 장치로 출력한다. 데이터 출력이 완료된 후에는, 새로운 바코드를 읽기 위하여 다시제 64 단계로 진행하여 트리거 명령을 기다리게 된다. 이와 같은 디코딩 수행 과정은 사용자의 조작이나 그 밖의 요인으로 인한 인터럽트 요구에 의해 중단 될 수 있다.On the other hand, if it is determined in step 78 that the decoding is normally terminated, the decoded data is converted into a transmission format suitable for transmission to the external data processing apparatus (step 82). Then, the data converted into the transmission format is output to the external data processing apparatus. After the data output is completed, the process proceeds back to step 64 to read a new bar code and waits for a trigger command. The decoding process may be interrupted by an interrupt request due to a user's manipulation or other factors.

본 발명에 의한 바코드 판독기는 그 자체로서 하나의 외형을 가지도록 제작될 수 있다. 이러한 경우, 바코드 판독기는 POS 단말기나 컴퓨터에 케이블 또는 무선링크를 통해 연결되어 스캐닝된 데이터를 POS 단말기나 컴퓨터에 출력하게 된다. 한편, 다른 응용예에 있어서는, 바코드 판독기나 PDA 또는 그 밖의 휴대형 단말기에 채용될 수도 있다. 이와 같은 경우에 있어서는 스캐닝된 바코드 데이터가 PDA 등의 단말기의 CPU 또는 메인 메모리에 직접 버스를 통해 전송된다. 아울러, 이와 같은 응용예에 있어서는 바코드 판독기가 바코드 이외의 문서 또는 그 밖의 이미지를 스캐닝하는데 활용될 수 있으며, 이 때에도 스캐닝된 이미지는 단말기의 CPU 또는 메모리에 직접 전송된다.The bar code reader according to the present invention can be manufactured to have one appearance by itself. In this case, the barcode reader is connected to the POS terminal or the computer via a cable or a wireless link to output the scanned data to the POS terminal or the computer. On the other hand, in other applications, it may be employed in a barcode reader, a PDA or other portable terminal. In such a case, the scanned barcode data is transferred directly to the CPU or main memory of a terminal such as a PDA via a bus. In addition, in such an application, a barcode reader may be utilized to scan a document or other image other than a barcode, and the scanned image is transmitted directly to the CPU or memory of the terminal.

이상에서 설명한 바와 같이, 본 발명의 바코드 판독기는 CMOS 이미지 센서를 구비한다. 따라서, 바코드 판독기의 전력소비가 적고, 스캐닝 과정에서 광전변환된 전류가 증폭되기 때문에 미약한 조도에서도 스캐닝 작업을 할 수 있다는 장점을 갖는다. 또한, 본 발명의 바코드 판독기는 마이크로컨트롤러(20)에 의해 활용되는 데이터 처리용 메모리(24)와는 별도로 스캐닝된 데이터를 저장하기 위한 메모리(40)를 구비한다. 이와 같이 별도의 메모리를 사용하게 됨으로 말미암아, 스캐닝된 영상 데이터 처리와 다음 프레임의 스캐닝이 거의 동시에 진행될 수 있으며, 바코드 내지 영상 데이터 처리를 고속화하는 것이 가능하게 된다.As described above, the barcode reader of the present invention includes a CMOS image sensor. Therefore, the power consumption of the barcode reader is low, and the photoelectric conversion current is amplified in the scanning process, so that the scanning operation can be performed even at low illumination. In addition, the barcode reader of the present invention includes a memory 40 for storing scanned data separately from the data processing memory 24 utilized by the microcontroller 20. By using a separate memory as described above, the processing of the scanned image data and the scanning of the next frame can proceed almost simultaneously, and it becomes possible to speed up the bar code to the image data processing.

본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 실용신안등록청구범위에 의하여 나타내어지며, 실용신안등록청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art to which the present invention pertains will understand that the present invention can be implemented in other specific forms without changing the technical spirit or essential features. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is shown by the utility model registration claims to be described later rather than the detailed description, and all changes or modifications derived from the meaning and scope of the utility model registration claims and their equivalent concepts are included in the scope of the present invention. Should be interpreted as

상술한 바와 같이, 본 발명의 바코드 판독기는 CMOS 이미지 센서를 사용함으로써 제작 단가가 낮으며, 처리 속도가 개선되는 효과를 얻게 된다. 아울러, CMOS 이미지 센서의 소비 전력이 레이저 스캐너나 CCD 방식 스캐너에 비해 매우 작기 때문에, 바코드 판독기가 휴대형 기기에 채용되는 경우 배터리 사용 시간을 늘일 수 있다는 장점이 있다.As described above, the bar code reader of the present invention has the effect of low manufacturing cost and improved processing speed by using the CMOS image sensor. In addition, since the power consumption of the CMOS image sensor is much smaller than that of a laser scanner or a CCD scanner, when a barcode reader is employed in a portable device, battery life can be extended.

Claims (1)

바코드 영상을 스캐닝하여 상기 바코드 영상에 상응하는 바코드 데이터를 생성하는 바코드 판독기로서,A barcode reader for scanning barcode images to generate barcode data corresponding to the barcode images. 상기 바코드 영상을 캡쳐하여 디지털 영상 데이터를 출력하는 시모스 이미지 센서;A CMOS image sensor for capturing the barcode image and outputting digital image data; 상기 디지털 영상 데이터를 저장하기 위한 제1 메모리;A first memory for storing the digital image data; 제2 메모리를 구비하며, 상기 제1 메모리에 저장된 상기 디지털 영상 데이터를 상기 제2 메모리에 저장한 후 해독하여 상기 바코드 데이터를 생성하는 마이크로컨트롤러; 및A microcontroller having a second memory and generating the barcode data by storing the digital image data stored in the first memory in the second memory and then decoding the digital image data; And 상기 시모스 이미지 센서로부터 상기 디지털 영상 데이터를 받아들여 상기 제1 메모리에 저장하는 버퍼와, 상기 버퍼의 동작을 제어하고 상기 마이크로컨트롤러의 요구에 따라 상기 제1 메모리로부터 상기 디지털 영상 데이터를 독출하여 상기 마이크로컨트롤러에 제공하는 버스 송수신부를 구비하는 신호처리부;A buffer for receiving the digital image data from the CMOS image sensor and storing the digital image data in the first memory; and controlling the operation of the buffer and reading the digital image data from the first memory according to a request of the microcontroller. A signal processor having a bus transceiver provided to the controller; 를 구비하며,Equipped with 상기 마이크로컨트롤러에는The microcontroller 사용자의 스캔 조작에 응답하여 상기 시모스 이미지 센서에 트리거 신호를 공급하여 상기 시모스 이미지 센서가 상기 영상을 스캐닝하도록 제어하고 스캐닝된 영상 데이터가 상기 제1 메모리에 저장되도록 상기 신호처리부를 제어하는 캡쳐 제어 기능;A capture control function for supplying a trigger signal to the CMOS image sensor in response to a scan operation of a user to control the CMOS image sensor to scan the image and to control the signal processor to store the scanned image data in the first memory ; 상기 제1 메모리로부터 독출된 영상 데이터가 소정의 포맷들 중 어느 하나에 해당하는지를 판단하고 상기 영상 데이터가 상기 포맷들 중 어느 하나에도 해당하지 않는 경우 상기 영상 데이터 어레이를 90도 단위로 회전시켜 다시 상기 포맷들 중 어느 하나에 해당하는지를 판단하는 회전 기능; 및It is determined whether the image data read from the first memory corresponds to any one of predetermined formats. If the image data does not correspond to any of the formats, the image data array is rotated by 90 degrees. A rotation function for determining which one of the formats corresponds to; And 상기 영상 데이터가 상기 포맷들 중 어느 하나에 해당하는 경우 상기 영상 데이터를 해당 포맷에 따라 디코딩하는 디코딩 기능;A decoding function for decoding the image data according to the format when the image data corresponds to any one of the formats; 을 구현하기 위한 프로그램이 적재되어 실행되는 바코드 판독기.Bar code reader loaded with the program to implement the execution.
KR10-2000-0049802A 2000-08-26 2000-08-26 Bar Code Reader KR100414559B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0049802A KR100414559B1 (en) 2000-08-26 2000-08-26 Bar Code Reader

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0049802A KR100414559B1 (en) 2000-08-26 2000-08-26 Bar Code Reader

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR2020000023667U Division KR200212443Y1 (en) 2000-08-21 2000-08-21 Bar Code Reader

Publications (2)

Publication Number Publication Date
KR20020015252A KR20020015252A (en) 2002-02-27
KR100414559B1 true KR100414559B1 (en) 2004-01-07

Family

ID=19685366

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0049802A KR100414559B1 (en) 2000-08-26 2000-08-26 Bar Code Reader

Country Status (1)

Country Link
KR (1) KR100414559B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100726473B1 (en) * 2005-11-05 2007-06-19 주식회사 칼라짚미디어 Apparatus for classifying an image and method therefor
KR100829108B1 (en) * 2006-06-27 2008-05-16 (주)코아정보시스템 Apparatus and method for reading 2 dimensional barcode with a pattern gradient calculation function

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930018423A (en) * 1992-02-20 1993-09-21 시모야마 도시로오 Barcode reader

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930018423A (en) * 1992-02-20 1993-09-21 시모야마 도시로오 Barcode reader

Also Published As

Publication number Publication date
KR20020015252A (en) 2002-02-27

Similar Documents

Publication Publication Date Title
US9785811B2 (en) Image capture and processing system supporting a multi-tier modular software architecture
US7503498B2 (en) Hand-supportable digital image capturing and processing system employing an area-type image sensing array exposed to illumination from an LED-based illumination array only when all sensor elements in said image-sensing array are activated and in a state of integration
US7789309B2 (en) Automatic digital video-imaging based code symbol reading system employing illumination and imaging subsystems controlled within a control loop maintained as long as a code symbol has not been successfully read and the object is detected in the field of view of the system
US7607581B2 (en) Digital imaging-based code symbol reading system permitting modification of system features and functionalities
US20110284625A1 (en) Digital image capture and processing system supporting multiple third party code plug-ins with configuration files having conditional programming logic controlling the chaining of multiple third-party plug-ins
JP5975608B2 (en) Multi-range indicia reader with single trigger actuation
US7270272B2 (en) Digital image-based bar code symbol reading system employing a multi-mode image-processing symbol reading subsystem
US20130341404A1 (en) Optical reader having improved back-illuminated image sensor
KR100414559B1 (en) Bar Code Reader
KR200212443Y1 (en) Bar Code Reader
US6523753B2 (en) System for reading barcode symbols
US6307208B1 (en) System for reading barcode symbols

Legal Events

Date Code Title Description
A108 Dual application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
J206 Request for trial to confirm the scope of a patent right
J301 Trial decision

Free format text: TRIAL DECISION FOR CONFIRMATION OF THE SCOPE OF RIGHT_DEFENSIVE REQUESTED 20060522

Effective date: 20061130

J302 Written judgement (patent court)

Free format text: JUDGMENT (PATENT COURT) FOR CONFIRMATION OF THE SCOPE OF RIGHT_DEFENSIVE REQUESTED 20061228

Effective date: 20071205

J301 Trial decision

Free format text: TRIAL DECISION FOR CONFIRMATION OF THE SCOPE OF RIGHT_DEFENSIVE REQUESTED 20080109

Effective date: 20080130

FPAY Annual fee payment

Payment date: 20091228

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee