(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-28
(45)【発行日】2024-06-05
(54)【発明の名称】二次元コード、二次元コード媒体、二次元コード生成方法、二次元コード生成装置及び二次元コード読取装置
(51)【国際特許分類】
G06K 19/06 20060101AFI20240529BHJP
G06K 1/12 20060101ALI20240529BHJP
G06K 7/14 20060101ALI20240529BHJP
【FI】
G06K19/06 037
G06K19/06 075
G06K1/12 A
G06K7/14 017
G06K7/14 073
(21)【出願番号】P 2020152598
(22)【出願日】2020-09-11
【審査請求日】2023-03-27
(73)【特許権者】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100095795
【氏名又は名称】田下 明人
(74)【代理人】
【識別番号】100143454
【氏名又は名称】立石 克彦
(72)【発明者】
【氏名】原 昌宏
【審査官】田名網 忠雄
(56)【参考文献】
【文献】国際公開第2015/174192(WO,A1)
【文献】特開2013-152753(JP,A)
【文献】特開2017-041161(JP,A)
【文献】特開2015-087972(JP,A)
【文献】特開平07-044643(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 19/06
G06K 1/12
G06K 7/14
(57)【特許請求の範囲】
【請求項1】
所定のコード領域の内部に情報を表示する単位となるセルが配置されてなる二次元コードであって、
前記コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数の前記セルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられ、
複数の前記データブロックのうち、一部のデータブロックには、配置された前記セルの明暗に応じてデータが記録され、残部のデータブロックには、前記セルが配置され
ず、
前記データ記録領域のうち前記一部のデータブロックが占める範囲を示す識別マークが、前記コード領域の周囲に配置されることを特徴とする二次元コード。
【請求項2】
前記コード領域の内部には、さらに、前記データブロックを複数利用して誤り訂正符号が記録される誤り訂正符号記録領域が設けられることを特徴とする請求項1に記載の二次元コード。
【請求項3】
前記一部のデータブロックのうち先頭となるデータブロックに、前記セルを配置していない前記残部のデータブロックが前記コード領域の内部に設けられていることを示す識別子が記録されることを特徴とする請求項1又は2に記載の二次元コード。
【請求項4】
前記一部のデータブロックには、セルの配列を所定の規則に基づいて変換する変換処理がなされていることを特徴とする請求項1~3のいずれか一項に記載の二次元コード。
【請求項5】
前記所定の規則に関する情報が、前記特定パターン領域に記録されることを特徴とする請求項4に記載の二次元コード。
【請求項6】
請求項1~
5のいずれか一項に記載の二次元コードが所定の媒体に表されてなることを特徴とする二次元コード媒体。
【請求項7】
所定のコード領域の内部に情報を表示する単位となるセルが配置されてなる二次元コードを所定の媒体に表して生成する二次元コード生成方法であって、
前記コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数の前記セルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域
のうち一部のデータブロックと、を
前記所定の媒体に対する印刷処理によって設け、
前記一部のデータブロックの印刷タイミングの後に、前記所定の媒体の残部のデータブロックに対して配置された前記セルを利用してデータを記録する印刷処理を行い、
前記データ記録領域のうち前記一部のデータブロックが占める範囲を示す識別マークを、前記コード領域の周囲に配置することを特徴とする二次元コード生成方法。
【請求項8】
前記コード領域の内部に、さらに、前記データブロックを複数利用して誤り訂正符号が記録される誤り訂正符号記録領域を
前記所定の媒体に対する印刷処理によって設けることを特徴とする請求項7に記載の二次元コード生成方法。
【請求項9】
前記一部のデータブロックのうち先頭となるデータブロックに、前記セルを配置していない前記残部のデータブロックが前記コード領域の内部に設けられていることを示す識別子を記録することを特徴とする請求項7又は8に記載の二次元コード生成方法。
【請求項10】
前記一部のデータブロックに対して、セルの配列を所定の規則に基づいて変換する変換処理を行うことを特徴とする請求項7~9のいずれか一項に記載の二次元コード生成方法。
【請求項11】
前記所定の規則に関する情報を、前記特定パターン領域に記録することを特徴とする請求項10に記載の二次元コード生成方法。
【請求項12】
所定のコード領域の内部に情報を表示する単位となるセルが配置されてなる二次元コードを所定の媒体に表して生成する二次元コード生成装置であって、
前記二次元コードは、前記コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数の前記セルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられ、
前記所定数のデータブロックのうち一部のデータブロックには配置された前記セルの明暗に応じてデータが記録され残部のデータブロックには前記セルが配置されない前記二次元コードを、データ分割コードとして前記所定の媒体に表すコード生成部と、
撮像部と、
前記撮像部により前記データ分割コードが撮像されているか否かについて判定する判定部と、
前記判定部により前記データ分割コードが撮像されていると判定されると、当該データ分割コードにおける前記残部のデータブロックの少なくも一部に対して前記セルを追加して配置することで新たなデータを記録するデータ追加部と、
を備えることを特徴とする二次元コード生成装置。
【請求項13】
前記コード生成部は、前記一部のデータブロックのうち先頭となるデータブロックに、前記セルを配置していない前記残部のデータブロックが前記コード領域の内部に設けられていることを示す識別子を記録することを特徴とする請求項12に記載の二次元コード生成装置。
【請求項14】
前記コード生成部は、前記一部のデータブロックに対して、セルの配列を第1の規則に基づいて変換する第1変換処理を行うことを特徴とする請求項12又は13に記載の二次元コード生成装置。
【請求項15】
前記コード生成部は、前記第1の規則に関する情報を、前記特定パターン領域に記録することを特徴とする請求項14に記載の二次元コード生成装置。
【請求項16】
前記データ追加部は、前記残部のデータブロックの少なくも一部に対して、セルの配列を第2の規則に基づいて変換する第2変換処理を行うことを特徴とする請求項12~15のいずれか一項に記載の二次元コード生成装置。
【請求項17】
前記コード生成部は、前記特定パターンの配置時に前記一部のデータブロックに対して前記セルを配置することを特徴とする請求項12~16のいずれか一項に記載の二次元コード生成装置。
【請求項18】
前記コード領域の内部に、さらに、前記データブロックを複数利用して誤り訂正符号が記録される誤り訂正符号記録領域を設けることを特徴とする請求項12~17のいずれか一項に記載の二次元コード生成装置。
【請求項19】
前記判定部により前記データ分割コードが撮像されていると判定されると、当該データ分割コードに記録される前記誤り訂正符号の復元レベルを取得する復元レベル取得部を備え、
前記データ追加部は、前記残部のデータブロックに追加して記録する前記誤り訂正符号の復元レベルを前記復元レベル取得部により取得された復元レベルに合わせることを特徴とする請求項18に記載の二次元コード生成装置。
【請求項20】
前記コード生成部は、前記データ記録領域のうち前記一部のデータブロックが占める初期データ範囲を示す識別マークを、前記コード領域の周囲に配置し、
前記データ追加部は、前記データ分割コードの撮像時に撮像された前記識別マークに基づいて前記初期データ範囲を認識することを特徴とする請求項12~19のいずれか一項に記載の二次元コード生成装置。
【請求項21】
前記データ追加部は、当該データ追加部により前記セルを追加した前記データブロックが占める追加データ範囲を示す追加識別マークを前記コード領域の周囲に配置し、前記データ分割コードの撮像時に前記追加識別マークが撮像されている場合に当該
追加識別マークに基づいて前記追加データ範囲を認識することを特徴とする請求項20に記載の二次元コード生成装置。
【請求項22】
前記識別マーク及び前記追加識別マークは、複数個所配置されることを特徴とする請求項21に記載の二次元コード生成装置。
【請求項23】
前記コード生成部及び前記データ追加部は、前記所定の媒体に対する印刷処理によって前記データブロックに前記セルを配置し、
所定の印刷位置まで搬送した前記所定の媒体を前記印刷処理時に所定の速度で搬送する搬送部と、
前記搬送部により搬送されている前記所定の媒体の位置を測定する位置測定部と、
を備え、
前記コード生成部は、前記位置測定部による測定結果に基づいて、前記所定の媒体が前記所定の印刷位置に位置していると判断した場合に前記印刷処理を開始し、
前記データ追加部は、前記撮像部により撮像された前記特定パターンの位置を利用した前記位置測定部による測定結果に基づいて、前記所定の媒体が前記所定の印刷位置に位置していると判断した場合に前記印刷処理を開始することを特徴とする請求項12~22のいずれか一項に記載の二次元コード生成装置。
【請求項24】
前記搬送部は、前記撮像部により撮像された前記データ分割コードを構成する前記セルのセルピッチに応じて前記所定の速度を変えることを特徴とする請求項23に記載の二次元コード生成装置。
【請求項25】
前記セルピッチは、前記撮像部により撮像された前記データ分割コードの前記特定パターンを利用して算出されることを特徴とする請求項24に記載の二次元コード生成装置。
【請求項26】
前記撮像部により撮像された前記データ分割コードを構成する前記セルの配列方向と前記印刷処理時の搬送方向とがなす角度を検出する角度検出部を備え、
前記データ追加部は、前記角度検出部により検出された角度が所定の角度より大きくなると前記印刷処理を中止することを特徴とする請求項23~25のいずれか一項に記載の二次元コード生成装置。
【請求項27】
前記角度検出部は、前記撮像部により撮像された前記特定パターンを構成する前記セルを利用して前記セルの配列方向を求めることを特徴とする請求項26に記載の二次元コード生成装置。
【請求項28】
前記角度検出部により検出された角度が前記所定の角度より大きくなると、前記印刷処理の中止に関する情報を報知する第1報知部を備えることを特徴とする請求項26又は27に記載の二次元コード生成装置。
【請求項29】
前記撮像部は、矩形状の撮像視野の一辺が前記印刷処理時の前記所定の媒体の搬送方向に対して平行となるように配置され、
前記データ分割コードを構成する前記セルの配列方向が前記所定の媒体の搬送方向に一致する場合に当該配列方向に直交する線上にて離れて位置することになる一対のセルを、一端側のセル及び他端側のセルとするとき、
前記撮像部により前記データ分割コードが撮像された場合に、撮像画像において前記一端側のセルと前記他端側のセルとの前記所定の媒体の搬送方向でのズレ量を検出するズレ量検出部を備え、
前記データ追加部は、前記ズレ量検出部により検出されたズレ量が所定値より大きくなると前記印刷処理を中止することを特徴とする請求項23~28のいずれか一項に記載の二次元コード生成装置。
【請求項30】
前記コード生成部は、前記セルの配列方向に沿うように前記コード領域を介して対向する一側の補助パターンと他側の補助パターンとを配置し、
前記補助パターンは、前記セルと同じ形状の補助マークを一定間隔で配列して構成され、
前記一端側のセルは、前記特定パターンを構成する1つの前記セル又は前記一側の補助パターンを構成する1つの前記補助マークであり、
前記他端側のセルは、前記特定パターンを構成する1つの前記セル又は前記他側の補助パターンを構成する1つの前記補助マークであることを特徴とする請求項29に記載の二次元コード生成装置。
【請求項31】
前記ズレ量検出部により検出されたズレ量が前記所定値より大きくなると、前記印刷処理の中止に関する情報を報知する第2報知部を備えることを特徴とする請求項29又は30に記載の二次元コード生成装置。
【請求項32】
所定のコード領域の内部に情報を表示する単位となるセルが所定の媒体に配置されてなる二次元コードを読み取る二次元コード読取装置であって、
前記二次元コードは、前記コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数の前記セルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられ、複数の前記データブロックのうち、一部のデータブロックには、配置された前記セルの明暗に応じてデータが記録され、残部のデータブロックには、前記セルが配置されず、
前記データ記録領域のうち前記一部のデータブロックが占める範囲を示す識別マークが、前記コード領域の周囲に配置され、
撮像部と、
前記撮像部により撮像された前記二次元コードの画像に対して、前記データブロックごとに当該データブロックに記録されるデータを読み取る処理を行う読取部と、
を備えることを特徴とする二次元コード読取装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、セルの配列に応じてデータを記録する二次元コード、二次元コード媒体、二次元コード生成方法、二次元コード生成装置及び二次元コード読取装置に関するものである。
【背景技術】
【0002】
近年、製造業界や食品業界等では、商品等に付した二次元コードに記録される情報をトレーサビリティ情報として利用することで、その商品等の生産から販売等までの流通経路を管理するシステムが広く普及している。このようなトレーサビリティ情報を記録する二次元コードとしては、例えば、下記特許文献1や下記特許文献2に開示されるQRコード(登録商標)が頻繁に採用されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特許4122629号公報
【文献】特許5791826号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、トレーサビリティに利用するQRコードには、その商品等の流通に関わる製造・生産会社、物流会社、卸売会社などがそれぞれ個別に管理したいデータを記録したいという要求がある。
【0005】
しかしながら、QRコードは1回印刷するとそのQRコードに対して新たなデータを追加できないため、データを追加するためには、新たなQRコードを追加印刷する必要がある。そうすると、流通経路の各段階において個別にデータを追加するためにQRコードをそれぞれ追加印刷することで、その商品等には多くのQRコードが印刷されてしまい、どのQRコードがどの会社のものか一見して把握できなくなり、管理が煩雑になるという問題がある。このため、例えば、追加するQRごとに利用する会社名等を追記することもできるが、複数のQRコードや会社名等を印刷するための印刷スペースを予め確保する必要があることから、このような印刷スペースを確保できない小型の商品等では上述のような個別管理が困難になる。
【0006】
このような要求は、トレーサビリティに利用するQRコードだけに限らず、他の管理対象に印刷するQRコードやデータマトリックスコードなどの二次元コードでも求められる場合がある。例えば、データを追加可能な磁気切符等では運用コストが比較的高くなるために、印刷処理で生成可能な二次元コードに切り替えることで低コスト化を図ろうとしても、データを追加できない二次元コードでは単純な代替が困難という問題がある。
【0007】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、生成された二次元コードに対して後からデータを追加可能な構成を提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、特許請求の範囲の請求項1に記載の発明は、
所定のコード領域(32)の内部に情報を表示する単位となるセルが配置されてなる二次元コード(31,31a~31c)であって、
前記コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数の前記セルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられ、
複数の前記データブロックのうち、一部のデータブロックには、配置された前記セルの明暗に応じてデータが記録され、残部のデータブロックには、前記セルが配置されず、
前記データ記録領域のうち前記一部のデータブロックが占める範囲を示す識別マークが、前記コード領域の周囲に配置されることを特徴とする。
【0009】
請求項7に記載の発明は、
所定のコード領域(32)の内部に情報を表示する単位となるセルが配置されてなる二次元コード(31,31a~31c)を所定の媒体(30)に表して生成する二次元コード生成方法であって、
前記コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数の前記セルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域のうち一部のデータブロックと、を前記所定の媒体に対する印刷処理によって設け、
前記一部のデータブロックの印刷タイミングの後に、前記所定の媒体の残部のデータブロックに対して配置された前記セルを利用してデータを記録する印刷処理を行い、
前記データ記録領域のうち前記一部のデータブロックが占める範囲を示す識別マークを、前記コード領域の周囲に配置することを特徴とする。
【0010】
請求項12に記載の発明は、
所定のコード領域(32)の内部に情報を表示する単位となるセルが配置されてなる二次元コード(31,31a~31c)を所定の媒体(30)に表して生成する二次元コード生成装置(10,10a)であって、
前記二次元コードは、前記コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数の前記セルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられ、
前記所定数のデータブロックのうち一部のデータブロックには配置された前記セルの明暗に応じてデータが記録され残部のデータブロックには前記セルが配置されない前記二次元コードを、データ分割コードとして前記所定の媒体に表すコード生成部(11,17)と、
撮像部(15)と、
前記撮像部により前記データ分割コードが撮像されているか否かについて判定する判定部(11)と、
前記判定部により前記データ分割コードが撮像されていると判定されると、当該データ分割コードにおける前記残部のデータブロックの少なくも一部に対して前記セルを追加して配置することで新たなデータを記録するデータ追加部(11,17)と、
を備えることを特徴とする。
【0011】
請求項32に記載の発明は、
所定のコード領域(32)の内部に情報を表示する単位となるセルが所定の媒体(30)に配置されてなる二次元コード(31,31a~31c)を読み取る二次元コード読取装置(20)であって、
前記二次元コードは、前記コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数の前記セルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられ、複数の前記データブロックのうち、一部のデータブロックには、配置された前記セルの明暗に応じてデータが記録され、残部のデータブロックには、前記セルが配置されず、前記データ記録領域のうち前記一部のデータブロックが占める範囲を示す識別マークが、前記コード領域の周囲に配置され、
撮像部(23)と、
前記撮像部により撮像された前記二次元コードの画像に対して、前記データブロックごとに当該データブロックに記録されるデータを読み取る処理を行う読取部(21)と、
を備えることを特徴とする。
なお、上記各括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示すものである。
【発明の効果】
【0012】
請求項1の発明では、コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数のセルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられる。そして、複数のデータブロックのうち、一部のデータブロックには、配置されたセルの明暗に応じてデータが記録され、残部のデータブロックには、セルが配置されない。
【0013】
このように、残部のデータブロックにはセルが配置されないので、この残部のデータブロックの少なくとも一部にセルを追加配置することで、その追加配置されたデータブロックを利用して、既に生成された二次元コードに対して後からデータを追加して記録することができる。その一方で、セルが追加配置される前では、セルが配置された一部のデータブロックから所定のデータを読み取ることができる。
【0014】
請求項2の発明では、コード領域の内部には、さらに、データブロックを複数利用して誤り訂正符号が記録される誤り訂正符号記録領域が設けられるため、誤り訂正可能な二次元コードに対してもデータを追加して記録することができる。
【0015】
請求項3の発明では、一部のデータブロックのうち先頭となるデータブロックに、セルを配置していない残部のデータブロックがコード領域の内部に設けられていることを示す識別子が記録される。これにより、この識別子を読み取った読取装置では、読取対象の二次元コードが、通常のQRコード等ではなくデータを追加可能な二次元コードであることを容易に認識することができる。
【0016】
請求項4の発明では、一部のデータブロックには、セルの配列を所定の規則に基づいて変換する変換処理がなされている。これにより、当該一部のデータブロックに関して、上記所定の規則に応じて読取装置が読み取り易いセル配置に変換することができ、読取装置では上記変換を解除する処理を行うことで上記一部のデータブロックに記録されたデータを読み取ることができる。
【0017】
請求項5の発明では、上記所定の規則に関する情報が、特定パターン領域に記録される。これにより、読取装置は、読取対象の二次元コードから上記所定の規則に関する情報を容易に取得することができる。
【0018】
請求項1の発明では、データ記録領域のうち一部のデータブロックが占める範囲を示す識別マークが、コード領域の周囲に配置される。これにより、読取装置は、撮像された識別マークに基づいて、データ記録領域のうちセルが配置された上記一部のデータブロックが占める範囲を容易に把握することができる。
【0019】
請求項6の発明により、請求項1~5のいずれか一項の発明の効果を有する二次元コードが所定の媒体に表されてなる二次元コード媒体を実現することができる。
【0020】
請求項7の発明では、請求項1と同様の効果を奏する二次元コードを生成可能な二次元コード生成方法を実現できる。
請求項8の発明では、請求項2と同様の効果を奏する二次元コードを生成可能な二次元コード生成方法を実現できる。
請求項9の発明では、請求項3と同様の効果を奏する二次元コードを生成可能な二次元コード生成方法を実現できる。
請求項10の発明では、請求項4と同様の効果を奏する二次元コードを生成可能な二次元コード生成方法を実現できる。
請求項11の発明では、請求項5と同様の効果を奏する二次元コードを生成可能な二次元コード生成方法を実現できる。
【0021】
請求項12の発明では、生成される二次元コードは、コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数のセルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられる。そして、二次元コード生成装置として、所定数のデータブロックのうち一部のデータブロックには配置されたセルの明暗に応じてデータが記録され残部のデータブロックにはセルが配置されない二次元コードをデータ分割コードとして所定の媒体に表すコード生成部と、撮像部と、撮像部によりデータ分割コードが撮像されているか否かについて判定する判定部と、判定部によりデータ分割コードが撮像されていると判定されると当該データ分割コードにおける残部のデータブロックの少なくも一部に対してセルを追加して配置することで新たなデータを記録するデータ追加部と、が設けられる。
【0022】
このため、コード生成部により生成されたデータ分割コードを撮像した読取装置は、セルが配置された一部のデータブロックから所定のデータを読み取ることができる。そして、データ追加部により残部のデータブロックの少なくも一部(データを追加したデータブロック)にセルが追加配置されたデータ分割コードを撮像した読取装置は、上記データを追加したデータブロックから追加データを読み取ることができる。すなわち、セルが追加配置されたデータブロックを利用して、既に生成された二次元コードに対して後からデータを追加して記録することができる。
【0023】
請求項13の発明では、一部のデータブロックのうち先頭となるデータブロックに、セルを配置していない残部のデータブロックがコード領域の内部に設けられていることを示す識別子を記録する。これにより、この識別子を読み取った読取装置では、読取対象の二次元コードが、通常のQRコード等ではなくデータを追加可能な二次元コードであることを容易に認識することができる。
【0024】
請求項14の発明では、コード生成部は、上記一部のデータブロックに対して、セルの配列を第1の規則に基づいて変換する第1変換処理を行う。これにより、当該一部のデータブロックに関して、上記第1の規則に応じて読取装置が読み取り易いセル配置に変換することができ、読取装置では上記変換を解除する処理を行うことで上記一部のデータブロックに記録されたデータを読み取ることができる。
【0025】
請求項15の発明では、コード生成部は、上記第1の規則に関する情報を、特定パターン領域に記録する。これにより、読取装置は、読取対象の二次元コードから上記第1の規則に関する情報を容易に取得することができる。
【0026】
請求項16の発明では、データ追加部は、上記残部のデータブロックの少なくも一部(データを追加したデータブロック)に対して、セルの配列を第2の規則に基づいて変換する第2変換処理を行う。これにより、データを追加したデータブロックに関して、上記第2の規則に応じて読取装置が読み取り易いセル配置に変換することができ、読取装置では上記変換を解除する処理を行うことでデータを追加したデータブロックに記録されたデータを読み取ることができる。
【0027】
請求項17の発明では、コード生成部は、特定パターンの配置時に上記一部のデータブロックに対してセルを配置する。これにより、例えば、特定パターンが配置された後に上記一部のデータブロックに対してセルを配置する場合には、既に配置された特定パターンの位置や向きを正確に検出する必要があるが、特定パターンの配置時に上記一部のデータブロックに対してセルを配置することで、同じ配置工程内で行うために特定パターンの位置や向きを検出する必要もないので、データ分割コードの生成精度を高めることができる。
【0028】
請求項18の発明では、コード領域の内部に、さらに、データブロックを複数利用して誤り訂正符号が記録される誤り訂正符号記録領域を設けるため、誤り訂正可能な二次元コードに対してもデータを追加して記録することができる。
【0029】
請求項19の発明では、判定部によりデータ分割コードが撮像されていると判定されることで、当該データ分割コードに記録される誤り訂正符号の復元レベルが復元レベル取得部により取得されると、データ追加部は、残部のデータブロックに追加して記録する誤り訂正符号の復元レベルを復元レベル取得部により取得された復元レベルに合わせる。これにより、一部のデータブロックの誤り訂正符号の復元レベルとデータを追加したデータブロックの誤り訂正符号の復元レベルとを容易に合わせることができる。
【0030】
請求項20の発明では、コード生成部は、データ記録領域のうち一部のデータブロックが占める初期データ範囲を示す識別マークを、コード領域の周囲に配置し、データ追加部は、データ分割コードの撮像時に撮像された識別マークに基づいて初期データ範囲を認識する。これにより、データ追加部は、データ分割コードが撮像された場合には、識別マークに基づいて初期データ範囲を認識できるので、既にセルが配置されているデータブロックに対して誤ってセルが追加配置されることを防止することができる。
【0031】
請求項21の発明では、データ追加部は、当該データ追加部によりセルを追加したデータブロックが占める追加データ範囲を示す追加識別マークをコード領域の周囲に配置し、データ分割コードの撮像時に追加識別マークが撮像されている場合に当該追加識別マークに基づいて追加データ範囲を認識する。これにより、データ追加部は、セルの追加配置によってデータを追加したデータ分割コードが撮像された場合には、追加識別マークに基づいて追加データ範囲を認識できるので、既にセルが追加配置されているデータブロックに対して誤ってセルがさらに追加配置されることを防止することができる。
【0032】
請求項22の発明では、識別マーク及び追加識別マークは、複数個所配置されるため、1個所の識別マークが認識困難に撮像される場合でも、他の場所の識別マークによって初期データ範囲を認識することができる。同様に、1個所の追加識別マークが認識困難に撮像される場合でも、他の場所の追加識別マークによって追加データ範囲を認識することができる。特に、一部の識別マークが欠損等したために他の識別マークとで認識結果が異なる場合でも、多数決等を利用することで、初期データ範囲の認識精度を高めることができる。同様に、一部の追加識別マークが欠損等したために他の追加識別マークとで認識結果が異なる場合でも、多数決等を利用することで、追加データ範囲の認識精度を高めることができる。
【0033】
請求項23の発明では、コード生成部及びデータ追加部は、所定の媒体に対する印刷処理によってデータブロックにセルを配置し、所定の印刷位置まで搬送した所定の媒体を印刷処理時に所定の速度で搬送する搬送部と、搬送部により搬送されている所定の媒体の位置を測定する位置測定部と、が設けられる。そして、コード生成部は、位置測定部による測定結果に基づいて、所定の媒体が上記所定の印刷位置に位置していると判断した場合に印刷処理を開始し、データ追加部は、撮像部により撮像された特定パターンの位置を利用した位置測定部による測定結果に基づいて、所定の媒体が上記所定の印刷位置に位置していると判断した場合に印刷処理を開始する。
【0034】
これにより、コード生成部及びデータ追加部は、位置測定部による測定結果に基づいて、所定の印刷位置まで搬送された所定の媒体に対する印刷処理によってデータブロックにセルを配置することができる。特に、データ追加部は、コード生成部によって既に印刷された特定パターンの位置を基準に上記所定の媒体やデータ分割コードの位置を把握できるので、セルを追加印刷すべきデータブロックの位置を正確に把握することができる。
【0035】
請求項24の発明では、搬送部は、撮像部により撮像されたデータ分割コードを構成するセルのセルピッチに応じて上記所定の速度(搬送速度)を変える。これにより、例えば、セルピッチが比較的小さな二次元コードに対してセルを追加印刷する際の搬送速度を、セルピッチが比較的大きな二次元コードに対してセルを追加印刷する際の搬送速度よりも小さくすることで、セルピッチが比較的小さな二次元コードであっても、配置すべきセルを正確に印刷することができる。
【0036】
請求項25の発明では、セルピッチは、撮像部により撮像されたデータ分割コードの特定パターンを利用して算出される。特定パターンは、その目的上、セルが認識しやすい形状となるため、セルピッチを精度よく算出することができる。
【0037】
請求項26の発明では、撮像部により撮像されたデータ分割コードを構成するセルの配列方向と印刷処理時の搬送方向とがなす角度が角度検出部により検出され、この検出された角度が所定の角度より大きくなると、データ追加部による印刷処理が中止される。
【0038】
データ分割コードを印刷した所定の媒体が傾いて搬送されている場合には、追加印刷されたセルが配置すべき正しい位置からずれてしまう場合がある。このため、データ分割コードにおけるセルの配列方向と搬送方向とがなす角度が所定の角度より大きくなる場合には、データ分割コードを印刷した所定の媒体が傾いて搬送されているとして印刷処理を中止することで、追加印刷されたセルが配置すべき正しい位置からずれてしまうことを防止することができる。
【0039】
請求項27の発明では、角度検出部は、撮像部により撮像された特定パターンを構成するセルを利用してセルの配列方向を求める。特定パターンは、その目的上、セルが認識しやすい形状となるため、セルの配列方向を精度よく求めることができる。
【0040】
請求項28の発明では、角度検出部により検出された角度が上記所定の角度より大きくなると、印刷処理の中止に関する情報が第1報知部により報知される。これにより、報知を受けたユーザ等は、データ分割コードを印刷した所定の媒体が傾いて搬送されているために印刷処理が中止されたことを容易に把握することができる。
【0041】
請求項29の発明では、撮像部は、矩形状の撮像視野の一辺が印刷処理時の所定の媒体の搬送方向に対して平行となるように配置される。そして、データ分割コードを構成するセルの配列方向が所定の媒体の搬送方向に一致する場合に当該配列方向に直交する線上にて離れて位置することになる一対のセルを、一端側のセル及び他端側のセルとするとき、撮像部によりデータ分割コードが撮像された場合に、撮像画像において一端側のセルと他端側のセルとの所定の媒体の搬送方向でのズレ量がズレ量検出部により検出され、この検出されたズレ量が所定値より大きくなるとデータ追加部による印刷処理が中止される。
【0042】
データ分割コードを印刷した所定の媒体が傾いて搬送されている場合には、追加印刷されたセルが配置すべき正しい位置からずれてしまう場合がある。このため、撮像画像において一端側のセルと他端側のセルとの所定の媒体の搬送方向でのズレ量が上記所定値より大きくなる場合には、データ分割コードを印刷した所定の媒体が傾いて搬送されているとして印刷処理を中止することで、追加印刷されたセルが配置すべき正しい位置からずれてしまうことを防止することができる。
【0043】
請求項30の発明では、コード生成部は、セルの配列方向に沿うようにコード領域を介して対向する一側の補助パターンと他側の補助パターンとを配置し、補助パターンは、セルと同じ形状の補助マークを一定間隔で配列して構成される。そして、一端側のセルは、特定パターンを構成する1つのセル又は一側の補助パターンを構成する1つの補助マークであり、他端側のセルは、特定パターンを構成する1つのセル又は他側の補助パターンを構成する1つの補助マークである。
【0044】
特定パターンは、その目的上、セルが認識しやすい形状となり、補助パターンは、セルと同じ形状の補助マークを一定間隔で配列して構成されるため、一端側のセル及び他端側のセルを認識しやすくなるので、上記ズレ量を精度よく検出することができる。
【0045】
請求項31の発明では、ズレ量検出部により検出されたズレ量が上記所定値より大きくなると、印刷処理の中止に関する情報が第2報知部により報知される。これにより、報知を受けたユーザ等は、データ分割コードを印刷した所定の媒体が傾いて搬送されているために印刷処理が中止されたことを容易に把握することができる。
【0046】
請求項32の発明では、読取対象となる二次元コードは、コード領域の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数のセルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、が設けられ、複数のデータブロックのうち、一部のデータブロックには、配置されたセルの明暗に応じてデータが記録され、残部のデータブロックには、セルが配置されず、データ記録領域のうち前記一部のデータブロックが占める範囲を示す識別マークが、前記コード領域の周囲に配置される。そして、撮像部により撮像された上記二次元コードの画像に対して、データブロックごとに当該データブロックに記録されるデータを読み取る処理が読取部により行われる。
【0047】
これにより、残部のデータブロックにセルが配置されていない二次元コードを撮像している場合には、セルが配置された一部のデータブロックから所定のデータを読み取ることができる。そして、追加してデータを記録するために残部のデータブロックの少なくも一部(データを追加したデータブロック)にセルが追加配置された二次元コードを撮像している場合には、上記データを追加したデータブロックから追加データを読み取ることができる。
【図面の簡単な説明】
【0048】
【
図1】第1実施形態に係る生成装置及び読取装置を備える読取システムを概略的に例示する説明図である。
【
図2】
図1の生成装置における撮像部の撮像範囲と印刷部による印刷範囲との関係を概略的に説明する説明図である。
【
図3】4つのデータブロック群が区画されたデータ分割コードを説明する説明図である。
【
図4】第1データブロック群及び第2データブロック群にセルが印刷されたデータ分割コードを説明する説明図である。
【
図5】
図4の印刷状態に対して第3データブロック群にセルが追加印刷されたデータ分割コードを説明する説明図である。
【
図6】
図5の印刷状態に対して第4データブロック群にセルが追加印刷されたデータ分割コードを説明する説明図である。
【
図7】第2実施形態において、最初に印刷されるデータブロック群に関するマスク処理を説明する説明図である。
【
図8】第2実施形態において、2番目以降に追加印刷されるデータブロック群に関するマスク処理を説明する説明図である。
【
図9】
図9(A)は、第3実施形態において、コード領域と各識別マーク配置領域との配置関係を説明する説明図であり、
図9(B)は、各識別マーク配置領域内にそれぞれ配置される識別マークの配置状態を説明する説明図である。
【
図10】第4実施形態において、生成装置の概略構成を説明する説明図である。
【
図11】印刷部による所定の印刷位置から距離Lだけ離れた撮像部の撮像中心と位置検出パターンを基準とする距離xとの関係を説明する説明図である。
【
図12】生成装置の制御部にてなされる二次元コード生成処理の流れを例示するフローチャートの一部である。
【
図13】生成装置の制御部にてなされる二次元コード生成処理の流れを例示するフローチャートの一部である。
【
図14】第1符号化処理のサブルーチンの流れを例示するフローチャートである。
【
図15】第2符号化処理のサブルーチンの流れを例示するフローチャートである。
【
図16】読取装置の制御部にてなされる二次元コード読取処理の流れを例示するフローチャートである。
【
図17】分割デコード処理のサブルーチンの流れを例示するフローチャートである。
【
図18】二次元コード読取処理によって出力されるデータの構成を説明する説明図である。
【
図19】第5実施形態において、一辺が搬送方向に平行となる撮像画像を利用した傾き角度の検出方法を説明する説明図である。
【
図20】所定の角度閾値の設定方法を例示する説明図である。
【
図21】第5実施形態において、生成装置の制御部にてなされる二次元コード生成処理の流れを例示するフローチャートの一部である。
【
図22】第6実施形態におけるデータ分割コードの要部を説明する説明図である。
【
図23】両補助パターンを利用したズレ量の検出方法を説明する説明図である。
【
図24】第6実施形態において、生成装置の制御部にてなされる二次元コード生成処理の流れを例示するフローチャートの一部である。
【
図25】第6実施形態の変形例において、特定パターンを利用したズレ量の検出方法を説明する説明図である。
【発明を実施するための形態】
【0049】
[第1実施形態]
以下、本第1実施形態に係る二次元コード、二次元コード媒体、二次元コード生成方法、二次元コード生成装置及び二次元コード読取装置について、図面を参照して説明する。
図1に示す読取システム1は、データを追加可能な二次元コード(以下、データ分割コード31ともいう)を生成する二次元コード生成装置(以下、生成装置10ともいう)と、生成装置10によって生成されたデータ分割コード31を光学的に読み取る二次元コード読取装置(以下、読取装置20ともいう)とを備えた構成をなしている。
【0050】
生成装置10は、例えばパーソナルコンピュータ等の情報処理装置として構成されており、CPU等からなる制御部11、ROM、RAM、HDD、不揮発性メモリ等の記憶装置からなる記憶部12、公知の表示装置(液晶ディスプレイやその他の表示デバイス)などからなる表示部13、キーボード、マウス、その他の入力装置からなる操作部14、撮像部15、外部装置と有線通信或いは無線通信を行うための通信インタフェースとして機能する通信部16、公知のインクジェットプリンタ等と同様のハードウェア構成をなし且つ制御部11からの印刷データに基づいてデータ分割コード31等を所定の媒体(以下、印刷媒体30ともいう)に印刷可能な印刷部17(印刷装置)等を備えている。
【0051】
撮像部15は、受光センサ(例えば、C-MOSエリアセンサ、CCDエリアセンサ等)を備えたカメラとして構成されるもので、
図2に示すように、印刷部17による所定の印刷範囲を撮像範囲に含めるように配置されている。
【0052】
このように構成される生成装置10は、後述する二次元コード生成処理によって、データを追加可能なデータ分割コード31の印刷や印刷済のデータ分割コード31に対してさらにデータを追加記録するためのセルの追加印刷を行うように機能する。
【0053】
読取装置20は、データ分割コード31を読み取るユーザが携帯するタブレット端末やスマートフォンなどの携帯型の情報端末であって、データ分割コード31から読み取った情報を画面表示等するための所定のアプリケーションプログラム(以下、読取アプリともいう)がインストールされて構成されるものである。
【0054】
この読取装置20は、
図1に示すように、CPU等からなる制御部21、ROM,RAM、不揮発性メモリなどからなる記憶部22、受光センサ(例えば、C-MOSエリアセンサ、CCDエリアセンサ等)を備えたカメラとして構成される撮像部23、液晶表示器などからなる表示部24、各種操作キーやタッチパネル等(図示略)によって構成される操作部25、外部装置と有線通信或いは無線通信を行うための通信インタフェースとして機能する通信部26等を備えている。このように構成される読取装置20は、読取アプリが起動されることで読取部として機能する制御部21にてなされる二次元コード読取処理によって、生成装置10にて生成されたデータ分割コード31を光学的に読み取るように機能する。
【0055】
次に、生成装置10の制御部11による二次元コード生成処理に応じて印刷媒体30に印刷されるデータ分割コード31について、図面を参照して説明する。
データ分割コード31は、所定のコード領域32の内部に情報を表示する単位となる正方形状のセルが明色系セル又は暗色系セルとして配置されてなる二次元コードであって、コード領域32の内部に、予め定められた形状の特定パターンが配置される特定パターン領域と、所定数(本実施形態では8個)のセルを配置可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、データブロックを複数利用して誤り訂正符号が記録される誤り訂正符号記録領域とが設けられるように構成される。上記特定パターンとしては、QRコードと同様に明色系セル及び暗色系セルを利用した、3つの位置検出パターン(ファインダパターン)33a~33c、タイミングパターン34、形式情報35等が採用されている(
図3参照)。
【0056】
特に、本実施形態に係るデータ分割コード31では、追加データも含めた記録予定のデータの個数に応じて、データ記録領域及び誤り訂正符号記録領域に配置される複数のデータブロックを用いて所定数のデータブロック群が区画される。具体的には、例えば、記録予定のデータの個数が4個である場合には、
図3に示すように、4つのデータブロック群が区画され、それぞれデータブロックに配置されるセルを利用することで、データブロック群ごとにデータ及び誤り訂正符号が記録可能になる。
【0057】
そして、4つのデータブロック群のうち1番目となる第1データブロック群の先頭となるデータブロックには、分割印刷識別子が記録される。この分割印刷識別子は、そのデータ分割コード31が上述のように所定数のデータブロック群にて区画されており、セルを配置していない残部のデータブロックがコード領域32の内部に設けられていることを示すための識別子である。分割印刷識別子として、通常のQRコードでは使用されない識別子を採用することで、分割印刷識別子の有無に応じてQRコードと区別することができる。
【0058】
このようにデータブロック群が区画されることで、一部のデータブロック群を構成する各データブロックには配置されたセルの明暗に応じてデータが記録され、残部のデータブロック群を構成する各データブロックにはセルが配置されないようにして、データ分割コード31を印刷(生成)することができる。
【0059】
例えば、
図3のように4個のデータブロック群が構成されるデータ分割コード31に関して、生成装置10の二次元コード生成処理において、第1データブロック群にユーザ用データを記録し第2データブロック群にA社用のデータを記録するようにして、
図4に示すデータ分割コード31aを所定の印刷面に印刷することができる。この場合、データ分割コード31aの第3データブロック群及び第4データブロック群を構成する各データブロックにはセルが印刷されない状態になる。
【0060】
その後、B社にて、生成装置10の二次元コード生成処理において、撮像部15によりデータ分割コード31aが撮像されていると判定されたことから、上記所定の印刷面のデータ分割コード31aに対してB社用のデータを記録するためのセルを第3データブロック群に追加印刷することで、B社用のデータが追加された
図5に示すデータ分割コード31bを生成することができる。このような追加印刷を行う二次元コード生成処理では、印刷部17による所定の印刷位置に配置されたデータ分割コード31aを撮像部15にて撮像することで得たデータ分割コード31aの読取結果に基づいて、セルを追加印刷すべき第3データブロック群の位置が把握される。なお、印刷面自体を明色系セルとして利用していることを前提に、
図5では、追加印刷した第3データブロック群の暗色系セルに対してハッチングを付している。
【0061】
そして、C社にて、生成装置10の二次元コード生成処理において、撮像部15によりデータ分割コード31bが撮像されていると判定されたことから、上記所定の印刷面のデータ分割コード31bに対してC社用のデータを記録するためのセルを第4データブロック群に追加印刷することで、C社用のデータが追加された
図6に示すデータ分割コード31cを生成することができる。この場合、データ分割コード31cの全てのデータブロック群を構成する各データブロックにセルが印刷された状態になり、一見してQRコードと同じ印刷状態となる。なお、
図6では、追加印刷した第4データブロック群の暗色系セルに対してハッチングを付している。
【0062】
すなわち、本実施形態に係る二次元コード生成方法において、
図4~
図6に示すようなデータ分割コード31を生成する場合では、複数のデータブロック群のうち第1データブロック群及び第2データブロック群(一部のデータブロック)に対して印刷(配置)されたセルを利用してデータを記録する印刷タイミング(配置タイミング)と、第3データブロック群(残部のデータブロック)に対して印刷(配置)されたセルを利用してデータを記録する印刷タイミング(配置タイミング)と、第4データブロック群(残部のデータブロック)に対して印刷(配置)されたセルを利用してデータを記録する印刷タイミング(配置タイミング)と、が異なる。
【0063】
このように、生成装置10の二次元コード生成処理によってデータ分割コード31に対してデータを追加印刷できるので、例えば、A社が製造する商品の梱包箱の印刷面を印刷媒体30とするとき、この印刷面に印刷されたデータ分割コード31に対して、後日、物流会社のB社や販売会社のC社が生成装置10を利用してそれぞれデータを追加記録することができる。なお、印刷媒体30となる上記印刷面は、データ分割コード31が所定の媒体に表されてなる「二次元コード媒体」の一例に相当し得る。
【0064】
読取装置20は、撮像したデータ分割コード31に対してなされる二次元コード読取処理によって、データ分割コード31の第1データブロック群から読み取った分割印刷識別子に基づいて各データブロック群の区画に関する情報等を取得でき、データブロック群ごとにデータを復号する処理を行う。
【0065】
このため、例えば、読取装置20にて
図4に示すデータ分割コード31aを撮像している場合には、このデータ分割コード31aの第1データブロック群及び第2データブロック群からユーザ用データ及びA社用のデータを読み取ることができる。また、例えば、読取装置20にて
図5に示すデータ分割コード31bを撮像している場合には、このデータ分割コード31bの第1データブロック群、第2データブロック群及び第3データブロック群からユーザ用データ、A社用のデータ及びB社用のデータを読み取ることができる。
【0066】
以上説明したように、本実施形態に係るデータ分割コード31では、コード領域32の内部に、予め定められた形状の特定パターンが印刷(配置)される特定パターン領域と、所定数のセルを印刷(配置)可能に構成されるデータブロックを複数利用してデータが記録されるデータ記録領域と、データブロックを複数利用して誤り訂正符号が記録される誤り訂正符号記録領域とが設けられる。そして、複数のデータブロックのうち、一部のデータブロックには、印刷(配置)されたセルの明暗に応じてデータが記録され、残部のデータブロックには、セルが印刷(配置)されない。
【0067】
このように、残部のデータブロックにはセルが印刷されないので、この残部のデータブロックの少なくとも一部にセルを追加印刷することで、その追加印刷されたデータブロックを利用して、既に生成されたデータ分割コード31に対して、例えば、データ分割コード31aに対するデータ分割コード31bのように、後からデータを追加して記録することができる。その一方で、セルが追加印刷される前では、例えば、データ分割コード31aからユーザ用データ及びA社用のデータを読み取れるように、セルが印刷された一部のデータブロックから所定のデータを読み取ることができる。
【0068】
また、コード領域32の内部には誤り訂正符号記録領域が設けられるため、誤り訂正可能なデータ分割コード31に対してもデータを追加して記録することができる。
【0069】
特に、第1データブロック群(一部のデータブロック)のうち先頭となるデータブロックに、セルを印刷(配置)していない残部のデータブロックがコード領域32の内部に設けられていることを示す分割印刷識別子が記録される。これにより、この分割印刷識別子を読み取った読取装置20では、読取対象の二次元コードが、通常のQRコード等ではなくデータを追加可能なデータ分割コード31であることを容易に認識することができる。
【0070】
[第2実施形態]
次に、第2実施形態に係る二次元コード、二次元コード媒体、二次元コード生成方法、二次元コード生成装置及び二次元コード読取装置について、図面を参照して説明する。
本第2実施形態では、追加するデータブロックごとにセルの配列を所定の規則に基づいて変換する変換処理を行う点が、上記第1実施形態等と主に異なる。したがって、第1実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【0071】
一般的に、QRコードの生成時には、セルの明暗の偏り等をなくして読み取り性能を高めるために、セルの配列(明暗)を所定のマスクパターンに基づいて変換するマスク処理(変換処理)がなされる。
【0072】
本実施形態におけるデータ分割コード31では、データブロック群単位でセルが追加印刷されることを考慮して、データブロック群ごとにセルの明暗の偏り等をなくすように選択されたマスクパターンを用いてそのデータブロック群に対してマスク処理を行う。このため、セル追加前に用いたマスクパターンとセル追加後に用いたマスクパターンとが異なる場合がある。例えば、
図4に示すデータ分割コード31aにおける第1データブロック群及び第2データブロック群のセルに対して用いたマスクパターンと、
図5に示すデータ分割コード31bにおける第3データブロック群のセルに対して用いたマスクパターンと、
図6に示すデータ分割コード31cにおける第4データブロック群のセルに対して用いたマスクパターンとが異なる場合がある。
【0073】
本実施形態では、データブロック群ごとにマスク処理に用いるマスクパターンを変更可能にするため、追加するデータブロック群の先頭のデータブロックに、そのデータブロック群に対するマスク処理に用いたマスクパターンを特定可能なマスク番号が記録される。これに対して、最初に上記特定パターンとともに印刷されるデータブロック群のマスク番号は、特定パターン領域の形式情報を利用して記録される。
【0074】
このため、最初に印刷されるデータブロック群は、
図7に示すように、分割印刷識別子と符号化したデータコードと誤り訂正符号とが、初期印刷用のマスクパターン(例えば、QRコードで用いられるマスクパターン)を利用したマスク処理によって明暗の偏りをなくすようにセルの明暗が変換されて、「マスク処理後のデータコード」と「マスク処理後の誤り訂正符号」となり、これらに応じたセルの配列が印刷される。なお、初期印刷用のマスクパターンは、「所定の規則」、「第1の規則」の一例に相当し、初期印刷用のマスクパターンを利用したマスク処理は、「第1変換処理」の一例に相当し得る。
【0075】
そして、2番目以降に追加印刷されるデータブロック群は、
図8に示すように、追加印刷用のマスクパターンによってマスク処理された符号化したデータコードの先頭にそのマスク番号を配置した「マスク処理後のデータコード」と「誤り訂正符号」となり、これらに応じたセルの配列が印刷される。なお、追加印刷用のマスクパターンは、「第2の規則」の一例に相当し、「0」「1」を利用したパターンの繰り返しで構成され、例えば、「01」の繰り返しや「0110」の繰り返し、「1110」の繰り返し、「0001」の繰り返し等を採用することができる。また、追加印刷用のマスクパターンを利用したマスク処理は、「第2変換処理」の一例に相当し得る。
【0076】
以上説明したように、本実施形態に係るデータ分割コード31では、データが記録されるデータブロック群(一部のデータブロック)には、セルの配列をマスクパターン(所定の規則)に基づいて変換するマスク処理(変換処理)がなされている。これにより、データが記録されるデータブロック群に関して、マスクパターンに応じて読取装置20が読み取り易いセル配置に変換することができ、読取装置20では上記変換を解除するマスク解除処理を行うことで上記データブロック群に記録されたデータを読み取ることができる。
【0077】
そして、初期印刷用のマスクパターン(第1の規則)に関する情報であるマスク番号が、特定パターン領域の形式情報を利用して記録される。これにより、読取装置20は、読取対象のデータ分割コード31から初期印刷用のマスクパターンに関する情報を容易に取得することができる。
【0078】
特に、2番目以降に追加印刷されるデータブロック群(データを追加したデータブロック)に対して、セルの配列を追加印刷用のマスクパターン(第2の規則)に基づいて変換するマスク処理(第2変換処理)が行われる。これにより、データを追加したデータブロック群に関して、追加印刷用のマスクパターンに応じて読取装置20が読み取り易いセル配置に変換することができ、読取装置20では上記変換を解除するマスク解除処理を行うことでデータを追加したデータブロック群に記録されたデータを読み取ることができる。
【0079】
[第3実施形態]
次に、第3実施形態に係る二次元コード、二次元コード媒体、二次元コード生成方法、二次元コード生成装置及び二次元コード読取装置について、図面を参照して説明する。
本第3実施形態では、セルが印刷されたデータブロック群を示す識別マークがコード領域の周囲に配置される点が、上記第1実施形態等と主に異なる。したがって、第1実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【0080】
本実施形態に係るデータ分割コード31は、セルが印刷されたデータブロック群を示す識別マークが、コード領域32の周囲、具体的には、コード領域32の三隅を構成する3つの位置検出パターン33a~33cのそれぞれの近傍に設けられる識別マーク配置領域41a~41c内に個別に印刷(配置)されるようにして生成される。このため、識別マークは、データ記録領域のうち印刷されたセルの明暗に応じてデータが記録されるデータブロック(一部のデータブロック)が占める範囲を示すマークとして機能する。
【0081】
4つのデータブロック群が用意されるデータ分割コード31では、各識別マーク配置領域41a~41cは、それぞれ、第1データブロック群にセルが印刷されていることを示す第1識別マーク42a、第2データブロック群にセルが印刷されていることを示す第2識別マーク42b、第3データブロック群にセルが印刷されていることを示す第3識別マーク42c、第4データブロック群にセルが印刷されていることを示す第4識別マーク42dが印刷可能に構成される。各識別マーク42a~42dは、それぞれ1つの暗色系セルによって構成され、各識別マーク配置領域41a~41c内にて同じように印刷される。
【0082】
このため、生成装置10にてなされる二次元コード生成処理では、例えば、
図9(A)に示すように、複数のデータブロック群のうち第1データブロック群及び第2データブロック群のセルが印刷される場合、
図9(B)に示すように、各識別マーク配置領域41a~41cに対して第1識別マーク42a及び第2識別マーク42bがそれぞれ印刷される。この構成では、第1識別マーク42a及び第2識別マーク42bは、データ記録領域及び誤り訂正符号記録領域を構成する複数のデータブロック群のうち最初に印刷されるデータブロック群(一部のデータブロック)が占める初期データ範囲を示す識別マークとして機能する。
【0083】
そして、第1データブロック群及び第2データブロック群のセルが印刷されたデータ分割コード31(第1識別マーク42a及び第2識別マーク42bが印刷されたデータ分割コード31)に対して二次元コード生成処理にてデータを追加する場合には、撮像部15により各識別マーク配置領域41a~41cの第1識別マーク42a及び第2識別マーク42bが撮像されることで、第3データブロック群が次に印刷すべきデータブロック群とされる。この場合には、第3データブロック群に追加データに応じたセルが印刷されるとともに、各識別マーク配置領域41a~41cに対して第3識別マーク42cがそれぞれ追加印刷される。この構成では、第3識別マーク42cは、データ記録領域及び誤り訂正符号記録領域を構成する複数のデータブロック群のうちセルを追加したデータブロック群が占める追加データ範囲を示す追加識別マークとして機能する。
【0084】
さらに、第1データブロック群、第2データブロック群及び第3データブロック群のセルが印刷されたデータ分割コード31(第1識別マーク42a、第2識別マーク42b及び第3識別マーク42cが印刷されたデータ分割コード31)に対して二次元コード生成処理にてデータを追加する場合には、撮像部15により各識別マーク配置領域41a~41cの第1識別マーク42a、第2識別マーク42b及び第3識別マーク42cが撮像されることで、第4データブロック群が次に印刷すべきデータブロック群とされる。この場合には、第4データブロック群に追加データに応じたセルが印刷されるとともに、各識別マーク配置領域41a~41cに対して第4識別マーク42dがそれぞれ追加印刷される。この構成では、第4識別マーク42dは、データ記録領域及び誤り訂正符号記録領域を構成する複数のデータブロック群のうちセルを追加したデータブロックが占める追加データ範囲を示す追加識別マークとして機能する。
【0085】
以上説明したように、本実施形態に係るデータ分割コード31では、データ記録領域のうち印刷(配置)されたセルの明暗に応じてデータが記録されるデータブロック(一部のデータブロック)が占める範囲を示す識別マーク(42a~42d)が、コード領域32の周囲に設けられる識別マーク配置領域(41a~41c)内に印刷(配置)される。
【0086】
これにより、生成装置10及び読取装置20は、撮像された識別マークに基づいて、データ記録領域のうちセルが印刷されたデータブロックが占める範囲を容易に把握することができる。
【0087】
なお、各識別マークが配置される領域は、上述した3つの識別マーク配置領域41a~41cとして設定されることに限らず、コード領域32の周囲にて1又は2以上設定することができる。また、識別マーク配置領域内に印刷(配置)される各識別マークは、上述した4つの識別マーク42a~42dのように1つの暗色系セルによって構成されることに限らず、例えば、それぞれ色が異なるカラーセルによって構成されてもよいし、それぞれ形状が異なるマークなどによって構成されてもよい。
【0088】
[第4実施形態]
次に、第4実施形態に係る二次元コード、二次元コード媒体、二次元コード生成方法、二次元コード生成装置及び二次元コード読取装置について、図面を参照して説明する。
本第4実施形態では、二次元コード生成処理時に印刷媒体30を搬送する搬送部が設けられる点が、上記第3実施形態等と主に異なる。したがって、第3実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【0089】
図10に示すように、本実施形態に係る生成装置10aは、印刷媒体30を搬送する搬送機能を有しており、上述した生成装置10に対して、搬送部18及びセンサ19をさらに備えるように構成されている。
【0090】
搬送部18は、制御部11によって制御されて、モータ18aで駆動するベルトコンベヤ18bによって、印刷部17による所定の印刷位置まで搬送した印刷媒体30を印刷処理時に所定の速度で搬送するように機能する。本実施形態では、モータ18aは等速で駆動しており、上記所定の印刷位置までの搬送速度と印刷処理時の搬送速度(送り速度)とが一致するように制御部11により制御される。
【0091】
また、ベルトコンベヤ18bのローラ18cにはエンコーダ18dが取り付けられており、このエンコーダ18dの検出値を得た制御部11によって印刷媒体30の搬送距離が計測可能となる。
【0092】
センサ19は、搬送されている印刷媒体30の位置を測定する位置測定部として機能するもので、ベルトコンベヤ18bの搬送経路上であって上記所定の印刷位置から一定距離だけ離れた位置に配置されている。このセンサ19は、印刷媒体30の通過を検知すると、所定の検知信号を制御部11に送信するように構成されている。また、本実施形態では、撮像部15は、上記所定の印刷位置とセンサ19による通過検知位置との間となる位置にて、搬送経路を搬送される印刷媒体30の印刷面を撮像可能に配置されている。
【0093】
このように構成される生成装置10aでは、制御部11にてなされる二次元コード生成処理において、センサ19から上記検知信号を受信したタイミングとエンコーダ18dの検出値とに基づいて、センサ19によって検知された印刷媒体30が撮像部15の撮像範囲内を通過する通過タイミングが算出される。この通過タイミングで撮像部15により撮像された印刷媒体30の撮像画像に基づいて、上述した各種の印刷処理が行われる。特に、上記通過タイミングにおいてデータ分割コード31が印刷された印刷媒体30が撮像された場合には、
図11に示すように、上記所定の印刷位置から距離Lだけ離れた撮像部15の撮像中心と位置検出パターンを基準とする距離xとに基づいて、データを追加すべきデータブロック群に対するセル印刷タイミングを算出する。
【0094】
以下、生成装置10aにてなされる二次元コード生成処理について、
図12~
図15に示すフローチャートを参照して具体的に詳述する。まず、印刷媒体30に対して初めてデータ分割コード31が印刷される場合について説明する。
【0095】
第1データブロック群を利用して記録すべきデータが入力等されることで、制御部11にて二次元コード生成処理が開始されると、
図12のステップS101の判定処理にて、センサ19によって印刷媒体30の通過が検知されたか否かについて判定され、上記検知信号を受信するまでNoとの判定が繰り返される。そして、搬送部18によって搬送されている印刷媒体30の通過がセンサ19によって検知されることで、上記検知信号が受信されると、印刷媒体30の通過が検知されたとして、ステップS101にてYesと判定される。
【0096】
続いて、ステップS103の通過タイミング算出処理がなされ、センサ19から上記検知信号を受信したタイミングとエンコーダ18dの検出値とに基づいて、センサ19によって検知された印刷媒体30が撮像部15の撮像範囲内を通過する通過タイミングが算出される。そして、ステップS105の印刷媒体撮像処理がなされ、上述のように算出された通過タイミングにて撮像部15から画像を取得することで、印刷媒体30の印刷面が撮像される。
【0097】
次に、ステップS107の判定処理にて、印刷媒体30にデータ分割コード31が印刷されているか否かについて判定される。この判定処理では、撮像部15による撮像画像に各位置検出パターン33a~33cが含まれている場合に、印刷媒体30にデータ分割コード31が印刷されていると判定し、撮像部15による撮像画像に位置検出パターン33a~33cが含まれていない場合には、印刷媒体30にデータ分割コード31が印刷されていないと判定される。なお、上記ステップS107の判定処理を行う制御部11は、「判定部」の一例に相当し得る。
【0098】
上述のように、印刷媒体30に対して初めてデータ分割コード31を印刷する場合には、撮像部15による撮像画像に位置検出パターン33a~33cが含まれないため、印刷媒体30にデータ分割コード31が印刷されていないと判定されると(S107でNo)、ステップS109の第1符号化処理がなされる。
【0099】
この第1符号化処理のサブルーチンでは、まず、
図14のステップS201に示す符号化処理がなされ、コード化すべきデータが符号化されてデータコードが生成される。続いて、この符号化したデータコードの直前への分割印刷識別子の付加と(S203)、符号化したデータコードの後への終端識別コードの付加(S205)、埋め草コードの付加(S207)、規定の復元レベルに応じた誤り訂正符号の付加(S209)がなされる。そして、ステップS211に示すマスクパターン選択処理がなされ、上述のように生成されたデータコード等に適したマスクパターンが上記初期印刷用のマスクパターンとして選択されて、第1符号化処理のサブルーチンが終了する。
【0100】
このように第1符号化処理のサブルーチンが終了すると、
図12のステップS111に示す第1変換処理がなされ、上述のように選択された初期印刷用のマスクパターン(第1の規則)を利用したマスク処理によって第1データブロック群に関して明暗の偏りをなくすようにセルの明暗が変換される(
図7参照)。これにより、第1データブロック群にて印刷されるセルの配列が決まる。
【0101】
続いて、形式情報が生成されるとともに(S113)、型番情報が生成されると(S115)、ステップS117の判定処理にて、上述のように算出されるセル印刷タイミングに基づいて、印刷媒体30が上記所定の印刷位置まで搬送されているか否かについて判定される。そして、上記セル印刷タイミングになったことから、印刷媒体30が上記所定の印刷位置まで搬送されていると判定されると(S117でYes)、各識別マーク配置領域41a~41c内に第1識別マーク42aがそれぞれ印刷されるとともに(S119)、コード領域32内の特定パターン領域及び第1データブロック群にセルが印刷される(S121)。これにより、第1データブロック群にデータを記録したデータ分割コード31が印刷された印刷媒体30が、生成装置10aから搬出される。なお、上記ステップS109~S121等の処理を行う制御部11及び印刷部17は、「コード生成部」の一例に相当し得る。
【0102】
次に、第1データブロック群を利用してデータが記録されたデータ分割コード31に対して、後日、別の生成装置10aにて、データを追加記録する場合について説明する。
追加記録すべきデータが入力等されることで、制御部11にて二次元コード生成処理が開始され、搬送部18によって搬送されている印刷媒体30の通過がセンサ19によって検知されると(S101でYes)、上述のように通過タイミングが算出される(S103)。このように算出された通過タイミングにて撮像部15により印刷媒体30の印刷面が撮像されると、その撮像画像にデータ分割コード31の位置検出パターン33a~33cが含まれるため、印刷媒体30にデータ分割コード31が印刷されていると判定される(S107でYes)。
【0103】
この場合には、
図13のステップS123に示すセル印刷タイミング算出処理がなされ、上述したように撮像画像における位置検出パターンの位置に基づいて、セル印刷タイミングが算出される(
図11参照)。
【0104】
次に、ステップS125に示すセルピッチ算出処理がなされて、撮像されたデータ分割コード31を構成するセルのセルピッチ(隣り合うセルの中心間距離)が算出される。特に、本実施形態では、位置検出パターン33a~33cを構成するセルを利用して、上記セルピッチが算出される。例えば、一縁が7つのセルで構成される位置検出パターンを利用する場合、位置検出パターン33aの一縁の長さW1と位置検出パターン33bの一縁の長さW2とから、セルピッチ=(W1+W2)/14として算出することができる。
【0105】
続いて、ステップS127に示す搬送速度調整処理がなされ、算出されたセルピッチに応じて搬送部18におけるモータ18aの回転速度が調整されることで、印刷媒体30の搬送速度が調整される。この調整された搬送速度は、印刷処理時での印刷媒体30の送り速度に相当するもので、例えば、セルピッチが比較的小さなデータ分割コード31に対する印刷処理時の送り速度を、セルピッチが比較的大きなデータ分割コード31よりも小さくすることで、セルピッチが比較的小さなデータ分割コード31であっても、配置すべきセルを正確に印刷することができる。
【0106】
そして、ステップS129に示す識別マーク検出処理がなされ、上述のように撮像されたデータ分割コード31の撮像画像において各識別マーク配置領域41a~41c内にて印刷される識別マークが検出される。これにより、検出された識別マークに基づいて、データを追加記録すべきデータブロック群が決定される。上述のように、第1データブロック群を利用してデータが記録されたデータ分割コード31を撮像している場合には、各識別マーク配置領域41a~41cから第1識別マーク42aがそれぞれ検出されるため、第2データブロック群がデータを追加記録すべきデータブロック群として決定される。なお、上記識別マーク検出処理では、各識別マーク配置領域41a~41cにおいて検出される識別マークが異なる場合には、検出結果を利用した多数決に応じて検出される識別マークを決めることができる。
【0107】
続いて、ステップS131に示す復元レベル取得処理がなされる。この処理では、上述のように撮像されたデータ分割コード31の形式情報から第1データブロック群の誤り訂正に関する復元レベルが取得される。なお、上記ステップS131に示す復元レベル取得処理を行う制御部11は、「復元レベル取得部」の一例に相当し得る。
【0108】
そして、ステップS133に示す第2符号化処理がなされる。この第2符号化処理のサブルーチンでは、まず、
図15のステップS213に示す符号化処理がなされ、追加記録すべきデータが符号化されてデータコードが生成される。続いて、符号化したデータコードの後への終端識別コードの付加(S215)、埋め草コードの付加(S217)がなされる。そして、ステップS219に示すマスクパターン選択処理がなされ、上述のように生成されたデータコード等に適したマスクパターンが上記追加印刷用のマスクパターンとして選択されて、第2符号化処理のサブルーチンが終了する。
【0109】
このように第2符号化処理のサブルーチンが終了すると、
図13のステップS135に示す第2変換処理がなされ、上述のように選択された追加印刷用のマスクパターン(第2の規則)を利用したマスク処理によって第2データブロック群に関して明暗の偏りをなくすようにセルの明暗が変換される(
図8参照)。続いて、上述のように形式情報から取得された復元レベルに合わせた誤り訂正符号の付加(S137)がなされることで、第2データブロック群にて印刷されるセルの配列が決まる。
【0110】
そして、ステップS139の判定処理にて、上述のように算出されるセル印刷タイミングに基づいて、印刷媒体30が上記所定の印刷位置まで搬送されているか否かについて判定される。そして、上記セル印刷タイミングになったことから、印刷媒体30が上記所定の印刷位置まで搬送されていると判定されると(S139でYes)、各識別マーク配置領域41a~41c内に追加識別マークとして第2識別マーク42bがそれぞれ印刷されるとともに(S141)、第2データブロック群にセルが追加印刷される(S143)。これにより、第2データブロック群にデータを追加記録したデータ分割コード31が印刷された印刷媒体30が、生成装置10aから搬出される。なお、上記ステップS129~S143等の処理を行う制御部11及び印刷部17は、「データ追加部」の一例に相当し得る。
【0111】
次に、印刷媒体30に印刷されたデータ分割コード31を読取装置20によって読み取る際に、制御部21にてなされる二次元コード読取処理について、
図16及び
図17に示すフローチャートを参照して具体的に詳述する。
【0112】
操作部25に対して上記読取アプリを起動するための操作等がなされることで制御部21にて二次元コード読取処理が開始されると、
図16のステップS301の撮像処理がなされて、データ分割コード31を撮像するための処理がなされる。この処理に応じて、データ分割コード31が撮像されると、その撮像画像に含まれる位置検出パターン33a~33cを利用して検出されるコード領域32内の各セルの明暗を認識するための処理がなされる(S303)。そして、コード領域32内の形式情報が復号されることで(S305)、型番が決定されると(S307)、第1データブロック群のマスク処理後のデータコードが撮像画像から取得される(S309)。
【0113】
続いて、上記型式情報から特定される初期印刷用のマスクパターンを利用して、マスクを解除するマスク解除処理がなされて(S311)、誤り訂正符号を用いた誤り訂正処理がなされてデータコードが復号されると(S313)、ステップS315の判定処理にて、その第1データブロック群に分割印刷識別子が含まれているか否かについて判定される。ここで、通常のQRコードを撮像している場合には、分割印刷識別子が含まれていないためにステップS315にてNoと判定されて、通常のQRコード等をデコードするための処理がなされる(S317)。そして、このデコードが成功すると、そのデコード結果を出力するための処理がなされる(S321)。
【0114】
一方、上述のようにデータ分割コード31を撮像していることから分割印刷識別子が含まれていると判定されると(S315でYes)、ステップS319に示す分割デコード処理がなされる。
【0115】
この分割デコード処理のサブルーチンでは、まず、第1データブロック群のデータコードが復号(テキスト変換)されると(
図17のS401)、そのデータの後にデータセパレータが付加される(S403)。そして、データブロック群の番号を示すnが2に設定された後(S405)、ステップS405の追加識別マーク確認処理がなされ、上記撮像画像において各識別マーク配置領域内にn番目の追加識別マークが印刷されているか確認するための処理がなされる(S407)。なお、各識別マーク配置領域において確認される識別マークが異なる場合には、検出結果を利用した多数決に応じて確認される識別マークを決めることができる。
【0116】
第2識別マーク42bが印刷されたデータ分割コード31を撮像していることから、追加識別マークがあると判定されると(S409でYes)、n=2番目となる第2データブロック群のマスク処理後のデータコードが撮像画像から取得される(S411)。続いて、誤り訂正符号を用いた誤り訂正処理がなされ(S413)、マスク処理後のデータコードが復号されることで、マスク番号が取得されると(S415)、このマスク番号から特定される追加印刷用のマスクパターンを利用して、マスクを解除するマスク解除処理がなされる(S417)。これにより、n=2番目となる第2データブロック群のデータコードが復号(テキスト変換)されて(S419)、そのデータの後にデータセパレータが付加されると(S421)、データブロック群の番号を示すnがインクリメント(n=n+1)される(S423)。このインクリメントされたnが分割印刷識別子から特定されるデータブロック群の総数nth以下であれば(S425でNo)、ステップS407からの処理がなされ、第3識別マーク42cが印刷されている場合には、第3データブロック群のデータコードを復号するための処理がなされる。
【0117】
上述のようにして追加識別マークが確認された全てのデータブロック群のデータコードが復号され、n番目の追加識別マークが確認されないために(S409でNo)、データセパレータのみが付加されることで、インクリメントされたnがデータブロック群の総数nthより大きくなると(S425でYes)、分割デコード処理のサブルーチンが終了する。これにより、
図18に示すように、各データブロック群のデータをデータセパレータで区別した出力データが生成されて、その出力データを出力するための処理がなされる(S321)。
【0118】
以上説明したように、本実施形態に係る生成装置10aでは、所定数のデータブロックのうち一部のデータブロックには配置されたセルの明暗に応じてデータが記録され残部のデータブロックにはセルが配置されない二次元コードをデータ分割コード31として印刷媒体(所定の媒体)30に表すコード生成部としての機能と、撮像部15と、撮像部15によりデータ分割コード31が撮像されていると判定されると当該データ分割コード31における残部のデータブロックの少なくも一部に対してセルを追加して印刷(配置)することで新たなデータを記録するデータ追加部としての機能と、が設けられる。
【0119】
このため、生成装置10aにより生成されたデータ分割コード31を撮像した読取装置20は、セルが配置された一部のデータブロックから所定のデータを読み取ることができる。そして、データ追加部により残部のデータブロックの少なくも一部(データを追加したデータブロック)にセルが追加配置されたデータ分割コード31を撮像した読取装置20は、上記データを追加したデータブロックから追加データを読み取ることができる。すなわち、セルが追加配置されたデータブロックを利用して、既に生成されたデータ分割コード31に対して後からデータを追加して記録することができる。
【0120】
特に、コード生成部は、上記一部のデータブロック(例えば、第1データブロック群)に対して、セルの配列を初期印刷用のマスクパターン(第1の規則)に基づいて変換する第1変換処理を行う。これにより、当該一部のデータブロックに関して、初期印刷用のマスクパターンに応じて読取装置20が読み取り易いセル配置に変換することができ、読取装置20では上記変換を解除する処理を行うことで上記一部のデータブロックに記録されたデータを読み取ることができる。
【0121】
さらに、コード生成部は、初期印刷用のマスクパターン(第1の規則)に関する情報を、特定パターン領域の形式情報を利用して記録する。これにより、読取装置20は、読取対象のデータ分割コード31から初期印刷用のマスクパターンに関する情報を容易に取得することができる。
【0122】
また、データ追加部は、上記残部のデータブロックの少なくも一部(データを追加したデータブロック:例えば、第3データブロック群)に対して、セルの配列を追加印刷用のマスクパターン(第2の規則)に基づいて変換する第2変換処理を行う。これにより、データを追加したデータブロックに関して、追加印刷用のマスクパターンに応じて読取装置20が読み取り易いセル配置に変換することができ、読取装置20では上記変換を解除する処理を行うことでデータを追加したデータブロックに記録されたデータを読み取ることができる。
【0123】
そして、コード生成部は、特定パターンの印刷(配置)時に上記一部のデータブロックに対してセルを印刷する(S121)。これにより、例えば、特定パターンが印刷された後に上記一部のデータブロックに対してセルを印刷する場合には、既に印刷された特定パターンの位置や向きを正確に検出する必要があるが、特定パターンの印刷時に上記一部のデータブロックに対してセルを印刷することで、同じ印刷工程内で行うために特定パターンの位置や向きを検出する必要もないので、データ分割コード31の生成精度を高めることができる。
【0124】
さらに、データ分割コード31が撮像されていると判定されることで(S107でYes)、当該データ分割コードに記録される誤り訂正符号の復元レベルが取得されると(S131)、データ追加部は、残部のデータブロックに追加して記録する誤り訂正符号の復元レベルを取得された復元レベルに合わせる(S137)。これにより、一部のデータブロックの誤り訂正符号の復元レベルとデータを追加したデータブロックの誤り訂正符号の復元レベルとを容易に合わせることができる。
【0125】
そして、コード生成部は、データ記録領域及び誤り訂正符号記録領域を構成する複数のデータブロック群のうち最初に印刷されるデータブロック群(一部のデータブロック)が占める初期データ範囲を示す識別マーク(例えば、第1識別マーク42a)を、コード領域32の周囲に設けられる各識別マーク配置領域41a~41c内に印刷(配置)し、データ追加部は、データ分割コード31の撮像時に撮像された識別マークに基づいて初期データ範囲を認識する。これにより、データ追加部は、データ分割コード31が撮像された場合には、識別マークに基づいて初期データ範囲を認識できるので、既にセルが配置されているデータブロックに対して誤ってセルが追加配置されることを防止することができる。
【0126】
さらに、データ追加部は、当該データ追加部によりセルを追加したデータブロック群が占める追加データ範囲を示す追加識別マーク(例えば、第3識別マーク42c)をコード領域32の周囲に設けられる各識別マーク配置領域41a~41c内に印刷(配置)し、データ分割コード31の撮像時に追加識別マークが撮像されている場合に当該加識別マークに基づいて追加データ範囲を認識する。これにより、データ追加部は、セルの追加配置によってデータを追加したデータ分割コード31が撮像された場合には、追加識別マークに基づいて追加データ範囲を認識できるので、既にセルが追加配置されているデータブロックに対して誤ってセルがさらに追加配置されることを防止することができる。
【0127】
また、識別マーク及び追加識別マークは、各識別マーク配置領域41a~41cを利用することで複数個所配置されるため、1個所の識別マークが認識困難に撮像される場合でも、他の場所の識別マークによって初期データ範囲を認識することができる。同様に、1個所の追加識別マークが認識困難に撮像される場合でも、他の場所の追加識別マークによって追加データ範囲を認識することができる。特に、一部の識別マークが欠損等したために他の識別マークとで認識結果が異なる場合でも、多数決等を利用することで、初期データ範囲の認識精度を高めることができる。同様に、一部の追加識別マークが欠損等したために他の追加識別マークとで認識結果が異なる場合でも、多数決等を利用することで、追加データ範囲の認識精度を高めることができる。
【0128】
そして、本実施形態に係る生成装置10aでは、所定の印刷位置まで搬送した印刷媒体30を印刷処理時に所定の速度で搬送する搬送部18と、搬送部18により搬送されている所定の媒体の位置を測定するためのセンサ19と、が設けられる。そして、コード生成部は、センサ19による測定結果に基づいて、印刷媒体30が上記所定の印刷位置に位置していると判断した場合に印刷処理を開始し、データ追加部は、撮像部15により撮像された特定パターンの位置を利用したセンサ19による測定結果に基づいて、印刷媒体30が上記所定の印刷位置に位置していると判断した場合に印刷処理を開始する。
【0129】
これにより、コード生成部及びデータ追加部は、センサ19による測定結果に基づいて、所定の印刷位置まで搬送された印刷媒体30に対する印刷処理によってデータブロックにセルを配置することができる。特に、データ追加部は、コード生成部によって既に印刷された特定パターンの位置を基準に上記印刷媒体30やデータ分割コード31の位置を把握できるので、セルを追加印刷すべきデータブロックの位置を正確に把握することができる。
【0130】
特に、搬送部18は、制御部11により制御されて、撮像部15により撮像されたデータ分割コード31を構成するセルのセルピッチに応じて上記所定の速度(搬送速度)を変える(S127)。これにより、例えば、セルピッチが比較的小さなデータ分割コード31に対してセルを追加印刷する際の搬送速度を、セルピッチが比較的大きなデータ分割コード31に対してセルを追加印刷する際の搬送速度よりも小さくすることで、セルピッチが比較的小さなデータ分割コード31であっても、配置すべきセルを正確に印刷することができる。
【0131】
そして、セルピッチは、撮像部15により撮像されたデータ分割コードの特定パターンを構成する位置検出パターンを利用して算出される。特定パターンは、その目的上、セルが認識しやすい形状となるため、セルピッチを精度よく算出することができる。なお、セルピッチは、位置検出パターンを利用して算出されることに限らず、例えば、タイミングパターンなど、他の特定パターンやセルを利用して算出されてもよい。
【0132】
[第5実施形態]
次に、第5実施形態に係る二次元コード、二次元コード媒体、二次元コード生成方法、二次元コード生成装置及び二次元コード読取装置について、図面を参照して説明する。
本第5実施形態では、データ分割コードを構成するセルの配列方向と印刷処理時の搬送方向とがなす角度が所定の角度より大きくなると印刷処理を中止する点が、上記第4実施形態等と主に異なる。したがって、第4実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【0133】
上記第4実施形態のように、データ分割コード31が印刷された印刷媒体30を印刷部17による所定の印刷位置まで搬送する構成では、ベルトコンベヤ18bへの置き方によってはデータ分割コード31を印刷した印刷媒体30が傾いて搬送されてしまい、データ分割コード31を構成するセルの配列方向と印刷処理時の搬送方向とがなす角度(以下、傾き角度θともいう)が大きくなる場合がある。このように傾き角度θが大きくなると、追加するセルの位置がズレて印刷されてしまい、読み取り不能なデータ分割コード31が印刷されてしまうおそれがある。
【0134】
そこで、本実施形態では、撮像部15によるデータ分割コード31の撮像画像を利用して特定パターンを構成するセルを利用してセルの配列方向を求め、このセルの配列方向に基づいて傾き角度θを検出し、この傾き角度θが所定の角度閾値θthよりも大きくなると、印刷処理を中止するとともにその旨を表示部13の画面表示等を用いて報知する。
【0135】
具体的には、本実施形態では、
図19に示すように、撮像部15は、矩形状の撮像視野の一辺が印刷処理時の印刷媒体30の搬送方向に対して平行となるように配置されている。このため、位置検出パターン33aの中心位置と位置検出パターン33bの中心位置とを結ぶセルの配列方向に沿う線分と搬送方向に対して直交する方向とがなす角度が傾き角度θに一致するので、傾き角度θは、両中心位置の縦方向(搬送方向に直交する方向)のずれLa及び横方向(搬送方向に沿う方向)のずれLbを利用して、
図19の式(1)によって算出することができる。
【0136】
特に、本実施形態では、所定の角度閾値θthは、
図20に例示するように、コード領域32の一端側を構成する一端側のセルC1aの中心を基準にデータ分割コード31が傾き角度θにて傾いた場合に、対応するコード領域32の他端側を構成する他端側のセルC1bが、当該他端側のセルC1bの傾かない場合における中心座標にかかる最大の角度として設定される。なお、印刷品質等が悪い場合には、所定の角度閾値θthをさらに小さく設定することもできる。
【0137】
以下、本実施形態において生成装置10aにてなされる二次元コード生成処理について、
図12及び
図21に示すフローチャートを参照して具体的に詳述する。
上述のように算出された通過タイミングにて印刷媒体30のデータ分割コード31が撮像されることで、
図12のステップS107にてYesと判定されると、セル印刷タイミングが算出されるとともに(
図21のS123)、セルピッチが算出される(S125)。
【0138】
続いて、ステップS145に示す傾き角度検出処理がなされて、上述のように傾き角度θが検出されると、ステップS147の判定処理にて、この傾き角度θが所定の角度閾値θth以下であるか否かについて判定される。ここで、データ分割コード31のセルの配列方向と印刷処理時の搬送方向とがほぼ一致しているために、検出された傾き角度θが所定の角度閾値θth以下になると(S147でYes)、上述したステップS127以降の処理がなされる。なお、上記ステップS145の傾き角度検出処理を行う制御部11は、「角度検出部」の一例に相当し得る。
【0139】
一方、データ分割コード31のセルの配列方向が印刷処理時の搬送方向に対して大きく傾いているために、検出された傾き角度θが所定の角度閾値θthよりも大きくなると(S147でNo)、印刷処理が中止される(S149)。そして、印刷処理の中止に関する情報として、傾き角度θが所定の角度閾値θthよりも大きくなったために印刷処理が中止された旨が表示部13に画面表示されて報知される(S151)。なお、表示部13は、印刷処理の中止に関する情報を報知する「第1報知部」の一例に相当し得る。
【0140】
以上説明したように、本実施形態に係る生成装置10aでは、撮像部15により撮像されたデータ分割コード31を構成するセルの配列方向と印刷処理時の搬送方向とがなす傾き角度θが検出され、この検出された傾き角度θが所定の角度閾値θthより大きくなると(S147でNo)、データ追加部による印刷処理が中止される(S149)。
【0141】
このように、データ分割コード31におけるセルの配列方向と搬送方向とがなす傾き角度θが所定の角度閾値θthより大きくなる場合には、データ分割コード31を印刷した印刷媒体30が傾いて搬送されているとして印刷処理を中止することで、追加印刷されたセルが配置すべき正しい位置からずれてしまうことを防止することができる。
【0142】
特に、撮像部15により撮像された特定パターンの両位置検出パターンを構成するセルを利用してセルの配列方向を求めて傾き角度θを検出しており、位置検出パターン等の特定パターンは、その目的上、セルが認識しやすい形状となるため、セルの配列方向、すなわち、傾き角度θを精度よく求めることができる。
【0143】
そして、検出された傾き角度θが所定の角度閾値θthより大きくなると、印刷処理の中止に関する情報が表示部13の画面表示を利用して報知される。これにより、報知を受けたユーザ等は、データ分割コード31を印刷した印刷媒体30が傾いて搬送されているために印刷処理が中止されたことを容易に把握することができる。なお、印刷処理の中止に関する情報は、音声やビープ音などを利用して報知されてもよい。
【0144】
[第6実施形態]
次に、第6実施形態に係る二次元コード、二次元コード媒体、二次元コード生成方法、二次元コード生成装置及び二次元コード読取装置について、図面を参照して説明する。
本第6実施形態では、ズレ検出用の補助パターン同士のズレ量が所定値より大きくなると印刷処理を中止する点が、上記第5実施形態等と主に異なる。したがって、第5実施形態と実質的に同一の構成部分には、同一符号を付し、その説明を省略する。
【0145】
図22に例示するように、本実施形態に係るデータ分割コード31には、コード領域32を介して対向するように一側の補助パターン36aと他側の補助パターン36bとの一対の補助パターンがズレ検出用として配置される。なお、
図22に例示するコード領域32のセル配列構成は、上述したデータ分割コード31aのコード領域32のセル配列構成に一致している。
【0146】
両補助パターン36a,36bは、それぞれセルと同じ形状の補助マークを一定間隔で配列して構成されるもので、本実施形態では、暗色系セルと明色系セルとが交互に位置するように配列されて構成される。このため、補助パターン36aの上端の暗色系セルと補助パターン36bの上端の暗色系セルとは、セルの配列方向が印刷媒体30の搬送方向に一致する場合に当該配列方向に直交する線上にて離れて位置することになる一対のセルとなる。これらの一対のセルを一端側のセルC2a及び他端側のセルC2bとするとき、撮像部15によりデータ分割コード31が撮像された場合に、撮像画像において一端側のセルC2aと他端側のセルC2bとの位置ズレに応じて搬送方向でのズレ量を検出することができる。
【0147】
具体的には、
図23に示すように、データ分割コード31が傾いた際に、撮像画像における補助パターン36aの一端側のセルC2aと補助パターン36bの他端側のセルC2bとのズレ量ΔLを検出し、このズレ量ΔLが所定値ΔLthよりも大きくなる場合に、印刷処理を中止するとともにその旨を報知することで、上記第5実施形態と同等の効果を奏する。
【0148】
このため、生成装置10aにてなされる二次元コード生成処理では、
図24に示すフローチャートのように、セルピッチが算出された後(
図24のS125)、ステップS153に示すズレ量検出処理がなされて、上述のようにズレ量ΔLが検出されると、ステップS155の判定処理にて、このズレ量ΔLが所定値ΔLth以下であるか否かについて判定される。
【0149】
ここで、ズレ量ΔLが所定値ΔLth以下になると(S153でYes)、上述したステップS127以降の処理がなされる。一方、ズレ量ΔLが所定値ΔLthよりも大きくなると(S153でNo)、印刷処理が中止されて(S149)、印刷処理の中止に関する情報として、ズレ量ΔLが所定値ΔLthよりも大きくなったために印刷処理が中止された旨が表示部13に画面表示されて報知される(S151)。なお、上記ステップS153のズレ量検出処理を行う制御部11は、「ズレ量検出部」の一例に相当し、表示部13は、印刷処理の中止に関する情報を報知する「第2報知部」の一例に相当し得る。
【0150】
以上説明したように、本実施形態に係る生成装置10aでは、撮像部15によりデータ分割コード31が撮像された場合に、撮像画像において補助パターン36aの一端側のセルC2aと補助パターン36bの他端側のセルC2bとの搬送方向でのズレ量ΔLが検出され、この検出されたズレ量ΔLが所定値ΔLthより大きくなると印刷処理が中止される。このようにしても、上記第5実施形態と同様に、追加印刷されたセルが配置すべき正しい位置からずれてしまうことを防止することができる。
【0151】
なお、一端側のセルC2aは、補助パターン36aの一部から構成されることに限らず、タイミングパターンなどの特定パターンの一部から構成されてもよい。同様に、他端側のセルC2bは、補助パターン36bの一部から構成されることに限らず、タイミングパターンなどの特定パターンの一部から構成されてもよい。例えば、
図25に示すように、補助パターン36aの一部から一端側のセルC2aを構成し、この一端側のセルC2aに対応する他端側のセルC2bをタイミングパターンの一部から構成してもよい。
【0152】
特定パターンは、その目的上、セルが認識しやすい形状となり、補助パターン36a,36bは、セルと同じ形状の補助マークを一定間隔で配列して構成されるため、一端側のセルC2a及び他端側のセルC2bを認識しやすくなるので、上記ズレ量ΔLを精度よく検出することができる。
【0153】
また、本実施形態においても、検出されたズレ量ΔLが所定値ΔLthより大きくなると、印刷処理の中止に関する情報が報知されるので、報知を受けたユーザ等は、データ分割コード31を印刷した印刷媒体30が傾いて搬送されているために印刷処理が中止されたことを容易に把握することができる。なお、印刷処理の中止に関する情報は、音声やビープ音などを利用して報知されてもよい。
【0154】
[他の実施形態]
なお、本発明は上記各実施形態及び変形例等に限定されるものではなく、例えば、以下のように具体化してもよい。
(1)本発明は、生成装置10,10aのインクジェット方式の印刷部17によって印刷されたセルを利用してデータ分割コード31を所定の媒体に表す構成に適用されることに限らず、例えば、レーザマーカを利用した印刷部によって印刷されたセルを利用してデータ分割コード31を所定の媒体に表す構成や他の方法でセルをそれぞれ配置することでデータ分割コード31を所定の媒体に表す構成に適用されてもよい。
【0155】
(2)データ分割コード31を構成するセルには、上述したように明色系セル及び暗色系セルが採用されることに限らず、例えば、カラーセルが採用されてもよい。
【0156】
(3)搬送部18は、ベルトコンベヤ18bを利用して印刷媒体30を搬送するように構成されることに限らず、ロボット等を利用して印刷媒体30を搬送するように構成されてもよい。
【0157】
(4)各データブロック群に記録されるデータは少なくとも一部が暗号化されてもよい。例えば、第1データブロック群には暗号化されていない公開データが記録され、他のデータブロック群には暗号化された非公開データが記録されてもよい。また、パスワードを変えるなどにより、セルが追加印刷されるデータブロック群ごとに異なる暗号方式で暗号化を行ってもよい。
【符号の説明】
【0158】
1…読取システム
10,10a…生成装置(二次元コード生成装置)
11…制御部(コード生成部,判定部,データ追加部,復元レベル取得部,角度検出部,ズレ量検出部)
13…表示部(第1報知部,第2報知部)
15…撮像部
17…印刷部(コード生成部,データ追加部)
18…搬送部
19…センサ(位置測定部)
20…読取装置(二次元コード読取装置)
21…制御部(読取部)
23…撮像部
30…印刷媒体(二次元コード媒体,所定の媒体)
31,31a~31c…データ分割コード(二次元コード)
32…コード領域
36a,36b…補助パターン
41a~41c…識別マーク配置領域
42a~42d…識別マーク
ΔL…ズレ量
ΔLth…所定値
θ…傾き角度
θth…所定の角度閾値