(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】動的二次元コード群生成方法及びシステム
(51)【国際特許分類】
G06K 19/06 20060101AFI20241105BHJP
【FI】
G06K19/06 037
G06K19/06 112
(21)【出願番号】P 2020198203
(22)【出願日】2020-11-30
【審査請求日】2023-10-26
(73)【特許権者】
【識別番号】518398419
【氏名又は名称】株式会社Ark
(74)【代理人】
【識別番号】100120868
【氏名又は名称】安彦 元
(72)【発明者】
【氏名】西▲崎▼ 傳生
【審査官】豊田 真弓
(56)【参考文献】
【文献】特表2019-500670(JP,A)
【文献】特開2018-028807(JP,A)
【文献】国際公開第2020/166549(WO,A1)
【文献】米国特許出願公開第2017/0316626(US,A1)
【文献】中国特許出願公開第106339741(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 19/06
(57)【特許請求の範囲】
【請求項1】
時系列的に並べられた複数の二次元コードを順に繰り返し動的表示するための二次元コード群を生成する動的二次元コード群生成方法において、
上記二次元コード群における各二次元コードに紐付けられた評価値により特定される第1設定値の中から、基点となる基点二次元コードの第1設定値を定める基点特定ステップと、
上記基点特定ステップにおいて定めた第1設定値に対応する第2設定値に基づいて特定される格納二次元コードに、コード化の対象となる対象情報の内容に基づいたデータブロックを生成し配置するデータブロック配置ステップとを有すること
を特徴とする動的二次元コード群生成方法。
【請求項2】
上記評価値により特定される第1設定値を介して割り当てられる指標二次元コードに、基点となる基点二次元コードの第1設定値又は基点二次元コードへの移動量に関する情報を格納する第1設定値格納ステップとを更に有すること
を特徴とする請求項1記載の動的二次元コード群生成方法。
【請求項3】
上記基点特定ステップ又は第1設定値格納ステップでは、少なくとも上記二次元コードの外形的特徴又は論理的特徴の何れか1以上に基づいて規定される評価値を介して特定する上で、上記外形的特徴又は上記論理的特徴は、少なくとも上記二次元コードの外観上の明暗に関する特徴値、上記二次元コードの周囲に付加されてコードの向き方向の指標原点を示すパイロットの特徴、二次元コードの表示に関する傾き、方向、コードシンボルの鏡像反転である裏表、表示位置、表示順番、コードを構成する明暗の色、及び、二次元コードの種類、二次元コードの標準マスクパターンに関する識別子番号、二次元コードに含まれるエラー訂正能力、型番号、二次元コードを構成するデータコード語及び誤り訂正コード語とからなるデータブロック構成コード語のうち特定の位置にあるコード語、の何れかであること
を特徴とする請求項1又は2記載の動的二次元コード群生成方法。
【請求項4】
上記データブロック配置ステップでは、上記第1設定値と、上記基点二次元コードからの時系列的な相対的位置関係を示す第2設定値との対応関係を参照し、上記基点特定ステップにおいて定めた第1設定値に対応する第2設定値に基づいて、上記格納二次元コードを特定すること
を特徴とする請求項1~3のうち何れか1項記載の動的二次元コード群生成方法。
【請求項5】
上記繰り返し動的表示の開始から所定時間経過後、又は所定の外部事象の検知時の何れかの事象条件を満たした場合において、上記格納二次元コードに格納される対象情報の内容を不変としつつ、当該格納二次元コードとともに上記動的二次元コード群を構成する他の構成二次元コードに対して上記評価値の構成を更新してデータブロックを生成し配置する要素転換ステップを更に有すること
を特徴とする請求項1又は2記載の動的二次元コード群生成方法。
【請求項6】
上記繰り返し動的表示の開始から所定時間経過後又は所定の外部事象の検知時の何れかの事象条件を満たした時刻と、検知した上記所定の外部事象の内容と、
更新の累積回数との何れかに基づいて、上記格納二次元コードに格納される対象情報の内容を不変としつつ、当該格納二次元コードを含んで上記動的二次元コード群を構成する他の構成二次元コードに対して上記評価値の構成を更新してデータブロックを生成し配置する要素転換ステップを更に有すること
を特徴とする請求項1又は2記載の動的二次元コード群生成方法。
【請求項7】
上記格納二次元コードに格納される対象情報の一部を書き換えることにより更新する更新ステップを更に有すること
を特徴とする請求項1又は2記載の動的二次元コード群生成方法。
【請求項8】
上記格納二次元コードに格納される対象情報の一部を削除することにより更新する更新ステップを更に有すること
を特徴とする請求項1又は2記載の動的二次元コード群生成方法。
【請求項9】
上記格納二次元コードに格納される対象情報に対して情報が追記された新たな内容に基づいたデータブロックを生成し配置することにより更新する更新ステップを更に有すること
を特徴とする請求項1又は2記載の動的二次元コード群生成方法。
【請求項10】
更新する対象情報の内容に基づいたデータブロックを、上記格納二次元コードと、1以上の他の格納二次元コードとに生成し配置する場合には、上記格納二次元コードと、上記他の格納二次元コードとの間における関連性を示す関連性情報をこれらに格納する更新ステップとを更に有すること
を特徴とする請求項1又は2記載の動的二次元コード群生成方法。
【請求項11】
上記要素転換ステップでは、上記要素転換が行われた後にその履歴に関する履歴情報を上記格納二次元コードに記録すること
を特徴とする
請求項5又は6項記載の動的二次元コード群生成方法。
【請求項12】
請求項1記載の動的二次元コード群生成方法によって生成された二次元コード群を評価する動的二次元コード群の評価方法において、
繰り返し動的表示される上記複数の二次元コードを動画像として撮像する撮像ステップと、
上記撮像ステップにおいて撮像した動画像を構成する個々の二次元コードに紐付けられた評価値を介して特定される第1設定値の中から、基点となる基点二次元コードの第1設定値を検出する第1設定値検出ステップと、
上記第1設定値検出ステップにおいて検出した基点二次元コードの第1設定値に対応する第2設定値に基づいて特定される格納二次元コードから、上記対象情報を読み取ること
を特徴とする動的二次元コード群の評価方法。
【請求項13】
請求項2記載の動的二次元コード群生成方法によって生成された二次元コード群を評価する動的二次元コード群の評価方法において、
繰り返し動的表示される上記複数の二次元コードを動画像として撮像する撮像ステップと、
上記撮像ステップにおいて撮像した動画像を構成する個々の二次元コードの評価値を介して、指標二次元コードを検出する指標二次元コード検出ステップと、
上記指標二次元コード検出ステップにおいて検出した上記指標二次元コードに格納されている基点二次元コードの第1設定値又は基点二次元コードへの移動量を検出することにより基点二次元コードを特定する第1設定値検出ステップと、
上記第1設定値検出ステップにおいて検出した第1設定値に対応する第2設定値に基づいて特定される格納二次元コードから、上記対象情報を読み取る読み取りステップとを有すること
を特徴とする動的二次元コード群の評価方法。
【請求項14】
時系列的に並べられた複数の二次元コードを順に繰り返し動的表示するための二次元コード群を生成する動的二次元コード群生成システムにおいて、
上記二次元コード群における各二次元コードに紐付けられた評価値により特定される第1設定値の中から、基点となる基点二次元コードの第1設定値を定める基点特定手段と、
上記基点特定手段において定められた第1設定値に対応する第2設定値に基づいて特定される格納二次元コードに、コード化の対象となる対象情報の内容に基づいたデータブロックを生成し配置するデータブロック配置手段とを備えること
を特徴とする動的二次元コード群生成システム。
【請求項15】
請求項14記載の動的二次元コード群生成方法によって生成された二次元コード群を評価する動的二次元コード群の評価システムにおいて、
繰り返し動的表示される上記複数の二次元コードを動画像として撮像する撮像手段と、
上記撮像手段において撮像された動画像を構成する個々の二次元コードに紐付けられた評価値を介して特定される第1設定値の中から、基点となる基点二次元コードの第1設定値を検出する第1設定値検出手段と、
上記第1設定値検出手段において検出された第1設定値に対応する第2設定値に基づいて特定される格納二次元コードから、上記対象情報を読み取る読み取り手段とを備えること
を特徴とする動的二次元コード群の評価システム。
【請求項16】
上記更新ステップでは、上記更新が行われた後にその履歴に関する履歴情報を上記格納二次元コードに記録すること
を特徴とする請求項7~10のうち何れか1項記載の動的二次元コード群生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時系列的に並べられた複数の二次元コードを順に繰り返し動的表示するための二次元コード群を生成する動的二次元コード群生成方法及びシステムに関する。
【背景技術】
【0002】
一次元コードは、配置された明暗の帯がある方向の線状の軸上において変化するコードシンボルであり、バーコードとして一般的に知られている。二次元コードは、配置された明暗の点(ドット)や単位領域(モジュール)が、縦横のX軸とY軸で定められる平面上において変化する二次元のコードシンボルであり、例えば、QRコード(登録商標)、DataMatrix(登録商標)、又はPDF417など、多様なコードシンボルが存在する。
【0003】
例えば、二次元コードを使ったシステムでは、複数の二次元コードを同一画面上に表示し、表示された二次元コードの読み取る順番でユーザ認証を行うシステム(例えば、特許文献1参照)や、二次元コードのコードシンボルの形式を3次元化させ、格納する情報量を多くし、立体的にすることで二次元コードよりセキュリティ性能を強化させる装置(例えば、特許文献2参照)が知られている。
【0004】
特許文献1に開示されたシステムは、表示されたn×m個の二次元コードは、ユーザが読取装置を操作し、所定の数(m)の読取データを連ねた正しいm個の二次元コードそれぞれを、記憶手段に記憶された配置位置と同じ順番で読み取ることで、認証サーバの認証手段において、ユーザ認証が可能となる。
【0005】
しかしながら、同一画面上に複数の二次元コードが表示された場合、一般的な読取装置では、読み取り範囲に入った二次元コードを自動的に読み取ってしまう。そのため、読取装置と二次元コードとの間に距離がある場合や、表示装置の表示面積が狭い場合は、誤った二次元コードを読み取ってしまい、正しく認証されないことがある。また、固定画像のため、コピーが容易にできてしまい、改ざんや偽造される危険性がある。
【0006】
特許文献2に開示された装置は、高さの異なるコードパーツにより構成されている三次元コードを、コードパーツの高さ方向に結像面を変えながら複数回撮影して、画像データを取得し、取得した画像データを合成することで三次元コードの情報を読み取る。
【0007】
しかしながら、三次元化のため、立体的にコードを形成する必要があり、すでに広く普及している一般的な二次元コードを使った電子表示には不向きであり、市場性を考慮した大量生産性や、電子データとして流通できず、実用的な問題があった。また、立体的なコードそのものは固定物であり、複製可能であることから改ざんや偽造される危険性がある。
【先行技術文献】
【特許文献】
【0008】
【文献】特開2012-181645号公報
【文献】特開2014-49063号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
そこで本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、動的に変化して一連表示される複数枚の二次元コードを用いた動的二次元コード評価方法、動的二次元コード評価システム、及び動的二次元コード評価プログラムを提供することにある。
【課題を解決するための手段】
【0010】
本発明に係る動的二次元コード群生成方法は、時系列的に並べられた複数の二次元コードを順に繰り返し動的表示するための二次元コード群を生成する動的二次元コード群生成方法において、上記二次元コード群における各二次元コードに紐付けられた評価値により特定される第1設定値の中から、基点となる基点二次元コードの第1設定値を定める基点特定ステップと、上記基点特定ステップにおいて定めた第1設定値に対応する第2設定値に基づいて特定される格納二次元コードに、コード化の対象となる対象情報の内容に基づいたデータブロックを生成し配置するデータブロック配置ステップとを有することを特徴とする。
【0011】
また、本発明に係る動的二次元コード群生成システムは、時系列的に並べられた複数の二次元コードを順に繰り返し動的表示するための二次元コード群を生成する動的二次元コード群生成システムにおいて、上記二次元コード群における各二次元コードに紐付けられた評価値により特定される第1設定値の中から、基点となる基点二次元コードの第1設定値を定める基点特定手段と、上記基点特定手段において定められた第1設定値に対応する第2設定値に基づいて特定される格納二次元コードに、コード化の対象となる対象情報の内容に基づいたデータブロックを生成し配置するデータブロック配置手段とを備えることを特徴とする。
【発明の効果】
【0013】
上述した構成からなる本発明によれば、撮像前の二次元コードの集合の設定、撮像後の二次元コードの集合、または二次元コードの評価を複雑にでき、動的表示される二次元コードの改ざんや偽造を防止できる。
【0014】
また、上述した構成からなる本発明によれば、単に機械的にOR値とEC値の組み合わせにより指標二次元コードを拾い出すことができれば、そこから格納二次元コードまでを間接的に特定することができ、そこに記述されている対象情報を読み出すことで所望の情報を得ることができる。このため、情報処理の負荷を極めて低くすることが可能となる。これに加えて、本発明によれば、図形番号に紐付く外形的要件さえ満たせば、残りの二次元コードに関してはいかなる形態で構成してもよい。
【図面の簡単な説明】
【0015】
【
図1】
図1は、QRコードシンボルの構成の一例を示す模式図である。
【
図2】
図2は、本実施形態における動的二次元コード評価システムの全体構成例を示す模式図である。
【
図3】
図3は、本実施形態における顧客端末の構成の一例を示す模式図である。
【
図4】
図4は、本実施形態における顧客端末の機能の一例を示す模式図である。
【
図5】
図5は、本実施形態における設定情報管理テーブルの一例を示す模式図である。
【
図6】
図6は、本実施形態における評価情報管理テーブルの一例を示す模式図である。
【
図7】
図7は、時系列的に並べられた複数の二次元コードを順に繰り返し動的表示するための二次元コード群を示す図である。
【
図8】
図8は、パイロットとコードの向きに対するOR値の関係を示す図である。
【
図9】
図9は、OR値の詳細について説明するための図である。
【
図10】
図10は、EC値の設定例について説明するための図である。
【
図11】
図11は、パイロットのP値(パリティ値)の設定例について説明するための図である。
【
図12】
図12は、OR値とEC値とP値(パリティ値)で構成される評価値と、第1設定値及び第2設定値との関係を記述したテーブルの例を示す図である。
【
図13】
図13は、OR値とEC値とP値(パリティ値)で構成される評価値と、第1設定値及び第2設定値との関係を記述したテーブルの他の例を示す図である。
【
図14】
図14は、OR値とEC値とP値(パリティ値)から図形番号を設定する具体例について説明するための図である。
【
図15】
図15は、直接指定モードにおける基点二次元コード及び格納二次元コードを特定する例を示す図である。
【
図16】
図16は、間接指定モードにおける基点二次元コード及び格納二次元コードを特定する例を示す図である。
【
図17】
図17は、関連コード構成モードの動作について説明するための図である。
【発明を実施するための形態】
【0016】
以下、本発明を適用した実施形態における動的二次元コード評価システムの一例について、図面を参照しながら説明する。
【0017】
図1を参照して、本実施形態におけるQRコードシンボルの構成の一例について説明する。
【0018】
<本実施の形態に係るQRコード(二次元コードの一例)について>
先ず、本実施形態で用いられる二次元コードの一例としてのQRコードについて説明する。なお、以下の説明で特段のことわりのない場合には、日本工業規格 JISX05102004 「二次元コードシンボル-QRコード-」(以下、単に「JIS規格」ということがある)、または、ISO/ISE規格18004 2015「Automatic identification and data capture techniques-QR Code bar code symbology specification」、ISO/IEC規格16022 2006「Information technology-Automatic identification and data capture techniques-Data Matrix bar code symbology specification.」、または、ISO/IEC規格15438 2015「Information technology-Automatic identification and data capture techniques-PDF417 bar code symbology specification」、に準ずる。また、これらのJIS規格、またはISO/ISE規格に準ずるエンコーダを標準エンコーダといい、 JIS規格、またはISO/ISE規格に準ずるデコーダを標準デコーダという。
【0019】
また、非公開とされる(隠蔽される)非公開データコード語(非公開情報)を取り扱うことができるエンコーダを拡張エンコーダ(図示せず)といい、デコーダを拡張デコーダという。また、拡張エンコーダと拡張デコーダにより動的二次元コード評価システムが構成されてもよい。なお、上述した例は、QRコード形式を採用しているだけであり、準拠形式は限定されるものではなく、いわゆる標準規格に完全準拠していなくてもよい。例えば、外形的な形式は標準規格に沿ったものであってもデータ隠蔽技術などを適用するために論理的構成は非準拠のものであってもよい。
【0020】
拡張エンコーダと拡張デコーダにより動的二次元コード評価システムでは、QRコードは、公開情報又は非公開情報、或いは公開情報及び非公開情報を同時又は互いに異なる時間で記録することができる二次元コード(このようなQRコードを拡張QRコードということがある)を前提としている。公開情報は、JIS規格のデコーダ(標準デコーダ)で読み出し可能な情報である。一方、非公開情報は、標準デコーダでは読み出すことができず、拡張デコーダによってのみ抽出することが可能な情報である。
【0021】
また、以下の説明において、「コード語」は、8ビット長として説明するが、システムに応じて、16ビット長とすることもできるし、1ビット長など他の長さを有するものとすることもできる。
【0022】
図1は、二次元コード40(QRコードシンボル)の説明図である。二次元コード40(以下、単に、「QRコード」ということもある)は、1型から40型まで様々なサイズが用意されているが、ここでは、一例として型番「2」を例に各機能について説明する。
【0023】
二次元コード40は、機能パターンと符号化領域を有する。機能パターンは、二次元コード40のモジュール内での復号化を補助するために必要な二次元コード40のシンボル位置の検索や特性の識別に必要なパターンである。符号化領域は、必要となる情報が書き込まれている領域である。
【0024】
機能パターンは、位置検出パターンFP、分離パターンSP、タイミングパターンTP、位置合わせパターンAP、および、クワイエットゾーンQZを有する。
【0025】
位置検出パターンFPは、二次元コード40の少なくとも3つの隅に配置されるパターンである。読み取り時において、 3つの位置検出パターンFPを識別することで、二次元コード40のコードシンボルの方向や位置を正しく認識可能とする。
【0026】
分雛パターンSPは、位置検出パターンFPの周りに配置される1モジュール幅の明モジュールである。これにより、位置検出パターンFPを二次元コード40のコードシンボルから区別することができるようになる。
【0027】
モジュールMは、二次元コード40のコードシンボルを構成する単位セルである。原則として、1ビットが1モジュールに相当する。なお、ここでは、二次元コード40を構成する単位セルであるモジュールMを複数集合させたものをモジュール群と呼ぶ。
【0028】
タイミングパターンTPは、暗モジュールと明モジュールが1モジュールずつ直線状に交互に配置されたパターンである。タイミングパターンTPによって、二次元コード40のコードシンボルのモジュール数を認識可能となるため、これにより二次元コード40の型番を識別することができる。
【0029】
位置合わせパターンAPは、二次元コード40の型番によって決められた位置に配置されるパターンである。位置合わせパターンAPは、大きなモジュールの場合、二次元コード40の位置の検索を補助する働きをする。
【0030】
クワイエットゾーンQZは、認証情報0の周囲に設けられる最低4モジュール幅の明モジュール領域である。
【0031】
符号化領域は、データコード語および誤り訂正コード語(以下、単に「訂正コード語」ということがある)と、形式情報FIを有する。また、上述では、一例として型番「2」を例に各機能について説明しており、例えば、型番の大きなものには、図示しない型番情報(VI:Version Information)が付加される。形式情報FIは、誤り訂正レベルと標準マスクパターン(JIS規格における規定のマスクパターン)の情報を有する。なお、二次元コード40の場合は、一般的には、標準マスクパターンは8種類(0~7)のマスクの表示パターンを有し、そのうちの何れかのパターン番号が設定される。設定されたパターン番号によって、二次元コード40を構成する明暗モジュール配置のバラつきが最適化される。
【0032】
データコード語および誤り訂正コード語は、情報を表現するデータおよびデータが読み出せなかった場合の誤り訂正用の誤り訂正コード語であり、これらを生成し配置する。形式情報は、二次元コード40に適用する誤り訂正レベルおよび使用する標準マスクパターンに関する情報を有し、符号化領域を復号化するのに必要な符号化パターンとなる。
【0033】
図2は、動的二次元コード評価システム50の全体の構成を示すブロック図である。
図2に示すように、動的二次元コード評価システム50は、管理サーバ1を備える。管理サーバ1は、管理データベース1aを備え、制御装置2と、複数の顧客端末3と、により構成される。動的二次元コード評価システム50は、公衆通信網4(ネットワーク)を介して、制御装置2、複数の顧客端末3等と接続される。顧客端末3は、制御装置2によって動的表示される二次元コード群41に含まれる複数の二次元コード40を各々に撮像し、撮像した二次元コード40を評価し、各種の情報やサービスの提供を受ける。
【0034】
動的二次元コード評価システム50は、例えば、イベント会場やライブ会場等の施設、或いは駅構内や街路上、その他店舗内や各種施設内、オフィス内、家屋内において、管理サーバ1によって生成された二次元コード群41に含まれる複数の二次元コード40を制御装置2に備わるスクリーンやディスプレイ等に順次に表示させる。スクリーンやディスプレイ等の表示は、例えば、動画のように、1フレーム50ミリ秒等の速度で表示される。
【0035】
制御装置2は、管理サーバ1と接続される。管理サーバ1は、制御装置2からのアクセスを許可し、管理データベース1aに格納されている二次元コード群41に含まれる複数の二次元コード40を、予め管理者等によって設定される設定情報及び評価情報とともに顧客端末3に送信し、顧客端末3は、制御装置2に備わるスクリーンやディスプレイ等に順次に表示される二次元コード40を顧客端末3で撮像する。
【0036】
管理サーバ1は、実際の用途に応じた二次元コード群41を生成する。
【0037】
管理サーバ1は、生成された二次元コード群41、または二次元コード40を、制御装置2に送信する。管理サーバ1は、管理データベース1に格納される関係者やスタッフ、顧客等の送信先情報を参照し、生成した二次元コード群41、または二次元コード40を送信する。
【0038】
管理サーバ1で生成される二次元コード群41、または二次元コード40は、電子的に生成されるほか、例えば、評価対象として1枚の二次元コード40が印刷物やパッケージ等に固定表示される状態で生成(印字や印刷)されてもよい。管理サーバ1で生成された二次元コード群41、または二次元コード40は、各々の配布先(例えば、関係者やスタッフ、顧客等)に、顧客端末3に表示をさせるためのURL情報として、電子メールや郵送等の送付手段により表記され送信される。
【0039】
制御装置2は、管理サーバ1から受信した二次元コード群41を、制御装置2の表示データベース2に格納し、格納した二次元コード群41から、設定情報に基づいて複数の二次元コード40表示するようにしてもよい。
【0040】
制御装置2は、二次元コード群41に含まれる二次元コード40(二次元コード40a、二次元コード40b、二次元コード40n等)を表示するスクリーンやディスプレイ等(図示せず)を備える。
【0041】
顧客端末3は、顧客(撮影者または撮像者)が各々に保持し、例えば、イベント会場やライブ会場等の施設、或いは駅構内や街路上、その他店舗内や各種施設内、オフィス内、家屋内におけるスクリーンやディスプレイ等に順次に表示される複数の二次元コード40を、その場で顧客端末3に備わる撮像機能やアプリケーションで撮像する。顧客端末3によって撮像された二次元コード40は、後述する顧客端末3の記憶部に逐次に格納されたり、又は、クラウド上に割り当てられる記憶部(図示せず)に格納されるようにしてもよい。さらに、顧客端末3は、例えば、特定、または任意のタイミングで、動的表示される二次元コード群41から、顧客端末3によって選択された2以上の二次元コード40を格納するようにしてもよい。顧客端末3は、特定、または任意のタイミングで二次元コード40を格納することで、顧客端末3のメモリを効率的に記憶することができる。
【0042】
<顧客端末3>
図3は、顧客端末3(顧客端末3a、顧客端末3b、顧客端末3c)の構成の一例を示す模式図である。顧客端末3として、パーソナルコンピュータ(PC)のほか、スマートフォンやタブレット端末等の電子機器が用いられる。顧客端末3は、筐体10と、CPU(Central Processing Unit)100と、ROM(Read Only Memory)101と、RAM(Random Access Memory)102と、保存部103と、I/F104~106とを備える。各構成100~106は、内部バス107により接続される。
【0043】
CPU100は、顧客端末3全体を制御する。ROM101は、CPU100の動作コードを格納する。RAM102は、CPU100の動作時に使用される作業領域である。保存部103は、設定情報、評価情報等の各種情報が記憶される。保存部103として、例えばHDD(Hard Disk Drive)のほか、SSD(solid state drive)等が用いられる。なお、例えば、顧客端末3は、図示しないGPU(Graphics Processing Unit)を有してもよい。GPUを有することで、通常よりも高速演算処理が可能となる。
【0044】
I/F104は、公衆通信網4を介して管理サーバ1、及び制御装置2等との各種情報の送受信を行うためのインターフェースである。
【0045】
I/F105は、入力部分109との情報の送受信を行うためのインターフェースである。入力部分109として、例えばキーボードやタッチパネル等が用いられ、動的二次元コード評価システム50を利用する顧客や管理者等は、入力部分109を介して、各種情報又は顧客端末3の制御コマンド等を入力又は選択する。
【0046】
I/F106は、出力部分108との各種情報の送受信を行うためのインターフェースである。出力部分108は、保存部103に保存された各種情報、又は顧客端末3の処理状況等を出力する。出力部分108として、ディスプレイが用いられ、例えばタッチパネル式でもよい。この場合、出力部分108が入力部分109を含む構成としてもよい。
【0047】
図4は、顧客端末3の機能の一例を示す模式図である。顧客端末3は、例えば、受信部20と、撮像部21と、分析部22と、評価部23と、制御部24と、出力部25と、記憶部26とを備える。なお、
図4に示す各機能は、CPU100が、RAM102を作業領域として、保存部103等に記憶されたプログラムを実行することにより実現される。また、各機能は、例えば、人工知能により制御されてもよい。ここで、「人工知能」は、いかなる周知の人工知能技術に基づくものであってもよい。
【0048】
<受信部20>
受信部20は、制御装置2で動的表示され二次元コード群41を構成する複数の二次元コード40を分析するための設定情報と、顧客端末3または外部サーバ等(図示せず)で分析された結果を評価するための評価情報を受信する。また、受信部20は、二次元コード群41の出力(表示)を行う場合は、設定情報に基づいて生成された二次元コード群41を合わせて受信する。受信部20によって受信された二次元コード群41は、設定情報に基づいて動的表示される。
【0049】
受信部20が受信する設定情報は、例えば、管理サーバ1の管理データベース1aに予め格納され、設定情報管理テーブル1bに登録される設定情報IDに関係付けられる各種の設定情報である。評価情報は、例えば、評価情報管理テーブル1cに予め格納される評価情報管理テーブル1cに登録される評価情報IDで関係付けられる各種の評価情報となる。
【0050】
<設定情報管理テーブル1b>
図5に、設定情報管理テーブル1bに格納される各種の情報を示す。設定情報管理テーブル1bには、撮像する二次元コード40の識別、または認証のための設定情報が、二次元コード40に対応して格納される。設定情報テーブルには、各二次元コード40の集合ごとに設定情報IDが格納される。設定情報IDは、二次元コード40の集合で共通の設定情報として設定される。そのため、例えば、動的表示される二次元コード40が複数あれば、その動的表示に関連する全ての二次元コード40に対して共通に設定される。
【0051】
<設定情報テーブル>
設定情報テーブルは、管理サーバ1で生成され、管理サーバ1を介して生成された設定情報テーブルが顧客端末3に送信される。顧客端末3に送信される設定情報テーブルは、顧客端末3でローカルに分析されるための情報であり、例えば、管理サーバ1で分析されてもよい。顧客端末3の受信部20で受信した設定情報管理テーブル1bは、例えば、二次元コード40を分析、及び評価するための各種の情報が格納される。設定情報管理テーブル1bで設定される項目は、例えば、管理サーバ1の管理者等によって設定される。設定される各項目は、例えば、設定情報テーブル、標準マスクパターンテーブル、エラー訂正語情報テーブル、機能情報テーブル、表示情報テーブルによって、それぞれ対応付けられる。
【0052】
設定情報管理テーブル1bに設定される各種の設定情報IDは、本発明の用途等によって適宜に設定される。この設定は、評価対象となる動的表示される複数の二次元コード40に設定される。
【0053】
設定情報IDは、評価対象となる二次元コード群41を構成する複数の二次元コード40に対して付与され、例えば、『0001』、『0002』、として設定される。各々の設定情報IDで識別される設定は、例えば、表示情報テーブルの設定情報として、『A02(方向)』、『A04(表示位置)』、『A05(表示順番)』、『A06(コードを構成する明暗の色)』等が設定される。さらに、標準マスクパターンテーブルの設定情報として、『B01(パターン0)』、機能情報テーブルとして、『D01(基点二次元コード)』、『D02(その他の構成二次元コード)』、『D03(格納二次元コード』が設定されていることを示す。なお、エラー訂正語情報テーブルとしての設定は無いが、この場合は、このエラー訂正語情報は設定されなかったということを示すものであり、どの項目が設定されるかは任意である。
【0054】
設定情報テーブルには、さらに、集合情報が設定される。集合情報は、動的表示に関する動作を設定する情報であり、例えば、動的表示する二次元コード群41を構成する二次元コード40の枚数、動的表示する1枚あたりの表示時間(または全体の総時間)、顧客端末3のディスプレイまたはスクリーン上の表示位置の座標(X軸、Y軸)等の各種の情報が設定される。
【0055】
設定情報テーブルに設定される各種の情報は、例えば、各々の設定項目のいずれか1つの設定でもよく、または、全ての設定項目を組み合わせとして設定してもよい。
【0056】
表示情報テーブルには、例えば、『A01(傾き:1度~360度)、『A02:方向(上・下・左・右)』、『A03:コードシンボルの鏡像反転である裏表(表・裏)』、『A04:表示位置(X軸、Y軸)』、『A05:表示順番(n番)』、『A06:コード色』が設定される。どの項目が、どの値等で設定されるかは任意である。
【0057】
標準マスクパターンテーブルには、例えば、標準マスクパターンを示す情報として、8種類『B01(パターン0)』~『B08(パターン7)』が設定される。一般的には、標準マスクパターンはQRコードの標準規格に基づいて、自動的に決定されてしまうが、どの標準マスクパターンを設定するかは任意であり、他の設定情報とともに組み合わせて設定することが可能となる。標準マスクパターンの組み合わせは、例えば、二次元コード40の表示方向(上・下・左・右)と組み合わせた場合は、最大で32種類の異なる設定が可能となる。そのため、このうちのいずれか1つ、または複数の組み合わせを、二次元コード群41を構成する二次元コード40の評価対象(例えば、『A02:方向(上)』、『B01(パターン2)』等)としてもよい。
【0058】
エラー訂正語情報テーブルには、例えば、エラー訂正語の処理の前後において、エラー訂正語の領域に特定の情報を含ませることが可能である。この情報は、本来であればエラー訂正語の処理の後は削除されてしまう領域であるが、この領域に情報を評価対象として含ませることで、動的表示される二次元コード群41を構成する複数の二次元コード40の中から、評価対象の二次元コード40を評価することが可能となる。エラー訂正語情報テーブルには、エラー訂正語の処理の前後を示す情報として、『C01(エラー訂正処理前)』、『C02(エラー訂正処理後)』として設定される。どちらが領域として設定されるかは任意である。
【0059】
機能情報テーブルには、二次元コード40に対して担わせる機能に関する情報が記述されており、例えば、『D01(基点二次元コード)』、『D02(その他の構成二次元コード)』、『D03(格納二次元コード)』等の機能の分類が記述されている。
【0060】
<評価情報管理テーブル1c>
図6に、評価情報管理テーブル1cに格納される各種の情報を示す。評価管理情報テーブル 1cには、動的表示される二次元コード群41を構成する二次元コード40から、撮像した二次元コード40の識別、または認証のための評価情報が格納される。評価情報管理テーブル1cには、二次元コード群41毎に評価の対象となる二次元コード40の評価情報IDが格納される。評価情報IDは、二次元コード群41を構成する複数の二次元コード40で共通の評価情報として、1つ、または複数が設定される。そのため、例えば、動的表示される二次元コード群41を構成する二次元コード40が複数あれば、動的表示される全ての二次元コード40に対して共通に評価される。
【0061】
評価情報管理テーブル1cに設定される各種の評価情報IDは、適宜に設定され、動的表示される複数の二次元コード40に反映される。
【0062】
評価情報IDは、評価対象となる複数の二次元コード40の群に対して付与され、例えば、『0001』、『0002』、として設定される。各々の評価情報IDで識別される設定は、例えば、前述の表示情報テーブルに設定された各項目に対して、評価情報として、『A02(方向)』に対して『右』、『A04(表示位置)』に対して『座標XXX,YYY』、『A05(表示順番)』に対して『3番』、『A06(コード色)』に対して『#000000』等が記述されており、更に、『B01(パターン0) 』、『C02(エラー訂正処理後)』、『D01(基点二次元コード』等が、評価情報として設定される。
【0063】
<撮像部21>
撮像部21は、制御装置2によって表示される動的表示される二次元コード40を撮像する。撮像部21は、例えば、顧客端末3に備わる撮像機能(カメラ機能)や撮像のアプリケーションを起動して撮像する。撮像は、静止画のほか、動画による撮影であってもよい。撮像部21は、二次元コード群41または二次元コード40を撮像し、顧客端末3の保存部103または、後述する顧客端末3の記憶部26に格納する。
【0064】
撮像部21は、二次元コード群41または二次元コード40を撮像する際に、例えば、撮像日時、撮像場所等の撮像条件に関する各種情報を合わせて取得し、撮像した二次元コード群41または二次元コード40の各々と関連付けて保存部103、または記憶部26等に格納してもよい。
【0065】
<分析部22>
分析部22は、撮像した二次元コード群41または二次元コード40を設定情報に基づいて分析する。分析部22による分析は、顧客端末3の他に、例えば、顧客端末3ではセキュリティの都合上、処理できないような分析の場合は管理サーバ1で分析が行われ、顧客端末3は分析結果を受信するようにしてもよい。
【0066】
分析部22は、受信部20で受信した二次元コード群41または二次元コード40に関する各種の設定情報に基づいて分析を行う。分析部22は、撮像した二次元コード群41または二次元コード40に対して、どの設定情報IDに基づいて分析するかは、予め管理サーバ1、制御装置2、及び顧客端末3で取り決められていてもよい。コード撮影者は、顧客端末3を介して、複数表示される設定情報IDから、撮像する二次元コード群41または二次元コード40に対して設定される設定情報IDを選択する。分析部22は、選択された設定情報IDで識別される設定に基づき二次元コード40の各設定を分析する。
【0067】
分析部22は、撮像した二次元コード群41または二次元コード40を形成する構造、動的表示された状態、または、動的表示される二次元コード群41の変化や順序等に基づいて、受信部20で受信した設定情報を含まれる設定項目に基づいて分析する。
【0068】
分析部22は、例えば、撮像した二次元コード群41または二次元コード40と予め受信している設定項目と設定情報の各々について、設定項目に含まれる設定情報との対比を行う。設定項目は、例えば、『A01(傾き:1度~360度)、『A02:方向(上・下・左・右)』、『A03:コードシンボルの鏡像反転である裏表(表・裏)』、『A04:表示位置(X軸、Y軸)』、『A05:表示順番(n番)』、『A06:コード色(#nnnnnn)』、『B01(パターン0)』~『B08(パターン71)』、『C01(エラー訂正前)』、『C02(エラー訂正後)』、『D01(基点二次元コード』、『D02(その他の構成二次元コード)』、『D03(格納二次元コード)』等の各項目であり、撮像した二次元コード40を構成する各設定項目と、設定情報として予め設定された設定項目の何れかに相違があるかを、設定情報管理テーブル1bに記録された各設定情報と比較する。分析部22は、二次元コード群41の設定情報に基づき、特定の設定項目で一致する二次元コード群41または二次元コード40であるかを比較し、それらの結果から撮像した二次元コード群41または二次元コード40の分析を行う。これらの設定項目は、設定情報複数が設定、分析が可能となる。
【0069】
分析部22は、分析の結果により、撮像した二次元コード群41または二次元コード40を構成する各設定項目と、設定情報、及び集合情報として予め設定された設定項目に相違がなければ、正しい評価対象の二次元コード群41または二次元コード40とする。これにより、改ざんや偽造されている可能性のある二次元コード群41または二次元コード40を区別し、評価対象の二次元コード群41または二次元コード40から排除することができる。
【0070】
一方、分析部22は、撮像した二次元コード群41または二次元コード40を構成する各設定項目と、設定情報として予め設定された設定項目に相違があれば、評価対象の二次元コード群41または二次元コード40ではないとして、分析処理を終了し、次に動的表示される二次元コード群41または二次元コード40が撮像されるのを待つ。なお、分析部22は、撮像部21で撮像した二次元コード群41または二次元コード40の他に、顧客端末3の保存部103に保存されている二次元コード群41または二次元コード40を読み出し、読み出した二次元コード群41または二次元コード40を分析するようにしてもよい。二次元コード群41または二次元コード40を分析は、顧客端末3のほか、例えば、外部サーバ等に行わせてもよい。
【0071】
<評価部23>
評価部23は、分析部22による分析の結果に応じて、評価対象の二次元コード群41または二次元コード40であると判断された場合に、さらに、受信部20で予め受信した評価情報に基づく評価を行う。具体的には、評価部23は、分析部22で分析された設定情報の各々の設定情報の条件を、評価情報管理テーブル1cに記憶される各々の対象情報に基づいて評価する。
【0072】
評価部23は、評価情報管理テーブル1cに記憶された評価情報を参照し、例えば、『A02(方向)』に対して『右』、『A04(表示位置)』に対して『座標XXX,YYY』、『A05(表示順番)』に対して『3番』、『A06(コード色)』に対して『#000000』、『B01(標準マスクパターン)』に対して『パターン0』等として評価情報が設定されているかの評価を行う。
【0073】
<制御部24>
制御部24は、顧客端末3の受信部20、撮像部21、分析部22、評価部23、出力部25、記憶部26の制御を行う。
【0074】
<出力部25>
出力部25は、分析部22による分析の結果、及び評価部23による評価の結果を出力する。出力部25は、I/F106を介して出力部分108に分析結果、及び評価結果を送信するほか、例えば、I/F104を介して、管理サーバ1、制御装置2等に分析結果、または評価結果を送信してもよい。出力部25は、例えば、設定情報等の各種条件を出力してもよい。
【0075】
<記憶部26>
記憶部26は、受信部20で受信した設定情報、及び評価情報の各種情報を保存部103に記憶する。記憶部26は、保存部103に記憶された各情報テーブル等の各種情報を、必要に応じて取出す。情報テーブルには、予め取得された過去の設定情報、評価情報等の各種の情報が記憶される。
【0076】
<管理サーバ1>
管理サーバ1には、各種情報に関するデータベースが管理データベース1aとして記憶されている。この管理データベース1aには、例えば、公衆通信網4を介して送られてきた各種情報が蓄積される。各種情報は、後述する設定情報管理テーブル1b、評価情報管理テーブル1cが保存される他、保存部103と同様の情報が記憶され、公衆通信網4を介して制御装置2、及び顧客端末3と各種情報の送受信が行われてもよい。
【0077】
また、管理サーバ1は、例えば、顧客端末3に不具合があったり、顧客端末3の処理能力やセキュリティ等、または処理する二次元コード群41または二次元コード40の情報量等から、分析処理の一部分、または全てを、図示しない分析部22で処理するようにしてもよい。
【0078】
<制御装置2>
制御装置2は、前述の顧客端末3と同様の構成を備え(図示せず)、パーソナルコンピュータ(PC)等の電子機器が用いられる。制御装置2の出力部分108には、例えば、大型のディスプレイやプロジェクターが備わり、二次元コード群41または二次元コード40を表示、または投影する。二次元コード群41または二次元コード40は、各ディスプレイ、またはスクリーン上に同一の二次元コード40が順次に表示または投影されるように、制御装置2の制御部24によって制御される。
【0079】
制御装置2には、動的表示する二次元コード群41または二次元コード40に関する各種情報に関するデータベースが表示データベース2aとして記憶されている。この表示データベース2aには、例えば、公衆通信網4を介して送られてきた各種情報が蓄積される。各種情報は、制御装置2における二次元コード群41または二次元コード40の表示、または投影に関する設定情報が記憶される。制御装置2は、表示データベース2aに記憶される設定情報に基づき、二次元コード群41または二次元コード40の表示または投影を行う。表示データベース2aには、各種の情報が記憶され、公衆通信網4を介して管理サーバ1、顧客端末3と各種情報の送受信が行われてもよく、さらに、動画として、管理サーバ1から伝送配信されてもよい。
【0080】
なお、本発明においては、顧客端末3における図示しない表示部を介して表示される二次元コード群又は二次元コードを制御装置2により読み取るようにしてもよい。制御装置2により、これら二次元コード群又は二次元コードを読み取ることができるようにするために、上述した顧客端末3に実装されている各構成要素が制御装置2側にも実装されていてもよいことは勿論である。
【0081】
<公衆通信網4>
公衆通信網4は、管理サーバ1、制御装置2、及び顧客端末3等が通信回路を介して接続されるインターネット網等である。公衆通信網4は、いわゆる光ファイバ通信網で構成されてもよい。また、公衆通信網4は、有線通信網には限定されず、無線通信網で実現してもよく、さらに、一般の地上波、衛星放送等のTV放送用の電波でもよい。
【0082】
次に、本発明を適用した動的二次元コード評価システム50の具体的な動作について説明をする。本発明では、
図7に示すように、時系列的に並べられた複数の二次元コード40を順に繰り返し動的表示するための二次元コード群41に格納されている情報を抽出する。各二次元コード40は、コードシンボルを構成する明暗モジュールの配置、コードシンボルに格納される情報、情報コード語、誤り訂正コード語、コードシンボルの構成形式の標準規格(QR、DataMatrix等)、コードシンボルの構成上の様式(型番、訂正能力、マスクパターン等)、コードシンボルの向き(上下左右)、明暗モジュールの構成色(明暗反転を含む)、裏表(鏡像反転)、二次元コードを構成するデータコード語及び誤り訂正コード語とからなるデータブロック構成コード語のうち、特定の位置にあるコード語等のように、互いに変化が与えられてなる。このような静止画像としての二次元コード40を時系列的に並べることにより、二次元コード群41が形成されることとなる。この二次元コード40a、40b、・・・・と時系列順に表示し、終端にある二次元コード40gまで順次表示した後、再び先頭の二次元コード40aに戻る。すなわち表示は時系列的に循環する。
【0083】
この二次元コード群41で構成される動画が全体としてひとつの情報を構成するようにしてもよいし、これらのうち特定の一枚の二次元コード40、或いは特定の2以上の二次元コード40において、1又は2以上の情報が格納されるようにしてもよい。
【0084】
以下、特定の一枚の二次元コード40、或いは特定の2以上の二次元コード40において、1又は2以上の情報が格納され、これを読み出すコンセプトについて説明をする。
【0085】
二次元コード群41を構成する二次元コード40は、以下の種別に分類することができる。
【0086】
指標二次元コード
二次元コード群41では、時間軸上の相対的原点を定めることにより、各二次元コード40は原点からの時間軸上の距離、あるいは順番によって記述することが可能になる。この時間軸上の相対的原点に当たる二次元コード40を基点二次元コードと称する場合、指標二次元コードは、この基点二次元コードを特定するため、それがどのような特徴(すなわちスペック)を有する構成要素であるかを掲示する役割を担う。指標二次元コードは、その特徴が予め規定されており、この特徴(スペック)が現れたとき、二次元コード40の読み手であるリーダ(分析部22、評価部23)はこれを無条件に、すなわち機械的に、指標二次元コードとして認識する。
【0087】
基点二次元コード
基点二次元コードは、与えられた二次元コード群41において、指標二次元コードが格納する第1設定値により特定される。基点二次元コードを礎石とし、このコードを一連の時間軸上の始点または原点として他の構成二次元コードを出現の相対的順番を一意に特定することが可能になる。この基点二次元コードは、通常は二次元コード群41の中に1個しか存在することができないが、これに限定されるものでは無く、2個以上存在する場合もある。特定された基点二次元コードは、後述する格納二次元コードへの移動量によって、その基点二次元コードを基準とした相対位置を指し示すことができる。
【0088】
格納二次元コード
格納二次元コードは、格納すべき対象情報が格納される二次元コード40である。この格納二次元コードは、上述した基点二次元コードを介してその時間軸上の相対位置が指定される。
【0089】
対象情報
対象情報は、この二次元コード群41が指し示す情報をいう。この対象情報は、この格納二次元コードのみに格納される場合に限定されるものでは無く、この格納二次元コードを含み、格納二次元コードにより指定される2以上の他の格納二次元コードにも格納される場合がある。
【0090】
即ち、本発明を適用した動的二次元コード評価システム50のコンセプトは、指標二次元コードによって特定されるところの、基点二次元コードを原点として、それが指し示す格納二次元コードが格納する情報によって構成されるところの対象情報をその「データ」すなわち「真の値」とするものである。
【0091】
次に、この指標二次元コードにより基点二次元コードを特定し、さらにこの基点二次元コードが指し示す格納二次元コードを特定する方法について説明をする。
【0092】
本発明においては、先ず二次元コード群41を構成する各二次元コード40(以下、構成二次元コードという)に対して評価値が予め紐付けられる。この評価値は、以下に説明するように、二次元コード40の外形的特徴に基づいて規定されるOR(ORientation)値と、二次元コード40の論理的特徴に基づいて規定されるEC値との組み合わせで構成される。
【0093】
ここでOR(ORientation)値とは、コードの向きを表すものであり、具体的にはパイロット45からの相対的な向きを示すものである。パイロット45は、二次元コード40を取り囲むいわゆるクワイエット・ゾーン(余白領域)のすぐ外側に置かれる目印であり、その形状特に定めないが、領域内接の円、四角、星形等がある。パイロット45の役割は、二次元コード40の向きを知るための方向の原点を示すことにある。パイロット45を設けておくことにより、二次元コード40の撮像時において、リーダが正しい方向や位置で撮像をしなかった場合であっても、二次元コード40の向きを知るための方向の原点をパイロット45を介して認識することが可能となる。
【0094】
図8は、パイロット45とコードの向きに対するOR値の関係を示している。この
図8の例では、またコードの「向き」がパイロット45の示す方向から左まわりに90°のときOR値を2とする。またコードの「向き」がパイロット45の示す方向から真逆のときOR値を1とする。コードの「向き」がパイロット45の示す方向と同じとき OR値を3とする。またコードの「向き」がパイロット45の示す方向から右まわりに90°のときOR値を4とする。
【0095】
但し、この
図8のOR値の設定例は一例であり、コードの「向き」と、パイロット45の示す方向との間でいかなるルールに基づいてOR値が設定されていてもよい。OR値は、二次元コード群41を構成する各二次元コード40に対して、それぞれ表示時間順に例えば
図9に示すように「1」→「2」→「3」→「4」→「1」→「4」→「3」→「2」を繰り返すように設定されていてもよい。かかる場合には、パイロット45とコードの向きは、
図9に示すように順次切り替わるように構成される。このOR値の表示時間順は、上述に限定されるものでは無いが、外形的な方向の変化が単調にならないように配置されることが望ましい。
【0096】
また繰り返し循環するOR値の構成数も、上図のように8個に限定されるものではなく、いかなる構成数とされていてもよい。但し、繰り返し循環するOR値の「始点」と「終点」とが同一値とならないように設定することが望ましい。「終点」から「始点」への循環において、二次元コード40の表示の向きが「終点」と「始点」で2回連続で同じ方向に重なることから、形的な方向の変化が単調になるのを防ぐためである。
【0097】
EC(Error Correction)値とは二次元コード40の4種類ある誤り訂正能力を示す指標を数値に紐づけたものである。4種類の誤り訂正能力として、L、M、Q、Hからなる指標にそれぞれ1から4の数字をあてたものである。
【0098】
また、本発明においては二次元コード40の外観上の特徴を抽出するデータとして、更にパイロット45の特徴も読み取る。パイロット45の値は、
図11(a)に示すように、真ん中が白とされた白玉状のものを明点とし、パイロット45の評価値を0とする。同様に真ん中が塗りつぶされた黒玉状のものを暗点とし、パイロット45の評価値を1とする。
【0099】
またパイロット45の特徴を読み取る上で、
図11(b)に示すように、パイロット45を全て黒玉状で構成するとともに、二次元コード40の周囲に配置された黒玉状のパイロット45の個数で表現されるものであってもよい。このパイロット45の個数が偶数であれば、パイロット45のP値(パリティ値)を0とする。同様にパイロット45の個数が奇数であれば、パイロット45のP値(パリティ値)を1とする。
【0100】
なお、パイロット45の特徴としては、基点から並べたパイロット45が表現する数値、パイロット45を数値評価した際の偶奇パリティ値、パイロット45の基点からの配置様態も含まれる。
【0101】
このようなOR値とEC値が、評価値として二次元コード群41における各二次元コード40にそれぞれ割り当てられる。例えば、OR値=4、EC値=2からなる二次元コード40は「右90°、訂正能力M」のコードである旨を理解することができる。さらにパイロット45の評価値が1であれば、パイロット45が暗点で構成されている旨を理解することができる。
【0102】
また評価値を構成する場合には、上記以外に、二次元コード40の外観上の明暗を示す値であるPN(Positive/Negative)値に基づいてもよい。
図10は、PN値の設定例を示している。各二次元コード40には、外観上の明暗がそれぞれ割り当てられており、より明るい色合いで外観が構成される場合には、これをP(Positive)とし、より暗い色合いで外観が構成される場合には、これをN(Negative)とするものである。
【0103】
また、1~40により構成される型番号(大きさ)に基づいて評価値を決めるようにしてもよい。
【0104】
また、0~7により構成される標準マスク番号に基づいて評価値を決めるようにしてもよい。
【0105】
以下の例では、これらのうちP値(パリティ値)、OR値、EC値で評価値を構成する場合を例にとり説明をする。評価値は、第1設定値に紐付けられる。
図12に、このP値、OR値、EC値で構成される評価値と、第1設定値との関係を記述したテーブルの例を示す。第1設定値は、図形番号ともいうが、各P値、OR値、EC値で構成される評価値に対して、それぞれ1~32の図形番号が割り当てられる。これにより、各P値、OR値、EC値で構成される評価値が、図形番号(第1設定値)に対して1対1で対応しているのが分かる。
【0106】
この図形番号を介して基点二次元コードや指標二次元コードが割り当てられる。
図12の例の場合には、図形番号が2、7、11、14、17、22、26、31を、基点二次元コードに割り当てている。このように、図形番号を介して基点二次元コードを特定するモードを直接指定モードという。
【0107】
また、
図13に示すように、P値、OR値、EC値で構成される評価値に対応する図形番号を介して指標二次元コードを割り当てるモードを間接指定モードという。
【0108】
なお、この
図12、13の図形番号の割り当て例は一例に過ぎず、他のいかなる図形番号を基点二次元コード、指標二次元コードに割り当てるようにしてもよい。
【0109】
二次元コード群41から直接指定モードに基づいて基点二次元コードを検出する場合には、図形番号を介して検出することができる。図形番号は、上述したように二次元コード40の外形的特徴に基づいて規定されるP値、OR値、EC値とを取得することで得ることができる。具体的には、
図14に示すようなパイロットとコードの向きを介してOR値を検出し、P値(パリティ値)に関しては、パイロット45の明暗(及びその個数)に基づいて検出することで得ることができ、EC値に関してはエラー訂正能力を検出することで得ることができる。このP値、OR値、EC値からなる評価値を
図12に示すテーブルを参照し、図形番号を取得する。そして、この取得した図形番号が、基点二次元コードに割り当てられた図形番号に該当するか否かを照合する。その結果、取得した図形番号が、基点二次元コードに割り当てられた図形番号(2、7、11、14、17、22、26、31の何れか)に該当するのであれば、その二次元コード40が基点二次元コードであることを判別することができる。
【0110】
次に、基点二次元コードの図形番号に対応する第2設定値を取得する。この第2設定値は、
図12に示すように、第1設定値に対して1対1で紐付けられている。この第2設定値は、基点二次元コードからの時系列的な相対的位置関係を示すものである。例えば、第2設定値が3であれば、基点二次元コードを起点として、二次元コード40を3つ移動させたところに、上述した格納二次元コードを設定する。この格納二次元コードに到達した場合、これに格納されている対象情報を読み取る。
【0111】
二次元コード群41を生成する際には、基点二次元コードの図形番号に対応する第2設定値に応じて相対的移動させた格納二次元コードに、対象情報を格納しておくこととなる。
【0112】
図15に、直接指定モードにおける基点二次元コード及び格納二次元コードを特定する例を示す。
図15(a)では、P値、OR値、EC値を介して特定される図形番号=2であり、基点二次元コードに割り当てられた図形番号(2、7、11、14、17、22、26、31の何れか)に該当する。このため、この図形番号=2に該当する二次元コード40を基点二次元コードとして特定する。この第1設定値としての図形番号=2には、第2設定値が1対1で紐付けられており、この場合は2である。このため、基点二次元コードを起点として、二次元コード40を2つ移動させたところに、上述した格納二次元コードを設定する。
図15(b)では、P値、OR値、EC値を介して特定される図形番号=22であり、基点二次元コードに割り当てられた図形番号(2、7、11、14、17、22、26、31の何れか)に該当する。このため、この図形番号=22に該当する二次元コード40を基点二次元コードとして特定する。この第1設定値としての図形番号=22には、第2設定値が1対1で紐付けられており、この場合は、3である。このため、基点二次元コードを起点として、二次元コード40を3つ移動させたところに、上述した格納二次元コードを設定する。
【0113】
図15の例では、あくまで時系列的に順方向(先の方向)に向けた相対的な位置関係を規定しているが、これに限定されるものでは無く、時系列的に逆方向(時間的に後の方向)への相対的な位置関係を規定するようにしてもよい。
【0114】
二次元コード群41から間接指定モードに基づいて基点二次元コードを検出する場合には、図形番号を介して検出することができる。図形番号は、上述したように二次元コード40の外形的特徴等に基づいて規定されるP値、OR値、EC値とを取得することで得ることができる。具体的には、
図14に示すようなパイロットとコードの向きを介してOR値を検出し、P値(パリティ値)に関しては、
図14に示すように、パイロット45の明暗(又はその個数)に基づいて検出することで、EC値に関してはエラー訂正能力を検出することで得ることができる。このOR値、EC値、P値(パリティ値)からなる評価値を
図13に示すテーブルを参照し、図形番号を取得する。そして、この取得した図形番号が、指標二次元コードに割り当てられた図形番号に該当するか否かを照合する。その結果、取得した図形番号が、指標二次元コードに割り当てられた図形番号(2、7、11、14、17、22、26、31の何れか)に該当するのであれば、その二次元コード40が指標二次元コードであることを判別することができる。
【0115】
この指標二次元コードには、基点二次元コードへの移動量に関する情報か、又は基点二次元コードの第1設定値を格納しておく。これにより、指標二次元コードを検出することができれば、その指標二次元コードに格納されている移動量又は第1設定値を読み出すことにより、基点二次元コードへの移動量又は第1設定値を取得することができる。
【0116】
基点二次元コードの特定は、この取得した基点二次元コードへの移動量又は第1設定値を介して行う。
【0117】
移動量を介して基点二次元コードを特定する場合には、例えば
図16(a)に示すように、指標二次元コードから読み出した移動量が3である場合、指標二次元コードから順方向(又は逆方向)に3移動させた二次元コード40を、基点二次元コードとする。或いは、指標二次元コードから読み出した第1設定値が16である場合、その第1設定値(図形番号)をもつ二次元コード40を基点二次元コードとする。
【0118】
図16(b)の例では、指標二次元コードから読み出した移動量が5である場合、指標二次元コードから順方向(又は逆方向)に5移動させた二次元コード40を、基点二次元コードとする。或いは、指標二次元コードから読み出した第1設定値が25である場合、その第1設定値(図形番号)をもつ二次元コード40を基点二次元コードとする。
【0119】
次に、基点二次元コードの図形番号に対応する第2設定値を取得する。この第2設定値は、直接指定モードと同様に
図13に示すように、第1設定値に対して1対1で紐付けられている。この第2設定値は、基点二次元コードからの時系列的な相対的位置関係を示すものである。
図16(a)の例によれば、第2設定値が1であるので、基点二次元コードを起点として、二次元コード40を1つ移動させたところに、上述した格納二次元コードを設定する。
図16(b)の例によれば、第2設定値が2であるので、基点二次元コードを起点として、二次元コード40を2つ移動させたところに、上述した格納二次元コードを設定する。
【0120】
このようにして、間接指定モードの場合には、指標二次元コードを単に機械的にP値、OR値、EC値の組み合わせにより特定し、指標二次元コードに格納されている移動量又は第1設定値を読み出すことで、それに対応する図形番号を持つ基点二次元コードを検出する。そして、この基点二次元コードの図形番号(第1設定値)に対応する相対的位置関係に応じた格納二次元コードを特定し、これに格納されている対象情報を読み出す。
【0121】
即ち、本発明によれば、単に機械的にP値、OR値、EC値等の指標となる特徴による値の組み合わせにより指標二次元コード又は基点二次元コードを拾い出すことができれば、そこから格納二次元コードまでを間接的に特定することができ、そこに記述されている対象情報を読み出すことで所望の情報を得ることができる。このため、情報処理の負荷を極めて低くすることが可能となる。これに加えて、本発明によれば、指標二次元コード、基点二次元コード、格納二次元コード、対象情報以外は図形番号に紐付く外形的要件さえ満たせば、残りの二次元コード40に関してはいかなる形態で構成してもよく、任意の内容や形式の二次元コード40を生成し配置することができる。これにより、コード生成の負荷も小さくすることができる。
【0122】
なお、上述した実施の形態においてはP値、OR値、EC値の組み合わせによる評価値を介して指標二次元コード又は基点二次元コードを特定する場合を例に挙げて説明をしたが、これに限定されるものでは無い。二次元コードの表示に関する少なくとも傾きや方向、型番号、コードシンボルの鏡像反転である裏表、表示位置、表示順番、画像の明暗の反転、コードを構成する明暗の色、及び、二次元コードの種類、二次元コードの標準マスクパターンに関する識別子番号、二次元コードに含まれるエラー訂正語、二次元コードを構成するデータコード語及び誤り訂正コード語とからなるデータブロック構成コード語のうち特定の位置にあるコード語等の少なくとも何れかの情報に基づいて規定される評価値を介してこれらを特定してもよい。
【0123】
指標二次元コードのデータ構成:基点二次元コードの情報の格納
指標二次元コードの役割は基点二次元コードの図形番号や基点二次元コードへの移動量等を格納することである。
【0124】
要素転換
二次元コード群41を構成するそれぞれの二次元コード40が特定のイベントとともにダイナミックに変化することを構成コードの「要素転換」という。ここでいう要素転換とは、格納されている情報は不変としつつ、指標二次元コードや、基点二次元コード、格納二次元コードの配置をリセットし、二次元コード40を再生成して並べ替えるものである。つまり、この要素転換とは、一連の二次元コード群41により表される情報は不変としつつ、指標二次元コードや、基点二次元コード等、それぞれ役割を担う二次元コードの時系列上の配置を再構成することをいう。二次元コード群41を構成する二次元コードを時系列的に動的表示する場合、複数の静止画、すなわち二次元コードシンボルから構成されるものとなる。静止画のそれぞれに対して変化を与えて、関連する静止画の集合を構成し、時間軸上に構成要素を並べていくことによって真に動的な動的二次元コードが構成される。いわゆるフレームレートが時間軸上の変化の速度となり、例えば、10fps ~30fps程度が実用的な速度である。さらに動的表示の開始から所定時間経過後、又は表示の要求などのような所定の外部事象の検知によって、二次元コード群41を構成する二次元コードの構成がダイナミックに変化するのである。本発明においては、より柔軟な構成原理をベースにするため、動画(すなわち複数の静止画の集合)が全体として一つの情報を表示してもよいし、個々の静止画(二次元コード40)の一連の流れを通じて特定・取得される情報を施すようにしてもよい。
【0125】
「要素転換」による表示再構成のタイミングは、例えば数分毎の定期的再構成や、表示操作のイベントの検出時において行われるが、これについてはユーザ側、或いはシステム側において予め規定しておく必要がある。
【0126】
このような「要素転換」を行うことにより、与えられた動的な二次元コード群41の表示構成の有効期限を短時間にすることで悪意の解析を著しく困難にする場合以外に、静止画(個々の二次元コード40)で本質的な問題であったところのコードのコピー(複写)を困難にすることが目的である。このため、この表示構成の有効期限を特定する情報を対象情報の構成要素として含めておくようにしてもよい。
【0127】
また、「要素転換」では、評価値の構成を更新してデータブロックを生成し配置した上で、更に二次元コードを構成するため明暗モジュールを配置するようにしてもよい。データブロックの生成配置に加え、たとえデータブロックが同じでも標準マスクが変化することによる明暗モジュールの配置による変化もこの要素転換に含めてもよい。
【0128】
構成モードの種類
構成モードは大別して以下の2種類、すなわち1)格納二次元コード自身が格納する情報を対象情報とするもの(以下、Simpleモードという。)と、2)格納二次元コードが格納する情報が指定するいわゆる構造的連接等の規則に基づく自身を含む2個以上の構成二次元コードの集合によって再構成される情報を対象情報とするもの(以下、関連コード構成モードという。)、に分類することができる。つまり、対象情報を一つの格納二次元コードに格納するか、格納二次元コードに加え、他の格納二次元コードに格納するかに応じて分類することができる。関連コード構成モードでは特定された格納二次元コードを含んで互いに関連する他の格納二次元コードによって、対象情報が格納されることとなる。以下、各構成モード(Simpleモード、関連コード構成モード)について説明をする。
【0129】
Simpleモード
Simpleモードでは、単一の格納二次元コードに、対象情報を格納する。上述した構成コードの「要素転換」を既定のイベント(経過時間や表示イベント)毎に施すことにより、構成二次元コードの組み合わせをワンタイム化することができる。「要素転換」においては、対象情報は、有効期限を特定する要素以外は不変でなくてはならない。対象情報以外の二次元コード40の構成要素は時間の経過、イベントの発生とともに(時間軸上において)可変としてもよい。
【0130】
Simpleモードでは、
図14~16に示すように、特定された基点二次元コードから紐づけられた移動量だけ離れた格納二次元コードを特定する。格納二次元コード自身には対象情報が格納される。
【0131】
関連コード構成モード
関連コード構成モードは、
図17に示すように、格納二次元コード自身を含み、そこに記載される特定相対位置の単数または複数の二次元コードがいわゆる構造的連接等の規則による互いに関連する構造をなして情報(データ)を構成し、これをすなわち対象情報とするものである。関連コード構成モードでは、対象情報は、格納二次元コードに加え、互いに関連性をもたせた他の格納二次元コードに対象情報を格納し構成するデータブロックを生成し配置するものである。
【0132】
表示開始(生成)から一定時間経過又は表示要求イベントにおいて「要素転換」された一連の構成二次元コードによって表示が差し替わる。このとき、不変なのは構造的連接の構成二次元コード(
図17の例の場合は2個)が格納する対象情報である。
【0133】
情報の更新
各二次元コード40に格納される情報は、各種イベントが発生した場合、或いはユーザ又はシステム側の意向により随時更新することができる。
【0134】
この更新については、格納二次元コードに格納される対象情報の一部を書き換えることにより更新するようにしてもよいし、格納二次元コードに格納される対象情報の一部を削除することにより更新するようにしてもよい。また、格納二次元コードに格納される対象情報に対して情報が追記された新たな内容に基づいたデータブロックを生成し配置することにより更新するようにしてもよい。また、更新する対象情報の内容に基づいたデータブロックを、格納二次元コードと、1以上の他の格納二次元コードとに生成し配置する場合には、格納二次元コードと、他の格納二次元コードとの間における関連性を示す関連性情報をこれらに格納するようにしてもよい。更に、更新が行われた後にその履歴に関する履歴情報を格納二次元コードに記録するようにしてもよい。これにより、更新処理の利便性を向上させることが可能となる。この履歴情報の格納は、上述した要素転換時にも同様に行うようにしてもよい。
【符号の説明】
【0135】
1 管理サーバ
1a 管理データベース
1b 設定情報管理テーブル
1c 評価情報管理テーブル
2 制御装置
2a 表示データベース
3 顧客端末
3a 顧客端末
3b 顧客端末
3c 顧客端末
4 公衆通信網
10 筐体
20 受信部
21 撮像部
22 分析部
23 評価部
24 制御部
25 出力部
26 記憶部
40 二次元コード
41 二次元コード群
50 動的二次元コード評価システム
103 保存部
107 内部バス
108 出力部分
109 入力部分
120 中心部
121 外堀領域
300 フレーム