(57)【要約】      （修正有）【課題】既存の静電容量式のタッチパネルをボードとして利用するシステムにおいて、間接的マルチタッチからユーザ操作の種類を識別することが可能な電子装置を提供する。【解決手段】本発明は、静電容量式タッチパネルを備え、該タッチパネル上に載置して用いられ、かつ、少なくとも一部が導電部から構成されるオブジェクトとを備えるボードゲームシステム１における電子装置１０であって、導電部は、ユーザにより導電部が触れられた場合は該底面の導電部により該所定量以上の静電容量の変化を底面における導電部のそれぞれに対応する位置において生じさせるものであり、電子装置１０は、一定時間ごとのタッチイベント発生位置を表すマトリクスを時間軸上に並べて作成されたテンソルデータとユーザ操作の種類ごとに予めパターンデータベースに記憶された参照テンソルデータとに基づいて、ユーザ操作の種類を判定する。【選択図】図１
2020035341.tif 000002
【特許請求の範囲】
【請求項１】
静電容量の変化を検出することによりマルチタッチを検出可能な静電容量式タッチパネルを備える電子装置と、該タッチパネル上に載置して用いられ、かつ少なくとも一部が導電部から構成されるオブジェクトとを備えるシステムにおいて、該オブジェクトを介した該タッチパネルへのユーザ操作の種類を識別する電子装置であって、
前記導電部は、前記オブジェクトが前記タッチパネル上に載置された場合に該タッチパネルの載置面に接触する底面においては非導電部又は空隙を介して隔てて配置され、前記オブジェクトが前記タッチパネル上に載置された場合において、ユーザにより前記導電部が触れられない場合は該底面の前記導電部により所定量以上の前記静電容量の変化を生じさせず、かつユーザにより前記導電部が触れられた場合は該底面の前記導電部により該所定量以上の前記静電容量の変化を前記底面における前記導電部のそれぞれに対応する位置において生じさせるものであり、
前記電子装置は、
前記ユーザ操作に起因して発生したタッチイベントに基づいて、一定時間ごとのタッチイベント発生位置を表すマトリクスを時間軸上に並べたテンソルデータを作成し、
前記作成したテンソルデータから所定部分のテンソルデータを抽出し、
前記抽出したテンソルデータと、前記ユーザ操作の種類ごとに予めパターンデータベースに記憶された参照テンソルデータとに基づいて、前記ユーザ操作の種類を判定する、
電子装置。
【請求項２】
前記ユーザ操作の種類は、前記オブジェクトを前記タッチパネル上へ置く操作及び前記オブジェクトを前記タッチパネルから持ち上げる操作を含む、請求項１に記載の電子装置。
【請求項３】
前記電子装置は、前記ユーザ操作の種類を判定するにあたって、前記抽出したテンソルデータと、前記パターンデータベースが記憶する前記ユーザ操作の種類に関連付けられた参照テンソルデータとの類似度合を算出し、該類似度合が最も高い参照テンソルデータに関連付けられた前記ユーザ操作の種類を用いることにより、前記ユーザ操作の種類を判定する、請求項１又は２に記載の電子装置。
【請求項４】
前記所定部分のテンソルデータは、前記ユーザ操作の開始時間に対応する部分のテンソルデータ及び前記ユーザ操作の終了時間に対応する部分のテンソルデータを含み、参照テンソルデータは、該開始時間及び該終了時間の各々に対応するテンソルデータを含み、
前記類似度合は時間的類似度合を含み、
前記電子装置は、前記抽出したテンソルデータ及び前記パターンデータベースが記憶する前記ユーザ操作の種類に関連付けられた参照テンソルデータにおける前記開始時間及び前記終了時間の各々の時間内におけるタッチイベント数の変化度合に基づいて、前記時間的類似度合を算出する、請求項３に記載の電子装置。
【請求項５】
前記導電部は、前記底面においては前記オブジェクトの種類に応じて配置位置が異なるように非導電部又は空隙を介して隔てて配置され、
前記電子装置は、前記ユーザ操作の種類を判定するにあたって、前記抽出したテンソルデータと、前記オブジェクトの種類ごと及び前記ユーザ操作の種類ごとに予め前記パターンデータベースに記憶された参照テンソルデータとに基づいて、前記オブジェクトの種類及び前記ユーザ操作の種類を判定する、請求項３又は４に記載の電子装置。
【請求項６】
前記類似度合は空間的類似度合を含み、
前記電子装置は、前記抽出したテンソルデータ及び前記パターンデータベースが記憶する前記ユーザ操作の種類に関連付けられた参照テンソルデータの所定時点の前記マトリクスにおけるタッチイベント発生位置各々の距離に基づいて、前記空間的類似度合を算出する、請求項５に記載の電子装置。
【請求項７】
前記システムは、前記タッチパネルをボードとして用いるボードゲームシステムであり、
前記オブジェクトは、ゲーム用駒である、請求項１から６のいずれか１項に記載の電子装置。
【請求項８】
静電容量の変化を検出することによりマルチタッチを検出可能な静電容量式タッチパネルを備える電子装置と、該タッチパネル上に載置して用いられ、かつ少なくとも一部が導電部から構成されるオブジェクトとを備え、該オブジェクトを介した該タッチパネルへのユーザ操作の種類を識別するシステムであって、
前記導電部は、前記オブジェクトが前記タッチパネル上に載置された場合に該タッチパネルの載置面に接触する底面においては非導電部又は空隙を介して隔てて配置され、前記オブジェクトが前記タッチパネル上に載置された場合において、ユーザにより前記導電部が触れられない場合は該底面の前記導電部により所定量以上の前記静電容量の変化を生じさせず、かつユーザにより前記導電部が触れられた場合は該底面の前記導電部により該所定量以上の前記静電容量の変化を前記底面における前記導電部のそれぞれに対応する位置において生じさせるものであり、
前記ユーザ操作に起因して発生したタッチイベントに基づいて、一定時間ごとのタッチイベント発生位置を表すマトリクスを時間軸上に並べたテンソルデータを作成し、
前記作成したテンソルデータから所定部分のテンソルデータを抽出し、
前記抽出したテンソルデータと、前記ユーザ操作の種類ごとに予めパターンデータベースに記憶された参照テンソルデータとに基づいて、前記ユーザ操作の種類を判定する、
システム。
【請求項９】
静電容量の変化を検出することによりマルチタッチを検出可能な静電容量式タッチパネルを備える電子装置と、該タッチパネル上に載置して用いられ、かつ少なくとも一部が導電部から構成されるオブジェクトとを備えるシステムにおいて、該オブジェクトを介した該タッチパネルへのユーザ操作の種類を識別するために該電子装置により実行される方法であって、
前記導電部は、前記オブジェクトが前記タッチパネル上に載置された場合に該タッチパネルの載置面に接触する底面においては非導電部又は空隙を介して隔てて配置され、前記オブジェクトが前記タッチパネル上に載置された場合において、ユーザにより前記導電部が触れられない場合は該底面の前記導電部により所定量以上の前記静電容量の変化を生じさせず、かつユーザにより前記導電部が触れられた場合は該底面の前記導電部により該所定量以上の前記静電容量の変化を前記底面における前記導電部のそれぞれに対応する位置において生じさせるものであり、
前記ユーザ操作に起因して発生したタッチイベントに基づいて、一定時間ごとのタッチイベント発生位置を表すマトリクスを時間軸上に並べたテンソルデータを作成するステップと、
前記作成したテンソルデータから所定部分のテンソルデータを抽出するステップと、
前記抽出したテンソルデータと、前記ユーザ操作の種類ごとに予めパターンデータベースに記憶された参照テンソルデータとに基づいて、前記ユーザ操作の種類を判定するステップと、
を含む、方法。
【請求項１０】
請求項９に記載の方法の各ステップを前記電子装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、静電容量式タッチパネルを備える電子装置等に関するものであり、特に静電容量式タッチパネルをボードとして用いるシステムにおける電子装置等に関する。
【背景技術】
【０００２】
近年、スマートフォン、タブレットコンピュータなどのタッチパネルを備えたスマートデバイスが広く一般に普及しており、そのタッチパネルの大型化が進んでいる。タッチパネルのタッチの検出方式には様々な種別があるが、その中でマルチタッチの検出が可能な静電容量式タッチパネルが多くのスマートデバイスに採用されている。ただし、一般的にマルチタッチの検出が可能なタッチ位置は１０箇所程度である。
【０００３】
このような状況において、スマートデバイスをボードゲームのボードとして利用する試みがなされている。大型のスマートデバイスのタッチパネルを、チェスやドラゴンクエスト（登録商標）のようなボードゲームのボードとして用いることができれば、駒の移動時の演出、ＨＰやＭＰの自動計算のようなルールの自動適用、攻撃や回復のような演出など、ボードゲームの演出を劇的に向上させることができる。
【０００４】
このような状況において、本出願人は、特許第６１５２２１１号において、既存の静電容量式のタッチパネルをボードゲームのボードとして利用することができるボードゲームシステムを提案している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第６１５２２１１号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１は、それ単体ではタッチパネルを反応させられない程度の量の金属等の導電体を含む素材を用いて成型された駒を人が素手で掴んだときに、人体との通電が行われて初めてタッチパネル上の静電容量に十分な変化が起きるという現象を利用することにより、マルチタッチの認識上限を超えた個数の駒を利用可能にする技術を開示している。
【０００７】
特許文献１が開示する技術は、ユーザが駒を介して間接的にタッチパネルへマルチタッチイベントを発生させるものであり、このとき駒ごとに異なる位置の組み合わせのマルチタッチイベントを発生させるものである。また、特許文献１が開示する技術は、駒ごとに発生したマルチタッチイベントを記憶して、駒の状態をタッチイベントと紐付けて管理することにより、ユーザによる駒を介した間接的なマルチタッチ（間接的マルチタッチ）からユーザ操作の種類を識別している。このように、同じ駒に関して、駒を設置したときに発生するタッチイベントと、駒を離脱させたときに発生するタッチイベントはよく似た信号となるため、この発生するタッチイベントから駒の設置や離脱等のユーザ操作の種類を識別することは困難である。
【０００８】
すなわち、ユーザ操作により発生するタッチイベントは、駒とタッチパネルの間で瞬間的に発生する電気的な変化等に由来するステートレスな信号である。このような場合、駒の状態をタッチイベントと紐付けて管理するシステムを用いなければ、すなわちステートフルな認識技術を用いなければ、間接的マルチタッチからユーザ操作を識別することは困難である。
【０００９】
上記のような駒と既存の静電容量式のタッチパネルを組み合わせたシステムをよりシンプルな実装で実現するために、間接的マルチタッチに起因するステートレスな信号からユーザ操作の種類を識別する技術が求められている。本発明は、このような課題を解決するためになされたものであり、既存の静電容量式のタッチパネルをボードとして利用するシステムにおいて、間接的マルチタッチからユーザ操作の種類を識別することが可能な電子装置等を提供することを主目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明の一態様としての電子装置は、静電容量の変化を検出することによりマルチタッチを検出可能な静電容量式タッチパネルを備える電子装置と、該タッチパネル上に載置して用いられ、かつ少なくとも一部が導電部から構成されるオブジェクトとを備えるシステムにおいて、該オブジェクトを介した該タッチパネルへのユーザ操作の種類を識別する電子装置であって、前記導電部は、前記オブジェクトが前記タッチパネル上に載置された場合に該タッチパネルの載置面に接触する底面においては非導電部又は空隙を介して隔てて配置され、前記オブジェクトが前記タッチパネル上に載置された場合において、ユーザにより前記導電部が触れられない場合は該底面の前記導電部により所定量以上の前記静電容量の変化を生じさせず、かつユーザにより前記導電部が触れられた場合は該底面の前記導電部により該所定量以上の前記静電容量の変化を前記底面における前記導電部のそれぞれに対応する位置において生じさせるものであり、前記電子装置は、前記ユーザ操作に起因して発生したタッチイベントに基づいて、一定時間ごとのタッチイベント発生位置を表すマトリクスを時間軸上に並べたテンソルデータを作成し、前記作成したテンソルデータから所定部分のテンソルデータを抽出し、前記抽出したテンソルデータと、前記ユーザ操作の種類ごとに予めパターンデータベースに記憶された参照テンソルデータとに基づいて、前記ユーザ操作の種類を判定する、ことを特徴とする。
【００１１】
また、本発明において好ましくは、前記ユーザ操作の種類は、前記オブジェクトを前記タッチパネル上へ置く操作及び前記オブジェクトを前記タッチパネルから持ち上げる操作を含む。
【００１２】
また、本発明において好ましくは、前記電子装置は、前記ユーザ操作の種類を判定するにあたって、前記抽出したテンソルデータと、前記パターンデータベースが記憶する前記ユーザ操作の種類に関連付けられた参照テンソルデータとの類似度合を算出し、該類似度合が最も高い参照テンソルデータに関連付けられた前記ユーザ操作の種類を用いることにより、前記ユーザ操作の種類を判定する。
【００１３】
また、本発明において好ましくは、前記所定部分のテンソルデータは、前記ユーザ操作の開始時間に対応する部分のテンソルデータ及び前記ユーザ操作の終了時間に対応する部分のテンソルデータを含み、参照テンソルデータは、該開始時間及び該終了時間の各々に対応するテンソルデータを含み、前記類似度合は時間的類似度合を含み、前記電子装置は、前記抽出したテンソルデータ及び前記パターンデータベースが記憶する前記ユーザ操作の種類に関連付けられた参照テンソルデータにおける前記開始時間及び前記終了時間の各々の時間内におけるタッチイベント数の変化度合に基づいて、前記時間的類似度合を算出する。
【００１４】
また、本発明において好ましくは、前記導電部は、前記底面においては前記オブジェクトの種類に応じて配置位置が異なるように非導電部又は空隙を介して隔てて配置され、前記電子装置は、前記ユーザ操作の種類を判定するにあたって、前記抽出したテンソルデータと、前記オブジェクトの種類ごと及び前記ユーザ操作の種類ごとに予め前記パターンデータベースに記憶された参照テンソルデータとに基づいて、前記オブジェクトの種類及び前記ユーザ操作の種類を判定する。
【００１５】
また、本発明において好ましくは、前記類似度合は空間的類似度合を含み、前記電子装置は、前記抽出したテンソルデータ及び前記パターンデータベースが記憶する前記ユーザ操作の種類に関連付けられた参照テンソルデータの所定時点の前記マトリクスにおけるタッチイベント発生位置各々の距離に基づいて、前記空間的類似度合を算出する。
【００１６】
また、本発明において好ましくは、前記システムは、前記タッチパネルをボードとして用いるボードゲームシステムであり、前記オブジェクトは、ゲーム用駒である。
【００１７】
また、上記の目的を達成するために、本発明の一態様としてのシステムは、静電容量の変化を検出することによりマルチタッチを検出可能な静電容量式タッチパネルを備える電子装置と、該タッチパネル上に載置して用いられ、かつ少なくとも一部が導電部から構成されるオブジェクトとを備え、該オブジェクトを介した該タッチパネルへのユーザ操作の種類を識別するシステムであって、前記導電部は、前記オブジェクトが前記タッチパネル上に載置された場合に該タッチパネルの載置面に接触する底面においては非導電部又は空隙を介して隔てて配置され、前記オブジェクトが前記タッチパネル上に載置された場合において、ユーザにより前記導電部が触れられない場合は該底面の前記導電部により所定量以上の前記静電容量の変化を生じさせず、かつユーザにより前記導電部が触れられた場合は該底面の前記導電部により該所定量以上の前記静電容量の変化を前記底面における前記導電部のそれぞれに対応する位置において生じさせるものであり、前記ユーザ操作に起因して発生したタッチイベントに基づいて、一定時間ごとのタッチイベント発生位置を表すマトリクスを時間軸上に並べたテンソルデータを作成し、前記作成したテンソルデータから所定部分のテンソルデータを抽出し、前記抽出したテンソルデータと、前記ユーザ操作の種類ごとに予めパターンデータベースに記憶された参照テンソルデータとに基づいて、前記ユーザ操作の種類を判定する、ことを特徴とする。
【００１８】
また、上記の目的を達成するために、本発明の一態様としてのシステムは、静電容量の変化を検出することによりマルチタッチを検出可能な静電容量式タッチパネルを備える電子装置と、該タッチパネル上に載置して用いられ、かつ少なくとも一部が導電部から構成されるオブジェクトとを備えるシステムにおいて、該オブジェクトを介した該タッチパネルへのユーザ操作の種類を識別するために該電子装置により実行される方法であって、前記導電部は、前記オブジェクトが前記タッチパネル上に載置された場合に該タッチパネルの載置面に接触する底面においては非導電部又は空隙を介して隔てて配置され、前記オブジェクトが前記タッチパネル上に載置された場合において、ユーザにより前記導電部が触れられない場合は該底面の前記導電部により所定量以上の前記静電容量の変化を生じさせず、かつユーザにより前記導電部が触れられた場合は該底面の前記導電部により該所定量以上の前記静電容量の変化を前記底面における前記導電部のそれぞれに対応する位置において生じさせるものであり、前記ユーザ操作に起因して発生したタッチイベントに基づいて、一定時間ごとのタッチイベント発生位置を表すマトリクスを時間軸上に並べたテンソルデータを作成するステップと、前記作成したテンソルデータから所定部分のテンソルデータを抽出するステップと、前記抽出したテンソルデータと、前記ユーザ操作の種類ごとに予めパターンデータベースに記憶された参照テンソルデータとに基づいて、前記ユーザ操作の種類を判定するステップと、を含むことを特徴とする。
【００１９】
また、上記の目的を達成するために、本発明の一態様としてのプログラムは、上記に記載の方法の各ステップを電子装置に実行させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、既存の静電容量式のタッチパネルをボードとして利用するシステムにおいて、間接的マルチタッチからユーザ操作の種類を識別することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態のボードゲームシステムの概略図である。
【図２】本発明の一実施形態の電子装置のハードウェア構成を示すブロック図である。
【図３】本発明の一実施形態の電子装置の機能ブロック図である。
【図４】本発明の一実施形態の電子装置のタッチパネルの座標軸を示す図である。
【図５】本発明の一実施形態の駒の概観図を示す図である。
【図６】図５の駒を複数の突起部が突出する方向から見た平面図である。
【図７】本発明の一実施形態の駒の概観図を示す図である。
【図８】テンソルデータ作成部がメモリバッファにマトリクスを記憶する様子を示す概要図である。
【図９】テンソルデータ作成部が作成する３次元配列データを示す図である。
【図１０】制御部の情報処理の一例を示すフローチャートである。
【図１１】予備実験における設置操作中に記録されたタッチイベントを示す図である。
【図１２】予備実験における離脱操作中に記録されたタッチイベントを示す図である。
【図１３】予備実験における設置操作中に記録されたタッチイベントを示す図である。
【図１４】予備実験における離脱操作中に記録されたタッチイベントを示す図である。
【図１５】変形例の駒の概観図を示す。
【図１６】図１５の駒の底面図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して、本発明の実施形態によるボードゲームシステム１について説明する。説明の便宜上、各図において同一の符号は、特に言及が無い限り同一又は相当部分を示すものとし、図面の縦横の縮尺を実際のものとは異なるように表す場合がある。また、必要以上に詳細な説明は省略する場合がある。
【００２３】
本実施形態のボードゲームシステム１においては、タッチパネルがボードゲームのボードとして用いられ、例えば将棋やチェスの盤面として用いられ、その上に物理的な駒が置かれる。このようにして、本実施形態のボードゲームシステム１はユーザにボードゲームを提供する。ただし、本実施形態のボードゲームシステム１は、タッチパネル及びタッチパネル上に載置して用いられる駒を含むものであればゲーム以外の他の用途に用いることができ、ボードゲーム以外の他のサービスを提供することができる。
【００２４】
本実施形態のボードゲームシステム１が含む駒２０は、それ単体ではタッチパネルを反応させられない程度の量の金属等の導電体を含む素材を用いて成型され、人が素手で掴んだときに、人体との通電が行われて初めてタッチパネル上の静電容量に十分な変化が起きるものである。このようにして、マルチタッチの認識上限を超えた個数の駒を利用可能にしている。
【００２５】
本発明の実施形態の技術的特徴の１つは、ユーザが駒２０をタッチパネル上へ置く操作や駒２０をタッチパネルから持ち上げる操作などを識別することにより、タッチパネル上でマルチタッチの認識上限を超えた個数の駒を利用するシステムをよりシンプルな実装で実現し、より幅広い適用を実現可能とすることである。特に、本発明の実施形態の技術的特徴の１つは、上記のような駒２０と既存の静電容量式のタッチパネルを組み合わせたシステムにおいて、間接的マルチタッチに起因するステートレスな信号からユーザ操作の種類を識別することである。ここで、間接的マルチタッチは、ユーザによる駒２０を介したタッチパネルへのマルチタッチを表す。
【００２６】
本実施形態の駒２０はゲーム用駒を意味するが、これに限定されない。駒２０は、同様の構成及び特性を持つオブジェクトとすることができる。
【００２７】
図１は、本発明の一実施形態のボードゲームシステム１の概略図である。図１に示すように、ボードゲームシステム１は、電子装置１０と、１又は複数の駒２０と、を備える。
【００２８】
図２は本発明の一実施形態の電子装置１０のハードウェア構成を示すブロック図である。電子装置１０は、プロセッサ１１、入力装置１２、表示装置１３、記憶装置１４、及び通信装置１５を備える。これらの各構成装置はバス１６によって接続される。なお、バス１６と各構成装置との間には必要に応じてインタフェースが介在しているものとする。電子装置１０は、タッチパネル１７を備えるタブレット型コンピュータであり、スマートフォン等も含まれる。
【００２９】
プロセッサ１１は、電子装置１０全体の動作を制御する。例えばプロセッサ１１は、ＣＰＵである。プロセッサ１１は、記憶装置１４に格納されているプログラムやデータを読み込んで実行することにより、様々な処理を実行する。１つの例では、プロセッサ１１は、複数のプロセッサから構成される。他の例では、プロセッサ１１は、ＭＰＵ等の電子回路が用いられる。本実施形態においては、プロセッサ１１によりプログラムが実行されることにより、電子装置１０の様々な機能が実現される。
【００３０】
入力装置１２は、電子装置１０に対するユーザからの入力を受け付けるユーザインタフェースである。表示装置（ディスプレイ）１３は、プロセッサ１１の制御に従って、アプリケーション画面などを電子装置１０のユーザに表示する。本実施形態においては、スマートフォンである電子装置１０は入力装置１２としてタッチパネル１７を備え、タッチパネル１７は表示装置１３としても機能し、入力装置１２と表示装置１３は一体となった構造である。本実施形態のタッチパネル１７は、投影型静電容量方式タッチパネルであるが、同等の機能を有するデバイスがあれば、それを用いてもよい。
【００３１】
記憶装置１４は、主記憶装置及び補助記憶装置を含む。主記憶装置は、例えばＲＡＭのような半導体メモリである。ＲＡＭは、情報の高速な読み書きが可能な揮発性の記憶媒体であり、プロセッサ１１が情報を処理する際の記憶領域及び作業領域として用いられる。主記憶装置は、読み出し専用の不揮発性記憶媒体であるＲＯＭを含んでいてもよい。この場合、ＲＯＭはファームウェア等のプログラムを格納する。補助記憶装置は、様々なプログラムや、各プログラムの実行に際してプロセッサ１１が使用するデータを格納する。補助記憶装置は、例えばハードディスク装置であるが、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。補助記憶装置は、例えば、オペレーティングシステム（ＯＳ）、ミドルウェア、アプリケーションプログラム、これらのプログラムの実行に伴って参照され得る各種データなどを格納する。
【００３２】
１つの例では、電子装置１０は、データベースサーバ機能を備える。この場合、記憶装置１４はデータベース用のデータ（例えばテーブル）やプログラムを記憶し、プログラムが実行されることにより、データベースは実現される。
【００３３】
通信装置１５は、ネットワークを介してサーバなどの他のコンピュータとの間でデータの授受を行う。例えば通信装置１５は、移動体通信や無線ＬＡＮ等の無線通信を行い、ネットワークへ接続する。１つの例では、電子装置１０は、通信装置１５によってプログラムをサーバからダウンロードして、記憶装置１４に格納する。ただし、通信装置１５は既知の有線通信を行ってもよい。他のコンピュータとの間でデータの送受信を行わない場合、電子装置１０は通信装置１５を備えなくてもよい。
【００３４】
図３は本発明の一実施形態の電子装置１０の機能ブロック図である。電子装置１０は、入力部３１、表示部３２、及び制御部３３を備える。制御部３３は、テンソルデータ作成部３４、テンソルデータ抽出部３５、ユーザ操作判定部３６、及びパターンデータベース３７を備える。本実施形態においては、プログラムがプロセッサ１１により実行されることによりこれらの機能が実現される。例えば実行されるプログラムは、記憶装置１４が一時的に又は非一時的に記憶するプログラムである。このように、各種機能がプログラム読み込みにより実現されるため、１つのパート（機能）の一部又は全部を他のパートが有していてもよい。ただし、各機能の一部又は全部を実現するための電子回路等を構成することによりハードウェアによってもこれらの機能は実現してもよい。
【００３５】
入力部３１は、入力装置１２を用いて構成されるものであり、電子装置１０に対するユーザからの入力を受け付ける。本実施形態では、入力部３１は、駒２０を介したタッチパネル１７へのユーザ操作を受け付けると、タッチイベントを発生させる、又はタッチイベントとして検出する。入力部３１は、タッチパネル１７を備えるスマートフォンが一般的に有しているタッチ検出機能を有することができる。
【００３６】
表示部３２は、電子装置１０による出力をタッチパネル１７へ表示する。例えば、表示部３２は、ユーザ操作に応じたアプリケーション画面を表示装置１３に表示する。
【００３７】
タッチパネル１７は、ユーザが指などでタッチした際に、指先とタッチパネル内の導電膜との間で生じる静電容量の変化を検知することにより、位置検出を行なう方式である投影型静電容量式タッチパネルであり、マルチタッチを検出可能である。
【００３８】
１つの例では、タッチパネル１７内には、透明な絶縁フィルムの表側にＸ方向の座標検出を行うための複数のＩＴＯ透明電極を有するＸ方向電極が設けられ、裏側にＹ方向の座標検出を行うための複数のＩＴＯ透明電極を有するＹ方向電極が設けられている。Ｘ方向電極とＹ方向電極のいずれか一方が受信電極、他方が駆動電極として構成される。
【００３９】
両電極間の静電容量は通常一定であるが、タッチパネル１７に人間の指が接近又はタッチすると、両電極間の電気力線の数が減少し、静電容量が変化する。あるいは、タッチパネル１７に人間の指が接近又はタッチすると、指とタッチパネル１７内の電極との間で容量結合が発生し、両電極間の静電容量が変化する。これは、人体が電気を通す性質を有するためであり、一般的に数百ピコファラッドの静電容量を有するためである。
【００４０】
入力部３１は、ユーザの指などによりタッチされると、静電容量の変化を検出する。ユーザが直接タッチパネル１７に対してタッチしない又は接近していない場合であっても、金属等の物質（絶縁性物質に比べて電気抵抗率が低い物質）を介してタッチパネル１７にタッチした場合は、当該金属等と人体とが導通状態となり、入力部３１は静電容量の変化を検出する。静電容量の変化によるＸ方向及びＹ方向の座標位置の検出は、受信電極と駆動電極の役割を入れ替えてＸ方向とＹ方向を順次スキャンすることにより行われる。
【００４１】
入力部３１は、所定量（所定量以上）の静電容量の変化が検出された場合に、該静電容量の変化をタッチイベントとして検出する。制御部３３は、検出されたタッチイベントを取得し、該タッチイベントに含まれる、静電容量が変化したタッチパネル１７上の位置に対応するタッチイベント発生位置（ｘ、ｙ）を取得する。タッチイベント発生位置は、第１の軸の値及び第２の軸の値の２つの変数により表される。制御部３３は、タッチイベント発生位置（ｘ、ｙ）取得するとき、該取得した時間ｔを取得する。１つの例では、ｔは、ＯＳから取得可能な、いわゆるＵＮＩＸ(登録商標)時間と呼ばれる整数値であるか、又は”2017/07/14 15:48:43.444”のような文字列である。
【００４２】
図４は、本実施形態の第１の軸及び第２の軸を含むタッチパネル１７の座標軸を示す図である。第１の軸は、タッチパネル１７のセンサが配列される方向に実質的に平行な方向のうちの短手方向を示す軸であり、タッチパネル１７の短辺と実質的に平行な横軸（ｘ軸）である。第２の軸は、第１の軸に直交し、タッチパネル１７のセンサが配列される方向に実質的に平行な方向のうちの長手方向を示す軸であり、タッチパネル１７の長辺と実質的に平行な縦軸（ｙ軸）である。このように、第１の軸及び第２の軸は、タッチパネル１７のセンサが配列される方向に実質的に平行であり、タッチパネル１７上の位置は、２つの軸により座標（ｘ、ｙ）として表される。本実施形態では、タッチイベント発生位置（ｘ、ｙ）は、タッチパネル１７上の位置に対応する。図４に示す座標設定は、一例であり、タッチパネル１７のセンサ配列や電子装置１０が実装するプログラムにより、上記例示と異なるように設定することができる。なお、センサは、例えば電極である。
【００４３】
例えばタッチパネル１７の検出精度が６４０ドット×１，１３６ドットである場合は、横軸方向に６４０ドット、縦軸方向に１，１３６ドットの分解能を有する。この場合のドットは１つの点であってもよいし、一定の領域（セル）であっても構わない。ただしドット間の距離は、通常タッチパネル１７（電子装置１０）ごとに異なる。
【００４４】
制御部３３が備える各部について説明する前に、駒２０について説明する。駒２０は、ボードゲームシステム１が提供するボードゲームにおいて使用される駒であり、タッチパネル１７上に載置して用いられる。駒２０は、少なくとも一部が導電部２１から構成される。
【００４５】
導電部２１は、電気を通す物質、例えば金属、から構成される部分である。駒２０の全部が導電部２１である場合は、駒２０は全体が電気を通す物質からなる。一方、駒２０の一部が導電部２１である場合は、駒２０は、電気を通さない物質、すなわち絶縁性物質からなる部分である非導電部２２を含む。
【００４６】
図５は、本発明の一実施形態の駒２０の概観図を示す。駒２０は、駒２０のすべてが導電部２１から構成される。駒２０は、本体部２１ａと、複数の突起部２１ｂとを備え、２つの部分が一体成形されたものである。
【００４７】
駒２０は、タッチパネル１７上に載置される場合、複数の突起部２１ｂの端面がタッチパネル１７（の載置面）に接触するように載置される。したがって、好ましくは、複数の突起部２１ｂの端面は、実質的に同一平面上にある。駒２０は、タッチパネル１７との接触面においては、複数の突起部２１ｂの端面、すなわち導電部２１が、空隙を介して隔てて配置されるように構成される。図６は、本実施形態の駒２０を複数の突起部２１ｂが突出する方向から見た平面図（底面図）である。
【００４８】
駒２０がタッチパネル１７上に載置された場合、導電部２１は、複数の突起部２１ｂの端面が接触する接触面において、タッチパネル１７の静電容量に変化をもたらす。しかし、導電部２１は、所定量以上の静電容量の変化を生じさせないものである。すなわち、導電部２１は、所定量未満の静電容量の変化を生じさせる。したがって、タッチパネル１７上に載置された駒２０の複数の突起部２１ｂの端面の接触は、入力部３１によりタッチイベントとして検出されない。
【００４９】
ここでユーザが導電部２１（駒２０）に触れた場合、導電部２１と人体は導通状態となるため、ユーザに触れられた導電部２１は、複数の突起部２１ｂの端面が接触する接触面において、所定量以上の静電容量の変化を引き起こす。したがって、ユーザに触れられた場合、タッチパネル１７上に載置された駒２０の複数の突起部２１ｂの端面の接触は、入力部３１によりタッチイベントとして検出される。
【００５０】
本実施形態の導電部２１、すなわち駒２０は、上記のような特性を有するため、比較的少ない質量の導電体で実現する必要がある。１つの好適な例では、駒２０は、１０3-5Ωの電気抵抗率を持っている導電性フィラメントを素材として、３Ｄプリンタを使用して作成される。１つの例では、駒２０の静電容量は、数ピコファラッド程度である。１つの例では、図６に示す駒２０は、中空構造の本体部２１ａにより構成される。また１つの例では、駒２０は、数十グラム程度の３１６Ｌステンレスから構成される。ただし、入力部３１がタッチイベント発生有無を判定する静電容量の変化の量の閾値（前述の所定量の静電容量の変化）は、タッチパネル１７（電子装置１０）のハードウェア特性や設定により変更されうるため、当該閾値に応じて導電部２１を構成する導電体の種類、質量、及び形状が決定されることが理解される。
【００５１】
駒２０は上記のとおり構成されるため、駒２０がタッチパネル１７上に載置されてユーザに触れられた場合、入力部３１は、駒２０の複数の突起部２１ｂの端面（導電部２１）の接触した位置のそれぞれを、タッチイベント発生位置としてそれぞれ検出する。
【００５２】
タッチパネル１７との接触面となる複数の突起部２１ｂのそれぞれの端面は、入力部３１が検出可能な大きさを有する。入力部３１により検出される限り、複数の突起部２１ｂの端面の大きさは小さくすることができる。例えば、当該端面の大きさがタッチパネル１７のタッチポイントの分解能１ドット分の大きさに対応する場合、複数の突起部２１ｂの端面は、端点と呼ぶことができる。また複数の突起部２１ｂの端面は、当該端面が接触する接触位置がそれぞれ別のタッチ位置として入力部３１が検出できる程度に、空隙を介して隔てて配置される。
【００５３】
駒２０は、複数の突起部２１ｂの端面の配置が、駒２０の種類に応じて異なるように構成される。ただし、駒２０は、複数の突起部２１ｂの端面の配置が、すべての駒２０の各々で異なるように構成されてもよい。
【００５４】
１つの例では、駒２０は、複数の突起部２１ｂを複数の面に備える。例えば、図７は、両面に複数の突起部２１ｂを備える駒２０を示す。複数の突起部２１ｂのそれぞれの端面は、実質的に同一平面上にあり、それぞれの端面をタッチパネル１７に接触させて、駒２０をタッチパネル１７上に載置することができる。この場合、駒２０は、両面において複数の突起部２１ｂの端面の配置が異なるように構成される。
【００５５】
本実施形態では、ユーザは、駒２０をタッチパネル１７上に設置し、又はタッチパネル１７から離脱させる。したがって、特に言及が無い限り、このような駒２０を介したタッチパネル１７へのユーザ操作を、単にユーザ操作と呼ぶ。ユーザ操作の種類は、駒２０をタッチパネル１７上へ置く操作（設置）及び駒２０をタッチパネル１７から持ち上げる操作（離脱）を含む。駒２０をタッチパネル１７上に設置する操作は、ユーザが手で駒２０を掴み、タッチパネル１７上に接触させる操作である。駒２０をタッチパネル１７上から離脱させる操作は、ユーザがタッチパネル１７上に置かれた駒２０を手で掴み、持ち上げて、タッチパネル１７上から取り除く操作である。ユーザ操作は、間接的マルチタッチとなり、所定量以上の静電容量の変化を引き起こし、タッチパネル１７内のセンサは、タッチイベントを検出する。
【００５６】
次に、制御部３３が備える各部について説明する。
【００５７】
テンソルデータ作成部３４は、ユーザ操作に起因して発生したタッチイベントに基づいて、一定時間ごとのタッチイベント発生位置を表すマトリクス４１を時間軸上に並べたテンソルデータを作成する。テンソルデータは、タッチパネル１７上のタッチイベント発生位置を表す２つの軸であるＸ軸及びＹ軸と、時間軸との３次元のテンソルで表現される。
【００５８】
１つの例では、テンソルデータ作成部３４は、一定時間ごとに、タッチイベント発生位置を表すマトリクス４１を、記憶装置１４が含むメモリバッファに記憶する。図８は、テンソルデータ作成部３４がメモリバッファにマトリクス４１を記憶する様子を示す概要図である。テンソルデータ作成部３４は、時間ｔ＝Ｔn、Ｔn+1、Ｔn+2、…、Ｔn+kのときの各々のマトリクス４１を時系列的に格納する。時間差Δｔ＝Ｔn+k−Ｔn+(k-1)は一定であり、好ましくは、入力部３１がタッチイベントを検出する最小の時間単位、例えばスマートフォンのＯＳがタッチイベントを検出する最小の時間単位である。テンソルデータ作成部３４は、時間ｔをマトリクス４１に対応付けてメモリバッファに記憶する。
【００５９】
テンソルデータ作成部３４は、最新のタッチイベント発生位置を表すマトリクス４１を含む、所定期間に検出されたタッチイベント（マトリクス４１）を記憶することにより、テンソルデータを作成する。テンソルデータ作成部３４は、例えば記憶してから所定時間が経過したマトリクス４１を削除してもよい。
【００６０】
マトリクス４１は、タッチパネル１７上の２次元領域を示す２次元の要素を持ち、タッチイベント発生位置に対応する要素に「１」が格納され、それ以外の要素に「０」が格納される。１つの例では、マトリクス４１は、Ｘ軸に配列されたセンサの数量分の行要素と、Ｙ軸に配列されたセンサの数量分の列要素とを持つ。テンソルデータ作成部３４は、タッチイベント発生位置を表すマトリクス４１を時間軸上に並べることにより、図９に示すような３次元配列データを作成する。
【００６１】
例えば、特定の時刻ｔにおけるマトリクス４１は、「１」が格納された行列要素がタッチイベント発生位置を示すことから、特定の時刻ｔにおけるタッチイベント発生位置の座標を表すものである。したがって、特定の時刻ｔにおけるマルチタッチイベントの座標は、特定の時刻ｔにおけるマトリクス４１の行列要素により表すことができる。例えば、タッチイベントが検出されなかった場合、マトリクス４１の要素はすべて「０」が格納される。テンソルデータ作成部３４は、発生したタッチイベントに基づいてテンソルデータを作成するものであるが、上記のようにタッチイベントが発生していない場合であってもテンソルデータを作成する。またマトリクス４１では、タッチイベント発生位置に対応する行列要素に「１」が格納されるため、例えば特定の時刻ｔにおけるタッチイベント数は、特定の時刻ｔにおけるマトリクス４１の行列要素が格納する「１」の数により特定される。
【００６２】
テンソルデータ抽出部３５は、テンソルデータ作成部３４が作成したテンソルデータから所定部分のテンソルデータを抽出する。テンソルデータ抽出部３５は、図９に示す時間軸上のある時間（時間範囲）に対応する時系列的に連続するマトリクス４１を、所定部分のテンソルデータとして抽出する。所定部分のテンソルデータは、ユーザ操作の開始から終了までの時間に対応する部分のテンソルデータを含む。すなわち、所定部分のテンソルデータは、ユーザ操作の開始時間、ユーザ操作の終了時間、及びその間の時間に対応する部分のテンソルデータを含む。
【００６３】
ここで、１つの好適な例では、ユーザ操作に起因するタッチイベント数は、ユーザ操作を開始するときに増え始めてから一定になり、ユーザ操作を終了するときに減り始めてから一定になるものと想定する。この場合、例えば、テンソルデータ作成部３４が作成するテンソルデータのうち、時系列に見てタッチイベント数が増え始めてから一定になるまでのテンソルデータがユーザ操作の開始時間に対応するテンソルデータであると推定される。また例えば、テンソルデータ作成部３４が作成するテンソルデータのうち、時系列的に見てタッチイベント数が減り始めてから一定になるまでのテンソルデータがユーザ操作の終了時間に対応するテンソルデータであると推定される。したがってこの場合、所定部分のテンソルデータは、タッチイベント数が増え始めてから一定になるまでのユーザ操作の開始時間、タッチイベント数が減り始めてから一定になるまでのユーザ操作の終了時間、及びその間の時間に対応する部分のテンソルデータを含む。ただし、ユーザ操作の開始時間に対応するテンソルデータ及びユーザ操作の終了時間に対応するテンソルデータの推定方法は１つの例示であって、これに限定されない。
【００６４】
パターンデータベース３７は、駒２０の種類ごとに、かつユーザ操作の種類ごとに、参照テンソルデータを記憶する。参照テンソルデータは、ユーザ操作の開始から終了までの時間に対応するテンソルデータを含む。１つの例では、予め、駒２０の種類ごと及びユーザ操作の種類ごとに、テンソルデータ作成部３４がテンソルデータを作成してテンソルデータ抽出部３５が所定部分のテンソルデータを抽出する。参照テンソルデータは、このようにして抽出されたデータであり、駒２０の種類を示すＩＤ及びユーザ操作の種類を示すＩＤに関連付けられてパターンデータベース３７に記憶される。パターンデータベース３７に参照テンソルデータを記憶するとき、回転・平行移動・拡大・縮小を考慮して、データの正規化を行った後、パターンデータベース３７に駒２０の種類及びユーザ操作の種類に関連付けて記憶してもよい。また、パターンデータベース３７は、１つの駒２０の種類における１つのユーザ操作あたり、複数の参照テンソルデータを記憶してもよい。
【００６５】
ユーザ操作判定部３６は、テンソルデータ抽出部３５が抽出したテンソルデータと、パターンデータベース３７が記憶する参照テンソルデータとに基づいて、駒２０の種類及びユーザ操作の種類を判定する。
【００６６】
ユーザ操作判定部３６は、テンソルデータ抽出部３５が抽出したテンソルデータをパターンデータベース３７が記憶する参照テンソルデータと照合して、パターンデータベース３７が記憶する駒２０の種類及びユーザ操作の種類のうち最も可能性の高いものを予測することにより判定する。１つの例では、ユーザ操作判定部３６は、判定するにあたって、テンソルデータ抽出部３５が抽出したテンソルデータと、パターンデータベース３７が記憶する参照テンソルデータの各々との類似度合を算出する。ユーザ操作判定部３６は、算出した類似度合が最も高い参照テンソルデータに関連付けられた駒２０の種類及びユーザ操作の種類を用いることにより、駒２０の種類及びユーザ操作の種類を判定する。
【００６７】
テンソルデータ抽出部３５が抽出したテンソルデータは、ユーザ操作に由来するものであるため、ユーザ操作判定部３６は、上記のとおりユーザ操作の種類を判定することができる。ユーザ操作判定部３６は、例えば、判定対象のユーザ操作が設置であるか又は離脱であるかを判定する。
【００６８】
１つの例では、ユーザ操作判定部３６が算出する類似度合は時間的類似度合を含む。ユーザ操作判定部３６は、テンソルデータ抽出部３５が抽出したテンソルデータ、及びパターンデータベース３７が記憶する参照テンソルデータの各々における開始時間及び終了時間の各々の時間内におけるタッチイベント数の変化度合に基づいて、時間的類似度合を算出する。
【００６９】
１つの例では、ユーザ操作判定部３６が算出する類似度合は空間的類似度合を含む。ユーザ操作判定部３６は、テンソルデータ抽出部３５が抽出したテンソルデータ、及びパターンデータベース３７が記憶する参照テンソルデータの所定時点のマトリクス４１におけるタッチイベント発生位置各々の距離に基づいて、空間的類似度合を算出する。
【００７０】
１つの例では、上記のユーザ操作判定部３６が行う駒２０の種類及びユーザ操作の種類の判定は、式（１）に示す関数ctxrel(E,mi,x)を用いて実現する。関数ctxrel(E,mi,x)は、実行時に入力されたマルチタッチイベントを表すテンソルであるテンソルデータ抽出部３５が抽出したテンソルデータと、パターンデータベース３７が記憶する参照テンソルデータとを比較し、関連性の高さを計算する。
2020035341.tif 000003
（１）
ここで、Ｅは、実行時に入力されたマルチタッチイベントを表すテンソルデータであり、テンソルデータ抽出部３５が抽出したテンソルデータである。ｍi,xは、パターンデータベース３７が記憶するｉ番目の種類の駒２０を介したユーザ操作の種類ｘに対応するマルチタッチイベントを表すテンソルデータである。関数ctxrel(E,mi,x)は、比較する２つのテンソルの関連性が高いほど１に近く、関連性が低いほど０に近い値を出力する。ユーザ操作判定部３６は、パターンデータベース３７が記憶するすべてのテンソルデータの中から、関数ctxrel(E,mi,x)の値が最も１に近くなるｉ、ｘの組み合わせを選択し、ユーザが操作した駒２０の種類とユーザ操作の種類として出力する。
【００７１】
関数ctxrel(E,mi,x)は、式（２）により表される。
2020035341.tif 000004
（２）
ここで、関数spatial_similarity(E,mi,x)は、Ｅとｍi,xの２つのテンソルを受け取って、駒２０の種類についての類似性を０〜１の範囲の実数で出力する関数である。関数temporal_similarity(E,mi,x)は、Ｅとｍi,xの２つのテンソルを受け取って、駒２０を介したユーザ操作の種類についての類似性を０〜１の範囲の実数で出力する関数である。
【００７２】
関数temporal_similarity(E,mi,x)は、ユーザ操作の始まりと終わりに、静電容量が変化する２つの時間の区間[ss,se]、[es,ee]が存在し、これらの区間のマルチタッチイベントがユーザ操作の固有のパターンを示すという考えに基づいて、モデル化された関数である。具体的には、マルチタッチイベントの数は、ユーザ操作が始まると増え始め、その後一定の値になって変化がなくなり、ユーザ操作が終わると減り始め、その後一定の値になって変化がなくなる。特定の時刻におけるマルチタッチイベントの数は、特定の時刻におけるマトリクス４１において「１」が格納されている個数に対応する。区間[ss,se]、[es,ee]は、マルチタッチイベントの数についての条件として、３階テンソルＥから式（３）のように算出される。
2020035341.tif 000005
ただし
2020035341.tif 000006
（３）
ここで、関数count(E,t)は、テンソルＥの時刻ｔにおいて検出されたマルチタッチイベントの数を表す。τは、予め設定された時間の幅の閾値を表し、ｄは、テンソルデータ作成部３４がマトリクス４１を格納する時間幅Δｔ、すなわちタッチイベントをメモリバッファに格納する時間幅に対応する。
2020035341.tif 000007
は、例えばτが１秒であり、ｄが３３ｍｓである場合、３３ｍｓ、６６ｍｓ、…９９０ｍｓのすべての時間幅における関数countの値を示すものである。したがって、この場合、ｂとｃは３０個の値を含み、これらすべての値において不等号を満たす時刻が各々ｓｓ、ｓｅ、ｅｓ、ｅｅとなる。ユーザ操作判定部３６は、不等号を満たす時刻が無い場合、ユーザ操作が無かったと判定してもよいし、より多くの関数countの値が不等号を満たす時刻を各々ｓｓ、ｓｅ、ｅｓ、ｅｅの時刻としてもよい。
【００７３】
１つの例では、関数temporal_similarity(E,mi,x)は、２つの時間の区間[ss,se]、[es,ee]の静電容量の変化の速度の類似性を計算するものであり、式（４）により表される。式（４）においては、静電容量の変化の速度は、マルチタッチイベントの数の変化の速度によって表される。
2020035341.tif 000008
ただし
2020035341.tif 000009
（４）
ここで、
2020035341.tif 000010
は、ユーザ操作の始まりの区間におけるマルチタッチイベントの数の変化の速度の差を表し、
2020035341.tif 000011
は、ユーザ操作の終わりの区間におけるマルチタッチイベントの数の変化の速度の差を表す。これらの項の値が小さいほど、各々の区間における、テンソルＥが表すマルチタッチイベントとテンソルｍi,xが表すマルチタッチイベントの静電容量の変化の速度が似ていることを示す。
【００７４】
１つの例では、関数spatial_similarity(E,mi,x)は、テンソルＥが表すマルチタッチイベントのうちの特定の時刻ｔにおけるマルチタッチイベントの座標間の距離の集合と、パターンデータベース３７が記憶する参照テンソルデータが表すマルチタッチイベントの対応する時刻におけるマルチタッチイベントの座標間の距離の集合との類似性を計算するものであり、式（５）により表される。
2020035341.tif 000012
（５）
ここで、ＳＲＤ関数は、３階テンソルＥについて、特定の時刻ｔにおけるマルチタッチイベントの座標の集合をＴ（Ｅ，ｔ）と表したとき、該座標すべての各々の座標間の相対的な距離の集合を求める関数であり、式（６）により表される。また、
2020035341.tif 000013
は、集合の要素間の二乗誤差を表す。
2020035341.tif 000014
（６）
ここで、ｔは特定の時刻であり、例えばマルチタッチイベント発生位置が最も多い時刻である。（ｘ１，ｙ１）、（ｘ２，ｙ２）は、３階テンソルが含む特定の時刻ｔにおけるマルチタッチイベントの座標を表すものである。説明の便宜上、式（４）は２つの座標を示しているが、これに限定されない。例えば、３階テンソルが含む特定の時刻ｔにおけるマルチタッチイベントの座標がｎ個ある場合、ＳＲＤ（Ｅ）は、nＣ2個の要素を有する集合である。ただし、ｔは特定の時間帯とすることもでき、この場合、特定の時間帯の中でより誤差の小さい値を関数spatial_similarity(E,mi,x)の出力とすることができる。
【００７５】
上記のように、関数spatial_similarity(E,mi,x)は、実行時に入力されたマルチタッチイベントと、パターンデータベース３７が記憶する参照テンソルデータが表すマルチタッチイベントとの空間的な誤差が最小となるデータを選択するための関数である。そのため、式（５）、（６）においてはＳＲＤ関数により距離の誤差の二乗和を用いているが、ＳＲＤ関数の代わりに、ＲＭＳＥ（二乗平均平方根誤差）やＭＡＥ（平均絶対誤差）を用いることもできる。また、関数spatial_similarity(E,mi,x)は、特定の複数の座標に限定して算出してもよいし、特定の１又は複数の座標を除外してもよい。
【００７６】
１つの好適な例では、電子装置１０が実装するソフトウェアのシステムアーキテクチャは、３層構造をとる。第１層は、電子装置１０のＯＳが機能として有する既存のイベント処理を担う層であり、入力部３１が対応する。第３層は、例えばボードゲーム内の動作を実装する、具体的なアプリケーションに対応する。第２層は、第１層から取得するユーザ操作に起因して発生したタッチイベントからユーザ操作の種類を判定し、第３層へ送出するか又は第３層が参照可能なメモリ領域に記憶する処理を担う層であり、制御部３３が対応する。また１つの例では、制御部３３を構成するテンソルデータ作成部３４、テンソルデータ抽出部３５、ユーザ操作判定部３６、及びパターンデータベース３７は、各々１つのソフトウェアモジュールから構成される。
【００７７】
図１０は、制御部３３の情報処理の一例を示すフローチャートである。ステップ１０１で、制御部３３は、ユーザ操作に起因して発生したタッチイベントに基づいて、一定時間ごとのタッチイベント発生位置を表すマトリクス４１を時間軸上に並べたテンソルデータを作成する。ステップ１０２で、制御部３３は、作成したテンソルデータから所定部分のテンソルデータを抽出する。ステップ１０３で、制御部３３は、抽出したテンソルデータと、パターンデータベース３７に記憶された参照テンソルデータとに基づいて、ユーザ操作の種類を判定する。
【００７８】
説明の便宜上、図１０に示すフローチャートはステップ１０１を含むように記載したが、本フローチャートはステップ１０１を含まなくてもよい。この場合、制御部３３は、本フローチャートとは別に、一定時間Δｔごとにマトリクス４１をメモリバッファに記憶してテンソルデータを作成し続ける。本フローチャートは、所定の時間間隔でステップ１０２とステップ１０３を繰り返し実行し、ステップ１０２で、制御部３３は、他の情報処理において、作成し続けているテンソルデータから所定部分のテンソルデータを抽出する。
【００７９】
次に、駒２０の製造方法について説明する。１つの例では、駒２０は、金属粉末の焼結技術（例えばレーザ焼結法）を用いた３Ｄプリンタを用いて作成する。このように作成することで、例えば図５に示す本体部２１ａの中身を中空化し、大きさを保ったまま質量を削減することができる。また３Ｄプリンタを用いることで、複数の突起部２１ｂの配置パターンごとに鋳型を作る必要もないことから、比較的簡易にかつ安価で、駒２０を作成することが可能となる。これにより、例えば多くの種類の駒２０が必要である場合であっても、比較的簡易にかつ安価で、タッチパネル１７との接触面において様々な配置パターンの導電部２１を有する駒２０を作成することが可能となる。
【００８０】
次に、図５に示す駒２０を使って、ユーザ操作を行った際に、タッチパネル１７（入力部３１）が検出するタッチイベントを観察した予備実験について説明する。予備実験では、電子装置１０としてiPad Pro（登録商標）を用い、駒２０をタッチパネル１７上に置く操作である設置操作とタッチパネル１７上から離脱させる操作である離脱操作を繰り返した。電子装置１０は、タッチイベントが発生した座標と時刻を記録できるアプリケーションがインストールされており、ユーザ操作中にタッチパネル１７が検出したタッチイベントについて座標と時刻を記録した。
【００８１】
図１１及び図１３は、設置操作中に記録されたタッチイベントを示し、図１２及び図１４は、離脱操作中に記録されたタッチイベントを示す。図１１及び図１２において、横軸は、タッチパネル１７のｘ軸を表し、縦軸は、ユーザ操作を始めたときに最初に検出されたタッチイベントの時刻を原点とした相対的な時間（ミリ秒）を表す。図１１及び図１２のＴｒｉａｌ−１〜４は、各々４回設置操作と離脱操作を試行し、それらを記録した結果に対応する。図１３及び図１４において、横軸は、タッチパネル１７のｘ軸を表し、縦軸は、タッチパネル１７のｙ軸を表す。
【００８２】
図１１及び図１２は、一連のタッチイベントの最初と最後に時間的な分散があることを示し、設置操作においては比較的大きな時間的な分散が確認され、離脱操作においては比較的小さな時間的な分散が確認される。一連のタッチイベントの時間は、設置操作においては約２５０ｍｓであり、離脱操作においては約１５０ｍｓであることが確認される。タッチイベント発生位置の各々は、駒２０の突起部２１ｂの位置に対応するものである。設置操作においては、一連のタッチイベントの時間は、同一の試行の中で突起部２１ｂごとに異なり、離脱操作においては、一連のタッチイベントの時間は、同一の試行の中で突起部２１ｂごとに類似することが確認される。
【００８３】
図１３及び図１４は、記録されたタッチイベントについて、時間軸を無視したタッチパネル１７上の座標を示すものである。図１３及び図１４は、両方とも、駒２０の突起部２１ｂに対応した同様の座標を示していることが確認される。これにより、タッチイベント発生位置から突起部２１ｂの座標を識別し、駒２０の種類を識別可能であることを確認することができる。
【００８４】
次に、本発明の実施形態によるボードゲームシステム１（電子装置１０）の主な作用効果について説明する。本実施形態では、それ単体ではタッチパネル１７を反応させられない程度の量の導電体を含む素材を用いて成型され、ユーザが触れている間だけタッチイベント検出に十分な静電容量の変化を発生させる駒２０を用いる。制御部３３は、ユーザ操作に起因して発生したタッチイベントに基づいて作成したテンソルデータから所定部分のテンソルデータを抽出する。制御部３３は、抽出したテンソルデータと、予めパターンデータベース３７に記憶された参照テンソルデータとの類似度合を算出し、類似度合が最も高い参照テンソルデータに関連付けられた駒２０の種類及びユーザ操作の種類を用いることにより、駒２０の種類及びユーザ操作の種類を判定する。このように、制御部３３は、ユーザ操作に起因して発生したタッチイベントのパターンと、パターンデータベース３７が記憶する予め学習しておいたパターンとを比較し、類似度を計算することにより、駒２０の種類及びユーザ操作の種類を判定する。制御部３３は、例えば判定結果に対応するイベントを上位のアプリケーションに送出し、該アプリケーションは該イベントに対応する処理を実行する。
【００８５】
このような構成とすることにより、本実施形態では、間接的マルチタッチに起因するステートレスな信号からユーザ操作の種類を識別することが可能となる。これにより、従来使用されている駒２０の状態の遷移を管理するシステムを実装しなければならないステートフルな技術に比べて、よりシンプルな実装とすることが可能となり、より幅広い適用を実現することが可能となる。更に、パターンデータベース３７が記憶する内容を変更することにより、制御部３３の判定内容を変更することができるため、チューニングを行う過程でも追加のコーディングを行う必要がない。
【００８６】
また本実施形態では、駒２０は、例えば、ある程度の大きさを持った導電性フィラメントの塊により構成することができるため、単一の素材を扱う積層型の３Ｄプリンタにより、比較的低価格で製造することが可能である。したがって、ボードゲームシステム１は、比較的低価格で実現することができる。また本実施形態では、電子装置１０は、タッチパネル１７を備える市販のタッチスクリーンデバイスとすることができ、特別なハードウェアを必要とするものではない。したがって、専用のハードウェアに依存する技術に比べて、実装が容易である。例えば、カメラを用いたビジョンベースシステムの場合、スマートフォンの外側にカメラを設置する必要があるため、利用できる場所に制限があり、また簡易に実装することが難しい。本実施形態のような構成とすることにより、ボードゲームシステム１は、比較的簡易に実装することが可能となる。
【００８７】
上記の作用効果は、特に言及が無い限り、他の実施形態や他の実施例においても同様である。
【００８８】
本発明の他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムや該プログラムを格納したコンピュータ読み取り可能な記憶媒体とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現する方法とすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現するプログラムをコンピュータに供給することができるサーバとすることもできる。また他の実施形態では、上記で説明した本発明の実施形態の機能やフローチャートに示す情報処理を実現する仮想マシンとすることもできる。
【００８９】
以下に本発明の実施形態の変形例について説明する。以下で述べる変形例は、矛盾が生じない限りにおいて、適宜組み合わせて本発明の任意の実施形態に適用することができる。
【００９０】
１つの変形例では、所定部分のテンソルデータは、ユーザ操作の開始時間に対応する部分のテンソルデータ及びユーザ操作の終了時間に対応する部分のテンソルデータを含む。すなわち、本変形例では、所定部分のテンソルデータは、ユーザ操作の開始時間と終了時間の間の時間に対応する部分のテンソルデータを含まない。この場合、パターンデータベース３７が記憶する参照テンソルデータは、当該開始時間及び当該終了時間の各々に対応するテンソルデータを含む。
【００９１】
１つの変形例では、駒２０は１種類であり、パターンデータベース３７は、ユーザ操作の種類ごとに、参照テンソルデータを記憶する。この場合、ユーザ操作判定部３６は、テンソルデータ抽出部３５が抽出したテンソルデータと、パターンデータベース３７がユーザ操作の種類ごとに記憶する参照テンソルデータとに基づいて、ユーザ操作の種類を判定する。
【００９２】
１つの変形例では、パターンデータベース３７がユーザ操作の種類ごとに記憶する参照テンソルデータを学習データとして用いて機械学習を行うことにより、予め学習モデルが生成される。この場合、ユーザ操作判定部３６は、ユーザ操作の種類を判定するにあたって、生成された学習モデルを用いて、テンソルデータ抽出部３５が抽出したテンソルデータを入力とすることにより、ユーザ操作の種類を出力（判定）する。
【００９３】
１つの変形例では、駒２０は、導電部２１及び非導電部２２から構成される。この場合、導電部２１は、駒２０における一部分として、１つの塊として構成される。したがって、導電部２１は、周囲すべてを非導電部２２に覆われたものではない。あるいは、周囲すべてを非導電部２２に覆われて外部と導通できない導電部は、導電部２１に含まないものとする。
【００９４】
図１５は、本変形例の駒２０の概観図を示す。駒２０を載置する場合に載置面と接触する面を底面とすると、底面は実質的に平面である。駒２０がタッチパネル１７上に載置される場合、底面がタッチパネル１７（の載置面）に接触する。図１６は、本変形例の駒２０の底面図である。図１６から理解されるように、タッチパネル１７との接触面となる底面においては、導電部２１は、非導電部２２を介して隔てて配置される。
【００９５】
駒２０がタッチパネル１７上に載置された場合、導電部２１は、非導電部２２を介して隔てて配置された複数の接触面においてタッチパネル１７の静電容量に変化をもたらす。しかし、導電部２１は、所定量以上の静電容量の変化を生じさせないものである。したがって、タッチパネル１７上に載置された駒２０の導電部２１の接触は、入力部３１によりタッチイベントとして検出されない。
【００９６】
ここでユーザが導電部２１に触れた場合、導電部２１と人体は導通状態となるため、ユーザに触れられた導電部２１は、非導電部２２を介して隔てて配置された複数の接触面において、所定量以上の静電容量の変化を引き起こす。したがって、ユーザに触れられた場合、タッチパネル１７上に載置された駒２０の導電部２１の接触は、入力部３１によりタッチイベントとして検出される。この場合、駒２０は、少なくともユーザが接触可能な所定部分が導電部２１で構成され、当該所定部分の導電部２１は底面において非導電部２２を介して隔てて配置される導電部２１と導通可能に構成される。好ましくは、駒２０は、ユーザが把持するための把持部（図示せず）を備え、当該把持部は導電部２１により構成される。
【００９７】
このように、本変形例の導電部２１は、上記のように本実施形態の非導電部２２を含まない駒２０の導電部２１と同様の特性を有するため、導電部２１の特性に関する詳細な説明は省略する。
【００９８】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【００９９】
１  ボードゲームシステム
１０  電子装置
１１  プロセッサ
１２  入力装置
１３  表示装置
１４  記憶装置
１５  通信装置
１６  バス
１７  タッチパネル
２０  駒
２１  導電部
２１ａ  本体部
２１ｂ  突起部
２２  非導電部
３１  入力部
３２  表示部
３３  制御部
３４  テンソルデータ作成部
３５  テンソルデータ抽出部
３６  ユーザ操作判定部
３７  パターンデータベース
４１  マトリクス
【図１】
2020035341.tif 000015
【図２】
2020035341.tif 000016
【図３】
2020035341.tif 000017
【図４】
2020035341.tif 000018
【図５】
2020035341.tif 000019
【図６】
2020035341.tif 000020
【図７】
2020035341.tif 000021
【図８】
2020035341.tif 000022
【図９】
2020035341.tif 000023
【図１０】
2020035341.tif 000024
【図１１】
2020035341.tif 000025
【図１２】
2020035341.tif 000026
【図１３】
2020035341.tif 000027
【図１４】
2020035341.tif 000028
【図１５】
2020035341.tif 000029
【図１６】
2020035341.tif 000030