(57)【要約】【課題】図形オブジェクトを手書き入力操作で容易に変更できる電子機器を実現する。【解決手段】実施形態によれば、電子機器は、表示制御手段と修正手段とを具備する。表示制御手段は、複数の図形オブジェクトの内の第１図形オブジェクトを画面に表示する。修正手段は、少なくとも一部が前記第１図形オブジェクトに接するストロークが手書きされる場合、前記ストロークと前記第１図形オブジェクトとに基づいて、前記第１図形オブジェクトを、前記第１図形オブジェクトとは異なる第２図形オブジェクトへ修正する。前記表示制御手段は、前記第１図形オブジェクトを前記第２図形オブジェクトに置き換えて表示する。【選択図】図５
2014149614.tif 000002
【特許請求の範囲】
【請求項１】
複数の図形オブジェクトの内の第１図形オブジェクトを画面に表示する表示制御手段と、
少なくとも一部が前記第１図形オブジェクトに接するストロークが手書きされる場合、前記ストロークと前記第１図形オブジェクトとに基づいて、前記第１図形オブジェクトを、前記第１図形オブジェクトとは異なる第２図形オブジェクトへ修正する修正手段とを具備し、
前記表示制御手段は、前記第１図形オブジェクトを前記第２図形オブジェクトに置き換えて表示する電子機器。
【請求項２】
前記修正手段は、前記ストロークに基づき、前記第１図形オブジェクトに関連付けられた１以上の図形オブジェクトの中から、前記第２図形オブジェクトを決定する請求項１記載の電子機器。
【請求項３】
前記修正手段は、前記１以上の図形オブジェクトと前記ストロークの類似度に応じて、前記１以上の図形オブジェクトの中から、前記第２図形オブジェクトを決定する請求項２記載の電子機器。
【請求項４】
前記修正手段は、前記ストロークに基づいて前記第１図形オブジェクトの一部を切り出すことによってえられる１以上の図形オブジェクトの中から、前記第２図形オブジェクトを決定する請求項１記載の電子機器。
【請求項５】
前記修正手段は、前記第１図形オブジェクトを構成する１以上の辺の一部を、前記ストロークに基づく線分に置き換えることによってえられる１以上の図形オブジェクトの中から、前記第２図形オブジェクトを決定する請求項１記載の電子機器。
【請求項６】
前記第１図形オブジェクトは、手書きされた１以上のストロークに基づいて認識された図形オブジェクトであって、
前記表示制御手段は、前記第１図形オブジェクトの認識処理の後に前記ストロークが入力された後、前記第１図形オブジェクトを前記第２図形オブジェクトに置き換えて表示する請求項１記載の電子機器。
【請求項７】
手書きされた１以上のストロークから前記第１図形オブジェクトを認識する認識手段をさらに具備する請求項１記載の電子機器。
【請求項８】
タッチスクリーンディスプレイをさらに具備し、
前記表示制御手段は、前記タッチスクリーンディスプレイ上に、前記第１図形オブジェクトまたは前記第２図形オブジェクトを表示し、
前記ストロークは、前記タッチスクリーンディスプレイを介して入力される請求項１記載の電子機器。
【請求項９】
複数の図形オブジェクトの内の第１図形オブジェクトを画面に表示し、
少なくとも一部が前記第１図形オブジェクトに接するストロークが手書きされる場合、前記ストロークと前記第１図形オブジェクトとに基づいて、前記第１図形オブジェクトを、前記第１図形オブジェクトとは異なる第２図形オブジェクトへ修正し、
前記表示することは、前記第１図形オブジェクトを前記第２図形オブジェクトに置き換えて表示する手書き文書処理方法。
【請求項１０】
コンピュータにより実行されるプログラムであって、前記プログラムは、
複数の図形オブジェクトの内の第１図形オブジェクトを画面に表示する手順と、
少なくとも一部が前記第１図形オブジェクトに接するストロークが手書きされる場合、前記ストロークと前記第１図形オブジェクトとに基づいて、前記第１図形オブジェクトを、前記第１図形オブジェクトとは異なる第２図形オブジェクトへ修正する手順とを前記コンピュータに実行させ、
前記表示する手順は、前記第１図形オブジェクトを前記第２図形オブジェクトに置き換えて表示する手順を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、手書き文書の処理に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
【０００３】
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連付けられた機能の実行を電子機器に指示することができる。
【０００４】
このような電子機器では、ユーザが、タッチスクリーンディスプレイ上で文字や図形等を手書きするための機能を有するものもある。このような手書きの文字や図形を含む手書き文書（手書きページ）は保存され、必要に応じて閲覧される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−７５７２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
手書き文書内の手書き図形は、各種の図形認識処理によって図形オブジェクトに変換されることがある。しかし、手書き図形は、ユーザ毎に形状にばらつきがあることや、走り書きのような大まかな形状が手書きされること等によって、ユーザの意図とは異なる図形オブジェクトとして認識され、図形オブジェクトの修正が必要になる場合がある。また、手書き図形が、ユーザが意図した図形オブジェクトとして認識された場合であっても、その図形オブジェクトを別の図形オブジェクトに変更したい場合がある。
【０００７】
本発明の一形態は、図形オブジェクトを手書き入力操作で容易に変更できる電子機器および手書き文書処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態によれば、電子機器は、表示制御手段と修正手段とを具備する。表示制御手段は、複数の図形オブジェクトの内の第１図形オブジェクトを画面に表示する。修正手段は、少なくとも一部が前記第１図形オブジェクトに接するストロークが手書きされる場合、前記ストロークと前記第１図形オブジェクトとに基づいて、前記第１図形オブジェクトを、前記第１図形オブジェクトとは異なる第２図形オブジェクトへ修正する。前記表示制御手段は、前記第１図形オブジェクトを前記第２図形オブジェクトに置き換えて表示する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る電子機器の外観を示す斜視図。
【図２】同実施形態の電子機器によって処理される手書き文書の例を示す図。
【図３】同実施形態の電子機器によって記憶媒体に保存される、図２の手書き文書に対応する時系列情報を説明するための図。
【図４】同実施形態の電子機器のシステム構成を示すブロック図。
【図５】同実施形態の電子機器によって実行されるデジタルノートブックアプリケーションプログラムの機能構成を示すブロック図。
【図６】同実施形態の電子機器によって、手書き図形が図形オブジェクトに変換される例を説明するための図。
【図７】同実施形態の電子機器によって、誤って認識された図形オブジェクトが修正される第１の例を示す図。
【図８】同実施形態の電子機器によって用いられる図形辞書データの一構成例を示す図。
【図９】同実施形態の電子機器によって、誤って認識された図形オブジェクトが修正される第２の例を示す図。
【図１０】同実施形態の電子機器によって、誤って認識された図形オブジェクトが修正される第３の例を示す図。
【図１１】同実施形態の電子機器によって、誤って認識された図形オブジェクトが修正される第４の例を示す図。
【図１２】同実施形態の電子機器によって実行される認識処理の手順の例を示すフローチャート。
【図１３】同実施形態の電子機器によって実行される図形オブジェクト修正処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。  
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレットまたはスレートコンピュータとも称される携帯型電子機器であり、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。
【００１１】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１２】
デジタイザおよびタッチパネルの各々は、フラットパネルディスプレイの画面を覆うように設けられる。このタッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えば電磁誘導ペンであってもよい。
【００１３】
ユーザは、外部オブジェクト（ペン１００又は指）を使用してタッチスクリーンディスプレイ１７上で、手書きにより複数のストロークを入力する手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト（ペン１００又は指）の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡（筆跡）がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が１ストロークに相当する。手書きされた文字または図形などに対応する多数のストロークの集合、つまり多数の軌跡（筆跡）の集合が手書き文書を構成する。
【００１４】
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報を含む手書き文書データとして記憶媒体に保存される。この時系列情報の詳細は図３を参照して後述するが、この時系列情報は、概して、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、手書きにより入力可能なある一つのストロークを表現可能なデータであればどのようなものであってもよく、例えば、このストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
【００１５】
この手書き文書には、手書きの文字や図形だけでなく、文字コードや図形オブジェクト（例えば、手書きの文字や図形から認識された文字コードや図形オブジェクト、等）も含められ得る。図形オブジェクトとは、アプリケーションで定義されたものであればどのようなものであっても良く、例えば、直線や、曲線、ベジェ曲線、矢印線等の線、四角形や、三角形、六角形、星形、丸形、角丸図形等の図形、フローチャートや、ブロック図、ツリー図、マトリクス等の図、表等である。その場合、手書き文書データには、文書内の文字コードおよび図形オブジェクトをそれぞれ示す文字コードデータおよび図形オブジェクトデータが含まれてもよい。
【００１６】
また、ユーザは、上述の手書き入力操作によって、表示されている文書内の図形オブジェクトを編集（修正）することもできる。
【００１７】
タブレットコンピュータ１０は、記憶媒体から既存の任意の手書き文書データを読み出し、この手書き文書データに対応する手書き文書、つまり、時系列情報によって示される複数のストロークそれぞれに対応する軌跡と、文字コードデータによって示される文字コードと、図形オブジェクトデータによって示される図形オブジェクトとが描画された手書き文書を、画面上に表示することができる。
【００１８】
次いで、図２および図３を参照して、ユーザによって手書きされたストローク（文字、マーク、図形、表など）と時系列情報との関係について説明する。図２は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる手書き文書の例を示している。
【００１９】
手書き文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図２においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きされた場合が想定されている。
【００２０】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって、つまり２つの軌跡によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡もサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２２、…ＳＤ２ｎが得られる。
【００２１】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの「矢印」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００２２】
図３は、図２の手書き文書に対応する時系列情報２００を示している。時系列情報は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べられている。
【００２３】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」の２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き矢印を構成する２つのストロークをそれぞれ示している。
【００２４】
各ストロークデータは、一つのストロークに対応する座標データ系列（時系列座標）、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいて、複数の座標は、ストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
【００２５】
各座標データは、対応する軌跡内のある１点に対応するＸ座標およびＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）およびＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）およびＹ座標（Ｙ１ｎ）を示す。
【００２６】
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。
【００２７】
このように、各座標データにタイムスタンプ情報Ｔが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。  
各座標データには、筆圧を示す情報（Ｚ）を追加してもよい。
【００２８】
さらに、本実施形態では、上述したように、手書き文書は、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報２００として記憶されるので、言語に依存せずに手書きの文字や図形を扱うことができる。よって、本実施形態の時系列情報２００の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
【００２９】
図４は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、図４に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８等を備える。
【００３０】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種モジュールの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム（ＯＳ）２０１、および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、デジタルノートブックアプリケーションプログラム２０２が含まれている。このデジタルノートブックアプリケーションプログラム２０２は、上述の手書き文書を作成および表示する機能、手書き文書上に手書きされた文字を文字コードに変換し、手書きされた図形を図形オブジェクトに変換する機能、図形オブジェクトを手書き入力操作（手書きされたストローク）を用いて編集する機能、等を有している。
【００３１】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００３２】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００３３】
グラフィクスコントローラ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。このグラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。このＬＣＤ１７Ａ上にはタッチパネル１７Ｂおよびデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン１００が接触される画面上の接触位置および接触位置の動き等はデジタイザ１７Ｃによって検出される。
【００３４】
無線通信デバイス１０７は、無線ＬＡＮまたは３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オンまたは電源オフする機能を有している。
【００３５】
次に、図５を参照して、デジタルノートブックアプリケーションプログラム２０２の機能構成について説明する。デジタルノートブックアプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７を用いた手書き入力操作によって入力されるストロークデータを使用することによって、手書き文書の作成、表示、編集等を行う。また、デジタルノートブックアプリケーションプログラム２０２は、手書き文書上に手書きされた文字を文字コードに変換し、手書きされた図形を図形オブジェクトに変換することもできる。
【００３６】
デジタルノートブックアプリケーション２０２は、例えば、軌跡表示処理部３０１、時系列情報生成部３０２、認識部３０３、オブジェクト表示処理部３０４、オブジェクト情報生成部３０５、ページ保存処理部３０６、ページ取得処理部３０７、文書表示処理部３０８、および修正部３０９を備える。
【００３７】
タッチスクリーンディスプレイ１７は、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動（スライド）」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
【００３８】
軌跡表示処理部３０１および時系列情報生成部３０２は、タッチスクリーンディスプレイ１７によって発生される「タッチ」、「移動（スライド）」または「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントには、移動先の接触位置の座標が含まれている。「リリース」イベントには、接触位置が画面から離された位置（リリース位置）の座標が含まれている。したがって、軌跡表示処理部３０１および時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列を受信することができる。
【００３９】
軌跡表示処理部３０１は、タッチスクリーンディスプレイ１７から座標列を受信し、この座標列に基づいて、ペン１００等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ１７内のＬＣＤ１７Ａの画面上に表示する。この軌跡表示処理部３０１により、画面にペン１００が接触している間のペン１００の軌跡、つまり各ストロークの軌跡がＬＣＤ１７Ａの画面上に描かれる。
【００４０】
時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から出力される上述の座標列を受信し、この座標列に基づいて、図３で詳述したような構造を有する時系列情報（ストロークデータ）を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標およびタイムスタンプ情報は作業メモリ４０１に一時保存されてもよい。
【００４１】
認識部３０３は、時系列情報生成部３０２によって生成された時系列情報を用いて、手書きされたストロークに対応する文字コードや図形オブジェクトを認識する。認識部３０３は、例えば、手書き文書上の文字と図形とをそれぞれ、文字コードと図形オブジェクトとに変換することを指示する変換指示操作（例えば、画面上の所定のボタンを押下げる操作、等）が行われたことに応じて、手書きされたストロークに対応する文字コードおよび図形オブジェクトを認識する処理を開始する。
【００４２】
より具体的には、認識部３０３は、生成された時系列情報（例えば、作業メモリ４０１に一時保存された時系列情報）と文字辞書データとを用いて、手書き文書上の手書き文字を認識する。文字辞書データは、例えば、記憶媒体４０２に予め格納され、複数の文字（文字コード）の特徴を示す複数のエントリを含む。
【００４３】
認識部３０３は、認識処理対象の時系列情報によって示される複数のストロークデータをグループ化処理することによって、複数のブロック（手書きブロック）を検出する。グループ化処理では、互いに近傍に位置し且つ連続的に手書きされたストロークにそれぞれ対応するストロークデータ同士が同一ブロックに分類されるように、認識処理対象の時系列情報によって示される複数のストロークデータがグループ化される。
【００４４】
認識部３０３は、検出された複数のブロックの内の処理対象ブロックを、文字コードに変換するための文字認識処理を実行する。認識部３０３は、文字辞書データを用いて、手書き文字（処理対象ブロックに含まれる１以上のストローク）と複数の文字コードそれぞれとの間の類似度を算出する。認識部３０３は、例えば、手書き文字と文字コードとの類似度を、文字の形状や書き順に基づいて算出する。そして、認識部３０３は、手書き文字を、その手書き文字に関する類似度が最も高い文字コードに変換する。
【００４５】
オブジェクト表示処理部３０４は、文字認識結果に基づいて、手書き文書上の手書き文字に対応する文字コードを表示（プレビュー表示）する。つまり、オブジェクト表示処理部３０４は、手書き文書上に表示されている手書き文字を、対応する文字コードに置き換える。
【００４６】
また、オブジェクト情報生成部３０５は、文字認識結果に基づいて、手書き文書上の手書き文字に対応する文字コードを示す文字コードデータを生成する。オブジェクト情報生成部３０５は、生成された文字コードデータを作業メモリ４０１等に一時保存してもよい。
【００４７】
さらに、認識部３０３は、生成された時系列情報を用いて、手書き文書上の手書き図形を認識する。認識部３０３は、認識処理対象の時系列情報によって示される複数のストロークデータを上述のようにグループ化処理することによって得られる複数のブロック内の処理対象ブロックを、複数の図形オブジェクトの内の一つに変換するための図形認識処理を実行する。手書き文書内に含まれる手書き図形は、例えば、PowerPoint（登録商標）などのドロー系アプリケーションプログラムが扱うことが可能な図形オブジェクトに変換される。
【００４８】
認識部３０３は、手書きされた１以上のストロークから図形オブジェクトを認識する。認識部３０３は、例えば、複数の図形オブジェクトそれぞれの特徴を示す図形辞書データを予め保持しており、手書き図形（処理対象ブロックに含まれる１以上のストローク）と複数の図形オブジェクトそれぞれとの間の類似度を算出する。そして、認識部３０３は、手書き図形を、この手書き図形に関する類似度が最も高い図形オブジェクトに変換する。
【００４９】
この類似度は、例えば、手書き図形（ストローク）の時系列情報に基づく特徴量と図形オブジェクトの輪郭線（形状）に基づく特徴量との類似度である。また、類似度の算出においては、手書き図形を必要に応じて回転、拡大、または縮小してもよく、回転、拡大、または縮小された後の手書き図形と複数の図形オブジェクトそれぞれとの間の類似度が求められる。そして、手書き図形に関する類似度が最も高い図形オブジェクトが選択され、この選択された図形オブジェクトは、手書き図形に対して施された回転、拡大、または縮小の処理内容に基づいて変形される。この変形された図形オブジェクトが、手書き図形の代わりに表示される。
【００５０】
上述の類似度の計算においては、手書き図形のストロークの軌跡情報および各図形オブジェクトの軌跡情報の各々をベクトルの集合として扱い、ベクトルの集合同士の比較を行うことによって類似度を算出することができる。これにより、手書きで描いた図形を容易にPowerPointなどのドロー系の文書（アプリケーションデータ）に変換することができる。
【００５１】
オブジェクト表示処理部３０４は、図形認識結果に基づいて、手書き文書上の手書き図形に対応する図形オブジェクトをＬＣＤ１７Ａの画面に表示（プレビュー表示）する。つまり、オブジェクト表示処理部３０４は、手書き文書上に表示されている手書き図形を、対応する図形オブジェクトに置き換える。なお、オブジェクト表示処理部３０４は、手書き図形から認識された図形オブジェクトだけでなく、各種のツールを用いて作成された図形オブジェクトを画面に表示することもできる。
【００５２】
また、オブジェクト情報生成部３０５は、図形認識結果に基づいて、手書き文書上の手書き図形に対応する図形オブジェクトを示す図形オブジェクトデータを生成する。オブジェクト情報生成部３０５は、生成された図形オブジェクトデータを作業メモリ４０１等に一時保存してもよい。なお、オブジェクト情報生成部３０５は、手書き図形から認識された図形オブジェクトだけでなく、各種のツールを用いて作成された図形オブジェクトを示す図形オブジェクトデータを生成することもできる。
【００５３】
図６に示すように、手書き文書５１上の手書きの文字は文字コードに変換され、手書き文書５１上の手書き図形は図形オブジェクトに変換される。つまり、認識部３０３は、手書き文書５１に対応する時系列情報（時系列のストロークデータ）に対して文字認識処理を施すことによって、手書き文字を文字コードに変換し、当該時系列情報に対して図形認識処理を施すことによって、手書き図形を図形オブジェクトに変換する。
【００５４】
ところで、このような図形認識処理では、手書き文書５１上の手書き図形が、ユーザが意図していない図形オブジェクトとして認識されることがある。図６では、例えば、手書き文書５１上の手書き図形５１１は、ユーザが意図した角丸四角形の図形オブジェクト５２２ではなく、ユーザが意図していない四角形の図形オブジェクト５２１に誤って変換されている。手書き図形の認識処理では、手書き図形の形状にユーザ毎のばらつきがあることや、走り書きのような大まかな形状が手書きされること等によって、手書き図形がユーザの意図とは異なる図形オブジェクトとして認識される場合がある。
【００５５】
その場合、ユーザは、誤って変換された図形オブジェクトを、ユーザが意図した図形オブジェクトに修正する操作を行う必要がある。
【００５６】
誤って変換された図形オブジェクト５２１を正しい図形オブジェクト（すなわち、ユーザが意図した図形オブジェクト）５２２に変更する方法としては、図形オブジェクトを変更するための変更ツールを用いる方法がある。この方法では、ユーザは、例えば、図形オブジェクトを変更するための変更ツールを呼び出し、複数の図形オブジェクトの一覧から図形オブジェクト５２２を選択する操作を行う。しかし、手書き入力操作中にこのような操作を行うことは、ユーザにとって煩雑である可能性がある。また、変更ツールでは、予め規定された図形オブジェクト（すなわち、一覧に示された図形オブジェクト）にしか変更することができず、規定されていない図形オブジェクトに変更することは困難である。
【００５７】
さらに、手書き図形が、ユーザが意図した図形オブジェクトとして認識された場合であっても、その図形オブジェクトを別の図形オブジェクトに修正したい場合がある。そのような場合も同様に、変更ツールを使用する操作を行うことは、ユーザにとって煩雑である可能性がある。
【００５８】
そのため本実施形態では、手書き入力操作によって、手書き文書上に文字や図形を手書きするだけでなく、表示されている図形オブジェクトの修正も行う。図形オブジェクトは、例えば、その図形オブジェクト上に重ね書きされた手書きのストローク（修正ストローク）に基づいて修正される。これにより、図形オブジェクトのためのツール等を用いることなく、手書き入力操作によって図形オブジェクトを容易に修正することができる。
【００５９】
デジタルノートブックアプリケーション２０２の修正部３０９は、複数の図形オブジェクトの内の第１図形オブジェクトが画面（手書き文書）上に表示されている間に、少なくとも一部がその第１図形オブジェクトに接するストロークが手書きされたとき、ストロークと第１図形オブジェクトとに基づいて、第１オブジェクトを、第１図形オブジェクトとは異なる第２図形オブジェクトへ修正する。つまり、修正部３０９は、少なくとも一部がその第１図形オブジェクトに接するストロークを用いて、複数の図形オブジェクトの内の第２図形オブジェクトを検出する。
【００６０】
より具体的には、修正部３０９は、図形オブジェクトが画面に表示されている間に、時系列情報生成部３０２によって時系列情報（ストロークデータ）が生成されたとき、その時系列情報を用いて、図形オブジェクトの修正を意図したストローク（以下、修正ストロークとも称する）を検出する。この修正ストロークは、例えば、少なくとも一部が図形オブジェクトに接しているストローク、図形オブジェクトの輪郭線と交差しているストローク、等である。修正部３０９は、この修正ストロークが接している（または交差している）図形オブジェクトを、修正対象の図形オブジェクト（以下、対象図形オブジェクトとも称する）として検出する。なお、修正部３０９は、生成された時系列情報を用いて、手書きされたストロークが文字を構成するストロークであるか否かを判定し、そのストロークが文字を構成するストロークでない場合に、上述の修正ストロークであるか否かを判定してもよい。
【００６１】
次いで、修正部３０９は、対象図形オブジェクトに関連付けられた図形オブジェクト候補を検出する。修正部３０９は、例えば、図形辞書データを用いて、対象図形オブジェクトと同じ図形グループに属する図形オブジェクトを、図形オブジェクト候補として検出する。この図形グループには、例えば、図形認識処理の際に誤って認識されやすい、類似した図形オブジェクトが属する。修正部３０９は、修正ストロークに基づき、対象図形オブジェクトに関連付けられた１以上の図形オブジェクトの中から、対象図形オブジェクトを修正するための図形オブジェクト（第２図形オブジェクト）を決定する。修正部３０９は、対象図形オブジェクトに関連付けられた１以上の図形オブジェクトと修正ストロークとの類似度に応じて、１以上の図形オブジェクトの中から、第２図形オブジェクトを決定する。より具体的には、修正部３０９は、修正ストロークと図形オブジェクト候補それぞれとの類似度を算出し、対象図形オブジェクトを、類似度が最も高い図形オブジェクトに置き換える。修正部３０９は、認識部３０３による類似度の算出と同様に、例えば、修正ストロークに対応する時系列情報に基づく特徴量と、図形オブジェクト候補の輪郭線に基づく特徴量とを用いて、類似度を算出する。図形辞書データについては、図８を参照して後述する。
【００６２】
オブジェクト表示処理部３０４は、画面に表示されている対象図形オブジェクト（第１図形オブジェクト）の代わりに、置き換えられた第２図形オブジェクトを表示する。つまり、オブジェクト表示処理部３０４は、対象図形オブジェクトの認識処理の後に修正ストロークが入力された後、対象図形オブジェクトを、第２図形オブジェクトに置き換えて表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された対象図形オブジェクトのデータを、置き換えられた図形オブジェクトのデータに更新する。
【００６３】
図７を参照して、誤変換された図形オブジェクトが修正される例を説明する。図７に示す例では、角丸四角形を意図して手書きされたストローク６１が、意図していない四角形として認識される場合を想定する。
【００６４】
ユーザは、まず、手書き文書上に図形のストローク６１を手書きし、ストローク６１を図形オブジェクトに変換することを指示する操作を行う。
【００６５】
認識部３０３は、ストローク６１に対応する時系列情報（ストロークデータ）に図形認識処理を施すことによって、複数の図形オブジェクトからそのストローク（手書き図形）６１に対応する四角形の図形オブジェクト（第１図形オブジェクト）６２を認識する。認識部３０３は、例えば、複数の図形オブジェクトそれぞれの特徴量等が予め規定された図形辞書データを用いて、複数の図形オブジェクトから、ストローク６１との類似度が最も高い第１図形オブジェクト６２を検出する。オブジェクト表示処理部３０４は、画面（手書き文書）に表示されているストローク６１を、認識された第１図形オブジェクト６２に置き換えて表示する。
【００６６】
ユーザは、表示された第１図形オブジェクト６２が、意図した図形オブジェクトではないので、第１図形オブジェクト６２を修正するための修正ストローク６３を手書きする。この修正ストローク６３は、第１図形オブジェクト６２の輪郭線全体を修正するために、第１図形オブジェクト６２に重ね書きされたストロークである。修正ストローク６３は、少なくとも一部が第１図形オブジェクト６２に接し、閉ループを構成している。
【００６７】
修正部３０９は、第１図形オブジェクト６２に対して修正ストローク６３が手書きされたことに応じて、この修正ストローク６３と第１図形オブジェクト６２とに基づいて、複数の図形オブジェクトの内の、角丸四角形の図形オブジェクト（第２図形オブジェクト）６４を検出する。より具体的には、修正部３０９は、図形辞書データを用いて、複数の図形オブジェクトの内、第１図形オブジェクト６２に関連付けられた１以上の図形オブジェクト（すなわち、第１図形オブジェクトと同一の図形グループに属する図形オブジェクト候補）を検出する。そして、修正部３０９は、１以上の図形オブジェクトの各々と修正ストローク６３との類似度を算出し、類似度が最も高い第２図形オブジェクト６４を検出する。オブジェクト表示処理部３０４は、画面（手書き文書）に表示されている修正ストローク６３を消去し、また第１図形オブジェクト６２を、検出された第２図形オブジェクト６４に置き換えて表示する。そして、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された第１図形オブジェクト６２のデータを、置き換えられた第２図形オブジェクト６４のデータに更新する。
【００６８】
ページ保存処理部３０６は、生成された時系列情報、文字コードデータおよび図形オブジェクトデータ（作業メモリ４０１に一時保存された時系列情報、文字コードデータおよび図形オブジェクトデータ）の少なくともいずれかを、手書き文書データとして記憶媒体４０２に保存する。記憶媒体４０２は、例えば、タブレットコンピュータ１０内のストレージデバイスである。
【００６９】
ページ取得処理部３０７は、記憶媒体４０２から既に格納されている任意の手書き文書データを読み出す。読み出された手書き文書データは文書表示処理部３０８に送られる。文書表示処理部３０８は、手書き文書データを解析し、この解析結果に基づいて、時系列情報によって示される各ストロークの軌跡、文字コードデータによって示される文字コード、および図形オブジェクトデータによって示される図形オブジェクトの少なくともいずれかを、画面上に手書き文書（手書きページ）として表示する。
【００７０】
以上のように、図形オブジェクトに修正ストロークを重ね書きする操作によって、その図形オブジェクトを直感的に修正できるので、ユーザは、例えば、誤って変換された図形オブジェクトを正しい図形オブジェクトに容易に修正することができる。
【００７１】
図８は、図形辞書データの一構成例を示す。図形辞書データは、複数の図形オブジェクトに対応する複数のエントリを含む。各エントリは、例えば、ＩＤ、名称、画像、特徴量、図形グループを含む。ある図形オブジェクトに対応するエントリにおいて、「ＩＤ」は、その図形オブジェクトに付与された識別情報を示す。「名称」は、その図形オブジェクトの名称を示す。「画像」は、その図形オブジェクトの画像を示す。なお、「画像」は、その図形オブジェクトの画像に対応する画像データや、その画像データの格納場所（ファイルパス）を示してもよい。「特徴量」は、その図形オブジェクトの形状に関する特徴量（例えば、特徴ベクトル）を示す。「図形グループ」は、その図形オブジェクトが属するグループ（またはグループのＩＤ）を示す。このグループには、例えば、手書き図形認識処理の際に誤って認識されやすい、類似した複数の図形オブジェクトが属する。
【００７２】
次いで、図９から図１１は、誤って変換された図形オブジェクトが修正される別の例を示す。
【００７３】
図９に示す例では、認識部３０３は、手書きされたストローク（手書き図形）７１に対応する四角形の図形オブジェクト７２を認識する。そして、オブジェクト表示処理部３０４は、画面に表示されているストローク７１を、認識された図形オブジェクト７２に置き換えて表示する。
【００７４】
ユーザは、表示された図形オブジェクト７２が、意図した平行四辺形の図形オブジェクトではないので、図形オブジェクト７２を修正するための修正ストローク７３２を手書きする。この修正ストローク７３２は、例えば、始点または終点が図形オブジェクト７２のいずれかの頂点と接しているストロークである。なお、頂点と接しているストロークは、始点または終点が、図形オブジェクト７２の頂点の所定の範囲内（例えば、頂点から数ピクセルの範囲内）であるストロークであってもよい。
【００７５】
修正部３０９は、修正ストローク７３２に基づいて図形オブジェクト７２の一部を切り出すことによって得られる１以上の図形オブジェクトの中から、図形オブジェクト７２を修正するための図形オブジェクト（第２図形オブジェクト）を決定する。例えば、修正部３０９は、始点（または終点）が図形オブジェクト７２の頂点７３４と接している修正ストローク７３２が手書きされたことに応じて、この修正ストローク７３２に基づいて、図形オブジェクト７２の一部を切り出す（すなわち、図形オブジェクト７２をせん断する）ことによって、図形オブジェクト７４を取得する。例えば、修正部３０９は、図形オブジェクト７２を構成する辺の内、修正ストローク７３２が接している頂点７３４を含む辺７３１と、修正ストローク７３２とがなす角の角度７３３を検出する。そして、修正部３０９は、この角度７３３を有する直線で図形オブジェクト７２を分割し、分割によって得られた２つの図形オブジェクトの内の一方の図形オブジェクト７４を選択する。選択される図形オブジェクト７４は、例えば、分割によって得られた２つの図形オブジェクトの内、面積が大きい方の図形オブジェクトである。なお、分割によって得られた２つの図形オブジェクトの内の一方をユーザに選択させるようにしてもよい。また、修正ストローク７３２の向き（例えば、上から下に向かって手書きされたストロークであるか、もしくは下から上に向かって手書きされたストロークであるか、等）に基づいて、分割によって得られた２つの図形オブジェクトの内の一方を決定するようにしてもよい。
【００７６】
オブジェクト表示処理部３０４は、画面に表示されている修正ストローク７３２を消去し、図形オブジェクト７２を、選択された図形オブジェクト７４に置き換えて表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された図形オブジェクト７２を示すデータを、選択された図形オブジェクト７４を示すデータに更新する。
【００７７】
次いで、ユーザは、図形オブジェクト７４を平行四辺形の図形オブジェクトに修正するために、さらに修正ストローク７５２を手書きする。この修正ストローク７５２は、例えば、始点または終点が図形オブジェクト７４のいずれかの頂点と接しているストロークである。
【００７８】
修正部３０９は、始点（または終点）が図形オブジェクト７４の頂点７５４と接している修正ストローク７５２が手書きされたことに応じて、この修正ストローク７５２と図形オブジェクト７４とに基づく領域７５５を、図形オブジェクト７４に組み込む。例えば、修正部３０９は、図形オブジェクト７４を構成する辺の内、修正ストローク７３２が接している頂点７５４を含む辺７５１と、修正ストローク７５２とがなす角の角度７５３を検出する。そして、修正部３０９は、この角度７５３を有する直線と図形オブジェクト７４とに基づいて、図形オブジェクト７４に組み込む領域７５５を推定する。この領域７５５は、例えば、角度７５３を有する線分と、図形オブジェクト７４を構成する辺の１つを延長した線分７５６とに基づいて決定することができる。
【００７９】
オブジェクト表示処理部３０４は、画面に表示されている修正ストローク７５２を消去し、図形オブジェクト７４を、領域７５５が組み込まれた図形オブジェクト７６に置き換えて表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された図形オブジェクト７４を示すデータを、置き換えられた図形オブジェクト７６を示すデータに更新する。
【００８０】
次いで、図１０に示す例では、認識部３０３は、手書きされたストローク（手書き図形）８１に対応する四角形の図形オブジェクト８２を認識する。そして、オブジェクト表示処理部３０４は、画面に表示されているストローク８１を、認識された図形オブジェクト８２に置き換えて表示する。
【００８１】
ユーザは、表示された図形オブジェクト８２が、意図した図形オブジェクトではないので、図形オブジェクト８２を修正するための修正ストローク８３を手書きする。この修正ストローク８３は、例えば、少なくとも一部が図形オブジェクト８２に接しているストロークである。
【００８２】
修正部３０９は、図形オブジェクト８２を構成する１以上の辺の一部を、修正ストローク８３に基づく線分に置き換えることによって得られる１以上の図形オブジェクトの中から、図形オブジェクト８２を修正するための図形オブジェクト（第２図形オブジェクト）を決定する。例えば、修正部３０９は、修正ストローク８３が手書きされたことに応じて、図形オブジェクト８２に含まれる１以上の辺の一部を、修正ストローク８３に基づく線分（辺）８５に置き換えることによって、修正された図形オブジェクト８４を取得する。オブジェクト表示処理部３０４は、画面に表示されている修正ストローク８３を消去し、図形オブジェクト８２を、修正された図形オブジェクト８４に置き換えて表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された図形オブジェクト８２のデータを、置き換えられた図形オブジェクト８４を示すデータに更新する。
【００８３】
また、図１１に示す例では、認識部３０３は、手書きされたストローク（手書き図形）９１に対応する図形オブジェクト９２を認識する。そして、オブジェクト表示処理部３０４は、画面に表示されているストローク９１を、認識された図形オブジェクト９２に置き換えて表示する。
【００８４】
ユーザは、表示された図形オブジェクト９２が、意図した八角形の図形オブジェクトではないので、図形オブジェクト９２を修正するための修正ストローク９３を手書きする。この修正ストローク９３は、例えば、少なくとも一部が図形オブジェクト９２に接しているストロークである。
【００８５】
修正部３０９は、修正ストローク９３が手書きされたことに応じて、図形オブジェクト９２の１以上の辺の一部を、修正ストローク９３に基づく線分（辺）９４１に置き換えることによって、修正された図形オブジェクト９４を取得する。オブジェクト表示処理部３０４は、画面に表示されている修正ストローク９３を消去し、図形オブジェクト９２を、修正された図形オブジェクト９４に置き換えて表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された、図形オブジェクト９２のデータを、置き換えられた図形オブジェクト９４を示すデータに更新する。
【００８６】
同様に、修正部３０９は、修正ストローク９５がさらに手書きされたことに応じて、図形オブジェクト９４の１以上の辺の一部を、修正ストローク９５に基づく線分（辺）９６１に置き換えることによって、修正された図形オブジェクト９６を得る。オブジェクト表示処理部３０４は、画面に表示されている修正ストローク９５を消去し、図形オブジェクト９４を、さらに修正された図形オブジェクト９６に置き換えて表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された、図形オブジェクト９４のデータを、置き換えられた図形オブジェクト９６を示すデータに更新する。
【００８７】
図９から図１１に示した例では、修正ストロークを手書きする操作によって、図形オブジェクトの一部を切り出すこと、図形オブジェクトに領域を組み込むこと、図形オブジェクトに含まれる辺の一部を置き換えること、等ができるので、表示されている図形オブジェクトを、図形辞書データに予め規定されていない図形オブジェクトにも修正することもできる。つまり、本実施形態による図形オブジェクトの修正によって、予め規定された図形オブジェクトを作成するためのツール等を用いる場合よりも、より自由度が高い図形オブジェクトを作成することができる。
【００８８】
なお、上述の例では、修正対象の図形オブジェクトが、手書き図形から認識された図形オブジェクトである場合について説明した。しかし、修正対象の図形オブジェクトは、手書き図形から認識された図形オブジェクトに限らず、図形オブジェクトを作成するためのツールを用いて作成された図形オブジェクトであってもよい。つまり、ツール等を用いて作成（編集）された図形オブジェクトも、上記の修正ストロークを用いて同様に修正することができる。
【００８９】
また、手書き図形の認識処理（認識部３０３による処理）は、本タブレットコンピュータ１０内ではなく、ネットワークを介して接続されたサーバコンピュータ等で実行されてもよい。その場合、タブレットコンピュータ１０（デジタルノートブックアプリケーション２０２）は、手書きされたストロークを示す時系列情報（ストロークデータ）をサーバに送信し、サーバによって認識された文字コードと図形オブジェクトとを示すデータを受信する。タブレットコンピュータ１０では、受信したデータに基づいて、文字コードと図形オブジェクトとが画面に表示される。そして、表示された図形オブジェクトに対して、上述のような修正処理を施すことができる。
【００９０】
なお、上述した図形オブジェクトの修正例は一例であり、例えば、ドロー系のグラフィクスアプリケーションで用いられるようなあらゆる図形オブジェクトに対して、上述の修正ストロークに基づく処理を適用することができる。
【００９１】
次いで、図１２のフローチャートを参照して、デジタルノートブックアプリケーション２０２によって実行される認識処理の手順の例について説明する。
【００９２】
まず、軌跡表示処理部３０１は、手書き入力操作によるペン１００等の動きの軌跡（ストローク）をディスプレイ１７Ａに表示する（ブロックＢ１１）。また、時系列情報生成部３０２は、手書き入力操作による軌跡に対応する座標列に基づいて上述の時系列情報（時系列順に並べられた複数のストロークデータ）を生成し、その時系列情報を作業メモリ４０１に一時保存する（ブロックＢ１２）。
【００９３】
次いで、認識部３０３は、手書き文書の認識が指示されたか否かを判定する（ブロックＢ１３）。認識部３０３は、例えば、手書き文書上の文字と図形とをそれぞれ、文字コードと図形オブジェクトとに変換することを指示する変換指示操作（例えば、画面上の所定のボタンを押下げる操作、等）が行われたことに応じて、手書き文書の認識が指示されたと判定する。手書き文書の認識が指示されていない場合（ブロックＢ１３のＮＯ）、ブロックＢ１１に戻り、手書き入力操作に応じた処理が続行される。
【００９４】
一方、手書き文書の認識が指示された場合（ブロックＢ１３のＹＥＳ）、認識部３０３は、生成された時系列情報（例えば、作業メモリ４０１に一時保存された時系列情報）と文字辞書データとを用いて、手書き文書上の手書き文字を認識する（ブロックＢ１４）。また、認識部３０３は、生成された時系列情報と図形辞書データとを用いて、手書き文書上の手書き図形を認識する（ブロックＢ１５）。
【００９５】
次いで、オブジェクト表示処理部３０４は、文字認識結果に基づいて、手書き文書上の手書き文字に対応する文字コードを表示する（ブロックＢ１６）。また、オブジェクト表示処理部３０４は、図形認識結果に基づいて、手書き文書上の手書き図形に対応する図形オブジェクトを表示する（ブロックＢ１７）。そして、ブロックＢ１１に戻り、さらなる手書き入力操作に応じた処理が続行される。
【００９６】
また、図１３のフローチャートを参照して、デジタルノートブックアプリケーション２０２によって実行される図形オブジェクト修正処理の手順の例について説明する。以下では、上述した認識処理によって、手書き文書上の手書き図形に対応する図形オブジェクトが画面に表示されていること、すなわち、手書き文書上の手書き図形が対応する図形オブジェクトに置き換えられていることを想定する。
【００９７】
まず、修正部３０９は、ストロークが手書きされたか否かを判定する（ブロックＢ２０１）。修正部３０９は、例えば、時系列情報生成部３０２によって時系列情報（ストロークデータ）が生成されたときに、ストロークが画面上に手書きされたと判定する。ストロークが画面上に手書きされていない場合（ブロックＢ２０１のＮＯ）、ブロックＢ２０１に戻り、ストロークが手書きされたか否かが再度判定される。
【００９８】
ストロークが手書きされている場合（ブロックＢ２０１のＹＥＳ）、修正部３０９は、ストロークの近傍の図形オブジェクトを検出する（ブロックＢ２０２）。そして、修正部３０９は、手書きされたストロークが、その検出された図形オブジェクト（対象図形オブジェクト）の修正を意図したものであるか否かを判定する（ブロックＢ２０３）。修正部３０９は、例えば、ストロークと対象図形オブジェクトとが接しているとき（すなわち、ストロークの一部と対象図形オブジェクトの一部とが重なり合っているとき）、ストロークが対象図形オブジェクトの修正を意図したものであると判定する。
【００９９】
ストロークが図形オブジェクトの修正を意図したものでない場合（ブロックＢ２０３のＮＯ）、ブロックＢ２０１に戻る。
【０１００】
ストロークが図形オブジェクトの修正を意図したものである場合（ブロックＢ２０３のＹＥＳ）、そのストローク（修正ストローク）が閉ループを構成しているか否かを判定する（ブロックＢ２０４）。修正ストロークが閉ループを構成している場合（ブロックＢ２０４のＹＥＳ）、修正部３０９は、対象図形オブジェクトに関連付けられた図形オブジェクト候補を検出する（ブロックＢ２０５）。修正部３０９は、例えば、図形辞書データを用いて、対象図形オブジェクトと同じ図形グループに属する図形オブジェクトを、図形オブジェクト候補として検出する。修正部３０９は、修正ストロークと図形オブジェクト候補それぞれとの類似度を算出する（ブロックＢ２０６）。そして、修正部３０９は、対象図形オブジェクトを、類似度が最も高い図形オブジェクトに置き換える（ブロックＢ２０７）。この置き換えの例は、図７を参照して上述した通りである。オブジェクト表示処理部３０４は、画面に表示されている対象図形オブジェクトの代わりに、置き換えられた図形オブジェクトを表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された対象図形オブジェクトのデータを、置き換えられた図形オブジェクトのデータに更新する。
【０１０１】
修正ストロークが閉ループを構成していない場合（ブロックＢ２０４のＮＯ）、修正部３０９は、修正ストロークが対象図形オブジェクトの頂点から開始されているか否かを判定する（ブロックＢ２０８）。修正部３０９は、例えば、修正ストロークの始点または終点が、対象図形オブジェクトの頂点の所定の範囲内（例えば、頂点から数ピクセルの範囲内）である場合に、修正ストロークが対象図形オブジェクトの頂点から開始されていると判定する。
【０１０２】
修正ストロークが対象図形オブジェクトの頂点から開始されている場合（ブロックＢ２０８のＹＥＳ）、修正部３０９は、修正ストロークと対象図形オブジェクトの一辺とがなす角の角度に基づいて、対象図形オブジェクトの一部を切り出す（ブロックＢ２０９）。この切り出しの例は、図９を参照して上述した通りである。オブジェクト表示処理部３０４は、画面に表示されている対象図形オブジェクトの代わりに、切り出された図形オブジェクトを表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された対象図形オブジェクトのデータを、切り出された図形オブジェクトのデータに更新する。
【０１０３】
修正ストロークが対象図形オブジェクトの頂点から開始されていない場合（ブロックＢ２０８のＮＯ）、修正部３０９は、対象図形オブジェクトに関連付けられた図形オブジェクト候補を検出する（ブロックＢ２１０）。修正部３０９は、修正ストロークと図形オブジェクト候補それぞれとの類似度を算出する（ブロックＢ２１１）。そして、修正部３０９は、類似度がしきい値以上の図形オブジェクト候補があるか否かを判定する（ブロックＢ２１２）。
【０１０４】
類似度がしきい値以上の図形オブジェクト候補がある場合（ブロックＢ２１２のＹＥＳ）、修正部３０９は、対象図形オブジェクトを、類似度が最も高い図形オブジェクトに置き換える（ブロックＢ２１３）。オブジェクト表示処理部３０４は、画面に表示されている対象図形オブジェクトの代わりに、置き換えられた図形オブジェクトを表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された対象図形オブジェクトのデータを、置き換えられた図形オブジェクトのデータに更新する。
【０１０５】
類似度がしきい値以上の図形オブジェクト候補がない場合（ブロックＢ２１２のＮＯ）、修正部３０９は、対象図形オブジェクトの１以上の辺の一部を、修正ストロークに基づく線分に置き換える（ブロックＢ２１４）。この置き換えの例は、図１０および図１１を参照して上述した通りである。オブジェクト表示処理部３０４は、画面に表示されている対象図形オブジェクトの代わりに、辺の一部が置き換えられた図形オブジェクトを表示する。また、オブジェクト情報生成部３０５は、作業メモリ４０１等に保存された対象図形オブジェクトのデータを、辺の一部が置き換えられた図形オブジェクトのデータに更新する。
【０１０６】
以上説明したように、本実施形態によれば、図形オブジェクトを手書き入力操作で容易に変更することができる。オブジェクト表示処理部３０４は、複数の図形オブジェクトの内の第１図形オブジェクトを画面に表示する。修正部３０９は、少なくとも一部が第１図形オブジェクトに接するストロークが手書きされたとき、そのストロークと第１図形オブジェクトとに基づいて、複数の図形オブジェクトの内の第２図形オブジェクトを検出する。そして、オブジェクト表示処理部３０４は、画面上の第１図形オブジェクトを、検出された第２図形オブジェクトに置き換えて表示する。これにより、本実施形態では、第１図形オブジェクトに対して手書きされたストロークを用いて、第１図形オブジェクトを第２図形オブジェクトに容易に変更することができる。
【０１０７】
なお、図１２および図１３のフローチャートで説明した本実施形態の処理手順は全てソフトウェアによって実行することができる。このため、この処理手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１０８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０９】
１７Ａ…ＬＣＤ、２０２…デジタルノートブックアプリケーション、３０１…軌跡表示処理部、３０２…時系列情報生成部、３０３…認識部、３０４…オブジェクト表示処理部、３０５…オブジェクト情報生成部、３０６…ページ保存処理部、３０７…ページ取得処理部、３０８…文書表示処理部、３０９…修正部、４０１…作業メモリ、４０２…記憶媒体。
【図１】
2014149614.tif 000003
【図２】
2014149614.tif 000004
【図３】
2014149614.tif 000005
【図４】
2014149614.tif 000006
【図５】
2014149614.tif 000007
【図６】
2014149614.tif 000008
【図７】
2014149614.tif 000009
【図８】
2014149614.tif 000010
【図９】
2014149614.tif 000011
【図１０】
2014149614.tif 000012
【図１１】
2014149614.tif 000013
【図１２】
2014149614.tif 000014
【図１３】
2014149614.tif 000015