JP5319637B2 - 二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ - Google Patents
二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ Download PDFInfo
- Publication number
- JP5319637B2 JP5319637B2 JP2010221971A JP2010221971A JP5319637B2 JP 5319637 B2 JP5319637 B2 JP 5319637B2 JP 2010221971 A JP2010221971 A JP 2010221971A JP 2010221971 A JP2010221971 A JP 2010221971A JP 5319637 B2 JP5319637 B2 JP 5319637B2
- Authority
- JP
- Japan
- Prior art keywords
- color
- information
- cell
- dimensional code
- region
- 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
- Editing Of Facsimile Originals (AREA)
Description
本発明は、このような課題を解決するためになされたものであり、その目的は、複数のセルを配列してなる二次元コードの各セルに付された色の認識率の低下を抑制するのに好適な技術を提供することである。
上記課題を解決するために、本発明に係る第1の構成の二次元コードは、あらかじめ定められた色が付されたセパレータで分けられたp×q(1≦p,1≦q)にセルが配列されてなる二次元コードであって、前記p×qに配列されたセルを、それぞれa個(1≦a<(p×q))のセルからなる複数のセル群に分けた場合における各セル群には、各セル群のa個のセルに対して、各セル群で示すべき情報に対応する色がそれぞれ付されており、前記各セル群で示すべき情報の種類数をb(2≦b)、b種類の情報を前記各セル群で示すのに必要な色の種類数としてc(2≦c)を決定し、前記セルに付すことが可能な色の種類数をd(d≦b)とした場合において、前記各セル群で示すべき情報の種類に対応する色として、前記d種類の色のうち、前記セパレータに付された色との組み合わせに対して、色の認識率が比較的高い前記c種類の色を優先して各セルに付して構成されている。
さらに、第2の構成の二次元コードは、上記第1の構成において、前記p×qに配列されたセルは、あらかじめ定められた色が付されたセパレータで分けられており、前記各セル群で示すべき情報の種類に対応する色として、前記d種類の色のうち、前記セパレータに付された色とセルに付される色との組み合わせに対して、色の認識率が比較的高いものを優先して各セルに付して構成されている。
さらに、第3の構成の二次元コードは、上記第2の構成において、前記セパレータに付された色は白色であり、前記d種類の色が、赤色、緑色、青色、シアン色、マゼンタ色、黄色、白色、黒色を含む場合において、前記各セル群のa個のセルには、各セル群の示すべき情報に対応する色として、少なくとも黄色及び白色を除く残りの色を優先して各セルに付して構成されている。
さらに、第4の構成の二次元コードは、上記第3の構成において、前記aが2であり、前記bが24以下である場合において、前記各セル群における2個のセルには、白色および黄色を除く残りの色のうちのいずれか4色における、各セル群の示すべき情報に対応する色をそれぞれ付して構成されている。
この構成であれば、セパレータに用いられる白色、および、白色の背景色に溶け込みやすい黄色を除く残りの色のうち比較的認識率の高い4色を用いて各セルに色が付されているので、混色等による認識率の低下を抑制することができる。
さらに、第5の構成の二次元コードは、上記第3又は4の構成において、前記p×qに配列されたセルおよび前記セパレータの領域を囲む黒色の枠領域を有する。
この構成であれば、例えば、この二次元コードの領域を含む領域の撮影画像中から二次元コードの位置を検出する際に、セパレータの白と枠部分の黒色とによって外周部分の輝度差を大きくすることができ、二次元コードの領域の外形エッジを抽出しやすくすることができる。
さらに、第6の構成の二次元コードは、上記第2の構成において、前記セパレータに付された色は黒色であり、前記d種類の色が、赤色、緑色、青色、シアン色、マゼンタ色、黄色、白色、黒色を含む場合において、前記各セル群のa個のセルには、各セル群の示すべき情報に対応する色として、少なくとも緑色及び黒色を除く残りの色を優先して各セルに付して構成されている。
さらに、第7の構成の二次元コードは、上記第6の構成において、前記aが2であり、前記bが24以下である場合において、前記各セル群における2個のセルには、黒色および緑色を除く残りの色のうちのいずれか4色における、各セル群の示すべき情報に対応する色をそれぞれ付して構成されている。
この構成であれば、セパレータに用いられる黒色、および、黒色の背景色に溶け込みやすい緑色を除く残りの色のうち比較的認識率の高い4色を用いて各セルに色が付されているので、混色等による認識率の低下を抑制することができる。
さらに、第8の構成の二次元コードは、上記第1乃至第7のいずれか1の構成において、前記各セル群は、前記各セル群は、前記aが2以上の場合において、行方向または列方向うち一方向に連続する各a個のセルからなる。
この構成であれば、不連続となるa個のセルから各セル群を構成した場合と比較して、各セル群のa個のセルが一方向に連続しているので、エンコード時などにおいて、文字列や数字列などの各情報群との対応付けが容易となる。また、色の判定処理において、連続するa個のセルの色を判定することで各セル群の色の判定を行うことができるので、不連続なものと比較して、色の判定処理と各セル群の情報の識別とを順次行うことができる。
さらに、第9の構成の二次元コードは、上記第8の構成において、前記複数のセル群は、該複数のセル群の配列方向を識別するための色が付された方向識別用のセル群を含む。
この構成であれば、方向識別用のセル群によって、複数のセル群の配列方向を識別することができるので、エンコード時において、この配列方向と文字列や数字列などの各情報群の並び方向とを対応させておくことで、正しい並び順での情報の識別を容易に行うことができる。また、識別用のセル群とその他のセル群との位置関係を利用して、二次元コードの領域であることを判定する処理を行うことも可能である。
一方、上記課題を解決するために、第10の構成のエンコード装置は、あらかじめ定められた色が付されたセパレータで分けられたp×q(1≦p,1≦q)にセルが配列されてなる二次元コードを用いた情報のエンコードを行うエンコード装置であって、前記p×qに配列されたセルを、それぞれa個(1≦a<(p×q))のセルからなる複数のセル群に分けた場合における各セル群のa個のセルで示すべき情報の種類に対応する各セルの色を前記情報の種類毎にそれぞれ設定するエンコード情報設定部と、前記情報の各種類と、前記エンコード情報設定部で設定された前記情報の各種類にそれぞれ対応する各セル群のa個のセルに設定する色との関係を示すエンコード情報を記憶するエンコード情報記憶部と、前記二次元コードで示すべき情報群を入力する情報群入力部と、前記エンコード情
報記憶部によって記憶されたエンコード情報に基づき、前記二次元コードの各セル群のa個のセルに対して、各セル群にて示すべき情報の種類に対応するa個のセルの色を設定することで前記情報群の各情報をエンコードするエンコード部と、を備えている。
これにより、上記第1の構成の二次元コードを生成することができる。
このようにして構成された二次元コードは、上記第1の構成の二次元コードと同様に、色の認識率を考慮せずに各情報の種類に対して固定的に設定された色を用いてセルに色を付す場合と比較して、各セルの色の判定時において総合的な色の認識率を向上することができる。
また、上記課題を解決するために、第11の構成のエンコードプログラムは、あらかじめ定められた色が付されたセパレータで分けられたp×q(1≦p,1≦q)にセルが配列されてなる二次元コードを用いた情報のエンコードを行うためのエンコードプログラムであって、前記p×qに配列されたセルを、それぞれa個(1≦a<(p×q))のセルからなる複数のセル群に分けた場合における各セル群のa個のセルで示すべき情報の種類に対応する各セルの色を前記情報の種類毎にそれぞれ設定するエンコード情報設定部、前記情報の各種類と、前記エンコード情報設定部で設定された前記情報の各種類にそれぞれ対応する各セル群のa個のセルに設定する色との関係を示すエンコード情報を記憶するエンコード情報記憶部、前記二次元コードで示すべき情報群を入力する情報群入力部、および、前記エンコード情報記憶部によって記憶されたエンコード情報に基づき、前記二次元コードの各セル群のa個のセルに対して、各セル群にて示すべき情報の種類に対応するa個のセルの色を設定することで前記情報群の各情報をエンコードするエンコード部として実現される処理をコンピュータに実行させるためのプログラムを含んでいる。
なお、上述したプログラムは、コンピュータシステムによる処理に適した命令の順番付けられた列からなるものであって、各種記録媒体や通信回線を介して二次元コードリーダや、これを利用するユーザに提供されるものである。
また、上記課題を解決するために、第12の構成の二次元コードリーダは、請求項1乃至請求項9のいずれか1項に記載の二次元コードの領域を複数含む領域が撮影されてなる画像を取得する画像取得部と、該画像取得部により取得された画像を、該画像に含まれるエッジ成分の分布を示すエッジ画像に変換する成分変換部と、該成分変換部により変換されたエッジ画像から、あらかじめ定められた規則に従って形成されている領域を前記二次元コードの領域からなる候補領域として抽出する領域抽出部と、前記二次元コードの形状に係る形状情報に基づき、前記領域抽出部で抽出された候補領域が有効な候補領域であるか否かを判定する候補領域判定部と、前記画像取得部により取得された画像における、前記候補領域判定部により有効と判定された候補領域に対応する対応領域それぞれについて、該対応領域における前記二次元コードの各セルに対応する領域に付されている色を判定する色判定部と、該色判定部の判定結果に基づき、前記対応領域を形成する要素に、前記二次元コードの領域を規定する特徴的なパターンが含まれているか否かを判定するパターン判定部と、該パターン判定部により特徴的なパターンが含まれていると判定された対応領域を、前記二次元コードの領域として検出することにより、前記画像に含まれる複数の二次元コードの領域を検出可能な領域検出部と、前記二次元コードの領域における各セルの領域に、前記色判定部が判定した色が付されているものとして、各セルの領域に付された色または色の組合せに基づいて該二次元コードの領域において示される情報を識別する情報識別部と、を備えている。
この構成であれば、取得された画像(原画像)から生成されたエッジ画像中における候補領域の抽出、この抽出した候補領域が有効か否かの判定、有効と判定された候補領域に対応する原画像中の対応領域それぞれにおける二次元コードの各セルの領域に対応する領域に付された色の判定、該色の判定結果に基づく前記対応領域それぞれに特徴的なパターンが含まれているか否かの判定を経て、原画像中から二次元コードの領域を検出することができる。
また、上記構成では、取得された画像から、二次元コードの領域の候補となる候補領域を抽出し、抽出した候補領域が有効か否かを判定したうえで、有効と判定された領域から二次元コードの領域を検出して情報の識別を行うことができる。そのため、候補領域を抽出することなく二次元コードの領域を検出しようとする場合と比べて、抽出した候補領域という限定的な範囲から二次元コードの領域の検出を行うことができる。
そのため、二次元コードの理想の形状から逸脱した形状等の明らかに二次元コードの領域とは異なる形状の候補領域に対して、特徴的なパターンが含まれているか否かの判定、二次元コードの領域の検出および情報の識別を含む処理が行われるのを防ぐことができる。
以上のことにより、二次元コードの領域から情報の識別を行うまでに要する処理負荷および処理時間を抑えることができる。
これにより、各セルの領域を構成する複数のピクセルにおいて所定数の有効な色の判定結果を得た場合に、残りの未処理のピクセルについては色の判定処理が行われないため、その分だけ各セルの領域の色の判定にかかる処理時間を短縮することができる。
この輪郭線の抽出は、具体的に、エッジ画像中に含まれるオブジェクトの輪郭線を抽出する処理であり、輪郭線を抽出できればどのような処理方法を用いてもよい。
また、原画像から二次元コードの領域を検出する際に参照される「特徴的なパターン」とは、二次元コードについて定められた特徴的なパターンを直接的または間接的に示す情報であればよく、例えば、二次元コードにおいてエンコードのシンボルとなるセルの配置パターンや、二次元コードであることを識別するために配置された特定シンボルの配置パターンや、二次元コードであることを識別するために配置されたマークのパターンを直接的または間接的に示す情報などのことである。
また、「有効な色」とは、例えば、色の判定対象が複数ある場合には判定結果が最も多数となる色や、予め各セルの領域に付す色が解っている場合、または、色の並びなどから推定できる場合は、各セルの領域に対応する色などが該当する。
さらに、第13の構成の二次元コードリーダは、第12の構成において、前記成分変換部による画像のエッジ画像への変換を、複数種類の変換条件のそれぞれについて順に実施させると共に、各変換条件について変換されたエッジ画像それぞれに対し、前記領域抽出部による候補領域の抽出、前記候補領域判定部による有効な候補領域の判定、前記色判定部による前記対応領域の各セルに対応する領域に付されている色の判定、前記パターン判定部による特徴的なパターンの判定、および、前記領域検出部による二次元コードの領域の検出、を繰り返し実施させる繰り返し実施処理を行う繰り返し実施部と、特定の前記エッジ画像に対して、前記領域抽出部により抽出され、かつ、前記候補領域判定部により有効と判定された候補領域それぞれが、別のエッジ画像について前記領域抽出部が抽出し、かつ、前記候補領域判定部が有効と判定した候補領域(以降「抽出済み候補領域」という)と一致するか否かを、両方の候補領域に基づいて判定する一致判定部と、を備えている。
これにより、特定のエッジ画像に基づいて二次元コードの領域を検出できなかったとしても、別のエッジ画像に基づいて検出されることが期待でき、その結果、原画像における二次元コードの領域の検出精度を高めることができる。
そのため、複数のエッジ画像それぞれに基づいて検出された各二次元コードの領域について、この二次元コードの領域にて示される情報を識別するに際し、本来同じものであるはずの二次元コードの領域を繰り返し識別してしまうといった無用な処理負担をなくすことができる。
(1)エンコード機能付き二次元コードリーダ1の構成
まず、図1に基づき、エンコード機能付き二次元コードリーダ1の構成を説明する。図1は、エンコード機能付き二次元コードリーダ1の構成例を示すブロック図である。
エンコード機能付き二次元コードリーダ1(以下、単に二次元コードリーダ1と称す)は、図1に示すように、CPU(Central Processing Unit)60と、RAM(Random Access Memory)62と、ROM(Read Only Memory)64と、入出力インターフェース(I/F)66と、バス68とを含んで構成されるコンピュータシステムを備えている。CPU60、RAM62、ROM64およびI/F66は、バス68に接続されており、バス68を介してこれら接続デバイス間のデータの送受信を可能としている。
CPU60は、ROM64または記憶装置70に予め記憶された各種専用のコンピュータプログラムをRAM62に読み込み、RAM62に読み込まれたプログラムに記述された命令に従って、各種リソースを駆使して、各種処理を実行する。CPU60において実行される各種処理としては、二次元コードを利用して情報をエンコードするためのエンコード情報の作成処理、作成したエンコード情報を用いて情報をエンコードするエンコード処理がある。さらに、エンコード処理にて情報をエンコードしてなる二次元コードの領域が1以上含まれる画像から二次元コードの領域を検出し、該検出した二次元コードにて示される情報を識別する情報識別処理がある。
具体的に、記憶装置70は、二次元コードを用いて情報をエンコードする際のエンコード情報の作成に必要なエンコード対象情報、エンコード対象情報に基づいて作成したエンコード情報、エンコード情報を用いて情報をエンコードしてなる二次元コードの情報を記憶する。
他にも、二次元コードの構成が決まっている場合はそのセルの構成(例えば、3行×6列(p×q)等)を示す情報、また、セルにマークすることが可能な色の種類数の情報、これらの色の認識率に係る情報などもエンコード対象情報に含まれる。
さらに、記憶装置70は、二次元コードを特徴づける情報を規定したテンプレート、カメラ76によって撮影して得られる画像データを記憶する。
表示装置72は、CRTディスプレイ、液晶ディスプレイなどの周知の表示装置であり、CPU60からの指令に応じて、カメラ76で撮影された画像の表示を行う。
入力装置74は、キーボード、マウス、操作ボタン、タッチ式の入力デバイス(タッチパネル等)などのヒューマンインターフェースデバイスであり、ユーザの操作に応じた入力を受け付ける。
NIC78は、LAN、WAN、インターネット等のネットワーク上の外部装置と通信をするためのデバイスであり、一般にLANカード等と呼ばれる周知のネットワークアダプタである。NIC78は、ネットワークケーブルLを介してルータやハブ等に接続され、これらを介して、二次元コードリーダ1をネットワークに接続する。なお、周知の無線LAN等の、無線によって無線LAN用のアクセスポイントを介してネットワークに接続する構成であってもよい。
なお、この二次元コードリーダ1は、例えば、携帯電話端末、携帯情報端末、周知のパーソナルコンピュータなどに実装されるものとして構成される。
さらに、本実施形態における二次元コードリーダ1は、1以上の二次元コードが含まれた画像を示す画像データに基づき、その画像中の二次元コードを検出する処理と、検出した二次元コードにより示される情報を識別して取得する処理とを行う装置として構成されている。
次に、図2および図3に基づき、二次元コードリーダ1により生成し、かつ情報が読み取られる二次元コード100について説明する。図2および図3は、セパレータの色が白色および黒色の場合の二次元コード100の構成例を示す図である。
本実施形態における二次元コード100は、図2および図3に示すように、白色および黒色のセパレータ110を境界領域として複数のセルC11〜Cpq(1≦p,1≦q)が一定間隔で配列され、所定の情報が各セルの色および色の組み合わせによりエンコードされたものである。なお、図2に示すように、セパレータ110を白色とした場合は、二次元コード100の外周部に黒色のフレーム120を設ける。これは、後述する候補領域の特定において二次元コードの領域の認識率を向上するための構成である。
ここでいう「成分領域同士が互いに干渉しない」とは、各成分領域が重複しないように、各成分領域同士の間隔を空けて配置したり、各成分領域の境界を隣接させて配置したり、することである。
また、二次元コード100におけるセパレータ110の色には、セルCに付すマークの色に用いられていない成分領域における中心座標の色が用いられている。
以下に、CPU60がROM64または記憶装置70に記憶された専用のコンピュータプログラムに従って実行する各種処理の手順について順次説明する。
(3−1)エンコード情報作成処理
まず、二次元コードリーダ1において、入力装置74を介した作成指示に応じて開始されるエンコード情報作成処理の処理手順を、図4〜図7に基づいて説明する。
ステップS11では、入力装置74を介したユーザからの作成指示の入力があったか否かを判定し、作成指示の入力があったと判定した場合(Yes)は、ステップS13に移行し、そうでない場合(No)は、入力されるまで判定処理を繰り返す。
ここでは、入力装置74によって、簡易に作成指示を入力できるように、例えば、作成指示を選択するボタンのグラフィックスを表示装置72の表示画面に表示する。
作成指示が入力され、ステップS13に移行した場合は、エンコード対象情報を取得して、ステップS15に移行する。
なお、ステップS11における、作成指示の入力前に、ユーザが入力装置74を介して、エンコード対象の情報群の情報量、情報種類、単位情報の種類数、二次元コードのセルの構成、使用可能な色数等を含むエンコード対象情報の一部を選択または入力できるようにしてもよい。この場合は、記憶装置70に記憶されたエンコード対象情報に加えて、この選択または入力された情報を取得してRAM62等のワークメモリに読み出す(記憶する)処理も行う。
ここで、情報量17桁とは、文字(a,b,c,・・・)や数字(1,2,3,・・・)などの1文字の情報(単位情報)が17個あることを意味する。また、情報種類が10進数のみであることから、単位情報の種類は、0〜9の10種類となる。そして、セルの配列数が3行×12列ということから、二次元コード100は、例えば、図6(a)に示すような構成となる。図6(a)に示す二次元コード100は、セパレータ110が白色の場合の例となる。
セル群の構成の設定処理は、エンコード対象情報における、エンコード対象の情報群の情報量と、単位情報の種類数および使用可能な色の種類数とに基づき、セル群の各セル数a(1≦a)を決定する処理となる。
ステップS17では、エンコード対象情報における色の認識率に係る情報と、ステップS15で設定された色数の情報とに基づき、使用可能な色のなかからエンコードに使用する色を決定して、ステップS19に移行する。
図5および図6(b)の例では、各セル群の2つのセルに付された4色中の1色または2色の色によって単位情報をエンコードするので、本実施形態では、使用可能な8色のなかから、認識率の比較的高いもの(所定認識率以上(例えば、90%以上)のもの)から優先して4色を使用色として決定する。
具体的に、セパレータ110の色が白色であれば、セパレータで用いられている白色、白色に溶け込みやすい黄色などは認識率が低くなるので、例えば、シアン色(C)、マゼンタ色(M)、緑色(G)、黒色(K)の4色を使用色として決定する。また、セパレータ110の色が黒色であれば、セパレータと同じ黒色、緑色などは認識率が低くなるので、例えば、赤色(R)、青色(B)、黄色(Y)、白色(W)の4色を使用色として決定する。
これら使用色の情報は、後述する「着色規則」としても設定される。
本実施形態では、セパレータ110の色が白色の場合と、黒色の場合との双方に対して各情報の種類に対応するセル群のa個のセルの色を設定する。
また、情報の種類数よりも、使用色の組み合わせ数の方が多い場合に、使用色のなかで認識率の比較的低いものを可能な限り使用しないように設定を行う。
セパレータ110の色が黒色の場合も、白色の場合と同様に、赤色(R)、青色(B)、黄色(Y)、白色(W)の4色を用いて、10進数0〜9、および方向識別情報に対してセル群の各セルの色を設定する。
本実施形態では、セパレータ110の色が白色の場合と、黒色の場合との双方に対してそれぞれエンコード情報を生成する。
また、エンコード情報は、例えば、図7(a)および(b)に示すように、情報の種類と、該情報の種類毎に対応するセルの色の組み合わせと、各色の組み合わせに対応するコード値とが対応付けられたデータテーブルとなる。なお、図7(a)は、セパレータ110の色が白色のものに対応するエンコード情報を示し、図7(b)は、セパレータ110の色が黒色のものに対応するエンコード情報を示す。
また、コード値は、例えば、シアン色を「0」、マゼンタ色を「1」、黄色を「2」、黒色を「3」、赤色を「4」、緑色を「5」、青色を「6」、白色を「7」とした場合の色の組み合わせに対する2桁の数字となる。例えば、「C−C」であれば「00」、「C−G」であれば「05」となる。
つまり、作成指示を受信する毎に、取得したエンコード対象情報に対応するエンコード情報が生成され、生成されたエンコード情報が記憶装置70に記憶される。
なお、セパレータ110の2色(白色および黒色)についてそれぞれエンコード情報を生成する例を説明したが、セパレータ110の色を予め1色に固定しておき、その固定色のみに対して上記セルの色の設定処理(S19)、エンコード情報の生成処理(S21)を行うようにしてもよい。
また、エンコード対象情報の内容や、使用可能な色数、二次元コードの構成などによっては、1個、または、3個以上のセルでセル群を構成することも可能である。
次に、二次元コードリーダ1において行われるエンコード処理の処理手順を、図8〜図11に基づいて説明する。
ここで、図8は、エンコード処理の処理手順の一例を示すフローチャートである。また、図9は、エンコード対象である情報群の一例を示す図である。また、図10は、セパレータ110が白色の場合の第1情報群をエンコードしてなる二次元コード100の一例を示す図である。また、図11は、セパレータ110が黒色の場合の第1情報群をエンコードしてなる二次元コード100の一例を示す図である。
ステップS31では、入力装置74を介して、ユーザからのエンコード情報の設定指示の入力があったか否かを判定し、設定指示の入力があったと判定した場合(Yes)は、ステップS33に移行し、そうでない場合(No)は、ステップS39に移行する。
ステップS35では、入力装置74を介して、ユーザがエンコード情報を選択したか否かを判定し、選択したと判定した場合(Yes)は、ステップS37に移行し、そうでない場合(No)は、選択されるまで判定処理を繰り返す。
例えば、図7に示す、エンコード情報AおよびBのうち、エンコード情報Aが選択された場合は、エンコード情報Aをエンコード処理に用いる情報として設定し、エンコード情報Bが選択された場合は、エンコード情報Bをエンコード処理に用いる情報として設定する。
ここで、情報群の入力は、エンコード対象の情報群が予めファイルとして記憶装置70に記憶してある場合は、その記憶されたファイルの一覧を表示装置72により画面に表示し、その一覧の中からユーザが入力装置74を介して所望のファイルを選択し、記憶装置70からRAM62などのワークメモリへと読み出す処理となる。この場合に、情報群が複数ある場合は、自動的に連続して入力されるようにしてもよい。
ここで、入力される情報群は、例えば、図5に示すエンコード対象情報に対応する情報群の場合は、図9に示すように、17桁の10進数となる。つまり、各情報群は、「0」、「1」、・・・、「8」、「9」といった10進数の各桁を表す単位情報(1桁の数字)の情報列(数字列)となる。なお、図9に示す情報群は、図書の特定に用いられるISBNコードの一例を示している。
ステップS43に移行した場合は、エンコード指示の入力に応じて、ステップS37で設定されたエンコード情報に基づきステップS39で入力された情報群をエンコードして、ステップS45に移行する。
二次元コード100は、図6(b)に示すように、セル群Cg1〜Cg18の18個のセル群に分かれている。
つまり、セル群Cg2〜Cg18の17個のセル群を用いて、第1情報群の17桁の10進数をエンコードすることになる。
次に、セル群Cg2は、第1情報群の最上位桁(一番左端)の数字「0」をエンコードすることになるので、図7(a)に示すエンコード情報から、左側のセルがシアン色(C)、右側のセルがマゼンタ色(M)となる。つまり「C−M」となる。
従って、図7(a)のエンコード情報Aから、これらのエンコード結果は、セル群Cg3は「C−G」、セル群Cg4は「C−C」、セル群Cg5は「M−C」、セル群Cg6は「M−G」となる。
従って、これらのエンコード結果は、図7(a)のエンコード情報Aから、セル群Cg7は「M−M」、セル群Cg8は「G−M」、セル群Cg9は「G−M」、セル群Cg10は「G−G」、セル群Cg11は「K−C」、セル群Cg12は「C−G」となる。
従って、これらのエンコード結果は、図7(a)のエンコード情報Aから、セル群Cg13は「C−K」、セル群Cg14は「C−C」、セル群Cg15は「M−C」、セル群Cg16は「M−G」、セル群Cg17は「M−M」、セル群Cg18は「C−C」となる。
さらに、セル群Cg7が「R−R」、セル群Cg8が「Y−R」、セル群Cg9が「Y−R」、セル群Cg10が「Y−Y」、セル群Cg11が「W−B」、セル群Cg12が「B−Y」となる。
なお、上記各セル群のエンコード結果は、RAM62などのメモリに一時保存される。
ステップS45では、RAM62に一時保存されているエンコード結果の情報を、少なくとも、二次元コード100の基本情報(外形形状の情報、セルの配列構成の情報、セパレータ110の色情報など)と、エンコード処理で使用したエンコード情報とに対応付けて記憶装置70に記憶して、ステップS47に移行する。
このようにして作成されたエンコード情報は、セルの基本情報に基づきカラー画像データ化される。例えば、エンコード情報Aを用いて第1情報群をエンコードした場合は、図10に示す二次元コードが形成される。
つまり、図10に示す二次元コード100は、17桁の10進数が、各セルの背景色となるセパレータ110の色が白色の場合に比較的認識率の高い、シアン色、マゼンタ色、緑色および黒色の4色を用いてエンコードされたものとなる。
つまり、図11に示す二次元コード100は、17桁の10進数が、各セルの背景色となるセパレータ110の色が黒色の場合に比較的認識率の高い、赤色、青色、黄色および白色の4色を用いてエンコードされたものとなる。
例えば、図9に例示したISBNコードをエンコードしてなる二次元コード100の場合は、紙やシール等にカラー印刷した二次元コードを図書の背表紙等に貼り付けて利用する。
次に、二次元コードリーダ1が、カメラ76からの画像データを受信中において、入力装置74を介したユーザからの指示入力に応じて実行される情報識別処理の処理手順を、図に基づいて説明する。
ここで、図12は、情報識別処理の処理手順の一例を示すフローチャートである。
情報識別処理が開始されると、まず、カメラ76で撮影された撮影画像データからのエッジ画像データの生成、エッジ画像データからの候補領域の抽出、候補領域が有効か否かの判定、原画像における有効な候補領域に対応する領域について二次元コードの各セルに対応する領域の色の判定(補正、再判定等含む)、有効な候補領域に対応する領域が特徴パターンを含むか否かの判定といった手順を経て、二次元コードの領域を検出する。
情報識別処理は、CPU60によって、専用のコンピュータプログラムを実行することで行われる処理であって、プログラムが実行されると、図12に示すように、まず、ステップS100へと移行する。
なお、本実施形態において、指示入力は、表示装置72に表示されたカメラ76の撮影画像を見ながらユーザが入力装置74を介して行う処理となる。
ステップS102に移行した場合(Yes)は、RAM62または記憶装置70から、指示入力のあったタイミングに表示していた画像データまたは該画像データに加えて複数フレーム分の画像データを取得して、ステップS104に移行する。
ここでいうテンプレートは、候補領域を規定する領域規則、候補領域が有効か否かを判定する形状情報、二次元コードにおける特徴的なパターン、二次元コードにマークとして付けられる色(色数,色の種類)の着色規則などを示す情報である。
また、「特徴的なパターン」とは、例えば、二次元コードにおいてエンコードのシンボルとなるセルの配置パターンや、二次元コードであることを識別するために配置された特定シンボルの配置パターンや、二次元コードであることを識別するために配置されたマークのパターンなどのことである。
つまり、各セルに付された複数の色やその組み合わせパターン、該複数の色の付されたセルの配置順等が特徴的なパターンを形成している。
なお、この特徴的なパターンとしては、セパレータ110の領域もパターンに含ませる構成や、ヘッダー領域や特定セル等を設けて、これらのセルで特徴的なパターンを形成する構成など、別の構成により実現するものとしてもよい。
ステップS108では、ステップS102で取得した画像データに対してエッジ画像の生成処理を実行してエッジ画像データを生成し、ステップS110に移行する。なお、このエッジ画像生成処理における具体的な処理手順については後述する。
ステップS114に移行した場合は、ステップS110において特定された候補領域(座標情報)それぞれをリストに登録して、ステップS116に移行する。
ステップS116では、ステップS114においてリストに登録された候補領域のうち、以降の処理で処理対象となっていない(未処理の)候補領域があるか否かを判定し、あると判定した場合(Yes)は、ステップS118に移行し、そうでない場合(No)は、ステップS138に移行する。ここでは、リストに候補領域が登録されていない場合にも、未処理の候補領域がないと判定される。
ステップS120では、ステップS118において選択された候補領域が有効なものであるか否かを判定する有効領域判定処理を実行して、ステップS122に移行する。なお、この有効領域判定処理における具体的な処理手順については後述する。
ステップS124に移行した場合は、直前に行われた上記ステップS110において特定された候補領域(新規候補領域)が、過去に行われた上記ステップS110において特定された候補領域(抽出済み候補領域)と同じであるか否かを判定する。
本実施形態では、候補領域が多角形となるため、エッジ画像から抽出され、かつ、有効と判定された候補領域それぞれが、別のエッジ画像における抽出済み候補領域と一致するか否かは、候補領域として形成された多角形における1以上の頂点Pnが抽出済み候補領域として形成された多角形におけるいずれかの頂点Poから一定範囲(例えば一定の半径r距離)内に位置しているか否かに応じて判定することとしてもよい(図13参照)。
そして、ステップS124において新規候補領域が過去に行われた上記ステップS110において特定されてRAM62または記憶装置70に格納されたいずれかの抽出済み候補領域と同じであると判定した場合(Yes)は、ステップS116に移行し、以降、別の候補領域について上記同様の処理を行う。
ステップS126に移行した場合は、この時点における新規候補領域を情報の識別に適したものとなるように補正して、ステップS128に移行する。
ここでは、新規候補領域の形状、角度が補正される。具体的には、例えば、処理対象の領域が斜めに配置されていた場合や、正方形になっていない歪んだ形状となっている場合に、そのようなズレを補正すべく回転や、座標軸に合わせた延長・短縮などが行われる。
さらに、このステップS126では、新規候補領域の色成分が、各セルにおける色の識別性(認識率)を高めるべく補正される。
ステップS128では、上記ステップS126において補正された候補領域につき、その候補領域における二次元コードのセルに対応する領域にそれぞれに付された色を特定するための色判定処理を行って、ステップS130に移行する。
ステップS130では、上記ステップS128の色判定処理の結果に基づき、上記ステップS102において取得された画像データで示される原画像のうち、上記ステップS126において補正された候補領域に対応する対応領域に、二次元コードとしての特徴的なパターンが含まれているか否かを判定する。
あるいは、特定の複数のセルに付された色に対応するコード値を用いて、採用した誤り検出手法に応じた計算処理を行い、その計算結果が、「特徴的なパターン」で規定された誤りの無い場合の数値(例えば、誤り検出符号に対応するセルの色に対応するコード値)と一致しているか否かを判定する。
なお、本実施形態において、図10および図11に例示した二次元コード100は、ISBNコードをエンコードしたものとなっており、最後の桁に対応するセル群Cg18の示す数値がチェックディジットとなっている。従って、方向識別用のセル群Cg1の検出に加えて、このチェックディジットを利用して、特徴的なパターンを含むか否かを判定することも可能である。
一方、ステップS130において、二次元コードとしての特徴的なパターンが含まれていると判定した場合(Yes)は、ステップS132に移行する。
この検出処理は、新規候補領域の座標情報に基づき、原画像から新規候補領域を切り出して(複製画像を生成して)、記憶装置70に記憶する処理となる。
ステップS134では、上記ステップS132において検出された二次元コードの領域につき、上記ステップS128において特定された色に基づいて、その二次元コードで示される情報を、セルCそれぞれに付された色およびその組み合わせに基づいて識別して、ステップS136に移行する。
つまり、「K−K」の組み合わせとなっているセル群が方向識別用のセル群Cg1となり、この検出によって、セル群の配列方向を判定することができる。従って、セル群Cg1として検出されたセルの領域の右隣のセルの領域から順に、上記色判定処理において判定された色と、エンコード時に用いた図7(a)に示すエンコード情報Aとから、各色の組み合わせで示される情報(ここでは0〜9のいずれかの数字)を識別する。
ステップS136では、ステップS134において識別された情報を、RAM62または記憶装置70に格納して、ステップS138に移行する。
なお、ISBNコードのチェックディジットを利用して特徴的なパターンの有無を判定した場合は、ステップS130で識別された情報を、RAM62または記憶装置70に格納することになる。
ここまで示したように、上述したステップS116〜S136までが行われるのは、ステップS110において特定された候補領域が二次元コードの体をなしていたことを意味している。そのため、このステップS138では、この変数Xをインクリメントすることにより、二次元コードの領域として検出かつ識別された候補領域の数を積算していることになる。
ステップS140では、この時点で変数Xが所定数以上になっているか否かを判定する。つまり、所定数以上の候補領域が二次元コードの体をなしていたか否かを判定する。
つまり、上記ステップS116〜S140は、二次元コードとして検出かつ識別された候補領域の数が所定数以上とならない限り、リストに登録された全てのコード領域について繰り返し行われる。
その後、全ての候補領域について上記ステップS116〜S140が行われたら、上記ステップS116において未処理の候補領域がないと判定されて、ステップS142に移行し、この時点での変数Yの値が、変数nの値より小さい値(Y<n)となっているか否かを判定する。
ステップS144に移行した場合は、変数Yをインクリメント(Y+1→Y)して、ステップS108に移行し、上記ステップS108〜S144の処理を行う。
これ以降は、次のエッジ画像に基づいて上記ステップS110〜S144の処理が行われ、その処理の中で変数Xが所定数以上になれば、上記ステップS140で「Yes」と判定されて、ステップS146に移行する。一方、その処理の中で変数Xが所定数以上にならなければ、その次のエッジ画像についての処理が繰り返し行われることとなる。
さらに、ステップS142において、変数Yの値が変数nの値以上の値となっていると判定した場合(No)は、変数Xの値に関係なく、一連の処理を終了する。
続いて、図12のステップS108であるエッジ画像生成処理の処理手順の一例を図14に基づき説明する。図14(a)は、変数Yの値と画像種類およびしきい値との対応関係の一例を示す図であり、(b)は、エッジ画像生成処理の処理手順の一例を示すフローチャートである。
本実施形態において、エッジ画像の生成は、異なる複数種類の変換条件に基づいて行う。
具体的に、第1〜第i(1≦i)の変換条件に対応する第1〜第i番目のエッジ画像までが、それぞれ異なるしきい値で原画像をグレースケール化してなるグレースケール画像を二値化した画像の輪郭部を線形化した画像となる。
特に、各色成分画像について、予め設定されたしきい値としてk種類(1≦k)のしきい値を用いて二値化を行う場合は、第(i+1)〜第(i+j×k)の変換条件に対応する第(i+1)〜第(i+j×k)番目のエッジ画像までが、j種類の色成分それぞれを原画像から抽出した色成分画像をグレースケール化し、該グレースケール画像をk種類のしきい値それぞれで二値化した二値化画像の輪郭部を線形化した画像となる。
ここでいう「i」および「k」は、予め用意されたしきい値の種類によって値が決定し、「j」は、原画像に用いられている色空間(表色系)の種類によって規定される色成分数によって値が決定する。例えば、しきい値の種類がそれぞれ3種類で、色空間がRGB色空間であれば、「i」および「k」の値は3、「j」の値は3となる。
エッジ画像生成処理が開始されると、図14(b)に示すように、まず、ステップS200に移行し、変数Yの値が3以下となっているか否かを判定する。
ステップS202に移行した場合は、上記図12のステップS102で取得した原画像のデータを複製し、該複製した原画像データに基づき、グレースケール画像を生成して、ステップS204に移行する。
なお、必須ではないが、原画像データのピクセル数が膨大(例えば、1200万画素等)な場合は、処理負荷および処理時間を考慮して、検出精度を損なわない程度に、解像度をこれよりも低解像度へと変換する処理を行うようにしてもよい。
中間値法は、R、G、Bの3つの色成分の値のうち、最大値と最小値の2つを足して2で割ったものを利用してグレースケール化する方法である。
平均法は、平均の取り方によって、算術平均(相和平均)法、幾何平均(相乗平均)法、加重平均法等がある。
幾何平均法は、R、G、Bの3つの色成分の値を幾何平均(各要素の値の対数値を算術平均)して平均値を算出し、算出した平均値を利用してグレースケール化する方法である。
グレースケール画像の生成方法は、処理速度や検出精度等を考慮して適切なものを用いることが望ましい。
なお、ここでは、グレースケール画像を、R,G,Bの各色成分の値を輝度値に変換することで生成する例を説明したが、輝度以外に、明度等によってグレースケール画像を生成するようにしてもよい。
このようにして、原画像データの各ピクセル値をグレースケール値に変換することで、グレースケール画像データが生成される。
具体的に、グレースケール画像データの各色のピクセル値が8ビットの階調値で表現されているときに、しきい値と、グレースケール画像の各ピクセル値とを比較し、ピクセル値がしきい値以下のときに、ピクセル値を「0」に変換し、ピクセル値がしきい値より大きいときに、ピクセル値を「255」に変換することで二値化を行う。
従って、変数Yの値が1のときは、しきい値120を用いて上記ステップS202で生成したグレースケール画像を二値化し、変数Yの値が2、3のときは、しきい値150、200をそれぞれ用いて上記ステップS202で生成したグレースケール画像を二値化する。
ステップS206では、二値化画像データに対して、二値化画像中の物体(オブジェクト)の輪郭部を線形化してなるエッジ画像データを生成して、一連の処理を終了し、元の処理に復帰する。
ここで、ブレゼンハムの線分描画アルゴリズムは、割り算等を用いずに全てを整数演算のみで行うことができるため、高速に線分を描画することができる。
このようにして、二値化画像中の物体の輪郭部を線形化した画像のデータが、エッジ画像データとなる。
ここでは、図14(a)に示すように、変数Yの値4、5、6に対して、赤色、緑色、青色の色成分をそれぞれ抽出する。
例えば、変数Yの値が4であり、原画像データのあるピクセル値が(120,80,45)である場合は、赤色成分値(120,0,0)を抽出する。同様に、変数Yの値が5であれば、緑色成分値(0,80,0)を抽出し、変数Yの値が6であれば、青色成分値(0,0,45)を抽出する。
ステップS210では、ステップS208で生成した色成分画像データからグレースケール画像データを生成して、ステップS212に移行する。
グレースケール画像データの生成は、上記ステップS202と同様の処理となる。
ここでは、図14(a)に示すように、変数Yの値4、5、6に対して、共通のしきい値120が用意されている。
従って、上記ステップS210で生成したグレースケール画像データに対して、しきい値120を用いて二値化を行い、ステップS208で生成した色成分画像データに対する二値化画像データを生成する。
なお、図14(a)に示す例では、色成分画像に対応するグレースケール画像の二値化に用いるしきい値の種類を1種類としたが、この構成に限らず、第7以降の変換条件を設定して、複数種類のしきい値を用いて二値化を行う構成としてもよい。
例えば、原画像に対応するグレースケール画像の二値化に用いるしきい値を別の順番で用いる構成、色成分画像に対応するグレースケール画像の二値化を別の色の順番で行う構成としてもよい。
また、色成分画像に対応するグレースケール画像の二値化を複数種類のしきい値を用いて行う場合は、そのしきい値を用いる順番も小さい方から順に行う構成だけに限らず、別の順番とする構成としてもよい。また、色成分画像に対応するグレースケール画像の二値化に用いるしきい値の値は、原画像に対応するグレースケール画像の二値化に用いるしきい値と同じ値であってもよいし、異なる値であってもよい。
また、図14(a)に示す例では、原画像および色成分画像の双方を用いてエッジ画像の生成を行うことが可能な構成としたが、この構成に限らず、原画像だけを用いてエッジ画像を生成する構成や、色成分画像だけを用いてエッジ画像を生成する構成など他の構成としてもよい。
続いて、図12のステップS120である有効領域判定処理の処理手順を図15および図16に基づき説明する。
ここで、図15は、有効領域判定処理の処理手順を示すフローチャートである。また、図16(a)は、理想的な候補領域の形状例を示す図であり、(b)〜(e)は、誤差範囲外の形状例を示す図であり、(f)〜(g)は、誤差範囲内の形状例を示す図である。
候補領域の縦横比は、図16(a)に示すように、理想の領域形状における短辺の長さAと長辺の長さBとの比(A:B=A/B)となっていることが望ましい。また、候補領域の各辺間(四隅)の角度は、図16(a)に示すように、理想的には、いずれも90°であることが望ましい。
有効領域判定処理が開始されると、図15に示すように、まず、ステップS300に移行し、選択された候補領域の縦横比が、テンプレートの形状情報に定められた縦横比の誤差範囲内か否かを判定する。
ステップS302に移行した場合は、誤差範囲外と判定された候補領域を無効な候補領域であると判定して(判定結果を戻り値として)、一連の処理を終了し、元の処理に復帰する。
これにより、例えば、図16(b)および(c)に示すように、理想の縦横比A:Bに対して極端に縦横比の異なる形状を排除することができ、これらの領域に対して以降の処理(図12のステップS124以降の処理)が行われるのを防ぐことができる。
例えば、図16(d)〜(f)に示すように、各辺間(四隅)の角度をβ1〜β4とした場合に、理想形の角度との誤差dβ1〜dβ4は、理想形の角度90°から角度β1〜β4をそれぞれ減じたもの「dβ1〜dβ4=90°−β1〜90°−β4」となる。そして、誤差範囲を「−dy〜+dy」とし、本実施形態では、dβ1〜dβ4がいずれも「−dy〜+dy」の範囲内であれば誤差範囲内であると判定し、いずれか1つでも「−dy〜+dy」の範囲外であれば誤差範囲外であると判定する。
ステップS306に移行した場合は、誤差範囲外と判定された候補領域を無効な候補領域であると判定して(判定結果を戻り値として)、一連の処理を終了し、元の処理に復帰する。
これにより、例えば、図16(d)および(e)に示すように、理想の角度に対して角度β1〜β4の少なくとも1つが誤差範囲外の角度となっている形状を排除することができ、これらの領域に対して以降の処理(図12のステップS124以降の処理)が行われるのを防ぐことができる。
例えば、図16(f)に示す候補領域のように、角度β1〜β4の誤差dβ1〜dβ4がいずれも誤差範囲内(この例では、いずれも90°)で、縦横比の誤差drが「−dx〜+dx」の範囲内となる程度で縦横比のみが異なる場合に、この候補領域は除外されることなく、有効な候補領域と判定される。
つまり、本実施形態では、縦横比および角度の双方が誤差範囲内に納まっている候補領域のみを有効な候補領域と判定する。
続いて、図12のステップS128である色判定処理の処理手順を図17に基づき説明する。
ここで、図17は、色判定処理の処理手順の一例を示すフローチャートである。
色判定処理が開始さると、図17に示すように、まず、ステップS400に移行して、図12のステップS130で検出された二次元コードの領域におけるセパレータ110の領域を特定(座標を特定)して、ステップS402に移行する。
具体的に、白色(W)または黒色(K)のセパレータ110に周囲(四辺)を囲まれた領域の座標を各セルの座標として、その座標情報をRAM62または記憶装置70に記憶する。
ステップS404では、以降の処理で参照する変数を初期化(0→ap,0→x,0→y)して、ステップS406に移行する。
ステップS408では、変数apの値が予め定められた一定数以上か否かを判定し、一定数以上ではないと判定した場合(No)は、ステップS410に移行し、一定数以上であると判定した場合(Yes)は、ステップS422に移行する。
ステップS410に移行した場合は、選択したピクセルの値(色)が、二次元コードにおいて使用される複数の色それぞれを中心座標として広がる色空間上の判定領域のうち、いずれかの判定領域に含まれている(いずれの判定領域内に位置する)か否かを判定する。
ステップS412に移行した場合は、変数apをインクリメント(ap+1→ap)して、ステップS414に移行する。
ここでは、変数apをインクリメントすることで、判定領域に含まれていると判定されたピクセルの数を計数している。この判定結果(判定領域の情報および計数結果を含む)は、各セルに対応付けてRAM62または記憶装置70に記憶される。
その後、ステップS414に移行して、変数xの値が、その行の一番右端のx座標であるxEであるか否かを判定する。
そして、変数xの値がxEではないと判定した場合(No)は、ステップS416に移行し、変数xの値がxEであると判定した場合(Yes)は、ステップS422に移行する。
ステップS416に移行した場合は、変数xをインクリメント(x+1→x)して、ステップS418に移行する。
ステップS418では、現時点の座標(x,y)が次のセルに対応するセパレータ部分の開始座標であるか否かを判定する。そして、次のセパレータの開始座標であると判定した場合(Yes)は、ステップS420に移行し、そうでない場合(No)は、ステップS406に移行する。
ステップS420に移行した場合は、変数apを初期化(0→ap)して、ステップS406に移行する。
つまり、色判定領域に含まれる色のピクセルが一定数以上とならないまま、x座標が、次のセルに対応するセパレータの開始x座標に到達した場合に、変数apを初期化する。
そして、変数yの値がyEではないと判定した場合(No)は、ステップS424に移行し、変数yの値がyEであると判定した場合(Yes)は、ステップS438に移行する。
ステップS424に移行した場合は、変数apおよび変数xを初期化(0→ap,0→x)し、変数yをインクリメント(y+1→y)して、ステップS406に移行する。
一方、ステップS408において、変数apの値が一定数以上ではないと判定されてステップS426に移行した場合は、変数xの値が、xEであるか否かを判定する。
そして、変数xの値がxEではないと判定した場合(No)は、ステップS428に移行し、変数xの値がxEであると判定した場合(Yes)は、ステップS432に移行する。
ステップS428に移行した場合は、変数xをインクリメント(x+1→x)して、ステップS430に移行する。
ステップS432に移行した場合は、変数apを初期化(0→ap)して、ステップS406に移行する。
つまり、変数apが一定数以上のときに、上記ステップS426〜S430の処理を繰り返し行うことで、各セルCに対応する領域においてその行の残りのピクセルに対して上記ステップS410の色判定処理を省略している。
具体的に、例えば、一定数を10としたときに、あるセルの領域におけるいずれかの行において黒色を中心座標とした判定領域に含まれると判定されたピクセルが10ピクセル(ap=10)になったときに、ステップS408において、変数apの値が一定数以上であると判定され、該当セルCの同じ行の残りのピクセルに対しては上記ステップS410の色判定処理が省略される。
そして、ステップS434において、変数yの値がyEではないと判定した場合(No)は、ステップS436に移行し、変数yの値がyEであると判定した場合(Yes)は、ステップS438に移行する。
ステップS436に移行した場合は、変数apおよび変数xを初期化(0→ap,0→x)し、変数yをインクリメント(y+1→y)して、ステップS406に移行する。
具体的に、各セルCの領域について、判定領域内に含まれるピクセル数が一定数以上となっている行が所定数以上のときに、各セルCの色をその判定領域の中心座標の色として判定する。そして、各セルCと、判定された色とが対応づけられてRAM62または記憶装置70のデータテーブルに登録される。ここでは、データテーブルに登録済のセルCに対して色が判定された場合、このセルCに対応する色として、こうして判定された最新の色に更新される。なお、判定領域内に含まれるピクセル数が一定数以上となっている行が所定数未満であり、二次元コードに用いられる複数色の判定領域のいずれにも含まれていないと判定された場合には、該当のセルCに対し、判定領域外の色である旨が対応づけられる。
ここでは、この時点でセルCと色とが対応づけて登録されたデータテーブルの中に、判定領域外の色である旨が対応づけられたセルCが一定数(例えば全体の3割)以上存在していることをもって、着色規則に従っていない色の付されたセルCが所定割合以上存在していると判定される。
ステップS442に移行した場合は、判定領域を変更して再度の色判定が可能な状態であるか否かを判定する。
ここでは、ステップS410における色判定で参照された判定領域が、あらかじめ定められた上限まで変更されている場合に、再度の色判定が可能な状態ではないと判定される。
ステップS444に移行した場合は、上記ステップS410における色判定で参照された判定領域を変更して、ステップS404に移行する。ここでは、各判定領域を色空間上で一定領域だけ拡げる、または、各判定領域を色空間上で一定距離だけ変移させることにより判定領域それぞれが変更される。
以降、再度色が判定されたセルCそれぞれの中に、着色規則に従っていない色の付されたセルCが一定数以上存在していないと判定されるまで(ステップS440の「No」の分岐)、判定領域の変更および再度の色判定が繰り返される(ステップS404〜S444)。
このエラー処理では、いずれのセルCの色についても判定できなかったものとし、データテーブルに登録されていた全ての対応関係を消去され、こうして空のデータテーブルが戻り値として元の処理へと復帰する。この場合、図12の情報識別処理では、ステップS134,S136で何らの処理も行われることなく、S138以降の処理が行われる。
ステップS448に移行した場合は、着色規則に従っていない色の付されたセルCが存在しているか否かを判定する。
ステップS450に移行した場合は、二次元コードの中から該当セルCを特定して、ステップS452に移行する。
ステップS452では、上記ステップS448において特定されたセルCそれぞれについて、着色規則に従って本来付されるべき色を推定して、ステップS454に移行する。
ステップS454では、上記ステップS448において特定されたセルCそれぞれについて、該セルCの色が、上記ステップS452において推定された色であると判定し、一連の処理を終了し、元の処理に復帰する。
この場合と、ステップS448において該当のセルCが特定されなかった場合は、この時点でセルCと色との対応関係が登録されたデータテーブルを戻り値として図3のコード利用物品検出処理へと戻る。この場合、コード利用物品検出処理では、データテーブルに基づいて各セルCに付された色を認識したうえで、ステップS134による情報の識別を行うこととなる。
なお、上記図12のステップS128における、特徴的なパターンを含むか否かを判定する処理を行う際に、上記ステップS400〜S454に示すアルゴリズム、または、上記ステップS400〜S438に示すアルゴリズムを適用することが可能である。
上記実施形態における二次元コードリーダ1であれば、入力装置74を介したユーザからの作成指示に応じて、エンコード対象情報の取得(図4のS13)、セル群の構成および色数の決定(同図S15)、使用色の決定(同図S17)、情報の種類毎にセルの色の設定(同図S19)を経て、エンコード情報を生成することができる(同図S21)。
さらに、情報群が入力され(同図S39)、入力装置74を介したユーザからのエンコード指示に応じて(同図41)、設定されたエンコード情報を用いて、入力された情報群をエンコードすることができる(同図43)。
さらに、上記実施形態における二次元コードリーダ1であれば、取得された画像(原画像)から、グレースケール画像の生成(図14(b)のS202,S210)、二値化画像の生成(同図S204,S212)、二値化画像中の物体の輪郭部の線形化(同図S206)を経てエッジ画像を生成することができる(図12のS108)。
このように、二値化画像中の物体の輪郭部が線形化されたエッジ画像から、候補領域を抽出することができるので、線形化しない場合と比較して高速に候補領域を抽出することができる。
また、上記実施形態では、原画像に基づいて生成される複数種類のエッジ画像それぞれについて、候補領域の抽出、この抽出した候補領域が有効か否かの判定、有効と判定された候補領域に対応する対応領域における各セルCに対応する領域に付されている色の判定、色の判定された対応領域に特徴的なパターンが含まれているか否かの判定、および、二次元コードの領域の検出を繰り返し実施している(図12のS108〜S144)。
また、この繰り返しの過程では、特定のエッジ画像について新たに抽出され、かつ、有効と判定された候補領域が、先に参照されたエッジ画像について抽出され、かつ、有効と判定された抽出済み候補領域と、原画像の領域において一致している場合も想定される。ところが、上記構成では、このような抽出済み候補領域について、該候補領域の各セルCに対応する領域に付されている色の判定、該候補領域に特徴的なパターンが含まれているか否かの判定、および、二次元コードの領域の検出を実施しない(同図S124の「Yes」の分岐)。
また、この繰り返しの過程では、理想的な領域形状に対して、各候補領域の縦横比および四隅の角度等の形状情報が、あらかじめ設定された誤差範囲内となるか否かを判定することによって(図15のS300〜S308)、抽出した候補領域が有効な候補領域であるか否かを判定することができる(図12のS122)。
これにより、理想的な形状に対して、誤差範囲外の形状を有する候補領域を、以降の処理対象から除外することができ、二次元コードの領域とは明らかに異なる領域等に対して、無用な処理が行われるのを防ぐことができる。
また、上記実施形態においては、特定のエッジ画像から抽出され、かつ、有効と判定された候補領域と、別のエッジ画像における抽出済み候補領域との重複度合に応じ、その重複度合が一定以上であることをもって、両候補領域が一致すると判定することができる。
また、上記実施形態においては、特定のエッジ画像から抽出され、かつ、有効と判定された候補領域における1以上の頂点が、抽出済み候補領域におけるいずれかの頂点から一定範囲内に位置していることをもって、両候補領域が一致すると判定することもできる。
また、上記実施形態においては、二次元コードの各セルCに付された色に基づいて、二次元コードで示される情報を識別することができる(図12のS132〜S134)。
また、この構成においては、各ピクセルの色判定を行う際に、二次元コードの領域を、ラスタスキャンによって順番に走査して色判定処理を行い(図17のS410)、各セルCの領域における各行に位置するピクセルについて、一定数以上が判定領域に含まれると判定された場合(図17のS408の「Yes」の分岐)に、該当セルCの領域におけるその行の残りのピクセルに対して色判定処理を省略することができる。
また、この構成においては、各セルCの色を判定するに際し、多くのセルCに付された色がいずれの判定領域にも含まれず、情報の識別そのものができなくなるような場合であっても、そのようなことを防止できるように構成されている。
この構成であれば、画像の生成条件が悪く、適切に色の判定ができない場合であっても、判定領域を拡げることで判定の感度を上げて再度色を判定する、または、判定領域を色の分布に応じた適切な位置まで変移させて再度色を判定することにより、色の判定確率を高めることができる。
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態をとり得ることはいうまでもない。
例えば、上記実施形態においては、二次元コードリーダ1が単体の装置により構成されている場合を例示したが、この二次元コードリーダ1は、複数の装置が協調して動作するシステムとして構成してもよい。
また、候補として選出した色それぞれについて情報の識別までも行うようにし、そうして識別した情報の中からいずれかをユーザに選択させることとしてもよい。この場合、図17のS452では何らの処理も行わず、S454にて候補の色それぞれを、該当するセルCに付された色と判定する。そして、図12のS134では、セルCに付された色として判定された色が複数存在していれば、各色について、または、各色の組合せに基づいて情報を識別し、そうして識別した情報の中から、いずれかをユーザに選択させる、といった構成を考えることができる。
例えば、トリガがなくても情報識別処理を繰り返し実行して、常に、撮影画像に対して識別処理を実行する構成とするなど、他の構成としてもよい。
以上説明した実施形態において、図4のS19が本発明におけるエンコード情報設定部であり、同図S21,23が本発明におけるエンコード情報記憶部であり、図8のS39が本発明における情報群入力部であり、同図S43が本発明におけるエンコード部である。
また、図12のS102が本発明における画像取得部であり、同図S108(図14のS200〜S212)が本発明における成分変換部であり、同図S110が本発明における領域抽出部であり、同図S120が本発明における候補領域判定部であり、同図S128が本発明におけるパターン判定部である。
また、図17におけるS452が本発明における色推定部であり、同図S410、S438およびS454が本発明における色判定部である。
Claims (12)
- あらかじめ定められた色が付されたセパレータで分けられたp×q(1≦p,1≦q)にセルが配列されてなる二次元コードであって、
前記p×qに配列されたセルを、それぞれa個(1≦a<(p×q))のセルからなる複数のセル群に分けた場合における各セル群には、各セル群のa個のセルに対して、各セル群で示すべき情報に対応する色がそれぞれ付されており、
前記各セル群で示すべき情報の種類数をb(2≦b)、b種類の情報を前記各セル群で示すのに必要な色の種類数としてc(2≦c)を決定し、前記セルに付すことが可能な色の種類数をd(d≦b)とした場合において、前記各セル群で示すべき情報の種類に対応する色として、前記d種類の色のうち、前記セパレータに付された色との組み合わせに対して、色の認識率が比較的高い前記c種類の色を優先して各セルに付して構成したことを特徴とする二次元コード。 - 前記セパレータに付された色は白色であり、
前記d種類の色が、赤色、緑色、青色、シアン色、マゼンタ色、黄色、白色、黒色を含む場合において、前記各セル群のa個のセルには、各セル群の示すべき情報に対応する色として、少なくとも黄色及び白色を除く残りの色を優先して各セルに付して構成したことを特徴とする請求項1に記載の二次元コード。 - 前記aが2であり、前記bが24以下である場合において、
前記各セル群における2個のセルには、白色および黄色を除く残りの色のうちのいずれか4色における、各セル群の示すべき情報に対応する色をそれぞれ付して構成したことを特徴とする請求項2に記載の二次元コード。 - 前記p×qに配列されたセルおよび前記セパレータの領域を囲む黒色の枠領域を有することを特徴とする請求項2又は請求項3に記載の二次元コード。
- 前記セパレータに付された色は黒色であり、
前記d種類の色が、赤色、緑色、青色、シアン色、マゼンタ色、黄色、白色、黒色を含む場合において、前記各セル群のa個のセルには、各セル群の示すべき情報に対応する色
として、少なくとも緑色及び黒色を除く残りの色を優先して各セルに付して構成したことを特徴とする請求項1に記載の二次元コード。 - 前記aが2であり、前記bが24以下である場合において、
前記各セル群における2個のセルには、黒色および緑色を除く残りの色のうちのいずれか4色における、各セル群の示すべき情報に対応する色をそれぞれ付して構成したことを特徴とする請求項5に記載の二次元コード。 - 前記各セル群は、前記aが2以上の場合において、行方向または列方向うち一方向に連続する各a個のセルからなることを特徴とする請求項1乃至請求項6のいずれか1項に記載の二次元コード。
- 前記複数のセル群は、該複数のセル群の配列方向を識別するための色が付された方向識別用のセル群を含むことを特徴とする請求項7に記載の二次元コード。
- あらかじめ定められた色が付されたセパレータで分けられたp×q(1≦p,1≦q)にセルが配列されてなる二次元コードを用いた情報のエンコードを行うエンコード装置であって、
前記p×qに配列されたセルを、それぞれa個(1≦a<(p×q))のセルからなる複数のセル群に分けた場合における各セル群のa個のセルで示すべき情報の種類に対応する各セルの色を前記情報の種類毎にそれぞれ設定するエンコード情報設定部と、
前記情報の各種類と、前記エンコード情報設定部で設定された前記情報の各種類にそれぞれ対応する各セル群のa個のセルに設定する色との関係を示すエンコード情報を記憶するエンコード情報記憶部と、
前記二次元コードで示すべき情報群を入力する情報群入力部と、
前記エンコード情報記憶部によって記憶されたエンコード情報に基づき、前記二次元コードの各セル群のa個のセルに対して、各セル群にて示すべき情報の種類に対応するa個のセルの色を設定することで前記情報群の各情報をエンコードするエンコード部と、を備えており、
前記エンコード情報設定部は、前記各セル群で示すべき情報の種類数をb(2≦b)、b種類の情報を前記各セル群で示すのに必要な色の種類数としてc(2≦c)を決定し、前記セルに付すことが可能な色の種類数をd(d≦b)とした場合において、前記各セルの境界領域となるセパレータの色と、前記各セル群で示すべき情報の種類数bとに基づき、前記d種類の色のうち、前記セパレータに付された色との組み合わせに対して、色の認識率が比較的高い前記c種類の色を優先して用いて前記情報の各種類に対応するセル群のa個のセルの色を設定することを特徴とするエンコード装置。 - あらかじめ定められた色が付されたセパレータで分けられたp×q(1≦p,1≦q)にセルが配列されてなる二次元コードを用いた情報のエンコードを行うためのエンコードプログラムであって、
前記p×qに配列されたセルを、それぞれa個(1≦a<(p×q))のセルからなる複数のセル群に分けた場合における各セル群のa個のセルで示すべき情報の種類に対応する各セルの色を前記情報の種類毎にそれぞれ設定するエンコード情報設定部、
前記情報の各種類と、前記エンコード情報設定部で設定された前記情報の各種類にそれぞれ対応する各セル群のa個のセルに設定する色との関係を示すエンコード情報を記憶するエンコード情報記憶部、
前記二次元コードで示すべき情報群を入力する情報群入力部、および、
前記エンコード情報記憶部によって記憶されたエンコード情報に基づき、前記二次元コードの各セル群のa個のセルに対して、各セル群にて示すべき情報の種類に対応するa個のセルの色を設定することで前記情報群の各情報をエンコードするエンコード部として実
現される処理をコンピュータに実行させるためのプログラムを含んでおり、
前記エンコード情報設定部は、前記各セル群で示すべき情報の種類数をb(2≦b)、b種類の情報を前記各セル群で示すのに必要な色の種類数としてc(2≦c)を決定し、前記セルに付すことが可能な色の種類数をd(d≦b)とした場合において、前記各セルの境界領域となるセパレータの色と、前記各セル群で示すべき情報の種類数bとに基づき、前記d種類の色のうち、前記セパレータに付された色との組み合わせに対して、色の認識率が比較的高い前記c種類の色を優先して用いて前記情報の各種類に対応するセル群のa個のセルの色を設定することを特徴とするエンコードプログラム。 - 請求項1乃至請求項8のいずれか1項に記載の二次元コードの領域を複数含む領域が撮影されてなる画像を取得する画像取得部と、
該画像取得部により取得された画像を、該画像に含まれるエッジ成分の分布を示すエッジ画像に変換する成分変換部と、
該成分変換部により変換されたエッジ画像から、あらかじめ定められた規則に従って形成されている領域を前記二次元コードの領域からなる候補領域として抽出する領域抽出部と、
前記二次元コードの形状に係る形状情報に基づき、前記領域抽出部で抽出された候補領域が有効な候補領域であるか否かを判定する候補領域判定部と、
前記画像取得部により取得された画像における、前記候補領域判定部により有効と判定された候補領域に対応する対応領域それぞれについて、該対応領域における前記二次元コードの各セルに対応する領域に付されている色を判定する色判定部と、
該色判定部の判定結果に基づき、前記対応領域を形成する要素に、前記二次元コードの領域を規定する特徴的なパターンが含まれているか否かを判定するパターン判定部と、
該パターン判定部により特徴的なパターンが含まれていると判定された対応領域を、前記二次元コードの領域として検出することにより、前記画像に含まれる複数の二次元コードの領域を検出可能な領域検出部と、
前記二次元コードの領域における各セルの領域に、前記色判定部が判定した色が付されているものとして、各セルの領域に付された色または色の組合せに基づいて該二次元コードの領域において示される情報を識別する情報識別部と、を備えており、
前記色判定部は、前記二次元コードの領域における各セルの領域についてピクセル毎に順次色を判定し、所定数の有効な色の判定結果を得たときに、色の判定処理が未処理の残りのピクセルについて色の判定処理を省略し、前記所定数の有効な色の判定結果に基づき各セルの領域に付された色を判定することを特徴とする二次元コードリーダ。 - 前記成分変換部による画像のエッジ画像への変換を、複数種類の変換条件のそれぞれについて順に実施させると共に、各変換条件について変換されたエッジ画像それぞれに対し、前記領域抽出部による候補領域の抽出、前記候補領域判定部による有効な候補領域の判定、前記色判定部による前記対応領域の各セルに対応する領域に付されている色の判定、前記パターン判定部による特徴的なパターンの判定、および、前記領域検出部による二次元コードの領域の検出、を繰り返し実施させる繰り返し実施処理を行う繰り返し実施部と、
特定の前記エッジ画像に対して、前記領域抽出部により抽出され、かつ、前記候補領域判定部により有効と判定された候補領域それぞれが、別のエッジ画像について前記領域抽出部が抽出し、かつ、前記候補領域判定部が有効と判定した候補領域(以降「抽出済み候補領域」という)と一致するか否かを、両方の候補領域に基づいて判定する一致判定部と、を備えており、
前記繰り返し実施部は、前記色判定部による前記対応領域の各セルに対応する領域に付されている色の判定、前記パターン判定部による特徴的なパターンを有しているか否かの判定、および、前記領域検出部による二次元コードの領域の検出、を、前記領域抽出部により抽出され、かつ、前記候補領域判定部により有効と判定された候補領域のうち、前記
一致判定部により前記抽出済み候補領域と一致しないと判定された候補領域についてのみ実施させることを特徴とする請求項11に記載の二次元コードリーダ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010221971A JP5319637B2 (ja) | 2010-09-30 | 2010-09-30 | 二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010221971A JP5319637B2 (ja) | 2010-09-30 | 2010-09-30 | 二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012078973A JP2012078973A (ja) | 2012-04-19 |
JP5319637B2 true JP5319637B2 (ja) | 2013-10-16 |
Family
ID=46239177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010221971A Active JP5319637B2 (ja) | 2010-09-30 | 2010-09-30 | 二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5319637B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017170519A1 (ja) * | 2016-03-29 | 2017-10-05 | パナソニックIpマネジメント株式会社 | 加熱調理器 |
CN111709262B (zh) * | 2020-05-19 | 2024-01-09 | 海南天鉴防伪科技有限公司 | 三维码信息智能识别方法和装置 |
CN112976825B (zh) * | 2021-03-15 | 2023-01-13 | 上海普超防伪印刷科技有限公司 | 一种基于印刷、打印实现的兼容二维码的三维码及其打印方法、识别方法及编制方法 |
CN113268207A (zh) * | 2021-05-12 | 2021-08-17 | 武汉先同科技有限公司 | 一种基于图像处理技术的打印控制方法及系统 |
CN113432285A (zh) * | 2021-06-28 | 2021-09-24 | 珠海格力电器股份有限公司 | 空调联网方法、联网装置、遥控器以及空调系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11312215A (ja) * | 1998-04-28 | 1999-11-09 | Casio Comput Co Ltd | 二次元コードデコード装置、及び記憶媒体 |
KR100341504B1 (ko) * | 1999-11-13 | 2002-06-21 | 한탁돈 | 기계로 판독가능한 코드와 그 코드의 인코딩/디코딩 방법및 장치 |
US7020327B2 (en) * | 2000-05-09 | 2006-03-28 | Colorzip Media, Inc. | Machine readable code image and method of encoding and decoding the same |
JP2007157127A (ja) * | 2005-11-11 | 2007-06-21 | Seiko Epson Corp | 印刷媒体上へのデータの記録および印刷媒体上に記録されたデータの復元 |
JP2008234032A (ja) * | 2007-03-16 | 2008-10-02 | Shift Ltd | ページ生成システム,サーバおよびプログラム |
JP5356702B2 (ja) * | 2008-03-14 | 2013-12-04 | 豊 木内 | 2次元コード復元プログラム、及び、復元サーバ |
JP4724799B2 (ja) * | 2009-01-26 | 2011-07-13 | 株式会社シフト | 画像処理システムおよびプログラム |
JP4435851B2 (ja) * | 2009-04-20 | 2010-03-24 | 広行 遠藤 | 二次元コード,二次元コードリーダおよびプログラム |
-
2010
- 2010-09-30 JP JP2010221971A patent/JP5319637B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012078973A (ja) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4724802B1 (ja) | 二次元コードリーダおよびプログラム | |
JP4724801B1 (ja) | 二次元コードリーダおよびプログラム | |
JP4333708B2 (ja) | 電子ファイルの生成においてその生成に係る入力データを処理するための方法、装置、およびコンピュータプログラム | |
US8634659B2 (en) | Image processing apparatus, computer readable medium storing program, and image processing method | |
JP4240107B2 (ja) | 領域判定方法、領域判定装置、画像処理装置、およびコンピュータプログラム | |
JP5319637B2 (ja) | 二次元コード、エンコード装置、エンコードプログラムおよび二次元コードリーダ | |
US11983910B2 (en) | Image processing system, image processing method, and storage medium each for obtaining pixels of object using neural network | |
JP2002142128A (ja) | 画像処理装置及び記録媒体 | |
US20120237121A1 (en) | Image processing device, image processing method, and storage medium for storing image processing program | |
US20090180690A1 (en) | Image searching apparatus and image searching method | |
JP4582204B2 (ja) | 画像処理装置、画像変換方法、およびコンピュータプログラム | |
JP4487000B2 (ja) | 画像処理装置、画像形成装置、画像処理方法、画像処理システム、画像処理プログラムおよびその記録媒体 | |
JP2010074342A (ja) | 画像処理装置、画像形成装置、及びプログラム | |
JP6546385B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP2005184685A (ja) | 画像処理装置、プログラムおよび記録媒体 | |
JP4724800B1 (ja) | 物品検出装置およびプログラム | |
US7130492B2 (en) | Image processing apparatus and method, and program | |
KR20120035360A (ko) | 문자 인식 장치 및 방법 | |
JP4208520B2 (ja) | 画像処理装置および画像処理方法、プログラムおよび記憶媒体 | |
JP2013065164A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2014182622A (ja) | 画像処理装置およびコンピュータプログラム | |
JP2001351068A (ja) | 文字認識装置、文字認識方法、画像処理装置、画像処理方法、並びにコンピュータ読み取り可能な記録媒体 | |
JP4973603B2 (ja) | 画像処理装置および画像処理プログラム | |
JP2016129005A (ja) | ハッシュ値生成方法及び装置、並びにプログラム | |
JP2021131784A (ja) | 画像処理システム、プログラム、画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121005 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121225 |
|
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: 20130611 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130711 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5319637 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |