(57)【要約】  本開示は、全体のRF トランザクション時間の短縮に寄与することができるようにする通信装置および方法に関する。  通信装置（２）において、アプリケーション選択部は、通信対象の装置（１）がホストするアプリケーションを選択し、識別情報取得部は、アプリケーションが選択された後、通信対象の装置（１）の識別情報を取得する。本開示は、例えば、通信システムに適用することができる。
2018198813.tif 000002
【特許請求の範囲】
【請求項１】
通信対象の装置がホストするアプリケーションを選択するアプリケーション選択部と、  前記アプリケーション選択部によりアプリケーションが選択された後、前記通信対象の装置の識別情報を取得する識別情報取得部と  を備える通信装置。
【請求項２】
前記アプリケーション選択部は、アンチコリジョン処理の最初に送るコマンドにアプリケーション識別情報を含めることで、前記通信対象の装置がホストするアプリケーションを選択し、  前記識別情報取得部は、前記アンチコリジョン処理を行って、前記通信対象の装置の識別情報を取得する  請求項１に記載の通信装置。
【請求項３】
前記アプリケーション識別情報は、２バイトからなる  請求項２に記載の通信装置。
【請求項４】
前記アンチコリジョン処理は、タイムスロットを用いて行われる  請求項３に記載の通信装置。
【請求項５】
前記アンチコリジョン処理の最初のコマンドのSEL値は、所定の値とする  請求項２に記載の通信装置。
【請求項６】
前記アプリケーション識別情報を指定し、タイムスロットを指定する前記アンチコリジョン処理に先立って、初期化処理の先頭に、前記通信対象の装置の存在有無検出を行う装置検出部を  さらに備える請求項２に記載の通信装置。
【請求項７】
前記アプリケーション識別情報を指定し、ビットコリジョンを用いた前記アンチコリジョン処理に先立って、初期化処理の先頭に、前記通信対象の装置の存在有無検出を行う装置検出部を  さらに備える請求項２に記載の通信装置。
【請求項８】
前記アプリケーション選択部は、スタンダードフレームを用いた拡張ポーリングコマンドを用いて、前記通信対象の装置がホストするアプリケーションを選択する  請求項１に記載の通信装置。
【請求項９】
前記拡張ポーリングコマンドは、前記アプリケーション識別情報および前記アプリケーション識別情報の長さを格納する  請求項８に記載の通信装置。
【請求項１０】
前記拡張ポーリングコマンドは、アプリケーション識別情報の種類毎に分類されたコマンドからなる  請求項８に記載の通信装置。
【請求項１１】
前記拡張ポーリングコマンドを受信した通信対象の装置が送信してくる応答コマンドは、前記通信対象の装置の識別情報およびプロトコル情報の少なくともいずれかを含む  請求項８に記載の通信装置。
【請求項１２】
前記アプリケーション選択部は、通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を、タイムスロットを導入して行う  請求項１に記載の通信装置。
【請求項１３】
前記アプリケーション選択部は、通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を行い、  前記アプリケーション識別情報は、２バイトに追加指定可能に構成されている  請求項１に記載の通信装置。
【請求項１４】
前記アプリケーション選択部は、通信の初期化処理の先頭で、ポーリング処理により、前記通信対象の装置の存在有無検出を行い、前記通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を行う  請求項１に記載の通信装置。
【請求項１５】
前記通信対象の装置は、NFC (Near Field Communication)デバイスである  請求項１に記載の通信装置。
【請求項１６】
通信装置が、  通信対象の装置がホストするアプリケーションを選択し、  前記アプリケーションが選択された後、前記通信対象の装置の識別情報を取得する  通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】  本開示は、通信装置および方法に関し、特に、全体のRFトランザクション時間の短縮に寄与することができるようにした通信装置および方法に関する。
【背景技術】
【０００２】  IC(Integrated Circuit)カードを用いて、近距離で非接触により無線通信を行う近距離無線通信システムが広く利用されている。例えば、電子乗車券や、電子マネーとしての利用がよく知られている。また、最近では、非接触無線通信による電子乗車券や電子マネーの機能を備えた携帯電話機も普及してきている（例えば、特許文献１参照）。【０００３】  近距離無線通信システムは、世界規模で急激に普及し、国際規格にもなっている。例えば、国際規格としては、近接型のICカードシステムの規格であるISO/IEC 14443、およびNFCIP(Near Field Communication Interface and Protocol)-1の規格であるISO/IEC 18092などがある。【０００４】  ISO/IEC 18092による近距離無線通信には、アクティブコミュニケーションモードとパッシブコミュニケーションモードとがある。アクティブコミュニケーションモードは、データを送受信する複数の通信装置のそれぞれにおいて、電磁波を出力し、その電磁波を変調することによりデータの送信を行う通信モードである。パッシブコミュニケーションモードは、複数の通信装置のうちの１の通信装置（イニシエータ）が、電磁波を出力し、その電磁波を変調することによりデータの送信を行う。複数の通信装置のうちの他の通信装置（ターゲット）は、イニシエータが出力する電磁波を負荷変調することによりデータの送信を行う。【０００５】  ISO/IEC 18092のパッシブコミュニケーションモード（以下、タイプFと称する）では、リーダライタとICカードとの間のデータ伝送に、Manchesterによるデータのエンコードが行われる。また、タイプFでは、データの通信レートとして、212kbpsと424Kbpsが採用されている。本出願人であるソニー株式会社のFeliCa（登録商標）方式は、タイプFに相当する。【０００６】  また、ISO/IEC 14443のICカードシステムにおいても、例えば、タイプA、タイプBと呼ばれている各種の通信方式がある。【０００７】  タイプAは、フィリップス社のMIFARE（登録商標）方式として採用されているものである。タイプAでは、リーダライタからICカードへのデータ伝送には、ミラー（Miller）によるデータのエンコードが行われ、ICカードからリーダライタへのデータ伝送には、マンチェスタ（Manchester）によるデータのエンコードが行われる。また、タイプAでは、データの通信レートとして、106乃至847kbps(kilo bit per second)が採用されている。【０００８】  タイプBでは、リーダライタからICカードへのデータ伝送には、NRZによるデータのエンコードが行われ、ICカードからリーダライタへのデータ伝送には、NRZ-Lよるデータのエンコードが行われる。また、タイプBでは、データの通信レートとして、106kbpsが採用されている。【０００９】  ISO/IEC 18092またはISO/IEC 14443による近距離無線通信を行う通信装置を、以下では、NFCデバイスという。NFCデバイスを、NFCC（NFC Controller）とDH(Device Host)とに機能的に分離し、NFCCとDHが交換するプロトコルやコマンドを定義したものがある（例えば、特許文献１参照）。NFCCは、アンテナを介して、リモートターゲット（ISO/IEC 14443のPICC（ICカード）やISO/IEC 18092のターゲット）とのRFデータの送受信を主に行い、DHは、主にアプリケーションの実行とNFCデバイス全体の制御を行う。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開2009-48415
【発明の概要】
【発明が解決しようとする課題】
【００１１】  ところで、パッシブコミュニケーションモードにおいては、マスタとなる無線装置が、スレーブとなる無線装置を選ぶ「衝突防止手順」が行われるが、特に、ISO/IEC 14443タイプAにおいては、応用層で使われる情報の交換をできる状態にするのに時間がかかっていた。【００１２】  本開示は、このような状況に鑑みてなされたものであり、全体のRFトランザクション時間の短縮に寄与することができるようにするものである。
【課題を解決するための手段】
【００１３】  本技術の第１の側面の通信装置は、通信対象の装置がホストするアプリケーションを選択するアプリケーション選択部と、前記アプリケーション選択部によりアプリケーションが選択された後、前記通信対象の装置の識別情報を取得する識別情報取得部とを備える。【００１４】  前記アプリケーション選択部は、アンチコリジョン処理の最初に送るコマンドにアプリケーション識別情報を含めることで、前記通信対象の装置がホストするアプリケーションを選択し、前記識別情報取得部は、前記アンチコリジョン処理を行って、前記通信対象の装置の識別情報を取得することができる。【００１５】  前記アプリケーション識別情報は、２バイトからなる。【００１６】  前記アンチコリジョン処理は、タイムスロットを用いて行われる。【００１７】  前記アンチコリジョン処理の最初のコマンドのSEL値は、所定の値とする。【００１８】  前記アプリケーション識別情報を指定し、タイムスロットを指定する前記アンチコリジョン処理に先立って、初期化処理の先頭に、前記通信対象の装置の存在有無検出を行う装置検出部をさらに備えることができる。【００１９】  前記アプリケーション識別情報を指定し、ビットコリジョンを用いた前記アンチコリジョン処理に先立って、初期化処理の先頭に、前記通信対象の装置の存在有無検出を行う装置検出部をさらに備えることができる。【００２０】  前記アプリケーション選択部は、スタンダードフレームを用いた拡張ポーリングコマンドを用いて、前記通信対象の装置がホストするアプリケーションを選択することができる。【００２１】  前記拡張ポーリングコマンドは、前記アプリケーション識別情報および前記アプリケーション識別情報の長さを格納することができる。【００２２】  前記拡張ポーリングコマンドは、アプリケーション識別情報の種類毎に分類されたコマンドからなる。【００２３】  前記拡張ポーリングコマンドを受信した通信対象の装置が送信してくる応答コマンドは、前記通信対象の装置の識別情報およびプロトコル情報の少なくともいずれかを含むことができる。【００２４】  前記アプリケーション選択部は、通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を、タイムスロットを導入して行うことができる。【００２５】  前記アプリケーション選択部は、通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を行い、前記アプリケーション識別情報は、２バイトに追加指定可能に構成されている。【００２６】  前記アプリケーション選択部は、通信の初期化処理の先頭で、ポーリング処理により、前記通信対象の装置の存在有無検出を行い、前記通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を行うことができる。【００２７】  前記通信対象の装置は、NFC (Near Field Communication)デバイスである。【００２８】  本技術の第１の側面の通信方法は、通信装置が、通信対象の装置がホストするアプリケーションを選択し、前記アプリケーションが選択された後、前記通信対象の装置の識別情報を取得する。【００２９】  本技術の第１の側面においては、通信対象の装��がホストするアプリケーションが選択される。そして、前記アプリケーションが選択された後、前記通信対象の装置の識別情報が取得される。
【発明の効果】
【００３０】  本開示によれば、通信を行うことができる。特に、全体のRFトランザクション時間の短縮に寄与することができる。
【図面の簡単な説明】
【００３１】
【図１】本技術の通信システムの構成例を示すブロック図である。
【図２】初期化処理について概要を説明する図である。
【図３】本技術の概要を説明する図である。
【図４】本技術の概要を説明する図である。
【図５】タイプ Aの初期化からアプリケーショントランザクションまでの詳細な処理を説明するフローチャートである。
【図６】REQA、ATQA、UIDサイズとカスケードレベル関係性の例を示す図である。
【図７】図５のステップＳ１４のアンチコリジョン処理を説明するフローチャートである。
【図８】最初のアンチコリジョンコマンドおよびアンチコリジョンデータの例を示す図である。
【図９】SAKの例を示す図である。
【図１０】アプリケーション選択を行うSELECTコマンドのフォーマット例を示す図である。
【図１１】本技術の第１の実施の形態（Ａ１）のアンチコリジョン処理について説明するフローチャートである。
【図１２】最初のアンチコリジョンコマンドおよびアンチコリジョンデータの例を示す図である。
【図１３】本技術の第２の実施の形態（Ａ２）の最初のアンチコリジョンコマンドの例を示す図である。
【図１４】NFCデバイスの主な構成例を示すブロック図である。
【図１５】システムコードのルーティングのValue Fieldの例を示す図である。
【図１６】本技術の第３の実施の形態（Ａ１１）においてアプリケーション識別情報を送る場合のケースを示す図である。
【図１７】アプリケーション識別情報を送る場合の他のケースを示す図である。
【図１８】10バイトのアプリケーション識別情報を指定した場合の各カスケードレベルの構成例を示すである。
【図１９】16バイトのアプリケーション識別情報を指定した場合の各カスケードレベルの構成例を示す図である。
【図２０】拡張ポーリングコマンドREQA_Xの例を示す図である。
【図２１】３つに分類したコマンドの例を示す図である。
【図２２】拡張ポーリングコマンドに対する応答ATQA_Xの例を示す図である。
【図２３】応答ATQA_Xの構成例を示す図である。
【図２４】拡張ポーリングコマンドREQA_XおよびATQA_Xを使用したときの初期化からアプリケーショントランザクションまでの詳細な処理を説明するフローチャートである。
【図２５】本技術の第５の実施の形態（Ａ４）におけるATQA_Xのフォーマット例を示す図である。
【図２６】第５の実施の形態（Ａ４）の拡張ポーリングコマンドREQA_XおよびATQA_Xを使用したときの例を説明するフローチャートである。
【図２７】タイプBの初期化処理の例を説明するフローチャートである。
【図２８】REQBの構成例を示す図である。
【図２９】図２８のREQBのAFIのコーディング例を示す図である。
【図３０】図２８のREQBのPARAMのコーディング例を示す図である。
【図３１】SLOT_MAKERコマンドの構成例を示す図である。
【図３２】ストリーム選択処理の他の例説明するフローチャートである。
【図３３】図３２のSlot numberのコーディング例を示す図である。
【図３４】ATQBのベーシックフォーマットおよび拡張フォーマットの例を示す図である。
【図３５】アプリケーションファミリ(AFI)およびスロット数(N)を指定したアンチコリジョンの例を示す図である。
【図３６】アプリケーションファミリ(AFI)およびスロット数(N)を指定したアンチコリジョンの例を示す図である。
【図３７】タイムスロットビットを加えたPARAMのコーディング例を示す図である。
【図３８】タイムスロットのタイミングの例を示す図である。
【図３９】ICカードのSOF前のタイプBのタイミングの例を示す図である。
【図４０】REQBのPARAMのコーディング例を示す図である。
【図４１】REQB_Xの構成例を示す図である。
【図４２】REQB_Xの構成の他の例を示す図である。
【図４３】本技術の第８の実施の形態（Ｂ３）の初期化処理の例を説明するフローチャートである。
【図４４】REQA(B)および WUPA(B)の例を示す図である。
【図４５】ATQA(B)の例を示す図である。
【図４６】REQAのコマンドフォーマット（Short frame）の例を示すである。
【図４７】タイプA（Timeslot方式）におけるタイミングの例を示すである。
【図４８】タイプA（Timeslot方式）におけるコマンドと返答のセットの例を示す図である。
【図４９】タイプA（Timeslot方式）におけるREQ-IDコマンドのパラメタの例を示すである。
【図５０】タイプA（Timeslot方式）の処理の例を説明するフローチャートである。
【図５１】REQ-ID_Xのコマンドフォーマットの例を示す図である。
【図５２】P2のコーディング例を示す図である。
【図５３】拡張初期化処理について説明するフローチャートである。
【図５４】JIS X6319-4 拡張のPOLLING REQUSTの構成例を示す図である。
【図５５】JIS X6319-4 拡張のPOLLING RESPONSEの構成例を示す図である。
【図５６】本技術の第９の実施の形態の初期化処理の例説明するフローチャートである。
【図５７】REQA-Fのフォーマットの例を示す図である。
【図５８】ATQA-Fのフォーマットの例を示す図である。
【図５９】通信初期化における処理シーケンスの比較を示す図である。
【図６０】ファイルアクセスにおける処理シーケンスの比較を示す図である。
【図６１】コンピュータのハードウエアの構成例を示すブロック図である。
【発明を実施するための形態】
【００３２】  以下、本開示を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。  １．通信システムの構成  ２．本技術の概要  ３．タイプAのアンチコリジョン処理  ４．第１の実施の形態（Ａ１）  ５．第２の実施の形態（Ａ２）  ６．第３の実施の形態（Ａ１１）  ７．第４の実施の形態（Ａ３）  ８．第５の実施の形態（Ａ４）  ９．タイプBの初期化処理  １０．第６の実施の形態（Ｂ１）  １１．第７の実施の形態（Ｂ２）  １２．第８の実施の形態（Ｂ３）  １３．タイプA Timeslotの初期化処理  １４．第９の実施の形態（Ａ５）  １５．ISO/IEC 18092 212 kbit/s+JIS X6319-4 拡張の初期化処理  １６．第１０の実施の形態（Ｊ１）  １７．第１１の実施の形態（Ｊ２）  １８．処理シーケンス比較  １９．コンピュータの構成例
【００３３】＜１．通信システムの構成＞  図１は、本技術の通信システムの構成例を示すブロック図である。図１の通信システムは、規格ISO/IEC 14443 タイプAのICカード(PICC）１、およびICカード処理装置２から構成されている。
【００３４】  ICカード１は、外部装置としてのICカード処理装置２からの電源供給により動作可能な状態となる（活性化される）。動作可能となったICカード１は、ICカード処理装置２からの種々のコマンドに応じて種々の処理を行う。すなわち、ICカード処理装置２は、ICカード１を動作させるための電源を供給するとともに、ICカード１に対して種々の処理を要求するコマンドを供給する。ICカード処理装置２がICカード１に対して供給するコマンドは、用途あるいは運用形態などに応じた処理を要求するものである。
【００３５】  ICカード１は、アンテナあるいは無線通信部等によりICカード処理装置２と非接触の状態で無線通信を行う非接触式の携帯可能電子装置（非接触式ICカード）であっても良し、ICカード処理装置２と物理的に接触して通信を行う接触式の携帯可能電子装置（接触式ICカード）であっても良い。さらには、ICカード１は、非接触式ICカードとしての通信機能と接触式ICカードとしての通信機能とを有する複合型のICカード（デュアルインタフェースICカード）であっても良い。なお、本実施の形態では、主に、非接触式ICカードを想定して説明する。非接触式ICカードと接触式ICカードとはICカード処理装置２との通信方式等が異なるだけである。このため、以下に説明する実施の形態は、接触式ICカードにも同様に適用できる。
【００３６】  ここで、ICカード１は、NFC(Near Field Communication)デバイスを含むものとする。これに対して、ICカード処理装置２は、NFC を可能とするデバイスであるPCD(Proximity Coupling Device)を含むものとする。
【００３７】  図１に示すように、ICカード１は、CPU１０、プログラムメモリ１１、ワーキングメモリ１２、データメモリ１３、通信制御部１５、電源部１６、および、インタフェース１７などにより構成される。
【００３８】  また、ICカード１は、カード状の本体１ｃにより構成される。ICカード１を形成するカード状の本体１ｃには、１つ（あるいは複数）のICチップ１ａとアンテナとが埋設される。ICチップ１ａは、CPU１０、プログラムメモリ１１、ワーキングメモリ１２、データメモリ１３、通信制御部１５および電源部１６などにより構成される。ICチップ１ａは、インタフェース１７としてのアンテナに接続された状態でモジュール化され、ICカード１を形成するカード状の本体１ｃ内に埋設される。この本体１ｃ内には、点線で示すように、１つ（あるいは複数）のＩＣチップ１ａとアンテナとを有するモジュール１ｂが埋め込まれている。
【００３９】  CPU１０は、ICカード１全体の制御を司るものである。CPU１０は、プログラムメモリ１１あるいはデータメモリ１３に記憶された制御プログラムおよび制御データなどに基づいて動作する。CPU１０は、基本的な動作を司る制御プログラムを実行することにより、ICカード処理装置２から与えられるコマンドに応じた処理を実行する。また、CPU１０は、ICカード１の用途などに応じてインストールされる処理プログラムを実行することにより、用途に応じた処理を実現するようになっている。
【００４０】  たとえば、ICカード処理装置２からデータメモリ１３へのデータの書込みを要求するコマンドが与えられれば、CPU１０は、データメモリ１３へのデータの書き込み処理を実行する。また、ICカード処理装置２からデータメモリ１３に記憶されているデータの読み出しを要求するコマンドが与えられれば、CPU１０は、データメモリ１３からのデータの読み出し処理を実行する。
【００４１】  プログラムメモリ１１は、読み出し専用のメモリ（ROM：リードオンリーメモリ）により構成される。プログラムメモリ１１には、予め基本動作を司る制御プログラムおよび制御データなどが記憶されている。つまり、プログラムメモリ１１には、予めICカード１の仕様に応じた制御プログラム及び制御データが記憶される。たとえば、CPU１０は、プログラムメモリ１１に記憶される制御プログラムにより外部から与えられるコマンドに応じた処理を実現する。また、プログラムメモリ１１には、データメモリ１３におけるメモリ領域の属性などを指定するための情報なども記憶されている。さらに、プログラムメモリ１１には、特定の処理について各種コマンドの所定の実行順序を示す情報が記憶される。このような情報の一例として、プログラムメモリ１１には、認証処理において乱数発生命令（乱数発生コマンド）と外部認証命令（外部認証コマンド）とが所定の実行順序で実行すべきものであることを示す情報が記憶されている。なお、各コマンドの所定の実行順序を示す情報は、データメモリ１３に記憶されるようにしても良い。
【００４２】  ワーキングメモリ１２は、揮発性のメモリ（RAM；ランダムアクセスメモリ）により構成される。ワーキングメモリ１２は、データを一時保管するバッファメモリとして機能する。例えば、ワーキングメモリ１２には、ICカード処理装置（外部装置）２との通信処理において、送受信されるデータが一時的に保管される。また、ワーキングメモリ１２には、種々の書込みデータなどを一時的に保持するメモリとしても利用される。
【００４３】  また、ワーキングメモリ１２には、ロジカルチャネル管理テーブル１２ａと履歴管理テーブル１２ｂとが設けられる。ここでは、ICカード１が活性化されるごとにリセットされるロジカルチャネル管理テーブル１２ａと履歴管理テーブル１２ｂとがワーキングメモリ１２に設けられるものとする。なお、ロジカルチャネル管理テーブル１２ａあるいは履歴管理テーブル１２ｂは、データメモリ１３に設けるようにしても良い。データメモリ１３にロジカルチャネル管理テーブル１２ａと履歴管理テーブル１２ｂとがもうけられる場合、ロジカルチャネル管理テーブル１２ａと履歴管理テーブル１２ｂに記憶された情報は、ICカード１への電源がオフとなっても保持される。
【００４４】  ロジカルチャネル管理テーブル１２ａには、各ロジカルチャネルのカレント状態およびセキュリティ状態を示す情報が格納される。つまり、ロジカルチャネル管理テーブル１２ａに格納されている情報を参照することにより、各ロジカルチャネルのカレントフォルダあるいはカレントファイルが判別される。また、各ロジカルチャネルのセキュリティ状態は、ロジカルチャネル管理テーブル１２ａを参照することにより判別される。
【００４５】  履歴管理テーブル１２ｂには、ロジカルチャネルごとに履歴情報が格納される。各ロジカルチャネルの履歴情報は、ロジカルチャネルごとの実行したコマンドに関する情報である。ただし、各ロジカルチャネルの履歴情報としては、少なくとも後続のコマンドを実行する際に参照すべきコマンドの命令コードが保存される必要がある。たとえば、直前に実行したコマンドと実行しようとするコマンドとの順序のみをチェックする形態であれば、履歴情報としては、直前に実行したコマンドの命令コードが保存される。また、直前に実行したコマンドだけでなく２つ以上前のコマンドからの順序あるいは実行結果をチェックする形態であれば、履歴情報としては、複数のコマンドの命令コードおよび実行結果が保存される。
【００４６】  データメモリ（不揮発性メモリ）１３は、データの書き込みが可能な不揮発性のメモリである。データメモリ１３は、例えば、EEPROMあるいはフラッシュメモリなどにより構成される。データメモリ１３には、ICカード１の使用目的に応じた種々の情報が記憶される。データメモリ１３には、種々の設定情報などを記憶するためのデータテーブルなども設けられる。
【００４７】  また、ICカードの使用目的に応じたアプリケーション（処理プログラムおよび運用データなど）は、データメモリ１３に記憶される。また、ICカード１が複数の使用目的に使用される場合、データメモリ１３には、各使用目的に応じた複数のアプリケーションが記憶される。なお、ICカード１の使用目的に応じたアプリケーションは、データメモリ１３上に定義された使用目的ごとのプログラムファイルおよびデータファイルなどの各ファイルに記憶される。このようなファイル構造は、たとえば、ISO/IEC７８１６-４やJIS X6319-4に基づくものである。つまり、ICカード１のデータメモリ１３には、種々のアプリケーションおよび種々の運用データが記憶可能である。
【００４８】  通信制御部１５は、インタフェース１７を介して外部装置（たとえば、ICカード処理装置２）とのデータ通信を制御するものである。外部装置からデータを受信する場合、上記通信制御部１５は、インタフェース１７により受信した電波としての送信データを復調し、復調した信号をCPU１０に供給する。また、外部装置へデータを送信する場合、上記通信制御部１５は、CPU１０から与えられるデータを変調し、変調したデータをインタフェース１７としてのアンテナにより電波として発信する。なお、接触式ICカードの場合、インタフェース１７は、外部装置のコンタクト部と物理的に接触する端子などにより構成されるものとなる。
【００４９】  電源部１６は、インタフェース１７により受信した電波からICカード１の各部を動作させるための電源およびクロックパルスを生成する。電源部１６は、アンテナ１７により受信した電波から生成した電源電圧およびクロックパルスを各部に供給するようになっている。また、電源部１６からの電源供給により起動した場合、CPU１０は、ICカード１の処理状態をリセットする処理を行うようになっている。なお、接触式ICカードの場合、インタフェース１７を介して外部装置から直接的に供給される電源およびクロックパルスにより各部が動作するようになっている。
【００５０】  ICカード処理装置２は、図１に示すように、制御装置２１およびカードリーダライタ２２を有している。制御装置２１は、パーソナルコンピュータ（PC）などにより構成される。制御装置２１は、例えば、図６１を参照して、詳しく後述するが、CPUなどの演算処理部、RAM、ROM、不揮発性メモリおよびハードディスクドライブなどの各種メモリ、通信インタフェースなどの各種インタフェースなどにより構成される。制御装置２１では、演算処理部がメモリに記憶されている各種の制御プログラムを実行することにより各種の処理を実現している。また、制御装置２１は、ICカード１とのデータ通信を行う上記カードリーダライタ２２とのデータの入出力を行うようになっている。
【００５１】  たとえば、制御装置２１には、ICカード１を用いた各種の処理に応じた制御プログラムが予め記憶されている。制御装置２１では、上述した制御プログラムを実行することによりICカード１を用いた各種の処理を実行する。たとえば、ICカード１を用いた各種の処理において、制御装置２１は、所定のコマンドを所定の手順で供給する。制御装置２１では、各コマンドに対するICカード１からの各レスポンス（コマンドに対する処理結果等を示す情報）に基づいて各種の処理を行うようになっている。
【００５２】  カードリーダライタ２２は、ICカード１とのデータ通信を行う通信手段として機能する。カードリーダライタ２２は、ICカード１の通信方式に応じた通信方式によるデータ通信を行うためのものである。つまり、カードリーダライタ２２を介して制御装置２１は、上記ICカード１とのデータ通信を実現している。
【００５３】  ICカード１が非接触型のICカードである場合、カードリーダライタ２２は、ICカード１との無線によるデータ通信を行うためのアンテナおよび通信制御部（変復調回路等）などにより構成される。非接触型のICカード１へデータを送信する場合、カードリーダライタ２２では、制御装置２１から与えられる送信データを変調し、変調した信号を電波としてアンテナにより発信する。また、非接触型のICカード１からデータを受信する場合、カードリーダライタ２２では、アンテナにより受信した電波としての信号を通信制御部により復調し、復調したデータを受信データとして制御装置２１へ供給する。また、カードリーダライタ２２では、データの送受信とともに、ICカード１を動作させるための電源およびクロックパルスとなる電波をアンテナにより発信するようになっている。
【００５４】  また、ICカード１が接触型のICカードである場合、カードリーダライタ２２は、ICカード１と物理的に接触してデータ通信を行うためのコンタクト部および通信制御部などにより構成される。接触型のICカードとのデータの送受信を行う場合、カードリーダライタ２２では、コンタクト部がICカード１側に設けられているコンタクト部と物理的に接触して各種のデータ通信を行う。また、カードリーダライタ２２では、ICカード１に物理的に接触しているコンタクト部を介してICカード１に対して電源およびクロックパルスを供給するようになっている。
【００５５】  ここで、規格ISO/IEC 14443 タイプAにおいて、ICカード１とICカード処理装置２１は、通信の初期化処理として、ビットコリジョンを利用したアンチコリジョンを行って、複数のICカード１から1つの通信対象のICカード１のUID（Unique Identifier）を取得し、そのICカード１を選択する。その後、そのICカード１がホストするアプリケーションを選択する段階を踏んでから、アプリケーション本体の処理を行っている。ISO/IEC 18092 106 kbit/sにおける初期化処理は，ISO/IEC 14443 タイプAと同じである。
【００５６】＜２．本技術の概要＞  次に、図２を参照して、初期化処理について概要を説明する。
【００５７】  図２に示されるようにICカード処理装置２は、許容する受信タイムスロット数を指定して、リクエストコマンド２１を送信する。これにより、ICカードの存在有無検出が行われる。なお、この処理は、図１の制御装置２１が所定のプログラムを実行することによりメモリ上に構成される、例えば、カード存在検出部により行われる。ICカード１−１乃至１−３は、タイムスロット数の範囲で、生成した乱数のスロットで、それぞれ、レスポンス２２−１乃至２２−３として応答する。ICカード１−１は、タイムスロット#2でレスポンス２２−１として応答し、ICカード１−２は、タイムスロット#0でレスポンス２２−２として応答し、ICカード１−３は、タイムスロット#2でレスポンス２２−３として応答する。
【００５８】  ICカード処理装置２は、各タイムスロットで、受信待機し、タイムスロット内で１つのレスポンス２２−２からICカード１−２を識別する。なお、レスポンス２２−１とレスポンス２２−３は、同じタイムスロット#2で衝突しており、ICカードが識別されない。
【００５９】  ここで、図３に示されるように、タイプAでカードIDを取得するために、アンチコリジョン処理が行われる。アンチコリジョンは、ICカード処理装置２から送信されたUIDのビットと同じ値（カードID）を持つICカード１が応答するという仕組みである。
【００６０】  そこで、本技術においては、これを利用して、最初の２バイト（アプリケーション）を予めICカード処理装置２から（応用層で用いられるアプリケーション識別情報として）指定することで、その２バイトを持つICカード１１だけを応答させるようにする。
【００６１】  これによって、アプリケーション選択とカードID取得を、既存のタイプAのアンチコリジョン処理に少ない変更（最初の２バイトを予め送信）することで実現することができ、アプリケーショントランザクションを早いタイミングで実行できるようになる。なお、例えば、アプリケーション選択およびカードID取得は、図１の制御装置２１が所定のプログラムを実行することによりメモリ上に構成される、例えば、アプリケーション選択部やカードID取得部により行われる。
【００６２】  また、本技術においては、図４に示されるように、PCD(ICカード処理装置２)とPICC(ICカード１)との間で行われるアンチコリジョン処理において、最初のコマンドで、アプリケーションの識別情報である２バイトのSC（システムコード）の値が指定される。これにより、同じSCの値をもつICカード１しか応答できないようにすることができ、この状態で、残りのアンチコリジョン処理を行うことで、カードIDであるIDmが特定される。
【００６３】  以下、詳細について説明していく。
【００６４】＜３．タイプAのアンチコリジョン処理＞  ICカード処理装置２においては、ICカード１の選択からアプリケーションの選択までは、次の図５に記載の処理が必要である（カスケードレベルCL=3の場合）。
【００６５】  図５のフローチャートは、ICカード処理装置２におけるタイプ Aの初期化からアプリケーショントランザクションまでの詳細な処理を示している。[ ]内の数字は，図５内の数字に対応する。
【００６６】  ICカード処理装置２は、Field onの後、ステップＳ１１およびＳ１２において、ポーリング処理を行う。すなわち、ICカード処理装置２は、ステップＳ１１において、図６のＡに示されるREQAまたはWUPAを送信する。図６のＡにおいて、REQAは、スタートビット、「0110010」、およびエンドビットからなり、これに対して、ICカード１は、REQAまたはWUPAを受信すると、ATQAを送信してくる。
【００６７】  ICカード処理装置２は、ステップＳ１２において、図６のＢに示されるATQAを受信する。図６のＢにおいて、ATQAは、4ビットのRFU（Reserved for FutureUse）、４ビットのProrietary coding、２ビットのUID size bit frame、１ビットのRFU、５ビットのBit frame anticllisionにより構成されている。
【００６８】  ステップＳ１３において、ICカード処理装置２は、カスケードレベル１(CL1)を選択する。図６のＣには、UIDサイズとカスケードレベル関係性を示す表が示されている。図６のＣの表には、b8,b7=0,0のとき、UID sizeは、Single(4bites)で、CL1を表すことが示されている。b8,b7=0,1のとき、UID sizeは、Double(7bites)で、CL2を表すことが示されている。b8,b7=1,0のとき、UID sizeは、Triple(10bites)で、CL3を表すことが示されている。b8,b7=0,1のとき、UID sizeは、RFUで、n/a(not applicable)を表すことが示されている。
【００６９】  ステップＳ１４において、ICカード処理装置２は、アンチコリジョンコマンドを送信して、UIDを取得するためのアンチコリジョン処理を行う。このアンチコリジョン処理について、図７を参照して説明する。
【００７０】  ICカード処理装置２は、最初、ICカード１が持っているUIDの値を知らないので、図７のステップＳ４１において、SEL=’93’を選択し、ステップＳ４２において、NVB=’20’として、ステップＳ４３において、SEL=’93’、 NVB=’20’のアンチコリジョンコマンドを送信して、ICカード１のUIDを要求する。
【００７１】  図８のＡは、ICカード処理装置２が、各CLにおいて送信する最初のアンチコリジョンコマンドの例を示す図である。
【００７２】  図８のＡに示されるように、CL1のとき、SEL=’93’,NVB=’20’,パラメタ=emptyが送信される。CL2のとき、SEL=’95’,NVB=’20’,パラメタ=emptyが送信される。CL3のとき、SEL=’97’,NVB=’20’,パラメタ=emptyが送信される。
【００７３】  それを受信したRFフィールド内のICカード１は、自身のUIDおよびBCC(合計５バイト)を送信する。UIDが４バイトであれば、その４バイトを送信し、UIDが７バイトまたは１０バイトであれば、カスケードタグ(CT)１バイトに続いて、先頭３バイトのUIDを送信する。なお、BCCは、直前に答申した４バイトから計算されるエラー検出用のデータである。
【００７４】  図８のＢは、各CLのときにICカード１が送信するアンチコリジョンデータの例を示す図である。なお、10バイトのUIDは、uid0乃至uid9の連結で構成される。
【００７５】  すなわち、CL1は、１バイトずつで、CT,uid0,uid1,uid2,BCCで構成される。CL2は、１バイトずつで、CT,uid3,uid4,uid5,BCCで構成される。CL3は、１バイトずつで、uid6,uid7,uid8,uid9,BCCで構成される。
【００７６】  RFフィールド内にICカードが１つしかない場合、コリジョン(Collision)が発生せず、ICカード処理装置２は、ICカード１のUIDのすべてのビットを正しく受信できるが、RFフィールド内に複数のICカード１がある場合、複数のICカード１がUIDを送信するため、異なる値をもつビット位置でコリジョンが発生する。
【００７７】  ICカード処理装置２は、ステップＳ４５において、Collisionが発生したか否かを判定する。ステップＳ４５において、Collisionが発生したと判定された場合、処理は、ステップＳ４６に進む。ICカード処理装置２は、ステップＳ４６において、最初のコリジョンの位置を取得し、ステップＳ４７において、NVB=’20’にステップＳ４６で得た位置を足して、NVB=’20’に、その位置を足すを新しく設定する。ICカード処理装置２は、ステップＳ４８において、ICカード処理装置２は、SEL=’93’、新しく設定した NVB、UIDのビットに任意の１ビットを加えて、アンチコリジョンコマンドを送信して、ICカード１のUIDを要求する。
【００７８】  ステップＳ４５において、Collisionが発生していないと判定された場合、ICカード処理装置２は、ステップＳ４９において、NVB をSelectコマンド（NVB=’70’）として、ステップＳ５０において、Selectコマンド（NVB=’70’）を送信して、そのICカード１を選択した状態とする。ICカード１は、SAKで応答してくるので、ICカード処理装置２は、ステップＳ５１において、SAKを受信し、図７のアンチコリジョン処理を終了し、処理は、図５のステップＳ１５に進む。
【００７９】  図９は、SAKの例を示す図である。
【００８０】  図９の例においては、SAKは、b8乃至b1の８ビットで構成されている。b3のみ１であり、その他は、どんな値でもよい場合のSAKは、「Cascade bit set: UID not complete」を意味する。b3のみ０であり、b6のみ１であり、その他は、どんな値でもよい場合のSAKは、「UID complete, PICC compliant with ISO/IEC 14443-4」を意味する。b3とb6が０であり、その他は、どんな値でもよい場合のSELECTコマンドは、「UID complete, PICC not compliant with ISO/IEC 14443-4」を意味する。
【００８１】  ステップＳ１５において、ICカード処理装置２は、SAKのb3をチェックし、UID not completeであれば、処理は、ステップＳ１４に戻り、次のカスケードレベルで、アンチコリジョン処理が実行される。どのカスケードレベルまでアンチコリジョン処理を実行する必要があるかは、ステップＳ１２で受信したATQAのb8,b7で、UID size bit frameを取得し、その値に応じたカスケードレベル（CL,SELECTコマンドが必要な回数）で示される。
【００８２】  ステップＳ１５において、UID completeであり、ISO/IEC 14443-4準拠であれば、処理は、ステップＳ１６に進む。ステップＳ１６において、ICカード処理装置２は、ISO/IEC 14443-4のプロトコルを使用するか否かを判定する。ステップＳ１６において、ISO/IEC 14443-4のプロトコルを使用すると判定された場合、処理は、ステップＳ１７に進み、ステップＳ１７乃至Ｓ１９において、ISO/IEC 14443-4のプロトコルアクティベーション処理が行われる。
【００８３】  すなわち、ICカード処理装置２は、ISO/IEC 14443-4のプロトコルアクティベーション処理として、ステップＳ１７において、RATSを送信し、ステップＳ１８において、ATSを受信する。ICカード処理装置２は、ステップＳ１９において、PPSを要求し、その要求に対して送信されてくるPPSレスポンスを受信する（PPSをサポートしている場合）。そして、ICカード処理装置２は、ステップＳ２０において、透過的データ交換処理（アプリケーショントランザクション）として、ISO/IEC 7816-4に従う場合には、SELCTコマンドによるアプリケーション選択を行う。
【００８４】  図１０は、アプリケーション選択を行うSELECTコマンドのフォーマット例を示す図である。
【００８５】  一方、ステップＳ１５において、UID completeであり、ISO/IEC 14443-4準拠でない場合、また、ステップＳ１６において、ICカード処理装置２は、ISO/IEC 14443-4のプロトコルを使用しない場合、処理は、ステップＳ２１に進む。
【００８６】  ICカード処理装置２は、ステップＳ２１において、SAKを確認し、UID completeであり、ISO/IEC 18092準拠であるか否かを判定する。ステップＳ２１において、UID completeであり、ISO/IEC 18092準拠であると判定された場合、処理は、ステップＳ２２に進む。
【００８７】  ステップＳ２２において、ICカード処理装置２は、ISO/IEC 18092のトランスポートプロトコルを使用するか否かを判定する。ステップＳ２２において、ISO/IEC 18092のトランスポートプロトコルを使用すると判定された場合、処理は、ステップＳ２３に進み、ステップＳ２３乃至Ｓ２５において、ISO/IEC 18092のトランスポートプロトコルアクティベーション処理が行われる。
【００８８】  すなわち、ICカード処理装置２は、ISO/IEC 18092のトランスポートプロトコルアクティベーション処理として、ステップＳ２３において、ATR_REQを送信し、ステップＳ２４において、ATR_RESを受信する。ICカード処理装置２は、ステップＳ２５において、PSL_REQを要求し、その要求に対して送信されてくるPSL_RESを受信する。そして、ICカード処理装置２は、ステップＳ２６において、透過的データ交換処理（アプリケーショントランザクション）として、アプリケーション選択を行ってもよい。
【００８９】  ステップＳ２１において、UID completeであり、ISO/IEC 18092準拠ではないと判定された場合、または、ステップＳ２２において、ISO/IEC 18092のトランスポートプロトコルを使用しないと判定された場合、処理は、ステップＳ２７に進む。ステップＳ２７において、アプリケーション選択およびアプリケーショントランザクションとして、プロプライエタリ・プロトコルが用いられる。
【００９０】＜４．第１の実施の形態（Ａ１）＞  本技術の第１の実施の形態（Ａ１）は、タイプAをベースとして、アプリケーションの識別情報が２バイト長(システムコード(SC)と呼ぶ)、ICカード固有の識別情報が８バイト長（製造ID(IDm)と呼ぶ）の場合を想定する例である。第１の実施の形態においては、合計１０バイトをタイプAのアンチコリジョン処理に適応させるため、カスケードレベル3(CL3)のアンチコリジョンを行うことになる。
【００９１】  図５乃至図１０を参照して上述したタイプAのアンチコリジョン処理においては、最初のコマンドでNVB=’20’を指定することによって特定のUID値を送信しないようにしているが、図１１に示されるように、この最初のコマンドにおいて、２バイトのSC（システムコード）の値を指定することによって、同じSCの値をもつICカード１しか応答できないようにし、この状態で、残りのアンチコリジョン処理を行うことで、８バイトのIDmを取得する。これを実現するために、最初のコマンドを、既存規格から変更して、NVBには、’50’(5バイト長)が、パラメタにはCTと２バイトのSCが指定される。
【００９２】  次に、図１１を参照して、第１の実施の形態（Ａ１）のアンチコリジョン処理について説明する。
【００９３】  ICカード処理装置２は、ステップＳ６１において、SEL=’93’を選択し、ステップＳ６２において、NVB=’50’として、ステップＳ６３において、SEL=’93’、 NVB=’50’、CT、SCからなるアンチコリジョンコマンドを送信して、ICカード１のUIDを要求する。
【００９４】  図１２のＡは、各CLの場合のICカード処理装置２が送信する最初のアンチコリジョンコマンドの例を示す図である。
【００９５】  図１２のＡに示されるように、各CLにおける最初に送られるコマンドとして、CL1のとき、SEL=’93’,NVB=’50’,パラメタ=CT,SC0,SC1が送信される。CL2のとき、SEL=’95’,NVB=’20’,パラメタ=emptyが送信される。CL3のとき、SEL=’97’,NVB=’20’,パラメタ=emptyが送信される。
【００９６】  それを受信したRFフィールド内のICカード１は、図１２のＢに示されるようなアンチコリジョンデータを送信する。なお、BCCは、直前に答申した４バイトから計算されるエラー検出用のデータである。
【００９７】  図１２のＢは、各CLのときにICカード１が送信するアンチコリジョンデータの例を示す図である。なお、SCは、SC0およびSC1の連結で構成され、IDmは、IDm0乃至IDm7の連結で構成される。
【００９８】  すなわち、CL1は、１バイトずつで、CT,SC0,SC1,IDm0,BCCで構成される。CL2は、１バイトずつで、CT,IDm1,IDm2,IDm3,BCCで構成される。CL3は、１バイトずつで、IDm4,IDm5,IDm6,IDm7,BCCで構成される。
【００９９】  RFフィールド内にICカードが１つしかない場合、コリジョン(Collision)が発生せず、ICカード処理装置２は、ICカード１のUIDのすべてのビットを正しく受信できるが、RFフィールド内に複数のICカード１がある場合、複数のICカード１がUIDを送信するため、異なる値をもつビット位置でコリジョンが発生する。
【０１００】  ICカード処理装置２は、ステップＳ６５において、Collisionが発生したか否かを判定する。ステップＳ６５において、Collisionが発生したと判定された場合、処理は、ステップＳ６６に進む。ICカード処理装置２は、ステップＳ６６において、最初のコリジョンの位置を取得し、ステップＳ６７において、NVB=’50’にステップＳ６６で得た位置を足して、NVB値を、新しく設定する。ICカード処理装置２は、ステップＳ６８において、ICカード処理装置２は、SEL=’93’、新しく設定した NVB、CT,SC,UIDのビットに任意の１ビットを加えて、アンチコリジョンコマンドを送信して、ICカード１のUIDを要求する。
【０１０１】  ステップＳ６５において、Collisionが発生していないと判定された場合、ICカード処理装置２は、ステップＳ６９において、NVB を、Selectコマンド（NVB=’70’）として、ステップＳ７０において、Selectコマンド（NVB=’70’,CT,SC）を送信して、そのICカード１を選択した状態とする。ICカード１は、SAKで応答してくるので、ICカード処理装置２は、ステップＳ７１において、SAKを受信し、図１１のアンチコリジョン処理を終了し、処理は、図５のステップＳ１５に進む。なお、CL2およびCL3のアンチコリジョン処理は、上述した図７に従って実行される。
【０１０２】  以上のように、アンチコリジョン処理が完了すると、ICカード処理装置２は、SC指定によるアプリケーション選択とIDmの取得が完了したこととなり、以降は、上述した図５のステップＳ２０、Ｓ２６、Ｓ２７においては、アプリケーションのトランザクションが交換可能になる。
【０１０３】  なお、ステップＳ２０においては、ISO/IEC 7816-4定義のSELECTコマンドによるアプリケーション選択を行うようにしてもよい。
【０１０４】＜５．第２の実施の形態（Ａ２）＞  本技術の第２の実施の形態（Ａ２）は、本技術の第１の実施の形態（Ａ１）の変形である。図１２のＡのCL1におけるSEL値（RFU値）を’9F’（所定の値）に設定する。これによって、最初のアンチコリジョンコマンドを、タイプAと区別することができるようになる。
【０１０５】  図１３は、本技術の第２の実施の形態（Ａ２）の各CLの場合のICカード処理装置２が送信する最初のアンチコリジョンコマンドの例を示す図である。
【０１０６】  図１３に示されるように、各CLにおける最初に送られるコマンドとして、CL1のとき、SEL=’9F’,NVB=’50’,パラメタ=CT,SC0,SC1が送信される。CL2のとき、SEL=’95’,NVB=’20’,パラメタ=emptyが送信される。CL3のとき、SEL=’97’,NVB=’20’,パラメタ=emptyが送信される。
【０１０７】  図１３の例の場合、ICカード処理装置２から見たとき、SEL値が異なるため、パラメタにシステムコードが含まれていることを認識することができる。
【０１０８】  IS0/IEC 14443-3においては、UIDサイズがダブルまたはトリプルの場合、先頭１バイトが製造者固有の値として定義されているため、これを回避する方法としても、第２の実施の形態の例は有用である。すなわち、先頭１バイトをシステムコードの一部として自由に利用できるようになる。
【０１０９】  なお、図１を参照して上述したように、ICカード１は、NFCデバイス５１を含むように構成されているが、第２の実施の形態において、図１４に示される構成のNFCデバイス５１が、カードエミュレーションモードで動作する場合について説明する。
【０１１０】  図１４の例において、NFCデバイス５１は、１個のDH(Device Host)７１、１個のNFCC（NFC Controller）７２、及び、０個以上のNFCEE(NFC Execution Environment)７３を備える。NFCEE７３については０個以上であるから０個でもよい（省略されていてもよい）。
【０１１１】  DH７１は、NFCデバイス５１全体の制御を行うとともに、NFCC７２を制御するためのコマンド（CMD）を生成し、コマンドに対する実行結果を解釈する。DH７１は、NCI（NFC Controller Interface）に従い、NFCC７２とメッセージを交換する。また、DH７１は、リモートターゲットとデータ交換を行うアプリケーションを実行する。アプリケーションには、例えば、P2P（Peer-to-Peer）通信を用いた名刺やアドレス帳のデータ交換処理、リーダライタ/ICカード間通信を用いた電子マネー決済処理などを行うアプリケーションなどがある。
【０１１２】  NFCC７２は、DH７１とリモートターゲットとの中間に配置され、DH２１とリモートターゲットとを仲介するインタフェースであり、DH７１やNFCEE７３がリモートターゲットとデータ交換できるように経路制御を行う。NFCC７２は、DH７１とリモートターゲットとを仲介するインタフェースのレベルとして、複数のインタフェースレベルを有する。NFCC７２は、NCIに従いDH７１とメッセージを交換し、DH７１からのコマンド（CMD）に基づいて、アンテナ７４を介してRFデータの送受信を行う。
【０１１３】  NCIは、DH７１とNFCC７２との間のロジカルインターフェイスであり、NCIでは、所定のフォーマットのコマンド（CMD）や通知（NTF）などが定義されている。
【０１１４】  NFCEE７３は、NFCデバイス５１がリモートターゲットとデータ交換を行うのに必要な処理のうち、セキュアなデータの処理及び保持を行う。図１４の例では、NFCデバイス５１内に１個のNFCEE７３が設けられている。NFCEE７３は、NFCC７２と接続され、NFCC７２が扱うセキュアなデータの保持及び処理を行う。NFCEE７３は、NFCデバイス５１内に必要な数だけ設けることができ、また不要であれば省略することもできる。
【０１１５】  アンテナ７４は、閉ループのコイルを構成しており、このコイルに流れる電流が変化することで、電磁波（RFデータ）を出力する。
【０１１６】  図１４に示される構成のNFCデバイス５１が、カードエミュレーションモードで動作する場合、NFCC７２がアンチコリジョンコマンドを処理することになるため、アンチコリジョンコマンドに対応する応答に含まれるパラメタを、NFCC７２に事前に設定する必要がある。
【０１１７】  NFCC７２に１つ以上のNFCEE７３が接続されている場合、アプリケーショントランザクションは、DH７１またはNFCEE７３で処理される。DH７１またはどのNFCEE７３で処理するかを決定する仕組みが、ルーティングと呼ばれる。
【０１１８】  アンチコリジョン処理完了後は、ルーティングの設定に従って、以降のRFフレームが転送される。
【０１１９】  NFCC７２によって行われるルーティング処理及びその事前設定は、NFC Forum規格のNCI (NFC Controller Interface )Technical Specificationで定義されている。
【０１２０】  ISO/IEC 14443-4 タイプAのアンチコリジョンにおいて返送するパラメタは、Listen A Parameterとして定義されている。そのパラメタの１つとして、LA_SC(2バイト長)を追加することによって、SEL＝’9F’のアンチコリジョンコマンドで指定されたパラメタの比較対象とすることができる。
【０１２１】  このアンチコリジョンコマンドに続くカスケードレベル３のSELECTコマンドが完了した場合、ルーティングエントリとして設定されているSC RouteListから、一致するSCがあれば、そのSCに対応するルートが設定される。これにより、以降のRFから受信したフレームは、そのルートへ転送されることなる。なお、SC RouteListは、DH７１からNFCC７２に対して、RF_SET_LISTEN_MODE_ROUTING_CMDコマンドを使って設定可能である。
【０１２２】  また、NFCEEがETSI規格におけるHCI Host（例：UICC）である場合、ETSI TS 102 622で定義されるcard RF gate for RF technology Type AレジストリにSC(２バイト長)を追加することによって、SEL=’9F’のアンチコリジョンコマンドで指定されたパラメタの比較対象とすることができる。
【０１２３】  図１５は、システムコード(SC)のルーティングを設定する場合のValue Fieldを示す図である。
【０１２４】  Value Fieldは、Route,Power State,およびRoute Listで構成される。Routeは、1 octet長で、ルート先の NFCEE ID for the routeを格納する。Power Stateは、1 octet長で、このルーティング設定を適用するPower Stateの条件を格納する。SC Route Listは、2n octets長で、 (1≦n≦32)で、n個のSC(２バイト)の連結リストを格納する。なお、SCに、FFFFhを用いることはできない。
【０１２５】  上記のListen A ParametersのLA_SCとcard RF gate for RF technology Type AのレジストリのSCについては、n×2バイト長として、システムコードのリストとして定義し、CL1のアンチコリジョンの最初のコマンドを受信したときに、システムコードのリストから一致するものを検索してもよい。
【０１２６】＜６．第３の実施の形態（Ａ１１）＞  本技術の第３の実施の形態（Ａ１１）は、本技術の第１の実施の形態（Ａ１）および第２の実施の形態（Ａ２）において、最初に送るアプリケーション識別情報(AI:Application Identity)を一般化したものである。
【０１２７】  本技術の第１の実施の形態（Ａ１）および第２の実施の形態（Ａ２）においては、最初に２バイトのアプリケーション識別情報を送ることになっているが、２バイトに固定する必要はない。１バイトでもよいし、４バイトでもよい。
【０１２８】  図１６は、アプリケーション識別情報を送る場合のケースを示す図である。ISO/IEC14443-3においては、CL1乃至CL3が定義されていること、UIDの最小バイト長が４バイトであることから、最大で指定できるアプリケーション識別情報は６バイトである。
【０１２９】  図１６に示されるように、CL1で、SEL=’9F’でNVB=’40’である場合、パラメタは、CT,AI0である。CL1で、SEL=’9F’でNVB=’50’である場合、パラメタは、CT,AI0,AI1である。CL1で、SEL=’9F’でNVB=’60’である場合、パラメタは、CT,AI0,AI1,AI2である。
【０１３０】  CL2で、SEL=’95’でNVB=’20’である場合、パラメタは、emptyである。CL2で、SEL=’95’でNVB=’40’である場合、パラメタは、CT,AI3である。CL2で、SEL=’95’でNVB=’50’である場合、パラメタは、CT,AI3,AI4である。CL2で、SEL=’95’でNVB=’60’である場合、パラメタは、CT,AI3,AI4,AI5である。
【０１３１】  CL3で、SEL=’97’でNVB=’20’である場合、パラメタは、emptyである。
【０１３２】  CL3を、CL7まで拡張することによって、アプリケーション識別情報を１６バイトまで送ることが可能となる。図１７は、アプリケーション識別情報を送る場合の他のケースを示す図である。
【０１３３】  図１７に示されるように、CL1で、SEL=’9F’でNVB=’40’である場合、パラメタは、CT,AI0である。CL1で、SEL=’9F’でNVB=’50’である場合、パラメタは、CT,AI0,AI1である。CL1で、SEL=’9F’でNVB=’60’である場合、パラメタは、CT,AI0,AI1,AI2である。
【０１３４】  CL2で、SEL=’95’でNVB=’20’である場合、パラメタは、emptyである。CL2で、SEL=’95’でNVB=’40’である場合、パラメタは、CT,AI3である。CL2で、SEL=’95’でNVB=’50’である場合、パラメタは、CT,AI3,AI4である。CL2で、SEL=’95’でNVB=’60’である場合、パラメタは、CT,AI3,AI4,AI5である。
【０１３５】  CL3で、SEL=’95’でNVB=’40’である場合、パラメタは、CT,AI6である。CL3で、SEL=’97’でNVB=’50’である場合、パラメタは、CT,AI6,AI7である。CL3で、SEL=’97’でNVB=’60’である場合、パラメタは、CT,AI6,AI7,AI8である。
【０１３６】  CL4で、SEL=’99’でNVB=’20’である場合、パラメタは、emptyである。CL4で、SEL=’99’でNVB=’40’である場合、パラメタは、CT,AI9である。CL4で、SEL=’99’でNVB=’50’である場合、パラメタは、CT,AI9,AI10である。CL4で、SEL=’99’でNVB=’60’である場合、パラメタは、CT,AI9,AI10,AI11である。
【０１３７】  CL5で、SEL=’9B’でNVB=’20’である場合、パラメタは、emptyである。CL5で、SEL=’9B’でNVB=’40’である場合、パラメタは、CT,AI12である。CL5で、SEL=’9B’でNVB=’50’である場合、パラメタは、CT,AI12,AI13である。CL5で、SEL=’9B’でNVB=’60’である場合、パラメタは、CT,AI12,AI13,AI14である。
【０１３８】  CL6で、SEL=’9D’でNVB=’20’である場合、パラメタは、emptyである。CL6で、SEL=’9D’でNVB=’40’である場合、パラメタは、CT,AI15である。
【０１３９】  CL7で、SEL=’90’でNVB=’20’である場合、パラメタは、emptyである。
【０１４０】  例えば、10バイトのAI(AI0乃至AI9)を送る場合、CL1乃至CL5の16バイトのAIを送る場合、CL1乃至CL7のアンチコリジョンコマンドをそれぞれ送る必要がある。
【０１４１】  図１８は、10バイトのアプリケーション識別情報を指定した場合の各カスケードレベルの構成例を示す図である。
【０１４２】  すなわち、CL1は、１バイトずつで、CT,AI0,AI1,AI2,BCCで構成される。CL2は、１バイトずつで、CT,AI3,AI4,AI5,BCCで構成される。CL3は、１バイトずつで、CT,AI6,AI7,AI8, BCCで構成される。CL4は、１バイトずつで、CT,AI9,UID0,UID1,BCCで構成される。CL5は、１バイトずつで、UID2,UID3,UID4,UID5,BCCで構成される。
【０１４３】  図１９は、16バイトのアプリケーション識別情報を指定した場合の各カスケードレベルの構成例を示す図である。
【０１４４】  すなわち、CL1は、１バイトずつで、CT,AI0,AI1,AI2,BCCで構成される。CL2は、１バイトずつで、CT,AI3,AI4,AI5,BCCで構成される。CL3は、１バイトずつで、CT,AI6,AI7,AI8, BCCで構成される。CL4は、１バイトずつで、CT,AI9, AI10, AI11,BCCで構成される。CL5は、１バイトずつで、CT,AI12,AI13,AI14, BCCで構成される。CL6は、１バイトずつで、CT,AI15,UID0,UID1,BCCで構成される。CL7は、１バイトずつで、UID2,UID3,UID4,UID5,BCCで構成される。
【０１４５】＜７．第４の実施の形態（Ａ３）＞  第４の実施の形態（Ａ３）においては、アプリケーション識別情報が以下の場合を想定する。1.  ISO/IEC 14443-3定義のAFI(1バイト長)2.  JIS X 6319-4定義のSC(2バイト長)3.  ISO/IEC 7816-4定義のAID(5乃至16バイト長)
【０１４６】  図５のステップＳ１１およびＳ１２におけるポーリング処理では、7ビットのShort frameを利用しているが、Standard frameを用いた新たなポーリングコマンドを追加する。その際、そのポーリングコマンドに上記の1バイト以上のアプリケーション識別情報のパラメタを含め、同じアプリケーション識別情報を持つICカード１しか応答できないようにする。そして、その状態で、アンチコリジョン処理（図５のステップＳ１３乃至Ｓ１５）を行って、UIDを特定するようにする。
【０１４７】  UIDの特定後は、アプリケーション選択も完了しているので、以降は、上述した図５のステップＳ２０、Ｓ２６、Ｓ２７のアプリケーションのトランザクションが交換可能になる。
【０１４８】  ポーリング処理において、Standard frameを利用した拡張ポーリングコマンドREQA_Xを、図２０に示されるように定義する。
【０１４９】  REQA_Xは、AS0乃至ASnで指定されるアプリケーション識別情報によってアプリケーション選択を行うためのコマンドで、アプリケーション識別情報の長さを示すAS_LEN、アプリケーション識別情報を格納するAS0乃至ASn、PARAMで構成される。
【０１５０】  ICカード１は、AS_LENの値によって、1.乃至3.のどのアプリケーション識別情報が指定されたかを認識して、ICカード１内部のアプリケーション情報と比較し、一致すれば、ATQA_Xで応答する。
【０１５１】  また、図２１に示されるように、３つに分類したコマンドを定義してもよい。
【０１５２】  REQA_X1は、AFIによるアプリケーション選択を行うためのコマンドで、1バイトのパラメタPX1を含む。REQA_X2は、SCによるアプリケーション選択を行うためのコマンドで、1バイトのパラメタPX2を含む。SCは、SC0とSC1で構成される。REQA_X3は、AIDによるアプリケーション選択を行うためのコマンドで、1バイトのパラメタPX3を含む。AIDは、AID0乃至Ainで構成され、その長さは、AID_LENで与えられる。
【０１５３】  図２１の例の場合、ICカード１は、受信した最初のバイトによって、1.乃至3.のどのアプリケーション識別情報が指定されたかを認識して、ICカード１内部のアプリケーション情報と比較し、一致すれば、ATQA_Xで応答する。
【０１５４】  拡張ポーリングコマンドに対する応答ATQA_Xを図２２のように定義する。なお、１バイト目、２バイト目は、図２３に示されるように、既存のATQAと同じ定義とする。AP_Lは、ATQAP0乃至ATQAPnまでの長さを格納する。
【０１５５】  図２４のフローチャートは、図５において拡張ポーリングコマンドREQA_XおよびATQA_Xを使用したときの例を示す。
【０１５６】  ICカード処理装置２は、Field onの後、ステップＳ１０１およびＳ１０２において、ポーリング処理を行う。すなわち、ICカード処理装置２は、ステップＳ１０１において、REQA_Xを送信する。これに対して、ICカード１は、REQA_Xを受信すると、ATQA_Xを送信してくる。
【０１５７】  ICカード処理装置２は、ステップＳ１０２において、ATQA_Xを受信する。
【０１５８】 なお、図２４のステップＳ１０３乃至Ｓ１１７は、図５のステップＳ１３乃至Ｓ２７と基本的に同様な処理を行うので、その説明は省略される。
【０１５９】  以上のように、REQA_Xを送信し、ATQA_Xを受信することで、アプリケーション選択が完了する。その後、既存のアンチコリジョン処理を行い、１つのICカード１を特定することで、アプリケーションのトランザクションが可能となる。SAKの値によって、アプリケーション処理は、ステップＳ１１０(ISO/IEC 14443-4)、Ｓ１１６(ISO/IEC 18092 transport protpcol)、Ｓ１１７(Proprietary commands and protocols)で実行される。
【０１６０】  ここで、ICカード１として、上述した図１４の構成を有するNFCデバイス５１の場合、第２の実施の形態と同様に、図１５を参照して説明した設定パラメタ（Listen A ParametersのLA_SCとcard RF gate for RF technology Type AのレジストリのSC）のほか、Listen A ParametersのLA_AFI(１バイト長)およびLA_AID（16バイト長）、card RF gate for RF technology Type AのレジストリのAFI（１バイト長）およびAID（16バイト長）のパラメタが必要となる。REQA_X,REQA_X1,REQA_X2,REQA_X3を受信した場合に、NFCデバイス５１において、上述したパラメタが評価され、一致すれば応答が返される。
【０１６１】＜８．第５の実施の形態（Ａ４）＞  本技術の第５の実施の形態（Ａ４）は、本技術の第４の実施の形態（Ａ３）の変形である。本技術の第５の実施の形態（Ａ４）においては、REQA_Xが、第４の実施の形態（Ａ３）と同様に構成され、ATQA_XにUIDやプロトコル情報を含めるように構成されている。
【０１６２】  図２５は、本技術の第５の実施の形態（Ａ４）におけるATQA_Xのフォーマット例を示す図である。図２５において、ATQA_Xは、左からATQA_X0,ATQA_X02,SAK,AP_L,AP0乃至APn ,CRC_A(2バイト)が並んで構成されている。
【０１６３】  ここで、AP_Lは、AP0乃至APnの長さを格納する。SAKにプロトコル情報が、AP0乃至APnに、UIDが、それぞれ格納される。
【０１６４】  次に、図２６のフローチャートは、図５において、第５の実施の形態（Ａ４）の拡張ポーリングコマンドREQA_XおよびATQA_Xを使用したときの例を示す。
【０１６５】  ICカード処理装置２は、Field onの後、ステップＳ１２１およびＳ１２２において、ポーリング処理を行う。すなわち、ICカード処理装置２は、ステップＳ１２１において、REQA_Xを送信する。これに対して、ICカード１は、REQA_Xを受信すると、図２５に示されるATQA_Xを送信してくる。
【０１６６】  ICカード処理装置２は、ステップＳ１２２において、ATQA_Xを受信する。
【０１６７】 なお、図２４のステップＳ１２３乃至Ｓ１３５は、図５のステップＳ１５乃至Ｓ２７と基本的に同様な処理を行うので、その説明は省略される。
【０１６８】  以上のように、REQA_Xを送信し、ATQA_Xを受信することで、アプリケーション選択およびUID取得が完了するため、アンチコリジョン処理が不要となる。
【０１６９】＜９．タイプBの初期化処理＞  2017年現在の規格ISO/IEC 14443 タイプBのICカード(PICC)１とICカード処理装置(PCD)２は、通信の初期化処理として、アプリケーションファミリ(AFI)およびスロット数(N)を指定したアンチコリジョン処理を行って、複数のICカード１から１つの通信対象のICカード１のUID(Unique Identifier)を取得し、そのICカード１を選択してから、そのICカード１がホストするアプリケーションを選択する、という段階を踏んでから、アプリケーション本体の処理を行っている。
【０１７０】  図２７のフローチャートは、タイプBの初期化処理の例を示している。
【０１７１】  ICカード処理装置２は、ステップＳ１５１およびＳ１５２において、ポーリング処理を行う。すなわち、ICカード処理装置２は、ステップＳ１５１において、図２８に示されるREQBまたはWUPBを送信する。図２８において、REQBは、APF’05’,AFI,PARAM,CRC_Bからなる。これに対して、ICカード１は、REQBまたはWUPBを受信すると、ATQBを送信してくる。
【０１７２】  図２９は、図２８のREQBのAFIのコーディング例を示している。図３０のＡは、図２８のREQBのPARAMのコーディング例を示している。PARAMは、b8乃至b6がRFUであり、b5がExtended ATQB supportedであり、b4が、REQBまたはWUPBであり、b3乃至b1は、Nである。
【０１７３】  図３０のＢは、図３０のＡのNのコーディング例を示している。
【０１７４】  ICカード処理装置２は、ステップＳ１５２において、ATQBを受信する。ICカード処理装置２は、ステップＳ１５３において、SLOT_MAKERコマンドによるアンチコリジョン処理を行う。
【０１７５】  図３１は、SLOT_MAKERコマンドの構成例を示している。SLOT_MAKERコマンドは、APn(1バイト長)およびCRC_B(2バイト長)からなる。
【０１７６】  図３２は、図３１のSLOT_MAKERコマンドのAPnのコーディング例を示している。APnは、b8乃至b5の4バイトからなるSlot numberおよびb4乃至b1の4バイトからなる[0101b]で構成されている。
【０１７７】  図３３は、図３２のSlot numberのコーディング例を示している。
【０１７８】  図３４のＡは、図２７のステップＳ１５２において受信されるATQBのベーシックフォーマット例を示している。図３４のＢは、図２７のステップＳ１５２において受信されるATQBの拡張フォーマット例を示している。
【０１７９】  図２７に戻り、ステップＳ１５３におけるアンチコリジョン処理後、ICカード処理装置２は、ステップＳ１５４において、ISO/IEC 14443-4プロトコルがサポートされているか否かを判定する。ステップＳ１５４において、ISO/IEC 14443-4プロトコルがサポートされていると判定された場合、処理は、ステップＳ１５５に進む。
【０１８０】  ステップＳ１５５において、ICカード処理装置２は、ATTRIBを送信する。これに対して、ICカード１は、ATTRIBを受信すると、ATTRIBへの返答を送信してくる。ステップＳ１５６において、ICカード処理装置２は、ATTRIBへの返答を受信する。ステップＳ１５７において、ICカード処理装置２は、アプリケーション選択として、ISO/IEC 7816-4に準拠した処理を行う。
【０１８１】  一方、ステップＳ１５４において、ISO/IEC 1444304プロトコルがサポートされていないと判定された場合、処理は、ステップＳ１５８に進む。ステップＳ１５８において、アプリケーション選択として、プロプライエタリ・プロトコルが用いられる。
【０１８２】  図３５および図３６は、アプリケーションファミリ(AFI)およびスロット数(N)を指定したアンチコリジョン処理の例を示す図である。
【０１８３】＜１０．第６の実施の形態（Ｂ１）＞  本技術の第６の実施の形態（Ｂ１）においては、タイプBのアンチコリジョン処理にタイムスロットが導入される。
【０１８４】  すなわち、タイプBにおいては、REQBで応用分野のカテゴリ(AFI)を指定することによって、応答するICカード１を制限することは実現済みであるが、SLOT_MARKERコマンドによるアンチコリジョンでは、スロットごとにコマンドを送信する必要がある。このため、ICカード１がコマンドを正しく受信できない確率が上がり、アンチコリジョン処理が失敗する恐れがある。
【０１８５】  そこで、本技術においては、この確率を下げるための方法として、タイムスロットが導入される。REQBのPARAMを、図３７に示されるように変更する。
【０１８６】  図３７は、Timeslotビットを加えたPARAMのコーディング例を示す図である。
【０１８７】  すなわち、RFUであったb8乃至b6のうち、b7がTime slotに用いられる。b7(Time slot)が1bの場合、Nで符号化された個数のタイムスロットで、ICカード処理装置２は、ATQBを待ち受ける。ICカード１は、タイムスロット数の範囲で乱数を生成し、その乱数のタイムスロットで応答する。
【０１８８】  タイムスロットの開始は、REQBのフレーム終了(EOF)後から4096/fc(302ms)とし、  各タイムスロットの時間は、  SOF max + (ATQBの長さ+1)バイト転送時間(EGT含む)+EOF max +TR1 max = 14 etu + [16bytes×(10+2)×1etu]+11 etu +25 etu = 242 etu (2.28ms)とする。
【０１８９】  図３８は、タイムスロットのタイミングの例を示す図である。図３９は、ICカードのSOF前のタイプBのタイミングの例を示す図である。
【０１９０】  図３８および図３９において、TR1は、無変調サブキャリア時間である。
【０１９１】＜１１．第７の実施の形態（Ｂ２）＞  本技術の第７の実施の形態（Ｂ２）においては、タイプBのAFIが拡張され、2バイトが追加指定できるようにする。
【０１９２】  すなわち、タイプBにおいて、REQBでAFIを指定することは可能であるが、8ビットフィールドしかないため拡張性に乏しい。
【０１９３】  そこで、AFI拡張のため、REQBのPARAMが図４０に示されるように拡張される。すなわち、RFUであったb8乃至b6のうち、b7がTimeslotに変更され、b6がExtended AFI supportedに変更される。そして、b6のExtended AFI supportedが、1bの場合は、図４１に示されるような定義となる。
【０１９４】  すなわち、図４１のREQB_Xにおいては、図２８のREQBのPARAMとCRC_Bの間に、XAFI0およびXAFI1が追加される。SC(2バイト)によるアプリケーション選択を行う場合、AFIおよびXAFI0でSCが表現され、XAFI1が追加パラメタとされる。この場合、ICカード１は、AFIの他、XAFI0およびXAFI1を評価し、応答するか否かを決定する。
【０１９５】  また、他の例として、第４の実施の形態（Ａ３）と同様に、追加パラメタに対する長さ情報を格納するようにした場合は、図４２のような定義となる。
【０１９６】  図４２のREQB_Xにおいては、図２８のREQBのPARAMとCRC_Bの間に、XAFI_L,XAFI0,…,XAFInが追加される。
【０１９７】  ICカード１は、XAFI_Lの値によって、第４の実施の形態（Ａ３）で示した1.乃至3.のどのアプリケーション識別情報が指定されたかを認識して、ICカード１内部のアプリケーション情報と比較し、一致すれば、ATQB_Xで応答する。
【０１９８】  ここで、ICカード１として、上述した図１４の構成を有するNFCデバイス５１の場合、タイプBのアンチコリジョン処理において返送するパラメタは、NCIのListen B ParametersおよびETSI_TS102_622の card RF gate for RF technology Type Bレジストリとして定義されている。
【０１９９】  Listen B Parametersとして、LB_SC（2バイト長またはn×2バイト長）とLB_AID(16バイト長)とが追加される。card RF gate for RF technology Type Bレジストリとして、SC(2バイト長またはn×2バイト長）とLB_AID(16バイト長)とが追加される。
【０２００】  NFCCは、REQB_Xを受信したとき、これらのパラメータを評価して、一致すれば応答を返す。
【０２０１】＜１２．第８の実施の形態（Ｂ３）＞  本技術の第８の実施の形態（Ｂ３）においては、タイプBの初期化処理の先頭に、（ポーリング処理による）カード存在有無検出が行われる。これにより、カード存在有無にかける電力消費を減らすことができる。
【０２０２】  図４３のフローチャートは、本技術の第８の実施の形態（Ｂ３）の初期化処理の例を示している。なお、図４３のステップＳ１７５乃至Ｓ１８０は、図２７のステップＳ１５３乃至Ｓ１５８と基本的に同様の処理を行うので、その説明は繰り返しになるので省略される。
【０２０３】  すなわち、ICカード処理装置２は、ステップＳ１７１乃至Ｓ１７４において、ポーリング処理を行う。すなわち、ICカード処理装置２は、ステップＳ１７１において、REQA(B)またはWUQA(B)を送信する。これに対して、ICカード１は、REQA(B)またはWUQA(B)を受信すると、ATQA(B)を返してくるので、ICカード処理装置２は、ステップＳ１７２において、ATQA(B)を受信する。さらに、ICカード処理装置２は、ステップＳ１７３において、REQBを送信する。これに対して、ICカード１は、REQBを受信すると、ATQBを返してくるので、ICカード処理装置２は、ステップＳ１７４において、ATQBを送信する。
【０２０４】  図４４は、ステップＳ１７１およびＳ１７２で送受信されるREQA(B)およびWUPA(B)の例を示す図である。図４５は、ステップＳ１７３およびＳ１７４で送受信されるATQA(B)の例を示す図である。なお、変調方式およびビット符号化は、タイプBのものが使用される。
【０２０５】＜１３．タイプA Timeslotの初期化処理＞  タイプA（Timeslot方式）のICカード(PICC)１とICカード処理装置(PCD)２は、通信の初期処理として、タイムスロットを利用したアンチコリジョン処理を行って、複数のICカード１から1つの通信対象のICカード１のUID（Unique Identifier）を取得し，そのICカード１を選択してから，そのICカード１がホストするアプリケーションを選択する，という段階を踏んでから，アプリケーション本体の処理を行っている。
【０２０６】  図４６は、REQAのコマンドフォーマット（Short frame）の例を示す図である。図４７は、タイプA（Timeslot方式）におけるタイミングの例を示す図である。図４８は、タイプA（Timeslot方式）におけるコマンドと返答のセットの例を示す図である。図４９は、タイプA（Timeslot方式）におけるREQ-IDコマンドのパラメタの例を示す図である。
【０２０７】  図５０は、タイプA（Timeslot方式）の処理の例を説明するフローチャートである。
【０２０８】＜１４．第９の実施の形態（Ａ５）＞  本技術の第９の実施の形態（Ａ５）においては、タイプA（Timeslot方式）ベースとし、REQ-IDコマンドを拡張して、REQ-ID_Xと呼び、２バイトのアプリケーション識別情報(SC0およびSC1)を追加し、そのアプリケーション識別情報をもつICカード１だけが応答できるようにする。
【０２０９】  図５１は、REQ-ID_Xのコマンドフォーマットの例を示す図である。REQ-ID_Xは、REQ-ID,P1,P2,SC0,SC1,CRC_Bで構成されている。
【０２１０】  P2のb1でアプリケーション識別情報が含まれるかどうかが示される。REQ-ID_Xの応答は、ATQ-IDとする。
【０２１１】  図５２は、P2のコーディング例を示す図である。図５２において、b8乃至b2は0であり、b1は、0ならばREQ-IDフォーマットに従うことを示し、1ならばREQ-ID_Xフォーマットに従うことを示す。
【０２１２】＜１５．ISO/IEC 18092 212 kbit/s＋JIS X6319-4 拡張の初期化処理＞  2017年現在の規格ISO/IEC 18092 212 kbit/sでは、アンチコリジョン処理でアプリケーションに関連する情報が付帯していないが、この部分がJIS X 6319-4によって拡張される。
【０２１３】  図５３は、この拡張初期化処理について説明するフローチャートである。図５３の初期化処理においては、システムコード(SC)と呼ばれるアプリケーションファミリ指定し，かつタイムスロットを利用したアンチコリジョン処理（POLLING REQUEST及びPOLLING RESPONSE）を、ステップＳ２３１およびＳ２３２において行って，複数のICカード１から1つの通信対象のICカード１のNFCID2（Unique Identifier）を取得する。
【０２１４】  ステップＳ２３３において、ISO/IEC 18092のトランスポートプロトコルを利用するしないが判定される。ISO/IEC 18092のトランスポートプロトコルを利用する場合は、ステップＳ２３５において、ICカード処理装置２は、ATR_REQを送信し、ステップＳ２３６において、ATS_RESを受信する。ステップＳ２３７において、PSLコマンドの処理がなされ、ステップＳ２３８において、透過的なデータ交換が行われる。
【０２１５】  ステップＳ２３３において、ISO/IEC 18092のトランスポートプロトコルを利用しない場合は，ステップＳ２３９に進み、JIS X 6319-4ベースでのアプリケーション本体の処理が行われる。なお、ISO/IEC 18092では，コマンド送信側をイニシエータ，レスポンス送信側をターゲットと呼んでいるが，ここでは，他の規格との比較を考慮して，それぞれICカード処理装置２，ICカード１と呼ぶ。
【０２１６】  図５４は、JIS X_6319-4 拡張のPOLLING REQUSTの構成例を示す図である。図５５は、JIS X6319-4 拡張のPOLLING RESPONSEの構成例を示す図である。
【０２１７】＜１６．第１０の実施の形態（Ｊ１）＞  本技術の第１０の実施の形態（Ｊ１）においては、ISO/IEC 18092 212 kbit/sの初期化処理の先頭に、REQA-F/ATQA-Fによるカード存在有無検出を行う。これによって、カードの存在有無にかける電力消費を減らすことができる。
【０２１８】  図５６のフローチャートは、本技術の第１０の実施の形態の初期化処理の例を示している。なお、図５６のステップＳ２５３乃至Ｓ２６０は、図５３のステップＳ２３１乃至Ｓ２３８と基本的に同様の処理を行うので、その説明は繰り返しになるので省略する。
【０２１９】  すなわち、ステップＳ２５１およびＳ２５２のポーリング処理において、ICカード処理装置２は、REQA-Fを送信し、ICカード１は、REQA-Fを受信すると、ATQA-Fを送信してくるので、ICカード処理装置２はそれを受信する。
【０２２０】  図５７は、REQA-Fのフォーマットの例を示す図である。図５８は、ATQA-Fのフォーマットの例を示す図である。なお、変調方式およびビット符号化は、ISO/IEC 18092 212 kbit/sのものが使用される。
【０２２１】＜１７．第１１の実施の形態（Ｊ２）＞  本技術の第１１の実施の形態（Ｊ２）は、本技術の第１０の実施の形態（Ｊ１）の変形である。通信初期化において、アンチコリジョンを行わない、すなわち、タイムスロットを指定せず、単一のタイムスロットで応答(ビットコリジョンを用いたアンチコリジョン処理)を指示するものである。複数のICカード１を、ICカード処理装置２が別々のタイムスロットに分けて受信するようなケースを想定しない場合、タイムスロットを指定しないで、POLLING REQUESTを送ることで、レスポンスの待機時間を短縮でき、結果、全体のトランザクション時間を短縮することができる。
【０２２２】  なお、図５４のPOLLING REQUESTのTime slot numberには０が指定される。
【０２２３】＜１８．処理シーケンス比較＞  図５９および図６０は、通信初期化とファイルシステムの組み合わせによって、ファイルアクセスまでの処理が異なることを表している。
【０２２４】  図５９に示される通信初期化は、次のとおりである。
【０２２５】  1.ISO/IEC 14443 Type A（ISO/IEC 18092 106 kbit/s）で規定される。カード存在有無検出、カード認識（UID取得）、プロトコル活性化を、それぞれ順を踏んで行う。カード認識とは、PICC（ICカード１）が応答することによって、その応答に含まれるUID等によって、PCD（ICカード処理装置２）がそのPICC（ICカード１）を個別に認識したことを意味する。  2.ISO/IEC 14443 Type Bで規定される。アプリケーションファミリを選択後、カード認識、プロトコル活性化を、それぞれ順を踏んで行う。第６の実施の形態（実施例Ｂ１）（Type Bへのタイムスロット適用）は、これに含まれる。
【０２２６】  3.Type Aベースの第１の実施の形態（実施例Ａ１）、第２の実施の形態（実施例Ａ２）。カード存在有無検出後に、CL1乃至CL3のアンチコリジョンを用いて、アプリケーションファミリ選択（2バイトのシステムコード）とカード認識（8バイトのIDm）を行う。  4.Type Aベースの第４の実施の形態（実施例Ａ３）。カード存在有無検知を行わずに、アプリケーションファミリ又はアプリケーション選択後にカード認識を行う。  5.Type Aベースの第５の実施の形態（実施例Ａ４）。カード存在有無検知及びアンチコリジョンを行なわずに、アプリケーションファミリ又はアプリケーション選択を行う。
【０２２７】  6.Type Bベースの第７の実施の形態（実施例Ｂ２）。AFIを拡張し，アプリケーションファミリだけでなく，アプリケーション選択をできるようにする。  7.Type Bベースの第８の実施の形態（実施例Ｂ３）。初期化の先頭において、Type AのREQA/ATQA（変調・ビット符号化にはType Bを利用）を導入し、高速かつ低消費電力のポーリングを実現する。
【０２２８】  8.ISO/IEC 18092 212 kbit/sをJIS X 6319-4による拡張。アプリケーションファミリ選択可能な、タイムスロットを利用したアンチコリジョンを行う。  9.18092ベースの第１０の実施の形態（実施例Ｊ１）。Type AのREQA/ATQA（変調・ビット符号化にはISO/IEC 18092 212 kbit/sを利用）を導入し、高速かつ低消費電力のポーリングを実現する。  10.18092ベースの第１１の実施の形態（実施例Ｊ２）。実施例Ｊ１と同様にType AのREQA/ATQAを導入し、アンチコリジョンを省略した、より高速かつ低消費電力のポーリングを実現する。
【０２２９】  図６０に示されるファイルシステムは次のとおりである。  F.1.ISO/IEC 7816-4で規定される。選択されたカードに対して、SELECTコマンドでDFやEF等のファイルを選択した後、READ BINARYコマンド等で選択したファイルにアクセスする。  F.2.JIS X 6319-4で規定される。カードの識別子、エリアコード及びサービスコード等の識別子（アプリケーション又はファイルの識別）を含むReadコマンドで、指定したカード内の、指定したファイルにアクセスする。
【０２３０】  以上のように、本技術によれば、ICカード処理装置（PCD）によるアプリケーション選択が、アンチコリジョン処理完了までの早い段階で完了することで、ICカード（PICC）とのアプリケーション本体の処理を早く始めることができ，全体のRFトランザクション時間の短縮に寄与する。
【０２３１】  アンチコリジョン処理の前にアプリケーション選択を行うことで、アンチコリジョンにおいて応答するICカード（PICC）を減らすことによってICカード処理装置（PCD）の処理軽減にも寄与する。
【０２３２】  現在、本出願人であるソニー株式会社のFeliCa（登録商標）など近距離無線通信システムの応用分野の一つとして公共交通システム（例：Suica）がある。自動改札機におけるカード処理時間は200 ms以下という高速処理が要求されていることからも、RFの通信速度が106 kbpsのType Aを利用する近距離無線通信システム（例えば、FeliCa（登録商標）のRFの通信速度は212 kbps）においても、この高速化は、公共交通システムが要求する処理性能の達成に寄与する。
【０２３３】＜１９．コンピュータの構成例＞  上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
【０２３４】  図６１は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。例えば、図１の制御装置２１は、図６１のコンピュータで構成される。
【０２３５】  図６１に示されるコンピュータにおいて、CPU（Central Processing Unit）３０１、ROM（Read Only Memory）３０２、RAM（Random Access Memory）３０３は、バス３０４を介して相互に接続されている。
【０２３６】  バス３０４にはまた、入出力インタフェース３０５も接続されている。入出力インタフェース３０５には、入力部３０６、出力部３０７、記憶部３０８、通信部３０９、およびドライブ３１０が接続されている。
【０２３７】  入力部３０６は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部３０７は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部３０８は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部３０９は、例えば、ネットワークインタフェースよりなる。ドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア３１１を駆動する。
【０２３８】  また、図１のように構成されるICカード１では、CPU１０が、例えば、データメモリ１３に記憶されているプログラムを、CPU１０を介して、ワーキングメモリ１２にロードして実行することにより、上述した一連の処理が行われる。ワーキングメモリ１２にはまた、CPU１０が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２３９】  コンピュータ（CPU１０）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア（図示せぬ）に記録して適用することができる。その場合、プログラムは、リムーバブルメディアをドライブに装着することにより、CPU１０を介して、データメモリ１３にインストールすることができる。
【０２４０】  また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、インタフェース１７で受信し、データメモリ１３にインストールすることができる。
【０２４１】  その他、このプログラムは、ワーキングメモリ１２やデータメモリ１３に、あらかじめインストールしておくこともできる。
【０２４２】  以上のように構成されるコンピュータでは、CPU１０が、例えば、データメモリ１３に記憶されているプログラムを、ワーキングメモリ１２にロードして実行することにより、上述した一連の処理が行われる。ワーキングメモリ１２にはまた、CPU１０が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０２４３】  コンピュータ（CPU１０）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディアに記録して適用することができる。その場合、プログラムは、リムーバブルメディアをドライブに装着することにより、CPU１０を介して、ワーキングメモリ１２にインストールすることができる。
【０２４４】  また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、インタフェース１７で受信し、ワーキングメモリ１２にインストールすることができる。
【０２４５】  その他、このプログラムは、プログラムメモリ１１やワーキングメモリ１２に、あらかじめインストールしておくこともできる。
【０２４６】  なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２４７】  例えば、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２４８】  また、例えば、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０２４９】  また、例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２５０】  また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能（機能ブロック等）を有し、必要な情報を得ることができるようにすればよい。
【０２５１】  また、例えば、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０２５２】  なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【０２５３】  なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術を、他の実施の形態において説明した本技術と組み合わせて実施することもできる。また、上述した任意の本技術を、上述していない他の技術と併用して実施することもできる。
【０２５４】  なお、本技術は以下のような構成も取ることができる。  （１）  通信対象の装置がホストするアプリケーションを選択するアプリケーション選択部と、  前記アプリケーション選択部によりアプリケーションが選択された後、前記通信対象の装置の識別情報を取得する識別情報取得部と  を備える通信装置。  （２）  前記アプリケーション選択部は、アンチコリジョン処理の最初に送るコマンドにアプリケーション識別情報を含めることで、前記通信対象の装置がホストするアプリケーションを選択し、  前記識別情報取得部は、前記アンチコリジョン処理を行って、前記通信対象の装置の識別情報を取得する  前記（１）に記載の通信装置。  （３）  前記アプリケーション識別情報は、２バイトからなる  前記（２）に記載の通信装置。  （４）  前記アンチコリジョン処理は、タイムスロットを用いて行われる  前記（３）に記載の通信装置。  （５）  前記アンチコリジョン処理の最初のコマンドのSEL値は、所定の値とする  前記（２）に記載の通信装置。  （６）  前記アプリケーション識別情報を指定し、タイムスロットを指定する前記アンチコリジョン処理に先立って、初期化処理の先頭に、前記通信対象の装置の存在有無検出を行う装置検出部を  さらに備える前記（２）に記載の通信装置。  （７）  前記アプリケーション識別情報を指定し、ビットコリジョンを用いた前記アンチコリジョン処理に先立って、初期化処理の先頭に、前記通信対象の装置の存在有無検出を行う装置検出部を  さらに備える前記（５）に記載の通信装置。  （８）  前記アプリケーション選択部は、スタンダードフレームを用いた拡張ポーリングコマンドを用いて、前記通信対象の装置がホストするアプリケーションを選択する  前記（１）に記載の通信装置。  （９）  前記拡張ポーリングコマンドは、前記アプリケーション識別情報および前記アプリケーション識別情報の長さを格納する  前記（８）に記載の通信装置。  （１０）  前記拡張ポーリングコマンドは、アプリケーション識別情報の種類毎に分類されたコマンドからなる  前記（８）または（９）に記載の通信装置。  （１１）  前記拡張ポーリングコマンドを受信した通信対象の装置が送信してくる応答コマンドは、前記通信対象の装置の識別情報およびプロトコル情報の少なくともいずれかを含む  前記（８）乃至（１０）のいずれかに記載の通信装置。  （１２）  前記アプリケーション選択部は、通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を、タイムスロットを導入して行う  前記（１）に記載の通信装置。  （１３）  前記アプリケーション選択部は、通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を行い、  前記アプリケーション識別情報は、２バイトに追加指定可能に構成されている  前記（１）に記載の通信装置。  （１４）  前記アプリケーション選択部は、通信の初期化処理の先頭で、ポーリング処理により、前記通信対象の装置の存在有無検出を行い、前記通信の初期化処理として、アプリケーション識別情報およびスロット数を指定したアンチコリジョン処理を行う  前記（１）に記載の通信装置。  （１５）  前記通信対象の装置は、NFC (Near Field Communication)デバイスである  前記（１）乃至（１４）のいずれかに記載の通信装置。  （１６）  通信装置が、  通信対象の装置がホストするアプリケーションを選択し、  前記アプリケーションが選択された後、前記通信対象の装置の識別情報を取得する  通信方法。
【符号の説明】
【０２５５】  １  ICカード，  ２  ICカード処理装置，  １０  CPU,  １１  プログラムメモリ，  １２  ワーキングメモリ，  １２ａ  ロジカルチャネル管理テーブル，  １２ｂ  履歴管理テーブル，  １３  データメモリ，  １５  通信制御部，  １６  電源部，  １７  インタフェース，  ５１  NFCデバイス，  ７１  DH，  ７２  NFCC，  ７３  NFCEE，  ７４  アンテナ
【図１】
2018198813.tif 000003
【図２】
2018198813.tif 000004
【図３】
2018198813.tif 000005
【図４】
2018198813.tif 000006
【図５】
2018198813.tif 000007
【図６】
2018198813.tif 000008
【図７】
2018198813.tif 000009
【図８】
2018198813.tif 000010
【図９】
2018198813.tif 000011
【図１０】
2018198813.tif 000012
【図１１】
2018198813.tif 000013
【図１２】
2018198813.tif 000014
【図１３】
2018198813.tif 000015
【図１４】
2018198813.tif 000016
【図１５】
2018198813.tif 000017
【図１６】
2018198813.tif 000018
【図１７】
2018198813.tif 000019
【図１８】
2018198813.tif 000020
【図１９】
2018198813.tif 000021
【図２０】
2018198813.tif 000022
【図２１】
2018198813.tif 000023
【図２２】
2018198813.tif 000024
【図２３】
2018198813.tif 000025
【図２４】
2018198813.tif 000026
【図２５】
2018198813.tif 000027
【図２６】
2018198813.tif 000028
【図２７】
2018198813.tif 000029
【図２８】
2018198813.tif 000030
【図２９】
2018198813.tif 000031
【図３０】
2018198813.tif 000032
【図３１】
2018198813.tif 000033
【図３２】
2018198813.tif 000034
【図３３】
2018198813.tif 000035
【図３４】
2018198813.tif 000036
【図３５】
2018198813.tif 000037
【図３６】
2018198813.tif 000038
【図３７】
2018198813.tif 000039
【図３８】
2018198813.tif 000040
【図３９】
2018198813.tif 000041
【図４０】
2018198813.tif 000042
【図４１】
2018198813.tif 000043
【図４２】
2018198813.tif 000044
【図４３】
2018198813.tif 000045
【図４４】
2018198813.tif 000046
【図４５】
2018198813.tif 000047
【図４６】
2018198813.tif 000048
【図４７】
2018198813.tif 000049
【図４８】
2018198813.tif 000050
【図４９】
2018198813.tif 000051
【図５０】
2018198813.tif 000052
【図５１】
2018198813.tif 000053
【図５２】
2018198813.tif 000054
【図５３】
2018198813.tif 000055
【図５４】
2018198813.tif 000056
【図５５】
2018198813.tif 000057
【図５６】
2018198813.tif 000058
【図５７】
2018198813.tif 000059
【図５８】
2018198813.tif 000060
【図５９】
2018198813.tif 000061
【図６０】
2018198813.tif 000062
【図６１】
2018198813.tif 000063
【国際調査報告】
2018198813.tif 000064
2018198813.tif 000065