KR100353872B1 - Machine readable code image and method for encoding and decoding thereof - Google Patents
Machine readable code image and method for encoding and decoding thereof Download PDFInfo
- Publication number
- KR100353872B1 KR100353872B1 KR1020010024367A KR20010024367A KR100353872B1 KR 100353872 B1 KR100353872 B1 KR 100353872B1 KR 1020010024367 A KR1020010024367 A KR 1020010024367A KR 20010024367 A KR20010024367 A KR 20010024367A KR 100353872 B1 KR100353872 B1 KR 100353872B1
- Authority
- KR
- South Korea
- Prior art keywords
- parity
- data
- code
- area
- image
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K2019/06215—Aspects not covered by other subgroups
- G06K2019/06225—Aspects not covered by other subgroups using wavelength selection, e.g. colour code
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
본 발명은 기계로 인식가능한 코드 및 그 코드의 인코딩 및 디코딩 방법 및 그 장치에 관한 것으로, 상기 코드는 기계로 판독가능한 코드는, 적어도 두 영역을 포함하며, 각 영역에는 적어도 하나의 셀을 포함하되, 정보의 내용에 따라 색채, 농담, 형상, 패턴 또는 이들의 조합이 다르게 인코딩되어 표시되는, 적어도 하나의 데이터셀로 형성된 데이터영역; 및 상기 데이터셀들에 표시된 색채, 농담, 형상, 패턴 또는 이들의 조합이 상기 정보의 내용에 대응하여 적합하게 표현되어 있는지의 여부를 판별하기 위하여 제공되는, 적어도 하나의 패리티셀로 형성된 패리티영역을 포함하여, 본 발명에 따른 코드이미지는 패리티 검사를 위한 패리티 영역을 포함하고 있으므로, 카메라 입력장치의 차이 혹은 빛과 같은 환경의 차이로 인한 컬러의 오인식을 쉽게 검출하고 이를 교정할 수 있는 효과가 있다.The present invention relates to a machine-readable code and a method and apparatus for encoding and decoding the code, wherein the code includes at least two regions, each region including at least one cell. A data area formed of at least one data cell in which colors, shades, shapes, patterns, or a combination thereof are encoded and displayed according to the content of the information; And a parity region formed of at least one parity cell, which is provided to determine whether colors, shades, shapes, patterns, or a combination thereof displayed on the data cells are appropriately represented corresponding to the contents of the information. In addition, since the code image according to the present invention includes a parity region for parity check, there is an effect of easily detecting and correcting color recognition due to a difference in an environment such as a camera input device or light. .
Description
본 발명은 기계로 인식가능한 코드 및 그 코드의 인코딩(encoding) 및 디코딩(decoding) 방법 및 그 장치에 관한 것으로, 특히 다양한 컬러 또는 농담으로 표현된 셀들의 배열을 이용하여 데이터를 코드로 인코딩하고, 그 인코딩된 코드를 컴퓨터와 주변장치를 이용하여 디코딩하는 방법 및 그 장치에 관한 것이다.The present invention relates to machine recognizable codes and methods and apparatus for encoding and decoding the codes, in particular to encoding data into codes using arrays of cells represented in various colors or shades, A method and apparatus for decoding the encoded code using a computer and a peripheral device.
최근에 시중에 유통되는 대부분의 상품에는 상품의 종류 및 가격 등의 상품정보를 나타내기 위하여 다양한 굵기의 선으로 구성된 바코드(bar code)가 인쇄되어 있다. 이러한 바코드는 굵은 선과 가는선, 그리고 이중선 등으로 구성되어 상품정보가 인코딩된 숫자 데이터를 나타낸다.In recent years, most products on the market are printed with bar codes composed of lines of various thicknesses to indicate product information such as product types and prices. The bar code is composed of thick lines, thin lines, and double lines to represent numeric data encoded with product information.
한편, 일반적인 비즈니스(business) 등의 목적으로 명함에 회사의 인터넷 홈페이지 주소(Home page address) 혹은, 이메일 주소(E-mail address) 등의URL(Uniform Resource Location)을 인쇄하는 경우가 있다. 이러한 인터넷 홈페이지에는 그 회사의 홍보 내용이 담겨 있고, 그 회사에 관심이 있는 인터넷 사용자는 그 인터넷 홈페이지에 담겨져 있는 회사의 홍보 내용을 읽은 후, 문의 사항이 있을 때에 이메일 주소로 연락을 시도하게 된다. 또한, 명함 외에도 잡지 혹은, 신문 등의 광고란에 특정 회사의 인터넷 홈페이지 주소나 기타 URL 등을 인쇄하는 경우도 있으며, 때에 따라서는 출판 서적에도 인터넷 홈페이지 주소를 인쇄하는 경우도 있다.On the other hand, there is a case where a uniform resource location (URL), such as an Internet home page address or an e-mail address, is printed on a business card for the purpose of general business. The Internet homepage contains the contents of the company's public relations, and an Internet user interested in the company reads the company's public relations contained in the Internet homepage and attempts to contact the e-mail address when inquiries are made. In addition to the business card, the website or the URL of a specific company may be printed in an advertisement column such as a magazine or a newspaper, and in some cases, an internet homepage address may also be printed in a publication.
이 때, 만약 어떤 사용자가 명함에 인쇄된 URL에 접속하려면, 그 명함에 인쇄된 URL (예를 들어, http://comsciyonsei.ac.kr/~nklee)을 키보드로 타이핑(typing)해야만 한다. 또는, 명함에 이메일 주소(예를 들어, nklee@yonsei.ac.kr)가 인쇄되어 있다면, 그 이메일 주소로 편지를 보내려는 사용자는 그 이메일 주소를 모두 타이핑 해야 한다.At this time, if a user wants to access the URL printed on the business card, the user must type the URL printed on the business card (for example, http://comsciyonsei.ac.kr/~nklee) with the keyboard. Or, if an e-mail address (for example, nklee@yonsei.ac.kr) is printed on a business card, a user who wants to send a letter to that e-mail address must type in the e-mail address.
그러나, 인터넷 홈페이지 주소 혹은 이메일 주소는 한 두자의 글자로 구성되는 것이 아니라, 일반적으로 십 수자 내지 수십 자의 글자로 구성되어 있다. 그에 따라 사용자가 그 주소를 입력하는 데에 번거롭다는 단점이 있다.However, Internet homepage addresses or e-mail addresses do not consist of one or two letters, but generally consist of dozens or tens of letters. This has the disadvantage of being cumbersome for the user to enter the address.
이러한 단점을 해결하기 위하여 미국특허 공고번호 USP 5,869,828(발명의 명칭 : Color and shape system for encoding and decoding data)이 제안되었다. USP 5,869,828은 컬러를 가진 도형을 이용하여 문자 데이터를 인코딩/디코딩하는 방법 및 시스템으로서, 간단한 구성을 가진 컬러 도형을 상품의 겉 표면에 인쇄하여 상품의 정보를 나타낼 수 있다.In order to solve this disadvantage, US Patent Publication No. USP 5,869,828 (name of the invention: Color and shape system for encoding and decoding data) has been proposed. USP 5,869,828 is a method and system for encoding / decoding character data using a color figure, and can display information of a product by printing a color figure with a simple configuration on the surface of the product.
프린트마다 인쇄특성에 차이가 있기 때문에 하나의 컬러 도형을 서로 다른 프린터로 인쇄하면 프린터의 특성상 컬러가 서로 다르게 프린트된다. 즉, 어떤 데이터가 컬러 도형으로 인코딩되고 그 컬러 도형이 서로 다른 회사의 프린터로 인쇄되면 각 프린터의 특성에 따라 컬러 도형의 색조에 차이가 발생한다. 따라서, USP 5,869,828에 의하면, 이러한 인쇄 환경의 차이로 인하여 동일한 컬러 도형이라 하더라도 프린트된 컬러 도형을 디코딩할 때 원래의 정보를 제대로 복원하지 못하는 오류가 발생할 수 있다.Since print characteristics are different for each print, when one color figure is printed with different printers, colors are differently printed due to the characteristics of the printer. In other words, when data is encoded into color figures and the color figures are printed to printers of different companies, the color tone of the color figures may vary according to the characteristics of each printer. Therefore, according to US Pat. No. 5,869,828, an error of failing to properly restore the original information when decoding the printed color figure may occur even if the same color figure is caused by the difference in the printing environment.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 정보를 코드로 표현함에 있어서 목적 데이터 뿐만 아니라 패리티 정보를 포함하는, 기계로 판독가능한 코드를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and to provide a machine-readable code that includes parity information as well as object data in representing information in code.
본 발명의 다른 목적은 소정의 정보를 상기와 같은 코드로 변환하는 인코딩 방법 및 그 장치를 제공하는데 있다.Another object of the present invention is to provide an encoding method and apparatus for converting predetermined information into a code as described above.
본 발명의 또 다른 목적은 상기의 인코딩방법에 의하여 인코딩된 코드로부터 원래의 정보를 추출하는 디코딩 방법 및 그 장치를 제공함에 있다.Another object of the present invention is to provide a decoding method and apparatus for extracting original information from a code encoded by the encoding method.
본 발명의 또 다른 목적은 상기의 인코딩 및 디코딩방법을 실현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함에 있다.It is still another object of the present invention to provide a computer readable recording medium having recorded thereon a program for realizing the above encoding and decoding method.
도 1a-1e는 본 발명에 따른 기계로 판독가능한 코드의 구성예를 나타내는 도면이다.1A-1E are diagrams showing an example of the configuration of a machine readable code according to the present invention.
도 2a는 두 비트로서 네가지 색을 표시하는 예를, 도 2b는 각종 문자 등을 코드이미지로 변환하는 코드변환표의 일 예를, 도 2c는 회색조 코드의 일 예를, 도 2d 및 2e는 코드이미지의 각 셀에 표시할 수 있는 패턴의 일 예를 나타내는 도면이다.2A is an example of displaying four colors as two bits, FIG. 2B is an example of a code conversion table for converting various characters, etc. into code images, FIG. 2C is an example of grayscale codes, and FIGS. 2D and 2E are code images. A diagram showing an example of a pattern that can be displayed in each cell of.
도 3a에서 3f는 패리티영역이 사각 매트릭스 형 코드이미지 내에서 위치할 수 있는 다양한 예를 설명한다.3A to 3F illustrate various examples in which the parity region may be located in a rectangular matrix code image.
도 4는 인덱스정보를 저장하는 데이터베이스의 구조를 설명하는 도면이며, 도 5는 코드이미지로부터 독출된 인덱스정보를 이용하여 목적정보를 획득하는 과정을 설명하기 위한 도면이다.4 is a diagram illustrating a structure of a database storing index information, and FIG. 5 is a diagram for describing a process of obtaining object information by using index information read from a code image.
도 6은 본 발명의 일 실시예에 따라 문자등의 정보를 코드이미지로 인코딩하는 방법을 설명하기 위한 흐름도이다.6 is a flowchart illustrating a method of encoding information such as characters into a code image according to an embodiment of the present invention.
도 7은 본 발명에 따른 인코딩 방법을 실시하기 위한 시스템을 나타내는 도면이다.7 is a diagram illustrating a system for implementing an encoding method according to the present invention.
도 8a는 본 발명의 일 실시예에 따라 코드이미지를 목적정보로 디코딩방법을 설명하기 위한 흐름도이며, 도 8b는 도 8a의 단계 84의 상세 흐름도이다.FIG. 8A is a flowchart for describing a decoding method of using a code image as object information according to an embodiment of the present invention, and FIG. 8B is a detailed flowchart of step 84 of FIG. 8A.
도 9는 본 발명에 따른 디코딩 방법을 실시하기 위한 시스템을 나타내는 도면이다.9 is a diagram illustrating a system for implementing a decoding method according to the present invention.
도 10은 본 발명에 따른 코드이미지가 인쇄된 광고지의 일 례를 도시한 것이다.10 illustrates an example of a handbill in which a code image is printed according to the present invention.
도 11은 본 발명에 따른 코드이미지의 다양한 표현 예를 나타낸다.11 illustrates various expression examples of code images according to the present invention.
상술한 과제를 해결하기 위한 본 발명에 의한 기계로 판독가능한 코드는, 소정의 정보를 표시하는, 기계로 판독가능하도록 형성된 코드에 있어서, 적어도 두영역을 포함하며, 각 영역에는 적어도 하나의 셀을 포함하되, 상기 정보의 내용에 따라 색채, 농담, 형상, 패턴 또는 이들의 결합이 다르게 인코딩되어 표시되는, 적어도 하나의 데이터셀로 형성된 데이터영역; 및 상기 데이터셀들에 표시된 색채, 농담, 형상, 패턴 또는 이들의 결합이 상기 정보의 내용에 대응하여 적합하게 표현되어 있는지의 여부를 판별하기 위하여 제공되는, 적어도 하나의 패리티셀로 형성된 패리티영역을 포함하는 것을 특징으로 한다.Machine-readable code according to the present invention for solving the above-described problems, the code formed to be machine-readable, which displays a predetermined information, comprising at least two areas, each area includes at least one cell A data region comprising at least one data cell, wherein the color, shade, shape, pattern, or a combination thereof is encoded and displayed according to the content of the information; And a parity region formed of at least one parity cell, which is provided to determine whether colors, shades, shapes, patterns, or combinations thereof displayed on the data cells are appropriately represented corresponding to the contents of the information. It is characterized by including.
상술한 과제를 해결하기 위한 본 발명에 의한 코드이미지 인코딩방법은, (a) 숫자, 기호를 포함한 인식가능한 각 문자에 대응하여 색채, 농담, 형상, 패턴 또는 이들의 결합을 다르게 매핑시킨 코드변환표를 설정하는 단계; (b) 인코딩하고자하는 목적데이터를 설정하는 단계; (c) 상기 목적데이터를 상기 코드변환표에 의하여 인코딩하여 일련의 색채, 농담, 형상, 패턴 또는 이들의 결합으로 형성되는 이미지로 데이터영역을 생성하는 단계; (d) 상기 데이터영역에 표시된 이미지가 상기 목적데이터에 대응하여 적합하게 표현되어 있는지의 여부를 판별하기 위한 패리티영역을 설정하는 단계; 및 (e) 상기 데이터영역 및 상기 패리티영역에 대한 이미지로부터 물리적인 또는 전자적인 코드이미지를 생성하는 단계를 포함하는 것을 특징으로 한다.Code image encoding method according to the present invention for solving the above problems, (a) code conversion table mapping different colors, shades, shapes, patterns, or a combination thereof corresponding to each recognizable characters including numbers, symbols Setting up; (b) setting object data to be encoded; (c) generating a data area with an image formed by a series of colors, shades, shapes, patterns, or a combination thereof by encoding the object data by the code conversion table; (d) setting a parity area for determining whether or not an image displayed in the data area is appropriately represented corresponding to the object data; And (e) generating a physical or electronic code image from the image of the data region and the parity region.
상술한 과제를 해결하기 위한 본 발명에 의한 코드이미지 인코딩장치는, 숫자, 기호를 포함한 인식가능한 각 문자에 대응하여 색채, 농담, 형상, 패턴 또는 이들의 결합을 다르게 매핑시킨 코드변환표를 저장하는 저장부; 인코딩하고자하는 목적데이터를 입력받아 상기 코드변환표에 의하여 인코딩하여 데이터영역에 표시될이미지를 생성하는 데이터영역 생성부; 상기 데이터영역에 표시된 이미지가 상기 목적데이터에 대응하여 적합하게 표현되어 있는지의 여부를 판별하기 위한 패리티영역을 생성하는 패리티영역 생성부; 및 상기 데이터영역 및 상기 패리티영역으로 형성된 이미지로부터 물리적인 또는 전자적인 코드이미지를 생성하는 코드이미지 생성부를 포함하는 것을 특징으로 한다.Code image encoding apparatus according to the present invention for solving the above problems is to store a code conversion table that maps colors, shades, shapes, patterns or combinations thereof differently corresponding to each recognizable character including numbers, symbols Storage unit; A data area generation unit which receives the target data to be encoded and encodes the data by using the code conversion table to generate an image to be displayed in the data area; A parity region generating unit generating a parity region for determining whether or not an image displayed in the data region is appropriately represented corresponding to the object data; And a code image generator for generating a physical or electronic code image from the image formed by the data area and the parity area.
상술한 과제를 해결하기 위한 본 발명에 의한 코드이미지 디코딩방법은, (a) 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 목적데이터가 인코딩되어 이미지로 표시된 데이터영역 및 상기 데이터영역에 표시된 이미지가 상기 목적데이터에 대응하여 적합하게 표현되어 있는지의 여부를 판별하기 위한 패리티영역을 구비하는 코드이미지를 입력받는 단계; (b) 상기 코드이미지로부터 데이터영역 및 패리티영역을 구분하여 식별하는 단계; (c) 상기 데이터영역 및 상기 패리티영역에 표현된 이미지로부터 색채, 농담, 형상, 패턴 또는 이들의 결합을 인식하는 단계; (d) 상기 데이터영역의 이미지로부터 인식된 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 제1 패리티값을 계산하는 단계; (e) 상기 패리티영역의 이미지로부터 인식된 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 제2 패리티값을 계산하여 상기 제1 패리티값과 비교하는 단계; 및 (f) 비교 결과 패리티 오류가 없으면 상기 데이터영역으로부터 인식된 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 디코딩하여 숫자, 기호를 포함하는 인식가능한 문자로 된 목적데이터를 추출하는 단계를 포함하는 것을 특징으로 하며,Code image decoding method according to the present invention for solving the above problems, (a) the data area and the image displayed in the image and the data area is encoded as the object data according to the color, shade, shape, pattern or combination thereof Receiving a code image having a parity region for determining whether the expression is properly represented corresponding to the object data; (b) distinguishing and identifying a data region and a parity region from the code image; (c) recognizing color, shade, shape, pattern, or a combination thereof from the images represented in the data region and the parity region; (d) calculating a first parity value according to colors, shades, shapes, patterns, or combinations thereof recognized from images of the data area; (e) calculating a second parity value according to a color, shade, shape, pattern, or combination thereof recognized from the image of the parity region and comparing the first parity value with the first parity value; And (f) extracting the object data of recognizable characters including numbers and symbols by decoding according to the recognized colors, shades, shapes, patterns, or combinations thereof from the data area if there is no parity error as a result of the comparison. Characterized in that,
상술한 과제를 해결하기 위한 본 발명에 의한 다른 코드이미지 디코딩방법은, (a) 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 목적데이터가 인코딩되어 이미지로 표시된 데이터영역 및 상기 데이터영역에 표시된 이미지가 상기 목적데이터에 대응하여 적합하게 표현되어 있는지의 여부를 판별하기 위한 패리티영역을 구비하는 코드이미지를 입력받는 단계; (b) 상기 코드이미지로부터 데이터영역 및 패리티영역을 구분하여 식별하는 단계; (c) 상기 데이터영역 및 상기 패리티영역에 표현된 이미지로부터 색채, 농담, 형상, 패턴 또는 이들의 결합을 인식하는 단계; (d) 코드이미지가 읽혀진 환경을 고려하여 코드이미지로부터 인식된 색채, 농담, 형상, 패턴 또는 이들의 결합의 코드값을 정규화하기 위한 매개변수를 설정하는 단계; (e) 코드이미지로부터 인식된 색채, 농담, 형상, 패턴 또는 이들의 결합을 상기 매개변수에 근거하여 정규화하여 상기 데이터영역 및 패리티영역에 대한 코드값을 구하는 단계; (f) 상기 데이터영역의 코드값에 따라 제1 패리티값을 계산하는 단계; (g) 상기 패리티영역의 코드값에 따라 제2 패리티값을 생성하는 단계; (h) 상기 제1 패리티값을 상기 제2 패리티값과 비교하여 패리티 오류 여부를 판단하는 단계; 및 (i) 만일 패리티 오류가 발생하면, 상기 매개변수를 재설정한 다음 상기 (e) 단계부터 반복하는 단계를 포함하는 것을 특징으로 한다.Another code image decoding method according to the present invention for solving the above problems, (a) the target data is encoded according to the color, shade, shape, pattern, or a combination thereof is displayed in the data area and the data area displayed as an image Receiving a code image having a parity region for determining whether an image is properly represented corresponding to the object data; (b) distinguishing and identifying a data region and a parity region from the code image; (c) recognizing color, shade, shape, pattern, or a combination thereof from the images represented in the data region and the parity region; (d) setting parameters for normalizing code values of colors, shades, shapes, patterns, or combinations thereof recognized from the code images in consideration of the environment in which the code images are read; (e) obtaining code values for the data area and the parity area by normalizing colors, shades, shapes, patterns, or a combination thereof recognized from the code image based on the parameters; (f) calculating a first parity value according to a code value of the data area; (g) generating a second parity value according to a code value of the parity region; (h) comparing the first parity value with the second parity value to determine whether there is a parity error; And (i) if a parity error occurs, resetting the parameter and repeating from the step (e).
상술한 과제를 해결하기 위한 본 발명에 의한 코드이미지 디코딩장치는, 숫자, 기호를 포함한 인식가능한 각 문자에 대응하여 색채, 농담, 형상, 패턴 또는 이들의 결합을 다르게 매핑시킨 코드변환표를 저장하는 저장부; 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 목적데이터가 인코딩되어 이미지로 표시된 데이터영역 및 상기 데이터영역에 표시된 이미지가 상기 목적데이터에 대응하여 적합하게표현되어 있는지의 여부를 판별하기 위한 패리티영역을 구비하는, 상기 코드변환표에 의하여 인코딩된 코드이미지를 입력받는 입력부; 상기 코드이미지로부터 데이터영역 및 패리티영역을 구분하여 식별하고, 상기 데이터영역 및 상기 패리티영역에 표시된 각 셀의 색채, 농담, 형상, 패턴 또는 이들의 결합을 판별하는 정보식별부; 상기 데이터영역의 이미지로부터 인식된 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 제1 패리티값을 계산하고, 상기 패리티영역의 이미지로부터 인식된 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 제2 패리티값을 계산하여 이를 상기 제1 패리티값과 비교하는 패리티비교부; 및 상기 패리티비교부의 비교 결과 패리티 오류가 없으면 상기 데이터영역으로부터 인식된 색채, 농담, 형상, 패턴 또는 이들의 결합에 따라 상기 코드변환표에 의하여 디코딩하여 숫자, 기호를 포함하는 인식가능한 문자로 된 목적데이터를 추출하는 데이터추출부를 포함하는 것을 특징으로 한다.Code image decoding apparatus according to the present invention for solving the above problems is to store a code conversion table that maps the colors, shades, shapes, patterns or combinations thereof differently corresponding to each recognizable characters including numbers, symbols Storage unit; The data area represented by the image by encoding the target data according to color, shade, shape, pattern, or a combination thereof, and a parity area for determining whether or not the image displayed on the data area is appropriately represented corresponding to the target data. An input unit including a code image encoded by the code conversion table; An information identification unit for discriminating and identifying a data area and a parity area from the code image, and determining a color, a shade, a shape, a pattern, or a combination thereof of each cell displayed in the data area and the parity area; A first parity value is calculated according to a color, shade, shape, pattern, or combination thereof recognized from the image of the data area, and according to the color, shade, shape, pattern, or combination thereof recognized from the image of the parity area. A parity comparison unit for calculating a second parity value and comparing it with the first parity value; And a recognizable character including numbers and symbols by decoding by the code conversion table according to the color, shade, shape, pattern, or combination thereof recognized from the data area if there is no parity error as a result of the comparison of the parity comparison unit. It characterized in that it comprises a data extraction unit for extracting data.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
도 1a는 본 발명에 따라 소정의 목적정보(target information)를 기계로 판독가능하도록, 이미지로 형성된 코드의 구성 예를 나타내는 도면이다. 본 코드는 적어도 두 영역을 포함하며, 각 영역에는 적어도 하나의 셀을 포함한다. 코드에는 정보의 내용에 따라 색채(color), 농담(shade), 형상, 패턴 또는 이들의 결합이 다르게 인코딩되어 표시되는 적어도 하나의 데이터셀로 형성된 데이터영역(11)이 포함된다. 또한 셀의 형상을 다양하게 하거나 셀 내에 소정의 패턴을 부가할 수 있다.FIG. 1A is a diagram showing an example of the configuration of a code formed of an image so that predetermined target information can be machine-readable in accordance with the present invention. The code includes at least two regions, and each region includes at least one cell. The code includes a data region 11 formed of at least one data cell in which colors, shades, shapes, patterns, or a combination thereof are encoded and displayed according to the content of the information. It is also possible to vary the shape of the cell or to add a predetermined pattern into the cell.
코드에는 패리티영역(13), 참조영역(15) 및/또는 제어영역(17)이 더 포함될 수 있다. 패리티영역(13)은 데이터영역(11)에 표시된 셀들의 인식 오류 검사를 위한 패리티셀들로 형성된다. 참조영역(15)은 데이터영역(11)에 형성된 데이터셀의 색채, 농담, 형상, 패턴 또는 이들의 결합을 판단하기 위한 기준색채, 기준농담, 기준형상, 기준패턴 또는 이들의 결합을 제공하는 적어도 하나의 참조셀로 형성된다. 제어영역(17)은 데이터영역(11)에 표시된 정보를 이용하여 제공될 수 있는 명령이나 서비스를 표시하는 적어도 하나의 제어셀로 형성된다. 이하에서는, 데이터영역을 제외한 영역들, 예를 들어 패리티영역, 참조영역, 제어영역을 포함하는 영역을 통칭하여 "보조영역"이라 부르고, 보조영역에 포함되는 셀을 보조셀이라 표기하기로 한다.The code may further include a parity region 13, a reference region 15, and / or a control region 17. The parity area 13 is formed of parity cells for checking a recognition error of cells displayed in the data area 11. The reference area 15 includes at least a reference color, a reference jog, a reference shape, a reference pattern, or a combination thereof for determining the color, shade, shape, pattern, or combination thereof of the data cells formed in the data area 11. It is formed of one reference cell. The control area 17 is formed of at least one control cell indicating a command or a service which can be provided using the information displayed in the data area 11. Hereinafter, regions other than the data region, for example, a region including a parity region, a reference region, and a control region, are collectively referred to as an "secondary region", and a cell included in the auxiliary region is referred to as an auxiliary cell.
또한, 코드에 포함된 각 영역 사이에는 영역을 구분하기 위한 경계영역을 더 포함하는 것이 바람직하다. 또한 각 영역에 포함된 각 셀 사이에도 셀을 구분하기 위한 경계영역을 별도로 더 구비할 수 있다. 경계영역은 특정의 색상이나 패턴 등으로 된 선이나 셀로 구성될 수 있으며, 경계선 또는 경계영역은 검정색 또는 흰색으로 이루어질 수 있다. 한편, 데이터영역, 패리티영역, 참조영역, 또는 제어영역의 각 셀에 표시될 수 있는 색채나 농담의 범위를 구분 설정하여 이들 영역을 구별시킬 수 있으며, 또는 각 영역에 속하는 셀에 특수 패턴을 다르게 삽입시키는 방법을 이용할 수 있다. 한편, 코드 정보의 보안을 위하여 이러한 경계영역을 표시하지 않을 수 있다.In addition, it is preferable to further include a boundary area for distinguishing areas between each area included in the code. In addition, a boundary area for distinguishing cells may be further provided between each cell included in each area. The boundary area may be composed of lines or cells of a specific color or pattern, and the boundary line or boundary area may be black or white. On the other hand, by distinguishing and setting the range of colors or shades that can be displayed in each cell of the data area, parity area, reference area, or control area, these areas can be distinguished, or special patterns are different for cells belonging to each area. Insertion method can be used. On the other hand, such a boundary area may not be displayed for the security of code information.
데이터영역(11)은 문자 등이 이미지로 인코딩된 하나 이상의 데이터셀로 구성된다. 데이터셀은 그 각각이 하나의 문자와 같은 정보를 나타내도록 구성될 수 있으며, 또한 다수 개의 데이터셀 세트(set)가 하나 또는 그 이상의 정보를 나타내도록 구성될 수도 있다. 예컨대, 문자 "A"를 적색으로 된 셀 하나로 표시하거나 적색과 녹색으로 된 두 셀로 표시할 수 있다.The data area 11 is composed of one or more data cells in which characters and the like are encoded into an image. The data cells may be configured such that each represents information such as one character, and the plurality of data cell sets may also be configured to represent one or more information. For example, the letter "A" may be displayed as one cell in red or two cells in red and green.
데이터영역(11)에 담기는 목적정보는 문자, 숫자, 기호 등으로 이루어지며, 이름, 주소, 전화번호, 팩스번호, 네트워크의 호스트 주소, 인터넷에서 사용되는 도메인 이름 및 IP 어드레스, URL, 프로토콜, 또는 문서명 등 사용자의 필요에 따라 여러 가지가 될 수 있다.The purpose information contained in the data area 11 is composed of letters, numbers, symbols, etc., name, address, telephone number, fax number, host address of the network, domain name and IP address used in the Internet, URL, protocol, Or it can be various according to user's needs such as document name.
패리티영역(13)은 색채 또는 농담 (만일 있다면, 형상 및/또는 패턴)이 목적정보의 내용에 대응하여 데이터셀들에 적합하게 표현되어 있는지의 여부를 판별하는데 사용된다. 패리티영역은 데이터셀들에 표시된 색채 또는 농담에 대응하여 규정된 코드값에 따라 패리티데이터를 구하고, 패리티데이터에 대응하는 색채 또는 농담으로 패리티셀을 형성하며, 패리티셀들이 코드이미지 내에 위치하는 다양한 예는 도 3a-3f에 도시되어 있다.The parity area 13 is used to determine whether colors or shades (shape and / or pattern, if any) are appropriately represented in the data cells corresponding to the contents of the object information. The parity region obtains parity data according to a code value defined in correspondence with a color or shade displayed on the data cells, forms a parity cell with colors or shades corresponding to the parity data, and the parity cells are located in the code image. Are shown in FIGS. 3A-3F.
참조영역(15)은 데이터영역(11) 및/또는 보조영역에 있는 셀에 표현된 컬러(또는 농담, 만일 있다면 형상 또는 패턴)를 인식하는 기준컬러(또는 기준농담, 필요에 따라서는 기준형상이나 기준패턴)를 설정하는데 사용된다. 각 영역에 표시되는 셀의 컬러는 RGB(Red Blue Green) 컬러 모델 또는 HSV(Hue Saturation Value) 컬러 모델 중 적어도 어느 한 가지 방식을 기반으로 표시된다. 또한, 흑백 농담(그레이 스케일)에 의하여 코드를 형성하는 경우에도 참조영역(15)에 표시된 흑색 및/또는 백색을 기준으로 각 셀의 정보를 정확하게 인식할 수 있게 된다.The reference area 15 is a reference color (or reference joke, if necessary) that recognizes the colors (or shades, shapes or patterns, if any) expressed in the cells in the data area 11 and / or the auxiliary area. Reference pattern). The color of the cell displayed in each area is displayed based on at least one of a red blue green (RGB) color model and a hue saturation value (HSV) color model. In addition, even when codes are formed by black and white shades (gray scale), the information of each cell can be accurately recognized based on the black and / or white displayed on the reference area 15.
프린트의 기종이나 인쇄용지의 재질에 따라 하나의 컬러라 하더라도 서로 다르게 인쇄될 수 있으며, 또한 스캐너나 카메라의 특성에 따라 동일한 색상이 다소 다르게 인식될 수 있다. 이러한 점을 고려하여, 참조영역(15)에 있는 참조셀은 데이터영역에 표시된 색상을 판별하는 기준을 제공한다. 즉, 출력장치에 따라 컬러가 다르게 출력되거나, 스캐너 등과 같은 입력장치에 따라 컬러가 다르게 입력되었다고 할 지라도, 참조영역(15)의 컬러와 데이터영역(11)의 컬러의 색조 차이(color difference)는 고정적이기 때문에 데이터영역(11)에 표현된 셀의 색상을 정확하게 인식할 수 있다. 따라서, 데이터영역(11)의 셀에 표시되는 색상은 참조영역(15)의 기준 컬러와 대비된 상대적인 색조 차이를 가지므로, RGB 모델 또는 HSV 모델을 기준으로 참조영역(15)의 기준컬러와 비교하여 데이터영역(11)에 있는 셀의 컬러를 구함으로써, 이미지 입력장치나 출력장치가 달라지더라도 데이터셀의 정보를 정확하게 인식할 수 있다. 형상이나 패턴이 카메라 등의 입력장치로 입력될 경우, 그것이 기울어지거나 찌그러진 상태로 입력될 수 있다. 기준형상 또는 기준패턴이 참조영역에 의하여 제공됨으로써, 이러한 오입력 상태를 감지하도록 하여 데이터셀에 표현된 형상 또는 패턴을 정확하게 인식하도록 할 수 있다.Depending on the type of printing or the material of the printing paper, even one color may be printed differently, and the same color may be recognized differently depending on the characteristics of the scanner or camera. In view of this, the reference cell in the reference area 15 provides a criterion for determining the color displayed in the data area. That is, even if the color is output differently according to the output device or the color is input differently according to the input device such as a scanner, the color difference between the color of the reference area 15 and the color of the data area 11 is different. Since it is fixed, the color of the cell represented in the data area 11 can be accurately recognized. Therefore, since the color displayed in the cell of the data area 11 has a relative color difference compared with the reference color of the reference area 15, the color is compared with the reference color of the reference area 15 based on the RGB model or the HSV model. By obtaining the color of the cell in the data area 11, even if the image input device or the output device is changed, it is possible to accurately recognize the information of the data cell. When a shape or a pattern is input to an input device such as a camera, it may be input in a tilted or crushed state. By providing the reference shape or the reference pattern by the reference area, it is possible to detect such a mis-input state to accurately recognize the shape or pattern expressed in the data cell.
사용자는 데이터영역(11)의 목적정보를 이용하여 응용분야에 따라 다양한 서비스를 제공받을 수 있다. 예를 들어, 명함에 인터넷의 홈페이지 주소(즉, URL)가 코드이미지로 표시되어 있다면, 그 코드이미지를 컴퓨터로 디코딩 한 다음 그 컴퓨터 또는 그 컴퓨터에 연결된 서버 컴퓨터의 웹 브라우저(WEB browser)를 실행시켜 그 홈페이지로 접속하도록 프로그래밍될 수 있다. 또한, 인터넷의 전자우편 주소가 코드이미지로 표시되어 있는 경우라면, 그 코드이미지를 컴퓨터로 디코딩한 다음 그 컴퓨터의 메일링 소프트웨어(mailing software)를 실행시켜 그 전자우편 주소로 메일을 보낼 수 있는 환경을 제공할 수 있다. 다른 예로서, 코드이미지가 휴대용 단말기로 입력된 경우, 코드이미지에 대응하는 전화번호로 전화를 걸거나 지리정보 서비스를 제공받을 수 있다. 이 때, 이러한 자동 서비스 기능은 별도의 프로그램에 의하거나 디코딩 프로그램에서 목적정보의 종류에 따라 자동적으로 실행될 수 있도록 할 수 있다. 또한, 코드이미지 내에 별도의 이러한 명령어가 이미지로 표현된 제어영역(17)을 포함시켜, 그 제어영역(17)에서 디코딩된 제어정보를 이용하여 디코딩 프로그램에서 자동적으로 서비스하도록 실현할 수 있다.The user may be provided with various services according to the application by using the object information of the data area 11. For example, if a business card displays the homepage address (ie URL) of the Internet as a code image, decode the code image into a computer and then launch the WEB browser of that computer or a server computer connected to that computer. Can be programmed to access the home page. In addition, if the e-mail address of the Internet is displayed as a code image, an environment in which the code image can be decoded to a computer and then mailed to the e-mail address by executing mailing software of the computer. Can be provided. As another example, when a code image is input to a portable terminal, a phone number corresponding to the code image may be dialed or a geographic information service may be provided. At this time, the automatic service function may be automatically executed by a separate program or in accordance with the type of object information in the decoding program. In addition, it is possible to include a control region 17 represented by an image such that a separate command is included in the code image, so that it can be automatically serviced by the decoding program using the control information decoded in the control region 17.
또한 제어영역(17)에는 데이터영역의 목적정보를 제어하는 명령 또는 메타-데이터(meta-data) 등이 포함될 수 있다. 예를 들어, 제어영역(17)에 표시된 정보는 데이터영역(11)에 형성된 셀의 디코딩 순서, 또는 데이터영역(11)에 형성된 데이터셀의 색상의 판단기준이 되는 참조영역(15)의 참조셀의 위치, 패리티영역(13)의 위치나 속성 등 여러 가지 메타정보를 포함할 수 있다.In addition, the control area 17 may include a command or meta-data for controlling object information of the data area. For example, the information displayed in the control region 17 may be a reference cell of the reference region 15 that serves as a criterion for decoding the cells formed in the data region 11 or the color of the data cells formed in the data region 11. It may include various meta information, such as the position of, the position of the parity area 13, or the attribute.
도 1b-1e는 코드이미지에서 데이터영역과 보조영역(패리티영역, 참조영역 및/또는 제어영역)이 표현되는 상대적인 위치관계에 대한 예를 나타낸다. 도면에서 빗금친 영역은 보조영역을 표시하고 있다.1B-1E illustrate examples of relative positional relationships in which a data region and an auxiliary region (parity region, reference region, and / or control region) are represented in a code image. In the drawing, hatched areas indicate auxiliary areas.
도 2a는 네 가지 색으로 두 비트의 데이터를 나타낼 수 있는 예를 나타낸다.각 셀이 4가지의 색상 중 어느 하나를 가질 수 있다면 하나의 컬러셀로 2비트의 데이터를 표현할 수 있다. 그러면 연속된 4개의 셀들로 하나의 문자를 표시하도록 정의한다면 8비트, 즉 256가지의 문자를 표현할 수 있다. 한편, 동일한 컬러를 갖지만 셀이 가질 수 있는 형상의 종류를 네 가지(예: 작은 사각형, 큰 사각형, 작은 원, 큰 원)로 하면 두 비트의 데이터를 나타낼 수 있으며, 만일 각 셀 내부가 네 가지의 다른 컬러로 채워질 수 있다면 256가지(8비트)의 정보를 표현할 수 있다. 도 2b는 각종 문자(알파벳이나 특수문자 등)나 숫자 또는 모양 등을 이미지로 변환하는 코드변환표의 일 예를 나타내는 도면으로서, 하나의 문자가 두 개의 컬러셀로 매핑되는 예이다.2A shows an example in which two bits of data can be represented in four colors. If each cell can have any one of four colors, one color cell can represent two bits of data. Then, if it is defined to display one character as four consecutive cells, it can represent 8 bits, or 256 characters. On the other hand, if you have four types of shapes that have the same color but a cell can have (eg, small square, large square, small circle, large circle), two bits of data can be represented. If it can be filled with different colors, 256 (8 bits) of information can be represented. FIG. 2B is a diagram illustrating an example of a code conversion table for converting various characters (alphabet, special characters, etc.), numbers, or shapes into an image, in which one character is mapped to two color cells.
도 2b의 코드변환표를 이용한 인코딩 방법으로는, 각종 문자 등을 코드값으로 변환한 다음 각 코드값에 할당된 컬러(색채)로 코드이미지를 생성하는 것이다. 본 예에서는 8가지의 색을 이용하여 코드이미지를 생성하며, 하나의 문자나 숫자를 나타내기 위하여 연속된 두 셀을 사용한 예를 나타낸다. 8가지 색에 대해서는 "000"에서 "111"까지의 코드값이 할당되며, 각 문자는 두가지 색으로 인코딩된다. 예컨대, 숫자 "3"은 코드값 "000 011"로 할당되고, 코드값 "000"에 할당된 색(흑색)과 코드값 "011"에 할당된 색(시얀색)으로 인코딩되어, 흑색셀과 시얀색으로 연속된 두 셀로 이미지화된다. 도 2b에 도시된 코드변환표에 따라 목적정보에 포함된 각종 문자나 숫자를 코드값으로 변환한 다음 그 코드값에 대응되는 컬러를 사각형 셀들의 조합으로 된 사각 매트릭스 형태로 표현할 수 있다.In the encoding method using the code conversion table of Fig. 2B, various characters and the like are converted into code values, and then code images are generated with colors (colors) assigned to each code value. In this example, code images are generated using eight colors, and two consecutive cells are used to represent one letter or number. For eight colors, code values from "000" to "111" are assigned, and each character is encoded in two colors. For example, the number "3 " is assigned to the code value " 000 011 " and is encoded into the color (black) assigned to the code value " 000 " and the color (white) assigned to the code value " 011 " It is imaged as two cells in succession to cyan. According to the code conversion table shown in FIG. 2B, various characters or numbers included in the object information may be converted into code values, and then the color corresponding to the code values may be expressed in a rectangular matrix form of a combination of square cells.
도 2c는 본 발명에 따라 회색조 코드(greyscale code)를 이용하여 코드이미지를 생성하는 일 실시예를 나타낸다. 본 발명은 컬러 프린터와 스캐너를 이용하여 컬러로서 인코딩하고 디코딩할 수 있으나, 사용자의 용도 및 상황에 따라 회색조 코드(greyscale code), 즉 흑백의 농담를 이용하여 코드이미지를 생성할 수 있음을 나타낸다.2C illustrates an embodiment of generating a code image using greyscale code in accordance with the present invention. Although the present invention can be encoded and decoded as color using a color printer and a scanner, it is shown that a code image can be generated using grayscale code, that is, black and white shades according to a user's use and situation.
회색조 코드는 컬러를 이루는 R(Red), G(Green), B(Blue)의 혼합 비율 대신에 흑백의 밝기에 따라 코드를 형성하는 것이다. 따라서, 참조영역은 흑색, 백색 또는 회색 중 어느 하나가 기준농담으로 설정되고, 데이터영역에 있는 셀은 참조영역의 기준농담과 비교한 회색조 차이(grey difference)에 의해 코딩된 값을 가지게 된다. 참조영역이 코드이미지에 없으면, 코드이미지의 각 셀의 농담을 계산하고, 서로 비슷한 농담을 갖는 셀들(셀집합)을 모아서 동일한 셀집합에 속한 셀들에 대해 동일한 코드값을 부여한 다음 패리티영역을 이용하여 디코딩 오류여부를 판별할 수 있다. 만일 판별오류가 발생하면, 각 셀의 농담을 재계산하거나 셀집합을 형성하는 기준을 달리 설정한 다음 다시 오류여부를 판별한다. 이러한 회색조 코드이미지는 신문과 같이 주로 흑백으로 인쇄된 매체에 적용할 수 있다.Grayscale codes form codes according to the brightness of black and white instead of the mixing ratio of R (Red), G (Green), and B (Blue). Accordingly, the reference area is either black, white, or gray, which is set as the reference light, and the cell in the data area has a value coded by the gray difference compared to the reference light of the reference area. If the reference region is not in the code image, the shade of each cell of the code image is calculated, the cells having similar shades (cellset) are collected, the same code value is assigned to cells belonging to the same cellset, and then the parity region is used. Decoding error can be determined. If a discriminant error occurs, the color tone of each cell is recalculated or a criterion for forming a cell set is set differently, and then an error is again determined. This grayscale code image can be applied to a medium mainly printed in black and white, such as a newspaper.
도 2d 및 2e는 본 발명에 따라 코드이미지의 각 셀에 표시할 수 있는 패턴의 일 실시예를 설명하는 도면이다. 정보를 코드이미지로 변환함에 있어서 컬러 이외에 벡터 라인(vector line)을 이용하여 컬러셀에 패턴을 추가하는 방법을 채용할 수 있음을 보여준다. 도 2d에는 셀 내에 표시될 수 있는 4 방향 벡터라인과 8 방향 벡터라인을 도시한 일례이다. 만약, 4 방향 벡터 라인을 이용하는 경우 도 2e에 도시된 바와 같이 16 가지(4 비트)의 다른 패턴을 각 셀의 컬러에 덧붙일 수 있다. 따라서, 8 가지(3 비트)의 컬러를 사용하는 경우 코드이미지에는 128 종류(7 비트)의 문자를 표현할 수 있다. 또한, 셀을 가로, 세로 또는 대각선 방향으로 구분하여 색채 또는 농담을 다르게 표현하는 것도 가능하다.2D and 2E illustrate an embodiment of a pattern that can be displayed in each cell of a code image according to the present invention. In converting information into a code image, it is shown that a method of adding a pattern to a color cell using a vector line in addition to color can be employed. 2D illustrates an example of four-way and eight-way vector lines that may be displayed in a cell. If four-way vector lines are used, as shown in FIG. 2E, 16 different patterns (4 bits) may be added to the color of each cell. Therefore, when 8 colors (3 bits) are used, 128 types (7 bits) of characters can be represented in the code image. In addition, by dividing the cells in the horizontal, vertical or diagonal direction, it is possible to express colors or shades differently.
전술한 바와 같이, 본 발명에 실시예에 의한 이미지코드에서, 다양한 색상이나 농담 뿐만 아니라 형상이나 패턴 등을 서로 조합하여 데이터영역 및/또는 보조영역이 표현된다. 예를 들어, 하나 또는 몇가지 색상을 이용하면서 형상을 달리하거나 셀 내에 표현되는 패턴을 달리하여 다양한 정보를 표현할 수 있다.As described above, in the image code according to the embodiment of the present invention, not only various colors and shades but also shapes or patterns are combined with each other to express a data area and / or an auxiliary area. For example, various types of information may be expressed by changing shapes or by changing patterns represented in cells by using one or several colors.
도 11은 본 발명에 따른 코드이미지의 다양한 표현 예를 나타내는 도면이다. 도면에서, 셀의 모양을 사각형, 원형, 타원형, 십자형 또는 벌집형 등으로 다양하게 구현할 수 있으며, 하나의 이미지코드를 형성하면서 이들 모양들의 조합도 가능하다. 코드이미지에 표시할 정보의 내용이나 양에 따라 코드이미지의 또는 셀의 모양과 크기는 적절히 선택할 수 있다. 또한 도 11h는 바코드와 유사한 모양을 하면서도 본 발명의 인코딩방식을 적용할 수 있음을 나타낸다.11 is a diagram illustrating various expression examples of code images according to the present invention. In the drawing, the shape of the cell can be variously implemented in a square, circle, oval, cross, or honeycomb, etc., and combinations of these shapes can be made while forming one image code. Depending on the content or amount of information to be displayed in the code image, the shape and size of the code image or the cells can be selected as appropriate. In addition, Figure 11h shows that the encoding scheme of the present invention can be applied while having a shape similar to a barcode.
도 3a에서 3f는 사각 매트릭스 형 코드이미지인 경우에 도 1의 패리티영역(13)이 코드이미지 내에서 위치할 수 있는 다양한 예를 설명한다. 코드이미지의 모양이 원형이나 다른 모양을 하는 경우에도 본 예에서 설명한 바와 같은 구성을 응용 적용할 수 있다. 패리티영역(Pn)으로 표시된 영역 이외의 영역(Dn)은 데이터영역, 참조영역 또는 제어영역이다.3A to 3F illustrate various examples in which the parity region 13 of FIG. 1 may be located in the code image in the case of a rectangular matrix code image. Even when the code image has a circular or other shape, the configuration described in this example can be applied. An area Dn other than the area indicated by the parity area Pn is a data area, a reference area or a control area.
도 3a는 동일한 열(row)에 있는 셀들에 대한 패리티정보를 갖는 패리티셀들이 최우측 열에 표시된 예를 나타낸다. 예컨대, D11, D12, D13, D14 셀들에 대한패리티셀은 P1이다. 도 3b는 동일한 열에 있는 셀들에 대한 패리티정보를 갖는 패리티셀들이 대각선 방향으로 표시된 예를 나타낸다. 도 3c는 동일한 행(column)에 있는 셀들에 대한 패리티정보를 갖는 패리티셀들이 최하단 행에 표시된 예를 나타낸다. 도 3d는 동일한 행에 있는 셀들에 대한 패리티정보를 갖는 패리티셀들이 대각선 방향으로 표시된 예를 나타낸다.3A illustrates an example in which parity cells having parity information about cells in the same row are displayed in the rightmost column. For example, the parity cell for D11, D12, D13, and D14 cells is P1. 3B illustrates an example in which parity cells having parity information of cells in the same column are displayed in a diagonal direction. FIG. 3C illustrates an example in which parity cells having parity information of cells in the same column are displayed in a lowermost row. 3D illustrates an example in which parity cells having parity information of cells in the same row are displayed in a diagonal direction.
도 3e는 동일한 열(row)에 있는 셀들에 대한 패리티정보를 갖는 패리티셀들(P1r~P4r)이 최우측 열에 표시됨과 동시에 동일한 행(column)에 있는 셀들에 대한 패리티정보를 갖는 패리티셀들(P1c~P4c)이 최하단 행에 표시된 예를 나타낸다. 그리고, 열 패리티셀들과 행 패리티셀들에 대한 패리티정보를 갖는 추가의 패리티셀(Prc)를 포함한다. 도 3f는 도 3e와 마찬가지로 열 패리티셀들(P1r~P4r)과 행 패리티셀들(P1c~P4c)이 포함된 코드를 나타내는데, 여기서는 열 패리티셀들(P1r~P4r)이 대각선 방향으로 배열되어 있다. 한편, 행 패리티셀들(P1c~P4c)이 대각선 방향으로 배열될 수 있음은 물론이다.FIG. 3E illustrates parity cells P1r to P4r having parity information about cells in the same row and parity cells having parity information for cells in the same column while displaying parity cells P1r to P4r in the rightmost column. P1c to P4c) show an example shown in the bottom row. And an additional parity cell Prc having parity information for column parity cells and row parity cells. 3F illustrates a code including column parity cells P1r to P4r and row parity cells P1c to P4c similarly to FIG. 3E, where the column parity cells P1r to P4r are arranged in a diagonal direction. . The row parity cells P1c to P4c may be arranged in a diagonal direction.
다음으로, 패리티셀에 표시되는 컬러를 선정하는 방법의 한 예에 대하여 설명한다. 하나의 패리티셀은 동일 열 또는 동일 행에 놓여진 데이터셀들(물론 참조셀 및 제어셀도 포함될 수 있음)이 가지는 코드값들의 배타적 논리합(XOR) 연산 결과로 얻은 코드값을 갖는다. 코드이미지에 적용되는 색채나 농담의 가지수에 따라 여러 종류의 패리티 기법이 적용될 수 있다.Next, an example of a method of selecting the color displayed on the parity cell will be described. One parity cell has a code value obtained as a result of an exclusive OR operation of code values of data cells (which may also include a reference cell and a control cell) placed in the same column or the same row. Different types of parity techniques can be applied depending on the number of colors or tints applied to code images.
예를 들어,색채나 농담의 종류가 2가지라면 짝수패리티와 홀수패리티 방식을 사용할 수 있다. 짝수 패리티(even parity)방식을 사용할 경우에는 연산 결과 값이 곧 코드값이 되어 그 코드값에 해당하는 컬러로 패리티셀을 형성한다. 홀수 패리티(odd parity) 방식을 사용할 경우에는 연산 결과 값의 각 비트의 보수(complement; ~) 값이 구해지고 그 값에 해당하는 컬러로 패리티셀을 형성한다.For example, if there are two kinds of colors or shades, even parity and odd parity may be used. In the case of using an even parity method, an operation result value immediately becomes a code value to form a parity cell in a color corresponding to the code value. When using an odd parity scheme, a complement value of each bit of an operation result value is obtained, and a parity cell is formed in a color corresponding to the value.
만일 도 2a에 도시된 코드변환표를 이용하여 패리티셀에 표시될 컬러를 구하는 방법은 다음과 같다. 만일 데이터셀들(D11, D12, D13, D14)의 컬러가 검정, 빨강, 녹색, 녹색인 경우 그 코드값은 11, 10, 01, 01이 된다. (XOR = 배타적 논리합)If a color to be displayed on the parity cell using the code conversion table shown in Figure 2a is as follows. If the colors of the data cells D11, D12, D13, and D14 are black, red, green, and green, the code values are 11, 10, 01, 01. (XOR = exclusive OR)
짝수 패리티 방식Even parity method
11 XOR 10 XOR 01 XOR 01 = 01 (녹색)11 XOR 10 XOR 01 XOR 01 = 01 (green)
홀수 패리티 방식Odd parity scheme
11 XOR 10 XOR 01 XOR 01 = 01 -> ~01 = 10 (빨강)11 XOR 10 XOR 01 XOR 01 = 01-> to 01 = 10 (red)
그러나, 코드이미지에 사용된 색채나 농담의 가지수가 늘어나면 보다 다양한 패리티 방식 중 어느 하나를 적용할 수 있다. 4가지 종류의 색채나 농담을 사용한다면 사용가능한 패리티 방식은 4가지가 된다. 즉, 짝수패리티와 홀수패리티 이외에도 모듈러 패리티방식, 즉 짝수패리티 방식으로 구한 패리티 값에 2를 더한 후 4로 나눈 나머지 값을 패리티 값으로 정하는 짝수모듈러 패리티방식 및 홀수패리티 방식으로 구한 패리티 값에 2를 더한 후 4로 나눈 나머지 값을 패리티 값으로 정하는 홀수모듈러 패리티방식이 있다. 8가지 색채나 농담을 사용하는 경우에는 8가지의 패리티방식이 가능하다. 일반적으로, 코드이미지에 사용되는 색채나 농담이 N가지라고 할 때, 사용될 수 있는 패리티방식의 종류는 다음과 같다.However, if the number of colors or shades used in the code image increases, one of the various parity schemes may be applied. If you use four kinds of colors or shades, there are four possible parity methods. That is, in addition to even parity and odd parity, 2 is added to the parity value obtained by using the modular and parity values obtained by adding the parity value obtained by the even parity method. There is an odd modular parity method that adds the remainder divided by 4 to the parity value. If you use eight colors or shades, eight parity schemes are available. In general, when there are N colors or shades used in the code image, the types of parity methods that can be used are as follows.
("짝수패리티 방식으로 구한 패리티 값"+2 *i)%N,("Parity value obtained by the even parity method" +2 * i)% N,
("홀수패리티 방식으로 구한 패리티 값"+2 *i)%N,("Parity value obtained by odd parity" + 2 * i)% N,
여기서, i=0,1,2, .., log2N-1, N=2,4,8, .... %: 모듈러Where i = 0,1,2, .., log 2 N-1, N = 2,4,8, ....%: modular
위에서 든 예를 이용하여 상기 4가지의 패리티방식을 적용하면 다음과 같다.Using the above four examples, the four parity schemes are applied as follows.
짝수 패리티 방식Even parity method
11 XOR 10 XOR 01 XOR 01 = 01 (녹색)11 XOR 10 XOR 01 XOR 01 = 01 (green)
짝수 모듈러 패리티 방식Even Modular Parity Method
(012+102)%4 = 112(검정)(01 2 +10 2 )% 4 = 11 2 (black)
홀수 패리티 방식Odd parity scheme
11 XOR 10 XOR 01 XOR 01 = 01 -> ~01 = 10 (빨강)11 XOR 10 XOR 01 XOR 01 = 01-> to 01 = 10 (red)
홀수 모듈러 패리티 방식Odd Modular Parity
(~012+102)%4 = 002(파랑)(~ 01 2 +10 2 )% 4 = 00 2 (blue)
하나의 코드이미지에 복수의 패리티방식을 동시에 적용하여 그 적용된 패리티방식의 종류나 형태에 따라 코드의 종류나 디코딩방식 또는 셀을 읽는 방향 등을 판별하도록 할 수 있다. 한 예로서, 도 3e를 참조하면 각 행과 각 열에 대해서는 짝수패리티방식에 따라 행과 열의 마지막 셀들에 제1패리티를 표시한 다음 행 패리티와 열 패리티가 교차하는 위치에 있는 셀(Prc)에는 홀수패리티방식에 따라 제2패리티를 표시한다. 그러면, 디코딩과정에서 제1 및 제2 패리티셀들이 구해지면 그코드이미지에서 디코딩될 셀들의 순서를 알 수 있다. 또 다른 예로서, 도 3a,b,c를 참조하면 각 행 또는 열에 대해 서로 다른 패리티방식을 적용할 수 있다. 예컨대, 제1열에는 짝수패리티방식을 적용하고 그 나머지 열에는 홀수패리티방식을 적용할 수 있다. 그러면 디코딩시 짝수패리티방식이 적용된 열이 첫 번째 열이라는 것을 알 수 있다. 한편, 패리티값을 컬러나 농담으로 표현하는 대신에 형상, 패턴 또는 이들의 조합을 이용하여 표현할 수 있다. 예를 들어, 패리티값이 00이면 흰색 사각형, 01이면 검정색 사각형, 10이면 흰색 원형, 11은 검정색 원형으로 표시할 수 있다. 또한, 코드이미지에 적용된 패리티방식을 나타내는 정보가 표시된 셀(또는 영역)을 더 포함할 수 있다.By applying a plurality of parity methods to one code image at the same time, it is possible to determine the type of code, the decoding method, the direction of reading the cell, etc. according to the type or shape of the applied parity method. For example, referring to FIG. 3E, the first parity is indicated in the last cells of the row and the column according to the even parity method for each row and each column, and the odd number is present in the cell Prc at the position where the row parity and the column parity intersect. The second parity is indicated according to the parity method. Then, when the first and second parity cells are obtained in the decoding process, the order of the cells to be decoded in the code image may be known. As another example, referring to FIGS. 3A, B, and C, different parity schemes may be applied to each row or column. For example, an even parity scheme may be applied to the first column and an odd parity scheme may be applied to the remaining columns. Then, it can be seen that the column to which even parity is applied is the first column during decoding. On the other hand, instead of expressing the parity value in color or shade, it can be expressed using a shape, a pattern or a combination thereof. For example, if the parity value is 00, a white square may be displayed, a black square if 01, a white circle if 10, and a black circle 11 may be displayed. In addition, the display apparatus may further include a cell (or region) on which information indicating a parity scheme applied to the code image is displayed.
도 6은 본 발명의 일 실시예에 따라 문자등의 정보를 코드이미지로 인코딩하는 방법을 설명하기 위한 흐름도이다. 인코딩용 소프트웨어에 의하여 정보가 코드이미지로 변환되는 방법은 다음과 같다. 목적정보에 포함된 하나 이상의 문자 또는 숫자들은 도 2b에 도시된 것과 같은 소정의 코드변환표에 의하여 변환되어 소정의 형상, 색깔, 패턴 또는 이들의 조합으로 이루어진 코드이미지로 변환된다.6 is a flowchart illustrating a method of encoding information such as characters into a code image according to an embodiment of the present invention. The information is converted into a code image by the encoding software as follows. One or more letters or numbers included in the object information are converted by a predetermined code conversion table as shown in FIG. 2B and converted into code images having a predetermined shape, color, pattern, or a combination thereof.
먼저, 인코딩방식은 코드이미지로 인코딩되는 정보의 종류에 따라 직접 인코딩방식과 간접(또는 인덱스) 인코딩방식, 그리고 혼합 인코딩방식으로 나눌 수 있다. 직접 인코딩방식은 목적정보 자체를 코드변환표에 의하여 직접 인코딩하여 코드이미지를 생성하는 방식을 말한다. 간접 인코딩방식은 목적정보를 참조하기 위한 인덱스정보(예컨대, 데이터베이스의 주소나 레코드번호)를 코드변환표에 의하여 인코딩하여 이미지의 형태로 바꾸는 방식이다. 그리고, 이 둘의 방식을 혼합한 혼합 인코딩방식이 있다.First, the encoding method may be classified into a direct encoding method, an indirect (or index) encoding method, and a mixed encoding method according to the type of information encoded into the code image. The direct encoding method refers to a method of generating a code image by directly encoding object information by a code conversion table. Indirect encoding is a method of encoding the index information (for example, the address or record number of the database) for referencing the target information by using a code conversion table to convert the form into an image. There is a mixed encoding method in which the two methods are mixed.
직접 인코딩방식은 목적정보 자체를 코드이미지로 인코딩하는 것으로, 별도의 시스템 또는 별도의 기억장소를 필요로 하지 않지만 목적정보의 데이터 량이 많아지면 코드이미지의 물리적인 크기도 커지게 된다.The direct encoding method encodes the target information itself into a code image, and does not require a separate system or a separate storage location, but when the amount of data of the target information increases, the physical size of the code image also increases.
간접 인코딩방식은 목적정보 자체를 인코딩하지 않고 그 목적정보가 저장된 기억장소의 위치정보를 인코딩한다. 이러한 위치정보는 목적정보가 저장된 저장장소의 포인터(pointer)나 메모리 어드레스(memory address), 또는 목적정보의 위치를 알려 주는 URL이나 IP주소가 될 수 있다. 따라서, 간접 인코딩방식은 목적정보가 존재하는 별도의 시스템이나 기억장소를 필요로 한다.The indirect encoding method encodes the positional information of the storage location where the object information is stored without encoding the object information itself. The location information may be a pointer or a memory address of a storage location where the destination information is stored, or a URL or an IP address indicating the location of the destination information. Therefore, the indirect encoding method requires a separate system or storage location where the target information exists.
혼합 인코딩방식은 전체 목적정보 중 필수적인 일부 데이터는 직접 인코딩방식으로 인코딩하고, 그 밖의 데이터는 간접 인코딩방식으로 인코딩하는 방식이다. 예를 들어, 이름과 전화번호는 각 글자마다 인코딩하고, 우편주소나 전자우편주소와 같이 데이터량이 많은 데이터는 서버에 저장하고, 서버에 저장된 그 데이터의 메모리 어드레스를 인코딩하여 코드이미지를 생성한다. 또한, 이름과 같이 고정적인 데이터에 대해서는 직접 인코딩방식을 적용하고, 홈페이지 주소, 전화번호나 전자우편주소 등과 같이 수시로 변경될 수 있는 가변적인 정보에 대해서는 간접 인코딩방식을 적용하는 것이 바람직하다. 사용자는 자신의 인적사항이 변경되었을 때 서버의 데이터베이스에 그 변경사항을 등록하면, 사용자의 코드이미지가 표시된 명함을 받은 자는 이전에 받은 명함으로도 항상 최신의 정보를 접할 수 있다.In the mixed encoding method, some data essential for the entire purpose information is encoded by the direct encoding method, and other data is encoded by the indirect encoding method. For example, a name and a telephone number are encoded for each character, data having a large amount of data such as a postal address or an email address is stored in a server, and a code image is generated by encoding a memory address of the data stored in the server. In addition, it is preferable to apply a direct encoding scheme to fixed data such as a name, and to apply an indirect encoding scheme to variable information that may change from time to time, such as a homepage address, a telephone number, or an e-mail address. If a user registers the change in the database of the server when his / her personal information is changed, the person who receives the business card displaying the user's code image can always access the latest information even with the previously received business card.
도 4는 본 발명에 따른 인코딩방법에서 간접 인코딩방식을 적용하는 경우에필요한 인덱스정보를 저장하는 데이터베이스의 구조의 일 실시예를 설명하는 도면이며, 도 5는 코드이미지로부터 독출된 인덱스정보를 이용하여 목적정보를 획득하는 과정을 설명하기 위한 도면이다. 도 5에서, 도 4와 같은 인덱스 데이터베이스(51)와 함께 각 인덱스정보에 따른 실제의 목적정보를 액세스할 수 있는 포인터정보가 저장된 서비스포인터 데이터베이스(52)가 구비된다. 포인터정보는 메시지, 이미지나 동영상 등과 같은 실제의 목적정보(53)가 저장된 위치를 가리키는 정보이다.4 is a view for explaining an embodiment of a structure of a database that stores index information required when applying an indirect encoding method in the encoding method according to the present invention. FIG. 5 is a diagram illustrating index information read from a code image. A diagram for describing a process of obtaining objective information. In FIG. 5, together with the index database 51 as shown in FIG. 4, a service pointer database 52 in which pointer information for accessing actual object information according to each index information is stored is provided. The pointer information is information indicating a location where the actual purpose information 53 such as a message, an image or a video is stored.
실제의 목적정보(내용) 별로 각각 고유의 인덱스를 할당하고, 그 목적정보에 해당하는 서비스 코드와 오프셋을 설정하여 함께 저장한다. 여기서, 목적정보는 사용자가 궁긍적으로 이용할 수 있는 최종 정보로서, 웹사이트 주소, 전자우편주소, 메시지, 이미지, 동영상, 음악 등 다양한 정보를 포함한다. 서비스 코드는 서비스 종류별로 지정된 코드로서, 예컨대 웹 접속서비스는 "1", 전화 호출서비스는 "2" 등으로 코드화할 수 있다. 오프셋은 서비스포인터 데이터베이스(52)를 억세스할 위치에 대한 정보이다. 예를 들어, 코드이미지로부터 인덱스정보가 독출되면 인덱스 데이터베이스(51)를 검색하여 그 인덱스에 대한 서비스코드, 오프셋, 목적정보 등을 추출한다. 오프셋에 따라 서비스포인터 데이터베이스(52)에 저장된 포인터정보를 찾는다. 포인터정보에 따라 미리 설정해 둔 메시지나 그림파일에 대한 위치를 찾아 그 내용을 사용자에게 제공한다. 예로서, 코드이미지를 디코딩하여 얻은 목적데이터를 이용하여 제1데이터베이스에서 서비스종류 코드를, 제2데이터베이스에서 위치정보를 획득한다. 위치정보에 따라 목적정보를 획득한 다음 그 목적정보를 이용하여 서비스종류 코드에 의하여 정해진 서비스, 예를 들어 메시지 서비스, 동영상 서비스, 웹 페이지 접속 서비스, 전화 서비스, 전자우편 서비스 등이 제공된다.A unique index is allocated for each actual purpose information (content), and a service code and an offset corresponding to the purpose information are set and stored together. Here, the purpose information is the final information that the user can ultimately use, and includes various information such as a website address, an email address, a message, an image, a video, and music. The service code is a code designated for each service type, for example, the web access service may be coded as "1", the telephone call service as "2", and the like. The offset is information about the location to access the service pointer database 52. For example, when index information is read from the code image, the index database 51 is searched to extract a service code, an offset, and objective information about the index. The pointer information stored in the service pointer database 52 is found according to the offset. Based on the pointer information, find the location of the preset message or picture file and provide the contents to the user. For example, the service type code is acquired in the first database and the location information is obtained in the second database using the object data obtained by decoding the code image. After the purpose information is acquired according to the location information, a service determined by a service type code, for example, a message service, a video service, a web page access service, a telephone service, an e-mail service, etc. is provided using the purpose information.
도 6을 참조하여 인코딩과정에 대하여 설명한다. 숫자, 기호를 포함한 인식가능한 각 문자에 대응하여 색채(color) 또는 농담(필요하다면, 형상 또는 패턴)이 매핑된 코드변환표를 설정한다(61). 코드변환표의 예는 도 2b에 도시되어 있으며, 셀의 형상이나 벡터라인과 같은 패턴(도 2e 참조)을 매핑방법에 적용할 수 있다.An encoding process will be described with reference to FIG. 6. A code conversion table in which color or shade (if necessary, shape or pattern) is mapped is set corresponding to each recognizable character including numbers and symbols (61). An example of the code conversion table is shown in FIG. 2B, and a pattern (see FIG. 2E) such as a cell shape or a vector line may be applied to the mapping method.
사용자는 코드이미지로 변환할 목적정보를 입력한다(62). 사용자는, 예컨대, 명함에 표시될 인적사항을 코드이미지로 인코딩하기 위하여, 이름, 소속, 전화번호, 팩스번호 등을 입력한다. 서버에서는 사용자가 입력한 정보를 데이터베이스나 파일에 저장해 두는 것이 보통이다.The user inputs object information to be converted into a code image (62). The user inputs a name, affiliation, telephone number, fax number, etc., for example, in order to encode personal information to be displayed on a business card into a code image. Servers usually store user-entered information in a database or file.
다음으로, 목적정보를 직접 인코딩하는 직접인코딩방식을 적용할 것인지, 아니면 목적정보가 데이터베이스에 저장된 위치정보를 인코딩하는 간접인코딩방식을 적용할 것인지를 결정한다(63). 만일 직접인코딩방식을 적용하는 경우이면 목적정보 자체를 인코딩 대상의 목적데이터로 설정하고(64b), 간접인코딩방식을 적용하는 경우이면 목적정보에 대한 위치정보를 인코딩 대상의 목적데이터로 설정한다(64a). 예를 들어, 사용자가 입력한 인적사항(목적정보) 자체를 인코딩하면 직접인코딩방식이 되고, 그 인적사항이 서버에 저장된 데이터베이스의 주소나 그 주소와 관련된 인덱스를 인코딩하면 간접인코딩방식이 된다. 또한, 이름에 대해서는 직접 인코딩방식을 적용하고 나머지 인적사항은 간접 인코딩방식을 적용하는, 혼합 인코딩방식을 적용할 수 있다.Next, it is determined whether a direct encoding method for directly encoding the object information is applied or whether an indirect encoding method for encoding the position information stored in the database is applied (63). If the direct encoding method is applied, the object information itself is set as the object data to be encoded (64b), and if the indirect encoding method is applied, the position information of the object information is set as the object data to be encoded (64a). ). For example, encoding the personal information (object information) input by the user is a direct encoding method, and when the personal information is encoded an address of a database stored in a server or an index related to the address, an indirect encoding method is used. In addition, a mixed encoding scheme may be applied in which a direct encoding scheme is applied to a name and an indirect encoding scheme is applied to the remaining personal information.
목적데이터를 코드변환표에 의하여 인코딩한다(65). 그러면, 목적데이터에 포함된 문자나 숫자 등에 대응하는 코드값을 구하고, 그 코드값에 의해 정해지는 색채나 농담에 의하여 데이터셀에 표시될 이미지가 결정되고, 목적데이터의 문자등이 배열된 순서(또는 정해진 방식)에 따라 이미지화된 데이터셀들을 배열하여 데이터영역을 완성한다. 목적데이터의 인코딩이 끝나면, 패리티정보, 참조정보 및 제어영역 중 적어도 하나를 코드이미지에 표시될 보조정보의 종류로서 결정한다(66). 또한, 보조정보의 표시방식, 예컨대 패리티방식을 선택한다.The target data is encoded by the code conversion table (65). Then, a code value corresponding to a character, a number, or the like included in the object data is obtained, and the image to be displayed in the data cell is determined by the color or tint determined by the code value, and the order of characters in the object data is arranged ( Or arranged in accordance with a predetermined method) to complete the data area. After encoding of the object data, at least one of the parity information, the reference information, and the control area is determined as the type of auxiliary information to be displayed on the code image (66). In addition, a display method of auxiliary information, for example, a parity method, is selected.
한편, 만일 보조영역에 참조영역이 표시되는 경우이면, 데이터영역의 데이터셀들에 표시된 색채 또는 농담의 해석 기준을 제공하기 위한 기준색채 또는 기준농담을 정하고, 이들이 표시될 참조셀의 형상이나 위치 또는 배열을 정하여, 참조영역을 더 설정할 수 있다. 또한, 데이터영역에 포함된 목적정보를 이용하여 사용할 수 있는 명령이나 서비스에 관한 사항을 설정한 제어정보를 인코딩한 제어영역을 더 설정할 수 있다.On the other hand, if the reference area is displayed in the auxiliary area, a reference color or reference joke is determined to provide an interpretation criterion of the color or tint displayed on the data cells of the data area, and the shape or position of the reference cell to be displayed or By defining an array, you can set up more reference areas. In addition, a control region encoded with control information that sets a command or service item that can be used using the purpose information included in the data region may be further set.
다음으로, 만일 보조영역에 패리티영역이 표시되는 경우이면, 데이터영역 등에 표시된 컬러나 농담(필요하다면, 형상이나 패턴)의 코드값을 이용하여 인코딩 과정에서 설정된 패리티방식에 따라 패리티값을 구하고 그 패리티값에 대응하는 컬러나 농담(필요하다면, 형상이나 패턴)을 설정하여 이를 패리티데이터로 생성한다(66). 이 때, 패리티셀이 위치할 영역을 결정한다 (도 1, 3a-3f 참조).Next, if the parity area is displayed in the auxiliary area, the parity value is obtained according to the parity method set in the encoding process by using the code value of the color or shade (if necessary, shape or pattern) displayed on the data area. A color or shade (or shape or pattern, if necessary) corresponding to the value is set and generated as parity data (66). At this time, the region where the parity cell is to be determined is determined (see FIGS. 1 and 3A-3F).
데이터영역 및 보조영역이 설정되면, 코드이미지가 표시되는 모양, 각 영역의 상대적인 위치 및 크기, 단위 셀의 크기를 포함하여, 코드이미지의 레이아웃을 설정한다. 정해진 레이아웃에 따라 데이터영역 및 보조영역으로 이루어진 코드이미지를 생성한다(67). 코드이미지는 프로그램의 알고리즘에 의하여 자동적으로 출력하거나, 또는 코드 변환체계에 따라 그래픽 에디터나 수작업으로 제작할 수도 있다. 이와 같이 생성된 코드이미지는 소정 매체에 표시되거나 이미지 파일로 저장된다.When the data area and the auxiliary area are set, the layout of the code image is set including the shape in which the code image is displayed, the relative position and size of each area, and the size of the unit cell. A code image consisting of a data area and an auxiliary area is generated according to a predetermined layout (67). Code images can be automatically output by the program's algorithms, or they can be created by a graphical editor or by hand, depending on the code conversion scheme. The generated code image is displayed on a predetermined medium or stored as an image file.
도 7은 본 발명에 따른 인코딩 방법을 실시하기 위한 시스템을 나타내는 도면으로, 컴퓨터(77)는 목적정보를 입력받아 상술한 바와 같은 인코딩방법에 의하여 코드이미지를 생성하고, 프린터(78)로 코드이미지를 프린팅하여 이를 명함과 같은 매체(79a)에 물리적으로 표시하거나 이미지 파일의 형태의 코드이미지 파일(79b)로 제공될 수 있다. 여기서, 코드이미지가 표시될 매체는 명함, 상품의 겉면 또는 잡지의 광고면 등 소정의 정보를 표시하기 위한 모든 매체를 포함한다. 또한, 코드이미지가 모니터와 같은 표시장치(display device)로 출력될 수 있고, 컴퓨터 파일로 저장될 수도 있으며, 통신 선로 상에 전기적인 신호로 전송될 수도 있다.7 is a diagram showing a system for implementing an encoding method according to the present invention. The computer 77 receives input information and generates a code image by the encoding method as described above, and generates a code image by the printer 78. May be physically displayed on a medium 79a such as a business card or provided as a code image file 79b in the form of an image file. Here, the media on which the code image is to be displayed includes all media for displaying predetermined information such as a business card, an outer surface of a product, or an advertisement surface of a magazine. In addition, the code image may be output to a display device such as a monitor, may be stored in a computer file, or may be transmitted as an electrical signal on a communication line.
도 8a는 본 발명의 일 실시예에 따라 코드이미지로부터 문자등으로 된 원래의 목적정보를 추출하는 디코딩방법을 설명하기 위한 흐름도이다. 본 발명의 코드이미지를 디코딩하려면, 도 9에 도시된 것과 같이 코드이미지(91a)를 읽기 위한 스캐너, 디지털 카메라, CCD 카메라, 센서, 팩스 등과 같은 화상입력장치(92)를 구비하거나 컴퓨터(93)에서 직접 이용할 수 있는 코드이미지 파일(91b) 형태로 제공될 수 있다. 그리고, 코드이미지를 디코딩하기 위한 프로그램이 수행되는 컴퓨터 시스템(개인용 컴퓨터 또는 개인용 컴퓨터에 연결된 서버 컴퓨터)(93)이 갖추어져야 한다.8A is a flowchart illustrating a decoding method of extracting original object information, such as characters, from a code image according to an embodiment of the present invention. To decode the code image of the present invention, as shown in FIG. 9, an image input device 92 such as a scanner, a digital camera, a CCD camera, a sensor, a fax, etc. for reading the code image 91a or a computer 93 is provided. It can be provided in the form of a code image file 91b that can be used directly from. Then, a computer system (a personal computer or a server computer connected to the personal computer) 93 on which a program for decoding the code image is to be executed must be equipped.
먼저, 데이터영역과 보조영역으로 형성된 코드이미지를 사용자 컴퓨터로 입력한다(80). 사용자 컴퓨터는 화상입력장치를 사용하여 매체에 표시된 코드이미지(91a)를 직접 입력받을 수 있고, 이미 만들어져 있는 이미지 파일(91b)을 디스크나 버퍼 등의 저장장치를 통해 메모리에 로딩할 수도 있다. 만일 간접 인코딩방식에 의한 코드이미지라면 인덱스정보가 저장된 저장장치를 구비한 서버와 연결되거나 사용자 컴퓨터 자체에 그러한 저장장치를 구비하고 있어야 한다.First, a code image formed of a data area and an auxiliary area is input to a user computer (80). The user computer can directly receive the code image 91a displayed on the medium using the image input device, and can load the image file 91b that has already been created into the memory through a storage device such as a disk or a buffer. If the code image is an indirect encoding method, it must be connected to a server having a storage device for storing the index information or provided on the user computer itself.
화상입력장치에 의하여 입력된 이미지는 이미 설정된 매개변수들을 이용하여 이미지 처리를 한 다음 코드이미지를 추출한다. 이는 경계선 추출(edge detection) 방법이나 영역 추출에 의한 잡영제거(noise image rejection) 방법을 적용할 수 있다. 스캐너의 동작상태 혹은 코드이미지가 매체에 인쇄된 위치에 따라 코드이미지가 비뚤어지거나 기울어지게 읽혀질 때가 있다. 이러한 경우, 코드이미지가 잘못 디코딩될 수 있으므로 코드이미지의 위치 혹은 방향을 바르게 보정한다(81). 보정과정을 수행하지 않더라도, 기울어진 상태를 고려하여 각 셀의 위치를 파악할 수 있다.The image inputted by the image input device is subjected to image processing using already set parameters, and then extracts the code image. This may be applied to edge detection or noise image rejection by region extraction. Depending on the operating state of the scanner or the position where the code image is printed on the media, the code image may be read skewed or skewed. In this case, since the code image may be decoded erroneously, the position or direction of the code image is correctly corrected (81). Even if the correction process is not performed, the position of each cell can be determined by considering the inclined state.
각 영역 사이에 설정된 경계영역의 정보를 이용하거나 특정 정보가 담긴 셀의 정보 등을 이용하여, 코드이미지로부터 데이터영역 및 보조영역(패리티영역, 참조영역 및/또는 제어영역)을 구분하여 식별한다(82). 만일 참조영역이 있으면, 이를 이용하여 각 셀에 표현된 색채, 농담, 형상, 패턴을 판별하고, 패리티영역이 있으면 데이터셀의 오류 여부를 판별한다.The data area and the auxiliary area (parity area, reference area and / or control area) are distinguished from the code image by using information of the boundary area set between each area or information of a cell containing specific information. 82). If there is a reference area, it is used to determine the color, shade, shape, and pattern expressed in each cell. If there is a parity area, it is determined whether an error occurs in the data cell.
컴퓨터에 의하여 코드이미지가 인식되면 그로부터 원래의 정보를 추출하는 디코딩과정이 수행된다. 디코딩이란 코드이미지로부터 코드변환표에서 정의된 바에 따라 원래의 정보들을 찾아내는 것이다. 디코딩 방식은 정보가 인코딩된 방식에 따라 직접 디코딩 방식과 간접 디코딩 방식이 있다. 직접 디코딩 방식에서는 코드이미지를 디코딩하면 이름이나 주소와 같은 실제의 목적정보가 바로 추출된다. 간접 디코딩방식에서는 디코딩된 결과물이 이름이나 주소와 같은 실제 목적정보가 저장된 데이터베이스를 억세스하기 위한 키값인 인덱스정보를 가지고 있다.When the code image is recognized by the computer, a decoding process of extracting original information therefrom is performed. Decoding involves finding the original information from the code image as defined in the code conversion table. Decoding methods include a direct decoding method and an indirect decoding method according to a method of encoding information. In the direct decoding method, when the code image is decoded, actual object information such as name or address is extracted immediately. In the indirect decoding method, the decoded result has index information, which is a key value for accessing a database storing actual object information such as a name and an address.
디코딩 과정에서는 코드이미지에 포함된 모양, 컬러, 패턴, 문자를 찾아내는 과정이 필요하며, 이외에도 왜곡된 이미지를 보정하는 과정이 요구된다. 여기서, RGB(Red, Green, Blue) 모델, HSV(Hue angle, Saturation, Value) 모델, CMY(Cyan, Magenta, Yellow) 모델, HLS(Hue angle, Lightness, Saturation) 모델 중 한가지 이상의 방법을 사용하여 컬러 판별이 가능하다.In the decoding process, it is necessary to find out the shapes, colors, patterns, and characters included in the code image, and to correct the distorted image. Here, using at least one method of RGB (Red, Green, Blue) model, HSV (Hue angle, Saturation, Value) model, CMY (Cyan, Magenta, Yellow) model, HLS (Hue angle, Lightness, Saturation) model Color discrimination is possible.
디코딩을 위하여 데이터영역 및/또는 보조영역에 있는 각 셀들의 코드값을 추출한다(83). 만일 참조영역이 있으면, 참조셀의 색채 또는 농담 등을 검출하여, 데이터영역을 포함한 모든 영역의 정보를 해석하는 기준이 되는 기준색채(또는 농담), 기준형상 또는 기준패턴으로 삼는다. 데이터영역, 패리티영역 또는 제어영역에 있는 셀들의 색채, 형상 및 패턴을 검출한 다음 기준색채, 기준형상 및/또는 기준패턴과의 차이를 검출하여 각 셀들에 대한 코드값으로 변환한다. 만일 참조영역이 없다면 화상입력장치에 의하여 판독된 색상이나 농담, 형상 및/또는 패턴에 따라 각 셀들에 대응하는 코드값을 얻을 수 있다.For decoding, the code values of the cells in the data area and / or the auxiliary area are extracted (83). If there is a reference area, the color or shade of the reference cell is detected and used as the reference color (or shade), the reference shape or the reference pattern which is a reference for analyzing the information of all the areas including the data area. Colors, shapes, and patterns of cells in the data area, parity area, or control area are detected, and then differences between the reference color, reference shape, and / or reference pattern are detected and converted into code values for each cell. If there is no reference area, a code value corresponding to each cell can be obtained according to the color, shade, shape and / or pattern read by the image input apparatus.
패리티영역이 있으면, 패리티영역으로부터 구한 코드값, 즉 패리티데이터에 의하여 코드이미지의 각 열과 행에 대한 패리티의 오류 여부를 검사하는 과정을 수행한다(84). 이에 대해서는 도 8b를 통하여 후술한다. 필요하다면, 패리티데이터를 근거로 코드이미지의 방향이나 위치를 탐색할 수 있다.If there is a parity region, a process of checking whether there is an error in parity for each column and row of the code image is performed based on a code value obtained from the parity region, that is, parity data (84). This will be described later with reference to FIG. 8B. If necessary, the direction or position of the code image can be searched based on the parity data.
상술한 과정에 의하여 구한 각 셀들의 코드값이 코드변환표(도 2b 참조)에 의하여 숫자, 기호를 포함하는 인식가능한 문자로 된 목적데이터로 변환된다(85). 단계 85에서 구한 목적데이터는 인코딩방식에 따라 그 내용이 결정된다(86). 만약 코드이미지가 간접 인코딩방식에 의해 인코딩된 것이라면, 즉 목적데이터가 인덱스정보이면, 디코딩에 의하여 얻은 목적데이터는 목적정보가 저장된 기억장소의 어드레스 혹은 포인터에 해당하므로, 목적데이터에 의하여 정해진 기억장치(데이터베이스)의 위치에 저장된 목적정보를 추출한다(87a). 목적데이터가 인덱스정보가 아니면, 디코딩에 의하여 얻은 목적데이터가 곧 원하는 목적정보가 된다(87b).The code values of the cells obtained by the above-described process are converted into object data of recognizable characters including numbers and symbols by the code conversion table (see FIG. 2B). The content of the object data obtained in step 85 is determined according to an encoding method (86). If the code image is encoded by an indirect encoding method, that is, if the object data is index information, the object data obtained by decoding corresponds to an address or a pointer of a storage location in which the object information is stored, and thus the storage device defined by the object data ( The target information stored in the location of the database) is extracted (87a). If the object data is not index information, the object data obtained by decoding soon becomes desired object information (87b).
만일 코드이미지에 목적정보를 이용하여 사용할 수 있는 명령이나 서비스에 관한 사항을 설정한 제어영역이 있으면(88), 제어영역에서 설정된 정보에 따라 명령이나 서비스를 제공하고(89a), 그렇지 않으면 프로그램에서 지정된 기본 서비스를 제공한다(89b).If there is a control area in the code image that sets the details of the command or service that can be used by using the objective information (88), the command or service is provided according to the information set in the control area (89a). Provide the specified basic service (89b).
도 8b는 도 8a의 단계 80의 상세 흐름도로서, 단계 84에서 추출된 코드값을 근거로 패리티를 검사하고 그 검사 결과에 따라 컬러를 보정하는 과정을 설명하는 도면이다. 먼저, 컬러 판독을 위한 매개변수를 설정한다(841). 매개변수는 RGB모델의 R,G,B 또는 HSV 모델의 H,S,V 또는 이들의 조합으로 설정할 수 있으며, 코드이미지가 읽혀진 환경을 고려하여 코드이미지로부터 인식된 컬러나 농담의 코드값을 정규화하기 위하여 설정된다. 이 때 매개변수로는 R, V, S 값, 즉 RGB 모델에서 구한 R값, HSV 모델에서 구한 V값, S값이 이용될 수 있다. 일반적으로, 형광등이나 3파장 램프 조명과 같이 통상적으로 가장 널리 사용되는 조명 환경에 적합하도록 초기 환경 매개변수가 설정된다. 또는 카메라로 코드이미지를 입력하기 전에 백색 종이를 배경으로 먼저 한 번 촬영하여 그 주위의 조명 환경에 따라 매개변수를 설정하는 것이 바람직하다. 예를 들어, 할로겐램프 조명하에서는 붉은 빛이 상대적으로 강하므로 할로겐 램프에 의한 붉은 빛의 영향을 제거할 수 있도록 매개변수를 설정한다. 그 다음, 실제로 읽혀진 컬러를 매개변수에 의하여 정규화하면 조명에 의한 영향을 줄이고 원래의 컬러에 가까운 컬러를 얻을 수 있다.FIG. 8B is a detailed flowchart of step 80 of FIG. 8A, which illustrates a process of checking parity based on the code value extracted in step 84 and correcting color according to the inspection result. First, a parameter for color reading is set (841). The parameter can be set to R, G, B of RGB model or H, S, V of HSV model, or a combination thereof, and normalizes the code value of color or shade recognized from code image in consideration of the environment where code image is read. Is set to. In this case, R, V, and S values, that is, R values obtained from an RGB model, V values obtained from an HSV model, and S values may be used. In general, initial environmental parameters are set to suit the most commonly used lighting environment, such as fluorescent or three wavelength lamp lighting. Alternatively, before entering the code image with the camera, it is preferable to first photograph the white paper against the background and set the parameters according to the lighting environment around it. For example, under halogen lamp lighting, red light is relatively strong, so set the parameter to eliminate the effect of red light caused by halogen lamps. Then, normalizing the color actually read by the parameter can reduce the influence of illumination and obtain a color close to the original color.
그 다음, 매개변수 R, V, S에 근거하여 코드이미지에서 독출한 컬러의 RGB값을 정규화한다(842). 정규화된 RGB값에 따른 컬러에 대응하는 코드값을 코드변환표에 의하여 구한다(843). 데이터영역 및 또는 보조영역에 표시된 각 행 및/또는 열에 있는 셀들의 코드값에 따라 패리티 값을 계산한다(844). 계산된 패리티값은 데이터영역의 각 행과 열에 대하여 설정된 패리티셀의 패리티데이터와 비교하여 패리티 오류 여부를 판단한다(845). 이 과정에서, 만일 코드이미지에 복수의 패리티방식이 적용된 경우이면 패리티 검사 뿐만 아니라 코드이미지에 포함된 셀에 대한 디코딩 순서 등도 쉽게 검출할 수 있다.Then, based on the parameters R, V, and S, the RGB values of the colors read from the code image are normalized (842). A code value corresponding to a color according to a normalized RGB value is obtained by a code conversion table (843). The parity value is calculated according to a code value of cells in each row and / or column displayed in the data area and / or the auxiliary area (844). The calculated parity value is compared with the parity data of the parity cell set for each row and column of the data area to determine whether there is a parity error (845). In this process, if a plurality of parity schemes are applied to the code image, not only parity check but also a decoding order of cells included in the code image may be easily detected.
만일 행 또는 열에 패리티 오류가 발생하면, 새로운 환경 매개변수를설정(846)하여 컬러 정규화 단계부터 다시 수행한다. 빈도수가 높은 조명환경에 최적화된 매개변수들 및 그에 대한 가중치를 미리 설정하여 디코딩 프로그램 내에 또는 데이터베이스에 저장해 두고, 사용자가 자신의 환경에 가장 알맞는 환경 매개변수를 선택하도록 할 수 있다. 패리티 오류가 발생하였다는 것은 현재 설정된 매개변수에 의한 컬러의 해독에 오류가 있다고 간주할 수 있으므로, 이런 경우 다른 매개변수를 적용하여 다시 컬러를 판독하게 하는 것이다.If a parity error occurs in a row or column, the new environment parameter is set 846 to perform again from the color normalization step. Parameters optimized for a high frequency lighting environment and weights thereof may be preset and stored in a decoding program or in a database so that the user may select an environment parameter that is most suitable for his environment. The occurrence of a parity error can be considered to be an error in the decoding of the color by the currently set parameter, in which case the other parameters are applied to read the color again.
매개변수 데이터베이스에는 입력광학장치의 광학 특성 및 주변 조명상황 등을 분석하여 입력광학장치에 의하여 읽혀진 컬러를 원래의 컬러로 보정하거나 코드이미지를 배경과 구분할 수 있도록 실험적으로 매개변수가 설정되어, 기기나 환경의 영향을 배제하고 오차없이 컬러를 인식할 수 있게 한다. 또한, 서로 다른 목적을 갖는 둘 이상의 매개변수 그룹을 형성할 수 있다. 다시 말하면, 하나는 코드이미지를 배경과 분리하기 위한 매개변수이고, 다른 하나는 배경으로부터 분리된 코드이미지의 색채나 농담 등을 판별하기 위한 매개변수로 설정할 수 있다. 예를 들면, 붉은 조명의 환경에서 RGB 모델을 기반으로 컬러를 판별할 때 R값이 상대적으로 높게 나타나므로 광학장치에서 판독한 R 값을 소정의 가중치에 따라 감소시켜서 환경에 의한 영향을 배제시킨다. 또한 밝은 조명의 환경에서 입력된 코드이미지는 HSV 모델을 기반으로 흑백을 구별할 때 V값의 가중치를 증가시켜 컬러를 판별한다. 또한 어두운 조명의 환경에서는 HSV 모델에서 흑백과 이를 제외한 컬러를 구별하는 V값의 가중치를 감소시키고 S값의 가중치도 감소시켜서 컬러를 판별한다. 또한, 매개변수를 재설정함에 있어서, 광학장치에 의하여 코드이미지의 각 셀들에 대하여얻은 R, G, B, H, S 및/또는 V값의 분포를 파악하고, 그 분포를 참조하여 매개변수 및 그에 대한 가중치를 재설정할 수 있다.In the parameter database, the parameters are set experimentally to analyze the optical characteristics of the input optical device and ambient lighting conditions so that the color read by the input optical device can be corrected to the original color or to distinguish the code image from the background. It eliminates the influence of the environment and enables color recognition without error. It is also possible to form two or more parameter groups with different purposes. In other words, one parameter may be set to separate the code image from the background, and the other parameter may be set to determine the color or tint of the code image separated from the background. For example, when a color is determined based on an RGB model in a red-lighted environment, the R value is relatively high, so that the R value read by the optical device is reduced according to a predetermined weight to exclude the influence of the environment. In addition, the code image input in the brightly lit environment increases the weight of the V value to distinguish the color based on the HSV model. In the dark lighting environment, the color of the HSV model is determined by reducing the weight of the V value distinguishing black and white from the color, and reducing the weight of the S value. Also, in resetting the parameter, the optical device grasps the distribution of R, G, B, H, S and / or V values obtained for each cell of the code image, and refers to the parameter and You can reset the weight for.
한편, 상술한 바와 같은 디코딩과정에서 만일 계속하여 코드이미지에 대한 판독에러가 발생되는 경우에는 코드이미지에 표시된 색상 등에 따라 사용자가 코드변환표를 참조하여 직접 목적데이터를 입력하도록 할 수 있다. 그러면, 그 목적데이터에 따라 서비스가 제공된다.On the other hand, in the decoding process as described above, if a read error occurs for the code image continuously, the user can directly input the target data with reference to the code conversion table according to the color displayed on the code image. Then, the service is provided according to the purpose data.
도 10은 본 발명에 따른 코드이미지가 인쇄된 광고지의 일 례를 도시한 것이다. 도 10의 광고지를 보는 사용자는 코드이미지(도면의 좌우측 하단에 표시된 사각 매트릭스형 이미지)를 PC 카메라나 스캐너와 같은 광학장치로 스캔(또는 촬영)함으로써, 코드이미지에 해당하는 정보를 얻을 수 있다.10 illustrates an example of a handbill in which a code image is printed according to the present invention. A user viewing the handbill of FIG. 10 may obtain (or capture) information corresponding to a code image by scanning (or photographing) a code image (a rectangular matrix image displayed at the lower left and right sides of the drawing) with an optical device such as a PC camera or a scanner.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플라피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터네을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
상술한 바와 같이, 본 발명에 따른 코드이미지는 패리티 검사를 위한 패리티영역을 포함하고 있으므로, 카메라 입력장치의 차이 혹은 조명조건과 같은 환경의 차이로 인한 컬러의 오인식을 쉽게 검출하고 이를 교정할 수 있는 효과가 있다. 따라서 본 발명의 코드이미지를 이용하여 보다 효율적인 디코딩방법과 디코딩장치를 구현할 수 있다.As described above, since the code image according to the present invention includes a parity region for parity check, it is possible to easily detect and correct color recognition due to a difference in environment such as a camera input device or an illumination condition. It works. Therefore, a more efficient decoding method and decoding apparatus can be implemented using the code image of the present invention.
본 발명에 따르면 코드변환표에 따라 목적정보와 함께 패리티정보도 코드이미지로 인코딩하고, 그러한 인코딩된 코드이미지를 디코딩하는데 있어서 패리티 검사를 수행하고 패리티 검사 오류 발생시 환경 매개변수를 적절히 적용함으로써 컬러를 정확하게 인식해 낼 수 있다. 특히 본 발명은 일반 형광등 조명 하에서의 정상적 밝기의 환경, 비교적 어둡거나 밝은 환경, 그리고 할로겐등 조명 하에서와 같이 붉은 빛이 강한 환경 등에서도 코드의 정보를 정확하게 인식해 낼 수 있다.According to the present invention, according to the code conversion table, the parity information is encoded together with the object information into the code image, the parity check is performed in decoding the encoded code image, and the color is accurately applied by appropriately applying environment parameters when a parity check error occurs. I can recognize it. In particular, the present invention can accurately recognize the information of the code even in the environment of normal brightness under normal fluorescent lighting, relatively dark or bright environment, and the environment with strong red light such as under halogen lighting.
Claims (25)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010024367A KR100353872B1 (en) | 2000-05-09 | 2001-05-04 | Machine readable code image and method for encoding and decoding thereof |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20000024706 | 2000-05-09 | ||
KR1020000024706 | 2000-05-09 | ||
KR1020010024367A KR100353872B1 (en) | 2000-05-09 | 2001-05-04 | Machine readable code image and method for encoding and decoding thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010087787A KR20010087787A (en) | 2001-09-26 |
KR100353872B1 true KR100353872B1 (en) | 2002-09-28 |
Family
ID=26637972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010024367A KR100353872B1 (en) | 2000-05-09 | 2001-05-04 | Machine readable code image and method for encoding and decoding thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100353872B1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100608204B1 (en) * | 2004-06-17 | 2006-08-02 | (주)엠비원 | Pattern code with logo insertion and method for encoding and decoding thereof |
KR100677830B1 (en) | 2005-01-18 | 2007-02-05 | 천지득 | Method and the Tool of Networking Service on Internet using Algorithm of Coding/Decoding Values of Color Codes |
KR100746641B1 (en) | 2005-11-11 | 2007-08-06 | 주식회사 칼라짚미디어 | Image code based on moving picture, apparatus for generating/decoding image code based on moving picture and method therefor |
KR100819018B1 (en) * | 2006-04-27 | 2008-04-02 | 김용환 | Game apparatus and method using cards |
GB2526261B (en) | 2014-04-28 | 2017-08-02 | Gelliner Ltd | Encoded cells and cell arrays |
KR102066391B1 (en) * | 2017-11-16 | 2020-01-15 | 상명대학교산학협력단 | Data embedding appratus for multidimensional symbology system based on 3-dimension and data embedding method for the symbology system |
KR102544533B1 (en) * | 2021-07-19 | 2023-06-16 | (주)디엑스테크 | Object management system through electronic pen record information and photo image information matching |
KR102603455B1 (en) * | 2022-12-29 | 2023-11-17 | 보이스아이 주식회사 | Method foroperation a color code that manages data using color codes |
-
2001
- 2001-05-04 KR KR1020010024367A patent/KR100353872B1/en active IP Right Review Request
Also Published As
Publication number | Publication date |
---|---|
KR20010087787A (en) | 2001-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7020327B2 (en) | Machine readable code image and method of encoding and decoding the same | |
CA2408454C (en) | Machine readable code and method and device of encoding and decoding the same | |
KR100341504B1 (en) | Machine readable code for representing information and method and apparatus for encoding/decoding the same | |
JP4016342B2 (en) | Apparatus and method for code recognition | |
JP4515999B2 (en) | Mixed code decoding method and apparatus, and recording medium | |
JP4557866B2 (en) | Mixed code, mixed code generation method and apparatus, and recording medium | |
JP5145435B2 (en) | Color discrimination method for color-based image code | |
KR100653885B1 (en) | Mixed-code decoding method and apparatus | |
US8186593B2 (en) | Colored barcode decoding | |
JP2008004101A (en) | Method of discriminating colors of color based image code | |
EP1807796A4 (en) | Mixed code, and method and apparatus for generating the same, and method and appratus for decoding the same | |
US9177199B2 (en) | Semantic magazine pages | |
CN104054047A (en) | Image processing device, image forming device, program and storage medium | |
KR100353872B1 (en) | Machine readable code image and method for encoding and decoding thereof | |
KR100447762B1 (en) | A multimedia materials service method using code image attached to book and so on and apparatus thereof | |
WO2005116916A1 (en) | Information encoding | |
US20060140442A1 (en) | Steganographic method | |
AU2001258868B2 (en) | Machine readable code and method and device of encoding and decoding the same | |
JP2007293612A (en) | Network connection method and electronic equipment | |
AU2001258868A1 (en) | Machine readable code and method and device of encoding and decoding the same | |
Safonov et al. | Embedding digital hidden data into hardcopy | |
JP2008097422A (en) | Network connection method and electronic device | |
KR100390928B1 (en) | A post address service method using code image physically represented and apparatus thereof | |
JP2007004249A (en) | Network service method, code image encoding method, code image decoding method and machine-recognizable code | |
JP2008146140A (en) | Networking method, networking system, and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
G15R | Request for early opening | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
O035 | Opposition [patent]: request for opposition | ||
O132 | Decision on opposition [patent] | ||
O074 | Maintenance of registration after opposition [patent]: final registration of opposition | ||
FPAY | Annual fee payment |
Payment date: 20120910 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20131010 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20141106 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20150910 Year of fee payment: 14 |
|
FPAY | Annual fee payment |
Payment date: 20170210 Year of fee payment: 15 |
|
FPAY | Annual fee payment |
Payment date: 20180312 Year of fee payment: 16 |
|
FPAY | Annual fee payment |
Payment date: 20190211 Year of fee payment: 17 |
|
FPAY | Annual fee payment |
Payment date: 20191010 Year of fee payment: 18 |