(57)【要約】 【課題】タッチパネルに載せられたカードに設けられたスリットをタッチペン等の指示体でなぞってカードの種類を識別する際に、カードの位置決めが容易なカード識別装置等を提供する。【解決手段】カード識別装置４０１のタッチパネル部４０２から入力された軌跡が基準スリットにマッチすることが基準スリット判定部４０４により判明すれば、スリット領域表示制御部４０５が値スリットが含まれるべき最大スリット領域の画像を画像表示部４０３に表示させ、その後に入力された軌跡が値スリットのいずれかにマッチすることが値スリット同定部４０６により判明すれば、入力済スリット表示制御部４０９が同定した値スリットの画像を最大スリット領域に重ねて画像表示部４０３に表示させ、全値スリットの同定が完了すると、カード識別部４０７が同定された値スリットの種類からカードの種類を識別して出力する。【選択図】図４
2008093233.tif 000002
【特許請求の範囲】
【請求項１】
複数のスリットを有するカードの種類を識別するカード識別装置であって、当該複数のスリットのうちの１つのスリットは、非対称な所定の形状を有する基準スリットであり、当該複数のスリットのうち当該基準スリット以外のスリットのそれぞれは、当該基準スリットに対する相対位置があらかじめ定められた複数の最長スリット領域のいずれかに重複なく含まれるように位置および長さが定められた値スリットであり、当該複数の値スリットの位置および長さの組合せは、当該カードの種類に対応付けられ、
当該カードが表面に載せられるタッチパネル部であって、当該表面に載せられたカードのスリットをなぞる指示体が接触移動する軌跡の入力を受け付けるタッチパネル部、
前記タッチパネル部を透過して画像を表示する画像表示部、
前記タッチパネル部により入力を受け付けられた軌跡が、当該基準スリットの形状にマッチするか否かを判定する基準スリット判定部、
前記基準スリット判定部によりマッチすると判定された場合、前記画像表示部に、当該複数の最長スリット領域の形状を、前記入力を受け付けられた当該基準スリットの形状にマッチする軌跡の位置を基準として、当該あらかじめ定められた相対位置に表示させるスリット領域表示制御部、
前記タッチパネル部により入力を受け付けられた軌跡が、前記表示された複数の最長スリット領域のいずれかに含まれる場合、当該軌跡の位置および長さから、当該最長スリット領域に含まれる値スリットの位置および長さを同定する値スリット同定部、
前記表示された複数の最長スリット領域のすべてについて、当該最長スリット領域に含まれる値スリットの位置および長さが同定された場合、前記同定された値スリットの位置および長さの組合せにより、当該カードの種類を識別するカード識別部
を備えることを特徴とするカード識別装置。
【請求項２】
請求項１に記載のカード識別装置であって、当該カードのいずれにおいても、当該複数の値スリットのうち、いずれか１つの値スリット（以下「主値スリット」という。）は、当該主値スリットを含むように位置および長さが定められた最長スリット領域よりも長さが短く、当該複数の値スリットのうち、当該主値スリット以外の値スリット（以下「副値スリット」という。）は、当該副値スリットを含むように位置および長さが定められた最長スリット領域に長さが一致し、
当該基準スリットに対して定められる相対的な位置が異なる最長スリット領域に主値スリットを有する複数のカードが重ねられて前記タッチパネル部の表面に載せられ、当該複数のカードの基準スリットおよび値スリットの共通部分が当該指示体によってなぞられて接触移動する軌跡の入力が前記タッチパネル部により受け付けられた場合、前記値スリット同定部が主値スリットの位置および長さを同定するごとに、前記カード識別部は、前記同定された主値スリットの位置および長さにより、当該複数のカードのうち、当該主値スリットを有するカードの種類を識別する
ことを特徴とするカード識別装置。
【請求項３】
請求項１または２に記載のカード識別装置であって、
前記基準スリット判定部によりマッチすると判定された場合、前記同定部により値スリットの位置および長さが同定されていれば、当該同定された値スリットの位置および長さを消去する消去部
をさらに備えることを特徴とするカード識別装置。
【請求項４】
請求項１から３のいずれか１項に記載のカード識別装置であって、
当該値スリットの位置および長さが同定されるごとに、前記画像表示部に、当該最長スリット領域のうち、当該同定された値スリットの位置および長さの形状を、当該基準スリットの形状にマッチする軌跡の位置を基準として表示させる入力済スリット表示制御部
をさらに備えることを特徴とするカード識別装置。
【請求項５】
請求項１から４のいずれか１項に記載のカード識別装置であって、
当該複数の最長スリット領域には、当該基準スリットの形状にマッチされた後に入力を受け付ける順序があらかじめ定められ、
前記スリット領域表示制御部は、当該定められた順序により、次に軌跡の入力を受け付けて値スリットの位置および形状を同定すべき最長スリット領域の形状を強調表示する
ことを特徴とするカード識別装置。
【請求項６】
請求項１から５のいずれか１項に記載のカード識別装置であって、
前記入力を受け付けられた軌跡が前記表示された複数の最長スリット領域のいずれにも含まれない場合、警告メッセージを出力する警告出力部
をさらに備えることを特徴とするカード識別装置。
【請求項７】
複数のスリットを有するカードの種類を識別し、タッチパネル部、前記タッチパネル部を透過して画像を表示する画像表示部、基準スリット判定部、スリット領域表示制御部、値スリット同定部、カード識別部を有するカード識別装置にて実行されるカード識別方法であって、当該複数のスリットのうちの１つのスリットは、非対称な所定の形状を有する基準スリットであり、当該複数のスリットのうち当該基準スリット以外のスリットのそれぞれは、当該基準スリットに対する相対位置があらかじめ定められた複数の最長スリット領域のいずれかに重複なく含まれるように位置および長さが定められた値スリットであり、当該複数の値スリットの位置および長さの組合せは、当該カードの種類に対応付けられ、
前記タッチパネル部が、前記タッチパネル部の表面に載せられた当該カードのスリットをなぞる指示体が接触移動する軌跡の入力を受け付けるタッチパネル工程、
前記基準スリット判定部が、前記タッチパネル工程にて入力を受け付けられた軌跡が、当該基準スリットの形状にマッチするか否かを判定する基準スリット判定工程
前記基準スリット判定工程によりマッチすると判定された場合、前記スリット領域表示制御部が、前記画像表示部に、当該複数の最長スリット領域の形状を、前記入力を受け付けられた当該基準スリットの形状にマッチする軌跡の位置を基準として、当該あらかじめ定められた相対位置に表示させるスリット領域表示制御工程、
前記タッチパネル工程にて入力を受け付けられた軌跡が、前記表示された複数の最長スリット領域のいずれかに含まれる場合、前記値スリット同定部が、当該軌跡の位置および長さから、当該最長スリット領域に含まれる値スリットの位置および長さを同定する値スリット同定工程、
前記表示された複数の最長スリット領域のすべてについて、当該最長スリット領域に含まれる値スリットの位置および長さが同定された場合、前記カード識別部が、前記同定された値スリットの位置および長さの組合せにより、当該カードの種類を識別するカード識別工程
を備えることを特徴とするカード識別方法。
【請求項８】
コンピュータに、複数のスリットを有するカードの種類を識別させるプログラムであって、
当該複数のスリットのうちの１つのスリットは、非対称な所定の形状を有する基準スリットであり、当該複数のスリットのうち当該基準スリット以外のスリットのそれぞれは、当該基準スリットに対する相対位置があらかじめ定められた複数の最長スリット領域のいずれかに重複なく含まれるように位置および長さが定められた値スリットであり、当該複数の値スリットの位置および長さの組合せは、当該カードの種類に対応付けられ、
当該プログラムは、当該コンピュータを、
当該カードが表面に載せられるタッチパネル部であって、当該表面に載せられたカードのスリットをなぞる指示体が接触移動する軌跡の入力を受け付けるタッチパネル部、
前記タッチパネル部を透過して画像を表示する画像表示部、
前記タッチパネル部により入力を受け付けられた軌跡が、当該基準スリットの形状にマッチするか否かを判定する基準スリット判定部、
前記基準スリット判定部によりマッチすると判定された場合、前記画像表示部に、当該複数の最長スリット領域の形状を、前記入力を受け付けられた当該基準スリットの形状にマッチする軌跡の位置を基準として、当該あらかじめ定められた相対位置に表示させるスリット領域表示制御部、
前記タッチパネル部により入力を受け付けられた軌跡が、前記表示された複数の最長スリット領域のいずれかに含まれる場合、当該軌跡の位置および長さから、当該最長スリット領域に含まれる値スリットの位置および長さを同定する値スリット同定部、
前記表示された複数の最長スリット領域のすべてについて、当該最長スリット領域に含まれる値スリットの位置および長さが同定された場合、前記同定された値スリットの位置および長さの組合せにより、当該カードの種類を識別するカード識別部
として機能させることを特徴とするカード識別装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルに載せられたカードに設けられたスリットをタッチペン等の指示体でなぞってカードの種類を識別する際に、カードの位置決めが容易なカード識別装置、カード識別方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、トランプや花札などの現実のカードを用いたゲームを模したコンピュータ用カードゲームの技術が提案されている。このようなコンピュータ用カードゲームの技術は、たとえば以下の文献に開示されている。
【特許文献１】特開２０００−１５７７４４
【０００３】
[特許文献１]には、各種のカードを現実のカードとしてではなく、コンピュータによって表現される情報として表現することで、複雑なルールのカードゲームであっても、コンピュータにゲームの勝敗を判断させることで、初心者でも簡単にゲームを楽しめるようにした技術が開示されている。
【０００４】
一方で、現実のカードに対しては、カードに印刷されたバーコードを認識したり、カードに貼付された磁気テープに記録される情報を読み取ることでカードの種類を識別する技術が提案されている。
【０００５】
しかしながら、バーコードリーダや磁気カード読取装置は一般に高価であり、携帯ゲーム装置などに組み込むことができない場合も多い。一方で、携帯ゲーム装置などの安価なハードウェアにおいても、タッチペンおよびタッチパネルにより、ペン入力を可能としたものが提供されつつある。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、現実のカードの種類をコンピュータに識別させるために、安価なハードウェアで、ユーザの操作負担を小さくし、簡易に入力ができるようにしたカードの識別技術が強く求められている。
【０００７】
この際、カードにスリットを設けてタッチパネルに載せ、このスリットをタッチペン等の指示体でなぞることでカードの種類を識別する手法が考えられるが、カードの大きさは必ずしもタッチパネルの大きさに一致しないため、カードの位置決めを正確に行う技術も求められている。
【０００８】
本発明は、上記のような課題を解決するもので、タッチパネルに載せられたカードに設けられたスリットをタッチペン等の指示体でなぞってカードの種類を識別する際に、カードの位置決めが容易なカード識別装置、カード識別方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１０】
本発明の第１の観点に係るカード識別装置は、複数のスリットを有するカードの種類を識別するカード識別装置であって、タッチパネル部、画像表示部、基準スリット判定部、スリット領域表示制御、値スリット同定部、カード識別部を備え、以下のように構成することができる。
【００１１】
ここで、当該複数のスリットのうちの１つのスリットは、非対称な所定の形状を有する基準スリットであり、当該複数のスリットのうち当該基準スリット以外のスリットのそれぞれは、当該基準スリットに対する相対位置があらかじめ定められた複数の最長スリット領域のいずれかに重複なく含まれるように位置および長さが定められた値スリットであり、当該複数の値スリットの位置および長さの組合せは、当該カードの種類に対応付けられる。
【００１２】
すなわち、本発明にて識別されるカードには、複数のスリットが設けられており、その一つが基準スリット、残りが値スリットとなる。また、値スリットのそれぞれは、基準スリットに対して相対的に定められた複数の最長スリット領域のいずれかに割り当てられ、その位置と長さとが、カードによって異なるものとする。
【００１３】
基準スリットの形状としては、たとえばＬ字形などを採用することができる。最長スリット領域は所定の長さの線分（細い長方形）とし、値スリットの形状は、最長スリット領域の一部をなす線分（細い長方形）とするのが典型的である。
【００１４】
そして、タッチパネル部は、当該カードのスリットをなぞるタッチペン等の指示体が接触移動する軌跡の入力を受け付ける。
典型的には、ユーザは、タッチパネル部の表面にカードを載せて一方の手で固定し、他方の手でタッチペンを操作して、スリットをタッチペンでなぞり、タッチパネルを押圧操作して、接触させたまま移動させることによって、軌跡を入力する。入力されるタッチペンの軌跡は、開始点、通過点、終了点の座標列によって表現することができる。なお、指示体には、タッチペンのかわりに、指の爪、ヘアピン、楊枝などを用いても良い。以下では理解を容易にするため、タッチペンを例示して説明する。
【００１５】
一方、画像表示部は、タッチパネル部を透過して画像を表示する。
すなわち、タッチパネル部は透明もしくは半透明で、画像表示部の画像表示面に貼り付けられており、タッチパネル部を透かして画像表示部に表示される画像が見える。このように、タッチパネル部と画像表示部が一体化した構成は、タッチスクリーンと呼ばれることもある。
【００１６】
さらに、基準スリット判定部は、タッチパネル部により入力を受け付けられた軌跡が、当該基準スリットの形状にマッチするか否かを判定する。
カードのスリットには、基準スリットと値スリットとが用意されているが、本発明では、ユーザは、まず基準スリットをなぞる必要がある。すると、本装置は、タッチスクリーンに対して重ねられたカードの位置や向きを判別し、以降の処理では、ここで判別された位置や向きに基づいて、処理を行うのである。
【００１７】
さらに、基準スリット判定部によりマッチすると判定された場合、スリット領域表示制御部は、画像表示部に、当該複数の最長スリット領域の形状を、入力を受け付けられた当該基準スリットの形状にマッチする軌跡の位置を基準として、当該あらかじめ定められた相対位置に表示させる。
【００１８】
基準スリットの位置や向きが判明すれば、値スリットが含まれる最長スリット領域の位置も決定することができる。したがって、最長スリット領域に相当する画像を画像表示部に表示する。
【００１９】
ユーザは、この画像とカードの値スリットが重なっているときは、カードの固定がしっかりしており、ずれていないことがわかる。また、この画像とカードの値スリットが重なっていないときは、入力の途中でカードの位置や向きがずれてしまったことがわかる。
【００２０】
さらに、タッチパネル部により入力を受け付けられた軌跡が、表示された複数の最長スリット領域のいずれかに含まれる場合、値スリット同定部は、当該軌跡の位置および長さから、当該最長スリット領域に含まれる値スリットの位置および長さを同定する。
【００２１】
すなわち、タッチパネルにおける軌跡の入力は、最長スリット領域に対するもののみを処理の対象とし、それ以外の領域に軌跡が入力された場合は、当該入力は、値スリットをなぞった入力とは解釈しないのである。この場合は、当該入力は、単純に無視することとしても良いし、他の処理を開始する契機として扱っても良い。
【００２２】
さらに、表示された複数の最長スリット領域のすべてについて、当該最長スリット領域に含まれる値スリットの位置および長さが同定された場合、カード識別部は、同定された値スリットの位置および長さの組合せにより、当該カードの種類を識別する。
【００２３】
上記のように、基準スリットの形状はカードの種類によらず共通であり、値スリットの位置および形状はカードの種類によって異なるから、各値スリットの位置および形状がすべて同定されれば、そのカードの種類を取得することができるのである。
【００２４】
本発明によれば、タッチパネルにカードを重ねてカードのスリットをなぞることによってカードを識別する場合に、当該カードの位置や姿勢の自由度を高くすることができ、ユーザの好みの位置や姿勢でスリットを用いた入力ができるようになる。
【００２５】
また、本発明のカード識別装置は、以下のように構成することができる。すなわち、当該カードのいずれにおいても、当該複数の値スリットのうち、いずれか１つの値スリット（以下「主値スリット」という。）は、当該主値スリットを含むように位置および長さが定められた最長スリット領域よりも長さが短く、当該複数の値スリットのうち、当該主値スリット以外の値スリット（以下「副値スリット」という。）は、当該副値スリットを含むように位置および長さが定められた最長スリット領域に長さが一致する。
【００２６】
たとえば、まんがのキャラクターの着せ替え遊びを行うようなカードを考える。カードは、（１）キャラクター本体のカード、（２）帽子のカード、（３）上半身のカード、（４）下半身のカード、（５）靴のカードの５種類に大分類することができる。本発明では、この５種類のそれぞれに対して、最長スリット領域を一つ割り当てる。したがって、値スリットの数は５個となり、主値スリットは１個、副値スリットは４個となる。
【００２７】
たとえば、キャラクター本体のカードは、１番目の値スリットが主値スリットであり、帽子のカードは、２番目の値スリットが主値スリットであり、……のように、カードの大分類に応じて、何番目のスリットが主値スリットとなるか、があらかじめ定められている。
【００２８】
そして、主値スリットの位置および長さは、最長スリット領域よりも小さくなっており、それ以外の副値スリットは、最長スリット領域と同じ形になっている。
【００２９】
さらに、当該基準スリットに対して定められる相対的な位置が異なる最長スリット領域に主値スリットを有する複数のカードが重ねられてタッチパネル部の表面に載せられ、当該複数のカードの基準スリットおよび値スリットの共通部分が当該指示体によってなぞられて接触移動する軌跡の入力がタッチパネル部により受け付けられた場合、値スリット同定部が主値スリットの位置および長さを同定するごとに、カード識別部は、同定された主値スリットの位置および長さにより、当該複数のカードのうち、当該主値スリットを有するカードの種類を識別する。
【００３０】
異なる分類のカードを複数枚重ねて着せ替えを完成させると、１番目の値スリットをなぞれば、その位置および長さによってただちにキャラクター本体のカードの種類が判明し、２番目の値スリットをなぞれば、その位置および長さによってただちに頭飾りのカードの種類が判明し、……のように、値スリット１つをなぞるだけで、当該値スリットに対する最長スリット領域に対応付けられた大分類のカードの種類が判明するのである。
【００３１】
本発明によれば、複数のカードを重ねてその値スリットの共通部分をなぞる場合に、値スリットの位置および長さに制限を課すことによって、１つの値スリットをなぞるだけで、重ねられたカードのうちの１枚の種類がただちに判明し、簡易で軽快なカードの識別を行うことができるようになる。
【００３２】
また、本発明のカード識別装置は、消去部をさらに備え、基準スリット判定部によりマッチすると判定された場合、消去部は、同定部により値スリットの位置および長さが同定されていれば、当該同定された値スリットの位置および長さを消去するように構成することができる。
【００３３】
入力途中でカードがずれていることに気付いたり、スリットの全長をなぞらずに途中でペンを離してしまったことに気付いた場合には、入力をやり直したいことがある。本発明では、もう一度基準スリットをなぞると、入力のやり直しが始まるようにするものである。このようにすると、基準スリットの位置がもう一度判定され、新たに判定された位置に基づいて、最長スリット領域の形状を表す画像が再描画されることになる。
【００３４】
本発明によれば、ユーザは、基準スリットをタッチペンでなぞり直すことによって、スリットの再入力を開始する旨を指示することができ、ユーザは、簡易な操作で容易に入力のやり直しを行うことができるようになる。
【００３５】
また、本発明のカード識別装置は、入力済スリット表示制御部をさらに備え、入力済スリット表示制御部は、当該値スリットの位置および長さが同定されるごとに、画像表示部に、当該最長スリット領域のうち、当該同定された値スリットの位置および長さの形状を、当該基準スリットの形状にマッチする軌跡の位置を基準として表示させるように構成することができる。
【００３６】
すなわち、すでにユーザによってなぞられた値スリットには、同定された位置および長さの形状を表示することによって、当該値スリットは入力済みである旨が提示されるのである。たとえば、最長スリット領域の形状を表示する色と、同定された値スリットの位置および長さの形状表示する色と、を、異なるものとするなど、両者を異なる体裁で表示することが望ましい。
【００３７】
本発明によれば、ユーザは、過去になぞった値スリットの位置および形状が望み通りに同定されているか否かを確認しながら入力することができるとともに、まだなぞっていない値スリットがいずれであるかを簡単に判別することができ、容易に入力を行うことができるようになる。
【００３８】
また、本発明のカード識別装置において、当該複数の最長スリット領域には、当該基準スリットの形状にマッチされた後に入力を受け付ける順序があらかじめ定められ、スリット領域表示制御部は、当該定められた順序により、次に軌跡の入力を受け付けて値スリットの位置および形状を同定すべき最長スリット領域の形状を強調表示するように構成することができる。
【００３９】
たとえば、上記のカードの大分類（１）〜（５）の順に入力することが定められている場合には、基準スリットがなぞられた後は値スリット（１）の最長スリット領域が強調表示され、値スリット（１）がなぞられた後は値スリット（２）の最長スリット領域が強調表示され、……のように、ユーザに入力すべき順序を提示するのである。
【００４０】
本発明によれば、ユーザは、スリットをなぞるべき順序を簡易に判別することができ、入力忘れなどのミスを防止することができるようになる。
【００４１】
また、本発明のカード識別装置は、警告出力部をさらに備え、警告出力部は、入力を受け付けられた軌跡が表示された複数の最長スリット領域のいずれにも含まれない場合、警告メッセージを出力するように構成することができる。
【００４２】
まず、基準スリットの位置が判別できなければ、最長スリット領域は表示されないので、その旨の警告メッセージが出力される。また、カードがずれた場合などには、最長スリット領域とは異なる場所がタッチペンでなぞられることとなるので、その旨の警告メッセージが出力される。
【００４３】
警告メッセージは、典型的にはブザー音や警告音などで出力されるが、タッチスクリーンの他に表示画面が存在する場合には、当該他の表示画面に警告メッセージを表示することとしても良い。また、最長スリット領域の形状を点滅させて表示したり、色を変更して表示することによって警告メッセージとしても良い。
【００４４】
本発明によれば、ユーザがスリットをなぞる操作が失敗した旨を、ユーザにわかりやすく提示することができるようになる。
【００４５】
本発明のその他の観点に係るカード識別方法は、複数のスリットを有するカードの種類を識別し、タッチパネル部、タッチパネル部を透過して画像を表示する画像表示部、基準スリット判定部、スリット領域表示制御部、値スリット同定部、カード識別部を有するカード識別装置にて実行され、タッチパネル工程、基準スリット判定工程、スリット領域表示制御工程、値スリット同定工程、カード識別工程を備え、以下のように構成する。
【００４６】
ここで、当該複数のスリットのうちの１つのスリットは、非対称な所定の形状を有する基準スリットであり、当該複数のスリットのうち当該基準スリット以外のスリットのそれぞれは、当該基準スリットに対する相対位置があらかじめ定められた複数の最長スリット領域のいずれかに重複なく含まれるように位置および長さが定められた値スリットであり、当該複数の値スリットの位置および長さの組合せは、当該カードの種類に対応付けられる。
【００４７】
さらに、タッチパネル工程では、タッチパネル部が、タッチパネル部の表面に載せられた当該カードのスリットをなぞる指示体が接触移動する軌跡の入力を受け付ける。
【００４８】
そして、基準スリット判定工程では、基準スリット判定部が、タッチパネル工程にて入力を受け付けられた軌跡が、当該基準スリットの形状にマッチするか否かを判定する。
【００４９】
一方、基準スリット判定工程によりマッチすると判定された場合、スリット領域表示制御工程では、スリット領域表示制御部が、画像表示部に、当該複数の最長スリット領域の形状を、入力を受け付けられた当該基準スリットの形状にマッチする軌跡の位置を基準として、当該あらかじめ定められた相対位置に表示させる。
【００５０】
さらに、タッチパネル工程にて入力を受け付けられた軌跡が、表示された複数の最長スリット領域のいずれかに含まれる場合、値スリット同定工程では、値スリット同定部が、当該軌跡の位置および長さから、当該最長スリット領域に含まれる値スリットの位置および長さを同定する。
【００５１】
そして、表示された複数の最長スリット領域のすべてについて、当該最長スリット領域に含まれる値スリットの位置および長さが同定された場合、カード識別工程では、カード識別部が、同定された値スリットの位置および長さの組合せにより、当該カードの種類を識別する。
【００５２】
本発明のその他の観点に係るプログラムは、コンピュータを上記のカード識別装置として機能させ、コンピュータに上記のカード識別方法を実行させるように構成する。
【００５３】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００５４】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００５５】
本発明によれば、タッチパネルに載せられたカードに設けられたスリットをタッチペン等の指示体でなぞってカードの種類を識別する際に、カードの位置決めが容易なカード識別装置、カード識別方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００５６】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００５７】
図１は、プログラムを実行することにより、本発明のカード識別装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００５８】
本情報処理装置１０１は、ＣＰＵ（Central Processing Unit）１０２と、ＲＡＭ（Random Access Memory）１０３と、ＲＯＭ（Read Only Memory）１０４と、入力装置１０５と、画像処理部１０６と、液晶ディスプレイ１０７と、音声処理部１０８と、スピーカ１０９と、カセットリーダ１１０と、を備える。
【００５９】
ＣＰＵ  １０２は、本情報処理装置１０１の各部の制御を行う。ＲＡＭ  １０３の記憶域、ＲＯＭ  １０４の記憶域、カセットリーダ１１０に挿入されたＲＯＭカセット１１１の記憶域は、いずれも、ＣＰＵ  １０２が管理する１つのメモリ空間にマップされており、ＣＰＵ  １０２は、それぞれの記憶域がマップされるアドレスを読み出せば、それぞれに記憶されている情報を取得することができる。また、ＲＡＭ  １０３の記憶域には、書き込みも可能である。
【００６０】
このほか、ＣＰＵ  １０２が画像処理部１０６や音声処理部１０８に対して各種の指示を行う際や、これらのほか、入力装置１０５から情報を取得する際の、窓口となるレジスタも、当該メモリ空間にマップされており、所定のアドレスにコマンドを表すデータ書き込みを行えば指示をすることができ、所定のアドレスからデータを読み出せば、情報を取得することができる。
【００６１】
情報処理装置１０１の電源が投入されると、ＣＰＵ  １０２は、カセットリーダ１１０に挿入されたＲＯＭカセット１１１の記憶域がマップされたアドレスから開始されるプログラムを実行する。ＲＡＭ  １０３は、一時的な記憶域として種々の目的に使用される。ＲＯＭ  １０４には、情報処理装置１０１が提供するＢＩＯＳ(Basic Input/Output System)ルーチンが記録されており、ＲＯＭカセット１１１内のプログラムから、適宜呼び出すことができる。
【００６２】
入力装置１０５は、方向を表す指示入力を受け付けるボタン、各種の操作を区別する指示入力を受け付けるボタンからの入力をメモリ空間にマップされたレジスタに反映させるほか、液晶ディスプレイ１０７の表面に貼り付けられたタッチパネルが押圧されているか否か、および押圧されているときのその座標の入力も受け付ける。
【００６３】
液晶ディスプレイ１０７は、画像処理部１０６によって管理される。メモリ空間にマップされたタイルを記憶するための記憶領域や、オブジェクト属性メモリを記憶するための記憶領域が用いられる。ＣＰＵ  １０２が、計算により生成した値を書き込んだり、カセットリーダ１１０に挿入されたＲＯＭカセット１１１から適切に情報を転送すると、液晶ディスプレイ１０７にスプライト画像が表示されることとなる。
【００６４】
このほか、液晶ディスプレイ１０７に表示される画像を画素単位で管理するフレームバッファを利用することもでき、液晶ディスプレイ１０７においてある色をある位置に表示したい場合には、フレームバッファ内のその位置に相当する場所にその色に相当する数値を書き込むと、適切なタイミングで液晶ディスプレイ１０７にビットマップ画像が表示される。
【００６５】
たとえば、１６ビットカラー表示３２０×２００ドットの液晶ディスプレイ１０７の場合、画素１つ分の色は２バイトで表現される。そこで、３２０×２００個の要素（各２バイト）を持つ配列をフレームバッファとしてＲＡＭ  １０３内に用意し、当該配列の要素を１対１に液晶ディスプレイ１０７の画素に対応させる。当該配列の要素に色を表す１６ビットの値を書き込み、適切なタイミングで（たとえば、垂直同期割り込みが発生する周期で）フレームバッファの内容を液晶ディスプレイ１０７に反映させるように、画像処理部１０６にて制御を行う。
【００６６】
液晶ディスプレイ１０７の数は１つまたは複数とするのが一般的である。本実施形態では、複数の液晶ディスプレイが存在し、一方（本図上方）の液晶ディスプレイ１０７は表示専用とし、他方（本図下方）の液晶ディスプレイ１０７にはタッチパネルが貼り付けられている。
【００６７】
したがって、タッチペンでタッチパネルを押圧操作することにより、対応する液晶ディスプレイ１０７の位置を表す座標値が入力される。すなわち、タッチパネルと液晶ディスプレイ１０７とは一体となって、タッチスクリーンとして機能する。
【００６８】
なお、本情報処理装置１０１は、典型的な携帯ゲーム装置として利用されるものであるが、本発明の技術は、マウスおよびキーボードとＣＲＴ（Cathode Ray Tube）を用いて入力と出力を行うような汎用コンピュータで動作する各種のアプリケーションに適用することも可能であり、そのような実施形態も本発明の範囲に含まれる。
【００６９】
図２は、本発明のカード識別装置にて利用されるカードの形状の例を示す説明図である。以下、本図を参照して説明する。
【００７０】
カード２０１には、非対称な形状を有する基準スリット２０２と、５つの値スリット２０３とが設けられている。本実施形態のカードでは、基準スリット２０２はＬ字型の形状をしており、基準スリット２０２の長辺に平行に値スリット２０３が設けられている。
【００７１】
基準スリット２０２の長辺と短辺は長さが異なる。たとえば、本図（ａ）に表示されるカードの面が「表」であるとしたとき、基準スリット２０２の長辺の端点から短辺の端点へ進むと、なぞった軌跡は「左折」することになる。基準スリット２０２の短辺の端点から長辺の端点へ進むと、なぞった軌跡は「右折」することになる。このカードを裏返した場合、基準スリット２０２の長辺の端点から短辺の端点へ進むと、なぞった軌跡は「右折」することになる。基準スリット２０２の短辺の端点から長辺の端点へ進むと、なぞった軌跡は「左折」することになる。したがって、基準スリット２０２の軌跡の長辺と短辺の位置関係を調べれば、カード２０１の裏表が判明する。
【００７２】
また、基準スリット２０２のカード２０１全体に対する相対的な位置や向きはあらかじめ決められているから、基準スリット２０２の長辺と短辺の位置や向きから、カード２０１全体の位置や向きを同定することができる。
【００７３】
値スリット２０３のそれぞれは、基準スリット２０２の長辺と同じ長さで等間隔に配置された最長スリット領域２０４（本図では太点線で示す）に含まれるように配置されている。
【００７４】
本例では、最長スリット領域２０４の長さは、ある単位長（図中細点線の桝目の辺の長さ）の４倍となっている。そして、値スリット２０３の長さは、当該単位長の１倍〜４倍のいずれかの長さをとる。
【００７５】
また、本実施形態では、基準スリット２０２および各値スリット２０３の間隔、ならびに基準スリット２０２の短辺の長さも当該単位長となっている。
【００７６】
本図（ａ）に示す例において、カード２０１の基準スリット２０２に近い方から遠い方へ、順に値スリット２０３を見ると、その長さは順に単位長単位で、３、２、１、２、２となっており、カード２０１の上端からの開始位置は順に単位長単位で、１、１、３、０、１となっている。
【００７７】
なお、基準スリット２０２の形状、当該単位長の長さ、値スリット２０３の数や長さ、最長スリット領域２０４の長さ、これらの間隔などは、用途に応じて適宜変更が可能である。
【００７８】
さて、上述のように、スリットを設けたカードは、単独で用いる場合もあるし、複数枚を重ねてスリット同士の共通部分をなぞるようにして用いる場合もある。本図には、その両者の例を示している。
【００７９】
すなわち、本図（ａ）は、カード２０１を単独で用いる態様を示すもので、値スリット２０３のそれぞれは、当該単位長の１倍〜４倍のいずれかの値を任意にとることが可能である。
【００８０】
一方、本図（ｂ）は、カード２０１を最大５枚（これは値スリットの数に等しい。）まで重ねて利用するもので、５つの値スリット２０３のうち１つだけが単位長の１倍〜３倍のいずれかの長さをとり、残りの３つの値スリット２０３は単位長の４倍（最長スリット領域２０４と同じ長さ。）となっている。前者の１つの値スリット２０３を主値スリット、後者の３つの値スリット２０３を副値スリットと呼ぶ。
【００８１】
基準スリット２０２から見て、主値スリットが何番目の値スリット２０３に該当するか、によって、当該カード２０１の種類の大分類を識別することができる。また、主値スリットの位置および長さによって、当該大分類における当該カード２０１の詳細な種類を識別することができる。
【００８２】
たとえば、カード２０１の種類を
（１）キャラクター本体のカード
（２）帽子のカード
（３）上半身のカード
（４）下半身のカード
（５）靴のカード
の５種類に大分類する場合を考える。
【００８３】
上記のように、主値スリットが何番目の値スリット２０３に相当するか、によって、カード２０１の種類の大分類を識別することができるのであるから、本実施形態では、以下のような対応関係を設定する。
（１）主値スリットが１番目の値スリット２０３ならば、そのカードはキャラクター本体のカード
（２）主値スリットが２番目の値スリット２０３ならば、そのカードは帽子のカード
（３）主値スリットが３番目の値スリット２０３ならば、そのカードは上半身のカード
（４）主値スリットが４番目の値スリット２０３ならば、そのカードは下半身のカード
（５）主値スリットが５番目の値スリット２０３ならば、そのカードは靴のカード
【００８４】
たとえば、本図（ｂ）に示すカード２０１は、２番目の値スリット２０３が主値スリットとなっているから、当該カード２０１は帽子のカードであることがわかる。
【００８５】
そして、当該値スリット２０３の主値スリットの位置（基準スリット２０２から見て何番目か、および、最長スリット領域２０４のどの位置に配置されるか）によって、帽子の種類が示される。
【００８６】
図３は、最長スリット領域とこれに含まれる値スリットとの関係を示す説明図である。以下、本図を参照して説明する。
【００８７】
本図においては、理解を容易にするため、最長スリット領域２０４を点線で、値スリット２０３を実線で表記するとともに、値スリット２０３の最長スリット領域２０４における位置および長さに対応付けられる番号（１〜１０）を斜体で示している。
【００８８】
本実施形態では、最長スリット領域２０４は単位長の４倍の長さを有し、値スリット２０３は、単位長の１倍〜４倍の長さを有する。１つの最長スリット領域２０４に対して値スリット２０３は連続した１つのスリットとなっており、途中でスリットが複数の領域に区切られることはない。
【００８９】
したがって、値スリット２０３の種類は、本図に示すように、
（１）単位長の４倍のもの  …  １種類
（２）単位長の３倍のもの  …  ２種類
（３）単位長の２倍のもの  …  ３種類
（４）単位長の１倍のもの  …  ４種類
合計、１０種類となる。一般に、単位長のm倍の長さを有する最長スリット領域２０４に対しては、値スリット２０３で表現できる値の種類は、m(m+1)/2 種類である。
【００９０】
図２（ａ）に示す例では、値スリット２０３は５つあるから、カード２０１の種類は合計で105 = 10000種類まで表現できる。カード２０１の種類がもっと少なくて良い場合には、このようにして得られる数値の一部をチェックサムのように用いて、値スリット２０３による入力が正しく行われているかチェックすることも可能である。
【００９１】
図２（ｂ）に示す例では、単位長４倍の値スリット２０３は副値スリットとして利用されるので、主値スリット２０３として利用できるのは９種類であり、着せ替えカードの帽子の種類も９種類、ということになる。したがって、５枚のカードを重ねる着せ替えの全組み合わせの種類は、95 = 59049通りである。
【００９２】
なお、最長スリット領域２０４の単位長のそれぞれを１ビットに対応させて、値スリット２０３として分断されたものも可能とする態様を採用することもできる。この態様では、分断されたスリットの入力忘れが生じやすい、スリットとスリットの間が切れやすい、という欠点もあるが、値の種類として2m通り（スリットがなくなってしまうものを除くと2m-1通り。）を表現できるという利点がある。したがって、用途に応じて適宜使い分けが可能である。
【００９３】
図４は、本実施形態に係るカード識別装置の概要構成を示す説明図である。以下、本図を参照して説明する。
【００９４】
本実施形態に係るカード識別装置４０１は、タッチパネル部４０２、画像表示部４０３、基準スリット判定部４０４、スリット領域表示制御部４０５、値スリット同定部４０６、カード識別部４０７、消去部４０８、入力済スリット表示制御部４０９、警告出力部４１０、記憶部４１１を備え、上記情報処理装置１０１にて、ＲＯＭカセット１１１から読み込んだプログラムをＣＰＵ  １０２に実行させることによって、実現される。
【００９５】
入力された座標列認識結果や途中の状況など、各種のデータは、一般的なコンピュータにおける処理と同様、ＲＡＭ  １０３等により構成される記憶部４１１に一時的に記憶される。
【００９６】
図５は、当該カード識別装置にて実行されるカード識別方法の処理の流れを示すフローチャートである。以下、本図を参照して説明する。
【００９７】
まず、ＣＰＵ  １０２は、ＲＡＭ  １０３に用意された入力済値配列Mを初期化する（ステップＳ５０１）。本実施形態では、値スリット２０３の数は５つであるから、当該配列Mは、５要素の配列（各要素は、M[0]〜M[4]）となる。
【００９８】
本実施形態では、図３に示すように、各値スリット２０３の位置および長さに対して１〜１０の番号を割り当てている。そこで、この番号を、当該値スリット２０３をなぞった際の位置および長さを示す数値として採用することとし、未入力の場合には０によってこれを表すこととする。
【００９９】
したがって、本ステップにおいては、ＲＡＭ  １０３もしくはＣＰＵ  １０２が有するレジスタに割り当てられたカウンタ変数iを0から4まで変化させて、M[i]←0を実行する。ここで、「←」は代入を意味する。
【０１００】
ついで、ＣＰＵ  １０２は、入力装置１０５のタッチパネルの押圧操作の状況を、メモリ空間にマップされたレジスタにアクセスして監視し、タッチペンがタッチパネルに触れてから触れたまま移動してタッチパネルを離れるまでの軌跡情報を取得する（ステップＳ５０２）。
【０１０１】
したがって、タッチパネルを有する入力装置１０５は、タッチパネル部４０２として機能する。なお、監視を行う間、タッチペンの移動の軌跡をリアルタイムで液晶ディスプレイ１０７に表示して反映させると、ユーザは確認がしやすくなる。
【０１０２】
ついで、ＣＰＵ  １０２は、入力された軌跡の座標列が、基準スリット２０２の形状のマッチするか否かを判定する（ステップＳ５０３）。
【０１０３】
したがって、ＣＰＵ  １０２は、入力装置１０５と共働して、基準スリット判定部４０４として機能する。
【０１０４】
このマッチについては、各種の文字認識、図形認識、パターン認識の技術を適用できるが、本実施形態で採用する態様については、後述する。
【０１０５】
さて、本実施形態では、基準スリット２０２の形状は、単位長の１倍の長さの短辺と単位長の４倍の長さの長辺を持つＬ字形である。したがって、ステップＳ５０３におけるマッチ処理によって、カード２０１の単位長が、入力装置１０５のタッチパネルで何ドット分に相当するか、を調べることができる。
【０１０６】
この情報は、情報処理装置１０１に何種類かバリエーションが存在し、液晶ディスプレイ１０７および入力装置１０５のタッチパネルのＤＰＩ（dots per inch）値が何種類かありうる場合に、利用することができる。また、当該ＤＰＩ値が一種類しかありえないようなハードウェアでは、ドット単位でのカード２０１の単位長をあらかじめ知得することができるから、その値を用いてマッチするか否かの判断を行っても良い。
【０１０７】
マッチしない場合（ステップＳ５０３；Ｎｏ）、ＣＰＵ  １０２は、画面に軌跡が表示される場合には当該軌跡を消去する等の処理を行って表示の初期状態に戻し（ステップＳ５０４）、音声処理部１０８に指示を出して警告音を出力させ（ステップＳ５０５）、ステップＳ５０２に戻る。したがって、ＣＰＵ  １０２は、音声処理部１０８などと共働して、警告出力部４１０として機能する。
【０１０８】
なお、警告出力部４１０では、警告メッセージを上方の液晶ディスプレイ１０７に表示するなどの手法を採用しても良い。
【０１０９】
一方、マッチする場合（ステップＳ５０３；Ｙｅｓ）、タッチパネルの座標系における基準スリット２０２の向きと位置が同定されるので、これに基づいて、最長スリット領域２０４の位置を計算する（ステップＳ５０６）。
【０１１０】
本実施例では、図２および図３を参照しながら説明したように、最長スリット領域２０４の長さは、いずれも単位長の４倍になっている。また、図２に示すように、基準スリット２０２の長辺の端点から基準スリット２０２の隅を見る（すなわち、図２上方から図２下方へ視線が進むように本図を見る）と、基準スリット２０２の短辺は左側に伸びているが、最長スリット領域２０４は、これとは反対側（右側）に配置されている。基準スリット２０２から直近の最長スリット領域２０４までの間隔、および、最長スリット領域２０４同士の間隔は、いずれも単位長に等しい。すなわち、最長スリット領域２０４は、等間隔に配置されることになる。
【０１１１】
したがって、基準スリット２０２の向きと位置が決まれば、最長スリット領域２０４のそれぞれの向きと位置も計算が可能できる。この計算手法の詳細についても、マッチの手法と同様に後述する。
【０１１２】
さらに、計算された最長スリット領域２０４の位置に基づいて、液晶ディスプレイ１０７に対して、当該最長スリット領域２０４に相当する部分に画像を表示する（ステップＳ５０７）。
【０１１３】
したがって、ＣＰＵ  １０２は、画像処理部１０６および液晶ディスプレイ１０７と共働して、スリット領域表示制御部４０５として機能する。
【０１１４】
図６は、基準スリット２０２の位置と向きが同定された後に、液晶ディスプレイ１０７に表示される最長スリット領域２０４の様子を示す説明図である。以下、本図を参照して説明する。
【０１１５】
本図（ａ）は、カード２０１が液晶ディスプレイ１０７上のタッチパネルに重ねて配置されている状況で、液晶ディスプレイ１０７に表示された画像がどのように見えるかを表すものであり、本図（ｂ）は、本図（ａ）の状況からカード２０１を外した様子を示すものである。
【０１１６】
基準スリット２０２の位置と向きが同定されると、液晶ディスプレイ１０７には、本図（ｂ）に示すように、最長スリット領域２０４を表す画像６０１と基準スリットを表す画像６１１が表示される。
【０１１７】
最長スリット領域２０４を表す画像６０１は、中心線６０２（本図では白色に描かれている。）と、許容領域６０３（本図では濃い灰色に描かれている。）とが、異なる色で表示される。
【０１１８】
中心線６０２の長さは、基準スリット２０２と同じ長さである。また、中心線６０２には、単位長ごとに太さを変更する装飾が施されており、ユーザは、この装飾を見ることで、値スリット２０３の単位長を確認することができる。
【０１１９】
一方、基準スリットを表す画像６１１は、Ｌ字形の縁取された図形である。本図では、縁が薄い灰色、中心が白色に描かれている。
【０１２０】
本図（ａ）に示すように、液晶ディスプレイ１０７上のタッチパネルにカード２０１を重ねた場合には、値スリット２０３を通して最長スリット領域２０４を表す画像６０１（本図（ａ）では、煩雑にならないように、符号「６０１」は表記を省略している。）の一部が見えている。このほか、基準スリット２０２を通して、基準スリットを表す画像６１１（本図（ａ）では、煩雑にならないように、符号「６１１」は表記を省略している。）の一部も見えている。
【０１２１】
本図に示すように、中心線６０２の太さを基準スリット２０２より幾分細くしておくと、基準スリット２０２からは、中心線６０２と許容領域６０３の両方が見えることになる。
【０１２２】
したがって、値スリット２０３から中心線６０２と許容領域６０３が見えており、中心線６０２が基準スリット２０３の中央に見えていれば、カード２０１の基準スリット２０２をなぞって以降、カード２０１の位置がずれていないことになる。したがって、ユーザは、値スリット２０３からのぞいて見える画像６０１を見ることで、カード２０１がずれていないかどうかを確認しながら入力を進めることができるようになる。
【０１２３】
ついで、ＣＰＵ  １０２は、入力装置１０５のタッチパネルの押圧操作の状況を、メモリ空間にマップされたレジスタにアクセスして監視し、タッチペンがタッチパネルに触れてから触れたまま移動してタッチパネルを離れるまでの軌跡情報を取得する（ステップＳ５０８）。本処理は、ステップＳ５０１におけるものと同様である。
【０１２４】
さらに、得られた軌跡情報が、いずれかの最長スリット領域２０４に含まれるか否かを判定する（ステップＳ５０９）。当該判定についても、基準スリット２０２とのマッチと同様の技術を適用することができ、その詳細については後述する。
【０１２５】
得られた軌跡情報がいずれかの最長スリット領域２０４に含まれる場合（ステップＳ５０９；Ｙｅｓ）、当該最長スリット領域２０４が何番目のものであるかを調べる（ステップＳ５１０）。結果がj番目であるとする。
【０１２６】
さらに、j番目の最長スリット領域２０４において、得られた軌跡情報の位置および長さが、図３に示す値スリット２０３の何番目のものであるかを調べる（ステップＳ５１１）。結果がk番目であるとする。
【０１２７】
そして、M[j]←kを実行し（ステップＳ５１２）、j番目の最長スリット領域２０４に対する値スリット２０３の位置および長さを表す番号がkであることをＲＡＭ  １０３に登録する。
【０１２８】
したがって、ＣＰＵ  １０２は、入力装置１０５等と共働して、値スリット同定部４０６として機能する。
【０１２９】
さらに、ＣＰＵ  １０２は、画像処理部１０６を制御して、j番目の最長スリット領域２０４に対して同定されたk番目の値スリット２０３の位置および長さに基づいて、当該同定された位置および長さを示す画像を液晶ディスプレイ１０７に表示する（ステップＳ５１３）。
【０１３０】
図７は、同定された値スリット２０３の位置および長さを示す画像が表示される様子を示す説明図である。図８は、値スリット２０３、最長スリット領域２０４、中心線６０２、許容領域６０３、入力済軌跡画像７０１の位置関係を示す説明図である。本図は、図７に示すものの一部を拡大したものである。以下、これら図を参照して説明する。
【０１３１】
これらの図では、図６（ａ）と同様に、カード２０１の値スリット２０３を通して、最長スリット領域２０４を表す画像６０１の中心線６０２と許容領域６０３が見えている。
【０１３２】
また、１番目と３番目の値スリット２０３については、すでにユーザがなぞり終えている。そこで、なぞり終えたことをわかりやすくするために、なぞった軌跡の端点に円を配置し、円同士を太線で連結した、鉄亜鈴のような形状の入力済軌跡画像７０１を表示している。
【０１３３】
タッチペンは、中心線６０２に沿って移動するから、入力済軌跡画像７０１は、最長スリット領域２０４を表す画像６０１の中心線６０２に重なるように表示されることになる。
【０１３４】
また、入力済軌跡画像７０１は、同定された位置および長さに基づいて表示されるため、当該入力済軌跡画像７０１の長さは、単位長の整数倍となる。
【０１３５】
図７（ｂ）に示す例では、この入力済軌跡画像７０１は、１番目の値スリット２０３とほとんど同じ長さとなっており、１番目の値スリット２０３を正しくなぞったことが確認できる。
【０１３６】
また、４番目の値スリット２０３についてもユーザはなぞり終えているが、入力済軌跡画像７０１は、４番目の値スリット２０３よりも短く表示されている。これは、ユーザのなぞり方が不十分で、値スリット２０３の途中でタッチペンをタッチパネルから離してしまったことによるものである。
【０１３７】
このように、ユーザは、入力済軌跡画像７０１が表示されている様子を見ることによって、値スリット２０３をなぞる入力処理が正しく処理されたことを確認することができる。
【０１３８】
また、どの値スリット２０３についてなぞる処理を行い、どの値スリット２０３についてはなぞる処理を行っていないか、を入力済軌跡画像７０１が表示されているか否かによって容易に確認できるようになる。
【０１３９】
したがって、ＣＰＵ  １０２は、画像処理部１０６および液晶ディスプレイ１０７と共働して、入力済スリット表示制御部４０９として機能する。
【０１４０】
そして、５つの最長スリット領域２０４に対する値スリット２０３の位置および長さの同定がすべて終了したかを判定する（ステップＳ５１４）。本実施形態では、i = 0，1，…，4のすべてについてM[i]≠0であれば、位置および長さの同定がすべて終了していることになる。
【０１４１】
ここで、いずれかが終了していなければ（ステップＳ５１４；Ｎｏ）、ステップＳ５０６に戻る。
【０１４２】
一方、すべての同定が終了していれば（ステップＳ５１４；Ｙｅｓ）、ＣＰＵ  １０２は、m[0]，m[1]，…，m[4]の値から、カード２０１の種類を識別して出力し（ステップＳ５１５）、本処理を終了する。したがって、ＣＰＵ  １０２は、カード識別部４０７として機能する。
【０１４３】
識別の手法については、たとえば図２（ａ）に示すように、カード２０１を単独で利用する場合には、m[0]，m[1]，…，m[4]のそれぞれから１を減算した値を十進数５桁の数値と見て、カード２０１の種類を表す番号を取得すれば良い。
【０１４４】
また、図２（ｂ）に示すような５枚まで重ねて使用するタイプのカードの場合には、
（１）m[0]によりキャラクター本体のカードの種類を、
（２）m[1]により帽子のカードの種類を、
（３）m[2]により上半身のカードの種類を、
（４）m[3]により下半身のカードの種類を、
（５）m[4]により靴のカードの種類を、
それぞれ識別することができる。なお、M[i]=10である場合、当該i番目の大分類のカードは重ねられていなかったことになる。
【０１４５】
一方、ステップＳ５０８において得られた軌跡情報が、いずれの最長スリット領域２０４にも含まれない場合（ステップＳ５０９；Ｎｏ）、当該軌跡情報が、基準スリット２０２の形状のマッチするか否かを判定する（ステップＳ５１６）。当該マッチの判断には、ステップＳ５０３におけるものと同様の処理を行うことができる。
【０１４６】
マッチする場合（ステップＳ５１６；Ｙｅｓ）、i = 0，1，…，4のそれぞれについてM[i]←0を実行して配列Mをクリアし、過去に同定された値スリット２０３の位置および長さの情報を消去して（ステップＳ５１７）、ステップＳ５０６に戻る。したがって、ＣＰＵ  １０２は、ＲＡＭ  １０３と共働して、消去部４０８として機能する。
【０１４７】
このように、ユーザは、基準スリット２０２をもう一度なぞるだけで、値スリット２０３の入力のやり直しを行うことが簡単にできる。
【０１４８】
一方、マッチしない場合（ステップＳ５１６；Ｎｏ）、警告出力部４１０が警告音出力や警告メッセージ表示などを行って当該入力は無効である旨をユーザに通知し（ステップＳ５１８）、ステップＳ５０６に戻る。
【０１４９】
このように、本実施形態によれば、カード２０１を入力装置１０５のタッチパネルに重ねて基準スリット２０２および値スリット２０３をタッチペンでなぞる際に、値スリット２０３をなぞる入力がどこまで進んだか、正しく処理されているかを容易に確認することができ、また、基準スリット２０２をなぞるだけで、入力のやり直しを指示することができるようになり、ユーザは、基準スリット２０２および値スリット２０３をなぞるだけで、容易にカード２０１の種類をカード識別装置４０１に識別させることができるようになる。
【０１５０】
（各種のマッチ・判定の手法）
以下では、タッチペンをタッチパネルに触れさせてから移動させてタッチパネルを離すまでの軌跡情報が、n個の座標の列
(x0,y0)，(x1,y1)，(x2,y2)，…，(xn-1,yn-1)
として得られたものとする。
【０１５１】
一般にスリット状のものをペンでなぞる場合、人によって、一方の端から他方の端までペンでなぞるだけの人、２つの端の間でペンを何回か往復させる人、ペンの置き始めがスリットの途中の人、スリットの端の人など、種々の入力のやり方がありうる。
【０１５２】
したがって、本カード識別装置４０１においても、これらの種々の入力のやり方に対応する必要がある。以下では、各種のマッチ・判定の方法について、詳細に述べる。
【０１５３】
まず、最も単純な場合として、線分状の値スリット２０３の入力を認識する場合を考える。また、ここでは、値スリット２０３における最長スリット領域２０４の位置および形状が、既に判明しているものとする。
【０１５４】
まず、座標列
(x0,y0)，(x1,y1)，(x2,y2)，…，(xn-1,yn-1)
は、最長スリット領域２０４が判明していれば、これに含まれるはずである。したがって、所定の許容誤差範囲内で最長スリット領域２０４に含まれない座標が存在する場合には、その座標を座標列から除去して無視する。
【０１５５】
なお、許容誤差範囲内に含まれない座標の個数や割合が所定の閾値を超える場合には、マッチは失敗したものとしても良い。また、後述するように、基準スリット２０２の認識の際には、最長スリット領域２０４は未定であるので、このような除去処理などは行わない。
【０１５６】
以下では、すべての座標が最長スリット領域２０４に含まれているものとして説明する。
【０１５７】
この場合、座標列
(x0,y0)，(x1,y1)，(x2,y2)，…，(xn-1,yn-1)
は、入力誤差がなければ、ある直線y = ax + b上に並ぶはずである。この直線のパラメータa，bを求めるには、いわゆる最小自乗法を用いることができる。
【０１５８】
すなわち、
a = 〔Σi=0n-1 xiyi - nxiyi〕/〔Σi=0n-1 xi2 - nxi2〕；
b = Ei[yi] - aEi[xi]；
Ei[xi] = Σi=0n-1 xi/n；
Ei[yi] = Σi=0n-1 yi/n
のような計算によって、a，bを求める。
【０１５９】
次に、この直線の一部をなす線分の端点を求めるには、
x0，…，xn-1
の中から、最大値xmaxと最小値xminを抽出する。
xmax = maxi[xi]；
xmax = mini[xi]
【０１６０】
すると、端点の座標は、
(xmin，axmin+b)，(xmax，axmax+b)
となる。
【０１６１】
一方で、最長スリット領域２０４の位置および形状はすでに判明している。たとえば、最長スリット領域２０４の端点の座標が、それぞれ、
(Pmin，Qmin)，(Pmax，Qmax)
である場合を考える。
【０１６２】
上記実施形態では、最長スリット領域２０４の長さは単位長の４倍であるから、正しい入力がされていれば、入力された端点の座標
(xmin，axmin+b)，(xmax，axmax+b)
は、k = 0，…，4のそれぞれについて、
((kPmin + (4-k)Pmax)/4，(kQmin + (4-k)Qmax)/4)
により求められる５つの座標を持つ点の、いずれかの近傍に配置されているはずである。
【０１６３】
したがって、これらの点同士の距離を求めて、これが所定の誤差範囲内に存在するかどうかを調べ、存在するようであれば、マッチが成功したものとする。
【０１６４】
そして、得られるマッチ結果の位置は、
((kPmin + (4-k)Pmax)/4，(kQmin + (4-k)Qmax)/4)
により求められる５つの座標を持つ点のうち、上記
(xmin，axmin+b)，(xmax，axmax+b)
にマッチする２つの点の位置、ということになる。また、その長さ当該マッチした２つの点の位置から求めることができる。
【０１６５】
最小自乗法を用いる手法は、線分形状とのマッチングをとる際には単純かつ容易な手法である。
【０１６６】
なお、最小自乗法による場合、その改良として、得られたa，bのパラメータに基づいて、各座標の誤差を求め、この誤差が所定の許容範囲を超えている座標については無視して計算をやり直したり、この誤差が所定の許容範囲を超えている座標の個数や割合が所定の閾値を超えている場合はマッチを失敗させる、等の手法を適用することもできる。
【０１６７】
また、上記の計算においては、x座標を基準に考えているが、x座標とy座標の役割を入れかえて計算を行っても良い。典型的には、座標の分布が横長であれば、上記のようにx軸基準で、座標の分布が縦長であれば、y軸基準で行うように、基準を切り替える処理を行うと、傾きaが無限大になってしまう現象（０除算）が生じなくなる。
【０１６８】
上記のように、線分形状の値スリット２０３の認識は、比較的容易である。一方、上記実施形態の基準スリット２０２の認識においては、基準スリット２０２の形状がＬ字形である。
【０１６９】
そこで、上記のような単純な最小自乗法ではなく、２次元空間でＬ字形の基準図形の向きおよび位置を変化させて、その基準図形と入力各点との自乗距離を最小にするように配置を行うことによって、上記の手法と同様にマッチングを行うこともできる。このほか、本実施形態においては、以下のような比較的単純な手法を採用することもできる。
【０１７０】
まず、座標列
(x0,y0)，(x1,y1)，(x2,y2)，…，(xn-1,yn-1)
は、入力誤差がなければ、Ｌ字形の２つの線分のいずれかの上に乗っているはずである。そこで、座標列に含まれる隣り合う３つの点の座標
(xi,yi)，(xi+1,yi+1)，(xi+2,yi+2)
について、
線分(xi,yi)-(xi+2,yi+2)と、
点(xi+1,yi+1)と、
の距離が、許容誤差ε以下であるか否かを判定し、許容誤差ε以下である場合には、座標列から、真中の点の座標
(xi+1,yi+1)
を削除する。これを、削除する点の座標がなくなるまで繰り返す。
【０１７１】
このようにすれば、Ｌ字形を構成する線分の端点と描き始め、描き終わりの点だけが残るはずである。
【０１７２】
なお、このような座標の除去処理は、上記の値スリット２０３のマッチングでも採用することができる。除去処理を行うことによって、最小自乗法で考慮しなければならない点の数の大幅な抑制が期待できる。
【０１７３】
残った座標列を、
(X0,Y0)，(X1,Y1)，(X2,Y2)，…，(Xm-1,Ym-1)   (m≦n)
とすると、これに含まれる線分は、
(X0,Y0)-(X1,Y1)，
(X1,Y1)-(X2,Y2)，
(X2,Y2)-(X3,Y3)，…，
(Xm-2,Ym-2)-(Xm-1,Ym-1)
である。
【０１７４】
そこで、これらの線分の傾きが１未満か１以上か（一般的には、x軸となす角が、所定の閾角度θを用いて、(θ-45°)〜(θ+45°)か、そうでないか。）によって、２つのグループに分類する。
【０１７５】
図９は、残った座標列が２つのグループに分類される様子を示す説明図である。
【０１７６】
本図に示すように、座標列の点８０１を結ぶ線分８０２は、傾きが所定の範囲かどうか、すなわち、本図において、傾きがｘ軸８０３に近いか、それともｙ軸８０４に近いか、によってグループ化される。また、本図では、傾きがｘ軸８０３に近い側の線分８０２は点線で、ｙ軸８０４に近い側の線分８０２は実線で、描いている。
【０１７７】
上記のように、Ｌ字形では、短辺と長辺が直交するから、この２つのグループは、一方が短辺に、他方が長辺に相当するはずである。そこで、それぞれのグループについて、上記の値スリット２０３の場合と同様に、最小自乗法による端点の同定を行う。
【０１７８】
なお、ここに至るまでに、点列の座標の数が大幅に減らされているから、最小自乗法による計算量も抑制される。
【０１７９】
図１０は、２つのグループのそれぞれから得られた２つの端点対の同定結果を示す説明図である。以下、本図を参照して説明する。
【０１８０】
本図に示すように、一方の線分８０２のグループからは、２つの端点A，Bが得られており、他方の線分８０２のグループからは、他の２つの端点C，Dの対が得られている。
【０１８１】
多くの場合には、A，Bのいずれかと、C，Dのいずれかとは一致するが、最小自乗法の誤差、Ｌ字形の角における入力誤差や癖、Ｌ字型の長辺および短辺の傾きなどの特性から、４つの点A，B，C，Dがいずれも一致しない場合もありうる。以下では、より一般的に、４つの点A，B，C，Dがいずれも一致しない場合を例にあげて考える。
【０１８２】
まず、線分ABと線分CDは、Ｌ字形の短辺と長辺に対応するはずである。したがって、線分ABの長さと線分CDの長さとの比を求め、この比が本実施形態のＬ字形の形状である長短の比である１：４に対して、所定の許容誤差範囲内に含まれているか否かを調べる。許容誤差範囲内に含まれていなければ、マッチしない、と判断する。
【０１８３】
次に、直線ABと直線CDとがなす角θが、直角に対して所定の許容誤差範囲内に含まれているか否かを調べる。許容誤差範囲内に含まれていなければ、マッチしない、と判断する。
【０１８４】
さらに、
距離AC
距離AD
距離BC
距離BD
のうち最小のものが、所定の許容誤差範囲より大きいか否かを調べる。距離が最小となる点の組合せが、Ｌ字形の角の近傍に配置される点のはずだからである。本図においては、距離BCが最小距離となっている。
【０１８５】
なお、上記のように、A，Bのいずれかと、C，Dのいずれかが一致するときは、ここでいう最小距離は０になる。
【０１８６】
そして、この最小距離が、許容誤差範囲より大きければ、マッチしない、と判断する。
【０１８７】
ここまでの条件がクリアされれば、上記の最小距離をなす点のいずれか（もしくは、両者の重心としても良い。）がＬ字形の角の点の位置に相当し、残りの２点の位置がＬ字形の長辺と短辺の端点の位置に相当することになる。また、短辺と長辺の位置関係によって、カードの表裏を同定することもできる。
【０１８８】
この後の判断についてであるが、第１の手法では、上記の条件をすべてクリアした場合に、マッチを成功させる。すると、線分ABの長さと、線分CDの長さと、のうち、短い方が、「単位長」となる。
【０１８９】
たとえば、情報処理装置１０１における入力装置１０５のタッチパネルの解像度（ＤＰＩ値）が機種によって異なる場合には、同じ基準スリット２０２をなぞった場合であっても、座標列から得られる「単位長」は異なるものとなる。したがって、基準スリット２０２のマッチングによって、当該情報処理装置１０１における「単位長」を決めることができる。
【０１９０】
第２の手法では、情報処理装置１０１における入力装置１０５のタッチパネルの解像度（ＤＰＩ値）が固定の場合に利用できるものである。この場合は、「単位長」も一定となる。
【０１９１】
そこで、さらなるマッチング条件として、線分ABの長さと、線分CDの長さと、のうち、短い方が、「単位長」に対して、所定の許容誤差範囲内にあるか否かを判定し、許容誤差範囲内にあればマッチする、と判断し、なければマッチしない、と判断する手法である。
【０１９２】
このようにして、Ｌ字形の基準スリット２０２をなぞった場合の認識、線分型の値スリット２０３をなぞった場合の認識ができるようになるが、上記の手法のほか、各種の図形認識の手段を採用しても良い。
【実施例２】
【０１９３】
上記の実施形態では、基準スリット２０２をなぞることによって同定された位置に基づいて、各最長スリット領域２０４のそれぞれの位置を同定し、これらを表す画像６０１として、複数の中心線６０２と許容領域６０３とを表示していた。
【０１９４】
しかしながら、なぞるべき値スリット２０３に入力順序が定められている場合もある。たとえば、基準スリット２０２に近い方から順になぞる、などの手法である。このような手法では、入力忘れが防止しやすいなどの利点がある。
【０１９５】
このように、値スリット２０３に入力順序が定められている場合には、その順序をユーザに提示することが望ましい。そこで、本実施形態では、当該順序をユーザに提示する手法を提供する。
【０１９６】
図１１は、本実施形態における表示手法の一例を示す説明図である。以下、本図を参照して説明する。
【０１９７】
本図（ａ）は、基準スリット２０２をなぞった直後の表示の様子を示すものであり、本図（ｂ）以降は、それ以降、当該所定の順序で値スリット２０３をなぞっていった場合の表示の様子を順に示すものである。
【０１９８】
本図に示すように、次になぞるべき最長スリット領域２０４の画像６０１では、中心線６０２を強調表示し、それ以外の最長スリット領域２０４の画像６０１では、中心線６０２を普通表示することとしている。
【０１９９】
本図では、強調表示の際には中心線６０２を目立つように実線で描画し、普通表示の際には中心線６０２を目立つように点線で描画している。
【０２００】
なお、強調表示の手法としては、たとえば、最長スリット領域２０４の明度を変化させたり、点滅させたり、色を変更したりなど、種々の手法を採用することができる。
【０２０１】
本実施形態では、入力が進むにつれ、入力済軌跡画像７０１が、基準スリット２０２の方から順に増えているが、これは、入力すべき順序に応じたものである。
【０２０２】
本実施形態によれば、強調表示により次になぞるべき値スリット２０３をユーザに提示することで、正しい順序での入力をユーザに促すことができるようになる。
【産業上の利用可能性】
【０２０３】
以上説明したように、本発明によれば、タッチパネルに載せられたカードに設けられたスリットをタッチペン等の指示体でなぞってカードの種類を識別する際に、カードの位置決めが容易なカード識別装置、カード識別方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【０２０４】
【図１】プログラムを実行することにより、本発明のカード識別装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図２】本発明のカード識別装置にて利用されるカードの形状の例を示す説明図である。
【図３】最長スリット領域とこれに含まれる値スリットとの関係を示す説明図である。
【図４】本実施形態に係るカード識別装置の概要構成を示す説明図である。
【図５】カード識別装置にて実行されるカード識別方法の処理の流れを示すフローチャートである。
【図６】基準スリットの位置と向きが同定された後に、液晶ディスプレイに表示される最長スリット領域の様子を示す説明図である。
【図７】同定された値スリットの位置および長さを示す画像が表示される様子を示す説明図である。
【図８】値スリット、最長スリット領域、中心線、許容領域、入力済軌跡画像の位置関係を示す説明図である。
【図９】残った座標列が２つのグループに分類される様子を示す
【図１０】２つのグループのそれぞれから得られた２つの端点対の同定結果を示す説明図である。
【図１１】本実施形態における表示手法の一例を示す説明図である。
【符号の説明】
【０２０５】
１０１  情報処理装置
１０２  ＣＰＵ
１０３  ＲＡＭ
１０４  ＲＯＭ
１０５  入力装置
１０６  画像処理部
１０７  液晶ディスプレイ
１０８  音声処理部
１０９  スピーカ
１１０  カセットリーダ
１１１  ＲＯＭカセット
２０１  カード
２０２  基準スリット
２０３  値スリット
２０４  最長スリット領域
４０１  カード識別装置
４０２  タッチパネル部
４０３  画像表示部
４０４  基準スリット判定部
４０５  スリット領域表示制御部
４０６  値スリット同定部
４０７  カード識別部
４０８  消去部
４０９  入力済スリット表示制御部
４１０  警告出力部
６０１  最長スリット領域の画像
６０２  中心線
６０３  許容領域
６１１  基準スリットの画像
７０１  入力済軌跡画像
８０１  点
８０２  線分
８０３  ｘ軸
８０４  ｙ軸
【図１】
2008093233.tif 000003
【図２】
2008093233.tif 000004
【図３】
2008093233.tif 000005
【図４】
2008093233.tif 000006
【図５】
2008093233.tif 000007
【図６】
2008093233.tif 000008
【図７】
2008093233.tif 000009
【図８】
2008093233.tif 000010
【図９】
2008093233.tif 000011
【図１０】
2008093233.tif 000012
【図１１】
2008093233.tif 000013