(57)【特許請求の範囲】
【請求項１】
表示面を有する表示手段と、
ユーザによって移動させられる指示体により前記表示面上で指示された位置を検出する位置検出手段と、
前記位置検出手段により検出された位置を順次連ねた検出軌跡が文字を表しているか否かを判定して、当該検出軌跡が文字を表している場合に当該文字を文字記憶手段に記憶させるための第１プログラムと、前記文字記憶手段に記憶されている文字を記録し前記表示手段に表示するための第２プログラムとを実行する制御手段と、
文字を表していない軌跡として定められた非文字軌跡を記憶する非文字記憶手段と
を備え、
前記制御手段は、前記第２プログラムを実行することにより文字の記録及び表示を行い得る、という状態となっていないときに、前記第１プログラムを実行して、前記検出軌跡が文字を表していると判定した場合には、前記第２プログラムを実行して当該文字の記録及び表示を行い、前記検出軌跡のうち、前記非文字記憶手段に記憶されている前記非文字軌跡に合致しない軌跡が文字を表しているか否かを判定する
ことを特徴とする情報処理装置。
【請求項２】
前記非文字記憶手段は、前記表示面に表示される画像の種類に応じて異なる前記非文字軌跡を記憶し、
前記制御手段は、画像の種類を判別し、前記検出軌跡のうち、前記判別した画像の種類に応じて前記非文字記憶手段に記憶されている前記非文字軌跡に合致しない軌跡が文字を表しているか否かを判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段により前記文字が前記表示手段に表示された後の決められた時間以内に前記第２プログラムが終了した場合に、当該制御手段により文字を表していると判定された前記検出軌跡を前記非文字軌跡として非文字記憶手段に記憶させる第１記憶制御手段を備える
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記検出軌跡に基づいて前記表示面に表示されている画像が他の画像に遷移した場合に、当該遷移が行われるまでの前記検出軌跡を前記非文字軌跡として前記非文字記憶手段に記憶させる第２記憶制御手段を備える
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記制御手段は、前記検出軌跡のうち前記非文字軌跡に合致する軌跡が所定の条件を満たすか否かを判断し、条件を満たすと判断した当該軌跡を含む前記検出軌跡が文字を表しているか否かを判定する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
表示面を有する表示手段と、
ユーザによって移動させられる指示体により前記表示面上で指示された位置を検出する位置検出手段と、
前記位置検出手段により検出された位置を順次連ねた検出軌跡が文字を表しているか否かを判定して、当該検出軌跡が文字を表している場合に当該文字を文字記憶手段に記憶させるための第１プログラムと、前記文字記憶手段に記憶されている文字を記録し前記表示手段に表示するための第２プログラムとを実行する制御手段と、
複数の文字からなるフレーズを記憶するフレーズ記憶手段と
を備え、
前記制御手段は、前記第２プログラムを実行することにより文字の記録及び表示を行い得る、という状態となっていないときに、前記第１プログラムを実行して、前記検出軌跡が文字を表していると判定した場合には、前記第２プログラムを実行して当該文字の記録及び表示を行い、文字を表していると判定した複数の前記検出軌跡が表す文字をそれぞれ特定し、特定した複数の文字が前記フレーズ記憶手段に記憶されているフレーズに一致しないときは、複数の当該検出軌跡が文字を表していないと判定する
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが文字を入力するための技術に関する。
【背景技術】
【０００２】
ユーザが指やペンなどの指示体で描いた軌跡を文字として認識する技術がある。特許文献１には、入力装置が、予め設定された編集記号がユーザによって描画されると文章の編集を行い、それ以外の場合には文字の入力を受け付ける技術について記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１３１１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ユーザは、何かを見聞きしたときや思いついたことなどがあったときに、その内容を忘れないうちに即座に文字で書き留めておきたいと思うことがある。特許文献１に係る技術では、文字又は編集記号（以下、単に文字という）が描画されると描画された軌跡を表示しそれを文字として認識するためのプログラムが起動され、さらに、その描画のための描画エリアが設けられた描画用の画像が表示されているというように、文字の描画、表示及び認識のための準備が整った状態で文字を描画するようになっている。そのため、ユーザが即座に文字を描こうとしても、例えばそのプログラムを起動させるためのアイコンをいわゆるダブルクリックをするとか複数のプログラムが列挙されたリストから起動対象のプログラムを選択するというように、まずそのプログラムを起動して描画用の画像を表示させるために、文字を描く行為とは異なる操作が必要であり、その操作に手間や時間がかかってしまう。
そこで、本発明は、文字の記録及び表示を行うためのプログラムを実行させるために、文字を描く行為とは異なる操作を、ユーザが意識的に行わなくても、ユーザが描いた文字を記録及び表示することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を達成するために、本発明は、表示面を有する表示手段と、ユーザによって移動させられる指示体により前記表示面上で指示された位置を検出する位置検出手段と、前記位置検出手段により検出された位置を順次連ねた検出軌跡が文字を表しているか否かを判定して、当該検出軌跡が文字を表している場合に当該文字を文字記憶手段に記憶させるための第１プログラムと、前記文字記憶手段に記憶されている文字を記録し前記表示手段に表示するための第２プログラムとを実行する制御手段と、文字を表していない軌跡として定められた非文字軌跡を記憶する非文字記憶手段とを備え、前記制御手段は、前記第２プログラムを実行することにより文字の記録及び表示を行い得る、という状態となっていないときに、前記第１プログラムを実行して、前記検出軌跡が文字を表していると判定した場合には、前記第２プログラムを実行して当該文字の記録及び表示を行い、前記検出軌跡のうち、前記非文字記憶手段に記憶されている前記非文字軌跡に合致しない軌跡が文字を表しているか否かを判定することを特徴とする情報処理装置を提供する。
【０００６】
また、前記非文字記憶手段は、前記表示面に表示される画像の種類に応じて異なる前記非文字軌跡を記憶し、前記制御手段は、画像の種類を判別し、前記検出軌跡のうち、前記判別した画像の種類に応じて前記非文字記憶手段に記憶されている前記非文字軌跡に合致しない軌跡が文字を表しているか否かを判定してもよい。
【０００７】
また、前記制御手段により前記文字が前記表示手段に表示された後の決められた時間以内に前記第２プログラムが終了した場合に、当該制御手段により文字を表していると判定された前記検出軌跡を前記非文字軌跡として非文字記憶手段に記憶させる第１記憶制御手段を備えていてもよい。
さらに、前記検出軌跡に基づいて前記表示面に表示されている画像が他の画像に遷移した場合に、当該遷移が行われるまでの前記検出軌跡を前記非文字軌跡として前記非文字記憶手段に記憶させる第２記憶制御手段を備えていてもよい。
【０００８】
また、前記制御手段は、前記検出軌跡のうち前記非文字軌跡に合致する軌跡が所定の条件を満たすか否かを判断し、条件を満たすと判断した当該軌跡を含む前記検出軌跡が文字を表しているか否かを判定してもよい。
また、本発明は、表示面を有する表示手段と、ユーザによって移動させられる指示体により前記表示面上で指示された位置を検出する位置検出手段と、前記位置検出手段により検出された位置を順次連ねた検出軌跡が文字を表しているか否かを判定して、当該検出軌跡が文字を表している場合に当該文字を文字記憶手段に記憶させるための第１プログラムと、前記文字記憶手段に記憶されている文字を記録し前記表示手段に表示するための第２プログラムとを実行する制御手段と、複数の文字からなるフレーズを記憶するフレーズ記憶手段とを備え、前記制御手段は、前記第２プログラムを実行することにより文字の記録及び表示を行い得る、という状態となっていないときに、前記第１プログラムを実行して、前記検出軌跡が文字を表していると判定した場合には、前記第２プログラムを実行して当該文字の記録及び表示を行い、文字を表していると判定した複数の前記検出軌跡が表す文字をそれぞれ特定し、特定した複数の文字が前記フレーズ記憶手段に記憶されているフレーズに一致しないときは、複数の当該検出軌跡が文字を表していないと判定することを特徴とする情報処理装置を提供する。
【発明の効果】
【００１２】
本発明によれば、文字の記録及び表示を行うためのプログラムを実行させるために、文字を描く行為とは異なる操作を、ユーザが意識的に行わなくても、ユーザが描いた文字を記録及び表示することができる。
【図面の簡単な説明】
【００１３】
【図１】第１実施形態に係る情報処理装置の構成を示すブロック図である。
【図２】情報処理装置の外観を示す図である。
【図３】表示面に表示される画像の例を示す図である。
【図４】手書き文字入力処理の手順を示すフローチャートである。
【図５】検出軌跡の一例を示す図である。
【図６】手書き文字入力処理の結果表示される画像の一例を示す図である。
【図７】第２実施形態に係る手書き文字入力処理の手順を示すフローチャートである。
【図８】第３実施形態に係る情報処理装置の構成を示すブロック図である。
【図９】指示体の種類と接触面積との関係を示す図である。
【図１０】指示体角度について説明するための図である。
【図１１】第３実施形態の手書き文字入力処理の手順を示すフローチャートである。
【図１２】操作軌跡の例を示す図である。
【図１３】非文字軌跡の例を示す図である。
【図１４】第４実施形態の手書き文字入力処理の手順を示すフローチャートである。
【図１５】第５実施形態の手書き文字入力処理の手順を示すフローチャートである。
【図１６】第５実施形態の手書き文字入力処理の手順を示すフローチャートである。
【図１７】第６実施形態の手書き文字入力処理の手順を示すフローチャートである。
【図１８】制御部が実現する機能を示す機能ブロック図である。
【発明を実施するための形態】
【００１４】
［第１実施形態］
以下、本発明の第１実施形態について図面を参照して説明する。
図１は、本発明の第１実施形態に係る情報処理装置１０の構成を示すブロック図である。情報処理装置１０は、タッチスクリーンにより操作が行われるいわゆるスマートフォンである。情報処理装置１０は、制御部１００と、記憶部２００と、通信部３００と、音声入出力部４００と、タッチスクリーン部５００とを備える。通信部３００は、図示せぬ移動通信網に無線で接続する接続手段であり、その移動通信網を介して他の情報処理装置と音声又は文字等のデータを送受信する。音声入出力部４００は、スピーカ、マイクロフォン及び音声処理回路等を備えており、通話に係る音声の入出力を行う。
【００１５】
記憶部２００は、例えばハードディスク等の記憶手段であり、制御部１００が制御に用いるデータやプログラムを記憶している。記憶部２００は、平仮名や漢字などの文字と、複数の文字からなる様々なフレーズとを記録した辞書を表す辞書データを記憶している。制御部１００は、ＣＰＵ（Central Processing Unit）等の演算装置と、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）等の記憶装置とを備えている。ＲＯＭは、プログラム等を記憶している。ＣＰＵは、ＲＯＭや記憶部２００に記憶されたプログラムを実行することによって、情報処理装置１０の各部の動作を制御し、また、データの処理を実施する。ＣＰＵが実行するプログラムは、例えば、情報処理装置１０のＯＳ（Operating System）や、このＯＳ上で実行されるプログラムである。ＲＡＭは、ＣＰＵがプログラムを実行するときに、そのプログラム及びデータ等を一時的に記憶させるワークエリアとして用いられる。
【００１６】
タッチスクリーン部５００は、画像を表示するとともにユーザの操作を受け付ける手段であり、表示部５１０とタッチセンサ５２０とを備える。表示部５１０は、表示面を有する表示手段である。表示部５１０は、液晶素子や有機ＥＬ（electroluminescence）素子によりその表示面に画像を表示する表示パネルと、表示パネルを駆動する駆動回路等とを備える。タッチセンサ５２０は、前述の表示面と大きさ及び形状が概ね同じであり、その表示面に重ねて設けられている。タッチセンサ５２０は、例えば、表示面を指示する指示体との静電結合を利用してその指示体が指示する位置を検出する静電容量方式のセンサである。静電容量方式のセンサでは、指示体が表示面に接触しているときであれば、指示体の表面の領域のうち、表示面と接触している部分（以下「接触領域」という。）とタッチセンサ５２０とが１つのコンデンサを形成する。タッチセンサ５２０は、自センサ上の各位置の静電容量を測定できるようになっている。タッチセンサ５２０は、測定した静電容量の分布から静電容量が周囲に比べて大きくなっている部分を接触領域として特定する。タッチセンサ５２０は、特定した接触領域の中心を割り出し、その中心の位置を、指示体により指示されている位置として検出する位置検出手段として機能する。タッチセンサ５２０は、ユーザによって移動させられる指示体により表示面上で指示された位置を、決められた間隔（例えば０．５秒置き）で連続的に検出する。タッチセンサ５２０は、検出した位置を示すデータ（位置データという）を制御部１００に供給する。
【００１７】
図２は、情報処理装置１０の外観を示す図である。図２を含む以下の図においては、互いに直角に交わるＸ軸、Ｙ軸及びＺ軸で方向を表す。各軸を示す矢印が指す方向を、それぞれの軸の正方向（例えばＸ軸正方向）といい、特に正方向か負方向かを示さない場合は単にその軸の方向（例えばＸ軸方向）というものとする。図２（ａ）は、Ｚ軸負方向に見た情報処理装置１０を示しており、図２（ｂ）は、Ｘ軸負方向に見た情報処理装置１０を示している。情報処理装置１０は、Ｚ軸方向の寸法がＸ軸方向及びＹ軸方向の寸法よりも小さい直方体の形状をしている。情報処理装置１０が有する６つの面は、それぞれＸ軸方向、Ｙ軸方向又はＺ軸方向に向いている。そのうちのＺ軸正方向に向いている面に、表示面５１１及びスピーカ４０１が設けられている。表示面５１１は、長方形の形状をしている。上記のＸ軸、Ｙ軸及びＺ軸は、ＸＹＺ直交座標系を表しており、その原点が、表示面５１１の角の１つ（ここでは図２の表示面５１１の左上隅）に位置しているものとする。これにより、表示面５１１上の位置は、ＸＹ直交座標系におけるｘ座標及びｙ座標で示されることになる。
【００１８】
上記のとおり、表示面５１１には、タッチセンサ５２０が重ねて設けられている。図２では、指示体２０が表示面５１１上を指示する位置をタッチセンサ５２０が検出する例を示している。この指示体２０は、ユーザの人差し指である。図２（ｂ）では、指示体２０が表示面５１１に接触したままＹ軸正方向に移動している様子を示している。図２（ａ）では、指示体２０が図２（ｂ）に示すように移動したときに特定される接触領域Ｑ１１、Ｑ１２、Ｑ１３、Ｑ１４と、検出される表示面５１１上の位置Ｐ１１、Ｐ１２、Ｐ１３、Ｐ１４とを示している。タッチセンサ５２０は、各接触領域に含まれるＸＹ直交座標系における座標の集合を、それぞれの接触領域として特定する。そして、タッチセンサ５２０は、例えば、特定した接触領域に含まれる各ｘ座標及び各ｙ座標のそれぞれの平均値を算出し、算出したｘ座標及びｙ座標が表す位置を、指示体により指示されている位置として検出する。タッチセンサ５２０は、このような位置の検出を、上記のとおり、予め決められた間隔で実行する。図２では、タッチセンサ５２０は、位置の検出を４回実行している。タッチセンサ５２０は、これらの位置を検出する度に、検出した位置を示す座標を位置データとして制御部１００に供給する。
【００１９】
制御部１００は、位置データが供給されてきた時刻と、その位置データが表す座標とを対応付けたデータを、例えばＲＡＭに記憶させる。こうして記憶されたデータは、時刻によって各位置が検出された順番を表し、座標によって指示体が指示した位置を表す。この例であれば、位置Ｐ１１、Ｐ１２、Ｐ１３及びＰ１４の順番でこれらの位置の座標を結ぶことで、検出軌跡Ｔ１が表される。この検出軌跡Ｔ１は、タッチセンサ５２０により検出された位置を順次連ねた軌跡であり、指示体により描画された軌跡を表している。以下では、制御部１００がＲＡＭに記憶させるこのデータを、「検出軌跡データ」という。
【００２０】
表示面５１１には、表示部５１０により、ユーザに情報を伝達したり、ユーザに操作させたりするための画像が表示される。
図３は、表示面５１１に表示される画像の例を示す図である。図３（ａ）では、表示面５１１に起動画像Ｓ１が表示されている。起動画像Ｓ１は、情報処理装置１０の記憶部２００やＲＯＭに記憶されたプログラムを起動させるための画像である。起動画像Ｓ１には、プログラムＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、Ｇをそれぞれ起動させるためのアイコン群Ｒ１が表されている。アイコン群Ｒ１に含まれる各アイコンには、「Ａ」や「Ｂ」などの各プログラムの名称が表されている。起動画像Ｓ１は、図３（ａ）に示す状態で固定されているわけではなく、例えば或るアイコンをドラッグすると、そのアイコンが別の場所に表示される画像となる。そのようにアイコンの位置が変わったり、起動させるプログラムが変わったりした場合であっても、その画像を起動画像Ｓ１というものとする。
【００２１】
図３（ｂ）では、表示面５１１に実行画像Ｓ２が表示されている。実行画像Ｓ２は、プログラムＡが起動されて実行されているときに表示される画像である。プログラムＡは、入力された文字を表示及び記録するためのプログラムである。実行画像Ｓ２には、実行されているプログラム名（プログラムＡ）と、入力された文字を表示する領域Ｒ２と、文字が入力されるときに操作される日本語テンキーＲ３とが表されている。また、実行画像Ｓ２には、領域Ｒ２に表示されている文字を記録するときに操作される記録ボタン画像Ｒ４と、領域Ｒ２に表示されている文字を削除するときに操作される削除ボタン画像Ｒ５と、プログラムＡを終了させるときに操作される終了ボタン画像Ｒ６とが表されている。図３（ｂ）では、領域Ｒ２に「入力された文字を表示中。」という文字が表示されている。このように、プログラムＡは、文字を記録及び表示するためのプログラムである。ここでいう記録とは、入力された文字を記憶部２００に記憶させることだけに限らず、制御部１００がその文字を表示させるために一時的にＲＡＭに記憶させることも含んでいる。
【００２２】
表示部５１０は、図３に示した画像以外にも、例えばプログラムＢからＧまでの各々が実行されているときに表示される画像など、様々な画像が表示される。これらのプログラムＢからＧまでのうち、プログラムＢは電子メールをやり取りためのプログラムであり、プログラムＣはスケジュールを管理するためのプログラムである。プログラムＢ、Ｃは、いずれも、プログラムＡと同様に、文字を記録及び表示するためのプログラムでもある。以下では、プログラムＡ、Ｂ、Ｃのように文字を記録及び表示するためのプログラムのことを「文字プログラム」という。
【００２３】
情報処理装置１０の記憶部２００には、図３で示した各プログラムの他に、ユーザが手書きの文字を入力するためのプログラムＺが記憶されている。情報処理装置１０の制御部１００は、情報処理装置１０の電源が投入されたときに、上述したＯＳをまず起動する。そして、制御部１００は、ＯＳを起動させた後にプログラムＺを起動させ、プログラムＺを常駐させておく。ここにおいて、常駐とは、プログラムを実行するために必要なデータをＲＡＭに記憶させておき、常時そのプログラムを実行している状態を維持することをいう。制御部１００は、プログラムＺを常駐させることで、ユーザがいつでも手書き文字を入力できるようにするための手書き文字入力処理を実行する。この手書き文字入力処理は、プログラムＺが常駐している間、実行され続ける。
【００２４】
図４は、手書き文字入力処理の手順を示すフローチャートである。まず、制御部１００は、例えばユーザの指等の指示体によってタッチスクリーン部５００への接触が有るか否かを判断する（ステップＳ１１）。具体的には、制御部１００は、タッチセンサ５２０により位置が検出された場合に、タッチスクリーン部５００への接触が有ると判断し、検出されなかった場合に、接触がないと判断する。制御部１００は、ステップＳ１１において否と判断した場合は、ステップＳ１１の処理を再び実行する。つまり、制御部１００は、プログラムＺが実行されている（常駐している）間は、タッチスクリーン部５００への接触が有ると判断されるまで、すなわち、上記の位置が検出されるまで、ステップＳ１１を繰り返す。
【００２５】
制御部１００は、タッチスクリーン部５００への接触が有ると判断した場合（ステップＳ１１：ＹＥＳ）、その判断をしたときから所定の時間（例えば３０秒）が経過するまでの間、上述した検出軌跡データを記憶部２００に記憶させ続ける（ステップＳ１２）。これらのステップＳ１１、Ｓ１２は、ユーザが表示面５１１に手書きの文字を描画したときの他に、ユーザが表示面５１１を指示して操作を行ったときにも行われる。そのため、ステップＳ１２において記憶された検出軌跡データは、手書きの文字を表している場合もあれば、そうでない場合もある。
【００２６】
続いて、制御部１００は、記憶させた検出軌跡データにより表される検出軌跡が、文字を表しているか否か判断する（ステップＳ１３）。ステップＳ１３で行われる処理について、図５を参照しながら説明する。
図５は、検出軌跡の一例である検出軌跡Ｔ１００を示す図である。検出軌跡Ｔ１００は、起動画像Ｓ１が表示されているときに、ユーザが表示面５１１を指示して描画した軌跡である。制御部１００は、ステップＳ１２において検出軌跡データを記憶させ続けている間、その検出軌跡データが表す検出軌跡を表示させない。図５（ａ）では、起動画像Ｓ１に重ねて検出軌跡Ｔ１００を破線で示しているが、この検出軌跡Ｔ１００は、実際には表示されていない。検出軌跡Ｔ１００は、「てがき」という手書きの文字を表している。図５（ｂ）では、検出軌跡Ｔ１００に含まれる検出軌跡を示している。検出軌跡Ｔ１００は、検出軌跡Ｔ１１からＴ２０までの１０個の検出軌跡を含んでいる。検出軌跡Ｔ１１は、「て」という手書きの文字を表し、検出軌跡Ｔ１２からＴ１６までは、「が」という手書きの文字を表している。また、検出軌跡Ｔ１７からＴ２０までは、「き」という手書きの文字を表している。
【００２７】
ステップＳ１３において、制御部１００は、検出軌跡Ｔ１００の全体に対して、公知のいわゆるオフライン文字認識の技術を用いて文字認識を行う。例えば、制御部１００は、まず、検出軌跡Ｔ１００をいくつかに区切って、検出軌跡の塊を抽出する。この例では、制御部１００は、検出軌跡Ｔ１１と、Ｔ１２からＴ１６までと、Ｔ１７からＴ２０までとを検出軌跡の塊として抽出する。そして、制御部１００は、これらの検出軌跡の塊の形状やその塊に含まれる線分の特徴を表す特徴量と、記憶部２００が記憶する辞書データに記録されている各文字における同様の特徴量とを比較し、それらの特徴量の類似度を算出する。制御部１００は、全ての文字の中で類似度が最大となる文字との類似度（以下「最大類似度」という。）を算出する。制御部１００は、この最大類似度を、全ての検出軌跡の塊に対して算出する。そして、制御部１００は、最大類似度が１つでも閾値（類似度閾値という）を超えた場合、その検出軌跡の全体（この例では検出軌跡Ｔ１００）が文字を表していると判断する（ステップＳ１３：ＹＥＳ）。一方、制御部１００は、どの最大類似度も類似度閾値を超えなかった場合、検出軌跡が文字を表していないと判断し（ステップＳ１３：ＮＯ）、ステップＳ１１に戻って処理を実行する。
【００２８】
ステップＳ１３がＹＥＳであった場合、制御部１００は、最大類似度が類似度閾値を超えた検出軌跡の塊においてその最大類似度が算出された文字を特定する（ステップＳ１４）。図５の例では、制御部１００は、各検出軌跡の塊が表す「て」、「が」、「き」という３つの文字を特定する。制御部１００は、特定したこれらの文字を示す文字データを、ＲＡＭに記憶する。このＲＡＭは、検出軌跡が文字を表している場合に制御部１００によりその文字が記憶させられる文字記憶手段として機能する。次に、制御部１００は、タッチスクリーン部５００への接触が終了したときに、上述した文字プログラムのいずれかを起動し（ステップＳ１５）、特定した文字を表示させる（ステップＳ１６）。制御部１００は、例えば、タッチセンサ５２０が決められた時間（例えば３秒）位置を検出しなかったときに、上記接触が終了したと判断する。ステップＳ１５で起動される文字プログラムは予め決められており、本実施形態においては、プログラムＡが起動される。制御部１００は、ＲＡＭに記憶されている文字データをプログラムＡに渡すことで、この文字データが示す文字をステップＳ１６において表示させる。
【００２９】
図６は、手書き文字入力処理の結果、ステップＳ１６において表示される画像の一例を示す図である。図６では、表示面５１１に、実行画像Ｓ２が表示されている。この実行画像Ｓ２の領域Ｒ２には、上記の手書き文字入力処理において入力された文字である「てがき」という文字が表示されている。ステップＳ１６の処理を行うと、制御部１００は、ステップＳ１１に戻って処理を実行する。制御部１００が以上のとおり手書き文字入力処理を行うことにより、ユーザは、文字を記録及び表示させるためのプログラム（すなわち文字プログラム）が実行されていないときであっても、文字プログラムを起動する操作を行うことなく、即座に文字を入力して、入力した文字を記録及び表示させることができる。言い換えれば、ユーザは、文字プログラムを実行させるために、文字を描く行為とは異なる操作を意識的に行わなくても、描いた文字を記録及び表示することができる。
【００３０】
［第２実施形態］
本発明の第２実施形態に係る情報処理装置は、第１実施形態の情報処理装置１０と構成が共通しているため、同一の符号を付して説明する。情報処理装置１０のようなスマートフォンは、例えば鞄の中に入れて持ち運ばれることがある。その場合、タッチセンサ５２０が位置を検出しない状態にされているのが普通である。そのタッチセンサ５２０が何かの拍子で位置を検出する状態となった場合に、表示面５１１が鞄の中の物に接触し、検出軌跡データが記憶されることがある。その検出軌跡データが表す検出軌跡が、偶然何らかの文字を表していた場合に、ユーザが意図しない文字が表示されることになる。この文字は、偶然できあがったものであるから、意味のあるフレーズとなっていない場合が多い。本実施形態は、このような場合に、意味のないフレーズを表示させないという点で、第１実施形態と異なる。
【００３１】
図７は、第２実施形態に係る手書き文字入力処理の手順を示すフローチャートである。この手書き文字入力処理において、制御部１００は、まず、図４に示したステップＳ１１からステップＳ１４までと同様の処理を行う。制御部１００は、ステップＳ１４において、検出軌跡が表す文字を特定すると、次に、その特定した文字が意味のあるフレーズとなっているか否かを判断する（ステップＳ２１）。詳細には、制御部１００は、特定した文字と、記憶部２００に記憶されている辞書データに記録されているフレーズとを比較して、一致するものがあれば、意味のあるフレーズとなっていると判断し（ステップＳ２１：ＹＥＳ）、一致するものがなければ、意味のあるフレーズとなっていないと判断する（ステップＳ２１：ＮＯ）。制御部１００は、ステップＳ２１でＮＯと判断した場合、ステップＳ１１に戻って処理を実行する。一方、制御部１００は、ステップＳ２１でＹＥＳと判断した場合、図４に示したステップＳ１５、Ｓ１６の処理を行い、文字プログラムを実行することで特定した文字を表示させる。
本実施形態によれば、意味のないフレーズが描画された場合に文字プログラムを起動させないようにすることで、ユーザが意図してない文字プログラムの起動を減らすことができる。
【００３２】
［第３実施形態］
本発明の第３実施形態に係る情報処理装置は、タッチスクリーン部に近接センサが備えられている点と、タッチセンサ５２０が上述した接触領域（指示体の表面の領域のうち、表示面５１１と接触している領域）の面積を検出するという点で、第１実施形態の情報処理装置１０とは構成が異なる。
図８は、第３実施形態に係る情報処理装置１０ａの構成を示すブロック図である。情報処理装置１０ａは、タッチスクリーン部５００ａを備える。タッチスクリーン部５００ａは、表示部５１０及びタッチセンサ５２０に加え、近接センサ５３０とを備える。タッチセンサ５２０は、図２で述べたとおり特定した接触領域を表す座標の集合を表すデータを制御部１００に供給する。制御部１００は、供給されたこのデータから、接触領域の面積（以下「接触面積」という。）を検出する。詳細には、制御部１００は、例えば、このデータが表す座標の集合から、三角形を形作る３つの座標の組み合わせであり、かつ、その三角形の内部に他の座標が位置しないような全ての組み合わせを抽出し、これらの三角形の面積を合計したものを接触面積として検出する。
【００３３】
近接センサ５３０は、タッチセンサ５２０とともに、表示部５１０の表示面５１１に重ねて設けられている。近接センサ５３０は、赤外線型のセンサであり、赤外線を発する複数の発光素子と、光を受けとって電気信号に変換する複数の受光素子を備えている。これらの素子は、図２に示すＸＹ直交座標系に従って配置されている。発光素子から発せられた赤外線が、測定対象物に当たって反射してくると、受光素子は、反射した赤外線を受光する。測定対象物が近いほど反射光の強度が増すため、近接センサ５３０は、受光素子の受光強度に基づいて表示面５１１と対象物との距離、つまり図２に示すＺ座標値を測定すると、Ｘ座標、Ｙ座標及びＺ座標の各座標値を検出結果を表すデータとして制御部１００に供給する。
【００３４】
ユーザが表示面５１１を指示する場合、その指示体としては、ユーザの手の指や、いわゆるスタイラスペンのようなペン型のものが用いられることが多い。指示体に用いられるものが何であるかによって、その接触面積が異なる。
図９は、指示体の種類と接触面積との関係を示す図である。図９（ａ）では、親指及び人差し指を指示体とした指示体２１及び２２と、ペン型の指示体２３とが表示面５１１に接触している状態を示している。図９（ｂ）では、これらの指示体２１、２２及び２３の接触面積Ｑ２１、Ｑ２２及びＱ２３をそれぞれ示している。図９（ｂ）に示すように、これらの接触面積の大きさの関係は、Ｑ２１＞Ｑ２２＞Ｑ２３となることが多い。ユーザが表示面５１１を指示するとき、接触面積が小さいほど、接触領域の輪郭と指示している位置との距離が小さくなる。つまり、ユーザは、接触面積が小さいほど、指示体の接触領域全体の位置から自分が指示している位置を思い描くことが容易となる。反対に、接触面積が大きいほど、ユーザは、自分が指示している位置を思い描くことが困難となり、文字としての正確な形のとおりに軌跡を描画することが難しくなる。このため、ユーザが手書きの文字を描画する場合、人差し指か、ペン型の指示体が用いられることが多く、親指が用いられることは少ない。言い換えれば、親指のように接触面積が大きい指示体が用いられた場合は、文字が入力された可能性が低い。
【００３５】
また、ユーザは、表示面５１１を指示して手書きの文字を描画する場合、指示体と表示面５１１とがなす角度（以下「指示体角度」という。）を比較的大きくすることが多い。以下、図１０を参照して、指示体角度について説明する。
図１０は、指示体角度について説明するための図である。図１０（ａ）では、上記の指示体２２（人差し指）の指示体角度の例を示している。指示体２２は人差し指であるため、長手方向Ｖ１と短手方向Ｖ２とを有する棒状となっている。長手方向Ｖ１は、人差し指の根本から指先に向かう方向であり、短手方向Ｖ２は、長手方向Ｖ１に直交する方向である。長手方向Ｖ１は、人差し指を回転体とみなしたときの軸に沿った方向でもある。この長手方向Ｖ１が表示面５１１に対してなす角度θ１が、指示体角度である。図１０（ａ）では、指示体角度がθ１となっている。
【００３６】
上記のとおり、ユーザは、接触面積が小さいほど、指示体の接触領域全体の位置から自分が指示している位置を思い描くことが容易となる。例えば人差し指を指示体とした場合、表示面５１１に対して人差し指を立てる、すなわち、指示体と表示面５１１とがなす角度を９０度に近づけるほど、この接触面積は小さくなる。そのため、ユーザは、人差し指を指示体とするときは、上記の角度を例えば４５度以上９０度以下にして、手書きの文字を描画することが多い。言い換えれば、指示体角度を４５度未満にした状態で指示体が用いられた場合は、文字が入力された可能性が低い。
【００３７】
制御部１００は、近接センサ５３０により供給される指示体２２を対象物として検出した結果を表すデータに基づき、上記指示体角度を検出する。図１０（ｂ）では、近接センサ５３０が検出した結果である各座標値が表す指示体２２上の点群Ｍ１を示している。近接センサ５３０は、表示面５１１から図中に示す距離Ｎ１までの空間に位置する指示体２２の座標値を検出する。距離Ｎ１は、近接センサ５３０が座標値を検出可能な範囲を表している。点群Ｍ１は、指示体２２、すなわち人差し指の表示面５１１に対向する面上に位置しており、長手方向Ｖ１に沿って分布している。制御部１００は、例えば、近接センサ５３０が検出した点群Ｍ１の各座標値を近似する平面を公知の技術を用いて算出する。この平面は、概ね長手方向Ｖ１に沿った平面となる。制御部１００は、算出した平面と表示面５１１とがなす角度を指示体角度として検出する。
【００３８】
図１１は、第３実施形態に係る手書き文字入力処理の手順を示すフローチャートである。この手書き文字入力処理において、制御部１００は、まず、図４に示したステップＳ１１と同様の処理を行う。続いて、制御部１００は、ステップＳ１２と同様に検出軌跡データを記憶部２００に記憶させ続けるが、その際、その検出軌跡データが表す軌跡を描画した指示体の接触面積及び指示体角度をともに記憶させ続ける（ステップＳ３１）。次に、制御部１００は、記憶部２００に記憶させた接触面積及び指示体角度が決められた範囲外にある軌跡を除いた検出軌跡が、文字を表しているか否かを判断する（ステップＳ３２）。ここでいう決められた範囲とは、接触面積であれば、例えば、０より大きく、図９で述べたＱ２２及びＱ２１の平均値以下の範囲（面積範囲という）である。例えば、ユーザが親指を接触させて軌跡を描画した場合は、接触面積がＱ２１となり、この面積範囲に含まれない。また、指示体角度であれば、例えば、図１０で述べたような４５度以上９０度以下の範囲（角度範囲という）である。
【００３９】
制御部１００は、ステップＳ３２においてＹＥＳと判断した場合、上記接触面積及び指示体角度がそれぞれの決められた範囲（上記の面積範囲及び角度範囲）外にある軌跡を除いた検出軌跡に対してステップＳ１４と同様の処理を行い、その検出軌跡が表す文字を特定する（ステップＳ３３）。そして、制御部１００は、ステップＳ１５及びＳ１６の処理を行って、ステップＳ１１に戻って処理を実行する。制御部１００は、ステップＳ３２においてＮＯと判断した場合も、ステップＳ１１に戻って処理を実行する。
本実施形態によれば、上記のように、親指のように接触面積が大きい指示体が用いられたときや、指示体角度を４５度未満にした状態で指示体が用いられたときなど、文字が入力された可能性が低いときの検出軌跡が文字と判断されることを少なくすることができる。
【００４０】
［第４実施形態］
本発明の第４実施形態に係る情報処理装置は、第１実施形態の情報処理装置１０と構成が共通しているため、同一の符号を付して説明する。情報処理装置１０においては、上述した手書き文字入力処理が、図３（ａ）に示すような起動画像Ｓ１が表示されているときにも行われる。その場合、例えば、あるアイコンを選択してプログラムを起動させる操作や、２枚目の起動画像があってその起動画像に遷移させる操作などによって描画される軌跡も、検出軌跡データとして記憶される。こうして記憶された検出軌跡データが、偶然何らかの文字と形が似ていて、文字として判断される場合がある。本実施形態は、このように手書きの文字の入力以外の画像の操作によって描画される軌跡（以下「操作軌跡」という。）を文字と判断しないようにするための処理が行われるという点で、第１実施形態と異なる。
【００４１】
図１２は、操作軌跡の例を示す図である。図１２（ａ）では、ユーザ以外の第三者が勝手に操作できないようにするためのロック画像Ｓ０が表示面５１１に表示されている。ロック画像Ｓ０には、９つの円形の画像が３行×３列の格子状に並んでいる。このロック画像Ｓ０は、ユーザが予め設定した順番にこれらの円形の画像をなぞることで、ロックが解除され、起動画像Ｓ１が表示されるようになっている。この例では、図１２（ａ）に示す操作軌跡Ｔ３１を図中の矢印の方向に描画することで、ロックが解除されるようになっている。図１２（ｂ）では、起動画像Ｓ１において、プログラムＡを起動させるための操作軌跡Ｔ３２、Ｔ３３が示されている。これらの操作軌跡Ｔ３２、Ｔ３３は、プログラムＡを起動させるためのアイコンを２度叩くように操作したこと（いわゆるダブルクリック）を表している。
【００４２】
図１２（ｃ）及び（ｄ）では、実行画像Ｓ２において、日本語テンキーＲ３を操作するためのフリックと呼ばれる操作が行われたときの操作軌跡Ｔ３４及びＴ３５がそれぞれ示されている。これらの図では、各操作軌跡を分かりやすく示すため、日本語テンキーＲ３のＸ軸方向の中央に配置されている４行×３列の「あ行」や「か行」の文字を入力するためのボタン以外を省略している。このフリックは、日本語テンキーＲ３に含まれる「あ行」や「か行」などの５０音の文字を簡単に選択するための操作方法である。具体的には、ユーザが「あ」や「か」と描かれた画像に指示体を接触させ、接触させたまま指示体をＸ軸方向又はＹ軸方向に所定の距離の範囲で移動させることで各方向に対応した文字が表示される。操作軌跡Ｔ３４及びＴ３５で表されるフリックの操作により、図１２（ｃ）では「ち」が表示され、図１２（ｄ）では「う」が表示されている。この状態で指示体を表示面５１１から離すことで、表示された文字（これらの例の場合「ち」及び「う」の文字）が入力される。ここでいう所定の距離の範囲は、この例では、Ｘ軸方向へのフリックであれば長さＬ１、Ｙ軸方向へのフリックであれば長さＬ２である。
【００４３】
記憶部２００は、図１２に示すような操作軌跡の形状を有する軌跡を予め記憶している。つまり、この軌跡は、操作軌跡が表す操作によって描画される軌跡であり、文字を表すものではない。以下では、この軌跡のように文字を表していない軌跡として定められたものを「非文字軌跡」という。
図１３は、非文字軌跡の例を示す図である。図１３（ａ）では、図１２（ａ）に示す操作軌跡Ｔ３１と同じ形状をした非文字軌跡Ｕ１が示されている。非文字軌跡Ｕ１は、Ｙ軸方向に細長い「Ｎ」の字の形状をしている。図１３（ｂ）では、図１２（ｂ）に示すようなダブルクリックを表す非文字軌跡Ｕ２、Ｕ３が示されている。非文字軌跡Ｕ２、Ｕ３は、互いの位置がこの図に示す関係に限られておらず、互いの中心同士の距離がＬ１以内であれば、他の方向に並んでいてもよいし、完全に重なっていてもよい。図１３（ｃ）及び（ｄ）では、図１２（ｃ）及び（ｄ）に示すフリックの操作における操作軌跡Ｔ３４及びＴ３５と同じ形状をした非文字軌跡Ｕ４及びＵ５が示されている。詳細には、非文字軌跡Ｕ４は、Ｘ軸方向に長さがＬ２の直線状の軌跡であり、非文字軌跡Ｕ５は、Ｙ軸方向に長さがＬ３の直線状の軌跡である。
【００４４】
制御部１００は、これらの非文字軌跡を用いて、手書き文字入力処理を行う。
図１４は、第４実施形態に係る手書き文字入力処理の手順を示すフローチャートである。制御部１００は、図４に示すステップＳ１１及びＳ１２の処理を行う。次に、制御部１００は、記憶させた検出軌跡データにより表される検出軌跡を記憶部２００に記憶されている非文字軌跡とマッチングさせる（ステップＳ４１）。制御部１００は、このマッチングを、例えばステップＳ１３において最大類似度を算出したような公知の技術を用いて行う。この処理により、制御部１００は、各検出軌跡を、非文字軌跡と合致するものとそうでないものに分けることになる。ここでいう合致するとは、完全に一致していなくとも、例えば上記の類似度が類似度閾値以上となる程度に形状が類似していることである。
【００４５】
続いて、制御部１００は、非文字軌跡と合致するものを除いた検出軌跡が文字を表しているか否かを判断する（ステップＳ４２）。制御部１００は、ステップＳ４２においてＹＥＳと判断した場合、非文字軌跡と合致するものを除いた検出軌跡に対してステップＳ１４と同様の処理を行い、その検出軌跡が表す文字を特定する（ステップＳ４３）。そして、制御部１００は、ステップＳ１５及びＳ１６の処理を行って、ステップＳ１１に戻って処理を実行する。制御部１００は、ステップＳ４２においてＮＯと判断した場合も、ステップＳ１１に戻って処理を実行する。
【００４６】
図１３で示したとおり、非文字軌跡Ｕ１は、大文字の「Ｎ」と形状が似ており、非文字軌跡Ｕ４はマイナス記号の「−」と、非文字軌跡Ｕ５は数字の「１」や小文字の「ｌ」と形状が似ている。しかし、これらの非文字軌跡は、上述のとおり大きさも決まっているため、これらの文字の検出軌跡と合致することは少ない。本実施形態によれば、上記の操作軌跡ように、文字が入力された可能性が低い検出軌跡が文字と判断されることを少なくすることができる。
【００４７】
［第５実施形態］
本発明の第５実施形態に係る情報処理装置は、第１実施形態の情報処理装置１０と構成が共通しているため、同一の符号を付して説明する。本実施形態は、第４実施形態と同様に、非文字軌跡と合致するものを除いた検出軌跡を文字であるか否かを判断するときの対象とするものである。一方、本実施形態は、予め記憶されている非文字軌跡に加え、或る条件が満たされた場合に、新たに非文字軌跡を記憶させる点で、第４実施形態と異なる。ここでいう或る条件について、図１５及び図１６を参照しながら説明する。
【００４８】
図１５は、第５実施形態に係る手書き文字入力処理の手順の一例を示すフローチャートである。制御部１００は、ステップＳ１１からＳ１６まで、図１４に示す各処理と同様に実行する。続いて、制御部１００は、ステップＳ１５において起動させたプログラムを、決められた時間（例えば２０秒）以内に終了させたか否かを判断する（ステップＳ５１）。制御部１００は、ステップＳ５１において否（ＮＯ）と判断した場合、ステップＳ１１に戻って処理を実行する。一方、制御部１００は、ステップＳ５１において終了させた（ＹＥＳ）と判断した場合、ステップＳ４２、Ｓ４３において用いた非文字軌跡と合致するものを除く検出軌跡を、非文字軌跡として記憶部２００に記憶させる（ステップＳ５２）。この検出軌跡が既に非文字軌跡として記憶されていた場合、制御部１００は、この処理のキャンセル又は上書きの処理を行う。そして、制御部１００は、ステップＳ１１に戻って処理を実行する。
【００４９】
図１６は、第５実施形態に係る手書き文字入力処理の手順の別の一例を示すフローチャートである。制御部１００は、図１４に示すステップＳ１１の処理を実行する。次に、制御部１００は、タッチスクリーン部５００への接触が有ると判断する、すなわちタッチセンサ５２０が位置を検出する度に、検出軌跡データを記憶させ続ける一方、その検出軌跡データが表す検出軌跡が、何らかの操作がされたことを表す操作軌跡であれば、その操作に応じた処理を同時に実行する。例えば、制御部１００は、起動画像Ｓ１が表示されている状態で、ステップＳ１２の処理中に別の起動画像に画像を表示させるように画像を切り替えるための操作が行われた場合、別の起動画像を表示させる処理を行いつつ、その操作により描画された軌跡（上記の操作軌跡）の検出軌跡データを記憶させる。この処理が行われた場合、表示面５１１に表示されている画像は、起動画像Ｓ１から別の起動画像に遷移する。制御部１００は、このような画像の遷移が有ったか否かを示すデータ（遷移有無データという）を、所定の時間の間、検出軌跡データとともに記憶部２００に記憶させ続ける（ステップＳ６１）。
【００５０】
続いて、制御部１００は、記憶させた上記遷移有無データに基づき、ステップＳ６１の処理中に画像の遷移があったか否かを判断する（ステップＳ６２）。制御部１００は、遷移有無データが画像の遷移がなかったことを表していれば、ステップＳ６２において否（ＮＯ）と判断し、遷移があったことを表していれば、ステップＳ６２において画像の遷移が有った（ＹＥＳ）と判断する。制御部１００は、ステップＳ６２においてＮＯと判断した場合、ステップＳ４１の処理を実行する。一方、制御部１００は、ステップＳ６２においてＹＥＳと判断した場合、その画像の遷移前の検出軌跡を非文字軌跡として記憶部２００に記憶させる（ステップＳ６３）。この検出軌跡が既に非文字軌跡として記憶されていた場合、制御部１００は、図１５の例と同様に、この処理のキャンセル又は上書きの処理を行う。
【００５１】
ステップＳ６１において画像を操作するつもりでユーザが描画した軌跡が、非文字軌跡として記憶されておらず、かつ、偶然何らかの文字に形が似ていたときに、ユーザの意図に反して文字として判断される場合がある。そのような場合に文字として判断された検出軌跡は、その手書き文字入力処理が終了した後には非文字軌跡として記憶されているため、文字として判断されることがなくなる。このように、本実施形態によれば、ユーザの意図に反して文字として判断される検出軌跡を減らして行くことができる。
【００５２】
［第６実施形態］
本発明の第６実施形態に係る情報処理装置は、第１実施形態の情報処理装置１０と構成が共通しているため、同一の符号を付して説明する。本実施形態は、第４実施形態と同様に、非文字軌跡を用いるものであるが、非文字軌跡と合致する検出軌跡のうち、或る条件を満たすものを、文字であるか否かを判断するときの対象から除くという点で、第４実施形態と異なる。
【００５３】
図１７は、第６実施形態に係る手書き文字入力処理の手順を示すフローチャートである。制御部１００は、図１４に示すステップＳ１１、Ｓ１２、Ｓ４１と同様の処理をまず行う。次に、制御部１００は、ステップＳ４１において非文字軌跡と合致した検出軌跡が或る条件を満たす場合、それらを除いた検出軌跡の塊が文字であるか否かを判断する（ステップＳ７１）。言い換えると、制御部１００は、非文字軌跡と合致し、かつ、或る条件を満たすものを除いた検出軌跡が文字を表しているか否かを判断する。
【００５４】
ここでいう或る条件は、例えば、非文字軌跡と合致した検出軌跡が所定回数以上は連続していないことである。これを第１条件という。例えば漢字の「三」という文字は、３つの検出軌跡が全て図１３に示す非文字軌跡Ｕ４と合致する場合がある。このように非文字軌跡を連続させた形の文字を表す検出軌跡であっても、制御部１００は、上記第１条件を用いて上記の処理を行うことで、文字として判断することができる。
【００５５】
また、他の或る条件は、例えば、検出軌跡の塊の中に非文字軌跡と合致した検出軌跡が含まれる割合が閾値（割合閾値という）以上となっていることである。これを第２条件という。例えば漢字の「森」という文字は、縦線と横線と斜めの線とで構成されており、その縦線と横線とが非文字軌跡Ｕ４、Ｕ５と合致してしまい、文字と判断されなくなる場合がある。例えば上記割合閾値を８０％とすれば、この「森」という文字の場合、非文字軌跡に合致する検出軌跡の割合が５０％であるため、非文字軌跡と合致した検出軌跡も含めた検出軌跡の塊で文字であるか否かが判断されることになる。このように非文字軌跡が含まれる文字を表す検出軌跡であっても、制御部１００は、上記第２条件を用いて上記の処理を行うことで、文字として判断することができる。
【００５６】
制御部１００は、ステップＳ７１においてＹＥＳと判断した場合、ステップＳ４３、Ｓ１５、Ｓ１６と同様の処理を行い、ステップＳ７１においてＮＯと判断した場合は、ステップＳ１１に戻って処理を実行する。本実施形態によれば、手書きの文字を表す検出軌跡の中に非文字軌跡が含まれている場合であっても、その非文字軌跡を除いた検出軌跡が文字であるか否かを判断された結果文字として判断されなくなることを、少なくすることができる。
【００５７】
［実施形態のまとめ］
上述した第４乃至第６実施形態においては、記憶部２００は、非文字軌跡を記憶する非文字記憶手段として機能し、第２実施形態においては、複数の文字からなるフレーズを記憶するフレーズ記憶手段として機能する。また、上述した各実施形態においては、記憶部２００は、プログラムＺ（以下「第１プログラム」という。）及び文字プログラム（以下「第２プログラム」という。）を記憶するプログラム記憶手段として機能する。情報処理装置１０の制御部１００は、これらの第１プログラム及び第２プログラムを実行することで、次のような機能を実現する。
【００５８】
図１８は、制御部１００が実現する機能を示す機能ブロック図である。制御部１００は、判定部１０１と、要求部１０３と、実行部１０４と、面積検出部１０５と、角度検出部１０６と、第１記憶制御部１０７と、第２記憶制御部１０８とを有する。判定部１０１は、第２プログラムが起動されていない状態のときに、第１プログラムを実行することによって、上記の検出軌跡が文字を表しているか否かを判定する。この判定は、上述したステップＳ１３、Ｓ４２及びＳ７１において行われる。また、この第１プログラムは、検出軌跡が文字を表しているか否かを判定するためのプログラムである。判定部１０１は、判定した結果を示すデータを特定部１０２及び要求部１０３に供給する。特定部１０２は、判定部１０１から文字を表していると判定した結果を示すデータが供給された場合には、上述したステップＳ１４、Ｓ３３及びＳ４３において、その文字を特定する。特定部１０２は、特定した文字を示すデータを要求部１０３に供給する。
【００５９】
要求部１０３は、判定部１０１から文字を表していると判定した結果を示すデータが供給された場合には、第２プログラムに対し、特定部１０２から供給されたデータが示す文字の記録及び表示を行うよう要求する。この要求は、具体的には、次のように実行部１０４に対して行われる。要求部１０３は、要求する内容を表すデータを実行部１０４に供給する。実行部１０４は、要求部１０３からデータを供給されると、そのデータが表す要求の内容に基づき、上述したステップＳ１５において、第２プログラムを起動する。そして、実行部１０４は、上述したステップＳ１６において、第２プログラムを実行して、特定部１０２により特定された文字の記録及び表示を行う。このようにして、第２プログラムに対する上記要求が行われる。判定部１０１、特定部１０２、要求部１０３及び実行部１０４が協働することで、本発明に係る制御手段として機能する。
【００６０】
上述した第４乃至第６実施形態において、判定部１０１は、検出軌跡のうち、非文字記憶手段に記憶されている非文字軌跡に合致しないものが文字を表しているか否かを判定する。この判定は、上述したステップＳ４２及びステップＳ７１において行われる。
また、第２実施形態において、特定部１０２は、判定部１０１により文字を表していると判定された複数の検出軌跡が表す文字をそれぞれ特定し、特定した複数の文字がフレーズ記憶手段に記憶されているフレーズに一致しないときは、その複数の検出軌跡が文字を表していないと判定する。
【００６１】
第３実施形態において、面積検出部１０５は、タッチセンサ５２０から供給される接触領域を表すデータに基づき、上述したとおりに接触領域の面積を検出する。面積検出部１０５とタッチセンサ５２０とが協働することで、表示面５１１上の位置を指示するときの指示体における接触面積を検出する面積検出手段として機能する。面積検出部１０５は、検出した面積を示すデータを判定部１０１に供給する。角度検出部１０６は、近接センサ５３０により供給される検出結果を表すデータに基づき、上述したとおりに指示体角度を検出する。角度検出部１０６と近接センサ５３０とが協働することで、指示体の長手方向が表示面５１１に対してなす角度を検出する角度検出手段として機能する。角度検出部１０６は、検出した角度を示すデータを判定部１０１に供給する。判定部１０１は、検出された接触面積が予め決められた範囲（上記の面積範囲）に含まれている場合に、検出軌跡が文字を表しているか否かを判定し、検出された角度が予め決められた範囲（上記の角度範囲）に含まれている場合に、検出軌跡が文字を表しているか否かを判定する。
【００６２】
第５実施形態において、実行部１０４は、文字を記録及び表示させたことを、第１記憶制御部１０７に通知する。第１記憶制御部１０７は、上述したステップＳ５１において、実行部１０４により文字が表示部５１０に表示された後の決められた時間以内に上記第２プログラムが終了したか否かを判断する。そして、第１記憶制御部１０７は、終了したと判断した場合に、ステップＳ４２において文字を表していると判定された検出軌跡を、ステップＳ５２において非文字軌跡として非文字記憶手段に記憶される第１記憶制御手段として機能する。また、第２記憶制御部１０８は、上述したステップＳ６２において、表示面５１１に表示されている画像が他の画像に遷移したと判断した場合に、その遷移が行われるまでの検出軌跡を、ステップＳ６３において非文字軌跡として非文字記憶手段に記憶させる第２記憶制御手段として機能する。
また、第６実施形態において、判定部１０１は、上述したステップＳ７１において、検出軌跡のうち非文字軌跡に合致するものが所定の条件を満たすか否かを判断し、条件を満たすと判断したものを含む検出軌跡が文字を表しているか否かを判定する。
【００６３】
［変形例］
上述した各実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した各実施形態及び以下に示す各変形例は、必要に応じて組み合わせて実施してもよい。
【００６４】
（変形例１）
制御部１００は、上述した各実施形態では、いわゆるオフライン文字認識を行ったが、軌跡が検出される度に随時文字かどうかを判断して文字を認識するオンライン文字認識を行ってもよい。この場合、制御部１００は、ステップＳ１２において、検出軌跡データを記憶させるとともに、その検出軌跡データが表す軌跡が検出される度に、その検出軌跡と、その１つ前に検出された軌跡とが同じ検出軌跡の塊に含まれるか否かを判断する。そして、制御部１００は、否と判断した場合に、１つ前に検出された軌跡を含む検出軌跡の塊に対して、ステップＳ１３と同様に、文字を表しているか否かを判断する。なお、制御部１００は、ステップＳ１２における所定の時間が経過するよりも前に検出軌跡の塊が文字を表していると判断できた場合、その時点でステップＳ１４以降の処理を行ってもよい。これにより、制御部１００は、このように処理を行わない場合に比べて、早く文字を表示させることができる。
【００６５】
（変形例２）
制御部１００は、上述した各実施形態では、プログラムＺ（第１プログラム）を実行することにより文字を特定したが、文字プログラム（第２プログラム）を実行することにより特定してもよい。この場合、文字プログラムは、上記の検出軌跡により表される文字を認識し、認識した文字を記録及び表示するためのプログラムである。制御部１００は、例えば図４に示す手書き文字入力処理であれば、プログラムＺを実行することにより、ステップＳ１１、Ｓ１２及びＳ１３までの処理を行い、文字プログラムを実行することにより、ステップＳ１５、Ｓ１４及びＳ１６の処理を、この順番で行う。
【００６６】
（変形例３）
制御部１００は、上述した各実施形態では、例えば図４に示すステップＳ１５において文字プログラム起動し、その文字プログラムを実行することで文字を表示させたが、既に起動されている文字プログラムを実行することで文字を表示させてもよい。例えば、上述したプログラムＢのように電子メールをやり取りためのプログラムなどは、ＯＳの起動時から常駐している場合や、常駐しないまでも一度起動した後終了させられることなく起動したままで他のプログラムが実行される場合などがある。これらの場合、制御部１００は、プログラムＢを実行しているものの、プログラムＢに対するユーザの操作を受け付けていない。つまり、プログラムＢは、いわゆる非アクティブな状態となっている。この状態では、ユーザが何らかの操作を行っても、プログラムＢを実行することにより文字の記録及び表示を行うという処理が、制御部１００によって行われることがない。換言すれば、制御部１００は、プログラムＢを実行することにより文字の記録及び表示を行い得る、という状態となっていない。反対に、制御部１００が、プログラムＢを実行し、かつ、プログラムＢに対するユーザの操作を受け付けている場合、プログラムＢがアクティブな状態となっているという。
【００６７】
以下では、プログラムＢが文字プログラムとして決められており、かつ、プログラムＢが非アクティブな状態となっているときに図４に示す手書き文字入力処理が開始された場合を例にとって説明する。この例では、制御部１００は、表示面５１１に起動画像Ｓ１を表示させているものとする。制御部１００は、ステップＳ１３において、プログラムＢが非アクティブな状態のとき、すなわちプログラムＢを実行することにより文字の記録及び表示を行いうる、という状態となっていないときに、プログラムＺを実行して、検出軌跡が文字を表しているか否かを判定する。そして、制御部１００は、ステップＳ１４において文字を特定し、ステップＳ１５において、文字プログラムとしてプログラムＢを起動させる代わりに、プログラムＢを非アクティブな状態から、アクティブな状態に切り替える。詳細には、制御部１００は、表示面５１１に表示させる画像を起動画像Ｓ１からプログラムＢの実行画像に切り替える。そして、制御部１００は、ステップＳ１６において、アクティブな状態となったプログラムＢを実行することにより、ステップＳ１４において特定した文字を表示させる。
本変形例によれば、ユーザは、文字プログラムが非アクティブな状態であっても、文字を入力することができる。
【００６８】
（変形例４）
制御部１００は、表示されている画像の種類に応じて異なる非文字軌跡を用いて、図１４、図１５、図１６、図１７に示す手書き文字入力処理を行ってもよい。ここでいう画像の種類とは、例えば、図１２に示すロック画像Ｓ０のように、ユーザにより設定された操作が行われたときにのみ他の種類の画像に遷移させるという、いわゆる認証の操作を受け付けるという種類の画像（以下「認証画像」という。）である。他には、起動画像Ｓ１のように、プログラムを少ない手順で起動させるという、いわゆるランチャーとしての機能を有する種類の画像（以下「ランチャー画像」という。）や、実行画像Ｓ２のように、或るプログラムが実行されていて、操作が行われればそのプログラムによる処理が制御部１００により行われる状態となっていることを示す画像（以下「プログラム画像」という。）である。
【００６９】
図１３に示す非文字軌跡Ｕ１は、ロック画像Ｓ０のような認証画像が表示されているときに、ロックを解除するために描画される上述した操作軌跡（手書きの文字の入力以外の画像の操作によって描画される軌跡）である。つまり、非文字軌跡Ｕ１は、ユーザの設定によって様々な軌跡となる。一方、非文字軌跡Ｕ１は、起動画像Ｓ１及び実行画像Ｓ２が表示されているときには、何らかの操作のために描画されることがほとんどない。つまり、非文字軌跡Ｕ１は、ロック画像Ｓ０に対応する操作軌跡である。同様に、非文字軌跡Ｕ２、Ｕ３は、起動画像Ｓ１のようなランチャー画像に対応する操作軌跡であり、非文字軌跡Ｕ４、Ｕ５は、実行画像Ｓ２のようなプログラム画像に対応する操作軌跡である。この場合、記憶部２００は、非文字軌跡Ｕ１と認証画像（例えばロック画像Ｓ０）とを対応付けて記憶する。また、記憶部２００は、非文字軌跡Ｕ２、Ｕ３とランチャー画像（例えば起動画像Ｓ１）とを対応付けて記憶し、非文字軌跡Ｕ４、Ｕ５とプログラム画像（例えば実行画像Ｓ２）とを対応付けて記憶する。このように、記憶部２００は、表示面５１１に表示される画像の種類に応じて異なる非文字軌跡を記憶する。これらの非文字軌跡は、要するに、対応する種類の画像を操作するときに描画される軌跡である。
【００７０】
制御部１００は、図１４、図１５、図１６、図１７で示すステップＳ１２において、検出軌跡データを記憶させるとともに、そのときに表示させていた画像の種類を判別するためのデータ（判別データという）を検出軌跡データに対応付けて記憶させる。この判別データとは、例えば、表示させている画像の種類を表す０１、０２及び０３という記号である。これらの記号は、それぞれ認証画像、ランチャー画像及びプログラム画像を表す。そして、制御部１００は、ステップＳ４２（又はＳ７１）において、判別データにより示される画像の種類に対応付けられて記憶されている非文字軌跡と検出軌跡データにより表される検出軌跡とが合致するものを除く検出軌跡が文字を表しているか否かを判断する。制御部１００がこのような処理を行わなければ、ユーザが文字を描画したときの検出軌跡が、そのときに表示されている種類の画像を操作するためのものではない非文字軌跡に合致してしまう場合がある。その場合、ユーザが文字を描画したときの検出軌跡であっても、文字を表していると判断されなくなることがある。本変形例によれば、このような場合であっても、ユーザが文字を描画したときの検出軌跡が上記のような非文字軌跡に合致することがなくなるため、その検出軌跡が文字を表していないと判断されてしまうことを少なくすることができる。
【００７１】
（変形例５）
制御部１００は、表示面５１１の特定の領域の検出軌跡を対象として、その検出軌跡が文字を表しているか否かを判断してもよい。この特定の領域は、例えば、表示面５１１のＹ軸方向又はＸ軸方向の半分の領域や、図３に示す起動画像Ｓ１であればアイコン群Ｒ１が表示されていない領域などである。表示されている画像毎に、操作軌跡が描画されることが少ない領域をこの特定の領域として定めることが望ましい。このように特定の領域を定めることにより、操作軌跡を含む検出軌跡が文字と判断されることが少なくなる。
【００７２】
（変形例６）
情報処理装置１０は、上述した各実施形態ではスマートフォンであったが、それ以外のものであってもよい。情報処理装置は、例えば、スマートフォン以外の携帯電話であってもよいし、ＰＤＡ（Personal Digital Assistant）やパーソナルコンピュータなどであってもよい。これらのいずれであっても、情報処理装置は、制御部、記憶部、タッチスクリーン部を備えているものであればよい。
【００７３】
（変形例７）
タッチセンサ５２０は、上述した各実施形態においては、静電容量方式のセンサであったが、これ以外の方式のセンサであってもよい。タッチセンサは、例えば、赤外線の遮断や反射により位置を検出する赤外線方式や、電圧を印加した透明な抵抗膜の電圧の変化により位置を検出する抵抗膜方式など、様々な方式を採り得る。要するに、タッチセンサは、表示面５１１上で指示体が指示した位置を検出するものであればより。望ましくは、タッチセンサは、指示体の接触面積を検出するものであるとよい。
【００７４】
（変形例８）
タッチセンサ５２０は、上述した各実施形態においては、指示体の表面の領域のうち、表示面５１１に接触している部分である接触領域の面積を検出したが、接触領域の周囲の表示面５１１に近接する部分（近接部分という）を含んだ領域の面積を検出してもよい。タッチセンサ５２０は、上述したとおり、静電容量方式のセンサであり、接触領域だけではなく近接部分ともコンデンサを形成する。本変形例においては、タッチセンサ５２０は、測定した静電容量の分布から、接触領域として特定した部分の周囲で静電容量が決められた範囲に収まる部分を近接部分として特定する。こうして特定される近接部分の表示面５１１からの距離は、センサの性能にもよるが、一般的には１ｃｍ以内に収まる程度である。そして、タッチセンサ５２０は、接触領域に加えて近接部分を表す座標の集合を表すデータを制御部１００に供給する。制御部１００は、接触面積を検出したときと同じ方法で、近接部分の面積も検出し、接触領域及び近接部分の両方を含む領域の面積を検出する。この領域は、要するに、表示面５１１上の位置を指示するときの指示体が表示面５１１に近接して対向する領域である。
【００７５】
（変形例９）
制御部１００は、上述したプログラムＺをＯＳの起動時から常駐させたが、ＯＳの起動後、ユーザがプログラムＺを起動させる操作をしたときから常駐させてもよい。この場合でも、ユーザは、プログラムＺが起動した後、文字を記録及び表示させるためのプログラムが実行されていないとき、又は非アクティブな状態となっているときに、文字を入力することができる。
【００７６】
（変形例１０）
制御部１００は、上述した各実施形態では、プログラムＡを実行することにより、日本語を入力するための日本語テンキーＲ３を含む実行画像Ｓ１を表示させていたが、これに限らず、日本語以外の言語の文字を入力させるための画像や、数字や記号を入力させるための画像などを含む実行画像を表示させてもよい。要するに、制御部１００は、何らかの文字を記録及び表示させるための文字プログラムを実行することで、図４等で示したステップＳ１４において特定した文字をステップＳ１６において表示させればよい。
【００７７】
（変形例１１）
制御部１００は、図４等に示したステップＳ１１においてタッチスクリーン部５００への接触がない（ＮＯ）と判断した場合は、手書き文字入力処理を終了し、その後、予め決められた時間が経過すると、再び手書き文字入力処理を開始するようにしてもよい。この場合、制御部１００は、位置が検出されたと判断するまで、予め決められた時間の間隔で、ステップＳ１１を繰り返す。本変形例においては、制御部１００は、ステップＳ１３、Ｓ１６、Ｓ２１、Ｓ３２、Ｓ４２、Ｓ５１、Ｓ７１の処理において、それぞれＮＯと判断した場合も、ステップＳ１１の場合と同様に処理を行う。
【００７８】
（変形例１２）
制御部１００は、上述した各実施形態においては、図４等に示すステップＳ１５において、タッチスクリーン部５００への接触が終了したときに文字プログラムを起動したが、この接触が終了していなくとも、ステップＳ１４において文字を特定した後すぐに文字プログラムを起動してもよい。この場合、制御部１００は、文字プログラムが起動して文字の入力ができるようになるまでの間、又は上記の接触が終了するまでの間、検出軌跡データを記憶部２００に記憶させ続ける。次に、制御部１００は、文字プログラムを起動させた後、検出軌跡データが示す検出軌跡から文字を特定してその文字を示す文字データをＲＡＭに記憶させ、その文字データをプログラムＡに渡すことで、この文字データが示す文字をステップＳ１６において表示させる。このように上記の接触が終了するよりも前に文字プログラムが起動することで、ユーザは、文字の入力が受け付けられたことを手書き文字の入力を終えるよりも早く知ることができる。
【００７９】
（変形例１３）
制御部１００は、ステップＳ１５においてタッチセンサ５２０への接触が終了したと判断したときに、ステップＳ１２における検出軌跡データを記憶部２００に記憶させ続ける処理が継続している場合には、この処理を終了させるようにしてもよい。これにより、常に所定の時間が経過するまでこの処理を継続させるよりも、制御部１００による処理量が少なくなり、また、ＣＰＵや記憶部２００が消費する電力が少なくなる。また、ステップＳ１２における所定の時間が経過する前であっても、接触の終了が判断された後にユーザが画像を操作したつもりで描画した軌跡が文字として特定されることを防止することができる。
【００８０】
（変形例１４）
制御部１００は、上述した各実施形態においては、ステップＳ１５において、タッチセンサ５２０が決められた時間位置を検出しなかったときに接触が終了したと判断したが、これに限らず、他の方法でこれを判断してもよい。例えば、手書きの文字入力の終了を示す終了軌跡（例えば円形の軌跡）を記憶部２００に記憶させておき、制御部１００が、検出軌跡を終了軌跡とマッチングして一致したときに接触が終了したと判断する。この場合、ユーザは、上記の決められ時間の長さを知らない場合や、その時間が経過するのを待たずに画像の操作を行いた場合などに、即座に文字入力を終了させることができる。
【００８１】
（変形例１５）
本発明は、情報処理装置１０の他、情報処理装置１０又は１０ａの制御部１００が実施する処理を実現するための方法や、コンピュータにその処理を実現させるためのプログラムとしても把握されるものである。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。
【符号の説明】
【００８２】
１０…情報処理装置、１００…制御部、２００…記憶部、３００…通信部、４００…音声入出力部、５００…タッチスクリーン部、５１０…表示部、５１１…表示面、５２０…タッチセンサ、５３０…近接センサ、２０、２１、２２、２３…指示体、１０１…判定部、１０２…特定部、１０３…要求部、１０４…実行部、１０５…面積検出部、１０６…角度検出部、１０７…第１記憶制御部、１０８…第２記憶制御部
【図１】
0005806107.tif 000002
【図２】
0005806107.tif 000003
【図３】
0005806107.tif 000004
【図４】
0005806107.tif 000005
【図５】
0005806107.tif 000006
【図６】
0005806107.tif 000007
【図７】
0005806107.tif 000008
【図８】
0005806107.tif 000009
【図９】
0005806107.tif 000010
【図１０】
0005806107.tif 000011
【図１１】
0005806107.tif 000012
【図１２】
0005806107.tif 000013
【図１３】
0005806107.tif 000014
【図１４】
0005806107.tif 000015
【図１５】
0005806107.tif 000016
【図１６】
0005806107.tif 000017
【図１７】
0005806107.tif 000018
【図１８】
0005806107.tif 000019