(57)【要約】【課題】複数の平行な直線状の損傷や汚れの付着等が二次元コードに生じる場合でも、二次元コードの読取率を向上させる二次元コードのマーキング装置、及び二次元コードのマーキング方法を提供する。【解決手段】二次元コードのマーキング装置１は、第１の二次元コード２０と、第１の二次元コード２０と同一のデータパターンを有する第２の二次元コード３０とをマーキングするように構成され、第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と交差する方向である。【選択図】図７
2018205834.tif 000002
【特許請求の範囲】
【請求項１】
二次元コードのマーキング装置において、
第１の二次元コードと、前記第１の二次元コードと同一のデータパターンを有する第２の二次元コードとをマーキングするように構成され、
前記第２の二次元コードの行方向は、前記第１の二次元コードの行方向と交差する方向であることを特徴とする、二次元コードのマーキング装置。
【請求項２】
前記第２の二次元コードの行方向は、前記第１の二次元コードの行方向と直交する方向であることを特徴とする、
請求項１に記載の二次元コードのマーキング装置。
【請求項３】
前記第１の二次元コードと前記第２の二次元コードとを含む１組のコードユニットを複数組マーキングするように構成されることを特徴とする、
請求項１または２に記載の二次元コードのマーキング装置。
【請求項４】
二次元コードのマーキング方法であって、
第１の二次元コードをマーキングする工程と、
前記第１の二次元コードと同一のデータパターンを有する第２の二次元コードをマーキングする工程と、を備え、
前記第２の二次元コードの行方向は、前記第１の二次元コードの行方向と交差する方向であることを特徴とする、二次元コードのマーキング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コードのマーキング装置、及び二次元コードのマーキング方法に関し、より詳細には、同一データパターンを有する複数の二次元コードをマーキングする二次元コードのマーキング装置、及び二次元コードのマーキング方法に関する。
【背景技術】
【０００２】
二次元コードは、一次元コードであるバーコードと比較して面積に対する情報密度が高く、その利用範囲は拡大している。例えば、生産管理、在庫管理、調剤管理等にも二次元コードが利用されている。このような対象物の管理に二次元コードを利用する場合には、対象物や対象物の包装体等に、対象物に関する情報がコード化された二次元コードがマーキングされる。
【０００３】
例えば、鋼管の生産管理に二次元コードを利用する場合には、製造ロット、製造年月、納期年月、サイズ、質量、グレード等の鋼管に関する情報がコード化された二次元コードが鋼管の表面にマーキングされる。この二次元コードを適時読み込んで鋼管に関する情報を得ることによって、鋼管の管理ができる。鋼管は、顧客に納入されるまでの間に、搬送レールや搬送ローラを用いて搬送される。鋼管は、鋼管の軸方向に所定の間隔を有して配置された搬送レール上を転がることで鋼管の周方向に搬送される。また、鋼管は、鋼管の軸方向に所定の間隔を有して配置された搬送ローラ上を移動することで鋼管の軸方向に搬送される。
【０００４】
鋼管の表面は、このような搬送時に搬送レールや搬送ローラと接触する。従って、鋼管の表面にマーキングされた二次元コードには、部分的な損傷が生じたり油や鉄粉等の汚れが部分的に付着したりすることがある。鋼管が周方向に搬送される場合に生じる二次元コードの損傷や汚れは、鋼管の表面と搬送レールとの接触によって生じるため、鋼管の周方向に直線状に延びる。一方、鋼管が軸方向に搬送される場合に生じる二次元コードの損傷や汚れは、鋼管の表面と搬送ローラとの接触によって生じるため、鋼管の軸方向に直線状に延びる。なお、二次元コードの損傷としては、塗料を用いてマーキングされた二次元コードにおける塗料の剥離が例示される。
【０００５】
そして、二次元コードは、生じた損傷や汚れの付着が部分的なものであっても、読み取ることができなくなることがある。このような二次元コードの読取率の低下に対しては、様々な対策が検討されている。
【０００６】
例えば、損傷を受けた箇所を読み取り時の演算によって修復することができる誤り訂正機能を有する二次元コードが知られている。誤り訂正機能を有する二次元コードは、誤り訂正符号を有し、読み取り時に誤り訂正符号を用いた演算によって損傷を受けた箇所が修復されて読み取られる。誤り訂正符号としては、例えばリードソロモン符号等が挙げられる。このような誤り訂正機能による修復可能な範囲には限界がある。また、誤り訂正機能による修復可能な範囲を大きくすると、二次元コードが大きくなったり、読み取り時の演算負荷が大きくなったりする。また、二次元コードの形式によっては、修復可能な範囲を任意に設定できない場合もある。そこで、読取率を向上させる別の対策も検討されている。
【０００７】
特許文献１には、物体表面の複数個所に同一のデータパターンを有する複数の二次元コードをマーキングし、この複数の二次元コードを相互に、物体表面に対する相対姿勢が反転するようにマーキングする技術が開示されている。このようにマーキングされた複数の二次元コードは、この複数の二次元コードの各々を二分割する二次元コード分割手段と、この二次元コード分割手段によって複数の二次元コードの各々を二分割することにより取り出された一方の二次元コードのうちの分割された部分と他方の二次元コードのうちの分割された部分とを二次元コードのデータパターンが読み取れるように合成する二次元コード合成手段とを備えた二次元コードの読み取り装置によって読み取られる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−１２６０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１の技術によれば、同一のデータパターンを有する複数の二次元コード上に汚れ等の読み取り不良を招く直線状のノイズ成分が発生した場合でも、二次元コードの読取率を向上させることができるとされている。
【００１０】
ここで、上述した鋼管の搬送時等においては、複数の平行な直線状の損傷や汚れの付着が二次元コードに生じる場合がある。特許文献１では、１つの直線状のノイズ成分が発生した場合については検討されているものの、複数の直線状のノイズ成分が発生した場合については何ら考慮されていない。このような場合、特許文献１の技術では、複数の二次元コードを合成しても二次元コードを修復できないことがあり、読取率が低下する。
【００１１】
そこで、本発明の目的は、複数の平行な直線状の損傷や汚れの付着等が二次元コードに生じる場合でも、二次元コードの読取率を向上させる二次元コードのマーキング装置、及び二次元コードのマーキング方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明は、
二次元コードのマーキング装置において、
第１の二次元コードと、前記第１の二次元コードと同一のデータパターンを有する第２の二次元コードとをマーキングするように構成され、
前記第２の二次元コードの行方向は、前記第１の二次元コードの行方向と交差する方向であることを特徴とする。
【００１３】
更に、前記第２の二次元コードの行方向は、前記第１の二次元コードの行方向と直交する方向であることを特徴とする。
【００１４】
更に、前記第１の二次元コードと前記第２の二次元コードとを含む１組のコードユニットを複数組マーキングするように構成されることを特徴とする。
【００１５】
更に、本発明は、
二次元コードのマーキング方法であって、
第１の二次元コードをマーキングする工程と、
前記第１の二次元コードと同一のデータパターンを有する第２の二次元コードをマーキングする工程と、を備え、
前記第２の二次元コードの行方向は、前記第１の二次元コードの行方向と交差する方向であることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、二次元コードのマーキング装置において、第１の二次元コードと、第１の二次元コードと同一のデータパターンを有する第２の二次元コードとをマーキングするように構成され、第２の二次元コードの行方向は、第１の二次元コードの行方向と交差する方向であるので、複数の平行な直線状の損傷や汚れの付着等が二次元コードに生じる場合でも、二次元コードの読取率を向上させる二次元コードのマーキング装置を提供することができる。
【００１７】
更に、第２の二次元コードの行方向は、第１の二次元コードの行方向と直交する方向であるので、複数の平行な直線状の損傷や汚れの付着等が二次元コードに生じる場合でも、二次元コードの読取率を向上させる二次元コードのマーキング装置を提供することができる。
【００１８】
更に、第１の二次元コードと第２の二次元コードとを含む１組のコードユニットを複数組マーキングするように構成されるので、より多くの情報をマーキングすることができる。
【００１９】
更に、本発明は、二次元コードのマーキング方法であって、第１の二次元コードをマーキングする工程と、第１の二次元コードと同一のデータパターンを有する第２の二次元コードをマーキングする工程と、を備え、第２の二次元コードの行方向は、第１の二次元コードの行方向と交差する方向であるので、複数の平行な直線状の損傷や汚れの付着等が二次元コードに生じる場合でも、二次元コードの読取率を向上させる二次元コードのマーキング方法を提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係る二次元コードのマーキング装置の一例が示された概略図である。
【図２】二次元コードのマーキング装置の制御系統のブロック図である。
【図３】マーキングされた第１の二次元コードと第２の二次元コードの一例が示された概略図である。
【図４】本実施形態に係る二次元コードのマーキング方法の概要が示された流れ図である。
【図５】二次元コードの読み取り装置の一例が示された概略図である。
【図６】二次元コードの読み取り方法の概要が示された流れ図である。
【図７】汚れが付着した第１の二次元コードと第２の二次元コードの一例が示された概略図である。
【図８】切り出された第１の二次元コードと第２の二次元コードの画像の一例が示された概略図であり、図８Ａは切り出された第１の二次元コードの画像を示し、図８Ｂは切り出された第２の二次元コードの画像を示す。
【図９】第１の二次元コードの画像と、回転された第２の二次元コードの画像の一例が示された概略図であり、図９Ａは第１の二次元コードの画像を示し、図９Ｂは回転された第２の二次元コードの画像を示す。
【図１０】第１の二次元コードのパターンと回転された第２の二次元コードのパターンとが合成されたパターンの一例が示された概略図である。
【図１１】汚れが付着した第１の二次元コードと第２の二次元コードの別の一例が示された概略図である。
【図１２】切り出された第１の二次元コードと第２の二次元コードの画像の一例が示された概略図であり、図１２Ａは切り出された第１の二次元コードの画像を示し、図１２Ｂは切り出された第２の二次元コードの画像を示す。
【図１３】第１の二次元コードの画像と、回転された第２の二次元コードの画像の一例が示された概略図であり、図１３Ａは第１の二次元コードの画像を示し、図１３Ｂは回転された第２の二次元コードの画像を示す。
【図１４】第１の二次元コードのパターンと回転された第２の二次元コードのパターンとが合成されたパターンの一例が示された概略図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ、本発明の実施形態を詳細に説明する。図１は、本実施形態に係る二次元コードのマーキング装置１の一例が示された概略図である。図２は、二次元コードのマーキング装置１の制御系統のブロック図である。なお、以下では、説明の便宜上、図１において、印字ヘッド１１の側を上とし、搬送装置１３の側を下とする。また、図１において、二次元コードのマーキング装置１の入力装置１４と制御部１５の記載は省略され、対象物としての鋼管１０の搬送方向が矢印ｄ１によって示されている。
【００２２】
図１、図２に示されるように、二次元コードのマーキング装置（以下マーキング装置と称する）１は、例えば対象物としての円筒状の鋼管１０の表面（外周面）に、二次元コードをマーキングするように構成される。マーキング装置１は、印字ヘッド１１と、ポンプユニット１２と、搬送装置１３と、入力装置１４と、制御部１５等を備える。
【００２３】
印字ヘッド１１は、図示せぬ支持装置によって、鋼管１０の上方に位置するように支持されている。印字ヘッド１１は、塗料を吐出する図示せぬ複数のノズルを内蔵している。複数のノズルは、吐出口が鋼管１０に対向するように下方を向いた状態で、平面視で鋼管１０の中心（軸）を横切るように列を成して配置されている。そして、印字ヘッド１１は、複数のノズルから鋼管１０に向けて塗料を吐出するように構成されている。なお、塗料を吐出する構成は、特に限定されるものではなく、空気圧を用いて塗料を吐出する構成であっても良く、ピストンを用いて塗料を吐出する構成であっても良い。
【００２４】
ポンプユニット１２は、塗料を貯留する図示せぬタンク、タンク内の塗料を印字ヘッド１１に供給する図示せぬポンプ等を内蔵している。なお、ポンプユニット１２の構成は、特に限定されるものではなく、空気圧を用いてポンプを駆動する構成であっても良く、電動モータを用いてポンプを駆動する構成であっても良い。
【００２５】
搬送装置１３は、複数の搬送ローラ等から構成されるローラコンベアである。搬送ローラは、例えばＶローラである。搬送装置１３は、搬送ローラを回転させることで、鋼管１０を印字ヘッド１１に対して鋼管１０の軸方向に所定の速度で搬送するように構成されている。なお、搬送装置１３の構成は、特に限定されるものではなく、鋼管１０を印字ヘッド１１に対して鋼管１０の軸方向に搬送できる構成であれば良い。搬送装置１３は、例えば無端体であるベルト等によって鋼管１０を搬送するベルトコンベアなどであっても良い。
【００２６】
入力装置１４は、二次元コードとして鋼管１０にマーキングするデータが作業者によって入力され、入力されたデータを制御部１５に送信するように構成されている。入力装置１４としては、キーボード、ディスプレイ、演算処理及び制御処理を行うＣＰＵ（Central Processing Unit）、データが格納される主記憶装置、タイマ、入力回路、出力回路、並びに電源回路等の含まれたコンピュータが例示される。
【００２７】
制御部１５は、種々の設定値や、各種センサによる検出値等の入力信号を読み込むとともに、制御信号を出力することで、マーキング装置１の動作を制御するように構成されている。制御部１５としては、演算処理及び制御処理を行うＣＰＵ、データが格納される主記憶装置、タイマ、入力回路、出力回路、並びに電源回路等の含まれたマイクロコンピュータが例示される。ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）に例示される主記憶装置には、本実施形態に係る動作を実行するための制御プログラムや各種データ等が格納されている。なお、これらの各種プログラムやデータ等は外部の記憶装置に格納され、制御部１５が外部の記憶装置から読み出す形態とされても良い。
【００２８】
制御部１５には、印字ヘッド１１、ポンプユニット１２、搬送装置１３、入力装置１４等が電気的に接続されている。なお、制御部１５には、図２に示された構成以外の各種センサ等が電気的に接続されている。
【００２９】
制御部１５は、第１のコード生成部１６を有している。第１のコード生成部１６は、例えばプログラムによって構成される。第１のコード生成部１６は、入力装置１４から入力されるデータ、予め主記憶装置に格納されるデータ等に基づいて、入力されるデータがコード化された第１の二次元コードを生成するように構成されている。生成される二次元コードの形式は、特に限定されるものではなく、データマトリックスコード、ＱＲコード（登録商標）、マキシコード等であっても良い。また、生成される二次元コードの行及び列の数は、特に限定されるものではない。
【００３０】
また、制御部１５は、第２のコード生成部１７を有している。第２のコード生成部１７は、例えばプログラムによって構成される。第２のコード生成部１７は、第１のコード生成部１６によって生成された第１の二次元コード、予め主記憶装置に格納される回転角度等に基づいて、第１の二次元コードを回転させた第２の二次元コードを生成するように構成されている。ここで、第２のコード生成部１７は、行方向が第１の二次元コードの行方向と交差する方向となる第２の二次元コードを生成する。第２の二次元コードは、第１の二次元コードを回転させたコードであり、第１の二次元コードと同一のデータパターンを有している。なお、回転角度は、第２の二次元コードの行方向が第１の二次元コードの行方向と交差する方向となるような角度であれば良く、特に限定されるものではない。
【００３１】
そして、マーキング装置１は、搬送装置１３によって鋼管１０を鋼管１０の軸方向へ所定の速度で搬送し、印字ヘッド１１の複数のノズルから対象物１０へ塗料を適宜吐出することで、図３に示されるように、第１の二次元コード２０と第２の二次元コード３０とを鋼管１０の軸方向に並べてマーキングするように構成されている。
【００３２】
ここで、図３は、マーキングされた第１の二次元コード２０と第２の二次元コード３０の一例が示された概略図である。なお、図３において、第１の二次元コード２０と第２の二次元コード３０における詳細なデータパターンの記載は省略され、第１の二次元コード２０の行方向が矢印ｄ２によって示され、第２の二次元コード３０の行方向が矢印ｄ３によって示されている。第１の二次元コード２０の行方向ｄ２は、鋼管１０の搬送方向ｄ１と平行であり、第２の二次元コード３０の行方向ｄ３は、鋼管１０の搬送方向ｄ１と直交する。
【００３３】
第１の二次元コード２０と第２の二次元コード３０は、それぞれ複数の円形のドット２１，３１から構成される。第１の二次元コード２０と第２の二次元コード３０は、それぞれ１０×１０のデータマトリックスコードである。第１の二次元コード２０と第２の二次元コード３０は、それぞれＬ字状のアライメントパターン２２，３２、アライメントパターン２２，３２の対辺にあり、点線の逆Ｌ字状のクロックパターン２３，３３、アライメントパターン２２，３２及びクロックパターン２３，３３によって囲われたデータ領域２４，３４を有する。アライメントパターン２２，３２は、図３において、二点鎖線で囲われて示されおり、コードを読み取る際にコードのサイズと向き（角度）を認識するために用いられる。クロックパターン２３，３３は、図３において、二点鎖線で囲われて示されおり、コードを読み取る際にコードの行及び列を認識するために用いられる。データ領域２４，３４には、コード化する情報に対応したパターン、誤り訂正符号等が配置される。
【００３４】
第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と交差する方向であって、直交する方向である。つまり、第２の二次元コード３０は、第１の二次元コード２０を反時計回りに９０°回転させた二次元コードである。
【００３５】
詳細については後述するが、マーキング装置１によって上述のようにマーキングされた第１の二次元コード２０と第２の二次元コード３０は、複数の平行な直線状の損傷や汚れの付着等が生じる場合であっても、簡易な構成の読み取り装置によってコード化されたデータを高い確率で読み取ることができる。また、読取率を向上させる観点において、第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と直交する方向であることが好ましい。
【００３６】
なお、マーキング装置１は、上述の構成に限定されるものではない。マーキング装置１は、第１の二次元コード２０と、第１の二次元コード２０と同一のデータパターンを有し、行方向ｄ３が第１の二次元コードの行方向ｄ２と交差する方向である第２の二次元コード３０とをマーキングするように構成されていれば良い。
【００３７】
例えば、マーキング装置１は、第１の二次元コード２０と第２の二次元コード３０を、複数の四角形のドットを用いてマーキングする構成であっても良く、ドットの形状やサイズ等は特に限定されるものではない。また、第１の二次元コード２０と第２の二次元コード３０とを構成する各ドット２１，３１は、更に小さい複数のドットの集合体として構成されても構わない。
【００３８】
また、第１の二次元コード２０と第２の二次元コード３０をマーキングするための塗料やその色は、特に限定されるものではなく、マーキングする対象物や、対象物が置かれる環境等に応じて適宜選択できる。例えば、鋼管１０の表面が黒色の場合には、白色の塗料を用いることが好ましい。白色の塗料を用いることで、読み取りの際に、鋼管１０の表面、鉄粉や油による汚れ等と、ドット２１，３１を区別しやすくなり、ドット２１，３１の認識が容易となる。
【００３９】
また、紫外線が照射されることで励起されて光を発する蛍光体を含有する塗料を用いても構わない。蛍光体としては、市販の蛍光顔料及び蛍光染料を用いることができる。蛍光体を含有する塗料を用いることで、可視光では第１の二次元コード２０と第２の二次元コード３０が目立たないようにして対象物の外観を向上させることが可能となる。また、ドット２１，３１は、紫外線を照射した際に発光するので、膨張して認識される。従って、読み取りの際にドット２１，３１をより確実に認識することができ、第１の二次元コード２０と第２の二次元コード３０の読取率を向上させることが可能となる。
【００４０】
また、第１の二次元コード２０と第２の二次元コード３０がマーキングされる位置は特に限定されるものではない。マーキング装置１は、第１の二次元コード２０と第２の二次元コード３０とを鋼管１０の内周面にマーキングするように構成されていても良い。
【００４１】
また、第１の二次元コード２０と第２の二次元コード３０との位置関係は、上述の位置関係に限定されるものではない。図示による説明は省略するが、マーキング装置１は、第１の二次元コード２０と第２の二次元コード３０とを鋼管１０の周方向に並べてマーキングするように構成されていても良い。また、マーキング装置１は、第１の二次元コード２０と第２の二次元コード３０とを鋼管１０の軸方向に対して斜めの方向に並べてマーキングするように構成されていても良い。つまり、第１の二次元コード２０から鋼管１０の軸方向かつ周方向に移動した位置に第２の二次元コード３０をマーキングするように構成されていても良い。また、マーキング装置１は、第１の二次元コード２０の行方向ｄ２が鋼管１０の軸方向と交差するように、第１の二次元コード２０をマーキングするように構成されていても良い。
【００４２】
このような位置関係で第１の二次元コード２０と第２の二次元コード３０とを鋼管１０にマーキングするマーキング装置１の構成としては、印字ヘッド１１を支持する支持装置の構成を変更した構成が例示できる。この支持装置は、印字ヘッド１１を鋼管１０の軸方向及び周方向へ移動させたり、印字ヘッド１１を塗料の吐出方向を軸として回転させたりすることができるように支持するように構成される。このような支持装置としては、例えば多関節機構のマニピュレータであるロボットアームが挙げられる。なお、マーキング装置１は、搬送装置１３が鋼管１０を周方向へ回転させたり、鋼管１０を印字ヘッド１１の塗料の吐出方向を軸として回転させたりすることができるような構成であっても、上述のような位置関係で第１の二次元コード２０と第２の二次元コード３０とを鋼管１０にマーキングすることができる。
【００４３】
また、マーキング装置１が印字ヘッド１１を塗料の吐出方向を軸として回転させることができるように支持する支持装置を備える場合、制御部１５は第２のコード生成部１７を有していない構成であっても良い。このような構成の場合、マーキング装置１は、第１の二次元コード２０をマーキングした状態から印字ヘッド１１を回転角度に応じて回転させ、この状態で第１の二次元コード２０を更にマーキングすることで、第２の二次元コード３０をマーキングすることができる。なお、マーキング装置１は、搬送装置１３が鋼管１０を印字ヘッド１１の塗料の吐出方向を軸として回転することができるような構成であっても、制御部１５が第２のコード生成部１７を有していない構成とすることができる。
【００４４】
また、マーキング装置１は、平面視において、搬送装置１３による鋼管１０の搬送方向ｄ１と交差する方向に印字ヘッド１１を移動できるように支持する支持装置を備える構成であっても良い。このような構成の場合、印字ヘッド１１は少なくとも１つのノズルを備える構成であれば良い。
【００４５】
また、マーキング装置１は、第１の二次元コード２０と第２の二次元コード３０とは異なる別の二次元コードを更にマーキングするように構成されても構わない。例えば、マーキング装置１は、第１の二次元コード２０を回転させた二次元コードであって、その回転角度が第２の二次元コード３０の回転角度とは異なる第３の二次元コードを更にマーキングするように構成されても構わない。
【００４６】
また、マーキング装置１は、第１の二次元コード２０と第２の二次元コード３０とを含む１組のコードユニットを複数組マーキングするように構成されても構わない。つまり、各コードユニットは、データパターンが異なる１組の第１の二次元コード２０と第２の二次元コード３０とを含んでいる。従って、より多くの情報をマーキングすることができる。
【００４７】
また、マーキング装置１は、第１の二次元コード２０と、第２の二次元コード３０の行または列を基準とした第２の二次元コード３０のミラー像とをマーキングするように構成されても構わない。このような構成の場合には、マーキングされる第２の二次元コード３０がミラー像であることが予め分かっているものとして読み取りが行われる。
【００４８】
また、マーキング装置１の構成及び制御の簡略化の観点において、第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と直交する方向であることが好ましい。このようにすることで、第１の二次元コード２０の行方向ｄ２は、第２の二次元コード３０の列方向に一致し、第１の二次元コード２０の列方向は、第２の二次元コード３０の行方向に一致する。従って、第１の二次元コード２０及び第２の二次元コード３０のマーキングの際に、鋼管１０に対する印字ヘッド１１の相対的な移動が複雑にならず、マーキング装置１の構成及び制御を簡略化することができる。
【００４９】
また、マーキング装置１は、第１の二次元コード２０と第２の二次元コード３０とを並べてマーキングする構成に限定されるものではない。しかしながら、マーキング装置１の構成や制御等の簡略化、読み取りやすさ等の観点において、マーキング装置１は、第１の二次元コード２０と第２の二次元コード３０とを並べてマーキングする構成であることが好ましい。
【００５０】
また、マーキング装置１は、塗料を吐出して二次元コードをマーキングする構成に限定されるものではない。例えば、マーキング装置１は、版等を用いて塗料を転写させて二次元コードをマーキングする構成、打刻によって二次元コードをマーキングする構成、レーザー光を用いるレーザーマーキングによって二次元コードをマーキングする構成、インクジェットプリンタによって二次元コードをマーキングする構成等であっても構わない。
【００５１】
次に、本実施形態に係る二次元コードのマーキング方法の概要について説明する。なお、以下では、図１、図２に示されるマーキング装置１によって、図３に示される第１の二次元コード２０と第２の二次元コード３０を鋼管１０にマーキングする場合を例示して説明する。図４は、本実施形態に係る二次元コードのマーキング方法の概要が示された流れ図である。本実施形態は、第１の二次元コード２０をマーキングする工程と、第１の二次元コード２０と同一のデータパターンを有する第２の二次元コード３０をマーキングする工程と、を備え、第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と交差する方向であることを特徴とする。以下では、各工程を更に詳細に説明する。
【００５２】
まず、二次元コードとして鋼管１０にマーキングするデータの入力が行われる（ステップＳ１）。データの入力は、入力装置１４によって行われる。入力装置１４は、入力されたデータを制御部１５へ送信する。
【００５３】
次に、制御部１５の第１のコード生成部１６による第１の二次元コード２０の生成が行われる（ステップＳ２）。第１のコード生成部１６は、入力装置１４から送信されるデータ、予め主記憶装置に格納されるデータ等に基づいて、入力装置１４から送信されるデータがコード化された第１の二次元コード２０を生成する。
【００５４】
次に、制御部１５の第２のコード生成部１７による第２の二次元コード３０の生成が行われる（ステップＳ３）。第２のコード生成部１７は、第１のコード生成部１６によって生成された第１の二次元コード２０、予め主記憶装置に格納される回転角度等に基づいて、第１の二次元コード２０を回転させた第２の二次元コード３０を生成する。第２のコード生成部１７は、行方向ｄ３が、第１の二次元コード２０の行方向ｄ２と交差する方向である第２の二次元コード３０を生成する。なお、図３に示された第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と直交している。
【００５５】
次に、第１の二次元コード２０のマーキングが行われる（ステップＳ４）。マーキング装置１は、搬送装置１３によって鋼管１０を鋼管１０の軸方向へ所定の速度で搬送し、印字ヘッド１１の複数のノズルから鋼管１０へ塗料を適宜吐出して第１の二次元コード２０をマーキングする。第１の二次元コード２０は、第１列目から順に列毎にマーキングされる。
【００５６】
次に、第２の二次元コード３０のマーキングが行われる（ステップＳ５）。マーキング装置１は、ステップＳ４と同様に、搬送装置１３によって鋼管１０を鋼管１０の軸方向へ所定の速度で搬送し、印字ヘッド１１の複数のノズルから鋼管１０へ塗料を適宜吐出して第２の二次元コード３０をマーキングする。第２の二次元コード３０は、第１行目から順に行毎にマーキングされる。ここで、第２の二次元コード３０は、第１の二次元コード２０と鋼管１０の軸方向に少なくとも第１の二次元コード２０の１列分の間隔をあけてマーキングされる。
【００５７】
そして、第１の二次元コード２０と、第１の二次元コード２０と同一のデータパターンを有し、行方向ｄ３が第１の二次元コード２０の行方向ｄ２と交差する方向である第２の二次元コード３０とが、鋼管１０にマーキングされる。
【００５８】
詳細については後述するが、本実施形態のマーキング方法によって上述のようにマーキングされた第１の二次元コード２０と第２の二次元コード３０は、複数の平行な直線状の損傷や汚れの付着等が生じる場合であっても、簡易な構成の読み取り装置によってコード化されたデータを高い確率で読み取ることができる。
【００５９】
なお、マーキング方法は、上述の方法に限定されるものではない。マーキング方法は、第１の二次元コード２０と、第１の二次元コード２０と同一のデータパターンを有し、行方向ｄ３が第１の二次元コード２０の行方向ｄ２と交差する方向である第２の二次元コード３０とが、鋼管１０にマーキングされる方法であればよい。そして、マーキング方法は、マーキング装置１の構成に応じて適宜変更できる。
【００６０】
例えば、マーキング方法は、第１の二次元コード２０の生成（ステップＳ２）の後、第１の二次元コード２０のマーキング（ステップＳ４）をし、第２の二次元コード３０の生成（ステップＳ３）の後、第２の二次元コード３０のマーキング（ステップＳ５）をしても良い。また、鋼管１０の搬送方向ｄ１が逆向きの場合には、第２の二次元コード３０のマーキング（ステップＳ５）の後、第１の二次元コード２０のマーキング（ステップＳ４）をしても良い。
【００６１】
また、第１の二次元コード２０と第２の二次元コード３０とを含む１組のコードユニットを複数組マーキングする場合には、例えば、ステップＳ１〜ステップＳ５を組の数だけ繰り返せば良い。この際、各コードユニットの間隔は、少なくとも第１の二次元コード２０の行の長さ分以上とすることが好ましい。
【００６２】
次に、本実施形態に係る二次元コードのマーキング装置１及びマーキング方法によってマーキングされた二次元コードを読み取る二次元コードの読み取り装置の概要について説明する。図５は、二次元コードの読み取り装置４０の一例が示された概略図である。また、図５において、鋼管１０は部分的に示されている。
【００６３】
図５に示されるように、二次元コードの読み取り装置（以下読み取り装置と称する）４０は、二次元コードを撮像する撮像装置４１と、読み取り部４２等を備える。そして、読み取り装置４０は、撮像装置４１によって二次元コードを撮像し、読み取り部４２によって撮像された原画像に所定の処理を行って二次元コードにコード化されたデータを読み取るように構成されている。
【００６４】
撮像装置４１は、鋼管１０の表面（外周面）にマーキングされた第１の二次元コード２０と第２の二次元コード３０を１つの画像に撮像するように構成されている。撮像装置４１は、鋼管１０の上方に配置され、上方から第１の二次元コード２０及び第２の二次元コード３０を撮像するように構成されている。
【００６５】
撮像装置４１としては、エリアカメラまたはラインカメラを用いることができ、特に限定されるものではない。撮像装置４１には、例えば、ＣＣＤ（Charge Coupled Device）カメラを用いることができる。撮像装置４１のシャッタースピード（画像取り込み時間）や撮像される画像の分解能は、撮像条件、例えば周囲の明るさ、鋼管１０、第１の二次元コード２０、及び第２の二次元コード３０の色やサイズ等に応じて適宜設定される。
【００６６】
なお、撮像装置４１は、上述の構成に限定されるものではなく、第１の二次元コード２０と第２の二次元コード３０とを撮像するように構成されていればよい。例えば、撮像装置４１は、第１の二次元コード２０と第２の二次元コード３０とを別々の画像に撮像するように構成されていても良い。
【００６７】
読み取り部４２は、演算処理及び制御処理を行う処理装置、データが格納される主記憶装置等を有し、例えば、ＣＰＵ、主記憶装置、タイマ、入力回路、出力回路、電源回路等を有するマイクロコンピュータである。読み取り部４２は、撮像装置４１と電気的に接続している。主記憶装置には、原画像から第１の二次元コード２０及び第２の二次元コード３０にコード化されたデータを読み取るためのプログラムや各種データ等が格納される。なお、読み取り部４２の構成は特に限定されるものではない。例えば、主記憶装置に格納されるプログラムやデータ等は、外部の記憶装置に格納され、読み取り部４２が読み出す形態とされても良い。
【００６８】
読み取り部４２は、切り出し部４３を有する。切り出し部４３は、例えばプログラムによって構成される。切り出し部４３は、撮像装置４１によって撮像された原画像において、第１の二次元コード２０と第２の二次元コード３０とをそれぞれ切り出すように構成されている。切り出し部４３は、画像の走査において、第１の二次元コード２０のアライメントパターン２２を検出し、第１の二次元コード２０の切り出しを行う。同様に、切り出し部４３は、画像の走査において、第２の二次元コード３０のアライメントパターン３２を検出し、第２の二次元コード３０の切り出しを行う。なお、切り出し部４３は、切り出しを行った２つの二次元コードにおいて、第１の二次元コード２０と第２の二次元コード３０とを区別する必要はない。
【００６９】
読み取り部４２は、回転部４４を有する。回転部４４は、例えばプログラムによって構成される。回転部４４は、切り出し部４３によって切り出された第１の二次元コード２０の向きと第２の二次元コード３０の向きを一致させるように、第２の二次元コード３０の画像を回転させるように構成される。回転部４４は、第１の二次元コード２０のアライメントパターン２２及び第２の二次元コード３０のアライメントパターン３２の向きに応じて、第２の二次元コード３０の画像の回転を行う。なお、向きが一致するとは、アライメントパターン２２とアライメントパターン３２の向きが一致することを意味する。
【００７０】
なお、回転部４４は、第１の二次元コード２０の画像、または、第１の二次元コード２０の画像及び第２の二次元コード３０の画像を回転させることで、第１の二次元コード２０と第２の二次元コード３０の向きを一致させても構わない。また、回転部４４は、第１の二次元コード２０に対する第２の二次元コード３０の回転角度が予め主記憶装置等に格納されている場合には、この回転角度に応じて第２の二次元コード３０の画像を回転させるように構成されても良い。
【００７１】
読み取り部４２は、補正部４５を有する。補正部４５は、例えばプログラムによって構成される。補正部４５は、回転部４４によって向きが一致させられた第１の二次元コード２０の画像及び第２の二次元コード３０の画像の各々に対して、各種のフィルタを用いた補正処理を行うように構成される。補正処理としては、ドット２１，３１が強調される処理、第１の二次元コード２０と第２の二次元コード３０のゆがみを補正する処理等が例示できる。
【００７２】
読み取り部４２は、抽出部４６を有する。抽出部４６は、例えばプログラムによって構成される。抽出部４６は、補正部４５によって補正処理がされた第１の二次元コード２０の画像と第２の二次元コード３０の画像から、それぞれ第１の二次元コード２０のパターンと第２の二次元コード３０のパターンとを抽出するように構成される。ここで、パターンとは、二次元コードの行列において各セルにおけるドットの有無を表したものである。
【００７３】
読み取り部４２は、合成部４７を有する。合成部４７は、例えばプログラムによって構成される。合成部４７は、抽出部４６によって抽出された第１の二次元コード２０のパターンと第２の二次元コード３０のパターンとを合成するように構成される。ここで、パターンの合成とは、２つのパターンの対応する各セルにおいて、いずれか一方にドットが有る場合にはドッドが有ると判定し、どちらにもドットがない場合にはドットが無いと判定し、これらの判定結果から新たなパターンを生成することを意味する。
【００７４】
第１の二次元コード２０のパターンと二次元コード３０のパターンとを合成することで、損傷や汚れの付着によって誤ってドット無しとされた第１の二次元コード２０のパターンのセルを第２の二次元コード３０のパターンによって修復することができる。同様に、損傷や汚れの付着によって誤ってドット無しとされた第２の二次元コード３０のパターンのセルを第１の二次元コード２０のパターンによって修復することができる。
【００７５】
例えば、第１の二次元コード２０の行方向ｄ２と平行な複数の汚れが第１の二次元コード２０及び第２の二次元コード３０に亘って付着した場合、第１の二次元コード２０は汚れに対応した複数の行の全てのドットが無いものとされる。ここで、マーキングされた第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と交差する方向である。従って、第２の二次元コード３０において、汚れによって第１の二次元コード２０でドットが無いものとされる行に対応する行が、この汚れによって同様に全てドットが無いものとされてしまうことがない。
【００７６】
また、第１の二次元コード２０の列方向と平行な複数の汚れが第１の二次元コード２０及び第２の二次元コード３０に付着した場合、第１の二次元コード２０は汚れに対応した複数の列の全てのドットが無いものとされる。一方、行の場合と同様に、第２の二次元コード３０において、汚れによって第１の二次元コード２０でドットが無いものとされる列に対応する列が、この汚れによって全てドットが無いものとされてしまうことがない。
【００７７】
このように、複数の直線状の損傷や汚れの付着等が第１の二次元コード２０及び第２の二次元コード３０に生じても、第１の二次元コード２０でドットが無いものとされるセルの多くを第２の二次元コード３０によって復元することができるので、二次元コードの読取率を向上させることができる。
【００７８】
読み取り部４２は、デコード部４８を有する。デコード部４８は、例えばプログラムによって構成される。デコード部４８は、予め主記憶装置に格納される誤り訂正符号に関する演算等に基づいて、合成部４７によって合成されたパターンを修復する。そして、デコード部４８は、この修復したパターンからデータを読み出すように構成される。
【００７９】
なお、読み取り装置４０の構成は特に限定されるものではない。読み取り装置４０は、第１の二次元コード２０と第２の二次元コード３０について、向きを一致させた状態で合成したパターンからデータを読み出す構成であれば良い。例えば、読み取り装置４０、読み取り部４２が補正部４５を備えない構成であっても良い。また、読み取り装置４０は、第１の二次元コード２０のパターンと第２の二次元コード３０のパターンを合成する前に、第１の二次元コード２０のパターンまたは第２の二次元コード３０のパターンが読み取ることができるかを判定するように構成されていても良い。このように構成にすることで、第１の二次元コード２０または第２の二次元コード３０の復元が必要ない場合には、パターンの合成を行うことなくデータを読み出すことができ、演算負荷の低減や読み取り時間の短縮が図れる。読み取り装置４０は、上述のマーキング装置１及びマーキング方法によってマーキングされる第１の二次元コード２０及び第２の二次元コード３０の構成に応じて適宜変更できる。
【００８０】
次に、本実施形態に係る二次元コードのマーキング装置１及びマーキング方法によってマーキングされた二次元コードを読み取る二次元コードの読み取り方法の概要について説明する。なお、以下では、図５に示される読み取り装置４０によって、図７に示される第１の二次元コード２０と第２の二次元コード３０を読み取る場合を例示して説明する。
【００８１】
図６は、二次元コードの読み取り方法の概要が示された流れ図である。図７は、汚れが付着した第１の二次元コード２０と第２の二次元コード３０の一例が示された概略図である。図７には、図３において、第１の二次元コード２０の行方向ｄ２と平行な方向に延びる２つの汚れ５１，５２が第１の二次元コード２０及び第２の二次元コード３０に亘って付着した状態が示されている。汚れ５１，５２は斜線の網掛けによって示されている。汚れ５１は、第１の二次元コード２０の第２行目上を延びている。汚れ５２は、第１の二次元コード２０の第７行目上を延びている。ここで、第１の二次元コード２０及び第２の二次元コード３０は、鋼管１０の表面にマーキングされている。鋼管１０の表面は黒色である。第１の二次元コード２０及び第２の二次元コード３０のそれぞれのドット２１，３１は、白色である。汚れ５１，５２は、ドット２１，３１を識別できなくなくするものであり、例えば鉄粉や油である。
【００８２】
まず、撮像装置４１による第１の二次元コード２０及び第２の二次元コード３０の撮像が行われる（ステップＳ１１）。第１の二次元コード２０及び第２の二次元コード３０は、１つの画像に撮像される。
【００８３】
次に、切り出し部４３によって第１の二次元コード２０及び第２の二次元コード３０の切り出しが行われる（ステップＳ１２）。図８には、切り出された第１の二次元コード２０と第２の二次元コード３０の画像の一例が示されている。図８Ａは、切り出された第１の二次元コード２０の画像を示し、図８Ｂは、切り出された第２の二次元コード３０の画像を示している。なお、切り出し部４３は、切り出しを行った２つの二次元コードにおいて、第１の二次元コード２０と第２の二次元コード３０とを区別しなくても構わない。
【００８４】
次に、回転部４４によって第２の二次元コード３０の画像の回転が行われる（ステップＳ１３）。この回転によって、切り出し部４３によって切り出された第１の二次元コード２０の向きと第２の二次元コード３０の向きを一致させる。ここでは、回転部４４は、第２の二次元コード３０の画像を時計回りに９０°回転させる。図９には、第１の二次元コード２０の画像と、回転された第２の二次元コード３０の画像の一例が示されている。図９Ａは、第１の二次元コード２０の画像を示し、図９Ｂは、回転された第２の二次元コード３０の画像を示している。なお、回転部４４は、第１の二次元コード２０の画像、または、第１の二次元コード２０の画像及び第２の二次元コード３０の画像を回転させることで、第１の二次元コード２０と第２の二次元コード３０の向きを一致させても構わない。
【００８５】
次に、補正部４５によって第１の二次元コード２０の画像及び第２の二次元コード３０の画像の各々に対して、各種のフィルタを用いた補正処理が行われる（ステップＳ１４）。補正処理としては、ドット２１，３１が強調される処理、第１の二次元コード２０と第２の二次元コード３０のゆがみを補正する処理等が例示できる。
【００８６】
次に、抽出部４６によって第１の二次元コード２０のパターン及び第２の二次元コード３０のパターンの抽出が行われる（ステップＳ１５）。ここで、パターンとは、二次元コードの行列において各セルにおけるドットの有無を表したものである。なお、汚れ５１，５２が付着した箇所に対応するセルは、ドットが無いものとして抽出される。
【００８７】
次に、合成部４６によって第１の二次元コード２０のパターンと二次元コード３０のパターンとの合成が行われる（ステップＳ１６）。ここで、パターンの合成とは、２つのパターンの対応する各セルにおいて、いずれか一方にドットが有る場合にはドッドが有ると判定し、どちらにもドットがない場合にはドットが無いと判定し、これらの判定結果から新たなパターンを生成することを意味する。
【００８８】
図１０には、第１の二次元コード２０のパターンと回転された第２の二次元コード３０のパターンとが合成されたパターン６０の一例が示されている。図１０において、合成されたパターン６０は複数の四角形のドット６１で示されており、ドットがあると判定されたセルは黒塗りされている。また、図１０において、第１の二次元コード２０で汚れ５１または汚れ５２が付着した箇所に対応するセルであって、かつ第２の二次元コード３０で汚れ５１または汚れ５２が付着した箇所に対応するセルは、損傷セル６２として斜線の網掛けによって示されている。
【００８９】
汚れ５１，５２によって認識できなくなったドット２１，３１に対応するセルは、第１の二次元コード２０のパターンにおいて１０個（２行目及び７行目）であり、第２の二次元コード３０のパターンにおいて１０個（４列目及び９列目）であった（図９参照）。しかし、合成することで、汚れ５１，５２によって認識できなくなったドット２１，３１に対応するセルの大部分が修復される。修復できなかったセルである損傷セル６２は、４箇所であり、第２行第４列のセル、第２行第９列のセル、第７行第４列のセル、及び第７行第９列のセルである。
【００９０】
次に、デコード部４８によってパターン６０の修復が行われる（ステップＳ１７）。デコード部４８は、予め主記憶装置に格納される誤り訂正符号に関する演算等に基づいて、図１０に示されるパターン６０を修復する。ここで、ステップＳ１６で合成されたパターン６０は、汚れ５１，５２によって認識できなくなったドット２１，３１に対応するセルの大部分が修復されており、損傷セル６２の数は少なく、誤り訂正符号によって確実に修復できる。そして、デコード部４８は、この修復したパターンからデータの読み取りを行う（ステップＳ１８）。従って、この読み取り時に読み取り不良が発生しにくく、読取率が向上される。
【００９１】
なお、二次元コードの読取率の向上は、複数の平行な直線状の損傷や汚れの付着等の延びる方向に影響を受けることはない。例えば、図１１に示されるような場合であっても、二次元コードの読取率が向上される。図１１は、汚れが付着した第１の二次元コード２０と第２の二次元コード３０の別の一例が示された概略図である。図１１には、図３において、第１の二次元コード２０の行方向ｄ２と垂直な方向に延びる４つの汚れ５３，５４，５５，５６が第１の二次元コード２０または第２の二次元コード３０に付着した状態が示されている。
【００９２】
汚れ５３，５４，５５，５６は斜線の網掛けによって示されている。汚れ５３は、第１の二次元コード２０の第２列目上を延びている。汚れ５４は、第１の二次元コード２０の第７列目上を延びている。汚れ５５は、第２の二次元コード３０の第３行目上を延びている。汚れ５６は、第２の二次元コード３０の第７行目上を延びている。ここで、第１の二次元コード２０及び第２の二次元コード３０は、鋼管１０の表面にマーキングされている。鋼管１０の表面は黒色である。第１の二次元コード２０及び第２の二次元コード３０のそれぞれのドット２１，３１は、白色である。汚れ５３，５４，５５，５６は、ドット２１，３１を識別できなくなくするものであり、例えば鉄粉や油である。
【００９３】
まず、ステップＳ１１として、撮像装置４１によって第１の二次元コード２０及び第２の二次元コード３０の撮像を行う。次に、ステップＳ１２として、切り出し部４３によって第１の二次元コード２０及び第２の二次元コード３０の切り出しを行う。図１２には、切り出された第１の二次元コード２０と第２の二次元コード３０の画像の一例が示されている。図１２Ａは、切り出された第１の二次元コード２０の画像を示し、図１２Ｂは、切り出された第２の二次元コード３０の画像を示している。
【００９４】
次に、ステップＳ１３として、第１の二次元コード２０の向きと第２の二次元コード３０の向きを一致させるために、回転部４４によって第２の二次元コード３０の画像を時計周りに９０°回転させる。図１３には、第１の二次元コード２０の画像と、回転された第２の二次元コード３０の画像の一例が示されている。図１３Ａは、第１の二次元コード２０の画像を示し、図１３Ｂは、回転された第２の二次元コード３０の画像を示している。
【００９５】
次に、ステップＳ１４として、向きが一致させられた第１の二次元コード２０の画像及び第２の二次元コード３０の画像の各々に対して、補正部４５によって各種のフィルタを用いた補正処理を行う。
【００９６】
次に、ステップＳ１５として、抽出部４６によって第１の二次元コード２０のパターン及び第２の二次元コード３０のパターンの抽出を行う。
【００９７】
次に、ステップＳ１６として、合成部４６によって第１の二次元コード２０のパターンと第２の二次元コード３０のパターンとの合成を行う。図１４には、第１の二次元コード２０のパターンと回転された第２の二次元コード３０のパターンとが合成されたパターン１６０の一例が示されている。図１４において、合成されたパターン１６０は、複数の四角形のドット１６１で示されており、ドットがあると判定されたセルは黒塗りされている。また、図１４において、第１の二次元コード２０で汚れ５３または汚れ５４が付着した箇所に対応するセルであって、かつ第２の二次元コード３０で汚れ５５または汚れ５６が付着した箇所に対応するセルは、損傷セル１６２として斜線の網掛けによって示されている。
【００９８】
汚れ５３，５４によって認識できなくなったドット２１に対応するセルは、第１の二次元コード２０のパターンにおいて１０個（２列目及び７列目）である（図１３参照）。汚れ５５，５６によって認識できなくなったドット３１に対応するセルは、第２の二次元コード３０のパターンにおいて１０個（３行目及び７行目）である（図１３参照）。しかし、合成することで、汚れ５３，５４，５５，５６によって認識できなくなったドット２１，３１に対応するセルの大部分が修復される。修復できなかったセルである損傷セル１６２は、４箇所であり、第３行第２列のセル、第３行第７列のセル、第７行第２列のセル、及び第７行第７列のセルである。
【００９９】
次に、ステップＳ１７として、デコード部４８によってパターン１６０の修復を行う。ここで、ステップＳ１６で合成されたパターン１６０は、汚れ５３，５４，５５，５６によって認識できなくなったドット２１，３１に対応するセルの大部分が修復されており、損傷セル１６２の数は少なく、誤り訂正符号によって確実に修復できる。そして、ステップＳ１８として、デコード部４８によってこの修復したパターンからデータの読み取りを行う。このようにして、第１の二次元コード２０または第２の二次元コード３０に付着する汚れが第１の二次元コード２０の行方向ｄ２と垂直な方向に延びる場合であっても、読み取り不良が発生しにくく、読取率が向上される。
【０１００】
ここで、第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と直交する方向であることに限定されるものではない。第２の二次元コード３０の行方向ｄ３が、第１の二次元コード２０の行方向ｄ２と少なくとも交差することによって、第１の二次元コード２０のパターンと第２の二次元コード３０のパターンとを合成した際に、セルの大部分を修復することができる。しかしながら、読取率を向上させる観点において、第２の二次元コード３０の行方向ｄ３は、第１の二次元コード２０の行方向ｄ２と直交する方向であることが好ましい。このような構成にすることで、パターンを合成することでより多くのセルを修復することができる。そして、デコード部４８によるデータの読み取り（ステップＳ１８）で不良が発生しにくく、読取率が向上される。
【０１０１】
なお、二次元コードの読み取り方法は、上述の方法に限定されるものではない。二次元コードの読み取り方法は、第１の二次元コード２０と第２の二次元コード３０について、向きを一致させた状態で合成したパターンからデータを読み出す方法であれば良い。例えば、二次元コードの読み取り方法は、回転部４４による画像の回転（ステップＳ１３）の前に、補正処理（ステップＳ１４）を行っても良い。そして、読み取り方法は、上述のマーキング装置１及びマーキング方法によってマーキングされる第１の二次元コード２０及び第２の二次元コード３０の構成に応じて適宜変更できる。
【０１０２】
例えば、第１の二次元コード２０と第２の二次元コード３０とを含む１組のコードユニットが複数組マーキングされている場合には、例えば、ステップＳ１１〜ステップＳ１８を組の数だけ繰り返せば良い。
【０１０３】
以上に説明がなされたように、本実施形態のマーキング装置１及びマーキング方法によってマーキングされた第１の二次元コード２０と第２の二次元コード３０は、第２の二次元コード３０の行方向ｄ３が、第１の二次元コード２０の行方向ｄ２と交差する方向である。
【０１０４】
従って、複数の平行な直線状の損傷や汚れの付着等が生じる場合、二次元コードを構成する行列の構成に関して、第１の二次元コード２０で生じる損傷や汚れの付着等の部位と、第２の二次元コード３０で生じる損傷や汚れの付着等の部位が一致しにくくなる。そして、第１の二次元コード２０と第２の二次元コード３０とを向きを一致させて合成するといった簡易な構成の読み取り装置及び読み取り方法により、損傷や汚れの付着等が生じた部位の殆どを修復することができる。
【０１０５】
そして、本実施形態によれば、複数の平行な直線状の損傷や汚れの付着等が生じる場合であっても、簡易な構成の読み取り装置でコード化されたデータを高い確率で読み取ることができ、二次元コードの読取率を向上させるマーキング装置１およびマーキング方法を提供することができる。
【産業上の利用可能性】
【０１０６】
本開示は、二次元コードをマーキングする二次元コードのマーキング装置、及び二次元コードのマーキング方法に好適に利用することができ、上述された実施形態に限定されるものではない。そして、本開示の二次元コードのマーキング装置、及び二次元コードのマーキング方法によって二次元コードがマーキングされる対象物は限定されるものではない。本開示は、二次元コードがマーキング可能なあらゆる対象物に直接二次元コードがマーキングされる場合、対象物を包装する包装体等に二次元コードがマーキングされる場合、包装体や対象物に貼り付けられるラベル等に二次元コードがマーキングされる場合等にも利用することができる。
【符号の説明】
【０１０７】
１  二次元コードのマーキング装置（マーキング装置）
１０  鋼管
１１  印字ヘッド
１２  ポンプユニット
１３  搬送装置
１４  入力装置
１５  制御部
２０  第１の二次元コード
２１  ドット
３０  第２の二次元コード
３１  ドット
４０  読み取り装置
４１  撮像装置
４２  読み取り部
５１，５２，５３，５４，５５，５６  汚れ
６１，１６１  ドット
ｄ２  第１の二次元コードの行方向
ｄ３  第２の二次元コードの行方向
【図１】
2018205834.tif 000003
【図２】
2018205834.tif 000004
【図３】
2018205834.tif 000005
【図４】
2018205834.tif 000006
【図５】
2018205834.tif 000007
【図６】
2018205834.tif 000008
【図７】
2018205834.tif 000009
【図８】
2018205834.tif 000010
【図９】
2018205834.tif 000011
【図１０】
2018205834.tif 000012
【図１１】
2018205834.tif 000013
【図１２】
2018205834.tif 000014
【図１３】
2018205834.tif 000015
【図１４】
2018205834.tif 000016