(57)【要約】【課題】  すでに筆記した数式の一部のみを他の計算に利用し、数式を筆記する手間を省略することができ、利用者にとって演算にかかる操作の負担を軽減できる計算装置、計算プログラムおよびこれが記録された記録媒体を提供することである。【解決手段】  計算装置１において、数式認識部１３は、数式を表す筆記情報を、数式情報として認識する。領域認識部１５は、領域指定情報を表す手書き図形ジェスチャを領域指定情報として認識する。手書き図形ジェスチャは、表示面上の領域を指定する。操作認識部１６は、操作を表す手書き操作ジェスチャを、操作情報として認識する。操作後数式生成部１７は、数式情報および操作情報に基づいて、操作後数式情報を生成する。演算部１８は、操作後数式生成部１７が操作後数式情報を生成したときに、操作後数式情報が表す数式に基づいて演算を行い演算結果を出力する。【選択図】      図１
2011053986.tif 000002
【特許請求の範囲】
【請求項１】
筆記によって入力を行うための筆記入力手段を有する入力部であって、前記筆記入力手段は、筆記によって外力が付与された１または複数の部位の位置の情報を筆記情報として検出し、
前記筆記入力手段による検出結果を出力する入力部と、
前記筆記入力手段を用いて筆記によって入力された筆記情報のうち、数式を表す数式筆記情報を、数式情報として認識する数式認識部と、
表示を行う表示面が形成され、前記数式情報を前記表示面に表示する表示部と、
前記筆記情報のうち、前記表示面上の領域を指定する手書き図形ジェスチャを、領域指定情報として認識する領域認識部と、
前記筆記情報のうち、前記領域指定情報によって指定される前記表示面上の領域に表示される数式情報に対する操作を表す手書き操作ジェスチャを、操作情報として認識する操作認識部と、
前記数式情報および前記操作情報に基づいて、前記操作が反映された数式を表す操作後数式情報を生成する操作後数式生成部と、
前記操作後数式生成部が操作後数式情報を生成したときに、前記操作後数式情報が表す数式に基づいて演算を行い演算結果を出力する演算部とを含むことを特徴とする計算装置。
【請求項２】
前記操作情報は、代入、置換、移動および削除のいずれか１つを意味する情報であることを特徴とする請求項１に記載の計算装置。
【請求項３】
前記領域指定情報によって指定される領域に表示される数式情報を記憶する記憶部であって、
前記操作情報が、変数に対する代入を意味する情報である場合に、前記変数の情報と、この変数に代入された数式を表す数式情報とを互いに関連付けて記憶する記憶部をさらに含むことを特徴とする請求項２に記載の計算装置。
【請求項４】
前記表示部は、前記入力部に対する予め定める操作に応じて、前記記憶部に記憶される数式情報の少なくとも一部を表示することを特徴とする請求項３に記載の計算装置。
【請求項５】
コンピュータを、筆記によって入力を行うための筆記入力手段を有する入力部であって、
前記筆記入力手段は、筆記によって外力が付与された１または複数の部位の位置の情報を筆記情報として検出し、
前記筆記入力手段による検出結果を出力する入力部、
前記筆記入力手段を用いて筆記によって入力された筆記情報のうち、数式を表す筆記情報を、数式情報として認識する数式認識部、
表示を行う表示面が形成され、前記数式情報を前記表示面に表示する表示部、
前記筆記情報のうち、前記表示面上の領域を指定する手書き図形ジェスチャを、領域指定情報として認識する領域認識部、
前記筆記情報のうち、前記領域指定情報によって指定される前記表示面上の領域に表示される数式情報に対する操作を表す手書き操作ジェスチャを、操作情報として認識する操作認識部、
前記数式情報および前記操作情報に基づいて、前記操作が反映された数式を表す操作後数式情報を生成する操作後数式生成部、および
前記操作後数式生成部が操作後数式情報を生成したときに、前記操作後数式情報が表す数式に基づいて演算を行い演算結果を出力する演算部として機能させることを特徴とする計算プログラム。
【請求項６】
請求項５に記載の計算プログラムが、コンピュータに読取り可能に記録されることを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、筆記によって入力された数式に基づく計算を行う計算装置、計算プログラムおよびこれが記録された記録媒体に関する。
【背景技術】
【０００２】
第１の従来技術に係る計算装置として、利用者がタッチパネルまたはタブレット等のポインティングデバイスを用いて数式を筆記すれば数字や計算記号を認識し、さらに認識した数字や計算記号を基に数式を認識し、演算する手書き入力式電子卓上計算機が知られる。
【０００３】
前記手書き入力式電子卓上計算機は、利用者が前記ポインティングデバイスを用いて演算させたい通りに筆記すれば自動的に数式の演算を行う。そのため、前記計算装置は、利用者にとって装置に対する入力が簡便な操作で済むという特徴を備えている。例えば、角度３０度の正弦関数値を求める場合、一般的な電卓の場合、入力される数値が角度であることを指示する［ＤＥＧ］キー、角度の数値キー［３］および［０］、さらに関数を示す［ｓｉｎ］キーが押されると結果が得られる。これは、人が通常筆記し、紙や画面等の媒体上で表示される順序に合致した入力方法ではない。しかしながら、前記手書き入力式電子卓上計算機は、利用者がｓｉｎ３０°と数式通りに筆記入力すれば、その筆記入力を自動的に認識し、演算し、結果を得る（たとえば特許文献１参照）。
【０００４】
前記手書き入力式電子卓上計算機をさらに便利にする工夫を示す第２の従来技術に係る計算装置として、表示された計算結果に対して丸チェックおよび矢印を記入し、これらの記号の意味と配置とから、さらに演算が行われる手書き計算処理装置が知られている。この計算処理装置は、すでに行った演算で得られている結果に利用者が数字や演算記号を書き加えると、書き加えられた数字や演算記号を認識し、指定された演算を行う（たとえば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開昭６３−１６５９４４号公報
【特許文献２】特開平４−７６７５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
第１の従来技術では、計算を表す数式を完結させる必要があるので、数式の一部を他の計算に利用する場合には、計算に利用したい計算を完結させて筆記する必要があり、すでに筆記された数式の一部のみを他の計算に利用することができないという問題点がある。
【０００７】
第２の従来技術では、計算結果をさらに他の数式による計算に利用することはできるけれども、第２の従来技術でも、すでに筆記された数式の一部のみを他の計算に利用することができないという問題点がある。したがって、数式を筆記する手間を自由に省略することができないという問題点がある。
【０００８】
本発明の目的は、すでに筆記した数式の一部のみを他の計算に利用し、数式を筆記する手間を省略することができ、利用者にとって演算にかかる操作の負担を軽減できる計算装置、計算プログラムおよびこれが記録された記録媒体を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、筆記によって入力を行うための筆記入力手段を有する入力部であって、前記筆記入力手段は、筆記によって外力が付与された１または複数の部位の位置の情報を筆記情報として検出し、
前記筆記入力手段による検出結果を出力する入力部と、
前記筆記入力手段を用いて筆記によって入力された筆記情報のうち、数式を表わす数式筆記情報を、数式情報として認識する数式認識部と、
表示を行う表示面が形成され、前記数式情報を前記表示面に表示する表示部と、
前記筆記情報のうち、前記表示面上の領域を指定する手書き図形ジェスチャを、領域指定情報として認識する領域認識部と、
前記筆記情報のうち、前記領域指定情報によって指定される前記表示面上の領域に表示される数式情報に対する操作を表す手書き操作ジェスチャを、操作情報として認識する操作認識部と、
前記数式情報および前記操作情報に基づいて、前記操作が反映された数式を表す操作後数式情報を生成する操作後数式生成部と、
前記操作後数式生成部が操作後数式情報を生成したときに、前記操作後数式情報が表す数式に基づいて演算を行い演算結果を出力する演算部とを含むことを特徴とする計算装置である。
【００１０】
また本発明は、前記操作情報は、代入、置換、移動および削除のいずれか１つを意味する情報であることを特徴とする。
【００１１】
また本発明は、前記領域指定情報によって指定される領域に表示される数式情報を記憶する記憶部であって、
前記操作情報が、変数に対する代入を意味する情報である場合に、前記変数の情報と、この変数に代入された数式を表す数式情報とを互いに関連付けて記憶する記憶部をさらに含むことを特徴とする。
【００１２】
また本発明は、前記表示部は、前記入力部に対する予め定める操作に応じて、前記記憶部に記憶される数式情報の少なくとも一部を表示することを特徴とする。
【００１３】
また本発明は、コンピュータを、筆記によって入力を行うための筆記入力手段を有する入力部であって、
前記筆記入力手段は、筆記によって外力が付与された１または複数の部位の位置の情報を筆記情報として検出し、
前記筆記入力手段による検出結果を出力する入力部、
前記筆記入力手段を用いて筆記によって入力された筆記情報のうち、数式を表わす数式筆記情報を、数式情報として認識する数式認識部、
表示を行う表示面が形成され、前記数式情報を前記表示面に表示する表示部、
前記筆記情報のうち、前記表示面上の領域を指定する手書き図形ジェスチャを、領域指定情報として認識する領域認識部、
前記筆記情報のうち、前記領域指定情報によって指定される前記表示面上の領域に表示される数式情報に対する操作を表す手書き操作ジェスチャを、操作情報として認識する操作認識部、
前記数式情報および前記操作情報に基づいて、前記操作が反映された数式を表す操作後数式情報を生成する操作後数式生成部、および
前記操作後数式生成部が操作後数式情報を生成したときに、前記操作後数式情報が表す数式に基づいて演算を行い演算結果を出力する演算部として機能させることを特徴とする計算プログラムである。
【００１４】
また本発明は、前記計算プログラムが、コンピュータに読取り可能に記録されることを特徴とする記録媒体である。
【発明の効果】
【００１５】
本発明によれば、筆記入力手段は、筆記によって外力が付与された１または複数の部位の位置の情報を筆記情報として検出する。数式認識部は、前記筆記入力手段を用いて筆記によって入力された筆記情報のうち、数式を数式筆記情報を数式情報として認識する。領域認識部は、表示面上の領域を指定する手書き図形ジェスチャを、領域指定情報として認識する。操作認識部は、操作を表す手書き操作ジェスチャを、操作情報として認識する。操作後数式生成部は、前記操作が反映された数式を表わす操作後数式情報を生成し、演算部は、操作後数式生成部が操作後数式情報を生成したときに、操作後数式情報が表わす数式に基づいて演算を行い、演算結果を出力する。
【００１６】
これによって、利用者は、筆記入力手段を用いて演算の数式を筆記し入力できる。また筆記情報によって操作の対象となる領域を指定し、指定された領域に表示される数式情報に対する操作を筆記によって入力することができる。したがって指定された領域に表示される数式を、指定された領域外に表示される数式と区別して処理することができる。これによって、すでに筆記した数式の一部のみを他の計算に利用することができる。このように数式に対する演算操作を簡単かつ容易にして、入力に要する利用者の手間を省き労力を軽減することができる。
【００１７】
また本発明によれば、操作情報は、代入、移動、置換えおよび削除のいずれか一つを意味する情報である。これによって、利用者は、代入、移動、置換えおよび削除のいずれか１つを意味する操作を行うことができる。したがって、すでに入力した数式に対する変更を行うことができる。これによって、数式を完成した状態で入力しなくても、すでに筆記によって入力した数式に対して操作を行うことによって、数式を完成させることができる。したがって、数式の筆記の手間を節減可能となり、利用者にとっての操作性を向上することができる。
【００１８】
また本発明によれば、記憶部は、領域指定情報によって指定される領域に表示される数式情報を記憶し、操作情報が、変数に対する代入を意味する情報である場合には、さらに前記変数の情報と、この変数に代入された数式を表す数式情報とを互いに関連付けて記憶する。これによって、利用者は、一度入力された数式を変数に代入する操作を行えば、この操作の後、変数を入力することによって、変数に代入された数式情報を、利用することができるようになる。これによって利用者は、一度入力した数式の再入力を省略することができる。また複雑な数式を変数に代入しておけば、変数を筆記する入力によって複雑な数式に対して入力を簡単化することができる。
【００１９】
また本発明によれば、表示部は、入力部に対する予め定める操作に応じて、記憶部に記憶される数式情報の少なくとも一部を表示する。これによって、利用者がすでに入力した数式の一部を忘れた場合でも、記憶部に記憶される数式情報を目視確認することができるとともに、計算装置に計算を続行させることができる。
【００２０】
また本発明によれば、計算プログラムは、コンピュータを、入力部、数式認識部、表示部、領域認識部、操作認識部、操作後数式生成部、および演算部として機能させる。これによって、コンピュータを、計算装置として機能させることができる。
【００２１】
また本発明によれば、前記計算プログラムが、コンピュータに読取り可能に、記録される。したがって、計算プログラムを、コンピュータに読取り可能な記録媒体として提供できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態に係る計算装置１の構成を表すブロック図である。
【図２】本発明の一実施形態における表示部の表示画面３０の正面図である。
【図３】本発明の一実施形態において記憶部が管理する数式データファイルＦｄｆの一例を示す図である。
【図４】本発明の一実施形態において認識された数式の領域と各文字の位置座標とを説明する図である。
【図５】本発明の一実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。
【図６Ａ】本発明の一実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。
【図６Ｂ】本発明の一実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。
【図６Ｃ】本発明の一実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。
【図７】本発明の一実施形態におけるジェスチャ処理の制御フラグ構成の一例を示す図である。
【図８】本発明の一実施形態における領域指定処理のフローチャートである。
【図９Ａ】本発明の一実施形態における代入の処理のフローチャートである。
【図９Ｂ】本発明の一実施形態における代入の処理のフローチャートである。
【図１０Ａ】本発明の一実施形態における移動の処理のフローチャートである。
【図１０Ｂ】本発明の一実施形態における移動の処理のフローチャートである。
【図１１Ａ】本発明の一実施形態における置換えの処理のフローチャートである。
【図１１Ｂ】本発明の一実施形態における置換えの処理のフローチャートである。
【図１２Ａ】本発明の一実施形態において操作後数式情報Ｆｐが生成される様子を示す図である。
【図１２Ｂ】本発明の一実施形態において操作後数式情報Ｆｐが生成される様子を示す図である。
【図１３Ａ】本発明の他の実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。
【図１３Ｂ】本発明の他の実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。
【図１４Ａ】本発明のさらに他の実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。
【図１４Ｂ】本発明のさらに他の実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら本発明を実施するための形態について説明する。以下に示す実施形態は、本発明に係る技術を具体化するために例示するものであり、本発明の技術的範囲を限定するものではない。本発明に係る技術内容は、特許請求の範囲に記載された技術的範囲内において、種々の変更を加えることが可能である。以下の説明は、計算装置１、計算プログラムおよびこれが記録された記録媒体についての説明をも含む。
【００２４】
図１は、本発明の一実施形態である計算装置１の構成を表すブロック図である。本実施形態において計算装置１は、筆記によって入力された数式に基づく計算を行う装置である。本実施形態においては、等号および不等号のいずれか１つを含む数式だけでなく、等号および不等号を含まない１または複数の項のみの式をも、「数式」に含むものとする。したがって数式が、単一の数値のみを指す場合をも含む。
【００２５】
計算装置１は、入力部１２と、数式認識部１３と、表示部１４と、領域認識部１５と、操作認識部１６と、操作後数式生成部１７と、演算部１８とを含んで構成される。入力部１２は、筆記によって入力を行うための筆記入力手段１２０を有する。筆記入力手段１２０は、筆記によって外力が付与された１または複数の部位の位置の情報を検出する。外力が付与される位置が変化するときには、外力が付与される位置の変化が表す軌跡の情報を、筆記情報として検出する。入力部１２は、筆記入力手段１２０による検出結果を出力する。数式認識部１３は、筆記入力手段１２０を用いて筆記によって入力された筆記情報のうち、数式を表す数式筆記情報Ｇｆを、数式情報として認識する。
【００２６】
本実施形態においては、数式認識部１３は、文字認識手段１２１とは異なる機能を有し、数式認識部１３は数式筆記情報Ｇｆの認識を行い、文字の認識は、筆記入力手段１２の文字認識手段１２１で行われるものとした。ただし他の実施形態においては、数式認識部１３は、文字の認識および文字の組合わせによって表される数式の認識、両方を認識を行う構成とすることも可能である。表示部１４には、表示を行う表示面が形成され、表示部１４は、数式情報を表示面に表示する。表示部１４の表示面は、具体的に本実施形態では、後述する表示画面３０である。
【００２７】
領域認識部１５は、筆記情報のうち手書き図形ジェスチャＧｒを領域指定情報として認識する。手書き図形ジェスチャＧｒは、表示面上の領域を指定する。操作認識部１６は、筆記情報のうち、手書き操作ジェスチャＧｏｐを、操作情報として認識する。手書き操作ジェスチャＧｏｐは、領域指定情報によって指定される表示面上の領域に表示される数式情報に対する操作を表す。操作後数式生成部１７は、数式情報および操作情報に基づいて、操作後数式情報Ｆｐを生成する。操作後数式情報Ｆｐは、操作が反映された数式を表す。演算部１８は、操作認識部１６が操作情報を認識したときに、操作後数式情報Ｆｐが表す数式に基づいて演算を行い、演算結果を出力する。具体的には演算部１８は、操作後数式生成部１７が操作後数式を生成したときに、操作後数式情報Ｆｐが表す数式に基づいて演算を行い、演算結果を出力する。
【００２８】
「演算を行う」とは、「式の値を算出すること」をも、「文字を含んだまま解を求めること」をも、「簡単な表現形式の数式に変換すること」をも、さらに「数式が表す関数を図形情報として求めること」をも含む。第１実施形態では「演算」について、式の値を算出する場合を例示するけれども、他の実施形態においては、これに限定するものではない。筆記による入力に対して数式認識、領域認識および操作認識が行うことができるならば、その演算内容については、規定しない。
【００２９】
図１に示すように、具体的に計算装置１は、制御部１１、入力部１２、数式認識部１３、表示部１４、領域認識部１５、操作認識部１６、操作後数式生成部１７、演算部１８、および記憶部１９の各部を含んで構成される。計算装置１のうち、制御部１１は、中央処理演算装置（Central Processing Unit, 略称「ＣＰＵ」）を含んで構成される。
【００３０】
制御部１１には、入力部１２、数式認識部１３、表示部１４、領域認識部１５、操作認識部１６、操作後数式生成部１７、演算部１８、および記憶部１９がバス等によって、接続されている。
【００３１】
筆記入力手段１２０は、透明なシート状部品を含み、透明なシート状部品は、表示部１４の表示面に重ねて配置される。またシート状部品は、筆記による押圧に応じて押圧された位置を検出する。表示部１４は、押圧された位置に対してシート状部品の厚み方向に重なる表示面の位置に、シート状部品による検出結果に応じた表示を行う。これによって、筆記動作を確認しながら入力を行うことができる。したがって、紙面に対して記入するときと同様の操作性を実現することができる。
【００３２】
入力部１２は、筆記入力手段１２０と、文字認識手段１２１とを含んで構成される。筆記入力手段１２０は、利用者が筆記によって入力を行うための手段である。筆記入力手段１２０は、利用者インタフェース機能を備え、手書き入力できるタッチパネル、タブレットおよびスタイラスペン等の、既に実用化され公知である手書き入力のための入力手段を含んでいる。本実施形態では、従来の入力手段であるキーは、入力部１２に含まれていないものとしている。ただし他の実施形態では、キーを設けて、たとえば［＝］キーが押されることによって演算が実施され、結果が表示されるようにすることもでき、よく四則演算に使われる［＋］、［−］、［＊］および［／］キーで入力可能な構成とすることもできる。
【００３３】
筆記入力手段１２０は、利用者による筆記情報を検出する。文字認識手段１２１は、筆記入力手段１２０が出力する時系列の座標データから利用者が筆記した文字および数式の軌跡を検出し、それを文字として認識し、一時記憶する。入力部１２は、制御部１１の求めに応じて該軌跡に応じた時系列の座標データを出力する。
【００３４】
数式認識部１３は、筆記入力手段１２０を用いて筆記によって入力された筆記情報のうち、数式を表わす数式筆記情報Ｇｆを、文字認識手段１２１から得られる文字認識結果である文字と文字間の位置関係の情報とを用いて数式として認識し、数式情報を生成する。ここで、計算装置１は、数式を扱うので、アルファベット等の「文字」の他に、数字、四則演算記号、微分および積分等の「数学記号」等およびｓｉｎ、ｌｏｇ等「文字」から成る関数等、多種多様な「文字」や「記号」を扱う。これらを総称して「文字」という言葉を用いる。
【００３５】
表示部１４は、数式筆記情報Ｇｆを表示する。数式認識部１３が数式筆記情報Ｇｆに基づいて数式情報を認識すると、表示部１４は、数式筆記情報Ｇｆの表示を消去した後、数式認識部１３が認識した数式情報を活字によって表示する。これによって、筆記によって入力された数式を、活字によって確認することができる。したがって、筆記によって入力した数式に誤記があったり、数式認識部１３による手書き数式に対する認識に誤りがあったりしても、確認の上、修正することが可能となる。
【００３６】
表示部１４は、表示面を形成して、数式情報を表示面に表示する。表示部１４で用いられる表示媒体は、現在では小型の液晶等が採用される。表示部１４は、液晶式に限定されることはなく、有機エレクトロルミネッセンス（ＥＬ）式のものであってもよい。表示部１４および筆記入力手段１２０は、利用者にとって一体となって見える装置である。計算装置１の表示出力は、表示部１４の表示媒体上に表示され、利用者が表示面上にスタイラスペン等を用いて数式および後述するジェスチャを書けば、筆記入力手段１２０によって書かれた情報が読み取られる座標が検出される。
【００３７】
領域認識部１５は、利用者によって筆記された手書き図形ジェスチャＧｒを解析して手書き図形ジェスチャＧｒとして認識し、手書き図形ジェスチャＧｒに外接する矩形座標を算出する。
【００３８】
操作認識部１６は、筆記情報のうち、領域指定情報によって指定される表示面上の領域に表示される数式情報に対する操作を表わす手書き操作ジェスチャＧｏｐを操作情報として認識する。本実施形態において操作情報は、代入、置換、移動および削除のいずれか１つを意味する情報である。領域指定情報によって指定される表示面上の領域に表示される数式情報を「内部数式情報」といい、領域指定情報によって指定される領域外に表示される数式情報を「外部数式情報」という。「代入」は、変数の中身を、特定の数値または数式に設定することを意味するものとする。共通の変数を含む複数の数式において、１つの式における変数の中身を他の数式に代入することは、数学的な「代入」または「式への代入」に相当するけれども、これについては「関係付け」と称することがある。
【００３９】
操作後数式生成部１７は、数式情報および領域指定情報に基づいて、操作が反映された数式を表わす操作後数式情報Ｆｐを生成する。演算部１８は、操作認識部１６が操作情報を認識したときに、操作後数式情報Ｆｐが表わす数式に基づいて演算を行い、演算結果を出力する。以上の各部ともデータ授受のために一時的にデータを保存するバッファを含んでいる。これを内部バッファと称する。構成ブロック図においては、内部バッファの図示を省略する。
【００４０】
また、制御部１１は、手書き入力を処理するための制御の手順と後述する制御フラグとの関係を予め定めるテーブルＴｂとして有している。このテーブルを「機能テーブル」（Ｔｂ）と称する。機能テーブルＴｂの一例は、後述する図７に示す。
【００４１】
本実施形態において、制御の中で読み書きの記憶として用いられる情報を「ファイル」と呼ぶ。また、ファイルのなかで制御に用いられるオン／オフ情報を「制御フラグ」と呼ぶ。
【００４２】
本実施形態において「筆記情報」とは、利用者による筆記によって表示面上に外力が付与された部位の位置の情報およびその位置の変化が表す軌跡の情報をいう。本実施形態において、筆記情報のことを単に「ジェスチャ」と称することもある。筆記情報には、文字によって数式を表す数式筆記情報と、操作する領域を指定する手書き図形ジェスチャと、指定された領域の数式部分を操作するための手書き操作ジェスチャとがある。本実施形態では、指定された領域の数式部分に対する手書き操作ジェスチャの代表例として「代入」、「移動」および「置換え」の３つの手書き操作ジェスチャを用意している。しかし、これに限定することはなく、これらの３つの機能のうち、いずれか２つ以上の機能が組合わされた機能を他の手書き操作ジェスチャとして定義することも可能である。
【００４３】
以下の説明では、代入を行わせる手書き操作ジェスチャを「代入ジェスチャ」と称し、移動および置換えを行わせる手書き操作ジェスチャを、それぞれ「移動ジェスチャ」および「置換えジェスチャ」と称する。「ストローク」とは、「１回の連続した動作による筆記情報」のことをいう。また、「領域」とは、「数式を内包する外接矩形ＳＱの内側、または筆記入力手段１２０によって示される筆記情報内包する外接矩形ＳＱの内側」をいう。さらに「領域指定する」とは、「利用者が表示部の表示面上において操作の対象となる領域を筆記し指定する」ことをいう。
【００４４】
図２は、本発明の一実施形態における表示部１４の表示画面３０の正面図である。表示画面３０は、数式認識結果および演算結果表示ならびに数式入力用の表示入力領域３１と、筆記情報の入力に係るジェスチャ開始ボタン３２と、ジェスチャ終了ボタン３３と、数式入力ボタン３４とを含んで構成される。以上の各ボタンに対して、予めボタンの機能およびボタンの画面における位置情報を対応付けた情報が制御部１１の機能テーブルＴｂに記憶されているものとする。利用者は、図２で示される画面の上で筆記し、筆記に応じた数式表示および演算結果表示を得る。
【００４５】
以下、図１に基づいて文字認識、数式の認識、演算および結果の表示に関する制御とデータの流れを述べる。利用者は、図２に示される画面上にあるジェスチャ開始ボタン３２を押す。入力部１２は、押された位置の座標データを検出し、制御部１１に送る。制御部１１は、送られてきた座標データと機能テーブルＴｂの位置情報を比較して、ジェスチャ開始ボタン３２が押されたと判定する。そして、全制御フラグをＯＦＦとする。制御フラグについては図７に関連した説明箇所で述べる。
【００４６】
ジェスチャ開始ボタン３２の押釦に引き続き利用者は、数式を筆記するか、領域を指定するための筆記情報か、または領域で指定された数式を操作するための筆記情報を筆記する。これを受けて筆記入力手段１２０は、筆記された筆記情報の座標を検出し、制御部１１に送る。制御部１１は、送られてきた座標を内部バッファに記憶し、筆記入力監視用タイマを作動させる。筆記入力監視用タイマは、制御部に内蔵され、時間を計測する。筆記入力監視用タイマによって計測される時間が過ぎて、それまでに他に筆記入力がなければ、制御部１１は、それまで得ていた座標データと一緒に筆記情報の種類に対する認識を行う。
【００４７】
制御部１１が筆記情報に対する認識を行うときには、座標データを筆記情報認識辞書２０に登録されているジェスチャデータと照合し、筆記情報認識を行う。筆記情報認識の結果、制御部１１は、指定された領域に位置する数式に対する手書き操作ジェスチャであると判断すると、操作認識部１６に筆記情報を送り、操作認識部１６に制御フラグのＯＮ／ＯＦＦを決定させる。筆記情報認識の結果、制御部１１が、領域を指定する手書き図形ジェスチャであると判断すると、領域認識部１５に筆記情報を送る。入力された筆記情報が、文字および数式の数式筆記情報である場合には、手書き図形ジェスチャＧｒまたは手書き操作ジェスチャとして認識されないので制御フラグに対しては何もしない。制御部１１は、認識の結果、確からしい順に筆記情報の種類を特定し、筆記情報認識結果として得る。制御部１１は、得られた筆記情報認識結果の種類に基づいて、
【００４８】
制御部１１は、筆記情報認識結果が領域を指定する手書き図形ジェスチャＧｒまたは領域で指定された数式を操作する手書き操作ジェスチャのいずれの筆記情報でもないと判断すると、文字認識手段１２１に該筆記情報を送り、文字認識を行うことを指示する。
【００４９】
文字認識手段１２１は、座標データから文字を認識する文字認識処理を行う。しかし、文字認識処理の結果、文字を認識できなければ制御部１１に認識不能であった旨応答を返す。制御部１１は、この応答を受け取ると、特に何もしない。
【００５０】
文字認識手段１２１は、座標データから文字を認識できた場合、認識した文字毎に位置情報を算出する。この位置情報の算出の処理が終われば文字認識手段１２１は、文字または文字列とそれらの位置情報を組み合わせた文字認識結果を制御部１１に送る。制御部１１は、これを内部バッファに保存する。
【００５１】
利用者によって数式入力ボタン３４が押されると、制御部１１は、文字認識手段１２１から送られてきて内部バッファに保存していた文字認識結果を数式認識部１３に送り、数式として認識することを指示する。数式認識部１３は、各文字の並び順序および文字間の間隙等を精査し、各文字が組み合わさった数式としての認識を行い、数式認識結果を制御部１１に送る。
【００５２】
制御部１１は、受け取った数式認識結果を演算部１８に送り、数式演算を行うことを指示する。演算部１８は、数式認識を行った結果を分析した後、演算する優先順を設けてその優先順に演算を行う。演算部１８は、演算を終えると演算結果を制御部１１に送る。
【００５３】
計算装置１は、記憶部１９をさらに含んで構成される。記憶部１９は、領域指定情報によって指定される領域に表示される数式情報を記憶する。また記憶部１９は、操作情報が変数に対する代入を意味する情報である場合に、変数の情報と、この変数に代入された数式を表す数式情報とを互いに関連付けて記憶する。表示部１４は、入力部１２に対する予め定める操作に応じて、記憶部１９に記憶される数式情報の少なくとも一部を表示する。制御部１１は、得られている数式認識結果および演算結果を表示することを表示部１４に表示させる。また、制御部１１は、数式認識が行われる都度、数式データＦｄを作成し、記憶部１９に記憶する。
【００５４】
図３は、本発明の一実施形態において記憶部１９が管理する数式データファイルＦｄｆの一例である。「数式データ」（Ｆｄ）とは、数式認識部１３で認識された数式に関する複数の関連情報を一個にまとめた複合データ（レコード）である。各行が一つの数式データＦｄである。
【００５５】
数式データＦｄの情報構成は、列単位に最左列より「数式ＩＤ」の情報、「変数」の情報、「数式」の情報、「数式の領域」の情報および「数式を構成する各文字の位置座標」の情報である。「数式ＩＤ」には、数式データＦｄが一意に識別可能となるように設けられる管理番号である数式ＩＤが保存される。数式ＩＤとして自然数が、記憶部１９によって数式データＦｄが生成された順に打たれる。第２列目「変数」には、数式に対して定義された変数が保存される。第３列目「数式」には、数式認識部１３によって認識された結果の数式が保存される。第４列「数式の領域」は、数式の占める領域の座標データが保存される。第５列「数式を構成する各文字の位置座標」は、筆記入力手段１２０によって検出された数式を構成する各文字の位置座標が保存される。
【００５６】
第４列目の認識された「数式の領域」とは、以下のようにして定まる４つの座標で囲まれる範囲をいう。図４は、本発明の一実施形態において認識された数式の領域と各文字の位置座標とを説明する図である。表示部１４の、たとえば図２で示される画面の左下隅を表示領域の原点とすれば、画面のドット数構成に対応して前記領域の任意の点がＸ座標およびＹ座標で表現できる。たとえば筆記された数式「１＋２＋３」に対し、前記数式を垂直および水平に走査すると数式が存在する領域が求まる。
【００５７】
この領域のＸ座標における最大値および最小値をｘｍａｘおよびｘｍｉｎとし、Ｙ座標における最大値および最小値をｙｍａｘおよびｙｍｉｎとすると、Ｘ座標およびＹ座標ならびに最大値および最小値の組合せで４つの座標、Ｐ１（ｘｍｉｎ，ｙｍｉｎ），Ｐ２（ｘｍａｘ，ｙｍｉｎ），Ｐ３（ｘｍｉｎ，ｙｍａｘ），Ｐ４（ｘｍａｘ，ｙｍａｘ）を設けることができる。これら４つの座標を結ぶ矩形の内側が「数式の領域」である。便宜上Ｐ１（ｘｍｉｎ，ｙｍｉｎ）をＰｉｓｔ、またＰ４（ｘｍａｘ，ｙｍａｘ）をＰｉｅｎと二次元ベクトル表現すると、前記４つの点で構成される領域を［Ｐｉｓｔ，Ｐｉｅｎ］と表わすことができる。ここでｉは、数式ＩＤに対応する添え字である。
【００５８】
図３において第５列目の「数式を構成する各文字の位置座標」については以下のように文字認識手段１２１で文字認識される。たとえば、筆記「１＋２＋３」を構成する５文字は、図４に示されるように、文字「１」については、文字「１」内包する外接矩形ＳＱの４つの座標ｐ１１１（ｘ１１ｍ，ｙ１１ｍ），ｐ１１２（ｘ１１Ｍ，ｙ１１ｍ），ｐ１１３（ｘ１１ｍ，ｙ１１Ｍ），ｐ１１４（ｘ１１Ｍ，ｙ１１Ｍ）によって、文字「１」の位置が求められる。ここで「ｍ」は、最小値、「Ｍ」は、最大値を表わす。これら４つの位置座標を総称してＰＣ１１と表わす。同様にして第２番目の文字「＋」に対する４つの位置座標、ＰＣ１２が求められ、以下同様にしてＰＣ１１からＰＣ１５まで全５文字の位置座標が求められる。これらの位置座標は、数式データＦｄの第５列目の「数式を構成する各文字の位置座標」として保存される。
【００５９】
以下、手書き入力された筆記情報に対してこれを認識し、ジェスチャ処理ルール辞書２１に従って筆記情報が意図する機能を実現する処理を、「ジェスチャ処理」という。ジェスチャ処理との関連で用いられる用語を説明する。
【００６０】
「新規数式データ」とは、数式データファイルＦｄｆに登録され記憶部１９で管理されることを必要とする新たに生成された数式データＦｄである。新規数式データは、操作後数式生成部１７で生成される。操作後数式生成部１７は、数式ＩＤとして新規数式データであることを示すために、まず「零」を設定する。「操作基準数式データ」は、代入、移動、または置換えの操作を行うための操作基準数式を含む数式データＦｄである。操作基準数式は、操作の対象となる数式を含む数式である。「領域指定数式データ」は、１つの操作基準数式に対し手書き図形ジェスチャＧｒによって指定された領域の範囲内にある部分を数式として含む数式データＦｄをいう。「修正数式データ」とは、「操作基準数式データ」が操作によって操作基準数式から領域指定された数式部分が除かれた数式データＦｄをいう。
【００６１】
つぎにこれらのジェスチャ処理に関して用いられる領域に関連する用語を定義する。「数式の領域」とは、すでに説明した通り数式を内包する外接矩形ＳＱの内側である。「領域の範囲」とは、手書き図形ジェスチャＧｒを内包する外接矩形ＳＱによって囲まれる範囲である。「領域基準位置」（Ｐｒ０）は、外接矩形ＳＱの中心、すなわち両対角線の交点である。
【００６２】
次に、ジェスチャ処理について説明する。まず「領域指定」、「代入」、「移動」および「置換え」の各手書き操作ジェスチャについて説明する。
【００６３】
図５は、本発明の一実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。本実施形態における領域指定は、書かれてある数式に対して利用者が所望する部分全体を楕円状または矩形状に囲む。
【００６４】
図６Ａ〜図６Ｃは、本発明の一実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。図６Ａおよび図６Ｂでは、指定された領域の数式部分を操作するための３種のジェスチャを表わす１例である。図６Ａ（ａ）で代入ジェスチャ、図６Ａ（ｃ）で移動ジェスチャおよび図６Ｂ（ｅ）で置換えジェスチャがそれぞれ示される。
【００６５】
図６Ａ（ａ）は、数式「ｙ＝３ｘ２＋５ｘ−１０」の「３ｘ２＋５ｘ」の部分に対して代入変数「ｚ」が定義されていることを表わしている。手書き操作ジェスチャのうち、代入ジェスチャは、ジェスチャによる操作が代入であることを示す、ここでは「＝」で表現される手書き操作ジェスチャＧｏｐ部分と、代入変数を定義している、ここでは「Ｚ」で表現される筆記情報Ｇｆの部分とで表わされる。
【００６６】
図６Ａ（ｃ）は、数式「ｙ＝３ｘ２＋５ｘ−１０」の「３ｘ２＋５ｘ」の部分が、他の数式「÷５」の前に移動されることを表わしている。手書き操作ジェスチャＧｏｐのうち、移動ジェスチャは、当該ジェスチャが領域指定された範囲を引き出す、ここでは円弧上に表現される部分（第1ストロークＫ１）と、移動であることを示す、ここでは第1ストロークＫ１の一端を囲む三角形状に表現される部分(第２ストロークＫ２)とからなる。
【００６７】
図６Ｂ（ｅ）は、数式「ｙ＝３ｘ２＋５ｘ−１０」の「３ｘ２＋５ｘ」の部分が、他の数式「ｚ＝９ｘ３÷５」の「９ｘ３」と置換えられることを表わしている。置換えを表わす手書き操作ジェスチャＧｏｐの終点には手書き図形ジェスチャＧｒ２が存在する。
【００６８】
以下に利用者が手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐを入力したときの処理の流れを説明する。基本的な流れについては、文字入力と数式入力とについて述べた説明と同様である。ここでは利用者によってジェスチャ開始ボタン３２が押され、全制御フラグをＯＦＦとする処理がなされているものとする。
【００６９】
利用者が数式を筆記または手書き図形ジェスチャもしくは手書き操作ジェスチャを筆記すると、すでに述べたとおり、筆記入力手段１２０は、筆記情報に対する座標検出を行い、制御部１１は、筆記入力監視用タイマを作動させる。筆記入力監視用タイマによる計時時間内に他に筆記入力がなければ、制御部１１は、それまで得ていた座標データに基づいて、筆記情報認識を行う。
【００７０】
制御部１１は、筆記情報を認識して手書き図形ジェスチャＧｒまたは手書き操作ジェスチャであると判断すると、操作認識部１６に筆記情報を送り、操作認識部１６に制御フラグのＯＮ／ＯＦＦを決定させる。制御部１１は、認識の結果、確からしい順にジェスチャの種類を特定し、筆記情報認識結果として制御部１１に送る。
【００７１】
制御部１１は、送られてきた筆記情報認識結果を分析する。筆記情報認識結果が手書き図形ジェスチャＧｒまたは手書き操作ジェスチャＧｏｐのいずれのジェスチャでもなければ文字認識処理を指示する。
【００７２】
制御部１１は、手書き図形ジェスチャＧｒであると判断した場合、領域認識部１５に領域認識を行うように指示する。領域認識部１５は、たとえば、図５（ａ）に示される手書き図形ジェスチャＧｒに対して、図５（ｂ）に示されるように表示面を水平および、または垂直に走査して手書き図形ジェスチャＧｒのＸ軸方向およびＹ軸方向の最大値と最小値を求め、この組合せで決まる４点（Ｐｒ１，Ｐｒ２，Ｐｒ３，Ｐｒ４）からなる外接矩形ＳＱの座標を求め、領域の範囲を算出する。さらに領域基準位置Ｐｒ０を算出する。以上の処理を終了すると領域認識部１５は、制御部１１に領域認識結果を送る。制御部１１は、領域認識結果を受け取って内部バッファに保存する。
【００７３】
利用者は、ジェスチャ入力を完了するとジェスチャ終了ボタン３３を押す。入力部１２は、押された位置の座標データを検出し、制御部１１に送る。制御部１１は、送られてきた座標データと機能テーブルＴｂの位置情報を比較して、ジェスチャ終了ボタン３３が押されたと判断し、操作後数式生成部１７にジェスチャ処理を実行することを指示する。
【００７４】
操作後数式生成部１７は、制御フラグがＯＮになっているジェスチャに対して、ジェスチャ処理ルール辞書２１に記述されている処理に必要な情報がジェスチャ情報にあるか否かを判定し、情報がそろっていればジェスチャ処理を実行する。情報がそろっていないと判定するとジェスチャ処理を実行せずに終了する。
【００７５】
図７は、本発明の一実施形態におけるジェスチャ処理の制御フラグ構成の一例を示す図である。制御フラグは、操作認識部１６によってＯＮ／ＯＦＦが決定され、ジェスチャの対応する処理が終了するときに制御部１１によってＯＦＦとされ、リセットされる。制御フラグはＲＦ、ＳＦ、ＭＦ、ＣＦおよびＶＦの５種類設けられる。
【００７６】
ＲＦフラグは、手書き図形ジェスチャＧｒに関連する制御フラグであり、ＳＦフラグは、代入ジェスチャであることを示す制御フラグである。またＭＦフラグは、移動ジェスチャであることを示す制御フラグであり、ＣＦフラグは、置換えジェスチャであることを示す制御フラグである。さらにＶＦフラグは、変数名ジェスチャに関連する制御フラグである。以下、各制御フラグを省略して単に「ＲＦ」，「ＳＦ」，「ＭＦ」，「ＣＦ」または「ＶＦ」と略する。
【００７７】
手書き図形ジェスチャＧｒによる領域指定の場合は、ＲＦのみＯＮとなる。代入の場合は、操作対象数式に対する領域指定があって代入および変数に対する筆記がさらにあるのでＲＦ，ＳＦ，ＶＦがＯＮとなる。移動の場合、領域指定の筆記があって移動の筆記がさらにあるのでＲＦおよびＭＦがＯＮになる。また置換えジェスチャの場合、領域指定の筆記があって置換えの筆記がさらにあるのでＲＦおよびＣＦがＯＮとなる。
【００７８】
以下、手書き図形ジェスチャＧｒによって指定された領域の数式部分を抽出する処理について説明する。手書き図形ジェスチャＧｒに対し外接矩形ＳＱで示される領域範囲および領域基準位置Ｐｒ０の算出が行われる必要がある。これについては、手書き図形ジェスチャＧｒが筆記された都度行われていて、既に説明済である。ここでは「ジェスチャ終了」入力を受けてからの処理について述べる。すなわち、操作基準数式を特定し、操作基準数式中で領域指定によって指定される数式部分の抽出する処理について述べる。この処理は、指定された領域の数式部分を操作するジェスチャ、すなわち代入、移動、および置換えの各ジェスチャに共通する処理である。
【００７９】
図８は、本発明の一実施形態における領域指定処理のフローチャートである。処理ｒ１で、ＲＦフラグがＯＮか、確認する。ＲＦフラグがＯＦＦであれば別の処理がなされるが、ここではその説明を省略する。処理ｒ２で、操作後数式生成部１７は、領域基準位置Ｐｒ０のデータを制御部１１に送り、領域基準位置Ｐｒ０に対応する操作基準数式データを入手することを要求する。
【００８０】
処理ｒ３で、制御部１１は、記憶部１９の数式データファイルＦｄｆに記憶されている数式データＦｄを逐次引き出して、該数式データＦｄに含まれている数式の領域のデータと、送られてきた領域基準位置Ｐｒ０の座標データとを照合し、領域基準位置Ｐｒ０座標を、数式の領域の中に含む数式データＦｄを見つけ出し、該数式データＦｄを操作後数式生成部１７に送る。
【００８１】
処理ｒ４で、操作後数式生成部１７は、手書き図形ジェスチャＧｒの領域基準位置Ｐｒ０および送られてきた該数式データＦｄに含まれる数式を構成する各文字の位置座標を照合し、手書き図形ジェスチャＧｒによって定まる領域の範囲に含まれる文字のみ抽出する。処理ｒ５で、その文字が表わす範囲の数式の情報を生成し、領域指定数式データとして、内部バッファに記憶する。
【００８２】
以上の処理ｒ１〜ｒ５を、例を用いて説明する。例えば、図５（ａ）では、数式ｙ＝３ｘ２＋５ｘ−１０があって、その上に「３ｘ２＋５ｘ」の部分が手書き図形ジェスチャＧｒで領域指定されている。制御部１１は、指定された領域基準位置Ｐｒ０の座標データを基に、数式ｙ＝３ｘ２＋５ｘ−１０を含む数式データＦｄを抽出する。操作後数式生成部１７は、文字の中心座標が文字の位置座標であるとした場合、手書き図形ジェスチャの外接矩形ＳＱの座標と各文字の中心座標を比較して、「３」，「ｘ」，「２」，「＋」，「５」，「ｘ」がそれぞれ手書き図形ジェスチャＧｒに含まれる文字と判定する。そして、その６文字が表わす範囲「３ｘ２＋５ｘ」を数式として含む数式データＦｄを生成し、領域指定数式データとして内部バッファに記憶する。
【００８３】
以下、指定された領域の数式部分を操作するジェスチャ処理について述べる。代入ジェスチャの場合、指定された領域の範囲および領域基準位置Ｐｒ０を検出すること、代入基準位置Ｐｓ０を求めること、および代入変数に関する新規数式データを作成することが主要な処理である。代入基準位置とは、代入のための手書き操作ジェスチャＧｏｐを内包する外接矩形ＳＱの中心の座標である。
【００８４】
代入ジェスチャの１例は、図６Ａ（ａ）で示される。数式「ｙ＝３ｘ２＋５ｘ−１０」における「３ｘ２＋５ｘ」を領域指定する手書き図形ジェスチャＧｒと代入の処理を指示する手書き操作ジェスチャＧｏｐおよび数式「Ｚ」を表わす数式筆記情報Ｇｆが示される。
【００８５】
図６Ａ（ｂ）は、図６Ａ（ａ）で示される各ジェスチャおよび情報に対するジェスチャ認識処理および代入処理のために必要となる領域が内包されて外接する矩形、位置情報および距離等を示す図である。第１外接矩形ＳＱ１は、操作基準数式が内包されて外接する矩形、第２外接矩形ＳＱ２は、代入操作のために指定された領域に外接する矩形、第３外接矩形ＳＱ３は、代入に対する手書き操作ジェスチャＧｏｐが内包されて外接する矩形、第４外接矩形ＳＱ４は、代入変数を内包する領域とそれぞれ表わされる。Ｐｒ０は、領域基準位置、Ｐｓ０は、代入基準位置、Ｐｆ０は、代入変数を含める領域の中心位置であり、さらに前記Ｐｒ０と前記Ｐｓ０との間の距離がＲＳｌｅｎ、また前記Ｐｓ０と前記Ｐｆ０との間の距離がＳＶｌｅｎで示される。
【００８６】
図９Ａおよび図９Ｂは、本発明の一実施形態における代入の処理のフローチャートである。処理ｓ１において、操作後数式生成部１７は、ＳＦがＯＮであるか確認する。ＳＦがＯＮでなければここでの説明を省略する。ＳＦがＯＮであれば、処理ｓ２に移行し、操作後数式生成部１７は、ジェスチャ処理ルール辞書２１から、代入ジェスチャのルールを読み込む。次に処理ｓ３に移行し、ＲＦがＯＮになっているか判定する。
【００８７】
ＲＦがＯＮでなければ、処理ｓ４に移行し、操作後数式生成部１７は、制御部１１に数式に変更が無くかつ処理が終了したことを制御部１１に通知する。処理ｓ５移行し、制御部１１は、数式に変更が無いことを知ると一連の処理を終了する。
【００８８】
ＲＦがＯＮであれば、処理ｓ６に移行し、操作後数式生成部１７は、図８で説明した領域指定数式データを抽出する。
【００８９】
以下、処理ｓ７からｓ１９までが領域基準位置Ｐｒ０の検出に引き続く代入の処理に関する記述である。図６Ａ（ｂ）を参照しながら説明する。図６Ａ（ｂ）で示される操作基準数式を含む領域に外接する矩形を第１外接矩形ＳＱ１、手書き図形ジェスチャＧｒを内包する領域に外接する矩形を第２外接矩形ＳＱ２、代入ストロークを内包する領域に外接する矩形を第３外接矩形ＳＱ３、および代入変数を内包する領域に外接する矩形を第４外接矩形ＳＱ４とする。
【００９０】
処理ｓ７において、操作後数式生成部１７は、代入対象の検出のため、本実施形態では図６Ａ（ａ）において「＝」で示される代入ジェスチャに対応するストロークの座標データを内部バッファから読み込む。次に、処理ｓ８に移行し、ストロークの座標データを用いて第３外接矩形ＳＱ３の中心座標である代入基準位置Ｐｓ０を求め、内部バッファに記憶する。
【００９１】
処理ｓ９において、操作後数式生成部１７は、領域基準位置Ｐｒ０と代入基準位置Ｐｓ０との距離（ＲＳｌｅｎ）を算出する。次に処理ｓ１０に移行し、前記ＲＳｌｅｎと手書き図形ジェスチャＧｒおよび代入に対する手書き操作ジェスチャＧｏｐ間の距離に対する閾値であるＲＳｌｅｎ０とを比較する。ＲＳｌｅｎ０は、ジェスチャ処理ルール辞書２１に格納されている定数の一つである。操作後数式生成部１７は、比較の結果、次の判断および処理を行う。
【００９２】
ＲＳｌｅｎ＞ＲＳｌｅｎ０である場合は、処理ｓ４に移行し、代入する数式がないと判断し、制御部１１に処理の終了を通知する。制御部１１は、処理ｓ５において、数式に変更が無いことを知ると一連の処理を終了する。
【００９３】
一方、ＲＳｌｅｎ≦ＲＳｌｅｎ０である場合は、処理ｓ１１に移行し、代入する数式が存在すると判断し、制御部１１に代入する数式があることを通知する。操作後数式生成部１７は、処理ｓ１２において、引き続きＶＦがＯＮか、またはＯＦＦかを判定する。
【００９４】
ＶＦがＯＦＦの場合、操作後数式生成部１７は、処理ｓ４において、操作後数式生成部１７に数式の変更が無いことおよび処理が終了したことを通知する。処理の終了通知を得て、処理ｓ５において、制御部１１は、一連の処理を終了する。
【００９５】
ＶＦがＯＮの場合、操作後数式生成部１７は、処理ｓ１３において、変数名情報を制御部１１に要求する。制御部１１は、処理ｓ１４において、記憶部１９に記憶している数式データＦｄから変数名が定義され記憶されているものを抽出し、各変数名を含む領域に外接する第４外接矩形ＳＱ４の中心座標として定まる変数名の中心位置座標Ｐｆ０を算出する。さらに、代入基準位置の座標Ｐｓ０と変数名の中心位置座標Ｐｆ０との間の距離（ＳＶｌｅｎ）を算出する。次に制御部１１は、処理ｓ１５において、前記距離（ＳＶｌｅｎ）の値が一番小さくなる変数名情報を代入基準位置に最近接する変数として、その変数名情報を抽出する。以上の処理を行うと、制御部１１は、処理ｓ１６において、操作後数式生成部１７に変数名情報およびＳＶｌｅｎを送る。
【００９６】
以下、処理ｓ１７から処理ｓ２４までが代入に関する新規数式データ作成に関する処理である。操作後数式生成部１７は、処理ｓ１７において、送られてきたＳＶｌｅｎのデータと代入ジェスチャおよび変数名間距離の閾値であるＳＶｌｅｎ０とを比較する。ＳＶｌｅｎ０は、ジェスチャルール辞書２１に格納されている定数の一つである。
【００９７】
ＳＶｌｅｎ＞ＳＶｌｅｎ０であれば、操作後数式生成部１７は、処理ｓ４において、対応する変数名が無いと判断し、制御部１１に処理の終了を通知する。処理の終了通知を得て、制御部１１は、処理ｓ５において一連の処理を終了する。
【００９８】
ＳＶｌｅｎ≦ＳＶｌｅｎ０であれば、操作後数式生成部１７は、対応する変数名が存在すると判断し、処理ｓ１８において、求められた変数名と文字「＝」（イコール）と領域指定数式データを組み合わせて新規数式データを作成する。そして、処理ｓ１９において、新規数式データおよび代入に関するジェスチャ処理が終了したことを制御部１１に送る。
【００９９】
操作後数式生成部１７が新規数式データを生成したとき、数式ＩＤはゼロに設定されているので、制御部１１は、処理ｓ２０において新規数式データに他の数式データＦｄと重複しない数式ＩＤを割り当て、記憶部１９に登録する。制御部１１は、以上の処理を終えれば処理ｓ５において一連の処理を終了する。
【０１００】
次に移動ジェスチャに対する処理について述べる。最初に移動ジェスチャに関して用いる用語を以下に定義する。「移動基準位置」とは、「第２ストロークＫ２を内包する外接矩形の中心の座標」のことをいう。「移動先数式データ」とは、「移動基準位置に最近接する数式の情報」である。
【０１０１】
移動ジェスチャの１例は、図６Ａ（ｃ）で示される。数式「ｙ＝３ｘ２＋５ｘ−１０」における「３ｘ２＋５ｘ」を領域指定する手書き図形ジェスチャＧｒと移動の処理を指示する手書き操作ジェスチャＧｏｐが示されている。図６Ａ（ｃ）において符号Ｆが打たれている数式情報「÷５」は、図では前記２つのジェスチャが与えられる以前から存在している数式である。
【０１０２】
図６Ｂ（ｄ）は、図６Ａ（ｃ）で示される各ジェスチャに対するジェスチャ認識処理および移動処理のために必要となる領域が内包されて外接する矩形、位置情報および距離等を示す図である。第１外接矩形ＳＱ１は、操作基準数式を含む領域に外接する矩形、第２外接矩形ＳＱ２は、移動操作のために指定された領域に外接する矩形、第３外接矩形ＳＱ３は、移動のための手書き操作ジェスチャＧｏｐの第１ストロークＫ１が内包されて外接する矩形、第４外接矩形ＳＱ４は、前記ジェスチャの第２ストロークＫ２が内包されて外接する矩形、さらに第５外接矩形ＳＱ５は、移動先の最近辺に存在する数式を内包する領域が内包されて外接する矩形とそれぞれ表わされる。Ｐｒ０は、領域基準位置、Ｐｍ０は、移動基準位置、Ｐｆ０は、移動先の数式の領域の中心位置であり、さらに前記Ｐｍ０と前記Ｐｆ０との間の距離がＭＦｌｅｎで示される。
【０１０３】
移動ジェスチャの場合、ジェスチャ処理ルール辞書２１は、ＲＦおよびＭＦをＯＮの状態で保持し、さらに移動先の情報として第２ストロークＫ２の外接矩形ＳＱの座標を格納している。
【０１０４】
図１０Ａおよび図１０Ｂは、本発明の一実施形態における移動の処理のフローチャートである。
【０１０５】
処理ｍ１において、操作後数式生成部１７は、ＭＦがＯＮであるか確認する。操作後数式生成部１７は、ＭＦがＯＮになっていれば、処理ｍ２に移行しジェスチャ処理ルール辞書２１から、移動ジェスチャのルールを読み込む。次に、処理ｍ３に移行しＲＦがＯＮになっているか判定する。
【０１０６】
ＲＦがＯＮでなければ、処理ｍ４に移行し、操作後数式生成部１７は、制御部１１に数式に変更が無くかつ処理が終了したことを制御部１１に通知する。制御部１１は、処理ｍ５において数式に変更が無いことを知ると一連の処理を終了する。
【０１０７】
ＲＦがＯＮであれば、処理ｍ６に移行し、操作後数式生成部１７は、図８で説明した領域指定数式データを抽出する。領域基準位置Ｐｒ０の検出については先に「代入」に関連して述べた処理内容と同じである。以下、処理ｍ７からｍ１２までが領域基準位置Ｐｒ０の検出に引き続く「移動先検出処理」に関する記述である。
【０１０８】
移動ジェスチャの場合、移動ジェスチャの示す先に存在するのは基本的に数式である。この意味で変数および置換えといった領域が存在する代入ジェスチャおよび後述する置換えジェスチャの場合と異なる。したがって、移動ジェスチャにおける第２ストロークＫ２の検出が重要である。図６Ａ（ｃ）で示されるように、第１ストロークＫ１は、内部数式を包含する領域と片端がつながり他の端が移動先に延びている直線状または円弧状の曲線であり、第２ストロークＫ２は、第1ストロークＫ１の端につながって書かれている三角形状の記号である。
【０１０９】
処理ｍ７において、操作後数式生成部１７は、移動先の検出のため、移動ジェスチャに対応する第２ストロークＫ２の座標データを内部バッファから読み込む。次に、処理ｍ８に移行し、第２ストロークＫ２の座標データを用いて移動基準位置Ｐｍ０を求め、「移動先」として内部バッファに記憶する。
【０１１０】
操作後数式生成部１７は、処理ｍ９において、移動基準位置Ｐｍ０のデータを制御部１１に送り、併せて移動基準位置Ｐｍ０の最近辺に存在する数式の情報の入手を要求する。
【０１１１】
制御部１１は、数式データＦｄの入手要求を受けて、処理ｍ１０において記憶部１９が記憶している各数式データＦｄから数式の位置情報Ｐｆ０を抽出して、移動基準位置Ｐｍ０の座標と各数式の領域の中心位置座標Ｐｆ０との間の距離データ（ＭＦｌｅｎ）を求める。そして制御部１１は、処理ｍ１１において、前記入手要求に対応する数式データＦｄとしてＭＦｌｅｎが最小となる数式の位置情報を含む数式データＦｄを抽出する。抽出が終われば制御部１１は、処理ｍ１２において、算出されたＭＦｌｅｎの値を示すデータおよび前記入手要求に対応する数式データＦｄを操作後数式生成部１７に送る。
【０１１２】
操作後数式生成部１７は、処理ｍ１３において、送られてきた前記距離のデータ（ＭＦｌｅｎ）が所定の距離閾値（ＭＦｌｅｎ０）に対し大きいか小さいか判断する。
【０１１３】
（ＭＦｌｅｎ）＞（ＭＦｌｅｎ０）である場合、操作後数式生成部１７は、移動先に処理を施す数式が存在しないと判断し、次の移動処理を行う。すなわち、操作後数式生成部１７は、処理ｍ１４において、直近に算出された領域指定数式データに対して数式ＩＤに新規数式データを表わす数値零を設定し、新規数式データを生成する。
【０１１４】
また処理ｍ１５において、外部数式に対して新たに数式データＦｄを生成し、これを修正数式データとする。図６Ａ（ｃ）に示される場合を例にとれば、領域指定によって「３ｘ２＋５ｘ」を含む新規数式データが生成され、修正数式データとして「ｙ＝−１０」を含む数式データＦｄが生成される。
【０１１５】
以上の処理が終われば、操作後数式生成部１７は、処理ｍ１６において、生成した前記新規数式データおよび前記修正数式データを制御部１１に送り、数式が変更されてジェスチャ処理が終了したことを通知する。
【０１１６】
制御部１１は、処理ｍ１７において、前記新規数式データおよび前記修正数式データと通知とを受けて、記憶部１９に記憶される数式のうちから、修正数式データの数式ＩＤと一致する数式を検索し、修正数式データの内容に更新する。さらに、新規数式データに対して他の数式データＦｄと重複しない数式ＩＤを割り当てて記憶部１９に記憶する。
【０１１７】
（ＭＦｌｅｎ）≦（ＭＦｌｅｎ０）である場合、操作後数式生成部１７は、処理ｍ１８において、「移動先文字」を検出する。「移動先文字」とは、移動基準位置Ｐｍ０に近接する数式の情報である移動先数式データに含まれる数式を構成する各文字の内、移動基準位置Ｐｍ０に一番近い文字をいう。例えば、移動基準位置Ｐｍ０の座標と個々の文字の領域の中心位置座標とから距離をそれぞれ算出し、その値が一番小さくなる文字が「移動先文字」である。
【０１１８】
「移動先文字」検出が終われば「移動」の処理が行われる。操作後数式生成部１７は、処理ｍ１９において、移動先数式データに対し、移動先文字の前位置に領域指定数式データの数式部分を挿入し、新たに移動処理後の数式データＦｄを生成する。すなわち、生成された移動処理後の数式データＦｄは、前に操作基準数式の領域指定された数式部分、その後ろに移動先数式データの数式が合わさった数式を含むことになる。
【０１１９】
さらに、操作後数式生成部１７は、処理ｍ２０において、外部数式を含む修正数式データを作成する。図６Ａ（ｃ）を例にとれば、新たな数式「（３ｘ２＋５ｘ）÷５」を含む数式データＦｄが生成され、修正数式データとして「ｙ＝−１０」を含む数式データＦｄが生成される。操作後数式生成部１７は、処理ｍ２１において移動処理後の数式データＦｄおよび修正数式データを制御部１１に送り、数式が変更されたことを制御部１１に通知する。
【０１２０】
制御部１１は、処理ｍ２２において記憶部１９の数式データＦｄを検索し、修正数式データの数式ＩＤと一致する数式データＦｄを抽出し、それを修正数式データと差し替える。さらに、移動処理後の数式データＦｄの数式ＩＤと一致する数式データＦｄを抽出し、その数式データＦｄに含まれる数式を、移動処理後の数式に変更する。
【０１２１】
次に、図６Ｂ（ｅ）および図６Ｃ（ｆ）を参照しながら、置換えジェスチャに関する処理について述べる。図６（ｅ）および図６Ｃ（ｆ）において、置換えの操作の対象となる数式のうち、一方の数式を「第１数式」、他方の数式を「第２数式」と称する。本実施形態において、「置換え基準位置」とは、「第２数式を内包する領域に外接する外接矩形の座標の中心座標」のことをいう。第２数式は、置換え基準位置Ｐｃ０を含むか、または置換え基準位置に最近接する数式である。第１数式のうち、置換えられる数式を「第１置換え数式」と称し、第２数式のうち、置換えられる数式を、「第２置換え数式」と称する。
【０１２２】
置換えジェスチャの１例は、図６Ｂ（ｅ）で示される。数式「ｙ＝３ｘ２＋５ｘ−１０」における「３ｘ２＋５ｘ」を領域指定する第１の手書き図形ジェスチャＧｒ１、置換えの処理を指示する手書き操作ジェスチャＧｏｐおよび数式「Ｚ＝９Ｘ３÷５」における「９Ｘ３」を領域指定する第２の手書き図形ジェスチャＧｒ２が示されている。手書き操作ジェスチャＧｏｐは、直線状または円弧状の曲線の第１ストロークＫ１で表わされる。この場合の第１数式は、「ｙ＝３ｘ２＋５ｘ−１０」、第２数式は、「Ｚ＝９Ｘ３÷５」であり、第１置換え数式は、「３ｘ２＋５ｘ」、そして第２置換え数式は、「９Ｘ３」であることが示されている。
【０１２３】
図６Ｃ（ｆ）は、図６Ｂ（ｅ）で示される各ジェスチャに対するジェスチャ認識処理および置換え処理のために必要となる領域が内包されて外接する矩形、位置情報および距離等を示す図である。第１外接矩形ＳＱ１は、第１数式が内包されて外接する矩形、第２外接矩形ＳＱ２は、第１置換え数式を操作するために指定された領域が内包されて外接する矩形、第３外接矩形ＳＱ３は、置換えに対する手書き操作ジェスチャＧｏｐの第１ストロークＫ１が内包されて外接する矩形、第４外接矩形ＳＱ４は、第２置換え数式を操作するために指定された領域が内包されて外接する矩形、および第５外接矩形ＳＱ５は、第２数式を含む領域が内包されて外接する矩形と、それぞれ表わされる。Ｐｒ０は、第１数式の領域基準位置、Ｐｃ０は、置換え基準位置、Ｐｆ０は、第１数式の領域の中心位置である。前記Ｐｃ０と前記Ｐｆ０との間の距離がＣＦｌｅｎである。
【０１２４】
図１１Ａおよび図１１Ｂは、本発明の一実施形態における置換えの処理のフローチャートである。
【０１２５】
処理ｃ１において、操作後数式生成部１７は、ＣＦがＯＮであるか確認する。操作後数式生成部１７は、ＣＦがＯＮになっていれば、処理ｃ２に移行しジェスチャ処理ルール辞書２１から、置換えジェスチャのルールを読み込む。次に、処理ｃ３に移行しＲＦがＯＮになっているか判定する。
【０１２６】
ＲＦがＯＮでなければ、処理ｃ４に移行し、操作後数式生成部１７は、制御部１１に数式に変更が無くかつ処理が終了したことを制御部１１に通知する。制御部１１は、処理ｃ５において数式に変更が無いことを知ると一連の処理を終了する。
【０１２７】
ＲＦがＯＮであれば、処理ｃ６に移行し、操作後数式生成部１７は、図８で説明した領域指定数式データを抽出する。領域基準位置Ｐｒ０の検出については先に「代入」に関連して述べた処理内容と同じである。処理ｃ７〜ｃ１７において、領域基準位置Ｐｒ０の検出に引き続き、置換え数式検出処理を行う。以下、置換え数式検出処理に関して記述する。
【０１２８】
操作後数式生成部１７は、領域認識部１５に作用し、処理７および処理８を行わせる。処理ｃ７において、領域認識部１５は、第２置換え数式の検出のため、置換えジェスチャに対応する第２の手書き図形ジェスチャＧｒ２の座標データを内部バッファから読み込む。次に、処理ｃ８に移行し、第２ストロークＫ２の座標データを用いて第２ストロークＫ２を内包する外接矩形ＳＱ４の座標と置換え基準位置Ｐｃ０を求め、操作後数式生成部１７に渡す。操作後数式生成部１７は、得られた情報を内部バッファに記憶する。
【０１２９】
以上の処理を終えると操作後数式生成部１７は、処理ｃ９において置換え基準位置データを制御部１１に送り、置換え基準位置を数式の領域に含む数式データＦｄを要求する。
【０１３０】
制御部１１は、処理ｃ１０において送られてきた置換え基準位置Ｐｃ０の情報を用いて第２数式を含む数式データＦｄと、置換え基準位置Ｐｃ０の座標と各数式の領域の中心位置座標Ｐｆ０との距離（ＣＦｌｅｎ）とを求める。制御部１１は、その処理を次のように行う。記憶部１９に記憶している各数式データＦｄから数式の位置情報Ｐｆ０を抽出し、置換え基準位置Ｐｃ０の座標データと抽出された前記数式の領域の中心位置座標Ｐｆ０とを照合し、置換え基準位置Ｐｃ０が含まれる数式領域を有する数式データＦｄを求める。置換え基準位置Ｐｃ０がどれかの数式の領域に含まれていれば距離ＣＦｌｅｎを零に設定する。置換え基準位置がどの数式の領域にも含まれていなければ、ＣＦｌｅｎを実際に算出し、ＣＦｌｅｎの値が一番小さくなる数式を含む数式データＦｄを置換え基準位置Ｐｃ０に近接する数式データＦｄとする。
【０１３１】
制御部１１は、処理ｃ１１において以上のようにして第２数式を含む数式データＦｄと、置換え基準位置Ｐｃ０と各数式の位置情報との距離（ＣＦｌｅｎ）とを求めると該数式データＦｄとＣＦｌｅｎデータとを操作後数式生成部１７に送る。操作後数式生成部１７は、処理ｃ１２において、前記距離（ＣＦｌｅｎ）の値が所定の距離閾値（ＣＦｌｅｎ０）に対し大きいか小さいかを判断し、置換え指定範囲に含まれる数式部分を以下のようにして抽出する。
【０１３２】
（ＣＦｌｅｎ）＞（ＣＦｌｅｎ０）である場合、操作後数式生成部１７は、置換え処理を施す数式が存在しないと判断し、次の処理を行う。すなわち、操作後数式生成部１７は、処理ｃ１３において、直近に算出された領域指定数式データに対して数式ＩＤに新規数式データを表わす数値零を設定し、新規数式データを生成する。
【０１３３】
また処理ｃ１４において、第１数式から第１置換え数式を除いた外部数式に対して新たに数式データＦｄを生成し、これを修正数式データとする。以上の処理が終われば、操作後数式生成部１７は、処理ｃ１５において、生成した前記新規数式データおよび前記修正数式データを制御部１１に送り、数式が変更されてジェスチャ処理が終了したことを通知する。
【０１３４】
制御部１１は、処理ｃ１６において、前記新規数式データと前記修正数式データとジェスチャ処理の終了の通知とを受けて、記憶部１９に記憶される数式のうちから修正数式データの数式ＩＤと一致する数式を検索し、修正数式データの内容に更新する。さらに、新規数式データに対して他の数式データＦｄと重複しない数式ＩＤを割り当てて記憶部１９に記憶する。
【０１３５】
（ＣＦｌｅｎ）≦（ＣＦｌｅｎ０）である場合、操作後数式生成部１７は、処理ｃ１７において以下のように「第２置換え数式」を検出する。
【０１３６】
ＣＦｌｅｎが零かどうか確認し、ＣＦｌｅｎが零でない場合、操作後数式生成部１７は、置換え基準位置Ｐｃ０の座標と各文字に対して中心位置座標とから両座標間の距離を算出し、前記距離の値が一番小さくなる文字を「置換え中心文字」として検出する。置換え中心文字のＸ軸における中心座標から左右にそれぞれＸ軸方向の置換え指定範囲の半分を確保し、その範囲に含まれる文字をすべて抽出し、第２置換え数式とする。また、ＣＦｌｅｎが零であれば、操作後数式生成部１７は、第２数式に含まれる数式を構成する各文字の位置情報を確認して置換え指定範囲に含まれるものをすべて抽出し、第２置換え数式とする。
【０１３７】
置換え中心文字の検出が終われば操作後数式生成部１７は、処理ｃ１８において「置換え」の処理を行う。操作後数式生成部１７は、第２数式から第２置換え数式を削除し、この削除された部分の位置に領域指定数式データからの第２置換え数式を挿入し、まず第２数式について置換えを行う。さらに操作基準数式から操作基準数式からの第２置換え数式を削除し、前記削除された部分の位置に第２置換え数式を挿入する。
【０１３８】
図６Ｂ（ｅ）を例にして説明すると、この場合の操作の基準とする第１数式は、「ｙ＝３ｘ２＋５ｘ−１０」であり、第２数式は、「Ｚ＝９ｘ３÷５」である。以上の両数式から第１置換え数式「３ｘ２＋５ｘ」および第２置換え数式「９ｘ３」が相互に置換えられる。結果として「ｙ＝９ｘ３−１０」および「Ｚ＝（３ｘ２＋５ｘ）÷５」を含んだ数式データＦｄが生成される。
【０１３９】
このとき、置換えする数式部分は文字数の相違が起こりうる。たとえば、第１および第２置換え数式に含まれる文字数がＮおよびＭであるとすると、ＮおよびＭの大小によって置換えられた操作基準数式データの数式をそのまま表示部１４で表示させるとすると、一方では置換えた数式の左右に、見た目の空白部分が生じ、他方では両数式で重複する部分が生じる。このため置換え部分が元在った数式の一部に、ある一定範囲の空隙を以って滑らかにつながるようにするために、置換え後の両数式の位置情報を算出しなおし、数式領域および各文字の位置領域を設定しなおす処理がなされる。
【０１４０】
また、前述の例で見るように、第２数式「Ｚ＝９ｘ３÷５」に対して「９ｘ３」を「３ｘ２＋５ｘ」で置換える場合には、「（」および「）」で「３ｘ２＋５ｘ」を挟み込み、四則演算の原則に則った新たな数式構築がなされる。
【０１４１】
操作後数式生成部１７は、以上のようにして置換え処理を終えれば処理ｃ１９に示されるように更新した操作基準数式データと修正数式データを送り、数式が変更されたことを制御部１１に通知する。
【０１４２】
制御部１１は、処理ｃ２０において置換え処理後の第２数式データの数式ＩＤと一致する記憶部１９の数式を検索し、数式データＦｄを変更する。さらに、置換え処理後の操作基準数式データと数式ＩＤが一致する記憶部１９の数式を検索し、数式データＦｄを変更する。
【０１４３】
以上指定された数式部分を操作するジェスチャについて説明した。以上で説明したジェスチャを用いてどのような演算が計算装置１で行われるかについて図１２Ａと図１２Ｂとを用いて説明する。図１２Ａおよび図１２Ｂは、本発明の一実施形態において操作後数式情報Ｆｐが生成される様子を示す図である。図１２Ａおよび図１２Ｂには、手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐによって指定された領域および操作を行う計算例を示す図である。
【０１４４】
図１２Ａ（ａ）は、数式「３５０＋５００」の部分に対し変数「Ｅ」が定義されていることを示す。代入ジェスチャに関連して説明したように、このジェスチャによって「Ｅ＝３５０＋５００」が記憶部１９に記憶される。変数「Ｅ」を用いる数式「１５０×５＋Ｅ×４＝」が利用者によって表示面に書かれると、自動的に演算がなされて図１２Ａ（ｂ）に示されるように答えとして「４１５０」が得られる。
【０１４５】
図１２Ａ（ｃ）および（ｄ）は、移動ジェスチャを用いた演算例を示す。図１２Ａ（ｃ）の１つ目の数式から「３５０＋５００」の部分を図１２Ａ（ｃ）の２つ目の数式「１５０×５＋」の右側に移動するように利用者が移動ジェスチャで指示した後に図１２Ａ（ｄ）で示されるように移動ジェスチャの第２ストロークＫ２の右側に「×４＝」を筆記すると、自動的に演算が行われて答えとして「４１５０」を表示される。
【０１４６】
図１２Ａ（ｃ）の１つめの数式の一部に対して、（１）手書き図形ジェスチャＧｒの入力による領域指定情報が認識され、（２）第１および第２ストロークＫ１，Ｋ２が入力され、（３）その後の入力が一定時間内に行われない場合、かつ（４）第２ストロークＫ２近傍の予め定める範囲内に数式がない場合には、１つめの数式に対する処理は、実質的に削除と同じとなる。
【０１４７】
図１２Ｂ（ｅ）および図１２Ｂ（ｆ）は、置換えジェスチャを用いた演算例である。図１２Ｂ（ｅ）は、利用者が図１２Ｂ（ｅ）における１つめの数式の一部である「５００」を図１２Ｂ（ｅ）の２つめの数式の「（３５０＋５００）」の部分と置換え指示したことを示している。置換えジェスチャによって自動的に演算がなされ図１２Ｂ（ｆ）の１つめおよび２つめの数式情報のうち内部数式が置換えられて、演算結果が得られる。
【０１４８】
制御部１１は、移動または置換えジェスチャの入力が停止してから、予め定める時間、たとえば数秒間、入力部１２からの入力がなければ、操作後数式情報Ｆｐに基づいて計算を行った結果、計算結果を表示する構成とする。制御部１１は、時間について、筆記入力監視用タイマを利用して測定を行う。
【０１４９】
なお、以上の実施形態では、手書き図形ジェスチャＧｒは図５（ａ）の閉図形の形状として説明した。他の実施形態として、図１３Ａ（ａ）、図１３Ａ（ｂ）および図１３Ｂ（ｄ）で示されるように閉じていない図形で領域を表すことができる。図１３Ａおよび図１３Ｂは、本発明の他の実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。たとえば、図１３Ａ（ａ）および図１３Ａ（ｂ）に示される領域指定の場合、図１３Ａ（ｃ）で示されるように手書き操作ジェスチャＧｏｐの初期外接矩形ＳＱ０の座標（Ｐ１（ｘｍｉｎ，ｙｍｉｎ），Ｐ２（ｘｍａｘ，ｙｍｉｎ），Ｐ３（ｘｍｉｎ，ｙｍａｘ），Ｐ４（ｘｍｉｎ，ｙｍａｘ））を求め、ｙｍａｘから所定長さＬ（例えば、筆記された文字の平均高さの１．５倍）だけ高いＹ座標値（ｙｍａｘ＋Ｌ）を求める。
【０１５０】
これによって座標（Ｐ１（ｘｍｉｎ，ｙｍｉｎ），Ｐ２（ｘｍａｘ，ｙｍｉｎ），Ｐ５（ｘｍｉｎ，ｙｍａｘ＋Ｌ），Ｐ６（ｘｍｉｎ，ｙｍａｘ＋Ｌ）を持つ第１外接矩形ＳＱ１が求まる。初期外接矩形ＳＱ０は、手書き操作ジェスチャＧｏｐとして筆記された筆記情報そのものの外接矩形ＳＱであって、大きさが自動的に変更される前の初期の外接矩形ＳＱである。そして、Ｐｉｓｔとして（ｘｍｉｎ、ｙｍｉｎ）、Ｐｉｅｎとして（ｘｍａｘ，ｙｍａｘ＋Ｌ）とし、領域の指定範囲を［Ｐｉｓｔ，Ｐｉｅｎ］とする。ここでｉは、数式情報に対応する添え字である。この座標でできる矩形の中心を基準位置Ｐｒ０とすれば良い。
【０１５１】
図１３Ｂ（ｄ）に示される領域指定の場合、図１３Ｂ（ｅ）で示されるように手書き操作ジェスチャＧｏｐに外接する外接矩形ＳＱ０の座標（Ｐ１（ｘｍｉｎ，ｙｍｉｎ），Ｐ２（ｘｍａｘ，ｙｍｉｎ），Ｐ３（ｘｍｉｎ，ｙｍａｘ），Ｐ４（ｘｍｉｎ，ｙｍａｘ））を求め、外接矩形ＳＱ０の中心のＹ座標ｙ０を求める。ｙ０＝（ｙｍａｘ＋ｙｍｉｎ）／２である。そのＹ座標を中心に上下に所定長さＬ／２を考慮したＹ座標ｙ０−Ｌ／２およびｙ０＋Ｌ／２を求める。これによって、新たに４つの座標（Ｑ１（ｘｍｉｎ，ｙ０−Ｌ／２）、Ｑ２（ｘｍａｘ，ｙ０−Ｌ／２）、Ｑ３（（ｘｍｉｎ，ｙ０＋Ｌ／２）、Ｑ４（ｘｍａｘ，ｙ０＋Ｌ／２）を持つ外接矩形ＳＱ１が求まる。この場合、領域の指定範囲を示す［Ｐｉｓｔ，Ｐｉｅｎ］においてＰｉｓｔは、Ｑ１（ｘｍｉｎ，ｙ０−Ｌ／２）であり、Ｐｉｅｎは、Ｑ４（ｘｍａｘ，ｙ０＋Ｌ／２）となる。
【０１５２】
図１４Ａおよび図１４Ｂは、本発明のさらに他の実施形態における手書き図形ジェスチャＧｒおよび手書き操作ジェスチャＧｏｐの一例を示す図である。さらに他の実施形態では、図１４Ａおよび図１４Ｂに示されるように代入、置換えの各ジェスチャに対して様々に対応することができる。
【０１５３】
たとえば図６Ａ（ａ）を参照して説明した代入ジェスチャの代わりに、図１４Ａ（ａ）で示される円弧状の手書き操作ジェスチャＧｏｐを用いた代入指定も可能である。この場合、図１４Ａ（ｂ）に示されるように代入操作のために指定された領域を内包する外接矩形を第６外接矩形ＳＱ６、代入ジェスチャの第１ストロークを内包する外接矩形を第７外接矩形ＳＱ７、および代入変数を内包する矩形を第８外接矩形ＳＱ８とする。外接矩形ＳＱ１３の４つの座標を（ｐ２１（ｘ２ｍｉｎ，ｙ２ｍｉｎ），ｐ２２（ｘ２ｍａｘ，ｙ２ｍｉｎ），ｐ２３（ｘ２ｍｉｎ，ｙ２ｍａｘ），ｐ２４（ｘ２ｍｉｎ，ｙ２ｍａｘ））とすると、この場合の手書き操作ジェスチャＧｏｐの始端の座標は、ｐ２１であり、終端の座標は、ｐ２４である。
【０１５４】
前記始端の座標と終端の座標と領域指定の基準位置Ｐｒ０とを用いて、始端および終端と領域指定の基準位置との距離を算出し、この距離のうち短い方を第１の代入基準位置Ｐｓ１、他方を第２の代入基準位置Ｐｓ２とする。前記Ｐｓ１と前記Ｐｒ０との距離をＲＳｌｅｎとして、手書き図形ジェスチャＧｒおよび代入ジェスチャ間距離の閾値ＲＳｌｅｎ０との比較に用い、前記Ｐｓ２と第８外接矩形ＳＱ８の中心位置座標Ｐｆ０との距離をＳＶｌｅｎとして、代入ジェスチャおよび変数名間距離の閾値ＳＶｌｅｎ０との比較に用いる。
【０１５５】
また、図６Ｂ（ｅ）で置換えジェスチャを説明したけれども、図１４Ｂ（ｃ）で示されるように１ストローク（一筆書き）のジェスチャで表現することができる。図１４Ｂ（ｄ）において置換え操作のために指定された置換え第１数式に対する領域に外接する矩形を第１０外接矩形ＳＱ１０とする。置換えジェスチャは、柄杓形状の連続した１つのストロークであり、その領域は、第９外接矩形ＳＱ９で示される。しかし、第９外接矩形ＳＱ９を構成する座標をそのまま用いるとこれまで説明された置換えとは異なった処理が必要となる。そのため置換えジェスチャのストロークの始端から軌跡間の角度を検出する処理を設け、所定角度（例えば１２０°以上）折れ曲がった点Ｃを検出する。始端から前記Ｃ点までを始端からの仮想第1ストロークＫＶ１として検出する。さらに前記仮想第1ストロークＫＶ１を除いた残りの部分を前記Ｃ点から始まる一つの手書き図形ジェスチャと見なし、仮想手書き図形ジェスチャＫＧｒ２を想定する。
【０１５６】
この結果、置換えに対する仮想第１ストロークＫＶ１を内包する外接矩形が第１１外接矩形ＳＱ１１として、さらに置換えに対する仮想手書き図形ジェスチャＫＧｒ２を内包する外接矩形を第１２外接矩形ＳＱ１２として求められる。このようにして求められた第１２外接矩形ＳＱ１２の中心座標を、置換えジェスチャ処理で説明した第２の手書き図形ジェスチャＧｒ２に対する第４外接矩形ＳＱ４の中心座標データと同様に用いて置換え基準位置を求めることで、上記説明と同様に置換え処理を行えばよい。
【０１５７】
このように、筆記入力手段１２０は、外力が付与された筆記入力部位の位置の情報およびその位置の変化が表す軌跡の情報を筆記情報として検出する。筆記入力手段１２０を含む入力部１２は、筆記入力手段１２０が行った筆記情報検出結果を出力する。数式認識部１３は、筆記入力手段１２０を用いて筆記入力された筆記情報のうち、数式を表わす数式筆記情報Ｇｆを数式情報として認識する。表示部１４には、表示を行う表示面が形成され、数式情報は、表示面に表わされる。
【０１５８】
領域認識部１５は、筆記情報のうち手書き図形ジェスチャＧｒを領域指定情報として認識する。手書き図形ジェスチャＧｒは、表示面上の領域を指定する。操作認識部１６は、筆記情報のうち、手書き操作ジェスチャＧｏｐを操作情報として認識する。手書き操作ジェスチャＧｏｐは、領域指定情報によって指定される表示面上の領域において、この領域に表示される数式情報に対して利用者が所望する操作を表わす。操作後数式生成部１７は、数式情報および領域指定情報に基づいて、前記操作が反映された数式を表わす操作後数式情報Ｆｐを生成する。演算部１８は、操作認識部１６が操作情報を認識したときに、操作後数式情報Ｆｐが表わす数式に基づいて演算を行い、演算結果を出力する。
【０１５９】
したがって、利用者は、筆記入力手段１２０を用いて演算の数式を筆記し入力できるほか、筆記情報によって操作する数式の領域を指定し、指定された領域に表示される数式情報に対する演算操作を行うことができる。これによって、指定された領域に表示される数式を、指定された領域外に表示される数式と区別して処理することができる。またすでに筆記した数式の一部のみを他の計算に利用することができるようになる。このように数式に対する演算操作を簡単かつ容易にして、入力に要する利用者の手間を省き労力を軽減することができる。
【０１６０】
さらに、前記操作情報は、代入、移動、置換えおよび削除のいずれか一つを意味する情報であるので、利用者は、いずれかの前記ジェスチャによって、（１）前記領域指定した対象に対して代入変数を定義すること、（２）手書き図形ジェスチャＧｒによって領域指定した対象を手書き操作ジェスチャＧｏｐによって指定された領域へ移動すること、（３）領域指定情報によって指定された対象を他の数式において指定された内部数式情報と置換えする処理を行うこと、および（４）手書き図形ジェスチャＧｒによって領域指定情報が指定され、手書き操作ジェスチャＧｏｐによって削除を意味する操作情報が入力された場合に、領域指定情報によって指定された内部数式情報を削除すること、などを容易に指示し演算させることができる。また、同じ数式を他の数式の一部に用いる場合、当該数式の筆記の手間を節減可能なる。このため利用者にとってさらに操作性の良い計算装置１を提供できる。
【０１６１】
さらに、記憶部１９は、前記領域指定情報によって指定される領域に表示される数式情報を記憶し、前記操作情報が、変数に対する代入を意味する情報である場合に、前記変数の情報と、この変数に代入された数式を表す数式情報とを互いに関連付けて記憶する記憶部１９をさらに含む。これによって利用者は、一度入力された数式を代入変数として定義する操作を行えば他の数式において前記代入変数を入力することによって、変数に代入された数式情報を、利用することができる。したがって利用者は、一度入力した数式を再入力する必要がなくなり、複雑な数式を変数に代入しておけば、変数を筆記する入力によって複雑な数式に対しても簡単な入力で済ませることができる。
【０１６２】
さらに、表示部１４は、前記入力部１２に対する予め定める操作に応じて、前記記憶部１９に記憶される数式情報の少なくとも一部を表示するので、利用者がすでに入力した数式の一部を忘れた場合でも、記憶部１９に記憶される数式情報を目視確認することができるとともに、計算装置１に計算を続行させることができる。
【０１６３】
計算プログラムは、コンピュータを、入力部１２、数式認識部１３、表示部１４、領域認識部１５、操作認識部１６、操作後数式生成部１７、および演算部１８として機能させる。これによって、コンピュータを、計算装置１として機能させることができる。
【０１６４】
さらに、前記計算プログラムがコンピュータに記録される読み取り可能な記録媒体である。したがって、前記プログラムを記録媒体として提供できる。
【０１６５】
（変形例）
前述の実施形態では、数式認識部１３が数式を表す数式筆記情報Ｇｆに基づいて数式情報を認識すると、表示部１４は、数式筆記情報Ｇｆの表示を消去した後、数式認識部１３が認識した数式情報を活字によって表示するものとしたけれども、さらに他の実施形態では、表示部１４は、前記数式筆記情報Ｇｆを表示し、数式認識部１３が、前記数式筆記情報Ｇｆに基づいて数式情報を認識すると、数式筆記情報Ｇｆを表示した表示面上の位置とは異なる位置に、数式認識部１３が認識した数式情報を活字によって表示した後、数式筆記情報Ｇｆの表示を消去する構成とすることも可能である。
【０１６６】
これによって、数式筆記情報Ｇｆと活字によって表示された数式情報とを見比べることが可能となる。したがって、数式認識部１３によって認識された数式情報が筆記によって入力した数式と一致するか否かを、容易に確認することができる。
【０１６７】
また前述の実施形態において表示部１４は、手書き図形ジェスチャＧｒが入力されると、手書き図形ジェスチャＧｒをそのまま表示するものとした。これに対し、さらに他の実施形態において表示部１４は、筆記によって入力された手書き図形ジェスチャＧｒを表示し、領域認識部が手書き図形ジェスチャＧｒに基づいて領域指定情報を認識すると、表示部１４は、手書き図形ジェスチャＧｒを消去した後、領域指定情報によって指定される領域に表示される数式情報を、指定される領域外に表示される数式情報に対して視認による区別可能とする表示を行う構成とすることも可能である。
【０１６８】
これは、指定された領域に表示される数式情報を囲む図形を表示画面３０に表示させることによって、区別可能に表示してもよいし、指定された領域に表示される数式情報を、指定された領域外に表示される数式情報を表示する表示画面３０上の表示とは異なる色によって表示してもよい。
【０１６９】
これによって、手書き図形ジェスチャＧｒによって指定された数式情報を、目視によって確認することが可能となる。したがって、筆記によって指定した範囲に誤りがあったり、領域認識部１５による手書き図形ジェスチャＧｒに対する認識に誤りがあったりしても、確認の上、修正することが可能となる。
【０１７０】
変数に代入された数式を表す内部数式情報と、この変数を表す変数情報を包含する外部数式情報とを数式認識部１３が認識したときに、演算部１８は、外部数式情報における変数情報を、内部数式情報に置換することよって新たな数式情報を生成する。これによって、変数を介して互いに関係付けられる複数の数式から、新たな数式を生成することができる。したがって、数式を完成した状態で入力しなくても、すでに数式の少なくとも一部を利用しながら、計算を続行させることができる。これによって、数式の入力および入力した数式の訂正を、容易に行うことができる。
【０１７１】
前述の実施形態では、筆記入力手段１２０は、透明なポインティングデバイスを含んで構成され、表示部１４の表示面に重ねて配置されるものとしたけれども、さらに他の実施形態において、筆記入力手段１２０は、不透明でかつ表示部１４と別体に形成されてもよい。利用者は、表示部１４による表示を見ながら、たとえばマウスなどのポインティングデバイスを操作することによって、数式情報の入力を行ってもよい。このように、ポインティングデバイスが不透明な場合における入力をも、「筆記」に含むものとする。
【符号の説明】
【０１７２】
１  計算装置
１１  制御部
１２  入力部
１３  数式認識部
１４  表示部
１５  領域認識部
１６  操作認識部
１７  操作後数式生成部
１８  演算部
１９  記憶部
２０  筆記情報認識辞書
２１  ジェスチャ処理ルール辞書
３０  表示画面
３１  表示入力領域
３２  ジェスチャ開始ボタン
３３  ジェスチャ終了ボタン
３４  数式入力ボタン
１２０  筆記入力手段
１２１  文字認識手段
【図１】
2011053986.tif 000003
【図２】
2011053986.tif 000004
【図３】
2011053986.tif 000005
【図４】
2011053986.tif 000006
【図５】
2011053986.tif 000007
【図６Ａ】
2011053986.tif 000008
【図６Ｂ】
2011053986.tif 000009
【図６Ｃ】
2011053986.tif 000010
【図７】
2011053986.tif 000011
【図８】
2011053986.tif 000012
【図９Ａ】
2011053986.tif 000013
【図９Ｂ】
2011053986.tif 000014
【図１０Ａ】
2011053986.tif 000015
【図１０Ｂ】
2011053986.tif 000016
【図１１Ａ】
2011053986.tif 000017
【図１１Ｂ】
2011053986.tif 000018
【図１２Ａ】
2011053986.tif 000019
【図１２Ｂ】
2011053986.tif 000020
【図１３Ａ】
2011053986.tif 000021
【図１３Ｂ】
2011053986.tif 000022
【図１４Ａ】
2011053986.tif 000023
【図１４Ｂ】
2011053986.tif 000024