(57)【要約】【課題】手書きの文字に対応するテキストを違和感なく表示できる電子機器を実現する。【解決手段】実施形態によれば、電子機器は、表示処理手段を具備する。表示処理手段は、タッチスクリーンディスプレイの画面上で手書きにより入力される１以上の第１ストロークを表示する。前記表示処理手段は、前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されているか否かと、前記１以上の第１ストロークが筆記体の文字に対応するか否かとの少なくとも一方に基づいて決定される書体を用いて、前記１以上の第１ストロークの認識結果に対応する１以上の第１文字を表示する。【選択図】図５
2015225525.tif 000002
【特許請求の範囲】
【請求項１】
タッチスクリーンディスプレイの画面上で手書きにより入力される１以上の第１ストロークを表示する表示処理手段を具備し、
前記表示処理手段は、前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されているか否かと、前記１以上の第１ストロークが筆記体の文字に対応するか否かとの少なくとも一方に基づいて決定される書体を用いて、前記１以上の第１ストロークの認識結果に対応する１以上の第１文字を表示する電子機器。
【請求項２】
前記表示処理手段は、
前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されている場合、文字を構成する線の太さが変化する書体で、前記１以上の第１文字を表示し、
前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されていない場合、文字を構成する線の太さが変化しない書体で、前記１以上の第１文字を表示する請求項１記載の電子機器。
【請求項３】
前記表示処理手段は、
前記１以上の第１ストロークが第２文字に対応し、且つ前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されている場合、文字を構成する線の太さが変化する書体で、前記第２文字を表示し、
前記１以上の第１ストロークが第２文字に対応し、且つ前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されていない場合、文字を構成する線の太さが変化しない書体で、前記第２文字を表示する請求項１記載の電子機器。
【請求項４】
前記表示処理手段は、前記１以上の第１ストロークが筆記体の文字に対応する場合、筆記体に対応する書体で、前記１以上の第１文字を表示する請求項１記載の電子機器。
【請求項５】
前記表示処理手段は、前記１以上の第１ストロークの内の少なくとも１つのストロークから複数の文字が認識される場合、筆記体に対応する書体で、前記１以上の第１文字を表示する請求項１記載の電子機器。
【請求項６】
タッチスクリーンディスプレイの画面上で手書きにより入力される１以上の第１ストロークを表示し、
前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されているか否かと、前記１以上の第１ストロークが筆記体の文字に対応するか否かとの少なくとも一方に基づいて決定される書体を用いて、前記１以上の第１ストロークの認識結果に対応する１以上の第１文字を表示する方法。
【請求項７】
前記１以上の第１文字を表示することは、
前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されている場合、文字を構成する線の太さが変化する書体で、前記１以上の第１文字を表示し、
前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されていない場合、文字を構成する線の太さが変化しない書体で、前記１以上の第１文字を表示する請求項６記載の方法。
【請求項８】
前記１以上の第１文字を表示することは、
前記１以上の第１ストロークが第２文字に対応し、且つ前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されている場合、文字を構成する線の太さが変化する書体で、前記第１文字を表示し、
前記１以上の第１ストロークが第２文字に対応し、且つ前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されていない場合、文字を構成する線の太さが変化しない書体で、前記第１文字を表示する請求項６記載の方法。
【請求項９】
前記１以上の第１文字を表示することは、前記１以上の第１ストロークが筆記体の文字に対応する場合、筆記体に対応する書体で、前記１以上の第１文字を表示する請求項６記載の方法。
【請求項１０】
前記１以上の第１文字を表示することは、前記１以上の第１ストロークの内の少なくとも１つのストロークから複数の文字が認識される場合、筆記体に対応する書体で、前記１以上の第１文字を表示する請求項６記載の方法。
【請求項１１】
コンピュータにより実行されるプログラムであって、前記プログラムは、
タッチスクリーンディスプレイの画面上で手書きにより入力される１以上の第１ストロークを表示する手順と、
前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されているか否かと、前記１以上の第１ストロークが筆記体の文字に対応する否かとの少なくとも一方に基づいて決定される書体を用いて、前記１以上の第１ストロークの認識結果に対応する１以上の第１文字を表示する手順とを前記コンピュータに実行させるプログラム。
【請求項１２】
前記１以上の第１文字を表示する手順は、
前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されている場合、文字を構成する線の太さが変化する書体で、前記１以上の第１文字を表示し、
前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されていない場合、文字を構成する線の太さが変化しない書体で、前記１以上の第１文字を表示する請求項１１記載のプログラム。
【請求項１３】
前記１以上の第１文字を表示する手順は、
前記１以上の第１ストロークが第１文字に対応し、且つ前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されている場合、文字を構成する線の太さが変化する書体で、前記第１文字を表示し、
前記１以上の第１ストロークが第１文字に対応し、且つ前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されていない場合、文字を構成する線の太さが変化しない書体で、前記第１文字を表示する請求項１１記載のプログラム。
【請求項１４】
前記１以上の第１文字を表示する手順は、前記１以上の第１ストロークが筆記体の文字に対応する場合、筆記体に対応する書体で、前記１以上の第１文字を表示する請求項１１記載のプログラム。
【請求項１５】
前記１以上の第１文字を表示する手順は、前記１以上の第１ストロークの内の少なくとも１つのストロークから複数の文字が認識される場合、筆記体に対応する書体で、前記１以上の第１文字を表示する請求項１１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、文字を手書き入力する技術に関する。
【背景技術】
【０００２】
近年、タブレット、ＰＤＡ、スマートフォンといった種々の電子機器が開発されている。この種の電子機器には、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備え、手書きするための機能を有するものもある。ユーザは、この電子機器を用いて、テキストや画像だけでなく、手書きの文字や図形も含む文書を作成することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３９９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、手書きの文字は、別のアプリケーションプログラムで利用するために、各種の文字認識処理によってテキスト（文字コード）に変換されることがある。変換されたテキストは、例えば特定のフォントで表示されるので、手書きの文字の書体とテキストの書体との違いにユーザが違和感を覚える可能性がある。
【０００５】
本発明の一形態は、手書きの文字に対応するテキストを違和感なく表示できる電子機器及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態によれば、電子機器は、表示処理手段を具備する。表示処理手段は、タッチスクリーンディスプレイの画面上で手書きにより入力される１以上の第１ストロークを表示する。前記表示処理手段は、前記１以上の第１ストロークの表示に手書き入力時の圧力が反映されているか否かと、前記１以上の第１ストロークが筆記体の文字に対応するか否かとの少なくとも一方に基づいて決定される書体を用いて、前記１以上の第１ストロークの認識結果に対応する１以上の第１文字を表示する。
【図面の簡単な説明】
【０００７】
【図１】実施形態に係る電子機器の外観を示す例示的な斜視図。
【図２】同実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされるストロークの例を示す図。
【図３】同実施形態の電子機器によって記憶媒体に保存される、図２の手書きストロークに対応する時系列情報（ストロークデータ）を説明するための例示的な図。
【図４】同実施形態の電子機器のシステム構成を示す例示的なブロック図。
【図５】同実施形態の電子機器によって実行されるデジタルノートブックアプリケーションプログラムの機能構成を示す例示的なブロック図。
【図６】同実施形態の電子機器によって、手書き入力時の圧力が反映されたストロークで構成される文字が整形される例を示す図。
【図７】同実施形態の電子機器によって、手書き入力時の圧力が反映されないストロークで構成される文字が整形される例を示す図。
【図８】同実施形態の電子機器によって、筆記体の手書き文字が整形される例を示す図。
【図９】同実施形態の電子機器によって実行される手書き文書整形処理の手順の例を示すフローチャート。
【発明を実施するための形態】
【０００８】
以下、実施の形態について図面を参照して説明する。
【０００９】
図１は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン又は指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、ＰＤＡ等として実現され得る。以下では、この電子機器がタブレットコンピュータ１０として実現されている場合を想定する。タブレットコンピュータ１０は、タブレット又はスレートコンピュータとも称される携帯型電子機器であり、図１に示すように、本体１１とタッチスクリーンディスプレイ１７とを備える。タッチスクリーンディスプレイ１７は、本体１１の上面に重ね合わせるように取り付けられている。
【００１０】
本体１１は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ１７には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペン又は指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置（ＬＣＤ）であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルである２種類のセンサの双方がタッチスクリーンディスプレイ１７に組み込まれている場合を想定する。
【００１１】
デジタイザ及びタッチパネルの各々は、フラットパネルディスプレイの画面を覆うように設けられる。このタッチスクリーンディスプレイ１７は、指を使用した画面に対するタッチ操作のみならず、ペン１００を使用した画面に対するタッチ操作も検出することができる。ペン１００は例えば電磁誘導ペンである。
【００１２】
ユーザは、外部オブジェクト（ペン１００又は指）を使用してタッチスクリーンディスプレイ１７上で、手書きにより複数のストロークを入力する手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト（ペン１００又は指）の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡（筆跡）がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が１ストロークに相当する。多数のストロークの集合、つまり多数の軌跡（筆跡）の集合が、手書きの文字又は図形などを構成する。
【００１３】
本実施形態では、このような手書きストロークは、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報として記憶媒体に保存される。この時系列情報の詳細は図３を参照して後述するが、この時系列情報は、概して、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、手書きにより入力可能なある一つのストロークを表現可能なデータであればどのようなものであってもよく、例えば、このストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
【００１４】
タブレットコンピュータ１０は、記憶媒体から既存の任意の手書き文書データを読み出し、この手書き文書データに対応する文書、つまり、時系列情報によって示される複数のストロークそれぞれに対応する軌跡が描画された手書き文書を、画面上に表示することができる。
【００１５】
次いで、図２及び図３を参照して、ユーザによって手書きされたストローク（手書きの文字、マーク、図形、表など）と時系列情報との関係について説明する。図２は、ペン１００などを使用してタッチスクリーンディスプレイ１７上に手書きされる文書の例を示している。
【００１６】
この文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図２においては、「ＡＢＣ」の手書き文字列が「Ａ」、「Ｂ」、「Ｃ」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「Ａ」のすぐ近くに手書きされた場合が想定されている。
【００１７】
手書き文字「Ａ」は、ペン１００などを使用して手書きされる２つのストローク（「∧」形状の軌跡、「−」形状の軌跡）によって、つまり２つの軌跡によって表現される。最初に手書きされる「∧」形状のペン１００の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標ＳＤ１１、ＳＤ１２、…ＳＤ１ｎが得られる。同様に、次に手書きされる「−」形状のペン１００の軌跡もサンプリングされ、これによって「−」形状のストロークの時系列座標ＳＤ２１、ＳＤ２２、…ＳＤ２ｎが得られる。
【００１８】
手書き文字「Ｂ」は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。手書き文字「Ｃ」は、ペン１００などを使用して手書きされた１つのストローク、つまり１つの軌跡によって表現される。手書きの矢印は、ペン１００などを使用して手書きされた２つのストローク、つまり２つの軌跡によって表現される。
【００１９】
図３は、図２の文書に対応する時系列情報２００を示している。時系列情報２００は、複数のストロークデータＳＤ１、ＳＤ２、…、ＳＤ７を含む。時系列情報２００内においては、これらストロークデータＳＤ１、ＳＤ２、…、ＳＤ７は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べられている。
【００２０】
時系列情報２００において、先頭の２つのストロークデータＳＤ１、ＳＤ２は、手書き文字「Ａ」を構成する２つのストロークをそれぞれ示している。３番目と４番目のストロークデータＳＤ３、ＳＤ４は、手書き文字「Ｂ」を構成する２つのストロークをそれぞれ示している。５番目のストロークデータＳＤ５は、手書き文字「Ｃ」を構成する１つのストロークを示している。６番目と７番目のストロークデータＳＤ６、ＳＤ７は、手書き矢印を構成する２つのストロークをそれぞれ示している。
【００２１】
各ストロークデータは、一つのストロークに対応する座標データ系列（時系列座標）、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいて、複数の座標は、ストロークが書かれた順に時系列に並べられている。例えば、手書き文字「Ａ」に関しては、ストロークデータＳＤ１は、手書き文字「Ａ」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列（時系列座標）、つまりｎ個の座標データＳＤ１１、ＳＤ１２、…ＳＤ１ｎを含む。ストロークデータＳＤ２は、手書き文字「Ａ」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりｎ個の座標データＳＤ２１、ＳＤ２２、…ＳＤ２ｎを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
【００２２】
各座標データは、対応する軌跡内のある１点に対応するＸ座標及びＹ座標を示す。例えば、座標データＳＤ１１は、「∧」形状のストロークの始点のＸ座標（Ｘ１１）及びＹ座標（Ｙ１１）を示す。ＳＤ１ｎは、「∧」形状のストロークの終点のＸ座標（Ｘ１ｎ）及びＹ座標（Ｙ１ｎ）を示す。
【００２３】
また、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Ｔを含んでいてもよい。手書きされた時点は、絶対時間（例えば、年月日時分秒）と、ある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間（例えば、年月日時分秒）をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Ｔとして付加してもよい。各座標データにタイムスタンプ情報Ｔが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。
【００２４】
さらに、各座標データは、その座標に対応する点が手書きされた時点の、外部オブジェクト（例えば、ペン１００）が画面に接触されたことによる圧力Ｐと、手書き入力に用いられるペンのタイプＰＴとを含む。ペンタイプＰＴには、万年筆、毛筆、鉛筆、ボールペン、マーカー、等の複数のペンタイプの内の一つが指定されている。
【００２５】
複数のペンタイプＰＴは、ストロークが表示される線幅が圧力Ｐに応じて変化するペンタイプ（例えば、万年筆、毛筆、等）と、ストロークが表示される線幅が圧力Ｐに応じて変化しないペンタイプ（例えば、鉛筆、ボールペン、マーカー、等）とに分類される。つまり、手書き入力されるストロークは、線幅が圧力Ｐに応じて変化するペンタイプが指定されている場合に、圧力Ｐに基づく線幅で表示され、また線幅が圧力Ｐに応じて変化しないペンタイプが指定されている場合に、圧力Ｐに関わらず一定の線幅で表示される。ペンタイプは、例えば、デジタルノートブックアプリケーションプログラム２０２を使用しているユーザが、ペンタイプを選択するためのボタン（ＧＵＩ）等を用いて指定する。
【００２６】
本実施形態では、上述したように、手書きされるストロークは、イメージや文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報２００として記憶されるので、言語に依存せずに手書きの文字や図形を扱うことができる。よって、本実施形態の時系列情報２００の構造は、使用言語が異なる世界中の様々な国で共通に使用できる。
【００２７】
図４は、タブレットコンピュータ１０のシステム構成を示す図である。  
タブレットコンピュータ１０は、図４に示されるように、ＣＰＵ１０１、システムコントローラ１０２、主メモリ１０３、グラフィクスコントローラ１０４、ＢＩＯＳ−ＲＯＭ１０５、不揮発性メモリ１０６、無線通信デバイス１０７、エンベデッドコントローラ（ＥＣ）１０８、等を備える。
【００２８】
ＣＰＵ１０１は、タブレットコンピュータ１０内の各種コンポーネントの動作を制御するプロセッサである。ＣＰＵ１０１は、ストレージデバイスである不揮発性メモリ１０６から主メモリ１０３にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム（ＯＳ）２０１、及び各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、デジタルノートブックアプリケーションプログラム２０２が含まれている。このデジタルノートブックアプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７等を用いた操作によって文字や図形を手書きするための手書き入力機能、手書きされた文書を整形する手書き文書整形機能、等を有する。デジタルノートブックアプリケーションプログラム２０２は、手書き文書整形機能によって、例えば手書きされた文字をテキスト（文字コード）に変換する。
【００２９】
また、ＣＰＵ１０１は、ＢＩＯＳ−ＲＯＭ１０５に格納された基本入出力システム（ＢＩＯＳ）も実行する。ＢＩＯＳは、ハードウェア制御のためのプログラムである。
【００３０】
システムコントローラ１０２は、ＣＰＵ１０１のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ１０２には、主メモリ１０３をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ１０２は、ＰＣＩ  ＥＸＰＲＥＳＳ規格のシリアルバスなどを介してグラフィクスコントローラ１０４との通信を実行する機能も有している。
【００３１】
グラフィクスコントローラ１０４は、本タブレットコンピュータ１０のディスプレイモニタとして使用されるＬＣＤ１７Ａを制御する表示コントローラである。このグラフィクスコントローラ１０４によって生成される表示信号はＬＣＤ１７Ａに送られる。ＬＣＤ１７Ａは、表示信号に基づいて画面イメージを表示する。このＬＣＤ１７Ａ上にはタッチパネル１７Ｂ及びデジタイザ１７Ｃが配置されている。タッチパネル１７Ｂは、ＬＣＤ１７Ａの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置及び接触位置の動き等はタッチパネル１７Ｂによって検出される。デジタイザ１７ＣはＬＣＤ１７Ａの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン１００が接触される画面上の接触位置、接触位置の動き、接触圧力、等はデジタイザ１７Ｃによって検出される。
【００３２】
無線通信デバイス１０７は、無線ＬＡＮ又は３Ｇ移動通信などの無線通信を実行するように構成されたデバイスである。ＥＣ１０８は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。ＥＣ１０８は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ１０を電源オン又は電源オフする機能を有している。
【００３３】
上述したシステム構成を用いて手書き入力された文字を含む手書き文書は、別のアプリケーションプログラム（例えば、ワードプロセッシングソフトウェア、プレゼンテーション用ソフトウェア、メーラ、等）で利用するために、各種の文字認識処理によってテキスト（文字コード）に変換されることがある。変換されたテキストは、例えばある一つの書体（例えば、ＳａｎｓＳｅｒｉｆ書体のフォント）を用いて画面に表示される。
【００３４】
文字がブロック体で、且つ外部オブジェクト（ペン１００）が画面に接触されたことによる圧力Ｐに応じて線幅が変化しないペンタイプで手書き入力される場合には、手書きされる文字のストロークが圧力Ｐに関わらず一定の線幅で表示されるので、例えば、線幅が一定で、端部に装飾がないＳａｎｓＳｅｒｉｆ書体のフォントで、手書き文字に対応するテキストを違和感なく表示することができる。
【００３５】
しかし、手書き入力された文字を構成するストロークは、選択されているペンタイプに応じて、外部オブジェクト（ペン１００）が画面に接触されたことによる圧力Ｐに基づく線幅で表示されることがある。また、手書き入力された文字は筆記体の文字である可能性がある。
【００３６】
このような場合には、手書きの文字が変換されたテキストが、線幅が一定で、端部に装飾がないＳａｎｓＳｅｒｉｆ書体のフォントで表示されることに、ユーザが違和感を覚える可能性がある。例えば、万年筆タイプのペンを用いて画面に接触する圧力Ｐを変化させることによって、線幅を変化させて手書き入力された文字（ストローク）が、ゴシック体のような線幅が一定である書体のテキストとして表示される場合、手書きの文字の書体と対応するテキストの書体との違いにユーザが違和感を覚える可能性がある。また、例えば、筆記体で手書き入力された文字が、ブロック体のフォントのテキストとして表示される場合、手書きの文字の書体と対応するテキストの書体との違いにユーザが違和感を覚える可能性がある。
【００３７】
そのため本実施形態では、ストロークの表示に手書き入力時の圧力Ｐが反映されているか否かと、ストロークが筆記体の文字に対応するか否かとの少なくとも一方に基づいて決定される書体を用いて、ストロークから認識された文字を画面に表示する。より具体的には、ストロークが筆記体の文字に対応する場合、筆記体に対応する書体（Ｓｃｒｉｐｔ書体）で、認識された文字が画面に表示される。また、ストロークの表示に手書き入力時の圧力Ｐが反映されている場合、文字を構成する線の太さが変化する書体（Ｓｅｒｉｆ書体）で、認識された文字が表示され、ストロークの表示に手書き入力時の圧力Ｐが反映されていない場合、文字を構成する線の太さが変化しない書体（ＳａｎｓＳｅｒｉｆ書体）で、認識された文字が表示される。  
これにより、手書きの文字に対応するテキストを違和感なく表示することができる。
【００３８】
図５は、本タブレットコンピュータ１０によって実行されるデジタルノートブックアプリケーションプログラム２０２の機能構成の例を示す。デジタルノートブックアプリケーションプログラム２０２は、タッチスクリーンディスプレイ１７を用いた操作によって入力される時系列情報（ストロークデータ）を使用することによって、手書きされた文字列の表示、手書きされた文字列の整形、等を行う。
【００３９】
デジタルノートブックアプリケーションプログラム２０２は、例えば、軌跡表示処理部３０１、時系列情報生成部３０２、文字認識部３０３、フォント決定部３０４、整形文書生成部３０５、文書保存処理部３０６、文書取得処理部３０７、及び文書表示処理部３０８、等を備える。
【００４０】
タッチスクリーンディスプレイ１７は、「タッチ」、「移動（スライド）」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動（スライド）」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
【００４１】
軌跡表示処理部３０１及び時系列情報生成部３０２は、タッチスクリーンディスプレイ１７によって発生される「タッチ」、「移動（スライド）」又は「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動（スライド）」イベントには、移動先の接触位置の座標が含まれている。「リリース」イベントには、接触位置が画面から離された位置の座標が含まれている。したがって、軌跡表示処理部３０１及び時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から、接触位置の動きの軌跡に対応する座標列を受信することができる。
【００４２】
軌跡表示処理部３０１は、タッチスクリーンディスプレイ１７の画面上で手書きにより入力される１以上のストローク（以下、１以上の第１ストロークとも称する）を画面に表示する。軌跡表示処理部３０１は、タッチスクリーンディスプレイ１７から座標列を受信し、この座標列に基づいて、ペン１００等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ１７内のＬＣＤ１７Ａの画面上に表示する。この軌跡表示処理部３０１により、画面にペン１００が接触している間のペン１００の軌跡、つまりストロークがＬＣＤ１７Ａの画面上に描画される。
【００４３】
時系列情報生成部３０２は、タッチスクリーンディスプレイ１７から出力される上述の座標列を受信し、この座標列に基づいて、図３で詳述したような構造を有する時系列情報（ストロークデータ）を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標、タイムスタンプ情報、ペンタイプ情報、及び圧力は作業メモリ４０１に一時保存されてもよい。
【００４４】
また、時系列情報生成部３０２は、生成された時系列情報（ストロークデータ）を文字認識部３０３に出力する。なお、文字認識部３０３は、表示中の手書き文書の整形が要求されたことに応じて、その手書き文書に対応する時系列情報を作業メモリ４０１や記憶媒体４０２から読み出すようにしてもよい。
【００４５】
文字認識部３０３は、手書き入力された１以上の第１ストロークに対応する１以上の第１文字を認識する。１以上の第１ストロークは１つの文字に対応し得る。また、１つのストロークは複数の文字に対応し得る。
【００４６】
より具体的には、まず、文字認識部３０３は、手書き入力されたストロークに対応するストロークデータを用いて、ストロークに対応する特徴量（第１特徴量）を算出する。文字認識部３０３は、例えば、ストロークの形状や手書きされた向き等に基づいて特徴量を算出する。
【００４７】
そして、文字認識部３０３は、算出された第１特徴量と、手書き文字辞書データ４０２Ａ内の文字に対応する第２特徴量とを用いて、手書き入力されたストロークで構成される文字と手書き文字辞書データ４０２Ａ内の文字の各々との類似度を算出する。この手書き文字辞書データ４０２Ａは、手書きされる様々な文字の特徴量のデータを含み、例えば、手書きされたストロークに対応するストロークデータや、手書き文書データ４０２Ｂを解析することによって生成される。また、手書き文字辞書データ４０２Ａは、ブロック体で手書きされる文字の特徴量だけでなく、筆記体で手書きされる文字の特徴量も含む。そのため、文字認識部３０３は、手書き入力されたストロークから、ブロック体の文字と筆記体の文字とのいずれかを適切に認識することができ、また、手書き入力されたストロークで構成される文字がブロック体であるか筆記体であるかを判別することができる。さらに、手書き文字辞書データ４０２Ａは、例えばユーザ毎に生成されるので、各ユーザによって手書きされた文字の特徴を反映することができる。
【００４８】
文字認識部３０３は、例えば、手書き入力されたストロークに対応する第１特徴量と、手書き文字辞書データ４０２Ａに示される複数の手書き文字に対応する複数の第２特徴量の各々との類似度を算出する。そして、文字認識部３０３は、手書き文字辞書データ４０２Ａ内の複数の文字から、最も類似度が高い文字を検出し、その文字を手書き入力された１以上の第１ストロークに対応する１以上の第１文字に決定する。
【００４９】
次いで、フォント決定部３０４は、認識された文字の表示に用いられる書体（フォント）を決定する。フォント決定部３０４は、手書き入力された１以上の第１ストロークの表示に手書き入力時の圧力Ｐが反映されているか否かと、１以上の第１ストロークが筆記体の文字に対応するか否かとの少なくとも一方に基づいて、１以上の第１ストロークの認識結果に対応する１以上の第１文字の表示に用いられる書体を決定する。決定される書体は、例えば、文字を構成する線の太さが変化する書体（例えば、Ｓｅｒｉｆ書体）と、文字を構成する線の太さが変化しない書体（例えば、ＳａｎｓＳｅｒｉｆ書体）と、筆記体の書体（例えば、Ｓｃｒｉｐｔ書体）のいずれかである。
【００５０】
より具体的には、フォント決定部３０４は、１以上の第１ストロークが筆記体の文字に対応する場合、認識された１以上の第１文字の表示に、筆記体に対応する書体のフォント（Ｓｃｒｉｐｔ書体のフォント）が用いられることを決定する。フォント決定部３０４は、例えば、手書き入力された１以上の第１ストロークの内の少なくとも１つのストロークが複数の文字に対応している場合（すなわち、１つのストロークから複数の文字が認識される場合）、認識された文字の表示に、筆記体に対応する書体のフォントが用いられることを決定する。フォント決定部３０４は、行や単語のような複数の文字で、筆記体に対応する書体のフォントが用いられることを決定してもよい。
【００５１】
また、フォント決定部３０４は、１以上の第１ストロークの表示に手書き入力時の圧力Ｐが反映されている場合、認識された１以上の第１文字の表示に、文字を構成する線の太さ（線幅）が変化する書体のフォント（Ｓｅｒｉｆ書体のフォント）が用いられることを決定する。なお、フォント決定部３０４は、ストロークが１つの文字（第２文字）に対応し、且つ当該ストロークの表示に手書き入力時の圧力Ｐが反映されている場合、その１つの文字の表示に、文字を構成する線の太さが変化する書体のフォントが用いられることを決定してもよい。つまり、フォント決定部３０４は、文字単位で、文字を構成する線の太さが変化する書体のフォントが用いられることを決定してもよい。また、フォント決定部３０４は、ストロークの表示に手書き入力時の圧力Ｐが反映されている場合、認識された文字の表示に、文字を構成する線の太さが変化し、その線の端部に装飾がある書体のフォントが用いられることを決定するようにしてもよい。
【００５２】
さらに、フォント決定部３０４は、１以上の第１ストロークの表示に手書き入力時の圧力Ｐが反映されていない場合、認識された１以上の第１文字の表示に、文字を構成する線の太さが変化しない書体のフォント（ＳａｎｓＳｅｒｉｆ書体）が用いられることを決定する。なお、フォント決定部３０４は、ストロークが１つの文字（第２文字）に対応し、且つストロークの表示に手書き入力時の圧力Ｐが反映されていない場合、その１つの文字の表示に、文字を構成する線の太さが変化しない書体のフォントが用いられることを決定してもよい。つまり、フォント決定部３０４は、文字単位で、文字を構成する線の太さが変化しない書体のフォントが用いられることを決定してもよい。また、フォント決定部３０４は、ストロークの表示に手書き入力時の圧力Ｐが反映されていない場合、認識された文字の表示に、文字を構成する線の太さが変化せず、その線の端部に装飾がない書体のフォントが用いられることを決定するようにしてもよい。
【００５３】
そして、整形文書生成部３０５は、表示中の手書き文書から認識された文字と、その文字の表示に用いられる書体（フォント）とが関連付けられたデータを含む整形文書データ４０２Ｃを生成する。整形文書生成部３０５は、整形された文書が利用される別のアプリケーションプログラムに応じたフォーマット（外部フォーマット）で、整形文書データ４０２Ｃを生成することができる。整形文書生成部３０５は、生成された整形文書データ４０２Ｃを作業メモリ４０１に一時保存してもよい。
【００５４】
また、文書保存処理部３０６は、生成された整形文書データ（作業メモリ４０１に一時保存された整形文書データ）４０２Ｃを、記憶媒体４０２に保存することもできる。記憶媒体４０２は、例えば、タブレットコンピュータ１０内のストレージデバイスである。
【００５５】
文書表示処理部３０８は、生成された整形文書データ４０２Ｃを用いて、ＬＣＤ１７Ａの画面に整形された文書を表示する。これにより、手書き文書から認識された文字（テキスト）を、その文字に適した書体のフォントで表示することができる。
【００５６】
また、文書取得処理部３０７は、記憶媒体４０２から既に格納されている任意の整形文書データ４０２Ｃを読み出す。読み出された整形文書データ４０２Ｃは文書表示処理部３０８に送られる。文書表示処理部３０８は、整形文書データ４０２Ｃに含まれる文字コードと書体（フォント）とが関連付けられたデータに対応するテキストを含む文書（ページ）を画面上に表示する。
【００５７】
さらに、文書保存処理部３０６は、生成されたストロークデータ（作業メモリ４０１に一時保存されたストロークデータ）を、手書き文書データ４０２Ｂとして記憶媒体４０２に保存する。記憶媒体４０２は、例えば、タブレットコンピュータ１０内のストレージデバイスである。
【００５８】
文書取得処理部３０７は、記憶媒体４０２から既に格納されている任意の手書き文書データ４０２Ｂを読み出すこともできる。読み出された手書き文書データ４０２Ｂは文書表示処理部３０８に送られる。文書表示処理部３０８は、手書き文書データ４０２Ｂを解析し、この解析結果に基づいて、ストロークデータ（時系列情報）によって示される各ストロークの軌跡を含む文書（ページ）を画面上に表示する。
【００５９】
次いで、図６から図８を参照して、ストロークの表示に手書き入力時の圧力Ｐが反映されているか否かと、ストロークが筆記体の文字に対応するか否かとの少なくとも一方に基づいて決定される書体を用いて、手書き入力された文字（ストローク）に対応するテキスト（文字コード）が表示される例を説明する。
【００６０】
図６は、筆圧応答があるタイプのペンで手書き入力された文字に対応するテキストが、文字を構成する線の太さが変化する書体のフォントで表示される例を示す。筆圧応答があるタイプのペンで手書き入力された文字を構成するストローク６１は、手書き入力時の圧力Ｐに基づく線幅で表示される（すなわち、手書き入力時の圧力Ｐが反映される）。
【００６１】
そのため、手書き入力された文字から認識されたテキスト６２は、文字を構成する線の太さが変化する書体のフォントを用いることによって、違和感なく表示することができる。文字を構成する線の太さが変化する書体のフォントは、例えば、Ｓｅｒｉｆ書体のフォント（例えば、Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ、明朝）である。
【００６２】
図７は、筆圧応答がないタイプのペンで手書き入力された文字に対応するテキストが、文字を構成する線の太さが変化しない書体のフォントで表示される例を示す。筆圧応答がないタイプのペンで手書き入力された文字に対応するストローク７１は、手書き入力時の圧力Ｐに関わらず、一定の線幅で表示される（すなわち、手書き入力時の圧力Ｐが反映されない）。
【００６３】
そのため、手書き入力された文字から認識されたテキスト７２は、文字を構成する線の太さが変化しない書体のフォントを用いることによって、違和感なく表示することができる。文字を構成する線の太さが変化しない書体のフォントは、例えば、ＳａｎｓＳｅｒｉｆ書体のフォント（例えば、ゴシック）である。
【００６４】
また、図８は、筆記体で手書き入力された文字に対応するテキストが、筆記体の書体のフォントで表示される例を示す。筆記体で手書き入力された文字に対応する１つのストロークは、複数の文字に対応し得る。例えば、図８に示す筆記体の手書き文字“ａｂ”は、１つのストローク８１Ａに対応している。一方、図６及び図７に示すブロック体の手書き文字では、１つのストロークが複数の文字に対応することはない。
【００６５】
そのため、手書き入力された１以上の第１ストローク（例えば、ある１行に含まれる１以上の第１ストローク）８１に、複数の文字に対応する少なくとも１つのストローク８１Ａが含まれている場合、手書き入力された文字から認識されたテキスト８２は、筆記体の書体のフォントを用いることによって、違和感なく表示することができる。筆記体の書体のフォントは、例えば、Ｓｃｒｉｐｔ書体のフォントである。
【００６６】
次いで、図９のフローチャートを参照して、タブレットコンピュータ１０によって実行される手書き文書整形処理の手順の例を説明する。
【００６７】
まず、文字認識部３０３は、手書き入力されたストロークの整形出力が要求されたか否かを判定する（ブロックＢ１０１）。文字認識部３０３は、例えば、画面に表示される整形出力を要求するためのボタン（ＧＵＩ）が押し下げられたことに応じて、手書き入力されたストロークの整形出力が要求されたことを決定する。手書き入力されたストロークの整形出力が要求されていない場合（ブロックＢ１０１のＮＯ）、ブロックＢ１０１に戻り、手書き入力されたストロークの整形出力が要求されたか否かが再度判定される。
【００６８】
手書き入力されたストロークの整形出力が要求されている場合（ブロックＢ１０１のＹＥＳ）、文字認識部３０３は、整形対象のストロークに対応するストロークデータ（時系列情報）をストロークデータベース（ストロークＤＢ）から読み出す（ブロックＢ１０２）。ストロークＤＢは、例えば、ストロークデータが格納される作業メモリ４０１や、ストロークデータを含む手書き文書データ４０２Ｂが格納される記憶媒体４０２である。なお、文字認識部３０３は、時系列情報生成部３０２によって生成されるストロークデータを、整形対象のストロークに対応するストロークデータとして用いてもよい。
【００６９】
文字認識部３０３は、ストロークデータに対応する特徴量を算出し（ブロックＢ１０３）、その特徴量を用いてストロークに対応する文字を認識する（ブロックＢ１０４）。文字認識部３０３は、例えば、記憶媒体４０２に格納された手書き文字辞書データ４０２Ａを用いて、ストロークに対応する文字を認識する。
【００７０】
次いで、フォント決定部３０４は、ストロークが筆記体の文字に対応するか否か（すなわち、ストロークから認識された文字が筆記体の文字であるか否か）を判定する（ブロックＢ１０５）。文字認識部３０３は、例えば、１つのストロークから複数の文字が認識されている場合に、そのストロークから認識された文字が筆記体の文字であると判断する。ストロークが筆記体の文字に対応する場合（ブロックＢ１０５のＹＥＳ）、フォント決定部３０４は、認識された文字に筆記体のフォント（Ｓｃｒｉｐｔ書体のフォント）を適用する（ブロックＢ１１０）。
【００７１】
ストロークが筆記体の文字に対応しない場合（ブロックＢ１０５のＮＯ）、フォント決定部３０４はストロークのペンタイプを検出する（ブロックＢ１０６）。フォント決定部３０４は、ストロークデータに含まれるペンタイプデータを用いてストロークのペンタイプを検出する。そして、フォント決定部３０４は、検出されたペンタイプが、筆圧応答が有効なペンタイプであるか否かを判定する（ブロックＢ１０７）。筆圧応答が有効なペンタイプは、手書き入力時の接触圧力Ｐに応じて線幅が変更されるペンが属するペンタイプであり、例えば、万年筆、毛筆、等が含まれる。一方、筆圧応答が無効なペンタイプは、手書き入力時の接触圧力Ｐに応じて線幅が変更されないペンが属するペンタイプであり、例えば、鉛筆、ボールペン、マーカー、等が含まれる。
【００７２】
検出されたペンタイプが、筆圧応答が有効なペンタイプである場合（ブロックＢ１０７のＹＥＳ）、フォント決定部３０４は、認識された文字に、文字を構成する線の太さが変化する書体のフォントを適用する（ブロックＢ１０８）。また、検出されたペンタイプが、筆圧応答が無効なペンタイプである場合（ブロックＢ１０７のＮＯ）、フォント決定部３０４は、認識された文字に、文字を構成する線の太さが変化しない書体のフォントを適用する（ブロックＢ１０９）。
【００７３】
そして、整形文書生成部３０５及び文書表示処理部３０８は、フォントの適用によって整形された文字を出力（表示）する（ブロックＢ１１１）。例えば、整形文書生成部３０５は、整形された文字を含む整形文書データ４０２Ｃを生成し、文書表示処理部３０８は、生成された整形文書データ４０２Ｃに基づく整形文書を画面に表示する。この整形文書データ４０２Ｃは、例えば、認識された文字に対応する文字コードと、その文字コードの表示に用いられるフォント（書体）とを示すデータを含む。
【００７４】
以上説明したように、本実施形態によれば、手書きの文字に対応するテキストを違和感なく表示することができる。軌跡表示処理部３０１は、手書き入力された１以上の第１ストロークをＬＣＤ１７Ａの画面に表示する。文字認識部３０３、フォント決定部３０４、整形文書生成部３０５、及び文書表示処理部３０８は、１以上の第１ストロークの表示に手書き入力時の圧力が反映されているか否かと、１以上の第１ストロークが筆記体の文字に対応するか否かとの少なくとも一方に基づいて決定される書体を用いて、１以上の第１ストロークの認識結果に対応する１以上の第１文字を表示する。これにより、手書き入力されたストロークから認識されたテキストを、手書き入力時のストローク（文字）の書体に応じた書体で表示し、書体の違いによる違和感が生じないようにすることができる。
【００７５】
なお、本実施形態の手書き文書整形処理の手順は全てソフトウェアによって実行することができる。このため、手書き文書整形処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【００７６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７７】
１７Ａ…ＬＣＤ、２０２…デジタルノートブックアプリケーション、３０１…軌跡表示処理部、３０２…時系列情報生成部、３０３…文字認識部、３０４…フォント決定部、３０５…整形文書生成部、３０６…文書保存処理部、３０７…文書取得処理部、３０８…文書表示処理部、４０１…作業メモリ、４０２…記憶媒体、４０２Ａ…手書き文字辞書データ、４０２Ｂ…手書き文書データ、４０２Ｃ…整形文書データ
【図１】
2015225525.tif 000003
【図２】
2015225525.tif 000004
【図３】
2015225525.tif 000005
【図４】
2015225525.tif 000006
【図５】
2015225525.tif 000007
【図６】
2015225525.tif 000008
【図７】
2015225525.tif 000009
【図８】
2015225525.tif 000010
【図９】
2015225525.tif 000011