(57)【要約】【課題】方形状枠パターンを持つ二次元コードのデータ領域の大容量化を図る。【解決手段】二次元コード１は、明暗データが行および列のセル単位で複数記録された方形状のユニット２ａを二次元マトリックス状に複数配設されたデータ領域２と、このデータ領域２を取り囲む形で、ユニット切れ目部分３ｂおよび原点切れ目部分３ｇを設けた方形状の破線枠パターン３と、を備える。原点切れ目部分３ｇは、破線枠パターン３の四隅の一つを他の三隅とは異なるようしてあり、これにより二次元コード座標系の原点が特定される。また、ユニット２ａ同士の境界は、破線枠パターン３の対向するユニット切れ目部分３ｂを結ぶ仮想直線により特定される。ユニット２ａ同士の境界を特定するための突起部などを破線枠パターン３から内側へ配設していないので、その領域にデータ領域２を拡大して大容量化することができる。【選択図】図１
2018101164.tif 000002
【特許請求の範囲】
【請求項１】
光学的に読み取られて二値化処理される明暗データが行および列のセル単位で複数記録された方形状のユニットと、
前記ユニットが二次元マトリックス状に複数配設されたデータ領域と、
前記データ領域を取り囲む形で記録されて光学的に読み取られる行方向および列方向の各平行破線からなる方形状の破線枠パターンと、を備え、
前記破線枠パターンを構成する前記各平行破線は、
前記ユニットの行方向および列方向のサイズに対応した長さからなり、内側への突起部を有していない対向状態の長手方向線分と、
前記長手方向線分それぞれの両端隣側に形成されてユニット境界を示す対向状態のユニット切れ目部分と、
前記ユニットの原点を示す原点切れ目部分と、を有し、
前記方形状のユニットは、
前記対向状態のユニット切れ目部分を結ぶ前記行方向および前記列方向それぞれの隣同士の仮想直線により特定される、
ことを特徴とする二次元コード。
【請求項２】
前記原点切れ目部分は、
前記破線枠パターンの四隅の一つを他の三隅とは異なる明暗データにより記録された特定隅部分である、
ことを特徴とする請求項１記載の二次元コード。
【請求項３】
前記データ領域は、
前記破線枠パターンの枠内に、前記明暗データの代わりの内側写真情報が前記ユニットの単位で記録されている、
ことを特徴とする請求項１または２記載の二次元コード。
【請求項４】
前記データ領域は、
その一部に、密度の異なる別の二次元コードが記録されている、
ことを特徴とする請求項１乃至３のいずれかに記載の二次元コード。
【請求項５】
請求項１乃至４のいずれかに記載の二次元コードを記録した二次元コード記録担体。
【請求項６】
前記破線枠パターンの枠外に外側写真情報が記録されている、
ことを特徴とする請求項５記載の二次元コード記録担体。
【請求項７】
請求項１乃至４のいずれかに記載の二次元コードの読取り方法であって、
撮影された前記二次元コードの画像データをバイナリーデータに変換する手順と、
前記バイナリーデータへのスキャン処理により、前記長手方向線分からなる前記破線枠パターンの各辺に対応した第１〜第４の辺データを求める手順と、
前記第１〜第４の辺データに基づき、前記各辺の各交点に対応した第１〜第４の交点位置データを求める手順と、
前記第１〜第４の交点位置データおよび前記バイナリーデータに基づき、前記各交点の一つを前記破線枠パターンの原点に設定する手順と、
前記第１〜第４の辺データおよび前記バイナリーデータに基づき、前記各辺の前記ユニット切れ目部分を探索してその切れ目位置データを求める手順と、
前記切れ目位置データに基づき、前記行方向の二辺の対向状態の第１の前記ユニット切れ目部分同士、および前記列方向の二辺の対向状態の第２の前記ユニット切れ目部分同士をそれぞれ結ぶ仮想直線を設定して、複数の前記ユニットの各範囲を個々に特定する手順と、からなる、
ことを特徴とする二次元コード読取り方法。
【請求項８】
前記第１〜第４の辺データを求める手順において、
前記スキャン処理により得られる、前記長手方向線分またはこの線分と同様の明暗データを持つ部分への複数到達点の中で、その辺ごとの全体に対応した所定範囲から外れる到達点を前記第１〜第４の辺データの特定用到達点から間引く、
ことを特徴とする請求項７記載の二次元コード読取り方法。
【請求項９】
請求項１乃至４のいずれかに記載の二次元コードを読み取るプログラムであって、
コンピュータに、
撮影された前記二次元コードの画像データをバイナリーデータに変換する手順と、
前記バイナリーデータへのスキャン処理により、前記長手方向線分からなる前記破線枠パターンの各辺に対応した第１〜第４の辺データを求める手順と、
前記第１〜第４の辺データに基づき、前記各辺の各交点に対応した第１〜第４の交点位置データを求める手順と、
前記第１〜第４の交点位置データおよび前記バイナリーデータに基づき、前記各交点の一つを前記破線枠パターンの原点に設定する手順と、
前記第１〜第４の辺データおよび前記バイナリーデータに基づき、前記各辺の前記ユニット切れ目部分を探索してその切れ目位置データを求める手順と、
前記切れ目位置データに基づき、前記行方向の二辺の対向状態の第１の前記ユニット切れ目部分同士、および前記列方向の二辺の対向状態の第２の前記ユニット切れ目部分同士をそれぞれ結ぶ仮想直線を設定して、複数の前記ユニットの各範囲を個々に特定する手順と、を実行させる、
ことを特徴とする二次元コード読取用プログラム。
【請求項１０】
前記第１〜第４の辺データを求める手順において、
前記スキャン処理により得られる、前記長手方向線分またはこの線分と同様の明暗データを持つ部分への複数到達点の中で、その辺ごとの全体に対応した所定範囲から外れる到達点を前記第１〜第４の辺データの特定用到達点から間引く、
ことを特徴とする請求項９記載の二次元コード読取用プログラム。
【請求項１１】
請求項１乃至４のいずれかに記載の二次元コードの読取り装置であって、
撮影された前記二次元コードの画像データをバイナリーデータに変換する画像データ二値化手段と、
前記バイナリーデータへのスキャン処理により、前記長手方向線分からなる前記破線枠パターンの各辺に対応した第１〜第４の辺データを求め、
前記第１〜第４の辺データに基づき、前記各辺の各交点に対応した第１〜第４の交点位置データを求め、
前記第１〜第４の交点位置データおよび前記バイナリーデータに基づき、前記各交点の一つを前記破線枠パターンの原点に設定する、
破線枠パターン特定手段と、
前記第１〜第４の辺データおよび前記バイナリーデータに基づき、前記各辺の前記ユニット切れ目部分を探索してその切れ目位置データを求め、
前記切れ目位置データに基づき、前記行方向の二辺の対向状態の第１の前記ユニット切れ目部分同士、および前記列方向の二辺の対向状態の第２の前記ユニット切れ目部分同士をそれぞれ結ぶ仮想直線を設定して、複数の前記ユニットの各範囲を個々に特定する、
ユニット範囲特定手段と、からなる、
ことを特徴とする二次元コード読取り装置。
【請求項１２】
前記破線枠パターン特定手段は、
前記スキャン処理により得られる、前記長手方向線分またはこの線分と同様の明暗データを持つ部分への複数到達点の中で、その辺ごとの全体に対応した所定範囲から外れる位置の到達点を前記第１〜第４の辺データの特定用到達点から間引く、
ことを特徴とする請求項１１記載の二次元コード読取り装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば白黒の明暗データが方形状ユニットの行および列のセル単位で記録された形の二次元コードなどに関する。
【０００２】
二次元コードは、各種の商品，印刷媒体，ウェブ画面，看板，屋外施設，航空券，投票券，入場券や乗車券などの一部に撮影可能な態様で記録されて、記録対象それぞれの内容，関連情報などを説明する行，列の各方向へのバイナリーデータである。
【０００３】
通常、二次元コードの記録エリアは小さいので、そこでの情報記録密度を少しでも高くしてこの小記録エリアからの情報発信能力を強化することが望ましく、本発明はこのような要請に応えるものである。
【背景技術】
【０００４】
従来、バイナリーデータを行，列のセル単位で記録したユニットが二次元マトリックス状に配設されるデータ領域と、これを取り囲む方形枠パターンと、を備えた二次元コードが提案されている（特許文献１参照）。
【０００５】
この二次元コードの方形状枠パターンは、隣り合う第１，第２の二つの辺それぞれに内向き垂直態様の実線突起部（内向き突起部）を有している。なお、第１，第２の二つの辺と対向する残り二辺は外向き垂直態様の実線突起部（外向き突起部）を備えている。
【０００６】
この方形状枠パターンの内部でデータ領域の外側に形成された内向き垂直態様の実線突起部は、上記外向き突起部とともに、それぞれ複数セルからなってマトリックス態様の各ユニットの切出し用や位置決め用などの基準情報として用いられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２−２９８０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
このように、従来の方形状枠パターンに内向き垂直態様の実線突起部を備えた二次元コードの場合、この内向き突起部などにデータ領域の切り出しおよび位置決めなどのための機能を持たせることにより、データ領域全体への情報記録の大容量化を図っている。
【０００９】
ただデータ領域回りの方形状枠パターンは内向き垂直態様の実線突起部を備えているので、特許文献１の図２に示すように、この内向き突起部を含む枠パターン沿いの長方形部分が情報記録の対象外ゾーンとなる。
【００１０】
すなわち、内向き突起部の存在により、任意の所定の大きさの方形状枠パターンに対してその内側の上記長方形部分が必然的にデータ領域の対象外に設定される。
【００１１】
そこで本発明では、方形状枠パターンを破線で形成し、かつ、破線の切れ目部分を上述の内向き突起部に相当する部分として作用させ、これにより同じ大きさの方形状枠パターンを持つ二次元コードのデータ領域のさらなる大容量化を図ることを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、以上の課題を次のようにして解決する。
（１）光学的に読み取られて二値化処理される明暗データが行および列のセル単位で複数記録された方形状のユニット（例えば後述のユニット２ａ）と、
前記ユニットが二次元マトリックス状に複数配設されたデータ領域（例えば後述のデータ領域２）と、
前記データ領域を取り囲む形で記録されて光学的に読み取られる行方向および列方向の各平行破線からなる方形状の破線枠パターン（例えば後述の破線枠パターン３）と、を備え、
前記破線枠パターンを構成する前記各平行破線は、
前記ユニットの行方向および列方向のサイズに対応した長さからなり、内側への突起部を有していない対向状態の長手方向線分（例えば後述の長手方向線分３ａ）と、
前記長手方向線分それぞれの両端隣側に形成されてユニット境界を示す対向状態のユニット切れ目部分（例えば後述の「白」ユニット切れ目部分３ｂ）と、
前記ユニットの原点を示す原点切れ目部分（例えば後述の「白」原点切れ目部分３ｇ）と、を有し、
前記方形状のユニットは、
前記対向状態のユニット切れ目部分を結ぶ前記行方向および前記列方向それぞれの隣同士の仮想直線（例えば後述の上下方向仮想直線Ｌ１，左右方向仮想直線Ｌ２）により特定される、
構成態様の二次元コードを用いる。
（２）上記（１）において、
前記原点切れ目部分は、
前記破線枠パターンの四隅の一つを他の三隅とは異なる明暗データにより記録された特定隅部分である、
構成態様のものを用いる。
（３）上記（１），（２）において、
前記データ領域は、
前記破線枠パターンの枠内に、前記明暗データの代わりの内側写真情報（例えば後述の内側写真情報４）が前記ユニットの単位で記録されている、
構成態様のものを用いる。
（４）上記（１）乃至（３）のいずれかにおいて、
前記データ領域は、
その一部に、密度の異なる別の二次元コードが記録されている、
構成態様のものを用いる。
（５）上記（１）乃至（４）のいずれかに記載の二次元コードを記録した構成態様の二次元コード記録担体を用いる。
（６）上記（５）において、
前記破線枠パターンの枠外に外側写真情報（例えば後述の外側写真情報６）が記録されている、
構成態様のものを用いる。
（７）上記（１）乃至（４）のいずれかに記載の二次元コードの読取り方法であって、
撮影された前記二次元コードの画像データをバイナリーデータに変換する手順と、
前記バイナリーデータへのスキャン処理により、前記長手方向線分からなる前記破線枠パターンの各辺に対応した第１〜第４の辺データを求める手順と、
前記第１〜第４の辺データに基づき、前記各辺の各交点に対応した第１〜第４の交点位置データを求める手順と、
前記第１〜第４の交点位置データおよび前記バイナリーデータに基づき、前記各交点の一つを前記破線枠パターンの原点に設定する手順と、
前記第１〜第４の辺データおよび前記バイナリーデータに基づき、前記各辺の前記ユニット切れ目部分を探索してその切れ目位置データを求める手順と、
前記切れ目位置データに基づき、前記行方向の二辺の対向状態の第１の前記ユニット切れ目部分同士、および前記列方向の二辺の対向状態の第２の前記ユニット切れ目部分同士をそれぞれ結ぶ仮想直線を設定して、複数の前記ユニットの各範囲を個々に特定する手順と、からなる、
構成態様のものを用いる。
（８）上記（７）において、
前記第１〜第４の辺データを求める手順において、
前記スキャン処理により得られる、前記長手方向線分またはこの線分と同様の明暗データを持つ部分への複数到達点の中で、その辺ごとの全体に対応した所定範囲から外れる到達点を前記第１〜第４の辺データの特定用到達点から間引く、
構成態様のものを用いる。
（９）上記（１）乃至（４）のいずれかに記載の二次元コードを読み取るプログラムであって、
コンピュータに、
撮影された前記二次元コードの画像データをバイナリーデータに変換する手順と、
前記バイナリーデータへのスキャン処理により、前記長手方向線分からなる前記破線枠パターンの各辺に対応した第１〜第４の辺データを求める手順と、
前記第１〜第４の辺データに基づき、前記各辺の各交点に対応した第１〜第４の交点位置データを求める手順と、
前記第１〜第４の交点位置データおよび前記バイナリーデータに基づき、前記各交点の一つを前記破線枠パターンの原点に設定する手順と、
前記第１〜第４の辺データおよび前記バイナリーデータに基づき、前記各辺の前記ユニット切れ目部分を探索してその切れ目位置データを求める手順と、
前記切れ目位置データに基づき、前記行方向の二辺の対向状態の第１の前記ユニット切れ目部分同士、および前記列方向の二辺の対向状態の第２の前記ユニット切れ目部分同士をそれぞれ結ぶ仮想直線を設定して、複数の前記ユニットの各範囲を個々に特定する手順と、を実行させる、
構成態様のものを用いる。
（１０）上記（９）において、
前記第１〜第４の辺データを求める手順において、
前記スキャン処理により得られる、前記長手方向線分またはこの線分と同様の明暗データを持つ部分への複数到達点の中で、その辺ごとの全体に対応した所定範囲から外れる到達点を前記第１〜第４の辺データの特定用到達点から間引く、
構成態様のものを用いる。
（１１）上記（１）乃至（４）のいずれかに記載の二次元コードの読取り装置であって、
撮影された前記二次元コードの画像データをバイナリーデータに変換する画像データ二値化手段と、
前記バイナリーデータへのスキャン処理により、前記長手方向線分からなる前記破線枠パターンの各辺に対応した第１〜第４の辺データを求め、
前記第１〜第４の辺データに基づき、前記各辺の各交点に対応した第１〜第４の交点位置データを求め、
前記第１〜第４の交点位置データおよび前記バイナリーデータに基づき、前記各交点の一つを前記破線枠パターンの原点に設定する、
破線枠パターン特定手段と、
前記第１〜第４の辺データおよび前記バイナリーデータに基づき、前記各辺の前記ユニット切れ目部分を探索してその切れ目位置データを求め、
前記切れ目位置データに基づき、前記行方向の二辺の対向状態の第１の前記ユニット切れ目部分同士、および前記列方向の二辺の対向状態の第２の前記ユニット切れ目部分同士をそれぞれ結ぶ仮想直線を設定して、複数の前記ユニットの各範囲を個々に特定する、
ユニット範囲特定手段と、からなる、
構成態様のものを用いる。
（１２）上記（１１）において、
前記破線枠パターン特定手段は、
前記スキャン処理により得られる、前記長手方向線分またはこの線分と同様の明暗データを持つ部分への複数到達点の中で、その辺ごとの全体に対応した所定範囲から外れる位置の到達点を前記第１〜第４の辺データの特定用到達点から間引く、
構成態様のものを用いる。
【００１３】
本発明は、このような構成からなる二次元コード，二次元コード記録担体，二次元コード読取り方法，二次元コード読取用プログラムおよび二次元コード読取り装置を対象としている。
【発明の効果】
【００１４】
本発明は以上の課題解決手段により、同じ大きさの方形状枠パターンを持つ二次元コードのデータ領域のさらなる大容量化を図ることができる、といった効果を奏している。
【図面の簡単な説明】
【００１５】
【図１】二次元コードの全体を示す説明図である。
【図２】二次元コードの基本単位としてのユニットおよびそれを構成する「９×９」の行，列配置のセルを示す説明図である。
【図３】二次元コードの内部に写真情報がユニット単位で配された状態を示す説明図である。
【図４】二次元コードと、その外側の写真情報とを記録した二次元コード記録担体を示す説明図である。
【図５】図示上下両側の粗密度二次元コードとその間の高密度二次元コードとを備えたハイブリッド二次元コードを示す説明図である。
【図６】破線枠パターンを探索するスキャン処理の概要を示す説明図である。
【図７】図８のスキャンにより求まる黒セル到達点の中で、破線枠パターンのユニット切れ目部分通過後のいわばエラー到達点（データ領域の黒セル到達点）を示す説明図である。
【図８】二次元コードの撮影画像から破線枠パターンおよびそのユニット切れ目部分を求めた上で、各ユニットの範囲を特定してそこでの記録データを復元する処理手順の概要を示す説明図である。
【図９】図８のステップ(s13)の外形探索におけるエラー到達点の間引き処理の手順を示す説明図であり、(a)は隣同士到達点間のベクトルを用い、(b)は最小二乗法を用いている。
【図１０】二次元コード読取り装置の構成を示す説明図である。
【発明を実施するための形態】
【００１６】
図１〜図１０を用いて本発明を実施するための形態を説明する。
【００１７】
なお、原則として、各図で用いるアルファベット付き参照番号の構成要素（例えばユニット２ａ）は当該参照番号の数字部分の構成要素（例えばデータ領域２）の一部である、ことを示している。
【００１８】
図１〜図７において、
１は各種撮影装置で光学的に読み取られる白黒の明暗部分からなり、長方形状または正方形状の全体スペースを持つ二次元コード，
２は二次元コード１を構成する内容情報記録部分であって長方形状または正方形状のデータ領域，
２ａはデータ領域２における白黒・明暗情報のいわばまとまり単位としての正方形状部分で、例えば図１，図２，図６，図７のデータ領域の場合は「３行×５列」の二次元マトリックス状に記録された計15個のユニット，
２ｂはユニット２ａを構成する内容情報記録用の最小単位要素であって、「白（明）」または「黒（暗）」の明暗データが個々に記録された例えばユニットあたり「９行×９列」の計81個の正方形状のセル（図２参照），
をそれぞれ示している。
【００１９】
また、
３は二次元コード１を構成するデータ領域外枠部分であって、セル２ｂの倍幅により、データ領域２を取り囲む形に記録された方形状の破線枠パターン，
３ａは破線枠パターン３の四辺を構成する「黒」線分からなり、ユニット２ａの行・列方向のサイズに対応した同一ピッチの長さ・位置態様で形成されて、セル２ｂの倍の幅を持つ長手方向線分，
３ｂは長手方向線分３ａそれぞれの両側に、四個（２行×２列）のセル２ｂに相当するスペースとして形成された「白」ユニット切れ目部分（必要に応じて「タイミングセル」という。），
３ｃは破線枠パターン３に対する後述の外形探索処理により求まる図示行方向の破線枠上辺，
３ｄは同じく外形探索処理により求まる図示列方向の破線枠右辺
３ｅは同じく外形探索処理により求まる図示行方向の破線枠下辺，
３ｆは同じく外形探索処理により求まる図示列方向の破線枠左辺，
３ｇは破線枠パターン３の右下端部分（破線枠右辺３ｄと破線枠下辺３ｅとの交点）を示す四個（２行×２列）のセルからなる、「白」原点切れ目部分，
３ｈ，３ｊおよび３ｋはそれぞれ破線枠パターン３の左上端部分（破線枠上辺３ｃと破線枠左辺３ｆとの交点），右上端部分（破線枠上辺３ｃと破線枠右辺３ｄとの交点）および左下端部分（破線枠下辺３ｅと破線枠左辺３ｆとの交点）を示す「黒」隅部分，
をそれぞれ示している。
【００２０】
また、
４は「10行×10列」の計100個のユニット２ａからなるデータ領域２（図３参照）の内側中心部分の「６行×６列」の計36個のユニット範囲に、白黒・明暗情報に代えていわば組み込まれた形の内側写真情報，
５は「６行×６列」の計36個のユニット２ａを持つ二次元コード１および写真を上下に並べて記録し、名刺，身分証などとしても使用可能なカード，シートなどの記録担体（図４参照），
６は記録担体５の二次元コード１（破線枠パターン３）の破線枠外上部分に、上記計36個のユニット２ａの全体範囲と同じサイズで並べて記録された外側写真情報，
７は図１の「３行×５列」の二次元コード１の２行目相当エリアに「３行×22列」の計66個のユニットを記録した形のいわばハイブリッド二次元コード（図５参照），
７ａは図１の二次元コード１の１行目および３行目と同じくそれぞれ５個（計10個）のユニット２ａからなる上下一対の粗密度二次元コード，
７ｂは上下一対の粗密度二次元コード７ａ，７ａの間に記録されて、それぞれユニット２ａと同数のセルを持つ「３行×22列」の計66個の小面積ユニットからなる、高密度二次元コード，
７ｃは図１，図２などの破線枠パターン３と同種の構成態様からなり、高密度二次元コード７ｂのセルとの位置・幅関係が破線枠パターン３およびセル２ｂと同じ状態に設定されている長方形状の高密度破線枠パターン
をそれぞれ示している。
【００２１】
図６において、
Ａは破線枠上辺３ｃを探索する際の横軸昇順・縦方向昇順のスキャンライン，
Ｂは破線枠右辺３ｄを探索する際の縦軸昇順・横方向降順のスキャンライン，
Ｃは破線枠下辺３ｅを探索する際の横軸降順・縦方向降順のスキャンライン，
Ｄは破線枠左辺３ｆを探索する際の縦軸降順・横方向昇順のスキャンライン，
をそれぞれ示している。
【００２２】
スキャンラインＡ，Ｂ，Ｃ，Ｄはいずれも一定ピッチで横軸昇順，縦軸昇順，横軸降順，縦軸降順などのシフト動作をおこなう。
【００２３】
図７などにおいて、
Ｐ１はスキャンラインＡでの外形探索処理によって特定された計20個のいわば真の上辺到達点，
Ｐ２〜Ｐ５はスキャンラインＡでの外形探索処理の際に、「白」ユニット切れ目部分（タイミングセル）３ｂを通過してデータ領域２の「黒」セルまで到達し、その後のマージ処理（図９参照）により間引かれる計４個の破線枠内セル到達点（必要に応じて「エラー到達点」という。），
Ｐ６は破線枠上辺３ｃおよび破線枠下辺３ｅそれぞれの「白」ユニット切れ目部分３ｂからなる左右方向配置のユニット左右・間仕切り部，
Ｐ７は破線枠右辺３ｄおよび破線枠左辺３ｆそれぞれの「白」ユニット切れ目部分３ｂからなる上下方向配置のユニット上下・間仕切り部，
Ｌ１は対向するユニット左右・間仕切り部Ｐ６それぞれの左右方向中心点同士を結ぶ形のユニット境界設定用の上下方向仮想直線，
Ｌ２は対向するユニット上下・間仕切り部Ｐ７それぞれの上下方向中心点同士を結ぶ形のユニット境界設定用の左右方向仮想直線，
をそれぞれ示している。
【００２４】
図１０において、
８は二次元コード１を撮影するカメラ，
９はカメラ８で撮影した画像データに基づいて二次元コード１の内容を再生するプロセッサ，
９ａは二次元コード１の撮影画像データをバイナリーデータに変換する画像データ二値化手段，
９ｂは二次元コード１のバイナリーデータをスキャンするなどの図８，図９の処理手順により、長手方向線分３ａからなる破線枠パターン３の四辺３ｃ〜３ｆおよびこの辺同士の交点四カ所を求め、かつ、これら各交点中の「白」セル部分を原点に設定する破線枠パターン特定手段，
９ｃは四辺３ｃ〜３ｆそれぞれの「白」ユニット切れ目部分３ｂを探索して、上下方向仮想直線Ｌ１および左右方向仮想直線Ｌ２を設定するユニット範囲特定手段，
９ｄは各ユニット２ａを利用者の認識できる形式に変換して後述の二次元コード出力装置10に表示，出力させるユニット内容再生手段，
９ｅはプロセッサ９の作業エリアとして作用するワーク領域，
９ｆは二次元コード１の撮影データを二値化して、破線枠パターンやユニット範囲を特定するためのアプリケーションプログラムなどを格納する主記憶メモリ，
10はプロセッサ９での処理結果が表示，出力される、すなわち撮影データから二次元コード１を復元した内容が表示，再生，出力される二次元コード出力装置，
をそれぞれ示している。
【００２５】
図示の二次元コード１の基本的特徴は、
(21)複数のユニット２ａが二次元マトリックス状に記録されたデータ領域２およびこれを取り囲む形の方形状に記録された破線枠パターン３からなり、
(22)破線枠パターン３の方形隅四点の一つを二次元コード座標系の原点とし、
(23)破線枠パターン３のユニット切れ目部分３ｂをユニット２ａの切出し用の基準部分とする、すなわちデータ領域２からユニット２ａを切り出すための内向き突起部が破線枠パターン３に配設されていない、
ことなどである。
【００２６】
このように本発明の二次元コードは、データ領域２からユニット２ａを切り出すための基準部分として、破線枠パターン３の長手方向に必然的に設定される「切れ目」自体を利用する。この切り出し用の基準部分を新たに設定するものではない。
【００２７】
本発明は、この破線枠パターン長手方向の「切れ目」に基づいて二次元マトリック状の各ユニット２ａを切り出し、これにより任意の大きさの破線枠パターン３に対する内部のデータ領域２の拡大化を図っている。
【００２８】
すなわち、破線枠パターン３の内部エリアのデータ領域２としての積極的な有効活用化を図ることができる。
【００２９】
また、破線枠パターン３の線幅を、ユニット２ａの構成要素であって情報記録最小単位のセル２ｂの例えば二倍に設定することにより、撮影画像中の破線枠パターン３とセル２ｂとが明瞭に区別される。
【００３０】
図示の二次元コードのユニット配列は例えば、
・図１，図２，図６，図７の「３行×５列」
・図３の「10行×10列」
・図４の「６行×６列」
・図５（高密度二次元コード７ｂ）の「３行×22列」
などである。
【００３１】
図２の点線で明示するように、単一のユニット２ａは「９行×９列」の計81個の正方形状のセル２ｂの集合体である。何行何列のセル２ｂで１ユニットを構成するかは勿論任意であり、例えば「８行×16列」のセル２ｂを備えたユニットなども実用的である。
【００３２】
このユニット２ａの単一単位は、上下方向および左右方向それぞれの長手方向線分３ａの両側に形成された「白」ユニット切れ目部分３ｂの中心を通る隣同士の上下方向仮想直線Ｌ１と、同じく隣同士の左右方向仮想直線Ｌ２とで特定される領域である。
【００３３】
図２の点線部分のユニット２ａは、
・図示左側の上下方向仮想直線Ｌ１および図示上側の左右方向仮想直線Ｌ２がそれぞれ通るセル
・図示右側の上下方向仮想直線Ｌ１より左側のセル
・図示下側の左右方向仮想直線Ｌ２より上側のセル
からなっている。
【００３４】
図３の二次元コード１は、形式上「10行×10列」のユニットからなり、かつ、二次元コード中央の「６行×６列」のユニット対応領域に内側写真情報４が記録されている。写真付きの二次元コードである。
【００３５】
図４の記録担体５は、二次元コード１と外側写真情報６とが上下に並べて記録されたカード，シートなどである。なお、正方形状の外側写真情報６の大きさ全体は下側のユニット２ａを基本単位として設定されている。
【００３６】
図５のハイブリッド二次元コード７は、概略「３行×５列」の最上行および最下行にそれぞれ５列の粗密度二次元コード７ａが記録され、真ん中左右方向の行領域に「３行×22列」の高密度二次元コード７ｂが記録された態様になっている。
【００３７】
ここで粗密度二次元コード７ａは例えばスマートホンで読み取り、高密度二次元コード７ｂは専用機で読み取る。
【００３８】
スマートホンや専用機は、二次元コード７の基本情報を読み取ることにより、ハイブリッド二次元コード７における粗密度二次元コード７ａと高密度二次元コード７ｂとを識別しえる。
【００３９】
図６のスキャン処理では、二次元コード１の長手方向線分３ａについて、
(31)横軸昇順・縦方向昇順のスキャンラインＡにより破線枠上辺３ｃをその外側部分から探索し、
(32)縦軸昇順・横方向降順のスキャンラインＢにより破線枠右辺３ｄをその外側部分から探索し、
(33)横軸降順・縦方向降順のスキャンラインＣにより破線枠下辺３ｅをその外側部分から探索し、
(34)縦軸降順・横方向昇順のスキャンラインＤにより破線枠左辺３ｆをその外側部分から探索している。
【００４０】
以上の長手方向線分３ａの四辺それぞれの探索処理では、撮影画像中の破線枠パターン３の外側から内側方向にスキャンし、背景が紙のように「白」の場合、白点から開始して黒点数が初期値を超えた段階で「辺」への到達と判断する。このときの初期値は例えば仮想セルサイズである。
【００４１】
また、このスキャンデータが「白」から「黒」に変化した後、再度「白」に戻るまでの黒点長さが所定値以上であればこの「黒」変化点を「辺到達点」と判断してもよい。
【００４２】
このときの所定値としては、例えば正方形状で単一のセル２ｂの一辺長の「等倍」の長さを用いる。
【００４３】
図７は、上記段落〔００４０〕の手法で「破線枠上辺３ｃ」への到達と初期判断したときの辺到達対応点を示している。
【００４４】
この辺到達対応点は、破線枠上辺３ｃへ到達した計20個の上辺到達点Ｐ１と、タイミングセル３ｂをいわば通り過ぎてデータ領域２のセル２ｂへ到達した計４個のエラー到達点Ｐ２〜Ｐ５とからなっている。エラー到達点Ｐ２〜Ｐ５は図９のマージ処理での間引き対象点である。
【００４５】
図８は、二次元コード１の読出し手順（粗密度二次元コード７ａおよび高密度二次元コード７ｂの読出し手順も同様）の概要を示す説明図である。
【００４６】
二次元コード１の読出し手順は、概略、次のようになっている。
(s11)カメラなどの撮像手段により二次元コード１を撮影して画像データを主記憶メモリ９ｆに記憶する。
(s12)この画像データを二値化して主記憶メモリ９ｆに記憶する。
(s13)このバイナリーデータに対する図６のスキャン処理により長手方向線分３ａ（破線枠パターン３）の外形を探索する。
(s14)この探索データに基づき、破線枠パターン３の四辺３ｃ，３ｄ，３ｅ，３ｆそれぞれの図６の座標系における式を最小二乗法などの演算により求めた上で、この四辺の各交点（破線枠パターン３の頂点）を算出する。
(s15)この四個の交点の中で、「白」セル対応の単一交点（「白」原点切れ目部分３ｇ）を二次元コード座標系の原点に設定する。他の三交点は、それぞれ「黒」セル対応の「黒」隅部分３ｈ，３ｊ，３ｋである。
(s16)破線枠パターン３の四辺に対する長手方向へのスキャン処理により、各辺それぞれの複数のタイミングセル３ｂを探索して位置データを求める。
(s17)この位置データに基づき、対向状態のタイミングセル３ｂ同士の辺長手方向中間点を結ぶ形の上下方向仮想直線Ｌ１および左右方向仮想直線Ｌ２を設定して、データ領域２を格子状の複数のユニット２ａに分割する。
(s18)このユニット２ａ単位で、データ領域２のバイナリーデータを復号化可能なワードデータに変換する。
(s19)変換後のワードデータを誤り訂正処理する。
(s20)誤り訂正処理後のワードデータを圧縮データへ変換する。
(s21)圧縮データを解凍して元のデータへ復元する。
【００４７】
ステップ(s17)で設定されたユニット２ａは格子状の交点を頂点（隅点）とする。例えば図１，図２，図６および図７のデータ領域２の場合は「３行×５列」の15個のユニット２ａに分割されている。
【００４８】
図９は、図８のステップ(s13)の二次元コード外形探索で用いる探索点のマージ処理の概要を示している。
【００４９】
ここで「探索点」は、図６のスキャン処理により求まる上辺到達点Ｐ１などの四辺到達点、およびタイミングセル３ｂを通過した先の「黒」セルに対応したＰ２〜Ｐ５などの破線枠内セル到達点である。
【００５０】
この破線枠内セル到達点Ｐ２〜Ｐ５は、破線枠パターン３の外形探索（四辺探索）に本来必要な上辺到達点Ｐ１などの辺到達点ではない。すなわち、Ｐ２〜Ｐ５は破線枠パターン３の四辺相当の長手方向線分３ａを求める際の不要データに他ならない。
【００５１】
図９(a)，(b)は、この不要データＰ２〜Ｐ５を長手方向線分３ａの到達点から間引くためのマージ処理手順を示している。
【００５２】
この間引き対象となるのは、破線枠パターン３の対応四辺ではなく、データ領域２の破線枠内セル到達点である。
【００５３】
図９(a)のマージ処理では、
スキャンラインＡ〜Ｄに基づく各到達点（上辺到達点Ｐ１などの四辺到達点＋破線枠内セル到達点Ｐ２〜Ｐ５）に対し、スキャンライン単位で、
(s31)この各到達点を、スキャンラインＡ〜Ｄに対応する長手方向線分３ａに沿った昇順または降順に結び、
(s32)この結び方向の隣同士到達点間のベクトルそれぞれの向きを求め、
(s33)この向きの平均値を求め、
(s34)ベクトルを一つ取り出して、その向きと上記平均値との差分が、あらかじめ設定された基準値よりも小さいかどうかを判断し、「YES」の場合は次のステップに進み、「NO」の場合はステップ(s36)へ進み、
(s35)その始終点を有効到達点とし、
(s36)すべてのベクトルについて処理が完了するまでステップ(s34)へ戻る、
といった手順を実行する。
【００５４】
図９(b)のマージ処理では、
スキャンラインＡ〜Ｄに基づく各到達点（上辺到達点Ｐ１などの四辺到達点＋破線枠内セル到達点Ｐ２〜Ｐ５）に対し、スキャンライン単位で、
(s41)この各到達点に対する最小二乗法により長手方向線分３ａの対応仮直線を求め、
(s42)到達点ごとにこの対応仮直線までの法線距離を算出し、
(s43)到達点を一つ取り出して、その法線距離が、あらかじめ設定された基準値よりも大きいかどうかを判断し、「YES」の場合は次のステップに進み、「NO」の場合はステップ(s45)へ進み、
(s44)対応到達点を間引き、
(s45)すべての到達点について処理が完了するまでステップ(s43)へ戻る、
といった手順を実行する。
【００５５】
図９(a)，(b)のマージ処理で間引かれずに残った到達点が、図８のステップ(s14)における破線枠パターン３の四辺３ｃ，３ｄ，３ｅ，３ｆの算出に用いられる。
【００５６】
すなわち、例えばこの残った到達点に対する最小二乗法により長手方向線分３ａの対応直線を求めることができる。
【００５７】
図１０はカメラ８，プロセッサ９および二次元コード出力装置10などからなる二次元コード読取り装置を示している。
【００５８】
プロセッサ９は画像データ二値化手段９ａ，破線枠パターン特定手段９ｂ，ユニット範囲特定手段９ｃおよびユニット内容再生手段９ｄなどを備えている。
【００５９】
画像データ二値化手段９ａは、カメラ８で撮影された二次元コード１の画像データをバイナリーデータに変換する。
【００６０】
破線枠パターン特定手段９ｂは、上述したように、
バイナリーデータへのスキャン処理、およびスキャンラインＡ〜Ｄに基づく各到達点（上辺到達点Ｐ１などの四辺到達点＋破線枠内セル到達点Ｐ２〜Ｐ５）に対するマージ処理をした上で、破線枠パターン３の各辺３ｃ，３ｄ，３ｅ，３ｆの第１〜第４の辺データを求め、
この辺データに基づき、各辺の各交点に対応した第１〜第４の交点位置データを求め、
この第１〜第４の交点位置データおよび上記バイナリーデータに基づき、「白」原点切れ目部分３ｇを破線枠パターン３の原点に設定する。
【００６１】
ユニット範囲特定手段９ｃは、上述したように、
第１〜第４の辺データおよびバイナリーデータに基づき、上記各辺のタイミングセルを探索してその位置データを求め、
この位置データに基づき、行方向の二辺の対向状態の第１のタイミングセル同士、および列方向の二辺の対向状態の第２のタイミングセル同士をそれぞれ結ぶ仮想直線を設定して、複数の前記ユニットの各範囲を個々に特定する。
【００６２】
ユニット内容再生手段９ｄは、図８のステップ(s18)〜(s21)の各処理を実行してその内容を二次元コード出力装置10に表示させる。
【００６３】
段落〔００１２〕の（９），（１０）や図８，図９の各手順実行用のプログラムを格納する記憶媒体としては、ＣＤ−ＲＯＭやＤＶＤなどの光ディスクのほか，ＵＳＢメモリやフラッシュメモリカードなどの各種媒体、及びＷｅｂサイト、各種アプリケーションストアなどのオンラインサービスが用いられる。
【００６４】
本発明が以上の実施形態に限定されないことは勿論であり、例えば黒背景とし、図示の「白」部分と「黒」部分とを反転させてもよい。または、明暗が明確に判断できるなら「赤」部分と「黄」部分などの色の組合せでもよい。
【００６５】
また、単位ユニットを構成するセルの行，列の配列を任意の（ｍ行×ｎ列）に設定し、二次元コードのデータ領域を上記以外の数のユニットで分割するようにしてもよい。
【符号の説明】
【００６６】
（図１〜図７）
１：二次元コード
２：データ領域
２ａ：ユニット
２ｂ：セル（図２参照）
３：破線枠パターン
３ａ：セル２ｂの倍の幅を持つ長手方向線分
３ｂ：「白」ユニット切れ目部分
３ｃ：図示行方向の破線枠上辺
３ｄ：図示列方向の破線枠右辺
３ｅ：図示行方向の破線枠下辺
３ｆ：図示列方向の破線枠左辺
３ｇ：「白」原点切れ目部分
３ｈ，３ｊ，３ｋ：「黒」隅部分
４：内側写真情報
５：記録担体（図４参照）
６：外側写真情報
７：ハイブリッド二次元コード（図５参照）
７ａ：上下一対の粗密度二次元コード
７ｂ：高密度二次元コード
７ｃ：高密度破線枠パターン
【００６７】
（図６，図７）
Ａ：横方向上辺探索用で横軸昇順・縦方向昇順のスキャンライン
Ｂ：縦方向右辺探索用で縦軸昇順・横方向降順のスキャンライン
Ｃ：横方向下辺探索用で横軸降順・縦方向降順のスキャンライン
Ｄ：縦方向左辺探索用で縦軸降順・横方向昇順のスキャンライン
Ｐ１：真の上辺到達点
Ｐ２〜Ｐ５：セル到達点
Ｐ６：ユニット左右・間仕切り部
Ｐ７：ユニット上下・間仕切り部
Ｌ１：上下方向仮想直線
Ｌ２：左右方向仮想直線
【００６８】
（図１０）
８：カメラ
９：プロセッサ
９ａ：画像データ二値化手段
９ｂ：破線枠パターン特定手段
９ｃ：ユニット範囲特定手段
９ｄ：ユニット内容再生手段
９ｅ：ワーク領域
９ｆ：主記憶メモリ
10：二次元コード出力装置
【図１】
2018101164.tif 000003
【図２】
2018101164.tif 000004
【図３】
2018101164.tif 000005
【図４】
2018101164.tif 000006
【図５】
2018101164.tif 000007
【図６】
2018101164.tif 000008
【図７】
2018101164.tif 000009
【図８】
2018101164.tif 000010
【図９】
2018101164.tif 000011
【図１０】
2018101164.tif 000012