(58)【調査した分野】(Int.Cl.,DB名)
前記制御手段により前記文字が前記表示手段に表示された後の決められた時間以内に前記第2プログラムが終了した場合に、当該制御手段により文字を表していると判定された前記検出軌跡を前記非文字軌跡として非文字記憶手段に記憶させる第1記憶制御手段を備える
ことを特徴とする請求項1又は2に記載の情報処理装置。
前記検出軌跡に基づいて前記表示面に表示されている画像が他の画像に遷移した場合に、当該遷移が行われるまでの前記検出軌跡を前記非文字軌跡として前記非文字記憶手段に記憶させる第2記憶制御手段を備える
ことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
前記制御手段は、前記検出軌跡のうち前記非文字軌跡に合致する軌跡が所定の条件を満たすか否かを判断し、条件を満たすと判断した当該軌跡を含む前記検出軌跡が文字を表しているか否かを判定する
ことを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0014】
[第1実施形態]
以下、本発明の第1実施形態について図面を参照して説明する。
図1は、本発明の第1実施形態に係る情報処理装置10の構成を示すブロック図である。情報処理装置10は、タッチスクリーンにより操作が行われるいわゆるスマートフォンである。情報処理装置10は、制御部100と、記憶部200と、通信部300と、音声入出力部400と、タッチスクリーン部500とを備える。通信部300は、図示せぬ移動通信網に無線で接続する接続手段であり、その移動通信網を介して他の情報処理装置と音声又は文字等のデータを送受信する。音声入出力部400は、スピーカ、マイクロフォン及び音声処理回路等を備えており、通話に係る音声の入出力を行う。
【0015】
記憶部200は、例えばハードディスク等の記憶手段であり、制御部100が制御に用いるデータやプログラムを記憶している。記憶部200は、平仮名や漢字などの文字と、複数の文字からなる様々なフレーズとを記録した辞書を表す辞書データを記憶している。制御部100は、CPU(Central Processing Unit)等の演算装置と、ROM(Read Only Memory)及びRAM(Random Access Memory)等の記憶装置とを備えている。ROMは、プログラム等を記憶している。CPUは、ROMや記憶部200に記憶されたプログラムを実行することによって、情報処理装置10の各部の動作を制御し、また、データの処理を実施する。CPUが実行するプログラムは、例えば、情報処理装置10のOS(Operating System)や、このOS上で実行されるプログラムである。RAMは、CPUがプログラムを実行するときに、そのプログラム及びデータ等を一時的に記憶させるワークエリアとして用いられる。
【0016】
タッチスクリーン部500は、画像を表示するとともにユーザの操作を受け付ける手段であり、表示部510とタッチセンサ520とを備える。表示部510は、表示面を有する表示手段である。表示部510は、液晶素子や有機EL(electroluminescence)素子によりその表示面に画像を表示する表示パネルと、表示パネルを駆動する駆動回路等とを備える。タッチセンサ520は、前述の表示面と大きさ及び形状が概ね同じであり、その表示面に重ねて設けられている。タッチセンサ520は、例えば、表示面を指示する指示体との静電結合を利用してその指示体が指示する位置を検出する静電容量方式のセンサである。静電容量方式のセンサでは、指示体が表示面に接触しているときであれば、指示体の表面の領域のうち、表示面と接触している部分(以下「接触領域」という。)とタッチセンサ520とが1つのコンデンサを形成する。タッチセンサ520は、自センサ上の各位置の静電容量を測定できるようになっている。タッチセンサ520は、測定した静電容量の分布から静電容量が周囲に比べて大きくなっている部分を接触領域として特定する。タッチセンサ520は、特定した接触領域の中心を割り出し、その中心の位置を、指示体により指示されている位置として検出する位置検出手段として機能する。タッチセンサ520は、ユーザによって移動させられる指示体により表示面上で指示された位置を、決められた間隔(例えば0.5秒置き)で連続的に検出する。タッチセンサ520は、検出した位置を示すデータ(位置データという)を制御部100に供給する。
【0017】
図2は、情報処理装置10の外観を示す図である。
図2を含む以下の図においては、互いに直角に交わるX軸、Y軸及びZ軸で方向を表す。各軸を示す矢印が指す方向を、それぞれの軸の正方向(例えばX軸正方向)といい、特に正方向か負方向かを示さない場合は単にその軸の方向(例えばX軸方向)というものとする。
図2(a)は、Z軸負方向に見た情報処理装置10を示しており、
図2(b)は、X軸負方向に見た情報処理装置10を示している。情報処理装置10は、Z軸方向の寸法がX軸方向及びY軸方向の寸法よりも小さい直方体の形状をしている。情報処理装置10が有する6つの面は、それぞれX軸方向、Y軸方向又はZ軸方向に向いている。そのうちのZ軸正方向に向いている面に、表示面511及びスピーカ401が設けられている。表示面511は、長方形の形状をしている。上記のX軸、Y軸及びZ軸は、XYZ直交座標系を表しており、その原点が、表示面511の角の1つ(ここでは
図2の表示面511の左上隅)に位置しているものとする。これにより、表示面511上の位置は、XY直交座標系におけるx座標及びy座標で示されることになる。
【0018】
上記のとおり、表示面511には、タッチセンサ520が重ねて設けられている。
図2では、指示体20が表示面511上を指示する位置をタッチセンサ520が検出する例を示している。この指示体20は、ユーザの人差し指である。
図2(b)では、指示体20が表示面511に接触したままY軸正方向に移動している様子を示している。
図2(a)では、指示体20が
図2(b)に示すように移動したときに特定される接触領域Q11、Q12、Q13、Q14と、検出される表示面511上の位置P11、P12、P13、P14とを示している。タッチセンサ520は、各接触領域に含まれるXY直交座標系における座標の集合を、それぞれの接触領域として特定する。そして、タッチセンサ520は、例えば、特定した接触領域に含まれる各x座標及び各y座標のそれぞれの平均値を算出し、算出したx座標及びy座標が表す位置を、指示体により指示されている位置として検出する。タッチセンサ520は、このような位置の検出を、上記のとおり、予め決められた間隔で実行する。
図2では、タッチセンサ520は、位置の検出を4回実行している。タッチセンサ520は、これらの位置を検出する度に、検出した位置を示す座標を位置データとして制御部100に供給する。
【0019】
制御部100は、位置データが供給されてきた時刻と、その位置データが表す座標とを対応付けたデータを、例えばRAMに記憶させる。こうして記憶されたデータは、時刻によって各位置が検出された順番を表し、座標によって指示体が指示した位置を表す。この例であれば、位置P11、P12、P13及びP14の順番でこれらの位置の座標を結ぶことで、検出軌跡T1が表される。この検出軌跡T1は、タッチセンサ520により検出された位置を順次連ねた軌跡であり、指示体により描画された軌跡を表している。以下では、制御部100がRAMに記憶させるこのデータを、「検出軌跡データ」という。
【0020】
表示面511には、表示部510により、ユーザに情報を伝達したり、ユーザに操作させたりするための画像が表示される。
図3は、表示面511に表示される画像の例を示す図である。
図3(a)では、表示面511に起動画像S1が表示されている。起動画像S1は、情報処理装置10の記憶部200やROMに記憶されたプログラムを起動させるための画像である。起動画像S1には、プログラムA、B、C、D、E、F、Gをそれぞれ起動させるためのアイコン群R1が表されている。アイコン群R1に含まれる各アイコンには、「A」や「B」などの各プログラムの名称が表されている。起動画像S1は、
図3(a)に示す状態で固定されているわけではなく、例えば或るアイコンをドラッグすると、そのアイコンが別の場所に表示される画像となる。そのようにアイコンの位置が変わったり、起動させるプログラムが変わったりした場合であっても、その画像を起動画像S1というものとする。
【0021】
図3(b)では、表示面511に実行画像S2が表示されている。実行画像S2は、プログラムAが起動されて実行されているときに表示される画像である。プログラムAは、入力された文字を表示及び記録するためのプログラムである。実行画像S2には、実行されているプログラム名(プログラムA)と、入力された文字を表示する領域R2と、文字が入力されるときに操作される日本語テンキーR3とが表されている。また、実行画像S2には、領域R2に表示されている文字を記録するときに操作される記録ボタン画像R4と、領域R2に表示されている文字を削除するときに操作される削除ボタン画像R5と、プログラムAを終了させるときに操作される終了ボタン画像R6とが表されている。
図3(b)では、領域R2に「入力された文字を表示中。」という文字が表示されている。このように、プログラムAは、文字を記録及び表示するためのプログラムである。ここでいう記録とは、入力された文字を記憶部200に記憶させることだけに限らず、制御部100がその文字を表示させるために一時的にRAMに記憶させることも含んでいる。
【0022】
表示部510は、
図3に示した画像以外にも、例えばプログラムBからGまでの各々が実行されているときに表示される画像など、様々な画像が表示される。これらのプログラムBからGまでのうち、プログラムBは電子メールをやり取りためのプログラムであり、プログラムCはスケジュールを管理するためのプログラムである。プログラムB、Cは、いずれも、プログラムAと同様に、文字を記録及び表示するためのプログラムでもある。以下では、プログラムA、B、Cのように文字を記録及び表示するためのプログラムのことを「文字プログラム」という。
【0023】
情報処理装置10の記憶部200には、
図3で示した各プログラムの他に、ユーザが手書きの文字を入力するためのプログラムZが記憶されている。情報処理装置10の制御部100は、情報処理装置10の電源が投入されたときに、上述したOSをまず起動する。そして、制御部100は、OSを起動させた後にプログラムZを起動させ、プログラムZを常駐させておく。ここにおいて、常駐とは、プログラムを実行するために必要なデータをRAMに記憶させておき、常時そのプログラムを実行している状態を維持することをいう。制御部100は、プログラムZを常駐させることで、ユーザがいつでも手書き文字を入力できるようにするための手書き文字入力処理を実行する。この手書き文字入力処理は、プログラムZが常駐している間、実行され続ける。
【0024】
図4は、手書き文字入力処理の手順を示すフローチャートである。まず、制御部100は、例えばユーザの指等の指示体によってタッチスクリーン部500への接触が有るか否かを判断する(ステップS11)。具体的には、制御部100は、タッチセンサ520により位置が検出された場合に、タッチスクリーン部500への接触が有ると判断し、検出されなかった場合に、接触がないと判断する。制御部100は、ステップS11において否と判断した場合は、ステップS11の処理を再び実行する。つまり、制御部100は、プログラムZが実行されている(常駐している)間は、タッチスクリーン部500への接触が有ると判断されるまで、すなわち、上記の位置が検出されるまで、ステップS11を繰り返す。
【0025】
制御部100は、タッチスクリーン部500への接触が有ると判断した場合(ステップS11:YES)、その判断をしたときから所定の時間(例えば30秒)が経過するまでの間、上述した検出軌跡データを記憶部200に記憶させ続ける(ステップS12)。これらのステップS11、S12は、ユーザが表示面511に手書きの文字を描画したときの他に、ユーザが表示面511を指示して操作を行ったときにも行われる。そのため、ステップS12において記憶された検出軌跡データは、手書きの文字を表している場合もあれば、そうでない場合もある。
【0026】
続いて、制御部100は、記憶させた検出軌跡データにより表される検出軌跡が、文字を表しているか否か判断する(ステップS13)。ステップS13で行われる処理について、
図5を参照しながら説明する。
図5は、検出軌跡の一例である検出軌跡T100を示す図である。検出軌跡T100は、起動画像S1が表示されているときに、ユーザが表示面511を指示して描画した軌跡である。制御部100は、ステップS12において検出軌跡データを記憶させ続けている間、その検出軌跡データが表す検出軌跡を表示させない。
図5(a)では、起動画像S1に重ねて検出軌跡T100を破線で示しているが、この検出軌跡T100は、実際には表示されていない。検出軌跡T100は、「てがき」という手書きの文字を表している。
図5(b)では、検出軌跡T100に含まれる検出軌跡を示している。検出軌跡T100は、検出軌跡T11からT20までの10個の検出軌跡を含んでいる。検出軌跡T11は、「て」という手書きの文字を表し、検出軌跡T12からT16までは、「が」という手書きの文字を表している。また、検出軌跡T17からT20までは、「き」という手書きの文字を表している。
【0027】
ステップS13において、制御部100は、検出軌跡T100の全体に対して、公知のいわゆるオフライン文字認識の技術を用いて文字認識を行う。例えば、制御部100は、まず、検出軌跡T100をいくつかに区切って、検出軌跡の塊を抽出する。この例では、制御部100は、検出軌跡T11と、T12からT16までと、T17からT20までとを検出軌跡の塊として抽出する。そして、制御部100は、これらの検出軌跡の塊の形状やその塊に含まれる線分の特徴を表す特徴量と、記憶部200が記憶する辞書データに記録されている各文字における同様の特徴量とを比較し、それらの特徴量の類似度を算出する。制御部100は、全ての文字の中で類似度が最大となる文字との類似度(以下「最大類似度」という。)を算出する。制御部100は、この最大類似度を、全ての検出軌跡の塊に対して算出する。そして、制御部100は、最大類似度が1つでも閾値(類似度閾値という)を超えた場合、その検出軌跡の全体(この例では検出軌跡T100)が文字を表していると判断する(ステップS13:YES)。一方、制御部100は、どの最大類似度も類似度閾値を超えなかった場合、検出軌跡が文字を表していないと判断し(ステップS13:NO)、ステップS11に戻って処理を実行する。
【0028】
ステップS13がYESであった場合、制御部100は、最大類似度が類似度閾値を超えた検出軌跡の塊においてその最大類似度が算出された文字を特定する(ステップS14)。
図5の例では、制御部100は、各検出軌跡の塊が表す「て」、「が」、「き」という3つの文字を特定する。制御部100は、特定したこれらの文字を示す文字データを、RAMに記憶する。このRAMは、検出軌跡が文字を表している場合に制御部100によりその文字が記憶させられる文字記憶手段として機能する。次に、制御部100は、タッチスクリーン部500への接触が終了したときに、上述した文字プログラムのいずれかを起動し(ステップS15)、特定した文字を表示させる(ステップS16)。制御部100は、例えば、タッチセンサ520が決められた時間(例えば3秒)位置を検出しなかったときに、上記接触が終了したと判断する。ステップS15で起動される文字プログラムは予め決められており、本実施形態においては、プログラムAが起動される。制御部100は、RAMに記憶されている文字データをプログラムAに渡すことで、この文字データが示す文字をステップS16において表示させる。
【0029】
図6は、手書き文字入力処理の結果、ステップS16において表示される画像の一例を示す図である。
図6では、表示面511に、実行画像S2が表示されている。この実行画像S2の領域R2には、上記の手書き文字入力処理において入力された文字である「てがき」という文字が表示されている。ステップS16の処理を行うと、制御部100は、ステップS11に戻って処理を実行する。制御部100が以上のとおり手書き文字入力処理を行うことにより、ユーザは、文字を記録及び表示させるためのプログラム(すなわち文字プログラム)が実行されていないときであっても、文字プログラムを起動する操作を行うことなく、即座に文字を入力して、入力した文字を記録及び表示させることができる。言い換えれば、ユーザは、文字プログラムを実行させるために、文字を描く行為とは異なる操作を意識的に行わなくても、描いた文字を記録及び表示することができる。
【0030】
[第2実施形態]
本発明の第2実施形態に係る情報処理装置は、第1実施形態の情報処理装置10と構成が共通しているため、同一の符号を付して説明する。情報処理装置10のようなスマートフォンは、例えば鞄の中に入れて持ち運ばれることがある。その場合、タッチセンサ520が位置を検出しない状態にされているのが普通である。そのタッチセンサ520が何かの拍子で位置を検出する状態となった場合に、表示面511が鞄の中の物に接触し、検出軌跡データが記憶されることがある。その検出軌跡データが表す検出軌跡が、偶然何らかの文字を表していた場合に、ユーザが意図しない文字が表示されることになる。この文字は、偶然できあがったものであるから、意味のあるフレーズとなっていない場合が多い。本実施形態は、このような場合に、意味のないフレーズを表示させないという点で、第1実施形態と異なる。
【0031】
図7は、第2実施形態に係る手書き文字入力処理の手順を示すフローチャートである。この手書き文字入力処理において、制御部100は、まず、
図4に示したステップS11からステップS14までと同様の処理を行う。制御部100は、ステップS14において、検出軌跡が表す文字を特定すると、次に、その特定した文字が意味のあるフレーズとなっているか否かを判断する(ステップS21)。詳細には、制御部100は、特定した文字と、記憶部200に記憶されている辞書データに記録されているフレーズとを比較して、一致するものがあれば、意味のあるフレーズとなっていると判断し(ステップS21:YES)、一致するものがなければ、意味のあるフレーズとなっていないと判断する(ステップS21:NO)。制御部100は、ステップS21でNOと判断した場合、ステップS11に戻って処理を実行する。一方、制御部100は、ステップS21でYESと判断した場合、
図4に示したステップS15、S16の処理を行い、文字プログラムを実行することで特定した文字を表示させる。
本実施形態によれば、意味のないフレーズが描画された場合に文字プログラムを起動させないようにすることで、ユーザが意図してない文字プログラムの起動を減らすことができる。
【0032】
[第3実施形態]
本発明の第3実施形態に係る情報処理装置は、タッチスクリーン部に近接センサが備えられている点と、タッチセンサ520が上述した接触領域(指示体の表面の領域のうち、表示面511と接触している領域)の面積を検出するという点で、第1実施形態の情報処理装置10とは構成が異なる。
図8は、第3実施形態に係る情報処理装置10aの構成を示すブロック図である。情報処理装置10aは、タッチスクリーン部500aを備える。タッチスクリーン部500aは、表示部510及びタッチセンサ520に加え、近接センサ530とを備える。タッチセンサ520は、
図2で述べたとおり特定した接触領域を表す座標の集合を表すデータを制御部100に供給する。制御部100は、供給されたこのデータから、接触領域の面積(以下「接触面積」という。)を検出する。詳細には、制御部100は、例えば、このデータが表す座標の集合から、三角形を形作る3つの座標の組み合わせであり、かつ、その三角形の内部に他の座標が位置しないような全ての組み合わせを抽出し、これらの三角形の面積を合計したものを接触面積として検出する。
【0033】
近接センサ530は、タッチセンサ520とともに、表示部510の表示面511に重ねて設けられている。近接センサ530は、赤外線型のセンサであり、赤外線を発する複数の発光素子と、光を受けとって電気信号に変換する複数の受光素子を備えている。これらの素子は、
図2に示すXY直交座標系に従って配置されている。発光素子から発せられた赤外線が、測定対象物に当たって反射してくると、受光素子は、反射した赤外線を受光する。測定対象物が近いほど反射光の強度が増すため、近接センサ530は、受光素子の受光強度に基づいて表示面511と対象物との距離、つまり
図2に示すZ座標値を測定すると、X座標、Y座標及びZ座標の各座標値を検出結果を表すデータとして制御部100に供給する。
【0034】
ユーザが表示面511を指示する場合、その指示体としては、ユーザの手の指や、いわゆるスタイラスペンのようなペン型のものが用いられることが多い。指示体に用いられるものが何であるかによって、その接触面積が異なる。
図9は、指示体の種類と接触面積との関係を示す図である。
図9(a)では、親指及び人差し指を指示体とした指示体21及び22と、ペン型の指示体23とが表示面511に接触している状態を示している。
図9(b)では、これらの指示体21、22及び23の接触面積Q21、Q22及びQ23をそれぞれ示している。
図9(b)に示すように、これらの接触面積の大きさの関係は、Q21>Q22>Q23となることが多い。ユーザが表示面511を指示するとき、接触面積が小さいほど、接触領域の輪郭と指示している位置との距離が小さくなる。つまり、ユーザは、接触面積が小さいほど、指示体の接触領域全体の位置から自分が指示している位置を思い描くことが容易となる。反対に、接触面積が大きいほど、ユーザは、自分が指示している位置を思い描くことが困難となり、文字としての正確な形のとおりに軌跡を描画することが難しくなる。このため、ユーザが手書きの文字を描画する場合、人差し指か、ペン型の指示体が用いられることが多く、親指が用いられることは少ない。言い換えれば、親指のように接触面積が大きい指示体が用いられた場合は、文字が入力された可能性が低い。
【0035】
また、ユーザは、表示面511を指示して手書きの文字を描画する場合、指示体と表示面511とがなす角度(以下「指示体角度」という。)を比較的大きくすることが多い。以下、
図10を参照して、指示体角度について説明する。
図10は、指示体角度について説明するための図である。
図10(a)では、上記の指示体22(人差し指)の指示体角度の例を示している。指示体22は人差し指であるため、長手方向V1と短手方向V2とを有する棒状となっている。長手方向V1は、人差し指の根本から指先に向かう方向であり、短手方向V2は、長手方向V1に直交する方向である。長手方向V1は、人差し指を回転体とみなしたときの軸に沿った方向でもある。この長手方向V1が表示面511に対してなす角度θ1が、指示体角度である。
図10(a)では、指示体角度がθ1となっている。
【0036】
上記のとおり、ユーザは、接触面積が小さいほど、指示体の接触領域全体の位置から自分が指示している位置を思い描くことが容易となる。例えば人差し指を指示体とした場合、表示面511に対して人差し指を立てる、すなわち、指示体と表示面511とがなす角度を90度に近づけるほど、この接触面積は小さくなる。そのため、ユーザは、人差し指を指示体とするときは、上記の角度を例えば45度以上90度以下にして、手書きの文字を描画することが多い。言い換えれば、指示体角度を45度未満にした状態で指示体が用いられた場合は、文字が入力された可能性が低い。
【0037】
制御部100は、近接センサ530により供給される指示体22を対象物として検出した結果を表すデータに基づき、上記指示体角度を検出する。
図10(b)では、近接センサ530が検出した結果である各座標値が表す指示体22上の点群M1を示している。近接センサ530は、表示面511から図中に示す距離N1までの空間に位置する指示体22の座標値を検出する。距離N1は、近接センサ530が座標値を検出可能な範囲を表している。点群M1は、指示体22、すなわち人差し指の表示面511に対向する面上に位置しており、長手方向V1に沿って分布している。制御部100は、例えば、近接センサ530が検出した点群M1の各座標値を近似する平面を公知の技術を用いて算出する。この平面は、概ね長手方向V1に沿った平面となる。制御部100は、算出した平面と表示面511とがなす角度を指示体角度として検出する。
【0038】
図11は、第3実施形態に係る手書き文字入力処理の手順を示すフローチャートである。この手書き文字入力処理において、制御部100は、まず、
図4に示したステップS11と同様の処理を行う。続いて、制御部100は、ステップS12と同様に検出軌跡データを記憶部200に記憶させ続けるが、その際、その検出軌跡データが表す軌跡を描画した指示体の接触面積及び指示体角度をともに記憶させ続ける(ステップS31)。次に、制御部100は、記憶部200に記憶させた接触面積及び指示体角度が決められた範囲外にある軌跡を除いた検出軌跡が、文字を表しているか否かを判断する(ステップS32)。ここでいう決められた範囲とは、接触面積であれば、例えば、0より大きく、
図9で述べたQ22及びQ21の平均値以下の範囲(面積範囲という)である。例えば、ユーザが親指を接触させて軌跡を描画した場合は、接触面積がQ21となり、この面積範囲に含まれない。また、指示体角度であれば、例えば、
図10で述べたような45度以上90度以下の範囲(角度範囲という)である。
【0039】
制御部100は、ステップS32においてYESと判断した場合、上記接触面積及び指示体角度がそれぞれの決められた範囲(上記の面積範囲及び角度範囲)外にある軌跡を除いた検出軌跡に対してステップS14と同様の処理を行い、その検出軌跡が表す文字を特定する(ステップS33)。そして、制御部100は、ステップS15及びS16の処理を行って、ステップS11に戻って処理を実行する。制御部100は、ステップS32においてNOと判断した場合も、ステップS11に戻って処理を実行する。
本実施形態によれば、上記のように、親指のように接触面積が大きい指示体が用いられたときや、指示体角度を45度未満にした状態で指示体が用いられたときなど、文字が入力された可能性が低いときの検出軌跡が文字と判断されることを少なくすることができる。
【0040】
[第4実施形態]
本発明の第4実施形態に係る情報処理装置は、第1実施形態の情報処理装置10と構成が共通しているため、同一の符号を付して説明する。情報処理装置10においては、上述した手書き文字入力処理が、
図3(a)に示すような起動画像S1が表示されているときにも行われる。その場合、例えば、あるアイコンを選択してプログラムを起動させる操作や、2枚目の起動画像があってその起動画像に遷移させる操作などによって描画される軌跡も、検出軌跡データとして記憶される。こうして記憶された検出軌跡データが、偶然何らかの文字と形が似ていて、文字として判断される場合がある。本実施形態は、このように手書きの文字の入力以外の画像の操作によって描画される軌跡(以下「操作軌跡」という。)を文字と判断しないようにするための処理が行われるという点で、第1実施形態と異なる。
【0041】
図12は、操作軌跡の例を示す図である。
図12(a)では、ユーザ以外の第三者が勝手に操作できないようにするためのロック画像S0が表示面511に表示されている。ロック画像S0には、9つの円形の画像が3行×3列の格子状に並んでいる。このロック画像S0は、ユーザが予め設定した順番にこれらの円形の画像をなぞることで、ロックが解除され、起動画像S1が表示されるようになっている。この例では、
図12(a)に示す操作軌跡T31を図中の矢印の方向に描画することで、ロックが解除されるようになっている。
図12(b)では、起動画像S1において、プログラムAを起動させるための操作軌跡T32、T33が示されている。これらの操作軌跡T32、T33は、プログラムAを起動させるためのアイコンを2度叩くように操作したこと(いわゆるダブルクリック)を表している。
【0042】
図12(c)及び(d)では、実行画像S2において、日本語テンキーR3を操作するためのフリックと呼ばれる操作が行われたときの操作軌跡T34及びT35がそれぞれ示されている。これらの図では、各操作軌跡を分かりやすく示すため、日本語テンキーR3のX軸方向の中央に配置されている4行×3列の「あ行」や「か行」の文字を入力するためのボタン以外を省略している。このフリックは、日本語テンキーR3に含まれる「あ行」や「か行」などの50音の文字を簡単に選択するための操作方法である。具体的には、ユーザが「あ」や「か」と描かれた画像に指示体を接触させ、接触させたまま指示体をX軸方向又はY軸方向に所定の距離の範囲で移動させることで各方向に対応した文字が表示される。操作軌跡T34及びT35で表されるフリックの操作により、
図12(c)では「ち」が表示され、
図12(d)では「う」が表示されている。この状態で指示体を表示面511から離すことで、表示された文字(これらの例の場合「ち」及び「う」の文字)が入力される。ここでいう所定の距離の範囲は、この例では、X軸方向へのフリックであれば長さL1、Y軸方向へのフリックであれば長さL2である。
【0043】
記憶部200は、
図12に示すような操作軌跡の形状を有する軌跡を予め記憶している。つまり、この軌跡は、操作軌跡が表す操作によって描画される軌跡であり、文字を表すものではない。以下では、この軌跡のように文字を表していない軌跡として定められたものを「非文字軌跡」という。
図13は、非文字軌跡の例を示す図である。
図13(a)では、
図12(a)に示す操作軌跡T31と同じ形状をした非文字軌跡U1が示されている。非文字軌跡U1は、Y軸方向に細長い「N」の字の形状をしている。
図13(b)では、
図12(b)に示すようなダブルクリックを表す非文字軌跡U2、U3が示されている。非文字軌跡U2、U3は、互いの位置がこの図に示す関係に限られておらず、互いの中心同士の距離がL1以内であれば、他の方向に並んでいてもよいし、完全に重なっていてもよい。
図13(c)及び(d)では、
図12(c)及び(d)に示すフリックの操作における操作軌跡T34及びT35と同じ形状をした非文字軌跡U4及びU5が示されている。詳細には、非文字軌跡U4は、X軸方向に長さがL2の直線状の軌跡であり、非文字軌跡U5は、Y軸方向に長さがL3の直線状の軌跡である。
【0044】
制御部100は、これらの非文字軌跡を用いて、手書き文字入力処理を行う。
図14は、第4実施形態に係る手書き文字入力処理の手順を示すフローチャートである。制御部100は、
図4に示すステップS11及びS12の処理を行う。次に、制御部100は、記憶させた検出軌跡データにより表される検出軌跡を記憶部200に記憶されている非文字軌跡とマッチングさせる(ステップS41)。制御部100は、このマッチングを、例えばステップS13において最大類似度を算出したような公知の技術を用いて行う。この処理により、制御部100は、各検出軌跡を、非文字軌跡と合致するものとそうでないものに分けることになる。ここでいう合致するとは、完全に一致していなくとも、例えば上記の類似度が類似度閾値以上となる程度に形状が類似していることである。
【0045】
続いて、制御部100は、非文字軌跡と合致するものを除いた検出軌跡が文字を表しているか否かを判断する(ステップS42)。制御部100は、ステップS42においてYESと判断した場合、非文字軌跡と合致するものを除いた検出軌跡に対してステップS14と同様の処理を行い、その検出軌跡が表す文字を特定する(ステップS43)。そして、制御部100は、ステップS15及びS16の処理を行って、ステップS11に戻って処理を実行する。制御部100は、ステップS42においてNOと判断した場合も、ステップS11に戻って処理を実行する。
【0046】
図13で示したとおり、非文字軌跡U1は、大文字の「N」と形状が似ており、非文字軌跡U4はマイナス記号の「−」と、非文字軌跡U5は数字の「1」や小文字の「l」と形状が似ている。しかし、これらの非文字軌跡は、上述のとおり大きさも決まっているため、これらの文字の検出軌跡と合致することは少ない。本実施形態によれば、上記の操作軌跡ように、文字が入力された可能性が低い検出軌跡が文字と判断されることを少なくすることができる。
【0047】
[第5実施形態]
本発明の第5実施形態に係る情報処理装置は、第1実施形態の情報処理装置10と構成が共通しているため、同一の符号を付して説明する。本実施形態は、第4実施形態と同様に、非文字軌跡と合致するものを除いた検出軌跡を文字であるか否かを判断するときの対象とするものである。一方、本実施形態は、予め記憶されている非文字軌跡に加え、或る条件が満たされた場合に、新たに非文字軌跡を記憶させる点で、第4実施形態と異なる。ここでいう或る条件について、
図15及び
図16を参照しながら説明する。
【0048】
図15は、第5実施形態に係る手書き文字入力処理の手順の一例を示すフローチャートである。制御部100は、ステップS11からS16まで、
図14に示す各処理と同様に実行する。続いて、制御部100は、ステップS15において起動させたプログラムを、決められた時間(例えば20秒)以内に終了させたか否かを判断する(ステップS51)。制御部100は、ステップS51において否(NO)と判断した場合、ステップS11に戻って処理を実行する。一方、制御部100は、ステップS51において終了させた(YES)と判断した場合、ステップS42、S43において用いた非文字軌跡と合致するものを除く検出軌跡を、非文字軌跡として記憶部200に記憶させる(ステップS52)。この検出軌跡が既に非文字軌跡として記憶されていた場合、制御部100は、この処理のキャンセル又は上書きの処理を行う。そして、制御部100は、ステップS11に戻って処理を実行する。
【0049】
図16は、第5実施形態に係る手書き文字入力処理の手順の別の一例を示すフローチャートである。制御部100は、
図14に示すステップS11の処理を実行する。次に、制御部100は、タッチスクリーン部500への接触が有ると判断する、すなわちタッチセンサ520が位置を検出する度に、検出軌跡データを記憶させ続ける一方、その検出軌跡データが表す検出軌跡が、何らかの操作がされたことを表す操作軌跡であれば、その操作に応じた処理を同時に実行する。例えば、制御部100は、起動画像S1が表示されている状態で、ステップS12の処理中に別の起動画像に画像を表示させるように画像を切り替えるための操作が行われた場合、別の起動画像を表示させる処理を行いつつ、その操作により描画された軌跡(上記の操作軌跡)の検出軌跡データを記憶させる。この処理が行われた場合、表示面511に表示されている画像は、起動画像S1から別の起動画像に遷移する。制御部100は、このような画像の遷移が有ったか否かを示すデータ(遷移有無データという)を、所定の時間の間、検出軌跡データとともに記憶部200に記憶させ続ける(ステップS61)。
【0050】
続いて、制御部100は、記憶させた上記遷移有無データに基づき、ステップS61の処理中に画像の遷移があったか否かを判断する(ステップS62)。制御部100は、遷移有無データが画像の遷移がなかったことを表していれば、ステップS62において否(NO)と判断し、遷移があったことを表していれば、ステップS62において画像の遷移が有った(YES)と判断する。制御部100は、ステップS62においてNOと判断した場合、ステップS41の処理を実行する。一方、制御部100は、ステップS62においてYESと判断した場合、その画像の遷移前の検出軌跡を非文字軌跡として記憶部200に記憶させる(ステップS63)。この検出軌跡が既に非文字軌跡として記憶されていた場合、制御部100は、
図15の例と同様に、この処理のキャンセル又は上書きの処理を行う。
【0051】
ステップS61において画像を操作するつもりでユーザが描画した軌跡が、非文字軌跡として記憶されておらず、かつ、偶然何らかの文字に形が似ていたときに、ユーザの意図に反して文字として判断される場合がある。そのような場合に文字として判断された検出軌跡は、その手書き文字入力処理が終了した後には非文字軌跡として記憶されているため、文字として判断されることがなくなる。このように、本実施形態によれば、ユーザの意図に反して文字として判断される検出軌跡を減らして行くことができる。
【0052】
[第6実施形態]
本発明の第6実施形態に係る情報処理装置は、第1実施形態の情報処理装置10と構成が共通しているため、同一の符号を付して説明する。本実施形態は、第4実施形態と同様に、非文字軌跡を用いるものであるが、非文字軌跡と合致する検出軌跡のうち、或る条件を満たすものを、文字であるか否かを判断するときの対象から除くという点で、第4実施形態と異なる。
【0053】
図17は、第6実施形態に係る手書き文字入力処理の手順を示すフローチャートである。制御部100は、
図14に示すステップS11、S12、S41と同様の処理をまず行う。次に、制御部100は、ステップS41において非文字軌跡と合致した検出軌跡が或る条件を満たす場合、それらを除いた検出軌跡の塊が文字であるか否かを判断する(ステップS71)。言い換えると、制御部100は、非文字軌跡と合致し、かつ、或る条件を満たすものを除いた検出軌跡が文字を表しているか否かを判断する。
【0054】
ここでいう或る条件は、例えば、非文字軌跡と合致した検出軌跡が所定回数以上は連続していないことである。これを第1条件という。例えば漢字の「三」という文字は、3つの検出軌跡が全て
図13に示す非文字軌跡U4と合致する場合がある。このように非文字軌跡を連続させた形の文字を表す検出軌跡であっても、制御部100は、上記第1条件を用いて上記の処理を行うことで、文字として判断することができる。
【0055】
また、他の或る条件は、例えば、検出軌跡の塊の中に非文字軌跡と合致した検出軌跡が含まれる割合が閾値(割合閾値という)以上となっていることである。これを第2条件という。例えば漢字の「森」という文字は、縦線と横線と斜めの線とで構成されており、その縦線と横線とが非文字軌跡U4、U5と合致してしまい、文字と判断されなくなる場合がある。例えば上記割合閾値を80%とすれば、この「森」という文字の場合、非文字軌跡に合致する検出軌跡の割合が50%であるため、非文字軌跡と合致した検出軌跡も含めた検出軌跡の塊で文字であるか否かが判断されることになる。このように非文字軌跡が含まれる文字を表す検出軌跡であっても、制御部100は、上記第2条件を用いて上記の処理を行うことで、文字として判断することができる。
【0056】
制御部100は、ステップS71においてYESと判断した場合、ステップS43、S15、S16と同様の処理を行い、ステップS71においてNOと判断した場合は、ステップS11に戻って処理を実行する。本実施形態によれば、手書きの文字を表す検出軌跡の中に非文字軌跡が含まれている場合であっても、その非文字軌跡を除いた検出軌跡が文字であるか否かを判断された結果文字として判断されなくなることを、少なくすることができる。
【0057】
[実施形態のまとめ]
上述した第4乃至第6実施形態においては、記憶部200は、非文字軌跡を記憶する非文字記憶手段として機能し、第2実施形態においては、複数の文字からなるフレーズを記憶するフレーズ記憶手段として機能する。また、上述した各実施形態においては、記憶部200は、プログラムZ(以下「第1プログラム」という。)及び文字プログラム(以下「第2プログラム」という。)を記憶するプログラム記憶手段として機能する。情報処理装置10の制御部100は、これらの第1プログラム及び第2プログラムを実行することで、次のような機能を実現する。
【0058】
図18は、制御部100が実現する機能を示す機能ブロック図である。制御部100は、判定部101と、要求部103と、実行部104と、面積検出部105と、角度検出部106と、第1記憶制御部107と、第2記憶制御部108とを有する。判定部101は、第2プログラムが起動されていない状態のときに、第1プログラムを実行することによって、上記の検出軌跡が文字を表しているか否かを判定する。この判定は、上述したステップS13、S42及びS71において行われる。また、この第1プログラムは、検出軌跡が文字を表しているか否かを判定するためのプログラムである。判定部101は、判定した結果を示すデータを特定部102及び要求部103に供給する。特定部102は、判定部101から文字を表していると判定した結果を示すデータが供給された場合には、上述したステップS14、S33及びS43において、その文字を特定する。特定部102は、特定した文字を示すデータを要求部103に供給する。
【0059】
要求部103は、判定部101から文字を表していると判定した結果を示すデータが供給された場合には、第2プログラムに対し、特定部102から供給されたデータが示す文字の記録及び表示を行うよう要求する。この要求は、具体的には、次のように実行部104に対して行われる。要求部103は、要求する内容を表すデータを実行部104に供給する。実行部104は、要求部103からデータを供給されると、そのデータが表す要求の内容に基づき、上述したステップS15において、第2プログラムを起動する。そして、実行部104は、上述したステップS16において、第2プログラムを実行して、特定部102により特定された文字の記録及び表示を行う。このようにして、第2プログラムに対する上記要求が行われる。判定部101、特定部102、要求部103及び実行部104が協働することで、本発明に係る制御手段として機能する。
【0060】
上述した第4乃至第6実施形態において、判定部101は、検出軌跡のうち、非文字記憶手段に記憶されている非文字軌跡に合致しないものが文字を表しているか否かを判定する。この判定は、上述したステップS42及びステップS71において行われる。
また、第2実施形態において、特定部102は、判定部101により文字を表していると判定された複数の検出軌跡が表す文字をそれぞれ特定し、特定した複数の文字がフレーズ記憶手段に記憶されているフレーズに一致しないときは、その複数の検出軌跡が文字を表していないと判定する。
【0061】
第3実施形態において、面積検出部105は、タッチセンサ520から供給される接触領域を表すデータに基づき、上述したとおりに接触領域の面積を検出する。面積検出部105とタッチセンサ520とが協働することで、表示面511上の位置を指示するときの指示体における接触面積を検出する面積検出手段として機能する。面積検出部105は、検出した面積を示すデータを判定部101に供給する。角度検出部106は、近接センサ530により供給される検出結果を表すデータに基づき、上述したとおりに指示体角度を検出する。角度検出部106と近接センサ530とが協働することで、指示体の長手方向が表示面511に対してなす角度を検出する角度検出手段として機能する。角度検出部106は、検出した角度を示すデータを判定部101に供給する。判定部101は、検出された接触面積が予め決められた範囲(上記の面積範囲)に含まれている場合に、検出軌跡が文字を表しているか否かを判定し、検出された角度が予め決められた範囲(上記の角度範囲)に含まれている場合に、検出軌跡が文字を表しているか否かを判定する。
【0062】
第5実施形態において、実行部104は、文字を記録及び表示させたことを、第1記憶制御部107に通知する。第1記憶制御部107は、上述したステップS51において、実行部104により文字が表示部510に表示された後の決められた時間以内に上記第2プログラムが終了したか否かを判断する。そして、第1記憶制御部107は、終了したと判断した場合に、ステップS42において文字を表していると判定された検出軌跡を、ステップS52において非文字軌跡として非文字記憶手段に記憶される第1記憶制御手段として機能する。また、第2記憶制御部108は、上述したステップS62において、表示面511に表示されている画像が他の画像に遷移したと判断した場合に、その遷移が行われるまでの検出軌跡を、ステップS63において非文字軌跡として非文字記憶手段に記憶させる第2記憶制御手段として機能する。
また、第6実施形態において、判定部101は、上述したステップS71において、検出軌跡のうち非文字軌跡に合致するものが所定の条件を満たすか否かを判断し、条件を満たすと判断したものを含む検出軌跡が文字を表しているか否かを判定する。
【0063】
[変形例]
上述した各実施形態は、本発明の実施の一例に過ぎず、以下のように変形させてもよい。また、上述した各実施形態及び以下に示す各変形例は、必要に応じて組み合わせて実施してもよい。
【0064】
(変形例1)
制御部100は、上述した各実施形態では、いわゆるオフライン文字認識を行ったが、軌跡が検出される度に随時文字かどうかを判断して文字を認識するオンライン文字認識を行ってもよい。この場合、制御部100は、ステップS12において、検出軌跡データを記憶させるとともに、その検出軌跡データが表す軌跡が検出される度に、その検出軌跡と、その1つ前に検出された軌跡とが同じ検出軌跡の塊に含まれるか否かを判断する。そして、制御部100は、否と判断した場合に、1つ前に検出された軌跡を含む検出軌跡の塊に対して、ステップS13と同様に、文字を表しているか否かを判断する。なお、制御部100は、ステップS12における所定の時間が経過するよりも前に検出軌跡の塊が文字を表していると判断できた場合、その時点でステップS14以降の処理を行ってもよい。これにより、制御部100は、このように処理を行わない場合に比べて、早く文字を表示させることができる。
【0065】
(変形例2)
制御部100は、上述した各実施形態では、プログラムZ(第1プログラム)を実行することにより文字を特定したが、文字プログラム(第2プログラム)を実行することにより特定してもよい。この場合、文字プログラムは、上記の検出軌跡により表される文字を認識し、認識した文字を記録及び表示するためのプログラムである。制御部100は、例えば
図4に示す手書き文字入力処理であれば、プログラムZを実行することにより、ステップS11、S12及びS13までの処理を行い、文字プログラムを実行することにより、ステップS15、S14及びS16の処理を、この順番で行う。
【0066】
(変形例3)
制御部100は、上述した各実施形態では、例えば
図4に示すステップS15において文字プログラム起動し、その文字プログラムを実行することで文字を表示させたが、既に起動されている文字プログラムを実行することで文字を表示させてもよい。例えば、上述したプログラムBのように電子メールをやり取りためのプログラムなどは、OSの起動時から常駐している場合や、常駐しないまでも一度起動した後終了させられることなく起動したままで他のプログラムが実行される場合などがある。これらの場合、制御部100は、プログラムBを実行しているものの、プログラムBに対するユーザの操作を受け付けていない。つまり、プログラムBは、いわゆる非アクティブな状態となっている。この状態では、ユーザが何らかの操作を行っても、プログラムBを実行することにより文字の記録及び表示を行うという処理が、制御部100によって行われることがない。換言すれば、制御部100は、プログラムBを実行することにより文字の記録及び表示を行い得る、という状態となっていない。反対に、制御部100が、プログラムBを実行し、かつ、プログラムBに対するユーザの操作を受け付けている場合、プログラムBがアクティブな状態となっているという。
【0067】
以下では、プログラムBが文字プログラムとして決められており、かつ、プログラムBが非アクティブな状態となっているときに
図4に示す手書き文字入力処理が開始された場合を例にとって説明する。この例では、制御部100は、表示面511に起動画像S1を表示させているものとする。制御部100は、ステップS13において、プログラムBが非アクティブな状態のとき、すなわちプログラムBを実行することにより文字の記録及び表示を行いうる、という状態となっていないときに、プログラムZを実行して、検出軌跡が文字を表しているか否かを判定する。そして、制御部100は、ステップS14において文字を特定し、ステップS15において、文字プログラムとしてプログラムBを起動させる代わりに、プログラムBを非アクティブな状態から、アクティブな状態に切り替える。詳細には、制御部100は、表示面511に表示させる画像を起動画像S1からプログラムBの実行画像に切り替える。そして、制御部100は、ステップS16において、アクティブな状態となったプログラムBを実行することにより、ステップS14において特定した文字を表示させる。
本変形例によれば、ユーザは、文字プログラムが非アクティブな状態であっても、文字を入力することができる。
【0068】
(変形例4)
制御部100は、表示されている画像の種類に応じて異なる非文字軌跡を用いて、
図14、
図15、
図16、
図17に示す手書き文字入力処理を行ってもよい。ここでいう画像の種類とは、例えば、
図12に示すロック画像S0のように、ユーザにより設定された操作が行われたときにのみ他の種類の画像に遷移させるという、いわゆる認証の操作を受け付けるという種類の画像(以下「認証画像」という。)である。他には、起動画像S1のように、プログラムを少ない手順で起動させるという、いわゆるランチャーとしての機能を有する種類の画像(以下「ランチャー画像」という。)や、実行画像S2のように、或るプログラムが実行されていて、操作が行われればそのプログラムによる処理が制御部100により行われる状態となっていることを示す画像(以下「プログラム画像」という。)である。
【0069】
図13に示す非文字軌跡U1は、ロック画像S0のような認証画像が表示されているときに、ロックを解除するために描画される上述した操作軌跡(手書きの文字の入力以外の画像の操作によって描画される軌跡)である。つまり、非文字軌跡U1は、ユーザの設定によって様々な軌跡となる。一方、非文字軌跡U1は、起動画像S1及び実行画像S2が表示されているときには、何らかの操作のために描画されることがほとんどない。つまり、非文字軌跡U1は、ロック画像S0に対応する操作軌跡である。同様に、非文字軌跡U2、U3は、起動画像S1のようなランチャー画像に対応する操作軌跡であり、非文字軌跡U4、U5は、実行画像S2のようなプログラム画像に対応する操作軌跡である。この場合、記憶部200は、非文字軌跡U1と認証画像(例えばロック画像S0)とを対応付けて記憶する。また、記憶部200は、非文字軌跡U2、U3とランチャー画像(例えば起動画像S1)とを対応付けて記憶し、非文字軌跡U4、U5とプログラム画像(例えば実行画像S2)とを対応付けて記憶する。このように、記憶部200は、表示面511に表示される画像の種類に応じて異なる非文字軌跡を記憶する。これらの非文字軌跡は、要するに、対応する種類の画像を操作するときに描画される軌跡である。
【0070】
制御部100は、
図14、
図15、
図16、
図17で示すステップS12において、検出軌跡データを記憶させるとともに、そのときに表示させていた画像の種類を判別するためのデータ(判別データという)を検出軌跡データに対応付けて記憶させる。この判別データとは、例えば、表示させている画像の種類を表す01、02及び03という記号である。これらの記号は、それぞれ認証画像、ランチャー画像及びプログラム画像を表す。そして、制御部100は、ステップS42(又はS71)において、判別データにより示される画像の種類に対応付けられて記憶されている非文字軌跡と検出軌跡データにより表される検出軌跡とが合致するものを除く検出軌跡が文字を表しているか否かを判断する。制御部100がこのような処理を行わなければ、ユーザが文字を描画したときの検出軌跡が、そのときに表示されている種類の画像を操作するためのものではない非文字軌跡に合致してしまう場合がある。その場合、ユーザが文字を描画したときの検出軌跡であっても、文字を表していると判断されなくなることがある。本変形例によれば、このような場合であっても、ユーザが文字を描画したときの検出軌跡が上記のような非文字軌跡に合致することがなくなるため、その検出軌跡が文字を表していないと判断されてしまうことを少なくすることができる。
【0071】
(変形例5)
制御部100は、表示面511の特定の領域の検出軌跡を対象として、その検出軌跡が文字を表しているか否かを判断してもよい。この特定の領域は、例えば、表示面511のY軸方向又はX軸方向の半分の領域や、
図3に示す起動画像S1であればアイコン群R1が表示されていない領域などである。表示されている画像毎に、操作軌跡が描画されることが少ない領域をこの特定の領域として定めることが望ましい。このように特定の領域を定めることにより、操作軌跡を含む検出軌跡が文字と判断されることが少なくなる。
【0072】
(変形例6)
情報処理装置10は、上述した各実施形態ではスマートフォンであったが、それ以外のものであってもよい。情報処理装置は、例えば、スマートフォン以外の携帯電話であってもよいし、PDA(Personal Digital Assistant)やパーソナルコンピュータなどであってもよい。これらのいずれであっても、情報処理装置は、制御部、記憶部、タッチスクリーン部を備えているものであればよい。
【0073】
(変形例7)
タッチセンサ520は、上述した各実施形態においては、静電容量方式のセンサであったが、これ以外の方式のセンサであってもよい。タッチセンサは、例えば、赤外線の遮断や反射により位置を検出する赤外線方式や、電圧を印加した透明な抵抗膜の電圧の変化により位置を検出する抵抗膜方式など、様々な方式を採り得る。要するに、タッチセンサは、表示面511上で指示体が指示した位置を検出するものであればより。望ましくは、タッチセンサは、指示体の接触面積を検出するものであるとよい。
【0074】
(変形例8)
タッチセンサ520は、上述した各実施形態においては、指示体の表面の領域のうち、表示面511に接触している部分である接触領域の面積を検出したが、接触領域の周囲の表示面511に近接する部分(近接部分という)を含んだ領域の面積を検出してもよい。タッチセンサ520は、上述したとおり、静電容量方式のセンサであり、接触領域だけではなく近接部分ともコンデンサを形成する。本変形例においては、タッチセンサ520は、測定した静電容量の分布から、接触領域として特定した部分の周囲で静電容量が決められた範囲に収まる部分を近接部分として特定する。こうして特定される近接部分の表示面511からの距離は、センサの性能にもよるが、一般的には1cm以内に収まる程度である。そして、タッチセンサ520は、接触領域に加えて近接部分を表す座標の集合を表すデータを制御部100に供給する。制御部100は、接触面積を検出したときと同じ方法で、近接部分の面積も検出し、接触領域及び近接部分の両方を含む領域の面積を検出する。この領域は、要するに、表示面511上の位置を指示するときの指示体が表示面511に近接して対向する領域である。
【0075】
(変形例9)
制御部100は、上述したプログラムZをOSの起動時から常駐させたが、OSの起動後、ユーザがプログラムZを起動させる操作をしたときから常駐させてもよい。この場合でも、ユーザは、プログラムZが起動した後、文字を記録及び表示させるためのプログラムが実行されていないとき、又は非アクティブな状態となっているときに、文字を入力することができる。
【0076】
(変形例10)
制御部100は、上述した各実施形態では、プログラムAを実行することにより、日本語を入力するための日本語テンキーR3を含む実行画像S1を表示させていたが、これに限らず、日本語以外の言語の文字を入力させるための画像や、数字や記号を入力させるための画像などを含む実行画像を表示させてもよい。要するに、制御部100は、何らかの文字を記録及び表示させるための文字プログラムを実行することで、
図4等で示したステップS14において特定した文字をステップS16において表示させればよい。
【0077】
(変形例11)
制御部100は、
図4等に示したステップS11においてタッチスクリーン部500への接触がない(NO)と判断した場合は、手書き文字入力処理を終了し、その後、予め決められた時間が経過すると、再び手書き文字入力処理を開始するようにしてもよい。この場合、制御部100は、位置が検出されたと判断するまで、予め決められた時間の間隔で、ステップS11を繰り返す。本変形例においては、制御部100は、ステップS13、S16、S21、S32、S42、S51、S71の処理において、それぞれNOと判断した場合も、ステップS11の場合と同様に処理を行う。
【0078】
(変形例12)
制御部100は、上述した各実施形態においては、
図4等に示すステップS15において、タッチスクリーン部500への接触が終了したときに文字プログラムを起動したが、この接触が終了していなくとも、ステップS14において文字を特定した後すぐに文字プログラムを起動してもよい。この場合、制御部100は、文字プログラムが起動して文字の入力ができるようになるまでの間、又は上記の接触が終了するまでの間、検出軌跡データを記憶部200に記憶させ続ける。次に、制御部100は、文字プログラムを起動させた後、検出軌跡データが示す検出軌跡から文字を特定してその文字を示す文字データをRAMに記憶させ、その文字データをプログラムAに渡すことで、この文字データが示す文字をステップS16において表示させる。このように上記の接触が終了するよりも前に文字プログラムが起動することで、ユーザは、文字の入力が受け付けられたことを手書き文字の入力を終えるよりも早く知ることができる。
【0079】
(変形例13)
制御部100は、ステップS15においてタッチセンサ520への接触が終了したと判断したときに、ステップS12における検出軌跡データを記憶部200に記憶させ続ける処理が継続している場合には、この処理を終了させるようにしてもよい。これにより、常に所定の時間が経過するまでこの処理を継続させるよりも、制御部100による処理量が少なくなり、また、CPUや記憶部200が消費する電力が少なくなる。また、ステップS12における所定の時間が経過する前であっても、接触の終了が判断された後にユーザが画像を操作したつもりで描画した軌跡が文字として特定されることを防止することができる。
【0080】
(変形例14)
制御部100は、上述した各実施形態においては、ステップS15において、タッチセンサ520が決められた時間位置を検出しなかったときに接触が終了したと判断したが、これに限らず、他の方法でこれを判断してもよい。例えば、手書きの文字入力の終了を示す終了軌跡(例えば円形の軌跡)を記憶部200に記憶させておき、制御部100が、検出軌跡を終了軌跡とマッチングして一致したときに接触が終了したと判断する。この場合、ユーザは、上記の決められ時間の長さを知らない場合や、その時間が経過するのを待たずに画像の操作を行いた場合などに、即座に文字入力を終了させることができる。
【0081】
(変形例15)
本発明は、情報処理装置10の他、情報処理装置10又は10aの制御部100が実施する処理を実現するための方法や、コンピュータにその処理を実現させるためのプログラムとしても把握されるものである。かかるプログラムは、これを記憶させた光ディスク等の記録媒体の形態で提供されたり、インターネット等のネットワークを介して、コンピュータにダウンロードさせ、これをインストールして利用可能にするなどの形態でも提供されたりするものであってもよい。