JP6565786B2 - Optical symbol, display medium, article and generating device - Google Patents
Optical symbol, display medium, article and generating device Download PDFInfo
- Publication number
- JP6565786B2 JP6565786B2 JP2016091809A JP2016091809A JP6565786B2 JP 6565786 B2 JP6565786 B2 JP 6565786B2 JP 2016091809 A JP2016091809 A JP 2016091809A JP 2016091809 A JP2016091809 A JP 2016091809A JP 6565786 B2 JP6565786 B2 JP 6565786B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- color
- code
- unit
- optical symbol
- 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.)
- Active
Links
Images
Landscapes
- Image Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Description
本発明は、光学シンボル、表示媒体、物品および生成装置に関する。 The present invention relates to an optical symbol, a display medium, an article, and a generation apparatus.
QRコード(登録商標)といった2値情報に基づく2次元コードは、カメラで撮像することでIDなどの情報を得られるため、多くの場面で利用されている。また、より多くの情報を記憶するために、例えばモノクロの2値情報ではなく、複数色を用いて単位面積当たりの記憶容量を向上させた2次元コードも開発されている。この複数色を用いた2次元コード(カラーコードと呼ぶ)の一つとして、色の配置ではなく隣接する領域間での色の遷移をコード化することで歪み耐性を向上させたカラーコードが知られている(特許文献1)。 A two-dimensional code based on binary information such as a QR code (registered trademark) is used in many scenes because information such as an ID can be obtained by imaging with a camera. Further, in order to store more information, for example, a two-dimensional code in which a storage capacity per unit area is improved by using a plurality of colors instead of monochrome binary information has been developed. One of the two-dimensional codes (called color codes) using multiple colors is a color code that improves distortion resistance by coding color transitions between adjacent areas rather than color arrangement. (Patent Document 1).
しかしながら、従来技術によるカラーコードは、歪みに強い一方で、認識処理を並列処理より実行することが困難であり、認識処理の処理速度を向上させることが難しいという問題点があった。 However, the color code according to the prior art is resistant to distortion, but it is difficult to execute recognition processing from parallel processing, and it is difficult to improve the processing speed of recognition processing.
本発明は、上記に鑑みてなされたもので、より高速な認識処理が可能な光学シンボルを提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide an optical symbol that can be recognized at higher speed.
上述した課題を解決するために、本発明は、複数の主コードセルが1次元に接続された第1のセル列を有する主コード部と、複数の副コードセルが1次元に接続された第2のセル列を有する副コード部と、を含む光学シンボルであって、第2のセル列は、複数の主コードセルのうち、第1のセル列の端部のセルを除く複数の主コードセルの何れか1つのセルに接続される。 In order to solve the above-described problem, the present invention provides a main code portion having a first cell row in which a plurality of main code cells are connected in one dimension, and a first code in which a plurality of sub code cells are connected in one dimension. And the second cell column includes a plurality of main codes excluding a cell at an end portion of the first cell column among the plurality of main code cells. Connected to any one of the cells.
本発明によれば、より高速な認識処理が可能な光学シンボルを提供可能となるという効果を奏する。 According to the present invention, it is possible to provide an optical symbol that can be recognized at higher speed.
以下に添付図面を参照して、光学シンボル、表示媒体、物品および生成装置の実施形態を詳細に説明する。 Hereinafter, embodiments of an optical symbol, a display medium, an article, and a generation apparatus will be described in detail with reference to the accompanying drawings.
(第1の実施形態)
図1は、第1の実施形態に係る光学シンボルの利用形態の例を概略的に示す。図1において、各物品50に対して、第1の実施形態に係る光学シンボル30が表示された表示媒体40がそれぞれ添付される。表示媒体40は、例えば光学シンボル30が印刷された印刷媒体である。これに限らず、表示媒体40は、光学シンボル30が表示された、LCD(Liquid Crystal Display)などの表示デバイスでもよい。
(First embodiment)
FIG. 1 schematically shows an example of a usage form of an optical symbol according to the first embodiment. In FIG. 1, a
詳細は後述するが、光学シンボル30は、それぞれセルと呼ばれる複数の小領域を含み、各セルが、隣接するセルと色を異ならせて配列されて構成される。光学シンボル30は、セル間の色の遷移を用いて情報を表現する。すなわち、光学シンボル30は、色を用いて情報をコード化したコード(カラーコード)である。
As will be described in detail later, the
コード認識装置10は、カメラ11により撮像された撮像画像から光学シンボル30を認識し、認識された光学シンボル30をデコードする。より具体的には、コード認識装置10は、光学シンボル30の認識により光学シンボル30に含まれる各セルの色の遷移を検出し、検出された色の遷移に基づきデコードを行う。コード認識装置10は、光学シンボル30からデコードされた情報を出力する。
The
(第1の実施形態に係る光学シンボルの詳細)
図2は、第1の実施形態に係る光学シンボル30の基本的な構成例を示す。図2に示されるように、光学シンボル30は、幹と、一端が幹に接続される枝とを含んで構成される。幹は、順次隣接する複数のセルが1次元に配列されたセル列(第1の配列)により構成される。すなわち、幹は、複数のセルが分岐および交差せずに配列される。枝は、幹の1つのセルに接続されるセルを含む1以上のセルが、幹の配列方向と異なる方向に向けて、順次隣接して1次元に配列されたセル列(第2の配列)により構成される。枝は、複数のセルを含む場合、幹と同様に、複数のセルが分岐および交差せずに配列される。また、枝同士は、接触しない。
(Details of optical symbol according to the first embodiment)
FIG. 2 shows a basic configuration example of the
幹および枝を構成する各セルは、色が割り当てられる。このとき、各セルに割り当てる色は、隣接するセル同士で同一色とならないように選択される。また、各セルに割り当てる色は、予め定めた複数の色から選択される。セルに割り当てるための複数の色は、当該複数の色から任意に選択した2色を隣接させた場合に、この2色を識別容易な色の組み合わせとすることが好ましい。 Each cell constituting the trunk and branch is assigned a color. At this time, the color assigned to each cell is selected so that adjacent cells do not have the same color. The color assigned to each cell is selected from a plurality of predetermined colors. The plurality of colors to be assigned to the cells are preferably a combination of colors that can be easily identified when two colors arbitrarily selected from the plurality of colors are adjacent to each other.
第1の実施形態に係る光学シンボル30は、隣接するセル間での色の遷移に基づき情報を表現する。換言すれば、光学シンボル30は、色の遷移を用いて情報をコード化する。光学シンボル30は、幹の各セル、および、枝の各セルにより、それぞれ異なる情報をコード化して表現することができる。幹の各セル(主コードセル)によりコード化された情報を主コードと呼び、枝の各セル(副コードセル)によりコード化された情報を副コードと呼ぶ。以下、特に記載の無い限り、幹および枝を、それぞれ主コード部300および副コード部301と呼ぶ。副コード部301は、複数の枝を含むことができる。
The
図2において、主コード部300は、一端のセルを開始セル302とし(図中で「S」とも記載)、他端のセルを終了セル303とする(図中で「E」とも記載)。主コード部300の各セルの色の遷移は、図中に矢印にて示されるように、開始セル302から終了セル303に向けて検出されるものとする。また、副コード部301の各セルの色の遷移は、図中に矢印にて示されるように、主コード部300と接続される端から、他端に向けて検出されるものとする。
In FIG. 2, the
なお、開始セル302および終了セル303は、省略することができる。この場合、主コード部300の先頭および後端の各セルが、それぞれ開始セル302および終了セル303の役割を兼用することができる。
Note that the
以下では、光学シンボル30を用いてコード化する情報が文字列であるものとする。文字列は、例えば「0」〜「9」の数字である。これに限らず、光学シンボル30は、「a」〜「z」、または、小文字の「a」〜「z」に大文字の「A」〜「Z」を加えたアルファベットによる文字列や、さらに記号を含めた文字列をコード化することもできる。
In the following, it is assumed that the information encoded using the
図3は、第1の実施形態に係る光学シンボル30にコード化するための情報の例を示す。図3において、主コード部300’および副コード部301’は、それぞれ、コード化後の光学シンボル30における主コード部300および副コード部301に対応する。また、図3において、主コード部300’および副コード部301’に含まれる各マスを、光学シンボル30の各セルに倣って、便宜上、セルと呼ぶ。
FIG. 3 shows an example of information for encoding into the
図3は、コード化を行う文字列が数字である場合の例である。主コード部300’のセル列の各セル「d1」、「d2」、「d3」、…が、文字列の各桁を表現している。図3における左端のセル「d1」が文字列の第1桁目を表し、セル「d1」を起点として順次隣接する各セル「d2」、「d3」、…において、表現される桁が順次移動する。すなわち、主コード部300’のセル列の各セル「d1」、「d2」、「d3」、…は、文字列における位置に対応している。
FIG. 3 shows an example in which the character string to be encoded is a number. Each cell “d1”, “d2”, “d3”,... Of the cell string of the
図3の例では、当該各セル「d1」、「d2」、「d3」、…は、10進数の各桁を表しているものとする。具体的には、先端セルである左端のセル「d1」が「100」の桁を示し、以降、各セル「d2」、「d3」、…は、順次、「101」、「102」、…の桁を表す。 In the example of FIG. 3, each of the cells “d1”, “d2”, “d3”,... Represents each decimal digit. Specifically, the leftmost cell “d1”, which is the leading cell, indicates the digit “10 0 ”, and thereafter, each cell “d2”, “d3”,... Is sequentially “10 1 ”, “10 2 ”. ", ... represents the digit.
また、図3の例において、副コード部301’は、端が接続される主コード部300’のセル「d1」、「d2」、「d3」、…における値を、2進数で表している。図3の例では、副コード部301’の各セル列において、主コード部300’に接続されるセルが最下位ビットとされ、主コード部300’のセル「d1」、「d2」および「d3」に接続される各セル列がそれぞれ値「b0010」、値「b0110」および値「b1000」とされている。したがって、図3の光学シンボル30は、「100」、「101」および「102」の桁の値が、それぞれ10進数で「2」、「6」および「8」である文字列を表している。なお、値の表記において先頭の「b」は、続く数字が2進数による値であることを示している。
In the example of FIG. 3, the
第1の実施形態では、上述したように、主コード部300’および副コード部301’において表現される情報を、セル間の色の遷移を用いてコード化する。ここで、主コード部300’は、表現される情報が予め定められている。したがって、主コード部300’がコード化された光学シンボル30における主コード部300は、各セルの色が、隣接するセル同士で異なっていることが分かればデコードできる。例えば、主コード部300に含まれるセルの数が既知であれば、セル間の色の遷移の回数を計数することで、主コード部300をデコードできる。
In the first embodiment, as described above, the information expressed in the main code portion 300 'and the sub code portion 301' is coded using the color transition between cells. Here, in the
一方、副コード部301’は、コード化する情報に応じて異なる値を表現する必要がある。そのため、副コード部301’は、色の遷移と表現可能な値とを予め関連付けた変換テーブルを用いてコード化を行う。
On the other hand, the sub-code portion 301 'needs to express different values depending on the information to be encoded. Therefore, the
図4を用いて、第1の実施形態に適用可能な、2進数を表現可能なコード化ルールについて説明する。隣接する異なる色のセル間での色の遷移により2値を表現するためには、少なくとも3色が必要となる。図4は、赤色(R)、緑色(G)および青色(B)の3色を用いて2値を表現する場合のコード化ルールの例を示している。例えば、図4(a)に例示されるように、時計回り、すなわち、R色からB色、B色からG色、および、G色からR色への各遷移により値「0」を表現する。また、反時計回り、すなわち、R色からG色、G色からB色、および、B色からR色の各遷移により値「1」を表現する。 An encoding rule that can be applied to the first embodiment and that can express a binary number will be described with reference to FIG. In order to express a binary value by a color transition between adjacent cells of different colors, at least three colors are required. FIG. 4 shows an example of a coding rule when a binary is expressed using three colors of red (R), green (G), and blue (B). For example, as illustrated in FIG. 4A, the value “0” is expressed in the clockwise direction, that is, by transition from the R color to the B color, the B color to the G color, and the G color to the R color. . Also, the value “1” is expressed counterclockwise, that is, by transitions from R color to G color, G color to B color, and B color to R color.
例えば、図4(b)に示されるように、G色、B色、G色、R色の順に各セルが順次隣接されたセル列において、図中で左から右に向けて各セルの色遷移を見た場合について考える。この場合、G色からB色への遷移が値「1」、B色からG色への遷移が値「0」、G色からR色への遷移が値「0」をそれぞれ表す。したがって、図4(b)の配列は、値「b001」、すなわち10進数の値「1」を表す。 For example, as shown in FIG. 4B, in the cell row in which each cell is sequentially adjacent in the order of G color, B color, G color, and R color, the color of each cell from left to right in the figure. Consider the case of seeing a transition. In this case, the transition from the G color to the B color represents the value “1”, the transition from the B color to the G color represents the value “0”, and the transition from the G color to the R color represents the value “0”. Therefore, the array of FIG. 4B represents the value “b001”, that is, the decimal value “1”.
また例えば、図4(c)に示されるように、図4(b)の各セルの配列に対し、図4(b)とは逆方向に向けて色遷移を見た場合について考える。この場合、R色からG色への遷移が値「1」、G色からB色への遷移が値「1」、B色からG色への遷移が値「0」をそれぞれ表す。したがって、図4(c)の配列は、値「011」、すなわち、10進数の値「3」を表す。 Further, for example, as shown in FIG. 4C, consider a case where the color transition is viewed in the direction opposite to that in FIG. 4B with respect to the array of cells in FIG. 4B. In this case, the transition from the R color to the G color represents the value “1”, the transition from the G color to the B color represents the value “1”, and the transition from the B color to the G color represents the value “0”. Accordingly, the array of FIG. 4C represents the value “011”, that is, the decimal value “3”.
図4(d)は、図4(a)に示したコード化ルールに従った色遷移と値とを関連付ける変換テーブルの例を示す。図4(d)の変換テーブルにおいて、左端の列は、直前のセル(遷移元のセル)の色を示し、上端の行は、表現したい値を示す。例えば、遷移元のセルの色がR色で、値「1」を表現したい場合、遷移元のセルに隣接する遷移先のセルの色をG色とする。同様に、遷移元のセルの色がB色で値「1」を表現したい場合、遷移先のセルの色をR色とする。 FIG. 4D shows an example of a conversion table that associates color transitions and values according to the coding rule shown in FIG. In the conversion table of FIG. 4D, the leftmost column indicates the color of the immediately preceding cell (transition source cell), and the uppermost row indicates the value to be expressed. For example, when the color of the transition source cell is R color and the value “1” is to be expressed, the color of the transition destination cell adjacent to the transition source cell is G color. Similarly, when the transition source cell color is B color and the value “1” is to be expressed, the transition destination cell color is R color.
図5は、第1の実施形態に係る、コード化された主コード部300および副コード部301における色の配列の例を示す。図5(a)は、主コード部300のセル列における各セルの色の配列の例を示す。図5(a)の例では、主コード部300のセル列は、第1色(この例ではR色)のセルと、第2色(この例ではB色)の2色のセルを交互に配置して構成している。また、主コード部300のセル列は、2N個(Nは1以上の整数)のセルにより構成している。これにより、主コード部300のセル列の先端のセルの色を第1色に固定することで、後端のセルの色が第2色に一意に決定されるため、主コード部300のセル列の先端および後端の認識が容易となる。
FIG. 5 shows an example of the color arrangement in the coded
図5(b)は、副コード部301のセル列における色の配列の例を示す。副コード部301のセル列は、各セルに対して、上述した2値を表現するための3色が、隣接するセルの色が異なるように割り当てられる。また、副コード部301のセル列は、当該セル列が接続される主コード部300のセルを最初の遷移元のセルとして、上述したコード化ルールに従ったコード化がなされる。
FIG. 5B shows an example of the color arrangement in the cell column of the
副コード部301のセル列は、表現する値によっては、当該3色のうち割り当てられない色が発生する場合がある。これに対して、主コード部300は、セル列に含まれる各セルに割り当てる所定の2色を、副コード部301において2値を表現するために用いる3色から選択し、この2色を各セルに交互に割り当ててセル列を構成している。したがって、主コード部300のセル列は、各セルに、主コード部300に用いるように定められた各色が必ず割り当てられる。そのため、例えば当該光学シンボル30を含む画像から当該光学シンボル30を切り出す場合に、主コード部300の各セルに割り当てられている色の情報のみを検出することで、容易に光学シンボル30を切り出すことが可能である。
Depending on the value to be expressed, an unallocated color among the three colors may occur in the cell string of the
図6は、第1の実施形態に係る、図3に例示した情報を、図4を用いて説明したコード化ルールに従いコード化した光学シンボル30の例を示す。この例では、コード化された主コード部300のセル列は、偶数個のセルを含み、先端のセルをR色として、R色およびB色が交互に配置されて構成されている。
FIG. 6 shows an example of the
また、コード化された副コード部301は、例えば左端のセル列において、当該セル列の端のセルが接続される、主コード部300のセルのR色を最初の遷移元の色として、各セルの色が割り当てられる。この例では、当該セル列の各セルに対して、値「0」、「1」、「0」、「0」に従い、図4(d)の変換テーブルを参照して、B色、R色、B色、G色がそれぞれ割り当てられる。
In addition, the encoded
図6に示されるように、第1の実施形態に係る光学シンボル30は、幹(主コード部300のセル列)の伸長方向と異なる一方向に対し、複数の枝(副コード部301の各セル列)が、主コード部300のセル列の各セルにそれぞれ接続される。且つ、第1の実施形態に係る光学シンボル30は、カメラ11にて光学シンボル30を撮像した撮像画像から光学シンボル30を認識する際の認識精度を良好とするため、副コード部301の各セル列が、隣り合うセル列に対して所定の間隔を開けて配置される。このように、第1の実施形態に係る光学シンボル30は、幹と複数の枝とによる櫛型の形状として構成される。
As shown in FIG. 6, the
光学シンボル30を櫛型形状とすることで、例えば光学シンボル30が含まれる画像において、光学シンボル30の形状の当該画像に含まれる他の形状との区別や、光学シンボル30の当該画像内での向き(角度)などの認識が容易となる。これにより、例えば後述するテンプレートを用いた光学シンボル30の切り出し処理を、高精度に実行可能となる。
By making the
上述では、光学シンボル30の各セルに割り当てる色数を3色として、情報を2値により表現したが、これはこの例に限定されず、各セルに割り当てる色数を4色以上としてもよい。各セルに割り当てる色数を多くすることで、同じセル数でより多くの情報を表現可能となる。
In the above description, the number of colors assigned to each cell of the
図7は、第1の実施形態に係る、R色、G色およびB色と、K色(黒色)との4色を用いた場合のコード化ルールの例を示す。4色を用いる場合、3値すなわち3進数での表現が可能である。例えば、図7(a)に例示されるように、時計回り、すなわち、R色からK色、K色からB色、B色からG色、G色からR色への各遷移により値「0」を表現する。また、反時計回り、すなわち、R色からG色、G色からB色、B色からK色、K色からR色への各遷移により値「1」を表現する。さらに、対角線上、すなわち、R色とB色との間の双方向の遷移、および、K色とG色との間の双方向の遷移により、それぞれ値「2」を表現する。 FIG. 7 shows an example of a coding rule when four colors of R color, G color, B color, and K color (black) are used according to the first embodiment. When four colors are used, ternary values, that is, ternary numbers can be expressed. For example, as illustrated in FIG. 7A, the value “0” is generated by clockwise transition, that is, each transition from R color to K color, K color to B color, B color to G color, and G color to R color. ". The value “1” is expressed counterclockwise, that is, each transition from R color to G color, G color to B color, B color to K color, and K color to R color. Furthermore, the value “2” is expressed on the diagonal line, that is, by the bidirectional transition between the R color and the B color and the bidirectional transition between the K color and the G color.
例えば、図7(b)に示されるように、G色、R色、B色、K色、G色の順に各セルが順次接続されたセル列において、図中で左から右に向けて各セルの色遷移を見た場合について考える。この場合、G色からR色への遷移が値「0」、R色からB色への遷移が値「2」、B色からK色への遷移が値「1」、K色からG色への遷移が値「2」をそれぞれ表す。したがって、図7(b)の配列は、値「3d2120」、すなわち10進数の値「69」を表す。なお、値の表記において先頭の「3d」は、続く数字が3進数による値であることを示している。 For example, as shown in FIG. 7B, in a cell column in which cells are sequentially connected in the order of G color, R color, B color, K color, and G color, Consider the case of looking at the color transition of a cell. In this case, the transition from the G color to the R color is the value “0”, the transition from the R color to the B color is the value “2”, the transition from the B color to the K color is the value “1”, and the K color to the G color. Each transition to represents the value “2”. Therefore, the array of FIG. 7B represents the value “3d2120”, that is, the decimal value “69”. In the value notation, the leading “3d” indicates that the subsequent number is a ternary value.
また例えば、図7(c)に示されるように、図7(b)の各セルの配列に対し、図7(b)とは逆方向に向けて色遷移を見た場合について考える。この場合、G色からK色への遷移が値「2」、K色からB色への遷移が値「0」、B色からR色への遷移が値「2」、R色からG色への遷移が値「1」をそれぞれ表す。したがって、図7(c)の配列は、値「3d1202」、すなわち10進数の値「47」を表す。 Further, for example, as shown in FIG. 7C, consider a case where the color transition is viewed in the direction opposite to that in FIG. 7B with respect to the array of cells in FIG. 7B. In this case, the transition from the G color to the K color is the value “2”, the transition from the K color to the B color is the value “0”, the transition from the B color to the R color is the value “2”, and the transition from the R color to the G color. Each transition to represents a value “1”. Accordingly, the array of FIG. 7C represents the value “3d1202”, that is, the decimal value “47”.
4色の色遷移を用いたコード化ルールは、図7(a)に示した例に限定されない。図7(d)は、第1の実施形態に適用可能な、4色の色遷移を用いたコード化ルールの別の例を示す。この別の例では、R色とK色と間の遷移が双方向それぞれで値「0」を表し、R色とG色との間の遷移が双方向それぞれで値「1」を表し、G色とB色との間の遷移が双方向それぞれで値「2」を表す。また、B色からR色への遷移、および、K色からG色への遷移が値「1」をそれぞれ表す。さらに、G色からK色への遷移が値「0」を、R色からB色への遷移が値「2」をそれぞれ表す。 The coding rule using the four color transitions is not limited to the example shown in FIG. FIG. 7D shows another example of a coding rule using four color transitions applicable to the first embodiment. In this other example, the transition between the R color and the K color represents a value “0” in both directions, the transition between the R color and the G color represents a value “1” in each direction, and G The transition between colors B and B represents the value “2” in each direction. The transition from the B color to the R color and the transition from the K color to the G color each represent the value “1”. Further, the transition from the G color to the K color represents the value “0”, and the transition from the R color to the B color represents the value “2”.
図7(e)は、図7(d)に示したコード化ルールに従った色遷移と値とを関連付ける変換テーブルの例を示す。図7(e)に変換テーブルにおける列および行の意味は、上述した図4(d)の変換テーブルと同様であるので、ここでの説明を省略する。図7(e)において、例えば、遷移元のセルの色がR色で、値「2」を表現したい場合、遷移元のセルに隣接する遷移先のセルの色をB色とする。同様に、遷移元のセルの色がK色で値「1」を表現したい場合、遷移先のセルの色をG色とする。 FIG. 7E shows an example of a conversion table that associates color transitions and values according to the coding rule shown in FIG. The meanings of columns and rows in the conversion table in FIG. 7E are the same as those in the conversion table in FIG. In FIG. 7E, for example, when the color of the transition source cell is R color and the value “2” is to be expressed, the color of the transition destination cell adjacent to the transition source cell is B color. Similarly, when the transition source cell color is K color and the value “1” is to be expressed, the transition destination cell color is G color.
図8および図9を用いて、第1の実施形態に係る、光学シンボル30の各セルに割り当てる色数を4色とした場合のより具体的な例について説明する。一例として、図8に示すように、主コード部300’の各セル「d1」、「d2」、「d3」および「d4」に接続される、副コード部301’の各セル列がそれぞれ値「3d0121」、「3d2101」、「3d2212」および「3d0220」とされている。
A more specific example of the case where the number of colors assigned to each cell of the
図9は、図8に例示した情報を、図7を用いて説明したコード化ルールに従いコード化した光学シンボル30の例を示す。この例では、主コード部300のセル列は、偶数個のセルを含み、先端のセルをR色として、R色およびK色が交互に配置されて構成されている。
FIG. 9 shows an example of an
また、副コード部301は、図6と同様にして、例えば左端のセル列において、当該セル列の端のセルが接続される、主コード部300のセルのR色を最初の遷移元の色として、各セルの色が割り当てられる。この例では、当該セル列の各セルに対して、値「1」、「2」、「1」、「0」に従い、図7(d)の変換テーブルを参照して、G色、B色、R色、K色がそれぞれ割り当てられている。
Similarly to FIG. 6, the
(第1の実施形態に適用可能な装置構成)
次に、第1の実施形態に係る光学シンボル30を生成するための構成について説明する。図10は、第1の実施形態に適用可能なコード生成システムの一例の構成を示す。図10において、コード生成システムは、コード生成装置20と、コード生成装置20に対して例えばネットワーク22を介して接続されるプリンタ21とを含む。
(Apparatus configuration applicable to the first embodiment)
Next, a configuration for generating the
コード生成装置20は、入力された情報を上述したコード化ルールに従いコード化して、光学シンボル30を生成する。プリンタ21は、コード生成装置20により生成された光学シンボル30を印刷媒体に印刷し、光学シンボル30が表示される表示媒体40を作成する。作成された表示媒体40は、例えば、図1を用いて説明したように、物品50に貼付される。
The
図11は、第1の実施形態に係るコード生成装置20のハードウェア構成の例を示す。図11において、コード生成装置20は、CPU(Central Processing Unit)2000と、ROM(Read Only Memory)2001と、RAM(Random Access Memory)2002と、グラフィクスI/F2003と、ストレージ2005と、データI/F2006と、通信I/F2009とを含み、これら各部がバス2010により互いに通信可能に接続される。このように、第1の実施形態に係るコード生成装置20は、一般的なコンピュータを用いて実現できる。
FIG. 11 shows an example of the hardware configuration of the
ストレージ2005は、ハードディスクドライブやフラッシュメモリといった不揮発性の記憶媒体であって、プログラムやデータが記憶される。CPU2000は、ストレージ2005やROM2001に記憶されるプログラムに従い、RAM2002をワークメモリとして用いて、コード生成装置20の全体の動作を制御する。
The
グラフィクスI/F2003は、ディスプレイ2004が接続され、CPU2000によりプログラムに従い生成された表示制御情報に基づき、ディスプレイ2004が表示可能な表示信号を生成する。データI/F2006は、コード生成装置20の外部から供給される外部データに対するインタフェースである。また、データI/F2006は、マウスといったポインティングデバイス2007や、キーボード2008を接続することができる。データI/F2006としては、例えばUSB(Universal Serial Bus)を適用することができる。
The graphics I /
コード化対象のデータは、外部からデータI/F2006に供給される。これに限らず、ユーザがポインティングデバイス2007やキーボード2008を操作して、コード化対象のデータをコード生成装置20に入力してもよい。
Data to be encoded is supplied to the data I / F 2006 from the outside. However, the present invention is not limited to this, and the user may input data to be encoded into the
通信I/F2009は、ネットワーク22と接続され、ネットワーク22を介した通信を行う。ネットワーク22は、LAN(Local Area Network)であってもよいし、インターネットであってもよい。また、ネットワーク22は、有線通信および無線通信の何れを用いて接続されるものでもよい。
A communication I /
図12は、第1の実施形態に係るコード生成装置20の機能を説明するための機能ブロック図である。図12において、コード生成装置20は、データ入力部200と、分解部201と、変換部202と、色割当部203と、テーブル記憶部204と、出力部205とを含む。
FIG. 12 is a functional block diagram for explaining functions of the
これらのうち、データ入力部200、分解部201、変換部202、色割当部203および出力部205は、CPU2000上で動作するプログラムにより構成される。これに限らず、データ入力部200、分解部201、変換部202、色割当部203および出力部205の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。また、テーブル記憶部204は、ストレージ2005またはRAM2002における所定の記憶領域により構成される。
Among these, the
データ入力部200は、データI/F2006を介して入力されたコード化対象のデータを受け付ける。この場合、上述したように、コード化対象のデータは、文字列であるものとする。分解部201は、データ入力部200に受け付けられた文字列を、各桁の値に分解する。変換部202は、分解部201で分解された各桁の値を、光学シンボル30の各セルに割り当てる色数に応じた値に変換する。例えば、変換部202は、各セルに割り当てる色数が4色であれば、各桁の値を3進数による値に変換する。
The
テーブル記憶部204は、図4(d)や図7(d)で説明したような、各セルに割り当てる色数に応じた変換テーブルを予め記憶する。色割当部203は、変換部202で変換された値と、遷移元の色とに基づきテーブル記憶部204に記憶される変換テーブルを参照して、光学シンボル30の各セルに色を割り当てる。なお、色割当部203は、主コード部300のセル列における各セルの色の配列を示す情報を予め記憶しているものとする。
The
出力部205は、色割当部203で色が割り当てられたセルおよび色の情報を記憶する。出力部205は、光学シンボル30の全てのセルに対して色が割り当てられたと判定した場合に、光学シンボル30の各セルに割り当てられた色を示す情報を、各セルの情報に関連付けて出力する。
The
なお、色割当部203は、副コード部301における1つのセル列のコード化において、直前にコード化したセルの色を、出力部205から取得することができる。
Note that the
第1の実施形態に係るコード生成装置20の各機能を実現するためのコード生成プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、コード生成プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、コード生成プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
A code generation program for realizing each function of the
コード生成プログラムは、上述した各部(データ入力部200、分解部201、変換部202、色割当部203および出力部205)を含むモジュール構成となっている。実際のハードウェアとしては、CPU2000がストレージ2005などの記憶媒体から当該コード生成プログラムを読み出して実行することにより、上述した各部がRAM2002などの主記憶装置上にロードされ、データ入力部200、分解部201、変換部202、色割当部203および出力部205が主記憶装置上に生成されるようになっている。
The code generation program has a module configuration including the above-described units (
図13は、第1の実施形態に係る光学シンボル30の生成方法を示す一例のフローチャートである。ステップS100で、データ入力部200により、コード化対象のデータが受け付けられる。ここで、データ入力部200に受け付けられたデータは、k桁の文字列であるものとする。次のステップS101で、分解部201は、データ入力部200に受け付けられたk桁のデータを、桁毎の値v(i)に分解する。なお、変数iは、処理対象の桁の文字列における位置を示すループ変数であって、(0≦i≦k)の整数である。
FIG. 13 is a flowchart illustrating an example of a method for generating the
次のステップS102で、変数iが値「0」に初期化され、次のステップS103で、変数iに値「1」が加算される。 In the next step S102, the variable i is initialized to the value “0”, and in the next step S103, the value “1” is added to the variable i.
次のステップS104で、変換部202は、分解部201により分解されたk桁のデータのi桁目の値v(i)を、n進数のp桁の値u(q)に変換する。なお、値nは、予め定められた、2以上の整数である。また、変数qは、副コード部301のセル列内のセルの位置を示すループ変数であって、(0≦q≦p)の整数であり、値pは、副コード部301における処理対象のセル列に含まれるセル数を示す。
In the next step S104, the
次のステップS105で、変数qが値「0」に初期化され、次のステップS106で、変数qに値「1」が加算される。 In the next step S105, the variable q is initialized to the value “0”, and in the next step S106, the value “1” is added to the variable q.
次のステップS107で、色割当部203は、出力部205から、現在色を割り当てようとしているセルに対する直前(遷移元)のセルの色を取得する。なお、ステップS107において、色割当部203は、変数qの値が「1」である場合には、主コード部300のセル列におけるi桁目に対応するセルの色を取得する。
In the next step S107, the
次のステップS108で、色割当部203は、ステップS107で取得したセルの色と、値u(q)とに基づき、テーブル記憶部204に記憶される変換テーブルを参照して、副コード部301におけるi桁目のセル列におけるq番目のセルの色を取得する。
In the next step S108, the
次のステップS109で、色割当部203は、変数qが値pと一致するか否かを判定する。一致しないと判定した場合(ステップS109、「No」)、色割当部203は、処理をステップS106に戻す。また、一致すると判定した場合(ステップS109、「Yes」)、色割当部203は、処理をステップS110に移行させる。
In the next step S109, the
ステップS110で、変換部202は、変数iが値kと一致するか否かを判定する。一致しないと判定した場合(ステップS110、「No」)、変換部202は、処理をステップS103に戻す。また、一致すると判定した場合(ステップS110、「Yes」)、変換部202は、ステップS100で受け付けられたデータの光学シンボル30へのコード化が終了したとして、図13のフローチャートにおける一連の処理を終了させる。
In step S110, the
なお、図13のフローチャートの処理では、副コード部301に含まれる各セル列に含まれるセルの個数が制限されない。これはこの例に限られず、副コード部301に含まれる各セル列に含まれるセルの個数を一定数としてもよい。図14は、第1の実施形態に係る、副コード部301に含まれる各セル列に含まれるセルの個数をM個に固定する例を示す。
In the process of the flowchart of FIG. 13, the number of cells included in each cell column included in the
このように、副コード部301に含まれる各セル列に含まれるセルの個数を一定数とすることで、後述する、光学シンボル30に対するデコード処理を容易とすることができる。また、さらに、各セルの大きさも一定とすると、後述するテンプレートを用いた光学シンボル30の切り出し処理が容易となり好ましい。
In this way, by making the number of cells included in each cell column included in the sub-code unit 301 a fixed number, it is possible to facilitate decoding processing for the
また、第1の実施形態では、隣接するセル間での色の遷移を用いて情報のコード化を行っている。そのため、光学シンボル30を構成する各セルの大きさが異なっていてもよい。この場合、副コード部301に含まれる各セル列の長さを一定とすると、後述するテンプレートを用いた光学シンボル30の切り出し処理が容易となり好ましい。
In the first embodiment, information is encoded by using color transition between adjacent cells. Therefore, the size of each cell constituting the
図15は、第1の実施形態に係る、副コード部301の各セル列に含まれるセルの大きさが各セル列毎に異なり、且つ、各セル列の長さが一定である光学シンボル30の例を示す。図15の例では、副コード部301の左端のセル列がP個のセルを含み、真中のセル列が左端のセル列のセルより大きいセルを、P個より少ないQ個含む。また、図15における副コード部301の右端のセル列は、真中のセル列のセルより大きいセルを、Q個より少ないR個含む。この例では、各セル列に含まれるセルのサイズは、それぞれが属するセル列に含まれるセルの総数(P個、Q個、R個)に応じたサイズとなる。
FIG. 15 shows an
上述では、光学シンボル30において、図2に示した開始セル302および終了セル303を省略したものとして説明したが、開始セル302および終了セル303を用いることで、後述する光学シンボル30のデコード処理の際の、各セルの認識処理が容易となり好ましい。
In the above description, in the
図16は、第1の実施形態に係る、上述した開始セル302および終了セル303を用いた光学シンボル30の例を示す。図16に示されるように、主コード部300のセル列において、開始セル302および終了セル303には副コード部301のセル列が接続されない。また、主コード部300のセル列は、開始セル302および終了セル303に挟まれる各セルには副コード部301の各セル列が必ず接続される構成となっている。
FIG. 16 shows an example of the
このような構成において、各セルに接続される他のセルの個数を示す接続数に基づき、主コード部300と副コード部301とを認識することができる。すなわち、開始セル302および終了セル303と、副コード部301の各セル列の終端のセル(主コード部300のセル列のセルに接続されていない側のセル)は、それぞれ接続数が「1」である。一方、副コード部301の各セル列の終端以外の各セルの接続数が「2」であるのに対し、主コード部300のセル列の、開始セル302および終了セル303以外の各セルは、接続数が「3」である。したがって、接続数「3」のセルに接続される接続数「1」のセルが開始セル302または終了セル303であると判定できる。
In such a configuration, the
開始セル302および終了セル303を用いることで、主コード部300のセル列の先端のセルの色を決めなくても、デコード時に主コード部300のセル列を容易に認識できる。また、主コード部300のセル列の先端のセルの色を決める必要が無いため、主コード部300のセル列にも情報を埋め込むことが可能となり、光学シンボル30が含む情報量を増加させることが可能となる。
By using the
(第1の実施形態に係る光学シンボルの具体的な例)
次に、第1の実施形態に係る光学シンボル30のより具体的な例について説明する。ここでは、光学シンボル30におけるセルの色をR色、G色、B色およびK色の4色とし、コード化対象の情報(文字列)の各桁を3進数で表すものとする。
(Specific example of optical symbol according to the first embodiment)
Next, a more specific example of the
ここで、副コード部301において、数値と文字とを対応付けたコード表を用いて各桁の情報を表現することができる。コード表を用いることで、数字以外の文字や記号を表現可能となる。
Here, in the
このようなコード表の例として、ASCII(American Standard Code for Information Interchange)コードがある。ASCIIコードは、7ビットの値で表現され、コード「0」〜「31」に制御文字、コード「32」に空白、コード「33」〜「47」、「58」〜「64」、「91」〜「96」および「123」〜「126」に記号、コード「48」〜「57」に数字、コード「65」〜「90」にアルファベットの大文字、コード「97」〜「122」にアルファベットの小文字、コード「127」に「削除」がそれぞれ割り当てられている。 As an example of such a code table, there is an ASCII (American Standard Code for Information Interchange) code. The ASCII code is expressed as a 7-bit value, the control characters are the codes “0” to “31”, the space is the code “32”, the codes “33” to “47”, “58” to “64”, “91”. ”To“ 96 ”and“ 123 ”to“ 126 ”, symbols“ 48 ”to“ 57 ”, numerals“ 65 ”to“ 90 ”, uppercase letters, codes“ 97 ”to“ 122 ” “Delete” is assigned to the lower case letter “code”.
例えば、副コード部301の各セル列に含まれるセル数を4個とした場合、3進数では、「0」〜「80」の値を表現できる。したがって、この値をそのままASCIIコードに適用した場合、大文字のアルファベットの途中までを表現可能である。また、副コード部301の各セル列により表現する4桁の3進数の値を、例えばオフセット値「32」を与えてシフトさせることで、ASCIIコードで表現される、すべての文字と、空白など一部の記号を除く記号とを表現可能である。
For example, when the number of cells included in each cell column of the
なお、数値と文字との対応付けは、このASCIIコードによるコード表を利用した例に限定されない。すなわち、第1の実施形態では、文字や記号と、副コード301のセル列により表現可能な数値とを1対1に関連付けることができれば、任意の形式のコード表を適用することができる。以下では、説明のため、副コード部301の各セル列により表現する4桁の3進数の値を、そのままASCIIコードに適用させるものとする。
The association between numerical values and characters is not limited to the example using the code table based on the ASCII code. That is, in the first embodiment, any form of code table can be applied as long as the characters and symbols can be associated with the numerical values that can be expressed by the cell string of the
図17は、第1の実施形態に係る光学シンボル30にコード化するための情報の例を示す。ここでは、コード化対象の情報を、8桁の文字列「CBA00283」とする。また、図17において、この8桁の各桁を、桁の小さい方から順にセル「d1」、「d2」、…、「d8」として示している。図13のフローチャートのステップS100では、この文字列「CBA00283」の入力がデータ入力部200により受け付けられる。ステップS101で、分解部201は、この文字列「CBA00283」を桁毎の値に分解する。このとき、分解部201は、ASCIIコードのコード表を用いて、この文字列「CBA00283」の各桁を、それぞれ「67」、「66」、「65」、「48」、「48」、「50」、「56」、「51」の各値に変換する。
FIG. 17 shows an example of information for encoding into the
これら各値をさらに3進数に変換すると、それぞれ「3d2111」、「3d2110」、「3d2102」、「3d1210」、「3d1210」、「3d1212」、「3d2002」、「3d1220」となる。これらの3進数の各桁の値が、副コード部301’のセル列における各セルで表現される値となる。変換部202は、図13のフローチャートのステップS104において、この変換処理を、桁毎に実行している。
When these values are further converted into ternary numbers, “3d2111”, “3d2110”, “3d2102”, “3d1210”, “3d1210”, “3d1212”, “3d2002”, and “3d1220” are obtained. The value of each digit of these ternary numbers is the value expressed by each cell in the cell string of the subcode portion 301 '. The
図18は、第1の実施形態に係る、図17に例示した情報を、図7を用いて説明したコード化ルールに従いコード化した光学シンボル30、および、光学シンボル30が表示された表示媒体40の例を示す。この例では、主コード部300のセル列は、開始セル302および終了セル303を含む10個のセルで構成され、開始セル302をR色として、R色およびK色を交互に配置して構成されている。
18 shows an
色割当部203は、図13のフローチャートのステップS106〜ステップS109において、テーブル記憶部204に記憶される変換テーブルと、遷移元のセルの色とを参照して、上述した文字列の各桁が変換された3進数の桁毎に、色を割り当てる。例えば、図17のセル「d1」に対応する桁は、3進数の値が「3d1220」である。
The
副コード部301のセル列において、3進数の最も小さい桁(「30」の桁)が主コード部300に接続されるセル(先端セル)に割り当てられるものとする。この場合、色割当部203は、先ず、主コード部300のセル列の当該桁に対応するK色を遷移元のセルの色として変換テーブルを参照して、当該セル列の先端セルに割り当てる色を取得する。以降、色割当部203は、直前に色を割り当てたセルを遷移元のセルとして、当該セル列の各セルに順次色を割り当てる。
It is assumed that the smallest ternary digit (the digit of “3 0 ”) is assigned to the cell (leading cell) connected to the
図18の例では、図17のセル「d1」に対応する主コード部300のセルに接続される副コード部301のセル列における各セルは、先端セル側から、「R色」、「B色」、「G色」、「R色」がそれぞれ割り当てられている。色割当部203は、当該セル列の終端のセルへの色の割当が終了すると、副コード部301の次のセル列への色割り当て処理を実行する。
In the example of FIG. 18, each cell in the cell row of the
コード生成装置20は、上述のようにして生成した光学シンボル30を、表示媒体40上に表示させる。例えば、コード生成装置20は、生成した光学シンボル30を、プリンタ21を用いて表示媒体40としての印刷媒体に印刷する。
The
図19は、第1の実施形態に係る光学シンボル30が表示された表示媒体40の使用例を概略的に示す。図19の例では、光学シンボル30が表示された表示媒体40が、物品50の外面に添付されている。一例として、光学シンボル30にコード化するコード化対象の文字列を、物品50を識別する識別情報とすることができる。表示媒体40をカメラにより撮像し、撮像画像に含まれる光学シンボル30を認識してデコードすることで、物品50からの作用無しに、物品50の識別情報を取得できる。
FIG. 19 schematically illustrates an example of use of the
(第1の実施形態に係る光学シンボルの認識処理)
次に、第1の実施形態に係る光学シンボル30の認識処理について説明する。図20は、第1の実施形態に適用可能なコード認識システムの一例の構成を示す。図20において、コード認識システムは、コード認識装置10と、カメラ11と、コード管理装置12とを含み、コード認識装置10とコード管理装置12とがネットワーク13を介して互いに通信可能に接続される。また、カメラ11は、コード認識装置10に接続される。
(Optical Symbol Recognition Processing According to First Embodiment)
Next, the recognition process of the
コード認識装置10は、図1を用いて説明したように、カメラ11で撮像された撮像画像に含まれる光学シンボル30の画像を認識し、光学シンボル30のデコードを行う。コード管理装置12は、コード認識装置10が光学シンボル30をデコードして得た情報を管理する。
As described with reference to FIG. 1, the
図21は、第1の実施形態に適用可能なコード認識装置10のハードウェア構成の例を示す。コード認識装置10は、CPU1000と、ROM1001と、RAM1002と、ストレージ1003と、カメラI/F1004と、通信I/F1005とを含み、これら各部がバス1010により互いに通信可能に接続されて構成される。このように、第1の実施形態に係るコード認識装置10は、一般的なコンピュータを用いて実現できる。なお、コード認識装置10は、キーボードやポインティングデバイスといった入力手段や、グラフィクスI/Fおよびディスプレイといった表示手段は、省略することができる。
FIG. 21 shows an example of the hardware configuration of the
ストレージ1003は、ハードディスクドライブやフラッシュメモリといった不揮発性の記憶媒体であって、プログラムやデータが記憶される。CPU1000は、ストレージ1003やROM1001に記憶されるプログラムに従い、RAM1002をワークメモリとして用いて、コード認識装置10の全体の動作を制御する。
The
カメラI/F1004は、カメラ11が接続される。CPU1000は、カメラ11で撮像された撮像画像を、カメラI/F1004を介して取得することができる。また、CPU1000は、カメラI/F1004を介してカメラ11の撮像動作などを制御することも可能である。
The
通信I/F1005は、ネットワーク13と接続され、ネットワーク13を介した通信を行う。ネットワーク13は、LAN(Local Area Network)であってもよいし、インターネットであってもよい。また、ネットワーク13は、有線通信および無線通信の何れを用いて接続されるものでもよい。
The communication I / F 1005 is connected to the
図22は、第1の実施形態に係るコード認識装置10の機能を説明するための一例の機能ブロック図である。図22において、コード認識装置10は、画像取得部100と、切出処理部101と、認識部102と、デコード部103と、テーブル記憶部104とを含む。
FIG. 22 is a functional block diagram of an example for explaining functions of the
これらのうち、画像取得部100、切出処理部101、認識部102およびデコード部103は、CPU1000上で動作するプログラムにより構成される。これに限らず、画像取得部100、切出処理部101、認識部102およびデコード部103の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。また、テーブル記憶部104は、ストレージ1003またはRAM1002における所定の記憶領域により構成される。
Among these, the image acquisition unit 100, the
画像取得部100は、カメラ11により撮像された撮像画像を取得する。切出処理部101は、画像取得部100により取得された撮像画像から、光学シンボル30の画像を切り出す。認識部102は、切出処理部101で切り出された光学シンボル30の画像に対する認識処理を行う。すなわち、認識部102は、光学シンボル30の画像から各セルの画像を検出し、検出した画像の色情報に基づき各セルの接続関係から得られる情報、または、その色情報自身が持つ情報を認識する。認識部102は、この認識結果に基づき、光学シンボル30が持つシンボル情報を作成する。
The image acquisition unit 100 acquires a captured image captured by the
より具体的には、認識部102は、主コード認識部1020と、副コード認識部1021と、合成部1022とを含む。主コード認識部1020は、光学シンボル30の画像から主コード部300のセル列を構成するセルの色を示す色情報を認識する。副コード認識部1021は、光学シンボル30の画像から、副コード部301に含まれる各セル列を構成するセルの色情報を認識する。このとき、副コード認識部1021は、副コード部301に含まれる各セルの色情報を認識する認識処理を、各セルについて並列的に実行する。合成部1022は、主コード認識部1020および副コード認識部1021でそれぞれ認識して得られた情報を合成し、光学シンボル30が持つシンボル情報として作成する。シンボル情報は、例えば、光学シンボル30の主コード部300および副コード部301が含む各セル列内の各セルの色情報と、各セル間の接続関係の情報とを含む。
More specifically, the recognition unit 102 includes a main
テーブル記憶部104は、図4(d)や図7(e)で説明したような、各セルに割り当てる色数に応じた変換テーブルを予め記憶する。デコード部103は、認識部102で作成されたシンボル情報をデコードし、光学シンボル30にコード化された情報を復元する。
The table storage unit 104 stores in advance a conversion table corresponding to the number of colors assigned to each cell, as described with reference to FIGS. 4D and 7E. The decoding unit 103 decodes the symbol information created by the recognition unit 102 and restores the information encoded in the
第1の実施形態に係るコード認識装置10の各機能を実現するためのコード認識プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、コード認識プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、コード認識プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
A code recognition program for realizing each function of the
コード認識プログラムは、上述した各部(画像取得部100、切出処理部101、認識部102およびデコード部103)を含むモジュール構成となっている。実際のハードウェアとしては、CPU1000がストレージ1003などの記憶媒体から当該コード認識プログラムを読み出して実行することにより、上述した各部がRAM1002などの主記憶装置上にロードされ、画像取得部100、切出処理部101、認識部102およびデコード部103が主記憶装置上に生成されるようになっている。
The code recognition program has a module configuration including the above-described units (image acquisition unit 100, cut-
(第1の実施形態に係る光学シンボルの認識処理の詳細)
次に、第1の実施形態に係る光学シンボル30の認識およびデコード処理について、より詳細に説明する。以下では、図18を用いて説明した光学シンボル30を用いるものとして説明を行う。
(Details of optical symbol recognition processing according to the first embodiment)
Next, the recognition and decoding process of the
すなわち、以下の説明に用いる光学シンボル30は、開始セル302および終了セル303を含み、開始セル302および終了セル303に挟まれた8個のセルを含む主コード部300と、主コード部300の開始セル302および終了セル303に挟まれた8個のセルにそれぞれ接続される8本のセル列を含む副コード部301とを備える。主コード部300において、開始セル302の色がR色とされ、R色とK色とが交互に配置されて構成される。副コード部301において、各セル列は、4色を用いて3進数を表す4個のセルをそれぞれ含む。コード認識装置10は、この光学シンボル30の構造を、予め知っているものとする。
That is, the
図23は、第1の実施形態に係る、カメラ11により撮像され、コード認識装置10の画像取得部100に取得される撮像画像60の例を示す。図23の例では、撮像画像60は、表示媒体40と、表示媒体40上に表示された光学シンボル30との組の画像を複数含んでいる。コード認識装置10は、この撮像画像60から光学シンボル30の画像をそれぞれ切り出して、切り出した光学シンボル30の画像に基づき、光学シンボル30に含まれる各セルの色情報および各セルの接続関係を認識し、認識結果に基づき光学シンボル30のデコードを行う。
FIG. 23 shows an example of a captured
図24は、第1の実施形態に係るコード認識装置10における光学シンボル30の認識およびデコード処理を示す一例のフローチャートである。図24において、ステップS400で、コード認識装置10は、認識部102により、光学シンボル30に対して認識処理を行い、主コード部300のセルが認識されたか否かを判定する。
FIG. 24 is a flowchart of an example showing recognition and decoding processing of the
より詳細には、ステップS400において、コード認識装置10は、切出処理部101により撮像画像60から光学シンボル30の画像の切り出しを行う。認識部102は、主コード認識部1020により、切り出された画像から主コード部300のセルの認識処理を行い、主コード部300における開始セル302および終了セル303以外のセルが認識されたか否かを判定する。認識されていないと判定した場合、認識部102は、処理をステップS400に戻し(ステップS400、「No」)、主コード部300のセルの認識処理を続行する。
More specifically, in step S <b> 400, the
ステップS400で、主コード部300のセルが認識されていると判定した場合(ステップS400、「Yes」)、認識部102は、認識されたセルの色と接続情報とを取得し、処理をステップS401およびステップS402に移行させる。
When it is determined in step S400 that the cell of the
なお、接続情報は、例えば、認識されたセルを示す情報と、認識されたセルに隣接する、認識済みのセルを示す情報とを含む。認識部102は、例えば、主コード認識部1020および副コード認識部1021においてセルが認識された順序に応じた識別情報(例えば通し番号)を、そのセルを示す情報として用いる。
Note that the connection information includes, for example, information indicating a recognized cell and information indicating a recognized cell adjacent to the recognized cell. The recognition unit 102 uses, for example, identification information (for example, a serial number) corresponding to the order in which cells are recognized by the main
ステップS401で、認識部102において主コード認識部1020は、主コード部300のセル列の全てのセルを認識したか否かを判定する。認識していないと判定した場合(ステップS401、「No」)、認識部102は、処理をステップS400に戻し、主コード部300のセルの認識処理を続行する。
In step S <b> 401, the main
一方、ステップS401で、主コード部300のセル列の全てのセルを認識したと判定した場合(ステップS401、「Yes」)、認識部102は、処理をステップS403に移行させる。
On the other hand, if it is determined in step S401 that all the cells in the cell string of the
例えば、主コード部300に含まれるセル列が、2種類の色情報のセルが交互に配置されて構成され、且つ、当該セル列に含まれるセルの個数が既知であるとする。この場合、主コード認識部1020は、当該セル列におけるセル間の色情報の遷移の回数を計数することで、主コード部300のセル列の全てのセルを認識したと判定できる。また、主コード認識部1020は、この主コード部300のセル列におけるセル間の色情報の遷移の回数を、主コード部300のセル列により表現される情報であると認識できる。
For example, it is assumed that the cell string included in the
上述した図17および図18を例に取ると、主コード部300において、開始セル302および終了セル303を含めて、9回の色情報の遷移が計数されると、主コード部300のセル列の全てのセルを認識したと判定できる。また、色情報の遷移回数から1を減じた値が、主コード部300のセル列の、開始セル302および終了セル303を除いたセルにより表現される情報すなわち桁数であると認識できる。
Taking FIG. 17 and FIG. 18 as an example, if nine transitions of color information including the
また、ステップS402で、認識部102は、副コード認識部1021により、副コード部301のセルに対する認識処理を行う。より詳細には、副コード認識部1021は、ステップS400で主コード認識部1020により認識されたセルに接続される、副コード部301のセル列を処理対象として、この処理対象のセル列について、各セルの認識処理を行う。
In step S <b> 402, the recognition unit 102 performs recognition processing on the cell of the
図25は、第1の実施形態に係る、このステップS402による副コード認識部1021による認識処理を示す一例のフローチャートである。ステップS4020で、副コード認識部1021は、例えば主コード部300で認識されたセルに対して接続される副コード部301のセルを認識する。ここで認識されたセルが含まれるセル列が、処理対象のセル列となる。副コード認識部1021は、認識されたセルの色と接続情報とを取得する。次のステップS4021で、副コード認識部1021は、処理対象のセル列における色の遷移に基づき、直前の処理で認識されたセルに隣接するセルを認識する。副コード認識部1021は、認識されたセルの色と接続情報とを取得する。
FIG. 25 is a flowchart of an example showing the recognition processing by the
次のステップS4022で、副コード認識部1021は、ステップS4021で認識されたセルが、処理対象のセル列の終端セルであるか否かを判定する。終端セルではないと判定した場合(ステップS4022、「No」)、副コード認識部1021は、処理をステップS4021に戻し、直前のステップS4021の処理において認識されたセルに隣接するセルの認識処理を行う。一方、副コード認識部1021は、終端セルであると判定した場合(ステップS4022、「Yes」)、図25のフローチャートによる一連の処理を終了させる。
In next step S4022, the
なお、副コード認識部1021は、例えば、ステップS4021において予め定められた回数の色の遷移を認識した場合に、ステップS4022において、認識されたセルが処理対象のセル列の終端セルであると判定する。これに限らず、副コード認識部1021は、ステップS4021において認識されたセルに隣接するセルの接続数に基づきステップS4022の終端セルの判定を行ってもよい。
For example, when the
この図25のフローチャートによる処理は、副コード部301に含まれる複数のセル列に対して、並列的に実行される。例えば、副コード認識部1021は、図24のステップS400において主コード認識部1020によりセルが認識される毎に、ステップS402の処理、すなわち、図25のフローチャートによる処理を実行させる。
The process according to the flowchart of FIG. 25 is executed in parallel for a plurality of cell strings included in the
図24のフローチャートの説明に戻り、認識部102は、ステップS403で、主コード部300のセル列に接続される、副コード部301の全てのセル列に対する処理が終了したか否かを判定する。例えば、認識部102は、主コード認識部1020におけるステップS400およびステップS401の処理と、副コード認識部1021におけるステップS402の処理とを監視する。認識部102は、ステップS400およびステップS401において最後に認識された主コード部300のセルに接続される副コード部301のセル列に対するステップS402の処理が終了したか否かを判定する。終了していないと判定した場合(ステップS403、「No」)、認識部102は、処理をステップS403に戻して、処理の終了を待機する。
Returning to the description of the flowchart of FIG. 24, the recognition unit 102 determines in step S403 whether or not the processing has been completed for all the cell strings of the
一方、認識部102は、ステップS403で、主コード部300のセル列に接続される、副コード部301の全てのセル列に対する処理が終了したと判定した場合(ステップS403、「Yes」)、処理をステップS404に移行させる。
On the other hand, when the recognition unit 102 determines in step S403 that the processing for all cell strings of the
ステップS404で、認識部102は、合成部1022により、主コード部300のセル列を読み取って得られた情報と、副コード部301に含まれる複数のセル列を読み取って得られた情報とを合成し、各情報が合成された情報を、光学シンボル30が持つシンボル情報として作成する。より具体的には、合成部1022は、上述のステップS400およびステップS401、ならびに、ステップS402で取得された各セルの接続情報に基づき、主コード部300に含まれる情報と、副コード部301に含まれる情報との合成処理を行う。
In step S404, the recognizing unit 102 uses the combining unit 1022 to obtain information obtained by reading the cell sequence of the
図26を用いて、第1の実施形態に係る、合成部1022による接続情報に基づく合成処理について説明する。なお、ここでは、説明のため、主コード部300のセル列は、図26(d)に示されるように、開始セル302および終了セル303と、開始セル302および終了セル303に挟まれた3個のセル(それぞれラベルを丸で囲んで示す)を含むものとする。また、副コード部301の各セル列は、2個のセルを含むものとする。
A composition process based on connection information by the composition unit 1022 according to the first embodiment will be described with reference to FIG. Here, for the sake of explanation, the cell string of the
なお、図26(d)において、各セルに付された数字は、例えば各セルが認識された順番に応じて各セルに与えられた識別情報(ラベル)である。開始セル302および終了セル303のラベルは、それぞれ「S」および「E」とされている。
In FIG. 26D, the numbers given to the cells are identification information (labels) given to the cells according to the order in which the cells are recognized, for example. The labels of the
図26(a)は、各セル間の接続情報をラベルを用いて示している。図26(a)において、括弧「()」内に併記される2つのセルが接続されていることを示し、例えばラベル#1のセルと、ラベル#2のセルとが接続されることが示されている。同様に、ラベル#5およびラベル#2の各セル、ラベル#3およびラベル#9の各セル、ラベル#1およびラベル#3の各セル、ラベル#1およびラベル#Sの各セル、ラベル#8およびラベル#4の各セル、ラベル#3およびラベル#6の各セル、ラベル#6およびラベル#7の各セル、ラベル#9およびラベル#4の各セル、ラベル#9およびラベル#Eの各セルがそれぞれ接続されることが示されている。
FIG. 26A shows connection information between cells using labels. In FIG. 26 (a), it is shown that two cells written in parentheses “()” are connected, and for example, a cell of
合成部1022は、図26(a)に示される各セル間の接続情報に基づき、各セルに接続される他のセルの個数である接続数を求める。図26(b)は、ラベル#1〜#9の各セルの接続数を示す。ラベル#1、#3および#9の各セルが接続数「3」であり、ラベル#2、#4および#6の各セルが接続数「2」であり、ラベル#5、#7および#8の各セルが接続数「1」となっている。
The combining unit 1022 obtains the number of connections, which is the number of other cells connected to each cell, based on the connection information between the cells illustrated in FIG. FIG. 26B shows the number of connected cells of
合成部1022は、図26(a)で示した各セルの接続情報と、図26(b)で示した各セルの接続数とに基づき、各セルの接続の組を求める。すなわち、図16を用いて説明したように、接続数「3」のセルは、主コード部300のセル列のセルである。接続数「2」のセルは、副コード部301における各セル列の、終端以外のセルである。また、接続数「1」のセルは、副コード部301における各セル列の終端のセルである。なお、開始セル302および終了セル303も、接続数「1」となるが、開始セル302および終了セル303は、ラベル#Sおよび#Eとして他のセルと区別されているので、ここで考慮する必要は無い。
The combining unit 1022 obtains a connection set of each cell based on the connection information of each cell shown in FIG. 26A and the number of connections of each cell shown in FIG. That is, as described with reference to FIG. 16, the cell with the number of connections “3” is a cell in the cell row of the
合成部1022は、これらの情報と、図26(a)のセルの接続情報とから、図26(c)に接続組として示されるように、ラベル#1、#3および#9の各セルによる接続の組により、幹すなわち主コード部300のセル列における各セルの接続関係を作成する。また、ラベル#2および#5、ラベル#4および#8、ならびに、ラベル#6および#7の各接続の組により、それぞれ枝すなわち副コード部301の各セル列における各セルの接続関係を作成する。さらに、合成部1022は、幹の各セルの接続関係と、枝の各セルの接続関係とに基づき、副コード部301の各セル列を、主コード部300のセル列における各セルに接続する。
The synthesizer 1022 uses the cells of
合成部1022は、副コード部301の各セル列が、主コード部300のセル列における各セルに接続された構成に基づき、主コード部300のセル列に含まれる情報と、副コード部301の各セル列に含まれる各情報とを取得する。合成部1022は、取得された各情報を合成し、合成した情報を、光学シンボル30が持つシンボル情報として作成する。上述したように、シンボル情報は、光学シンボル30の主コード部300および副コード部301が含む各セル列内の各セルの色情報と、各セル間の接続関係の情報とを含む。
Based on the configuration in which each cell string of the
説明は図24のフローチャートに戻り、ステップS404で合成部1022により主コード部300のセル列に基づく情報と副コード部301の各セル列に基づく情報とが合成されて光学シンボル30が持つシンボル情報が作成されると、処理がステップS405に移行される。ステップS405で、デコード部103は、ステップS404で作成されたシンボル情報のデコード処理を行い、元の情報を復元する。
Returning to the flowchart of FIG. 24, symbol information held by the
より詳細には、デコード部103は、ステップS404で合成部1022により作成されたシンボル情報に基づき、テーブル記憶部104に記憶される変換テーブルを参照する。デコード部103は、シンボル情報に基づき、光学シンボル30の副コード部301の各セル列における隣接する2つのセルについて、主コード部300のセル列に近い側のセルを遷移元のセルとして、各セルの色情報に従い変換テーブルを参照して値を取得する。
More specifically, the decoding unit 103 refers to the conversion table stored in the table storage unit 104 based on the symbol information created by the synthesis unit 1022 in step S404. Based on the symbol information, the decoding unit 103 uses the cells closer to the cell column of the
デコード部103は、副コード部301の1本のセル列の各セルについて値が取得されると、取得された各値を3進数の桁に応じて加算して、当該セル列の値を求める。デコード部103は、求めたセル列の値に基づき、例えばコード表を参照して、元の文字を復元する。この処理を、副コード部301の全てのセル列に対して実行し、光学シンボル30にコード化された元の文字列をデコードする。
When a value is acquired for each cell of one cell string of the
ステップS405のデコード処理が終了すると、図24のフローチャートによる一連の処理が終了される。 When the decoding process in step S405 ends, a series of processes according to the flowchart of FIG. 24 ends.
このように、第1の実施形態に係る光学シンボル30は、主コード部300のセル列に対して、副コード部301の複数のセル列が接続されている。そのため、副コード部301の複数のセル列に対するデコード処理を並列的に実行することができ、デコード処理を高速化できる。
As described above, in the
(第1の実施形態に係る光学シンボルの切り出し処理)
次に、第1の実施形態に係る光学シンボル30を撮像画像から切り出す切り出し処理について説明する。第1の実施形態では、この切り出し処理として、(1)テンプレートを用いたテンプレートマッチングによる第1の切り出し処理と、(2)画素の色の連続性を用いた第2の切り出し処理とのうち、何れかを適用する。
(Optical Symbol Cutout Processing According to First Embodiment)
Next, a clipping process for clipping the
(第1の切り出し処理)
先ず、(1)の、第1の切り出し処理について説明する。第1の切り出し処理では、光学シンボル30の形状を既知とし、光学シンボル30の形状に対応する形状のテンプレートを用意する。図27は、第1の実施形態に適用可能なテンプレートの例を示す。図27(a)は、形状が既知の光学シンボル30の例を示す。
(First cutout process)
First, the first cutout process (1) will be described. In the first cutout process, the shape of the
図27(b)は、2値化画像によるテンプレート70aの例を示す。テンプレート70aは、例えば、図27(a)に示される光学シンボル30に対して、当該光学シンボル30を輝度値に対する所定の閾値に基づき2値化して作成する。図27(c)は、エッジ検出により作成したテンプレート70bの例を示す。テンプレート70bは、例えば、図27(a)に示される光学シンボル30をグレースケールの画像に変換し、このグレースケールの画像に対して既知の方法によりエッジ検出処理を施し、検出されたエッジ情報を用いて作成する。
FIG. 27B shows an example of a
第1の切り出し処理は、これらテンプレート70aおよび70bの何れを用いて実行してもよい。以下では、2値化画像によるテンプレート70aを用いるものとして説明を行う。
The first cut-out process may be executed using any of these
図28は、第1の実施形態に係る第1の切り出し処理を示す一例のフローチャートである。この図28のフローチャートによる処理は、上述した図24のフローチャートにおけるステップS400の処理に対応する。 FIG. 28 is a flowchart illustrating an example of a first cutout process according to the first embodiment. The process according to the flowchart of FIG. 28 corresponds to the process of step S400 in the flowchart of FIG.
ステップS200で、コード認識装置10は、切出処理部101により、撮像画像60(図23参照)に対して、既知の技術を用いてエッジ検出処理を施す。次のステップS201で、切出処理部101は、用いるテンプレート70aのサイズおよび形状を選択する。すなわち、撮像画像60に含まれる光学シンボル30の画像は、撮像時のカメラ11と光学シンボル30との距離や、カメラ11の画角、撮像の角度などにより、向きや大きさが変化する。そのため、切出処理部101は、複数のサイズのテンプレート70aを用意する。
In step S <b> 200, the
次のステップS202で、切出処理部101は、ステップS201で選択されたテンプレート70aを用いて、撮像画像60に対して既知の技術を用いてテンプレートマッチング処理を施し、類似度を求める。例えば、切出処理部101は、ステップS201で選択したテンプレート70aを撮像画像60内でスキャンさせて、各位置での類似度を求める。
In the next step S202, the
次のステップS203で、切出処理部101は、ステップS202で求めた類似度に基づき、閾値以上の類似度の有無を判定する。このとき、上述したように、光学シンボル30が櫛型形状とされているため、撮像画像60に含まれる、光学シンボル30の画像と、光学シンボル30以外の画像との区別が容易であり、類似度に基づく判定を高精度に実行可能である。閾値以上の類似度が無いと判定した場合(ステップS203、「No」)、切出処理部101は、処理をステップS201に戻し、別のサイズ、形状のテンプレート70aを選択して再びテンプレートマッチング処理を行う。
In the next step S203, the cut-
ステップS203で、閾値以上の類似度があると判定した場合(ステップS203、「Yes」)、切出処理部101は、処理をステップS204に移行させる。ステップS204で、切出処理部101は、撮像画像60から、類似度が閾値以上と判定された撮像画像60上の位置におけるテンプレート70aの領域の画像を切り出す。次のステップS205で、コード認識装置10は、認識部102の主コード認識部1020により、ステップS204で切り出した画像から、主コード部300のセル列を構成するセルの色情報を認識する。
If it is determined in step S203 that there is a similarity equal to or higher than the threshold (step S203, “Yes”), the
主コード部300のセル列構成するセルの色情報が認識されると、図28のフローチャートによる一連の処理が終了される。
When the color information of the cells constituting the cell row of the
図29は、第1の実施形態に係る第1の切り出し処理により切り出した光学シンボル30の画像から、各セルの色情報を取得する方法の例を示す。図29(a)は、各セルにおける所定の位置の画素から色情報を取得する例を示す。図29(b)は、セル列をセルの接続方向にスキャンして、位置が連続する複数の画素から色情報を取得する例を示す。
FIG. 29 shows an example of a method for acquiring the color information of each cell from the image of the
図29(a)に示す取得方法は、光学シンボル30における各セルが一定の大きさを有し、且つ、撮像画像60に歪みが少ない場合に、高速に色の取得を行うことが可能である。一方、図29(b)に示す取得方法は、図29(a)の取得方法に比べて処理に時間を要する一方で、各セルの大きさが一定ではない場合や、撮像画像60に歪みが多い場合であっても、高精度に色の取得を行うことが可能である。また、図29(b)に示す取得方法は、撮像画像60における色ムラに強いという利点もある。
The acquisition method shown in FIG. 29A enables high-speed color acquisition when each cell in the
これら図29(a)に示す取得方法と、図29(b)に示す取得方法は、撮像画像60の撮像条件などに応じて適宜選択できるようにすると、好ましい。
It is preferable that the acquisition method shown in FIG. 29A and the acquisition method shown in FIG. 29B can be appropriately selected according to the imaging conditions of the captured
(第2の切り出し処理)
次に、(2)の、第2の切り出し処理について説明する。第2の切り出し処理では、撮像画像60の画素毎に色を認識し、注目画素に隣接する隣接画素と注目画素とが同一色である場合に、注目画素と当該隣接画素とを一纏めにしてラベリングする。
(Second cutout process)
Next, the second cutout process (2) will be described. In the second cut-out process, the color is recognized for each pixel of the captured
図30は、第1の実施形態に係る第2の切り出し処理を示す一例のフローチャートである。この図30のフローチャートによる処理は、上述した図24のフローチャートにおけるステップS400の処理に対応させることができる。 FIG. 30 is a flowchart illustrating an example of a second cutout process according to the first embodiment. The process according to the flowchart of FIG. 30 can correspond to the process of step S400 in the flowchart of FIG. 24 described above.
ステップS300で、コード認識装置10は、切出処理部101により、撮像画像60からランダムに画素を注目画素として選択する。なお、ステップS300では、撮像画像60の所定画素を注目画素として選択するようにしてもよい。
In step S300, the
次のステップS301で、切出処理部101は、注目画素の色を認識する。次のステップS302で、切出処理部101は、注目画素の色情報が、光学シンボル30の構成色(例えばR色、G色、B色およびK色の何れか)の色情報と対応するか否かを判定する。一例として、切出処理部101は、ある色情報に係る色を示す値が、他の色情報に係る色を示す値に対して所定の範囲内に収まっている場合に、当該ある色情報が当該他の色情報に対応していると判定する。切出処理部101は、注目画素の色情報が光学シンボル30の構成色の色情報と対応しないと判定した場合(ステップS302、「No」)、処理をステップS300に戻し、別の画素を新たな注目画素として選択する。
In the next step S301, the
一方、切出処理部101は、ステップS302で、注目画素の色情報が光学シンボル30の構成色の色情報に対応すると判定した場合(ステップS302、「Yes」)、処理をステップS303に移行する。ステップS303は、注目画素の色情報と、注目画素に隣接する隣接画素の色情報とに基づき各画素をラベリングする処理である。換言すれば、ステップS303は、光学シンボル30に含まれるセルを特定するための処理である。ステップS303は、ステップS3030〜ステップS3037の一連の処理を含む。
On the other hand, when it is determined in step S302 that the color information of the target pixel corresponds to the color information of the constituent color of the optical symbol 30 (step S302, “Yes”), the
ステップS303において、ステップS3030で、切出処理部101は、注目画素に対して固有のラベルを付与するラベリングを行う。ラベリングは、ラベリング対象の画素(注目画素)の撮像画像60上の座標情報と、注目画素の色情報と、所定のラベルとを関連付けることで行う。切出処理部101は、ラベリングを行った画素の情報を、例えばRAM1002に記憶する。
In step S <b> 303, in step S <b> 3030, the
次のステップS3031で、切出処理部101は、色情報の認識に用いるパラメータを調整する。例えば、切出処理部101は、R色、G色、B色およびK色をそれぞれ認識するための閾値を、ステップS3031で調整する。
In the next step S3031, the
次のステップS3032で、切出処理部101は、注目画素に隣接する隣接画素のうち、未処理の隣接画素が有るか否かを判定する。切出処理部101は、判定対象の隣接画素の座標に基づき当該隣接画素にラベルが付与されているか否かを調べ、ラベルが付与されていない場合に、当該隣接画素が未処理画素であると判定する。切出処理部101は、未処理の隣接画素が無いと判定した場合(ステップS3032、「No」)、処理を後述するステップS3034に移行する。
In the next step S3032, the
一方、切出処理部101は、ステップS3032で、未処理の隣接画素があると判定した場合(ステップS3032、「Yes」)、処理をステップS3033に移行する。ステップS3033で、切出処理部101は、未処理の隣接画素の座標を、座標記憶部に記憶する。座標記憶部は、例えばRAM1002やストレージ1003の所定領域が用いられる。このステップS3033の処理では、光学シンボル30の構成色の色情報と対応しない色情報の未処理の隣接画素も、座標記憶部に記憶される。
On the other hand, if it is determined in step S3032 that there is an unprocessed adjacent pixel (step S3032, "Yes"), the
次のステップS3034で、切出処理部101は、未処理の隣接画素の座標が座標記憶部に記憶されているか否かを判定する。切出処理部101は、未処理の隣接画素の座標が座標記憶部に記憶されていると判定した場合(ステップS3034、「Yes」)、処理をステップS3035に移行させる。ステップS3035で、切出処理部101は、未処理の隣接画素のうち1つの画素を選択する。このとき、切出処理部101は、注目画素と同一の色の画素を優先して選択する。
In the next step S3034, the
次のステップS3036で、切出処理部101は、ステップS3035で選択した未処理の隣接画素の色情報を認識する。次のステップS3037で、切出処理部101は、ステップS3036で認識された色情報が、光学シンボル30の構成色の色情報と対応するか否かを判定する。
In the next step S3036, the
切出処理部101は、認識された色情報が光学シンボル30の構成色の色情報と対応すると判定した場合(ステップS3037、「Yes」)、処理をステップS3030に戻し、当該未処理の隣接画素を新たな注目画素としてラベリングを行う。
When it is determined that the recognized color information corresponds to the color information of the constituent color of the optical symbol 30 (step S3037, “Yes”), the
このラベリングにおいて、切出処理部101は、当該新たな注目画素の色情報が、直前の処理における注目画素の色情報に対応する場合、当該新たな注目画素に、当該直前の処理における注目画素と同一のラベルを付与する。一方、切出処理部101は、当該新たな注目画素の色情報が、直前の処理における注目画素の色情報と異なる色情報である場合、当該新たな注目画素に、当該直前の処理における注目画素と異なるラベルを付与する。すなわち、切出処理部101は、ステップS3030のラベリング処理により、座標が連続し、且つ、互いに対応する色情報を有する一塊の画素群に対して、固有のラベルを付与する。
In this labeling, when the color information of the new pixel of interest corresponds to the color information of the pixel of interest in the immediately preceding process, the
一方、ステップS3037で、切出処理部101は、ステップS3036で認識された色情報が、光学シンボル30の構成色の色情報に対応しないと判定した場合(ステップS3037、「No」)、処理をステップS3034に戻す。切出処理部101は、ステップS3034で未処理の隣接画素の座標が座標記憶部に記憶されていると判定した場合(ステップS3034、「Yes」)、次のステップS3035で、直前の処理で選択した未処理の隣接画素と異なる未処理の隣接画素を選択する。
On the other hand, if it is determined in step S3037 that the color information recognized in step S3036 does not correspond to the color information of the constituent colors of the optical symbol 30 (step S3037, “No”), the process is performed. It returns to step S3034. When it is determined in step S3034 that the coordinates of the unprocessed adjacent pixels are stored in the coordinate storage unit (step S3034, “Yes”), the cut-
上述したステップS3034で、未処理の隣接画素の座標が座標記憶部に記憶されていないと判定した場合(ステップS3034、「No」)、ステップS303の一連の処理を抜け、処理がステップS304に移行される。すなわち、ステップS3032で未処理の隣接画素が無く、且つ、ステップS3034で座標記憶部に未処理の隣接画素の座標が記憶されていない場合に、ステップS303の一連の処理を抜けることになる。 If it is determined in step S3034 described above that the coordinates of the unprocessed adjacent pixels are not stored in the coordinate storage unit (step S3034, “No”), the series of processing in step S303 is terminated, and the processing proceeds to step S304. Is done. That is, when there is no unprocessed adjacent pixel in step S3032, and the coordinates of the unprocessed adjacent pixel are not stored in the coordinate storage unit in step S3034, the series of processing in step S303 is terminated.
ステップS304で、コード認識装置10において、主コード認識部1020は、ステップS303におけるラベリングによりそれぞれ固有のラベルが付与された各画素群による構成が、主コード部300のセルの接続情報と一致するか否かを判定する。
In step S304, in the
すなわち、このステップS304では、ステップS303のラベリング処理によりそれぞれ固有のラベルが付与された画素群が複数あり、且つ、これら複数の画素群間の接続関係が、主コード部300のセル列における各セルの接続情報と完全一致する接続関係を含むか否かを判定する。画素群間の接続関係は、例えば、ラベリングされた各画素の座標および色に基づき知ることができる。
That is, in this step S304, there are a plurality of pixel groups to which unique labels are assigned by the labeling process in step S303, and the connection relationship between the plurality of pixel groups is determined by each cell in the cell column of the
主コード認識部1020は、ステップS304で、それぞれ固有のラベルが付与された各画素群による構成が、主コード部300のセルの接続情報と一致しないと判定した場合(ステップS304、「No」)、処理をステップS300に戻す。すなわち、この場合は、ステップS300で選択された画素が、光学シンボル30を構成する画素ではなかったことになる。
When the main
一方、主コード認識部1020は、ステップS304で、それぞれ固有のラベルが付与された各画素群による構成が、主コード部300のセルの接続情報と一致すると判定した場合(ステップS304、「Yes」)、図30のフローチャートによる一連の処理を終了させる。この場合、少なくとも光学シンボル30の主コード部300の切り出し処理が完了している。
On the other hand, when the main
なお、主コード認識部1020は、上述のステップS303のラベリング処理において、固有のラベルが付与された画素群と、この画素群に接続される他の画素群との接続関係に基づき、当該画素群が主コード部300のセルであると認識することが可能である。画素群が主コード部300のセルであると認識された場合、図24のステップS400の判定に従い処理をステップS402に移行させ(ステップS400、「Yes」)、副コード部301のセルの処理を実行する。
The main
この場合、例えば、コード認識装置10は、図30のフローチャートの処理を別途実行することで、副コード部301のセル列の切り出し処理を実行することができる。一例として、切出処理部101は、ステップS300における画素の選択を、主コード部300のセルであると認識した画素群に隣接する画素に対して行う。また、ステップS304の判定処理は、例えば、副コード認識部1021により、副コード部301のセルの接続情報と一致するか否かを判定する。
In this case, for example, the
コード認識装置10は、主コード認識部1020により主コード部300のセルが認識される毎に、図30のフローチャートの処理を別途、並列的に実行できる。これにより、処理の高速化が可能である。
The
なお、図30のフローチャートのステップS303では、注目画素に隣接する隣接画素の色実行が光学シンボル30の構成色の色情報と対応する場合、当該隣接画素を新たな注目画素として処理を行い、順次、ラベルを付与する領域を拡大していく。このとき、光学シンボル30の構成色以外の色の隣接画素への領域の拡大を行わない。このように、ラベリング処理を行う領域を限定的とすることで、ラベリング処理をより高速に実行することが可能である。
In step S303 in the flowchart of FIG. 30, when the color execution of the adjacent pixel adjacent to the target pixel corresponds to the color information of the constituent color of the
(第1の実施形態の変形例)
次に、第1の実施形態の変形例について説明する。第1の実施形態では、光学シンボル30を、セルが直線状に配列されたセル列による主コード部300と、主コード部300の開始セル302および終了セル303を除く各セルに接続される、それぞれセルが直線状に配列された複数のセル列による副コード部301とにより構成した。光学シンボル30の形状は、この例に限定されず、主コード部300および副コード部301の各セル列をそれぞれ直線状に配列しない形状も可能である。
(Modification of the first embodiment)
Next, a modification of the first embodiment will be described. In the first embodiment, the
図31は、第1の実施形態の変形例に係る光学シンボル30’の一例の構成を示す。第1の実施形態の変形例では、光学シンボル30’を、図31(a)に例示されるように、各セルの大きさをそれぞれ異ならせると共に、各セル間の接続を、各セルの任意の辺に対して行い、3以上のセルが直線状に配列されないように構成している。なお、図31(a)のセル内のアルファベットは、そのセルに付与されるラベルを示している。
FIG. 31 shows an exemplary configuration of an
図31(b)は、図31(a)の光学シンボル30’の構成を整理して示している。なお、図31(b)では、ラベルを丸で囲んでセルを示している。図31(b)において、セル「a」、「b」、「g」、「k」、「p」および「q」が主コード部300のセル列となる。この例では、セル「a」および「q」がそれぞれ開始セル302および終了セル303であり、セル「a」および「q」に挟まれる各セル「b」、「g」、「k」および「p」は、3以上のセルが接続されている。
FIG. 31B shows the configuration of the
また、セル「c」、「d」および「e」、セル「i」および「j」、セル「l」、「m」、「n」および「o」、ならびに、セル「r」および「s」は、それぞれ主コード部300のセル「b」、「g」、「k」および「p」に接続される、副コード部301のセル列である。また、図31(b)の例では、セル「f」および「h」も、それぞれ副コード部301のセル列として構成されている。この場合、例えばセル「f」は、主コード部300のセル「b」に対して、セル「c」、「d」および「e」によるセル列とは異なる方向に接続される。セル「h」も同様である。また、これらセル「f」および「h」は、それぞれ、副コード部301におけるセル列の終端セルでもある。
Also, cells “c”, “d” and “e”, cells “i” and “j”, cells “l”, “m”, “n” and “o”, and cells “r” and “s” "Is a cell string of the
このような構成であっても、主コード部300の各セルに対して副コード部301の各セル列がそれぞれ接続されるため、副コード部301の各セル列に対する処理を並列的に実行でき、処理の高速化が可能である。
Even in such a configuration, each cell string of the
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、第1の実施形態に係る光学シンボル30を、コード管理システムおよび搬送システムに適用させた例である。図32は、第2の実施形態に係るコード管理システムおよび搬送システムを概略的に示す。なお、図32において、上述した図1、図10および図20などと共通する部分には同一の符号を付して、詳細な説明を省略する。
(Second Embodiment)
Next, a second embodiment will be described. The second embodiment is an example in which the
図32において、コード管理システムは、互いにネットワーク13で接続されるコード認識装置10、コード管理装置12、コード生成装置20およびプリンタ21を含む。また、搬送システムは、このコード管理システムの構成に対して、さらに、搬送制御装置14を含む。搬送制御装置14は、搬送装置51の駆動制御を行うことができる。例えば、搬送制御装置14は、位置情報を入力することで、入力された位置情報に対応する位置の搬送装置51を駆動制御し、移動させることができる。
In FIG. 32, the code management system includes a
図32の例では、各搬送装置51に対して、それぞれ物品50が積載されている。物品50には、第1の実施形態に係る光学シンボル30が表示される表示媒体40が、外面(この例では上面)に添付される。各物品50に添付される表示媒体40に表示される各光学シンボル30は、それぞれ、各物品50を識別するための識別情報がコード化されたものである。
In the example of FIG. 32, the
コード生成装置20は、各物品50を識別する各識別情報が入力される。コード生成装置20は、入力された各識別情報を、例えば図13に示される手順に従いコード化して、各物品50にそれぞれ対応する各光学シンボル30を生成する。コード生成装置20は、生成した各光学シンボル30を、それぞれ表示媒体40に印刷する。光学シンボル30が印刷された各表示媒体40は、光学シンボル30にコード化された識別情報に対応する物品50に添付される。
Each identification information for identifying each
コード認識装置10は、カメラ11により撮像された撮像画像60から、図23〜図30を用いて説明した方法に従い、各光学シンボル30の切り出しを行う。すなわち、コード認識装置10は、光学シンボル30を含む撮像画像60を取得する画像取得部として機能する。コード認識装置10は、さらに、切り出した各光学シンボル30をデコードし、光学シンボル30にコード化された識別情報を復元する。すなわち、コード認識装置10は、光学シンボル30にコード化された識別情報を取得する識別情報取得部としても機能する。また、コード認識装置10は、例えば光学シンボル30の切り出し処理の際に取得した画素の座標に基づき、撮像画像60内における各光学シンボル30の位置を取得する。すなわち、コード認識装置10は、光学シンボル30の位置を取得する位置取得部としても機能する。
The
コード認識装置10は、各光学シンボル30をデコードして復元した各識別情報と、各光学シンボル30の位置を示す位置情報とをコード管理装置12に送信する。コード管理装置12は、コード認識装置10から送信された各識別情報と、各位置情報とを関連付けて管理する。ここで、撮像画像60の撮像範囲と、各物品50が配置される領域の座標とが予め関連付けられているものとする。
The
搬送制御装置14は、例えば、外部から、特定の物品50の識別情報と、当該物品50を移動させる移動指示が入力される。搬送制御装置14は、入力された識別情報をコード管理装置12に送信し、当該識別装置に関連付けられた位置情報を、コード管理装置12に要求する。コード管理装置12は、この要求に応じて、管理される情報から識別情報に関連付けられた位置情報を取得して、搬送制御装置14に送信する。搬送制御装置14は、コード管理装置12から送信された位置情報に対応する搬送装置51の動作を制御して、当該搬送装置51を移動させる。
For example, the
このように、第2の実施形態に係るコード管理システムおよび搬送システムは、各物品50に添付された表示媒体40に表示される各光学シンボル30をカメラ11により撮像して、各光学シンボル30にコード化された各識別情報を一括して取得および管理できる。そのため、各物品50の出庫管理などを容易に実行することが可能である。
As described above, the code management system and the transport system according to the second embodiment captures each
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。 The above-described embodiment is a preferred embodiment of the present invention, but is not limited thereto, and various modifications can be made without departing from the scope of the present invention.
10 コード認識装置
11 カメラ
12 コード管理装置
14 搬送制御装置
20 コード生成装置
21 プリンタ
30,30’ 光学シンボル
40 表示媒体
50 物品
51 搬送装置
60 撮像画像
70a,70b テンプレート
100 画像取得部
101 切出処理部
102 認識部
103 デコード部
104,204 テーブル記憶部
201 分解部
202 変換部
203 色割当部
300,300’ 主コード部
301,301’ 副コード部
302 開始セル
303 終了セル
1020 主コード認識部
1021 副コード認識部
1022 合成部
DESCRIPTION OF
Claims (14)
複数の副コードセルが1次元に接続された第2のセル列を有する副コード部と、を含む光学シンボルであって、
前記第2のセル列は、前記複数の主コードセルのうち、前記第1のセル列の端部のセルを除く該複数の主コードセルの何れか1つのセルに接続される光学シンボル。 A main code portion having a first cell row in which a plurality of main code cells are connected in one dimension;
An optical symbol including a subcode portion having a second cell row in which a plurality of subcode cells are connected in one dimension,
The second cell column is an optical symbol connected to any one of the plurality of main code cells excluding a cell at an end of the first cell column among the plurality of main code cells.
請求項1記載の光学シンボル。 The optical symbol according to claim 1, wherein the sub-code portion includes a plurality of the second cell columns.
請求項2記載の光学シンボル。 The optical symbol according to claim 2, wherein the second cell columns are connected to different main code cells, and the second cell columns have a predetermined interval or more.
請求項1乃至請求項3の何れか1項に記載の光学シンボル。 The optical symbol according to any one of claims 1 to 3, wherein the main code cell and the sub code cell are assigned different colors from the cells connected adjacently.
複数の色から選択された色がそれぞれ割り当てられる
請求項1乃至請求項4の何れか1項に記載の光学シンボル。 The main code cell and the sub code cell are:
The optical symbol according to any one of claims 1 to 4, wherein a color selected from a plurality of colors is assigned.
2種類の色の前記主コードセルが交互に配置されることにより成り、該第1のセル列の一方の端部および他方の端部の前記主コードセルの色が互いに異なる
請求項1乃至請求項5の何れか1項に記載の光学シンボル。 The first cell column is:
The main code cells of two kinds of colors are alternately arranged, and the colors of the main code cells at one end and the other end of the first cell row are different from each other. 6. The optical symbol according to any one of items 5.
予め定められたサイズであり、前記副コードセルは、属するセル列に含まれる副コードセルの総数に応じたサイズを有する
請求項1乃至請求項6の何れか1項に記載の光学シンボル。 The second cell column is:
The optical symbol according to any one of claims 1 to 6, wherein the optical code has a predetermined size, and the sub code cell has a size corresponding to a total number of sub code cells included in a cell column to which the sub code cell belongs.
予め定められたサイズであり、予め定められた個数の前記副コードセルを含む
請求項1乃至請求項6の何れか1項に記載の光学シンボル。 The second cell column is:
The optical symbol according to claim 1, wherein the optical symbol has a predetermined size and includes a predetermined number of the sub code cells.
隣接して接続される前記副コードセル間の色の遷移を用いて値が表現される
請求項1乃至請求項8の何れか1項に記載の光学シンボル。 The sub-code part is
The optical symbol according to any one of claims 1 to 8, wherein a value is expressed using a color transition between the sub-code cells connected adjacently.
前記主コードセルに接続される前記副コードセルを含む前記副コード部に表現される前記値の位置を表現する
請求項9に記載の光学シンボル。 The main code portion is
The optical symbol according to claim 9, wherein a position of the value expressed in the sub code portion including the sub code cell connected to the main code cell is expressed.
請求項1乃至請求項10の何れか1項に記載の光学シンボル。 The optical symbol according to claim 1, wherein a direction in which the main code cells are connected is different from a direction in which the sub code cells are connected.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016091809A JP6565786B2 (en) | 2016-04-28 | 2016-04-28 | Optical symbol, display medium, article and generating device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016091809A JP6565786B2 (en) | 2016-04-28 | 2016-04-28 | Optical symbol, display medium, article and generating device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019142224A Division JP6881517B2 (en) | 2019-08-01 | 2019-08-01 | Optical symbols, display media, articles and generators |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017199306A JP2017199306A (en) | 2017-11-02 |
JP6565786B2 true JP6565786B2 (en) | 2019-08-28 |
Family
ID=60238020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016091809A Active JP6565786B2 (en) | 2016-04-28 | 2016-04-28 | Optical symbol, display medium, article and generating device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6565786B2 (en) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7358756B2 (en) * | 2018-07-30 | 2023-10-11 | 株式会社リコー | Information processing system, progress management method and program |
EP3605308A3 (en) | 2018-07-30 | 2020-03-25 | Ricoh Company, Ltd. | Information processing system for slip creation |
JP7205507B2 (en) * | 2019-03-15 | 2023-01-17 | 株式会社リコー | Information processing system |
US10929073B2 (en) | 2019-03-15 | 2021-02-23 | Ricoh Company, Ltd. | Information processing system |
JP7435093B2 (en) | 2020-03-17 | 2024-02-21 | 株式会社リコー | Information processing systems, programs and information processing devices |
US11567716B2 (en) | 2020-03-17 | 2023-01-31 | Ricoh Company, Ltd. | Information processing system, information processing method, and information processing apparatus |
JP2022145190A (en) | 2021-03-19 | 2022-10-03 | 株式会社リコー | Information processing system, position management method, information processing apparatus, and program |
JP2022145287A (en) | 2021-03-19 | 2022-10-03 | 株式会社リコー | Information processing system, position management method, information processing apparatus, and program |
JP2023140699A (en) | 2022-03-23 | 2023-10-05 | 株式会社リコー | Information processing system, information processing method, program, and information processing apparatus |
-
2016
- 2016-04-28 JP JP2016091809A patent/JP6565786B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017199306A (en) | 2017-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6565786B2 (en) | Optical symbol, display medium, article and generating device | |
US8615138B2 (en) | Image compression using sub-resolution images | |
US7349577B2 (en) | Image processing method and image processing system | |
US7950589B2 (en) | Program, information storage medium, two-dimensional code generation system, image generation system and printed material | |
JP4982486B2 (en) | Method and system for combining position and information signs | |
CN101419673B (en) | Image dictionary creating apparatus and method | |
US20120069408A1 (en) | Document management system and method thereof | |
JP5808211B2 (en) | Bar code symbol reading apparatus and bar code symbol reading method | |
JP6070568B2 (en) | Feature coding apparatus, feature coding method, and program | |
JP6634952B2 (en) | Recognition device, recognition method and recognition program, and management system and transport system | |
JP6881517B2 (en) | Optical symbols, display media, articles and generators | |
JP2008299412A (en) | Optical recognition code recognition result display method | |
JPH0215782A (en) | Picture encoding system | |
JP2010102501A (en) | Image processing device, image processing method, and program | |
JP7383882B2 (en) | Information processing device and information processing program | |
JP7302175B2 (en) | Information processing device and information processing program | |
US8786471B1 (en) | Lossless data compression with variable width codes | |
US20210142133A1 (en) | Reflection and inversion invariant codes | |
JP4008428B2 (en) | Image compression method | |
JP6844574B2 (en) | Image processing device and image processing method | |
JP7039918B2 (en) | Segment management method | |
JP2008205994A (en) | Image encoding apparatus, image decoding apparatus, and image processing system and program | |
US8611663B2 (en) | Computer-readable medium storing an information image and apparatus and computer-readable medium for generating and detecting an information image with five pixel series | |
CN111209988A (en) | Management method of big data sharing system based on recognizable color graphics | |
JP2023162011A (en) | Program, method, and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190208 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190617 |
|
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: 20190702 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190715 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6565786 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |