(57)【特許請求の範囲】
【請求項１】
タッチパネルを有するコンピュータ装置のプロセサを、
問題を出力する問題出力手段、
前記問題出力手段によって出力された問題に関連する手書き文字入力操作を前記タッチパネルを通してストローク単位で受け付ける受付手段、
前記受付手段による受け付けの度に認識処理を行う認識手段、
前記認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段、
前記正解判別手段の判別結果が否定的であるとき、前記受付手段は、さらなるストロークの入力を受け付け、前記正解判別手段の判別結果が肯定的であるとき、前記受付手段によるさらなるストロークの入力の受け付けをやめて、正解を通知する正解通知手段として機能させるための、手書き学習支援プログラム。
【請求項２】
前記コンピュータ装置は、文字毎のストローク数を記憶した記憶手段をさらに有し、
前記プロセサを、正解判別手段の判別結果が否定的であるとき前記受付手段によって受け付けられた手書き文字入力操作のストローク数が正解文字のストローク数以上か未満かを判別するストローク数判別手段としてさらに機能させ、
前記受付手段は、受け付けた手書き文字入力操作のストローク数が前記正解文字のストローク数未満であると前記ストローク数判別手段により判別された場合に、さらなるストロークの入力を受け付け、
前記プロセサを、前記受付手段によって受け付けられた手書き文字入力操作のストローク数が前記正解文字のストローク数以上であると前記ストローク数判別手段により判別された場合に、不正解を通知する不正解通知手段としてさらに機能させる、請求項１記載の手書き学習支援プログラム。
【請求項３】
前記認識手段は、複数ストロークが入力されたとき複数種類の認識データを準備し、生成された複数種類の認識データの各々に対して文字認識を行い、これにより得られる複数種類の認識結果のうち認識得点の最も高いものを採用する、請求項１記載の手書き学習支援プログラム。
【請求項４】
タッチパネル、
問題を出力する問題出力手段、
前記問題出力手段によって出力された問題に関連する手書き文字入力操作を前記タッチパネルを通してストローク単位で受け付ける受付手段、
前記受付手段による受け付けの度に認識処理を行う認識手段、
前記認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段、
前記正解判別手段の判別結果が否定的であるとき、前記受付手段は、さらなるストロークの入力を受け付け、前記正解判別手段の判別結果が肯定的であるとき、前記受付手段によるさらなるストロークの入力の受け付けをやめて、正解を通知する正解通知手段を備える、手書き学習支援装置。
【請求項５】
タッチパネルを有するコンピュータ装置によって実行される手書き学習支援方法であって、
問題を出力する問題出力ステップ、
前記問題出力ステップによって出力された問題に関連する手書き文字入力操作を前記タッチパネルを通してストローク単位で受け付ける受付ステップ、
前記受付ステップによる受け付けの度に認識処理を行う認識ステップ、
前記認識ステップによって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別ステップ、
前記正解判別ステップの判別結果が否定的であるとき、前記受付ステップは、さらなるストロークの入力を受け付け、前記正解判別ステップの判別結果が肯定的であるとき、前記受付ステップによるさらなるストロークの入力の受け付けをやめて、正解を通知する正解通知ステップを含む、手書き学習支援方法。
【請求項６】
タッチパネル、
問題を出力する問題出力手段、
前記問題出力手段によって出力された問題に関連する手書き文字入力操作を前記タッチパネルを通してストローク単位で受け付ける受付手段、
前記受付手段による受け付けの度に認識処理を行う認識手段、
前記認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段、
前記正解判別手段の判別結果が否定的であるとき、前記受付手段は、さらなるストロークの入力を受け付け、前記正解判別手段の判別結果が肯定的であるとき、前記受付手段によるさらなるストロークの入力の受け付けをやめて、正解を通知する正解通知手段を備える、手書き学習支援システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、手書き学習支援プログラムおよび手書き文字認識プログラムに関し、特にたとえば、正解が予め判明している問題を表示し、表示問題に関連する手書き文字入力操作をタッチパネルを通して受け付け、受け付けられた入力操作に対応する手書き文字を認識し、認識された文字が正解か否かを判別し、そして判別結果を通知することによってユーザの学習を支援する、学習支援プログラムに関し、また、手書き文字入力操作をタッチパネルを通して受け付け、受け付けられた入力操作に対応する手書き文字を認識し、認識された文字が特定文字か否かを判別する、文字認識プログラムに関する。
【背景技術】
【０００２】
従来の学習支援装置としては、特許文献１に開示されたものが知られている。この従来技術では、問題表示から正誤通知に至る一連の処理は一定の周期で行われる。この周期を学習者の習熟度に応じて調整することで、学習効果を高めようとしている。
【０００３】
一方、従来の手書き文字認識装置としては、特許文献２に開示されたものが知られている。この従来技術は、手書き数字入力操作をストローク単位で受け付け、受け付けの度に数字認識処理を行う。入力される数字は、最大で２桁であり、数字認識処理は、現時点までに受け付けられた全てのストロークに基づいて行われる。こうすることで、より自然な入力操作を実現し、また認識速度を向上させようとしている。
【特許文献１】特開２００４−３０９６２７号公報
【特許文献２】特許第３５６０３６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の従来技術は、入力が不正解である場合に、一定時間が経過するまで不正解を知ることができない。このため、待ち時間が長く、効果的な学習が行えなかった。
【０００５】
一方、特許文献２の従来技術は、２桁以下の数字を主な認識対象としており、特に英大文字，英小文字等も含む任意の文字列について、高い認識精度が得られるとは限らない。
【０００６】
それゆえに、この発明の第１の目的は、早いタイミングで不正解を知ることができる、手書き学習支援プログラムを提供することである。
【０００７】
この発明の第２の目的は、文字認識の精度を高めることができる、手書き文字認識プログラムを提供することである。
【課題を解決するための手段】
【０００８】
第１の発明に従う手書き学習支援プログラムは、タッチパネル（２０：実施例で相当する参照符号。以下同じ）と、文字毎のストローク数を記憶した記憶手段（１０４ａ）とを有するコンピュータ装置（１０）のプロセサ（４２）を、問題を出力する問題出力手段（Ｓ１）、問題出力手段によって出力された問題に関連する手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段（Ｓ７，Ｓ３１）、受付手段による受け付けの度に認識処理を行う認識手段（Ｓ１５，Ｓ４７，Ｓ５７）、認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段（Ｓ１７，Ｓ４９，Ｓ５９）、正解判別手段の判別結果が否定的であるとき受付手段によって受け付けられた手書き文字入力操作のストローク数が正解文字のストローク数以上か否かを判別するストローク数判別手段（Ｓ１９，Ｓ５３，Ｓ５５）、およびストローク数判別手段の判別結果が肯定的であるとき不正解を通知する不正解通知手段（Ｓ２１，Ｓ３７）として機能させる。
【０００９】
第１の発明では、問題は、問題出力手段によって出力される。出力された問題に関連する手書き文字入力操作は、受付手段によって、タッチパネルを通してストローク単位で受け付けられる。認識手段は、受付手段による受け付けの度に認識処理を行う。認識手段によって行われた認識処理の結果が正解文字と一致するか否かは、正解判別手段によって判別される。ストローク数判別手段は、正解判別手段の判別結果が否定的であるとき受付手段によって受け付けられた手書き文字入力操作のストローク数が、正解文字のストローク数以上か否かを判別する。不正解通知手段は、ストローク数判別手段の判別結果が肯定的であるとき、不正解を通知する。
【００１０】
第１の発明によれば、手書き文字入力操作をストローク単位で受け付け、受け付けの度に認識処理を行い、認識処理の結果が正解文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が正解文字のストローク数以上か否かを判別して、かかる判別結果が肯定的であるとき不正解を通知するので、早いタイミングで不正解を通知できる。
【００１１】
第２の発明に従う手書き学習支援プログラムは、第１の発明に従属し、正解文字は第１正解文字および当該第１正解文字に後続する第２正解文字を含む。正解判別手段は、認識手段によって行われた認識処理の結果が第１正解文字と一致するか否かを判別する第１正解判別手段（Ｓ１７）、および第１正解判別手段の判別結果が肯定的となった後に認識手段によって行われた認識処理の結果が第２正解文字と一致するか否かを判別する第２正解判別手段（Ｓ４９）を含む。第１正解判別手段は、第２正解判別手段の判別結果が否定的であり、かつ受付手段によって受け付けられた手書き文字入力操作のストローク数が第１正解文字のストローク数未満であるとき、すでに第１正解文字と一致すると判別されたストロークの全てと当該第２正解判別手段によって判別されたストロークとを含めたストロークを認識手段によって認識させ、当該認識処理の結果が第１正解文字と一致するか否かを判別する第３正解判別手段（Ｓ５９）を含む。
【００１２】
第２の発明に従えば、正解文字に第１正解文字および当該第１正解文字に後続する第２正解文字が含まれる場合の判別処理では、まず認識処理の結果が第１正解文字と一致するか否かを判別し、続いてこの第１判別処理の結果が肯定的となった後に行われた認識処理の結果が第２正解文字と一致するか否かを判別する。そして、この第２判別処理の結果が否定的であり、かつ受け付けられた手書き文字入力操作のストローク数が第１正解文字のストローク数未満であれば、第１判別処理ですでに第１正解文字と一致すると判別されたストロークの全てと、第２判別処理の対象となったストロークとを含めたストロークを認識し、この認識処理の結果が第１正解文字と一致するか否かをさらに判別する（第３判別処理）。
【００１３】
このように、第１および第２判別処理を実行した後、受け付けられた手書き文字入力操作のストローク数が第１正解文字のストローク数未満であれば第３判別処理をさらに実行するので、第２判別処理の対象となったストロークが第１正解文字の一部であればそれがわかる。この結果、手書き入力文字が正解文字と一致するか否かの判別精度が高まり、ひいては不正解の通知タイミングが早まる。
【００１４】
第３の発明に従う手書き学習支援プログラムは、第２の発明に従属し、第２正解判別手段は、第３正解判別手段の判別が行われたとき、第１正解判別手段で第１正解文字と一致すると判別されたストロークの少なくとも一部と当該第１正解判別手段で第１正解文字と一致すると判別されたストロークの後に入力されたストロークとを含めたストロークを認識手段によって認識させ、当該認識処理の結果が第２正解文字と一致するか否かを判別することを特徴とする。
【００１５】
第３の発明では、第３判別処理が実行されたとき、第１正解文字と一致すると判別されたストロークの少なくとも一部と、第１正解文字と一致すると判別されたストロークの後に入力されたストロークとを含むストロークを認識手段によって認識させ、当該認識処理の結果が第２正解文字と一致するか否かをさらに判別する（第４判別処理）。
【００１６】
このように、第３判別処理と共に第４判別処理をさらに行うので、第１正解文字の一部とされたストロークが第２正解文字の一部であればそれがわかる。この結果、手書き入力文字が正解文字と一致するか否かの判別精度が一層高まり、ひいては不正解の通知タイミングがさらに早まる。
【００１７】
第４の発明に従う手書き学習支援プログラムは、第２または第３の発明に従属し、ストローク数判別手段は、第２正解判別手段の判別結果が否定的であるとき受付手段によって受け付けられた手書き文字入力操作のストローク数が第１特定文字および第２特定文字の合計ストローク数以上か否かを判別する合計ストローク数判別手段（Ｓ５３）を含み、不正解通知手段は合計ストローク数判別手段の判別結果が肯定的であるとき通知処理を実行する。
【００１８】
第４の発明では、認識処理の結果が第２特定文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が第１特定文字および第２特定文字の合計ストローク数以上か否かを判別して、かかる判別結果が肯定的であるとき不一致を通知するので、より早いタイミングで不一致を通知できる。
【００１９】
第５の発明に従う手書き学習支援プログラムは、第２ないし第４のいずれかの発明に従属し、第１正解判別手段の判別結果が肯定的であり、かつ第２正解判別手段の判別結果が肯定的であった後に、次の手書き文字入力操作が行われた場合、第１正解判別手段は、第２正解文字を第１正解文字として、認識手段によって行われた認識処理の結果を判別し、第２正解判別手段は、新たな正解文字を第２正解文字として、認識手段によって行われた認識処理の結果を判別する。
【００２０】
第５の発明によれば、任意の文字列を２文字単位で１文字ずつシフトしつつ認識することができる。
【００２１】
第６の発明に従う手書き学習支援プログラムは、第１ないし第５のいずれかの発明に従属し、プロセサを、受付手段によって最後に受付処理が実行されてからの経過時間が所定時間を超えたか否かを判別する経過時間判別手段（Ｓ９，Ｓ３３）としてさらに機能させる。不正解通知手段は、経過時間判別手段の判別結果が肯定的であるときさらに通知処理を実行する。
【００２２】
第６の発明では、受付手段によって最後に受付処理が実行されてからの経過時間が所定時間を超えたか否かは、経過時間判別手段によって判別される。通知処理は、経過時間判別手段の判別結果が肯定的であるときにも実行される。
【００２３】
第６の発明によれば、不慣れな学習者は、一文字ずつ正誤を確認しながら入力できる。
【００２４】
第７の発明に従う手書き文字認識プログラムは、タッチパネル（２０）を有するコンピュータ装置（１０）のプロセサ（４２）を、手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段（Ｓ７，Ｓ３１）、受付手段による受け付けの度に認識処理を行う認識手段（Ｓ１５，Ｓ４７，Ｓ５７）、および認識手段によって行われた認識処理の結果が特定文字と一致するか否かを判別する一致判別手段（Ｓ１７，Ｓ４９，Ｓ５９）として機能させる。特定文字は、第１特定文字および当該第１特定文字に後続する第２特定文字を含む。一致判別手段は、認識手段によって行われた認識処理の結果が第１特定文字と一致するか否かを判別する第１一致判別手段（Ｓ１７）、および第１一致判別手段の判別結果が肯定的となった後に認識手段によって行われた認識処理の結果が第２特定文字と一致するか否かを判別する第２一致判別手段（Ｓ４９）を含む。第１一致判別手段は、第２一致判別手段の判別結果が否定的であり、かつ前記受付手段によって受け付けられた手書き文字入力操作のストローク数が前記第１特定文字のストローク数未満であるとき、すでに前記第１特定文字と一致すると判別されたストロークの全てと当該第２一致判別手段によって判別されたストロークとを含めたストロークを前記認識手段によって認識させ、当該認識処理の結果が第１特定文字と一致するか否かを判別する第３一致判別手段（Ｓ５９）を含む。
【００２５】
第７の発明では、手書き文字入力操作は、受付手段によって、タッチパネルを通してストローク単位で受け付けられる。認識手段は、受付手段による受け付けの度に認識処理を行う。認識手段によって行われた認識処理の結果が特定文字と一致するか否かは、一致判別手段によって判別される。
【００２６】
特定文字には、第１特定文字および当該第１特定文字に後続する第２特定文字が含まれる。一致判別手段の判別処理では、認識手段によって行われた認識処理の結果が第１特定文字と一致するか否かが第１一致判別手段によって判別され、第１一致判別手段の判別結果が肯定的となった後に認識手段によって行われた認識処理の結果が第２特定文字と一致するか否かは、第２一致判別手段によって判別される。この第２一致判別手段の判別結果が否定的であり、かつ受け付けられた手書き文字入力操作のストローク数が第１特定文字のストローク数未満であれば、第１判別処理ですでに第１特定文字と一致すると判別されたストロークの全てと、第２判別処理の対象となったストロークとを含めたストロークを認識し、この認識処理の結果が第１特定文字と一致するか否かをさらに判別する（第３判別処理）。
【００２７】
このように、第１および第２判別処理を実行した後、受け付けられた手書き文字入力操作のストローク数が第１特定文字のストローク数未満であれば第３判別処理をさらに実行するので、第２判別処理の対象となったストロークが第１正解文字の一部であればそれがわかる。この結果、手書き入力文字が特定文字と一致するか否かの判別精度が高まる。
【００２８】
第８の発明に従う手書き文字認識プログラムは、第７の発明に従属し、第２一致判別手段は、第３一致判別手段の判別が行われたとき、第１一致判別手段で第１特定文字と一致すると判別されたストロークの少なくとも一部と当該第１一致判別手段で第１特定文字と一致すると判別されたストロークの後に入力されたストロークとを含めたストロークを認識手段によって認識させ、当該認識処理の結果が第２特定文字と一致するか否かを判別することを特徴とする。
【００２９】
第８の発明では、第３判別処理が実行されたとき、第１特定文字と一致すると判別されたストロークの少なくとも一部と、第１特定文字と一致すると判別されたストロークの後に入力されたストロークとを含むストロークを認識手段によって認識させ、当該認識処理の結果が第２特定文字と一致するか否かをさらに判別する（第４判別処理）。
【００３０】
このように、第３判別処理と共に第４判別処理をさらに行うので、第１特定文字の一部とされたストロークが第２特定文字の一部であればそれがわかり、この結果、手書き入力文字が特定文字と一致するか否かの判別精度が一層高まる。
【００３１】
第９の発明に従う手書き文字認識プログラムは、第８の発明に従属し、コンピュータ装置は文字毎のストローク数を記憶した記憶手段（１０４ａ）をさらに有する。このプログラムは、プロセサを、問題を出力する問題出力手段（Ｓ１）、問題出力手段によって出力される問題に関連して実行される第２一致判別手段の判別結果が否定的であるとき、受付手段によって受け付けられた手書き文字入力操作のストローク数が第１特定文字および第２特定文字の合計ストローク数以上か否かを判別するストローク数判別手段（Ｓ５３）、およびストローク数判別手段の判別結果が肯定的であるとき不一致を通知する不一致通知手段（Ｓ３７）としてさらに機能させる。
【００３２】
第９の発明では、問題は、問題出力手段によって出力される。こうして出力される問題に関連して実行される第２一致判別手段の判別結果が否定的であるとき、受付手段によって受け付けられた手書き文字入力操作のストローク数が第１特定文字および第２特定文字の合計ストローク数以上か否かが、ストローク数判別手段によって判別される。不一致通知手段は、ストローク数判別手段の判別結果が肯定的であるとき不一致を通知する。
【００３３】
第９の発明によれば、認識処理の結果が第２特定文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が第１特定文字および第２特定文字の合計ストローク数以上か否かを判別して、かかる判別結果が肯定的であるとき不一致を通知するので、より早いタイミングで不一致を通知できる。
【００３４】
第１０の発明に従う手書き文字認識プログラムは、第７ないし第９のいずれかの発明に従属し、プロセサを、受付手段によって最後に受付処理が実行されてからの経過時間が所定時間を超えたか否かを判別する経過時間判別手段（Ｓ９，Ｓ３３）、および前記経過時間判別手段の判別結果が肯定的であるとき不一致を通知する不一致通知手段としてさらに機能させる。
【００３５】
第１０の発明によれば、第６の発明と同様、不慣れな学習者は、一文字ずつ正誤を確認しながら入力できる。
【００３６】
第１１の発明に従う手書き学習支援装置は、タッチパネル（２０）、文字毎のストローク数を記憶した記憶手段（１０４ａ）、問題を出力する問題出力手段（２２ａ，２２ｂ，Ｓ１）、問題出力手段によって出力された問題に関連する手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段（Ｓ７，Ｓ３１）、受付手段による受け付けの度に認識処理を行う認識手段（Ｓ１５，Ｓ４７，Ｓ５７）、認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段（Ｓ１７，Ｓ４９，Ｓ５９）、正解判別手段の判別結果が否定的であるとき受付手段によって受け付けられた手書き文字入力操作のストローク数が正解文字のストローク数以上か否かを判別するストローク数判別手段（Ｓ１９，Ｓ５３，Ｓ５５）、およびストローク数判別手段の判別結果が肯定的であるとき不正解を通知する不正解通知手段（１２，Ｓ２１，Ｓ３７）を備える。
【００３７】
第１１の発明でも、第１の発明と同様に、早いタイミングで不一致を通知できる。
【００３８】
第１２の発明に従う手書き文字認識装置は、タッチパネル（２０）、手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段（Ｓ７，Ｓ３１）、受付手段による受け付けの度に認識処理を行う認識手段（Ｓ１５，Ｓ４７，Ｓ５７）、および認識手段によって行われた認識処理の結果が特定文字と一致するか否かを判別する一致判別手段（Ｓ１７，Ｓ４９，Ｓ５９）を備える。特定文字は、第１特定文字および当該第１特定文字に後続する第２特定文字を含む。一致判別手段は、認識手段によって行われた認識処理の結果が第１特定文字と一致するか否かを判別する第１一致判別手段（Ｓ１７）、および第１一致判別手段の判別結果が肯定的となった後に認識手段によって行われた認識処理の結果が第２特定文字と一致するか否かを判別する第２一致判別手段（Ｓ４９）を含む。第１一致判別手段は、第２一致判別手段の判別結果が否定的であり、かつ受付手段によって受け付けられた手書き文字入力操作のストローク数が第１特定文字のストローク数未満であるとき、すでに第１特定文字と一致すると判別されたストロークの全てと当該第２一致判別手段によって判別されたストロークとを含めたストロークを認識手段によって認識させ、当該認識処理の結果が第１特定文字と一致するか否かを判別する第３一致判別手段（Ｓ５９）を含む。
【００３９】
第１２の発明でも、第７の発明と同様に、手書き入力文字が特定文字と一致するか否かの判別精度が高まる。
第１３の発明（請求項１の発明）に従う手書き学習支援プログラムは、タッチパネル（２０）を有するコンピュータ装置（１０）のプロセサ（４２）を、問題を出力する問題出力手段（Ｓ１）、問題出力手段によって出力された問題に関連する手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段（Ｓ７，Ｓ３１）、受付手段による受け付けの度に認識処理を行う認識手段（Ｓ１５，Ｓ４７，Ｓ５７）、認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段（Ｓ１７，Ｓ４９，Ｓ５９）、正解判別手段の判別結果が否定的であるとき、受付手段は、さらなるストロークの入力を受け付け、正解判別手段の判別結果が肯定的であるとき、受付手段によるさらなるストロークの入力の受け付けをやめて、正解を通知する正解通知手段（Ｓ２３）、として機能させる。
このように、手書き文字入力操作をストローク単位で受け付け、受け付けの度に認識処理を行い、認識処理の結果が正解文字と一致しないとき、さらなるストロークの入力を受け付け、認識処理の結果が正解文字と一致するとき、さらなるストロークの入力の受け付けをやめて、正解を通知するので、早いタイミングで正解を通知できる。
第１４の発明（請求項２の発明）に従う手書き学習支援プログラムは、第１３の発明に従属し、コンピュータ装置は、文字毎のストローク数を記憶した記憶手段（１０４ａ）をさらに有し、手書き学習支援プログラムはプロセサを、正解判別手段の判別結果が否定的であるとき受付手段によって受け付けられた手書き文字入力操作のストローク数が正解文字のストローク数以上か未満かを判別するストローク数判別手段としてさらに機能させ、受付手段は、受け付けた手書き文字入力操作のストローク数が正解文字のストローク数未満であるとストローク数判別手段により判別された場合に、さらなるストロークの入力を受け付け、手書き学習支援プログラムはプロセサを、受付手段によって受け付けられた手書き文字入力操作のストローク数が正解文字のストローク数以上であるとストローク数判別手段により判別された場合に、不正解を通知する不正解通知手段（Ｓ２１，Ｓ３７）としてさらに機能させる。
このように、認識処理の結果が正解文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が正解文字のストローク数未満であれば、さらなるストロークの入力を受け付け、受け付けられた手書き文字入力操作のストローク数が正解文字のストローク数以上であれば、不正解を通知するので、早いタイミングで不正解も通知できる。
第１５の発明（請求項３の発明）に従う手書き学習支援プログラムは、第１３または第１４の発明に従属し、認識手段は、複数ストロークが入力されたとき複数種類の認識データを準備し、生成された複数種類の認識データの各々に対して文字認識を行い、これにより得られる複数種類の認識結果のうち認識得点の最も高いものを採用する。
第１６の発明（請求項４の発明）に従う手書き学習支援装置（１０）は、タッチパネル（２０）、問題を出力する問題出力手段（Ｓ１）、問題出力手段によって出力された問題に関連する手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段（Ｓ７，Ｓ３１）、受付手段による受け付けの度に認識処理を行う認識手段（Ｓ１５，Ｓ４７，Ｓ５７）、認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段（Ｓ１７，Ｓ４９，Ｓ５９）、正解判別手段の判別結果が否定的であるとき、受付手段は、さらなるストロークの入力を受け付け、正解判別手段の判別結果が肯定的であるとき、受付手段によるさらなるストロークの入力の受け付けをやめて、正解を通知する正解通知手段（Ｓ２３）を備える。
第１７の発明（請求項５の発明）に従う手書き学習支援方法は、タッチパネル（２０）を有するコンピュータ装置（１０）によって実行される手書き学習支援方法であって、問題を出力する問題出力ステップ（Ｓ１）、問題出力ステップによって出力された問題に関連する手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付ステップ（Ｓ７，Ｓ３１）、受付ステップによる受け付けの度に認識処理を行う認識ステップ（Ｓ１５，Ｓ４７，Ｓ５７）、認識ステップによって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別ステップ（Ｓ１７，Ｓ４９，Ｓ５９）、正解判別ステップの判別結果が否定的であるとき、受付ステップは、さらなるストロークの入力を受け付け、正解判別ステップの判別結果が肯定的であるとき、受付ステップによるさらなるストロークの入力の受け付けをやめて、正解を通知する正解通知ステップ（Ｓ２３）を含む。
第１８の発明（請求項６の発明）に従う手書き学習支援システム（１０）は、タッチパネル（２０）、問題を出力する問題出力手段（Ｓ１）、問題出力手段によって出力された問題に関連する手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段（Ｓ７，Ｓ３１）、受付手段による受け付けの度に認識処理を行う認識手段（Ｓ１５，Ｓ４７，Ｓ５７）、認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段（Ｓ１７，Ｓ４９，Ｓ５９）、正解判別手段の判別結果が否定的であるとき、受付手段は、さらなるストロークの入力を受け付け、正解判別手段の判別結果が肯定的であるとき、受付手段によるさらなるストロークの入力の受け付けをやめて、正解を通知する正解通知手段（Ｓ２３）を備える。
第１６〜第１８の発明でも、第１３の発明と同様に、早いタイミングで正解を通知できる。
【発明の効果】
【００４０】
この発明によれば、文字認識の精度が高まり、また、より早いタイミングで不正解を通知できる。
【００４１】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００４２】
【図１】この発明の一実施例の外観を示す図解図である。
【図２】図１実施例の内部構成の一例を示すブロック図である。
【図３】図１実施例に適用されるＲＡＭのマッピング状態の一例を示す図解図である。
【図４】図１実施例に適用されるＬＣＤ表示例を示す図解図である。
【図５】図１実施例に適用される認識処理の一例を示す図解図である。
【図６】（Ａ）は図１実施例に適用される認識処理の他の一例を示す図解図であり、（Ｂ）は図１実施例に適用される認識処理のその他の一例を示す図解図である。
【図７】（Ａ）は図１実施例に適用される認識処理のさらにその他の一例を示す図解図であり、（Ｂ）は図１実施例に適用される認識処理の他の一例を示す図解図である。
【図８】（Ａ）は図１実施例に適用される認識処理のその他の一例を示す図解図であり、（Ｂ）は図１実施例に適用される認識処理のさらにその他の一例を示す図解図であり、（Ｃ）は図１実施例に適用される認識処理の他の一例を示す図解図である。
【図９】図１実施例に適用される認識処理のその他の一例を示す図解図である。
【図１０】（Ａ）は図１実施例に適用される認識処理のさらにその他の一例を示す図解図であり、（Ｂ）は図１実施例に適用される認識処理の他の一例を示す図解図であり、（Ｃ）は図１実施例に適用される認識処理のその他の一例を示す図解図である。
【図１１】（Ａ）は図１実施例に適用される認識処理のさらにその他の一例を示す図解図であり、（Ｂ）は図１実施例に適用される認識処理の他の一例を示す図解図であり、（Ｃ）は図１実施例に適用される認識処理のその他の一例を示す図解図である。
【図１２】図１実施例に適用されるＣＰＵコアの動作の一部を示すフロー図である。
【図１３】図１実施例に適用されるＣＰＵコアの動作の他の一部を示すフロー図である。
【図１４】図１実施例に適用されるＣＰＵコアの動作のその他の一部を示すフロー図である。
【発明を実施するための形態】
【００４３】
図１を参照して、この発明の一実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。このＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング１６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００４４】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ（Electronic Luminescence）ディスプレイなどを用いるようにしてもよい。
【００４５】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａと同程度に形成され、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。また、上側ハウジング１６ａには、ＬＣＤ１２を挟むように、右側に音抜き孔２２ａが、左側に音抜き孔２２ｂが、左右対称に形成される。またハウジング１６には操作スイッチ１８（１８ａ，１８ｂ，１８ｃ，１８ｄ，１８ｅ，１８ｆ，１８ｈ，１８ｇ，１８Ｌおよび１８Ｒ）が配置される。
【００４６】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけ
ば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００４７】
操作スイッチ１８は、方向指示スイッチ（十字スイッチ）１８ａ，スタートスイッチ１８ｂ，セレクトスイッチ１８ｃ，動作スイッチ（Ａボタン）１８ｄ，動作スイッチ（Ｂボタン）１８ｅ，動作スイッチ（Ｘボタン）１８ｆ，動作スイッチ（Ｙボタン）１８ｇ，電源スイッチ１８ｈ，動作スイッチ（Ｌボタン）１８Ｌおよび動作スイッチ（Ｒボタン）１８Ｒを含む。スイッチ１８ａおよび１８ｈは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の左側に配置される。また、スイッチ１８ｂないし１８ｇは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の右側に配置される。さらに、スイッチ１８Ｌおよびスイッチ１８Ｒは、それぞれ、下側ハウジング１６ｂの上端（天面）の一部において、上側ハウジング１６ａとの連結部以外に当該連結部を挟むように、左右に配置される。
【００４８】
方向指示スイッチ１８ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ（またはプレイヤオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ１８ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止（Pause）したりする等に用いられる。セレクトスイッチ１８ｃは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【００４９】
動作スイッチ１８ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器またはコマンドの選択および決定等を指示することができる。動作スイッチ１８ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ１８ｃで選択したゲームモードの変更やＡボタン１８ｄで決定したアクションの取り消し等のために用いられる。
【００５０】
動作スイッチ１８ｅすなわちＸボタン、および動作スイッチ１８ｆすなわちＹボタンは、プッシュボタンで構成され、プッシュボタンＡとプッシュボタンＢだけでは、ゲーム進行ができないときに、補助的な操作ボタンとして用いられる。もちろん、ゲームプレイにおいてＸボタンとＹボタンを必ずしも使用しなくてよい。電源スイッチ１８ｈは、ゲーム装置１０の電源をオンオフするためのスイッチである。
【００５１】
動作スイッチ１８Ｌ（左押しボタン）および動作スイッチ１８Ｒ（右押しボタン）は、プッシュボタンで構成され、左押しボタン（Ｌボタン）１８Ｌおよび右押しボタン（Ｒボタン）１８Ｒは、Ａボタン１８ｄおよびＢボタン１８ｅと同様の操作に用いることができ、また、Ａボタン１８ｄおよびＢボタン１８ｅの補助的な操作に用いることができる。
【００５２】
また、このゲーム装置１０はタッチパネルを用いたゲーム装置であり、ＬＣＤ１４の上面には、タッチパネル２０が装着される。タッチパネル２０としては、たとえば、抵抗膜方式、光学式（赤外線方式）および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２０は、その上面をスティック２４ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２４等」という場合がある。）で、押圧したり撫でたり（触れたり）することにより操作すると、スティック２４等の座標位置を検出して座標データを出力する。
【００５３】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２２８ｄｏｔ×１９２ｄｏｔであり、タッチパネル２０の検出精度も表示画面に対応して２２８ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル２０の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００５４】
この実施例では、たとえばタッチパネル２０の設けられるＬＣＤ１４には、プレイヤに見せかつ操作させるためのゲーム画面が表示され、ＬＣＤ１２にはプレイヤに見せるためのゲーム画面が表示される。具体的には、ＬＣＤ１２には横線と縦線で形成されたアミダくじのような軌道上をオブジェクトが移動してくる画像が表示される。ＬＣＤ１４に表示されるゲーム画面には、未完成のアミダくじのように、縦線のみが表示されており、プレイヤはＬＣＤ１４に表示された縦線に対して、スティック２４等で直接触れるようにしてタッチパネル２０上に横線を描くような操作をする。こうして、ＬＣＤ１２に表示される軌道の続きをＬＣＤ１４に描いて、移動してくるオブジェクトを所定位置に導くための軌道を作るのである。なお、ＬＣＤ１４は、ゲームの種類に応じてその他各種の入力指示を行うようにしてもよく、たとえばＬＣＤ１４の表示画面に文字情報やアイコン等を表示してコマンドを選択させたりすることができる。
【００５５】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の表示画面上にタッチパネル２０が設けられるので、２画面（ＬＣＤ１２，１４）と２系統の操作部（１８，２０）を有する構成となるのである。
【００５６】
また、この実施例では、スティック２４は、たとえば上側ハウジング１６ａの中央より側面寄（右寄）に設けられる収納部（収納穴）（図示せず）に収納することができ、必要に応じて取り出される。ただし、スティック２４を設けない場合には、収納部を設ける必要もない。
【００５７】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）２６を含み、このメモリカード２６は着脱自在であり、下側ハウジング１６ｂの裏面ないしは上端（側面）に設けられる挿入口（図示せず）から挿入される。図１では省略するが、挿入口の奥部には、メモリカード２６の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ４６（図２参照）が設けられており、したがって、メモリカード２６が挿入口に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア４２（図２参照）がメモリカード２６にアクセス可能となる。
【００５８】
なお、図１では表現できないが、下側ハウジング１６ｂの内部において、この下側ハウジング１６ｂの音抜き孔２２ａと対応する位置には、右スピーカ３０ａおよび音抜き孔２２ｂと対応する位置には、左スピーカ３０ｂ（図２参照）が設けられる。
【００５９】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、音量調節つまみ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００６０】
図２は、ゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板４０を含み、この電子回路基板４０にはＣＰＵコア４２等の回路コンポーネントが実装される。ＣＰＵコア４２は、バス４４を介して、コネクタ４６，ＲＡＭ４８，第１のＧＰＵ（Graphic Processing Unit）５２，第２のＧＰＵ５４，Ｉ／Ｆ回路５０，ＬＣＤコントローラ６０およびワイヤレス通信ユニット６４と接続される。
【００６１】
コネクタ４６には、上述したように、メモリカード２６が着脱自在に接続される。メモリカード２６は、ＲＯＭ２６ａおよびＲＡＭ２６ｂを含む。図示は省略するが、ＲＯＭ２６ａおよびＲＡＭ２６ｂは、バスで互いに接続され、かつコネクタ４６と接合されるコネクタ（図示せず）に接続される。この結果、ＣＰＵコア４２は、ＲＯＭ２６ａおよびＲＡＭ２６ｂにアクセスすることができる。
【００６２】
ＲＯＭ２６ａは、ゲーム装置１０で実行すべきゲームのためのゲームプログラム、キャラクタ画像，背景画像，アイテム画像，メッセージ画像のような画像データ、効果音，ＢＧＭ，キャラクタの擬制音のような音データなどを予め記憶する。バックアップＲＡＭ２６ｂは、ゲームの途中データや結果データをセーブする。
【００６３】
ＲＡＭ４８は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア４２は、メモリカード２６のＲＯＭ２６ａに記憶されたゲームプログラム、および画像データ，音データ等のデータをＲＡＭ４８にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア４２は、ゲーム処理の進行に応じて、ゲームデータやフラグデータなどの一時的なデータをＲＡＭ４８に記憶する。
【００６４】
なお、ゲームプログラム、および画像データ，音データ等のデータは、一括して、または必要に応じて部分的かつ順次的にＲＯＭ２６ａから読み出され、ＲＡＭ４８に記憶される。
【００６５】
ＧＰＵ５２および５４の各々は、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成される。ＧＰＵ５２または５４は、ＣＰＵコア４２からグラフィックスコマンド（作画命令）を受けたとき、このグラフィックスコマンドにしたがってゲーム画像データを生成する。ここで、ＣＰＵコア４２は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ５２および５４の各々に与える。
【００６６】
ただし、グラフィックスコマンドの実行に必要なデータ（ポリゴン，テクスチャなどの画像データ）は、ＲＡＭ４８に格納され、ＧＰＵ５２または５４によって取得される。
【００６７】
また、ＧＰＵ５２にはＶＲＡＭ５６が接続され、ＧＰＵ５４にはＶＲＡＭ５８が接続される。ＧＰＵ５２は、作成したゲーム画像データをＶＲＡＭ５６に描画し、ＧＰＵ５４は、作成したゲーム画像データをＶＲＡＭ５８に描画する。
【００６８】
ＶＲＡＭ５６および５８は、ＬＣＤコントローラ６０に接続される。ＬＣＤコントローラ６０はレジスタ６２を含む。レジスタ６２はたとえば１ビットで構成され、ＣＰＵコア４２の指示によって“０”または“１”のデータ値を記憶する。ＬＣＤコントローラ６０は、レジスタ６２のデータ値が“０”であるとき、ＶＲＡＭ５６に描画されたゲーム画像データをＬＣＤ１４に出力し、ＶＲＡＭ５８に描画されたゲーム画像データをＬＣＤ１２に出力する。また、ＬＣＤコントローラ６０は、レジスタ６２のデータ値が“１”であるとき、ＶＲＡＭ５６に描画されたゲーム画像データをＬＣＤ１２に出力し、ＶＲＡＭ５８に描画されたゲーム画像データをＬＣＤ１４に出力する。
【００６９】
Ｉ／Ｆ回路５０には、操作スイッチ１８，タッチパネル２０，右スピーカ３０ａおよび左スピーカ３０ｂが接続される。ここで、操作スイッチ１８は、上述したスイッチ１８ａ，１８ｂ，１８ｃ，１８ｄ，１８ｅ，１８ｆ，１８ｇ，１８ｈ，１８Ｌおよび１８Ｒである。操作スイッチ１８が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路５０を介してＣＰＵコア４２に入力される。タッチパネル２０で検出された座標データも、Ｉ／Ｆ回路５０を介してＣＰＵコア４２に入力される。また、ＣＰＵコア４２は、ＢＧＭ，効果音，キャラクタの擬制音などのゲームに必要な音データをＲＡＭ４８から読み出し、Ｉ／Ｆ回路５０を介して右スピーカ３０ａおよび左スピーカ３０ｂから出力する。
【００７０】
対戦モードが選択された状態では、相手方のゲーム装置との間で無線信号がワイヤレス通信ユニット６４を通してやり取りされる。すなわち、ワイヤレス通信ユニット６４は、相手方への通信データを無線信号に変調してアンテナ（図示せず）から送信し、また、相手方のゲーム装置からの無線信号を同じアンテナで受信して通信データに復調する。
【００７１】
図３にはＲＡＭ４８のメモリマップの一例が示される。ＲＡＭ４８は、メモリカード２６のＲＯＭ２６ａからロードされたプログラムを記憶するプログラム記憶領域７０を含む。ロードされるプログラムは、問題出力プログラム７２，タッチオンオフ検出プログラム７４，タッチ軌跡一時記憶プログラム７６，認識データ生成プログラム７８，文字認識プログラム８０，回答判定プログラム８２，回答表示プログラム８４，正解文字列制御プログラム８６，タッチ軌跡（ストローク）制御プログラム８８などを含む。
【００７２】
なお、プログラム記憶領域７０には、図示は省略しているが、ゲーム画像やゲーム音声を生成／出力するためのプログラムなど、その他のゲーム進行に必要な各種プログラムが記憶される。
【００７３】
問題出力プログラム７２は、スピーカ２２ａおよび２２ｂから問題を出力するためのプログラムである。なお、問題はＬＣＤ１２に表示してもよい。タッチオンオフ検出プログラム７４は、タッチパネル２０に対するタッチオンおよびタッチオフを検出し、検出結果に応じてタッチオンフラグをオン／オフするためのプログラムである。タッチ軌跡一時記憶プログラム７６は、タッチオンからタッチオフまでのタッチ軌跡（手書き入力データ）を一時記憶するためのプログラムである。
【００７４】
認識データ生成プログラム７８は、文字認識処理の対象となるデータ（認識データ）を生成するためのプログラムである。このプログラムは、複数ストロークが入力されたとき、複数種類の認識データを準備する。
【００７５】
文字認識プログラム８０は、認識データ生成プログラム７８によって生成された認識データに基づいて文字認識処理を実行するためのプログラムである。このプログラムは、認識データ生成プログラム７８によって複数種類の認識データが準備された場合、生成された複数種類の認識データの各々に対して文字認識を行う。こうして得られる複数種類の認識結果のうち認識得点の最も高いものを採用することで、より的確な認識結果を得ることができる。
【００７６】
回答判定プログラム８２は、文字認識処理の結果つまり回答が正解か否かを判定するためのプログラムである。回答表示プログラム８４は、ＬＣＤ１４に回答（入力タッチ軌跡）を表示するためのプログラムである。正解文字列制御プログラム８６は、問題に対応する正解文字列を読み込んだり、読み込まれた正解文字列の中から認識対象文字を選択したりするためのプログラムである。タッチ軌跡制御プログラム８８は、一時記憶されたタッチ軌跡（ストローク）の中から１つまたは複数の表示対象ストロークを選択して回答表示プログラム８４に渡したり、一時記憶されたストロークの中から１つまたは複数の認識対象ストロークを選択して認識データ生成プログラム７８に渡したりするためのプログラムである。
【００７７】
また、ＲＡＭ４８は、データ記憶領域９０を含む。データ記憶領域９０は、タッチオンフラグ記憶領域９２，タッチ軌跡一時記憶領域９４ａ，マッチストローク数記憶領域９４ｂ，認識データ一時記憶領域９６，認識結果一時記憶領域９８，正解文字列記憶領域１００，認識対象文字記憶領域１０２，最大ストローク数データ記憶領域１０４ａ，問題データ記憶領域１０４ｂ，文字データ記憶領域１０４ｃ，および認識辞書データ記憶領域１０６を有する。
【００７８】
タッチオンフラグ記憶領域９２は、タッチオンフラグを記憶するための領域である。タッチオンフラグは、タッチパネル２０へのタッチオンが検出されたときタッチオンオフ検出プログラム７４によってオンされ、同じくタッチオフが検出されるとオフされる。タッチ軌跡一時記憶領域９４ａは、タッチパネル２０によって検出されたタッチ軌跡を一時記憶するための領域である。タッチ軌跡一時記憶領域９４には、１ストローク目のタッチ軌跡，２ストローク目のタッチ軌跡，…が記憶される。マッチストローク数記憶領域９４ｂは、文字１（Ｃ１）にマッチするストローク数を保持するための領域である。
【００７９】
認識データ一時記憶領域９６は、認識データ生成プログラム７８によって生成された認識データを一時記憶するための領域である。認識結果一時記憶領域９８は、認識データに基づく文字認識処理の結果を一時記憶するための領域である。正解文字列記録領域１００は、問題に対応する正解文字列を記憶するための領域である。
【００８０】
認識対象文字記憶領域１０２は、正解文字列記録領域１００に記憶されている正解文字列のうち現在認識の対象となっている文字を記憶するための領域である。認識は２文字を単位として行われるため、認識対象文字記憶領域１０２には２つの文字（文字１よび文字２）が記憶される。
【００８１】
最大ストローク数データ記憶領域１０４ａには、ゲーム装置１０で認識可能な全ての文字（ここでは英大文字Ａ〜Ｚ，英小文字ａ〜ｚ，および数字０〜９）の各々について、手書き時の最大ストローク数が記憶される。例えば、文字“Ａ”は、通常２ストロークまたは３ストロークで描かれるので、その最大ストローク数は“３”である。同様に、数字“１”は、通常１ストロークで描かれるため、最大ストローク数は“１”となる。
【００８２】
問題データ記憶領域１０４ｂには、問題データが記憶される。文字データ記憶領域１０４ｃには、英大文字Ａ〜Ｚ，英小文字ａ〜ｚ，および数字０〜９の文字データが記憶される。
【００８３】
認識辞書データ記憶領域１０６は、文字認識処理で参照される認識辞書データを記憶するための領域である。この認識辞書データは、英大文字Ａ〜Ｚ，英小文字ａ〜ｚ，および数字０〜９の各々の特徴データを含む。
【００８４】
以上のように構成されたゲーム装置１０では、書き取りゲームは、次のように進行する。図４を参照して、操作スイッチを介してゲーム開始操作が行われると、最初の問題“Ｔｈｉｓｉｓ ａ ｐｅｎ．”に対応する音声がスピーカ２２ａ，２２ｂから出力される。かかる第１問の回答つまり“ＴＨＩＳ…”が下側のＬＣＤ１４上のタッチパネル２０にスティック２４で描かれると、その軌跡が検出され、検出されたタッチ軌跡つまり手書きデータがタッチ軌跡一時記憶領域に記憶される。検出されたタッチ軌跡は、ＬＣＤ１４に表示される。また、検出されたタッチ軌跡に対して文字認識処理が実行され、検出タッチ軌跡が正解文字として認識されると、その正解文字がＬＣＤ１２に表示される。
【００８５】
従って、手書き入力の進行に従い、ＬＣＤ１２には正解文字列“ＴＨＩＳ…”が１文字ずつ追加表示されていく。一方、ＬＣＤ１４上のタッチ軌跡は、正解文字として認識され、そして正解文字がＬＣＤ１２に表示されると消去される。
【００８６】
文字認識処理は、図５に示すように、先頭の一文字を除き、連続する２文字を単位として行われる。“ＴＨＩＳ…”の認識では、まず先頭文字“Ｔ”が認識対象文字記憶領域１０２の所定領域（レジスタＣ１）にセットされる。そして、タッチ軌跡一時記憶領域９４に記憶されたタッチ軌跡がレジスタＣ１の文字と一致するか否かが判定される。
【００８７】
かかる第１回目の認識処理の後、次の認識対象文字“Ｈ”がレジスタＣ２にセットされる。そして、タッチ軌跡一時記憶領域９４に記憶されたタッチ軌跡がレジスタＣ２の文字と一致するか否かが判定される。
【００８８】
かかる第２回目の認識処理で文字“Ｈ”が認識されると、認識対象は後方に一文字シフトする、すなわちＣ１およびＣ２には“Ｈ”および“Ｉ”がそれぞれセットされる。そして、タッチ軌跡データ記憶領域に記憶されたタッチ軌跡データがレジスタＣ２の文字“Ｉ”と一致するか否かが判別される。
【００８９】
以降、末尾文字“Ｎ”が認識されるまで同様の認識処理が繰り返される。従って、１０文字で構成される文字列“ＴＨＩＳＩＳ Ａ ＰＥＮ”については、計１０回の認識処理が実行される。
【００９０】
以下、認識処理の具体例を説明する。最初、文字列“ＴＨＩＳ”に対応する認識処理を図６（Ａ），図６（Ｂ），図７（Ａ）および図７（Ｂ）により説明する。なお、誤入力ないしタイムアウトは発生しないものとする。図６（Ａ）を参照して、第１回目の認識処理は、先頭文字つまり“Ｔ”が対象となる。“Ｔ”はレジスタＣ１に保持される。“Ｔ”の最大ストローク数は“２”である。
【００９１】
最初のタッチ軌跡が検出される、つまり第１ストローク（Ｓ０）が入力されると、第１ストロークに対してＣ１文字“Ｔ”と一致するか否かの認識処理が実行され、ここでは不一致（×）と判定される。
【００９２】
第２ストローク（Ｓ１）が入力されると、第１ストロークおよび第２ストロークに対してＣ１文字“Ｔ”と一致するか否かの認識処理が実行され、一致（○）と判定される。これにより、ＬＣＤ１２に“Ｔ”が表示される。なお、このとき“Ｔ”と一致すると判別されたストロークの数（＝２）がマッチストローク数記憶領域９４ｂ内のレジスタＭ０に保持される。マッチストローク数は、継続認識（後述）に関連して利用される。
【００９３】
図６（Ｂ）を参照して、第２回目の認識処理は、先頭の２文字が対象となる。従って、レジスタＣ１およびＣ２には“Ｔ”および“Ｈ”がそれぞれセットされる。文字“Ｔ”および“Ｈ”の最大ストローク数は“２”および“３”である。これを以下、認識対象文字（Ｔ，Ｈ），最大ストローク数（２，３）のように記述する。文字（Ｔ，Ｈ）の合計最大ストローク数は“５”となる。
【００９４】
第３ストローク（Ｓ２）が入力されると、この第３ストロークに対してＣ２文字“Ｈ”と一致するか否かの認識処理が実行され、不一致と判定される。この時点で、第１〜第３ストロークは、タッチオフ軌跡記憶領域９４ａ内の領域Ｓ０〜Ｓ２（図３参照）に一時保持されている。一時保持ストローク数（＝３）は、文字“Ｔ”および“Ｈ”の合計最大ストローク数（＝５）を超えていないが、文字“Ｔ”の最大ストローク数（＝２）を超えたので、第１および第２ストロークは文字“Ｔ”と一致するとみなされる。このため、継続認識（後述）は行われない。
【００９５】
第４ストローク（Ｓ３）が入力されると、第３ストロークおよび第４ストロークに対して同様の認識処理が実行され、ここでも不一致と判定される。第５ストローク（Ｓ４）が入力されると、第３ストローク，第４ストロークおよび第５ストロークに対して同様の認識処理が実行され、ここで一致と判定される。これにより、ＬＣＤ１２には“Ｈ”がさらに表示される。レジスタＭ０には“３”が保持される。
【００９６】
図７（Ａ）を参照して、第３回目の認識処理では、認識対象が後方に１文字シフトする。従って、レジスタＣ１およびＣ２には“Ｈ”および“Ｉ”がセットされる。領域Ｓ０〜Ｓ４に一時保持された第１〜第５ストロークのうち文字“Ｔ”に対応する第１および第２ストロークは破棄され、第３〜第５ストロークが領域Ｓ０〜Ｓ２にシフトされる。この結果、第３〜第５ストロークは第１〜第３ストロークとなり、次の入力ストロークは第４ストローク（Ｓ３）となる。文字（Ｈ，Ｉ）の最大ストローク数は（３，３）であり、合計最大ストローク数は“６”となる。
【００９７】
第４ストロークが入力されると、Ｃ２文字“Ｉ”と一致するか否かの認識処理が実行され、不一致と判定される。この時点で、一時保持ストローク数（＝４）は、文字“Ｈ”および“Ｉ”の合計最大ストローク数（＝６）を超えていないが、文字“Ｈ”の最大ストローク数（＝３）を超えたので、第１〜第３ストロークは文字“Ｈ”と一致するとみなされ、継続認識（後述）は行われない。
【００９８】
第５ストロークが入力されると、第４ストロークおよび第５ストロークに対して同様の認識処理が実行され、一致と判定される。なお、判定は大文字だけでなく小文字についても行われており、ここでは小文字“ｉ”について一致と判定されている。これにより、ＬＣＤ１２に正解文字“Ｉ”がさらに表示される。
【００９９】
図７（Ｂ）を参照して、第４回目の認識処理では、レジスタＣ１およびＣ２に“Ｉ”および“Ｓ”がセットされる。第１〜第５ストロークのうち文字“Ｈ”に対応する第１〜第３ストロークが破棄され、第４および第５ストロークは領域Ｓ０およびＳ１にシフトされる。この結果、第４および第５ストロークは第１および第２ストロークとなり、次の入力ストロークは第３ストローク（Ｓ２）となる。レジスタＭ０には“２”が保持される。文字（Ｉ，Ｓ）の最大ストローク数は（３，１）であり、合計最大ストローク数は“４”となる。
【０１００】
第３ストロークが入力されると、第３ストロークに対してＣ２文字“Ｓ”と一致するか否かの認識処理が実行され、不一致と判定される。この時点では、一時保持ストローク数（＝３）は、文字“Ｉ”および“Ｓ”の合計最大ストローク数（＝４）を超えておらず、文字“Ｉ”の最大ストローク数（＝３）も超えていないので、継続認識が行われる。
【０１０１】
継続認識では、まず第１〜第３ストロークに対してＣ１文字“Ｉ” と一致するか否かがの認識処理が実行され、一致と判定される。これにより、第３ストロークは“Ｉ”の一部と判定される。レジスタＭ１に“３”が保持される。
【０１０２】
次に第４ストロークが入力されると、第４ストロークに対してＣ２文字“Ｓ”と一致するか否かの認識処理が実行され、一致と判定される。また、第４および第３ストロークに対してＣ２文字“Ｓ”と一致するか否かの認識処理が実行され、不一致と判定される。これにより、ＬＣＤ１２に正解文字“Ｓ”がさらに表示される。なお、これら２回の判定は、レジスタＭ０およびＭ１の保持値に基づく。すなわち、まずＭ０の保持値“３”に基づいて第４ストローク（Ｓ３）に対する認識が行われ、Ｍ１の保持値“２”に基づいて第４および第３ストローク（Ｓ３およびＳ２）に対する認識がさらに行われる。ただし、Ｍ０に基づく認識で、Ｃ２文字であると認識された場合は、その後のＭ１に基づく認識をしなくても良い。
【０１０３】
その後、レジスタＣ１およびＣ２に“Ｓ”および“Ａ”がセットされ、同様の処理が行われる。
【０１０４】
次に、誤入力が発生した場合の文字認識処理を図８（Ａ）〜図８（Ｃ）および図９により説明する。図８（Ａ）を参照して、正解文字列“ＴＨＩ…”に対して“ＴＡＩ…”が入力されたとする。図８（Ｂ）を参照して、先頭文字“Ｔ”は、図６（Ａ）の“Ｔ”と同様に認識される。図８（Ｃ）を参照して、認識対象文字（Ｔ，Ｈ）の最大ストローク数は（２，３）であり、合計最大ストローク数は“５”である。第３ストロークが入力されると、第３ストロークがＣ２文字“Ｈ”と照合され、不一致と判定される。第４ストロークが入力されると、第４および第３ストロークがＣ２文字“Ｈ”と照合され、不一致と判定される。第５ストロークが入力されると、第５〜第３ストロークがＣ２文字“Ｈ”と照合され、不一致と判定される。この時点で、一時保持ストローク数が合計最大ストローク数に達したため、誤入力である旨がバツ印（×）で示される。
【０１０５】
続いて図９を参照して、Ｃ１文字“Ｔ”が正解となり、Ｃ２文字“Ｈ”が不正解となったため、今度は文字“Ｈ”をＣ１として照合を開始する。一方、プレイヤは、“Ａ”が誤りであることがわかったので、“Ｈ…”を入力する。第１ストロークが入力されると、第１ストロークがＣ１文字“Ｈ”と照合され、不一致と判定される。第２ストロークが入力されると、第２および第１ストロークがＣ１文字“Ｈ”と照合され、不一致と判定される。第３ストロークが入力されると、第３〜第１ストロークがＣ１文字“Ｈ”と照合され、一致と判定される。こうして“Ｈ”が認識される。以降、同様の処理が繰り返される。
【０１０６】
次に、タイムアウトが発生した場合の文字認識処理を図１０（Ａ）〜図１０（Ｃ）により説明する。図１０（Ａ）を参照して、“ＩＡＭ…”の“Ｉ”の入力後にタイムアウトが発生したとする。図１０（Ｂ）を参照して、先頭文字“Ｉ”は、第２ストロークが入力された時点で認識される。図１０（Ｃ）を参照して、第３ストロークは、図７（Ｂ）の場合と同様、継続認識によって、“Ａ”ではなく“Ｉ”の一部と判定される。そして最後の第３ストロークのタッチオフ後、無入力状態が一定時間継続するとタイムアウトと判定される。この場合、最後の第３ストロークが“Ｉ”の一部と判定されたため、誤入力ストロークは存在せず、エラー表示は行われない。タイムアウト後、次の文字“Ａ”の認識に移る。
【０１０７】
次に、誤入力時にタイムアウトが発生した場合の文字認識処理を図１１（Ａ）〜図１１（Ｃ）により説明する。図１１（Ａ）を参照して、正解文字列“ＩＡＭ…”に対して“ＩＬＭ…”を入力中にタイムアウトが発生したとする。図１１（Ｂ）を参照して、先頭文字“Ｉ”は、第２ストロークが入力された時点で認識される。このとき、レジスタＭ０に“２”が保持される。図１１（Ｃ）を参照して、第３ストロークは、図７（Ｂ）の場合と同様、継続認識によって、“Ａ”ではなく“Ｉ”の一部と判定される。このとき、レジスタＭ１に“３”が保持される。
【０１０８】
続いて第４ストロークが入力されると、これが“Ａ”と一致するかが判定され、不一致と判定される。また、第４および第３ストロークが“Ａ”と一致するかがさらに判定され、ここでも不一致と判定される。なお、これら２回の判定も、図７（Ｂ）の場合と同様、レジスタＭ０およびＭ１の保持値に基づく。
【０１０９】
最後の第４ストロークのタッチオフ後、無入力状態が一定時間継続するとタイムアウトと判定される。この場合、第１〜第３ストロークが“Ｉ”と判定され、最後の第４ストロークは“Ａ”と一致しなかったため誤入力ストロークと判定され、エラー表示が行われる。タイムアウト後、次の文字“Ａ”の認識に移る。
【０１１０】
上記のようなゲームをプレイするとき、ＣＰＵコア４２は、図１２〜図１４のフロー図に従う処理を実行する。図１２を参照して、まずステップＳ１で問題をスピーカ３０ａおよび３０ｂから出力する。続くステップＳ３では、出力された問題に対応する英数文字列の先頭文字を変数Ｃ１にセットする。なお、変数Ｃ１，Ｃ２は、認識対象文字記憶領域１０２（図３参照）に記憶される。ステップＳ５では、変数ｎＳに“０”をセットし、かつ変数ｎＭに“０”をセットする。セット後、ステップＳ７に移る。
【０１１１】
ここで、変数ｎＳは、タッチ軌跡一時記憶領域９４ａに一時記憶されているストロークの数（ストローク配列の要素数）を意味する。一方、変数ｎＭは、変数Ｃ１にマッチするストロークの数を意味する。従って、３つのストロークが一時記憶されているとして、そのうち２つがＣ１文字にマッチする場合、ｎＳ＝３，ｎＭ＝２となる。
【０１１２】
ステップＳ７では、ストローク入力の有無を判別し、ＮＯであればステップＳ９で、最後のタッチオフから一定時間が経過しているか否かをさらに判別する。タッチパネル２０への入力がない状態つまり無入力状態が一定時間以上継続するとステップＳ９でＹＥＳと判別し、ステップＳ１１に移って変数ｎＳが０より大きいか否かを判別する。ここでＮＯであればステップＳ７に戻り、ＹＥＳであればステップＳ２１に進む。ステップＳ２１では、誤入力である旨を通知する。通知は、例えばＬＣＤ１４にバツ印（×）を表示することによって行う（図９参照）。通知後、ステップＳ５に戻る。
【０１１３】
タッチパネル２０によってタッチ軌跡が検出されると、ステップＳ７でＹＥＳと判別し、ステップＳ１３に移る。ステップＳ１３では、検出されたタッチ軌跡つまり入力ストロークを領域Ｓ［ｎＳ］に保存し、かつ変数ｎＳをインクリメントする。ここで領域Ｓ［ｎＳ］は、タッチ軌跡記憶一時記憶領域９４ａに含まれる領域Ｓ０，Ｓ１，…のいずれか１つに対応する（図３参照）。従って、例えば、最初に検出されたタッチ軌跡つまり第１ストロークは領域Ｓ０に保持され、次の第２ストロークは領域Ｓ１に保持されることになる。
【０１１４】
次のステップＳ１５では、領域Ｓ［０〜（ｎＳ−１）］を対象として認識処理を実行する。そしてステップＳ１７で認識結果が変数Ｃ１にマッチするか否かを判別し、ＹＥＳであればステップＳ２３に移る。従って、例えば第１ストロークが入力されたとき、第１ストロークは変数Ｃ１の正解文字と照合される。ここでマッチせず、第２ストロークが入力されると、第１ストロークおよび第２ストロークがＣ１と照合される（図６（Ａ）参照）。
【０１１５】
ステップＳ１７でＮＯであれば、ステップＳ１９で変数ｎＳが変数ＭＡＸ（Ｃ１）以上であるか否かを判別し、ここでＮＯであればステップＳ７に戻る。一方、ＹＥＳであれば、ステップＳ２１でエラー通知を行った後、ステップＳ５に戻る。ここで変数ＭＡＸ（Ｃ１）は、変数Ｃ１にセットされた正解文字の最大ストローク数を示す。文字毎の最大ストローク数を記述した最大ストローク数データは、最大ストローク数データ記憶領域１０４ａに格納されている。従って、一時記憶されているストロークの数が正解文字の最大ストローク数に達した時点で、領域［０〜（ｎＳ−１）］のストロークが変数Ｃ１の文字にマッチしなければ、かかるストロークは誤入力と見なされ、再入力が受け付けられる。
【０１１６】
図１３を参照して、ステップＳ２３では、変数Ｃ１を正解としてＬＣＤ１２に表示する。続くステップＳ２５では、変数Ｃ１が問題文字列の最後の文字か否かを判別し、ＹＥＳであれば、この問題の認識処理を終了する。ステップＳ２５でＮＯであれば、ステップＳ２７で次の文字を変数Ｃ２にセットし、さらにステップＳ２９で、領域Ｍ［ｎＭ］に変数ｎＳを保持し、かつ変数ｎＭをインクリメントする。ここで領域Ｍ［ｎＭ］は、マッチストローク数記憶領域９４ｂに含まれる領域Ｍ０，Ｍ１，…のいずれか１つに対応する（図３参照）。
【０１１７】
続くステップＳ３１では、ストローク入力の有無を判別し、ここでＹＥＳであればステップ４１に進む。一方、ＮＯであればステップＳ３３で、最後のタッチオフから一定時間が経過しているか否かをさらに判別する。無入力状態が一定時間以上継続するとステップＳ３３でＹＥＳと判別し、ステップＳ３５に移る。ステップＳ３５では、変数ｎＳが領域Ｍ［ｎＭ−１］の保持番号と一致するか否か、つまり、一時記憶されているストロークの数が、Ｃ１マッチと判別されたストロークの数と一致するか否かを判別する。
【０１１８】
ここでＮＯであればステップＳ３７に移って、Ｃ１とマッチすると判別されたストローク以降の入力ストロークについて、誤入力である旨を通知する（図１１（Ｃ）参照）。通知後、ステップＳ３９に移る。ステップＳ３５でＹＥＳであれば、直ちにステップＳ３９に移る。
【０１１９】
ステップＳ３９では、変数Ｃ２の値を変数Ｃ１にセットする。つまり、変数Ｃ１の値は、変数Ｃ２の値によって上書きされる。セット後、ステップＳ５に戻る。
【０１２０】
図１４を参照して、ステップＳ４１では、入力ストロークを領域Ｓ［ｎＳ］に保持し、かつ変数ｎＳをインクリメントする。続くステップＳ４３では変数ｎＭから“１”を減じた値を変数ａにセットし、そしてステップＳ４５で変数ａが“０”以上か否かを判別する。ステップＳ４５でＹＥＳであれば、ステップＳ４７に移る。ステップＳ４５でＮＯであればステップＳ５３（後述）に移る。
【０１２１】
ステップＳ４７では、領域Ｓ［Ｍ［ａ］〜（ｎＳ−１）］を対象として文字認識処理を実行する。そして、ステップＳ４９で認識結果が変数Ｃ２にマッチするか否かを判別し、ＹＥＳであればステップＳ５１に移る。ステップＳ５１では、領域Ｓ［Ｍ［ａ］〜（ｎＳ−１）］の保持内容を領域Ｓ［０〜（ｎＳ−Ｍ［ａ］−１）］にシフトし、変数ｎＳから領域Ｍ（ａ）の値を減じた値を新たな変数ｎＳとし、変数ｎＭを“０”とし、そして変数Ｃ１に変数Ｃ２の値をセットする。これにより、問題文字列において、認識対象が一文字後方にシフトする。セット後、ステップＳ２３に戻る。
【０１２２】
ステップＳ４９でＮＯであれば、ステップＳ５０に移って変数ａをデクリメントし、その後、ステップＳ４５に戻る。
【０１２３】
ステップＳ４５でＮＯであれば、ステップＳ５３に移って、関係式“ｎＳ≧ＭＡＸ（Ｃ１）＋ＭＡＸ（Ｃ２）”が満足されるか否かを判別し、ここでＹＥＳであればステップＳ３７に移る。ステップＳ５３でＮＯであれば、ステップＳ５５で関係式“ｎＳ≧ＭＡＸ（Ｃ１）”が満足されるか否かをさらに判別し、ここでＹＥＳであればステップＳ３１に移る。
【０１２４】
ステップＳ５５でＮＯであれば、ステップＳ５７で領域Ｓ［０〜（ｎＳ−１）］を対象として文字認識処理を実行する。そしてステップＳ５９で認識結果が変数Ｃ１にマッチするか否かを判別し、ＹＥＳであればステップＳ２９に移る。ステップＳ５９でＮＯであればステップＳ３１に移る。
【０１２５】
従って、一時保持ストローク数がＣ１文字およびＣ２文字の合計最大ストローク数を超えると、Ｃ１マッチストローク以降の入力ストロークが間違いである旨が通知される（図８（Ｃ），図９参照）。一時保持ストローク数が合計最大ストローク数を超えてはいないが、Ｃ１文字の最大ストローク数を超えていれば、引き続きストローク入力が受け付けられる。一時保持ストローク数がＣ１文字の最大ストローク数に達するまでの間、全ての一時保持ストロークに対して認識処理が実行される。そして、ストローク入力待ちに移行し、次のストロークが受け付けられると、変数ａの値をデクリメントしつつ領域Ｓ［Ｍ［ａ］〜（ｎＳ−１）］を認識する処理が繰り返し実行される。図７（Ｂ）の例では、第４ストロークが入力されたとき、ａ＝１なので、まずａ=１として１回目の認識処理が実行され、次にａ=０として２回目の認識処理が実行される。
【０１２６】
以上から明らかなように、この実施例では、ＣＰＵコア４２は、正解が予め判明している問題を出力し（Ｓ１）、出力された問題に関連する手書き文字入力操作をタッチパネル２０を通してストローク単位で受け付ける（Ｓ７，Ｓ３１）。かかる受け付けの度に認識処理を行い（Ｓ１５，Ｓ４７，Ｓ５７）、行われた認識処理の結果が正解文字と一致するか否かを判別する（Ｓ１７，Ｓ４９，Ｓ５９）。この判別結果が否定的であるとき、受け付けられた手書き文字入力操作のストローク数が正解文字の最大ストローク数を上回るか否かをさらに判別し（Ｓ１９，Ｓ５３，Ｓ５５）、そしてこの判別結果が肯定的であるとき不正解を通知する（Ｓ２１，Ｓ３７）。
【０１２７】
このように、手書き文字入力操作をストローク単位で受け付け、受け付けの度に認識処理を行い、認識処理の結果が正解文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が正解文字の最大ストローク数を上回るか否かを判別して、かかる判別結果が肯定的であるとき不正解を通知するので、早いタイミングで不正解を通知することできる。その結果、待ち時間が短縮され、効果的な学習が行えるようになる。
【０１２８】
また、正解文字は、第１正解文字および当該第１正解文字に後続する第２正解文字を含む。正解判別では、まず、行われた認識処理の結果が第１正解文字と一致するか否かを判別し（第１判別処理：Ｓ１７）、次に、この第１判別処理の結果が肯定的となった後に認識ステップによって行われた認識処理の結果が第２正解文字と一致するか否かを判別する（第２判別処理：Ｓ４９）。そして、この第２判別処理の結果が否定的であるとき、第１判別処理の結果が肯定的となった後に行われた認識処理の結果（“後”認識結果）が第１正解文字と一致するか否かを判別する（第３判別処理：Ｓ５９）。
【０１２９】
このように、第１および第２判別処理を実行した後、受け付けられた手書き文字入力操作のストローク数が第１正解文字の最大ストローク数以下であれば第３判別処理をさらに実行するので、第２判別処理の対象となったストロークが第１正解文字の一部であればそれがわかる。この結果、手書き入力文字が正解文字と一致するか否かの判別精度が高まり、ひいては不正解の通知タイミングが早まる。
【０１３０】
さらには、第３判別処理が実行されたとき、第１正解文字と一致すると判別されたストロークの少なくとも一部と、第１正解文字と一致すると判別されたストロークの後に入力されたストロークとを含むストロークを認識ステップによって認識させ、この認識処理の結果が第２正解文字と一致するか否かをさらに判別する（第４判別処理）。
【０１３１】
このように、第３判別処理と共に第４判別処理を行うことで、第１正解文字の一部とされたストロークが第２正解文字の一部であればそれがわかる。この結果、手書き入力文字が正解文字と一致するか否かの手書き入力文字が正解文字と一致するか否かの判別精度が一層高まり、ひいては不正解の通知タイミングがさらに早まる。
【０１３２】
なお、以上では、スピーカ２２ａ等から出力される英文を書き取る書き取りゲームを用いて説明したが、この発明は、正解が予め判明している問題を出力し、出力された問題に関連する手書き文字入力操作をタッチパネルを通して受け付け、受け付けられた入力操作に対応する手書き文字を認識し、認識された文字が正解か否かを判別し、そして判別結果を通知することによってユーザの学習を支援する、学習支援プログラムに適用できる。また、学習支援プログラムに限らず、手書き文字入力操作をタッチパネルを通して受け付け、受け付けられた入力操作に対応する手書き文字を認識する、文字認識プログラムにも適用できる。
【符号の説明】
【０１３３】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
１８ａ−１８ｈ，１８Ｌおよび１８Ｒ  …操作スイッチ
２０  …タッチパネル
２４  …スティック
２６  …メモリカード
４２  …ＣＰＵコア
４８  …ＲＡＭ
５０  …Ｉ／Ｆ回路
５２，５４  …ＧＰＵ
５６，５８  …ＶＲＡＭ
６０  …ＬＣＤコントローラ
【図１】
0005603305.tif 000002
【図２】
0005603305.tif 000003
【図３】
0005603305.tif 000004
【図４】
0005603305.tif 000005
【図５】
0005603305.tif 000006
【図６】
0005603305.tif 000007
【図７】
0005603305.tif 000008
【図８】
0005603305.tif 000009
【図９】
0005603305.tif 000010
【図１０】
0005603305.tif 000011
【図１１】
0005603305.tif 000012
【図１２】
0005603305.tif 000013
【図１３】
0005603305.tif 000014
【図１４】
0005603305.tif 000015