JP2007148558A - Two-dimensional code, two dimensional code detection method and two-dimensional code detection device - Google Patents

Two-dimensional code, two dimensional code detection method and two-dimensional code detection device Download PDF

Info

Publication number
JP2007148558A
JP2007148558A JP2005339080A JP2005339080A JP2007148558A JP 2007148558 A JP2007148558 A JP 2007148558A JP 2005339080 A JP2005339080 A JP 2005339080A JP 2005339080 A JP2005339080 A JP 2005339080A JP 2007148558 A JP2007148558 A JP 2007148558A
Authority
JP
Japan
Prior art keywords
dimensional code
outer shape
image
bit
brightness
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
JP2005339080A
Other languages
Japanese (ja)
Other versions
JP4804125B2 (en
Inventor
Shinji Uchiyama
晋二 内山
Neesha Subramaniam
ニーシャ サブラマニアム
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2005339080A priority Critical patent/JP4804125B2/en
Priority to US11/562,216 priority patent/US7942340B2/en
Priority to EP06124564.3A priority patent/EP1791076B1/en
Priority to CN2006101628441A priority patent/CN1971591B/en
Publication of JP2007148558A publication Critical patent/JP2007148558A/en
Application granted granted Critical
Publication of JP4804125B2 publication Critical patent/JP4804125B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To highly densely embed bit information in a two-dimensional code for detecting the two-dimensional code from not only a direction which is almost counter to the two-dimensional code but also an arbitrary direction. <P>SOLUTION: This two-dimensional code is provided with the outside shape of a square which can be identified from a background based on brightness or color, wherein the inside of the two-dimensional code is divided into specific sizes by setting a fixed interval in the outer periphery of its inside, and information is expressed according to the brightness or color of each of the divided regions. In this case, the respective regions obtained by dividing the inside of the two-dimensional code are made adjacent to each other so that a hexagonal can be configured. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、画像から検出できる2次元コードの構成、2次元コードを画像から検出する方法および装置に関するものである。   The present invention relates to a configuration of a two-dimensional code that can be detected from an image, and a method and apparatus for detecting a two-dimensional code from an image.

[従来技術1]
図10に示すMaxiCodeと呼ばれる二次元コードが従来から知られている。この二次元コードは、中心部に同心円状に半径の異なる帯状の黒領域と白領域があり、その部位を基準に、周囲に微小な正六角形領域が規則正しく並んでいる構造となっている。各正六角形を黒または白とすることによって、2値の情報を表現し、それをカメラで撮影することによって情報を読み出す。以下では、これを2次元コード1と呼ぶ。
[Prior art 1]
A two-dimensional code called “MaxiCode” shown in FIG. 10 is conventionally known. This two-dimensional code has a structure in which a central black area and a black area and a white area having different radii are arranged concentrically and minute regular hexagonal areas are regularly arranged around the area. By representing each regular hexagon as black or white, binary information is expressed, and the information is read out by photographing it with a camera. Hereinafter, this is referred to as a two-dimensional code 1.

また、図11や図12に示す二次元コードも従来から知られている。これらの二次元コードは、背景と明度によって分離できる正方形領域をもち、その内部を均等に区分した各々の小正方形領域の明暗によって情報を表現する。通常、これらのコードはカメラによって撮影され、背景からこの2次元コードの外形を識別・検出し、内部に割り当てられた各区分領域の明度に基づいて情報が読み出される。以下では、この種の2次元コードを2次元コード2と呼ぶ。   Further, the two-dimensional code shown in FIGS. 11 and 12 is also conventionally known. These two-dimensional codes have square areas that can be separated according to the background and brightness, and express information by the brightness of each small square area that is equally divided inside. Usually, these codes are photographed by a camera, the outline of the two-dimensional code is identified and detected from the background, and information is read based on the brightness of each divided area assigned to the inside. Hereinafter, this type of two-dimensional code is referred to as a two-dimensional code 2.

2次元コード1と2次元コード2は、物品等に貼り付けておき、その物品の情報、例えば、製品番号、個体番号、製造日などの製造に関わる情報や、発送元、発送先、発送日時などの輸送に関わる情報などを管理するために利用されるのが通例である。これらのコードは、コードが貼り付けられている面に対して、ほぼ正対する方向からカメラによって撮像されるのが通例であり、その撮像装置の撮像面に対して十分に大きく映るように撮影されることで認識ができることを前提としている。   The two-dimensional code 1 and the two-dimensional code 2 are affixed to an article, etc., and information on the article, for example, information related to manufacturing such as a product number, an individual number, and a manufacturing date, a shipping source, a shipping destination, and a shipping date and time. It is usually used to manage information related to transportation. These codes are usually imaged by a camera from a direction almost opposite to the surface on which the code is pasted, and are photographed so as to appear sufficiently large on the imaging surface of the imaging device. It is assumed that it can be recognized.

[従来技術2]
現実空間に仮想物体を重畳表示する複合現実感(以下MR)技術において、仮想画像を描画するために以下のような処理が行われる。現実空間にある正方形のマーカを用い、そのマーカを基準とする現実カメラの位置姿勢を推定する。そして、得られた現実カメラの位置姿勢を基にして仮想カメラのパラメータを設定することによって仮想物体を描画する。
[Prior Art 2]
In the mixed reality (hereinafter referred to as MR) technology in which a virtual object is superimposed and displayed in the real space, the following processing is performed to draw a virtual image. A square marker in the real space is used, and the position and orientation of the real camera based on the marker are estimated. Then, the virtual object is drawn by setting the parameters of the virtual camera based on the obtained position and orientation of the real camera.

その代表的な例として、非特許文献1の中に示されているARToolKitがある。ARToolkitでは、図13に示すようなマーカを利用する。このマーカは、その外形となる正方形が画像に撮影されて形成される四角形を画像から検出する。そして、その四角形が3次元空間中では正方形である元来の形に対してどのように変形しているか(透視投影の影響によって歪んでいるか)を情報源として、カメラの位置姿勢を推定する。さらに、複数のマーカを同時に利用された場合に、個々のマーカを識別するために、各マーカの内部はそれぞれ異なる図形パターンによって塗り分けられている。このマーカの識別は、画像から得られた四角形の内部の模様が予め用意されたパターンとの間でパターンマッチング技術を用いて行われる。以下ではこれを2次元コード3と呼ぶ。   A typical example is ARTToolKit shown in Non-Patent Document 1. In ARTToolkit, markers as shown in FIG. 13 are used. This marker detects from the image a quadrangle formed by imaging the square as the outer shape of the image. Then, the position and orientation of the camera are estimated using as an information source how the square is deformed with respect to the original shape which is a square in the three-dimensional space (distorted by the influence of perspective projection). Further, when a plurality of markers are used at the same time, the inside of each marker is painted with a different graphic pattern in order to identify each marker. The identification of the marker is performed using a pattern matching technique with a pattern in which a rectangular internal pattern obtained from an image is prepared in advance. Hereinafter, this is referred to as a two-dimensional code 3.

また、MR用のマーカとしては、非特許文献1の中で示されている図14のようなマーカもある。このマーカでは、内部を4x4の格子状に区切り、各格子点を中心とする円を黒くするか否かによって、個別に識別する機能を実現している点が、2次元コード3と異なる。しかしながら、その外形である正方形を基準として、カメラの位置姿勢を推定する点に関しては二次元コード3と同様である。これを2次元コード4と呼ぶ。   Further, as a marker for MR, there is a marker as shown in FIG. This marker is different from the two-dimensional code 3 in that the inside is divided into a 4 × 4 grid and the function of individually identifying the circle is determined by whether or not the circle centered on each grid point is black. However, it is the same as the two-dimensional code 3 in that the position and orientation of the camera is estimated with reference to the outer shape of the square. This is called a two-dimensional code 4.

MR分野においては、他にも様々な正方形外形を持つマーカが提案されている。例えば、図15に示すようなマーカがある。このマーカは、正方形の外部に正方形の面内での回転方向と特定するための複数の小正方形領域を持っている。内部は、4x4領域に分割され、それぞれが小さな正方形となっており、各小正方形の明度によって個別の識別情報を表現している。これを2次元コード5と呼ぶ。   In the MR field, other markers having various square outlines have been proposed. For example, there is a marker as shown in FIG. This marker has a plurality of small square areas for specifying the rotation direction in the square plane outside the square. The interior is divided into 4 × 4 areas, each of which is a small square, and individual identification information is expressed by the brightness of each small square. This is called a two-dimensional code 5.

以上の2次元コード3、2次元コード4、2次元コード5のようなMRに利用されているマーカは、外形として正方形を有している点が共通の特徴である。
X.Zhang、S.Fronz、N.Navab:Visual marker detection and decoding in AR systems:A comparative study、Proc.of International Symposium on Mixed and Augmented Reality(ISMAR’02)、2002.
The markers used for MR such as the above-described two-dimensional code 3, two-dimensional code 4, and two-dimensional code 5 have a common feature in that they have a square as an outer shape.
X. Zhang, S.M. Fronz, N.M. Navab: Visual marker detection and decoding in AR systems: A comparative study, Proc. of International Symposium on Mixed and Augmented Reality (ISMAL'02), 2002.

従来技術1で述べた2次元コード1は、その全体の領域の中心部分に同心円があり、その周囲を小さな正六角形領域が取り囲んでいる。各正六角形領域は、それぞれお互いに隙間なく接合しており、白か黒かによって塗り分けられている。この白または黒によって2値を表現しており、カメラによって撮影され読み出される。そのとき、中心の同心円を基準とし、60度の角度毎のラインを基準として、各正六角形領域の場所を特定している。言い換えると、2次元コード1にほぼ正対して撮影する場合(2次元コードの貼り付けられた面の法線とほぼ等しい光軸をもつカメラによって撮影する場合)にしか、指標を検出することができない。これは2次元コード2においても同様であり、従来技術1の2次元コードは、指標にほぼ正対した状態で撮影することを前提としたものであって、正対しない任意の方向からの撮影を考慮したものではない。   The two-dimensional code 1 described in the prior art 1 has a concentric circle at the center of the entire region, and a small regular hexagonal region surrounds the concentric circle. The regular hexagonal regions are joined to each other without a gap, and are divided depending on whether they are white or black. The binary value is expressed by white or black, and is photographed and read by the camera. At that time, the location of each regular hexagonal region is specified based on the concentric circle at the center and the line for each angle of 60 degrees. In other words, the index can be detected only when shooting with the two-dimensional code 1 facing almost directly (when shooting with a camera having an optical axis substantially equal to the normal of the surface to which the two-dimensional code is attached). Can not. The same applies to the two-dimensional code 2. The two-dimensional code of the prior art 1 is based on the premise that the image is taken in a state of being almost directly facing the index, and is taken from any direction that is not directly opposed. Is not taken into account.

従来技術2で開示されている2次元コード3、4、5は、いずれも明度の高い背景に対して、明度の低い正方形を外形の形状として持っている。従来技術2では、画像における外形の正方形の変形の仕方を情報源として、2次元コードに対するカメラの位置姿勢を推定計算する。外形の正方形が画像に捉えられたときの変形は、カメラの撮影工程で行われる、3次元空間を2次元の画像に投影する射影変換の影響によって引き起こされる。すなわち、従来技術2の指標は、指標に対してほぼ正対する向きから撮影することを前提としておらず、むしろ逆に指標の法線方向とは異なる視軸方向から撮影されることを前提とする指標である。   Each of the two-dimensional codes 3, 4, and 5 disclosed in the prior art 2 has a low-lightness square as an outer shape against a high-lightness background. In the conventional technique 2, the position and orientation of the camera with respect to the two-dimensional code are estimated and calculated using the deformation method of the square of the outer shape in the image as an information source. The deformation when the outer shape square is captured in the image is caused by the influence of the projective transformation for projecting the three-dimensional space onto the two-dimensional image performed in the photographing process of the camera. That is, the index of the conventional technique 2 is not premised on shooting from a direction almost facing the index, but on the contrary, it is premised on shooting from a visual axis direction different from the normal direction of the index. It is an indicator.

2次元コード3に関しては、指標の個体識別を行うために、正方形領域内部の任意のパターンをパターンマッチングの技術によって識別する。指標の内部のパターンは、パターンマッチングで使用するために予め別途保存されている。そして、撮影画像から指標の内部を切り出した画像を正規化した後に、保存されていたパターンとの比較を行い、似ているか否かによって個体を識別する。この方法には、利用するパターンの種類と一度に撮影される指標の数が増えてくると、パターンマッチングしなければならない組み合わせが増えてしまうため、計算時間が膨大になってしまうという問題がある。また、パターン数を増やすと、必然的に似通ったパターンが増えてしまうため、誤認識を引き起こしてしまう問題があり、実質上一度に利用できるパターンの数は数十個程度である。   With respect to the two-dimensional code 3, an arbitrary pattern within the square area is identified by a pattern matching technique in order to identify an individual indicator. The pattern inside the index is stored separately in advance for use in pattern matching. Then, after normalizing the image obtained by cutting out the inside of the index from the photographed image, the image is compared with the stored pattern, and the individual is identified based on whether or not it is similar. This method has a problem that the calculation time becomes enormous as the number of types of patterns to be used and the number of indices to be photographed at a time increase the number of combinations that must be pattern-matched. . In addition, when the number of patterns is increased, the number of similar patterns inevitably increases, which causes a problem of erroneous recognition, and the number of patterns that can be used at one time is about several tens.

それに対して、2次元コード4と2次元コード5は、正方形内部を等間隔で区切った小さな正方形領域とし、その明度(白黒)によって1ビットを表現する方法である。この方法であれば、2次元コード3で生じる問題は発生しない。しかし、以下に示すような改善の余地があった。   On the other hand, the two-dimensional code 4 and the two-dimensional code 5 are methods in which one square is expressed by the lightness (black and white) of a small square area obtained by dividing the inside of the square at equal intervals. With this method, the problem that occurs in the two-dimensional code 3 does not occur. However, there was room for improvement as shown below.

2次元コードにできるだけ多くの情報を載せるためには、ビット領域を多くする必要がある。しかし、ビット領域は画像から認識される必要があるため、一つあたりの大きさを小さくすることに限界がある。逆に言えば、一つあたりのビット領域が画像に撮像・投影されたときの大きさによって、その2次元コードが認識可能であるか否かが決定される。一般に、MR用途においては、できるだけ小さな2次元コードが利用できることが望ましい。しかし、2次元コードに載せる情報を増やすと画像上で十分に大きく映るように物理的に大きな2次元コードとしなければならない。よって、2次元コードの大きさと載せられる情報量はトレードオフの関係にある。そのため、できるだけ全体の大きさを小さく、かつ、情報量を多くするためには、2次元コード内のビット領域を細密に配置することが望ましい。   In order to put as much information as possible on the two-dimensional code, it is necessary to increase the bit area. However, since the bit area needs to be recognized from the image, there is a limit to reducing the size of each bit area. In other words, whether or not the two-dimensional code can be recognized is determined according to the size when one bit area is captured and projected on the image. In general, in MR applications, it is desirable to use as small a two-dimensional code as possible. However, if the information to be put on the two-dimensional code is increased, the two-dimensional code must be physically large so that it appears sufficiently large on the image. Therefore, the size of the two-dimensional code and the amount of information to be placed are in a trade-off relationship. For this reason, in order to reduce the overall size as much as possible and increase the amount of information, it is desirable to arrange the bit areas in the two-dimensional code minutely.

2次元コード4は、内部のビット領域を円形としている。そして、ビット領域である円形領域が、正方格子状に配置されている。この方法では、一つの円形領域が小さくなった場合に円形領域間の隙間が問題となる。例えば、あるひとつの領域が黒で塗られていたときに、その円形領域が画像において一画素幅相当近くまで小さくなったとき、画像上では周囲の隙間の白い領域と混在した中間明度として観測されることとなってしまう。これは、ビット読み出しの際に誤りを増やしてしまうことを意味する。すなわち、内部の領域は隙間を設けることなく隣接して並んでいることが望ましい。   The two-dimensional code 4 has a circular inner bit area. The circular areas that are bit areas are arranged in a square lattice pattern. In this method, a gap between the circular regions becomes a problem when one circular region becomes small. For example, when a certain area is painted in black and the circular area is reduced to a value close to one pixel width in the image, it is observed as intermediate brightness mixed with the white area in the surrounding gap on the image. Will end up. This means that errors are increased during bit reading. That is, it is desirable that the inner regions are arranged adjacent to each other without providing a gap.

2次元コード5では、内部のビット領域は正方形として区切られていて隣接しているため、その問題は発生しない。この指標は必ずしも指標に対して正対していない方向から撮影されていても検出できることを特徴としている。正方形の内部を等間隔で区切った小さな正方形は、画像上ではどのような向きとして撮影されるのかが不定である。言い換えると、どのような形の四角形の投影像となるのかが不定である。2次元コード5は、画像上に捉えられた個々の小さな四角形領域の明度を基にして、ビット値に変換する処理を行うものである。よって、明度を読み出すときにはその個々の小四角形中心点を基準として、その位置の明度を読み出すこととなる。そのとき、正しく明度を読み出すためには、どのような向きで撮影されようとも、画像中の投影された小正方形領域が読み出し位置中心に十分な一定距離を持っているように撮影されなければならない。この条件を言い換えると、元来の指標上での小領域が画像に映ったときに、その小領域の投影像が読み出し位置を中心として画像面上で円形状に近いほど、指標上での小領域の面積を小さくできることを意味する。個々のビットを表現する小領域の面積が小さいほど、指標全体の面積に占めるビット割り当て数を大きくすることができるためである。それに対して、個々の小領域が正方形であると、投影像は角の立った四角形となっていることから、必ずしも効率よく密度高く配置されているとはいえない。   In the two-dimensional code 5, the internal bit areas are divided as squares and are adjacent to each other, so that the problem does not occur. This index is characterized in that it can be detected even if it is taken from a direction not necessarily facing the index. The orientation of the small square obtained by dividing the inside of the square at equal intervals is undefined on the image. In other words, it is indefinite what type of quadrangle projection image will be. The two-dimensional code 5 performs a process of converting into a bit value based on the brightness of each small square area captured on the image. Therefore, when reading the lightness, the lightness at that position is read with reference to the center point of each small square. At that time, in order to correctly read out the brightness, the projected small square area in the image must be photographed so as to have a sufficient fixed distance from the center of the readout position, regardless of the direction of photographing. . In other words, when the small area on the original index is reflected in the image, the smaller the projected image of the small area is on the image plane, the smaller the small area on the index. This means that the area of the region can be reduced. This is because the smaller the area of a small region that represents each bit, the larger the number of bits allocated to the entire index area. On the other hand, if each of the small areas is a square, the projected image is a square with a corner, so it cannot always be said that the projections are efficiently and densely arranged.

一方、2次元コード4は、個々の領域は円形状であるものの、領域間には無駄な隙間が存在しており、ビット領域は高密度には配置されているとはいえない。   On the other hand, in the two-dimensional code 4, although each region is circular, there is a useless gap between the regions, and it cannot be said that the bit regions are arranged at high density.

これらのことから、2次元コード4と2次元コード5には、ビット領域の高密度化に対する改善の余地があった。   From these facts, the two-dimensional code 4 and the two-dimensional code 5 have room for improvement in increasing the density of the bit area.

本願請求項1記載の発明である2次元コードは、背景と明度または色によって識別可能な多角形の外形形状と、該外形形状の内部の外周に一定の間隔をおいて配置された内部領域とを有し、前記内部領域を特定のサイズに分割し、該分割領域それぞれの明度または色によって情報を表現する2次元コードであって、前記分割領域が隣接し合う六角形であること特徴とする。   The two-dimensional code according to claim 1 of the present application includes a polygonal outer shape that can be identified by the background and brightness or color, and an inner region that is arranged at a predetermined interval on the outer periphery of the outer shape. A two-dimensional code that divides the inner region into a specific size and expresses information by brightness or color of each of the divided regions, wherein the divided regions are adjacent hexagons .

本願請求項5記載の発明である2次元コード検出方法は、画像中に映った2次元コートを背景から検出する外形多角形検出工程と、画像中での外形多角形の形状に応じて、内部のビット領域の位置を特定するビット領域特定工程と、前記特定されたビット領域の明度または色に基づいてビット値を取得するビット値取得工程とを有し、前記2次元コードは、背景と明度または色によって識別可能な六角形の外形形状と、該外形形状の内部の外周に一定の間隔をおいて配置された内部領域とを有し、該内部領域は隣接し合う六角形で構成される複数の情報領域を有すること特徴とする。   The two-dimensional code detection method according to claim 5 of the present application includes an outer polygon detection step for detecting a two-dimensional coat reflected in an image from the background, and an internal shape according to the shape of the outer polygon in the image. A bit region specifying step for specifying the position of the bit region, and a bit value acquiring step for acquiring a bit value based on the lightness or color of the specified bit region, wherein the two-dimensional code includes a background and a lightness Alternatively, it has a hexagonal outer shape that can be identified by color, and an inner region that is arranged at a certain interval on the outer periphery of the outer shape, and the inner region is composed of adjacent hexagons. It has a plurality of information areas.

本発明によれば、2次元コードに対してほぼ正対する方向からだけではなく、任意の方向からその2次元コードを検出することを可能としながら、高密度にビット情報を埋め込むことが可能となる。   According to the present invention, it is possible to embed bit information at a high density while enabling detection of a two-dimensional code not only from a direction almost facing the two-dimensional code but also from an arbitrary direction. .

以下、添付図面を参照して、本発明をその好適な実施形態に従って詳細に説明する。   Hereinafter, the present invention will be described in detail according to preferred embodiments with reference to the accompanying drawings.

[第1の実施形態]
図1は、本実施形態における2次元コードである。図1(a)の101は2次元コードの背景となる黒い背景であって、102のようにその上に白い正六角形外形として2次元コードが形成されている。その外枠からある距離をおいて内部を正六角形に区分する領域を設け、それぞれが黒ないしは白に塗り分けられている。各区分された領域と外枠との関係は図1(b)に示す通りである。この場合、内部の小正六角形領域と外枠の六角形領域とは、30度傾いて配置されており、内部の正六角形と外枠の六角形との間の隙間は、内部の正六角形の対角頂点間の長さの半分の長さに設定されている。これらの関係をわかりやすく示した図が、図1(c)である。図1(c)は、図1(b)の背景に補助線として、等間隔となる平行な線群を120度ずつ回転させて得られる正三角形のメッシュを点線で描き足した図である。
[First Embodiment]
FIG. 1 shows a two-dimensional code in this embodiment. 101 in FIG. 1A is a black background as a background of the two-dimensional code, and a two-dimensional code is formed as a white regular hexagonal outline on the black background 102. An area for dividing the interior into regular hexagons at a certain distance from the outer frame is provided, and each area is painted black or white. The relationship between each divided area and the outer frame is as shown in FIG. In this case, the internal small regular hexagonal region and the hexagonal region of the outer frame are inclined by 30 degrees, and the gap between the internal regular hexagon and the hexagon of the outer frame is the same as that of the internal regular hexagon. It is set to half the length between diagonal vertices. FIG. 1C is a diagram showing these relationships in an easy-to-understand manner. FIG. 1C is a diagram in which equilateral triangular meshes obtained by rotating parallel line groups at equal intervals by 120 degrees as auxiliary lines in the background of FIG. 1B are drawn with dotted lines.

このように、図1に示す2次元コードは、六角形の外形形状の対角頂点を結ぶ直線と、内部の小正六角形領域の形状である正六角形の対向する辺のうちのいずれかとが直交するように、外形形状に対して小正六角形領域が配置されている。   As described above, in the two-dimensional code shown in FIG. 1, the straight line connecting the diagonal vertices of the hexagonal outer shape and one of the opposing sides of the regular hexagon that is the shape of the internal small regular hexagon region are orthogonal to each other. Thus, a small regular hexagonal region is arranged with respect to the outer shape.

この2次元コードを読み取る2次元コード検出装置の好適な構成例に関して以下に説明する。図3は、図1で示した2次元コードを検出する2次元コード検出装置の構成例を示すブロック図である。   A preferred configuration example of a two-dimensional code detection device that reads this two-dimensional code will be described below. FIG. 3 is a block diagram illustrating a configuration example of the two-dimensional code detection apparatus that detects the two-dimensional code illustrated in FIG. 1.

図3の301はカメラであり、図1で示した2次元コードを撮像する。撮像画像は、302の画像取り込み部を通して304のバスコントローラの調停のもと、305のメモリに書き込まれる。また、305のメモリには、本実施形態の処理手順が記憶されていて、303がその処理手順に従って処理を行うCPUである。304は、303のCPU、302の画像取り込み部、305のメモリ間でデータの入出力と調停を行うバスコントローラである。   Reference numeral 301 in FIG. 3 denotes a camera that images the two-dimensional code shown in FIG. The captured image is written into the memory 305 under the arbitration of the bus controller 304 through the image capturing unit 302. A processing procedure of the present embodiment is stored in the memory 305, and a CPU 303 performs processing according to the processing procedure. A bus controller 304 performs data input / output and arbitration between the CPU 303, the image capturing unit 302, and the memory 305.

この図3で示したブロック図で構成される2次元コード検出装置の処理手順を示すフローチャートを図4に示し、図4を用いて処理手順を説明する。   FIG. 4 is a flowchart showing a processing procedure of the two-dimensional code detection apparatus configured by the block diagram shown in FIG. 3, and the processing procedure will be described with reference to FIG.

まず、ステップS401にて図1に示した2次元コードを301のカメラで撮影し、撮影した画像を302の画像取り込み部を通して取得する。得られた画像から、ステップS402にて、画像に映った2次元コードの外形形状である六角形を検出する。カメラでの撮影は指標に正対する姿勢で撮影されるとは限らない(むしろMR用途で利用する場合、様々な角度から撮影されることになる)。さらに、画像の横軸縦軸と指標の外形である正六角形の辺の向きもそろっていない。   First, in step S401, the two-dimensional code shown in FIG. 1 is photographed by the 301 camera, and the photographed image is acquired through the image capturing unit 302. In step S402, a hexagon that is the outer shape of the two-dimensional code shown in the image is detected from the obtained image. Shooting with a camera is not always performed with a posture facing the index (rather, when used in MR applications, shooting is performed from various angles). Further, the horizontal axis of the image is not aligned with the direction of the side of the regular hexagon that is the outer shape of the index.

このステップS402の外形形状を検出する処理を図5を用いて説明する。図5(a)は指標を正対する位置から見た様子であり、内部のビット領域を省略して描いたものである。ここでは、一旦、内部のビット領域に関しては無視をして説明をする。この指標を実際のカメラで撮影すると例えば図5(b)のような画像を得ることとなる。指標が図形として正六角形であっても、カメラで撮影される際には正対した位置からの撮影を行わない限り、このように正六角形ではない凸六角形として観察されることとなり、かつその向きは任意の向きを採り得る。さらに、図形上での白領域と黒領域は、それぞれ明度の高低として捉えられることとなり、境界領域では中間調の明度として得られる。そこで、図5(b)の画像を二値化することによって図5(c)のように二値画像化する。二値化の方法はどのような方法でも構わないが、単純な閾値処理によって実現できる。この二値画像から、白領域の外周を形成している画素を追跡検出すると、図5(d)のような一画素幅で閉ループをなす画素の並びを得ることができる。この画素の並びに対して、折れ線近似処理を行うと、図5(e)に示す六角形が得られる。このとき、元の図形が六角形以外の図形である場合、折れ線近似の結果折れ点が6点とはならないため、元の図形が六角形であったか否かを判別することができる。   The process of detecting the outer shape in step S402 will be described with reference to FIG. FIG. 5 (a) is a view from the position where the index is directly facing, and is drawn with the internal bit area omitted. Here, the internal bit area will be ignored for explanation. When this index is photographed with an actual camera, for example, an image as shown in FIG. 5B is obtained. Even if the index is a regular hexagon as a figure, it will be observed as a convex hexagon that is not a regular hexagon as long as it is not photographed from the opposite position when photographed with a camera. The direction can take any direction. Further, the white area and the black area on the figure are respectively regarded as high and low brightness, and are obtained as halftone brightness in the boundary area. Therefore, the image of FIG. 5B is binarized to form a binary image as shown in FIG. Any method of binarization may be used, but it can be realized by simple threshold processing. When the pixels forming the outer periphery of the white region are tracked and detected from this binary image, an array of pixels forming a closed loop with a single pixel width as shown in FIG. 5D can be obtained. When a polygonal line approximation process is performed on this pixel arrangement, a hexagon shown in FIG. 5E is obtained. At this time, if the original figure is a figure other than a hexagon, the number of break points does not become six as a result of the polygonal line approximation, so it can be determined whether or not the original figure is a hexagon.

また、以上のS402の説明では、指標の内部のビット領域に関して無視をしている。しかし、内部のビット領域と六角形外形との間には間隔が設けてあるため、指標が画像中で占める大きさがある一定以上ある場合(その間隔が画像上で1画素幅以上ある状態で撮影されている場合)は、このS402の処理に関して内部の領域は影響しない。   In the above description of S402, the bit area inside the index is ignored. However, since an interval is provided between the internal bit area and the hexagonal shape, when the size of the index in the image is a certain value or more (in the state where the interval is 1 pixel width or more on the image). In the case of shooting), the internal area does not affect the processing of S402.

次にステップS403にて、検出された六角形外形形状を基準としてそれぞれの内部ビット領域の中心位置を計算する。これを図6を用いて説明する。図6に示すように、指標元来の図形形状である正六角形の各頂点を(Xn、Yn)(n=0、1、、5)と表し、画面中で検出された外形形状である六角形の各頂点を(xn、yn)と表すと、それらの間には以下の式に示す2次元射影変換の関係が成り立つ。   In step S403, the center position of each internal bit area is calculated based on the detected hexagonal outer shape. This will be described with reference to FIG. As shown in FIG. 6, each vertex of the regular hexagon that is the original figure shape of the index is represented as (Xn, Yn) (n = 0, 1, 5, 5), and is the outer shape detected on the screen. When each vertex of the square is represented as (xn, yn), the relationship of the two-dimensional projective transformation represented by the following formula is established between them.

Figure 2007148558
Figure 2007148558

この関係式は、以下のように同次座標変換により行列演算によって記述することも可能である。   This relational expression can also be described by matrix operation by homogeneous coordinate transformation as follows.

Figure 2007148558
Figure 2007148558

このとき、行列   At this time, the matrix

Figure 2007148558
Figure 2007148558

は、ホモグラフィ行列と呼ばれる。(Xn、Yn)と(xn、yn)とは、対応する点が6点あるため、数1あるいは数2に示す関係式が6つ成り立つ。言い換えると連立方程式を解くことによって、数3に示すホモグラフィ行列、あるいは、数1のH11、H12、H13、H21、H22、H23、H31、H32の8つのパラメータをその6点の関係から求めることができる。なお、未知数は8つであるため4点の対応があれば一意に決定される。したがって、6点の対応からこの8つのパラメータを求める場合には、連立方程式が冗長となっているため,最小二乗法などによって求める方がよい。 Is called a homography matrix. Since (Xn, Yn) and (xn, yn) have six corresponding points, six relational expressions shown in Equation 1 or Equation 2 hold. In other words, by solving the simultaneous equations, the homography matrix shown in Equation 3 or the eight parameters H11, H12, H13, H21, H22, H23, H31, and H32 in Equation 1 are obtained from the relationship between the six points. Can do. Since there are eight unknowns, the number is uniquely determined if there is a correspondence of four points. Therefore, when obtaining these eight parameters from the correspondence of six points, it is better to obtain them by the least square method or the like because the simultaneous equations are redundant.

以上により、一旦数1あるいは数2の関係式が得られれば、空間(X、Y)上の任意の点を空間(x、y)へと写像することが可能となる。すなわち、指標の内部の任意のビット領域の中心点が、画像に映った際に画像上でどの位置に投影されているのかを求めることができる。例えば、図7に示す701の点が画像上のどの座標に投影されているのかを求めることができる。ステップS403とは、以上の方法によって指標の内部ビット領域の中心点が画像に映った際の位置を計算する工程のことである。   As described above, once the relational expression 1 or 2 is obtained, an arbitrary point on the space (X, Y) can be mapped to the space (x, y). That is, it is possible to determine at which position the center point of an arbitrary bit area inside the index is projected on the image. For example, it is possible to determine on which coordinates on the image the point 701 shown in FIG. 7 is projected. Step S403 is a step of calculating the position when the center point of the internal bit area of the index appears in the image by the above method.

引き続き、ステップS404にて得られた画像上での各ビット領域の中心位置の明度値を取得する。ステップS403にて得られている点の位置は、撮像された六角形の外形形状を基にして、六角形が撮像されるときに起こる射影変換によって計算されたものであるため、整数値とはならない。したがって、対応する画素を直接的に表すものではない。そこで、その位置の明度を最近傍となる画素値とするか、もしくは、近傍4画素の値を基にして線形補間などの方法によって内挿することによって求める。これを図8を用いて説明する。ステップS403で得られているビット領域の画像上での中心位置が801であるとする。801の座標値は整数値とはならないので、画像の画素の中心ではない。その801の点の明度値を求める処理というのが、ステップS404の処理である。最近傍点の画素値とするという処理とは、801のその中心が最も近い画素である画素802の画素値によって801の明度値を代用するという意味である。近傍4画素の画素値から線形補間などの方法によって内挿するという処理とは、画素802、803、804、805の画素値から、明度値を内挿するという意味である。   Subsequently, the brightness value of the center position of each bit area on the image obtained in step S404 is acquired. The position of the point obtained in step S403 is calculated by projective transformation that occurs when the hexagon is imaged based on the imaged hexagonal outer shape. Don't be. Therefore, the corresponding pixel is not directly represented. Therefore, the lightness at that position is set to the pixel value that is the nearest neighbor, or is obtained by interpolation by a method such as linear interpolation based on the values of the four neighboring pixels. This will be described with reference to FIG. Assume that the center position on the image of the bit area obtained in step S403 is 801. Since the coordinate value 801 is not an integer value, it is not the center of the pixel of the image. The process of obtaining the brightness value of the point 801 is the process of step S404. The process of setting the pixel value of the nearest neighbor point means that the brightness value of 801 is substituted by the pixel value of the pixel 802 that is the closest pixel of the center of 801. The process of interpolating from the pixel values of the four neighboring pixels by a method such as linear interpolation means that the brightness value is interpolated from the pixel values of the pixels 802, 803, 804, and 805.

次にステップS405にて、得られた明度値をビット値に変換する。最も簡便な方法は、予め定めておいた閾値との比較によって、1か0かを判定する方法である。予め定めておいた閾値として、ステップS402で行った画像の二値化の時に利用した閾値を利用してもよいし、他のいかなる方法を用いても構わない。また、ステップS405をステップS404とステップS406との間ではなく、ステップS406にてすべてのビット領域での処理が終わった後の工程に組み入れても良い。その場合、ステップS403、S404、S406にて、すべての内部ビット領域に渡って各内部のビット領域の明度値を取得しておき、その後得られている明度値の分布を基準にして、それぞれをビット値への変換するといった処理を行うことも可能である。   In step S405, the obtained brightness value is converted into a bit value. The simplest method is a method of determining whether it is 1 or 0 by comparison with a predetermined threshold value. As the predetermined threshold value, the threshold value used in the binarization of the image performed in step S402 may be used, or any other method may be used. In addition, step S405 may be incorporated not in the interval between step S404 and step S406 but in the step after the processing in all the bit areas is completed in step S406. In that case, in Steps S403, S404, and S406, the brightness value of each internal bit area is acquired over all the internal bit areas, and then the distribution of the obtained brightness values is used as a reference. It is also possible to perform processing such as conversion to a bit value.

以上により、本実施形態における正六角形を外形形状とし、内部を互いに隣接する小正六角形領域で区分した2次元コードからビット値を読み出す処理の説明を行った。ここで、正六角形は、回転対称形状であることから、これまでの処理だけでは画像中に映った指標の上方向がどちらであるのかを特定することができない。この解決方法としては、内部のビット領域の特定の複数の領域を回転方向を決定するために利用し、あらかじめ白と黒が定まったものとして塗り分けておく方法が考えられる。また、2次元コード5のように、六角形外形の外部に方向性を決定するための別の領域を設けることによって実現してもよい。   As described above, the process of reading the bit value from the two-dimensional code in which the regular hexagon in this embodiment is the outer shape and the inside is divided by the adjacent small regular hexagonal regions has been described. Here, since the regular hexagon is a rotationally symmetric shape, it is not possible to specify which direction the index shown in the image is upward only by the processing so far. As a solution to this problem, a method in which a plurality of specific bit areas in the internal bit area are used to determine the rotation direction, and white and black are determined in advance as a predetermined color can be considered. Further, like the two-dimensional code 5, it may be realized by providing another region for determining the directionality outside the hexagonal outer shape.

以上により、正六角形の外形形状をもち,内部に互いに隣接し合う六角形のビット領域をもつ2次元コードから,ビットを読み出す方法の説明を行った.このような2次元コードが従来技術にある課題を解決できる理由を図9を用いて以下に詳細に説明する。   The above explains how to read bits from a two-dimensional code that has a regular hexagonal outer shape and has hexagonal bit areas adjacent to each other inside. The reason why such a two-dimensional code can solve the problems in the prior art will be described below in detail with reference to FIG.

図9(a)は、図1(b)と同じ図であり、本実施形態で利用する正六角形外形の内部に互いに隣接し合う正六角形のビット領域が配置されている図である。これに対して、図9(b)は、従来技術2の2次元コード5と同様な方法でビット領域を設けた場合であり、内部が互いに隣接し合う正方形で構成されている。図7(a)の一つの領域と図7(b)の一つの領域とは、図7(c)に示す通り、重ねて描くと対向する辺の間隔が等しいものとする。これらの2次元コードは、上述したように任意の向きからカメラによって撮影されることとなるので、カメラで撮像されたときのそれぞれの像を重ねて描くと、例えば、図7(d)に示すようになる。ここで、カメラは通常、格子状に並んだ画素を持っていて、それぞれの画素の画素値として外界の明度や色を取得するものである。よって、図8を利用してステップS403の説明で述べたように、この投影領域の中心を基準として、最近傍点や4近傍点の画素値から、このビット領域の明度や色を取得することとなる。この図7(d)に示すように、ビット領域が正方形であった場合に、ビット領域が六角形であった場合と比較して画像上で面積が増える領域は、中心から離れた四角形の頂点付近となる。これは、中心の明度値や色を取得するときに、ほとんど影響を与えないことを意味する。2次元コードはカメラに対して様々な角度で撮影されることを前提としているため、中心点から一定の距離を一つのビット領域とすること、すなわち、できるだけ円に近い方が、一つあたりのビット領域の面積を少なくすることが可能である。図7(a)の1つのビット領域の面積は,図7(b)の1つのビット領域の約0.866倍であるにも関わらず,ビットの読み出し可能な最小サイズは,様々な角度から撮影されることを前提とした場合ほぼ等しい。図7(a)には、19個のビット領域があるのに対して、図7(b)には16個のビット領域しかないが,それらを合わせた面積はほぼ等しい。このように本発明によれば、2次元コードのサイズを大きくすることなく、多くのビットを記録することを可能とすることができる。   FIG. 9A is the same diagram as FIG. 1B, and is a diagram in which regular hexagonal bit regions adjacent to each other are arranged inside the regular hexagonal outline used in the present embodiment. On the other hand, FIG. 9B shows a case where a bit area is provided by the same method as that of the two-dimensional code 5 of the prior art 2, and the inside is composed of squares adjacent to each other. As shown in FIG. 7C, one region in FIG. 7A and one region in FIG. 7B have the same distance between opposing sides when drawn in an overlapping manner. Since these two-dimensional codes are photographed by the camera from an arbitrary direction as described above, when the respective images taken by the camera are overlaid, for example, as shown in FIG. It becomes like this. Here, the camera usually has pixels arranged in a grid pattern, and acquires the brightness and color of the outside world as the pixel value of each pixel. Therefore, as described in the explanation of step S403 with reference to FIG. 8, the brightness and color of this bit area are obtained from the pixel values of the nearest neighbor point and the four neighboring points with reference to the center of the projection area. Become. As shown in FIG. 7 (d), when the bit area is a square, the area where the area increases on the image compared to the case where the bit area is a hexagon is a vertex of a rectangle away from the center. Nearby. This means that there is little effect when obtaining the central brightness value or color. Since the two-dimensional code is premised on being photographed at various angles with respect to the camera, a certain distance from the center point is set as one bit area, that is, the one near the circle as much as possible It is possible to reduce the area of the bit region. Although the area of one bit region in FIG. 7 (a) is about 0.866 times that of one bit region in FIG. 7 (b), the minimum readable size of the bit is determined from various angles. It is almost the same when it is assumed that it will be photographed. In FIG. 7A, there are 19 bit areas, whereas in FIG. 7B there are only 16 bit areas, but the combined area is almost equal. As described above, according to the present invention, it is possible to record a large number of bits without increasing the size of the two-dimensional code.

[変形例]
図1で示した実施形態1の2次元コードは、正六角形の外形形状と正六角形の内部ビット領域により構成されているが、それぞれ必ずしも正六角形でなくとも、六角形であればよい。また、図1で示した実施形態1の2次元コードの外形形状を図2に示すような長方形としても良い。2次元コードが、外形形状から一定間隔の隙間を開けて内部にビット領域が配置されていて、画像に映ったその外形形状を基準として画像上での内部のビット領域の位置を特定することが可能であって、内部のビット領域がそれぞれ隣接しあった六角形領域となっていれば、本発明の本質を失うことはない。
[Modification]
The two-dimensional code according to the first embodiment shown in FIG. 1 is composed of a regular hexagonal outer shape and a regular hexagonal internal bit region. Further, the outer shape of the two-dimensional code of the first embodiment shown in FIG. 1 may be a rectangle as shown in FIG. The two-dimensional code may have a bit area arranged at a certain interval from the outer shape, and specify the position of the inner bit region on the image with reference to the outer shape reflected in the image. If the internal bit regions are hexagonal regions adjacent to each other, the essence of the present invention is not lost.

また、実施形態の1例として、個々のビット領域は白黒に塗り分けられていて、その明度を閾値判定することによって1か0である二値に変換する方法を説明した。変形例として、複数の明度を利用してn値に変換する方法であってもよいし、個々のビット領域を複数の色によって塗り分けても良い。その場合であっても、ニアレストネイバー法、あるいは双一次補間法などの近傍画素からの補間法によって、個々の領域の色を取得できることに変わりはない。得られた色を複数(m個)の登録済み色候補の中から最も確からしいものとして選択することによって、m個の状態に変換することができる。   In addition, as an example of the embodiment, a method has been described in which individual bit areas are separated into black and white, and the brightness is converted into a binary value of 1 or 0 by determining a threshold value. As a modification, a method of converting to an n value using a plurality of brightness values may be used, or individual bit areas may be separately colored by a plurality of colors. Even in such a case, the color of each region can still be acquired by the interpolation method from neighboring pixels such as the nearest neighbor method or the bilinear interpolation method. By selecting the obtained color as the most probable color from a plurality (m) of registered color candidates, it is possible to convert it to m states.

[他の実施例]
また、上述の実施形態で説明した指標識別装置と同等の機能を複数の機器から構成されるシステムによって実現しても良い。
[Other embodiments]
Moreover, you may implement | achieve the function equivalent to the parameter | index identification apparatus demonstrated by the above-mentioned embodiment with the system comprised from several apparatus.

尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。   A software program that realizes the functions of the above-described embodiments is supplied directly from a recording medium or to a system or apparatus having a computer that can execute the program using wired / wireless communication. The present invention includes a case where an equivalent function is achieved by a computer executing the supplied program.

従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。   Accordingly, the program code itself supplied and installed in the computer in order to implement the functional processing of the present invention by the computer also realizes the present invention. That is, the computer program itself for realizing the functional processing of the present invention is also included in the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。   In this case, the program may be in any form as long as it has a program function, such as an object code, a program executed by an interpreter, or script data supplied to the OS.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−R、DVD−RW等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。   As a recording medium for supplying the program, for example, a magnetic recording medium such as a flexible disk, a hard disk, a magnetic tape, MO, CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-R, DVD- There are optical / magneto-optical storage media such as RW, and non-volatile semiconductor memory.

有線/無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムデータファイル)を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。   As a program supply method using wired / wireless communication, a computer program forming the present invention on a server on a computer network, or a computer forming the present invention on a client computer such as a compressed file including an automatic installation function A method of storing a data file (program data file) that can be a program and downloading the program data file to a connected client computer can be used. In this case, the program data file can be divided into a plurality of segment files, and the segment files can be arranged on different servers.

つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。   That is, the present invention includes a server device that allows a plurality of users to download a program data file for realizing the functional processing of the present invention on a computer.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to the user, and key information for decrypting the encryption for a user who satisfies a predetermined condition is provided via a homepage via the Internet, for example. It is also possible to realize the program by downloading it from the computer and executing the encrypted program using the key information and installing it on the computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。   In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。   Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU of the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.

第1の実施形態の2次元コードの構成図である。It is a block diagram of the two-dimensional code of 1st Embodiment. 第1の実施形態の2次元コードのその他の構成図である。It is another block diagram of the two-dimensional code of 1st Embodiment. 第1の実施形態の2次元コード検出装置を表すブロック図である。It is a block diagram showing the two-dimensional code detection apparatus of 1st Embodiment. 第1の実施形態の2次元コード検出装置が行う処理のフローチャートである。It is a flowchart of the process which the two-dimensional code detection apparatus of 1st Embodiment performs. 2次元コードの外形正方形を検出する方法を説明するための模式図である。It is a schematic diagram for demonstrating the method to detect the external shape square of a two-dimensional code. 元来の2次元コードの外形六角形と、それが画像映ったときの形状との対応を示し、その間の射影変換を説明するための模式図である。It is a schematic diagram for showing the correspondence between the original external hexagon of the two-dimensional code and the shape when the image is projected, and explaining the projective transformation between them. 検出された六角形外形形状を基準としてそれぞれの内部ビット領域の中心位置を計算する方法を説明するための模式図である。It is a schematic diagram for demonstrating the method of calculating the center position of each internal bit area | region on the basis of the detected hexagon outer shape. 2次元コード面上でのある特定のビット領域の中心点とその近傍画素との関係を示す模式図である。It is a schematic diagram which shows the relationship between the center point of a certain specific bit area on a two-dimensional code surface, and its vicinity pixel. 第一の実施形態の2次元コードと従来技術の2次元コードの一つあたりのビット領域の比較を説明する模式図である。It is a schematic diagram explaining the comparison of the bit area | region per one of the two-dimensional code of 1st Embodiment, and the two-dimensional code of a prior art. 従来利用されていた正方形形状を基本とした指標の例であり、2次元コードの一種である。It is an example of an index based on a square shape that has been conventionally used, and is a kind of two-dimensional code. 従来利用されていた正方形形状を基本とした指標の例であり、2次元コードの一種である。It is an example of an index based on a square shape that has been conventionally used, and is a kind of two-dimensional code. 従来利用されていた正方形形状を基本とした指標の例であり、2次元コードの一種である。It is an example of an index based on a square shape that has been conventionally used, and is a kind of two-dimensional code. 従来利用されていた正方形形状を基本とした指標の例であり、2次元コードの一種である。It is an example of an index based on a square shape that has been conventionally used, and is a kind of two-dimensional code. 従来利用されていた正方形形状を基本とした指標の例であり、2次元コードの一種である。It is an example of an index based on a square shape that has been conventionally used, and is a kind of two-dimensional code. 従来利用されていた正方形形状を基本とした指標の例であり、2次元コードの一種である。It is an example of an index based on a square shape that has been conventionally used, and is a kind of two-dimensional code.

Claims (9)

背景と明度または色によって識別可能な多角形の外形形状と、該外形形状の内部の外周に一定の間隔をおいて配置された内部領域とを有し、前記内部領域を特定のサイズに分割し、該分割領域それぞれの明度または色によって情報を表現する2次元コードであって、
前記分割領域が隣接し合う六角形であること特徴とする2次元コード。
A polygonal outer shape that can be identified by the background and brightness or color, and an inner region arranged at a predetermined interval on the outer periphery of the outer shape, and dividing the inner region into a specific size , A two-dimensional code expressing information by brightness or color of each of the divided areas,
A two-dimensional code, wherein the divided areas are adjacent hexagons.
前記多角形の外形形状は、六角形であることを特徴とする請求項1に記載の2次元コード。   The two-dimensional code according to claim 1, wherein the outer shape of the polygon is a hexagon. 前記各割領域の形状が正六角形であることを特徴とする請求項2に記載の2次元コード。   The two-dimensional code according to claim 2, wherein the shape of each split region is a regular hexagon. 前記六角形の外形形状の対角頂点を結ぶ直線と、前記分割領域の形状である正六角形の対向する辺のうちのいずれかとが直交するように、該外形形状に対して該分割領域が配置されていることを特徴とする請求項2または3に記載の2次元コード。   The divided region is arranged with respect to the outer shape so that a straight line connecting the diagonal vertices of the outer shape of the hexagon and one of the opposing sides of the regular hexagon that is the shape of the divided region are orthogonal to each other. The two-dimensional code according to claim 2, wherein the two-dimensional code is used. 画像中に映った2次元コートを背景から検出する外形多角形検出工程と、
画像中での外形多角形の形状に応じて、内部のビット領域の位置を特定するビット領域特定工程と、
前記特定されたビット領域の明度または色に基づいてビット値を取得するビット値取得工程とを有し、
前記2次元コードは、背景と明度または色によって識別可能な六角形の外形形状と、該外形形状の内部の外周に一定の間隔をおいて配置された内部領域とを有し、該内部領域は隣接し合う六角形で構成される複数の情報領域を有すること特徴とする2次元コード検出方法。
An outline polygon detection step of detecting a two-dimensional coat reflected in an image from the background;
According to the shape of the external polygon in the image, a bit area specifying step for specifying the position of the internal bit area;
A bit value acquisition step of acquiring a bit value based on the brightness or color of the identified bit region,
The two-dimensional code has a hexagonal outer shape that can be identified by background and brightness or color, and an inner region that is arranged at a predetermined interval on the outer periphery of the outer shape. A two-dimensional code detection method comprising: a plurality of information areas each formed of adjacent hexagons.
前記ビット領域特定工程は、前記外形多角形検出工程で画像から検出された四角形外形形状と物理的な外形形状との間の関係から、2次元射影変換に相当する情報を算出し、
前記2次元射影変換に相当する情報を用いて、前記分割領域それぞれの前記画像における位置を計算することを特徴とする請求項5に記載の2次元コード検出方法。
The bit region specifying step calculates information corresponding to a two-dimensional projective transformation from the relationship between the rectangular outer shape detected from the image in the outer shape polygon detecting step and the physical outer shape,
6. The two-dimensional code detection method according to claim 5, wherein a position of each of the divided regions in the image is calculated using information corresponding to the two-dimensional projective transformation.
コンピュータに、請求項5または6記載の2次元コード検出方法を実行させるためのコンピュータプログラム。   A computer program for causing a computer to execute the two-dimensional code detection method according to claim 5 or 6. 請求項7記載のコンピュータプログラムをコンピュータが読み取り可能に格納したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium storing the computer program according to claim 7 in a computer-readable manner. 画像中に映った2次元コートを背景から検出する外形多角形検出手段と、
画像中での外形多角形の形状に応じて、内部のビット領域の位置を特定するビット領域特定手段と、
前記特定されたビット領域の明度または色に基づいてビット値を取得するビット値取得手段とを有し、
前記2次元コードは、背景と明度または色によって識別可能な六角形の外形形状と、該外形形状の内部の外周に一定の間隔をおいて配置された内部領域とを有し、前記内部領域は隣接し合う六角形で構成される複数の情報領域を有すること特徴とする2次元コード検出装置。
Outline polygon detection means for detecting a two-dimensional coat reflected in an image from the background;
A bit area specifying means for specifying the position of the internal bit area according to the shape of the outer polygon in the image;
Bit value acquisition means for acquiring a bit value based on the brightness or color of the identified bit region;
The two-dimensional code has a hexagonal outer shape that can be identified by a background and brightness or color, and an inner region arranged at a predetermined interval on the outer periphery of the outer shape, and the inner region is A two-dimensional code detection device having a plurality of information areas composed of adjacent hexagons.
JP2005339080A 2005-11-24 2005-11-24 Two-dimensional code, two-dimensional code detection method, and two-dimensional code detection apparatus Expired - Fee Related JP4804125B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005339080A JP4804125B2 (en) 2005-11-24 2005-11-24 Two-dimensional code, two-dimensional code detection method, and two-dimensional code detection apparatus
US11/562,216 US7942340B2 (en) 2005-11-24 2006-11-21 Two-dimensional code, and method and apparatus for detecting two-dimensional code
EP06124564.3A EP1791076B1 (en) 2005-11-24 2006-11-22 Two-dimensional code and method and apparatus for detecting two-dimensional code
CN2006101628441A CN1971591B (en) 2005-11-24 2006-11-24 Method for detecting two-dimensional code and apparatus for detecting two-dimensional code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005339080A JP4804125B2 (en) 2005-11-24 2005-11-24 Two-dimensional code, two-dimensional code detection method, and two-dimensional code detection apparatus

Publications (2)

Publication Number Publication Date
JP2007148558A true JP2007148558A (en) 2007-06-14
JP4804125B2 JP4804125B2 (en) 2011-11-02

Family

ID=38209937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005339080A Expired - Fee Related JP4804125B2 (en) 2005-11-24 2005-11-24 Two-dimensional code, two-dimensional code detection method, and two-dimensional code detection apparatus

Country Status (1)

Country Link
JP (1) JP4804125B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114302811A (en) * 2019-06-14 2022-04-08 Mnh软件株式会社 Apparatus, system, method and computer program for printing two-dimensional code

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6165375A (en) * 1984-09-06 1986-04-03 Kyoritsu Denshi Sangyo Kk Mark code and reading device
JPH0256091A (en) * 1988-04-08 1990-02-26 United Parcel Service Of America Inc Optically readable object and method and apparatus for processing the same
JPH0338791A (en) * 1989-06-30 1991-02-19 Veritel Inc Symbol for confirmation and confirmation device thereof
JPH06506555A (en) * 1991-02-04 1994-07-21 ドルビー・ラボラトリーズ・ライセンシング・コーポレーション Storage medium, device, and method for information restoration by oversampling
JPH08185492A (en) * 1994-12-27 1996-07-16 Sharp Corp Digital information recording carrier, method and device for recording digital information, and method and device for converting digital information into plain one
JPH08249409A (en) * 1995-03-10 1996-09-27 Sharp Corp Digital information recording method
JP2003248805A (en) * 1990-10-30 2003-09-05 Ommiplanar Inc Readable symbol of multiple resolution machine
WO2004051557A1 (en) * 2002-12-03 2004-06-17 Silverbrook Research Pty Ltd Rotationally symmetric tags
WO2004097717A1 (en) * 2003-05-02 2004-11-11 Yutaka Kiuchi 2-dimensional code read method, display method, and execution program

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6165375A (en) * 1984-09-06 1986-04-03 Kyoritsu Denshi Sangyo Kk Mark code and reading device
JPH0256091A (en) * 1988-04-08 1990-02-26 United Parcel Service Of America Inc Optically readable object and method and apparatus for processing the same
JPH0338791A (en) * 1989-06-30 1991-02-19 Veritel Inc Symbol for confirmation and confirmation device thereof
JP2003248805A (en) * 1990-10-30 2003-09-05 Ommiplanar Inc Readable symbol of multiple resolution machine
JPH06506555A (en) * 1991-02-04 1994-07-21 ドルビー・ラボラトリーズ・ライセンシング・コーポレーション Storage medium, device, and method for information restoration by oversampling
JPH08185492A (en) * 1994-12-27 1996-07-16 Sharp Corp Digital information recording carrier, method and device for recording digital information, and method and device for converting digital information into plain one
JPH08249409A (en) * 1995-03-10 1996-09-27 Sharp Corp Digital information recording method
WO2004051557A1 (en) * 2002-12-03 2004-06-17 Silverbrook Research Pty Ltd Rotationally symmetric tags
WO2004097717A1 (en) * 2003-05-02 2004-11-11 Yutaka Kiuchi 2-dimensional code read method, display method, and execution program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114302811A (en) * 2019-06-14 2022-04-08 Mnh软件株式会社 Apparatus, system, method and computer program for printing two-dimensional code
CN114302811B (en) * 2019-06-14 2023-12-05 Mnh软件株式会社 Device, system, method and computer readable recording medium for printing two-dimensional code
US11861431B2 (en) 2019-06-14 2024-01-02 Mnh Soft, Co., Ltd. Device, system, method, and computer program for printing QR code

Also Published As

Publication number Publication date
JP4804125B2 (en) 2011-11-02

Similar Documents

Publication Publication Date Title
US7942340B2 (en) Two-dimensional code, and method and apparatus for detecting two-dimensional code
US7438232B2 (en) Two-dimensional code and information processing method
JP7099509B2 (en) Computer vision system for digitization of industrial equipment gauges and alarms
KR101801217B1 (en) Two-dimensional code
JP4868186B2 (en) Marker generation and marker detection system, method and program
JP4739004B2 (en) Information processing apparatus and information processing method
JP5773436B2 (en) Information terminal equipment
CN109215016B (en) Identification and positioning method for coding mark
JP5791826B2 (en) 2D code
JP4502361B2 (en) Index attitude detection method and apparatus
US20210407189A1 (en) Information processing apparatus, information processing method, and program
Joris et al. HemoVision: An automated and virtual approach to bloodstain pattern analysis
KR100702534B1 (en) Id judgment method by using extension type visual marker including direrction information
CN112243518A (en) Method and device for acquiring depth map and computer storage medium
JP2007172596A (en) Two-dimensional code, and method and apparatus for detecting the same
JP4694624B2 (en) Image correction apparatus and method, and computer program
JP2011155412A (en) Projection system and distortion correction method in the same
JP4804125B2 (en) Two-dimensional code, two-dimensional code detection method, and two-dimensional code detection apparatus
US8121389B2 (en) System, apparatus, method and computer program product for optical position recognition
WO2019188316A1 (en) Image processing device, image processing method, and program
JP4548228B2 (en) Image data creation method
JP2014032628A (en) Corresponding point search device, program thereof, and camera parameter estimation device
JP2005227929A (en) Processing method for photography image of object, image display system, program and recording medium
JP4351090B2 (en) Image processing apparatus and image processing method
US11557056B2 (en) Image-capturing control apparatus, image-capturing control method, and storage medium for evaluating appearance of object

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110712

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110809

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

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees