JP2018195032A - コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラム - Google Patents

コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラム Download PDF

Info

Publication number
JP2018195032A
JP2018195032A JP2017097688A JP2017097688A JP2018195032A JP 2018195032 A JP2018195032 A JP 2018195032A JP 2017097688 A JP2017097688 A JP 2017097688A JP 2017097688 A JP2017097688 A JP 2017097688A JP 2018195032 A JP2018195032 A JP 2018195032A
Authority
JP
Japan
Prior art keywords
unit
code
color
colors
pattern
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.)
Pending
Application number
JP2017097688A
Other languages
English (en)
Inventor
川上 健太郎
Kentaro Kawakami
健太郎 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017097688A priority Critical patent/JP2018195032A/ja
Publication of JP2018195032A publication Critical patent/JP2018195032A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】情報量の多いコードを生成する。
【解決手段】コード読取装置は、M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取る読取部を有する。コード読取装置は、前記中領域に含まれる色が前記C色のいずれであるかを特定する識別部を有する。また、コード読取装置は、前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部をさらに有する。
【選択図】図7

Description

本発明は、コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラムに関する。
複数の色を配置した二次元コードを利用する技術が知られている。例えば、カラーの分解能を有しない読取装置で読み取ってもカラーの二次元バーコードを解析できるようにする技術が知られている。当該技術においては、黒セルエリアおよびカラーセルエリアを有する統合二次元バーコードを生成する。カラーセルエリアには、背景の部分でないセルとして複数の色のセルを用いて特定の情報をコード化した二次元バーコードであるカラー二次元バーコードを配置する。黒セルエリアには、これらの複数の色のそれぞれのグレースケールに変換した場合の特性をコード化したモノクロの二次元バーコードであるモノクロ二次元バーコードを配置する。
また、情報コードにおけるコード領域内の少なくとも一部を、データ記録領域に記録された情報とは別の追加情報を記録可能な情報追加領域として使用できる技術も知られている。当該技術において、情報コードの内部には、予め定められた形状の特定パターンが配置される特定パターン領域と、複数種類のセルによってデータを記録するデータ記録領域とが設けられている。また、当該技術において、情報コードの内部には、データ記録領域に記録された情報とは別の追加情報を記録可能な情報追加領域も設けられている。
特開2013−41343号公報 特開2015−84199号公報
しかし、上記技術においては、生成されるコードの情報量を確保できないという問題が生じる。例えば、カラーの分解能を有しない読取装置で解析できるカラーの二次元コードにおいては、カラーに関する情報が失われる。また、情報追加領域を使用する技術においては、情報追加領域に相当する部分をデータ記録領域として利用できない。
一つの側面では、情報量の多いコードを生成できるコード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラムを提供することを目的とする。
一つの態様において、コード読取装置は、M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取る読取部を有する。コード読取装置は、前記中領域に含まれる色が前記C色のいずれであるかを特定する識別部を有する。また、コード読取装置は、前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部をさらに有する。
一つの態様によれば、情報量の多いコードを生成できる。
図1は、実施例1における二次元コードの一例を示す図である。 図2は、実施例1におけるモノクロパターン印刷前のカラーパターンの一例を示す図である。 図3は、実施例1において印刷されるモノクロパターンの一例を示す図である。 図4は、実施例1における二次元コードのセルグループの一例を示す図である。 図5は、実施例1においてエラーとなるセルグループの一例を示す図である。 図6は、実施例1におけるコード処理システムの一例を示す図である。 図7は、実施例1における管理サーバの一例を示す図である。 図8は、実施例1におけるカラーパターンDBの一例を示す図である。 図9は、実施例1における色情報テーブルの一例を示す図である。 図10は、実施例1におけるモノクロパターンDBの一例を示す図である。 図11は、実施例1におけるカラーパターン印刷装置の一例を示す図である。 図12は、実施例1におけるモノクロパターン印刷装置の一例を示す図である。 図13は、実施例1におけるコードリーダの一例を示す図である。 図14は、実施例1におけるデコード処理の一例を示す図である。 図15は、実施例1におけるモノクロパターンの印刷処理の一例を示すフローチャートである。 図16は、実施例1における読取処理の一例を示すフローチャートである。 図17は、実施例1における宅配便のトラッキングシステムの一例を示す図である。 図18は、実施例2において生成される二次元コードの一例を示す図である。 図19は、実施例2において生成される二次元コードの別の一例を示す図である。 図20は、実施例2における管理サーバの一例を示す図である。 図21は、実施例2におけるカラー情報スクランブルDBの一例を示す図である。 図22は、実施例2におけるモノクロ情報スクランブルDBの一例を示す図である。 図23は、実施例2におけるカラーパターン印刷処理の一例を示すフローチャートである。 図24は、実施例3における異なる境界線幅で印刷された二次元コードの一例を示す図である。 図25は、実施例3における管理サーバの一例を示す図である。 図26は、実施例3における印刷特性DBの一例を示す図である。 図27は、実施例3におけるモノクロパターン印刷処理の一例を示すフローチャートである。 図28は、実施例4におけるその他の二次元コードの形状の一例を示す図である。 図29は、実施例4における位置特定セルを含む二次元コードの一例を示す図である。 図30は、実施例4におけるセル配置選択画面の一例を示す図である。 図31は、コンピュータのハードウェア構成例を示す図である。
以下に、本願の開示するコード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
まず、本実施例において印刷され又は読み取られる二次元コードについて、図1乃至図5を用いて説明する。本実施例においては、複数のセルを有し、各セルが複数の色のいずれかで印刷された二次元コードを用いる。
例えば、カメレオンコード(商標)と呼ばれる二次元コードは、M行×N列の略正方形状のセルを有する略矩形状であり、各セルはマゼンダ(m)、シアン(c)、イエロー(y)、ブラック(b)の4色のうちいずれかに印刷される。
カメレオンコードにおいては、各セルの色は、例えばシアンは2進数で「00」、イエローは「01」、マゼンダは「10」、ブラックは「11」というように2ビットの情報を表現できる。すなわち、M行×N列のカメレオンコードは、2×M×Nビットの情報を表現できる。すなわち、カメレオンコードによって表現できる情報の種類の数は、カメレオンコードに含まれるセルの数に左右されるので、表現しようとする情報の種類の数に応じて、カメレオンコードのM行×N列のサイズが設定される。なお、実際にM行×N列のカメレオンコードを用いる際には、エラー訂正用の情報も記録されるので、実際に記録できる情報は2×M×Nビットより小さくなるが、以下においては説明を簡略化するため、2×M×Nビットの情報を記憶する例について説明する。
図1は、実施例1における二次元コードの一例を示す図である。図1に示すように、本実施例における二次元コード1000は、複数の略正方形状のセルが4行×8列に並べられた略矩形状のコードである。
本実施例において、二次元コード1000に含まれるそれぞれのセルは、いずれかのセルグループに属するようにグループ分けされる。本実施例におけるセルグループは、縦に並んだ4つのセルから構成される。例えば、セル1011及び1013は、セルグループ1010に属する。すなわち、本実施例に示す二次元コードにおいて、一つの列が一つのセルグループを構成する、なお、セルは小領域の一例であり、セルグループは中領域の一例である。
本実施例において、各セルは、それぞれマゼンダ、シアン又はイエローのいずれか1つの色が印刷され、又はブラックで塗り潰される。例えば、セル1013にはマゼンダが印刷され、セル1024にはシアンが印刷され、セル1031にはイエローが印刷される。また、セル1011はブラックで塗り潰されている。なお、以下の説明において、別途説明する場合を除き、セル1013と同様の網掛けが付されたセルはマゼンダで印刷されたセルであり、セル1024と同様の網掛けが付されたセルはシアンで印刷されたセルである。また、別途説明する場合を除き、セル1031と同様に網掛けが付されていないセルはイエローで印刷されたセルであり、セル1011と同様に塗り潰されたセルはブラックで印刷されたセルである。なお、マゼンダ、シアン及びイエローは、C色の一例であり、ブラックは所定の色の一例である。
本実施例において、図1に示すような二次元コードは、例えば各セルグループがマゼンダ、シアン又はイエローの色で印刷された図2に示すようなカラーパターンが印刷された台紙に、ブラックの領域を含むモノクロパターンを上書き印刷することにより生成される。図2は、実施例1におけるモノクロパターン印刷前のカラーパターンの一例を示す図である。なお、以下において、カラーパターン及びモノクロパターンを区別せずに表現する場合、単に「パターン」と表記する場合がある。
図2に示すように、モノクロパターン印刷前のカラーパターン2000においては、縦一列に並んだセルグループに属する全てのセルが、それぞれマゼンダ、シアン及びイエローのうちいずれかの色に印刷されている。例えば、セルグループ2010に含まれる全てのセルにはマゼンダが印刷され、セルグループ2030に含まれる全てのセルにはイエローが印刷され、セルグループ2080に含まれる全てのセルにはシアンが印刷される。
図3は、実施例1において印刷されるモノクロパターンの一例を示す図である。図3に示すモノクロパターン3000は、ブラックで塗り潰されるセルと、塗り潰されないセルとの組み合わせを含む。例えば、セル3011はブラックで塗り潰されるが、セル3031はブラックで塗り潰されない。また、セル間の境界線3099も、所定の太さでブラックに塗り潰される。
図3に示すようなモノクロパターンを、図2に示すようなカラーパターンが印刷された台紙に上書き印刷することにより、図1に示すような二次元コードが印刷される。例えば、図1に示すセル1011は、モノクロパターン3000により上書き印刷されるのでブラックで塗り潰されるが、セル1031はモノクロパターン3000により上書き印刷されないのでイエローのまま変更されない。
なお、本実施例における二次元コードに含まれるセルグループの数、及びセルグループに含まれるセルの数も、カメレオンコードのサイズと同様に、カラーパターン及びモノクロパターンのそれぞれにおいて表現しようとする情報の種類の数に応じて設定される。本実施例においては、4行×8列の32個のセルを含む二次元コードについて説明するが、二次元コードに含まれるセルの数は、これに限られない。
図4は、実施例1における二次元コードのセルグループの一例を示す図である。図4において、(a)は図1において最も左側に位置するセルグループ1010を切り出したものであり、(b)乃至(h)は、それぞれ図1における左から2番目に位置するセルグループ乃至最も右側に位置するセルグループを切り出したものである。
図4に示すいずれのセルグループ(a)乃至(h)においても、少なくともいずれか1つのセルは、ブラックで上書きされることなく、図2に示すカラーパターンにおいて印刷された色を保持している。すなわち、本実施例における二次元コードにおいては、各セルグループは、必ずシアン、マゼンダ及びイエローのうちいずれか1つの色に関する情報を保持する。例えば、本実施例において、後に説明するコードリーダ400が、色に関する情報を保持しないセルグループを含む二次元コード、又は複数の色に関する情報を保持するセルグループを含む二次元コードを読み取ると、エラーが発生する。
図5は、実施例1においてエラーとなるセルグループの一例を示す図である。例えば、図5の(x)に示すように、セルグループに含まれる全てのセルがブラックで印刷された場合、セルグループが色の情報を保持しないため、エラーとなる。また、例えば図5の(y)及び(z)に示すように、セルグループに含まれる各セルが、それぞれブラック以外の異なる色で印刷された場合、セルグループが複数の色の情報を保持するため、エラーとなる。
このように、本実施例においては、グループ分けされたセル別にカラー印刷された台紙に、グループ内で1セル以上残しつつ所定セルを塗り潰すモノクロ印刷を行うので、カラーとモノクロを併用した情報量の多いコードを生成できる。
[機能ブロック]
次に、本実施例におけるコード処理システムについて、図6を用いて説明する。図6は、実施例1におけるコード処理システムの一例を示す図である。図6に示すコード処理システム1は、管理サーバ100と、カラーパターン印刷装置200と、モノクロパターン印刷装置300と、コードリーダ400とを有する。
本実施例において、管理サーバ100は、カラーパターン印刷装置200、モノクロパターン印刷装置300及びコードリーダ400と、無線又は有線の通信にて通信可能に接続される。例えば、図6に示す管理サーバ100は、カラーパターン印刷装置200及びモノクロパターン印刷装置300と有線通信ネットワークを通じて接続され、コードリーダ400と無線通信ネットワークを通じて接続される。
なお、図6においては、カラーパターン印刷装置200、モノクロパターン印刷装置300及びコードリーダ400をそれぞれ1台ずつ含むコード処理システム1を示したが、実施の形態はこれに限られない。例えば、コード処理システム1が、複数のカラーパターン印刷装置200a乃至200n、モノクロパターン印刷装置300a乃至300n及びコードリーダ400a乃至400n(nは2以上の任意の自然数)を含むような構成であってもよい。
本実施例におけるコード処理システム1は、例えば宅配便事業者と、宅配便事業者の顧客であり、荷物を発送する複数の発送事業者との間で用いられる。本実施例において生成される二次元コードは、宅配便の伝票に付され、発送事業者を一意に識別する発送元番号と、各発送事業者が発送する荷物及び配達先受取者を一意に識別する荷物番号とを含む宅配便の伝票番号を表現する。本実施例において、発送元番号は宅配便事業者により事前に割当てられ、また荷物番号は、発送事業者が荷物を配送する度に発行される。以下においては、カラーパターンが発送元番号を表現し、各発送事業者が発送する荷物及び配達先受取者を一意に識別する荷物番号を表現する場合について説明する。
図6に示す管理サーバ100は、カラーパターンと発送元番号との間でのエンコード及びデコードを行う。また、管理サーバ100は、荷物番号を新たに発行するとともに、モノクロパターンと、各パターンで表現される識別番号との間でのエンコード及びデコードを行う。管理サーバ100は、例えば宅配便事業者が管理する。
管理サーバ100は、カラーパターン印刷装置200から発送元番号を含むカラーパターンの出力要求を受け付けると、発送元番号をカラーパターンにエンコードした結果を出力する。また、管理サーバ100は、モノクロパターン印刷装置300から出力要求を受け付けると、新たに荷物番号を発行するとともに、荷物番号をモノクロパターンにエンコードした結果を出力する。さらに、管理サーバ100は、コードリーダ400から二次元コードの読取結果を受信すると、読取結果に対応するパターンをデコードして、デコード結果を送信する。
図6に示すカラーパターン印刷装置200は、例えば宅配便事業者が管理する。カラーパターン印刷装置200は、図示しない操作者から発送元番号に対応するカラーパターンの印刷指示を受け付けると、管理サーバ100に発送元番号を含むカラーパターンの出力要求を送信する。カラーパターン印刷装置200は、管理サーバ100からエンコードされたカラーパターンを受信すると、例えば図2に示すようなカラーパターンを台紙に印刷する。
図6に示すモノクロパターン印刷装置300は、例えば各発送事業者が管理する。モノクロパターン印刷装置300は、図示しない操作者からモノクロパターンの印刷指示を受け付けると、管理サーバ100にモノクロパターンの出力要求を送信する。モノクロパターン印刷装置300は、管理サーバ100から荷物番号に対応するモノクロパターンを受信すると、例えば図3に示すようなモノクロパターンを、宅配便事業者から配布される、図2に示すようなカラーパターンが印刷された台紙に上書き印刷する。
図6に示すコードリーダ400は、例えば宅配便事業者の集荷担当者、配送センターの担当者及び配達担当者が携帯する端末である。コードリーダ400は、図1に示すような二次元コードを読み取ると、読取結果を管理サーバ100に送信する。コードリーダ400は、管理サーバ100から読み取った二次元コードのデコード結果を受信して出力する。
次に、本実施例における管理サーバの一例について、図7を用いて説明する。図7は、実施例1における管理サーバの一例を示す図である。図7に示すように、本実施例における管理サーバ100は、通信部110と、記憶部120と、制御部130とを有する。
通信部110は、有線又は無線を問わず、カラーパターン印刷装置200、モノクロパターン印刷装置300、コードリーダ400など、その他のコンピュータ等との通信を制御する。通信部110は、例えばNIC(Network Interface Card)等の通信インタフェース等である。
記憶部120は、例えば制御部130が実行するプログラムなどの各種データなどを記憶する。また、記憶部120は、カラーパターンDB121及びモノクロパターンDB122を有する。記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
カラーパターンDB121は、カラーパターンと、カラーパターンにより表現される情報とを対応付けて記憶する。図8は、実施例1におけるカラーパターンDBの一例を示す図である。図8に示すように、カラーパターンDB121は、例えば、「色情報」と、「変換後データ」と、「発送元番号」とを対応付けて記憶する。なお、カラーパターンDB121に記憶される情報は、例えば図示しない管理サーバ100の管理者により入力される。
図8において、「色情報」は、二次元コードに印刷されるカラーパターンの並びを示す。図8に示す例は、縦一列のセルグループが、横に並んだカラーパターンにおける、各列のセルグループの色の並びを示す。例えば色情報が「mmmmmmmy」である場合、一番左の列から7番目の列までの7つの列は「マゼンダ」であり、一番右側の列は「イエロー」であることを示す。
図8において、「変換後データ」は、色情報に示す色に対応する数値を示す。「発送元番号」は、変換後データに対応する、発送事業者の発送元番号を示す。
本実施例における変換後データは、マゼンダ、シアン、イエローの3色に合わせた3進数で示される。変換後データは、例えば図9に示すような色情報テーブルに示す各色に対応する。図9は、実施例1における色情報テーブルの一例を示す図である。図9に示すように、本実施例において、マゼンダ(m)は「0」に、シアン(c)は「1」に、イエロー(y)は「2」に、それぞれ対応する。すなわち、図8に示すように、例えば色情報が「mmmmmmmc」である場合の変換後データは「00000001」であり、色情報が「yyyyyyyy」である場合の変換後データは「22222222」である。
なお、本実施例においてカラーパターンDB121に含まれるレコードの数、すなわちカラーパターンによって表現できる情報の種類の数は、最大で3のN乗(Nは1つのカラーパターンに含まれるセルグループの数)である。
図6に戻って、モノクロパターンDB122は、モノクロパターンと、モノクロパターンにより表現される情報とを対応付けて記憶する。図10は、実施例1におけるモノクロパターンDBの一例を示す図である。図10に示すように、モノクロパターンDB122は、例えば、「1行目」、「2行目」、「3行目」及び「4行目」の各項目と、「変換後データ」とを対応付けて記憶する。なお、モノクロパターンDB122に記憶される情報は、例えば図示しない管理サーバ100の管理者により入力される。
図10において、「1行目」乃至「4行目」は、二次元コードの各セルグループにおける各セルを示す。図10に示す例は、縦一列のセルグループに含まれる、上から1行目、2行目、3行目及び4行目の各セルに対応する。「1行目」乃至「4行目」は、それぞれのセルが塗り潰されるか否かを記憶する。図10において、「黒(b)」は、当該セルに「黒(b:ブラック)」で上書き印刷されることを示し、「黒以外」は、当該セルに上書き印刷がされない、すなわちカラーパターンのマゼンダ、シアン又はイエローの色が残ることを示す。
図10において、「変換後データ」は、1行目乃至4行目の各セルを黒に塗り潰すか否かのパターンの組み合わせに対応する数値を示す。本実施例においては、変換後データは、「黒(b)」が「0」に、「黒以外」が「1」に対応する2進数で示される。すなわち、1行目乃至3行目が「黒(b)」であり、4行目が「黒以外」である場合の変換後データは「0001」となる。
なお、本実施例において、1つのセルグループがM個のセルを含む場合、モノクロパターンDB122に含まれるレコードの数、すなわちモノクロパターンによって表現できる情報の種類の数は、最大で(2^M−1)である。なお、2のM乗から1を引くのは、当該セルグループに含まれる色を特定できなくなるため、セルグループに含まれる全てのセルが「黒(b)」となるレコードを除外することを示す。
また、本実施例における二次元コードは、複数のセルグループを含むので、二次元コードのモノクロパターンにより表現される情報は、各セルグループの変換後データを演算した値となる。例えば、N個のセルグループを含み、1つのセルグループがM個のセルを含む二次元コードのモノクロパターンにより表現される情報MIは、以下のような式(1)により求められる。なお、以下の式(1)において、M(x)はx番目のセルグループのモノクロパターンをデコードした値を示す。
MI = (2^M−1)^(N−1)*M(1)+(2^M−1)^(N−2)*M(2)+…(2^M−1)^0*M(N) … 式(1)
図7に戻って、制御部130は、管理サーバ100の全体的な処理を司る処理部である。制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。
制御部130は、受付部131、エンコード部132及びデコード部133を有する。なお、受付部131、エンコード部132及びデコード部133は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
受付部131は、カラーパターン印刷装置200、モノクロパターン印刷装置300及びコードリーダ400からの要求に対応する。
例えば、受付部131は、通信部110を通じて、カラーパターン印刷装置200からカラーパターンの出力要求を受信すると、出力要求に含まれる発送元番号をエンコード部132に出力する。受付部131は、エンコード部132からエンコードされたパターンの出力を受けると、エンコードされたパターンを、通信部110を通じてカラーパターン印刷装置200又はモノクロパターン印刷装置300に出力する。
例えば、受付部131は、通信部110を通じて、モノクロパターン印刷装置300からモノクロパターンの出力要求を受信すると、荷物番号を新たに発行し、エンコード部132に出力する。受付部131は、エンコード部132からエンコードされたパターンの出力を受けると、エンコードされたパターンを、通信部110を通じてカラーパターン印刷装置200又はモノクロパターン印刷装置300に出力する。
また、受付部131は、通信部110を通じて、コードリーダ400から二次元コードの読取結果を受信すると、読取結果をデコード部133に出力する。受付部131は、デコード部133からデコード結果の出力を受けると、通信部110を通じてデコード結果をコードリーダ400に出力する。
次に、エンコード部132は、発送元番号又は荷物番号をパターンにエンコードする。エンコード部132は、受付部131から発送元番号の入力を受けると、カラーパターンDB121を参照し、発送元番号に対応する変換後データを取得する。次に、エンコード部132は、変換後データに対応する色情報を、エンコード結果として受付部131に出力する。なお、エンコード部132は、第1決定部の一例である。
また、エンコード部132は、受付部131から荷物番号の入力を受けた場合、荷物番号を(2^M−1)進法に変換する。そして、エンコード部132は、モノクロパターンDB122を参照し、変換された各桁の数値に対応する変換後データを取得する。次に、エンコード部132は、各桁の変換後データに対応する塗り潰しに関する情報を、エンコード結果として受付部131に出力する。
次に、デコード部133は、二次元コードの読取結果をデコードする。デコード部133は、受付部131から二次元コードの読取結果の入力を受けると、カラーパターンDB121を参照し、読取結果に含まれるカラーパターンに対応する変換後データを特定する。
また、デコード部133は、モノクロパターンDB122を参照し、読取結果に含まれるモノクロパターンに対応する、各セルグループの変換後データを特定する。次に、デコード部133は、各セルグループの変換後データを、例えば式(1)を用いて演算した結果に対応する荷物番号を算出する。そして、デコード部133は、変換後データに対応する発送元番号及び算出された荷物番号を合成して、デコード結果として受付部131に出力する。
次に、本実施例におけるカラーパターン印刷装置200の一例について、図11を用いて説明する。図11は、実施例1におけるカラーパターン印刷装置の一例を示す図である。図11に示すように、本実施例におけるカラーパターン印刷装置200は、通信部210と、操作部211と、表示部212と、カラープリンタ213と、記憶部220と、制御部230とを有する。
通信部210は、有線又は無線を問わず、管理サーバ100など、その他のコンピュータ等との通信を制御する。通信部210は、例えばNIC等の通信インタフェース等である。
操作部211は、図示しないカラーパターン印刷装置200の操作者から各種操作を受け付ける入力デバイスであり、例えばキーボードやマウス等である。操作部211は、操作者によって入力された、発送元番号などの情報や、印刷指示などの操作情報を、制御部230に出力する。
表示部212は、各種情報を表示するための表示デバイスであり、例えば液晶ディスプレイ等の表示デバイスである。表示部212は、制御部230から出力されたカラーパターンへのエンコード結果等の各種画面を表示する。なお、操作部211と表示部212とを一体化して、例えばタッチパネル等によって実現してもよい。
カラープリンタ213は、制御部230から出力されたカラーパターンを、台紙に印刷する。
記憶部220は、例えば制御部230が実行するプログラムなどの各種データなどを記憶する。記憶部220は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
制御部230は、カラーパターン印刷装置200の全体的な処理を司る処理部である。制御部230は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部230は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部230は、取得部231及びパターン出力部232を有する。なお、取得部231及びパターン出力部232は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
取得部231は、カラーパターンを取得する。取得部231は、例えば操作部211を通じて発送元番号の入力を受け付けると、通信部210を通じて管理サーバ100に発送元番号を含む出力要求を送信する。取得部231は、エンコードされたカラーパターンを管理サーバ100から取得して、パターン出力部232に出力する。
パターン出力部232は、取得したカラーパターンを出力する。パターン出力部232は、例えば取得したカラーパターンを表示部212を通じて表示させる。そして、パターン出力部232は、操作部211を通じて印刷指示の操作情報を受け付けると、カラープリンタ213に、取得したカラーパターンを印刷させる。
次に、本実施例におけるモノクロパターン印刷装置300の一例について、図12を用いて説明する。図12は、実施例1におけるモノクロパターン印刷装置の一例を示す図である。図12に示すように、本実施例におけるモノクロパターン印刷装置300は、通信部310と、操作部311と、表示部312と、モノクロプリンタ313と、記憶部320と、制御部330とを有する。
通信部310は、有線又は無線を問わず、管理サーバ100など、その他のコンピュータ等との通信を制御する。通信部310は、例えばNIC等の通信インタフェース等である。
操作部311は、図示しないモノクロパターン印刷装置300の操作者から各種操作を受け付ける入力デバイスであり、例えばキーボードやマウス等である。操作部311は、操作者によって入力された印刷指示などの操作情報を、制御部330に出力する。
表示部312は、各種情報を表示するための表示デバイスであり、例えば液晶ディスプレイ等の表示デバイスである。表示部312は、制御部330から出力されたモノクロパターンへのエンコード結果等の各種画面を表示する。なお、操作部311と表示部312とを一体化して、例えばタッチパネル等によって実現してもよい。
モノクロプリンタ313は、制御部330から出力されたモノクロパターンを、台紙に印刷する。
記憶部320は、例えば制御部330が実行するプログラムなどの各種データなどを記憶する。記憶部320は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
制御部330は、モノクロパターン印刷装置300の全体的な処理を司る処理部である。制御部330は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部330は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部330は、取得部331及びパターン出力部332を有する。なお、取得部331及びパターン出力部332は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
取得部331は、モノクロパターンを取得する。取得部331は、例えば操作部311を通じて印刷指示を受け付けると、通信部310を通じて管理サーバ100に出力要求を送信する。取得部331は、エンコードされたモノクロパターンを管理サーバ100から取得して、パターン出力部332に出力する。
パターン出力部332は、取得したモノクロパターンを出力する。パターン出力部332は、例えば取得したモノクロパターンを表示部312を通じて表示させるとともに、モノクロプリンタ313に、取得したモノクロパターンを印刷させる。
次に、本実施例におけるコードリーダ400の一例について、図13を用いて説明する。図13は、実施例1におけるコードリーダの一例を示す図である。図13に示すように、本実施例におけるコードリーダ400は、通信部410と、操作部411と、カメラ412と、表示部413と、記憶部420と、制御部430とを有する。なお、コードリーダ400は、例えば専用の端末であるが、これに限られず、スマートフォン等の汎用のコンピュータにアプリケーションを実行させることにより実現させるような構成であってもよい。
通信部410は、有線又は無線を問わず、管理サーバ100など、その他のコンピュータ等との通信を制御する。通信部410は、例えばNIC等の通信インタフェース等である。
操作部411は、図示しないコードリーダ400の操作者から各種操作を受け付ける入力デバイスであり、例えばキーボードやマウス等である。操作部411は、操作者によって入力された読取指示などの操作情報を、制御部430に出力する。
カメラ412は、二次元コードを撮影する。カメラ412は、制御部430から撮影指示が出力されると、図1に示すような二次元コードの画像を取得して、制御部430に出力する。
表示部413は、各種情報を表示するための表示デバイスであり、例えば液晶ディスプレイ等の表示デバイスである。表示部413は、制御部430から出力された、二次元コードのデコード結果やエラー情報等の各種画面を表示する。なお、操作部411と表示部413とを一体化して、例えばタッチパネル等によって実現してもよい。
記憶部420は、例えば制御部430が実行するプログラムなどの各種データなどを記憶する。記憶部420は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
制御部430は、コードリーダ400の全体的な処理を司る処理部である。制御部430は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部430は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部430は、コード取得部431、カラーパターン特定部432、モノクロパターン特定部433及び結果出力部434を有する。なお、コード取得部431、カラーパターン特定部432、モノクロパターン特定部433及び結果出力部434は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
コード取得部431は、撮影された二次元コードの画像を取得する。コード取得部431は、例えば操作部411を通じて読取指示を受け付けると、カメラ412に撮影指示を出力する。コード取得部431は、カメラ412から二次元コードの画像を取得すると、取得した画像に含まれるセルの数、各セルの色の種類などの情報を特定する。そして、コード取得部431は、特定した情報とともに、取得した画像をカラーパターン特定部432及びモノクロパターン特定部433に出力する。なお、コード取得部431は、読取部の一例である。
カラーパターン特定部432は、画像から二次元コードのカラーパターンを特定する。なお、カラーパターン特定部432は、識別部の一例である。
カラーパターン特定部432は、二次元コードの画像及びセルの数等の情報の出力を受けると、各セルグループが保持する色情報を特定する。例えば、カラーパターン特定部432は、セルグループに含まれるセルが、マゼンダ、シアン及びイエローのうち、いずれか1つの色情報を含むか否かを判定する。カラーパターン特定部432は、各セルグループが保持する色情報を結合したカラーパターンを、結果出力部434に出力する。
モノクロパターン特定部433は、画像から二次元コードのモノクロパターンを出力する。なお、モノクロパターン特定部433は、判定部の一例である。
モノクロパターン特定部433は、二次元コードの画像及びセルの数等の情報の出力を受けると、各セルがブラックで塗り潰されているか否かを判定する。なお、モノクロパターン特定部433は、ブラックで塗り潰されていないセルが、マゼンダ、シアン又はイエローのいずれの色であるかを特定しなくともよい。モノクロパターン特定部433は、各セルがブラックで塗り潰されているか否かを示す塗り潰し情報を結合したモノクロパターンを、結果出力部434に出力する。
結果出力部434は、二次元コードのデコード結果を取得して出力する。結果出力部434は、カラーパターン及びモノクロパターンを含む読取結果を、通信部410を通じて管理サーバ100に送信する。結果出力部434は、管理サーバ100から読取結果に対応するデコード結果を受信すると、デコード結果を表示部413に表示させる。
本実施例におけるコードリーダ400及び管理サーバ100によるデコード処理について、図14を用いて説明する。図14は、実施例1におけるデコード処理の一例を示す図である。例えば、図14に示すような二次元コード1000が読み取られた場合、コードリーダ400のカラーパターン特定部432は、各セルグループが保持する色情報4000を出力する。また、モノクロパターン特定部433は、セルグループごとに、各セルがブラックで塗り潰されているか否かを示す塗り潰し情報5000を出力する。結果出力部434は、出力された色情報4000及び塗り潰し情報5000を含む読取結果を、管理サーバ100に送信する。
管理サーバ100のデコード部133は、読取結果に含まれる各セルグループの色情報4000を、例えばカラーパターンDB121を参照してデコードし、3進法のデコード結果4100を取得する。そして、デコード部133は、カラーパターンDB121を参照して、デコード結果4100に対応する発送元番号「1261」を特定する。
また、デコード部133は、読取結果に含まれる各セルの塗り潰し情報5000を、例えばモノクロパターンDB122を参照してデコードする。次に、デコード部133は、デコードされた各セルグループの変換後データ5100を、例えば式(1)を用いて演算することにより、荷物番号を算出する。
図14に示す変換後データ5100を演算する場合、式(1)におけるMは「4」であり、Nは「8」となる。すなわち、以下の式(2)により、図14に示す変換後データ5100から、荷物番号「240,840,601」が求められる。
MI = 15^7*1+15^6*6+15^5*2+15^4*2+15^3*5+15^2*2+15^1*10+15^0*1
= 170,859,375+68,343,750+1,518,750+101,250+16,875+450+150+1
= 240,840,601
[処理の流れ]
次に、本実施例における処理について、図15及び図16を用いて説明する。図15は、実施例1におけるモノクロパターンの印刷処理の一例を示すフローチャートである。図15に示すように、モノクロパターン印刷装置300の取得部331は、例えば操作部311を通じて印刷指示を受け付けるまで待機する(S1:No)。
取得部331は、印刷指示を受け付けたと判定した場合(S1:Yes)、通信部310を通じてモノクロパターンの出力要求を管理サーバ100に送信する。
管理サーバ100の受付部131は、通信部110を通じてモノクロパターン印刷装置300からモノクロパターンの出力要求を受信すると、エンコードする情報として、新たに荷物番号を生成する(S11)。受付部131は、生成した荷物番号を、出力要求とともにエンコード部132に出力する。エンコード部132は、出力された荷物番号を15進数に変換する(S12)。次に、エンコード部132は、モノクロパターンDB122を参照して、変換された荷物番号の各桁に対応する変換後データを特定する。そして、エンコード部132は、特定された変換後データを組み合わせることにより、モノクロパターンを生成して、受付部131に出力する(S13)。受付部131は、生成されたモノクロパターンを、モノクロパターン印刷装置300に送信する。
モノクロパターン印刷装置300の取得部331は、通信部110を通じてモノクロパターンを取得すると、パターン出力部332に出力する。パターン出力部332は、モノクロプリンタ313を通じてモノクロパターンを印刷し(S14)、処理を終了する。
次に、生成された二次元コードの読取処理について説明する。図16は、実施例1における読取処理の一例を示すフローチャートである。図16に示すように、コードリーダ400のコード取得部431は、操作部411を通じて読取指示を受け付けるまで待機する(S100:No)。コード取得部431は、読取指示を受け付けたと判定した場合(S100:Yes)、カメラ412を通じて、二次元コードの画像を取得する(S101)。コード取得部431は、取得した二次元コードの画像を、カラーパターン特定部432及びモノクロパターン特定部433に出力する。
カラーパターン特定部432は、セルグループのカラーパターンを特定して、結果出力部434に出力する(S102)。また、モノクロパターン特定部433は、セルのモノクロパターンを特定して、結果出力部434に出力する(S103)。そして、結果出力部434は、出力されたカラーパターン及びモノクロパターンを含む読取結果を、通信部410を通じて管理サーバ100に送信する。
管理サーバ100の受付部131は、通信部110を通じて読取結果を受信し、デコード部133に出力する。デコード部133は、カラーパターンDB121を参照して、カラーパターンをデコードする(S111)。また、デコード部133は、モノクロパターンDB122を参照して、モノクロパターンをデコードする(S112)。そして、デコード部133は、デコード結果を合成して、受付部131に出力する(S120)。受付部131は、出力されたデコード結果を、通信部110を通じてコードリーダ400に送信する。
コードリーダ400の結果出力部434は、通信部410を通じてデコード結果を受信すると、表示部413にデコード結果を出力し(S121)、処理を終了する。
次に、本実施例におけるコード処理システム1の実装例について説明する。図17は、実施例1における宅配便のトラッキングシステムの一例を示す図である。図17に示すように、管理サーバ100及びカラーパターン印刷装置200は、宅配便事業者6000により管理される。また、複数のモノクロパターン印刷装置300a及び300bは、複数の発送事業者7000a及び7000bにより、それぞれ管理される。複数のコードリーダ400a乃至400cは、宅配便事業者の集荷担当者6100、宅配便事業者の配送センター6200及び宅配便事業者の配送担当者6300により、それぞれ管理される。
本トラッキングシステムにおいて、管理サーバ100は、カラーパターンDB121及びモノクロパターンDB122に加えて、伝票DB123及び荷物状態DB124をさらに有する。伝票DB123は、二次元コードのカラーパターンが表現する発送元番号と、モノクロパターンが表現する荷物番号とを含む伝票番号に対応する荷物の発送事業者、配達先受取者等の情報を記憶する。荷物状態DB124は、伝票番号に対応する荷物の位置や、トラック積載待ちや配達完了等の荷物の状態に関する情報を記憶する。
また、本トラッキングシステムにおいて、コードリーダ400a乃至400cは、GPS(Global Positioning System)等の位置情報を特定する機能をさらに有する。コードリーダ400a乃至400cは、読取結果に加えて、位置情報も管理サーバ100に送信する。
本トラッキングシステムにおけるカラーパターン印刷装置200は、発送事業者7000a及び7000bのそれぞれに対して、異なるカラーパターンが印刷された台紙2000a及び2000bを印刷して発行する。例えば、台紙2000aには、発送事業者7000aの発送元番号「1262」を示すカラーパターンが印刷され、台紙2000bには、発送事業者7000bの発送元番号「1261」を示すカラーパターンが印刷される。
なお、図17に示すように、カラーパターンの各セルグループに含まれるセルの数が、発送事業者に応じて異なるような構成であってもよい。本実施例においては、発送事業者7000bに対しては、1つのセルグループが3つのセルを含むカラーパターンが印刷された台紙2000bを発行する。例えば、台紙2000bに印刷されたカラーパターンにモノクロパターンを上書き印刷する場合のモノクロパターンは、(2^3−1)^8=7^8=5,764,801パターンの情報を表現できる。
発送事業者7000aは、新たに荷物を配送する際に、例えばモノクロパターン印刷装置300aを用いて、管理サーバ100に荷物番号の発行を要求する。台紙2000aに、荷物番号に対応するモノクロパターンを上書き印刷して、二次元コード1000aを生成し、宅配便の伝票に貼付する。同様に、発送事業者7000bは、モノクロパターン印刷装置300bを用いて、台紙2000bに荷物番号に対応するモノクロパターンを上書き印刷して、二次元コード1000bを生成し、宅配便の伝票に貼付する。
伝票に貼付された二次元コード1000a及び1000bは、集荷時、配送センターにおける仕分け時及び配達時などに、コードリーダ400a乃至400cにより読み取られ、位置情報及び荷物の状態に関する情報とともに管理サーバ100に送信される。管理サーバ100は、読取結果をデコードして伝票番号を特定するとともに、受信した位置情報並びに荷物の状態に関する情報を用いて荷物状態DB124を更新する。
また、配達先受取者9000は、例えば発送事業者7000a又は7000bから事前に伝票番号の通知を受けた場合、管理サーバ100に対して、携帯端末800を通じて、伝票番号に対応する荷物の位置や状態を問い合わせることができる。
[効果]
以上説明したように、本実施例におけるコード読取装置は、M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取る読取部を有する。本実施例におけるコード読取装置は、前記中領域に含まれる色が前記C色のいずれであるかを特定する識別部を有する。また、本実施例におけるコード読取装置は、前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部をさらに有する。これにより、管理サーバは、情報量の多いコードを生成できる。
以下において、発送元番号4桁と、配送先番号6桁の合計10桁からなる宅配便の伝票番号に二次元コードを採用する場合について説明する。4桁の発送元番号は、最大で「0000」から「9999」までの1万パターンを取る。また、6桁の配送先番号は、最大で「000000」から「999999」までの100万パターンを取る。
例えば、モノクロの二次元コードを用いた場合、2の14乗=16,384パターンで、4桁の発送元番号の全てのパターンを再現でき、2の20乗=1,048,576パターンで6桁の配送先番号の全てのパターンを再現できる。すなわち、14個+20個=34個のセルからなるモノクロの二次元コードを用いれば、発送元番号4桁と、配送先番号6桁の合計10桁からなる宅配便の伝票番号を全て再現することができる。この場合、各発送元の発送事業者は、34個のセルのうち、14個のセルに予め発送元番号を示すパターンが印刷された二次元コードを宅配便事業者から受領し、20個のセルに配送先番号を示すパターンを印刷する。
一方、本実施例における二次元コードを採用する場合、例えば発送元番号4桁を3色のカラーパターンを用いて再現し、配送先番号6桁をモノクロパターンを用いて再現する。この場合において、3の9乗=19,683パターンで4桁の発送元番号全てを再現できる。すなわち、4桁の発送元番号全てを再現するには、9個のカラーパターンを用意すればよい。
また、9個のカラーパターンを含む二次元コードにおいては、5の9乗=1,953,125パターンで、6桁の配送先番号全てを再現できる。すなわち、1つのカラーパターンで5つのモノクロパターンを再現できれば、6桁の配送先番号全てを再現できる。1つのカラーパターンは、2の3乗−1=7パターンで、5つのモノクロパターンを再現できる。この場合、6桁の配送先番号全てを再現するには、1つのカラーパターンが3個のセルを含んでいればよい。
すなわち、本実施例における二次元コードは、3セル×9カラーパターンの27個のセルを含んでいれば、発送元番号4桁と、配送先番号6桁の合計10桁からなる宅配便の伝票番号を全て再現することができる。
以上説明したように、本実施例における二次元コードを用いると、同じ情報量を、モノクロの二次元コードを用いた場合よりも少ないセル数で再現できる。言い換えると、本実施例における二次元コードは、同じセル数あたり、モノクロの二次元コードよりも多くの情報を再現することができる。
また、本実施例における二次元コードを用いる場合、各発送元の企業は、予め発送元番号を示すカラーパターンが印刷された二次元コードに対してモノクロ印刷ができるプリンタを用意すればよい。このため、各発送元の企業は、カラー印刷ができるプリンタがなくとも伝票を印刷できるので、プリンタの導入コストを節減できる。
実施例1においては、縦一列に並んだ複数のセルが一つのセルグループを形成し、各セルグループ中では、上のセルから下のセルへと番号付けされる。また、実施例1においては、カラーパターン分けされたセルグループが、左から右へと番号付けされる。しかし、二次元コードにおけるセル及びセルグループの配置は、これに限られない。また、情報をエンコードする際に、各セルグループの順序及びセルグループ内の各セルの順序をランダムに変更するような構成であってもよい。
実施例2においては、セル及びセルグループの配置が異なる二次元コードについて説明する。図18は、実施例2において生成される二次元コードの一例を示す図である。図18に例示する二次元コード1100は、カラーパターン2100に、モノクロパターン3100を上書き印刷することにより生成される。
なお、カラーパターン2100における「M−N」の数字は、「セルグループ内のセル番号−セルグループ番号」を示す。例えば、セルグループ2150の左上のセルに示された「1−5」は、「第5セルグループ内の第1セル」であることを示す。
図18におけるカラーパターン2100の各セルグループは、縦に並んだ4つのセルを含む略矩形状ではなく、縦横各2列に並んだ4つのセルを含む略正方形状である点が実施例1におけるカラーパターン2000とは異なる。また、例えばセルグループ2150においては、第1セル「1−5」は左上に配置され、第2セル「2−5」、第3セル「3−5」及び第4セル「4−5」は、それぞれそこから時計回りに配置される。すなわち、二次元コードにおける第5セル1150は、第1セル及び第4セルが塗り潰されていることを示す。
一方、例えばセルグループ2180においては、第1セル「1−8」は左下、第2セル「2−8」は右下、第3セル「3−8」は右上、第4セル「4−8」は左上となっており、その他のセルグループについてもセルの並びはそれぞれ異なる。このように、本実施例においては、各セルグループの形状、並びにセルグループ内における各セルの配置を実施例1で示した例から変更してもよい。
さらに別の例について、図19を用いて説明する。図19は、実施例2において生成される二次元コードの別の一例を示す図である。図19に示す二次元コード1200は、カラーパターン2200に、モノクロパターン3200を上書き印刷することにより生成される。
図19に示す二次元コード1200も、二次元コード1000及び1100と同様に、4個のセルを含む8個のセルグループを含み、合計32個のセルを含む。しかし、二次元コード1200は略矩形状ではなく、凸部を有する形状である。さらに、カラーパターン2200に示すように各セルグループの配置もランダムである。
図19に示す二次元コード1200におけるセル及びセルグループの配置は、例えばセル配置図7125により示される。セル配置図7125において、例えば第1セルグループの各セル「1−1」、「2−1」、「3−1」及び「4−1」は、互いに辺を接することなくランダムに配置される。このように、本実施例においては、各セルグループに含まれるセルの配置をさらに変更してもよい。
[機能ブロック]
本実施例における図示しないコード管理システム2は、管理サーバ7100、カラーパターン印刷装置7200、モノクロパターン印刷装置7300及びコードリーダ7400を含む。図20は、実施例2における管理サーバの一例を示す図である。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。また、本実施例におけるカラーパターン印刷装置7200、モノクロパターン印刷装置7300及びコードリーダ7400については図示を省略する。
図20に示すように、本実施例における管理サーバ7100は、通信部110と、記憶部7120と、制御部7130とを有する。記憶部7120は、例えば制御部7130が実行するプログラムなどの各種データなどを記憶する。また、記憶部7120は、カラー情報スクランブルDB7121、モノクロ情報スクランブルDB7122及びセル配置図7125を有する。記憶部7120は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
カラー情報スクランブルDB7121は、各セルグループのカラーパターンの並びと、エンコードされる前の情報との対応関係を記憶する。図21は、実施例2におけるカラー情報スクランブルDBの一例を示す図である。図21に示すように、カラー情報スクランブルDB7121は、「第1セルグループ」乃至「第8セルグループ」と、「変換後データ」と、「スクランブル後データ」とを対応付けて記憶する。
図21において、「第1セルグループ」乃至「第8セルグループ」は、各セルグループにおいて特定される色を記憶する。なお、本実施例においては各セルグループが左から右へと順番に並んでいるとは限らないことに対応するため、実施例1におけるカラーパターンDB121の色情報とは異なり、セルグループごとに個別に色を記憶する。
図21において、「変換後データ」は、各セルグループにおいて特定される色に対応する数値を示す。また、「スクランブル後データ」は、「変換後データ」に示す数値をスクランブルした数値を記憶する。
本実施例において、後に説明するデコード部7133が二次元コードからカラーパターンを読み取った結果を用いてデコードを行う際、変換後データではなく、スクランブル後データをデコード結果として出力する。例えば、読み取られたカラーパターンの色情報が「mmmmmmmy」である場合、第1セルグループ乃至第7セルグループが「m」であり、第8セルグループのみが「y」であるため、変換後データは「00000002」となる。しかし、本実施例においては変換後データの「00000002」ではなく、スクランブル後データである「11111111」をデコード結果として出力する。
なお、後に説明するエンコード部7132が、発送元番号をカラーパターンにエンコードする際には、変換後データではなく、スクランブル後データが発送元番号と一致するレコードを特定する。例えば、3進法に変換した発送元番号が「11111111」である場合、エンコード部7132は、変換後コードが「11111111」であるカラーパターン「cccccccc」には変換しない。エンコード部7132は、スクランブル後データが「11111111」であるレコードを特定し、発送元番号を当該レコードが記憶するカラーパターン「00000001」にエンコードする。
このように、スクランブルされた情報をエンコード及びデコードの際に用いることにより、エンコード前の発送元番号と、エンコードされたカラーパターンとの対応関係を秘匿できる。
次に、モノクロ情報スクランブルDB7122は、セルグループ内の各セルのモノクロパターンと、エンコードされる前の情報との対応関係を記憶する。図22は、実施例2におけるモノクロ情報スクランブルDBの一例を示す図である。図22に示すように、モノクロ情報スクランブルDB7122は、「第1セル」乃至「第4セル」と、「変換後データ」と、「スクランブル後データ」とを対応付けて記憶する。
図22において、「第1セル」乃至「第4セル」は、セルグループ内の各セルを示す。なお、本実施例においては各セルグループが上から下へと順番に並んでいるとは限らないことに対応するため、モノクロ情報スクランブルDB7122は、実施例1におけるモノクロパターンDB122とは異なり、各セルを行の順番ではない形で記憶する。
図22において、「変換後データ」は、第1セル乃至第4セルのモノクロパターンに対応する数値を示す。また、「スクランブル後データ」は、「変換後データ」に示す数値をスクランブルした数値を記憶する。
本実施例において、デコード部7133が二次元コードからモノクロパターンを読み取った結果を用いてデコードを行う際も、カラーパターンのデコードの場合と同様に、変換後データではなく、スクランブル後データをデコード結果として出力する。例えば、読み取られたモノクロパターンが、「黒以外」、「黒以外」、「黒以外」、「黒(b)」である場合、変換後データは「0001」となる。しかし、本実施例においては変換後データの「0001」ではなく、スクランブル後データである「0101」をデコード結果として出力する。
同様に、エンコード部7132が、荷物番号をモノクロパターンにエンコードする際も、変換後データではなく、スクランブル後データが荷物番号と一致するレコードを特定する。例えば、15進法に変換した荷物番号の第1桁が「0011」である場合、エンコード部7132は、変換後コードが「0011」であるモノクロパターンには変換しない。エンコード部7132は、スクランブル後データが「0011」であるレコードを特定し、発送元番号を当該レコードが記憶する変換後データ「1110」に対応するモノクロパターンにエンコードする。
次に、制御部7130は、管理サーバ7100の全体的な処理を司る処理部である。制御部7130は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部7130は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部7130は、受付部7131、エンコード部7132及びデコード部7133を有する。なお、受付部7131、エンコード部7132及びデコード部7133は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
受付部7131は、エンコード部7132からエンコードされたパターン、及び各パターンにおけるセルの配置に関する情報の出力を受ける。受付部7131は、パターン及び配置に関する情報を、通信部110を通じてカラーパターン印刷装置200又はモノクロパターン印刷装置300に出力する。
また、受付部7131は、通信部110を通じて、後に説明するコードリーダ7400から二次元コードの読取開始要求を受信すると、セル配置図7125を参照して、セルの配置に関する情報を取得し、コードリーダ7400に送信する。その後、受付部7131は、コードリーダ7400から読取結果を受信し、以下受付部131と同様の処理を行う。
エンコード部7132は、発送元番号又は荷物番号をパターンにエンコードするとともに、パターンに該当するセルの配置に関する情報を取得する。エンコード部7132は、受付部7131から発送元番号の入力を受けると、カラー情報スクランブルDB7121を参照し、発送元番号に対応するスクランブル後データを取得する。また、エンコード部7132は、セル配置図7125を参照して、発送元番号に対応するセルの配置に関する情報を取得する。次に、エンコード部7132は、スクランブル後データに対応するレコードの「第1セルグループ」乃至「第8セルグループ」に記憶する色情報を、エンコード結果として受付部7131に出力する。さらに、エンコード部7132は、セルの配置に関する情報も、エンコード結果とともに受付部7131に出力する。
また、エンコード部7132は、受付部7131から荷物番号の入力を受けた場合、荷物番号を(2^M−1)進法に変換する。そして、エンコード部7132は、モノクロ情報スクランブルDB7122を参照し、変換された各桁の数値に対応するスクランブル後データを取得する。次に、エンコード部7132は、各桁の変換後データに対応する塗り潰しに関する情報を、エンコード結果として受付部7131に出力する。
次に、デコード部7133は、二次元コードの読取結果をデコードする。デコード部7133は、受付部7131から二次元コードの読取結果の入力を受けると、カラー情報スクランブルDB7121を参照し、読取結果に含まれるカラーパターンに対応するスクランブル後データを特定する。
また、デコード部7133は、モノクロ情報スクランブルDB7122を参照し、読取結果に含まれるモノクロパターンに対応する、セルグループごとのスクランブル後データを特定する。次に、デコード部7133は、セルグループごとのスクランブル後データを、例えば式(1)を用いて演算した結果に対応する荷物番号を算出する。そして、デコード部7133は、スクランブル後データに対応する発送元番号及び算出された荷物番号を合成して、デコード結果として受付部7131に出力する。
次に、本実施例におけるカラーパターン印刷装置7200は、通信部210と、操作部211と、表示部212と、カラープリンタ213と、記憶部220と、制御部7230とを有する。
制御部7230は、カラーパターン印刷装置7200の全体的な処理を司る処理部である。制御部7230は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部7230は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部7230は、取得部7231及びパターン出力部7232を有する。なお、取得部7231及びパターン出力部7232は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
取得部7231は、カラーパターン及びセルの配置に関する情報を取得する。取得部7231は、例えば操作部211を通じて発送元番号の入力を受け付けると、通信部210を通じて管理サーバ7100に発送元番号を含む出力要求を送信する。取得部7231は、エンコードされたカラーパターン及びセルの配置に関する情報を管理サーバ7100から取得して、パターン出力部7232に出力する。
パターン出力部7232は、取得したカラーパターンを出力する。パターン出力部7232は、例えばセルの配置に関する情報に従って配置したカラーパターンを、表示部212を通じて表示させる。そして、パターン出力部7232は、カラープリンタ213に、セルの配置に関する情報に従って配置したカラーパターンを印刷させる。
次に、本実施例におけるモノクロパターン印刷装置7300は、通信部310と、操作部311と、表示部312と、モノクロプリンタ313と、記憶部320と、制御部7330とを有する。
制御部7330は、モノクロパターン印刷装置7300の全体的な処理を司る処理部である。制御部7330は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部7330は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部7330は、取得部7331及びパターン出力部7332を有する。なお、取得部7331及びパターン出力部7332は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
取得部7331は、モノクロパターン及びセルの配置に関する情報を取得する。取得部7331は、例えば操作部211を通じて印刷指示を受け付けると、通信部310を通じて管理サーバ7100に発送元番号を含む出力要求を送信する。取得部7331は、エンコードされたモノクロパターン及びセルの配置に関する情報を管理サーバ7100から取得して、パターン出力部7332に出力する。
パターン出力部7332は、取得したモノクロパターンを出力する。パターン出力部7332は、例えばセルの配置に関する情報に従って配置したモノクロパターンを、表示部312を通じて表示させる。そして、パターン出力部7332は、モノクロプリンタ313に、セルの配置に関する情報に従って配置したモノクロパターンを印刷させる。
次に、本実施例におけるコードリーダ7400は、通信部410と、操作部411と、カメラ412と、表示部413と、記憶部420と、制御部7430とを有する。
制御部7430は、コードリーダ7400の全体的な処理を司る処理部である。制御部7430は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部7430は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部7430は、コード取得部7431、カラーパターン特定部7432、モノクロパターン特定部7433及び結果出力部434を有する。コード取得部7431、カラーパターン特定部7432、モノクロパターン特定部7433及び結果出力部434は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
コード取得部7431は、撮影された二次元コードの画像を取得するとともに、セルの配置に関する情報を取得する。コード取得部7431は、例えば操作部411を通じて読取指示を受け付けると、通信部410を通じて管理サーバ7100に配置取得要求を出力する。コード取得部7431は、管理サーバ7100からセルの配置に関する情報を取得すると、カメラ412に撮影指示を出力する。コード取得部431は、カメラ412から二次元コードの画像を取得すると、取得した画像に含まれるセルの数、色の種類などの情報を特定する。そして、コード取得部431は、特定した情報と、セルの配置に関する情報ともに、取得した画像をカラーパターン特定部432及びモノクロパターン特定部433に出力する。
カラーパターン特定部7432は、画像から二次元コードのカラーパターンを特定する。カラーパターン特定部7432は、二次元コードの画像及びセルの数等の情報並びにセルの配置に関する情報の出力を受けると、各セルグループに含まれるセルの位置を特定し、各セルグループが保持する色情報を特定する。
モノクロパターン特定部7433は、画像から二次元コードのモノクロパターンを出力する。モノクロパターン特定部7433は、二次元コードの画像及びセルの数等の情報並びにセルの配置に関する情報の出力を受けると、各セルグループに含まれるセルの位置を特定し、各セルがブラックで塗り潰されているか否かを判定する。
[処理の流れ]
次に、本実施例におけるカラーパターン印刷処理について、図23を用いて説明する。図23は、実施例2におけるカラーパターン印刷処理の一例を示すフローチャートである。図23に示すように、カラーパターン印刷装置7200の取得部7231は、操作部211を通じて印刷指示を受け付けるまで待機する(S201:No)。コード取得部431は、印刷指示を受け付けたと判定した場合(S201:Yes)、操作部211を通じて、発送元番号などのエンコードする情報を取得する(S211)。そして、コード取得部7431は、エンコードする情報を含むカラーパターンの出力要求を管理サーバ7100へ送信する。
管理サーバ7100の受付部7131は、通信部110を通じてエンコードする情報を含むカラーパターンの出力要求を受信し、エンコード部7132に出力する。エンコード部7132は、エンコードする情報のサイズを判定し(S212)、サイズに応じたセルグループ数を決定する(S213)。
次に、エンコード部7132は、モノクロパターンにエンコードする情報のサイズを特定する(S214)。そして、エンコード部7132は、特定した情報のサイズと、決定したセルグループ数とに基づいて、各セルグループに含まれるセルの数を決定する(S215)。
次に、エンコード部7132は、エンコードする情報に基づいて、各セルグループの色情報を決定する(S220)。また、エンコード部7132は、セル配置図7125を参照して、各セルグループの配置、及びセルグループ中の各セルの番号、並びにカラーパターンの形状等を決定する(S221)。そして、エンコード部7132は、カラーパターンを生成し(S230)、受付部7131に出力する。受付部7131は、生成されたカラーパターンを、カラーパターン印刷装置7200に送信する。
カラーパターン印刷装置7200の取得部7231は、通信部210を通じてモノクロパターンを取得すると、パターン出力部7232に出力する。パターン出力部7232は、カラープリンタ213を通じてカラーパターンを印刷し(S231)、処理を終了する。
[効果]
以上説明したように、本実施例においては、セルの配置に関する情報に基づいて、セルグループの配置及びセルグループ内の各セルの順番を決定する。また、本実施例においては、情報のエンコード及びデコードの際に、情報に対するスクランブルを行う。これにより、略矩形状以外のレイアウトにも対応する二次元コードを生成できる。また、エンコードされる情報を秘匿することができる。
なお、カラー情報スクランブルDB7121及びモノクロ情報スクランブルDB7122に記憶されるスクランブル後データが、任意のタイミングで更新されるような構成であってもよい。また、スクランブル後データが複数パターン登録されるような構成であってもよい。このような構成においては、例えばどのタイミングで更新されたスクランブル後データを用いるか、又はいずれのスクランブル後データを用いるかを特定する情報をさらに二次元コードに記憶させるような構成であってもよい。これにより、二次元コードからデコード後の情報を推定することをより困難にすることができる。
また、コードリーダ7400が、セルの配置に関する情報を予め記憶するような構成であってもよい。この場合において、二次元コードが、セルの配置に関する情報をさらに含むような構成であってもよい。かかる構成によれば、コードリーダ7400は、管理サーバ7100からセルの配置に関する情報を受信しなくとも、セルグループ及びセルがランダムに配置された二次元コードを読み取ることができる。
ところで、モノクロパターンを印刷する際に、セルとセルとの間の境界線も合わせて印刷する場合がある。この場合において、モノクロパターンを印刷するプリンタの印刷特性の違いによっては、印刷されるモノクロパターンにずれが生じることがある。
例えば、プリンタによって印刷する線の幅が異なる場合、ブラックでセルを印刷する際に、隣接する他のセルまでブラックに印刷してしまい、逆に境界線の太さを十分確保できないこともある。このように、モノクロパターンにおける境界線の印刷にずれが生ずると、コードリーダでの二次元コードの読取時に誤認識されるおそれがある。
図24は、実施例3における異なる境界線幅で印刷された二次元コードの一例を示す図である。図24において、たとえば(a)は、境界線の幅が狭く、かつ所定の位置よりずれて印刷される場合の二次元コードの一例を示し、(b)は、境界線の幅が広い場合の二次元コードの一例を示す。(a)の二次元コードにおいては、隣接するセルとの間に境界線が印刷されていない箇所があり、セルの色情報を正しく読み取れない場合がある。また、(b)の二次元コードにおいては、逆にセルの内部にまでブラックの境界線が印刷されているため、塗り潰されていないセルにおいても、塗り潰されていると誤認識されるおそれがある。
そこで、本実施例においては、モノクロパターンを印刷するプリンタの印刷特性に応じたモノクロパターンを生成する構成について説明する。
[機能ブロック]
本実施例における図示しないコード管理システム3は、管理サーバ8100、カラーパターン印刷装置200、モノクロパターン印刷装置8300及びコードリーダ400を含む。図25は、実施例3における管理サーバの一例を示す図である。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
図25に示すように、本実施例における管理サーバ8100は、通信部110と、記憶部8120と、制御部8130とを有する。記憶部8120は、例えば制御部8130が実行するプログラムなどの各種データなどを記憶する。また、記憶部8120は、カラーパターンDB121、モノクロパターンDB122に加えて、印刷特性DB8126を有する。記憶部8120は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
印刷特性DB8126は、例えば印刷される線の太さ等に関する情報を含む、各プリンタの印刷特性を、各プリンタの機種と対応付けて記憶する。図26は、実施例3における印刷特性DBの一例を示す図である。図26に示すように、印刷特性DB8126は、「プリンタ機種名」と、「境界線幅」とを対応付けて記憶する。なお、印刷特性DB8126は、プリンタの印刷方式や縁なし印刷の可否など、境界線幅以外のその他の印刷特性を記憶してもよい。また、印刷特性DB8126は、「プリンタ機種名」の代わりに、又はこれに加えて、プリンタのメーカ等の情報を記憶してもよい。
次に、制御部8130は、管理サーバ8100の全体的な処理を司る処理部である。制御部8130は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部8130は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部8130は、受付部8131、エンコード部8132及びデコード部8133を有する。なお、受付部8131、エンコード部8132及びデコード部8133は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
受付部8131は、通信部110を通じて、モノクロパターン印刷装置8300から、モノクロプリンタ313の機種を特定する情報を含むパターンの出力要求を受信する。受付部8131は、出力要求に含まれる発送元番号及び機種を特定する情報をエンコード部132に出力する。受付部131は、エンコード部132からエンコードされたパターン及び印刷特性に関する情報の出力を受けると、エンコードされたモノクロパターン及び印刷特性に関する情報を、通信部110を通じてモノクロパターン印刷装置300に出力する。
エンコード部8132は、荷物番号をモノクロパターンにエンコードするとともに、印刷特性DB8126を参照して、機種に関する情報に対応する印刷特性を特定する。そして、エンコード部8132は、エンコードされたモノクロパターン及び印刷特性に関する情報を、受付部8131に出力する。
また、本実施例におけるモノクロパターン印刷装置8300は、通信部310と、操作部311と、表示部312と、モノクロプリンタ313と、記憶部320と、制御部8330とを有する。なお、モノクロパターン印刷装置8300については図示を省略する。
制御部8330は、モノクロパターン印刷装置8300の全体的な処理を司る処理部である。制御部8330は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部8330は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。
制御部8330は、取得部8331及びパターン出力部8332を有する。なお、取得部8331及びパターン出力部8332は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
取得部8331は、例えば操作部211を通じて印刷指示を受け付けると、通信部310を通じて、管理サーバ8100にモノクロプリンタ313の機種に関する情報及び発送元番号を含む出力要求を送信する。取得部8331は、エンコードされたモノクロパターン及び印刷特性に関する情報を管理サーバ8100から取得して、パターン出力部8332に出力する。
パターン出力部8332は、取得したモノクロパターンを出力する。パターン出力部8332は、例えばセルの配置に関する情報に従って配置したモノクロパターンを、表示部312を通じて表示させる。そして、パターン出力部8332は、モノクロプリンタ313に、セルの配置に関する情報に従って配置したモノクロパターンを印刷させる。
[処理の流れ]
次に、本実施例における処理について、図27を用いて説明する。図27は、実施例3におけるモノクロパターン印刷処理の一例を示すフローチャートである。なお、以下の説明において、図15に示すステップと同じ符号については同様のステップであるため、詳細な説明を省略する。
図27に示すように、本実施例におけるモノクロパターン印刷装置8300の取得部8331は、印刷指示を受け付けたと判断した場合(S1:Yes)、モノクロプリンタ8313に関する情報を含むモノクロパターンの出力要求を送信する(S300)。管理サーバ8100は、モノクロプリンタ8313に関する情報を含むモノクロパターンの出力要求を受信すると、S11に移行する。
管理サーバ8100のエンコード部8132は、モノクロパターンを生成すると(S13)、印刷特性DB8126を参照して、受信したモノクロプリンタ8313に関する情報に合致するプリンタを特定する(S301)。そして、エンコード部8132は、印刷特性DB8126に記憶された境界線幅を、モノクロパターンに設定し(S302)、受付部131に出力する。受付部131は、境界線幅が設定されたモノクロパターンを、モノクロパターン印刷装置300に送信する。
[効果]
以上説明したように、本実施例においては、モノクロパターン印刷装置8300のモノクロプリンタ313の印刷特性に応じた境界線幅が設定されたモノクロパターンを生成する。これにより、モノクロプリンタの印刷特性が異なる場合であっても、二次元コードの読取時の誤認識を抑制できる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。例えば、二次元コードの形状は上で説明したものに限られず、例えば図28に示すように、セルが略正方形状ではない形状であったり、カラーパターンが左右非対称であったりしてもよい。
図28は、実施例4におけるその他の二次元コードの形状の一例を示す図である。図28の(a)及び(b)は、セルが略正方形状以外の形状であり、かつカラーパターンが左右非対称である例を示す。また、図28の(c)は、セルは略正方形状であるが、カラーパターンが矢印形状であり、かつセルグループ及びセルの配置がランダムである例を示す。このように、本実施例によれば、デザイン性が高く、また読取方向を容易に特定できる二次元コードを生成できる。
なお、位置特性セルを付すことにより、読取方向を容易に特定できる二次元コードを生成してもよい。図29は、実施例4における位置特定セルを含む二次元コードの一例を示す図である。図29は、左右上下略対称の二次元コードに、位置特定セル(1)を付した例を示す。このように二次元コードに位置特性セルを付すことにより、読取方向を容易に特定できる二次元コードをできる。
さらに、カラーパターン印刷装置200においてカラーパターンを印刷する際に、セルの配置を選択できるような構成であってもよい。図30は、実施例4におけるセル配置選択画面の一例を示す図である。図30は、複数のセル配置を含むセル配置テンプレートの一覧から、矢印型のテンプレート3901を選択した場合における画面例を示す。
また、管理サーバ100のエンコード部132は、カラーパターンDB121を参照して、発送元IDに対応するカラーパターンを取得するのではなく、取得した発送元IDを3進法に変換することによりカラーパターンを特定してもよい。同様に、エンコード部132は、モノクロパターンDB122を参照して荷物IDに対応するモノクロパターンを取得するのではなく、デコード部133において荷物IDを(2^M−1)進法に変換することによりモノクロパターンを特定してもよい。かかる構成によれば、カラーパターンDB121及びモノクロパターンDB122を省略し、または簡略化できる。
また、各実施例におけるカラーパターンに用いられる色は、マゼンダ、シアン及びイエローの3色に限られず、コードリーダ400において読取可能なその他の色を用いてもよい。また、例えばカラーパターンの一部のセルグループが印刷されないような構成であってもよい。
また、例えば実施例1において、カラーパターン印刷装置200、モノクロパターン印刷装置300又はコードリーダ400が、カラーパターンDB121及びモノクロパターンDB122のうち少なくともいずれかを有するような構成であってもよい。かかる構成によれば、カラーパターン印刷装置200、モノクロパターン印刷装置300又はコードリーダ400をスタンドアロンで運用できる。
本実施例におけるコード処理システムは、例えば製品の問屋と小売店との間など、宅配便事業者と発送事業者以外の関係において用いてもよい。
[システム]
また、各実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図7に示すエンコード部132とデコード部133とを統合してもよい。また、図2に示す受付部131を、エンコード受付部とデコード受付部とに分散してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図31は、コンピュータのハードウェア構成例を示す図である。図31に示すように、コンピュータ900は、通信インタフェース901、HDD902、メモリ903、プロセッサ904及び入出力インタフェース905を有する。なお、以下においては、コードリーダ400を例として説明するが、管理サーバ100、カラーパターン印刷装置200及びモノクロパターン印刷装置300についても同様のコンピュータにより実現できる。また、実施例2乃至4における対応する各装置についても同様である。
通信インタフェース901は、各機能部の説明時に示した通信部410に該当し、例えばネットワークインタフェースカードなどである。HDD902は、各機能部の説明時に示した処理部を動作させるプログラムやDB等を記憶する。
プロセッサ904は、各機能部の説明時に示した各処理部と同様の処理を実行するプログラムをHDD902等から読み出してメモリ903に展開することで、図12等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、コードリーダ400が有するコード取得部431、カラーパターン特定部432、モノクロパターン特定部433及び結果出力部434と同様の機能を実行する。入出力インタフェース905は、各機能部の説明時に示した操作部411、カメラ412及び表示部413に該当する。
このようには、プログラムを読み出して実行することで、コード読取方法を実行するコードリーダ400として動作する。また、コードリーダ400は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コードリーダ400によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取る読取部と、
前記中領域に含まれる色が前記C色のいずれであるかを特定する識別部と、
前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部と、
を有することを特徴とするコード読取装置。
(付記2)前記判定部は、前記中領域に含まれる前記各小領域に所定のルールで割り当てられた順序を特定し、前記小領域が前記所定の色で塗り潰されているか否かに応じて割り当てた符号を割り当てられた前記順序に従って並べた第1符号列を生成することを特徴とする付記1に記載のコード読取装置。
(付記3)前記識別部は、前記中領域に所定のルールで割り当てられた順序を特定し、前記中領域が前記C色のうちいずれの色を含むかに応じて割り当てた符号を割り当てられた前記順序に従って並べた第2符号列を生成することを特徴とする付記2に記載のコード読取装置。
(付記4)前記読取部は、前記中領域に含まれる前記小領域の配置及び順序を取得し、
前記判定部は、取得した前記小領域の順序及び前記中領域の順序に従って第2符号列を生成することを特徴とする付記3に記載のコード読取装置。
(付記5)前記識別部は、前記中領域に含まれる前記M個の小領域のうち、少なくともいずれか1つが前記C色のいずれかであることを識別した場合に、前記中領域に含まれる色が識別された前記C色のいずれかであると識別することを特徴とする付記1乃至4のいずれか1つに記載のコード読取装置。
(付記6)前記読取部は、前記小領域がM行N列の形状で並ぶ二次元コードを読み取ることを特徴とする付記1乃至5のいずれか1つに記載のコード読取装置。
(付記7)前記判定部は、前記小領域が黒色に塗り潰されているか否かを判定することを特徴とする付記1乃至6のいずれか1つに記載のコード読取装置。
(付記8)符号化する情報を変換した数値を、N桁の[(2のM乗)−1]進数(N及びMは2以上の自然数)に変換し、前記N桁の[(2のM乗)−1]進数の各桁の値をそれぞれM桁の2進数に変換する変換部と、
C色(Cは2以上の自然数)に色分けされたM個の小領域を含むN個の中領域を含むコードのうち、前記2進数の値に従い、各小領域に前記C色のうちいずれにも該当しない所定の色を印刷するか否かを判定する判定部と
を有するコード生成装置。
(付記9)前記判定部は、前記各中領域に含まれる前記各小領域のうち、少なくとも一つを前記所定の色に印刷しないと判定することを特徴とする付記8に記載のコード生成装置。
(付記10)前記変換部は、前記各中領域を所定のルールに基づいて順序づけるとともに、前記各中領域に含まれる各小領域を所定のルールに基づいて順序づけ、
前記判定部は、前記M桁の2進数の値が1である場合に、前記2進数の順序に対応する前記順序づけられた小領域を前記所定の色に印刷すると判定することを特徴とする付記8に記載のコード生成装置。
(付記11)前記変換部は、前記各中領域を一番左側の中領域から右側の中領域へと順序づけ、前記各小領域を一番上の小領域から下方向の小領域の行へと順序づけることを特徴とする付記8に記載のコード生成装置。
(付記12)前記判定部は、前記コードに予め表示された各小領域の第1の境界線の位置に応じて、第2の境界線を印刷することを特徴とする付記8乃至11のいずれか1つに記載のコード生成装置。
(付記13)前記判定部は、前記第2の境界線の幅を印刷装置の印刷特性に応じて設定することを特徴とする付記12に記載のコード生成装置。
(付記14)第1の符号化する情報を変換した数値に応じて、カラーパターンで表現する色の数C(Cは2以上の自然数)と、中領域の数N(Nは2以上の自然数)とを決定する第1決定部と、
第2の符号化する情報を変換した数値に応じて、前記中領域に含まれる小領域の数M(Mは2以上の自然数)を決定する第2決定部と、
決定した前記M個の小領域を含む前記N個の中領域を、それぞれ前記色Cのうちいずれかに決定することを指定する情報を出力する出力部と、
を有するコード生成装置。
(付記15)前記出力部は、前記小領域の境界線の幅を印刷装置の印刷特性に応じて設定し、前記境界線を前記色Cのうちいずれにも該当しない所定の色で印刷することを指定する情報を出力することを特徴とする付記14に記載のコード生成装置。
(付記16)色情報を保持するM個の小領域(Mは2以上の自然数)を含む、N個の中領域(Nは2以上の自然数)を含む印刷物であって、
前記中領域に含まれる前記M個の小領域の全てに、C色(Cは2以上の自然数)のうちいずれか1色が印刷されることにより、前記中領域の色情報を一つ特定し、
前記中領域に含まれる前記M個の小領域のうちM個未満の小領域に、前記C色のいずれにも該当しない所定の色が印刷されることにより、特定された前記中領域の色情報を保持しながら、前記小領域の塗り潰し情報を特定する
ことを特徴とする印刷物。
(付記17)コンピュータが、
M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取り、
前記中領域に含まれる色が前記C色のいずれであるかを特定し、
前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する
処理を行うコード読取方法。
(付記18)コンピュータが、
符号化する情報を変換した数値を、N桁の[(2のM乗)−1]進数(N及びMは2以上の自然数)に変換し、前記N桁の[(2のM乗)−1]進数の各桁の値をそれぞれM桁の2進数に変換し、
C色(Cは2以上の自然数)に色分けされたM個の小領域を含むN個の中領域を含むコードのうち、前記2進数の値に従い、各小領域に前記C色のうちいずれにも該当しない所定の色を印刷するか否かを判定する
処理を行うコード生成方法。
(付記19)コンピュータに、
M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取り、
前記中領域に含まれる色が前記C色のいずれであるかを特定し、
前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する
処理を行わせるコード読取プログラム。
(付記20)コンピュータに、
符号化する情報を変換した数値を、N桁の[(2のM乗)−1]進数(N及びMは2以上の自然数)に変換し、前記N桁の[(2のM乗)−1]進数の各桁の値をそれぞれM桁の2進数に変換し、
C色(Cは2以上の自然数)に色分けされたM個の小領域を含むN個の中領域を含むコードのうち、前記2進数の値に従い、各小領域に前記C色のうちいずれにも該当しない所定の色を印刷するか否かを判定する
処理を行わせるコード生成プログラム。
100 管理サーバ
110 通信部
120 記憶部
121 カラーパターンDB
122 モノクロパターンDB
130 制御部
131 受付部
132 エンコード部
133 デコード部

Claims (18)

  1. M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取る読取部と、
    前記中領域に含まれる色が前記C色のいずれであるかを特定する識別部と、
    前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する判定部と
    を有するコード読取装置。
  2. 前記判定部は、前記中領域に含まれる前記各小領域に所定のルールで割り当てられた順序を特定し、前記小領域が前記所定の色で塗り潰されているか否かに応じて割り当てた符号を割り当てられた前記順序に従って並べた第1符号列を生成することを特徴とする請求項1に記載のコード読取装置。
  3. 前記識別部は、前記中領域に所定のルールで割り当てられた順序を特定し、前記中領域が前記C色のうちいずれの色を含むかに応じて割り当てた符号を割り当てられた前記順序に従って並べた第2符号列を生成することを特徴とする請求項1又は2に記載のコード読取装置。
  4. 前記識別部は、前記中領域に含まれる前記M個の小領域のうち、少なくともいずれか1つが前記C色のいずれかであることを識別した場合に、前記中領域に含まれる色が識別された前記C色のいずれかであると識別することを特徴とする請求項1乃至3のいずれか1つに記載のコード読取装置。
  5. 前記読取部は、前記小領域がM行N列の形状で並ぶ二次元コードを読み取ることを特徴とする請求項1乃至4のいずれか1つに記載のコード読取装置。
  6. 前記判定部は、前記小領域が黒色に塗り潰されているか否かを判定することを特徴とする請求項1乃至5のいずれか1つに記載のコード読取装置。
  7. 符号化する情報を変換した数値を、N桁の[(2のM乗)−1]進数(N及びMは2以上の自然数)に変換し、前記N桁の[(2のM乗)−1]進数の各桁の値をそれぞれM桁の2進数に変換する変換部と、
    C色(Cは2以上の自然数)に色分けされたM個の小領域を含むN個の中領域を含むコードのうち、前記2進数の値に従い、各小領域に前記C色のうちいずれにも該当しない所定の色を印刷するか否かを判定する判定部と、
    を有するコード生成装置。
  8. 前記変換部は、前記各中領域を所定のルールに基づいて順序づけるとともに、前記各中領域に含まれる各小領域を所定のルールに基づいて順序づけ、
    前記判定部は、前記M桁の2進数の値が1である場合に、前記2進数の順序に対応する前記順序づけられた小領域を前記所定の色に印刷すると判定することを特徴とする請求項7に記載のコード生成装置。
  9. 前記変換部は、前記各中領域を一番左側の中領域から右側の中領域へと順序づけ、前記各小領域を一番上の小領域から下方向の小領域の行へと順序づけることを特徴とする請求項7に記載のコード生成装置。
  10. 前記判定部は、前記コードに予め表示された各小領域の第1の境界線の位置に応じて、第2の境界線を印刷することを特徴とする請求項7乃至9のいずれか1つに記載のコード生成装置。
  11. 前記判定部は、前記第2の境界線の幅を印刷装置の印刷特性に応じて設定することを特徴とする請求項10に記載のコード生成装置。
  12. 第1の符号化する情報を変換した数値に応じて、カラーパターンで表現する色の数C(Cは2以上の自然数)と、中領域の数N(Nは2以上の自然数)とを決定する第1決定部と、
    第2の符号化する情報を変換した数値に応じて、前記中領域に含まれる小領域の数M(Mは2以上の自然数)を決定する第2決定部と、
    決定した前記M個の小領域を含む前記N個の中領域を、それぞれ前記色Cのうちいずれかに決定することを指定する情報を出力する出力部と、
    を有するコード生成装置。
  13. 前記出力部は、前記小領域の境界線の幅を印刷装置の印刷特性に応じて設定し、前記境界線を前記色Cのうちいずれにも該当しない所定の色で印刷することを指定する情報を出力することを特徴とする請求項12に記載のコード生成装置。
  14. 色情報を保持するM個の小領域(Mは2以上の自然数)を含む、N個の中領域(Nは2以上の自然数)を含む印刷物であって、
    前記中領域に含まれる前記M個の小領域の全てに、C色(Cは2以上の自然数)のうちいずれか1色が印刷されることにより、前記中領域の色情報を一つ特定し、
    前記中領域に含まれる前記M個の小領域のうちM個未満の小領域に、前記C色のいずれにも該当しない所定の色が印刷されることにより、特定された前記中領域の色情報を保持しながら、前記小領域の塗り潰し情報を特定する
    ことを特徴とする印刷物。
  15. コンピュータが、
    M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取り、
    前記中領域に含まれる色が前記C色のいずれであるかを特定し、
    前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する
    処理を行うコード読取方法。
  16. コンピュータが、
    符号化する情報を変換した数値を、N桁の[(2のM乗)−1]進数(N及びMは2以上の自然数)に変換し、前記N桁の[(2のM乗)−1]進数の各桁の値をそれぞれM桁の2進数に変換し、
    C色(Cは2以上の自然数)に色分けされたM個の小領域を含むN個の中領域を含むコードのうち、前記2進数の値に従い、各小領域に前記C色のうちいずれにも該当しない所定の色を印刷するか否かを判定する
    処理を行うコード生成方法。
  17. コンピュータに、
    M個(Mは2以上の自然数)の小領域を含み、C色(Cは2以上の自然数)に色分けされたN個(Nは2以上の自然数)の中領域を含むコードを読み取り、
    前記中領域に含まれる色が前記C色のいずれであるかを特定し、
    前記小領域が前記C色のうちいずれにも該当しない所定の色で塗り潰されているか否かを判定する
    処理を行わせるコード読取プログラム。
  18. コンピュータに、
    符号化する情報を変換した数値を、N桁の[(2のM乗)−1]進数(N及びMは2以上の自然数)に変換し、前記N桁の[(2のM乗)−1]進数の各桁の値をそれぞれM桁の2進数に変換し、
    C色(Cは2以上の自然数)に色分けされたM個の小領域を含むN個の中領域を含むコードのうち、前記2進数の値に従い、各小領域に前記C色のうちいずれにも該当しない所定の色を印刷するか否かを判定する
    処理を行わせるコード生成プログラム。
JP2017097688A 2017-05-16 2017-05-16 コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラム Pending JP2018195032A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017097688A JP2018195032A (ja) 2017-05-16 2017-05-16 コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017097688A JP2018195032A (ja) 2017-05-16 2017-05-16 コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラム

Publications (1)

Publication Number Publication Date
JP2018195032A true JP2018195032A (ja) 2018-12-06

Family

ID=64570846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017097688A Pending JP2018195032A (ja) 2017-05-16 2017-05-16 コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラム

Country Status (1)

Country Link
JP (1) JP2018195032A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160700A (ja) * 2019-03-26 2020-10-01 東邦瓦斯株式会社 埋設物管理システム
CN112016655A (zh) * 2020-08-18 2020-12-01 杭州僖磊科技发展有限公司 一种可追溯扫描码印刷方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020160700A (ja) * 2019-03-26 2020-10-01 東邦瓦斯株式会社 埋設物管理システム
JP7242370B2 (ja) 2019-03-26 2023-03-20 東邦ガスネットワーク株式会社 埋設物管理システム
CN112016655A (zh) * 2020-08-18 2020-12-01 杭州僖磊科技发展有限公司 一种可追溯扫描码印刷方法及系统

Similar Documents

Publication Publication Date Title
US9665817B2 (en) Techniques for generating customized two-dimensional barcodes
US9177238B2 (en) Techniques for generating customized two-dimensional barcodes
JP2007241327A (ja) プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び2次元コード
CN104346640A (zh) 二维码及生成二维码的方法
US20130026240A1 (en) Two-dimensional code, code generation system, program, and printed medium
JP4898771B2 (ja) バーコード除去装置及びその除去方法
JP2007241328A (ja) プログラム、情報記憶媒体、2次元コード生成システム、画像生成システム及び印刷物
CN108280500A (zh) 二维码的编码方法、解码方法、相关装置及设备
EP2628123B1 (en) A system for generating an incrementally completed 3d security mark
CN109948762A (zh) 用于生成二维码的方法和装置
JP2018195032A (ja) コード読取装置、コード生成装置、印刷物、コード読取方法、コード生成方法、コード読取プログラム及びコード生成プログラム
CN101123663B (zh) 图像处理设备和方法
US20140027515A1 (en) Grayscale Incremental Information Object
US10176174B2 (en) Generating a regressive information object
JP2004363990A (ja) 画像改ざん検知装置およびその保存データの復元方法
US10891704B2 (en) M-ary cyclic coding
JP6334467B2 (ja) バーコード命令生成装置
JP6617302B1 (ja) 光学コード、光学コード生成方法とそのプログラム、並びに、光学コード読み取り方法とそのプログラム
JP2015158700A (ja) 情報処理装置及び情報処理プログラム
JP6465425B2 (ja) バーコード命令生成装置
US20140231510A1 (en) Tracking Customer Loyalty Information Using an Incremental Information Object
US9582740B2 (en) Image processing apparatus, non-transitory computer readable medium, and image processing method
CN117094349B (zh) 二维码图形的生成方法、装置、设备及介质
JP5861409B2 (ja) 画像処理装置、情報埋込媒体及び画像処理プログラム
JP6362191B1 (ja) 画像処理システム、画像処理装置、画像処理方法およびプログラム