本発明の実施例は、NFCタグが処理され得るように、NFC端末のデバイスホストによるタグのフォーマットを決定するステップの低減を実現することができるタグ識別方法及び装置を提供する。
第1の態様によれば、本発明の実施例は、タグ識別方法を提供し、近距離無線通信(NFC)コントローラにより、タグのタイプを読み取るステップと、NFCコントローラにより、タグのタイプに従ってタグのフォーマットがNFCデータ交換フォーマット(NDEF)であるか否かを決定するステップと、NFCコントローラにより、タグのフォーマットがNDEFであることをNFCコントローラが決定した場合、通知メッセージをデバイスホストに送信するステップであり、通知メッセージは、タグのフォーマットがNDEFであることを含むステップとを含む。
第1の可能な実施例では、第1の態様を参照して、近距離無線通信(NFC)コントローラにより、タグのタイプを読み取る前に、この方法は、NFCコントローラにより、デバイスホストにより送信された構成コマンドを受信するステップであり、構成コマンドは、NFCコントローラがタグにおいてNDEF検出を実行するか否かを示すために使用されるステップを更に含む。
第2の可能な実施例では、第1の態様又は第1の態様の第1の可能な実施例を参照して、NFCコントローラにより、タグのタイプに従ってタグのフォーマットがNFCデータ交換フォーマット(NDEF)であるか否かを決定するステップは、タグのタイプがType 1である場合、NFCコントローラにより、タグのフォーマットがタグのヘッダ読み取り専用メモリ(HR)0に従ってNDEFであるか否かを決定するステップと、タグのタイプがType 2である場合、NFCコントローラにより、タグのフォーマットがタグの能力コンテナ(CC)に従ってNDEFであるか否かを決定するステップと、タグのタイプがType 3である場合、NFCコントローラにより、タグのフォーマットがタグのシステムコード(System Code)に従ってNDEFであるか否かを決定するステップと、タグのタイプがType 4である場合、NFCコントローラにより、タグのフォーマットがタグの能力コンテナ(CC)ファイルのファイル識別子に従ってNDEFであるか否かを決定するステップとを含む。
第3の可能な実施例では、第1の態様又は第1の態様の前述の可能な実施例の一方を参照して、NFCコントローラにより、デバイスホストにより送信された構成コマンドを受信する前に、この方法は、NFCコントローラにより、フォーマット機能メッセージをデバイスホストに送信するステップであり、フォーマット機能メッセージは、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持するステップを更に含む。
第4の可能な実施例では、第1の態様の第3の可能な実施例を参照して、NFCコントローラにより、フォーマット機能メッセージをデバイスホストに送信する前に、この方法は、NFCコントローラにより、デバイスホストにより送信された初期化コマンドを受信するステップを更に含み、NFCコントローラにより、フォーマット機能メッセージをデバイスホストに送信するステップは、NFCコントローラにより、初期化応答をデバイスホストに送信するステップであり、初期化応答は、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持するステップを含む。
第5の可能な実施例では、第1の態様の第1の可能な実施例を参照して、構成コマンドは、NFCコントローラがタグにおいてデータタイプ検出を実行することを示すために更に使用される。
第6の可能な実施例では、第1の態様又は第1の態様の前述の可能な実施例のいずれか1つを参照して、NFCコントローラにより、通知メッセージをデバイスホストに送信した後に、この方法は、NFCコントローラにより、NDEF無線周波数インタフェースを使用することによって、デバイスホストにより送信された読み取り/書き込みコマンドを受信するステップと、NFCコントローラにより、読み取り/書き込みコマンドをNDEF読み取り/書き込みコマンドに変換するステップと、NFCコントローラにより、NDEF読み取り/書き込みコマンドに従ってタグにおいてデータ読み取り/書き込みを実行するステップとを更に含む。
第2の態様によれば、本発明の実施例は、タグ識別装置を提供し、タグのタイプを読み取るように構成された読み取りモジュールと、タグのタイプに従ってタグのフォーマットがNFCデータ交換フォーマット(NDEF)であるか否かを決定するように構成された決定モジュールと、タグのフォーマットがNDEFであることを決定モジュールが決定した場合、通知メッセージをデバイスホストに送信するように構成された送信モジュールであり、通知メッセージは、タグのフォーマットがNDEFであることを含む送信モジュールとを含む。
第1の可能な実施例では、第2の態様を参照して、この装置は、デバイスホストにより送信された構成コマンドを受信するように構成された受信モジュールであり、構成コマンドは、NFCコントローラがタグにおいてNDEF検出を実行するか否かを示すために使用される受信モジュールを更に含む。
第2の可能な実施例では、第2の態様又は第2の態様の第1の可能な実施例を参照して、決定モジュールは、タグのタイプがType 1である場合、タグのフォーマットがタグのヘッダ読み取り専用メモリ(HR)0に従ってNDEFであるか否かを決定し、タグのタイプがType 2である場合、タグのフォーマットがタグの能力コンテナ(CC)に従ってNDEFであるか否かを決定し、タグのタイプがType 3である場合、タグのフォーマットがタグのシステムコード(System Code)に従ってNDEFであるか否かを決定し、タグのタイプがType 4である場合、タグのフォーマットがタグの能力コンテナ(CC)ファイルのファイル識別子に従ってNDEFであるか否かを決定するように具体的に構成される。
第3の可能な実施例では、第2の態様又は第2の態様の前述の可能な実施例の一方を参照して、送信モジュールは、フォーマット機能メッセージをデバイスホストに送信するように更に構成され、フォーマット機能メッセージは、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。
第4の可能な実施例では、第2の態様の第3の可能な実施例を参照して、受信モジュールは、デバイスホストにより送信された初期化コマンドを受信するように更に構成され、送信モジュールは、初期化応答をデバイスホストに送信するように更に構成され、初期化応答は、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。
第5の可能な実施例では、第2の態様の第1の可能な実施例を参照して、構成コマンドは、NFCコントローラがタグにおいてデータタイプ検出を実行することを示すために更に使用される。
第6の可能な実施例では、第2の態様又は第2の態様の前述の可能な実施例のいずれか1つを参照して、受信モジュールは、NDEF無線周波数インタフェースを使用することによって、デバイスホストにより送信された読み取り/書き込みコマンドを受信するように更に構成され、この装置は、読み取り/書き込みコマンドをNDEF読み取り/書き込みコマンドに変換するように構成された変換モジュールと、NDEF読み取り/書き込みコマンドに従ってタグにおいてデータ読み取り/書き込みを実行するように構成された処理モジュールとを更に含む。
第3の態様によれば、本発明の実施例は、タグ識別装置を提供し、この装置は、近距離無線通信(NFC)コントローラと、デバイスホストとを含み、NFCコントローラは、デバイスホストに接続され、NFCコントローラは、タグのタイプを読み取り、タグのタイプに従ってタグのフォーマットがNFCデータ交換フォーマット(NDEF)であるか否かを決定するように構成され、タグのフォーマットがNDEFであることをNFCコントローラが決定した場合、NFCコントローラは、通知メッセージをデバイスホストに送信し、通知メッセージは、タグのフォーマットがNDEFであることを含み、デバイスホストは、NFCコントローラにより送信された通知メッセージを受信するように構成される。
第1の可能な実施例では、第3の態様を参照して、デバイスホストは、構成コマンドをNFCコントローラに送信するように更に構成され、構成コマンドは、NFCコントローラがタグにおいてNDEF検出を実行するか否かを示すために使用され、NFCコントローラは、デバイスホストにより送信された構成コマンドを受信するように更に構成される。
第2の可能な実施例では、第3の態様又は第3の態様の第1の可能な実施例を参照して、NFCコントローラは、タグのタイプがType 1である場合、タグのフォーマットがタグのヘッダ読み取り専用メモリ(HR)0に従ってNDEFであるか否かを決定し、タグのタイプがType 2である場合、タグのフォーマットがタグの能力コンテナ(CC)に従ってNDEFであるか否かを決定し、タグのタイプがType 3である場合、タグのフォーマットがタグのシステムコード(System Code)に従ってNDEFであるか否かを決定し、タグのタイプがType 4である場合、タグのフォーマットがタグの能力コンテナ(CC)ファイルのファイル識別子に従ってNDEFであるか否かを決定するように具体的に構成される。
第3の可能な実施例では、第3の態様又は第3の態様の前述の可能な実施例の一方を参照して、NFCコントローラは、フォーマット機能メッセージをデバイスホストに送信するように更に構成され、フォーマット機能メッセージは、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。
第4の可能な実施例では、第3の態様の第3の可能な実施例を参照して、デバイスホストは、初期化コマンドをNFCコントローラに送信するように更に構成され、NFCコントローラは、デバイスホストにより送信された初期化コマンドを受信した後に、初期化応答をデバイスホストに送信するように更に構成され、初期化応答は、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。
第5の可能な実施例では、第3の態様の第1の可能な実施例を参照して、構成コマンドは、NFCコントローラがタグにおいてデータタイプ検出を実行することを示すために更に使用される。
第6の可能な実施例では、第3の態様又は第3の態様の前述の可能な実施例のいずれか1つを参照して、デバイスホストは、NFCコントローラにより送信された通知メッセージを受信した後に、NFCコントローラとデータ送信を実行するためにNDEF無線周波数インタフェースを確立するように更に構成される。
第7の可能な実施例では、第3の態様の第6の可能な実施例を参照して、デバイスホストは、NDEF無線周波数インタフェースを使用することによって、読み取り/書き込みコマンドをNFCコントローラに送信するように更に構成され、NFCコントローラは、NDEF無線周波数インタフェースを使用することによって、デバイスホストにより送信された読み取り/書き込みコマンドを受信し、読み取り/書き込みコマンドをNDEF読み取り/書き込みコマンドに変換し、NDEF読み取り/書き込みコマンドに従ってタグにおいてデータ読み取り/書き込みを実行するように更に構成される。
本発明の実施例で提供されるタグ識別方法及び装置によれば、NFCコントローラは、タグのタイプを読み取り、タグのタイプに従ってタグのフォーマットがNFCデータ交換フォーマットであるか否かを決定する。NFCコントローラは、タグのフォーマットがNFCデータ交換フォーマットであることをNFCコントローラが決定した場合、通知メッセージをデバイスホストに送信し、通知メッセージは、タグのフォーマットがNFCデータ交換フォーマットであるという情報を含む。デバイスホストがNFCタグの全内容を取得することによってのみ、NFCタグのフォーマットを決定することができ、このことは、デバイスホストがNFCタグの大量のデータを読み取り、比較的複雑な動作を実行することをもたらす従来技術と比べて、本発明の実施例は、NFCタグが処理され得るように、NFC端末のデバイスホストによるタグのフォーマットを決定するステップの低減を実現することができる。
以下に、本発明の実施例の添付図面を参照して、本発明の実施例の技術的対策を明確且つ完全に説明する。明らかに、説明する実施例は、本発明の実施例の全てではなく、一部に過ぎない。創造的取り組みを行うことなく、本発明の実施例に基づいて当業者により得られる全ての他の実施例は、本発明の保護範囲内に入るものとする。
図1に示すように、本発明の実施例は、タグ識別方法を提供し、この方法は以下を含む。
101:NFCコントローラは、タグのタイプを読み取る。
NFCコントローラは、NFC端末のコントローラである。NFC端末は、移動電話、タブレットコンピュータ又はカメラのようなNFC機能を有する端末でもよい。説明を容易にするために、一例としてNFC機能を有する移動電話を使用することにより実施例について説明する。NFCコントローラは、NFC無線周波数インタフェースでデータを送信する役目をする論理エンティティである。NFC機能を有する移動電話の例では、NFCコントローラは、移動電話のNFCチップを示す。
この実施例では、タグは、NFCタグである。NFCタグのタイプは、Type1、Type2、Type3及びType4である。NFCコントローラがタグのタイプを読み取る方式については、NFC Forum Analog標準、NFC Forum Digit標準及びNFC Forum Activity標準に参照が行われてもよい。
NFCコントローラは、タグを発見し、無線周波数発見を用いてタグの属性を取得してもよい。NFCコントローラがタグを発見し、無線周波数発見を用いてタグの属性を取得する処理については、NFC Forum Analog標準、NFC Forum Digit標準及びNFC Forum Activity標準に参照が行われてもよい。タグの属性は、タグのフォーマット、タグのデータタイプ、タグによりサポートされる機能等を含んでもよい。ここで、タグによりサポートされる機能は、NFCコントローラとタグとの間に通信を確立する処理において必要な能力を示す。
102:NFCコントローラは、タグのタイプに従ってタグのフォーマットがNDEFであるか否かを決定する。
NDEFは、情報交換の間の情報のカプセル化フォーマットを定義する。情報は、NFC端末の間又はNFC端末とNFCタグとの間で送信される。NDEFは、軽量のバイナリメッセージフォーマットでもよく、いずれかのタイプ及びいずれかのサイズの1つ以上のユーザ定義データをカプセル化するために使用されてもよい。
タグのタイプがType 1である場合、NFCコントローラは、タグのフォーマットがタグのヘッダ読み取り専用メモリ(Header Read-Only Memory、HR)0に従ってNDEFであるか否かを決定する。具体的に、HR0の長さが1バイトであり、HR0の4つの高位ビットが0001bである場合、NFCコントローラは、タグのフォーマットがNDEFであることを決定する。タグのタイプがType 2である場合、NFCコントローラは、タグのフォーマットがタグの能力コンテナ(Capability Container、CC)に従ってNDEFであるか否かを決定する。具体的に、CCの長さが4バイトであり、最初のバイトの値がE1h(E1は16進フォーマットである)である場合、NFCコントローラは、タグのフォーマットがNDEFであることを決定する。タグのタイプがType 3である場合、NFCコントローラは、タグのフォーマットがタグのSystem Codeに従ってNDEFであるか否かを決定する。具体的に、System Codeの長さが2バイトであり、System Codeの値が12FCh(12FCは16進フォーマットである)である場合、NFCコントローラは、タグのフォーマットがNDEFであることを決定する。タグのタイプがType 4である場合、NFCコントローラは、タグのフォーマットがタグの能力コンテナ(Capability Container、CC)ファイルのファイル識別子に従ってNDEFであるか否かを決定する。具体的に、CCファイルのファイル識別子の長さが2バイトであり、CCファイルのファイル識別子の値がE103h(E103は16進フォーマットである)である場合、NFCコントローラは、タグのフォーマットがNDEFであることを決定する。
任意選択で、タグのフォーマットがNDEFであることをNFCコントローラが決定した場合、NFCコントローラは、タグのデータタイプを更に決定してもよい。タグは、8個のデータタイプを有する。具体的に、NFCコントローラは、タグ(Type 1、Type 2、Type 3及びType 4)のTNFフィールドからデータタイプ情報を取得し、データタイプ情報の内容に従ってタグのデータタイプを決定する。TNFフィールドの値は、0x00、0x01、0x02、0x03、0x04、0x05、0x06又は0x07でもよく、NFCコントローラは、TNFフィールドの値に従ってタグのデータタイプ情報を決定してもよい。タグのデータタイプは、具体的にNDEFメッセージのタイプである。0x00は、NDEFメッセージが空のメッセージであることを表す。0x01は、NDEFメッセージがNFC Forum標準団体によるRTD(Record Type Define)標準に定義された内部データタイプを格納することを表す。0x02は、NDEFメッセージが画像及び音声のようなRFC(Request For Comments)2046標準に定義されたメディアタイプを格納することを表す。0x03は、NDEFメッセージがRFC 3986標準に定義されたユニフォーム・リソース・アイデンテフィア(Uniform Resource Identifier、URI)を格納することを表す。0x04は、NDEFメッセージがNFC Forum標準団体によるRTD(Record Type Define)標準に定義された外部データタイプを格納することを表す。0x05は、NDEFメッセージが未知のタイプの1つのデータを格納することを表す。0x06は、NDEFメッセージが連続するNDEFタグの系列の中の中間のタグであることを表し、タグのデータタイプは、前のNDEFタグのものと同じである。0x07は、NDEFメッセージが留保されて一時的に使用されていないことを表す。
103:NFCコントローラは、タグのフォーマットがNDEFであることをNFCコントローラが決定した場合、通知メッセージをデバイスホストに送信する。通知メッセージは、タグのフォーマットがNDEFであるという情報を含む。
デバイスホストは、初期化、構成及び電力管理のようなNFCコントローラの管理を含み、NFC端末及び周辺機器の動作環境を管理する役目をする。NFC機能を有する移動電話の例では、デバイスホストは、移動電話のCPUを示してもよい。
この実施例では、例えば、NFCコントローラは、通知メッセージをデバイスホストに送信する。例えば、通知メッセージは、無線周波数発見通知(
RF_DISCOVER_NTF)である。
RF_DISCOVER_NTFの具体的な形式は表1に示されている。
表1において、フィールドにより示される意味又は値の例は以下の通りである。
NDEF Infoは、1バイト(1 Octet)を占有するNDEF情報を示す。
Xは、タグのフォーマットがNDEFであるか否かを示す。
X≠0000 0000である場合、これは、タグのフォーマットがNDEFであることを示す。
任意選択で、タグのフォーマットがNFCデータ交換フォーマットでないことをNFCコントローラが決定した場合、NFCコントローラは、依然として通知メッセージをデバイスホストに送信してもよい。通知メッセージ(RF_DISCOVER_NTF)のXがX=0000 0000を満たす場合、これは、タグのフォーマットがNDEFでないことを示す。
任意選択で、NFCコントローラによりデバイスホストに送信される通知メッセージは、タグのデータタイプを更に含んでもよい。例えば、NFCコントローラは、
RF_DISCOVER_NTFをデバイスホストに送信する。
RF_DISCOVER_NTFの具体的な形式は表2に示されている。
表2において、フィールドにより示される意味又は値の例は以下の通りである。NDEF Infoの詳細な説明については、表1の説明に参照が行われてもよく、ここでは詳細について再び説明しない。
タイプ名フォーマット(Type Name Format、TNF)は、タグのデータタイプについての情報を示し、1バイト(1 Octet)を占有する。
X=0x00である場合、これは、NDEFメッセージが空のメッセージであることを示す(タグはNDEFメッセージを含む)。
X=0x01である場合、これは、NDEFメッセージがNFC Forum標準団体によるRTD(Record Type Define)標準に定義された内部データタイプ等を格納することを示す。
この実施例では、Xはタグの具体的なデータタイプを示すことに限定されない点に留意すべきである。例えば、X=0x07である場合、これは、NDEFメッセージが留保されて一時的に使用されていないことを示す。
本発明のこの実施例で提供されるタグ識別方法によれば、NFCコントローラは、タグのタイプを読み取り、タグのタイプに従ってタグのフォーマットがNFCデータ交換フォーマットであるか否かを決定する。NFCコントローラは、タグのフォーマットがNFCデータ交換フォーマットであることをNFCコントローラが決定した場合、通知メッセージをデバイスホストに送信し、通知メッセージは、タグのフォーマットがNFCデータ交換フォーマットであるという情報を含む。デバイスホストがNFCタグの全内容を取得することによってのみ、NFCタグのフォーマットを決定することができ、このことは、デバイスホストがNFCタグの大量のデータを読み取り、比較的複雑な動作を実行することをもたらす従来技術と比べて、本発明のこの実施例は、NFCタグが処理され得るように、NFC端末のデバイスホストによるタグのフォーマットを決定するステップの低減を実現することができる。
本発明の他の実施例では、タグ識別方法が提供される。図2に示すように、この方法は以下を含む。
201:NFCコントローラは、フォーマット機能メッセージをデバイスホストに送信する。フォーマット機能メッセージは、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。
任意選択で、NFCコントローラは、以下の2つの方式でフォーマット機能メッセージをデバイスホストに送信する。
方式1:デバイスホストは、初期化コマンドをNFCコントローラに送信する。NFCコントローラは、初期化コマンドを受信した後に、初期化応答をデバイスホストに送信する。すなわち、フォーマット機能メッセージは、具体的に初期化応答であり、初期化コマンドは、NFCコントローラを初期化するために使用される。例えば、デバイスホストは、CORE_INIT_CMD(初期化コマンド)をNFCコントローラに送信する。すなわち、デバイスホストは、NFCコントローラを初期化する。次に、NFCコントローラは、CORE_INIT_CMD を受信した後に、CORE_INIT_RSP(初期化応答)をデバイスホストにフィードバックする。CORE_INIT_RSP応答において、Supported RF Interfaceフィールドが0x04、すなわち、NDEF Access RF Interfaceを含む場合、これは、NFCコントローラがNDEFを検出する能力を有することを示す。
方式2:デバイスホストは、フォーマット問い合わせコマンドをNFCコントローラに送信する。NFCコントローラは、フォーマット問い合わせコマンドを受信した後に、フォーマット問い合わせ応答をデバイスホストに送信する。すなわち、フォーマット機能メッセージは、具体的にフォーマット問い合わせ応答である。例えば、デバイスホストは、FORMAT_INQ_CMD(フォーマット問い合わせコマンド)をNFCコントローラに送信し、次に、NFCコントローラは、FORMAT_INQ_CMDを受信した後に、FORMAT_INQ_RSP(フォーマット問い合わせ応答)をデバイスホストにフィードバックする。
明らかに、この実施例は、例として使用された前述の2つの方式に限定されない。NFCコントローラは、デバイスホストに送信されるメッセージに、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を更に追加してもよい。
202:デバイスホストは、構成コマンドをNFCコントローラに送信する。構成コマンドは、NFCコントローラがタグにおいてNDEF検出を実行するか否かを示すために使用される。
例えば、デバイスホストは、CORE_SET_CONFIG_CMDコマンドをNFCコントローラに送信する。CORE_SET_CONFIG_CMDコマンドは、フォーマットパラメータを含む。フォーマットパラメータの具体的な形式は表3に示されている。
表3において、フィールドにより示される意味又は値の例は以下の通りである。
Parameter 1は、フォーマットパラメータを示し、フォーマットパラメータは3バイト(3 Octets)を有する。
ID(識別子)は、1バイト(1 Octet)を占有し、0xA0は、フォーマットパラメータの識別子を示す。
Len(長さ)は、1バイト(1 Octet)を占有し、1は、Valの長さが1バイトであることを示す。
Val(値)は、1バイト(1 Octet)を占有し、Valの値が0000 0000である場合、これは、構成コマンドがNFCコントローラに対してタグにおいてNDEF検出を実行しないように命令することを示す。Valの値がゼロでない場合(例えば、0000 0001)、これは、構成コマンドがNFCコントローラに対してタグにおいてNDEF検出を実行するように命令することを示す。
Parameter 1により占有されるバイトの値は、この実施例では限定されない点に留意すべきである。Parameter 1に含まれるID、Len又はValにより占有されるバイトが変化した場合、Parameter 1により占有されるバイトの値も変化してもよい。
任意選択で、構成コマンドは、NFCコントローラがタグにおいてデータタイプ検出を実行することを示すために更に使用される。デバイスホストによりNFCコントローラに送信されたCORE_SET_CONFIG_CMDコマンドが、NFCコントローラがタグにおいてデータタイプ検出を実行することを示すために更に使用される場合、CORE_SET_CONFIG_CMDコマンドは、フォーマットパラメータとデータタイプパラメータとを含む。CORE_SET_CONFIG_CMDについて2つの表現方式が存在し、具体的な形式は表4及び表5に示されている。
フォーマットパラメータParameter 1の詳細な説明については、表3の説明に参照が行われてもよく、ここでは詳細について再び説明しない。
表4において、フィールドにより示される意味又は値の例は以下の通りである。
Parameter 2は、データタイプパラメータを示し、データタイプパラメータは3バイト(3 Octets)を有する。
ID(識別子)は、1バイト(1 Octet)を占有し、0xA1は、データタイプパラメータの識別子を示す。
Len(長さ)は、1バイト(1 Octet)を占有し、1は、Valの長さが1バイトであることを示す。
Val(値)は、1バイト(1 Octet)を占有し、Valの値Xが0101 0000である場合、これは、構成コマンドがNFCコントローラに対して第2及び第4のデータタイプにおいて検出を実行するように命令することを示す。タグは8個のデータタイプを有することが分かり得る。デバイスホストは、8個のデータタイプを特定の順序に配置し、Valの値の各ビットを1つのデータタイプに対応付けさせる。Xのビットが1である場合、これは、そのビットに対応するデータタイプが検出される必要があることを示す。ビットが0である場合、これは、そのビットに対応するデータタイプが検出される必要がないことを示す。例えば、第1のタイプから第8のタイプまでの8個のデータタイプの系列は、0x00、0x01、0x02、0x03、0x04、0x05、0x06及び0x07のようになる。相応して、第1のビットは0x00に対応し、第2のビットは0x01に対応し、第3のビットは0x02に対応し、第4のビットは0x03に対応し、類推して、第8のビットは0x07に対応する。表4の構成コマンドの要件に従って、NFCコントローラは、タグのデータタイプが2つのデータタイプの一方、すなわち、0x01又は0x03であるか否かを検出する。
表5において、フィールドにより示される意味又は値の例は以下の通りである。フォーマットパラメータParameter 1の詳細な説明については、表3の説明に参照が行われてもよく、ここでは詳細について再び説明しない。
Parameter 2は、データタイプパラメータを示し、データタイプパラメータは3バイト(3 Octets)を有する。
ID(識別子)は、1バイト(1 Octet)を占有し、0xA1は、データタイプパラメータの識別子を示す。
Len(長さ)は、1バイト(1 Octet)を占有し、1は、Valの長さが1バイトであることを示す。
Val(値)は、1バイト(1 Octet)を占有し、Valの値が0000 0000である場合、これは、構成コマンドがNFCコントローラに対してタグにおいてデータタイプ検出を実行しないように命令することを示す。Valの値がゼロでない場合(例えば、0000 0001)、これは、構成コマンドがNFCコントローラに対してタグにおいてデータタイプ検出を実行するように命令することを示す。
このステップにおいて、デバイスホスト、NFCコントローラ及びNDEFの説明については、図1のステップ102に参照が行われてもよい。
203:NFCコントローラは、構成コマンド応答メッセージをデバイスホストに送信する。
デバイスホストにより送信された構成コマンドを受信した後に、NFCコントローラは、構成コマンド応答メッセージをデバイスホストに送信する。構成コマンド応答メッセージは、CORE_SET_CONFIG_RSPでもよい。
204:デバイスホストは、無線周波数発見開始コマンドをNFCコントローラに送信する。
NFCコントローラにより送信された構成コマンド応答メッセージを受信した後に、デバイスホストは、無線周波数発見開始コマンドをNFCコントローラに送信する。或いは、デバイスホストは、構成コマンドを送信した後に所定の時間だけ待機し、無線周波数発見開始コマンドをNFCコントローラに送信することを開始する。例えば、デバイスホストは、RF_DIS_CMD(無線周波数発見開始コマンド)をNFCコントローラに送信する。
所定の時間の範囲は、この実施例では限定されない。例えば、所定の時間が200msである場合、デバイスホストは、構成コマンドをNFCコントローラに送信した200ms後に、無線周波数発見開始コマンドをNFCコントローラに送信することを開始する。
205:NFCコントローラは、無線周波数発見応答メッセージをデバイスホストに送信し、タグのタイプを読み取るための無線周波数発見を開始する。
無線周波数発見応答メッセージは、NFCコントローラが無線周波数発見開始コマンドを受信したという通知情報を含む。例えば、NFCコントローラは、RF_DIS_RSP(無線周波数発見応答メッセージ)をデバイスホストに送信する。
206:NFCコントローラは、タグのフォーマットがタグのタイプに従ってNDEFであるか否かを決定する。
NFCコントローラが、タグのフォーマットがNDEFであるか否かを決定する方式については、図1のステップ102に参照が行われてもよく、ここでは詳細について再び説明しない。
207:タグのフォーマットがNDEFであることを決定した場合、NFCコントローラは、タグのデータタイプを決定する。
このステップは任意選択のステップであり、NFCコントローラがタグのデータタイプを検出することを示す情報を構成コマンドが更に含む場合にのみ、NFCコントローラがステップ207を実行する必要がある点に留意すべきである。従って、図2において、ステップ207は点線のボックスで表される。
NFCコントローラがタグのデータタイプを決定する方式については、依然として図1のステップ102に参照が行われてもよい。
208:NFCコントローラは、通知メッセージをデバイスホストに送信する。
通知メッセージの詳細な説明については、図1のステップ103に参照が行われてもよい。
209:タグのフォーマットがNDEFである場合、デバイスホストは、NDEF無線周波数インタフェースを確立する。
NDEF無線周波数インタフェースは、デバイスホストとNFCコントローラとの間のインタフェースである。NFCコントローラは、NDEF無線周波数インタフェースを使用することによって、NFCコントローラとタグ(タグのフォーマットはNDEFである)との間で送信されたデータをデバイスホストに送信する。或いは、デバイスホストは、まずNDEF無線周波数インタフェースを使用することによって、タグに送信されるべきデータをNFCコントローラに送信し、次にNFCコントローラがデータをタグに転送する。
具体的に、デバイスホストは、RF_DISCOVER_SELECT_CMD(無線周波数発見選択コマンド)をNFCコントローラに送信する。RF_DISCOVER_SELECT_CMDは、デバイスホストがNDEF
無線周波数インタフェースを確立したという情報を含む。RF_DISCOVER_SELECT_CMDの具体的な形式は表6に示されている。
表6において、フィールドにより示される意味又は値の例は以下の通りである。
RF Discovery IDは、無線周波数発見識別子を示し、無線周波数発見に対応するタグを識別するために使用される。
XXは、タグの識別子を示す。
RF Protocolは、NFCコントローラとタグとの間の通信の方式(例えば、タグプロトコル)を示す。
RF Interfaceは、デバイスホストとNFCコントローラとの間のインタフェース(例えば、NDEF無線周波数インタフェース)を示す。
デバイスホストとNFCコントローラとの間にNDEF無線周波数インタフェースが確立された後、且つ、NFCコントローラがデバイスホストにより送信されたデータを受信した後に、NFCコントローラは、データをタグにより受信可能なフォーマットのデータに変換してもよい。タグは、NDEF無線周波数インタフェースに対応するRF Discover IDにより識別されるタグである。
ステップ201〜209において、デバイスホストとの相互作用を実行するためにNFCコントローラにより使用されるインタフェースは、NFCコントローラインタフェース(NFC controller Interface、NCI)でもよいことが分かり得る。NCIは、デバイスホストとNFCコントローラとの間の論理インタフェースであり、NCIは、デバイスホストとNFCコントローラとの間で様々なコマンドを送信するように構成される。
210:デバイスホストは、NDEF無線周波数インタフェースを使用することによって、読み取り/書き込みコマンドをNFCコントローラに送信する。
読み取り/書き込みコマンドは、タグのデータを取得するために使用される。或いは、読み取り/書き込みコマンドは、タグのデータを変更するために使用される。
211:NFCコントローラは、読み取り/書き込みコマンドをNDEF読み取り/書き込みコマンドに変換し、NDEF読み取り/書き込みコマンドに従ってタグにおいてデータ読み取り/書き込みを実行する。
異なるタイプのNFCタグにより受信される読み取り/書き込みコマンドの内容は異なる。例えば、Type1により受信される読み取り/書き込みコマンドはReadであり、Type2により受信される読み取り/書き込みコマンドはRである。NFCコントローラは、NDEF無線周波数インタフェースを使用することによって、デバイスホストにより送信された読み取り/書き込みコマンドを異なるタイプのタグに対応するNDEF読み取り/書き込みコマンドに変換する。NDEF読み取り/書き込みコマンドは、NDEF読み取りコマンドでもよく、NDEF書き込みコマンドでもよい。
例えば、NFCコントローラは、NDEF読み取りコマンドをタグに送信し、NDEF読み取りコマンドは、NFCタグに対してタグのデータを送信するように命令する。NDEF読み取りコマンドを受信した後に、NFCタグは、タグのデータをNFCコントローラに送信する。
212:NFCコントローラは、タグのデータをデバイスホストに送信する。
213:デバイスホストは、受信したタグのデータをNFCアプリケーションに送信する。
ステップ213の前に、デバイスホストは、NFCアプリケーションにより送信された登録メッセージを受信してもよい点に留意すべきである。具体的に、インストールされた後又は最初に実行したときに、NFCアプリケーションは、タグのデータタイプを処理するNFCアプリケーションの能力に従ってデバイスホストとの登録を実行する。例えば、NFCスキャニングをサポートするブラウザアプリケーションプログラムは、データタイプ、すなわち、URI(0x03)をデバイスホストに登録してもよい。
タグのフォーマットがNDEFであることを通知メッセージが含む場合、デバイスホストは、タグのデータを実行アプリケーションに送信する。例えば、実行アプリケーションは、NFCスキャニングをサポートするブラウザ、NFCスキャニングをサポートするビデオプレイヤ、及びNFCスキャニングをサポートする写真アルバムを含む。デバイスホストは、タグのデータを前述の3つの実行アプリケーションに送信し、前述の3つの実行アプリケーションは、実際の状況(タグのデータタイプを処理するアプリケーションの能力)に従ってタグを処理する。
通知メッセージが、タグのフォーマットがNDEFであることを含み、タグのデータタイプを含む場合、デバイスホストは、タグのデータをデータタイプに対応するアプリケーションに送信する。例えば、実行アプリケーションは、NFCスキャニングをサポートするブラウザ、NFCスキャニングをサポートするビデオプレイヤ、及びNFCスキャニングをサポートする写真アルバムを含む。タグのデータタイプがURI(0x03)である場合、デバイスホストは、タグのデータタイプに従って、タグのデータをNFCスキャニングをサポートするブラウザに送信する。
本発明のこの実施例で提供されるタグ識別方法によれば、NFC端末のデバイスホストが、NFCコントローラを使用することによりタグのフォーマット及びタグのデータタイプを決定することが実現され得る。タグのフォーマット及びタグのデータタイプを取得した後に、デバイスホストは、タグのデータタイプに従って、処理のためにタグのデータをタグのデータタイプに対応するアプリケーションに送信する。これにより、デバイスホストは、タグの全内容を分析する必要なく、タグのフォーマット及びタグのデータタイプを決定することができる。更に、デバイスホストにより確立されたNDEF無線周波数インタフェースは、NFCタグのデータがデバイスホストとNFCコントローラとの間で送信されることを可能にし得る。これにより、タグがデバイスホストにより処理され得るという目的を達成する。
本発明のこの実施例の実現方式では、デバイスホストとNFCコントローラとの間の送信インタフェースが明確に記載されている。図3に示すように、デバイスホストがNFCコントローラにより送信された通知メッセージを受信する前に(すなわち、デバイスホストがNDEF無線周波数インタフェースを確立する前に)、デバイスホストとNFCコントローラとの間のコマンド送信は、NCIを使用することにより実行される。デバイスホストがNFCコントローラにより送信された通知メッセージを受信した後に、デバイスホストは、NDEF無線周波数インタフェースを確立し、デバイスホストとNFCコントローラとの間のNDEFデータ送信は、NDEF無線周波数インタフェースを使用することによって実行される。
図4に示すように、本発明の実施例は、読み取りモジュール401と、決定モジュール402と、送信モジュール403とを含むタグ識別装置40を提供する。この装置は、NFC端末のユニット、例えば、NFCコントローラでもよい。
読み取りモジュール401は、タグのタイプを読み取るように構成される。
決定モジュール402は、タグのタイプに従ってタグのフォーマットがNDEFであるか否かを決定し、決定の結果を送信モジュール403に送信するように構成される。
送信モジュール403は、タグのフォーマットがNDEFであることを決定モジュール402が決定した場合、通知メッセージをデバイスホストに送信するように構成される。通知メッセージは、タグのフォーマットがNDEFであることを含む。
通知メッセージの詳細な説明については、図1のステップ103に参照が行われてもよい。
更に、図5に示すように、タグ識別装置50において、タグ識別装置50は、受信モジュール404と、変換モジュール405と、処理モジュール406とを更に含む。
具体的に、読み取りモジュール401がタグのタイプを読み取る前に、送信モジュール403は、フォーマット機能メッセージをデバイスホストに送信する。フォーマット機能メッセージは、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。具体的に、フォーマット機能メッセージは、初期化応答でもよい。例えば、受信モジュール404は、デバイスホストにより送信された初期化コマンドを受信する。次に、送信モジュール403は、初期化応答をNFCコントローラに送信する。初期化応答は、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。
NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を初期化応答が保持する場合、受信モジュール404は、デバイスホストにより送信された構成コマンドを受信する。構成コマンドは、NFCコントローラがタグにおいてNDEF検出を実行するか否かを示すために使用される。NFCコントローラがタグにおいてNDEF検出を実行する必要があることを構成コマンドが示す場合、読み取りモジュール401は、タグのタイプを読み取ることが分かり得る。
任意選択で、構成コマンドは、NFCコントローラがタグにおいてデータタイプ検出を実行することを示すために更に使用される。
更に、タグのタイプがType 1である場合、決定モジュール402は、タグのフォーマットがタグのHR0に従ってNDEFであるか否かを決定する。タグのタイプがType 2である場合、決定モジュール402は、タグのフォーマットがタグのCCに従ってNDEFであるか否かを決定する。タグのタイプがType 3である場合、決定モジュール402は、タグのフォーマットがタグのSystem Codeに従ってNDEFであるか否かを決定する。タグのタイプがType 4である場合、決定モジュール402は、タグのフォーマットがタグのCCファイルのファイル識別子に従ってNDEFであるか否かを決定する。
更に、送信モジュール403が通知メッセージをデバイスホストに送信した後に、受信モジュール404は、NDEF無線周波数インタフェースを使用することによって、デバイスホストにより送信された読み取り/書き込みコマンドを受信し、変換モジュール405は、読み取り/書き込みコマンドをNDEF読み取り/書き込みコマンドに変換し、次に、処理モジュール406は、NDEF読み取り/書き込みコマンドに従ってタグにおいてデータ読み取り/書き込みを実行する。
本発明のこの実施例で提供されるタグ識別装置によれば、NFC端末のデバイスホストが、NFCコントローラを使用することによりタグのフォーマット及びタグのデータタイプを決定することが実現され得る。タグのフォーマット及びタグのデータタイプを取得した後に、デバイスホストは、タグのデータタイプに従って、処理のためにNFCタグのデータをタグのデータタイプに対応するアプリケーションに送信する。これにより、デバイスホストは、NFCタグの全内容を分析する必要なく、タグのフォーマット及びタグのデータタイプを決定することができる。
図6に示すように、本発明の実施例は、NFCコントローラ601と、デバイスホスト602とを含むタグ識別装置60を提供する。NFCコントローラ601は、デバイスホスト602に接続される。
NFCコントローラ601は、タグのタイプを読み取り、タグのタイプに従ってタグのフォーマットがNFCデータ交換フォーマット(NDEF)であるか否かを決定するように構成される。タグのフォーマットがNDEFであることをNFCコントローラ601が決定した場合、NFCコントローラ601は、通知メッセージをデバイスホスト602に送信する。通知メッセージは、タグのフォーマットがNDEFであることを含む。
タグのタイプがType 1である場合、NFCコントローラ601は、タグのフォーマットがタグのHR0に従ってNDEFであるか否かを決定する。タグのタイプがType 2である場合、NFCコントローラ601は、タグのフォーマットがタグのCCに従ってNDEFであるか否かを決定する。タグのタイプがType 3である場合、NFCコントローラ601は、タグのフォーマットがタグのSystem Codeに従ってNDEFであるか否かを決定する。タグのタイプがType 4である場合、NFCコントローラ601は、タグのフォーマットがタグのCCファイルのファイル識別子に従ってNDEFであるか否かを決定する。
通知メッセージの詳細な説明については、図1のステップ103に参照が行われてもよい。
デバイスホスト602は、NFCコントローラ601により送信された通知メッセージを受信するように構成される。
更に、NFCコントローラ601は、フォーマット機能メッセージをデバイスホスト602に送信するように更に構成される。フォーマット機能メッセージは、NFCコントローラ601がタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。具体的に、フォーマット機能メッセージは、初期化応答でもよい。例えば、デバイスホスト602は、まず初期化コマンドをNFCコントローラ601に送信する。デバイスホスト602により送信された初期化コマンドを受信した後に、NFCコントローラ601は、初期化応答をデバイスホスト602に送信する。初期化応答は、NFCコントローラがタグにおいてNDEF検出を実行する能力を有するか否かについての情報を保持する。
更に、デバイスホスト602は、構成コマンドをNFCコントローラに送信するように更に構成される。構成コマンドは、NFCコントローラ601がタグにおいてNDEF検出を実行するか否かを示すために使用される。
NFCコントローラ601は、デバイスホスト602により送信された構成コマンドを受信するように更に構成される。
任意選択で、構成コマンドは、NFCコントローラ601がタグにおいてデータタイプ検出を実行することを示すために使用される。
更に、デバイスホスト602は、NFCコントローラ601により送信された通知メッセージを受信した後に、NFCコントローラ601とデータ送信を実行するためにNDEF無線周波数インタフェースを確立するように更に構成される。
更に、デバイスホスト602は、NDEF無線周波数インタフェースを使用することによって、読み取り/書き込みコマンドをNFCコントローラ601に送信するように更に構成される。
NFCコントローラ601は、NDEF無線周波数インタフェースを使用することによって、デバイスホスト602により送信された読み取り/書き込みコマンドを受信し、読み取り/書き込みコマンドをNDEF読み取り/書き込みコマンドに変換し、NDEF読み取り/書き込みコマンドに従ってタグにおいてデータ読み取り/書き込みを実行するように更に構成される。
図6に示す装置は、NFC端末でもよく、NFC端末は、移動電話、タブレットコンピュータ及びカメラのようなNFC機能を有する端末でもよい。
図6に示す装置60においてモジュールの具体的な実現処理及びモジュールの間の情報交換のような内容は、本発明の方法の実施例と同じ発明の概念に基づくため、方法の実施例に参照が行われてもよく、ここでは詳細について再び説明しない点に留意すべきである。
本発明のこの実施例で提供されるタグ識別装置によれば、NFC端末のデバイスホストが、NFCコントローラを使用することによりタグのフォーマット及びタグのデータタイプを決定することが実現され得る。タグのフォーマット及びタグのデータタイプを取得した後に、デバイスホストは、タグのデータタイプに従って、処理のためにNFCタグのデータをタグのデータタイプに対応するアプリケーションに送信する。これにより、デバイスホストは、NFCタグの全内容を分析する必要なく、タグのフォーマット及びタグのデータタイプを決定することができる。
便宜上且つ簡潔な説明の目的で、前述の機能モジュールの分割は説明のための例として挙げられていることが、当業者により明確に分かり得る。実際の用途では、前述の機能は、要件に従って異なる機能モジュールに割り当てられて実現されてもよい。すなわち、装置の内部構成は、前述の機能の全部又は一部を実現するために、異なる機能モジュールに分割される。前述のシステム、装置及びユニットの詳細な動作処理については、前述の方法の実施例の対応する処理に参照が行われてもよく、ここでは詳細について再び説明しない。
この出願で提供される複数の実施例では、開示の装置及び方法は他の方式で実現されてもよいことが分かるべきである。例えば、記載の装置の実施例は、単なる例示である。例えば、モジュール又はユニットの分割は、単に論理的な機能分割であり、実際の実現では他の分割でもよい。例えば、複数のユニット又はコンポーネントは結合されてもよく、他のシステムに統合されてもよく、いくつかの機能が無視されてもよく実行されなくてもよい。更に、表示又は説明した相互結合若しくは直接結合又は通信接続は、いくつかのインタフェースを使用することにより実現されてもよい。装置又はユニットの間の間接結合又は通信接続は、電気的、機械的又は他の形式で実現されてもよい。
別々の部分として記載したユニットは、物理的に別々でもよく別々でなくてもよい。ユニットとして表示された部分は、物理的なユニットでもよく物理的なユニットでなくてもよく、1つの位置に存在してもよく、複数のネットワークユニットに分散されてもよい。ユニットの一部又は全部は、実施例の対策の目的を達成するために、実際のニーズに従って選択されてもよい。
更に、本発明の実施例における機能ユニットは、1つの処理ユニットに統合されてもよく、ユニットのそれぞれが物理的に単独で存在してもよく、2つ以上のユニットが1つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形式で実現されてもよく、ソフトウェアの機能ユニットの形式で実現されてもよい。
統合されたユニットがソフトウェア機能ユニットの形式で実現され、独立したプロダクトとして販売又は使用される場合、統合されたユニットは、コンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、基本的に本発明の技術的対策若しくは従来技術に寄与する部分、又は技術的対策の全部若しくは一部は、ソフトウェアプロダクトの形式で実現されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体に記憶され、コンピュータデバイス(パーソナルコンピュータ、サーバ又はネットワークデバイス等でもよい)又はプロセッサに対して本発明の実施例に記載の方法のステップの一部又は全部を実行するように命令する複数の命令を含む。前述の記憶媒体は、USBフラッシュドライブ、取り外し可能ハードディスク、読み取り専用メモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク又は光ディスクのようなプログラムコードを格納し得るいずれかの媒体を含む。
前述の説明は本発明の単に特定の実現方式に過ぎず、本発明の保護範囲を限定することを意図するものではない。本発明に開示された技術的範囲内で当業者により容易に認識される如何なる変更又は置換も、本発明の保護範囲内に入るものとする。従って、本発明の保護範囲は、特許請求の範囲の保護範囲に従うものとする。