(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2025-02-12
(54)【発明の名称】複数アプリケーションQRコード
(51)【国際特許分類】
G06F 9/44 20180101AFI20250204BHJP
G06K 7/14 20060101ALI20250204BHJP
G06K 19/06 20060101ALI20250204BHJP
G06F 8/61 20180101ALI20250204BHJP
【FI】
G06F9/44
G06K7/14 017
G06K19/06 037
G06F8/61
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024534068
(86)(22)【出願日】2022-12-02
(85)【翻訳文提出日】2024-06-06
(86)【国際出願番号】 EP2022084173
(87)【国際公開番号】W WO2023126125
(87)【国際公開日】2023-07-06
(32)【優先日】2022-01-03
(33)【優先権主張国・地域又は機関】EP
(32)【優先日】2022-01-03
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】590000248
【氏名又は名称】コーニンクレッカ フィリップス エヌ ヴェ
【氏名又は名称原語表記】Koninklijke Philips N.V.
【住所又は居所原語表記】High Tech Campus 52, 5656 AG Eindhoven,Netherlands
(74)【代理人】
【識別番号】100122769
【氏名又は名称】笛田 秀仙
(74)【代理人】
【識別番号】100163809
【氏名又は名称】五十嵐 貴裕
(74)【代理人】
【識別番号】100145654
【氏名又は名称】矢ヶ部 喜行
(72)【発明者】
【氏名】ガルシア モルション オスカー
(72)【発明者】
【氏名】ディーズ ウォルター
(72)【発明者】
【氏名】ベルンセン ヨハネス アルノルドス コルネリス
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA27
5B376AD19
5B376AE12
5B376AE20
5B376AE44
5B376FA13
(57)【要約】
本発明は、複数のデータコンテナの情報を、アプリケーションプログラムのためにそれぞれの情報を取り出すことができるように格納することができ、アプリケーションプログラムを信頼性が高く時間効率的に設定することができるマルチアプリケーションQRコードに関する。第1のアプリケーションプログラムを使用して、少なくとも2つのデータコンテナを含むQRコードを読み取り、QRコード内の第1のデータコンテナから第1の情報を抽出し、第1の情報を使用して第2のアプリケーションプログラムをダウンロードし、QRコード内の第2のデータコンテナから、第2のアプリケーションプログラムのための設定パラメータを含む第2の情報を抽出し、第2のアプリケーションプログラムを設定するために設定パラメータを使用する、装置上で動作するようにアプリケーションプログラムを設定する方法及び装置が提供される。
【特許請求の範囲】
【請求項1】
アプリケーションプログラムを装置上で動作するように設定する方法であって、
第1のアプリケーションプログラムを使用して、少なくとも2つのデータコンテナを含むQRコードを読み取るステップと、
前記QRコード中の第1のデータコンテナから第1の情報を抽出し、前記第1の情報を使用して第2のアプリケーションプログラムをダウンロードするステップと、
前記QRコード中の第2のデータコンテナから第2の情報を抽出するステップであって、前記第2の情報が、前記第2のアプリケーションプログラムのための設定パラメータを含む、ステップと、
前記設定パラメータを使用して前記第2のアプリケーションプログラムを設定するステップと、を有する方法。
【請求項2】
前記第1の情報が、アプリケーションプログラムレポジトリを特定する情報を含む、請求項1に記載の方法。
【請求項3】
前記情報がURLを含む、請求項2に記載の方法。
【請求項4】
前記第2のアプリケーションプログラムが異なる装置にインストールされる、請求項1に記載の方法。
【請求項5】
前記第1のアプリケーションプログラムが、前記QRコード中の前記少なくとも2つのデータコンテナ読み取るように構成される、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記アプリケーションプログラムレポジトリに対する前記URLが、前記アプリケーションプログラムレポジトリにより無視される部分を含む、請求項3に記載の方法。
【請求項7】
前記第2の情報が、前記抽出後に前記装置上で格納情報として記憶され、前記格納情報は、前記第2のアプリケーションプログラムにより使用される、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記第2の情報が、前記第1のアプリケーションプログラムに、前記装置が第2の装置への接続を開始させるように構成される、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記第2の情報が、ネットワーキングインタフェイスを介して第2の装置から前記設定パラメータを前記装置が取得することを可能にさせる、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記設定パラメータを使用する手順が前記QRコード自体に符号化されている、請求項1から9のいずれか一項に記載の方法。
【請求項11】
前記アプリケーションプログラムが、SHSを設定するアプリケーションとして使用されるように構成される、請求項1から10のいずれか一項に記載の方法。
【請求項12】
前記第2のアプリケーションプログラムが、DPPコンフィギュレータとして使用されるように構成される、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記第2の情報が前記装置のためのDPP公開鍵を含む、請求項12に記載の方法。
【請求項14】
前記第2のアプリケーションプログラムがIoT装置を設定するために使用され、前記第2の情報が、前記装置の識別子、MUDファイル、前記装置のネットワーキングアドレスおよび前記装置の暗号鍵からなるグループから選択される少なくとも1つの情報を含む、請求項1から13のいずれか一項に記載の方法。
【請求項15】
前記第2のアプリケーションプログラムが無線ネットワークを介して取得される、請求項1に記載の方法。
【請求項16】
前記第1のアプリケーションプログラムが、カメラアプリケーションプログラムまたはカメラアプリケーションプログラムの機能である、請求項1から15のいずれか一項に記載の方法。
【請求項17】
QRコードに符号化された情報を復号するように構成された機器であって、前記QRコードは複数のデータコンテナを有し、前記複数のデータコンテナのうちの或るデータコンテナは、コミッショニングアプリケーションプログラムの取得を可能にするように構成された情報を含み、或るデータコンテナは前記コミッショニングアプリケーションプログラムの設定を可能にするための情報を含む、機器。
【請求項18】
関連するQRコードを有する装置であって、前記QRコードは、別の装置がコミッショニングアプリケーションプログラムを取得することを可能にするように構成された情報および前記装置に関連する設定情報を含み、前記コミッショニングアプリケーションプログラムは、前記別の装置が前記装置とのコミッショニングプロトコルを実行することを可能にするように構成され、前記コミッショニングプロトコルは、ネットワークへの接続のために前記装置を設定するように構成され、前記設定情報は、前記コミッショニングアプリケーションプログラムにより使用されるように構成される、装置。
【請求項19】
請求項17に記載の機器と、請求項18に記載の装置である第1の装置と、第2の装置とを有するシステムであって、
前記機器が、
前記QRコード中の情報に基づく前記コミッショニングアプリケーションプログラムの取得および設定をトリガし、
前記コミッショニングアプリケーションプログラムを使用して前記第1の装置との第1のコミッショニングプロトコルを実行し、前記コミッショニングプロトコルの成功裏の完了が、前記第1の装置が前記第2の装置に接続することを可能にする、システム。
【請求項20】
コンピュータにより実行され、当該コンピュータに請求項1から16のいずれか一項に記載の方法を実行させる、コンピュータプログラム。
【請求項21】
QRコードに格納するために情報を符号化する方法であって、前記情報は、アプリケーションプログラムの取得に関するアプリケーション情報、および、前記アプリケーションプログラムの設定に関する設定情報を含み、前記方法は、
前記情報を受信するステップと、
前記情報を符号化データに符号化するステップと、
を有し、前記符号化データは、少なくともヘッダと、それぞれのデータコンテナとを含み、
前記アプリケーション情報および前記設定情報はそれぞれのデータコンテナ中に符号化され、
前記ヘッダは、アプリケーションの存在を示す少なくとも単一の識別子と、前記アプリケーション情報および前記設定情報のためのそれぞれのアプリケーション識別子とを含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はQRコードの分野に関し、より具体的には、複数アプリケーションQRコードに関する。
【背景技術】
【0002】
クイックレスポンス(QR)コード([ISO 18004]参照)は、二次元バーコードとも呼ばれ、情報を符号化する機械可読光学ラベルであり、QRコードリーダまたはスキャンデバイスによって復号することができる。例えば、スマートフォンなどのハンドヘルドデバイスは、QRコードリーダと、QRコードの画像をキャプチャし、それを復号して符号化された情報を識別することができる光学カメラとを装備することができる。QRコードは多くのアプリケーションに使用することができる。例えば、QRコードは、ポスター上に印刷されることができ、ユーザがQRコードをスキャンすると、例えば、QRコードリーダ上のブラウザが、ポスターの主題に関するより多くの情報を有するウェブサイトを開く。別の例では、会社が、例えばシリアル番号を使用して製品を登録するために、または製品と通信するためにその会社のアプリケーションによって使用され得る製品のシリアル番号を含むQRコードを、自身の製品上に印刷することができる。
【0003】
Wi-Fi (すなわち、IEEE 802.11ベース)を使用する無線ネットワークなどの無線ネットワークにデバイスを接続することは一般的である。接続されるべきデバイスが、ユーザインタフェイスを欠いているか、または非常に基本的なユーザインタフェイスしか有していない場合、接続のセットアップを支援するために別のデバイスを使用することが一般的である。セットアップまたは設定プロセスの一部には、ブーストラップが含まれる。一例はWi-Fi Easy Connectであり、デバイスプロビジョニングプロトコル(Device Provisioning Protocol: DPP)スキームをサポートし(Wi-Fi Allianceによって確立された[DPP] を参照)、QRコードを使用してWi-Fiデバイス間のセキュアなWi-Fi接続をブートストラップする。そのようなセットアッププロトコルは、通常、「コミッショニング」と呼ばれる。
【0004】
製品は、いくつかの異なるアプリケーション用にいくつかのQRコードを含むことができる。例えば、無線製品(例えばWi-Fi製品)は、Bluetooth Low Energy(BLE)製品、またはIEEE 802.15.4ベースの製品などである場合がある。そのような製品は、第1のコミッショニングプロトコル、例えばWi-Fi Easy ConnectによってWi-Fiネットワークに接続するための第1のQRコードと、Wi-Fiフレーム上のMatterのようなスマートホームネットワーク(SHS)のような別のネットワークにおいて第2のコミッショニングプロトコルによって登録するための第1のQRコード以外の第2のQRコードとを必要とする場合がある。しかしながら、ユーザは、どのQRコードがどのアプリケーションのために使用されるべきかを理解しなければならないので、ユーザが特定のアプリケーション、例えばコミッショニングプロトコルのために正しいQRコードをスキャンすることは問題となる可能性がある。さらに、Wi-Fi Easy ConnectおよびSHSの両方をサポートする無線製品の場合、この製品は、Wi-Fi Easy ConnectおよびSHSの両方のコミッショニングプロトコルも実装する。両方のコミッショニングプロトコルは、Wi-Fiフレームに依存するか、またはWi-Fiフレーム上で交換されるので、製品は、コミッショニングツールによってトリガされる初期のインタラクションに基づいて、どのコミッショニングプロトコルを使用する必要があるかを選択する必要がある。しかしながら、この挙動は定義されていない。同様の問題は、同じ無線インタフェイス上で2つ以上のコミッショニングプロトコルを実装する他の無線製品にも現れる。
【0005】
さらに、そのような状況では、複数のQRコードに含まれる情報がアプリケーションのうちの1つによって必要とされる場合があり、その結果、単一のQRコードのスキャンでは十分ではない。実際、関連する情報をそれぞれが含むいくつかのQRコードをスキャンする必要がある事例がますます増えている。各QRコードをスキャンすることは非効率的で時間がかかり、単一のスキャン動作は遥かに迅速である。そのような例の1つは、グループで旅行する乗客のためのドキュメンテーションチェックである。個々人についてのQRコードのスキャンは、行列の著しい延長および関与する全ての人にとってのフラストレーションにつながるだろう。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的は、アプリケーションに関する複数の目的の情報をQRコードに格納し、アプリケーションの各側面のそれぞれの情報を、信頼性があり、かつ時間効率の良い方法で個別に読み出すことができるようにすることである。本発明のさらなる目的は、QRコードから読み出された情報に基づいて、同じ通信インタフェイス上で動作するコミッショニングプロトコルの動作を調整することである。
【課題を解決するための手段】
【0007】
装置上で実行するようにアプリケーションプログラムを設定する方法が提供され、当該方法は、 第1のアプリケーションプログラムを使用してQRコードを読み取るステップであって、 前記QRコードは少なくとも2つのデータコンテナを含む、ステップと、QRコード内の第1のデータコンテナから第1の情報を抽出して、 前記第1の情報を使用して第2のアプリケーションプログラムをダウンロードするステップと、QRコード内の第2のデータコンテナから第2の情報を抽出するステップであって、第2の情報には、第2のアプリケーションプログラムの設定パラメータが含まれる、ステップと、前記設定パラメータを使用して第2のアプリケーションプログラムを設定するステップとを有する。
【0008】
一態様では、第1の情報は、アプリケーションプログラムリポジトリを特定する情報を含む。その情報はURLを含むことができる。
【0009】
一態様では、第2のアプリケーションプログラムは、異なる装置上にインストールされる。
【0010】
一態様では、第1のアプリケーションプログラムは、QRコード内の少なくとも2つのデータコンテナを読み取るように構成される。
【0011】
一態様では、アプリケーションプログラムリポジトリに提供されるURLは、アプリケーションプログラムリポジトリによって無視されるように構成される部分を含む。
【0012】
一態様では、第2の情報は、抽出後に装置上に記憶情報として記憶され、記憶情報は第2のアプリケーションプログラムによって使用される。
【0013】
一態様では、第2の情報は、第1のアプリケーションプログラムに、装置に第2の装置との接続を開始させるように構成される。
【0014】
一態様では、第2の情報は、装置がネットワークインタフェイスを介して第2の装置から設定パラメータを取得することを可能にする。
【0015】
一態様では、設定パラメータを使用するためのプロシージャがQRコード自体の中に符号化される。
【0016】
一態様では、アプリケーションプログラムは、設定SHSアプリケーションとして使用されるように構成される。
【0017】
一態様では、第2のアプリケーションプログラムは、DPPコンフィギュレータとして使用されるように構成される。対応して、第2の情報は、装置のためのDPP公開鍵を含むことができる。
【0018】
一態様では、第2のアプリケーションプログラムはIoT装置を設定し、第2の情報は、デバイスの識別子、MUDファイル、装置のネットワーキングアドレス、および装置の暗号鍵のグループから選択されたものうちの少なくとも1つを含む。
【0019】
一態様では、第2のアプリケーションプログラムは、無線ネットワークを介して取得される。
【0020】
一態様では、第1のアプリケーションプログラムは、カメラアプリケーションプログラムであるか、またはカメラアプリケーションプログラムの機能である。
【0021】
QRコードに符号化された情報を復号するように構成された機器が提供され、QRコードは複数のデータコンテナを有し、複数のデータコンテナのうちのデータコンテナはコミッショニングアプリケーションプログラムの取得を可能にするように構成された情報を含み、データコンテナはコミッショニングアプリケーションプログラムの設定を可能にする情報を含む。
【0022】
関連するQRコードを有する装置が提供され、QRコードは、別個の装置がコミッショニングアプリケーションプログラムおよび装置に関する設定情報を取得することを可能にするように構成された情報を含み、コミッショニングアプリケーションプログラムは、別の装置が当該装置とのコミッショニングプロトコルを実行することを可能にするように構成され、コミッショニングプロトコルは、ネットワークへの接続のためにデバイスを設定するように構成され、設定情報は、コミッショニングアプリケーションプログラムによって使用されるように構成される。
【0023】
少なくとも上述のような機器と、上述のような第1の装置と、第2の装置とを含むシステムが提供され、この機器は、コミッショニングプログラムを使用して、QRコード内の情報に基づいてコミッショニングアプリケーションプログラムの取得および設定をトリガし、第1の装置との第1のコミッショニングプロトコルを実行するように適合され、コミッショニングプロトコルの成功裏の完了によって、第1の装置が第2の装置に接続することが可能になる。
【0024】
コンピューティング装置のためのコンピュータプログラム製品が提供され、コンピュータプログラム製品は、コンピュータプログラム製品がコンピューティング装置の処理ユニット上で実行されるとき、コンピューティング装置が上述の方法を実行するように構成されるように、プログラム命令またはコード手段を備える。
【0025】
QRコードに格納するために情報を符号化する方法が提供され、当該情報は、アプリケーションプログラムの取得に関するアプリケーション情報と、アプリケーションプログラムの設定に関する設定情報とを含み、当該方法は少なくとも、情報を受信するステップと、情報を符号化データに符号化するステップとを含み、符号化データは少なくともヘッダおよびそれぞれのデータコンテナを含み、アプリケーション情報および設定情報はそれぞれのデータコンテナ内に符号化され、ヘッダは、アプリケーションの存在を示す少なくとも単一の識別子と、アプリケーション情報および設定情報のためのそれぞれのアプリケーション識別子とを含む。
【0026】
本発明の好ましい実施形態は、従属請求項又は上記の実施形態及びそれぞれの独立請求項との任意の組み合わせであることができることを理解されたい。
【0027】
本発明のこれら及び他の態様は、以下に記載される実施形態から明らかになり、それらを参照して説明される。
【図面の簡単な説明】
【0028】
本出願をより良く理解するために、ここで、例として添付の図面を参照する。
【
図1】従来の実施形態に係るバージョン7のQRコードシンボルの構造を示す図。
【
図2】本発明の実施形態による例示的な符号化手順を説明する概略フローチャート。
【
図3】本発明の実施形態による2つのアプリケーションのための符号化データへのQRコードのデータピクセルの概略的な割り当てを示す図。
【
図4】本発明の実施形態による3つのアプリケーションのための符号化データへのQRコードのデータピクセルの概略的な割り当てを示す図。
【
図5】本発明の実施形態によるピクチャの存在下での2つのアプリケーションのための符号化データへのQRコードのデータピクセルの概略的な割り当てを示す図。
【
図6】本発明の実施形態による例示的な復号手順を説明する概略フローチャート。
【
図7】本発明の実施形態による別の例示的な復号手順を説明する概略フローチャート図。
【
図8】本発明の実施形態による別の例示的な復号手順を説明する概略フローチャート。
【
図9】本発明の実施形態による複数のアプリケーションの情報を符号化してQRコードを作成することが可能なデバイスの概略ブロック図。
【
図10】本発明の実施形態によるコミッショニングのための概略システムを示す図。
【
図11】従来の実施形態によるコミッショニングプロトコルを示す図。
【
図12】本発明の実施形態によるコミッショニングプロトコルを示す図。
【
図13】本発明の実施形態によるコミッショニングプロトコルを示す図
【
図14】本発明の一実施形態によるQRコードの単一スキャンによる読み取りおよび処理のためのシステムを示す図。
【
図15】一実施形態によるQRコードを使用するプロシージャの概略フロー。
【発明を実施するための形態】
【0029】
本発明の実施形態は、QRコード、特に複数のアプリケーションまたは実装を扱うことができるQRコードに基づいて説明される。
【0030】
国際標準化機構(ISO)は、次のようにQRコードの規格化されたシンボル構造を定義する、"Information technology - Automatic identification and data capture techniques - QR code bar code symbology specification"という名称のQRコードのための規格ISO/IEC18004:2015を確立した。QRコードシンボルは、モジュールと呼ばれる、明るい正方形および暗い正方形の2次元アレイとして構築される。バージョン1 からバージョン40 までの40種類のサイズのQRコードシンボルバージョンがある。各QRコードシンボルバージョンは異なる数のモジュールから構成され、したがって、異なるQRコードバージョンは異なるデータ容量を生じさせる。規格ISO/IEC18004:2015の段落6.3.1の
図3から、本出願の
図1は、符号化領域1(フォーマット情報、バージョン情報、データコードワード及び誤り訂正符号語などを含む)、機能パターン2(すなわち、ファインダ、セパレータ、タイミングパターン及びアライメントパターン)からなるバージョン7のQRコードシンボルの構造を示す。機能パターンはデータを符号化せず、そのシンボルは、4つの辺全てにおいてクワイエットゾーン3として示される空の領域によって囲まれる。
【0031】
メッセージデータは、コードワードのシーケンスに分割されるビットストリームとして符号化される。全てのコードワードは8ビット長である。コードワードは、QRコードバージョンおよび誤り訂正レベルに基づいて、いくつかの誤り訂正ブロックにグループ化され、適切な数の誤り訂正コードワードが各ブロックのために生成される。誤り訂正メカニズム(ECM)は、シンボルの一部が汚れているかまたは損傷している場合に、メッセージの正しい復号を可能にする。規格ISO/IEC18004:2015のQRコードは、誤り検出及び訂正のためにリードソロモン誤り制御符号を使用する。リードソロモン符号は[n, k, n-k + 1]符号であることが知られており、すなわち、次元kおよび(有限体にわたる)長さnの線形ブロック符号であり、最小ハミング距離がn-k + 1に等しい。(任意のMDS符号などの)リードソロモン符号は、誤り(すなわち、未知の位置における誤ったコードワード)の2倍の数の消失(すなわち、既知の位置における誤ったコードワード)を訂正することができ、誤りおよび消失の任意の組合せは、関係2E + S≦n-kが満たされる限り訂正することができ、ここで、Eはブロック内の誤りの数であり、Sはブロック内の消失の数である。これらのECMのさらなる例は、ハミングコードまたは低密度パリティチェックコードを含むことができる。ユーザが選択することができる4つの誤り訂正レベルL、M、Q、Hがある。各レベルは異なる誤り訂正能力を提供し、Lは7%まで、Mは15%まで、Qは25%まで、Hは30%までである。より高い誤り訂正レベルは回復能力を改善するが、符号化データの量、またはパリティシンボルの量も増加させる。これは、同じメッセージがより高い誤り訂正レベルを使用して符号化される場合、より大きなQRコードバージョンが必要とされることを意味する。データコードワード、誤り訂正ブロック及び誤り訂正コードワードの数は、QRコードバージョン及び誤り訂正レベルに依存する。
【0032】
本発明の例示的な実施形態では、オブジェクト、製品またはデバイスに添付された第1のQRコードは、複数のアプリケーション(または実装)のための符号化データを格納するために使用される。単一のアプリケーションのための符号化データを格納するQRコードと区別するために、「マスタQRコード」という用語は、第1のQRコード、すなわち、複数のアプリケーションのための符号化データを格納するQRコードを互換的に表すために、説明において使用され得ることに留意されたい。第1のQRコードは、符号化された形で複数のアプリケーションの情報を含むことができる。「アプリケーションのための」という表現は、本明細書では「アプリケーションと共に使用するように構成された」を意味すると理解される。
【0033】
それぞれのアプリケーションの情報は、例えば、非網羅的な態様で以下の少なくとも1つを表すことができる任意の文字のセットであることができる: アプリケーションの名称(「X社へのURL」、「Wi-Fiネットワーク設定」など)、 それぞれのアプリケーションを一意に識別する識別子、 OAの設定データ、そのQRコードやアプリケーションに使用するアプリやプログラムのURL、 それぞれのアプリケーションのためのQRの位置(例えば、「緑の矢印で示されたQRコード」、「青い四角形で示されたQRコード」、「オン/オフスイッチの右のQRコード」)。
【0034】
符号化された情報からの符号化されたデータは、少なくともヘッダと、アプリケーションごとのそれぞれのデータコンテナとを含むことができる。ヘッダは、複数のアプリケーションの存在を示す単一の識別子と、複数のアプリケーションのカウントと、アプリケーションごとのそれぞれのアプリケーション識別子とを含むことができる。単一の識別子は、複数の(特定の)アプリケーション、例えば、Wi-Fi Easy ConnectおよびSHSに関連する2つのアプリケーションの存在を暗黙的に示すことができる。データコンテナは、アプリケーションのアプリケーションデータを含むことができ、アプリケーションデータを格納するために予約された第1のQRコードのデータピクセルを指すことができる。追加の実施形態では、データコンテナは、アプリケーションデータを格納するために使用される第1のQRコード内の物理的位置を指すこともできる。データコンテナは、アプリケーションに関連付けられたデータを含むビット列の一部を指すこともできる。
【0035】
なお、本発明において、「データピクセル」とは、QRコードにおける格納単位をいう。例えば、「データピクセル」がQRコード内の最小の可能な格納単位である場合、それは、ある量のビット、例えば1ビットを格納することのみが可能である。「データピクセル」がDビットを格納することができるQRコードにおいてbビットを記憶することができるデータ格納単位を指す場合、QRコードは、D/b「データピクセル」を格納することができる。したがって、「データピクセル」という用語は、「画像ピクセル」という用語と混同されるべきではない。例えば、QRコードの画像は、カメラによるキャプチャ時の画像ピクセルからなり、1つまたは複数のピクチャピクセルのグループは、それぞれのデータピクセルを表し得る。
【0036】
それぞれのECM(例えば、リードソロモン符号、ハミング符号、低密度パリティチェック符号など)は、アプリケーションごとにそれぞれのデータコンテナの符号化データにおける任意の誤りを訂正するために、アプリケーションごとに各データコンテナに含まれることができ、それによって、単一よりも多くのアプリケーションで使用するための符号化データを含む第1のQR符号におけるアプリケーションデータの高速読み取りを可能にする。特に、OAiによって示されるそれぞれのアプリケーションがアプリケーションデータDiを符号化することを必要とする場合、ECMは、DiをコードワードCiにマッピングするために使用される。ECMは、Ciに何らかの誤りを含む場合であっても、CiからDiを取り出すことができる。まず、アプリケーションデータDiをb個のブロックに分割し、合計b個のコードワードを得ることができる。アプリケーションデータに引き起こされる損傷のリスクを低減するために、これらの異なるコードワードのビットまたはシンボルはインターリーブされ、すなわちミックスされることができ、したがって、(例えば、QRコードの物理的エリアに引き起こされる損傷に起因して)誤りのバーストが発生する場合、誤りは複数のコードワードにわたって分散される。
【0037】
オプションの実施形態では、それぞれの誤り検出機構(EDM)(例えば、巡回冗長検査(CRC)、パリティ検査、チェックサムなど)またはそれぞれの誤り訂正機構(ECM)が、アプリケーションごとに各データコンテナの符号化データの誤りを検出または訂正するために、アプリケーションごとに各データコンテナに含まれることができる。
【0038】
オプションの実施形態では、符号化データは、1つまたは複数の他のデータコンテナ内の情報に基づいてデータコンテナ内の誤りを検出するために、複数のアプリケーションの全てのアプリケーションによって共有される全体的なEDMを含むことができる。
【0039】
オプションの実施形態では、符号化データは、1つまたは複数の他のデータコンテナ内の情報に基づいてデータコンテナ内の任意の誤りを訂正するために、複数のアプリケーションの全てのアプリケーションによって共有される全体的なECMを含むことができる。
【0040】
図2は、本発明の例示的な実施形態による、第1のQRコードに格納するための複数のアプリケーションの情報を符号化する例示的な符号化方法を説明する概略フローチャート200を示す。
【0041】
ステップ210において、複数のアプリケーションの情報が収集される。
【0042】
ステップ220において、情報は符号化データへと符号化され、符号化データは少なくともヘッダとアプリケーションごとのそれぞれのデータコンテナとを含む。ヘッダは、複数のアプリケーションの存在を示す単一の識別子と、複数のアプリケーションのカウントと、アプリケーションごとのそれぞれのアプリケーション識別子とを含むことができる。
【0043】
図2の上記の符号化方法を参照する詳細な例では、各アプリケーションがデータコンテナに関連付けられている複数のアプリケーションの情報は、第1のQRコードに格納するために、全てのデータコンテナおよびヘッダによって共有されるECMと、オプションとしてEDMとを使用して、以下の例示的な方法に従って、上記の符号化データへと符号化されることができる。この例では、単一のQRコードが複数のアプリケーションへの情報を含むことができることに留意されたい。
【0044】
第1のステップでは、第1のQRコード(すなわち、マスターQRコード)に関連する入力データが収集される。そしてこの入力データは、複数のアプリケーションのカウントと、アプリケーションごとのそれぞれのアプリケーション識別子とを少なくとも含むことができる。OA1、・・・、OANとして参照されるN個のアプリケーションの例では、ヘッダデータ(HD)と呼ばれるこれらの入力データは、N, OA1, ・・・、 OANのように構成されることができる。それぞれのアプリケーション識別子は、例えばそれらを登録または標準化することによって、それぞれ一意であることに留意されたい。識別子OA1およびOA2を有する2つのアプリケーションの例では、ヘッダのコンテンツは、"2, OA1, OA2"として明示的に構造化されることができ、あるいは、暗黙的に"2, OA1,OA2"を意味する単一の識別子(ID)がヘッダに含まれることができる。
【0045】
なお、上記の入力データは、アプリケーション毎に何ビットのデータが格納されているかについての情報を与えない。この場合、前述のように、所与の格納容量を有するQRコードについて、QRコードリーダは、利用可能なそれぞれのアプリケーションの数の間で格納容量が等しく分割されると仮定する必要があるだろう。これは、例えば、1つのアプリケーションが非常にわずかなデータ格納しか必要とせず、別のアプリケーションがはるかに多くの、特に所与のQRコードタイプの格納容量の半分をわずかに超えるデータ格納を必要とする場合、リソースの浪費につながる可能性がある。この場合、その長さが含まれない場合、これらの2つのそれぞれのアプリケーションは、より大きいQRコードで符号化される必要がある。この問題を回避するために、オプションの実施形態では、ヘッダデータ(HD)は、各アプリケーションについての長さのパラメータも含み、したがって、N, OA1, ...、 OAN, L1,...、 LNのように構成されることができる。
【0046】
第2のステップでは、N個のそれぞれのアプリケーションのそれぞれについて、それぞれのアプリケーションOAiのアプリケーションデータDi(すなわちDi内の文字)が収集される。
【0047】
第2のステップの第1のサブステップにおいて、Diからのそれぞれのビットストリームデータ(BSD)(すなわち、Diからの入力ビット列BSDi)が計算される。なお、この入力ストリングは、各アプリケーションOAiに関するヘッダデータ(HD)の部分、例えば、各アプリケーションOAiのOAi識別子及びN個のアプリケーションのリストにおける位置、又は各アプリケーションOAiの長さLiを含むことができる。このHD情報を入力ビット列BSDiに含める利点は、それぞれのアプリケーションに関連するECMおよびオプションとしてEDMによって、HD情報を誤りから保護することである。言い換えれば、それぞれのアプリケーションのアプリケーションデータ内のパリティビットは、ヘッダ内の特定のフィールドを保護することができる。さらに、ヘッダの信頼性を高めるために、2つのオプションが、単独でまたは組み合わせて、提案されることができる。第1のオプションでは、ヘッダが入力ビット列BSDiにアクセスする前に任意の誤りが訂正され得るように、ヘッダがそれ自体の誤り訂正能力を含むことができる。第2のオプションでは、ヘッダ情報は、例えば、1つ、2つまたは3つの「眼」または「位置マーカ」または「3つのコーナーにおけるスクエア中のスクエア」に近いピクセルに物理的に格納されることができる。その理由は、これらの位置マーカがQRコードを識別して位置決めするために必要とされるからである。これは、
図1に示されるフォーマット情報やバージョン情報に類似する。したがって、位置マーカが除去されるか破損している場合、QRコードはいずれにしても読み取ることができない。しかしながら、ヘッダ情報が例えば1つまたは複数の位置マーカに近いいくつかの既知の物理的位置に配置される場合、ヘッダ情報が読み取られる可能性が増大する。
【0048】
第2のステップの第2のサブステップにおいて、誤り検出ビット列EDi、例えばEDMがCRCベースである場合にはCRCが、入力ビット列BSDiからオプションとして計算される。
【0049】
第2のステップの第3のサブステップでは、潜在的な誤りを拡散するためにEDiおよびBSDiをインターリーブすることによって、IBSDiによって表されるインターリーブされた入力ビット列BSDiがオプションとして取得される。インターリーブが行われるかどうか、およびどのように行われるかをQRコードリーダが知らなければならないことに留意されたい。これは規格に基づくことができ、または例えば、ヘッダ内に明示的または暗黙的に格納されることができる。これは、本発明の他の実施形態における他のインターリーブステップにも当てはまる。
【0050】
第2のステップの第4のサブステップにおいて、インターリーブされた入力ビット列BSDiを1つ以上の8ビットデータコードワードのシーケンスに分割し、ECM(例えば、リードソロモン符号)を処理できるようにデータコードワードシーケンスを(QRコードのバージョンおよび誤り訂正レベルL、M、Q、Hに応じて)必要な数のブロックに分割し、各ブロックのために1つ以上の8ビット誤り訂正コードワードを生成し、誤り訂正コードワードをデータコードワードシーケンスの末尾に付加するかまたは誤り訂正コードワードをデータコードワードシーケンスの任意の適当な場所に挿入することによって、1つ以上の8ビットコードワードCiが計算される。
【0051】
この第4のサブステップは、OAごとに誤り訂正能力があることを明らかにすることに留意されたい。2つのアプリケーションOA1, OA2のアプリケーションデータを、全てのアプリケーションデータに使用される単一の誤り訂正ビット列とともに格納する場合、トータルの格納要件は、D = D1 + D2 + PBとなり、ここで、D1およびD2はそれぞれOA1およびOA2のアプリケーションデータを指し、PBは2つ全てのアプリケーションOA1およびOA2のパリティビットを指し、誤り訂正のために必要とされる。対照的に、現在の第4のサブステップにおいて、例えば、2つのアプリケーションOA1, OA2のアプリケーションデータを格納しなければならない場合、OA1およびOA2のそれぞれのアプリケーションデータに適用される誤り訂正ビット列が存在する。つまり、トータルの格納要件は、Dではなく、D' = D1 + D2 + PB1 + PB2 になる。ここで、D1 とD2 はそれぞれOA1 とOA2 のアプリケーションデータを指し、PB1 はアプリケーションOA1 のパリティビットを指し、PB2 はアプリケーションOA2 のパリティビットを指す。D'はDより大きいかもしれないが、QRコードリーダはアプリケーションOA1に関心がある場合にはD1 + PB1のみを読み取るだけでよく、アプリケーションOA2に関心がある場合にはD2 + PB2のみを読み取るだけでよいので、この合計D1 + PB1またはD2 + PB2はDより小さくなると予想される。
【0052】
第2のステップの第5のサブステップでは、1つまたは複数の8ビットコードワードCiは、オプションとして、それぞれのアプリケーションOAiのためのインターリーブされたコードワードICiを得るために、それ自体と、IBSDiと、またはそれらの組み合わせと、インターリーブされる。
【0053】
上記のサブステップは、異なる順序で実行され得ることに留意されたい。例えば、第4のサブステップは第2のサブステップの次でもよく、第3のサブステップは第4のサブステップの後でもよい。
【0054】
第3のステップでは、N個のアプリケーションOA1, ...、OANのそれぞれに対するそれぞれのインターリーブされたコードワードICi、および、上記入力ストリングがそれぞれのアプリケーションOAiに関連するHDの一部も含む場合にはオプションとしてヘッダデータ(HD)を所与として、IC1,...、 ICNの、およびオプションとしてHDの連結TICが得られる。
【0055】
第3のステップの第1のサブステップでは、オプションとして、第2のEDMを適用してTICの誤りを検出できるようにする誤り検出ビット列ED(例えば、CRC)を計算し、この誤り検出ビット列EDをICに付加することによって、EDTIC= TIC | EDが得られる。
【0056】
第3のステップの第2のサブステップにおいて、IEDTICは、オプションとして、、任意の潜在的な誤りを拡散するためにEDおよびTICをインターリーブすることによって得られる。一例では、インターリービングは、各IC内のEDの一部および/または各IC内のED全体をインターリーブすることができる。
【0057】
第3のステップの第3のサブステップにおいて、パリティビット(PB)は、オプションとして、IEDTIC上で、およびオプションとしてHD|IEDTIC上で、1つまたは複数の8ビットコードワードを計算するために第2のECMを適用することによって取得される。第2のECMはICi自体を変更してはならないことに留意されたい。例えば、第2のECMは、IEDTICに付加されることができるパリティビット(PB)を計算することからなる。
【0058】
第3のステップの第4のサブステップでは、第2のECMによって計算されたパリティビット(PB)は、オプションとして、各アプリケーションOAiのためのそれぞれのインターリーブされたコードワードICiの間で(例えば、インターリーブによって)分散される。例えば、k個のパリティビット(PB)が取得され、2つのアプリケーションOA1およびOA2があると仮定すると、k個のパリティビットは、これらの2つのアプリケーションOA1およびOA2に関連するデータコンテナ中に分散されることができる(例えば、OA1に関連するデータコンテナに対してk-xビットと、OA2に関連するデータコンテナに対してxビット)。例示的な変形例では、k個のパリティビットが両方のデータコンテナに格納されることができる。アプリケーションごとにデータコンテナに格納されるように選択されたパリティビット(PB)は、それぞれのアプリケーションのICi上で分散される。
【0059】
例示的な実施形態では、アプリケーションごとのECM(すなわち、データコンテナごとのECM)は、複数のアプリケーションの全てのアプリケーションによって共有される単一のECM(例えば、第2のECM)よりも低い誤り訂正レベルで構成されることができる。例えば、誤り訂正の既知のレベルL、M、Q、Hのリストから、アプリケーションごとのECMは最低の誤り訂正レベルLを有することができ、一方、複数のアプリケーションの全てのアプリケーションによって共有されるECMは最高の誤り訂正レベルHを有することができる。第1のQRコードがリードソロモン誤り制御コード化を使用する場合、4つの誤り訂正レベルL、M、Q、Hはそれぞれ約7%、15%、25%、30%の回復能力を提供する。これは、より少ないアプリケーションデータが関与するので、それぞれのアプリケーションのアプリケーションデータの迅速な読み取りを可能にすることができる。
【0060】
オプションの実施形態では、符号化データの一部または全体が、割り当て規則に従って、第1のQRコードにわたって、より正確には第1のQRコードの符号化領域にわたって分散された複数のデータピクセルに分散して格納されることができる。
【0061】
第1のQRコードのデータ格納リソースが制限される例では、符号化データは、符号化データの全体が第1のQRコードに格納される代わりに、符号化データの一部が第1のQRコードに格納され、残りの部分が第2のQRコードに格納されるように、複数の異なるQRコード、例えば、第1のQRコードおよび第2のQRコードに格納され得る。この場合、マスタQRコードとしての第1のQRコードは、マスタQRコードに対する他のQRコード(例えば、第2のQRコード)の位置を示す、ユーザが理解可能な印刷パターンをその内部に含むことができる。一例では、ユーザが理解可能なパターンは、他のQRコードの各々(例えば第2のQRコード)を指す1つまたは複数の(着色された)矢印であるか、またはマスタQRコードおよび全ての他のQRコード(例えば第2のQRコード)を表す(着色または番号付けされた)矩形を有する一種のチェッカーボードであることができる。
【0062】
第1のQRコードの符号化領域にわたって符号化データを分散的に格納するためのこれらのデータピクセルの決定は、異なる割り当て規則に従って実行され得る。なお、ヘッダデータは、符号化データと同様に分散されることができる。
【0063】
第1のQRコードがAおよびBによって示される2つのアプリケーションのアプリケーションデータを含み、データ容量がアプリケーションAおよびBのためのそれぞれのデータコンテナの両方の間で均等に共有されると仮定すると、例示的な割り当て規則は、
図3に示されるように、第1のQRコード(の符号化領域)内の交互のデータピクセルにおいて、アプリケーションAおよびBのためのそれぞれのデータコンテナの符号化されたデータを格納すること(すなわち、符号化されたアプリケーションデータだけでなく、パリティビット、EDMビットまたはECMビットも格納すること)を含むことができる。
【0064】
第1のQRコードがA、BおよびCで表される3つのアプリケーションのアプリケーションデータを含み、データ容量がアプリケーションA、BおよびCのための3つのそれぞれのデータコンテナの間で均等に共有されると仮定すると、例示的な割り当て規則は、
図4に示されるように、第1のQRコード(の符号化領域)のデータピクセルにおいて、アプリケーションA、BおよびCのためのそれぞれのデータコンテナの符号化データを格納すること(すなわち、符号化されたアプリケーションデータだけでなく、パリティビット、EDMビットまたはECMビットも格納すること)を含むことができる。
【0065】
この例示的な割り当て規則は、QRコードの特定の部分における損傷が、それぞれのアプリケーションのための符号化されたデータまたはこれらの符号化されたデータの高い割合を損傷しないことを保証する。
別の例示的な割り当て規則では、アプリケーションごとのそれぞれのデータコンテナの符号化データを格納する第1のQRコード内の特定のデータピクセルは、例えば以下のように計算されることができる:
【0066】
(1)データピクセルがそのデカルト座標(i, j)によって識別される場合、
【0067】
(2)座標系(I, J)内の識別子(i, j)を有するデータピクセルは、アプリケーションごとにそれぞれのデータコンテナの符号化データを格納するために使用される
【0068】
(3)第1のQRコードはMxM個のデータピクセル(または要素)を有し、かつ
【0069】
(4)同じ量のデータピクセル(または要素)が、全てのアプリケーションの符号化データに割り当てられる
【0070】
(5)そして、アプリケーション番号k(0≦k≦N-1)に関連付けられた符号化データは、例えば、以下の関係式(1)を満たすデータピクセルに格納されることができる:
(i*M + j) (mod N) = k with (i,j) in (I,J) (1)
【0071】
それぞれのアプリケーションが異なる格納要件を有する場合、データピクセルの割り当ては、これを考慮に入れることができる。特に、N個のアプリケーションが、アプリケーションごとにそれぞれのデータコンテナの符号化データのためにL1, L2, ・・・、 LNビットの長さパラメータを必要とする場合、以下の関係式(2)によって与えられるように、それらの全てを最小のもので除算し、その結果をRoundUp()関数によって上に丸めることによって、長さを正規化することが必要とされる:
NL1, NL2, ..., NLN = RoundUp(L1/Lmin), RoundUp(L2/Lmin), ..., RoundUp(LN/Lmin) (2)
【0072】
RoundUp()関数の使用は、いくつかのまたは全てのそれぞれのアプリケーションにいくつかのダミービットを付加する必要があることを意味することに留意されたい。ダミービットの内容は、例えば、誤り訂正能力が改善されるように、またはクロック再生が改善されるように、選択されることができる。明確にするために、クロック再生は、QRコードの全てのピクセルを取得するために、場合によっては(光学的に)歪み、場合によっては回転されたQRコードを含む画像をどこでサンプリングするかを決定することを意味する。QRコードの両方向にランレングス制限を実施することによって、QRコードのデータピクセル間の境界がどこにあるかの推定を改善することができる。したがって、例えば、ダミービット領域内のQRコードのデータピクセルのチェッカーボードパターンを作成することによって、特定の閾値を上回る両方向の長いランレングスが防止されるかまたはさらに良好であるように、かつ、両方向のランレングスが最小化されるように、ダミービットが選択されるべきである。これは、QRコードが曲面に印刷される場合に特に有用である。
【0073】
別の例示的な割り当て規則では、第1のQRコードのデータピクセルを使用して、N個の異なるアプリケーション(1からNまでインデックス付けされる)のためのそれぞれのデータコンテナの符号化データを連続ラウンドで格納することができる:
【0074】
ラウンド1:
第1のアプリケーションのための符号化データの最初のNL1ビットが第1のQRコードの最初のNL1ビットに格納され、第2のアプリケーションのための符号化データの最初のNL2ビットが第1のQRコードの次のNL2ビットに格納され、 ...、第Nのアプリケーションのための符号化データの最初のNLNビットが第1のQRコードの次のNLNビットに格納される;
【0075】
ラウンド2:
第1のアプリケーションについての符号化データの次のNL1ビットが第1のQRコードの次のNL1ビットに格納され、第2のアプリケーションについての符号化データの次のNL2ビットが第1のQRコードの次のNL2ビットに格納され、 ...、第Nのアプリケーションについての符号化データの次のNLNビットが第1のQRコードの次のNLNビットに格納される;
【0076】
ラウンドi:
第1のアプリケーションのための符号化データの次のNL1ビットが第1のQRコードの次のNL1ビットに格納され、第2のアプリケーションのための符号化データの次のNL2ビットが第1のQRコードの次のNL2ビットに格納され、 ...、第Nのアプリケーションのための符号化データの次のNLNビットが第1のQRコードの次のNLNビットに格納される。
【0077】
別の例示的な割り当て規則では、アプリケーションごとのそれぞれのデータコンテナの符号化データを格納する第1のQRコード内の特定のデータピクセルは、例えば以下のように計算されることができる:
(1)データピクセルがそのデカルト座標(i, j)によって識別される場合、
(2)座標系(I, J)内の識別子(i, j)を有するデータピクセルは、アプリケーションごとにそれぞれのデータコンテナの符号化データを格納するために使用される
(3)QRコードはMxMピクセル(または要素)を有する
(4) SNL_k = NL1 + NL2 + ...+ NLkを定める。ここで、k = 1、2, ...、Nであり、NL1, NL2, ...、NLNは関係式(2)によって与えられるようにそれぞれのアプリケーションのための符号化データの正規化された長さである
(5)そして、SNL_kに基づいて、(i, J)におけるデータピクセル(または要素)(i, j)が、以下の関係式(3)に従ってアプリケーション番号kに関連付けられた符号化データに割り当てられる:
SNL_k ≦ (i*M + j) (mod SNL_N) < SNL_{k+1} (3)
【0078】
なお、関係式(2)は、最小の正規化された長さが1になることを意味する。関係式(1)に関連する上記スキームは、1のグループにおいてインタリーブする。ビットはまた、長さk(k>1)のグループにおいてインターリーブされ得ることに留意されたい。kビットの各々が1つのアプリケーションからのものである。各アプリケーションのビットは、QRコード内の領域、例えば正方形または長方形の領域にわたって分散され得る。例えば、上記の図の正方形は、1つのアプリケーションのデータピクセルを含む個々のデータピクセルまたは矩形領域を示すことができる。上述の式は、単一のデータピクセルのみではなく、s個のデータピクセルを有する矩形i, jを指し得る。領域は、形状が矩形でなくてもよく、むしろ別の形状、例えば三角形またはダイヤモンド形(すなわち、水平方向および垂直方向にその軸を有する4つのコーナーを有する菱形)を有することができることにも留意されたい。1ピクセル(すなわち1*1)より大きい矩形を有することは、両方の次元においてランレングスを制限することも可能にし、したがって、湾曲面またはしわの寄った面上のサンプリングエラーを最小限にすることに留意されたい。
【0079】
アプリケーションごとのそれぞれのデータコンテナの符号化されたデータのためにL1, ...、LNビットの異なる長さパラメータを必要とするアプリケーションを扱う別の方法は、以下の通りであり得ることに留意されたい:gが、L1, ...、LNの最大公約数、すなわちL1, L2, ...、LNの全てを除算する最大の整数を示すとする。ビットストリームはg個の部分に分割され、各部分は第1のアプリケーションからのL1/gビット、第2のアプリケーションからのL2/gビットなどを含む。各部分において、最初のL1/gビットは第1のアプリケーションに対応し、次のL2/gビットは第2のアプリケーションに対応し、以下同様である。例えば、N=3、L1=20、L2=30およびL3=40である場合、g=10である。10個のグループの各々は、ビットAABBBCCCCを有し、ここで、A、BおよびCは、それぞれの第1、第2および第3のアプリケーションからのビットを示す。変形例は、各部分において、各アプリケーションからの最初の1つのシンボルが配置され、次いで各アプリケーションからの2番目のシンボルが配置され、各部分に2つ以上のシンボルが配置される。この場合、上記のビットシーケンスAABBBCCCの代わりに、ビットシーケンスABCABCBCCが生成される。この他の方法の利点は、それが、上向きの丸めに起因するダミービットを導入しないことである。
【0080】
例示的な一実施形態では、これらの上記で計算されたデータピクセルに格納されるべきそれぞれのアプリケーションのための符号化データは、以下で定義されるような結合ビット列に対応することができる。第2のステップの第5のサブステップから導出される出力ビット列IC全体は、N個のアプリケーションの全てについて、アプリケーションOAi(i = 1, 2, ...、N)ごとのインターリーブされたコードワードICiの総数に対応する数のICを含むようになっている。第3のステップの第2および第3のサブステップでは、全てのアプリケーションに関連する誤り検出情報(EDI)および誤り訂正情報(ECI)がN個のアプリケーションの全てにわたって分散される。ICが長さLを有し、ECI/EDIが長さHを有する場合、全長は、Z = L + Hである。ECI/EDIのビットは、出力ビット列ICにおいて均等に分散され得る。これは、上述のように、LおよびHをJ = Min(L, H)で除算することによって正規化し、l = RoundUp(L/J)およびh = RoundUp(H/J)を得ることによって行うことができる。そして、ICおよびECI/EDIは、lビットおよびhビットのブロックに分割される。結合ビット列は、ICとECI/EDIのlビットブロックとhビットブロックを交互に連結することによって取得される。上記で計算されたデータピクセルに格納されるべき結合ビット列は、OAのICと、QRコード全体からのECI/EDIとを含むことができる。例えば、破損したQRコードに起因する誤り、またはQRコードの穴に起因する誤りのように、誤りがバーストで発生するという仮定の下では、この誤り訂正能力は、各アプリケーションのほんの一部のみが影響を受けるので、アプリケーションごとの完全訂正の高い可能性が維持されることを可能にすることに留意されたい。
【0081】
現在のプラクティスは、QRコード上に、グラフィック表現(例えば、文字、図形、画像、ロゴ、アイコン、デザイン、パターン、モデルなど)を重ね合わせることである(例えば、QRコード上の企業ロゴの画像)。これはユーザがQRコードの目的をより容易に識別するのを助け、例えば、ユーザが理解できる印刷パターン、例えば、文字Mを重ね合わせることによってマスタQRコードであるかどうかを識別するのを助ける。QRコードは誤り訂正メカニズムに依存しており、誤り訂正機能は、重ね合わされたグラフィック表現によってもたらされるあらゆる誤りを訂正するために使用されるため、グラフィック表現(例えば、画像)を重ね合わせ、それでも機能するQRコードを得ることは実現可能である。しかしながら、これはある程度は機能するが、いくつかの制限が存在し、例えば、重畳される画像は任意に大きくすることができず、なぜなら、さもなければ、利用可能な最も強い誤り訂正符号が適用されても訂正することができない多すぎる誤りが導入されるからである。この問題に対処する例示的な実施形態は、グラフィック表現が第1のQRコードの所与の物理領域内で第1のQRコードに重畳されるという指標を含む第1のQRコードに関連する。解決策としては、第1のQRコードの符号化領域のデータピクセルのうち、第1のQRコードにおいてグラフィック表現が占める領域と一致する領域を占めるものをデータ格納から除外することが考えられる。一例では、この指標はヘッダ情報に含まれることができ、例えば、第1のQRコードの1つ、2つ、または3つの「目」または「位置マーカ」、あるいは「3つのコーナーにおける正方形中の正方形」に近いデータピクセル、すなわち、グラフィカル表現画像が通常配置される第1のQRコードの中央領域に配置されていないデータピクセルに物理的に格納されることができる。
【0082】
一例では、この領域は、重畳されたグラフィック表現によって影響を受ける第1のQRコードのデータピクセルを列挙し、領域の中心、領域形状(例えば、円形、正方形、長方形、三角形、菱形など)、および領域形状のサイズまたは半径のうちの少なくとも1つを指定することによって、特定されることができる。
【0083】
一例では、指標は、グラフィック表現の存在を示すビット(すなわち0または1)で構成されることができ、重ね合わされたグラフィック表現が存在する場合、指標はさらに、グラフィック表現の形状(例えば、円に対して0、正方形に対して1)、および、数ビット、例えば3ビットで符号化されたグラフィック表現の(スケーリングされた)半径rで構成されることができる。半径は、例えば、QRコードバージョンに応じた固定値によってスケーリングされることができ、例えば、半径の値rは、ピクセルにおけるグラフィック表現の実際の半径がr*Fであるように、スケーリング因子Fによって乗算されることができる。この例示的な実施形態は複数の利点を有し、それらのうちの1つは、より大きなグラフィック表現をQRコードに重ね合わせることができることである。
【0084】
ヘッダがグラフィック表現の存在を示す場合、第1のQRコードの示された物理領域内のデータピクセルは、データを格納しないことに留意されたい。したがって、第1のQRコードはこれらのデータピクセルを使用してデータを格納せず、第1のQRコードがQRコードリーダによってスキャンされるとき、これらのデータピクセルはQRコードリーダによって無視される。したがって、これは第1のQRコードに格納することができる符号化データの量に影響を与えるが、これはまた、QRコードリーダの読取りプロセスを高速化する。
図3の例に基づいて、
図5は、画像が存在する場合に、データピクセルがアプリケーションAとBのアプリケーションデータに交互に割り当てられる様子を示している。 この技法は、単一のアプリケーションを格納するQRコードにも適用可能であることに留意されたい。
図5は、第1のQRコードの中央の25個のデータピクセルによって占められる領域と一致する領域を持つ画像の存在を示し、画像の中心は文字「CI」のグループによって示され、画像によって占められる領域の他のデータピクセルは文字「I」によって示される。画像を挟んだ2つの "連続した "データピクセル同じアプリケーションAまたはBのアプリケーションデータに割り当てられる可能性があるとしても、画像の存在は、画像の領域と一致しない領域のデータピクセルの初期の割り当てを変更しないことがわかる。
【0085】
前述のように、各データコンテナ内でECMおよびオプションとしてEDMを使用する例示的な方法は、第1のQRコード内に格納するための複数のアプリケーションの情報を符号化データ内に符号化するように説明されている。
【0086】
本発明の例示的な実施形態では、QRコードリーダが第1のQRコード(すなわち、マスタQRコード)に格納されたアプリケーションごとのこれらの符号化データをスキャンし、選択的に読み取ることができる。これは、複数のアプリケーションのうちのそれぞれのアプリケーションの情報を復号する例示的な方法600によって達成することができ、情報は第1のQRコード中に符号化データとして格納され、符号化データは、少なくともヘッダとアプリケーションごとのそれぞれのデータコンテナとを含む。
図6に概略的に記載された例示的な方法600は、少なくとも以下のステップを含むことができる:
【0087】
ステップ602において、第1のQRコードのヘッダを読み取る。ヘッダは、複数のアプリケーションの存在を示す単一の識別子と、複数のアプリケーションのカウントと、アプリケーションごとのそれぞれのアプリケーション識別子とを含む;
【0088】
ステップ604において、ヘッダから、複数のアプリケーションの存在を示す単一の識別子を使用することによって、第1のQRコードを識別する;
【0089】
ステップ606において、ヘッダからそれぞれのアプリケーションを識別する。例えば、QRコードリーダは、それぞれのアプリケーション識別子に対応する事前構成されたアプリケーション識別子を格納することができる;
【0090】
ステップ608において、例えば、それぞれのアプリケーション識別子がQRコードリーダのディスプレイ上に現れる位置に基づいて、それぞれのアプリケーションに関連するそれぞれのデータコンテナを識別する;
【0091】
ステップ610において、それぞれのアプリケーションのデータコンテナに関連付けられた全てのピクセルを読み出して、それぞれのアプリケーションに関連付けられた少なくとも1つの(例えば8ビット長の)データコードワードと、それぞれのアプリケーションのためのパリティビット(PB)、誤り検出情報(EDM)ビットまたは誤り訂正情報(ECM)ビットとを取り出す。QRコードリーダは、読み取った少なくとも1つの(例えば8ビット長の)データコードワードにリンクされたEDMまたはECMを使用して、任意の誤りを検出または訂正することができる;
【0092】
ステップ612において、それぞれのアプリケーション(例えば、OAi)の誤りの無いアプリケーションデータD(例えば、Di)を取得する;
【0093】
ステップ614において、ECM/EDMが全ての誤りが訂正されたかどうかを検出する能力を有する場合、ECM/EDMを使用して、それぞれのアプリケーションの取り出されたアプリケーションデータDに誤りが存在するかどうかを検出する。
【0094】
これは、DがCRCを含む場合、またはECMがリードソロモン符号のように誤りを検出することができる場合に実行されることができ、ステップ616において、誤りが検出された場合、QRコードリーダによって、全てのデータコンテナのアプリケーションデータ全体を読み取る。そして、QRコードリーダは、残りのアプリケーションのためのパリティビット(PB)、誤り検出情報(EDM)ビットまたは誤り訂正情報(ECM)ビット(すなわち、他のデータコンテナからのパリティビット)を取り出し、これらのビットならびに全てのデータコンテナ内のアプリケーションデータを使用して、対象のそれぞれのアプリケーション内に依然として存在する誤りを訂正しようと試みることができる。
【0095】
ヘッダデータ(HD)を読み取るステップの後、QRコードリーダはさらに、ヘッダがそれ自体の誤り検出/訂正能力を有する場合にのみ、ECM/EDMをヘッダに適用することができることに留意されたい。
【0096】
なお、QRコードリーダは、各アプリケーションのデータコンテナに関連付けられた全てのピクセルを読み出すステップと、ECM/EDMを用いて、各アプリケーションの読み出されたアプリケーションデータDに誤りが存在するか否かを検出するステップにおいて、誤り検出/訂正能力が各アプリケーションだけでなく、ヘッダとアプリケーションデータとの連結にも適用される場合、ECM/EDMをヘッダに適用することができる。
【0097】
なお、ヘッダデータ(HD)を読み出すステップにおいて、ヘッダデータ(HD)が適切に読み出されることを確実にするために、QRコードリーダは、(ヘッダの複数のコピーが第1のQRコードにおいて利用可能である場合)ヘッダの複数のコピーを読み出すことができる。
【0098】
本発明の別の例示的な実施形態では、QRコードリーダは、第1のQRコード(すなわちマスタQRコード)に格納されたアプリケーションごとに、これらの符号化データをスキャンし、選択的に読み取ることができる。これは、複数のアプリケーションのうちのそれぞれのアプリケーションの情報を復号する例示的な方法700によって達成することができ、情報は第1のQRコード中に符号化データとして格納され、符号化データは、少なくともヘッダとアプリケーションごとのそれぞれのデータコンテナとを含む。
図7に概略的に説明した例示的な方法700は、少なくとも以下のステップを含むことができる:
【0099】
ステップ702において、(例えば、単一の識別子などの何らかのヘッダデータ情報から)第1のQRコードを、マスタQRコード、すなわち複数のアプリケーション(例えば、Easy ConnectおよびSHSに関連する2つのアプリケーション)を取り扱うQRコードであるとして識別する;
【0100】
ステップ704において、QRコードのシンボルを読み取り、誤り訂正後にQRコードからビット列を抽出し、ビット列は複数のアプリケーションに関連するデータを含む;
【0101】
ステップ706において、抽出されたビット列から、サブビット列とも呼ばれる、第1のアプリケーションに関連するビット列の一部(すなわち、データコンテナ)を特定する。ここで、サブビット文字列(すなわち、データコンテナ)の位置は、ヘッダデータまたは事前に構成されたポリシーまたはコンテキストから決定される (例えば、2つのアプリケーションEasy ConnectとSHSが異なるセマンティクスを使用する場合、ビット列の一部がEasy Connect用であり、残りの一部がSHS用であることに合意しうる)。
【0102】
この
図7の実装は、QRコードの規格に対してほとんど変更を必要としないという利点がある。
【0103】
本発明の別の例示的な実施形態では、QRコードリーダは、第1のQRコード(すなわちマスタQRコード)に格納されたアプリケーションごとに、これらの符号化データをスキャンし、選択的に読み取ることができる。これは、複数のアプリケーションのうちのそれぞれのアプリケーションの情報を復号する例示的な方法800によって達成することができ、情報は第1のQRコード中の符号化データとして格納され、符号化データは、少なくともヘッダとアプリケーションごとのそれぞれのデータコンテナとを含む。
図8に概略的に記載された例示的方法800は、少なくとも以下のステップを含むことができる:
【0104】
ステップ802において、ストリング(例えば、所与の符号化に従う文字のシーケンス)を抽出する;
【0105】
ステップ804において、文字列内のヘッダ(例えば、単一の識別子)、例えば文字列内の最初のN文字を見ることによって、QRコードが複数のアプリケーション(すなわち、2つ以上のアプリケーション)を含むかどうかをチェックする;
【0106】
ステップ806において、ヘッダが一致する場合、それぞれのアプリケーションの情報を含むサブストリングにアクセスする。
【0107】
この
図8の実装は、QRコードの規格に対して変更を必要としないという利点がある。
【0108】
第1のQRコードをマスタQRコード、すなわち複数のアプリケーションを扱うQRコードであると識別するために、一例では、QRコードリーダを扱う人が、例えばマスタQRコードに重ね合わされたユーザが理解可能な印刷パターン(例えば、文字M)によって、マスタQRコードを視覚的に識別することができる。別の例では、QRコードリーダを扱う人が、複数のQRコードのうちのどのQRコードが正しいマスタQRコードであるかを知らず、したがって、同時にキャプチャされるように複数のこれらのQRコードにQRコードリーダを向ける場合、QRコードリーダはこれらのQRコードの全てを識別し、例えば、マスタQRコードであることを示す特有の特徴(例えば、数個のピクセル)をモニタすることによって、または複数のアプリケーションの存在を示す単一の識別子を識別するためにヘッダデータを読み取ることによって、マスタQRコードの存在を決定することができる。
【0109】
複数のQRコードが同時に読み取られる実施形態では、それぞれのコンテナのヘッダがコンテナが使用されることが意図される順序の指標を含むことができる。
【0110】
図9は本発明の一実施形態による、複数のアプリケーションの情報を符号化し、QRコード910を作成することができる装置905の概略ブロック
図900を示す。装置905は計算装置、例えば、コンピュータであってもよく、コンピュータは、複数のアプリケーションからの入力として情報を受け取り、次いで、
図2を参照して上述の実施形態で説明したように、複数のアプリケーションの情報を符号化して、第1のQRコード910、すなわち複数のアプリケーションを扱うことが可能なQRコードを作成する。
【0111】
図10は、本発明の一実施形態によるコミッショニングのための概略システム1000を示す。システム1000は、第1のQRコード1010が関連付けられる少なくとも第1の装置1005と、カメラ1020を備えたQRコードリーダ1015とを含む。第2の装置1025および/または第3の装置1055も存在し得る。QRコード1010は、QRコード1010を第1の装置1005に物理的に取り付けること、および/または、QRコード1010を第1の装置1005上にもしくは第1の装置1005が入ったパッケージング上に印刷することのような任意の様々な態様によって、第1の装置1005に関連付けられることができる。
【0112】
第1のQRコード1010が関連付けられた第1の装置1005は、第1の通信インタフェイス1030を備える。QRコードリーダ1015のカメラ1020は、第1のQRコード1010をスキャンして読み取るために使用される。第1のQRコード1010を復号すると、QRコードリーダ1015は、例えば、ローカルポリシーまたはコンテキストに基づいて、第1のQRコード1010から選択されたアプリケーション、および第1の装置1005で実行するコミッショニングプロトコルを決定する。第1の代替形態では、QRコードリーダ1015は、第1の装置1005との第1のコミッショニングプロトコル1040を開始および実行するために使用される第2の通信インタフェイス1035を含み、これは、専用通信ネットワーク1045を介して、または通信インタフェイス1035と1060との間で直接、例えばWi-Fiアクセスポイント(AP)もしくはゲートウェイ装置である第3の装置1055、すなわち追加のネットワーキングデバイス1055とインタフェイスすることができる。専用通信ネットワーク1045は、例えば、イーサネット(登録商標)、Wi-Fi、Zigbeeなどのようなローカルエリアネットワーク(LAN)、またはセルラーネットワークもしくはインターネットのような広域ネットワーク(WAN)、またはネットワークの任意の組合せであることができる。第1のプロトコルは、第1の装置1005と追加のネットワーキングデバイス1055との間の(セキュアな)通信をセットアップするためのプロトコルであることができる。第2の代替案では、QRコードリーダ1015は、第3の装置1055(すなわち、第3の通信インタフェイス1060を含む追加のネットワーク装置1055)および通信ネットワーク1045を介して、第1の装置1005と第2の装置1025(後者はクラウドサービスのサーバ、すなわち「管理者」装置である場合がある)との間で、第1のコミッショニングプロトコルと同一であるか、または第1のコミッショニングプロトコルとは異なる第2のコミッショニングプロトコル1050をトリガする。
【0113】
第3の代替案は、以前の2つの代替案の一種の組合せの一種であることができ、QRコードリーダ1015は、第1のQRコード1010内の情報に基づいて、第1のコミッショニングプロトコルをトリガして、第1の装置1005と、例えばWi-Fi APまたはゲートウェイデバイスであることができる第3のデバイス1055との間の(セキュアな)通信を設定し、第1のコミッショニングプロトコルと同一のまたは異なる第2のコミッショニングプロトコルをトリガして、第3のデバイス1055およびネットワーク1045を介して第1の装置1005と第2の装置1025(後者は例えばクラウドサービスのサーバ、または「管理者」デバイスであることができる)との間の(セキュアな)通信を設定する。
【0114】
図11は、第1の通信インタフェイス1120を備える第1の装置1110と第2の通信インタフェイス1140を備える第2の装置1130との間の従来の実施形態によるコミッショニングプロトコル1100を示す。第1の装置1110は、コミッショニングプロトコル1100に関連するコミッショニングメッセージ1150によって、その存在をアナウンスすることができる。第2の装置1130は、メッセージ1160を返すことによって、コミッショニングプロトコル1100のコミッショニングフローを開始する。
【0115】
図12は、第1の通信インタフェイス1220を備える第1の装置1210と第2の通信インタフェイス1240を備える第2の装置1230との間の本発明の実施形態によるコミッショニングプロトコル1200を示す。
図11の第1の装置1110とは異なり、
図12の第1の装置1210には、第1のQRコード1250が付加されている。QRコードはまた、第2の装置によって表示されることができることに留意されたい(例えば、第2の装置が、このためのスクリーンまたは何らかの他の手段を有する場合)。実際、本明細書においてQRコードが所与の装置に「付加される」と記載される場合、これはQRコードを表示する所与の装置を含むことを理解されたい。この第1のQRコード1250は、第1の装置1210の同じ(第1の)通信インタフェイス1220上で動作し得る異なる2つのコミッショニングプロトコルのためのコミッショニング情報を含む。第1の装置1210は、2つのコミッショニングプロトコルのうちのそれぞれのコミッショニングプロトコルに関連するコミッショニングメッセージ1260および1270によって、その存在およびそのコミッショニング能力をアナウンスすることができる。第1の装置1210に付加された第1のQRコード1250を復号した後、第2の装置1230は、メッセージ1280を返すことによって、2つのコミッショニングプロトコルのうちの選択されたコミッショニングプロトコルを開始する。
【0116】
Wi-FiまたはIEEE 802.11を使用するネットワークで使用されるデバイスプロビジョニングプロトコル(DPP)のような、デバイス制御される設定方法では、DPPコンフィギュレータとして動作する装置は、例えばWi-Fiアクセスポイント(AP)に接続するためのエンローリーとして動作する任意のWi-Fi対応装置を安全に設定することができる。本発明では、第1のQRコードは、複数のアプリケーションの情報を格納することができるマスタQRコードである。例示的な実施形態では、それぞれのWi-Fi接続が、複数のコンフィギュレータと、エンローリーとして動作し、第1のQRコードが付加されている第1のWi-Fi対応装置との間で確立されることができる。それによって、第1のQRコードは、第1のWi-Fi対応装置のDPPブートストラッピング情報、例えば、符号化された形の公開鍵を含むことができ、各コンフィギュレータは、ブートストラップ処理第1のWi-Fi対応装置の第1のQRコードをスキャンして、それぞれの公開鍵を読み出す。
【0117】
DPPでは、プロセスが2つの装置1210, 1230が接続されていない状態で開始し、装置のうちの1つは問題のWi-Fiネットワークに接続するように設定されていない。1つの装置1230は、無線ネットワークに参加するために、すなわち、ネットワークアクセスポイント(AP)に接続するために、他の装置1210を設定するために使用され、コンフィギュレータ(またはコミッショナ)と呼ばれることができる。第2の装置はエンローリー(またはコミッショニー)と呼ばれることができる。
【0118】
第1のフェイズは「ブートストラップ」であり、一方の装置が、他の装置の、その装置を設定するためのブートストラップ公開鍵(BR)を取得する。これは無線通信技術とは別の手段によるものであり、いわゆる「帯域外」通信(OOB)と呼ばれ、ここではユーザが1つの装置に第2の装置上のQRコードを読み取らせる。ブートストラップが成功した場合、装置は「ブートストラップ」され、そうでない場合、装置は「開始」状態に戻る。多くの場合、単純なまたはいわゆるヘッドレス装置(すなわち、ユーザインタフェイスがほとんどまたは全くない装置)は、電源投入後またはリセット後に起動し、設定のためにQRコードに示されるチャネル上で無線をオンにし、認証要求メッセージのリッスンを開始するようにプログラムされる。(例えば、スマートフォンまたはラップトップのような単純ではない装置は、それが設定されることをユーザが望む場合、そのユーザインタフェイスを介してこのモードに設定される )。
【0119】
装置は認証手順を実行し、これにより装置は「信頼」を確立する。つまり、ユーザは、装置が自分が信じているものであり、他の未知の(潜在的に悪意のある)装置が問題の装置のうちの1つまたは他の装置の「ふりをして」いるのではないと確信することができる。認証の開始を要求するメッセージが1つの装置から送信される。このメッセージは、設定を行う装置(コンフィギュレータ) または設定される装置(エンローリ) のいずれかによって送信できる。コンフィギュレータ/コミッショナは、Wi-Fiネットワークに接続されることができるが、これは実施形態が動作するために必ずしも必要ではない。無線通信を開始する装置をイニシエータ、応答する装置をレスポンダと呼ぶ。特に、DPPプロトコルは、コンフィギュレータおよびエンローリー装置の両方がDPPプロトコルのイニシエータとして動作することを可能にし、それによって、他の装置自動的にレスポンダになる。単純な装置またはヘッドレス装置は、通常、レスポンダの役割を担う。
【0120】
相手装置がこのメッセージに応答する。認証要求メッセージが正しくデコードされ、イニシエータがユーザが信じている装置であり、必要な機能を持っていることを示す情報が含まれている場合、応答メッセージは、メッセージが「受け入れられた」ことを示し、イニシエータがレスポンダの資格情報を検証するために必要な情報を含み、必要な機能も持っていることを示す。2つの装置が他の装置から必要な情報を受信しない場合、プロセスは中断し、装置はブートストラップ状態に戻る。
【0121】
DPPプロトコルの場合、最初のメッセージは認証要求メッセージで、応答メッセージはDPP認証応答である。レスポンダは、DPP Authentication Requestメッセージが、レスポンダの公開ブートストラップ鍵の正しく生成された暗号化ハッシュを含むことをチェックし、オプションとして、イニシエータの公開ブートストラップ鍵のコピーを含むかどうかをチェックする。レスポンダは、認証を続行できるかどうかを示すDPP認証応答メッセージを送信する。そうでない場合、例えば、DPP認証要求メッセージ中の暗号化されたナンスの復号化の試行が失敗するため、プロセスは中止される。DPP認証応答は、レスポンダ公開ブートストラップ鍵の暗号化ハッシュを含み、イニシエータ公開ブートストラップ鍵のハッシュを含む場合がある。同様に、イニシエータについては、エンローリーがOOB通信によってこの公開鍵を取得していてもよい。その後、イニシエータの公開ブートストラップ鍵を相互認証に使用できる。イニシエータの公開ブートストラップ鍵がないと、イニシエータのみがエンローリーを認証できるが、その逆はできない。
【0122】
認証応答メッセージが、レスポンダが認証要求メッセージを受け入れたことを示し、応答がイニシエータのセットアップによって課された基準を満たす場合、イニシエータは認証確認メッセージを発行する。認証応答および確認メッセージ内の認証値が関連する装置によって正しいことが見出された場合、プロトコルのこの部分、認証部分は成功し、設定が開始することができる。確認メッセージには、エンローリーがイニシエータでもある以前の設定試行の結果の指標も含まれる場合がある。
【0123】
DPPプロトコルの場合、認証確認メッセージはDPP 認証確認(Authentication Confirm)メッセージである。
【0124】
そして、エンローリー装置は、エンローリーが望む設定のタイプに関する情報を含む設定要求メッセージを送信する。コンフィギュレータが要求を許可できる場合、ネットワーク鍵など、エンローリーが必要とする情報を含むメッセージを送信する。そして、プロセスは、エンローリーの正常な設定で終了する。
【0125】
DPPの場合、要求メッセージはDPP Configuration Requestで、コンフィギュレータ応答はDPP Configuration Responseメッセージである。DPP設定応答には、エンローリーが接続するネットワークのサービスセット識別子(SSID)が含まれている場合があり、DPPコネクタが含まれている場合がある。DPPコネクタはコンフィギュレータによってデジタル署名された証明書と見なされることができ、特にエンローリーの公開ネットワークアクセス鍵を含む。DPPコンフィギュレータ応答メッセージは、コンフィギュレータの公開署名鍵も含む。同じコンフィギュレータによって設定された他の装置は、それによって、他の装置の公開ネットワークアクセス鍵を信頼できるかどうかを確認できる。DPP設定応答メッセージには、ネットワークのWi-Fiパスフレーズまたは事前共有鍵(PSK)が含まれている場合もある。エンローリーは、(DPPのバージョンに応じて)DPP設定結果メッセージをコンフィギュレータに送信して、設定を受け入れるかどうかを知らせる。コンフィギュレータがこのメッセージを受信しないことは、コンフィギュレータとエンローリーとの間にWi-Fiの問題があったことをコンフィギュレータに示すことができる。そして、「設定されていると思われる」エンローリーは、そのコネクタをDPP設定APに送信することができる。コネクタ 署名が正しいことが分かり、APが、一致するConnector、すなわち同じコンフィギュレータによって署名された同じネットワークのためのConnectorがある場合、APは自身のConnectorをエンローリーに送信する。エンローリーとAPは、コネクタ中の互いのネットワークアクセス鍵及び、Diffie/-Hellman方式の自身のプライベートネットワークアクセス鍵に基づいて、対称鍵を計算することができる。
【0126】
エンローリーがWi-FiパスワードまたはWi-Fi Pre Shared key(PSK)を受信した場合、エンローリーは、IEEE 802.11 規格で規定されている4 ウェイハンドシェイクを通した通常の方法でAPに関連付けることを試みる。SHSネットワークに参加するための装置を設定またはコミッショニングするためのプロトコルは鍵の交換を含む場合があり、コードがコミッショニング装置に提供される。このコードはパスワードとして機能し、帯域外方法によって提供される。この例では、このパスコードがSHSコミッショニングアプリケーションに関連するエンローリー装置のQRコードの一部に組み込まれることができる。
【0127】
本発明の例示的なケースでは、装置、例えば無線装置またはWi-Fi無線装置は、SHSブートストラップロトコルによってDPPまたはSHSネットワークによるWi-Fiネットワークに参加することが可能である。この場合、装置は、DPPおよびSHSブートストラップロトコルに関連する情報を格納することができる、本発明で定義されるような第1のQRコードを有することができる。例示的な実施形態では、コンフィギュレータまたはコミッショナは、(1)QRコードリーダにおける事前設定、(2)QRコードリーダにおいて利用可能なポリシー、および(3)装置が配備されている環境において利用可能なコンテキスト要件のうちの少なくとも1つに基づいて、DPPまたはSHSブートストラップロトコルをトリガする、装置に付加された(またはその装置により表示された)第1のQRコードを読み取るQRコードリーダを実装(またはQRコードリーダと通信)する。したがって、この例示的な実施形態に必要とされるステップは以下を含む:
a)第1のQRコードを読み取るステップ;
b)読み取られた第1のQRコードから、サポートされているアプリケーション、特にサポートされているコミッショニングプロトコルを決定するステップ;
c)(1)事前設定された選択、(2)ポリシー、(3)コンテキスト、および(4)第1のQRコードに含まれる選好のうちの少なくとも1つに基づいてアプリケーション(例えば、好ましいアプリケーション)を選択するステップ。 例えば、QRコードリーダは、DPPベースのコミッショニングのためのQRコードリーダであり、DPPを実行することのみが可能である場合がある。例えば、ポリシーは、利用可能であればアプリケーションの使用を好み、(第1のQRコードによって示されるように)サポートされていればそれを使用することができる。例えば、QRコードリーダは、装置が展開されるべきコンテキストまたは環境(例えば、自宅または病院)が所与のアプリケーションのみをサポートする(例えば、高度にセキュアなDPPベースのWi-Fi設定プロセスのみをサポートする)かどうかを検出することができ、そして、これに基づいてアプリケーションの選択を行うことができる。検出は、例えば、装置によって送信されたビーコンの存在またはコンテンツに基づくことができる。例えば、第1のQRコードは、コンテキストに応じてQRコードリーダに好ましいアプリケーション選択を示すフィールドを含むことができる;
d)第1の選択されたアプリケーションとして選択されたアプリケーション(例えば、選択された好ましいアプリケーション)を開始するステップ。コミッショニングアプリケーションの場合、コンフィギュレータまたはコミッショナは、第1の選択されたアプリケーションが成功しなかったか、または失敗した限り、例えば、第1の選択されたアプリケーションに関連するコミッショニングプロセスが、最小回数N(例えば、N = 1、2、・・・)成功しなかったか、または失敗した限り、第2の選択されたアプリケーションを開始してはならない。
【0128】
本発明の例示的な実施形態では、本発明で定義される(製品または装置に取り付けられる可能性がある)第1のQRコードは2つ以上のアプリケーションに関連する情報を含むことができる。それを読み取るQRコードリーダは、事前設定、ポリシーまたはコンテキストに基づいて両方のアプリケーションを実行することができる。両方のアプリケーションの実行は、例えば、ポリシーによって定義される順序で、連続的であり得る。アプリケーションの実行の順序は、QRコードの一部によって、例えば、ヘッダの一部として、または最初に読み取られるデータコンテナ内で符号化されて、定められることができる。そのような情報は、QRコードを読み取ったコンフィギュレータが状況に応じて異なるコンテナを読み取ることを可能にする条件分岐を含むスクリプトの形をとることもできる。アプリケーションのうちの1つの実行は、部分的であってもよい(例えば、第2のコミッショニングプロトコルが、中間ステップとして第1のコミッショニングプロトコル(DPP)に依存する場合)。アプリケーションまたはアプリケーションのそれぞれの段階が複数回実行されることができる。更なる例として、第1のQRコードが装置、例えば、無線装置またはWi-Fi無線装置に取り付けられる場合、装置は、(1)、基礎をなす無線ネットワーキング技術(例えばWi-Fi)、および(2)SHSのコミッショニングプロトコルに依拠することによって、スマートホームシステム(SHS)に参加することが可能である。この場合、装置は、SHSの無線ネットワーキング技術およびブートストラップロトコルに関連する情報を格納することができる、本発明で定義されるような第1のQRコードを有することができる。例示的な実施形態では、コンフィギュレータまたはコミッショナは、(1)QRコードリーダにおける事前設定、(2)QRコードリーダにおいて利用可能なポリシーおよび(3)装置が配備されている環境において利用可能なコンテkスト要件のうちの少なくとも1つに基づいて、DPPブートストラップロトコルおよびSHSブートストラップロトコルをトリガする装置に取り付けられた第1のQRコードを読み取るQRコードリーダを実装(またはQRコードリーダと通信)する。したがって、この例示的な実施形態に必要とされるステップは以下を含む:
a)第1のQRコードを読み取るステップ;
b)読み取られた第1のQRコードから、サポートされているアプリケーション、特にサポートされているコミッショニングプロトコルを決定するステップ;
c)(1)事前設定された選択、(2)ポリシー、(3)文脈および(4)第1のQRコードに含まれる選好のうちの少なくとも1つに基づいて、アプリケーション実行順序(例えば、好ましいアプリケーション実行順序)を選択するステップ。 例えば、QRコードリーダは、DPPベースのWi-Fiネットワークとの相互運用性が可能なSHS用のQRコードリーダであることができる。例えば、QRコードリーダは、装置が展開されるべきコンテキストまたは環境(例えば、家庭、または病院)が両方のアプリケーション(例えば、セキュアDPPベースのWi-Fi設定プロセスおよびSHS設定プロセス)を必要とするかどうかを検出することができ、そして、これに基づいてアプリケーション選択を行うことができる;
d)最初のアプリケーションを開始するステップ。 コミッショニングアプリケーションの場合、コンフィギュレータまたはコミッショナは、少なくとも、予め設定された目標ステップまで、第1の選択されたアプリケーションが成功していないかまたは失敗している限り、例えば、第1の選択されたアプリケーションに関連するコミッショニングプロセスが、最小回数N(例えば、N=1、2、...)成功していないかまたは失敗している限り、第2の選択されたアプリケーションを開始すべきではない;
e) 第1のアプリケーションの実行(第2のコミッショニングプロトコルが中間段階として第1のコミッショニングプロトコル(DPP)に依存する可能性がある場合、部分的な実行の可能性もある)が成功すると、第2のアプリケーション、例えばコミッショニングプロトコルの場合、装置をネットワークに接続するための更なる設定をデバイスに提供する第2のコミッショニングプロトコルを開始し;
f)オプションとして、ステップe)および第2のアプリケーションの実行の成功(失敗)に応じて、第1のアプリケーションに戻って終了する。
【0129】
この例示的な実施形態は、付加された第1のQRコード1330および第1の通信インタフェイス1340を備える第1の装置1310と、第2の通信インタフェイス1350およびQRコードスキャンのためのカメラ1360を備える第2の装置1320との間のコミッショニングプロトコル1300を示す
図13によって説明される。第2の装置1320は、第1のQRコード1330をスキャンし、例えばポリシーに基づいて、通信インタフェイス1350および1340を介して第1の装置1310と、第1のQRコード1330において利用可能な第1および第2のアプリケーションに属するコミッショニングステップ1371, 1372, 1373を実行することを決定する。例示的なシナリオでは、ステップ1371は、第1のコミッショニングプロトコルを参照することができ、ステップ1372は、ステップ1371が特定の段階に達したときに第2のコミッショニングプロトコルを参照することができ、ステップ1373は、ステップ1372の成功した(失敗した)実行に応じて、第1のコミッショニングプロトコルを再び参照することができ、ステップ1371の実行を継続する。
【0130】
本発明において、装置、例えばWi-Fi製品が、例えばDPPアプリケーションおよびSHSアプリケーションなどの2つのアプリケーションを含む付加された第1のQRコードを有する場合、コミッショニングデバイスは、Wi-FiコミッショニングのためにWi-Fi Easy Connectを、そして第1のQRコードが付加された装置をクラウドサービスおよび他の全ての上位レベルサービスに接続するためのSHSプロトコルを使用することを選択することもできる。
【0131】
本発明では、装置、例えばWi-Fi製品が、例えばDPPアプリケーションおよびSHSアプリケーションなどの2つのアプリケーションを含む付加された第1のQRコードを有する場合、第1のQRコードが付加された装置は、第1のQRコードを読み取りに応じたコンフィギュレータ(例えば、DPP)またはコミッショナ(例えば、Matter)からの要求に反応する必要があるだろう。装置が第1のQRコードにおいて識別された第1のアプリケーションについての第1の要求を受信すると、装置は、第1のアプリケーションが終了していない限り、第1のQRコードに含まれる第2のアプリケーションについての後続の要求を受け入れるべきではない。
【0132】
本発明では、装置が所与のアプリケーションをサポートする場合、装置に付加され、アプリケーションに関する情報を含む第1のQRコードは、その情報が(平文であるか否かを問わず)ブロードキャストされるか否かを示し得る。例えば、いくつかのフィールドは、プライバシーを理由としてブロードキャストされることができないが(代わりに0ビット列がブロードキャストされる)、これは、装置が、例えばソフトアクセスポイント(softAP)になることによって所与の設定状態に入るとき、コミッショナ(第1のQRリーダによってトリガされる)が正しい装置からのコミッショニングメッセージ、例えば、正しい装置のサービスセット識別子(SSID)を含むメッセージを選択することを妨げる可能性がある。あるいは、例えばビーコンに含まれて、または装置のSSIDの一部としてブロードキャストされる前に、、第1のQRコードに含まれるフィールドのいくつかをXOR(暗号化)するために使用されるランダムビットマスク、例えば装置ごとに固有のランダムビットマスクを第1のQRコードが含むことができる。そして、QRコードからこの情報、例えばランダムビットマスクを読み取る装置は、装置から受信された無線ビーコンに含まれる情報をどのように復号するかを知る。
【0133】
要約すると、本発明は、第1のQRコードまたはマスタQRコードによって表される、複数のアプリケーションの情報を、それぞれの情報が信頼性があり時間効率的な態様で各アプリケーションについて読み出されることができるように格納することが可能な、複数のアプリケーションのQRコードに関する。情報は、少なくともヘッダ(例えば、単一の識別子)と、アプリケーションごとのそれぞれのデータコンテナ(例えば、ビット列の一部または完全なビット列中のサブビット列)とを含む符号化データに符号化される。ヘッダは、複数のアプリケーションの存在を示す少なくとも1つの識別子と、アプリケーションごとのそれぞれのアプリケーション識別子とを含むことができる。それぞれの誤り訂正機構は、アプリケーションごとの各データコンテナに含まれることができる。符号化されたデータは、割り当て規則に従って、第1の/マスタQRコードの符号化領域にわたって分散された複数のデータピクセルに分散して格納される。QRコードリーダは、それぞれの関心アプリケーションに関連するデータピクセルにアクセスして処理することによってのみ、およびこのそれぞれのアプリケーションに特有の誤り訂正を使用することによって、QRコードに格納された情報を読み出すことができる。
【0134】
本発明は、図面及び前述の説明において詳しく図示及び説明されてきたが、そのような図示及び説明は、例示的又は説明的であり、限定的ではないと考えられるべきである。さらに、本発明は、ネットワークインタフェイス(例えば、Wi-Fi、Bluetooth Low Energyまたは他のタイプ)またはコミッショニングプロトコル(例えば、Wi-Fi Easy Connect、またはMatterのようなスマートホームシステム)を実装する任意の製品に適用されることができる。QRコードリーダは、製品によって実装される同じネットワークインタフェイスを使用することによって直接通信することができ、または間接的に、例えばアクセスポイント(AP)またはゲートウェイを介して、製品と通信することができる。
【0135】
同様に、本発明の一実施形態によるQRコードの単一のスキャンを用いて読み取りおよび処理するためのシステム1400は、単一の人または複数の人に関連する個人データを要求し、格納し、表示するためにユーザによって使用される個人データアプリ(携帯電話上で使用されるものなど)を含むことができる。そのようなデータの例は、ワクチン接種、感染試験、または特定の感染からの回復を示す証明書に関するレポートであり得る。
【0136】
図14は、モバイルQRコード読取装置1420(例えば、携帯電話)上で動作する個人データアプリ(1431)によって表示されるQRコード1410によって符号化された少なくとも個人レポートを含むシステム1400を示す。QRコード1410は、カメラ1430を備えたQRコードリーダ1420によってスキャンされることができる。第1の管理エンティティ1440は、何らかの識別資格を与えられた人物の識別/認証時に、個人レポート、例えば疾患に関する人物ステータスに関するレポートを配信することを担当する。この管理エンティティは、個人レポートに署名するために、いくつかの秘密鍵材料、例えば、秘密鍵を管理することもできる。オプションとして、第2の管理エンティティ1450は、例えば、個人レポートのデジタル署名をチェックすることによって、または複数のレポートをポリシーと照合することによって、個人レポートの検証を担当する。第2の管理エンティティ1450および個人データアプリ1431は、第1の管理エンティティ1440から個人データアプリ1431に個人レポートを配信するためにインタラクトする。個人データアプリ1431は、QRコードリーダ1420内の第2の管理エンティティ1450の一部として実装されることができ、またはQRコードリーダ1420は、検証のために、読み出された個人レポートを管理エンティティ1450に転送することができる。
【0137】
単一の人または複数の人に関連付けられた個人データは、複数アプリケーションQRコードによって符号化され、モバイルアプリに記憶されることができる。
【0138】
個人データが前述のワクチン接種/回復/試験レポートのような公式な性質のデータに関する場合、管理エンティティは、何らかの識別情報、すなわち、第1の管理エンティティ1440に対応する識別情報を使用した人の識別/認証時に、問題の人の個人データ記録を作成するタスクを委託され得る。この管理エンティティ1440はまた、個人データレポートに署名するために、いくつかの秘密鍵材料、例えば、秘密鍵を管理することができる。そのような場合、例えば、レポート上のデジタル署名をチェックすることによって、またはポリシーに対して複数のレポートをチェックすることによって、個人データレポートを検証することを担当する第2の管理エンティティ(すなわち、上述の第2の管理エンティティ1450)が存在することができる。
【0139】
第2の管理エンティティ1450のために行動する人員は、(例えば、個人データレポート1410を読み取るために使用されるモバイルアプリとして動作し、個人データレポートの読み取りの結果に基づいてポリシーを実施する)QRコードリーダ1420を使用することができる。そのようなポリシーは、アクセスまたは通過に関する制限などの公式ポリシーを含むことができるが、これらに限定されない。
【0140】
単一の人に関連付けられた個人データレポートを含むQRコードは、QRコードリーダ(またはQRコードリーダによってQRコードから読み取られたデータを検索し検証する検証エンティティ)が全ての個人データレポートが互いにリンクされていることをチェックすることを可能にする総合シグネチャを含むことができる。
【0141】
これを達成するために、各々の個人データレポートは、上述のように異なるデータコンテナに含まれる必要がある。さらに、総合シグネチャは、例えば、最後のデータコンテナに、またはヘッダの一部として含まれる。
【0142】
複数の人物に関連付けられた個人データレポートを含むQRコードは、QRコードリーダ(またはQRコードリーダによってQRコードから読み取られたデータを検索し検証する個人データ検証エンティティ)が全ての個人データレポートが互いにリンクされていることをチェックすることを可能にする総合シグネチャを含むことができる。
【0143】
これを達成するために、複数のユーザは、例えば彼らの公的資格証明を使用することによって、同じ個人データアプリを通じて、自分自身を識別/認証することができる。ユーザが同じアプリで自身を識別/認証するたびに、その個人データアプリでこれまでに識別/認証された全てのユーザの個人データレポートを含む新しいQRコードが作成される。各々の個人データレポートは、異なるデータコンテナに含まれる。Covid 19(ワクチン接種/回復/試験)レポートを証明する責任を負う認証局によって生成された総合シグネチャは、例えば、最後のデータコンテナ内に付加されて含まれ、例えばQRコード内の全ての個人データレポートが一緒に読み取られ得ること、例えば、一緒に生活する人々のグループに属することを検証することを可能にする。
【0144】
QRコードが、国内旅行または国際旅行の個人データレポートを含む場合、QRコードリーダは、コンテキストに基づいて、例えば位置に基づいて、好ましいアプリケーションを自動的に選択することができる。QRコードは、例えばヘッダに自国を含むことができる。そして、QRコードリーダは、QRコードリーダの位置に基づいて、特定のデータコンテナ(すなわち、特定の領域で使用するための個人データレポート)を選択することができる。
【0145】
QRコードが定期的なワクチン接種接種にリンクされた複数の個人データレポートを含む場合、QRコードリーダは、それらが新しい(所与の期間内に発行された)ものであり、個人データレポートが第2の管理エンティティによって展開されたポリシーを満たす場合にのみ、個人データレポートを受け入れることができる。そのようなポリシーの例は、例えば、最も多くのワクチン接種が最後のXヶ月(例えば、過去3ヶ月)内に行われたこと、又は(家族)グループの誰も、メンバーのうちの1人が肯定的な回復報告を有していない場合、許可されるべきではないことを述べることができる。
【0146】
QRコードが複数の人、例えば家族メンバーに関連する個人データレポートを含む場合、それらの家族メンバーは、単一のQRコードを使用してそれらのIDを示すことによって、それらの身元を一緒に立証することが期待される。したがって、複数の人に関連付けられた個人データレポートを含む複数アプリケーションQRコードは、例えば、複雑なポリシーに基づいて、QRコードリーダによってのみ受け入れられることができる:
【0147】
そして、複数アプリケーションQRコードは少なくとも2人の人が有効なIDを伴って存在する場合にのみ、QRコードリーダによって受け入れられることができる。.
【0148】
グループの個人データをグループ方式で処理することは、顕著な利点を提供する。第1に、第2の管理エンティティの人員が個人データレポートを読み、チェックしている場合には、時間およびトラブルが大幅に節約される。これらの人員は、しばしば、人々を迅速に処理するようにプレッシャーを受けており、しばしば、空間の物理的な配置が、これを扱いにくくする場合がある。単一の読み出しおよびチェック動作により、グループ全体がチェックされ、進行することを許可される(または許可されない)ことができ、これは各QRコードを個々に処理する必要がある場合よりもはるかに速く、誤りが生じにくい。さらに、この実施形態による処理は、第2レベルの認証、すなわち、個々のコンテナの認証およびQRコード全体の認証が存在する点で、個人データレポートを悪用することをより困難にする。
【0149】
特定の状況では、装置上のアプリケーション(例えば、モバイルデバイス上のモバイルアプリケーション(または「app」))の設定は、装置がアプリケーションに関連する特定のパラメータを取得することを必要とし、便宜上、これらは「設定パラメータ」と呼ばれ得る。装置上のアプリケーションの設定が、第2の装置(例えば、電球などのIoT装置)とのインタラクション/第2の装置の設定/第2の装置の管理/第2の装置のコミッショニング/第2の装置のインストールを可能にするために必要とされるだろう。これらのパラメータは、装置の識別子(MACアドレスなど)、鍵材料(例えば、DPPのための公開鍵)、またはパスワード(例えば、パスワード認証鍵交換で使用されるパスワード)などのものであることができる。そのようなアプリケーションは、(第2の装置の)パッケージ上またはスクリーン上に表示されるコード(バーコードまたはQRコードなど)を用いて、オンラインアプリケーションストア(“app store”)内でダウンロードするために見つけることができる。多くの場合、アプリストアは、同じコードに前述の設定パラメータを含めることを許可しない。この原因の問題に対する可能な解決策は、アプリケーションを取得し、それをインストールするために、デバイスに第1のコードを読み取らせることである。そして、装置は、設定パラメータを取得するために、第2のコードを読み取らなければならず、第2のコードは、第2の装置のパッケージ、第2の装置、または第2の装置のスクリーンなどのどこかに表示される。このアプローチは、いくつかの問題を示す。第1に、ユーザが2つの異なるコードを読み取り、2つの異なるアプリケーションを使用する必要があるという点で、ユーザにとって使い勝手が悪く、より多くのステップが存在するほど、より多くの誤りの可能性がある。第2に、それは、第2の装置(のパッケージング)上に追加の空間を要する複数のQRコードの存在を含む可能性がある。
【0150】
図15は、これらの問題に対処しようとする関連する実施形態によるフローを表す。この実施形態および関連する実施形態は、上述の実施形態と組み合わせることができる。このフローでは、(QR)コードを読み取ることができる第1の(モバイル)アプリケーションが複数アプリケーション(QR)コードを読み取ることもでき、以下のようにそれを用いる。第1のアプリケーションは、特定のプロトコルを実行するための専用プログラムとは対照的に、「汎用」QRコードリーダであることができる。
【0151】
ステップS1において、装置上で動作する第1のアプリケーションは、少なくとも2つのデータコンテナを含むQRコードからデータを読み取る。第1の変形例では、第1のアプリケーションは、少なくとも2つのデータコンテナの両方からデータを抽出することができる。
【0152】
次いで、ステップS2において、装置上で実行される第1のアプリケーションは、(QR)コード内の第1のデータコンテナ内の情報を使用するコマンドをトリガする。この使用の例は、アプリストアなどのアプリケーションリポジトリから第2の(モバイル)アプリケーションをダウンロードし、この第2の(モバイル)アプリケーションのインストールをトリガするためのものであることができる。第1のデータコンテナは、アプリケーションリポジトリに記憶された第2のアプリケーションのURLを含むことができる。第2のアプリケーションのインストールは、同じ装置上であっても、異なる装置上であってもよい。2番目の可能性は、異なる装置がQRコードを読み取ることができないが、アプリケーションを実行するためにはその装置を使用することがより便利である状況において有用だろう。アプリケーションのダウンロードは、無線または有線ネットワークのいずれかを使用して達成されることができる。
【0153】
ステップS3において、装置上で動作する第1のアプリケーション(プログラム)は、(QR)コードの第2のデータコンテナに格納されたデータを、第1のデータコンテナ内の情報を使用した結果としてダウンロードされインストールされた第2の(モバイル)アプリケーションに渡す。
【0154】
第2のアプリケーションがネットワーク内の第3の装置への接続のために第2の装置を設定するために使用される場合、第2のデータコンテナからのデータは、装置の識別子(MACアドレスなど)、鍵材料(例えば、DPPのための公開鍵)、またはパスワード(例えば、パスワード認証鍵交換において使用されるパスワード)などのものを含むことができる。そのような場合、上記の動作を実行するように構成された機器、上述のような関連するQRコードを有する第1の装置、ネットワークの一部である第2の装置を有するシステムが存在する。ここで、前記機器は、コミッショニングプログラムを使用して、QRコード内の情報に基づいてコミッショニングアプリケーションプログラムの取得および設定をトリガし、第1の装置との第1のコミッショニングプロトコルを実行するように適応され、コミッショニングプロトコルの成功裏の完了は、第1の装置が第2の装置に接続することを可能にする。
【0155】
この実施形態の利点は、(1)ユーザは単一の(QR)コードのみをスキャンすればよく、(2)パッケージまたは装置が単一の(QR)コードのみを含めばよいことである。
【0156】
関連する実施形態では、ステップS3は、第2のアプリケーションがインストールされる(べき)装置上に情報を記憶することによって、第1のアプリケーションによって実行されることができる。これは、(QR)コードの第2のデータコンテナに格納されたデータを含むクッキーなどのローカルファイルを作成することによるものであってもよい。そして、新しくインストールされた第2の(モバイル)アプリケーションは、初めて実行されたときに読み取ることができる。これは、実施が簡単であるという利点を有する。「ファイル」は、ランダムアクセスまたは不揮発性メモリなどの任意の機械可読媒体上の任意のデータ構造を含むことに留意されたい。
【0157】
関連する実施形態では、ステップS3は、ネットワーキングインタフェイスを介して第2の装置といくつかのデータを交換することによって実行されることができる。これは、装置が第2の装置に接続するための命令とともに第2の装置に関連するネットワークIDを第2のコンテナ内のデータが示すことによって達成されることができる。これは、第2の(モバイル)アプリケーションが、例えば、第2の装置を装置のネットワークの一部として設定するために、第2の装置との対話を必要とする場合に必要とされるだろう。追加の例では、第2の装置がそれが設定されようとしているという指示を必要とする場合があり、この指示は第2のデータコンテナに含まれることができる。したがって、第2のデータコンテナを読み取ると、装置は、この指示を第2の装置に送信することができる。この指示の送信は、第2の(最近ダウンロードされた)アプリケーションによって開始されるのとは対照的に、第1のアプリケーションの制御下にあるか、または第1のアプリケーションによってトリガされることができる。第2の装置は、指示を受信すると、例えば、特別な設定状態に入ることができる。例えば、第2の装置は、使用するためのネットワーク識別子またはネットワーク資格情報(例えばWi-Fi SSIDまたはWi-Fiパスワード)についての指示を必要とする場合がある。例えば、第2の装置は、第2のデータコンテナ内のこれらの「包括的な」要件を含むことができ、装置は、初期メッセージにおいてそのようなパラメータを第2の装置に提供する。
【0158】
これはまた、第2の装置を設定するために使用されるアプリケーションをダウンロードするために使用される第1のQRコードの読み取りが、すでに第2の装置自体との(初期の)インタラクションをトリガするので、ユーザが第2の装置自体を設定するために必要なインタラクションが少ないという利点を有する。
【0159】
関連する実施形態において、ステップS3がどのように実行されるかは、QRコード自体において指定されることができる。例えば、第2の装置を設定するために使用される第2のアプリケーションは、わずかに異なる態様で複数のタイプの第2の装置を設定することが可能である。したがって、QRコードは、現在の第2の装置を設定/現在の第2の装置と対話するためにステップS3がどのように実行されるべきかを指定する。例えば、第2の装置AはWi-Fiを使用することができ、別の第2の装置Bは異なるネットワークプロトコル(例えば、Thread)を使用することができる。第1の装置はWi-Fiをサポートし、したがって、第1の装置は、Wi-Fiネットワーキングインタフェイスを介していくつかのデータを直接交換することによって、ステップS3を実行し得る。第1の装置が同じネットワーキングインタフェイスをサポートしない場合、ステップ3は、そのような直接データ交換を伴わないことがある。
【0160】
関連する実施形態では、第2に実行されるように構成されたコンテナが、必要な設定パラメータを保持するサーバに第1の装置が接続することを可能にする命令を含むことができる。これらの命令は、サーバへのURL、装置のMACアドレス、および使用される特定の通信技術の指示などを含むことができる。これは、設定パラメータが(比較的)大量のデータを必要とする場合に、QRコードのサイズに対する影響が低減され得るという利点を提供する。これはまた、装置上の一時ファイルに機密情報を記憶することに関連するセキュリティリスクを軽減するのに役立ち得る。
【0161】
関連する実施形態では、QRコードがMUDファイル、例えば、MUD URLを含むデータコンテナを含むことができる。MUD(Manufacturer Usage Description)[RFC8520]は、装置が正しく動作するために必要なアクセスの種類を表現するYANGデータモデルを定義する。RFC 9238は、MUD URLがどのように格納され、QRコードからロードされるかを指定する。
【0162】
関連する実施形態では、QRコードは少なくとも3つのコンテナを含み、コンテナはコンテナの情報の実行を制御するための命令(スクリプトなど)を含む。これは、分岐命令を含むことができる。
【0163】
関連する実施形態では、第1のアプリケーションはQRコードを読み取るために使用される標準アプリケーションであってもよく、および/または、第2の(モバイル)アプリケーションは、装置がネットワークに参加するために第2の装置をコミッショニング(設定)するためのDPPコンフィギュレータなどのコミッショニングデバイス(または「コミッショナ」)として装置が使用されることを可能にするように構成されたアプリケーションであってもよい。それに対応して、DPPの場合、第2のデータコンテナに含まれるデータは、装置のDPP公開鍵であることができる。代替として、第2のアプリケーションは、スマートホームシステム(SHS)の設定において使用されるように構成されることができる。
【0164】
関連する実施形態では、QRコードは、(第1のデータコンテナにおいて)第2のアプリケーションへのURLを含み、このQRコードは、DPP中継機能を介してDPPをサポートするWi-Fiアクセスポイントに添付されるかまたは表示され、このDPP中継機能は、第2のアプリケーションから(例えば、TCP/IPを介して)入ってくるDPP設定メッセージ/情報を、Wi-Fiを介してDPPエンローリーに送信されるDPPブートストラップフレームに変換することができる。これを容易にするために、QRコードは、Wi-FiアクセスポイントのSSIDおよび/またはDPP中継機能のIPアドレスおよび/またはポート番号に関する情報を(第2のデータコンテナ内に)さらに含むことができる。
【0165】
関連する実施形態では、第1のアプリケーションは、QRコードを読み取るために使用される標準アプリケーション(例えば、携帯電話におけるカメラアプリケーション)であることができ、および/または、第2の(モバイル)アプリケーションは、IoT装置を設定するために使用されるアプリケーションであることができ、および/または、第2のデータコンテナに含まれるデータは、装置の識別子、例えば、装置のMACアドレスであることができる。
【0166】
関連する実施形態では、上記の読み取り動作のいくつかは、異なる方法で実行されてもよく、例えば、情報はNFCまたはBluetooth low energyなどの無線インタフェイスを介して交換されることができる。
【0167】
関連する実施形態では、QRコードは、アプリストアからダウンロードされるアプリケーションへのURLを有し、それによって、QRコードが通常のQRコードリーダ(すなわち、上述の態様で第1のデータコンテナよりも多くを処理するように特に構成されていないQRコードリーダ)でスキャンされる場合、URL情報に幾つかの追加のパラメータが付加されるように見える(例えば“?param=<(QRコードの一部として符号化された搭載装置の識別子/キー/パスワード情報の読み取りから生じた文字化け情報)”)。URLの第1の部分は第1のデータコンテナを表し、URLの第2の部分は第2のデータコンテナを表す。URLがリポジトリ(アプリストア) に渡されると、リポジトリは第2の部分を無視することができる。リポジトリは、このように動作するように構成されることが好都合である。一変形形態では、URLによって示されるアプリケーションがダウンロードされると、ユーザはこのアプリケーションを使用して、同じQRコードを再度スキャンして、(例えば、URLの第1の部分を無視することによって)追加のパラメータを解析することができ、またはQRコードのいくつかの部分(例えば、URLの第1の部分を含むQRコードの部分)を(例えば、いくつかのカメラフィルタを使用して)隠すかまたは無視することによって、QRコードの一部のみを特にスキャンすることができる。別の変形例では、以前のステップにおいて第1のアプリケーションによってスキャンされたQRコードのコピー(例えばビットマップ/画像)は、装置上に記憶されて、そして第2の(ダウンロードされた)アプリケーションへと(第1のアプリケーションによって)渡され、または第2のアプリケーションによってフェッチされて、ユーザが再度カメラを使用して装置からQRコードをスキャンすることを必要とすることなく、QRコードからデータを読み取ることができる。第2のアプリケーションは、QRコードのコピーを使用して、QRコードまたはコンテナの異なる部分からデータを読み取るか、または例えば同じデータ(例えば、QRコードの一部として符号化された搭載装置の識別子/キー/パスワード情報を読み取ることによる文字化けした情報などを含む、いくつかの追加パラメータが付加された情報を含むURL情報)を読み取ることができ、そこから第2のアプリケーションは、URLの第2の部分に符号化された識別子/キー/パスワード情報を適切に抽出することができる。
【0168】
前述の説明は、第2のアプリケーションを取得するための情報と、それを設定するための設定データとが、複数のデータコンテナを有するQRコードから取得されることができる状況を説明する。QRコードが複数のアプリケーションおよびそれらのそれぞれの設定データのためのコンテナを有することができることを理解されたい。これは、複数のタイプを設定するために同じ装置が使用されることができるという点で有用である。そのような状況では、どのコミッショニング/設定アプリケーションが使用されるべきかを示す情報をQRコード内に有することが便利だろう。
【0169】
以上、QRコードの符号化について説明した。第2のアプリケーションプログラムを取得するためのデータおよびそれを設定するためのデータを有するQRコードに関する一実施形態では、符号化情報からの符号化データは、アプリケーションおよび設定データのための少なくともヘッダおよびそれぞれのデータコンテナを含むことができる。ヘッダは、1つまたは複数のアプリケーションおよび設定データの存在を示す単一の識別子を含むことができる。複数のアプリケーションがある場合、ヘッダは、複数のアプリケーションのカウントと、アプリケーションごとのそれぞれのアプリケーション識別子とを含むことができる。データコンテナは、アプリケーションのアプリケーションデータを含むことができ、アプリケーションデータを格納するために予約された第1のQRコードのデータピクセルを指すことができる。追加の実施形態では、データコンテナは、アプリケーションデータを格納するために使用される第1のQRコード内の物理的位置を指すこともできる。データコンテナは、アプリケーションに関連付けられたデータを含むビット列の一部を指すこともできる。
【0170】
一般に、上記の実施形態は、複数アプリケーションコードを読み取ることによって、第1のアプリケーションを同時にインストールおよび設定することができる装置に適用可能である。そのような装置は第2のアプリケーションに組み込まれ、第2のアプリケーションは携帯電話上で動作することができる。
【0171】
本明細書および特許請求の範囲において、「アプリケーション」という用語は「アプリケーションプログラム」と同等であると理解される。
【0172】
開示された実施形態に対する他の変形例は、図面、開示及び添付の請求項の検討から、請求項に記載された発明を実施する際に当業者によって理解され及び実施されることができる。請求項において、単語「有する」は、他の要素又はステップを排除するものではなく、不定冠詞「a」又は「an」は、複数性を排除するものではない。単一のプロセッサまたは他のユニットは、特許請求の範囲に列挙されるいくつかのアイテムの機能を満たすことができる。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組み合わせが有利に使用されることができないことを示すものではない。
【0173】
本明細書および特許請求の範囲において、「A、BおよびCのうちの少なくとも1つ」という記述は、「A、BおよびCを含むリストからの1つまたは複数」を意味すると理解されるべきである。記述「A、BおよびCのグループから選択される少なくとも1つ」は、同じ、すなわち「A、BおよびCを含むリストからの1つまたは複数」を意味すると理解されるべきである。
【0174】
前述の説明は、本発明の特定の実施形態を詳述する。しかしながら、上記が本文中でいかに詳細であっても、本発明は多くの態様で実施することができ、したがって、開示された実施形態に限定されないことが理解されよう。本発明の特定の特徴または態様を説明する際の特定の用語の使用は、その用語が関連する本発明の特徴または態様の特定の特徴を含むように限定するように本明細書においてその用語が再定義されることを意味するものではないことに留意すべきである。
【0175】
単一のユニット又は装置が、請求項に列挙されるいくつかの項目の機能を満たしてもよい。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組み合わせが有利に使用されることができないことを示すものではない。
【0176】
説明した動作は、コンピュータプログラムのプログラムコード手段として、および/または専用ハードウェアとして実装されることができる。コンピュータプログラムは、他のハードウェアとともに、または他のハードウェアの一部として供給される光記憶媒体またはソリッドステート媒体などの適切な媒体上で記憶および/または配布され得るが、インターネットまたは他の有線もしくは無線電気通信システムなどの他の形態で配信されることもできる。
【0177】
参考資料:
[DPP] Device Provisioning Protocol - Technical Specification - Version 2.0, Wi-Fi Alliance, 2020,
(https://www.wi-fi.org/downloads-public/Wi-Fi_Easy_Connect_Specification_v2.0.pdf/35330)
[ISO 18004] ISO/IEC 18004:2015: Information technology - Automatic identification and data capture techniques: "QR Code bar code symbology specification"
【国際調査報告】