JP2008052587A - Program, information storage medium, two-dimensional code generation system and two-dimensional code - Google Patents

Program, information storage medium, two-dimensional code generation system and two-dimensional code Download PDF

Info

Publication number
JP2008052587A
JP2008052587A JP2006229561A JP2006229561A JP2008052587A JP 2008052587 A JP2008052587 A JP 2008052587A JP 2006229561 A JP2006229561 A JP 2006229561A JP 2006229561 A JP2006229561 A JP 2006229561A JP 2008052587 A JP2008052587 A JP 2008052587A
Authority
JP
Japan
Prior art keywords
value
dimensional code
design data
module
data
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
JP2006229561A
Other languages
Japanese (ja)
Other versions
JP3957734B1 (en
Inventor
Satoshi Ouchi
聡 大内
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.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games 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 Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2006229561A priority Critical patent/JP3957734B1/en
Application granted granted Critical
Publication of JP3957734B1 publication Critical patent/JP3957734B1/en
Publication of JP2008052587A publication Critical patent/JP2008052587A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

<P>PROBLEM TO BE SOLVED: To generate a two-dimensional code in which an optional design is constructed by colors of modules arranged in the two-dimensional code. <P>SOLUTION: A color value of each module of color design data is corrected on the basis of the value of a converted bit string resulting from reconversion of an inversely converted bit string resulting from inverse conversion of binary design data corresponding to the color design data. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、プログラム、情報記憶媒体、2次元コード生成システム、2次元コードに関する。   The present invention relates to a program, an information storage medium, a two-dimensional code generation system, and a two-dimensional code.

従来より、所定のフォーマット情報に基づいて、データを示すモジュールを2次元に配置した2次元コードが知られている。この2次元コードでは、1次元コードに比して狭い領域で多くのデータを読み取らせることができる。このような従来の技術として、例えば特許第2938338号公報に開示されるものがある。   Conventionally, a two-dimensional code in which modules indicating data are two-dimensionally arranged based on predetermined format information is known. With this two-dimensional code, a larger amount of data can be read in a narrower area than the one-dimensional code. As such a conventional technique, for example, there is one disclosed in Japanese Patent No. 2938338.

かかる2次元コードでは2次元コードのサイズに対してデータ量が少ないと、データを示さない領域が発生する。この場合、従来の2次元コードでは、データを示さない領域に所定のフォーマット情報に従ってモジュールを配置する。
特許第2938338号公報
In such a two-dimensional code, if the data amount is small with respect to the size of the two-dimensional code, an area not showing data is generated. In this case, in the conventional two-dimensional code, modules are arranged according to predetermined format information in an area not showing data.
Japanese Patent No. 2938338

しかし、データを示さない領域にモジュールを配置するフォーマット情報は、各種モジュールがデータを示さない領域にバランスよく配置されるように構成されている。従って、生成される2次元コードのモジュールパターンの構成に特徴を持たせて、他の2次元コードと差別化をはかることができなかった。   However, the format information for arranging modules in an area not showing data is configured such that various modules are arranged in a balanced manner in an area not showing data. Therefore, it has been impossible to differentiate from other two-dimensional codes by giving a feature to the configuration of the module pattern of the generated two-dimensional code.

そこで本発明は、2次元コードのデータを示さない領域など、所定の領域に配置されるモジュールが、任意のデザインを構成して配置されるように2次元コードを生成することができるプログラム、情報記憶媒体を提供することにある。   Therefore, the present invention provides a program and information that can generate a two-dimensional code so that modules arranged in a predetermined area, such as an area not showing two-dimensional code data, can be arranged in an arbitrary design. It is to provide a storage medium.

また本発明は、2次元コードに配置されるモジュールの色により、任意のデザインが構成されるように2次元コードを生成することができるプログラム、情報記憶媒体を提供することにある。   It is another object of the present invention to provide a program and an information storage medium that can generate a two-dimensional code so that an arbitrary design is configured by the colors of modules arranged in the two-dimensional code.

(1) 本発明は、2次元コードを生成するためのシステムであって、
2次元コードのサイズデータと、2次元コードから読み取られるべき原データと、前記サイズデータに応じた2次元コードのモジュールごとの階調値から構成された多階調デザインデータと、前記多階調デザインデータのモジュールごとの階調値が各モジュールの階調値に応じて2値化された2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと原データとに基づいて、原データのデータ量に応じた2次元コードのデザインデータ領域を特定するデザインデータ領域特定部と、
前記デザインデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求める2値化デザインデータ変換部と、
前記求められた逆変換ビット列と前記原データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める2次元コードデータ生成部と、
少なくとも前記デザインデータ領域に対応する前記多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求める多階調デザインデータ補正部と、
前記補正後の階調値に基づいて2次元コードを生成する2次元コード生成部とを含む2次元コード生成システムに関係する。
(1) The present invention is a system for generating a two-dimensional code,
Size data of a two-dimensional code, original data to be read from the two-dimensional code, multi-tone design data composed of tone values for each module of the two-dimensional code corresponding to the size data, and the multi-tone A data acquisition unit that acquires binarized design data in which the gradation value of each module of the design data is binarized according to the gradation value of each module;
A design data area specifying unit for specifying a design data area of a two-dimensional code according to the data amount of the original data based on the size data and the original data;
A binarized design data conversion unit for obtaining an inversely converted bit string obtained by inversely converting the binarized design data corresponding to the design data area based on the format information of the two-dimensional code;
A two-dimensional code data generation unit for obtaining a converted bit string obtained by converting the obtained inversely converted bit string and the bit string of the original data based on the format information of the two-dimensional code;
A corrected level obtained by correcting the gradation value so that at least a gradation value for each module of the multi-gradation design data corresponding to the design data area is read as a value of the converted bit string corresponding to each module. A multi-tone design data correction unit for obtaining a tone value;
The present invention relates to a two-dimensional code generation system including a two-dimensional code generation unit that generates a two-dimensional code based on the corrected gradation value.

また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、上記プログラムに基づいて生成した2次元コードに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。また本発明は、上記2次元コード生成システム、プログラム、情報記憶媒体を用いて生成された2次元コードが印刷された印刷物に関係する。また本発明は、上記2次元コード生成システム、プログラム、情報記憶媒体を用いて生成された2次元コードとして読み取られる2次元コード画像を生成するシステム、プログラム及び情報記憶媒体に関係する。   The present invention also relates to a program that causes a computer to function as each of the above-described units. The present invention also relates to a two-dimensional code generated based on the program. The present invention also relates to a computer-readable information storage medium that stores (records) a program that causes a computer to function as each unit. The present invention also relates to a printed matter on which a two-dimensional code generated using the above-described two-dimensional code generation system, program, and information storage medium is printed. The present invention also relates to a system, a program, and an information storage medium that generate a two-dimensional code image that is read as a two-dimensional code generated using the above-described two-dimensional code generation system, program, and information storage medium.

本発明において「階調値(色値)」とは、明るさや色を設定するためのパラメータであって、グレイスケールを示すパラメータや、R・G・BやY・Cr・Cb、Y・M・C・Kなどの色成分ごとの明るさを示すパラメータや、色合いを示す色相、鮮やかさを示す彩度、明るさを示す明度などのパラメータ、輝度などのパラメータ等、種々のパラメータとすることができる。即ち2次元コードの読み取りに影響を与える種々のパラメータとすることができる。また、「多階調デザインデータ」とは、少なくとも3階調(3値)以上の階調値から構成されたデータとすることができる。   In the present invention, the “tone value (color value)” is a parameter for setting brightness and color, and is a parameter indicating gray scale, R · G · B, Y · Cr · Cb, Y · M. Various parameters such as parameters indicating brightness for each color component such as C / K, hue indicating hue, saturation indicating vividness, parameter such as brightness indicating brightness, parameter such as brightness, etc. Can do. That is, various parameters that affect the reading of the two-dimensional code can be used. The “multi-gradation design data” can be data composed of gradation values of at least three gradations (three values).

2次元コードでは、例えば2次元コードを構成するモジュールが2値化データのいずれを示すものであるか(例えば白か黒か)を読み出すことにより、2次元コードに化体されたビット列を読み出す。従って2次元コードの各モジュールは、例えば白か黒のように明らかに異なるものとして読み取られる色とすることが好ましい。しかしモジュールの色が白か黒でなくとも、階調値が黒に近い範囲の暗い色であれば一方の値を示すものとして読み取らせ、階調値が白に近い範囲の明るい色であれば他方の値を示すものとして読み取らせることができる。即ち2次元コードの各モジュールの色が、2値化データのいずれを示すものであるか読み取り可能な範囲の色であれば、2次元コードとして機能させることができる。しかし2次元コードのモジュールの色が、明るさが中間的な階調値であるなど2値化データのいずれを示すものであるか読み取ることができないおそれがある色である場合には、2次元コードの読み取り誤りが発生したり、2次元コードとして読み取れない事態が発生する場合がある。   In the two-dimensional code, for example, by reading out which of the binarized data the module constituting the two-dimensional code indicates (for example, white or black), the bit string embodied in the two-dimensional code is read. Therefore, it is preferable that each module of the two-dimensional code has a color that is read as being clearly different, such as white or black. However, even if the module color is not white or black, if the gradation value is a dark color in the range close to black, it will be read as indicating one value, and if the gradation value is a light color in the range close to white It can be read as indicating the other value. In other words, if the color of each module of the two-dimensional code indicates a binary data, it can function as a two-dimensional code. However, if the color of the module of the two-dimensional code is a color that may not be able to be read as to which of binary data, such as brightness is an intermediate gradation value, two-dimensional There may be a case where a code reading error occurs or a situation where the code cannot be read as a two-dimensional code.

そこで本発明では、多階調デザインデータに対応する2値化デザインデータを逆変換した逆変換ビット列を更に変換した変換後ビット列の値を基準として、多階調デザインデータのモジュールごとの階調値を補正する。即ち本発明では、変換後ビット列を求めることにより、2次元コードとして読み取り可能であって、かつ多階調デザインデータに対応する2値化デザインが構成された2次元コードを生成するためのデータを生成する。そして多階調デザインデータのモジュールごとの階調値が、変換後ビット列の値として読み取られるように各階調値を補正することにより、変換後ビット列の値が示すとおりに読み取り可能であって、かつ多階調デザインが構成された2次元コードを生成する。   Therefore, in the present invention, the gradation value for each module of the multi-gradation design data is based on the value of the converted bit string obtained by further converting the inversely converted bit string obtained by inversely transforming the binary design data corresponding to the multi-gradation design data. Correct. That is, according to the present invention, data for generating a two-dimensional code that can be read as a two-dimensional code and has a binary design corresponding to multi-tone design data is obtained by obtaining a bit string after conversion. Generate. And, by correcting each gradation value so that the gradation value for each module of the multi-gradation design data is read as the value of the converted bit string, it can be read as indicated by the value of the converted bit string, and A two-dimensional code having a multi-tone design is generated.

従って本発明によれば、多階調デザインデータのモジュールに、明るさが中間的な階調値であるなど2値化データのいずれを示すものであるか読み取ることができないおそれがある階調値のモジュールが存在する場合であっても、かかるモジュールの階調値を変換後ビット列の値として読み取られるように補正することができる。そして変換後ビット列には原データの情報が含まれているので、2次元コードの読取装置により、本システム利用者が2次元コードを介して伝達しようとする情報である原データを読み取らせることができる。   Therefore, according to the present invention, there is a possibility that the multi-tone design data module may not be able to read which of the binarized data indicates that the brightness is an intermediate tone value. Even if the module is present, the gradation value of the module can be corrected so as to be read as the value of the bit string after conversion. Then, since the converted bit string includes the information of the original data, the two-dimensional code reader can cause the system user to read the original data as information to be transmitted via the two-dimensional code. it can.

このように本発明によれば、人目を引き付けることができる多階調のデザインパターンが構成された2次元コードを、通常の2次元コードの生成手順に準じて簡易に生成することができる。しかも、多階調デザインが構成されていても、モジュールごとの2値化データを基準として通常の2次元コードの生成手順に準じて生成されているので、2次元コードを読取装置により正確に読み取らせることができる。   As described above, according to the present invention, a two-dimensional code in which a multi-tone design pattern that can attract attention can be easily generated according to a normal two-dimensional code generation procedure. Moreover, even if a multi-gradation design is configured, it is generated according to the normal two-dimensional code generation procedure based on the binarized data for each module, so that the two-dimensional code is accurately read by the reader. Can be made.

(2)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記多階調デザインデータ補正部が、
前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求め、
前記2次元コード生成部が、
前記デザインデータ領域については前記補正後の階調値に基づいて2次元コードを生成し、2次元コードのその他の領域については前記変換後ビット列に基づいて2次元コードを生成するようにしてもよい。
(2) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
The multi-tone design data correction unit is
The gradation value after correction in which the gradation value is corrected so that the gradation value for each module of the multi-gradation design data corresponding to the design data area is read as the value of the converted bit string corresponding to each module Seeking
The two-dimensional code generator is
A two-dimensional code may be generated for the design data area based on the corrected gradation value, and a two-dimensional code may be generated for the other areas of the two-dimensional code based on the converted bit string. .

本発明によれば、デザインデータ領域において多階調デザインが構成され、原データ領域などその他の領域において変換後ビット列に基づくモジュールパターンが構成された2次元コードを生成することができる。従って本発明によれば、デザインデータ領域以外の領域のモジュールを2値化パターンにより構成し、より確実に読み取り可能な2次元コードを生成することができる。   According to the present invention, it is possible to generate a two-dimensional code in which a multi-tone design is configured in the design data area and a module pattern based on the converted bit string is configured in other areas such as the original data area. Therefore, according to the present invention, a module in an area other than the design data area can be configured by a binarized pattern, and a two-dimensional code that can be read more reliably can be generated.

(3)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記逆変換ビット列に基づいて、生成される2次元コードの読み取り誤りを訂正するための誤り訂正データを生成する誤り訂正データ生成部を更に含み、
前記2次元コードデータ生成部が、
前記求められた逆変換ビット列と、前記原データのビット列と、前記誤り訂正データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求め、
前記多階調デザインデータ補正部が、
前記デザインデータ領域と、前記原データのデータ量に応じた原データ領域と、前記サイズデータに応じた誤り訂正データ領域とに対応する多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求めるようにしてもよい。
(3) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
An error correction data generation unit for generating error correction data for correcting a read error of the generated two-dimensional code based on the inversely converted bit string;
The two-dimensional code data generation unit
Obtaining a converted bit string obtained by converting the obtained inverse conversion bit string, the bit string of the original data, and the bit string of the error correction data based on the format information of the two-dimensional code;
The multi-tone design data correction unit is
The gradation value for each module of the multi-gradation design data corresponding to the design data area, the original data area corresponding to the data amount of the original data, and the error correction data area corresponding to the size data is The corrected gradation value may be obtained by correcting the gradation value so that it is read as the value of the converted bit string corresponding to.

本発明によれば、デザインデータ領域と、原データ領域と、誤り訂正データ領域において多階調デザインデータの階調値を補正する。従って本発明によれば、より広い領域において多階調デザインデータの階調値が反映された2次元コードを生成することができる。   According to the present invention, the gradation values of the multi-tone design data are corrected in the design data area, the original data area, and the error correction data area. Therefore, according to the present invention, it is possible to generate a two-dimensional code reflecting the gradation value of the multi-gradation design data in a wider area.

(4)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
2次元コードの読み取りに用いられる機能パターンを設定する機能パターン設定部を更に含み、
前記多階調デザインデータ補正部が、
前記機能パターンが配置される領域に対応する多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記機能パターンの値として読み取られるように前記階調値を補正した補正後の階調値を求めるようにしてもよい。
(4) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
A function pattern setting unit for setting a function pattern used for reading the two-dimensional code;
The multi-tone design data correction unit is
The corrected gradation value is corrected so that the gradation value for each module of the multi-gradation design data corresponding to the area where the functional pattern is arranged is read as the value of the functional pattern corresponding to each module. You may make it obtain | require a gradation value.

本発明によれば、位置合せパターンが配置される領域等の機能パターン領域において多階調デザインデータの階調値を補正する。従って本発明によれば、より広い領域において多階調デザインデータの階調値が反映された2次元コードを生成することができる。   According to the present invention, the gradation value of the multi-tone design data is corrected in the functional pattern area such as the area where the alignment pattern is arranged. Therefore, according to the present invention, it is possible to generate a two-dimensional code reflecting the gradation value of the multi-gradation design data in a wider area.

(5)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記多階調デザインデータ補正部が、
少なくとも前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの階調値を、前記階調値に応じた変換式に基づいて補正するようにしてもよい。
(5) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
The multi-tone design data correction unit is
You may make it correct | amend the gradation value for every module of the multi-gradation design data corresponding to the said design data area | region based on the conversion type according to the said gradation value.

本発明において、2値化デザインデータは多階調デザインデータに対応するデータとなっているため、階調値を補正するための基準となる変換後ビット列もデザインデータ領域に対応する多階調デザインデータのモジュールの階調値に対応した値となっている。従って本発明によれば、階調値に応じた補正用の変換式の種類を削減し、階調値に応じた割り振り処理を軽減しつつも、可及的に元の階調値を補正後の階調値に反映することができる。   In the present invention, since the binarized design data is data corresponding to the multi-grayscale design data, the converted bit string serving as a reference for correcting the grayscale value also corresponds to the design data area. The value corresponds to the gradation value of the data module. Therefore, according to the present invention, after correcting the original gradation value as much as possible while reducing the types of conversion equations for correction according to the gradation value and reducing the allocation process according to the gradation value. Can be reflected in the gradation value.

(6)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記多階調デザインデータ補正部が、
前記階調値が階調値のとり得る範囲の中間付近の第1の範囲の値である場合に、前記階調値をその階調値に応じた変換式に基づいて補正し、
前記2次元コード生成部が、
前記階調値が前記第1の範囲の値であるモジュールについては前記補正後の階調値に基づいて2次元コードを生成し、前記階調値が前記第1の範囲の値以外の第2の範囲の値であるモジュールについては前記多階調デザインデータのモジュールごとの階調値に基づいて2次元コードを生成するようにしてもよい。
(6) In the two-dimensional code generation system, program and information storage medium according to the present invention,
The multi-tone design data correction unit is
When the gradation value is a value in the first range near the middle of the range that the gradation value can take, the gradation value is corrected based on a conversion formula corresponding to the gradation value;
The two-dimensional code generator is
For the module in which the gradation value is in the first range, a two-dimensional code is generated based on the corrected gradation value, and the gradation value is a second value other than the value in the first range. For a module having a value in the range, a two-dimensional code may be generated based on the gradation value for each module of the multi-gradation design data.

本発明において、「第1の範囲」とは、2値化データのいずれを示すものであるか読み取ることができないおそれがある階調値の範囲とすることができる。例えば各色成分の階調値が0〜255までの値をとる場合には、64以上192未満など階調値の取り得る範囲の中間値を含む範囲を第1の範囲とし、それ以外の0以上64未満及び192以上255以下を第2の範囲とすることができる。なお第1の範囲と第2の範囲は、2次元コードの読取装置の性能や、読み取りの正確性との関係などで任意に定めることができる。例えば誤り訂正アルゴリズムなどによりデータを訂正することができる場合など、生成された2次元コードのモジュールに2値化データのいずれを示すものであるか読み取ることができないモジュールがいくつか存在しても構わない場合には、第1の範囲からいくつかの値を間引いた値の集合を第1の範囲の値として扱うようにしてもよい。例えば64以上192未満の値のうち、中間値である128を除外した値の集合なども「第1の範囲」の概念に含まれる。即ち本発明により生成された2次元コードが、2次元コードとして機能するように、中間的な階調値が補正されればよい。   In the present invention, the “first range” can be a range of gradation values that may not be read as to which of binarized data is indicated. For example, when the tone value of each color component takes a value from 0 to 255, the range including the intermediate value of the range that the tone value can take, such as 64 or less and less than 192, is set as the first range, and 0 or more other than that. The second range can be less than 64 and 192 or more and 255 or less. The first range and the second range can be arbitrarily determined depending on the performance of the two-dimensional code reader and the relationship with the reading accuracy. For example, when the data can be corrected by an error correction algorithm or the like, there may be some modules that cannot read which of the binary data is shown in the generated two-dimensional code module. If not, a set of values obtained by thinning out some values from the first range may be handled as the values in the first range. For example, among the values of 64 or more and less than 192, a set of values excluding the intermediate value 128 is also included in the concept of “first range”. That is, it is only necessary to correct intermediate gradation values so that the two-dimensional code generated by the present invention functions as a two-dimensional code.

本発明によれば、多階調デザインデータのモジュールごとの階調値が、第1の範囲の値である場合に階調値を補正し、第1の範囲以外の第2の範囲の値である場合には階調値を補正しない。従って本発明によれば、階調値が第2の範囲の値である場合には元の階調値をそのまま反映することができる。   According to the present invention, when the gradation value for each module of the multi-tone design data is a value in the first range, the gradation value is corrected, and the value in the second range other than the first range is used. In some cases, the gradation value is not corrected. Therefore, according to the present invention, when the gradation value is in the second range, the original gradation value can be reflected as it is.

(7)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
少なくとも前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの階調値を、各モジュールに対応する前記変換後ビット列の値に応じた変換式に基づいて補正するようにしてもよい。
(7) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
You may make it correct | amend the gradation value for every module of the multi-gradation design data corresponding to the said design data area | region based on the conversion formula according to the value of the said bit string after conversion corresponding to each module.

本発明において、2値化デザインデータは多階調デザインデータに対応するデータとなっているため、階調値を補正するための基準となる変換後ビット列もデザインデータ領域に対応する多階調デザインデータのモジュールの階調値に対応した値となっている。従って本発明によれば、変換後ビット列の値に応じた補正用の変換式の種類を削減し、階調値に応じた割り振り処理を軽減しつつも、可及的に元の階調値を補正後の階調値に反映することができる。   In the present invention, since the binarized design data is data corresponding to the multi-grayscale design data, the converted bit string serving as a reference for correcting the grayscale value also corresponds to the design data area. The value corresponds to the gradation value of the data module. Therefore, according to the present invention, the original gradation value is reduced as much as possible while reducing the type of conversion equation for correction according to the value of the converted bit string and reducing the allocation process according to the gradation value. This can be reflected in the corrected gradation value.

(8)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記多階調デザインデータ補正部が、
前記階調値が階調値のとり得る範囲の中間付近の第1の範囲の値である場合に、前記階調値を各モジュールに対応する前記変換後ビット列の値に応じた変換式に基づいて補正し、
前記2次元コード生成部が、
前記階調値が前記第1の範囲の値であるモジュールについては前記補正後の階調値に基づいて2次元コードを生成し、前記階調値が前記第1の範囲の値以外の第2の範囲の値であるモジュールについては前記多階調デザインデータのモジュールごとの階調値に基づいて2次元コードを生成するようにしてもよい。
(8) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
The multi-tone design data correction unit is
When the gradation value is a value in the first range near the middle of the range that the gradation value can take, the gradation value is based on a conversion formula corresponding to the value of the converted bit string corresponding to each module. Correct,
The two-dimensional code generator is
For the module in which the gradation value is in the first range, a two-dimensional code is generated based on the corrected gradation value, and the gradation value is a second value other than the value in the first range. For a module having a value in the range, a two-dimensional code may be generated based on the gradation value for each module of the multi-gradation design data.

本発明によれば、多階調デザインデータのモジュールごとの階調値が第1の範囲の値である場合に階調値を補正し、第2の範囲の値である場合には階調値を補正しない。従って本発明によれば、階調値が第2の範囲の値である場合には元の階調値をそのまま反映することができる。   According to the present invention, the gradation value is corrected when the gradation value for each module of the multi-gradation design data is a value in the first range, and the gradation value is corrected when the gradation value is a value in the second range. Is not corrected. Therefore, according to the present invention, when the gradation value is in the second range, the original gradation value can be reflected as it is.

(9)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記多階調デザインデータ補正部が、
少なくとも前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの階調値が、階調値のとり得る範囲の中間付近の第1の範囲の値である場合に、各モジュールに所定のパターンで割り当てられる値に応じた変換式に基づいて前記階調値を補正するようにしてもよい。
(9) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
The multi-tone design data correction unit is
When at least the gradation value for each module of the multi-gradation design data corresponding to the design data area is a value in the first range near the middle of the range of gradation values, a predetermined pattern is assigned to each module. The gradation value may be corrected based on a conversion formula corresponding to the value assigned in.

本発明によれば、階調値が第1の範囲の値であるモジュールに対して、一括した補正処理を行うのではなく、例えば誤差拡散法などを用いて所定のパターンで値を割り当て、値に応じた補正処理を行う。従って本発明によれば、階調値が第1の範囲の値であるモジュールについて、所定のパターンで異なる階調値を出現させて元の中間的な階調値を表現することにより、可及的に元の階調値を補正後の階調値に反映することができる。   According to the present invention, instead of performing batch correction processing for modules whose gradation values are in the first range, values are assigned in a predetermined pattern using, for example, an error diffusion method. The correction process according to is performed. Therefore, according to the present invention, it is possible to represent the original intermediate gradation value by causing different gradation values to appear in a predetermined pattern for a module whose gradation value is in the first range. Thus, the original gradation value can be reflected in the corrected gradation value.

(10)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
少なくとも前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの各色成分の階調値を、各色成分の階調値に応じた変換式に基づいて補正するようにしてもよい。
(10) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
You may make it correct | amend the gradation value of each color component for every module of the multi-gradation design data corresponding to the said design data area based on the conversion formula according to the gradation value of each color component.

本発明によれば、R・G・BやY・Cr・Cb、Y・M・C・Kなどの色成分ごとの階調値に応じて色成分ごとに階調値を補正するので、よりきめ細かく可及的に元の階調値を補正後の階調値に反映することができる。また例えばR・G・BのうちのG成分(緑成分)は、データ上の値以上に人間の目に与える影響が大きいことから、2次元コードの読み取り装置であるカメラ等による読み取り数値に補正が行われることがある。すると本発明における補正後の階調値が、意図しない数値に補正されて読み誤りが発生するおそれがある。そこで本発明によれば、色成分ごとに階調値の補正を行うことによりかかる不具合を解消することができる。   According to the present invention, the gradation value is corrected for each color component in accordance with the gradation value for each color component such as R, G, B, Y, Cr, Cb, Y, M, C, K, etc. The original gradation value can be reflected in the corrected gradation value as finely as possible. For example, the G component (green component) of R, G, and B has a greater influence on the human eye than the value on the data, so it is corrected to a reading value by a camera or the like that is a two-dimensional code reader. May be performed. Then, the corrected gradation value in the present invention may be corrected to an unintended numerical value, which may cause a reading error. Therefore, according to the present invention, such a problem can be solved by correcting the gradation value for each color component.

(11)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
前記多階調デザインデータ補正部が、
少なくとも前記デザインデータ領域に対応する前記変換後ビット列の値が第1の値であって、対応する多階調デザインデータのモジュールの各色成分の階調値の最小値が第1のしきい値よりも小さい場合に、そのモジュールの各色成分の階調値を増加させる変換式に基づいて各色成分の階調値を補正し、
少なくとも前記デザインデータ領域に対応する前記変換後ビット列の値が第2の値であって、対応する多階調デザインデータのモジュールの各色成分の階調値の最大値が第2のしきい値よりも大きい場合に、そのモジュールの各色成分の階調値を減少させる変換式に基づいて各色成分の階調値を補正するようにしてもよい。
(11) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
The multi-tone design data correction unit is
The value of the converted bit string corresponding to at least the design data area is the first value, and the minimum value of the gradation value of each color component of the corresponding multi-gradation design data module is greater than the first threshold value. Is smaller, the gradation value of each color component is corrected based on a conversion formula that increases the gradation value of each color component of the module,
The value of the converted bit string corresponding to at least the design data area is the second value, and the maximum value of the gradation value of each color component of the corresponding multi-gradation design data module is greater than the second threshold value. May be corrected based on a conversion formula for decreasing the gradation value of each color component of the module.

本発明によれば、あるモジュールの色成分ごとの階調値に、読み取られるべき値に反して小さい又は大きい値がある場合には、当該モジュールの階調値全体を補正する。即ち本発明では、変換後ビット列の値が第1の値であるモジュール(例えば色成分の値が大きくあるべきモジュール、明(白)であることを示す値であるモジュール)の色成分ごとの階調値のうち最小の値を示す色成分の階調値が、例えば明るいモジュールであると読み取られる最小の値である第1のしきい値よりも小さい場合には、最小値の色成分のみならずそのモジュールの各色成分の階調値を増加させる。そして第2の値であるモジュールについては、第2のしきい値よりも大きい場合に各色成分の階調値を減少させる。従って本発明によれば、より確実に読み取り誤りを防止するとともに、可及的に元の階調値を補正後の階調値に反映することができる。   According to the present invention, when the gradation value for each color component of a module has a small or large value against the value to be read, the entire gradation value of the module is corrected. That is, according to the present invention, the level of each color component of a module whose converted bit string value is the first value (for example, a module whose color component value should be large, or a module indicating a bright (white) value). If the tone value of the color component indicating the minimum value among the tone values is smaller than the first threshold value, which is the minimum value read as a bright module, for example, only the minimum value color component First, the gradation value of each color component of the module is increased. For the module having the second value, the gradation value of each color component is decreased when the module is larger than the second threshold value. Therefore, according to the present invention, reading errors can be prevented more reliably and the original gradation value can be reflected in the corrected gradation value as much as possible.

(12)また本発明に係る2次元コードを生成するためのデータを生成するシステム、プログラム及び情報記憶媒体では、
2次元コードのサイズデータと、2次元コードから読み取られるべき原データと、前記サイズデータに応じた2次元コードのモジュールごとの階調値から構成された多階調デザインデータと、前記多階調デザインデータのモジュールごとの階調値が各モジュールの階調値に応じて2値化された2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと原データとに基づいて、原データのデータ量に応じた2次元コードのデザインデータ領域を特定するデザインデータ領域特定部と、
前記デザインデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求める2値化デザインデータ変換部と、
前記求められた逆変換ビット列と前記原データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める2次元コードデータ生成部と、
少なくとも前記デザインデータ領域に対応する前記多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求める多階調デザインデータ補正部とを含むようにしてもよい。
(12) In the system, program, and information storage medium for generating data for generating the two-dimensional code according to the present invention,
Size data of a two-dimensional code, original data to be read from the two-dimensional code, multi-tone design data composed of tone values for each module of the two-dimensional code corresponding to the size data, and the multi-tone A data acquisition unit that acquires binarized design data in which the gradation value of each module of the design data is binarized according to the gradation value of each module;
A design data area specifying unit for specifying a design data area of a two-dimensional code according to the data amount of the original data based on the size data and the original data;
A binarized design data conversion unit for obtaining an inversely converted bit string obtained by inversely converting the binarized design data corresponding to the design data area based on the format information of the two-dimensional code;
A two-dimensional code data generation unit for obtaining a converted bit string obtained by converting the obtained inversely converted bit string and the bit string of the original data based on the format information of the two-dimensional code;
A corrected level obtained by correcting the gradation value so that at least a gradation value for each module of the multi-gradation design data corresponding to the design data area is read as a value of the converted bit string corresponding to each module. A multi-tone design data correction unit that obtains a tone value may be included.

本発明によれば、多階調のデザインパターンが構成された2次元コードを生成することができるデータを生成することができる。そして、生成された2次元コードを生成するためのデータには、原データの情報が含まれている。従って、本発明により生成したデータに基づいて2次元コードを生成すれば、2次元コードに多階調のデザインパターンを構成しつつ、本システム利用者が2次元コードシンボルを介して伝達しようとする情報である原データを2次元コードの読取装置に読み取らせることができる。   According to the present invention, it is possible to generate data that can generate a two-dimensional code in which a multi-tone design pattern is configured. The data for generating the generated two-dimensional code includes information on the original data. Therefore, if a two-dimensional code is generated based on the data generated by the present invention, the system user intends to transmit the two-dimensional code via a two-dimensional code symbol while forming a multi-tone design pattern. The original data as information can be read by a two-dimensional code reader.

このように、本発明によれば、人目を引き付けることができる多階調のデザインパターンが構成された2次元コードを、通常の2次元コードの生成手順に準じて簡易に生成することができる。しかも、生成された2次元コードは多階調のデザインが構成されていても、通常の2次元コードの生成手順に準じて生成されているので、2次元コードを読取装置により正確に読み取らせることができる。   Thus, according to the present invention, a two-dimensional code in which a multi-tone design pattern that can attract attention can be easily generated according to a normal two-dimensional code generation procedure. In addition, even if the generated two-dimensional code has a multi-tone design, it is generated according to the normal two-dimensional code generation procedure, so that the two-dimensional code can be read accurately by the reader. Can do.

(13)また本発明に係る2次元コード生成システム、プログラム及び情報記憶媒体では、
2次元コードのサイズデータと、2次元コードから読み取られるべき原データと、前記サイズデータに応じた2次元コードのモジュールごとの階調値が、第1の値として読み取られる範囲の階調値と第2の値として読み取られる範囲の階調値とから構成された多階調デザインデータと、前記多階調デザインデータのモジュールごとの階調値が各モジュールの階調値に応じて2値化された2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと原データとに基づいて、原データのデータ量に応じた2次元コードのデザインデータ領域を特定するデザインデータ領域特定部と、
前記デザインデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求める2値化デザインデータ変換部と、
前記求められた逆変換ビット列と前記原データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める2次元コードデータ生成部と、
少なくとも前記デザインデータ領域に対応する前記多階調デザインデータのモジュールごとの階調値に基づいて、2次元コードを生成する2次元コード生成部とを含むようにしてもよい。
(13) In the two-dimensional code generation system, program, and information storage medium according to the present invention,
The size data of the two-dimensional code, the original data to be read from the two-dimensional code, the gradation value for each module of the two-dimensional code corresponding to the size data, and the gradation value in the range to be read as the first value Multi-tone design data composed of tone values in a range to be read as the second value, and the tone values for each module of the multi-tone design data are binarized according to the tone values of each module A data acquisition unit for acquiring the binarized design data,
A design data area specifying unit for specifying a design data area of a two-dimensional code according to the data amount of the original data based on the size data and the original data;
A binarized design data conversion unit for obtaining an inversely converted bit string obtained by inversely converting the binarized design data corresponding to the design data area based on the format information of the two-dimensional code;
A two-dimensional code data generation unit for obtaining a converted bit string obtained by converting the obtained inversely converted bit string and the bit string of the original data based on the format information of the two-dimensional code;
A two-dimensional code generation unit that generates a two-dimensional code based on at least a gradation value for each module of the multi-gradation design data corresponding to the design data area may be included.

本発明によれば、明度が中間的な階調値であるなど2値化データのいずれを示すものであるか読み取ることができないおそれがある階調値がモジュール単位の階調値として存在しない多階調デザインデータを用いることにより、階調値の補正処理を行うことなく多階調のデザインパターンが構成された2次元コードを生成することができる。   According to the present invention, there are many gradation values that do not exist as gradation values in module units that may not be able to be read as to which of the binarized data indicates that the lightness is an intermediate gradation value. By using the gradation design data, it is possible to generate a two-dimensional code in which a multi-gradation design pattern is configured without performing gradation value correction processing.

(14)本発明は、
所与の2値化データを表すモジュールが2次元に配置された2次元コードであって、
前記2次元コードから読み取られるべき原データを表すモジュールと、
少なくとも、前記原データを表すモジュールが配置された原データ領域以外の領域において、前記モジュールごとの階調値により多階調のデザインを構成するモジュールとが配置され、
前記モジュールごとの階調値は、
前記モジュールが前記2値化データのいずれを表すか読み取り可能な範囲の値とされていることを特徴とする2次元コードに関係する。
(14) The present invention provides:
A module representing given binary data is a two-dimensional code arranged two-dimensionally,
A module representing original data to be read from the two-dimensional code;
At least in a region other than the original data region where the module representing the original data is arranged, a module that constitutes a multi-gradation design with a gradation value for each module is arranged,
The gradation value for each module is
This is related to a two-dimensional code characterized in that the module represents any one of the binarized data and is in a readable range.

また本発明は、上記2次元コードを生成する2次元コード生成部、又は、上記2次元コードを生成するためのデータを生成する2次元コードデータ生成部を含む2次元コード生成システムに関係する。また本発明は、上記2次元コードを生成する2次元コード生成部、又は、上記2次元コードを生成するためのデータを生成する2次元コードデータ生成部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記2次元コード生成部、又は、2次元コードデータ生成部としてコンピュータを機能させるプログラムを記憶(記録)した情報記憶媒体に関係する。   The present invention also relates to a two-dimensional code generation system including a two-dimensional code generation unit that generates the two-dimensional code or a two-dimensional code data generation unit that generates data for generating the two-dimensional code. The present invention also relates to a program that causes a computer to function as a two-dimensional code generation unit that generates the two-dimensional code or a two-dimensional code data generation unit that generates data for generating the two-dimensional code. The present invention also relates to a computer-readable information storage medium that stores (records) a program that causes the computer to function as the two-dimensional code generation unit or the two-dimensional code data generation unit.

また本発明は、上記2次元コードが印刷された印刷物に関係する。また本発明は、上記2次元コードとして読み取られる2次元コード画像を生成するシステム、プログラム及び情報記憶媒体に関係する。   The present invention also relates to a printed matter on which the two-dimensional code is printed. The present invention also relates to a system, a program, and an information storage medium that generate a two-dimensional code image that is read as the two-dimensional code.

本発明によれば、本システム利用者が2次元コードを介して伝達しようとする情報を読み取り装置に読み取らせつつ、モジュールごとの階調値により所与のデザインを構成するモジュールが配置された2次元コードを提供することができる。   According to the present invention, while the system user is allowed to read information to be transmitted via the two-dimensional code, the reading device reads the information, and the modules constituting a given design are arranged according to the gradation value for each module. A dimensional code can be provided.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

1.2次元コードの構造
図1に、本実施の形態の2次元コード生成システムで生成される2次元コードシンボルの構造の例を示す。本実施の形態では、2次元コードとしてQRコード(株式会社デンソーウェーブの登録商標)を用いた例を示すが、本実施の形態により生成できる2次元コードはQRコードに限らない。
1.2 Structure of 2D Code FIG. 1 shows an example of the structure of a 2D code symbol generated by the 2D code generation system of the present embodiment. In this embodiment, an example is shown in which a QR code (registered trademark of DENSO WAVE INCORPORATED) is used as a two-dimensional code. However, the two-dimensional code that can be generated by this embodiment is not limited to a QR code.

図1に示すように、本実施の形態の2次元コードシンボル10は、正方形のモジュールを縦に45個、横に45個、計2025個正方形状に配列して構成されている。このシンボル10には、シンボル10からデータを読み取る際に用いられる位置検出パターン12と位置合せパターン13とタイミングパターン14とが配置されている。そして、位置検出パターン12と位置合せパターン13とタイミングパターン14とが配置されている領域以外の領域として、シンボル10から読み取られるべきデータのモジュールパターン(符号化パターン)が配置される符号化領域16が設けられている。   As shown in FIG. 1, the two-dimensional code symbol 10 of the present embodiment is configured by arranging square modules in a square shape, 45 in the vertical direction and 45 in the horizontal direction, for a total of 2025. In this symbol 10, a position detection pattern 12, an alignment pattern 13, and a timing pattern 14 used when reading data from the symbol 10 are arranged. Then, as an area other than the area where the position detection pattern 12, the alignment pattern 13 and the timing pattern 14 are arranged, an encoding area 16 where a module pattern (encoding pattern) of data to be read from the symbol 10 is arranged. Is provided.

この符号化領域16には、シンボル10の型番情報(サイズ情報)の符号化パターンが配置される型番領域18と、シンボル10の形式情報(誤り訂正レベル情報、マスク処理パターンに関する情報)の符号化パターンが配置される形式領域20と、本実施の形態のシステムの利用者が任意に入力可能なデータの符号化パターンが配置されるデータ領域22とが含まれる。   In this encoding area 16, the model number area 18 in which the encoding pattern of the model number information (size information) of the symbol 10 is arranged, and the format information (error correction level information, information on the mask processing pattern) of the symbol 10 are encoded. A format area 20 in which a pattern is arranged and a data area 22 in which an encoding pattern of data that can be arbitrarily input by a user of the system according to the present embodiment are included.

2.2次元コードの生成処理
図2に、本実施の形態の2次元コード生成システムの処理の流れの一例を示す。まず、ステップS1において、2次元コードを生成するための各種データを取得する。
2.2 Dimensional Code Generation Processing FIG. 2 shows an example of the processing flow of the two-dimensional code generation system of the present embodiment. First, in step S1, various data for generating a two-dimensional code are acquired.

図3に、このデータ取得処理の詳細を示す。まず、ステップS2において、入力部への入力情報に基づき、システムの利用者が所望するシンボルの型番情報と形式情報とを取得する。ここで、型番情報には、シンボル10の大きさを特定するサイズ情報(1〜40)が含まれている。本実施の形態では、サイズ情報によりシンボル10を構成するモジュールの数とその配置を特定することができる。また、形式情報には、生成されるシンボルの読み取り誤りを訂正するための誤り訂正アルゴリズムの種類を特定する誤り訂正レベル情報が含まれる。本実施の形態では、誤り訂正レベルがL、M、Q、Hの4段階用意されており、誤り訂正レベルに応じて誤り訂正の精度が異なる。   FIG. 3 shows details of this data acquisition process. First, in step S2, model number information and format information of a symbol desired by a user of the system are acquired based on information input to the input unit. Here, the model number information includes size information (1 to 40) for specifying the size of the symbol 10. In the present embodiment, the number of modules constituting the symbol 10 and the arrangement thereof can be specified by the size information. Further, the format information includes error correction level information for specifying the type of error correction algorithm for correcting the read error of the generated symbol. In this embodiment, four stages of error correction levels L, M, Q, and H are prepared, and the accuracy of error correction differs depending on the error correction level.

そして、ステップS4において、本システム利用者が2次元コードシンボルを介して伝達しようとする情報である原データの文字列を取得する。この原データとしては、例えばURLやメールアドレス等のネットワークアドレス情報や、種々の管理情報、識別情報、暗号化情報等が入力される。すると、ステップS6において、取得した原データの文字列を2次元コードのフォーマット情報に基づいて変換し、原データのビット列を生成する。そして、原データのビット列の最後に原データの終端を示すエンドパターンのビット列を挿入する。このエンドパターンは、2次元コードを読み取った場合に、エンドパターン以降の符号化パターンについては情報として出力する必要がないことを示すものである。   In step S4, the system user acquires a character string of original data that is information to be transmitted via the two-dimensional code symbol. As this original data, for example, network address information such as URL and mail address, various management information, identification information, encryption information and the like are input. In step S6, the acquired character string of the original data is converted based on the format information of the two-dimensional code to generate a bit string of the original data. Then, an end pattern bit string indicating the end of the original data is inserted at the end of the bit string of the original data. This end pattern indicates that when a two-dimensional code is read, it is not necessary to output an encoded pattern after the end pattern as information.

そして、図2のステップS10において、エンドパターンを含む原データのビット列を2次元コードのフォーマット情報に基づいて8ビットコード語(データコード語)に分割する。すると、ステップS12において、取得したサイズ情報、誤り訂正レベル情報に基づき、当該サイズ、誤り訂正レベルが要求するデータコード語数を満たすか否かを判断する。   In step S10 in FIG. 2, the bit string of the original data including the end pattern is divided into 8-bit code words (data code words) based on the format information of the two-dimensional code. Then, in step S12, based on the acquired size information and error correction level information, it is determined whether or not the size and error correction level satisfy the required number of data code words.

ここで、要求するデータコード語数を満たさないと判断すると(ステップS12のN)、即ち2次元コードのサイズに対して原データのデータ量が少ないと、ステップS14において、データコード語列の後に埋め草コード語を付加する。この埋め草コード語とは、2次元コードのサイズに対して原データのデータ量が少ない場合に、原データを示す符号化パターン以降の符号化領域16が例えば空白(明モジュールのみ)となると、2次元コードの読み取りに支障があることを考慮して付加されるものである。本実施の形態では、2次元コードのフォーマットに基づいて、データが空であることを示す所定の符号化パターンが繰返し付加される。   If it is determined that the requested number of data code words is not satisfied (N in step S12), that is, if the amount of original data is small with respect to the size of the two-dimensional code, the data code word string is padded in step S14. Add grass code words. This padding code word means that when the data amount of the original data is small with respect to the size of the two-dimensional code, the encoding area 16 after the encoding pattern indicating the original data becomes, for example, blank (only the bright module). This is added in consideration of the trouble in reading the two-dimensional code. In the present embodiment, a predetermined coding pattern indicating that data is empty is repeatedly added based on the format of the two-dimensional code.

一方、要求するデータコード語数を満たすと判断すると(ステップS12のY)、埋め草コード語は付加せずに、ステップS16において、データコード語列を誤り訂正用のブロック数に分割し、ステップS18において、各ブロックに対して誤り訂正コード語を生成する。この誤り訂正コード語とは、2次元コードの読み取り誤りを訂正するための誤り訂正アルゴリズムに用いられる情報の符号化パターンを生成するための所定のビット列単位である。そして、ステップS20において、データコード語列の後に誤り訂正コード語を付加する。   On the other hand, if it is determined that the required number of data code words is satisfied (Y in step S12), no padding code word is added, and in step S16, the data code word string is divided into the number of blocks for error correction, and step S18. In step (b), an error correction code word is generated for each block. This error correction code word is a predetermined bit string unit for generating an encoding pattern of information used in an error correction algorithm for correcting a reading error of a two-dimensional code. In step S20, an error correction code word is added after the data code word string.

そして、ステップS22において、2次元コードのフォーマット情報に従って各ブロックのデータコード語・誤り訂正コード語をインターリーブにし、必要に応じて残余ビットを付加し、ステップS24において、2次元コードのフォーマット情報に基づいてマトリックスに、位置検出パターン12、位置合せパターン13、タイミングパターン14、コード語列に対応させた暗(黒)モジュールと明(白)モジュールとを配置する。   Then, in step S22, the data code word / error correction code word of each block is interleaved according to the format information of the two-dimensional code, and the remaining bits are added as necessary. In step S24, based on the format information of the two-dimensional code. A dark (black) module and a light (white) module corresponding to the position detection pattern 12, the alignment pattern 13, the timing pattern 14, and the code word string are arranged in the matrix.

そして、ステップS26において、シンボルの符号化領域16にマスク処理パターンを適用する。このマスク処理は、ステップS24において符号化領域16に配置された暗(黒)モジュールと明(白)モジュールとが、バランスよく配置されるようにするための処理である。そして、ステップS28において、ステップS2で取得した型番情報の符号化パターンを型番領域18に配置し、形式情報の符号化パターンを形式領域20に配置し、シンボルを完成する。   In step S 26, the mask processing pattern is applied to the symbol encoding region 16. This mask process is a process for ensuring that the dark (black) module and the bright (white) module arranged in the encoding area 16 in step S24 are arranged in a well-balanced manner. In step S28, the coding pattern of the model information acquired in step S2 is arranged in the model number area 18, and the coding pattern of the format information is arranged in the format area 20, thereby completing the symbol.

図4に、このようにして生成された2次元コードシンボルの一例を示す。本実施の形態では、各コード語列に対応させた暗(黒)モジュールと明(白)モジュールの配置は、図4に示すシンボル10の右下隅から開始し、上方向、下方向を交互に走査し、右から左へ配置する。ここで、各コード語列は、原データとそのエンドパターンを示すデータコード語、埋め草コード語、誤り訂正コード語の順に配列されている。従って、シンボル10の符号化領域16には、図4に示すように、原データの符号化パターンが配置された原データ領域30と、埋め草データの符号化パターンが配置された不使用データ領域32と、誤り訂正コードの符号化パターンが配置された誤り訂正コード領域34とが形成される。   FIG. 4 shows an example of the two-dimensional code symbol generated in this way. In the present embodiment, the arrangement of the dark (black) module and the light (white) module corresponding to each code word string starts from the lower right corner of the symbol 10 shown in FIG. Scan and place from right to left. Here, each code word string is arranged in the order of the original data and the data code word indicating the end pattern, the padding code word, and the error correction code word. Therefore, in the encoding area 16 of the symbol 10, as shown in FIG. 4, the original data area 30 in which the encoding pattern of the original data is arranged and the unused data area in which the encoding pattern of the padding data is arranged. 32 and an error correction code area 34 in which an encoding pattern of an error correction code is arranged.

3.デザインデータ処理
ここで本実施の形態では、不使用データ領域32の符号化パターンは、データが空であることを示しているに過ぎない。従って、不使用データ領域32においては自由にモジュールを配置することができる。そこで本実施形態では、不使用データ領域32となるべき領域をデザインデータ領域33として利用して、デザインデータ領域33のモジュールの配置(パターン)が、所与のデザインを構成するように2次元コードシンボル10を生成するためのデータ(ビット列)を生成する。
3. Design Data Processing Here, in the present embodiment, the coding pattern of the unused data area 32 merely indicates that the data is empty. Therefore, modules can be freely arranged in the unused data area 32. Therefore, in the present embodiment, the area that should become the unused data area 32 is used as the design data area 33, and the arrangement (pattern) of the modules in the design data area 33 is configured to form a given design. Data (bit string) for generating the symbol 10 is generated.

また本実施形態の2次元コードでは、2次元コードを構成するモジュールが2値化データのいずれを示すものであるか、即ち、各モジュールが明(白)モジュールであるか暗(黒)モジュールであるかを読み出すことにより、2次元コードに化体されたビット列を読み出す。従って2次元コードの各モジュールは、例えば白か黒のように明らかに異なるものとして読み取られる色とすることが好ましい。しかしモジュールの色が白か黒でなくとも、色値(階調値)が黒に近い範囲の暗い色であれば一方の値を示すものとして読み取らせ、色値が白に近い範囲の明るい色であれば他方の値を示すものとして読み取らせることができる。即ち2次元コードの各モジュールの色が、2値化データのいずれを示すものであるか読み取り可能な範囲の色であれば、2次元コードとして機能させることができる。   Further, in the two-dimensional code of the present embodiment, which of the binarized data indicates the modules constituting the two-dimensional code, that is, each module is a light (white) module or a dark (black) module. By reading out whether there is a bit string or not, a bit string embodied in a two-dimensional code is read out. Therefore, it is preferable that each module of the two-dimensional code has a color that is read as being clearly different, such as white or black. However, even if the module color is not white or black, if the color value (gradation value) is a dark color in the range close to black, it is read as indicating one value, and the color value is a bright color in the range close to white. If so, it can be read as indicating the other value. In other words, if the color of each module of the two-dimensional code indicates a binary data, it can function as a two-dimensional code.

そこで本実施形態では、デザインデータ領域33に配置されるモジュールの色が所与のデザインを構成しつつ、2値化データのいずれを示すものであるか読み取り可能な範囲の色から構成された2次元コードシンボル10を生成する。そのため本実施形態では、図2のステップS1のデータ取得処理において、本実施の形態に特徴的なデザインデータ処理を行う。   Therefore, in the present embodiment, the color of the module arranged in the design data area 33 constitutes a given design, and 2 of the colors in a readable range indicating which of the binarized data is indicated. A dimension code symbol 10 is generated. Therefore, in the present embodiment, the design data processing characteristic of the present embodiment is performed in the data acquisition processing in step S1 of FIG.

図5に、デザインデータ処理の流れの一例を示す。まず、図3のステップS6までにおいて、サイズ情報・誤り訂正レベル情報・原データを取得して(ステップS2、ステップS4)、2次元コードのフォーマット情報に基づいて原データのビット列を生成すると(ステップS6)、図5のステップS40において、システムの利用者が2次元コードに構成させるデザインとして選んだ所与のカラー画像データ(多階調画像データ)に基づいて、サイズ情報に応じた2次元コードのモジュールごとの色値から構成されたカラーデザインデータ(多階調デザインデータ)を生成する。   FIG. 5 shows an example of the flow of design data processing. First, until step S6 in FIG. 3, size information, error correction level information, and original data are acquired (steps S2 and S4), and a bit string of the original data is generated based on the format information of the two-dimensional code (step S2). S6), the two-dimensional code corresponding to the size information based on the given color image data (multi-tone image data) selected as the design to be formed into the two-dimensional code by the system user in step S40 of FIG. Color design data (multi-tone design data) composed of color values for each module is generated.

3−1.カラーデザインデータ生成処理
図6(A)は、所与のカラー画像データP0の例である。本実施形態ではカラー画像データP0は、R・G・Bの各色成分の色値が0〜255までとり得るいわゆるフルカラーの画像データとすることができる。そしてこのカラー画像データP0は、システム利用者がスキャナ等のハードウェアで取り込んだものや情報記憶媒体に記憶されたもの、画像作成ソフトで作成したものなどとすることができる。
3-1. Color Design Data Generation Processing FIG. 6A is an example of given color image data P0. In the present embodiment, the color image data P0 can be so-called full-color image data in which the color values of the R, G, and B color components can take from 0 to 255. The color image data P0 can be taken in by a system user with hardware such as a scanner, stored in an information storage medium, or created with image creation software.

ここで本実施形態では、図6(B)に示すようにデザインデータ領域33の範囲を示す画像を生成して表示部に表示させるようにしてもよい。本実施の形態では、図4に示すように原データ領域30がサイズ情報と原データのデータ量に応じて定まり、誤り訂正データ領域34がサイズ情報に応じて定まる。よって、サイズ情報と原データのビット列に基づいて原データ領域30を特定し、サイズ情報に基づいて誤り訂正データ領域34を特定し、サイズ情報と原データ領域30と誤り訂正データ領域34とに基づいて、デザイン領域33を特定することができる。従って、図6(B)に示すように、2次元コードシンボル10を、デザイン領域33が空白となるように表示することができる。   Here, in the present embodiment, as shown in FIG. 6B, an image indicating the range of the design data area 33 may be generated and displayed on the display unit. In the present embodiment, as shown in FIG. 4, the original data area 30 is determined according to the size information and the data amount of the original data, and the error correction data area 34 is determined according to the size information. Therefore, the original data area 30 is specified based on the size information and the bit string of the original data, the error correction data area 34 is specified based on the size information, and based on the size information, the original data area 30, and the error correction data area 34. Thus, the design area 33 can be specified. Therefore, as shown in FIG. 6B, the two-dimensional code symbol 10 can be displayed so that the design area 33 is blank.

そしてシステム利用者は、かかる2次元コードシンボル10と所与のカラー画像データP0を対比して、デザイン領域33の範囲内に所望のデザインが収まるように、カラー画像データP0の大きさを調整する、或いは2次元コードのサイズ情報を変更する。そして本実施形態では、かかるカラー画像データP0を、図6(C)に示すような、取得したサイズ情報に応じた2次元コードのモジュールごとの色値から構成されたカラーデザインデータPmに変換する。即ち任意の解像度のカラー画像データP0を、2次元コードのモジュールを1画素とするカラーデザインデータPmに変換する。図6(C)の例では、縦横45個の計2025個の正方形のモジュールごとの色値に変換する。   Then, the system user compares the two-dimensional code symbol 10 with the given color image data P0 and adjusts the size of the color image data P0 so that the desired design is within the design area 33. Alternatively, the size information of the two-dimensional code is changed. In this embodiment, the color image data P0 is converted into color design data Pm composed of color values for each module of the two-dimensional code corresponding to the acquired size information as shown in FIG. 6C. . That is, the color image data P0 having an arbitrary resolution is converted into color design data Pm having a two-dimensional code module as one pixel. In the example of FIG. 6C, the color values are converted into a total of 2025 square modules of 45 vertical and horizontal.

図7は、図5のステップS40のカラーデザインデータ生成処理の詳細の一例を示すフローチャートである。本実施形態では、2次元コードのモジュールよりも細かい画素から構成されたカラー画像データP0を縮小して、2次元コードのモジュールを画素とするカラーデザインデータPmに変換する。図7の例では、モジュールの位置(領域)に対応するカラー画像データP0の位置(領域)の代表画素を抽出することにより1のモジュールの色値を決定しているが、モジュールの位置(領域)に対応するカラー画像データP0の位置(領域)の画素を平均することにより1のモジュールの色値を決定してもよく、本実施形態では種々の手法を採用することができる。   FIG. 7 is a flowchart showing an example of details of the color design data generation processing in step S40 of FIG. In the present embodiment, the color image data P0 composed of pixels smaller than the two-dimensional code module is reduced and converted to color design data Pm having the two-dimensional code module as a pixel. In the example of FIG. 7, the color value of one module is determined by extracting the representative pixel at the position (area) of the color image data P0 corresponding to the module position (area). The color value of one module may be determined by averaging the pixels at the position (region) of the color image data P0 corresponding to (), and various methods can be employed in this embodiment.

図7の例では、まずステップS50、ステップS52において、YとXに0を代入し、ステップS54において、カラー画像データP0の縦の画素数Y0にYをかけて2次元コードの縦のモジュール数Sizeで割り、2次元コードの座標Y=0に対応するカラー画像データP0の座標Vを求め、同様にカラー画像データP0の横の画素数X0にXをかけて2次元コードの横のモジュール数Sizeで割り、2次元コードの座標X=0に対応するカラー画像データP0の座標Uを求める。そしてステップS56においてU,Vの小数値を切り捨ててそれぞれを整数値化する。   In the example of FIG. 7, first, in steps S50 and S52, 0 is substituted for Y and X, and in step S54, Y is added to the number of vertical pixels Y0 of the color image data P0, and the number of vertical modules of the two-dimensional code. Divide by Size to obtain the coordinate V of the color image data P0 corresponding to the coordinate Y = 0 of the two-dimensional code, and similarly multiply the number of horizontal pixels X0 of the color image data P0 by X to the number of modules next to the two-dimensional code. Dividing by Size, the coordinate U of the color image data P0 corresponding to the coordinate X = 0 of the two-dimensional code is obtained. In step S56, the decimal values of U and V are rounded down and converted into integer values.

そしてステップS58において、カラー画像データP0の各色成分の種類を示すC(R=0、G=1、B=2)に0を代入する。そしてステップS60において、カラー画像データP0の(U,V)の位置の色C(R)を読出しaに代入し、ステップS62において、カラーデザインデータPmの(X,Y)の位置の色C(R)にaを書込む。するとステップS64において、各色成分の種類を示すCに1加算し、ステップS66においてCが3未満即ちその座標の各色成分の色値を全て読み出していない場合には(ステップS66のY)、ステップS60に戻り、他の色成分の色値について同様の処理を行う。こうして(0,0)の位置のRGBの色成分の色値を書込むと(ステップS66のN)、ステップS68において座標値Xに1加算し、ステップS70においてX座標が45となるまでステップS54からステップS70までの処理を繰返し、Y座標が0の位置全てについてRGBの色成分の色値を書込む(ステップS70のN)。   In step S58, 0 is substituted into C (R = 0, G = 1, B = 2) indicating the type of each color component of the color image data P0. In step S60, the color C (R) at the position (U, V) of the color image data P0 is substituted into the read a, and in step S62, the color C ((X, Y) position in the color design data Pm). Write a to R). Then, in step S64, 1 is added to C indicating the type of each color component. If C is less than 3, that is, all the color values of each color component at that coordinate have not been read in step S66 (Y in step S66), step S60 is performed. Returning to FIG. 5, the same processing is performed for the color values of the other color components. When the color values of the RGB color components at the position (0, 0) are thus written (N in step S66), 1 is added to the coordinate value X in step S68, and step S54 is performed until the X coordinate becomes 45 in step S70. The process from step S70 to step S70 is repeated, and the color values of the RGB color components are written for all positions where the Y coordinate is 0 (N in step S70).

するとステップS72において座標値Yに1加算し、ステップS74においてY座標が45となるまでステップS52からステップS74までの処理を繰返し、カラーデザインデータPmの全ての(X,Y)の位置の色Cに、カラー画像データP0の(U,V)の位置の色Cを書込む。こうして本実施形態では、図6(A)に示すような所与のカラー画像データP0を、図6(B)に示すようなサイズ情報に応じた2次元コードのモジュールごとの色値から構成されたカラーデザインデータPmに変換する。   Then, 1 is added to the coordinate value Y in step S72, and the processing from step S52 to step S74 is repeated until the Y coordinate becomes 45 in step S74, and the color C at all (X, Y) positions in the color design data Pm. The color C at the position (U, V) of the color image data P0 is written. Thus, in this embodiment, the given color image data P0 as shown in FIG. 6A is composed of color values for each module of the two-dimensional code corresponding to the size information as shown in FIG. 6B. Converted to color design data Pm.

3−2.2値化デザインデータ生成処理
こうして図5のステップS40においてカラーデザインデータPmを取得すると、図5のステップS41において、カラーデザインデータPmのモジュールごとの色値を各モジュールの色値に応じて2値化することにより、図8に示すような2値化デザインデータPbwを生成し、これを取得する。即ちカラーデザインデータPmのモジュールのうち、相対的に暗い色のモジュールは黒のモジュールとし、相対的に明るい色のモジュールは白のモジュールとする変換を行う。この2値化デザインデータPbwは、カラーデザインデータPmの色の分布を2次元コードの読取装置が読み取った場合に、読取装置に認識させるべき値を示すものである。
3-2.2 Binary Design Data Generation Processing When the color design data Pm is acquired in step S40 of FIG. 5, the color value for each module of the color design data Pm is changed to the color value of each module in step S41 of FIG. By binarizing accordingly, binarized design data Pbw as shown in FIG. 8 is generated and acquired. That is, among the modules of the color design data Pm, conversion is performed such that a relatively dark module is a black module and a relatively light module is a white module. This binarized design data Pbw indicates values that should be recognized by the reading device when the color distribution of the color design data Pm is read by the two-dimensional code reading device.

図9は、かかる2値化デザインデータ生成処理の詳細の一例を示すフローチャートである。図9に示すようにまずステップS80、ステップS81において、カラーデザインデータPmの座標値のYとXに0を代入し、ステップS84において、各座標についての値が格納されるaに0を代入する。そしてステップS86において、カラーデザインデータPmの(0,0)の位置のRGB各色成分の色値の合計値Tを求める。そしてステップS94において、各色成分の色値の合計Tを色成分の数3で割った値をaに代入する。即ち(0,0)の位置のRGBの色成分の色値の平均値をaに格納する。   FIG. 9 is a flowchart showing an example of details of the binarized design data generation process. As shown in FIG. 9, first, in step S80 and step S81, 0 is substituted for the coordinate values Y and X of the color design data Pm, and in step S84, 0 is substituted for a in which the value for each coordinate is stored. . In step S86, a total value T of the color values of the RGB color components at the position (0, 0) of the color design data Pm is obtained. In step S94, a value obtained by dividing the total color value T of each color component by the number of color components 3 is substituted into a. That is, the average value of the color values of the RGB color components at the position (0, 0) is stored in a.

するとステップS96において平均値aが128以上、即ち色値がとり得る値0〜255の中間の値よりも大きい値である場合には、ステップS98においてaに当該位置のモジュールが白であることを示す0を代入する。一方平均値aが128以下である場合には、ステップS100においてaに当該位置のモジュールが黒であることを示す1を代入する。そしてステップS102において、2値化デザインデータPbwの(0,0)の位置にa(0、1のいずれか)を格納する。そしてステップS104において座標値Xに1加算し、ステップS106においてX座標が45となるまでステップS84からステップS106までの処理を繰返し、Y座標が0の位置全てについてa(0、1のいずれか)を格納する。   Then, in step S96, if the average value a is 128 or more, that is, a value larger than the intermediate value between 0 and 255 that the color value can take, it is determined in step S98 that the module at that position is white. 0 shown is substituted. On the other hand, if the average value a is 128 or less, 1 indicating that the module at the position is black is substituted for a in step S100. In step S102, a (0 or 1) is stored at the position (0, 0) of the binarized design data Pbw. Then, 1 is added to the coordinate value X in step S104, and the processing from step S84 to step S106 is repeated until the X coordinate becomes 45 in step S106, and a (0 or 1) for all the positions where the Y coordinate is 0. Is stored.

するとステップS108において座標値Yに1加算し、ステップS110においてY座標が45となるまでステップS82からステップS110までの処理を繰返し、2値化デザインデータPbwの全てに位置についてa(0、1のいずれか)を格納する。こうして本実施形態では、図6(C)に示すようなカラーデザインデータPmを、図8に示すようなカラーデザインデータPmのモジュールごとの色値が各モジュールの色値に応じて2値化された2値化デザインデータPbwに変換する。   Then, 1 is added to the coordinate value Y in step S108, and the processing from step S82 to step S110 is repeated until the Y coordinate becomes 45 in step S110. For all positions of binarized design data Pbw, a (0, 1 Any). Thus, in this embodiment, the color design data Pm as shown in FIG. 6C is binarized according to the color value of each module in the color design data Pm as shown in FIG. Converted into binary design data Pbw.

なお図6(C)の例のカラーデザインデータPmは、ハート形状の左半分HLは色値の平均値が30の暗い赤の色値となっており、ハート形状の右半分HRは色値の平均値が230の明るい赤の色値となっている。また背景の左半分BLは色値の平均値が160であって中間よりは明るい青の色値となっており、背景の右半分BRは色値の平均値が96であって中間よりは暗い青の色値となっている。従ってかかるカラーデザインデータPmから生成される2値化デザインデータPbwは、ハート形状の左半分HLと背景の右半分BRが黒のモジュールとされ、ハート形状の右半分HRと背景の左半分BLが白のモジュールとされている。   In the color design data Pm in the example of FIG. 6C, the left half HL of the heart shape has a dark red color value with an average value of 30 color values, and the right half HR of the heart shape has a color value. The average value is a bright red color value of 230. The left half BL of the background has an average color value of 160, which is a blue color value that is lighter than the middle, and the right half BR of the background has a mean value of 96, which is darker than the middle. The color value is blue. Accordingly, the binary design data Pbw generated from the color design data Pm is a module in which the left half HL of the heart shape and the right half BR of the background are black modules, and the right half HR of the heart shape and the left half BL of the background are It is considered as a white module.

3−3.2値化デザインデータ逆変換処理
本実施の形態では、図2のステップS26のように、2次元コードを生成する際にマスクパターンとコード語モジュールパターンとでXOR演算による変換を行う。従って、2次元コードのデザインデータ領域33でカラーデザインデータPmの色値に対応する2値化デザインデータ(2値化デザインパターンのビット列)を生成しても、そのままではマスクパターンとのXOR演算により、2値化デザインパターンのビット列がカラーデザインデータPmの色値に対応しないビット列に変換されてしまう。
3-3. Binary Design Data Inverse Conversion Processing In this embodiment, as in step S26 in FIG. 2, when a two-dimensional code is generated, conversion is performed by XOR operation between a mask pattern and a code word module pattern. . Therefore, even if binarized design data (bit string of binarized design pattern) corresponding to the color value of the color design data Pm is generated in the design data area 33 of the two-dimensional code, the XOR operation with the mask pattern is performed as it is. The bit string of the binarized design pattern is converted into a bit string that does not correspond to the color value of the color design data Pm.

そこで、本実施の形態では、2次元コードを生成する際にマスクパターンとのXOR演算を行うと2値化デザインパターンのビット列に戻るように、生成した2値化デザインパターンのビット列を予め逆変換しておく。即ち、本実施の形態では、図2のステップS26でマスクパターンが適用される前に、予め2値化デザインパターンとマスクパターンとでXOR演算による変換を行う。   Therefore, in this embodiment, the bit sequence of the generated binarized design pattern is inversely converted in advance so that if the XOR operation with the mask pattern is performed when generating the two-dimensional code, the bit sequence of the generated binarized design pattern is restored. Keep it. That is, in the present embodiment, before the mask pattern is applied in step S26 in FIG. 2, conversion by the XOR operation is performed in advance between the binarized design pattern and the mask pattern.

より詳細には、図5のステップS42において、サイズ情報、誤り訂正レベル情報、原データのビット列に基づき、デザインデータ領域33を特定し、ステップS44において、デザインデータ領域33に該当する2値化デザインパターンのビット列を抽出する。そして、ステップS46において、抽出した2値化デザインパターンのビット列とマスクパターンのビット列とでXOR演算による変換を行う。   More specifically, in step S42 of FIG. 5, the design data area 33 is specified based on the size information, error correction level information, and the bit string of the original data. In step S44, the binary design corresponding to the design data area 33 is specified. Extract the bit string of the pattern. In step S46, the extracted binary code pattern bit string and the mask pattern bit string are converted by an XOR operation.

図10は、図8の2値化デザインデータPbwから抽出した2値化デザインパターン40と、マスクパターン42とでXOR演算による変換を行って得られる逆変換モジュールパターン44の例である。図10に示すように、本実施の形態では、2値化デザインパターン40とマスクパターン42とで対応するモジュールが、同種のモジュールである場合には当該モジュールを暗(黒)モジュールとし(0+0=1、1+1=1)、異種のモジュールである場合には当該モジュールを明(白)モジュールとする(0+1=0、1+0=0)。   FIG. 10 is an example of an inverse conversion module pattern 44 obtained by performing conversion by XOR operation between the binary design pattern 40 extracted from the binary design data Pbw of FIG. 8 and the mask pattern 42. As shown in FIG. 10, in this embodiment, when the modules corresponding to the binarized design pattern 40 and the mask pattern 42 are the same type of module, the module is set as a dark (black) module (0 + 0 = 1, 1 + 1 = 1), if the module is of a different type, the module is set as a bright (white) module (0 + 1 = 0, 1 + 0 = 0).

従って、XOR演算による変換を行って得られる逆変換モジュールパターン44は2値化デザインデータPbwに対応しないものとなるが、2次元コードを生成する際に再びマスクパターンとのXOR演算を行うと2値化デザインパターンに戻るものである。こうして、デザインデータ領域33に対応する2値化デザインパターンのビット列をマスクパターンで逆変換した逆変換ビット列を生成する。なお、マスクパターン42の4隅などのグレーの部分、即ち生成される2次元コードの位置検出パターン12と位置合せパターン13とタイミングパターン14とに対応する機能パターン領域46には、マスク処理を適用しないようになっている。   Accordingly, the inverse conversion module pattern 44 obtained by performing the conversion by the XOR operation does not correspond to the binarized design data Pbw. However, when the XOR operation with the mask pattern is performed again when generating the two-dimensional code, 2 is obtained. Return to the value design pattern. In this way, an inversely converted bit string is generated by inversely converting the bit string of the binary design pattern corresponding to the design data area 33 with the mask pattern. It should be noted that mask processing is applied to the gray portion such as the four corners of the mask pattern 42, that is, the function pattern region 46 corresponding to the position detection pattern 12, the alignment pattern 13, and the timing pattern 14 of the generated two-dimensional code. It is supposed not to.

すると、図2のステップS10以降において、図3のステップS6で生成された原データのビット列(終端パターンや分割パターンを含めてもよい)と、生成された2値化デザインパターンの逆変換ビット列とをデータコード語に分割し、ステップS12において、得られたデータコード語列がデータコード語数を満たすか否かを判断する。   Then, in step S10 and subsequent steps in FIG. 2, the bit sequence of the original data generated in step S6 in FIG. 3 (which may include a termination pattern and a division pattern), and the inversely converted bit sequence of the generated binary design pattern Are divided into data code words, and in step S12, it is determined whether or not the obtained data code word string satisfies the number of data code words.

ここで、2値化デザインパターンの逆変換ビット列は、デザインデータ領域33のモジュール全てを含んでいる。よって、原データのビット列と逆変換ビット列とからなるデータコード語列は、ステップS12において、データコード語数を満たすと判断される(ステップS12のY)。従って、ステップS14で埋め草コード語は付加されず、そのままステップS16〜ステップS24までの2次元コードのフォーマットに基づく処理が行われる。すると、図11の左側のモジュールパターンのように、位置検出パターン12等が配置され、原データのモジュールパターン48と逆変換モジュールパターン44と、それらに対応する誤り訂正コードパターン50とを含むマスク前パターン52が生成される。   Here, the inverse conversion bit string of the binarized design pattern includes all the modules in the design data area 33. Therefore, it is determined that the data code word string composed of the bit string of the original data and the inversely converted bit string satisfies the number of data code words in step S12 (Y in step S12). Accordingly, the padding code word is not added in step S14, and the processing based on the two-dimensional code format from step S16 to step S24 is performed as it is. Then, as in the module pattern on the left side of FIG. 11, the position detection pattern 12 and the like are arranged, and before the mask including the original data module pattern 48, the inverse conversion module pattern 44, and the error correction code pattern 50 corresponding to them. A pattern 52 is generated.

そして、ステップS26において、マスク前パターン52にマスク処理パターンを適用すると、2値化デザインパターンの逆変換ビット列が変換されて、元の2値化デザインパターンのビット列に戻る。即ち、図11に示すように、マスク前パターン52と、マスクパターン42とでXOR演算による変換を行うことにより、デザインデータ領域33にカラーデザインデータPmの色値に対応する2値化デザインパターン40が構成されたデザイン2次元コードシンボル54を生成するための変換後ビット列を生成することができる。   In step S26, when a mask processing pattern is applied to the pre-mask pattern 52, the inverse conversion bit string of the binarized design pattern is converted and the bit string of the original binarized design pattern is restored. That is, as shown in FIG. 11, the binarized design pattern 40 corresponding to the color value of the color design data Pm is displayed in the design data area 33 by performing conversion by the XOR operation between the pre-mask pattern 52 and the mask pattern 42. It is possible to generate a post-conversion bit string for generating the design two-dimensional code symbol 54 in which is configured.

こうして、本実施の形態によれば、逆変換モジュールパターン44を生成しておくことにより、その後は通常の2次元コードの生成手順に従って、変換後ビット列を生成することができる。そして、2値化デザインパターン40が構成されたデザイン2次元コードシンボル54(変換後ビット列)のうち、原データ領域30には原データのモジュールパターン48が変換された変換後の原データのモジュールパターン56が配置されているので、2次元コードの読取装置がこの2次元コード54を読み取ると、本システム利用者が2次元コードシンボルを介して伝達しようとする情報である原データを読み取らせることができる。   Thus, according to the present embodiment, by generating the inverse conversion module pattern 44, a bit string after conversion can be generated thereafter according to a normal two-dimensional code generation procedure. Of the design two-dimensional code symbol 54 (converted bit string) in which the binarized design pattern 40 is configured, the original data module pattern 48 is converted into the original data module pattern 48 in the original data area 30. 56, when the two-dimensional code reader reads the two-dimensional code 54, the system user can read the original data which is information to be transmitted via the two-dimensional code symbol. it can.

また、誤り訂正データ領域34には誤り訂正コードパターン50が変換された変換後の誤り訂正コードパターン58が配置されているので、原データのモジュールパターン56及び2値化デザインパターン40の読み取り誤りを訂正することができる。なお、本実施の形態では、2値化デザインパターン40は原データのモジュールパターンの終端パターンの後に付加されているので、デザインデータ領域33の2値化デザインパターン40は読取装置に読み取られてもデータは示さない。   Further, since the error correction code pattern 58 obtained by converting the error correction code pattern 50 is arranged in the error correction data area 34, the reading error of the module pattern 56 of the original data and the binarized design pattern 40 is detected. It can be corrected. In this embodiment, since the binarized design pattern 40 is added after the end pattern of the module pattern of the original data, the binarized design pattern 40 in the design data area 33 can be read by the reading device. Data not shown.

なお、原データのモジュールパターンの後には、終端パターンのみならず、原データのビット列とデザインデータのビット列を識別するための識別子を挿入するようにしてもよい。例えば、原データのビット列の最後に分割パターンを挿入するようにしてもよい。この分割パターンは、例えば改行を示すビット列としてもよいし、スペースを示すビット列としてもよい。これによりデザインデータ領域33のビット列と原データのビット列とを区別することができる。また、原データのビット列とデザインデータ領域33のビット列との間に終端パターン等を挿入せず、原データのビット列とデザインデータ領域33のビット列とにより、例えばネットワークアドレスデータ等の所与の情報を示すようにしてもよい。   Note that, after the module pattern of the original data, an identifier for identifying not only the termination pattern but also the bit string of the original data and the bit string of the design data may be inserted. For example, a division pattern may be inserted at the end of the bit string of the original data. For example, the division pattern may be a bit string indicating a line feed or a bit string indicating a space. Thereby, the bit string of the design data area 33 and the bit string of the original data can be distinguished. In addition, a termination pattern or the like is not inserted between the bit string of the original data and the bit string of the design data area 33, and given information such as network address data is obtained by using the bit string of the original data and the bit string of the design data area 33. You may make it show.

また、図5のステップS44において、原データ領域30に該当する原データのビット列も合わせて抽出し、原データのビット列及び2値化デザインパターンのビット列と、マスクパターンとでXOR演算による変換を行ってもよい。即ち、少なくともデザインデータ領域33に該当する2値化デザインパターンのビット列について、逆変換がなされていればよい。   Further, in step S44 of FIG. 5, the original data bit string corresponding to the original data area 30 is also extracted and converted by the XOR operation between the original data bit string, the binary design pattern bit string, and the mask pattern. May be. That is, it suffices that reverse conversion is performed on at least a bit string of a binary design pattern corresponding to the design data area 33.

また、本実施の形態では、2次元コードを生成する際のマスクパターンによる変換処理を考慮して逆変換を行う例を挙げて説明したが、2値化デザインパターンのビット列に対して2次元コードを生成する際に他の変換処理が行われる場合には、その変換処理を行うと2値化デザインパターンのビット列に戻るように、生成した2値化デザインパターンのビット列を予め逆変換しておく。ここで、逆変換とは、2次元コードを生成する際の変換処理により2値化デザインパターンのビット列に戻るようなビット列に、2値化デザインパターンのビット列を変換する処理をいう。例えば本実施の形態では、逆変換処理と、2次元コードを生成する際の変換処理とが、ともにXOR演算であって同一の変換処理となるものであるが、かかる場合も逆変換の概念に含まれる。   Further, in the present embodiment, an example in which reverse conversion is performed in consideration of conversion processing using a mask pattern when generating a two-dimensional code has been described. However, a two-dimensional code is applied to a bit string of a binary design pattern. If another conversion process is performed when generating the bit string, the generated bit string of the binarized design pattern is inversely converted in advance so that the conversion process returns to the bit string of the binarized design pattern. . Here, the inverse conversion refers to a process of converting the bit string of the binarized design pattern into a bit string that returns to the bit string of the binarized design pattern by the conversion process when generating the two-dimensional code. For example, in this embodiment, the inverse transformation process and the transformation process when generating the two-dimensional code are both XOR operations and become the same transformation process. included.

なお、図2のステップS26のマスク処理において、複数種類のマスクパターンが適用され、所定の評価関数に基づいて最もバランスよくモジュールが配置されるマスクパターンが選択される場合には、図3のステップS2において、マスク処理で適用させるマスクパターンを指定するマスクパターン情報を取得し、当該マスクパターンで図5のステップS46の逆変換処理と、図2のステップS26の変換処理とを行うようにしてもよい。   In the mask process in step S26 of FIG. 2, when a plurality of types of mask patterns are applied and a mask pattern in which modules are arranged in a most balanced manner is selected based on a predetermined evaluation function, the step of FIG. In S2, mask pattern information specifying a mask pattern to be applied in the mask process is acquired, and the inverse conversion process in step S46 in FIG. 5 and the conversion process in step S26 in FIG. 2 are performed with the mask pattern. Good.

3−4.カラーデザインデータ補正処理
こうして本実施形態では、デザイン領域33にカラーデザインデータPmに対応する2値化デザインパターン40が構成された2次元コード54が生成される。従って、カラーデザインデータPmを構成するモジュールごとの色が、黒と読み取られるような暗い色、白と読み取られるような明るい色から構成されていれば、2次元コード54のデザイン領域33のモジュールの色を、カラーデザインデータPmのモジュールごとの色に配色しても2次元コードとして読み取ることができる。
3-4. Color Design Data Correction Processing In this embodiment, the two-dimensional code 54 in which the binary design pattern 40 corresponding to the color design data Pm is configured in the design area 33 is generated. Therefore, if the color of each module constituting the color design data Pm is composed of a dark color that can be read as black and a bright color that can be read as white, the module of the design area 33 of the two-dimensional code 54 Even if colors are arranged in colors for each module of the color design data Pm, they can be read as a two-dimensional code.

しかしカラーデザインデータPmはフルカラーのカラー画像データP0から生成されているため、カラーデザインデータPmのモジュールには、明るさが中間的な色値であるなど2値化データのいずれを示すものであるか読み取ることができないおそれがある色のモジュールが存在する場合がある。従って、カラーデザインデータPmの各モジュールの色値を、上述のようにして生成したデザイン2次元コードシンボル54(変換後ビット列)のモジュールの色としてそのまま適用したのでは、2次元コードの読み取り誤りが発生したり、2次元コードとして読み取れない事態が発生する場合がある。   However, since the color design data Pm is generated from the full-color color image data P0, the module of the color design data Pm indicates any of the binarized data such that the brightness is an intermediate color value. There may be a color module that may be unreadable. Accordingly, if the color value of each module of the color design data Pm is applied as it is as the module color of the design two-dimensional code symbol 54 (converted bit string) generated as described above, an error in reading the two-dimensional code will occur. It may occur or a situation that cannot be read as a two-dimensional code may occur.

そこで本実施形態では、かかるカラーデザインデータPmの色値に対応する2値化デザインパターン40を構成するための変換後ビット列を基準として、カラーデザインデータPmのモジュールごとの色値を補正して、補正後の色値に基づいた2次元コードを生成する。即ち本実施形態では、まず2次元コードとして読み取り可能であって、かつカラーデザインデータに対応する2値化デザインが構成された2次元コードを生成するための変換後ビット列(図11に示す2値化デザインパターン40が構成された2次元コードシンボル54)を生成する。そしてカラーデザインデータのモジュールごとの色値が、変換後ビット列の値として読み取られるように各色値を補正することにより、変換後ビット列の値が示すとおりに読み取り可能であって、かつカラーデザインが構成された2次元コードを生成する。   Therefore, in the present embodiment, the color value for each module of the color design data Pm is corrected based on the converted bit string for configuring the binarized design pattern 40 corresponding to the color value of the color design data Pm. A two-dimensional code based on the corrected color value is generated. That is, in this embodiment, first, a converted bit string (binary shown in FIG. 11) for generating a two-dimensional code that can be read as a two-dimensional code and that has a binary design corresponding to color design data. A two-dimensional code symbol 54) in which the digitized design pattern 40 is configured is generated. Then, by correcting each color value so that the color value of each module of the color design data is read as the value of the converted bit string, it can be read as indicated by the value of the converted bit string, and the color design is configured. The generated two-dimensional code is generated.

ここで本実施形態では、図11に示す2次元コードシンボル54のうち、原データ領域30と、誤り訂正データ領域34と、位置検出パターン12と位置合せパターン13とタイミングパターン14とに対応する機能パターン領域46とを除く、デザインデータ領域33に対応するモジュールについて、補正後の色値に応じた色が配色されればよい。   Here, in the present embodiment, functions corresponding to the original data area 30, the error correction data area 34, the position detection pattern 12, the alignment pattern 13, and the timing pattern 14 in the two-dimensional code symbol 54 shown in FIG. For the module corresponding to the design data area 33 excluding the pattern area 46, a color corresponding to the corrected color value may be arranged.

3−4−1.第1の色値の補正処理
例えば図6(C)のカラーデザインデータPmの例では、背景の左半分BLは色値の平均値が160の中間よりは明るい青の色値となっており、背景の右半分BRは色値の平均値が160の中間よりは暗い青の色値となっている。このように背景の左半分BLと背景の右半分BRとでは、モジュールの色値が中間的な値となっているため読み誤り等が発生するおそれがある。
3-4-1. First Color Value Correction Processing For example, in the example of the color design data Pm in FIG. 6C, the left half BL of the background has a blue color value that is lighter than the middle of the average value of 160 color values. The right half BR of the background has a blue color value that is darker than the middle of the average value of 160 color values. In this way, the color value of the module is an intermediate value between the left half BL of the background and the right half BR of the background, which may cause a reading error or the like.

そこで第1の例では、少なくともデザインデータ領域33に対応するカラーデザインデータPmのモジュールごとの色値を、各色値に応じた変換式、又は各モジュールに対応する変換後ビット列の値に応じた変換式に基づいて、中間値よりも暗い色は確実に黒として読み取られるように、中間値よりも明るい色は確実に白として読み取られるように補正する。   Therefore, in the first example, at least the color value for each module of the color design data Pm corresponding to the design data area 33 is converted according to the conversion formula corresponding to each color value or the value of the converted bit string corresponding to each module. Based on the equation, correction is performed so that a color darker than the intermediate value is surely read as black and a lighter color than the intermediate value is surely read as white.

図12は、第1の例の色値補正処理の詳細を示すフローチャートである。図12に示すようにまずステップS120において、カラーデザインデータPmの座標値としてY=0を代入し、ステップS122においてX=0を代入する。そしてステップS124において、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値の合計値Tを求め、ステップS126において、合計値Tが各色値の中間値である128の3倍の値よりも大きいか否か、即ち(X,Y)の位置のモジュールの色値が中間値よりも暗い値か明るい値か判定する。なお、対応する2値化デザインデータPbwの(X,Y)の位置の値が0か1かにより判定してもよい。   FIG. 12 is a flowchart showing details of the color value correction processing of the first example. As shown in FIG. 12, first, in step S120, Y = 0 is substituted as the coordinate value of the color design data Pm, and in step S122, X = 0 is substituted. In step S124, the total value T of the RGB color components at the position (X, Y) of the color design data Pm is obtained. In step S126, the total value T is three times 128, which is the intermediate value of each color value. It is determined whether the color value of the module at the position (X, Y) is darker or brighter than the intermediate value. The determination may be made based on whether the value of the position (X, Y) of the corresponding binarized design data Pbw is 0 or 1.

そして合計値Tの方が大きい場合(値が1の場合)、即ち(X,Y)の位置のモジュールの色値が中間値よりも明るい場合には(ステップS126のY)、ステップS128において、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値を色成分ごとに、A’=A/2+128のAに代入し、変換後の値A´を(X,Y)の位置の補正後の色成分ごとの色値とする。従って各色成分の色値が例えば130であるなど中間値とほとんど変わらないような色値が存在する場合でも、130/2+128=193と補正され、確実に白(変換後ビット列が示す値)として読み取られる値となる。   When the total value T is larger (when the value is 1), that is, when the color value of the module at the position (X, Y) is brighter than the intermediate value (Y in step S126), in step S128, The color value of each RGB color component at the position (X, Y) of the color design data Pm is assigned to A of A ′ = A / 2 + 128 for each color component, and the converted value A ′ is set to (X, Y). The color value for each color component after position correction is used. Therefore, even when there is a color value that hardly changes from the intermediate value, for example, the color value of each color component is 130, the color value is corrected to 130/2 + 128 = 193 and is reliably read as white (value indicated by the converted bit string). Value.

一方、合計値Tの方が小さい場合(値が0の場合)、即ち(X,Y)の位置のモジュールの色値が中間値よりも暗い場合には(ステップS126のN)、ステップS130において、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値を色成分ごとに、A’=A/2のAに代入し、変換後の値A´を(X,Y)の位置の補正後の色成分ごとの色値とする。従って各色成分の色値が例えば126であるなど中間値とほとんど変わらないような色値が存在する場合でも、126/2=63と補正され、確実に黒(変換後ビット列が示す値)として読み取られる値となる。   On the other hand, when the total value T is smaller (when the value is 0), that is, when the color value of the module at the position (X, Y) is darker than the intermediate value (N in step S126), in step S130. The color values of the RGB color components at the position (X, Y) of the color design data Pm are substituted for A of A ′ = A / 2 for each color component, and the converted value A ′ is (X, Y). The color value for each color component after correction of the position of. Therefore, even when there is a color value that hardly changes from the intermediate value, for example, the color value of each color component is 126, it is corrected to 126/2 = 63 and is read as black (a value indicated by the bit string after conversion) without fail. Value.

そしてステップS132において座標値Xに1加算し、ステップS134においてX座標が45となるまでステップS122からステップS134までの処理を繰返し、Y座標が0の位置全てについて補正後の色成分ごとの色値を求める。するとステップS136において座標値Yに1加算し、ステップS138においてY座標が45となるまでステップS122からステップS138までの処理を繰返し、カラーデザインデータPmの全ての位置について補正後の色成分ごとの色値を求める。こうして本実施形態では、カラーデザインデータPmのモジュールごとの色値を、確実に各モジュールに対応する変換後ビット列の値として読み取られるように補正する。   Then, 1 is added to the coordinate value X in step S132, and the processing from step S122 to step S134 is repeated until the X coordinate becomes 45 in step S134, and the color value for each color component after correction for all the positions where the Y coordinate is 0. Ask for. Then, 1 is added to the coordinate value Y in step S136, and the processing from step S122 to step S138 is repeated until the Y coordinate becomes 45 in step S138, and the color for each color component after correction for all positions of the color design data Pm. Find the value. In this way, in the present embodiment, the color value for each module of the color design data Pm is corrected so that it can be reliably read as the value of the converted bit string corresponding to each module.

そして第1の例では図13に示すように、デザインデータ領域33については補正後の色値に基づいて2次元コードシンボル10を生成し、2次元コードのその他の領域については変換後ビット列(デザイン2次元コードシンボル54)に基づいて2次元コードシンボル10を生成する。従って図13の例では、モジュールの色値が中間的な値であった背景の左半分BLと背景の右半分BRの色値が、デザインデータ領域33においてカラーデザインデータPmの色を可及的に反映しつつ、確実に変換後ビット列の値として読み取られる色値となっている。   In the first example, as shown in FIG. 13, a two-dimensional code symbol 10 is generated for the design data area 33 based on the corrected color value, and a converted bit string (design) is used for the other areas of the two-dimensional code. A two-dimensional code symbol 10 is generated based on the two-dimensional code symbol 54). Accordingly, in the example of FIG. 13, the color values of the left half BL of the background and the right half BR of the background in which the module color values are intermediate values make the color of the color design data Pm possible in the design data area 33. The color value is surely read as the value of the bit string after conversion.

このように本実施形態によれば、人目を引き付けることができるカラーのデザインパターンが構成された2次元コードを、通常の2次元コードの生成手順に準じて簡易に生成することができる。しかも、カラーデザインが構成されていても、通常の2次元コードの生成手順に準じて生成されているので、2次元コードを読取装置により正確に読み取らせることができる。   As described above, according to the present embodiment, a two-dimensional code in which a color design pattern that can attract attention can be easily generated according to a normal two-dimensional code generation procedure. Moreover, even if the color design is configured, the two-dimensional code can be accurately read by the reading device because it is generated according to the normal two-dimensional code generation procedure.

3−4−2.第2の色値の補正処理
また図6(B)のカラーデザインデータPmの例では、ハート形状の左半分HLは色値の平均値が30の暗い赤の色値となっており、ハート形状の右半分HRは色値の平均値が230の明るい赤の色値となっている。よって、ハート形状の左半分HLとハート形状の右半分HRとでは、モジュールの色値が中間的な値となっていないためそのままの色値でも読み誤りなく読み取られる。しかし第1の例の色値補正処理では、かかるモジュールの色値についても同様の変換式により補正を行うため、図13に示すようにハート形状の左半分HLはほとんど黒に近い暗い赤に補正され、ハート形状の右半分HRはほとんど白に近い明るい赤に補正されている。
3-4-2. Second Color Value Correction Processing In the example of the color design data Pm in FIG. 6B, the left half HL of the heart shape is a dark red color value with an average color value of 30, and the heart shape The right half of HR has a bright red color value with an average color value of 230. Therefore, since the color value of the module is not an intermediate value between the heart-shaped left half HL and the heart-shaped right half HR, even the color value as it is can be read without any reading error. However, in the color value correction processing of the first example, the color value of such a module is also corrected by the same conversion formula, so that the heart-shaped left half HL is corrected to dark red almost black as shown in FIG. The right half HR of the heart shape is corrected to a bright red that is almost white.

そこで第2の例では、色値が色値のとり得る範囲の中間付近の第1の範囲の値である場合、即ち色値が2値化データのいずれを示すものであるか読み取ることができないおそれがある値である場合に、色値をその色値に応じた変換式、又は各モジュールに対応する変換後ビット列の値に応じた変換式に基づいて、中間値よりも暗い色は確実に黒として読み取られるように、中間値よりも明るい色は確実に白として読み取られるように補正する。そして色値が第1の範囲の値(中間的な値)であるモジュールについては補正後の色値に基づいて2次元コードを生成し、色値が第1の範囲の値以外の第2の範囲の値(中間的でない値)であるモジュールについては補正を行わずに、カラーデザインデータPmのモジュールごとの色値に基づいて2次元コードを生成する。   Therefore, in the second example, when the color value is a value in the first range near the middle of the range that the color value can take, that is, whether the color value indicates binary data cannot be read. If it is a value that is likely, the color value is surely darker than the intermediate value based on the conversion formula corresponding to the color value or the conversion formula corresponding to the value of the converted bit string corresponding to each module. In order to be read as black, a color brighter than the intermediate value is corrected so as to be surely read as white. Then, for a module whose color value is a value in the first range (intermediate value), a two-dimensional code is generated based on the corrected color value, and a second color value other than the value in the first range is generated. For modules that are range values (non-intermediate values), a two-dimensional code is generated based on the color value of each module of the color design data Pm without correction.

図14は、第2の例の色値補正処理の詳細を示すフローチャートである。図14において、Fgetcol(X,Y,c)は、カラーデザインデータPmの(X,Y)の位置の色値を取り出す関数であって、cは0〜2までとり、それぞれがRGBの各色成分に対応する。またFsetgen(X,Y,c,a)は、(X,Y)の位置の補正後の色値を設定する関数であって、cは0〜2までとり、それぞれがRGBの各色成分に対応し、指定された色成分cにaの値が設定される。またFgetgen(X,Y,c)は、(X,Y)の位置の補正後の色値を取り出す関数であって、cは0〜2までとり、それぞれがRGBの各色成分に対応する。   FIG. 14 is a flowchart showing details of the color value correction processing of the second example. In FIG. 14, Fgetcol (X, Y, c) is a function for extracting the color value at the position (X, Y) of the color design data Pm, and c is a value from 0 to 2, each of which is an RGB color component. Corresponding to Fsetgen (X, Y, c, a) is a function for setting the corrected color value at the position (X, Y), and c is a value from 0 to 2, each corresponding to each RGB color component. Then, the value a is set to the designated color component c. Fgetgen (X, Y, c) is a function for extracting a color value after correcting the position of (X, Y), and c takes from 0 to 2, each corresponding to each RGB color component.

図14に示すようにまずステップS150において、カラーデザインデータPmの座標値としてY=0を代入し、ステップS152においてX=0を代入する。そしてステップS154において、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値の合計値Tを求め、ステップS156において、合計値Tが確実に白として読み取れる値である192の3倍の値よりも大きいか、又は合計値Tが確実に黒として読み取れる値である64の3倍の値よりも小さいか判定する。即ち(X,Y)の位置のモジュールの色値が、白黒いずれかの値として確実に読み取れる範囲の色値(第2の範囲)か否か判定する。   As shown in FIG. 14, first, in step S150, Y = 0 is substituted as the coordinate value of the color design data Pm, and in step S152, X = 0 is substituted. In step S154, the total value T of the RGB color components at the position (X, Y) in the color design data Pm is obtained. In step S156, the total value T is a value that can be reliably read as white. It is determined whether it is larger than the double value, or whether the total value T is smaller than a value that is three times 64, which is a value that can be reliably read as black. That is, it is determined whether or not the color value of the module at the position (X, Y) is a color value (second range) that can be reliably read as either a black and white value.

ここで確実に読み取れる範囲の色値である場合には(ステップS156のY)、ステップS158〜ステップS164において、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値を、補正せずにそのまま2次元コードを生成するための色値として設定する。一方、確実に読み取れる範囲の色値でない場合には(ステップS156のN)、ステップS166において、合計値Tが各色値の中間値である128の3倍の値よりも大きいか否か、即ち(X,Y)の位置のモジュールの色値が中間値よりも暗いか明るいか判定する。なお、対応する2値化デザインデータPbwの(X,Y)の位置の値が0か1かにより判定してもよい。   If the color value is within a range that can be reliably read (Y in step S156), the color values of the RGB color components at the position (X, Y) of the color design data Pm are corrected in steps S158 to S164. Without being set, it is set as a color value for generating a two-dimensional code as it is. On the other hand, if the color value is not within the range that can be reliably read (N in step S156), in step S166, whether or not the total value T is larger than three times 128, which is the intermediate value of each color value, that is, ( It is determined whether the color value of the module at the position of X, Y) is darker or brighter than the intermediate value. The determination may be made based on whether the value of the position (X, Y) of the corresponding binarized design data Pbw is 0 or 1.

そして合計値Tの方が小さい場合(Pbwの(X,Y)の値又は変換後ビット列の対応する値が1の場合)、即ち(X,Y)の位置のモジュールの色値が中間値よりも暗い場合には(ステップS166のY)、ステップS168において各色成分の種類を示すC(R=0、G=1、B=2)に0を代入し、ステップS170において、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値を色成分ごとに、a=a*(64*3)/Tのように変換し、変換後の値aを(X,Y)の位置の補正後の色成分ごとの色値とする。従って各色成分の色値が例えばいずれも130であるなど中間値とほとんど変わらないような色値である場合でも、130*(64*3)/390=64と補正され、確実に黒(変換後ビット列が示す値)として読み取られる値となる。   When the total value T is smaller (when the value of (X, Y) of Pbw or the corresponding value of the converted bit string is 1), that is, the color value of the module at the position (X, Y) is more than the intermediate value. If it is dark (Y in step S166), 0 is substituted into C (R = 0, G = 1, B = 2) indicating the type of each color component in step S168, and in step S170, the color design data Pm The color value of each RGB color component at the position (X, Y) is converted for each color component as a = a * (64 * 3) / T, and the converted value a is the position at (X, Y). The color value for each color component after correction of. Therefore, even when the color value of each color component is a color value that is almost the same as the intermediate value, for example, 130, it is corrected to 130 * (64 * 3) / 390 = 64 and is surely black (after conversion). The value read as the bit string).

一方、合計値Tの方が大きい場合(Pbwの(X,Y)の値又は変換後ビット列の対応する値が0の場合)、即ち(X,Y)の位置のモジュールの色値が中間値よりも明るい場合には(ステップS166のN)、ステップS176〜ステップS200において、所定の変換式に基づいて各色成分の色値を変換した場合に、色値がとり得る最大値255をオーバーフローしたか否かに応じて変換式を変える手法により各色成分ごとの色値を補正する。本実施形態ではまず、ステップS176において最大値255に対するオーバーフローの積算値OVと、余裕分の積算値SPに0を代入し、ステップS178においてCに0を代入する。そしてステップS180において、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値を色成分ごとに、a=a*(192*3)/Tのように変換する。   On the other hand, when the total value T is larger (when the (X, Y) value of Pbw or the corresponding value of the converted bit string is 0), that is, the color value of the module at the (X, Y) position is an intermediate value. If it is brighter (N in Step S166), whether or not the maximum value 255 that the color value can take when the color value of each color component is converted based on a predetermined conversion formula in Step S176 to Step S200? The color value for each color component is corrected by a method of changing the conversion formula depending on whether or not. In the present embodiment, first, 0 is substituted into the overflow integrated value OV for the maximum value 255 and the surplus accumulated value SP in step S176, and 0 is substituted into C in step S178. In step S180, the color values of the RGB color components at the position (X, Y) of the color design data Pm are converted for each color component as a = a * (192 * 3) / T.

そしてステップS182において、変換後の値が最大値の255をオーバーフローした場合には(ステップS182のY)、ステップS184においてOV=OV+a−255のようにしてオーバーフロー積算値を加え、補正値を255に設定する。一方、変換後の値が最大値の255をオーバーフローしない場合には(ステップS182のN)、ステップS186においてSP=SP+255−aのようにして余裕分の積算値を加え、補正値をステップS180で求めたaに設定する。そしてこれを各色成分について行う(ステップS188、ステップS190)。   In step S182, if the converted value overflows the maximum value of 255 (Y in step S182), an overflow integrated value is added as in OV = OV + a-255 in step S184, and the correction value is set to 255. Set. On the other hand, if the converted value does not overflow the maximum value of 255 (N in step S182), the integrated value for the margin is added as in SP = SP + 255-a in step S186, and the correction value is set in step S180. Set to the obtained a. This is performed for each color component (step S188, step S190).

そしてステップS192においてオーバーフローがなかったと判定されると(ステップS192のY)、即ちステップS184の処理が行われず、各色成分についてステップS186の処理が行われた場合には、補正値をaとしてそのまま設定する。一方、ステップS192においてオーバーフローがあったと判定されると(ステップS192のN)、即ちステップS184の処理が行われた場合には、ステップS194〜ステップS200までにおいて、各色成分の補正後の色値(ステップS180〜ステップS190において設定された色成分ごとの補正値)を更に変換する。即ちステップS196において、a=225−Fgetgen(X,Y,c)のようにして、最大値255と補正値との差をaとし、b=OV*a/SP+Fgetgen(X,Y,c)のようにして、オーバーフロー積算値OVと余裕分の積算値SPを反映させた補正値bを算出し、これを最終的な補正値として設定する。   If it is determined in step S192 that there is no overflow (Y in step S192), that is, the process of step S184 is not performed and the process of step S186 is performed for each color component, the correction value is set as a as it is. To do. On the other hand, if it is determined in step S192 that an overflow has occurred (N in step S192), that is, if the process in step S184 is performed, the corrected color value (step S194 to step S200) of each color component ( The correction value for each color component set in steps S180 to S190 is further converted. That is, in step S196, the difference between the maximum value 255 and the correction value is set as a, such as a = 225−Fgetgen (X, Y, c), and b = OV * a / SP + Fgetgen (X, Y, c) In this way, the correction value b reflecting the overflow integrated value OV and the margin integrated value SP is calculated, and this is set as the final correction value.

そしてステップS202〜ステップS208のように、カラーデザインデータPmの全ての座標値のモジュールについて上記処理を行い、補正後の色値を求める。こうして第2の色値補正処理では、そのままの色値でも読み誤りなく読み取られるモジュールについては補正を行わず、読み誤りのおそれがおる色値のモジュールについてのみ補正を行う。特に中間的な値であって相対的に色値が明るいモジュールについては、オーバーフロー積算値OVと余裕分の積算値SPを考慮することにより、各色成分の色値にばらつきがあるモジュールについても適切な補正を行う。   Then, as in step S202 to step S208, the above processing is performed for all coordinate value modules of the color design data Pm to obtain corrected color values. In this way, in the second color value correction process, correction is not performed for a module that can be read without error even with the color value as it is, and correction is performed only for a module with a color value that may cause a reading error. In particular, a module having an intermediate value and a relatively bright color value is also appropriate for a module in which the color value of each color component varies by considering the overflow accumulated value OV and the accumulated value SP of the margin. Make corrections.

従って第2の例では図15に示すように、ハート形状の左半分HLとハート形状の右半分HRとでは、モジュールの色値が中間的な値となっていないためカラーデザインデータPmそのままの色値に基づいて2次元コードシンボル10を生成する。一方、モジュールの色値が中間的な値であった背景の左半分BLと背景の右半分BRの色値は、カラーデザインデータPmの色を可及的に反映しつつ、確実に変換後ビット列の値として読み取られる補正後の色値に基づいて2次元コードシンボル10を生成する。   Accordingly, in the second example, as shown in FIG. 15, the color value of the module is not an intermediate value between the heart-shaped left half HL and the heart-shaped right half HR. A two-dimensional code symbol 10 is generated based on the value. On the other hand, the color values of the left half BL of the background and the right half BR of the background in which the module color values are intermediate values reflect the color of the color design data Pm as much as possible, and are reliably converted bit strings. The two-dimensional code symbol 10 is generated based on the corrected color value read as the value of.

3−4−3.第3の例
また、少なくともデザインデータ領域33に対応するカラーデザインデータPmのモジュールごとの色値が、色値のとり得る範囲の中間付近の第1の範囲の値である場合、即ち色値が中間的な値である場合に、各モジュールに所定のパターンで割り当てられる値に応じた変換式に基づいて色値を補正するようにしてもよい。
3-4-3. Third Example In addition, when the color value of each module of the color design data Pm corresponding to at least the design data area 33 is a value in the first range near the middle of the range that the color value can take, that is, the color value is In the case of an intermediate value, the color value may be corrected based on a conversion formula corresponding to a value assigned to each module in a predetermined pattern.

例えば図16に示す第3の例では、図14に示す第2の例とほぼ同様の処理を行うが、図14のステップS156において色値が中間的な色値であると判定した場合に(ステップS156のN)、ステップS166においてRGB値の合計値Tが中間値よりも大きいか否かにより変換式を異ならせるのではなく、例えばディザパターンを用いて値を割り当て、値に応じて変換式を異ならせる。具体的には第3の例では、図16のステップS156において色値が中間的な色値であると判定した場合に(ステップS156のN)、ステップS220において、(Y&1)*2+(X&1)?のようにして、座標値X、Yに応じて異なる値0〜3を算出し、ステップS222において、算出された値に対応するしきい値Lを当該位置のモジュールに割り当てる。そしてステップS224において、色値の合計値Tが同じであっても割り当てられたしきい値に応じて用いる変換式が異なるようにして、色値の補正処理を行う。   For example, the third example shown in FIG. 16 performs substantially the same processing as the second example shown in FIG. 14, but when it is determined in step S156 in FIG. 14 that the color value is an intermediate color value ( N) in step S156, and in step S166, instead of changing the conversion formula depending on whether or not the total value T of the RGB values is larger than the intermediate value, for example, a value is assigned using a dither pattern, and the conversion formula is changed according to the value. Make them different. Specifically, in the third example, when it is determined in step S156 in FIG. 16 that the color value is an intermediate color value (N in step S156), in step S220, (Y & 1) * 2 + (X & 1) ? As described above, different values 0 to 3 are calculated according to the coordinate values X and Y, and in step S222, a threshold value L corresponding to the calculated value is assigned to the module at the position. In step S224, even if the total value T of the color values is the same, the color value correction process is performed so that the conversion formula used differs according to the assigned threshold value.

こうして第3の例によれば、色値が第1の範囲の値であるモジュールに対して、一括した補正処理を行うのではなく、例えば誤差拡散法などを用いて所定のパターンで値を割り当て、値に応じた補正処理を行う。従って第3の例によれば、色値が第1の範囲の値であるモジュールについて、所定のパターンで異なる色値を出現させて元の中間的な色値を表現することにより、可及的に元の色値を補正後の色値に反映することができる。   Thus, according to the third example, instead of performing batch correction processing on modules whose color values are in the first range, values are assigned in a predetermined pattern using, for example, an error diffusion method. Then, correction processing according to the value is performed. Therefore, according to the third example, for a module whose color value is in the first range, different color values appear in a predetermined pattern to represent the original intermediate color value as much as possible. The original color value can be reflected in the corrected color value.

3−4−4.第4の例
また、少なくともデザインデータ領域に対応する変換後ビット列の値が第1の値(白、0)であって、対応するカラーデザインデータのモジュールの各色成分の色値の最小値が第1のしきい値よりも小さい場合に、そのモジュールの各色成分の色値を増加させる変換式に基づいて各色成分の色値を補正し、少なくともデザインデータ領域33に対応する変換後ビット列の値が第2の値(黒、1)であって、対応するカラーデザインデータのモジュールの各色成分の色値の最大値が第2のしきい値よりも大きい場合に、そのモジュールの各色成分の色値を減少させる変換式に基づいて各色成分の色値を補正するようにしてもよい。
3-4-4. Fourth Example Also, the value of the converted bit string corresponding to at least the design data area is the first value (white, 0), and the minimum value of the color values of each color component of the corresponding color design data module is the first value. If the threshold value is smaller than 1, the color value of each color component is corrected based on a conversion formula that increases the color value of each color component of the module, and at least the value of the converted bit string corresponding to the design data area 33 is If the maximum value of each color component of the corresponding color design data module is greater than the second threshold value with the second value (black, 1), the color value of each color component of that module The color value of each color component may be corrected on the basis of a conversion equation that reduces the color.

例えば図17に示す第4の例のフローチャートでは、図16に示す第3の例のステップS156において中間的な色値であるか否か判定する前に、ステップS240〜ステップS270までの処理により、モジュールの色成分ごとの色値に、読み取られるべき値に反して小さい又は大きい値がある場合には、当該モジュールの色値全体を補正しておく。具体的には図17のステップS244において、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値の合計値Tを求め、ステップS246において、合計値Tが各色値の中間値である128の3倍の値よりも大きいか否か、即ち(X,Y)の位置のモジュールの色値が中間値よりも暗いか明るいか判定する。   For example, in the flowchart of the fourth example shown in FIG. 17, before determining whether or not the color value is an intermediate color in step S156 of the third example shown in FIG. 16, the processing from step S240 to step S270 is performed. If the color value for each color component of the module has a small or large value against the value to be read, the entire color value of the module is corrected. Specifically, in step S244 in FIG. 17, the total value T of the RGB color components at the position (X, Y) of the color design data Pm is obtained, and in step S246, the total value T is an intermediate value of each color value. It is determined whether the color value of the module at the position (X, Y) is darker or brighter than the intermediate value.

そしてステップS246において、合計値Tの方が小さい場合(ビット列の値が1の場合)、即ち(X,Y)の位置のモジュールの色値が中間値よりも暗い場合には(ステップS246のY)、ステップS248において、RGB各色成分の色値のうち最も値が大きいものEmaxを求め、ステップS250において、黒であると認識されるモジュールの各色成分がとり得る最大値LowmaxとEmaxとを比較する。即ち合計値Tによれば色値が小さい(暗い)と判断されるが、色成分ごとの色値にしきい値(Lowmax)を超えて色値が大きいもの(白に近づくもの)があるか否か判定する。   In step S246, when the total value T is smaller (when the bit string value is 1), that is, when the color value of the module at the position (X, Y) is darker than the intermediate value (Y in step S246). In step S248, the largest value Emax of the RGB color components is obtained, and in step S250, the maximum values Lowmax and Emax that can be taken by each color component of the module recognized as black are compared. . That is, according to the total value T, it is determined that the color value is small (dark), but there is a color value for each color component that exceeds the threshold value (Lowmax) and has a large color value (approaches white). To determine.

ここで大きい色値がある場合には(ステップS250のY)、ステップS252〜ステップS258において、当該位置のモジュールの各色成分について、ステップS254の変換を行う。図17の例では、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値を読出し(a=Fgetcol(X,Y,c))、a=a−(Emax−LowMax)*a/Emaxのようにして、読み出した値からEmaxとLowMaxに応じた値を差し引く。即ち、色成分ごとの色値でLowMax(第2のしきい値)よりも大きい色値がある場合には、当該モジュールの各色成分の色値を同様に減少させる。一方、大きい色値がない場合には(ステップS250のN)、そのまま第3の例と同様の処理を行う。   If there is a large color value here (Y in step S250), in step S252 to step S258, the conversion in step S254 is performed for each color component of the module at that position. In the example of FIG. 17, the color values of the RGB color components at the position (X, Y) of the color design data Pm are read (a = Fgetcol (X, Y, c)), and a = a− (Emax−LowMax) *. As in a / Emax, a value corresponding to Emax and LowMax is subtracted from the read value. That is, when there is a color value larger than LowMax (second threshold value) for each color component, the color value of each color component of the module is similarly decreased. On the other hand, if there is no large color value (N in step S250), the same processing as in the third example is performed as it is.

また、ステップS246において、合計値Tの方が大きい場合(ビット列の値が0の場合)、即ち(X,Y)の位置のモジュールの色値が中間値よりも明るい場合には(ステップS246のN)、ステップS260において、RGB各色成分の色値のうち最も値が小さいものEminを求め、ステップS262において、白であると認識されるモジュールの各色成分がとり得る最小値HighminとEminとを比較する。即ち合計値Tによれば色値が大きい(明るい)と判断されるが、色成分ごとの色値にしきい値(Lowmin)を超えて色値が小さいもの(黒に近づくもの)があるか否か判定する。   In step S246, when the total value T is larger (when the bit string value is 0), that is, when the color value of the module at the position (X, Y) is brighter than the intermediate value (in step S246). N) In step S260, the smallest color value Emin among the RGB color components is obtained, and in step S262, the minimum value Highmin that can be taken by each color component of the module recognized as white is compared with Emin. To do. That is, according to the total value T, it is determined that the color value is large (bright), but there is a color value for each color component that exceeds the threshold (Lowmin) and has a small color value (approaches black). To determine.

ここで小さい色値がある場合には(ステップS262のY)、カラーデザインデータPmの(X,Y)の位置のRGB各色成分の色値を読出し(a=Fgetcol(X,Y,c))、a=a+(HighMin−Emin)*(255−a)/(255−Emin)のようにして、読み出した値にEmaxとLowMaxに応じた値を加える。即ち、色成分ごとの色値でHighMin(第1のしきい値)よりも小さい色値がある場合には、当該モジュールの各色成分の色値を同様に増加させる。一方、小さい色値がない場合には(ステップS262のN)、そのまま第3の例と同様の処理を行う。   If there is a small color value here (Y in step S262), the color value of each RGB color component at the position (X, Y) of the color design data Pm is read (a = Fgetcol (X, Y, c)). , A = a + (HighMin−Emin) * (255−a) / (255−Emin) and a value corresponding to Emax and LowMax is added to the read value. That is, when there is a color value smaller than HighMin (first threshold value) for each color component, the color value of each color component of the module is similarly increased. On the other hand, if there is no small color value (N in step S262), the same processing as in the third example is performed as it is.

こうして第4の例によれば、色成分ごとの色値に応じた変換処理を行うことにより、より確実に読み取り誤りを防止するとともに、可及的に元の色値を補正後の色値に反映することができる。   Thus, according to the fourth example, by performing the conversion process according to the color value for each color component, reading errors can be prevented more reliably, and the original color value can be changed to the corrected color value as much as possible. Can be reflected.

3−4−5.デザイン領域以外への適用
また本実施形態では、図11に示す2次元コードシンボル54のうち、デザインデータ領域33に対応するモジュールのみならず、原データ領域30と、誤り訂正データ領域34と、位置検出パターン12と位置合せパターン13とタイミングパターン14とに対応する機能パターン領域46に対応するモジュールについても、補正後の色値に応じた色が配色されるように2次元コードを生成することができる。
3-4-5. In addition to the module corresponding to the design data area 33 in the two-dimensional code symbol 54 shown in FIG. 11, in the present embodiment, the original data area 30, the error correction data area 34, the position For the module corresponding to the function pattern area 46 corresponding to the detection pattern 12, the alignment pattern 13, and the timing pattern 14, a two-dimensional code may be generated so that the color corresponding to the corrected color value is arranged. it can.

上述のようにデザインデータ領域33に対応するモジュールは、変換後ビット列がカラーデザインデータPmに対応するものであるため、各モジュールの色値に応じた変換式、又は各モジュールに対応する前記変換後ビット列の値に応じた変換式に基づいて、色値を補正することにより、適切な補正後の色値を求めることができた。しかし、原データ領域30と、誤り訂正データ領域34と、機能パターン領域46に対応するモジュールについては、変換後ビット列がカラーデザインデータPmとは無関係なものであるため、同様の変換式によって補正後の色値を求めたのでは、変換後ビット列や機能的なパターンが示す値として読み取られない色値に補正されてしまう場合がある。   As described above, since the module corresponding to the design data area 33 has the converted bit string corresponding to the color design data Pm, the conversion formula corresponding to the color value of each module, or the converted data corresponding to each module. By correcting the color value based on a conversion formula corresponding to the value of the bit string, an appropriate corrected color value could be obtained. However, for the modules corresponding to the original data area 30, the error correction data area 34, and the function pattern area 46, the converted bit string is irrelevant to the color design data Pm. If the color value is obtained, it may be corrected to a color value that cannot be read as a value indicated by the converted bit string or functional pattern.

そこで本実施形態では、デザインデータ領域33以外の上記各領域に対応するモジュールについては、変換後ビット列や機能的なパターンが示す値(0か1)を参照し、当該領域用の変換式を用いて、変換後ビット列や機能的なパターンが示す値として読み取られるように各色値を補正した補正後の色値を求める。具体的には、変換後ビット列や機能的なパターンが示す値が0即ちモジュールが白である場合であって、対応するカラーデザインデータPmのモジュールの色値が中間値よりも暗い場合には、補正後の各色成分の色値の平均値が192〜255の間の数値となるような変換式を用いる。また、変換後ビット列や機能的なパターンが示す値が1即ちモジュールが黒である場合であって、対応するカラーデザインデータPmのモジュールの色値が中間値よりも明るい場合には、補正後の各色成分の色値の平均値が0〜64の間の数値となるような変換式を用いる。   Therefore, in the present embodiment, for the modules corresponding to the respective areas other than the design data area 33, the converted bit string and the value (0 or 1) indicated by the functional pattern are referred to, and the conversion formula for the area is used. Thus, a corrected color value obtained by correcting each color value so as to be read as a value indicated by the converted bit string or functional pattern is obtained. Specifically, when the value indicated by the converted bit string or functional pattern is 0, that is, the module is white, and the color value of the module of the corresponding color design data Pm is darker than the intermediate value, A conversion formula is used such that the average value of the color values of each color component after correction becomes a numerical value between 192 and 255. Further, when the value indicated by the bit string after conversion or the functional pattern is 1, that is, the module is black, and the color value of the module of the corresponding color design data Pm is brighter than the intermediate value, A conversion formula is used such that the average value of the color values of each color component is a numerical value between 0 and 64.

例えば、デザイン領域33のサブモジュールについては、変換後ビット列の値等に応じて、A’=A/2+128、又はA’=A/2の変換式を用い、その他の領域のサブモジュールについては、A´=A/4+192、又はA´=A/4の変換式を用いるようにしてもよい。即ちデザイン領域33では、サブモジュールごとの色値と変換後ビット列等の値が対応しているので補正率が相対的に小さい変換式を用い、その他の領域では、サブモジュールごとの色値と変換後ビット列等の値が必ずしも対応していないので補正率が相対的に大きい変換式を用いるようにしてもよい。   For example, for the submodule in the design area 33, a conversion formula of A ′ = A / 2 + 128 or A ′ = A / 2 is used according to the value of the bit string after conversion, and the submodules in other areas are A conversion formula of A ′ = A / 4 + 192 or A ′ = A / 4 may be used. That is, in the design area 33, since the color value for each submodule corresponds to the value such as the bit string after conversion, a conversion formula with a relatively small correction rate is used, and in other areas, the color value and conversion for each submodule are used. Since the values of the subsequent bit strings and the like do not necessarily correspond, a conversion formula having a relatively large correction rate may be used.

また、変換後ビット列や機能的なパターンが示す値が0即ちモジュールが白である場合であって、対応するカラーデザインデータPmのモジュールの各色成分の色値の平均値が192〜255の間の明るい色の数値である場合や、変換後ビット列や機能的なパターンが示す値が1即ちモジュールが黒である場合であって、対応するカラーデザインデータPmのモジュールの各色成分の色値の平均値が0〜64の間の暗い色の数値である場合には、補正せずにカラーデザインデータPmのモジュールの色値をそのまま2次元コードの色値としてもよい。   Further, the value indicated by the bit string after conversion or the functional pattern is 0, that is, the module is white, and the average value of the color values of each color component of the module of the corresponding color design data Pm is between 192 and 255. The average value of the color values of the respective color components of the module of the corresponding color design data Pm when the value is a bright color value or the value indicated by the converted bit string or functional pattern is 1, that is, the module is black Is a dark color value between 0 and 64, the color value of the module of the color design data Pm may be used as it is as the color value of the two-dimensional code without correction.

図18はこのようにして生成された2次元コードの例である。図18の例では、ハート形状の中心に配置された位置合せパターン13が、ハート形状の左半分HLの色値とハート形状の右半分HR色値とを反映した色値となっている。特にハート形状の左半分HLに対応する位置合せパターン13の黒モジュールに対応する部分は、ハート形状の左半分HLの色値が0〜64の暗い色値であったため、ハート形状の左半分HLの色値と同様の色とされている。即ち位置合せパターン13の黒モジュールであっても、カラーデザインデータPmのモジュールの色値をそのまま2次元コードの色値としている。一方、ハート形状の左半分HLに対応する位置合せパターン13の白モジュールに対応する部分は、ハート形状の左半分HLの色値が0〜64の暗い色値であったため、ハート形状の左半分HLの色値を反映しつつ、192〜255の間の数値の色値に補正されている。こうして本実施形態によれば、より広い領域においてカラーデザインデータPmの色値が反映された2次元コードを生成することができる。   FIG. 18 shows an example of the two-dimensional code generated in this way. In the example of FIG. 18, the alignment pattern 13 arranged at the center of the heart shape has a color value reflecting the color value of the left half HL of the heart shape and the right half HR color value of the heart shape. In particular, the portion corresponding to the black module of the alignment pattern 13 corresponding to the heart-shaped left half HL has a dark color value of 0 to 64 in the heart-shaped left half HL. The color is the same as the color value. That is, even for the black module of the alignment pattern 13, the color value of the module of the color design data Pm is used as it is as the color value of the two-dimensional code. On the other hand, the portion corresponding to the white module of the alignment pattern 13 corresponding to the heart-shaped left half HL has a dark color value of 0 to 64 in the heart-shaped left half HL. The color value is corrected to a numerical value between 192 and 255 while reflecting the HL color value. Thus, according to the present embodiment, a two-dimensional code reflecting the color value of the color design data Pm in a wider area can be generated.

4.構成
図19に本実施形態の2次元コード生成システムの機能ブロック図の例を示す。なお本実施形態の2次元コード生成システムは図19の構成要素(各部)の一部を省略した構成としてもよい。
4). Configuration FIG. 19 shows an example of a functional block diagram of the two-dimensional code generation system of this embodiment. Note that the two-dimensional code generation system of this embodiment may have a configuration in which some of the components (each unit) in FIG. 19 are omitted.

入力部160は、生成する2次元コードの基本データ、生成した2次元コードから読み取られるべき原データ、生成した2次元コードに構成されるデザインデータなどを入力するためのものである。その機能は、例えばボタンやレバーの他、入力部と表示部の両方の機能を有するタッチパネル型表示部(パネルに画像が表示されると共に、指やペンで画面を触れたり押すことで情報を入力できる装置)により実現できる。また、スキャナやカメラ等の光学読み取り装置によりデザインデータを入力するようにしてもよい。   The input unit 160 is for inputting basic data of a two-dimensional code to be generated, original data to be read from the generated two-dimensional code, design data constituted by the generated two-dimensional code, and the like. Its functions include, for example, buttons and levers, as well as a touch panel display unit that has both input and display functions (images are displayed on the panel, and information is input by touching or pressing the screen with a finger or pen. Device). Further, design data may be input by an optical reading device such as a scanner or a camera.

記憶部170は、処理部100などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。   The storage unit 170 serves as a work area for the processing unit 100 and the like, and its function can be realized by hardware such as a RAM.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部をコンピュータに実現させるためのプログラム)が記憶(記録、格納)される。   The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by hardware such as a memory (ROM). The processing unit 100 performs various processes of this embodiment based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores (records and stores) a program for causing the computer to function as each unit of the present embodiment (a program for causing the computer to implement each unit).

表示部190は、本実施形態により生成された画像を出力するものであり、その機能はCRT、液晶ディスプレイ、プラズマディスプレイ、入力部と表示部の両方の機能を有するタッチパネル型表示部により実現できる。   The display unit 190 outputs an image generated according to the present embodiment, and the function can be realized by a CRT, a liquid crystal display, a plasma display, and a touch panel type display unit having both functions of an input unit and a display unit.

通信部196は、外部(例えばホストや他の端末)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The communication unit 196 performs various controls for communicating with the outside (for example, a host or another terminal), and functions thereof are hardware such as various processors or communication ASICs, programs, and the like. Can be realized.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト(サーバー)が有する情報記憶媒体からネットワーク(広域ネットワーク、インターネット)及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。   Note that a program (data) for causing a computer to function as each unit of the present embodiment is transferred from an information storage medium included in a host (server) to an information storage medium 180 (storage unit) via a network (wide area network, the Internet) and a communication unit 196. 170). Use of such a host (server) information storage medium is also included within the scope of the present invention.

処理部100(プロセッサ)は、入力部160からの入力データやプログラムなどに基づいて、データ表示処理、データ加工処理、データ変換処理、2次元コード生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)又はASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs various processes such as a data display process, a data processing process, a data conversion process, and a two-dimensional code generation process based on input data and programs from the input unit 160. In this case, the processing unit 100 performs various processes using the main storage unit 172 in the storage unit 170 as a work area. The function of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.) or ASIC (gate array, etc.) and programs.

処理部100は、データ取得部110、コードサイズ決定部112、不使用データ領域特定部114、2値化デザインデータ変換部118、2次元コード生成部120、2次元コード変更部126を含む。なお、処理部100は、これらの各部(機能ブロック)を全て含む必要はなく、その一部を省略してもよい。   The processing unit 100 includes a data acquisition unit 110, a code size determination unit 112, an unused data area specification unit 114, a binarized design data conversion unit 118, a two-dimensional code generation unit 120, and a two-dimensional code change unit 126. Note that the processing unit 100 does not need to include all these units (functional blocks), and some of them may be omitted.

データ取得部110は、入力部160への入力情報に基づき、シンボルの型番情報(サイズ情報)と形式情報(誤り訂正レベル情報)とを取得する。また、本システム利用者が2次元コードシンボルを介して伝達しようとする情報である原データ(ネットワークアドレス情報等)を、2次元コードのフォーマットに基づいてビットコード(ビット列)に変換する。   The data acquisition unit 110 acquires symbol model number information (size information) and format information (error correction level information) based on information input to the input unit 160. Further, original data (network address information or the like) that is information that the system user intends to transmit via the two-dimensional code symbol is converted into a bit code (bit string) based on the format of the two-dimensional code.

また、データ取得部110は、サイズ情報に応じた2次元コードのモジュールごとの色値から構成されたカラーデザインデータと、カラーデザインデータのモジュールごとの色値が各モジュールの色値に応じて2値化された2値化デザインデータとを取得する。ここでデータ取得部110は、所与のカラー画像データを取得してカラーデザインデータを生成するカラーデザインデータ生成部と、所与のカラー画像データに基づいて、又はカラーデザインデータに基づいて2値化デザインデータを生成する2値化デザインデータ生成部とを含むようにしてもよい。また、データ取得部110は、2次元コードに対応付けられた所与の2値化デザインデータを、2次元コードのフォーマットに基づいてビットコード(ビット列)に変換する。   The data acquisition unit 110 also includes color design data configured from color values for each module of the two-dimensional code corresponding to the size information, and color values for each module of the color design data are set to 2 according to the color value of each module. The binarized binarized design data is acquired. Here, the data acquisition unit 110 acquires a given color image data and generates color design data, and a binary based on the given color image data or based on the given color image data. A binarized design data generating unit that generates the digitized design data may be included. The data acquisition unit 110 converts given binary design data associated with the two-dimensional code into a bit code (bit string) based on the format of the two-dimensional code.

また、コードサイズ決定部112を採用し、取得したカラー画像データ、カラーデザインデータ、2値化デザインデータのサイズ(領域、ビット数)に応じて2次元コードのサイズを決定するようにしてもよい。例えば、取得した2値化デザインパターンに対応するモジュールがデザインデータ領域33内に納まるように2次元コードのサイズ情報を決定し、データ取得部110が当該サイズ情報を取得するようにしてもよい。この場合、原データのビットコード、2値化デザインデータのビットコードに基づいて、当該2値化デザインパターンを配置可能なデザインデータ領域33を確保できる2次元コードのサイズ情報を特定するようにしてもよい。   In addition, the code size determination unit 112 may be employed to determine the size of the two-dimensional code according to the size (area, number of bits) of the acquired color image data, color design data, and binarized design data. . For example, the size information of the two-dimensional code may be determined so that the module corresponding to the acquired binarized design pattern fits in the design data area 33, and the data acquisition unit 110 may acquire the size information. In this case, based on the bit code of the original data and the bit code of the binarized design data, the size information of the two-dimensional code that can secure the design data area 33 in which the binarized design pattern can be allocated is specified. Also good.

デザインデータ領域特定部114は、2次元コードのサイズ情報と、原データを変換したビットコードとに基づいて、原データのデータ量に応じた2次元コードのデザインデータ領域33を特定する。より詳細には、デザインデータ領域特定部114は、サイズ情報に応じて誤り訂正データ領域34を特定し、原データに基づいて原データ領域30を特定し、サイズ情報と誤り訂正データ領域34と原データ領域30とに基づいてデザインデータ領域33を特定する。   The design data area specifying unit 114 specifies the design data area 33 of the two-dimensional code corresponding to the data amount of the original data based on the size information of the two-dimensional code and the bit code obtained by converting the original data. More specifically, the design data area specifying unit 114 specifies the error correction data area 34 according to the size information, specifies the original data area 30 based on the original data, and determines the size information, the error correction data area 34, and the original data area 30. The design data area 33 is specified based on the data area 30.

2値化デザインデータ変換部118は、デザインデータ領域33に対応する2値化デザインデータを、2次元コードのフォーマット情報に基づいて逆変換したビットコードを求める。具体的には、図5及び図5の説明に示す各処理を行って、2値化デザインパターンのビットコードを逆変換したビットコードを求める。   The binarized design data conversion unit 118 obtains a bit code obtained by inversely converting the binarized design data corresponding to the design data area 33 based on the format information of the two-dimensional code. Specifically, each process shown in FIGS. 5 and 5 is performed to obtain a bit code obtained by inversely converting the bit code of the binarized design pattern.

補正処理部119は、逆変換後のビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行ってデザインデータ領域のビットコードを求める。例えば、逆変換後のビットコードに対する判定処理と補正処理とを、2次元コードのフォーマットに基づいた分割単位ごとに行ってもよいし、全体として行ってもよい。また、ビット(モジュール)ごとに行うようにしてもよい。   The correction processing unit 119 determines whether or not the bit code after the reverse conversion conforms to the format of the two-dimensional code and the format of the network address, and performs correction processing for the non-conforming bit code to obtain the bit code in the design data area. Ask. For example, the determination process and the correction process for the bit code after the inverse conversion may be performed for each division unit based on the format of the two-dimensional code, or may be performed as a whole. Further, it may be performed for each bit (module).

また、2値化デザインデータ変換部118の処理と補正処理部119の処理の順序を入れ替えて行ってもよい。例えば、補正処理部119が、任意アドレスデータ領域31に対応する2値化デザインデータのビットコードが2次元コードのフォーマット及びネットワークアドレスのフォーマットに適合するか否かを判定し、不適合ビットコードについては補正処理を行って任意アドレスデータのビットコードを求め、2値化デザインデータ変換部118が、補正処理後の任意アドレスデータのビットコードを2次元コードのフォーマット情報に基づいて逆変換したビットコードを求めるようにしてもよい。   Further, the order of the processing of the binarized design data conversion unit 118 and the processing of the correction processing unit 119 may be switched. For example, the correction processing unit 119 determines whether or not the bit code of the binarized design data corresponding to the arbitrary address data area 31 is compatible with the two-dimensional code format and the network address format. A bit code of arbitrary address data is obtained by performing correction processing, and the binarized design data conversion unit 118 converts the bit code of the arbitrary address data after correction processing based on the format information of the two-dimensional code. You may make it ask.

2次元コードデータ生成部120は、2値化デザインデータを逆変換したビットコードと原データを示すビットコードとを2次元コードのフォーマット情報に基づいて変換して、2次元コードを生成するための変換後ビット列を生成する。具体的には、図2及び図2の説明に示す各処理を行って2次元コードを生成する。   A two-dimensional code data generation unit 120 converts a bit code obtained by inversely converting binarized design data and a bit code indicating original data based on the format information of the two-dimensional code to generate a two-dimensional code. A bit string after conversion is generated. Specifically, each process shown in FIGS. 2 and 2 is performed to generate a two-dimensional code.

特に2次元コードデータ生成部120は、誤り訂正データ生成部122と位置合せパターン設定部124とを含む。この誤り訂正データ生成部122は、2値化デザインデータを逆変換したビットコードと原データを示すビットコードとに基づいて、生成される2次元コードの読み取り誤りを訂正するための誤り訂正データを生成する。また、位置合せパターン設定部124は、2次元コードの読み取りに用いられる位置合せパターン13を配置する。   In particular, the two-dimensional code data generation unit 120 includes an error correction data generation unit 122 and an alignment pattern setting unit 124. The error correction data generation unit 122 generates error correction data for correcting a read error of a generated two-dimensional code based on a bit code obtained by inversely converting binary design data and a bit code indicating original data. Generate. The alignment pattern setting unit 124 arranges the alignment pattern 13 used for reading the two-dimensional code.

また、位置合せパターン設定部124は、位置合せパターン13の省略処理を受け付けるようにしてもよい。例えば、2次元コードを生成する前に設定された情報に基づいて、位置合せパターン13を配置しないようにしてもよい。また、所定のアルゴリズムにより、2値化デザインパターンに対応する所定のカバー領域に含まれる位置合せパターン13を配置しないようにしてもよい。また、位置合せパターン13を配置して2次元コードシンボル10を完成させてから、入力情報に基づいて位置合せパターン13を削除するようにしてもよい。   Further, the alignment pattern setting unit 124 may accept a process for omitting the alignment pattern 13. For example, the alignment pattern 13 may not be arranged based on information set before generating the two-dimensional code. Further, the alignment pattern 13 included in the predetermined cover area corresponding to the binarized design pattern may not be arranged by a predetermined algorithm. Alternatively, after the alignment pattern 13 is arranged and the two-dimensional code symbol 10 is completed, the alignment pattern 13 may be deleted based on the input information.

2次元コード変更部126は、誤り訂正レベルデータに応じて、生成された2次元コードの変更処理を受け付ける。本実施の形態では、誤り訂正レベルが4段階用意されており、それぞれの復元能力が決められている。従って、2次元コードのサイズ情報と誤り訂正レベル情報とから、変更しても復元可能なモジュール数(ビット数、パターン数)の範囲内で、配置されたモジュール(ビット)の変更を受け付ける。   The two-dimensional code changing unit 126 receives a change process for the generated two-dimensional code according to the error correction level data. In the present embodiment, four stages of error correction levels are prepared, and the respective restoration capabilities are determined. Therefore, the change of the arranged module (bit) is accepted from the size information of the two-dimensional code and the error correction level information within the range of the number of modules (number of bits, number of patterns) that can be restored even if changed.

カラーデザインデータ補正部128は、少なくともデザインデータ領域33に対応するカラーデザインデータのモジュールごとの色値が、各モジュールに対応する変換後ビット列の値として読み取られるように各色値を補正した補正後の色値を求める。   The color design data correction unit 128 corrects each color value so that at least the color value for each module of the color design data corresponding to the design data area 33 is read as the value of the converted bit string corresponding to each module. Find the color value.

2次元コード生成部130は、補正後の色値及び変換後ビット列に基づいて2次元コードを生成する。即ち2次元コード生成部130は、補正後の色値によるカラーデザインパターンが構成された2次元コードを生成する。   The two-dimensional code generation unit 130 generates a two-dimensional code based on the corrected color value and the converted bit string. That is, the two-dimensional code generation unit 130 generates a two-dimensional code in which a color design pattern based on the corrected color value is configured.

6.2次元コードの利用
本実施の形態で生成されたカラーデザインパターンが配置された2次元コードは、種々の印刷物に印刷してこれを利用することができる。また、テレビ放送やビデオ放映、ゲーム機等、種々のメディアを介してモニタ等の表示部に画像表示させることができる。この場合には、本実施の形態で生成されたカラーデザインパターンが配置された2次元コードの画像データを生成して、表示部に表示させればよい。
6. Use of two-dimensional code The two-dimensional code on which the color design pattern generated in the present embodiment is arranged can be printed on various printed materials and used. In addition, an image can be displayed on a display unit such as a monitor via various media such as television broadcasting, video broadcasting, and a game machine. In this case, image data of a two-dimensional code in which the color design pattern generated in this embodiment is arranged may be generated and displayed on the display unit.

特に、本実施の形態で生成された2次元コードを画像表示させる場合には、デザインデータ領域33に配置されるカラーデザインパターンを複数種類用意しておく。この複数種類のカラーデザインパターンとして、例えば、丸、三角、四角等、形状が異なるカラーデザインパターンを用意してもよいし、連続して切り替え表示すると人が走っているように見えるように、所与のモーションをコマ割りしてそれぞれをデザインした複数のカラーデザインパターンを用意してもよい。また、各モジュールの色を、変換後ビット列が示す値として読み取られる範囲で変化させるようにしてもよい。   In particular, when the two-dimensional code generated in the present embodiment is displayed as an image, a plurality of types of color design patterns arranged in the design data area 33 are prepared. As these multiple types of color design patterns, for example, color design patterns with different shapes, such as circles, triangles, and squares, may be prepared. A plurality of color design patterns in which a given motion is divided into frames and designed respectively may be prepared. Further, the color of each module may be changed within a range that is read as a value indicated by the converted bit string.

また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。   Further, the present invention is not limited to the one described in the above embodiment, and various modifications can be made. For example, terms cited as broad or synonymous terms in the description in the specification or drawings can be replaced by broad or synonymous terms in other descriptions in the specification or drawings.

また本発明は、QRコードなどのマトリックス式の2次元コードのみならず、スタック式の2次元コードなど、種々の2次元コードに関して適用することができる。その場合には、各2次元コードのフォーマットに応じて各処理を行う。   Further, the present invention can be applied not only to a matrix type two-dimensional code such as a QR code but also to various two-dimensional codes such as a stack type two-dimensional code. In that case, each process is performed according to the format of each two-dimensional code.

また本発明は、デザインパターンが配置された2次元コードを生成するためのプログラムのみならず、デザインパターンが配置された2次元コードを生成するためのデータを生成するためのプログラム、デザインパターンが配置された2次元コード画像を生成するためのプログラム、及びそれらのプログラムを記憶した情報記憶媒体、システムにも適用することができる。   Further, the present invention provides not only a program for generating a two-dimensional code in which a design pattern is arranged, but also a program for generating data for generating a two-dimensional code in which a design pattern is arranged, and a design pattern. The present invention can also be applied to a program for generating a generated two-dimensional code image, an information storage medium storing the program, and a system.

本実施の形態の2次元コードの構造の一例を示す図である。It is a figure which shows an example of the structure of the two-dimensional code of this Embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 本実施の形態で生成される2次元コードの一例を示す図である。It is a figure which shows an example of the two-dimensional code produced | generated by this Embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 図6(A)、(B)、(C)は、本実施の形態で表示部に表示される画面の一例を示す図である。6A, 6 </ b> B, and 6 </ b> C are diagrams illustrating an example of a screen displayed on the display unit in this embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 本実施の形態の2次元コード生成処理の一例を説明するための図である。It is a figure for demonstrating an example of the two-dimensional code production | generation process of this Embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 本実施の形態の2次元コード生成処理の一例を説明するための図である。It is a figure for demonstrating an example of the two-dimensional code production | generation process of this Embodiment. 本実施の形態の2次元コード生成処理の一例を説明するための図である。It is a figure for demonstrating an example of the two-dimensional code production | generation process of this Embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 本実施の形態の2次元コード生成処理の一例を説明するための図である。It is a figure for demonstrating an example of the two-dimensional code production | generation process of this Embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 本実施の形態の2次元コード生成処理の一例を説明するための図である。It is a figure for demonstrating an example of the two-dimensional code production | generation process of this Embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 本実施の形態の処理の流れの一例を示すフローチャート図である。It is a flowchart figure which shows an example of the flow of a process of this Embodiment. 本実施の形態の2次元コード生成処理の一例を説明するための図である。It is a figure for demonstrating an example of the two-dimensional code production | generation process of this Embodiment. 本実施の形態の機能ブロックの一例を示す図である。It is a figure which shows an example of the functional block of this Embodiment.

符号の説明Explanation of symbols

10 2次元コードシンボル、13 位置合せパターン、16 符号化領域、30 原データ領域、33 デザインデータ領域、34 誤り訂正コード領域、40 2値化デザインパターン、42 マスクパターン、44 逆変換モジュールパターン、52 マスク前パターン、54 デザイン2次元コードシンボル、100 処理部、110 データ取得部、112 コードサイズ決定部、114 デザインデータ領域特定部、118 2値化デザインデータ変換部、120 2次元コードデータ生成部、126 2次元コード変更部、128 カラーデザインデータ補正部、130 2次元コード生成部、160 入力部、170 記憶部、180 情報記憶媒体、190 表示部 10 Two-dimensional code symbol, 13 Alignment pattern, 16 Encoding area, 30 Original data area, 33 Design data area, 34 Error correction code area, 40 Binary design pattern, 42 Mask pattern, 44 Inverse conversion module pattern, 52 Pattern before mask, 54 design two-dimensional code symbol, 100 processing unit, 110 data acquisition unit, 112 code size determination unit, 114 design data area identification unit, 118 binarized design data conversion unit, 120 two-dimensional code data generation unit, 126 Two-dimensional code change unit, 128 Color design data correction unit, 130 Two-dimensional code generation unit, 160 Input unit, 170 Storage unit, 180 Information storage medium, 190 Display unit

Claims (17)

2次元コードを生成するためのプログラムであって、
2次元コードのサイズデータと、2次元コードから読み取られるべき原データと、前記サイズデータに応じた2次元コードのモジュールごとの階調値から構成された多階調デザインデータと、前記多階調デザインデータのモジュールごとの階調値が各モジュールの階調値に応じて2値化された2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと原データとに基づいて、原データのデータ量に応じた2次元コードのデザインデータ領域を特定するデザインデータ領域特定部と、
前記デザインデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求める2値化デザインデータ変換部と、
前記求められた逆変換ビット列と前記原データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める2次元コードデータ生成部と、
少なくとも前記デザインデータ領域に対応する前記多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求める多階調デザインデータ補正部と、
前記補正後の階調値に基づいて2次元コードを生成する2次元コード生成部としてコンピュータを機能させることを特徴とするプログラム。
A program for generating a two-dimensional code,
Size data of a two-dimensional code, original data to be read from the two-dimensional code, multi-tone design data composed of tone values for each module of the two-dimensional code corresponding to the size data, and the multi-tone A data acquisition unit that acquires binarized design data in which the gradation value of each module of the design data is binarized according to the gradation value of each module;
A design data area specifying unit for specifying a design data area of a two-dimensional code according to the data amount of the original data based on the size data and the original data;
A binarized design data conversion unit for obtaining an inversely converted bit string obtained by inversely converting the binarized design data corresponding to the design data area based on the format information of the two-dimensional code;
A two-dimensional code data generation unit for obtaining a converted bit string obtained by converting the obtained inversely converted bit string and the bit string of the original data based on the format information of the two-dimensional code;
A corrected level obtained by correcting the gradation value so that at least a gradation value for each module of the multi-gradation design data corresponding to the design data area is read as a value of the converted bit string corresponding to each module. A multi-tone design data correction unit for obtaining a tone value;
A program that causes a computer to function as a two-dimensional code generation unit that generates a two-dimensional code based on the corrected gradation value.
請求項1において、
前記多階調デザインデータ補正部が、
前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求め、
前記2次元コード生成部が、
前記デザインデータ領域については前記補正後の階調値に基づいて2次元コードを生成し、2次元コードのその他の領域については前記変換後ビット列に基づいて2次元コードを生成することを特徴とするプログラム。
In claim 1,
The multi-tone design data correction unit is
The gradation value after correction in which the gradation value is corrected so that the gradation value for each module of the multi-gradation design data corresponding to the design data area is read as the value of the converted bit string corresponding to each module Seeking
The two-dimensional code generator is
A two-dimensional code is generated for the design data area based on the corrected gradation value, and a two-dimensional code is generated for the other areas of the two-dimensional code based on the converted bit string. program.
請求項1において、
前記逆変換ビット列に基づいて、生成される2次元コードの読み取り誤りを訂正するための誤り訂正データを生成する誤り訂正データ生成部を更に含み、
前記2次元コードデータ生成部が、
前記求められた逆変換ビット列と、前記原データのビット列と、前記誤り訂正データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求め、
前記多階調デザインデータ補正部が、
前記デザインデータ領域と、前記原データのデータ量に応じた原データ領域と、前記サイズデータに応じた誤り訂正データ領域とに対応する多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求めることを特徴とするプログラム。
In claim 1,
An error correction data generation unit for generating error correction data for correcting a read error of the generated two-dimensional code based on the inversely converted bit string;
The two-dimensional code data generation unit
Obtaining a converted bit string obtained by converting the obtained inverse conversion bit string, the bit string of the original data, and the bit string of the error correction data based on the format information of the two-dimensional code;
The multi-tone design data correction unit is
The gradation value for each module of the multi-gradation design data corresponding to the design data area, the original data area corresponding to the data amount of the original data, and the error correction data area corresponding to the size data is A corrected gradation value obtained by correcting the gradation value so as to be read as a value of the converted bit string corresponding to the above is obtained.
請求項1〜3のいずれかにおいて、
2次元コードの読み取りに用いられる機能パターンを設定する機能パターン設定部を更に含み、
前記多階調デザインデータ補正部が、
前記機能パターンが配置される領域に対応する多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記機能パターンの値として読み取られるように前記階調値を補正した補正後の階調値を求めることを特徴とするプログラム。
In any one of Claims 1-3,
A function pattern setting unit for setting a function pattern used for reading the two-dimensional code;
The multi-tone design data correction unit is
The corrected gradation value is corrected so that the gradation value for each module of the multi-gradation design data corresponding to the area where the functional pattern is arranged is read as the value of the functional pattern corresponding to each module. A program characterized by obtaining a gradation value.
請求項1〜4のいずれかにおいて、
前記多階調デザインデータ補正部が、
少なくとも前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの階調値を、前記階調値に応じた変換式に基づいて補正することを特徴とするプログラム。
In any one of Claims 1-4,
The multi-tone design data correction unit is
At least a gradation value for each module of multi-gradation design data corresponding to the design data area is corrected based on a conversion formula corresponding to the gradation value.
請求項5において、
前記多階調デザインデータ補正部が、
前記階調値が階調値のとり得る範囲の中間付近の第1の範囲の値である場合に、前記階調値をその階調値に応じた変換式に基づいて補正し、
前記2次元コード生成部が、
前記階調値が前記第1の範囲の値であるモジュールについては前記補正後の階調値に基づいて2次元コードを生成し、前記階調値が前記第1の範囲の値以外の第2の範囲の値であるモジュールについては前記多階調デザインデータのモジュールごとの階調値に基づいて2次元コードを生成することを特徴とするプログラム。
In claim 5,
The multi-tone design data correction unit is
When the gradation value is a value in the first range near the middle of the range that the gradation value can take, the gradation value is corrected based on a conversion formula corresponding to the gradation value;
The two-dimensional code generator is
For the module in which the gradation value is in the first range, a two-dimensional code is generated based on the corrected gradation value, and the gradation value is a second value other than the value in the first range. A program for generating a two-dimensional code based on a gradation value for each module of the multi-gradation design data for a module having a value in the range of.
請求項1〜4のいずれかにおいて、
前記多階調デザインデータ補正部が、
少なくとも前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの階調値を、各モジュールに対応する前記変換後ビット列の値に応じた変換式に基づいて補正することを特徴とするプログラム。
In any one of Claims 1-4,
The multi-tone design data correction unit is
At least a gradation value for each module of multi-gradation design data corresponding to the design data area is corrected based on a conversion formula corresponding to a value of the converted bit string corresponding to each module.
請求項7において、
前記多階調デザインデータ補正部が、
前記階調値が階調値のとり得る範囲の中間付近の第1の範囲の値である場合に、前記階調値を各モジュールに対応する前記変換後ビット列の値に応じた変換式に基づいて補正し、
前記2次元コード生成部が、
前記階調値が前記第1の範囲の値であるモジュールについては前記補正後の階調値に基づいて2次元コードを生成し、前記階調値が前記第1の範囲の値以外の第2の範囲の値であるモジュールについては前記多階調デザインデータのモジュールごとの階調値に基づいて2次元コードを生成することを特徴とするプログラム。
In claim 7,
The multi-tone design data correction unit is
When the gradation value is a value in the first range near the middle of the range that the gradation value can take, the gradation value is based on a conversion formula corresponding to the value of the converted bit string corresponding to each module. Correct,
The two-dimensional code generator is
For the module in which the gradation value is in the first range, a two-dimensional code is generated based on the corrected gradation value, and the gradation value is a second value other than the value in the first range. A program for generating a two-dimensional code based on a gradation value for each module of the multi-gradation design data for a module having a value in the range of.
請求項1〜8のいずれかにおいて、
前記多階調デザインデータ補正部が、
少なくとも前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの階調値が、階調値のとり得る範囲の中間付近の第1の範囲の値である場合に、各モジュールに所定のパターンで割り当てられる値に応じた変換式に基づいて前記階調値を補正することを特徴とするプログラム。
In any one of Claims 1-8,
The multi-tone design data correction unit is
When at least the gradation value for each module of the multi-gradation design data corresponding to the design data area is a value in the first range near the middle of the range of gradation values, a predetermined pattern is assigned to each module. A program for correcting the gradation value based on a conversion formula corresponding to the value assigned in step (b).
請求項1〜9のいずれかにおいて、
前記多階調デザインデータ補正部が、
少なくとも前記デザインデータ領域に対応する多階調デザインデータのモジュールごとの各色成分の階調値を、各色成分の階調値に応じた変換式に基づいて補正することを特徴とするプログラム。
In any one of Claims 1-9,
The multi-tone design data correction unit is
A program for correcting at least the gradation value of each color component for each module of multi-gradation design data corresponding to the design data area based on a conversion formula corresponding to the gradation value of each color component.
請求項1〜10のいずれかにおいて、
前記多階調デザインデータ補正部が、
少なくとも前記デザインデータ領域に対応する前記変換後ビット列の値が第1の値であって、対応する多階調デザインデータのモジュールの各色成分の階調値の最小値が第1のしきい値よりも小さい場合に、そのモジュールの各色成分の階調値を増加させる変換式に基づいて各色成分の階調値を補正し、
少なくとも前記デザインデータ領域に対応する前記変換後ビット列の値が第2の値であって、対応する多階調デザインデータのモジュールの各色成分の階調値の最大値が第2のしきい値よりも大きい場合に、そのモジュールの各色成分の階調値を減少させる変換式に基づいて各色成分の階調値を補正することを特徴とするプログラム。
In any one of Claims 1-10,
The multi-tone design data correction unit is
The value of the converted bit string corresponding to at least the design data area is the first value, and the minimum value of the gradation value of each color component of the corresponding multi-gradation design data module is greater than the first threshold value. Is smaller, the gradation value of each color component is corrected based on a conversion formula that increases the gradation value of each color component of the module,
The value of the converted bit string corresponding to at least the design data area is the second value, and the maximum value of the gradation value of each color component of the corresponding multi-gradation design data module is greater than the second threshold value. A program for correcting the gradation value of each color component based on a conversion formula for decreasing the gradation value of each color component of the module.
2次元コードを生成するためのデータを生成するためのプログラムであって、
2次元コードのサイズデータと、2次元コードから読み取られるべき原データと、前記サイズデータに応じた2次元コードのモジュールごとの階調値から構成された多階調デザインデータと、前記多階調デザインデータのモジュールごとの階調値が各モジュールの階調値に応じて2値化された2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと原データとに基づいて、原データのデータ量に応じた2次元コードのデザインデータ領域を特定するデザインデータ領域特定部と、
前記デザインデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求める2値化デザインデータ変換部と、
前記求められた逆変換ビット列と前記原データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める2次元コードデータ生成部と、
少なくとも前記デザインデータ領域に対応する前記多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求める多階調デザインデータ補正部としてコンピュータを機能させることを特徴とするプログラム。
A program for generating data for generating a two-dimensional code,
Size data of a two-dimensional code, original data to be read from the two-dimensional code, multi-tone design data composed of tone values for each module of the two-dimensional code corresponding to the size data, and the multi-tone A data acquisition unit that acquires binarized design data in which the gradation value of each module of the design data is binarized according to the gradation value of each module;
A design data area specifying unit for specifying a design data area of a two-dimensional code according to the data amount of the original data based on the size data and the original data;
A binarized design data conversion unit for obtaining an inversely converted bit string obtained by inversely converting the binarized design data corresponding to the design data area based on the format information of the two-dimensional code;
A two-dimensional code data generation unit for obtaining a converted bit string obtained by converting the obtained inversely converted bit string and the bit string of the original data based on the format information of the two-dimensional code;
A corrected level obtained by correcting the gradation value so that at least a gradation value for each module of the multi-gradation design data corresponding to the design data area is read as a value of the converted bit string corresponding to each module. A program for causing a computer to function as a multi-tone design data correction unit for obtaining a tone value.
2次元コードを生成するためのプログラムであって、
2次元コードのサイズデータと、2次元コードから読み取られるべき原データと、前記サイズデータに応じた2次元コードのモジュールごとの階調値が、第1の値として読み取られる範囲の階調値と第2の値として読み取られる範囲の階調値から構成された多階調デザインデータと、前記多階調デザインデータのモジュールごとの階調値が各モジュールの階調値に応じて2値化された2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと原データとに基づいて、原データのデータ量に応じた2次元コードのデザインデータ領域を特定するデザインデータ領域特定部と、
前記デザインデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求める2値化デザインデータ変換部と、
前記求められた逆変換ビット列と前記原データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める2次元コードデータ生成部と、
少なくとも前記デザインデータ領域に対応する前記多階調デザインデータのモジュールごとの階調値に基づいて、2次元コードを生成する2次元コード生成部としてコンピュータを機能させることを特徴とするプログラム。
A program for generating a two-dimensional code,
The size data of the two-dimensional code, the original data to be read from the two-dimensional code, the gradation value for each module of the two-dimensional code corresponding to the size data, and the gradation value in the range to be read as the first value The multi-tone design data composed of the tone values in the range read as the second value, and the tone values for each module of the multi-tone design data are binarized according to the tone values of each module. A data acquisition unit for acquiring binarized design data;
A design data area specifying unit for specifying a design data area of a two-dimensional code according to the data amount of the original data based on the size data and the original data;
A binarized design data conversion unit for obtaining an inversely converted bit string obtained by inversely converting the binarized design data corresponding to the design data area based on the format information of the two-dimensional code;
A two-dimensional code data generation unit for obtaining a converted bit string obtained by converting the obtained inversely converted bit string and the bit string of the original data based on the format information of the two-dimensional code;
A program that causes a computer to function as a two-dimensional code generation unit that generates a two-dimensional code based on gradation values for each module of the multi-gradation design data corresponding to at least the design data area.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜13のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。   A computer-readable information storage medium, wherein the program according to any one of claims 1 to 13 is stored. 請求項1〜13のいずれかのプログラムに基づいて生成したことを特徴とする2次元コード。   A two-dimensional code generated based on the program according to claim 1. 2次元コード生成システムであって、
2次元コードのサイズデータと、2次元コードから読み取られるべき原データと、前記サイズデータに応じた2次元コードのモジュールごとの階調値から構成された多階調デザインデータと、前記多階調デザインデータのモジュールごとの階調値が各モジュールの階調値に応じて2値化された2値化デザインデータとを取得するデータ取得部と、
前記サイズデータと原データとに基づいて、原データのデータ量に応じた2次元コードのデザインデータ領域を特定するデザインデータ領域特定部と、
前記デザインデータ領域に対応する2値化デザインデータを2次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求める2値化デザインデータ変換部と、
前記求められた逆変換ビット列と前記原データのビット列とを、前記2次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める2次元コードデータ生成部と、
少なくとも前記デザインデータ領域に対応する前記多階調デザインデータのモジュールごとの階調値が、各モジュールに対応する前記変換後ビット列の値として読み取られるように前記階調値を補正した補正後の階調値を求める多階調デザインデータ補正部と、
前記補正後の階調値に基づいて2次元コードを生成する2次元コード生成部とを含むことを特徴とする2次元コード生成システム。
A two-dimensional code generation system,
Size data of a two-dimensional code, original data to be read from the two-dimensional code, multi-tone design data composed of tone values for each module of the two-dimensional code corresponding to the size data, and the multi-tone A data acquisition unit that acquires binarized design data in which the gradation value of each module of the design data is binarized according to the gradation value of each module;
A design data area specifying unit for specifying a design data area of a two-dimensional code according to the data amount of the original data based on the size data and the original data;
A binarized design data conversion unit for obtaining an inversely converted bit string obtained by inversely converting the binarized design data corresponding to the design data area based on the format information of the two-dimensional code;
A two-dimensional code data generation unit for obtaining a converted bit string obtained by converting the obtained inversely converted bit string and the bit string of the original data based on the format information of the two-dimensional code;
A corrected level obtained by correcting the gradation value so that at least a gradation value for each module of the multi-gradation design data corresponding to the design data area is read as a value of the converted bit string corresponding to each module. A multi-tone design data correction unit for obtaining a tone value;
A two-dimensional code generation unit that generates a two-dimensional code based on the corrected gradation value.
所与の2値化データを表すモジュールが2次元に配置された2次元コードであって、
前記2次元コードから読み取られるべき原データを表すモジュールと、
少なくとも、前記原データを表すモジュールが配置された原データ領域以外の領域において、前記モジュールごとの階調値により多階調のデザインを構成するモジュールとが配置され、
前記モジュールごとの階調値は、
前記モジュールが前記2値化データのいずれを表すか読み取り可能な範囲の値とされていることを特徴とする2次元コード。
A module representing given binary data is a two-dimensional code arranged two-dimensionally,
A module representing original data to be read from the two-dimensional code;
At least in a region other than the original data region where the module representing the original data is arranged, a module that constitutes a multi-gradation design with a gradation value for each module is arranged,
The gradation value for each module is
A two-dimensional code characterized in that the module represents any one of the binarized data and has a readable value.
JP2006229561A 2006-08-25 2006-08-25 Program, information storage medium, 2D code generation system, 2D code Active JP3957734B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006229561A JP3957734B1 (en) 2006-08-25 2006-08-25 Program, information storage medium, 2D code generation system, 2D code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006229561A JP3957734B1 (en) 2006-08-25 2006-08-25 Program, information storage medium, 2D code generation system, 2D code

Publications (2)

Publication Number Publication Date
JP3957734B1 JP3957734B1 (en) 2007-08-15
JP2008052587A true JP2008052587A (en) 2008-03-06

Family

ID=38456446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006229561A Active JP3957734B1 (en) 2006-08-25 2006-08-25 Program, information storage medium, 2D code generation system, 2D code

Country Status (1)

Country Link
JP (1) JP3957734B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5080949B2 (en) * 2007-11-28 2012-11-21 アイフォーコム株式会社 Image information with two-dimensional code, its generation device, printing device, reading method, reading device, reading program, and recording medium
JP5110596B2 (en) * 2007-12-14 2012-12-26 独立行政法人産業技術総合研究所 Two-dimensional code generator
US20160132760A1 (en) * 2014-11-06 2016-05-12 Kuei-Sheng Tsou Dynamic recognizable two-dimensional code for interaction between electronic devices
CN110263595B (en) * 2019-06-25 2023-02-17 北京慧眼智行科技有限公司 Two-dimensional code detection method and device
CN110287752B (en) * 2019-06-25 2023-04-14 北京慧眼智行科技有限公司 Lattice code detection method and device

Also Published As

Publication number Publication date
JP3957734B1 (en) 2007-08-15

Similar Documents

Publication Publication Date Title
JP3953501B1 (en) Program, information storage medium, two-dimensional code generation system, image generation system, and two-dimensional code
JP5057560B2 (en) Program, information storage medium, two-dimensional code, printed matter, two-dimensional code image, two-dimensional code image display control method, two-dimensional code generation system
JP2007241328A (en) Program, information storage medium, two-dimensional code generation system, image generation system and printed matter
US8830533B2 (en) System and method for creating machine-readable codes in combination with other images such as logos
JP3636332B2 (en) Image processing method and image processing apparatus
JP2007143082A (en) Method and apparatus for compressing image data
TWI646467B (en) Method and system for generating two dimensional barcode with hidden data
JP3957734B1 (en) Program, information storage medium, 2D code generation system, 2D code
JP2007026428A (en) Two-dimensional code generation method and reading method, and executable program
JP2008067044A (en) Image processor, image reader, image processing method, and image processing program
JP3957735B1 (en) Program, information storage medium, 2D code generation system, 2D code
JP4371026B2 (en) Printing system and printer
KR20110061467A (en) Image processing apparatus, computer readable recording medium storing image processing program, and image processing method
JP2007306513A (en) Method and device for image data compression
JP2018019367A (en) Image processing apparatus
JP2005184685A (en) Image processing device, program, and recording medium
US20130083377A1 (en) Image processing apparatus and image processing method
JP2004110606A (en) Image processing device, method and program
JP6256747B2 (en) Image conversion processing method, program for executing the same, and image conversion processing apparatus
JP2007241329A (en) Program, information storage medium, two-dimensional code generation system, image generation system and printed matter
JP4696738B2 (en) Image data compression method and apparatus, and pseudo gradation image restoration method
CN110956568B (en) Independent secret information hiding method in shared image of halftone image
US20070188812A1 (en) Image processing device, image reading device and image processing method
KR100490244B1 (en) Error diffusion method using variable threshold value in image processing system
JP2012105065A (en) Image processing system and program

Legal Events

Date Code Title Description
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: 20070425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070508

R150 Certificate of patent or registration of utility model

Ref document number: 3957734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100518

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110518

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120518

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130518

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130518

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140518

Year of fee payment: 7

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

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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