JP2012089177A - Creating program of two-dimensional code, and two-dimensional code - Google Patents

Creating program of two-dimensional code, and two-dimensional code Download PDF

Info

Publication number
JP2012089177A
JP2012089177A JP2012026478A JP2012026478A JP2012089177A JP 2012089177 A JP2012089177 A JP 2012089177A JP 2012026478 A JP2012026478 A JP 2012026478A JP 2012026478 A JP2012026478 A JP 2012026478A JP 2012089177 A JP2012089177 A JP 2012089177A
Authority
JP
Japan
Prior art keywords
code
data
secret
disclosed
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012026478A
Other languages
Japanese (ja)
Other versions
JP5196046B2 (en
Inventor
Masahiro Hara
昌宏 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2012026478A priority Critical patent/JP5196046B2/en
Publication of JP2012089177A publication Critical patent/JP2012089177A/en
Application granted granted Critical
Publication of JP5196046B2 publication Critical patent/JP5196046B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide structure in which a user who reads a two-dimensional code by using a reading device of general specifications cannot recognize the presence of secret data.SOLUTION: A terminal identification code is arranged at the beginning of a code region by a step S111 in a QR code generated by code generation processing, and secrete data codes are arranged instead of a portion or whole part of a filler code by the step S111 after the terminal identification code. With this, since the secrete data codes arranged after the terminal identification code are not a reading target of a reading device of general specifications, it is recognized as if an empty QR code with no encoded data (without contents) has been read in such a reading device of the general specifications. Thus, a user of the reading device cannot recognize the presence of secret data. In this way, a user of the reading device of the general specifications can be prevented from recognizing the presence of the secret data.

Description

本発明は、秘密にして隠しておきたいデータ(以下「秘匿データ」または「秘匿するデータ」という)を含む二次元コードを生成するプログラム及び二次元コードに関するものである。  The present invention relates to a program and a two-dimensional code for generating a two-dimensional code including data to be kept secret and hidden (hereinafter referred to as “secret data” or “secret data”).

秘匿データを含んだ二次元コードを生成したり読み取る技術として、例えば、下記特許文献1に開示される「情報送信方法及び携帯端末」がある。この従来技術では、送信側の携帯端末は、キー入力装置から入力された暗号キーにより送信データを暗号化しそれをQRコードに変換してQRコード(登録商標)を生成しそれを表示装置の画面に表示する(特許文献1;段落0020,0021、図4)。   As a technique for generating or reading a two-dimensional code including confidential data, for example, there is an “information transmission method and portable terminal” disclosed in Patent Document 1 below. In this prior art, the transmission-side portable terminal encrypts transmission data with the encryption key input from the key input device, converts it into a QR code, generates a QR code (registered trademark), and displays it on the screen of the display device. (Patent Document 1; paragraphs 0020 and 0021, FIG. 4).

これに対し、受信側の携帯端末では、送信側の携帯端末の画面に表示されたQRコードの画像をカメラ等により読み込んでQRコードが暗号化されているか否かを判断した後、暗号化されている場合には暗号キーを要求する。そして、QRコードを逆変換するとともに入力された暗号キーにより送信データを復号して復元データを画面表示する(特許文献1;段落0022、図5)。   On the other hand, in the mobile terminal on the reception side, the QR code image displayed on the screen of the mobile terminal on the transmission side is read by a camera or the like to determine whether the QR code is encrypted, and then encrypted. If so, request an encryption key. Then, the QR code is reversely converted and the transmission data is decrypted with the input encryption key to display the restored data on the screen (Patent Document 1; paragraph 0022, FIG. 5).

特開2004−147006号公報JP 2004-147006 A

しかしながら、上記特許文献1に開示される「情報送信方法及び携帯端末」によると、暗号化されているものをQRコードに逆変換した場合には、通常、暗号化されたデータそのものは文字情報として意味をなさないものであるため、携帯端末等の画面に表示される情報は意味不明なものであったり、画面表示の制御等に影響を与え得る制御コードに相当する情報であったりする。   However, according to the “information transmission method and portable terminal” disclosed in Patent Document 1, when the encrypted data is reversely converted into a QR code, the encrypted data itself is usually used as character information. Since the information does not make sense, the information displayed on the screen of the mobile terminal or the like may be unclear or may be information corresponding to a control code that may affect the control of the screen display.

このため、意味不明な情報である場合には、当該携帯端末等の使用者に不信感を与え得るという問題や、それが暗号化された情報であることを認識し得る使用者には対しては、解読を試みようとする不用意な動機を与える可能性があることから、セキュリティ上の問題を生じ得る。   For this reason, in the case of unclear information, the problem of being distrustful to the user of the mobile terminal or the user who can recognize that it is encrypted information. Can give rise to security problems because they can be inadvertently motivated to attempt to decipher.

また、制御コードに相当する情報である場合には、画面表示が乱れたり、その他のシステム上の問題にもつながり得るという問題がある。   Further, in the case of information corresponding to a control code, there is a problem that the screen display is disturbed and may lead to other system problems.

本発明は、上述した課題を解決するためになされたもので、その目的とするところは、一般仕様の読取装置で読み取る利用者には秘匿データの存在を認識し得ない二次元コードを生成するプログラム及び二次元コードを提供することにある。 The present invention has been made in order to solve the above-described problems, and an object of the present invention is to generate a two-dimensional code that cannot be recognized by a user who reads with a general-purpose reading device. To provide a program and a two-dimensional code.

上記目的を達成するため、第1の発明は、開示するデータを表すコード語としてコード化された開示データコードの総数が、コード語を配置すべきコード領域に収容可能な容量に満たない場合、前記コード領域に配置された前記開示データコードがなすコード列の終端を示す終端識別コードをこのコード列の最後に配置するとともに、前記コード領域の空き部分にデータを表さない埋め草コードを配置する二次元コードの生成装置として、コンピュータを機能させるためのプログラムであって、前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする。 To achieve the above object, according to a first aspect of the present invention, when the total number of disclosed data codes encoded as code words representing disclosed data is less than a capacity that can be accommodated in a code area where code words are to be arranged, An end identification code indicating the end of a code string formed by the disclosed data code arranged in the code area is arranged at the end of the code string, and a padding code that does not represent data is arranged in an empty part of the code area. As a two-dimensional code generating device, a program for causing a computer to function, wherein the disclosed data code does not exist and the total number of disclosed data codes is zero, and the end identification code is at the beginning of the code area. And a secret data code encoded as a code word representing the data to be concealed is part of the padding code or Instead of all, it characterized in that arranged after the end identification code.

第2の発明は、開示するデータを表すコード語としてコード化された開示データコードの総数が、コード語を配置すべきコード領域に収容可能な容量に満たない場合、前記コード領域に配置された前記開示データコードがなすコード列の終端を示す終端識別コードをこのコード列の最後に配置するとともに、前記コード領域の空き部分にデータを表さない埋め草コードを配置する二次元コードであって、前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする。  The second invention is arranged in the code area when the total number of disclosed data codes encoded as code words representing the disclosed data is less than the capacity that can be accommodated in the code area where the code word is to be arranged. A two-dimensional code in which an end identification code indicating the end of a code string formed by the disclosed data code is arranged at the end of the code string, and a padding code that does not represent data is arranged in an empty portion of the code area. The disclosed data code does not exist, the total number of disclosed data codes is zero, the termination identification code is arranged at the beginning of the code area, and the confidential data encoded as a code word representing the confidential data The code is arranged after the terminal identification code in place of part or all of the padding code.

請求項1の発明によって生成される二次元コードは、開示データコードが存在せず開示データコードの総数が零であり、コード領域の最初に終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを埋め草コードの一部または全部に代えて、終端識別コードの後に配置する。一般に、二次元コードの読取装置は、二次元コードのデコード処理において、コード領域に配置されたデータコードの先頭からコード列の終端を示す終端識別コードまでを読み取ってデコードするアルゴリズム仕様に設定されているため、通常、終端識別コードの後に配置される埋め草コード等は読み取りの対象にならない。このため、本来、コード領域に配置されるべきデータコードの先頭(コード領域の最初)に終端識別コードを配置することによって、その終端識別コードの後に、埋め草コードの一部または全部に代えて配置されるデータコードは、たとえそれが読み取り可能なコード語であっても、一般仕様の読取装置ではデコードすることはない。これにより、終端識別コードの後に秘匿したいデータコード(秘匿データコード)を配置することによって、当該秘匿データコードは読み取ることはできない。したがって、このような秘匿データコードが含まれる二次元コードを一般仕様の読取装置で読み取っても、当該秘匿データコードによって秘匿しようとするデータの存在はわからないので、一般仕様の読取装置の利用者には秘匿データの存在を認識させないようにすることができる。  The two-dimensional code generated by the invention of claim 1 represents the data to be concealed while the disclosed data code does not exist and the total number of disclosed data codes is zero, the terminal identification code is arranged at the beginning of the code area The secret data code coded as a code word is placed after the terminal identification code in place of part or all of the padding code. Generally, a two-dimensional code reader is set to an algorithm specification that reads and decodes from the beginning of a data code arranged in a code area to a terminal identification code indicating the end of a code string in a two-dimensional code decoding process. Therefore, normally, a padding code or the like placed after the terminal identification code is not a target of reading. For this reason, by placing the end identification code at the beginning of the data code that should be placed in the code area (the beginning of the code area), a part or all of the padding code is replaced after the end identification code. The arranged data code is not decoded by a general-purpose reader, even if it is a readable code word. Thereby, the confidential data code cannot be read by disposing the data code (secret data code) to be concealed after the terminal identification code. Therefore, even if a general-purpose reader reads a two-dimensional code including such a secret data code, the existence of data to be concealed by the secret data code is not known. Can prevent the presence of confidential data.

請求項2の発明によれば、請求項1と同様の効果を奏する二次元コードを実現できる。  According to the invention of claim 2, a two-dimensional code having the same effect as that of claim 1 can be realized.

図1(A) は、本発明の第1実施形態に係るQRコードプリンタとそれに接続されるパソコンとを示す説明図で、図1(B) は、当該QRコードプリンタのハードウェア構成例を示すブロック図である。FIG. 1A is an explanatory diagram showing a QR code printer and a personal computer connected thereto according to the first embodiment of the present invention, and FIG. 1B shows a hardware configuration example of the QR code printer. It is a block diagram. 第1実施形態に係るQRコードプリンタにより実行されるコード生成処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the code production | generation process performed with the QR code printer which concerns on 1st Embodiment. 図2に示すコード生成処理により情報処理されるデータやコードのフォーマット例を示す説明図で、図3(A) は印刷データのデータレコードの例、図3(B) はステップS107〜S119により各コードを付加した後の例、図3(C) は図3(B) に示す秘匿コードの構成例1、図3(D) は図3(B) に示す秘匿コードの構成例2、図3(E) は図3(B) に示す秘匿コードの構成例3、をそれぞれ示すものである。FIGS. 3A and 3B are explanatory diagrams showing a format example of data and codes processed by the code generation process shown in FIG. 2, FIG. 3A shows an example of a data record of print data, and FIG. 3B shows steps S107 to S119. FIG. 3C shows an example 1 of the configuration of the secret code shown in FIG. 3B, FIG. 3D shows an example 2 of the configuration of the secret code shown in FIG. (E) shows a configuration example 3 of the secret code shown in FIG. 3 (B). 1型のQRコードの構成例を示す説明図である。It is explanatory drawing which shows the structural example of a 1 type QR code. QRコードリーダのハードウェア構成例を示すブロック図である。It is a block diagram which shows the hardware structural example of a QR code reader . QRコードリーダの制御回路により実行されるデコード処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the decoding process performed by the control circuit of a QR code reader . 図6に示す復号化処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the decoding process shown in FIG.

以下、本発明の実施形態について図を参照して説明する。なお、以下説明する各実施形態では、二次元コードの例として、QRコードを挙げるが、本発明に係る二次元コードはこれに限られることはなく、例えば、データマトリクス、マキシコード、CPコード、PDF417やRSSコンポジット等であってもQRコードと同様に本発明を適用することができる。 Embodiments of the present invention will be described below with reference to the drawings. In each embodiment described below, a QR code is given as an example of a two-dimensional code. However, the two-dimensional code according to the present invention is not limited to this, for example, a data matrix, a maxi code, a CP code, Even in the case of PDF417, RSS composite, etc., the present invention can be applied similarly to the QR code.

[第1実施形態]
まず、本発明の第1実施形態に係るQRコードプリンタ10の構成を、図1を参照して説明する。なお、図1(A) には、本第1実施形態に係るQRコードプリンタ10とそれに接続されるパーソナルコンピュータ(以下「パソコン」という)1とを示す説明図が図示されており、また図1(B) には、QRコードプリンタ10のハードウェア構成例を示すブロック図が図示されている。
[First Embodiment]
First, the configuration of the QR code printer 10 according to the first embodiment of the present invention will be described with reference to FIG. FIG. 1A is an explanatory diagram showing a QR code printer 10 according to the first embodiment and a personal computer (hereinafter referred to as “personal computer”) 1 connected thereto, and FIG. FIG. 4B is a block diagram showing an example of the hardware configuration of the QR code printer 10.

図1(A) に示すように、QRコードプリンタ10は、ケーブル5を介してパソコン1に接続されることにより、パソコン1から出力されて当該QRコードプリンタ10に入力される英数字、漢字や記号等の文字データ(以下これらを「印刷データ」と総称する)に基づいてQRコードを生成してラベルP等に印刷する機能を有するものである。なお、ここでいう「QRコード」とは、日本工業規格(JIS)の二次元コードシンボル−QRコード−基本仕様(JIS X 0510:2004)に従うものである。   As shown in FIG. 1 (A), the QR code printer 10 is connected to the personal computer 1 via the cable 5 so that it can be output from the personal computer 1 and input to the QR code printer 10. It has a function of generating a QR code based on character data such as symbols (hereinafter collectively referred to as “print data”) and printing it on a label P or the like. Here, the “QR code” is in accordance with the Japanese Industrial Standard (JIS) two-dimensional code symbol-QR code-basic specification (JIS X 0510: 2004).

パソコン1は、パソコン本体2およびディスプレイ3により構成されており、パソコン本体2は、図略の、MPU、メインメモリ(主記憶装置)、ハードディスク(補助記憶装置)、入出力インタフェース、通信インタフェース、キーボード、ポインティングデバイス等からなる情報処理装置で、またディスプレイ3は、パソコン本体2に接続されることによりパソコン本体2から出力される情報を画面表示可能な情報表示装置である。   The personal computer 1 includes a personal computer main body 2 and a display 3. The personal computer main body 2 includes an MPU, a main memory (main storage device), a hard disk (auxiliary storage device), an input / output interface, a communication interface, a keyboard (not shown). The display 3 is an information display device capable of displaying information output from the personal computer main body 2 when connected to the personal computer main body 2 on the screen.

なお、このパソコン本体2には、QRコードプリンタ10のデバイスドライバがインストールされて(組み込まれて)おり、当該パソコン1の利用者が、QRコードとしてラベルPに印刷したい文字等を含んだ印刷データを、パソコン本体2からQRコードプリンタ10に対して任意に出力可能にしている。   The personal computer main body 2 has a device driver for the QR code printer 10 installed (incorporated), and the user of the personal computer 1 includes print data including characters or the like that the user wants to print on the label P as a QR code. Can be arbitrarily output from the personal computer main body 2 to the QR code printer 10.

これに対し、QRコードプリンタ10は、図1(B) に示すように、主に、MPU11、メモリ12、インタフェース13、ローラ制御部14、ヘッド制御部15、ローラ17、ヘッド18等から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されている。   On the other hand, as shown in FIG. 1B, the QR code printer 10 mainly includes an MPU 11, a memory 12, an interface 13, a roller control unit 14, a head control unit 15, a roller 17, a head 18, and the like. ing. These are mounted on a printed wiring board (not shown) or housed in a housing (not shown).

MPU11は、QRコードプリンタ10全体を制御可能なマイクロコンピュータ(以下「マイコン」という)で、メモリバスを介して接続されるメモリ12とともに情報処理装置を構成し得るもので情報処理機能を有する。このMPU11には、メモリ12のほかに、インタフェース13、ローラ制御部14やヘッド制御部15も接続されている。なお、後述するコード生成処理は、このMPU11およびメモリ12により実行される。   The MPU 11 is a microcomputer capable of controlling the entire QR code printer 10 (hereinafter referred to as “microcomputer”) and can constitute an information processing apparatus together with a memory 12 connected via a memory bus, and has an information processing function. In addition to the memory 12, an interface 13, a roller control unit 14, and a head control unit 15 are connected to the MPU 11. A code generation process to be described later is executed by the MPU 11 and the memory 12.

メモリ12は、半導体メモリ装置で、例えばRAM(DRAM、SRAM等)やROM(EPROM、EEPROM等)がこれに相当する。このメモリ12のうちのRAMには、前述したパソコン1から送られてくる文字データを蓄積するバッファ領域のほか、MPU11が算術演算や論理演算等の各処理時に利用する作業領域等も確保可能に構成されている。またROMには、後述のコード生成処理等を実行可能な所定プログラムやその他、ローラ制御部14やヘッド制御部15等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。   The memory 12 is a semiconductor memory device, and corresponds to, for example, a RAM (DRAM, SRAM, etc.) or a ROM (EPROM, EEPROM, etc.). In the RAM of the memory 12, in addition to the buffer area for storing the character data sent from the personal computer 1 described above, it is possible to secure a work area used by the MPU 11 for each processing such as arithmetic operation and logical operation. It is configured. The ROM stores in advance a predetermined program that can execute a code generation process and the like that will be described later, and a system program that can control each piece of hardware such as the roller control unit 14 and the head control unit 15.

インタフェース13は、前述したパソコン1のパソコン本体2から送られてくる印刷データ等を受信可能にする入力インタフェースで、シリアルバス等を介してMPU11に接続されている。このインタフェース13を介してMPU11に入力された印刷データは、コード生成処理によって後述するように情報処理されてコード化される。   The interface 13 is an input interface that enables reception of print data and the like sent from the personal computer main body 2 of the personal computer 1 described above, and is connected to the MPU 11 via a serial bus or the like. The print data input to the MPU 11 via the interface 13 is processed and coded as will be described later by a code generation process.

ローラ制御部14は、ローラ17の駆動機構(図略)を制御し得る制御装置で、シリアルバス等を介してMPU11に接続されている。これにより、MPU11から受けた制御信号に従ってローラ17の回転の開始や停止あるいは回転方向等を制御している。   The roller control unit 14 is a control device that can control a driving mechanism (not shown) of the roller 17 and is connected to the MPU 11 via a serial bus or the like. Thus, the start and stop of rotation of the roller 17 or the direction of rotation is controlled according to the control signal received from the MPU 11.

ヘッド制御部15は、例えば、感熱用紙からなるラベルに対して任意のパターンを印刷し得るサーマルヘッドで、シリアルバス等を介してMPU11に接続されている。本実施形態では、後述のコード生成処理によって生成されたQRコードを感熱ラベルに印刷可能にするもので、前述したローラ制御部14による感熱ラベルの紙送りタイミングに同期して、QRコードを構成する位置検出パターン、タイミングパターンやデータコード等を当該ラベルに印刷する。   The head controller 15 is a thermal head that can print an arbitrary pattern on a label made of thermal paper, for example, and is connected to the MPU 11 via a serial bus or the like. In the present embodiment, the QR code generated by the code generation process described later can be printed on the thermal label, and the QR code is configured in synchronization with the paper feed timing of the thermal label by the roller control unit 14 described above. The position detection pattern, timing pattern, data code, etc. are printed on the label.

なお、以下、ヘッド制御部15として、サーマルヘッドの場合を例示して説明するが、QRコードを印刷できるものであれば、例えば、インクジェット用やドットインパクト用のヘッドでも良いし、また印刷機構として、レーザプリンタやLEDプリンタ等であっても良い。   In the following, the case of a thermal head will be described as an example of the head control unit 15. However, as long as a QR code can be printed, for example, an inkjet head or a dot impact head may be used. A laser printer, an LED printer, or the like may be used.

このようにQRコードプリンタ10を構成することによって、パソコン1から出力されて当該QRコードプリンタ10に入力された印刷データは、インタフェース13を介してメモリ12のバッファ領域に一旦蓄えられた後、次に説明するコード生成処理に渡される。ここで、コード生成処理を図2〜図4を参照して説明する。なお、図2には、コード生成処理の流れを示すフローチャートが図示されている。また図3には、図2に示すコード生成処理により情報処理されるデータやコードのフォーマット例が図示されている。さらに図4には、1型のQRコードの構成例が図示されている。   By configuring the QR code printer 10 in this way, the print data output from the personal computer 1 and input to the QR code printer 10 is temporarily stored in the buffer area of the memory 12 via the interface 13, and then It is passed to the code generation process described in (1). Here, the code generation process will be described with reference to FIGS. FIG. 2 is a flowchart showing the flow of code generation processing. FIG. 3 shows a format example of data and code processed by the code generation process shown in FIG. Further, FIG. 4 shows a configuration example of a type 1 QR code.

図2に示すように、コード生成処理は、QRコードプリンタ10の電源投入により起動するMPU11およびメモリ12によって開始され、まずステップS101により初期設定処理が行われる。この処理は、メモリ12の作業領域や印刷データを蓄えるバッファ領域をクリアしたり、所定のフラグやカウンタ等をクリアする。   As shown in FIG. 2, the code generation process is started by the MPU 11 and the memory 12 that are activated when the QR code printer 10 is turned on. First, an initial setting process is performed in step S101. This process clears the work area of the memory 12 and the buffer area for storing print data, and clears predetermined flags and counters.

ステップS103では、印刷データを受信したか否かを判断する処理で、印刷データを受信するまで、このステップを繰り返す(S103;No)。そして、印刷データを受信したと判断すると(S103;Yes)、続くステップS105に処理を移行する。なお、ここで受信するデータには、印刷データのほかに、暗号キーのデータも含まれる。即ち、後述するように、秘匿データコードを暗号化する必要がある場合には、このステップS103により暗号キーのデータも併せて受信する。また、ここで受信する印刷データは、その全てが第三者には秘密にして隠しておきたいデータ(秘匿エータ)であり、第三者に開示するデータ(開示データ)は含まれていないものとする。したがって、これらの印刷データは、全て秘匿データとして以下処理される。   In step S103, this step is repeated until print data is received in the process of determining whether or not print data has been received (S103; No). If it is determined that the print data has been received (S103; Yes), the process proceeds to the subsequent step S105. The data received here includes encryption key data in addition to print data. That is, as described later, when it is necessary to encrypt the secret data code, the encryption key data is also received in step S103. In addition, the print data received here is all the data (secret data) that you want to keep confidential and hidden from the third party, and does not include the data (disclosure data) disclosed to the third party. And Therefore, all the print data is processed as confidential data below.

次のステップS105では、秘匿データをJISの基本仕様(JIS X 0510:2004)に従って符号化する処理が行われる。これにより、秘匿するデータを表すコード語としてコード化された秘匿データコードが生成される。例えば、図3に示すように、ステップS103によって受信された印刷データが秘匿データα,βである場合には(図3(A) )、ステップS105により符号化された秘匿データコードαのデータ長と秘匿データコードβのデータ長と和が当該データ長として計算されて秘匿データコードαの直前に付加される(図3(B) )。なお、図3(B) では、便宜上、秘匿データコードを「秘匿コード」、秘匿識別コードを「秘匿識別子」、とそれぞれ表現している。   In the next step S105, processing for encoding the confidential data according to the JIS basic specification (JIS X 0510: 2004) is performed. Thereby, the secret data code coded as a code word representing the data to be secreted is generated. For example, as shown in FIG. 3, when the print data received in step S103 is the secret data α, β (FIG. 3A), the data length of the secret data code α encoded in step S105. And the data length and the sum of the secret data code β are calculated as the data length and added immediately before the secret data code α (FIG. 3B). In FIG. 3B, for the sake of convenience, the secret data code is expressed as “secret code”, and the secret identification code is expressed as “secret identifier”.

続くステップS107では、秘匿データコードのデータ長を計算して求め、このデータ長をコード化したものを秘匿データコードの直前に付加する処理が行われる。これにより、秘匿データコードが配置される領域や範囲がわかるので、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、どこまでが秘匿データコードであるか、または暗号データコードであるかを認識可能にする。   In subsequent step S107, a process is performed in which the data length of the secret data code is calculated and obtained, and the data length encoded is added immediately before the secret data code. As a result, the area and range where the secret data code is arranged can be known, so when the QR code Q generated by this code generation process is decoded by a QR code reader or the like, how far is the secret data code, or Makes it possible to recognize whether it is an encrypted data code.

ステップS109では、ステップS107によりコード化されたデータ長の前に秘匿識別コードを付加する処理が行われる。この秘匿識別コードは、次ステップS111で付加される終端識別コードの直後に配置されているデータコードが「秘匿するデータを表すコード語としてコード化されたものであること」を明示的に表すもので、これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、当該QRコードQに秘匿データコードが含まれていることを認識可能にする。このため、例えば、読取対象外のデータやデータ化けしたデータ等を秘匿データコードと誤認して読み取ることを防ぎ、またこれに起因する誤動作の発生を防止することもできる。   In step S109, a process of adding a secret identification code before the data length encoded in step S107 is performed. This concealment identification code explicitly expresses that the data code arranged immediately after the termination identification code added in the next step S111 is "encoded as a code word representing concealed data". Thus, when the QR code Q generated by the code generation process is decoded by a QR code reader or the like, it is possible to recognize that the confidential data code is included in the QR code Q. For this reason, for example, it is possible to prevent data that is not to be read, garbled data, and the like from being mistakenly read as a secret data code, and to prevent the occurrence of malfunction caused by this.

そして、続くステップS111により、秘匿識別コードの直前に終端識別コードを付加する処理が行われる。終端識別コードは、例えば、4ビットパターンで「0000」である。本実施形態では、前述したように、ステップS103により受信した印刷データには、開示データが含まれていない。このため、図3(B) に示すように、本来、終端識別コードの前の位置するはずである開示データコードは存在せず、当該終端識別コードが先頭に位置する。なお、図3(B) では、便宜上、終端識別コードを「終端子」と表現している。   Then, in the subsequent step S111, processing for adding a terminal identification code immediately before the secret identification code is performed. The end identification code is, for example, “0000” in a 4-bit pattern. In the present embodiment, as described above, the print data received in step S103 does not include disclosure data. For this reason, as shown in FIG. 3B, there is no disclosed data code that should originally be positioned before the terminal identification code, and the terminal identification code is positioned at the head. In FIG. 3B, the terminal identification code is expressed as “end terminal” for convenience.

このようにステップS105〜S111までの各処理を経ると、秘匿データコードの後に埋め草コードや誤り訂正コードが付加されるが、本実施形態では、図3(C) に示すように、秘匿データコードを暗号化する処理が施され得る。   In this way, after each process from step S105 to S111, a padding code and an error correction code are added after the secret data code. In this embodiment, as shown in FIG. Processing to encrypt the code may be performed.

具体的には、ステップS113により、暗号キーがあるか否かを判断することによって、秘匿データコードを暗号化する必要があるか否かを判断する。即ち、ステップS103によって暗号キーのデータをパソコン1から受信している場合には、暗号キーがあるので(S113;Yes)、ステップS115に移行して暗号化処理を行う。これに対して、ステップS103によって暗号キーをパソコン1から受信していない場合には、暗号キーがないので(S113;No)、ステップS115による暗号化処理をスキップしてステップS117に移行する。   Specifically, in step S113, it is determined whether or not the secret data code needs to be encrypted by determining whether or not there is an encryption key. That is, when the encryption key data is received from the personal computer 1 in step S103, the encryption key is present (S113; Yes), and the process proceeds to step S115 to perform the encryption process. On the other hand, if the encryption key is not received from the personal computer 1 in step S103, there is no encryption key (S113; No), so the encryption process in step S115 is skipped and the process proceeds to step S117.

なお、ステップS103により暗号キーのデータを受信していない場合であっても、パソコン1が予め暗号キーをメモリ12やハードディスク等の情報記憶媒体に保持しているときには暗号キーがあるので(S113;Yes)、ステップS115によって暗号化処理を行う。   Even if the encryption key data is not received in step S103, the encryption key is present when the personal computer 1 holds the encryption key in an information storage medium such as the memory 12 or the hard disk in advance (S113; Yes), encryption processing is performed in step S115.

ステップS115では、秘匿データコードを暗号化する処理が行われる。この処理は、例えば、公知の視覚復号型暗号技術(視覚復号型秘密分散法)を用いて秘匿データコードを暗号化する。これにより、このような暗号化されていない平文データが付加されている場合に比べてセキュリティの強度を高めることができる。   In step S115, a process for encrypting the secret data code is performed. In this process, for example, the secret data code is encrypted using a known visual decryption encryption technique (visual decryption secret sharing method). Thereby, the strength of security can be increased as compared with the case where such unencrypted plaintext data is added.

例えば、図3(C) に示す例では、秘匿データコードαを構成する「暗号化データ」の部分が暗号化され、「開始桁」、「文字数」および「復号キー検査データ」も併せて生成される。最初に位置する「開始桁」は、当該暗号化された秘匿データの位置情報として、印刷データの先頭をゼロ番地とした場合に表現可能なアドレス値がこれに相当する。また次の「文字数」は、暗号化されている秘匿データの文字数である。これにより、コード語としてコード化される前のデータレコード中の位置関係において前後して混在する場合であっても、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際において、デコードしたデータをこの位置情報に基づいてコード化前の位置関係に配置することができる。   For example, in the example shown in FIG. 3 (C), the “encrypted data” portion of the secret data code α is encrypted, and the “start digit”, “number of characters”, and “decryption key check data” are also generated. Is done. The “start digit” positioned first corresponds to an address value that can be expressed as the position information of the encrypted confidential data when the top of the print data is set to zero. The next “number of characters” is the number of characters of the encrypted confidential data. As a result, the QR code Q generated by the code generation process is decoded by a QR code reader or the like even when the data records are mixed in the positional relationship in the data record before being encoded as a code word. In this case, the decoded data can be arranged in the positional relationship before encoding based on the positional information.

最後に付加されている「復号キー検査データ」は、当該暗号を解読するのに用いる復号キーを特定可能な鍵特定情報で、暗号方式が暗号キーと復号キーとが同じ共通鍵暗号方式(「秘密鍵暗号方式」ともいう)の場合には、当該復号キー検査データは暗号キーも特定できる。これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、秘匿データコードを復号キー(復号できる鍵)を容易に特定することができたり、復号キーであるか否かを判断することができる。   “Decryption key check data” added at the end is key specifying information that can specify a decryption key used for decrypting the cipher, and a common key encryption method (“ In the case of “private key encryption method”, the decryption key check data can also specify the encryption key. As a result, when the QR code Q generated by this code generation process is decoded by a QR code reader or the like, it is possible to easily specify the decryption key (decryptable key) of the secret data code, It can be determined whether or not there is.

なお、秘匿データコードβについても秘匿データコードαと同様に構成され、「復号キー検査データ」として、秘匿データコードαを復号する復号キーと同じ情報を付加しても良いし、また秘匿データコードαの暗号キーとは異なった他の暗号キーで秘匿データコードβの秘匿データを暗号化した場合には、他の復号キーを特定する「復号キー検査データ」を付加しても良い。これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、各秘匿データコードごとに復号できる鍵を容易に特定することができたり、復号できる鍵であるか否かを判断することができる。   The secret data code β is configured in the same manner as the secret data code α, and the same information as the decryption key for decrypting the secret data code α may be added as the “decryption key check data”, or the secret data code When the secret data of the secret data code β is encrypted with another encryption key different from the α encryption key, “decryption key check data” for specifying another decryption key may be added. Thereby, when the QR code Q generated by this code generation process is decoded by a QR code reader or the like, it is possible to easily specify a key that can be decrypted for each secret data code, or a key that can be decrypted. It can be determined whether or not.

続くステップS117では、JISの基本仕様(JIS X 0510:2004)に従って、秘匿データコードの後に埋め草コードを付加する処理が行われ、さらにステップS119では、秘匿データに対する誤り訂正符号をJISの基本仕様(JIS X 0510:2004)に従って生成しさらにそれをコード化して誤り訂正コードを生成する処理が行われる。   In the following step S117, a process of adding a padding code after the secret data code is performed according to the JIS basic specification (JIS X 0510: 2004). Further, in step S119, an error correction code for the secret data is converted to the JIS basic specification. (JIS X 0510: 2004) is generated and further encoded to generate an error correction code.

そして、ステップS121では、ステップS119により生成されたデータコードに基づいて、各セルを生成し、図4に示すデータブロックに配置する処理が行われる。即ち、図4に示す1型のQRコードでは、1辺が21セル(モジュール)の正方形状に構成されているため、三隅に設けられている位置検出パターンや形式情報(図4に示す斜線部分)、さらにはタイミングパターンを除いたコード領域に、8個のセルを4行2列に配置して構成されるデータブロックを26ブロック(A0〜A25)配置する。   In step S121, each cell is generated based on the data code generated in step S119, and the process of arranging the cells in the data block shown in FIG. 4 is performed. That is, since the one-type QR code shown in FIG. 4 is formed in a square shape with 21 cells (modules) on one side, position detection patterns and format information provided at three corners (the hatched portion shown in FIG. 4). In addition, 26 blocks (A0 to A25) of data blocks configured by arranging 8 cells in 4 rows and 2 columns are arranged in the code area excluding the timing pattern.

例えば、図3(B) に示す例では、データ領域の先頭にあたるA0に終端識別コードを、これに続いて通常は埋め草コードが配置される位置に相当するA1以降に、即ち、A1に秘匿識別コード、A2にデータ長、A3〜A6に秘匿識別コードα、A7〜A9に秘匿識別コードβ、をそれぞれ配置する。そして、通常のQRコードと同様に、誤り訂正コードを最後のA20〜A25に配置して、この間の空いている部分であるA10〜A19に埋め草コードを配置する。なお、A15およびA18は、タイミングパターンを挟んで位置していることから、A15はA15とA15’とに、またA18はA18とA18’とに分割されている。   For example, in the example shown in FIG. 3 (B), the terminal identification code is placed at A0 at the beginning of the data area, and after this, usually after A1 corresponding to the position where the padding code is placed, that is, it is kept secret from A1. An identification code, a data length in A2, a secret identification code α in A3 to A6, and a secret identification code β in A7 to A9 are arranged. Then, similarly to the normal QR code, the error correction code is arranged in the last A20 to A25, and the padding code is arranged in A10 to A19 which are vacant portions therebetween. Since A15 and A18 are located across the timing pattern, A15 is divided into A15 and A15 ', and A18 is divided into A18 and A18'.

なお、ステップS115において、図3(D) に示すように、「復号キー検査データ」に代えて、復号キーそのものを付加しても良い。これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、例えば、当該QRコードリーダ等が秘匿データコードαの復号キーを持っていなくても、秘匿データコードαを復号して元の平文に戻すことができる。   In step S115, as shown in FIG. 3D, the decryption key itself may be added instead of the “decryption key check data”. Thus, when the QR code Q generated by the code generation process is decoded by a QR code reader or the like, for example, even if the QR code reader or the like does not have a decryption key for the secret data code α, the secret data The code α can be decrypted and restored to the original plaintext.

また、秘匿データコードβについても、同様に「復号キー検査データ」に代えて、復号キーそのものを付加しても良い。付加する復号キーは、秘匿データコードαを復号する復号キーと同じものを付加しても良いし、また秘匿データコードαの暗号キーとは異なった他の暗号キーで秘匿データコードβの秘匿データを暗号化した場合には、この他の暗号キーに対応する他の復号キーを付加しても良い。これにより、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際に、当該QRコードリーダ等が、各秘匿データコードごとに対応するそれぞれの復号キーを持っていなくても、それぞれの秘匿データコードを復号して元の平文に戻すことができる。   Similarly, the decryption key itself may be added to the secret data code β instead of the “decryption key check data”. The decryption key to be added may be the same as the decryption key for decrypting the secret data code α, or the secret data of the secret data code β may be different from the encryption key of the secret data code α. May be added with another decryption key corresponding to the other encryption key. As a result, when the QR code Q generated by the code generation process is decoded by a QR code reader or the like, the QR code reader or the like does not have a corresponding decryption key for each secret data code. Also, each secret data code can be decrypted and returned to the original plaintext.

また、ステップS113により、暗号キーがないと判断した場合であっても(S113;No)、図3(E) に示すように、暗号化していない平文データの前に、ステップS115で付加した「開始桁」や「文字数」を付加する処理ステップを、ステップS113とステップS117との間に設けても良い。これにより、コード語としてコード化される前のデータレコード中の位置関係において前後して混在する場合であっても、本コード生成処理によって生成されたQRコードQを、QRコードリーダ等のデコードする際において、デコードしたデータをこの位置情報に基づいてコード化前の位置関係に配置することができる。   Even if it is determined in step S113 that there is no encryption key (S113; No), as shown in FIG. 3 (E), the unencrypted plaintext data is added in step S115. Processing steps for adding “start digit” and “number of characters” may be provided between step S113 and step S117. As a result, the QR code Q generated by the code generation process is decoded by a QR code reader or the like even when the data records are mixed in the positional relationship in the data record before being encoded as a code word. In this case, the decoded data can be arranged in the positional relationship before encoding based on the positional information.

以上説明したように、本第1実施形態に係るQRコードプリンタ10によると、MPU11により実行されるコード生成処理によって生成されるQRコードQでは、ステップS111によりコード領域の最初に終端識別コードが配置されるとともに、終端識別コードの後に、ステップS111により秘匿データコードが埋め草コードの一部または全部に代えて配置されている。つまり、本来、コード領域に配置されるべきデータコードの先頭(コード領域の最初)に終端識別コードを配置することによって、開示データコードが存在せず開示データコードの総数が零であるデータコードを生成し、終端識別コードの後に、秘匿データコードを埋め草コードの一部または全部に代えて配置する。   As described above, according to the QR code printer 10 according to the first embodiment, in the QR code Q generated by the code generation process executed by the MPU 11, the terminal identification code is arranged at the beginning of the code area in step S111. In addition, after the termination identification code, the secret data code is arranged in place of a part or all of the padding code in step S111. In other words, by arranging the end identification code at the beginning of the data code that should be placed in the code area (the beginning of the code area), the data code that has no disclosed data code and the total number of disclosed data codes is zero. After the terminal identification code is generated, the secret data code is arranged in place of part or all of the padding code.

これにより、終端識別コードの後に配置された秘匿データコードは、一般仕様の読取装置では読み取りの対象にならないので、このような一般仕様の読取装置ではコード化されたデータがない(中身のない)空のQRコードを読み取ったように認識されるので、当該読取装置の利用者には秘匿データの存在がわからない。したがって、一般仕様の読取装置の利用者には秘匿データの存在を認識させないようにすることができる。   As a result, the secret data code arranged after the terminal identification code is not read by a general-purpose reading device, and therefore there is no encoded data (no content) in such a general-specification reading device. Since it is recognized as if an empty QR code is read, the user of the reading device does not know the existence of confidential data. Accordingly, it is possible to prevent the user of the general-purpose reading apparatus from recognizing the existence of confidential data.

よって、このような秘匿データコードを含んでいても、一般仕様の読取装置には当該秘匿データコードのデコードデータに相当するものが画面表示されないので、利用者に秘匿データの存在を認識させることがなく、当該利用者に対して不信感を与えたり、解読を試みようとする不用意な動機を与えることがない。また、当該秘匿データコードのデコードデータに相当するものが制御データ等であっても、それが画面表示されることがないので、画面表示が乱れたりもしない。   Therefore, even if such a secret data code is included, since the data corresponding to the decode data of the secret data code is not displayed on the screen in the general-purpose reading device, the user can recognize the presence of the secret data. Therefore, the user is not distrusted or inadvertently motivated to try to decipher. Further, even if control data or the like corresponding to the decoded data of the secret data code is not displayed on the screen, the screen display is not disturbed.

なお、上述した第1実施形態では、QRコードプリンタ10により、ラベルPにQRコードQを印刷する例を挙げて説明したが、本発明はこれに限られることはなく、QRコードQを視覚的に表現可能なものであればよく、例えば、図2に示すコード生成処理をパソコン本体2により実行してディスプレイ3にQRコードQを表示するように構成しても良い。この場合、コード生成処理は、コンピュータプログラムとして概念できるので、例えば、「開示するデータを表すコード語としてコード化された開示データコードの総数が、コード語を配置すべきコード領域に収容可能な容量に満たない場合、前記コード領域に配置された前記開示データコードがなすコード列の終端を示す終端識別コードをこのコード列の最後に配置するとともに、前記コード領域の空き部分にデータを表さない埋め草コードを配置する二次元コードの生成装置として、コンピュータを機能させるためのプログラムであって、前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする二次元コードの生成プログラム。」と表現可能な技術的思想を把握できる。これにより、この二次元コードの生成プログラムにより二次元コードの生成装置として機能するコンピュータは、上述したQRコードプリンタ10のMPU11等と同様の作用および効果を奏する。   In the first embodiment described above, an example in which the QR code Q is printed on the label P by the QR code printer 10 has been described. However, the present invention is not limited to this, and the QR code Q is visually displayed. For example, the code generation process shown in FIG. 2 may be executed by the personal computer main body 2 to display the QR code Q on the display 3. In this case, since the code generation process can be conceptualized as a computer program, for example, “capacity that the total number of disclosed data codes encoded as code words representing data to be disclosed can be accommodated in a code area in which code words are to be arranged. If not, the end identification code indicating the end of the code string formed by the disclosed data code arranged in the code area is arranged at the end of the code string, and data is not represented in the empty part of the code area. A program for causing a computer to function as a two-dimensional code generating device for placing a padding code, wherein the disclosed data code does not exist and the total number of disclosed data codes is zero, and is the first in the code area The end identification code is arranged and encoded as a code word representing confidential data Anonymous Instead the data code in a part or all of the padding code, two-dimensional code generation program, characterized in that arranged after the end identification code. "And can grasp representable technical idea. As a result, the computer functioning as a two-dimensional code generation device using the two-dimensional code generation program has the same operations and effects as the MPU 11 and the like of the QR code printer 10 described above.

また、上述した第1実施形態では、QRコードプリンタ10にパソコン1を接続して当該パソコン1から印刷データを送る構成を例示して説明したが、英数字、漢字や記号等の文字データを出力可能な情報処理装置であれば、このような機能を備えたデジタルカメラや携帯電話機、あるいはハンドヘルドコンピュータやハンディターミナル等を、QRコードプリンタ10に接続する構成を採っても上述した作用および効果を得ることができる。   In the first embodiment described above, the configuration in which the personal computer 1 is connected to the QR code printer 10 and print data is sent from the personal computer 1 has been described as an example. However, character data such as alphanumeric characters, kanji characters, and symbols is output. If the information processing apparatus is capable, the above-described operations and effects can be obtained even when a digital camera, a mobile phone, a handheld computer, a handy terminal, or the like having such a function is connected to the QR code printer 10. be able to.

次に、QRコードリーダ20の構成を説明する。本構成に係るQRコードリーダ20は、第1実施形態で説明したQRコードプリンタ10により印刷されたQRコードQをデコード可能なQRコードリーダ20で、通常仕様のQRコード(終端識別コードの前に開示データコードが配置されているもの)もデコード可能に構成されている。なお、QRコードリーダ20によりデコード可能なQRコードQの構成は、図3および図4を参照して既に説明しているので、ここでは説明を割愛する。 Next, the configuration of the QR code reader 20 will be described. The QR code reader 20 according to the present configuration is a QR code reader 20 that can decode the QR code Q printed by the QR code printer 10 described in the first embodiment. The disclosed data code is also configured to be decodable. The configuration of the QR code Q that can be decoded by the QR code reader 20 has already been described with reference to FIG. 3 and FIG.

まず、QRコードリーダ20の構成を図5を参照して説明する。なお、図5には、QRコードリーダのハードウェア構成例を示すブロック図が図示されている。  First, the configuration of the QR code reader 20 will be described with reference to FIG. FIG. 5 is a block diagram illustrating a hardware configuration example of the QR code reader.

図5に示すように、QRコードリーダ20は、主に、照明光源21、受光センサ23、結像レンズ27等の光学系と、メモリ35、制御回路40、操作スイッチ42、液晶表示器46等のマイコン系と、電源スイッチ41、バッテリ49等の電源系と、から構成されている。なお、これらは、図略のプリント配線板に実装あるいは図略のハウジング内に内装されており、ハードウェア的には一般仕様のQRコードリーダ(読取装置)と同様に構成されている。   As shown in FIG. 5, the QR code reader 20 mainly includes an optical system such as an illumination light source 21, a light receiving sensor 23, and an imaging lens 27, a memory 35, a control circuit 40, an operation switch 42, a liquid crystal display 46, and the like. And a power supply system such as a power switch 41 and a battery 49. These are mounted on a printed wiring board (not shown) or housed in a housing (not shown), and are configured in the same manner as a QR code reader (reading device) of general specifications in hardware.

光学系は、照明光源21、受光センサ23、結像レンズ27等から構成されている。照明光源21は、照明光Lfを発光可能な照明光源として機能するもので、例えば、赤色のLEDとこのLEDの出射側に設けられる拡散レンズ、集光レンズ等とから構成されている。本構成では、受光センサ23を挟んだ両側に照明光源21が設けられており、図略のケースの読取口を介してラベルPに向けて照明光Lfを照射可能に構成されている。このラベルPには、第1実施形態で説明したQRコードQが印刷されている。 The optical system includes an illumination light source 21, a light receiving sensor 23, an imaging lens 27, and the like. The illumination light source 21 functions as an illumination light source capable of emitting illumination light Lf, and includes, for example, a red LED and a diffusion lens, a condensing lens, and the like provided on the emission side of the LED. In this configuration , illumination light sources 21 are provided on both sides of the light receiving sensor 23, and the illumination light Lf can be irradiated toward the label P through a reading port of a case (not shown). The QR code Q described in the first embodiment is printed on the label P.

受光センサ23は、ラベルPやQRコードQに照射されて反射した反射光Lrを受光可能に構成されるもので、例えば、C−MOSやCCD等の固体撮像素子である受光素子を2次元に配列したエリアセンサが、これに相当する。受光センサ23は、結像レンズ27を介して入射する入射光をこの受光面23aで受光可能に図略のプリント配線板に実装されている。   The light receiving sensor 23 is configured to receive the reflected light Lr irradiated and reflected on the label P or the QR code Q. For example, a light receiving element which is a solid-state imaging element such as a C-MOS or CCD is two-dimensionally arranged. The arranged area sensor corresponds to this. The light receiving sensor 23 is mounted on a printed wiring board (not shown) so that incident light incident through the imaging lens 27 can be received by the light receiving surface 23a.

結像レンズ27は、外部から読取口を介して入射する入射光を集光して受光センサ23の受光面23aに像を結像可能な結像光学系として機能するもので、例えば、鏡筒とこの鏡筒内に収容される複数の集光レンズとにより構成されている。   The imaging lens 27 functions as an imaging optical system capable of condensing incident light incident from the outside via a reading port and forming an image on the light receiving surface 23a of the light receiving sensor 23. And a plurality of condensing lenses housed in the lens barrel.

次に、マイコン系の構成概要を説明する。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、アドレス発生回路36、同期信号発生回路38、制御回路40、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコンとして機能し得る制御回路40およびメモリ35と中心に構成される。   Next, a configuration outline of the microcomputer system will be described. The microcomputer system includes an amplification circuit 31, an A / D conversion circuit 33, a memory 35, an address generation circuit 36, a synchronization signal generation circuit 38, a control circuit 40, an operation switch 42, an LED 43, a buzzer 44, a liquid crystal display 46, and a communication interface 48. Etc. As the name suggests, this microcomputer system is composed of a control circuit 40 and a memory 35 that can function as a microcomputer.

光学系の受光センサ23から出力される画像信号は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データは、メモリ35に入力されると、画像データ蓄積領域に蓄積される。なお、同期信号発生回路38は、受光センサ23およびアドレス発生回路36に対する同期信号を発生可能に構成されており、またアドレス発生回路36は、この同期信号発生回路38から供給される同期信号に基づいて、メモリ35に格納される画像データの格納アドレスを発生可能に構成されている。   An image signal output from the light receiving sensor 23 of the optical system is amplified by a predetermined gain by being input to the amplification circuit 31 and then converted from an analog signal to a digital signal when input to the A / D conversion circuit 33. Is done. When the digitized image signal, that is, image data is input to the memory 35, it is stored in the image data storage area. The synchronization signal generation circuit 38 is configured to generate a synchronization signal for the light receiving sensor 23 and the address generation circuit 36. The address generation circuit 36 is based on the synchronization signal supplied from the synchronization signal generation circuit 38. Thus, the storage address of the image data stored in the memory 35 can be generated.

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

制御回路40は、QRコードリーダ20全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなり、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置と接続可能に構成されており、本構成の場合、電源スイッチ41、操作スイッチ42、LED43、ブザー44、液晶表示器46、通信インタフェース48等が接続されている。 The control circuit 40 is a microcomputer capable of controlling the entire QR code reader 20 and includes a CPU, a system bus, an input / output interface, and the like, and can constitute an information processing apparatus together with the memory 35 and has an information processing function. The control circuit 40 is configured to be connectable to various input / output devices via a built-in input / output interface. In this configuration , the power switch 41, the operation switch 42, the LED 43, the buzzer 44, and a liquid crystal display are provided. Device 46, communication interface 48, etc. are connected.

これにより、例えば、電源スイッチ41や操作スイッチ42の監視や管理、またインジケータとして機能するLED43の点灯・消灯、ビープ音やアラーム音を発生可能なブザー44の鳴動のオンオフ、さらには読み取ったQRコードQによるコード内容を画面表示可能な液晶表示器46の画面制御や外部装置とのシリアル通信を可能にする通信インタフェース48の通信制御等を可能にしている。なお、通信インタフェース48に接続される外部装置には、当該QRコードリーダ20の上位システムに相当するホストコンピュータHST等が含まれる。   Thereby, for example, monitoring and management of the power switch 41 and the operation switch 42, turning on / off the LED 43 functioning as an indicator, turning on / off the buzzer 44 capable of generating a beep sound and an alarm sound, and further reading the QR code Screen control of the liquid crystal display 46 capable of displaying the code content by Q, communication control of the communication interface 48 enabling serial communication with an external device, and the like are enabled. The external device connected to the communication interface 48 includes a host computer HST corresponding to the host system of the QR code reader 20 and the like.

電源系は、電源スイッチ41、バッテリ49等により構成されており、制御回路40により管理される電源スイッチ41のオンオフによって、上述した各装置や各回路に、バッテリ49から供給される駆動電圧の導通や遮断が制御されている。なお、バッテリ49は、所定の直流電圧を発生可能な二次電池で、例えば、リチウムイオン電池等がこれに相当する。また、バッテリ49によることなく、例えば、通信インタフェース48を介して接続されるホストコンピュータHST等の外部装置から電力供給を受ける構成を採る場合もあり、この場合には当該バッテリ49は不要となる。   The power supply system includes a power switch 41, a battery 49, and the like. When the power switch 41 managed by the control circuit 40 is turned on and off, the conduction of the drive voltage supplied from the battery 49 to each of the above-described devices and circuits is performed. Or shut off is controlled. The battery 49 is a secondary battery capable of generating a predetermined DC voltage, and corresponds to, for example, a lithium ion battery. Further, the battery 49 may be configured to receive power supply from an external device such as the host computer HST connected via the communication interface 48 without using the battery 49. In this case, the battery 49 is unnecessary.

このようにQRコードリーダ20を構成することによって、例えば、電源スイッチ41がオンされて所定の自己診断処理等が正常終了し、QRコードQの読み取りが可能な状態になると、照明光Lfの発光を指示する操作スイッチ42(例えばトリガースイッチ)の入力を受け付ける。これにより、利用者がトリガースイッチを引いてオンにすることで、制御回路40が同期信号を基準に照明光源21に発光信号を出力するので、当該発光信号を受けた照明光源21は、LEDを発光させて照明光Lfを照射する。   By configuring the QR code reader 20 in this way, for example, when the power switch 41 is turned on and a predetermined self-diagnosis process or the like is normally completed and the QR code Q can be read, the illumination light Lf is emitted. The input of the operation switch 42 (for example, a trigger switch) is given. Accordingly, when the user pulls the trigger switch to turn it on, the control circuit 40 outputs a light emission signal to the illumination light source 21 based on the synchronization signal, and the illumination light source 21 that has received the light emission signal turns on the LED. Light is emitted to irradiate illumination light Lf.

すると、QRコードQに照射された照明光Lfが反射し、その反射光Lrが読取口を介して結像レンズ27に入射するため、受光センサ23の受光面23aには、QRコードQの像が結像される。これにより、QRコードQの像が受光センサ23を露光するため、上述したマイコン系によって画像処理された当該QRコードQの画像データが、メモリ35の画像データ蓄積領域を介して、次に説明するデコード処理に渡される。   Then, the illumination light Lf irradiated to the QR code Q is reflected, and the reflected light Lr enters the imaging lens 27 through the reading port, so that the image of the QR code Q is formed on the light receiving surface 23a of the light receiving sensor 23. Is imaged. Thereby, since the image of the QR code Q exposes the light receiving sensor 23, the image data of the QR code Q subjected to the image processing by the microcomputer system described above will be described below through the image data storage area of the memory 35. Passed to the decoding process.

ここで、デコード処理を図4,図6および図7を参照して説明する。なお、図6には、デコード処理の流れを示すフローチャートが図示されている。また図7には、図6に示す復号化処理の流れを示すフローチャートが図示されている。また、図4には、1型のQRコードの構成例を示す説明図が図示されている。   Here, the decoding process will be described with reference to FIG. 4, FIG. 6, and FIG. FIG. 6 is a flowchart showing the flow of the decoding process. FIG. 7 is a flowchart showing the flow of the decoding process shown in FIG. FIG. 4 is an explanatory diagram showing a configuration example of a type 1 QR code.

図6に示すように、デコード処理は、QRコードリーダ20の電源投入により起動する制御回路40およびメモリ35によって開始され、まずステップS201により初期設定処理が行われる。この処理は、メモリ35の作業領域や画像データを蓄える画像データ蓄積領域をクリアしたり、所定のフラグやカウンタ等をクリアする。なお、ここで説明するQRコードリーダ20は、ホストコンピュータHSTと接続されており、当該ホストコンピュータHSTから設定データとして復号キーのデータを取得するものとする。   As shown in FIG. 6, the decoding process is started by the control circuit 40 and the memory 35 that are activated when the QR code reader 20 is turned on. First, an initial setting process is performed in step S201. This process clears the work area of the memory 35 and the image data storage area for storing image data, and clears predetermined flags, counters, and the like. It is assumed that the QR code reader 20 described here is connected to the host computer HST, and obtains decryption key data from the host computer HST as setting data.

ステップS203では、タイマーのカウント値をクリアする処理が行われる。このステップS203でカウンタ値がクリアされるタイマーは、次のステップS205により所定時間の経過を計時するものである。   In step S203, processing for clearing the count value of the timer is performed. The timer whose counter value is cleared in step S203 measures the elapse of a predetermined time in the next step S205.

ステップS205では、先のタイマーにより所定時間が経過したか否かを判断する処理が行われる。即ち、ホストコンピュータHSTから送られてくる設定データに復号キーのデータが含まれているか否かを次のステップS209により判断する必要上、例えば、所定時間として5秒間が経過したか否かを判断し、この時間が経過するまでに、ホストコンピュータHSTから暗号化に関するデータが送られてこない場合には、所定時間の経過とともにステップS207に処理を移行する(S205;Yes)。   In step S205, processing is performed to determine whether or not a predetermined time has elapsed by the previous timer. That is, it is necessary to determine whether or not the decryption key data is included in the setting data sent from the host computer HST. For example, it is determined whether or not 5 seconds have passed as the predetermined time. If no data related to encryption is sent from the host computer HST before this time elapses, the process proceeds to step S207 as the predetermined time elapses (S205; Yes).

これに対し、所定時間が経過していない場合には(S205;No)、次のステップS209により復号キー(復号鍵)を受信したか否かを判断する処理が行われる。そして、これを受信していると判断した場合には(S209;Yes)、続くステップS211に処理を移行し、受信していると判断できない場合には(S209;No)、前述したステップS205に処理を戻して、再度、時間の経過を判断する。   On the other hand, when the predetermined time has not elapsed (S205; No), a process of determining whether or not a decryption key (decryption key) has been received in the next step S209 is performed. If it is determined that it has been received (S209; Yes), the process proceeds to the subsequent step S211. If it cannot be determined that it has been received (S209; No), the process proceeds to step S205 described above. The processing is returned and the passage of time is determined again.

そして、所定時間が経過したとステップS205により判断した場合には(S205;Yes)、ステップS207により所定のフラグに「0」をセットする。このフラグは、QRコードQの秘匿データコードを復号キーで復号するか否かを示すもので、「0」がセットされている場合には、復号キーで復号しないことを示し、「1」がセットされている場合には、復号キーで復号することを示す。このため、209により復号キーを受信していると判断した場合には(S209;Yes)、続くステップS211によりこのフラグに「1」をセットする処理が行われる。   If it is determined in step S205 that the predetermined time has elapsed (S205; Yes), “0” is set to a predetermined flag in step S207. This flag indicates whether or not the secret data code of the QR code Q is decrypted with the decryption key. When “0” is set, this flag indicates that decryption with the decryption key is not performed. When set, it indicates that decryption is performed with the decryption key. For this reason, when it is determined by 209 that the decryption key has been received (S209; Yes), a process of setting “1” to this flag is performed in the subsequent step S211.

ステップS211により所定のフラグに「1」をセットすると、続くステップ213により、画像データを取得する処理が行われる。即ち、メモリ35の画像データ蓄積領域から蓄えられている画像データを読み出す処理を行う。これにより、例えば、図4に示すようなQRコードQのコード画像が得られる。   When “1” is set in the predetermined flag in step S211, a process of acquiring image data is performed in the subsequent step 213. That is, a process of reading out image data stored from the image data storage area of the memory 35 is performed. Thereby, for example, a code image of QR code Q as shown in FIG. 4 is obtained.

続くステップS215では、位置検出パターンを検出する処理が行われる。即ち、QRコードQは、図4に示すように、その三隅に位置検出パターンが設けられているため、これらを検出することによって、次のステップS217によりQRコードQのコード外形を検出する。   In subsequent step S215, processing for detecting a position detection pattern is performed. That is, as shown in FIG. 4, since the QR code Q is provided with position detection patterns at its three corners, the code outline of the QR code Q is detected in the next step S217 by detecting these.

そして、ステップS219により各セルの中心座標を算出する処理を行うことによって次ステップS221により各セルの白黒を判別する。これにより、図4に示す形式情報(図4に示す斜線部分)やデータブロックを認識可能になるので、続くステップS223により、欠損等しているデータブロックがある場合には、そのブロックを誤り訂正可能であるか否かを判断する。   Then, by performing the process of calculating the center coordinates of each cell in step S219, the monochrome of each cell is determined in the next step S221. This makes it possible to recognize the format information shown in FIG. 4 (the hatched portion shown in FIG. 4) and the data block. If there is a missing data block in the subsequent step S223, the block is error-corrected. Determine whether it is possible.

そして、ステップS223により誤り訂正可能であると判断できる場合には(S223;OK)、誤り訂正をして続くステップS300により復号化処理を行う。これに対し、ステップS223により誤り訂正可能であると判断できない場合には(S223;NG)、誤り訂正できないので、ステップS213に処理を移行して再度、画像データを取得してステップS215〜S221の各処理を行う。   If it can be determined in step S223 that error correction is possible (S223; OK), error correction is performed and decoding processing is performed in subsequent step S300. On the other hand, if it cannot be determined in step S223 that the error can be corrected (S223; NG), the error cannot be corrected. Therefore, the process proceeds to step S213, and image data is acquired again, and steps S215 to S221 are performed. Perform each process.

ステップS300は、その詳細が図7に図示されているので、ここからは図7を参照して復号化処理を説明する。図7に示すように、復号化処理では、ステップS301により、まずカウンタn,Cntにそれぞれ0(零)をセットする処理が行われる。カウンタnは、本復号化処理において、QRコードQを構成するデータコードの順番を示す変数として機能する。またカウンタCntは、通常仕様のQRコード等に含まれる開示データコードの数を示す変数として機能する。   Details of step S300 are shown in FIG. 7, and the decoding process will be described below with reference to FIG. As shown in FIG. 7, in the decoding process, first, a process of setting 0 (zero) to the counters n and Cnt is performed in step S301. The counter n functions as a variable indicating the order of data codes constituting the QR code Q in the present decoding process. The counter Cnt functions as a variable indicating the number of disclosed data codes included in a normal specification QR code or the like.

ステップS303では、カウンタnが指すn番目のデータコードを取得する処理が行われる。そして、続くステップS305では、ステップS303により取得されたn番目のデータコードが、終端識別コードであるか否かを判断する処理が行われる。これにより、当該データコードが終端識別コードであると判断した場合には(S305;Yes)、読み取ったQRコードは前述した第1実施形態により生成されたQRコードQであるか、または終端識別コードよりも前に配置される通常のデータコードはこれ以上、当該QRコードには含まれていないことになるので、ステップS315に処理を移行する。   In step S303, processing for obtaining the nth data code pointed to by the counter n is performed. Then, in the subsequent step S305, a process for determining whether or not the nth data code acquired in step S303 is a terminal identification code is performed. As a result, when it is determined that the data code is the termination identification code (S305; Yes), the read QR code is the QR code Q generated according to the first embodiment described above, or the termination identification code. Since the normal data code arranged before is no longer included in the QR code, the process proceeds to step S315.

これに対し、当該データコードが終端識別コードであると判断できない場合には(S305;No)、読み取ったQRコードは前述した第1実施形態により生成されたQRコードQではなく、通常仕様のQRコードであり、終端識別コードよりも前にまだ通常のデータコードが存在することになるので、続くステップS307に処理を移行して次のデータコード、つまり(n+1)番目のデータコードをコード数iを取得する。これは、第1実施形態で図3(C) を参照して説明したように、データコードの2文字目相当の位置には、文字数が格納されていることに基づくもので、その詳細は、JISの基本仕様(JIS X 0510:2004)の「8.4データの符号化」に記載されている。   On the other hand, when it is not possible to determine that the data code is a terminal identification code (S305; No), the read QR code is not the QR code Q generated by the first embodiment described above, but the normal specification QR. Since a normal data code still exists before the terminal identification code, the process proceeds to the subsequent step S307, and the next data code, that is, the (n + 1) th data code is replaced with the code number i. To get. As described with reference to FIG. 3C in the first embodiment, this is based on the fact that the number of characters is stored at the position corresponding to the second character of the data code. It is described in “8.4 Data Encoding” in JIS Basic Specification (JIS X 0510: 2004).

ステップS307によりコード数iを取得すると、続くステップS309では、この文字数(i)分だけデータコードを取得する処理が行われ、さらにステップS311により当該データコード、つまり開示データコード(開示するデータを表すコード語としてコード化されたデータコード)を復号(デコード)する処理が行われる。   When the number of codes i is acquired in step S307, in the subsequent step S309, a process for acquiring data codes for the number of characters (i) is performed. A process of decoding (decoding) a data code encoded as a code word is performed.

ステップS311による復号処理が終わると、ステップS313により、カウンタnが次のデータコードを指すように「n+i+1」をカウンタnに、またカウンタCntが開示データコードの数を1だけ加算するように「Cnt+1」をCntに、それぞれ設定する処理が行われた後、再びステップS303に処理を戻してn番目のデータコードを取得する処理が行われる。   When the decoding process in step S311 is completed, in step S313, “n + i + 1” is added to the counter n so that the counter n indicates the next data code, and “Cnt + 1” is added so that the counter Cnt adds 1 to the number of disclosed data codes. "Is set to Cnt, and then the process returns to step S303 to acquire the nth data code.

このように、ステップS303〜S313では、終端識別コードの前方に配置されて元来デコードされる通常のデータコード(第1のデータコード、開示データコード)を取得してデコードする処理が行われる。   As described above, in steps S303 to S313, a process of obtaining and decoding a normal data code (first data code, disclosed data code) that is arranged in front of the terminal identification code and originally decoded is performed.

ステップS305により、取得したn番目のデータコードが終端識別コードであると判断すると(S305;Yes)、ステップS314により、カウンタCntの値が0(零)を超えているか否かを判断する処理が行われる。   If it is determined in step S305 that the acquired n-th data code is a termination identification code (S305; Yes), a process of determining whether or not the value of the counter Cnt exceeds 0 (zero) in step S314. Done.

即ち、開示データコードの数をカウントしているカウンタCntの値が0(零)を超えている場合には(S343;Yes)、読み取ったQRコードには開示データコードが含まれていることになるので、ステップS315〜S341による秘匿データコードに関する各処理を行うことなく、ステップS343に処理を移行する。これにより、終端識別コードの前には、開示データコード(第1のデータコード)が配置されているか否かを判断することができるので、このステップS314を実行する制御回路40等は、「第1のデータコード判断手段」に相当し得るものである。 That is, when the value of the counter Cnt that counts the number of disclosed data codes exceeds 0 (zero) (S343; Yes), the read data code includes the disclosed data code. Therefore, the process proceeds to step S343 without performing each process related to the secret data code in steps S315 to S341. Thus, before the end identification code, it is possible to disclose data code (first data code) is equal to or is arranged, the control circuit 40 or the like to perform this step S314 is "No. 1 data code determination means ”.

これに対し、カウンタCntの値が0(零)を超えていない場合には(S343;No)、つまりカウンタCntの値が0(零)である場合には、読み取ったQRコードには開示データコードが含まれていないことになるので、その次のデータコードを取得するため、ステップS315によりカウンタnにn+1を設定する処理を行った後、ステップS317によりn番目のデータコードを取得する。   On the other hand, when the value of the counter Cnt does not exceed 0 (zero) (S343; No), that is, when the value of the counter Cnt is 0 (zero), the read QR code contains disclosed data. Since the code is not included, in order to acquire the next data code, the process of setting n + 1 to the counter n is performed in step S315, and then the nth data code is acquired in step S317.

続くステップS319では、ステップS317により取得されたn番目のデータコードが、秘匿識別コードであるか否かを判断する処理が行われる。これにより、終端識別コードの後には、秘匿データコード(第2のデータコード)が配置されているか否かを判断することができるので、このステップS319を実行する制御回路40等は、「第2のデータコード判断手段」に相当し得るものである。 In subsequent step S319, processing for determining whether or not the n-th data code acquired in step S317 is a secret identification code is performed. Thus, after the end identification code, it can be determined whether the secret data code (second data codes) are arranged, the control circuit 40 or the like to perform this step S319, the "second Can be equivalent to “data code determination means”.

そして、当該データコードが秘匿識別コードであると判断した場合には(S319;Yes)、秘匿識別コードの直後には、秘匿データコードが存在することになるので、続くステップS321に処理を移行して次のデータコード、つまり(n+1)番目のデータコードをコード数jを取得する。これも、ステップS309と同様に、データコードの2文字目相当の位置には、文字数が格納されていることに基づくものである。   If it is determined that the data code is a confidential identification code (S319; Yes), since the confidential data code exists immediately after the confidential identification code, the process proceeds to the subsequent step S321. The code number j is acquired for the next data code, that is, the (n + 1) th data code. This is also based on the fact that the number of characters is stored at the position corresponding to the second character of the data code, as in step S309.

なお、ステップS319により秘匿識別コードが配置されていると判断した場合には、例えば、ホストコンピュータHSTに対して当該QRコードQには、秘匿識別コードが配置されている旨を通知するように構成しても良い。これにより、ホストコンピュータHSTでは、終端識別コードよりも後方のデータコードが秘匿データコードである旨を把握することができる。また、本来、埋め草コードしか配置されない終端識別コードの後のコード領域(コード領域の空き部分)に、埋め草コード以外のもので秘匿データコードではないもの(例えばデータ化けにより埋め草コードに該当しなくなったもの)が配置されている場合には、秘匿データコードである旨の情報がホストコンピュータHSTに対して出力されないので、秘匿データコード以外のものをデコードすることで生じ得る誤動作を防止することができる。   When it is determined in step S319 that a secret identification code is arranged, for example, the host computer HST is notified that the secret identification code is arranged in the QR code Q. You may do it. As a result, the host computer HST can recognize that the data code behind the terminal identification code is a secret data code. In addition, in the code area after the termination identification code (the empty area of the code area) where only the padding code is originally placed, it is other than the padding code and is not a secret data code (for example, it corresponds to the padding code due to data corruption) In this case, since the information indicating that the data is a secret data code is not output to the host computer HST, a malfunction that may be caused by decoding something other than the secret data code is prevented. be able to.

これに対し、当該データコードが秘匿識別コードであると判断できない場合には(S319;No)、秘匿識別コードよりも後には、これ以上、秘匿データコードが当該QRコードQには含まれていないことになるので、本復号化処理を終了して図6に示すステップS300を終えてデコード処理を終了する。   On the other hand, when it cannot be determined that the data code is a confidential identification code (S319; No), no more confidential data code is included in the QR code Q after the confidential identification code. Therefore, this decoding process is finished, step S300 shown in FIG. 6 is finished, and the decoding process is finished.

ステップS321によりコード数jを取得すると、続くステップS323では、この文字数(j)分だけデータコードを取得する処理が行われ、さらにステップS325によりカウンタnが次のデータコード、つまり秘匿データコードを指すように「n+j+2」をカウンタnに設定する処理が行われた後、ステップS327によりn番目の復号キー検査データ(鍵特定情報)を取得する処理が行われる。   When the code number j is obtained in step S321, in the subsequent step S323, a process for obtaining the data code for the number of characters (j) is performed, and in step S325, the counter n indicates the next data code, that is, the secret data code. As described above, after the process of setting “n + j + 2” to the counter n is performed, a process of acquiring n-th decryption key check data (key specifying information) is performed in step S327.

続くステップS329では、前述した所定のフラグに「1」がセットされているか否か、つまりQRコードQの秘匿データコードを復号キーで復号するか否かを判断する処理が行われる。そして、当該フラグに「1」がセットされていない場合には(S329;No)、復号キーで復号する必要がないため、ステップS331,333の各処理をスキップしてステップS335に処理を移行する。   In the subsequent step S329, a process is performed to determine whether or not “1” is set in the above-described predetermined flag, that is, whether or not the secret data code of the QR code Q is decrypted with the decryption key. If “1” is not set in the flag (S329; No), it is not necessary to perform decryption with the decryption key. Therefore, the processes of steps S331 and 333 are skipped and the process proceeds to step S335. .

これに対し、所定のフラグに「1」がセットされている場合には(S329;Yes)、復号キーで復号する必要があるため、先のステップS327により取得した復号キー検査データに基づいて、ステップS209によりホストコンピュータHSTから受信した復号キーがこのn番目の秘匿データコードの暗号化データを解読する鍵として適合しているか否かの判断をステップS331により行う。   On the other hand, when “1” is set in the predetermined flag (S329; Yes), since it is necessary to decrypt with the decryption key, based on the decryption key check data acquired in the previous step S327, In step S331, it is determined whether or not the decryption key received from the host computer HST in step S209 is suitable as a key for decrypting the encrypted data of the nth secret data code.

そして、ステップS331に当該復号キーが適合していると判断した場合には(S331;Yes)、続くステップS333により暗号化データを解読する。なお、ここでの暗号化は、第1実施形態で説明した公知の視覚復号型暗号技術(視覚復号型秘密分散法)を用いたもので、これにより、秘匿データコードの暗号化データがこのような視覚復号型暗号技術により暗号化されている場合でも、復号して元の平文に戻すことができる。なお、このステップS333を実行する制御回路40等は、「復号手段」に相当し得るものである。 If it is determined that the decryption key is suitable for step S331 (S331; Yes), the encrypted data is decrypted in the subsequent step S333. The encryption here uses the well-known visual decryption type encryption technique (visual decryption type secret sharing method) described in the first embodiment, so that the encrypted data of the secret data code is like this. Even if it is encrypted by a visual decryption type encryption technique, it can be decrypted and returned to the original plaintext. The control circuit 40 or the like to perform this step S333 is may correspond to "decode unit".

これに対して、ステップS331に当該復号キーが適合していると判断できない場合には(S331;No)、当該n番目の秘匿データコードを解読することなく、ステップS333をスキップしてステップS335に処理を移行する。これにより、QRコードリーダ20が有する復号キーが当該n番目の秘匿データコードを解読できる復号キーでない場合には、当該n番目の秘匿データコードは解読も復号されないので、不要な復号処理を抑制することができる。なお、このステップS331を実行する制御回路40等は、「鍵適合判断手段」に相当し得るものである。 On the other hand, if it cannot be determined that the decryption key is compatible with step S331 (S331; No), step S333 is skipped without decrypting the n-th secret data code, and the process proceeds to step S335. Migrate processing. As a result, if the decryption key of the QR code reader 20 is not a decryption key that can decrypt the nth secret data code, the nth secret data code is neither decrypted nor decrypted, thereby suppressing unnecessary decryption processing. be able to. It should be noted that the control circuit 40 or the like that executes this step S331 can correspond to “key matching determination means”.

ステップS335では、秘匿データコードを復号する処理が行われる。即ち、その前のステップS333により暗号化データを解読することができているか、または元から暗号化されていないので、平文相当の秘匿データコードを復号(デコード)する。   In step S335, a process for decoding the secret data code is performed. That is, since the encrypted data can be decrypted in the previous step S333 or is not originally encrypted, the secret data code corresponding to the plaintext is decrypted (decoded).

ステップS335による復号処理が終わると、ステップS337により、カウンタnが次のデータコードを指すように「n+1」をカウンタnに設定する処理が行われた後、続くステップS339により、n番目のデータコードを取得する処理が行われる。   When the decoding process in step S335 is completed, a process of setting “n + 1” to the counter n is performed in step S337 so that the counter n indicates the next data code. Then, in the subsequent step S339, the nth data code is set. The process of acquiring is performed.

そして、ステップS341により、ステップS339で取得したn番目のデータコードが埋め草コードであるか否かを判断する処理が行われる。これにより、もし当該n番目のデータコードが埋め草コードである場合には(S341;Yes)、これ以上、当該QRコードQには秘匿データコードが含まれていないことになるので、続くステップS343に処理を移行する。   In step S341, processing is performed to determine whether the nth data code acquired in step S339 is a padding code. Thereby, if the nth data code is a padding code (S341; Yes), since the QR code Q does not contain any more secret data code, the following step S343 is performed. The process is transferred to.

これに対し、ステップS341により当該n番目のデータコードが埋め草コードであると判断されない場合には(S341;No)、当該n番目のデータコードは、秘匿データコードであるので、ステップS321に処理を移行して、再び(n+1)番目のデータコードをコード数jを取得することで、前述と同様の処理を行う。   On the other hand, if it is not determined in step S341 that the n-th data code is a padding code (S341; No), the n-th data code is a secret data code, so the process proceeds to step S321. , And the number n of the (n + 1) th data code is acquired again to perform the same processing as described above.

このように、ステップS317,S321〜S327,S333,S335では、終端識別コードの後方に配置されて、本来はデコードされないデータコード(第2のデータコード、秘匿データコード)を取得してデコードする処理が行われる。このため、これらの各ステップを実行する制御回路40等は、「デコード手段」に相当し得る。 As described above, in steps S317, S321 to S327, S333, and S335, processing for obtaining and decoding the data code (second data code, secret data code) that is arranged behind the terminal identification code and is not originally decoded. Is done. Therefore, the control circuit 40 or the like to perform each of these steps, may correspond to "decode unit".

ステップS343では、カウンタCntの値が0(零)を超えているか否かを判断する処理が行われる。即ち、開示データコードの数をカウントしているカウンタCntの値が0(零)を超えている場合には(S343;Yes)、読み取ったQRコードには開示データコードが含まれていることになるので、ステップS311によりデコードした開示データを次ステップS345によって液晶表示器46に出力する。   In step S343, a process of determining whether or not the value of the counter Cnt exceeds 0 (zero) is performed. That is, when the value of the counter Cnt that counts the number of disclosed data codes exceeds 0 (zero) (S343; Yes), the read data code includes the disclosed data code. Therefore, the disclosed data decoded in step S311 is output to the liquid crystal display 46 in the next step S345.

これに対し、開示データコードの数をカウントしているカウンタCntの値が0(零)を超えていない場合、つまり0(零)である場合には(S343;No)、読み取ったQRコードには開示データコードが含まれていないので、続くステップS345による出力処理をスキップしてその次のステップS347に処理を移行する。   On the other hand, when the value of the counter Cnt counting the number of disclosed data codes does not exceed 0 (zero), that is, 0 (zero) (S343; No), the read QR code is changed to Since no disclosure data code is included, the output process in the subsequent step S345 is skipped, and the process proceeds to the next step S347.

ステップS347では、ホストコンピュータHSTに開示データや秘匿データを出力する処理が行われる。即ち、読み取ったQRコードに開示データコードが含まれていた場合にはそれをデコードした開示データを、また読み取ったQRコードに秘匿データコードが含まれていた場合にはそれをデコードした秘匿データを、それぞれホストコンピュータHSTに出力する。なお、QRコードリーダ20にホストコンピュータHSTが接続されていない場合には、本ステップS347では出力処理を行うことなく、次のステップS349に処理を移行する。   In step S347, processing for outputting disclosed data and secret data to the host computer HST is performed. That is, when the disclosed data code is included in the read QR code, the disclosed data is decoded, and when the read QR code contains the confidential data code, the confidential data obtained by decoding the disclosed data code is displayed. , Respectively, to the host computer HST. If the host computer HST is not connected to the QR code reader 20, the process proceeds to the next step S349 without performing the output process in this step S347.

続くステップS349では、ブザー44を鳴動させる処理およびLED43を点灯させる処理が行われる。即ち、当該QRコードリーダ20を操作する操作者に対して読み取ったQRコードに含まれる開示データコードや秘匿データコードをデコードした旨を告知する。なお、本実施形態では、ステップS331による判断処理によって、復号キーが適合していると判断できない場合であっても(S331;No)、QRコードリーダ20をデコードできた旨をブザー44やLED43により告知する。本ステップS349による処理が完了すると、本復号化処理を終了して図6に示すステップS300を終えるので、一連のデコード処理を終了する。   In the subsequent step S349, a process for sounding the buzzer 44 and a process for lighting the LED 43 are performed. That is, the operator operating the QR code reader 20 is notified that the disclosed data code or the confidential data code included in the read QR code has been decoded. In the present embodiment, the buzzer 44 and the LED 43 indicate that the QR code reader 20 has been decoded even when it is not possible to determine that the decryption key is suitable by the determination processing in step S331 (S331; No). Notice. When the process in step S349 is completed, the present decoding process is terminated and step S300 shown in FIG. 6 is terminated, and thus a series of decoding processes are terminated.

これにより、復号キーが復号できる鍵でない場合であっても、このように操作者には読み取りが完了した旨を知らせるので、当該QRコードに復号できない秘匿データが含まれていることを操作者に知られ難くすることができる。また、復号キーが合わないために、復号できないQRコードを何度も読み取るとった操作者による無駄な操作を防止することができる。したがって、当該操作者に当該QRコードの解読を試みようとする不用意な動機を与える可能性を低くすることからセキュリティの強度を高めることができ、また操作性も向上することができる。   As a result, even if the decryption key is not a decryptable key, the operator is informed that the reading has been completed in this way, and therefore the operator is informed that the QR code contains confidential data that cannot be decrypted. It can be made difficult to know. In addition, since the decryption key does not match, it is possible to prevent a useless operation by an operator who reads a QR code that cannot be decrypted many times. Therefore, since the possibility of giving the operator an inadvertent motive to try to decode the QR code is reduced, the strength of security can be increased, and the operability can be improved.

以上説明したように、本構成に係るQRコードリーダ20によると、ステップS314により、終端識別コードよりも前に開示データコード(第1のデータコード)が配置されているか否かを判断し、ステップS319により、終端識別コードの後に秘匿データコード(第2のデータコード)が配置されているか否かを判断する。そして、ステップS314により開示データコードが配置されていないと判断し(S343;No)、かつ、ステップS319により秘匿データコードが配置されていると判断した場合(S319;Yes)、ステップS321〜S341により秘匿データコードをデコードする。 As described above, according to the QR code reader 20 according to the present configuration , in step S314, it is determined whether or not the disclosed data code (first data code) is arranged before the termination identification code. In S319, it is determined whether or not a secret data code (second data code) is placed after the termination identification code. If it is determined in step S314 that no disclosed data code is arranged (S343; No), and if it is determined in step S319 that a secret data code is arranged (S319; Yes), steps S321 to S341 are performed. Decode the secret data code.

これにより、本来、データ領域に配置されているはずの開示データコードが存在せず、埋め草コードしか配置されない終端識別コードの後のコード領域(コード領域の空き部分)に秘匿データコードが配置されている場合には、この秘匿データコードをデコードすることができる。したがって、コード語を配置すべきコード領域の空き部分に存在するデータコードをデコードすることができる。つまり、コード領域の最初に終端識別コードが配置され、その終端識別コードの後に秘匿データコードが配置されているQRコードQでもデコードすることができる。   As a result, there is no disclosed data code that should originally be placed in the data area, and the secret data code is placed in the code area (empty part of the code area) after the termination identification code where only the padding code is placed. If so, the secret data code can be decoded. Therefore, it is possible to decode the data code existing in the empty part of the code area where the code word is to be arranged. That is, it is possible to decode even a QR code Q in which a termination identification code is arranged at the beginning of the code area and a secret data code is arranged after the termination identification code.

つまり、第1実施形態で説明したQRコードプリンタ10で印刷したQRコードQのように、コード領域の最初(コード領域に配置されるべきデータコードの先頭)に終端識別コードが配置され、その終端識別コードの後に秘匿データコードが配置されていても、このようなQRコードQをデコードすることができる。   In other words, like the QR code Q printed by the QR code printer 10 described in the first embodiment, the end identification code is arranged at the beginning of the code area (the beginning of the data code to be arranged in the code area), and the end Even if the secret data code is arranged after the identification code, such a QR code Q can be decoded.

なお、上述したデコード処理では、ステップS327によりn番目の復号キー検査データを取得するように構成したが、例えば、第1実施形態で図3(D) を参照して説明したように復号キーそのものが秘匿データコードに付加されている場合には、このステップS327に代えて、n番目の復号キーを取得するように構成しても良い。これにより、秘匿データコードの復号キー(復号できる鍵)を当該QRコードリーダ20が持っていなくても、当該秘匿データコードを復号して元の平文に戻すことができる。この場合、「n番目の復号キーを取得する」処理を実行する制御回路40等は、「鍵分離手段」に相当し得る。 In the decoding process described above, the nth decryption key check data is obtained in step S327. For example, as described with reference to FIG. 3D in the first embodiment, the decryption key itself is used. May be added to the secret data code, the n-th decryption key may be obtained instead of step S327. Thus, even if the QR code reader 20 does not have a decryption key (decryptable key) for the secret data code, the secret data code can be decrypted and returned to the original plaintext. In this case, the control circuit 40 or the like for executing processing "Get n-th decryption key" may correspond to "key separation means".

また、各秘匿データコードごとに異なった暗号キーで暗号化されている場合であっても、各秘匿データコードについてそれぞれの復号キーが付加されているときには、ステップS327に代えて、n番目の復号キーを取得するように構成することで、秘匿データコードの復号キーを当該QRコードリーダ20が持っていなくても、それぞれの秘匿データコードを復号して元の平文に戻すことができる。   Even if each encrypted data code is encrypted with a different encryption key, if each decryption key is added to each encrypted data code, the nth decryption is performed instead of step S327. By configuring so as to acquire the key, each secret data code can be decrypted and returned to the original plaintext even if the QR code reader 20 does not have a decryption key for the secret data code.

さらに、上述したデコード処理では、ステップS327によりn番目の復号キー検査データを取得するように構成したが、例えば、第1実施形態で図3(D) を参照して説明したように位置情報としての「開始桁」が秘匿データコードに付加されている場合には、このステップS329に代えて、秘匿データコードから「開始桁」を分離してこの分離された「開始桁」に基づいて秘匿データコードを復号(デコード)した秘匿データをコード化される前のデータレコード中の位置関係に配置するように構成しても良い。これにより、コード語としてコード化される前のデータレコード中の位置関係において前後して混在する場合であっても、デコードしたデータを、この位置情報に基づいてコード化前の位置関係に配置することができる。   Furthermore, in the decoding process described above, the n-th decryption key check data is acquired in step S327. For example, as described with reference to FIG. If the “start digit” is added to the secret data code, instead of this step S329, the “start digit” is separated from the secret data code, and the secret data is based on the separated “start digit”. The secret data obtained by decoding (decoding) the code may be arranged in a positional relationship in the data record before being encoded. As a result, even if the positional relationship in the data record before being coded as a code word is mixed before and after, the decoded data is arranged in the positional relationship before coding based on this positional information. be able to.

また、上述したデコード処理では、ステップS314により開示データコードの有無を判断し、開示データが存在する場合には(S343;Yes)、ステップS315〜S341による秘匿データコードに関する各処理を行うことなく、デコードした開示データをステップS345により表示するように構成したが、このようなステップS314による判断処理を行うことなく、ステップS305から直接、ステップS315に処理を移行するように構成しても良い。これにより、開示データが存在する場合にも、ステップS315〜S341による秘匿データコードに関する各処理を行うため、開示データコードおよび秘匿データコードの双方も含むQRコードQであっても、これらのいずれもデコードすることができる。   Further, in the decoding process described above, the presence or absence of the disclosed data code is determined in step S314, and when the disclosed data exists (S343; Yes), without performing each process related to the secret data code in steps S315 to S341, Although the decoded disclosure data is configured to be displayed in step S345, the processing may be directly shifted from step S305 to step S315 without performing the determination processing in step S314. As a result, even when there is disclosed data, since each process related to the secret data code in steps S315 to S341 is performed, both the QR code Q including both the disclosed data code and the secret data code are included. Can be decoded.

1…パソコン
10…QRコードプリンタ
11…MPU
12…メモリ
20…QRコードリーダ(二次元コードの読取装置)
35…メモリ(第1のデータコード判断手段、第2のデータコード判断手段、デコード手段、秘匿識別コード判断手段、秘匿情報出力手段、復号手段、鍵適合判断手段、鍵分離手段)
40…制御回路(第1のデータコード判断手段、第2のデータコード判断手段、デコード手段、秘匿識別コード判断手段、秘匿情報出力手段、復号手段、鍵適合判断手段、鍵分離手段)
HST…ホストコンピュータ
P…ラベル
Q…QRコード(二次元コード)
1 ... PC 10 ... QR code printer 11 ... MPU
12 ... Memory 20 ... QR code reader (two-dimensional code reader)
35. Memory (first data code judging means, second data code judging means, decoding means, secret identification code judging means, secret information output means, decoding means, key matching judgment means, key separating means)
40. Control circuit (first data code judging means, second data code judging means, decoding means, secret identification code judging means, secret information output means, decrypting means, key matching judgment means, key separating means)
HST ... Host computer P ... Label Q ... QR code (two-dimensional code)

Claims (2)

開示するデータを表すコード語としてコード化された開示データコードの総数が、コード語を配置すべきコード領域に収容可能な容量に満たない場合、前記コード領域に配置された前記開示データコードがなすコード列の終端を示す終端識別コードをこのコード列の最後に配置するとともに、前記コード領域の空き部分にデータを表さない埋め草コードを配置する二次元コードの生成装置として、コンピュータを機能させるためのプログラムであって、前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする二次元コードの生成プログラム。  When the total number of disclosed data codes encoded as code words representing data to be disclosed is less than the capacity that can be accommodated in the code area where the code word is to be arranged, the disclosed data code arranged in the code area forms A computer is caused to function as a two-dimensional code generation device that arranges an end identification code indicating the end of a code string at the end of the code string and places a padding code that does not represent data in an empty portion of the code area. As a code word representing data to be concealed, the disclosed data code does not exist, the total number of disclosed data codes is zero, the termination identification code is arranged at the beginning of the code area Replace the coded secret data code with a part or all of the padding code and replace the terminal identification code Two-dimensional code generation program, characterized in that the arrangement. 開示するデータを表すコード語としてコード化された開示データコードの総数が、コード語を配置すべきコード領域に収容可能な容量に満たない場合、前記コード領域に配置された前記開示データコードがなすコード列の終端を示す終端識別コードをこのコード列の最後に配置するとともに、前記コード領域の空き部分にデータを表さない埋め草コードを配置する二次元コードであって、  When the total number of disclosed data codes encoded as code words representing data to be disclosed is less than the capacity that can be accommodated in the code area where the code word is to be arranged, the disclosed data code arranged in the code area forms A two-dimensional code in which an end identification code indicating the end of a code string is arranged at the end of the code string, and a padding code that does not represent data is arranged in an empty part of the code area,
前記開示データコードが存在せず前記開示データコードの総数が零であり、前記コード領域の最初に前記終端識別コードが配置されるとともに、  The disclosure data code does not exist, the total number of the disclosure data codes is zero, the termination identification code is arranged at the beginning of the code area, and
秘匿するデータを表すコード語としてコード化された秘匿データコードを前記埋め草コードの一部または全部に代えて、前記終端識別コードの後に配置することを特徴とする二次元コード。  A two-dimensional code characterized in that a secret data code encoded as a code word representing data to be concealed is arranged after the terminal identification code instead of a part or all of the padding code.
JP2012026478A 2012-02-09 2012-02-09 Two-dimensional code generating program and two-dimensional code Active JP5196046B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012026478A JP5196046B2 (en) 2012-02-09 2012-02-09 Two-dimensional code generating program and two-dimensional code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012026478A JP5196046B2 (en) 2012-02-09 2012-02-09 Two-dimensional code generating program and two-dimensional code

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007142240A Division JP4924206B2 (en) 2007-05-29 2007-05-29 Two-dimensional code generation method and reader

Publications (2)

Publication Number Publication Date
JP2012089177A true JP2012089177A (en) 2012-05-10
JP5196046B2 JP5196046B2 (en) 2013-05-15

Family

ID=46260648

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012026478A Active JP5196046B2 (en) 2012-02-09 2012-02-09 Two-dimensional code generating program and two-dimensional code

Country Status (1)

Country Link
JP (1) JP5196046B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014203380A (en) * 2013-04-09 2014-10-27 国立大学法人 鹿児島大学 Two-dimensional code, two-dimensional code generation method, two-dimensional code generation device, program and recording medium
CN104573776A (en) * 2013-10-12 2015-04-29 北京云码动力信息技术有限公司 Two-dimension code of break angle and implementing method thereof
JP5827738B1 (en) * 2014-10-15 2015-12-02 株式会社トッパンTdkレーベル Two-dimensional code generation method, two-dimensional code generation device, program, two-dimensional code, two-dimensional code reading method, and two-dimensional code reading device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004147006A (en) * 2002-10-23 2004-05-20 Sharp Corp Information transmitting method and portable terminal
JP2006166388A (en) * 2004-12-06 2006-06-22 Masayuki Tonai Method of canceling boundary by anteriorly disposing blank bit string
JP2007241327A (en) * 2006-03-03 2007-09-20 Namco Bandai Games Inc Program, information storage medium, two-dimensional code generation system, image generation system and two-dimensional code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004147006A (en) * 2002-10-23 2004-05-20 Sharp Corp Information transmitting method and portable terminal
JP2006166388A (en) * 2004-12-06 2006-06-22 Masayuki Tonai Method of canceling boundary by anteriorly disposing blank bit string
JP2007241327A (en) * 2006-03-03 2007-09-20 Namco Bandai Games Inc Program, information storage medium, two-dimensional code generation system, image generation system and two-dimensional code

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014203380A (en) * 2013-04-09 2014-10-27 国立大学法人 鹿児島大学 Two-dimensional code, two-dimensional code generation method, two-dimensional code generation device, program and recording medium
CN104573776A (en) * 2013-10-12 2015-04-29 北京云码动力信息技术有限公司 Two-dimension code of break angle and implementing method thereof
JP5827738B1 (en) * 2014-10-15 2015-12-02 株式会社トッパンTdkレーベル Two-dimensional code generation method, two-dimensional code generation device, program, two-dimensional code, two-dimensional code reading method, and two-dimensional code reading device
WO2016059822A1 (en) * 2014-10-15 2016-04-21 株式会社トッパンTdkレーベル Two-dimensional code generating method, two-dimensional code generating device, program, two-dimensional code, two-dimensional code reading method, and two-dimensional code reading device
US10108834B2 (en) 2014-10-15 2018-10-23 Toppan Tdk Label Co., Ltd. Method and device for generating two-dimensional barcode, program, two-dimensional barcode, and method and device for reading two-dimensional barcode

Also Published As

Publication number Publication date
JP5196046B2 (en) 2013-05-15

Similar Documents

Publication Publication Date Title
JP4924206B2 (en) Two-dimensional code generation method and reader
JP4924468B2 (en) Two-dimensional code generation method and reader
US8532299B2 (en) Method for producing two-dimensional code and reader for reading the two-dimensional code
JP5023949B2 (en) Two-dimensional code and its reading device
JP6136808B2 (en) Information code generation method, information code, information code reader, and information code utilization system
JP5070971B2 (en) Delivery management system
JP5196046B2 (en) Two-dimensional code generating program and two-dimensional code
JP2007206762A (en) Communication method and communication device using two-dimensional code
JP2007265354A (en) Method for displaying two-dimensional code, qr code, display medium, program and two-dimensional code reader
JP4951743B2 (en) Optical information reader and optical information reading system
JP2006224550A5 (en)
JP5196045B2 (en) Printer for printing two-dimensional code, display device for displaying two-dimensional code, and system
EP2000950B1 (en) Method for producing two-dimensional code and reader for reading the two-dimensional code
JP5505131B2 (en) IC card reading system and operation management system
JP2010146461A (en) Reading device for bar code symbol
JP6136688B2 (en) Information code utilization system and information code reader
JP5724721B2 (en) Optical information reader
JP6265288B2 (en) Information code generation method, information code, information code reader, and information code utilization system
JP2020086893A (en) Two-dimensional code evaluation system and method
JP2009187260A (en) Digital pen system
JP2020035057A (en) Information code, information code generation method, information code generation device, and information code read system
JP2015194811A (en) Information code, information code reading device, and information code reading system
JP2022015837A (en) Two-dimensional code generation method, two-dimensional code, and two-dimensional code reader
JP2010132230A (en) Information notification system using indicator, indicator device, and notification device
JP2014049020A (en) Optical information reading device and optical information reading system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120224

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130121

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

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5196046

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250