以下、本実施形態の一例に係る情報読取システム、情報読取装置、情報読取プログラム、および情報読取方法について説明する。まず、情報読取システムの構成について説明する。図1は、本実施形態に係る情報読取システムの外観の一例を示す図である。図2は、上記情報読取システムの構成の一例を示す図である。図1および図2に示すように、上記情報読取システムは、情報処理装置1および記憶媒体(タグ)2を含む。情報処理装置1は、近接するタグ2との間で無線通信(以下、単に近距離無線通信と記載することがある)が可能であり、当該近距離無線通信の際にイニシエータ側の無線通信装置(主として通信先装置に対して命令を発する側の装置)として機能することが可能な任意の情報処理装置である。また、タグ2は、情報処理装置1との間で近距離無線通信が可能であり、当該近距離無線通信の際に情報処理装置1のターゲットとなる無線通信装置(主としてイニシエータ側の無線通信装置から命令を受ける側の装置)として機能することが可能な任意の情報記憶媒体である。
本実施形態においては、近距離無線通信の一例として、情報処理装置1とタグ2との間でNFC規格に基づく通信が行われる場合を例として説明する。ここで、本明細書において近距離無線通信とは、一方の装置からの電波によって(例えば電磁誘導によって)他方の装置に起電力を発生させる通信方式を指す。他方の装置は、発生した起電力によって動作することが可能である(他方の装置は、電源を有していてもよいし有していなくてもよい)。近距離無線通信においては、情報処理装置1とタグ2とが接近した場合(典型的には両者の距離が十数センチ以下となった場合)に通信可能となる。また、近距離無線通信では、2つの通信装置の通信が確立している間(通信装置に他のタグが接近している間)は電波が送出され続ける。なお、本実施形態においては、情報処理装置1が電磁誘導によってタグ2に起電力を発生させ、情報処理装置1とタグ2との間で近距離無線通信が行われる。
情報処理装置1は、近距離無線通信が可能な任意の情報処理装置である。本実施形態においては、情報処理装置1は、例えば携帯型ゲーム装置、携帯電話、あるいはスマートフォン等といった、携帯型(可搬型とも言う)の装置であってもよいし、パーソナルコンピュータや家庭用ゲーム機等といった据置型の装置であってもよいし、業務用のアーケードゲーム装置のような大型の装置であってもよい。例えば、情報処理装置1は、NFCリーダライタの機能を有する携帯機器である。
タグ2は、情報処理装置1との間で近距離無線通信が可能な任意の装置である。本実施形態においては、タグ2は、NFCタグの機能を有する記憶媒体である。すなわち、タグ2は、近距離無線通信を行う回路(ICチップ)と、データを記憶する記憶手段(メモリ等)とを備える。なお、タグ2は、データを記憶する機能のみを有する装置に限らず、例えばNFCのカードエミュレーション機能を有する情報処理装置(携帯機器)であってもよい。
情報処理装置1は、その主面に表示部17を備えており、表示部17の表示画面に接近するタグ2との間で近距離無線通信が可能となる。そして、情報処理装置1は、表示部17の表示画面に接近している(表示画面と接触している)タグ2の位置(タグ2と最も接近している(接触している)表示画面上の位置であり、以下、接触位置と称する)を検出可能であり、当該接触位置に基づいた情報処理が可能となる。例えば、図1に示した一例では、表示部17の表示画面に対するタグ2aの接触位置を基準として、当該表示画面にタグ2aの種別に応じた画像Iaが表示されている。また、表示部17の表示画面に対するタグ2bの接触位置を基準として、当該表示画面にタグ2bの種別に応じた別の画像Ibが表示されている。なお、表示部17の表示画面は、当該表示画面をほぼ水平にすることにすることによって、タグ2を載置する載置部として機能することができる。この場合、表示部17の表示画面は、情報処理装置1と近距離無線通信するタグ2を安定して載置することができ、近距離無線通信のリーダライタ装置として情報処理装置1を機能させることが可能となる。
以下、情報処理装置1の構成の一例について説明する。図2に示すように、情報処理装置1は、通信部11を備える。通信部11は、近距離無線通信に用いられるアンテナである。また、情報処理装置1は、通信チップ12を備える。通信チップ12は、後述するCPU13からの指示に従い、通信部11から送出すべき信号(電波)を生成し、当該信号を通信部11から送出する。通信チップ12は、例えばNFCチップ(NFC集積回路)である。なお、他の実施形態においては、通信部11および通信チップ12の機能を有する通信モジュール(例えばNFCモジュール)が、情報処理装置1に接続(装着)されてもよい。この通信モジュールは、情報処理装置1に対して着脱可能に構成されてもよい。
また、情報処理装置1は、CPU13およびメモリ14を備える。CPU13は、情報処理装置1で実行される各種の情報処理を実行するための情報処理部である。CPU13は、メモリ14を用いて上記各種の情報処理を実行する。
情報処理装置1は、プログラム記憶部15を備える。プログラム記憶部15は、情報処理装置1において実行される各種プログラム(例えば、通信プログラムおよびアプリケーションプログラム)を記憶する。プログラム記憶部15は、CPU13がアクセス可能な任意の記憶装置(記憶媒体)である。プログラム記憶部15は、例えばハードディスクやメモリ等の、情報処理装置1に内蔵される記憶部であってもよいし、例えば光ディスクやカートリッジ等の、情報処理装置1に着脱可能な記憶媒体であってもよいし、これらの記憶部および記憶媒体の両方であってもよい。
また、情報処理装置1は、ボタンやタッチパネル等、ユーザによる指示を受け付ける入力部16を備える。また、情報処理装置1は、上記情報処理によって生成される画像を表示する表示部17を備えている。例えば、入力部16は、表示部17の表示画面上の位置を検出する光学式のタッチパネルを備えている。そして、上記タッチパネルは、その入力面に対する2点以上の入力位置を認識するマルチタッチが可能である。一例として、入力部16は、表示部17の表示画面表面に設けられたカバーガラス内に光(例えば、赤外光)を投射し、当該カバーガラスの表面に物体が触れた場合に当該カバーガラス内を反射しながら進む光が散乱する現象を利用する平面散布検出方式(PSD:Planar Scatter Detection)を用いたタッチパネルを備えている。なお、入力部16が備えるタッチパネルは、平面散布検出方式でなくてもよく、他の光学式タッチパネルや圧力式(抵抗膜方式)、静電容量方式、超音波方式、電磁誘導方式等のタッチパネルであってもよい。
なお、情報処理装置1は、複数の装置によって構成されてもよい。例えば、他の実施形態においては、情報処理装置1において実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)によって通信可能な複数の装置によって分散して実行されてもよい。
例えば、情報処理装置1は、アプリケーションプログラムおよび通信プログラム等、複数のプログラムがCPU13によって実行可能に構成されてもよい。アプリケーションプログラムは、タグ2との間でデータ通信を行う任意のアプリケーションを実行するためのプログラムであり、タグ2からゲームデータを読み出して当該ゲームデータを用いてゲーム処理を行うゲームプログラムであってもよい。通信プログラムは、タグ2との間で近距離無線通信を行うためのプログラムである。例えば、通信プログラムは、通信チップ12を動作させるためのファームウェアやドライバソフトウェアであり、アプリケーションからの指示を受けて通信のための動作を通信チップ12に行わせる。
次に、図3を参照して、通信部11の構成例について説明する。なお、図3は、通信部11の構成の一例を示す図である。
図3において、通信部11は、タグ2(ターゲットとなる無線通信対象)との間で行われる近距離無線通信に用いられる複数のアンテナを有している。図3に示した一例では、表示部17の表示画面(すなわち、入力部16のタッチパネル入力面)に沿って、複数のアンテナ111〜126が設けられている。複数のアンテナ111〜126のうち、複数のアンテナ111〜118は、表示画面の左右方向(横方向)が長軸方向となった長細形状(例えば、長細い角丸長方形)を有し、当該表示画面の上方から下方へ並設されている。また、複数のアンテナ111〜126のうち、複数のアンテナ119〜126は、表示画面の上下方向(縦方向)が長軸方向となった長細形状(例えば、長細い角丸長方形)を有し、当該表示画面の左方から右方へそれぞれ複数のアンテナ111〜118と交差して並設されている。つまり、複数のアンテナ111〜126は、表示部17の表示画面に沿ってマトリックス状の領域が形成されるように配置される。これによって、各アンテナ111〜126の投影面(開口面)が交差する他のアンテナによって細分化されることになる。例えば、表示画面の横方向に配置されるアンテナ114は、交差する複数のアンテナ119〜126によって、アンテナ114の投影面とアンテナ119の投影面と交差する領域、アンテナ114の投影面とアンテナ120の投影面と交差する領域、アンテナ114の投影面とアンテナ121の投影面と交差する領域、アンテナ114の投影面とアンテナ122の投影面と交差する領域、アンテナ114の投影面とアンテナ123の投影面と交差する領域、アンテナ114の投影面とアンテナ124の投影面と交差する領域、アンテナ114の投影面とアンテナ125の投影面と交差する領域、およびアンテナ126の投影面とアンテナ119の投影面と交差する領域の8つの領域に細分化される。
また、通信部11は、通信チップ12が近距離無線通信に用いるアンテナを切り替えるためのアンテナ切替スイッチ110を有している。アンテナ切替スイッチ110は、CPU13からの指示(当該指示は、通信チップ13を介して行われてもよい)に従い、複数のアンテナ111〜126の何れか1つと通信チップ12とを接続する。これによって、通信チップ11は、CPU13からの指示に従い、通信部11から送出すべき信号(電波)を生成し、アンテナ切替スイッチ110を介して選択されている複数のアンテナ111〜126の何れか1つから送出する。また、選択されている複数のアンテナ111〜126の何れか1つから信号を受信した場合、アンテナ切替スイッチ110を介して通信チップ12が当該信号を取得する。
図4は、タグ2の外観の一例を示す図である。図4に示すように、本実施形態におけるタグ2は、キャラクタを表す外観を有する、フィギュア型のタグである。タグ2が表すキャラクタは、情報処理装置1で実行可能な特定のアプリケーション(例えばゲーム)に登場するキャラクタである。ユーザは、タグ2を用いることによって、上記特定のアプリケーションにおいて上記キャラクタを登場させることができる。すなわち、情報処理装置1は、上記特定のアプリケーションのプログラムを実行する際、タグ2に記憶されるデータを用いることによって、当該アプリケーションのプログラムによって生成される仮想空間に上記のキャラクタを登場させる。なお、フィギュア型のタグ2は、アプリケーションに登場する任意のオブジェクトを表すものであり、キャラクタに限らず、ゲームアプリケーションにおけるアイテムを表すものであってもよい。
上記のように、タグ2は、特定のアプリケーションプログラムにおいて用いられる。また、詳細は後述するが、タグ2は、特定のアプリケーションプログラムにおいてのみ利用可能なデータ(後述する専用データ)を記憶することができる。なお、1種類のタグに対応する特定のアプリケーションプログラムは、1種類であってもよいし、複数種類であってもよい。例えば、1つのシリーズのアプリケーションとして複数種類のアプリケーションが提供されている場合には、これら複数種類のアプリケーションが特定のアプリケーションプログラムであってもよい。
なお、タグ2は、特定のアプリケーションプログラムにおいて利用可能である一方、他のアプリケーションプログラムにおいても利用可能であってもよい。すなわち、タグ2は、特定のアプリケーションプログラムにおいてのみ利用可能なデータを記憶する一方、特定のアプリケーションプログラム以外の他のアプリケーションプログラムにおいても利用可能なデータも記憶する。
タグ2の台座26の底面には、複数の突起部261および262a〜262cが形成されている。突起部261は、タグ2の底面のほぼ中央部に形成されており、タグ2の底面を表示部17の表示画面(すなわち、入力部16のタッチパネル入力面)上に接触させた際にタッチパネルによって位置検出が可能なサイズで形成されている。複数の突起部262a〜262cは、タグ2の底面の外縁部付近に形成され、タグ2を表示画面上に置いた場合に当該表示画面とそれぞれ接触するとともに、タッチパネルによって位置検出されないサイズで形成されている。例えば、複数の突起部262a〜262cは、タグ2の底面の外縁に対して等間隔に3カ所設けられ、安定してタグ2を表示画面上に置けるように形成されている。なお、複数の突起部262a〜262cが表示画面とそれぞれ接触した際、突起部261は、当該表示画面と接触する突起高さであってもよいし、タッチパネルによる位置検出が可能な当該表示画面と接触しない突起高さであってもよい。以下、タグ2に記憶されるデータの一例について説明する。
図5は、タグ2に記憶されるデータの一例を示す図である。本実施形態においては、図5に示すように、タグ2は、読み出し専用領域21と読み書き可能領域22とを有する。読み出し専用領域21は、データの読み出しのみが可能な記憶領域である。読み書き可能領域22は、データの読み出しおよび書き込みが可能な記憶領域である。読み出し専用領域21は、タグ2の製造時等においてデータが記憶され、その後(タグ2の出荷後)のデータの書き込みが禁止される記憶領域である。つまり、情報処理装置1(情報処理装置1において実行されるアプリケーション)は、読み出し専用領域21に対するデータの書き込みを行うことは不可能である。一方、情報処理装置1(情報処理装置1において実行されるアプリケーション)は、読み書き可能領域22に対するデータの読み出しおよび書き込みを行うことができる。なお、タグ2の出荷時においては読み書き可能領域22にはデータが予め記憶されていてもよいし、記憶されていなくてもよい。いずれの場合であっても、タグ2と情報処理装置1との通信が行われると、情報処理装置1によって読み書き可能領域22にデータが書き込まれて記憶される。
また、本実施形態においては、大別して、専用データおよび共用データという2種類のデータがタグ2に記憶される。なお、図5に示すように、本実施形態においては、各データが記憶される記憶領域(専用データ領域および共用データ領域)は予め定められているものとするが、他の実施形態においては定められていなくてもよい。
専用データは、上述の特定のアプリケーションプログラムでのみ利用可能なデータである。本実施形態において、専用データは、特定のアプリケーションプログラムのセーブデータD2fを含む(図5参照)。セーブデータD2fとしては、例えば、タグ2が表すキャラクタに関するパラメータを示すデータ、特定のアプリケーションプログラムのゲームの進行状態を示すデータ、および/または特定のアプリケーションプログラムのゲームのプレイヤに関するデータ等が記憶される。なお、本実施形態においては、専用データは、読み書き可能領域22に記憶され、読み出し専用領域21には記憶されない(図5参照)。
次に、共用データについて説明する。共用データは、特定のアプリケーションプログラムであるか否かにかかわらず利用可能なデータである。本実施形態においては、共用データは、読み出し専用領域21および読み書き可能領域22の両方に記憶される。なお、タグ2は、読み出し専用領域21または読み書き可能領域22のいずれか一方にのみ共用データを記憶してもよい。
読み出し専用領域21には、共用データとして、固有IDデータD2a、タイプIDデータD2b、フィギュアIDデータD2c、シリーズIDデータD2d、および利用IDデータD2e等が少なくとも記憶されてもよい。
例えば、固有IDデータD2aは、タグ2に固有の識別情報を示すデータである。ここで、本実施形態におけるタグ2のようなNFCタグには、UID(Unique ID)という、タグに固有の識別情報が記憶される。上記固有IDデータD2aは、このUIDとは異なる情報を示すデータである。固有IDデータD2aは、タグ2を用いたサービスの提供者がタグを管理しやすいように、UIDとは別に付されたIDを示すデータである。
フィギュアIDデータD2cは、フィギュア型のタグ2の外観(形状・色)に固有の識別情報を示すデータである。フィギュアIDデータD2cは、タグ2のフィギュアの種類を一意に特定することが可能な識別情報を示すデータである。例えば、1つのキャラクタにつき、それぞれ外観が異なる(例えば、ポーズや服装が異なる)複数種類のタグがある場合には、各タグには異なる値のフィギュアIDが設定される。この場合、フィギュアIDデータD2cは、キャラクタに固有のIDと、ポーズ・服装などの違いを示すIDとを示すデータを含んでもよい。
なお、情報処理装置1において実行可能なアプリケーションプログラムは、自身において利用する(利用可能な)タグのフィギュアIDの情報を含んでいる。例えば、アプリケーションプログラムに含まれるフィギュアIDの値と、タグ2に記憶されるフィギュアIDの値とが一致する場合、アプリケーションプログラムは、当該タグ2に記憶される専用データを利用可能となる。つまり、フィギュアIDは、タグ2に記憶される専用データの利用を管理するための識別情報であるとも言うことができる。
シリーズIDデータD2dは、タグ2が表すオブジェクト(キャラクタ)が属するグループに固有の識別情報を示すデータである。例えば、タグ2が表すキャラクタが複数種類のアプリケーション(例えば、一連のシリーズのゲームアプリケーション)に登場する場合、これら複数種類のアプリケーションが1つのグループに設定され、このグループを示すグループIDを示すデータがシリーズIDデータD2dに設定されてもよい。
タイプIDデータD2bは、タグ2の種類を示す識別情報を示すデータである。本実施形態においては、情報処理装置1においては、タグ2のようなフィギュア型のタグの他、カード型のタグも利用可能であるとする。タイプIDデータD2bは、タグの種類として、フィギュア型のタグであるかカード型のタグであるかを示す識別情報を示すデータである。なお、他の実施形態においては、タイプIDデータD2bによって識別可能なタグの種類は任意である。例えば、タグ2を提供する業者毎に異なるタイプIDが付されてもよい。
利用IDデータD2eは、タグ2に記憶される専用データを利用可能なアプリケーションプログラム(特定のアプリケーションプログラム)を特定する識別情報を示すデータである。ここで、情報処理装置1において実行可能なアプリケーションプログラムには、利用IDが付される。本実施形態においては、タグ2に記憶される専用データの利用を管理するためにフィギュアIDが用いられる。ただし、他の実施形態においては、タグ2に記憶される専用データの利用を管理するために利用IDが用いられてもよい。
また、図5に示すように、読み書き可能領域22には、共用データとして、初期登録データD2gと更新データD2hとが記憶される。なお、タグ2に記憶される共用データの内容は任意である。例えば、他の実施形態においては、タグ2は、共用データとして、初期登録データD2gおよび更新データD2hのいずれか一方のみを記憶してもよい。
初期登録データD2gは、情報処理装置1においてタグ2の利用が開始される際にユーザによって登録されるデータである。なお、初期登録データD2gは、典型的には、タグ2が最初に利用されるタイミングでタグ2に記憶されるが、任意のタイミングでタグ2に記憶されてもよい。つまり、ユーザによるタグ2に対するデータの登録は、任意のタイミングで行われてもよい。例えば、初期登録データD2gには、アバターデータ、ニックネーム、登録日時、および地域等を示すデータが含まれていてもよい。
アバターデータは、ユーザのアバターのデータである。アバターデータは、情報処理装置1がアバターを生成して表示部17に表示するために用いられるデータを含む。具体的には、アバターデータは、アバターの各部位(目や鼻等の形や体型等)を示すデータを含んでいる。なお、本実施形態においては、情報処理装置1には、アバターデータを用いてアバターを生成するプログラムが記憶されているものとする。本実施形態においては、アバターを生成するプログラムは、情報処理装置1に予め記憶されており、各アプリケーションプログラムにおいてアバターを表示することが可能である。
ニックネームは、ユーザがタグ2に対して付けるニックネームである。例えば、1人のユーザが同じ外観のタグを2つ以上所有している場合、これらのタグに対して互いに異なるニックネームを付すことで、各タグを区別することができる。タグ2に対して初期登録処理が実行される場合、情報処理装置1は、アバターデータおよびニックネームをユーザに入力させてもよい。この場合、入力されたデータが、後述する登録日時および地域のデータとともに、初期登録データD2gとしてタグ2に記憶される。
登録日時は、初期登録が行われた日時である。また、地域は、初期登録が行われた地域である。例えば、登録日時および地域のデータは、初期登録処理において情報処理装置1によって自動的にタグ2に書き込まれてもよい。
次に、更新データD2hに含まれる情報について説明する。更新データD2hは、タグ2と情報処理装置1との通信が行われる際に(一定条件下で)内容が更新されるデータである。例えば、更新データD2hには、書き込み回数、最終書き込み装置、装置変更回数、最終利用アプリ、および最終書き込み日時等を示すデータが含まれていてもよい。例えば、タグ2に記憶されている更新データD2hは、専用データが書き込まれるタイミングで更新(上書き)されてもよい。
書き込み回数は、タグ2に対して専用データの書き込みが行われた回数である。最終書き込み装置は、タグ2に対する専用データの書き込みを最後に行った情報処理装置である。例えば、情報処理装置毎に固有の識別情報が付されている場合、書き込み装置のデータとして、書き込みを行った情報処理装置の識別情報やそのハッシュ値が記憶されてもよい。装置変更回数は、専用データの書き込みを行う情報処理装置が変更された回数である。例えば、ユーザ自身の情報処理装置によってタグ2に対する書き込みが行われた後、ユーザの情報処理装置とは異なる情報処理装置(例えば、外出先の店頭に設置されている情報処理装置や、ユーザの友人の情報処理装置)によってタグ2に対する書き込みが行われた場合、装置変更回数がインクリメントされる。最終利用アプリは、タグ2に対して専用データの書き込みを最後に行ったアプリケーションプログラムである。例えば、最終利用アプリのデータとして、上記利用IDではなく、アプリケーションプログラム毎に固有の識別情報のデータが記憶されてもよい。最終書き込み日時は、タグ2に対して専用データの書き込みが最後に行われた日時である。
なお、専用データおよび共用データは、情報処理装置1によって復号可能な方式で暗号化されてもよい。なお、専用データの暗号化方式と共用データの暗号化方式とは同じであってもよいし、異なっていてもよい。したがって、上記方式での復号機能を持たない装置によってタグ2から上記他のデータが読み出されても、当該装置はデータの内容を解読することはできない。これによって、タグ2内のデータのセキュリティを向上することができる。なお、他の実施形態においては、専用データおよび共用データの一方が暗号化されていなくてもよい。
次に、図6を参照して、情報読取システムにおける通信に関する動作について説明する。なお、図6は、情報読取システムにおいて、情報処理装置1とタグ2との間で通信を行う一例を説明するための図である。
情報処理装置1は、表示部17の表示画面上にタグ2が置かれている場合、当該タグ2の接触位置およびタグ2の種別や状況を示すデータ(例えば、タグ2の共用データ)を管理する。例えば、情報処理装置1は、入力部16のタッチパネルによる位置検出データに基づいてタグ2の接触位置を取得し、近距離無線通信を介してタグ2から共用データを取得することによってタグ2の種別や状況を示すデータを取得する。図6に示すように、表示部17の表示画面上に複数のタグ2a〜2fが置かれている場合、情報処理装置1は、複数のタグ2a〜2fそれぞれと近距離無線通信することによって、複数のタグ2a〜2fそれぞれの接触位置および上記データを管理する。
例えば、アンテナ117の投影面とアンテナ122の投影面と交差する領域付近(以下、第1領域と記載する)に置かれていたタグ2bが、アンテナ115の投影面とアンテナ124の投影面と交差する領域付近(以下、第2領域と記載する)へ移動する場合を考える。上記第1領域の表示画面上からタグ2bが離れた場合、または表示画面上に沿って上記第1領域からタグ2bが移動した場合、情報処理装置1は、タッチパネルから出力される位置検出データを用いて、タグ2bの移動を検出する。そして、タグ2bが上記第2領域の表示画面上に置かれた場合、情報処理装置1は、タッチパネルから出力される位置検出データを用いて、当該第2領域に何らかの物体が置かれたことを検出する。
このとき、情報処理装置1は、第2領域に関連するアンテナを順に給電することによって、当該第2領域に置かれた物体との近距離無線通信を試みる。例えば、情報処理装置1は、アンテナ115を給電することによって、アンテナ115を介して近距離無線通信可能なタグ(図6に示す例では、タグ2a、タグ2b、およびタグ2e)との間で通信を行い、上記共用データを当該タグから取得する。その後、情報処理装置1は、アンテナ124を給電することによって、アンテナ124を介して近距離無線通信可能なタグ(図6に示す例では、タグ2bおよびタグ2c)との間で通信を行い、上記共用データを当該タグから取得する。次に、情報処理装置1は、上記通信で取得した共用データを比較して、共通する共用データを送信したタグが上記第2領域へ移動したタグであると判定する。そして、情報処理装置1は、上記第2領域へ移動したタグが送信した共用データに基づいて、上記第2領域に当該共用データを有するタグ(すなわち、タグ2b)が置かれていると判定して、タグ2bの接触位置およびタグ2bの共用データを管理する。
なお、上述した一例では、タグ2bが移動する場合を用いて説明したが、タグが移動しない場合であっても同様にタグの接触位置およびタグの共用データを管理することは可能である。例えば、情報処理装置1は、複数のタグ2が表示画面上に固定して置かれている場合であっても、タッチパネルから出力される位置検出データを用いて、それぞれのタグ2の接触位置を検出することができる。そして、情報処理装置1は、検出されたそれぞれのタグ2の接触位置に基づいて、上述したような通信を行って共通する共用データを抽出することによって、それぞれの接触位置に置かれているタグ2の種別や状況を管理することができる。
また、上述したように、入力部16のタッチパネルによる位置検出データに基づいてタグ2の接触位置を取得することによって、正確な接触位置を管理することが可能となるが、このような効果を期待しない場合、タッチパネルによる位置検出データを用いることなく上述したタグの管理を行ってもよい。例えば、図7に示すように、情報処理装置1とタグ2との間の近距離無線通信のみを用いて、タグ2の接触位置およびタグ2の種別および状況を管理してもよい。
例えば、図7に示すように、情報処理装置1の表示画面上に2つのタグ2sおよび2tが置かれており、タグ2sおよび2tの接触位置およびタグ2sおよび2tの種別および状況を管理する場合を考える。まず、情報処理装置1は、表示画面上のタグ2の存在を確認するために、各アンテナ111〜130毎にポーリング処理を実行する。一例として、情報処理装置1は、タグ2の存在を確認するための電波(ポーリング信号(ポーリングコマンドとも言う))を、通信部11を介して各アンテナ111〜130毎に送出する。具体的には、情報処理装置1は、ターゲットとなるタグ2の存在を確認するためのポーリング信号を各アンテナ111〜130毎に送出し、タグ2とのコイルの結合によって生じる影響(通信部11におけるアンテナ電圧の振幅や位相の変化)を検出することによってタグ2の存在を検出する。例えば、情報処理装置1は、ポーリング信号送出状態において基準となる磁界強さを設定しており、当該基準磁界強さからの変化量が所定量以上となる磁界変化を検知した場合に、ポーリング信号を送出したアンテナの投影面付近にタグ2が存在すると判定する。上記のポーリング処理の結果、タグ2が検知されない場合には、他のアンテナを介したポーリング処理が繰り返し実行される(図7(A)および図7(B)の状態)。
図7(C)に示すように、アンテナ115を介したポーリング処理によってタグ2の存在が検知された場合、情報処理装置1は、タグ2との通信を確立するための処理(例えば、データ通信に必要な情報をタグ2から取得する処理)を実行する。そして、情報処理装置1は、タグ2との間で通信部11を介して通信を行い、タグ2からデータ(例えば、共用データ)を取得する。図7(C)に示した例では、情報処理装置1は、アンテナ115を介して、タグ2sおよびタグ2tからそれぞれ共用データを取得する。
タグ2sおよびタグ2tとのデータ通信処理が終了すると、情報処理装置1は、引き続き他のアンテナを介したポーリング処理を順に行っていく(図7(D)および図7(E)の状態)。そして、図7(F)に示すように、アンテナ120を介したポーリング処理によってタグ2の存在が検知された場合、情報処理装置1は、タグ2との通信を確立するための処理を実行する。そして、情報処理装置1は、タグ2との間で通信部11を介して通信を行い、タグ2からデータ(例えば、共用データ)を取得する。図7(F)に示した例では、情報処理装置1は、アンテナ120を介して、タグ2sから共用データを取得する。
タグ2sとのデータ通信処理が終了すると、情報処理装置1は、引き続き他のアンテナを介したポーリング処理を順に行っていく。そして、図7(G)に示すように、アンテナ127を介したポーリング処理によってタグ2の存在が検知された場合、情報処理装置1は、タグ2との通信を確立するための処理を実行する。そして、情報処理装置1は、タグ2との間で通信部11を介して通信を行い、タグ2からデータ(例えば、共用データ)を取得する。図7(G)に示した例では、情報処理装置1は、アンテナ127を介して、タグ2tから共用データを取得する。
タグ2tとのデータ通信処理が終了すると、情報処理装置1は、引き続き他のアンテナを介したポーリング処理を順に行っていく(図7(H)の状態)。そして、全てのアンテナを介したポーリング処理が終了した場合、情報処理装置1は、タグ2から取得したデータおよび当該データを取得する際に用いたアンテナに基づいて、タグ2の接触位置およびタグ2の種別および状況を判定する。
例えば、上述したタグ2とのデータ通信処理の例では、情報処理装置1は、アンテナ115を介してタグ2sおよびタグ2tからそれぞれ共用データを取得し、アンテナ120を介してタグ2sから共用データを取得している。これによって、情報処理装置1は、共通する共用データを送信したタグ2sがアンテナ115の投影面とアンテナ120の投影面と交差する領域付近に存在すると判定する。また、情報処理装置1は、アンテナ115を介してタグ2sおよびタグ2tからそれぞれ共用データを取得し、アンテナ127を介してタグ2tから共用データを取得している。これによって、情報処理装置1は、共通する共用データを送信したタグ2tがアンテナ115の投影面とアンテナ127の投影面と交差する領域付近に存在すると判定する。そして、情報処理装置1は、上記判定結果に基づいて、タグ2sおよびタグ2tの位置(接触位置)とそれぞれの共用データとを管理する。
なお、情報処理装置1とタグ2との間の近距離無線通信のみを用いて、タグ2の接触位置およびタグ2の種別および状況を管理する場合、上記ポーリング処理に長い時間を要することが考えられる。このようなポーリング時間を短くするために、複数のアンテナを同時に給電して効率的にポーリング処理を行ってもかまわない。例えば、図8は、複数のアンテナに同時給電可能な通信部11の構成の他の例を示す図である。
図8において、通信部11の他の例は、タグ2との間で行われる近距離無線通信に用いられる複数のアンテナ111〜126を同様に有している。表示部17の表示画面に対する複数のアンテナ111〜126の配置については、図3を用いて説明したアンテナと同様であるため、詳細な説明を省略する。
通信部11の他の例は、複数の通信チップ12aおよび12bを有している。そして、通信チップ12aは、近距離無線通信に用いるアンテナを切り替えるためのアンテナ切替スイッチ110aを有している。また、通信チップ12bは、近距離無線通信に用いるアンテナを切り替えるためのアンテナ切替スイッチ110bを有している。アンテナ切替スイッチ110aは、CPU13からの指示に従い、複数のアンテナ111〜114および119〜122の何れか1つと通信チップ12aとを接続する。また、アンテナ切替スイッチ110bは、CPU13からの指示に従い、複数のアンテナ115〜118および123〜126の何れか1つと通信チップ12bとを接続する。これによって、通信チップ11aは、CPU13からの指示に従い、通信部11から送出すべき信号(電波)を生成し、アンテナ切替スイッチ110aを介して選択されている複数のアンテナ111〜114および119〜122の何れか1つから送出する。また、通信チップ11bは、CPU13からの指示に従い、通信部11から送出すべき信号(電波)を生成し、アンテナ切替スイッチ110bを介して選択されている複数のアンテナ115〜118および123〜126の何れか1つから送出する。したがって、通信部11は、2つの通信チップ12aおよび12bがそれぞれ信号を送出または受信する動作を行うことによって、選択されている2つのアンテナから同時に信号を送出または受信することができる。なお、本明細書で用いる「同時」とは、タイムラグを含んでいてもよい。そして、選択されている2つのアンテナ111〜126の少なくとも一方から信号を受信した場合、アンテナ切替スイッチ110aおよび/または110bを介して通信チップ12aおよび/または12bが当該信号を取得する。より具体的には、CPU13は、信号を同時送出する2つのアンテナについて、当該アンテナが交差しない組み合わせに制御する。つまり、CPU13は、アンテナ切替スイッチ110aが複数のアンテナ111〜114の何れか1つを選択する場合にアンテナ切替スイッチ110bが複数のアンテナ115〜118の何れか1つを選択するように制御し、アンテナ切替スイッチ110aが複数のアンテナ119〜122の何れか1つを選択する場合にアンテナ切替スイッチ110bが複数のアンテナ123〜126の何れか1つを選択するように制御する。これによって、複数のアンテナを同時に用いてポーリング信号を送出することが可能となるため、ポーリング処理を行うための時間を短縮することができる。また、複数のアンテナに対して同時に給電する場合であっても、当該アンテナ間の干渉が生じないため、正確なデータ通信処理が可能となる。
なお、上述した通信部11の他の例では、通信チップ12aがアンテナ切替スイッチ110aによって選択されたアンテナを介して通信し、通信チップ12bがアンテナ切替スイッチ110bによって選択されたアンテナを介して通信する例を用いたが、1つの通信チップを用いて同様の通信を行ってもかまわない。この場合、CPU13からの指示に従い、通信部11から送出すべき信号(電波)を1つの通信チップ12が生成し、アンテナ切替スイッチ110aを介して選択されている複数のアンテナ111〜114および119〜122の何れか1つと、アンテナ切替スイッチ110bを介して選択されている複数のアンテナ115〜118および123〜126の何れか1つとから同時に送出することになる。
また、上述した例では、ポーリング処理を行うことによって、各アンテナの投影面付近にタグ2が存在するか否かを判定しているが、他の通信処理によってタグ2の存在を判定してもよい。例えば、情報処理装置1は、上述したポーリング処理を行うことなく、タグ2が存在する前提でデータ送信要求を行い、タグ2が存在する場合に当該データ送信要求に対応するデータを受信することによって、当該タグ2の存在の有無を検出してもよい。
また、情報処理装置1とタグ2との間の近距離無線通信のみを用いて、タグ2の接触位置およびタグ2の種別および状況を管理する場合、タグ2の接触位置が判明した後は、当該接触位置に対応するアンテナのみに給電することによって、定期的にタグ2との間で通信を行ってその存在を確認してもよい。このように、タグ2との接触位置に対応するアンテナのみを給電対象にすることによって、情報処理装置1における省電力効果を期待することができる。
また、上述した説明では、複数のアンテナを交差して配置することによって、各アンテナの投影面が複数の領域に細分化され、当該領域がマトリックス状に配置される例を用いたが、通信部11を構成するアンテナを交差しなくてもよい。例えば、図9に示すように、通信部11を構成する複数のアンテナを互いに交差させることなく、各アンテナの投影面自体をマトリックス状に配置してもよい。図9に示した例では、9つのアンテナ141〜149の投影面が3×3のマトリックス状となるように配設される。このように、アンテナを互いに交差させることなく、表示部17の表示画面に沿って複数のアンテナを並設した場合であっても、当該表示画面を分割した領域それぞれに対してタグ2が存在するか否かを判定したり、当該領域毎にタグ2からデータを受信したりすることが可能となるため、上述したタグ2の位置(接触位置)とそれぞれの共用データとを同様に管理することができる。
次に、図10〜図12を参照して、本実施形態において情報読取システム(情報処理装置1)で実行される具体的な処理の一例について説明する。図10は、本実施形態において情報処理装置1のメモリ14に設定されるデータ領域の一例を示す図である。なお、メモリ14には、図10に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
メモリ14のプログラム記憶領域には、情報処理装置1で実行される各種プログラムPaが記憶される。本実施形態においては、各種プログラムPaは、上述した近距離無線通信を行うための通信プログラムやタグ2を用いて行う情報処理(例えば、ゲーム処理)を行うためのアプリケーションプログラム(上述した特定のアプリケーションプログラム)等が記憶される。なお、各種プログラムPaは、プログラム記憶部15に予め記憶されていてもよいし、情報処理装置1に着脱可能な記憶媒体から取得されてメモリ14に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてメモリ14に記憶されてもよい。CPU13は、メモリ14に記憶された各種プログラムPaを実行する。
また、メモリ14のデータ記憶領域には、情報処理装置1において実行される通信処理や情報処理において用いられる各種のデータが記憶される。本実施形態においては、メモリ14には、位置データD1a、受信データD1b、タグデータD1c、ゲーム処理データD1d、送信用データD1e、および画像データD1f等が記憶される。
位置データD1aは、入力部16から出力されたデータであり、特にタッチパネルによって検出された入力位置を示すデータである。受信データD1bは、上述したデータ通信処理の際にタグ2から受信したデータである。タグデータD1cは、存在が確認されたタグ毎に管理されているデータであり、タグ接触位置データD1c1およびタグ共用データD1c2等を含んでいる。タグ接触位置データD1c1は、タグが配置されている表示画面上の位置を示すデータである。タグ共用データD1c2は、タグから受信した当該タグの共用データを示すデータである。ゲーム処理データD1dは、タグを用いたゲームを行う際に用いられるデータである。送信用データD1eは、上述したデータ通信処理の際にタグ2に送信するためのデータである。画像データD1fは、上記ゲームの際に表示部17に画像を表示するためのデータである。
次に、本実施形態における通信処理の詳細な一例を説明する。図11は、本実施形態において情報処理装置1において実行される通信処理の前半の一例を示すフローチャートである。図12は、本実施形態において情報処理装置1において実行される通信処理の後半の一例を示すフローチャートである。本実施形態においては、図11および図12に示す一連の処理は、CPU13が各種プログラムPaに含まれる通信プログラムや所定のアプリケーションプログラムを実行することによって行われる。また、図11および図12に示す通信処理が開始されるタイミングは任意である。また、図11および図12では、CPU13が実行する各ステップを「S」と略称する。
なお、図11および図12に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPU13が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU13以外のプロセッサや専用回路が実行するようにしてもよい。
図11において、CPU13は、タグ2を用いた情報処理(例えば、ゲーム処理)における初期設定を行い(ステップ41)、次のステップに処理を進める。例えば、上記初期設定では、CPU13は、以下の処理(例えば、タグ2を用いたゲーム処理)を行うためのパラメータを初期化する。
次に、CPU13は、入力部16(タッチパネル)から表示部17の表示画面に対する操作指示位置(接触位置)に関するデータを取得し(ステップ42)、次のステップに処理を進める。例えば、CPU13は、表示部17の表示画面の表面に設けられているタッチパネルから、当該タッチパネルに対する入力位置を示すデータを取得し、当該入力位置を示すデータを用いて位置データD1aを更新する。
次に、CPU13は、タグ2の位置に応じて受信処理を行い(ステップ43)、次のステップに処理を進める。例えば、CPU13は、上記ステップ42において、管理していない入力位置を示すデータを取得した場合、当該入力位置を接触位置として配置されているタグ2からデータを受信して、当該受信したデータを受信データD1bに格納する処理を行う。例えば、CPU13は、上記新たに検出された接触位置に関連するアンテナ(当該接触位置に配置されたタグ2と通信可能なアンテナ)を順に給電することによって、当該接触位置に置かれた物体(例えば、タグ2)との近距離無線通信を試みる。例えば、図6を用いて説明したように、アンテナ115およびアンテナ124を用いて通信可能な位置が新たな接触位置として検出された場合、CPU13は、アンテナ115およびおアンテナ124を順に給電することによって、アンテナ115およびアンテナ124を介して近距離無線通信可能なタグ2との間でそれぞれ通信を行い、上記共用データを当該タグ2から取得して受信データD1bに格納する。
次に、CPU13は、上記近距離無線通信において取得したタグデータを設定し(ステップ44)、次のステップに処理を進める。例えば、CPU13は、上記ステップ43における近距離無線通信で取得した共用データを比較して、共通する共用データを送信したタグ2が上記接触位置に配置されたタグであると判定する。そして、CPU13は、上記接触位置に配置されたタグ2が送信した共用データに基づいて、上記接触位置に当該共用データを有するタグ2が配置されていると判定して、タグ2の接触位置およびタグ2の共用データをタグデータD1cに記憶して管理する。なお、CPU13は、上記ステップ42において取得した位置データにおいて、現時点で管理しているタグ接触位置データD1c1が消滅した場合、当該タグ接触位置データD1c1によって管理しているタグデータD1cを上記ステップ44において消去してもよい。また、CPU13は、上記近距離無線通信において共通する共用データを送信したタグ2がない場合、タグデータD1cを更新することなく、次のステップに処理を進める。
次に、CPU13は、ゲームを開始するか否かを判定する(ステップ45)。例えば、CPU13は、入力部16から取得した操作データを参照して、ユーザが入力部16を用いてゲームを開始する操作を行った場合、ゲームを開始すると判断する。そして、CPU13は、ゲームを開始する場合、ステップ46に処理を進める。一方、CPU13は、ゲームを開始しない場合、上記ステップ42に戻って処理を繰り返す。
ステップ46において、CPU13は、入力部16(タッチパネル)から表示部17の表示画面に対する操作指示位置(接触位置)に関するデータを取得し、次のステップに処理を進める。例えば、CPU13は、表示部17の表示画面の表面に設けられているタッチパネルから、当該タッチパネルに対する入力位置を示すデータを取得し、当該入力位置を示すデータを用いて位置データD1aを更新する。
次に、CPU13は、上記ステップ46において取得した入力位置を示すデータに変化があるか否かを判定する(ステップ47)。例えば、CPU13は、上記ステップ46において取得した入力位置とタグ接触位置データD1c1によって管理されている各タグ2の接触位置とを比較して、両者に差異がある場合、当該入力位置を示すデータに変化があると判定する。そして、CPU13は、上記入力位置を示すデータに変化がある場合、ステップ48に処理を進める。一方、CPU13は、上記入力位置を示すデータに変化がない場合、ステップ63(図12参照)に処理を進める。
ステップ48において、CPU13は、上記ステップ46において取得した入力位置を示すデータが入力位置の減少を示すものか否かを判定する。例えば、CPU13は、上記ステップ46において取得した入力位置とタグ接触位置データD1c1によって管理されている各タグ2の接触位置とを比較して、上記ステップ46において取得した入力位置が少ない場合、当該入力位置を示すデータが入力位置の減少を示すものであると判定する。そして、CPU13は、上記入力位置を示すデータが入力位置の減少を示すものである場合、ステップ49に処理を進める。一方、CPU13は、上記入力位置を示すデータが入力位置の減少を示すものでない場合、ステップ50に処理を進める。
ステップ49において、CPU13は、減少した入力位置に関するタグデータを消去して、ステップ50に処理を進める。例えば、CPU13は、タグ接触位置データD1c1によって管理されている各タグ2の接触位置から、上記ステップ46において取得した入力位置に含まれない接触位置を抽出し、当該接触位置に配置されているとされていたタグのタグデータD1cを消去する。
ステップ50において、CPU13は、上記ステップ46において取得した入力位置を示すデータが入力位置の増加を示すものか否かを判定する。例えば、CPU13は、上記ステップ46において取得した入力位置とタグ接触位置データD1c1によって管理されている各タグ2の接触位置とを比較して、上記ステップ46において取得した入力位置が多い場合、当該入力位置を示すデータが入力位置の増加を示すものであると判定する。そして、CPU13は、上記入力位置を示すデータが入力位置の増加を示すものである場合、ステップ51に処理を進める。一方、CPU13は、上記入力位置を示すデータが入力位置の増加を示すものでない場合、ステップ61(図12参照)に処理を進める。
ステップ51において、CPU13は、増加した入力位置に応じて受信処理を行い、次のステップに処理を進める。例えば、CPU13は、増加した入力位置を接触位置として配置されているタグ2からデータを受信する処理を行う。なお、上記ステップ51において行う受信処理については、上述したステップ43における受信処理を同様であるため、詳細な説明を省略する。
次に、CPU13は、上記ステップ51における近距離無線通信において取得したタグデータを追加して管理し(ステップ52)、ステップ61(図12参照)に処理を進める。例えば、CPU13は、増加した入力位置を接触位置として配置されたタグ2が送信した共用データに基づいて、上記接触位置に当該共用データを有するタグ2が配置されていると判定して、タグ2の接触位置およびタグ2の共用データをタグデータD1cに追加して管理する。なお、CPU13は、上記近距離無線通信において共通する共用データを送信したタグ2がない場合、タグデータD1cを追加することなく、次のステップに処理を進める。また、CPU13は、増加した入力位置を接触位置として配置されたタグ2が、直前の上記ステップ49の処理において消去したタグであると想定される場合、当該消去したタグデータを用いて(タグ接触位置データD1c1を変更して)タグデータを追加してもよい。
図12に進み、ステップ61において、CPU13は、上記ステップ46において取得した入力位置を示すデータが入力位置の移動を示すものか否かを判定する。例えば、CPU13は、タグ接触位置データD1c1によって管理されている各タグ2の接触位置の何れか1つが移動していることを、上記ステップ46において取得した入力位置が示す場合(例えば、タッチパネルをドラッグしているような操作が行われている場合)、当該入力位置を示すデータが入力位置の移動を示すものであると判定する。そして、CPU13は、上記入力位置を示すデータが入力位置の移動を示すものである場合、ステップ62に処理を進める。一方、CPU13は、上記入力位置を示すデータが入力位置の移動を示すものでない場合、ステップ63に処理を進める。
ステップ62において、CPU13は、移動した入力位置を用いてタグ2の接触位置を更新して、ステップ63に処理を進める。例えば、CPU13は、タグ接触位置データD1c1によって管理されている各タグ2の接触位置から、上記ステップ61において移動していると判定された接触位置を抽出し、移動していると判定された入力位置を当該接触位置として設定して、当該タグ2のタグデータD1cを更新する。
ステップ63において、CPU13は、現時点がタグデータを定期的に確認するタイミングか否かを判定する。そして、CPU13は、現時点がタグデータを定期的に確認するタイミングである場合、ステップ64に処理を進める。一方、CPU13は、現時点がタグデータを定期的に確認するタイミングでない場合、ステップ67に処理を進める。
ステップ64において、CPU13は、入力部16(タッチパネル)から表示部17の表示画面に対する操作指示位置(接触位置)に関するデータを取得し、次のステップに処理を進める。例えば、CPU13は、表示部17の表示画面の表面に設けられているタッチパネルから、当該タッチパネルに対する入力位置を示すデータを取得し、当該入力位置を示すデータを用いて位置データD1aを更新する。
次に、CPU13は、上記ステップ64で取得した入力位置全てに対する受信処理をそれぞれ行い(ステップ65)、次のステップに処理を進める。例えば、CPU13は、上記ステップ64で取得した全ての入力位置をそれぞれ接触位置として配置されているタグ2から、それぞれデータの受信を試みる処理を行う。例えば、CPU13は、上記入力位置の1つに対応する接触位置に関連するアンテナ(当該接触位置に配置されたタグ2と通信可能なアンテナ)を順に給電することによって、当該接触位置に置かれた物体(例えば、タグ2)との近距離無線通信を試み、当該近距離無線通信を上記ステップ64で取得した全ての入力位置毎に行う。なお、上記ステップ65において入力位置毎に行う受信処理については、上述したステップ43における受信処理を同様であるため、詳細な説明を省略する。
次に、CPU13は、上記近距離無線通信において取得したデータを用いてタグデータD1cを更新し(ステップ66)、ステップ67に処理を進める。例えば、CPU13は、上記入力位置毎(接触位置毎)にステップ43における近距離無線通信で取得した共用データを比較して、共通する共用データを送信したタグ2が当該入力位置(接触位置)に配置されたタグであると判定する。そして、CPU13は、上記接触位置に配置されたタグ2が送信した共用データに基づいて、上記接触位置に当該共用データを有するタグ2が配置されていると判定して、タグ2の接触位置およびタグ2の共用データをタグデータD1cに記憶して管理する。このような判定およびデータ管理は、上記ステップ64で取得した全ての入力位置毎に行われ、最終的に上記ステップ64で取得した全ての入力位置毎のタグデータD1cが更新される。なお、CPU13は、ある入力位置に対して上記近距離無線通信において共通する共用データを送信したタグ2がない場合、当該入力位置に対応するタグデータD1cを設定しない。
ステップ67において、CPU13は、管理されているタグデータに基づいて、ゲーム処理を行い、次のステップに処理を進める。例えば、CPU13は、タグデータD1cに記憶されている各タグ2の接触位置(タグ接触位置データD1c1)および共用データ(タグ共用データD1c2)を用いて、各タグ2の配置位置、種別、および状況等に応じてゲームを進行する処理を行う。
次に、CPU13は、管理されているタグデータに基づいた表示制御処理を行い、次のステップに処理を進める。例えば、CPU13は、タグデータD1cに記憶されている各タグ2の接触位置(タグ接触位置データD1c1)および共用データ(タグ共用データD1c2)を用いて、各タグ2の配置位置、種別、および状況等に応じたゲーム画像を生成して、表示部17に表示する処理を行う。例えば、CPU13は、配置されているタグ2の種別に応じたキャラクタ等を示す画像を生成して、表示部17の表示画面において当該タグ2の接触位置に応じた位置に登場させる。
次に、CPU13は、タグ2にデータ送信するか否かを判定する(ステップ69)。例えば、CPU13は、ゲーム進行状況に応じて、ゲームの結果や状況を示すデータを少なくとも1つのタグ2に送信するタイミングである場合、ステップ70に処理を進める。一方、CPU13は、データをタグ2に送信するタイミングでない場合、ステップ71に処理を進める。
ステップ70において、CPU13は、タグ2に送信する送信データを生成して当該送信データをタグ2へ送信する処理を行い、ステップ71に処理を進める。例えば、CPU13は、タグ2に送信する送信データを生成して送信用データD1eに格納する。そして、CPU13は、タグデータD1cを参照して、生成した送信データを送信する送信先となるタグ2の接触位置を取得し、当該接触位置のタグ2に送信可能なアンテナを給電することによって、送信先となるタグ2へ送信データを送信する。なお、送信用データD1eに格納する送信データは、上記ステップ70を実行する前に送信用データD1eに格納してもよい。
ステップ71において、CPU13は、ゲームを終了するか否かを判定する。上記ステップ71においてゲームを終了する条件としては、例えば、上記ゲームの結果が確定したことや、ユーザがゲームを終了する操作を行ったこと等がある。CPU13は、ゲームを終了しない場合に上記ステップ46に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップ46〜ステップ71の一連の処理は、ステップ71でゲームを終了すると判定されるまで繰り返し実行される。
なお、情報処理装置1からタグ2へ送信されるデータは、タグ2側で自機宛の送信データのみ選別してもよい。例えば、情報処理装置1が送信先を指定するID(例えば、固有ID)を付与して送信データをタグ2へ送信し、タグ2側において自機の固有IDと同じIDが付与されている場合のみ送信データを取得する。このように、タグ2側で送信データを選別することによって、1つのアンテナで通信可能な範囲に複数のタグ2が存在する場合であっても、当該複数のタグ2から選択されたタグ2のみに送信データを送信することが可能となる。なお、タグ2側で上記送信データを選別する処理を行うために、例えば、タグ2内に処理部、すなわち、CPU等を搭載してもよい。
また、上述した実施例では、情報処理装置1とタグ2との間で近距離無線通信を行う際、情報処理装置1が電磁誘導によってタグ2に起電力を発生させるイニシエータ側の無線通信装置として機能し、タグ2が近距離無線通信の際に情報処理装置1のターゲットとなる無線通信装置として機能する例を用いたが、他の態様によって当該近距離無線通信が行われてもよい。例えば、タグ2が電源およびNFCのカードエミュレーション機能を有する機器であってもよく、タグ2だけまたは情報処理装置1とタグ2との両方がカードエミュレーション機能を有する機器であってもよい。この場合、タグ2がイニシエータ側の無線通信装置として機能することが可能となるため、タグ2から送信されたデータを契機として当該データを送信したタグ2の接触位置を判定し、当該データが示す情報および接触位置を管理する態様も可能となる。
また、上述した実施例では、情報処理装置1とタグ2とを近接させてNFC規格に基づく無線通信を行う近距離無線通信(近接型非接触通信)を一例に用いたが、他の規格に基づく近距離無線通信を行う情報読取システムに適用してもよい。例えば、非接触型の近距離無線通信において、近接型の他に、近傍型、遠隔型、近距離型等に分類される通信距離で無線通信を行う情報読取システムであっても、本発明を適用することができる。また、情報処理装置1とタグ2とは、それぞれどのような装置であってもよく、据置型のゲーム装置、携帯型のゲーム装置、一般的なパーソナルコンピュータ、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ等)等の他に、装置と電子キーとの組み合わせで無線通信される情報読取システムであってもよい。
また、上述した説明では通信処理や情報処理を情報処理装置1およびタグ2でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、情報処理装置1がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した通信処理や情報処理は、少なくとも1つの情報処理装置により構成される情報読取システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、情報処理装置1のCPU13が所定のプログラムを実行することによって通信処理や情報処理を行うことが可能であるが、情報処理装置1が備える専用回路によって上記処理の一部または全部が行われてもよい。
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じて情報処理装置1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。