JP2014099182A - 電子機器および手書き文書処理方法 - Google Patents

電子機器および手書き文書処理方法 Download PDF

Info

Publication number
JP2014099182A
JP2014099182A JP2013254660A JP2013254660A JP2014099182A JP 2014099182 A JP2014099182 A JP 2014099182A JP 2013254660 A JP2013254660 A JP 2013254660A JP 2013254660 A JP2013254660 A JP 2013254660A JP 2014099182 A JP2014099182 A JP 2014099182A
Authority
JP
Japan
Prior art keywords
character
character codes
line
code
codes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013254660A
Other languages
English (en)
Other versions
JP5717831B2 (ja
Inventor
Chikashi Sugiura
千加志 杉浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013254660A priority Critical patent/JP5717831B2/ja
Publication of JP2014099182A publication Critical patent/JP2014099182A/ja
Application granted granted Critical
Publication of JP5717831B2 publication Critical patent/JP5717831B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Character Input (AREA)
  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】手書き文字を含む手書き文書を、文字コードを含む整形された文書に変換できる電子機器を実現する。
【解決手段】実施形態によれば、電子機器は、取得手段および表示制御手段を具備する。取得手段は、複数の行に対応する複数の手書き文字を含む手書き文書のデータを用いて、前記複数の行に対応する複数の手書き文字の文字コードを取得する。表示制御手段は、第1条件に合致する場合、第1行に対応する複数の第1文字コードと第2行に対応する複数の第2文字コードとを用いて、少なくとも1つの第1文字コードに対応する文字を前記第2行に対応する位置に含むか、または少なくとも1つの第2文字コードに対応する文字を前記第1行に対応する位置に含む第1整形文書データを表示可能である。
【選択図】図5

Description

本発明の実施形態は、手書き文書の処理に関する。
近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連付けられた機能の実行を電子機器に指示することができる。
このような電子機器では、ユーザが、タッチスクリーンディスプレイ上で文字や図形等を手書きするための機能を有するものもある。このような手書きの文字や図形を含む手書き文書(手書きページ)は保存され、必要に応じて閲覧される。
ところで、ノートのような紙のページに手書きされた文字をスキャンすることによって、そのページの画像データを生成し、この画像データを用いて手書きされた文字を認識する光学文字認識(OCR)の技術が利用されている。この技術により、手書きされた文字を文字コードに変換することができる。
特開2003−99713号公報
OCRでは、例えば、スキャンされた手書き文書の左上から順に手書きされた文字が認識され、その文字の文字コードが出力される。そのため、例えば、出力された順に並べられた文字コードが、認識結果として画面に表示される。
しかし、手書き文書上の文字は、例えば、段落や箇条書き、見出しのようなグループとして視認されるように、ユーザによって意図された位置に手書きされることがある。そのため、手書き文書上の文字自体だけではなく、その文字の配置も認識されることが期待される場合がある。
本発明の一形態は、手書き文字を含む手書き文書を、文字コードを含む整形された文書に変換できる電子機器および手書き文書処理方法を提供することを目的とする。
実施形態によれば、電子機器は、取得手段および表示制御手段を具備する。取得手段は、複数の行に対応する複数の手書き文字を含む手書き文書のデータを用いて、前記複数の行に対応する複数の手書き文字の文字コードを取得可能である。表示制御手段は、第1条件に合致する場合、第1行に対応する複数の第1文字コードと第2行に対応する複数の第2文字コードとを用いて、少なくとも1つの第1文字コードに対応する文字を前記第2行に対応する位置に含むか、または少なくとも1つの第2文字コードに対応する文字を前記第1行に対応する位置に含む第1整形文書データを表示可能であり、前記第1条件とは異なる第2条件に合致する場合、前記複数の第1文字コードと前記複数の第2文字コードとを用いて、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示可能である。前記第1条件に合致するか、又は前記第2条件に合致するかの少なくとも一方は、(1)前記第1行の先頭の文字に対応する文字コードと前記第2行の先頭の文字に対応する文字コードとが一致するか相異するか、または、(2)前記第1行の先頭の文字に対応する文字コードと前記第2行の先頭の文字に対応する文字コードとが箇条書きで用いられる記号に対応するか否か、または、(3)横書きの場合に前記第1行の水平方向の位置と前記第2行の水平方向の位置の関係、または、(4)縦書きの場合に前記第1行の垂直方向の位置と前記第2行の垂直方向の位置の関係、または、(5)前記複数の第1文字コードに対応する複数の文字及び前記複数の第2文字コードに対応する複数の文字がソースコードに対応するか否か、または、(6)前記複数の第1文字コードに対応する複数の文字及び前記複数の第2文字コードに対応する複数の文字が数式に対応するか否かの少なくとも1つを用いて定められる。
実施形態に係る電子機器の外観を示す斜視図。 同実施形態の電子機器によって処理される手書き文書の例を示す図。 同実施形態の電子機器によって記憶媒体に保存される、図2の手書き文書に対応する時系列情報を説明するための図。 同実施形態の電子機器のシステム構成を示すブロック図。 同実施形態の電子機器によって実行されるデジタルノートブックアプリケーションプログラムの機能構成を示すブロック図。 手書き文書が文字認識される例を示す図。 同実施形態の電子機器によって、図6の手書き文書が文字コードを含む整形された文書に変換される例を示す図。 図7の手書き文書から認識される行を説明するための図。 図7の手書き文書から認識される文字を説明するための図。 図7の手書き文書から認識されるグループを説明するための図。 表を含む手書き文書が文字認識される例を示す図。 図11の手書き文書から認識されるグループを説明するための図。 同実施形態の電子機器によって、図11の手書き文書が文字コードを含む整形された文書に変換される例を示す図。 同実施形態の電子機器によって実行される手書き入力処理の手順の例を示すフローチャート。 同実施形態の電子機器によって実行される手書き文書変換処理の手順の例を示すフローチャート。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を想定する。タブレットコンピュータ10は、タブレットまたはスレートコンピュータとも称される携帯型電子機器であり、図1に示すように、本体11とタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わせるように取り付けられている。
本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
デジタイザおよびタッチパネルの各々は、フラットパネルディスプレイの画面を覆うように設けられる。このタッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えば電磁誘導ペンであってもよい。
ユーザは、外部オブジェクト(ペン100又は指)を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト(ペン100又は指)の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡(筆跡)がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が1ストロークに相当する。手書きされた文字または図形などに対応する多数のストロークの集合、つまり多数の軌跡(筆跡)の集合が手書き文書を構成する。
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報を含む手書き文書データとして記憶媒体に保存される。この時系列情報の詳細は図3を参照して後述するが、この時系列情報は、概して、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、手書きにより入力可能なある一つのストロークを表現可能なデータであればどのようなものであってもよく、例えば、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
タブレットコンピュータ10は、記憶媒体から既存の任意の手書き文書データを読み出し、この手書き文書データに対応する手書き文書、つまり、時系列情報によって示される複数のストロークそれぞれに対応する軌跡が描画された手書き文書を、画面上に表示することができる。
次いで、図2および図3を参照して、ユーザによって手書きされたストローク(文字、マーク、図形、表など)と時系列情報との関係について説明する。図2は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる手書き文書(手書き文字列)の例を示している。
手書き文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図2においては、「ABC」の手書き文字列が「A」、「B」、「C」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「A」のすぐ近くに手書きされた場合が想定されている。
手書き文字「A」は、ペン100などを使用して手書きされる2つのストローク(「∧」形状の軌跡、「−」形状の軌跡)によって、つまり2つの軌跡によって表現される。最初に手書きされる「∧」形状のペン100の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標SD11、SD12、…SD1nが得られる。同様に、次に手書きされる「−」形状のペン100の軌跡もサンプリングされ、これによって「−」形状のストロークの時系列座標SD21、SD21、…SD2nが得られる。
手書き文字「B」は、ペン100などを使用して手書きされた2つのストローク、つまり2つの軌跡によって表現される。手書き文字「C」は、ペン100などを使用して手書きされた手書きされた1つのストローク、つまり1つの軌跡によって表現される。手書きの「矢印」は、ペン100などを使用して手書きされた2つのストローク、つまり2つの軌跡によって表現される。
図3は、図2の手書き文書に対応する時系列情報200を示している。時系列情報は、複数のストロークデータSD1、SD2、…、SD7を含む。時系列情報200内においては、これらストロークデータSD1、SD2、…、SD7は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べられている。
時系列情報200において、先頭の2つのストロークデータSD1、SD2は、手書き文字「A」の2つのストロークをそれぞれ示している。3番目と4番目のストロークデータSD3、SD4は、手書き文字「B」を構成する2つのストロークをそれぞれ示している。5番目のストロークデータSD5は、手書き文字「C」を構成する1つのストロークを示している。6番目と7番目のストロークデータSD6、SD7は、手書き矢印を構成する2つのストロークをそれぞれ示している。
各ストロークデータは、一つのストロークに対応する座標データ系列(時系列座標)、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいて、複数の座標は、ストロークが書かれた順に時系列に並べられている。例えば、手書き文字「A」に関しては、ストロークデータSD1は、手書き文字「A」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)、つまりn個の座標データSD11、SD12、…SD1nを含む。ストロークデータSD2は、手書き文字「A」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりn個の座標データSD21、SD22、…SD2nを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
各座標データは、対応する軌跡内のある1点に対応するX座標およびY座標を示す。例えば、座標データSD11は、「∧」形状のストロークの始点のX座標(X11)およびY座標(Y11)を示す。SD1nは、「∧」形状のストロークの終点のX座標(X1n)およびY座標(Y1n)を示す。
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Tを含んでいてもよい。手書きされた時点は、絶対時間(例えば、年月日時分秒)またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間(例えば、年月日時分秒)をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Tとして付加してもよい。
このように、各座標データにタイムスタンプ情報Tが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。
各座標データには、筆圧を示す情報(Z)を追加してもよい。
さらに、本実施形態では、上述したように、手書き文書は、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報200として記憶されるので、言語に依存せずに手書きの文字や図形を扱うことができる。よって、本実施形態の時系列情報200の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
図4は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、図4に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ104、BIOS−ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108等を備える。
CPU101は、タブレットコンピュータ10内の各種モジュールの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム(OS)201、および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、デジタルノートブックアプリケーションプログラム202が含まれている。このデジタルノートブックアプリケーションプログラム202は、上述の手書き文書を作成および表示する機能、手書き文書を文字コードを含む整形された文書に変換する機能、等を有している。
また、CPU101は、BIOS−ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ104との通信を実行する機能も有している。
グラフィクスコントローラ104は、本タブレットコンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ104によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて画面イメージを表示する。このLCD17A上にはタッチパネル17Bおよびデジタイザ17Cが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン100が接触される画面上の接触位置および接触位置の動き等はデジタイザ17Cによって検出される。
無線通信デバイス107は、無線LANまたは3G移動通信などの無線通信を実行するように構成されたデバイスである。EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ10を電源オンまたは電源オフする機能を有している。
次に、図5を参照して、デジタルノートブックアプリケーションプログラム202の機能構成について説明する。デジタルノートブックアプリケーションプログラム202は、タッチスクリーンディスプレイ17を用いた手書き入力操作によって入力されるストロークデータを使用することによって、手書き文書の作成、表示、編集等を行う。また、デジタルノートブックアプリケーションプログラム202は、手書き文書を整形する、すなわち、手書き文書内の手書き文字を文字コードに変換し、手書き文書上での文字サイズおよび配置に基づいて構成された整形文書データを生成可能である。
デジタルノートブックアプリケーションプログラム202は、例えば、軌跡表示処理部301、時系列情報生成部302、行認識部303、文字認識部304、文字グループ認識部305、整形文書生成部306、ページ保存処理部307、ページ取得処理部308、文書表示処理部309等を備える。
タッチスクリーンディスプレイ17は、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動(スライド)」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
軌跡表示処理部301および時系列情報生成部302は、タッチスクリーンディスプレイ17によって発生される「タッチ」または「移動(スライド)」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントには、移動先の接触位置の座標が含まれている。したがって、軌跡表示処理部301および時系列情報生成部302は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列を受信することができる。
軌跡表示処理部301は、タッチスクリーンディスプレイ17から座標列を受信し、この座標列に基づいて、ペン100等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ17内のLCD17Aの画面上に表示する。この軌跡表示処理部301により、画面にペン100が接触している間のペン100の軌跡、つまり各ストロークの軌跡がLCD17Aの画面上に描かれる。
時系列情報生成部302は、タッチスクリーンディスプレイ17から出力される上述の座標列を受信し、この座標列に基づいて、図3で詳述したような構造を有する時系列情報(ストロークデータ)を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標およびタイムスタンプ情報は作業メモリ401に一時保存してもよい。
ページ保存処理部307は、生成された時系列情報(作業メモリ401に一時保存された時系列情報)を、手書き文書データとして記憶媒体402に保存する。記憶媒体402は、例えば、タブレットコンピュータ10内のストレージデバイスである。
ページ取得処理部308は、記憶媒体402から既に格納されている任意の手書き文書データを読み出す。読み出された手書き文書データは文書表示処理部309に送られる。文書表示処理部309は、手書き文書データを解析し、この解析結果に基づいて、時系列情報によって示される各ストロークの軌跡を、画面上に手書き文書(手書きページ)として表示する。
上述の構成により、ユーザは、手書きの文字を含む手書き文書を作成および閲覧することができる。
また、作成された手書き文書は、文字認識によって文字コードに変換することもできる。図6は、手書き文書(手書きページ)61が文字認識される例を示す。文字認識によって手書き文書61内の文字は文字コードに変換され、その文字コードが文字認識結果62として出力される。この文字認識結果62では、認識された文字が手書き文書61上での行毎に配置されている。例えば、手書き文書61上の「まとめ」という1行の文字列が、文字認識結果62上でも「まとめ」という1行の文字列(文字コード列)として表示されている。また、例えば、手書き文書61上の「今日の打合せで……下さい。」という一文は、手書き文書61上では複数の行にわたって手書きされている。文字認識結果62上では、この一文は、手書き文書61上での行毎に改行され、一つの文であるにも関わらず途切れた状態で表示されている。
このように、手書き文書61の文字認識だけでは、認識された文字(文字コード)が単に並べられるだけであり、手書き文書61内の文字の位置や大きさ、段落のような構成に関する情報が失われてしまう。そのため、例えば、一つの文が途切れた状態で表示され、文書として利用しづらい可能性がある。また、そのような文書は、ユーザにとっても読みにくいものである可能性が高い。
そのため本実施形態では、図7に示すように、手書き文書61に含まれる手書き文字に対応する文字コードを認識し、さらに、認識された文字コードの配置が整形された文書(以下、整形ページとも称する)63を生成する。すなわち、本実施形態では、手書き文書61を清書した文書を生成する。
整形文書(整形ページ)63では、「2012 03/28」という文字列が、手書き文書61上での位置に対応する位置に配置されている。整形文書63では、手書き文書61における、箇条書きされた2つの項目の先頭の字下げ(インデント)が維持されている。また、整形文書63では、「今日の打合せで……下さい。」という一文が途切れないように、対応する文字が配置されている。さらに、整形文書63では、手書き文書61上での大きさに対応するサイズ(フォントサイズ)で、文字(文字コード)が表示されている。
このように本実施形態では、手書き文書61上での文字の位置や大きさ、文字が属するグループ等の構成に関する情報を失うことなく、整形文書63を生成する。このグループは、例えば、段落、箇条書き、見出し、表、数式のような1つのまとまりとして扱われるべき文字群が属するグループである。
以下では、時系列情報生成部302によって生成された時系列情報を含む手書き文書データを用いて、手書き文書を整形文書に変換する処理について説明する。
まず、行認識部303は、手書き文書のデータに含まれる複数の行を認識する。例えば、行認識部303は、手書き文書データを用いて、手書き文書61上の1以上の手書き文字をそれぞれ含む複数の行を認識する。より具体的には、行認識部303は、手書き文書61上に手書きされた複数のストロークに対応する複数のストロークデータを用いることにより、手書きされたストロークの座標の変化に基づいて、行を認識する。
図8に示す例では、手書き文書61上の8つの行661〜668が認識されている。この手書き文書61のように、手書き文書61内に文字が横書きされる場合、ユーザは、1つの行に属する文字を、手書きページ内の左から右に向かって手書きしていくことが想定される。そのため、行認識部303は、時系列情報(複数のストロークデータ)から、タッチスクリーンディスプレイ17上でのオブジェクト(指またはペン100)の接触位置が、ある行の末尾から次の行の先頭に移動していることを示す座標を検出する。
より具体的には、行認識部303は、手書きされた時刻順の座標データ系列を用いて、X座標(水平方向の座標)が手書き文書61内の右から左へと大きく変化している、連続して手書きされた二つのストロークを検出する。行認識部303は、図8に示した例では、第Nストロークの最後の座標データSD4nと、その第Nストロークに後続する、第(N+1)ストロークの最初の座標データSD51とを用いて、座標データSD4nのX座標と座標データSD51のX座標との差の絶対値がしきい値以上である場合に、第Nストロークまでの1以上のストロークと、第(N+1)ストロークからの1以上のストロークとが、別々の行に属することを検出する。すなわち、第NストロークSD4nまでの行665と、第(N+1)ストロークからの行666とが検出される。
行認識部303は、同様にして、行の切れ目を検出することによって、手書き文書61内の行661〜668を認識する。
次いで、文字認識部304は、認識された複数の行に含まれる複数の手書き文字に対応する文字コードを認識する。つまり、文字認識部304は、複数の行の各々に含まれる手書き文字を文字認識することによって、それら手書き文字を文字コードに変換する。文字認識部304は、各行内の複数のストロークの内の1以上のストロークに対応する文字を認識する。
図9に示すように、手書き文書61上の複数の行661〜668の各々に手書きされた複数のストロークは、認識された文字毎に、対応する1以上のストロークが対応付けられる。つまり、文字認識部304による文字認識の結果、複数のストロークが文字毎のブロック651,652,653,654,……,65nに分割される。例えば、行661に手書きされた「2012 03/28」に対応する複数のストロークは、「2」、「0」、「1」、「2」、「0」、「3」、「2」、および「8」に対応する、文字毎のブロックに分割される。
文字認識部304は、例えば、複数のストロークの内の、1以上のストローク(処理対象のストローク)に対応する1以上のストロークデータを用いて、その1以上のストロークの形状を示す第1特徴量を算出する。そして、文字認識部304は、記憶媒体402に予め格納された文字辞書データを用いて、算出された第1特徴量と類似する特徴量を有する文字を検出する。この文字辞書データでは、例えば、複数の文字と、それら複数の文字に対応する複数の特徴量とが規定されている。したがって、文字認識部304は、文字辞書データに規定された複数の文字から、算出された第1特徴量との類似度がしきい値以上である、第2特徴量を有する文字を認識することによって、処理対象のブロック内の手書き文字を文字コードに変換する。
なお、文字認識部304は、文字辞書データに規定された複数の文字から、第1特徴量との類似度がしきい値以上である特徴量を有する複数の文字候補を検出してもよい。その場合、文字認識部304は、例えば、単語や文字の共起確率等を示す言語辞書データと、処理対象のストロークの近傍のストローク(例えば、処理対象のストロークの左右のストローク)から認識された文字とに基づいて、検出された複数の文字候補から、処理対象のストロークに対して尤もらしい文字(尤度が高い文字)を絞り込む。これにより、文字認識部304は、処理対象のストロークに対応する文字を認識する。
文字認識部304はさらに、認識した文字の大きさに基づいて、文字(文字コード)を表示すべきフォントサイズを算出する。文字認識部304は、例えば、行認識部303によって認識された複数の行の各々に含まれる複数の手書き文字の大きさ(例えば、複数の手書き文字の大きさの平均)に基づいて、その行の複数の文字コードを表示すべきフォントサイズを算出する。なお、文字認識部304は、複数の行の各々に含まれる複数の手書き文字の大きさが第1範囲内に収まっている場合(すなわち、大きさのばらつきが一定の範囲内に収まっている場合)に、複数の手書き文字の大きさの平均を、複数の文字コードを表示すべきフォントサイズに設定してもよい。文字認識部304は、例えば、図9に示した手書き文字「料」655の大きさと手書き文字「て」656の大きさとが第1範囲内に収まっていると判定し、これらの文字655,656に関連付ける1つのフォントサイズを算出する。
より具体的には、文字認識部304は、行認識部303によって認識された複数の行の内の第1行に含まれる複数の第1手書き文字の大きさに基づいて、第1フォントサイズを算出する。また、文字認識部304は、複数の行の内の第2行に含まれる複数の第2手書き文字の大きさに基づいて、第2フォントサイズを算出する。このような処理によって、文字認識部304は、文字コードを表示すべきフォントサイズを決定する。なお、文字認識部304は、行毎ではなく、後述するグループ毎にフォントサイズを決定してもよい。
次いで、文字グループ認識部305および整形文書生成部306は、手書き文書61内の構成を示すグループを認識し、認識されたグループに基づいて配置された文字コード(文字認識部304によって認識された文字コード)を含む整形文書データを生成する。文字グループ認識部305および整形文書生成部306は、例えば、行認識部303によって認識された複数の行の内の第1行と、当該第1行に後続する第2行とが第1条件を満たす場合に、第1行に対応する複数の第1文字コードと第2行に対応する複数の第2文字コードとを用いて、少なくとも1つの第1文字コードに対応する文字を第2行に対応する位置に含むか、または少なくとも1つの第2文字コードに対応する文字を第1行に対応する位置に含む第1整形文書データを生成可能である。したがって例えば、文字グループ認識部305および整形文書生成部306は、第1行と第2行とが第1条件を満たす場合、複数の第1文字コードと複数の第2文字コードとの間に改行コードを挿入せずに、第1整形文書データを生成する。また、文字グループ認識部305および整形文書生成部306は、第1行と第2行とが第1条件を満たさない場合、複数の第1文字コードと複数の第2文字コードとを用いて、複数の第1文字コードに対応する複数の文字を第1行に対応する位置に含み、複数の第2文字コードに対応する複数の文字を第2行に対応する位置に含む第2整形文書データを生成可能である。したがって例えば、文字グループ認識部305および整形文書生成部306は、第1行と第2行とが第1条件を満たさない場合、複数の第1文字コードと複数の第2文字コードとの間に改行コードを挿入して、第2整形文書データを生成する。
より具体的には、文字グループ認識部305は、行認識部303によって認識された複数の行と、文字認識部304によって認識された複数の文字(文字コード)とに基づいて、手書き文書61内の構成を示すグループを認識する。このグループは、例えば、段落、箇条書き、見出し、表、数式等の1つのまとまりとして扱われるべき文字群が属するグループである。
例えば、文字グループ認識部305は、認識された複数の行の内の第1行と、当該第1行に後続する第2行とが第1条件を満たす場合に、それら第1行と第2行とが一つの段落のグループに含まれることを認識し、また、第1行と第2行とが第1条件を満たさない場合に、それら第1行と第2行とが一つの段落のグループに含まれないこと(別々の段落グループであること)を認識する。
この第1条件は、例えば、手書き文書61において第1行の水平方向の位置と第2行の水平方向の位置とが揃っていること、である。文字グループ認識部305は、例えば、手書き文書61における、第1行(例えば、第1行の先頭の文字)の水平方向の位置(X座標)と、第2行(例えば、第2行の先頭の文字)の水平方向の位置(X座標)との差がしきい値未満である場合に、第1行と第2行とが一つの段落グループに含まれることを認識する。そして、文字グループ認識部305は、第1行の水平方向の位置(X座標)と、第2行の水平方向の位置(X座標)との差がしきい値以上である場合に、第1行と第2行とが一つの段落グループに含まれないことを認識する。
文字グループ認識部305および整形文書生成部306は、さらに、箇条書きを含む手書き文書を整形文書に変換することもできる。文字グループ認識部305および整形文書生成部306は、例えば、手書き文書内の第1行に対応する複数の第1文字コードの内の先頭の文字コードと、第1行に後続する第2行に対応する複数の第2文字コードの内の先頭の文字コードとが、特定の文字コード(第3文字コード)である場合、複数の第1文字コードと複数の第2文字コードとを用いて、複数の第1文字コードに対応する複数の文字を第1行に対応する位置に含み、複数の第2文字コードに対応する複数の文字を第2行に対応する位置に含む第2整形文書データを生成する。また、文字グループ認識部305および整形文書生成部306は、複数の第1文字コードの内の先頭の文字コードと、複数の第2文字コードの内の先頭の文字コードとが、第3文字コードでない場合、複数の第1文字コードと複数の第2文字コードとを用いて、複数の第1文字コードの内の少なくとも1つの文字コードに対応する文字を第2行に対応する位置に含むか、または複数の第2文字コードの内の少なくとも1つの文字コードに対応する文字を第1行に対応する位置に含む第3整形文書データを生成する。
より具体的には、文字グループ認識部305は、認識された段落グループが、箇条書きを構成する複数の行を含むグループであることをさらに認識する。文字グループ認識部305は、例えば、手書き文書61において、複数の行の内の第1行の先頭の文字の文字コードと、この第1行に後続する第2行の先頭の文字の文字コードとが特定の文字コード(第3文字コード)である場合に、それら第1行と第2行とが1つの箇条書きのグループに含まれることを認識する。また、文字グループ認識部305は、第1行の先頭の文字の文字コードと第2行の先頭の文字の文字コードとが特定の文字コードでない場合に、それら第1行と第2行とが1つの箇条書きのグループに含まれないことを認識する。この特定の文字は、例えば、「・」、「□」、「〇」のような、箇条書きで用いられることが規定された記号や文字に対応する文字コードである。
図10は、手書き文書61において認識されたグループ671〜674を示す。
文字グループ認識部305は、図8に示した行661に対応する文字列「2012 03/28」の先頭の文字「2」のX座標と、行662に対応する文字列「まとめ」の先頭の文字「ま」のX座標との差(差の絶対値)がしきい値以上であるので、行661と行662とを別々の段落グループ671,672として認識している。また、文字グループ認識部305は、図8に示した行665に対応する文字列「今日の…」、行666に対応する文字列「決まった…」、行667に対応する文字列「の準備…」、および行668に対応する文字列「さい。」の先頭の文字同士のX座標の差(差の絶対値)がしきい値未満であるので、それら行665,666,667,668を一つの段落グループ674として認識している。これにより、文字グループ認識部305は、手書き文書61内の段落に対応する段落グループ674を認識することができる。
さらに、文字グループ認識部305は、図8に示した行663の先頭の文字の文字コード「□」と、行664の先頭の文字の文字コード「□」とが特定の文字コードであるので、それら行663,664を一つの箇条書きのグループ673として認識している。これにより、文字グループ認識部305は、手書き文書61内の箇条書きに対応するグループ673を認識することができる。
整形文書生成部306は、文字グループ認識部305によって認識されたグループに基づいて、文字認識部304によって認識された複数の文字(文字コード)が配置された整形文書データを生成する。整形文書生成部306は、認識された文字コードが、認識されたグループ671〜674の手書き文書61上での位置に基づいて整形文書63上に配置された整形文書データを生成する。整形文書生成部306は、この整形文書データにおいて、例えば、段落グループ内の複数の行の行間に改行コードを挿入せず、箇条書きグループ内の複数の行の行間に改行コードを挿入し、認識されたグループ間に改行コードを挿入する。
また、整形文書生成部306は、整形文書データに含まれる文字コードに、文字認識部304によって算出されたフォントサイズを関連付ける。例えば、整形文書生成部306は、生成される整形文書データにおいて、認識された複数の行の内の第1行に対応する複数の第1文字コードに第1フォントサイズを関連付け、第2行に対応する複数の第2文字コードに第2フォントサイズを関連付ける。これにより、整形文書63において、手書き文書61上での文字の大きさに基づくフォントサイズで、対応する文字コードを表示することができる。
図7に示したように、整形文書生成部306は、認識されたグループ671〜674の手書き文書61上での位置に基づいて、認識された文字コードを整形文書63上に配置する。整形文書生成部306は、手書き文書61上の段落グループ671の位置に対応する整形文書63上の位置に、「2012 03/28」という文字コード列を配置している。整形文書生成部306は、手書き文書61上の段落グループ672の位置に対応する整形文書63上の位置に、「まとめ」という文字コード列を配置している。また、整形文書生成部306は、手書き文書61上のグループ673の位置に対応する整形文書63上の位置に、「□」で示された2つの項目を含む箇条書きに対応する文字コード列を配置している。その際、整形文書生成部306は、箇条書きグループ673に含まれる2つの行の間に改行コードを挿入し、それら2つの行の先頭の文字コードの位置が揃うように(すなわち、2つの項目の先頭のインデントが維持されるように)、各行の先頭に同数の空白(空白文字の文字コード)を挿入している。
さらに、整形文書生成部306は、手書き文書61上の段落グループ674の位置に対応する整形文書63上の位置に、「今日の打合せで……下さい。」という文字コード列を配置している。整形文書生成部306は、手書き文書61上での4行の文字列に対応する4つの文字コード列が1つの段落グループ674に含まれるので、それら4つの文字コード列の間に改行コードを挿入していない。これにより、整形文書63では、「今日の打合せで……下さい。」という一文が途切れないように、対応する文字コードを配置することができる。
ページ保存処理部307は、生成された整形文書データを記憶媒体402に保存する。
ページ取得処理部308は、記憶媒体402から既に格納されている任意の整形文書データを読み出す。読み出された整形文書データは文書表示処理部309に送られる。文書表示処理部309は、整形文書データを解析し、この解析結果に基づいて、関連付けられたフォントサイズで、文字コードによって示される文字が配置された整形文書(整形ページ)を画面上に表示する。
次いで、図11、図12及び図13を参照して、手書き文書が手書きの表を含む場合について説明する。
図11は、手書きの表711を含む手書き文書71が文字認識される例を示す。この手書きの表711では、表を明示する縦線および横線は手書きされていないが、複数の項目が垂直方向および水平方向に揃えて配置されることによって、4行×4列の表が示されている。
文字認識のみでは、手書き文書71内の文字は、表711のようなグループが考慮されることなく文字コードに変換され、その文字コードが文字認識結果72として出力される。この文字認識結果72では、認識された文字が手書き文書71上での行毎に配置されている。
例えば、手書き文書71上では、「6月」、「7月」および「8月」という文字列は、表711内の3つの列にそれぞれ手書きされている。しかし、文字認識結果72上では、表711内の列が考慮されることなく、3つの列内の文字列が「6月7月8月」という連続した文字列として表示されている。
図6に示した例と同様に、手書き文書71の文字認識だけでは、認識された文字(文字コード)が単に並べられるだけであるので、例えば、表711内の項目が連結された状態で表示されてしまう。つまり、表711の構成に関する情報が失われてしまう。
そのため、文字グループ認識部305は、手書き文書71に含まれる表711のグループを認識する。以下の説明では、行認識部303および文字認識部304によって、手書き文書71内の行および文字が認識済みであることを想定する。
文字グループ認識部305は、行認識部303によって認識された複数の行の各々で、複数の手書き文字列間の空白を検出する。例えば、文字グループ認識部305は、手書き文書71内の「6月 7月 8月」を含む行において、「6月」と「7月」との間の空白と、「7月」と「8月」との間の空白とを検出する。そして、文字グループ認識部305は、検出された空白が、複数の行にまたがって同様の水平方向の位置にあるかどうかを検出する。例えば、文字グループ認識部305は、「6月」と「7月」との間の空白(第1空白)の水平方向の位置と、「4こ」と「10こ」との間の空白(第2空白)の水平方向の位置とが、所定の範囲(第1範囲)内に収まっている場合に、「6月」と「4こ」とが第1の列内にあることを認識し、「7月」と「10こ」とが第2の列内にあることを認識する。より具体的には、文字グループ認識部305は、第1空白の左端のX座標と第2空白の左端のX座標との差の絶対値がしきい値以内であり、且つ第1空白の右端のX座標と第2空白の右端のX座標との差の絶対値がしきい値以内である場合に、「6月」と「4こ」とが第1の列内にあることを認識し、「7月」と「10こ」とが第2の列内にあることを認識する。
したがって、図12に示すように、手書き文書71内の表711では、各行内の空白73Sの位置が、複数の行にわたって所定の範囲内に収まっているので、表711内の列73A,73B,73C,73Dが認識される。これにより、文字グループ認識部305は、手書き文書71内の表のグループ73を認識することができる。
整形文書生成部306は、手書き文書71上の表のグループ73の位置に対応する整形文書(整形ページ)74上の位置に、表711内の手書き文字から認識された文字コードが配置された整形文書データを生成する。整形文書生成部306は、表のグループ73内の列73A,73B,73C,73Dの位置に基づいて、列毎に、表711内の文字(文字列)に対応する文字コードを同一の水平方向の位置に(すなわち、列毎の複数の項目の左端を揃えて)配置する。
図13に示すように、整形文書74では、手書きの表711内の項目が、列を考慮して配置されている。例えば、表711において同じ列73Bに属する「6月」、「4こ」、「6本」、および「11本」という項目の先頭が揃えて配置されている。これにより、手書きの表711の構成に関する情報が失われることなく、手書き文書71から整形文書74を生成することができる。
本実施形態ではさらに、数式やプログラムのソースコードを含む手書き文書を整形文書に変換してもよい。数式やプログラムのソースコードでは、手書き文書上での行の構造が変更されてしまうと、数式やプログラムの内容(解釈)が変化する可能性がある。そのため、数式やプログラムのソースコードでは、手書き文書上での行が維持されることが望ましい。
文字グループ認識部305は、例えば、手書き文書に含まれる複数の行の内の第1行に対応する複数の第1文字コードに、所定の数学記号の文字コードが含まれる場合、その第1行を一つの数式のグループとして認識する。整形文書生成部306は、手書き文書上での数式のグループの位置に対応する整形文書上の位置に、その数式のグループに対応する複数の文字コードが配置された整形文書データを生成する。したがって例えば、整形文書生成部306は、複数の第1文字コードに、所定の数学記号の文字コードが含まれる場合、複数の第1文字コードに対応する複数の文字を第1行に対応する位置に含み、第1行に後続する第2行に対応する複数の第2文字コードに対応する複数の文字を第2行に対応する位置に含む整形文書データ(第2整形文書データ)を生成する。整形文書生成部306は、例えば、この整形文書データにおいて、第1行に対応する複数の第1文字コードと、この第1行に後続する第2行に対応する複数の第2文字コードとの間に改行コードを挿入する。
また、文字グループ認識部305は、例えば、所定のプログラム言語の記述に関する仕様を示す記述仕様データを用いて、手書き文書に含まれる複数の行の内の第1行に対応する複数の文字コードが、プログラムのソースコードであるかどうかを判定する。この記述仕様データでは、例えば、その所定のプログラミング言語でソースコードを記述するために用いられる記号(記号の文字コード)や、文字列(例えば、クラス、メソッド、データ型、関数等として用いられる名称に対応する文字コード)などが規定されている。この記述仕様データは、例えば、記憶媒体402内に予め格納されている。文字グループ認識部305は、その複数の文字コードがプログラムのソースコードである場合、その第1行を一つのソースコードのグループとして認識する。整形文書生成部306は、手書き文書上でのソースコードのグループの位置に対応する整形文書上の位置に、そのソースコードのグループに対応する複数の文字コードが配置された整形文書データを生成する。したがって例えば、整形文書生成部306は、複数の第1文字コードがプログラムのソースコードである場合、複数の第1文字コードに対応する複数の文字を第1行に対応する位置に含み、第1行に後続する第2行に対応する複数の第2文字コードに対応する複数の文字を第2行に対応する位置に含む整形文書データ(第2整形文書データ)を生成する。整形文書生成部306は、この整形文書データにおいて、例えば、第1行に対応する複数の第1文字コードと、この第1行に後続する第2行に対応する複数の第2文字コードとの間に改行コードを挿入する。
以上により、数式やプログラムのソースコードを含む手書き文書では、数式やプログラムのソースコードの手書き文書上での行が維持された整形文書データを生成することができる。
上述の説明では、複数の文字が水平方向に手書きされる横書きの文書での処理について述べたが、複数の文字が垂直方向に手書きされる縦書きの文書にも、上述の処理を適用することができる。その場合、行認識部303は、手書き文書から縦書きの行を認識する。文字認識部304は、認識された縦書きの行に含まれる手書き文字を文字コードに変換する。そして、文字グループ認識部305および整形文書生成部306は、認識された縦書きの行と文字コードとを用いて、縦書きの手書き文書の構成を示すグループを認識し、認識されたグループに基づいて配置された文字コードを含む整形文書データ(縦書きの整形文書データ)を生成する。
さらに、上述の説明では、時系列情報(ストロークデータ)を含む手書き文書データが整形文書データに変換される例について述べたが、紙のページに印刷された文字または手書きされた文字をスキャンすることによって、そのページの画像データを生成し、この画像データを整形文書データに変換してもよい。行認識部303は、画像データを用いて、画像上の複数の行を認識する。文字認識部304は、画像データを用いて、認識された複数の行に含まれる手書き文字を文字コードに変換する。そして、文字グループ認識部305および整形文書生成部306は、画像(手書き文書)内の構成を示すグループを認識し、認識されたグループに基づいて配置された文字コードを含む整形文書データを生成する。
次いで、図14を参照して、デジタルノートブックアプリケーション202によって実行される手書き入力処理の手順の例について説明する。
まず、軌跡表示処理部301は、手書き入力操作によるペン100等の動きの軌跡(ストローク)をディスプレイ17Aに表示する(ブロックB11)。また、時系列情報生成部302は、手書き入力操作による軌跡に対応する座標列に基づいて上述の時系列情報(時系列順に並べられた複数のストロークデータ)を生成する(ブロックB12)。時系列情報生成部302は、その時系列情報を作業メモリ401に一時保存してもよい。また、ページ保存処理部307は、時系列情報生成部302によって生成された時系列情報(作業メモリ401に一時保存された時系列情報)を手書き文書データとして記憶媒体に保存してもよい。
また、図15は、デジタルノートブックアプリケーション202によって実行される手書き文書変換処理の手順の例を示す。
まず、行認識部303は、生成された時系列情報(手書き文書データ)を用いて、複数のストロークから複数の行を認識する(ブロックB21)。また、文字認識部303は、複数のストロークから複数の文字を認識する(ブロックB22)。例えば、文字認識部303は、手書き文字それぞれを文字コードに変換する。この文字認識によって、複数のストロークが文字毎のブロックに分割される。
次いで、グループ認識部305は、認識された行と文字とに基づいて、段落や箇条書き、見出し、表、数式のような文字のグループを認識する(ブロックB23)。そして、整形文書生成部306は、認識されたグループに基づいて文字(文字コード)が配置された整形ページを生成する(ブロックB24)。
以上説明したように、本実施形態によれば、手書き文字を含む手書き文書を、文字コードを含む整形された文書に変換することができる。行認識部303は、手書き文書データを用いて、手書き文書61上の複数の手書き文字をそれぞれ含む複数の行を認識する。文字認識部304は、認識された複数の行の各々に含まれる複数の手書き文字を複数の文字コードに変換する。そして、文字グループ認識部305および整形文書生成部306は、手書き文書61内の構成を示すグループを認識し、認識されたグループに基づいて配置された文字コードを含む整形文書データを生成する。
これにより、デジタルノートなどの機器で手書きした文字を含む手書き文書から、ドキュメントファイル(整形文書データ)への変換(清書)を、手書きによって示した構成(文字の大きさや段組みの位置など)を損なうことなく、またユーザが何等作業を行うことなく実現することができる。
なお、図14および図15のフローチャートで説明した本実施形態の処理手順は全てソフトウェアによって実行することができる。このため、この処理手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
17A…LCD、202…デジタルノートブックアプリケーション、301…軌跡表示処理部、302…時系列情報生成部、303…行認識部、304…文字認識部、305…文字グループ認識部、306…整形文書生成部、307…ページ保存処理部、308…ページ取得処理部、309…文書表示処理部、401…作業メモリ、402…記憶媒体

Claims (24)

  1. 複数の行に対応する複数の手書き文字を含む手書き文書のデータを用いて、前記複数の行に対応する複数の手書き文字の文字コードを取得可能な取得手段と、
    第1条件に合致する場合、第1行に対応する複数の第1文字コードと第2行に対応する複数の第2文字コードとを用いて、少なくとも1つの第1文字コードに対応する文字を前記第2行に対応する位置に含むか、または少なくとも1つの第2文字コードに対応する文字を前記第1行に対応する位置に含む第1整形文書データを表示可能であり、
    前記第1条件とは異なる第2条件に合致する場合、前記複数の第1文字コードと前記複数の第2文字コードとを用いて、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示可能である表示制御手段とを具備し、
    前記第1条件に合致するか、又は前記第2条件に合致するかの少なくとも一方は、(1)前記第1行の先頭の文字に対応する文字コードと前記第2行の先頭の文字に対応する文字コードとが一致するか相異するか、または、(2)前記第1行の先頭の文字に対応する文字コードと前記第2行の先頭の文字に対応する文字コードとが箇条書きで用いられる記号に対応するか否か、または、(3)横書きの場合に前記第1行の水平方向の位置と前記第2行の水平方向の位置の関係、または、(4)縦書きの場合に前記第1行の垂直方向の位置と前記第2行の垂直方向の位置の関係、または、(5)前記複数の第1文字コードに対応する複数の文字及び前記複数の第2文字コードに対応する複数の文字がソースコードに対応するか否か、または、(6)前記複数の第1文字コードに対応する複数の文字及び前記複数の第2文字コードに対応する複数の文字が数式に対応するか否かの少なくとも1つを用いて定められる電子機器。
  2. 前記表示制御手段は、
    前記第1行の水平方向の位置と前記第2行の水平方向の位置との差が前記しきい値未満である場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入せず、
    前記第1行の水平方向の位置と前記第2行の水平方向の位置との差が前記しきい値以上である場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入する請求項1記載の電子機器。
  3. 前記表示制御手段は、
    前記複数の第1文字コードの内の先頭の文字コードと、前記複数の第2文字コードの内の先頭の文字コードとが、前記第3文字コードである場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入し、
    前記複数の第1文字コードの内の先頭の文字コードと、前記複数の第2文字コードの内の先頭の文字コードとが、前記第3文字コードでない場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入しない請求項1記載の電子機器。
  4. 前記表示制御手段は、さらに、前記第1行内の第1空白の水平方向の位置と、前記第2行内の第2空白の水平方向の位置とが第1範囲内に収まっている場合、前記複数の第1文字コードの内の、前記第1空白に後続する文字の文字コードと、前記複数の第2文字コードの内の、前記第2空白に後続する文字の文字コードとが、同一の水平方向の位置に配置された第1整形文書データを表示可能である請求項1記載の電子機器。
  5. 前記取得手段は、さらに、前記第1行内の複数の第1手書き文字の大きさに基づく第1フォントサイズを決定し、前記第2行内の複数の第2手書き文字の大きさに基づく第2フォントサイズを決定し、
    前記表示制御手段は、前記複数の第1文字コードに前記第1フォントサイズが関連付けられ、前記複数の第2文字コードに前記第2フォントサイズが関連付けられた前記第1整形文書データを表示可能である請求項1記載の電子機器。
  6. 前記表示制御手段は、さらに、前記複数の第1文字コードに所定の数学記号の文字コードが含まれる場合、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示可能である請求項1記載の電子機器。
  7. 前記表示制御手段は、さらに、所定のプログラム言語の記述に関する仕様を示すデータを用いて、前記複数の第1文字コードがプログラムのソースコードであるか否かを判定し、前記複数の第1文字コードがプログラムのソースコードである場合、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示可能である請求項1記載の電子機器。
  8. タッチスクリーンディスプレイをさらに具備し、
    前記手書き文書のデータは、前記タッチスクリーンディスプレイを用いた手書き入力操作に基づく複数のストロークに対応する複数のストロークデータを含む請求項1記載の電子機器。
  9. 複数の行に対応する複数の手書き文字を含む手書き文書のデータを用いて、前記複数の行に対応する複数の手書き文字の文字コードを取得し、
    第1条件に合致する場合、第1行に対応する複数の第1文字コードと第2行に対応する複数の第2文字コードとを用いて、少なくとも1つの第1文字コードに対応する文字を前記第2行に対応する位置に含むか、または少なくとも1つの第2文字コードに対応する文字を前記第1行に対応する位置に含む第1整形文書データを表示し、
    前記第1条件とは異なる第2条件に合致する場合、前記複数の第1文字コードと前記複数の第2文字コードとを用いて、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示し、
    前記第1条件に合致するか、又は前記第2条件に合致するかの少なくとも一方は、(1)前記第1行の先頭の文字に対応する文字コードと前記第2行の先頭の文字に対応する文字コードとが一致するか相異するか、または、(2)前記第1行の先頭の文字に対応する文字コードと前記第2行の先頭の文字に対応する文字コードとが箇条書きで用いられる記号に対応するか否か、または、(3)横書きの場合に前記第1行の水平方向の位置と前記第2行の水平方向の位置の関係、または、(4)縦書きの場合に前記第1行の垂直方向の位置と前記第2行の垂直方向の位置の関係、または、(5)前記複数の第1文字コードに対応する複数の文字及び前記複数の第2文字コードに対応する複数の文字がソースコードに対応するか否か、または、(6)前記複数の第1文字コードに対応する複数の文字及び前記複数の第2文字コードに対応する複数の文字が数式に対応するか否かの少なくとも1つを用いて定められる方法。
  10. 前記第1整形文書データを表示することは、前記第1行の水平方向の位置と前記第2行の水平方向の位置とが前記しきい値未満である場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入せず、
    前記第2整形文書データを表示することは、前記第1行の水平方向の位置と前記第2行の水平方向の位置とが前記しきい値以上である場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入する請求項9記載の方法。
  11. 前記第2整形文書データを表示することは、前記複数の第1文字コードの内の先頭の文字コードと、前記複数の第2文字コードの内の先頭の文字コードとが、前記第3文字コードである場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入し、
    前記第1整形文書データを表示することは、前記複数の第1文字コードの内の先頭の文字コードと、前記複数の第2文字コードの内の先頭の文字コードとが、前記第3文字コードでない場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入しない請求項9記載の方法。
  12. 前記第1整形文書データを表示することは、さらに、前記第1行内の第1空白の水平方向の位置と、前記第2行内の第2空白の水平方向の位置とが第1範囲内に収まっている場合、前記複数の第1文字コードの内の、前記第1空白に後続する文字の文字コードと、前記複数の第2文字コードの内の、前記第2空白に後続する文字の文字コードとが、同一の水平方向の位置に配置された第1整形文書データを表示する請求項9記載の方法。
  13. 前記取得することは、さらに、前記第1行内の複数の第1手書き文字の大きさに基づく第1フォントサイズを決定し、前記第2行内の複数の第2手書き文字の大きさに基づく第2フォントサイズを決定し、
    前記第1整形文書データを表示することは、前記複数の第1文字コードに前記第1フォントサイズが関連付けられ、前記複数の第2文字コードに前記第2フォントサイズが関連付けられた前記第1整形文書データを表示する請求項9記載の方法。
  14. 前記第2整形文書データを表示することは、さらに、前記複数の第1文字コードに所定の数学記号の文字コードが含まれる場合、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示する請求項9記載の方法。
  15. 前記第2整形文書データを表示することは、さらに、所定のプログラム言語の記述に関する仕様を示すデータを用いて、前記複数の第1文字コードがプログラムのソースコードであるか否かを判定し、前記複数の第1文字コードがプログラムのソースコードである場合、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示する請求項9記載の方法。
  16. 前記手書き文書のデータは、タッチスクリーンディスプレイを用いた手書き入力操作に基づく複数のストロークに対応する複数のストロークデータを含む請求項9記載の方法。
  17. コンピュータにより実行されるプログラムであって、前記プログラムは、
    複数の行に対応する複数の手書き文字を含む手書き文書のデータを用いて、前記複数の行に対応する複数の手書き文字の文字コードを取得する手順と、
    第1条件に合致する場合、第1行に対応する複数の第1文字コードと第2行に対応する複数の第2文字コードとを用いて、少なくとも1つの第1文字コードに対応する文字を前記第2行に対応する位置に含むか、または少なくとも1つの第2文字コードに対応する文字を前記第1行に対応する位置に含む第1整形文書データを表示する手順と、
    前記第1条件とは異なる第2条件に合致する場合、前記複数の第1文字コードと前記複数の第2文字コードとを用いて、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示する手順とを前記コンピュータに実行させ、
    前記第1条件に合致するか、又は前記第2条件に合致するかの少なくとも一方は、(1)前記第1行の先頭の文字に対応する文字コードと前記第2行の先頭の文字に対応する文字コードとが一致するか相異するか、または、(2)前記第1行の先頭の文字に対応する文字コードと前記第2行の先頭の文字に対応する文字コードとが箇条書きで用いられる記号に対応するか否か、または、(3)横書きの場合に前記第1行の水平方向の位置と前記第2行の水平方向の位置の関係、または、(4)縦書きの場合に前記第1行の垂直方向の位置と前記第2行の垂直方向の位置の関係、または、(5)前記複数の第1文字コードに対応する複数の文字及び前記複数の第2文字コードに対応する複数の文字がソースコードに対応するか否か、または、(6)前記複数の第1文字コードに対応する複数の文字及び前記複数の第2文字コードに対応する複数の文字が数式に対応するか否かの少なくとも1つを用いて定められるプログラム。
  18. 前記第1整形文書データを表示する手順は、前記第1行の水平方向の位置と前記第2行の水平方向の位置との差が前記しきい値未満である場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入せず、
    前記第2整形文書データを表示する手順は、前記第1行の水平方向の位置と前記第2行の水平方向の位置との差が前記しきい値以上である場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入する請求項17記載のプログラム。
  19. 前記第2整形文書データを表示する手順は、前記複数の第1文字コードの内の先頭の文字コードと、前記複数の第2文字コードの内の先頭の文字コードとが、前記第3文字コードである場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入し、
    前記第1整形文書データを表示する手順は、前記複数の第1文字コードの内の先頭の文字コードと、前記複数の第2文字コードの内の先頭の文字コードとが、前記第3文字コードでない場合、前記複数の第1文字コードと前記複数の第2文字コードとの間に改行コードを挿入しない請求項17記載のプログラム。
  20. 前記第1整形文書データを表示する手順は、さらに、前記第1行内の第1空白の水平方向の位置と、前記第2行内の第2空白の水平方向の位置とが第1範囲内に収まっている場合、前記複数の第1文字コードの内の、前記第1空白に後続する文字の文字コードと、前記複数の第2文字コードの内の、前記第2空白に後続する文字の文字コードとが、同一の水平方向の位置に配置された前記第1整形文書データを表示する請求項17記載のプログラム。
  21. 前記取得する手順は、さらに、前記第1行内の複数の第1手書き文字の大きさに基づく第1フォントサイズを決定し、前記第2行内の複数の第2手書き文字の大きさに基づく第2フォントサイズを決定し、
    前記第1整形文書データを表示する手順は、前記複数の第1文字コードに前記第1フォントサイズが関連付けられ、前記複数の第2文字コードに前記第2フォントサイズが関連付けられた前記第1整形文書データを表示する請求項17記載のプログラム。
  22. 前記第2整形文書データを表示する手順は、さらに、前記複数の第1文字コードに所定の数学記号の文字コードが含まれる場合、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示する請求項17記載のプログラム。
  23. 前記第2整形文書データを表示する手順は、さらに、所定のプログラム言語の記述に関する仕様を示すデータを用いて、前記複数の第1文字コードがプログラムのソースコードであるか否かを判定し、前記複数の第1文字コードがプログラムのソースコードである場合、前記複数の第1文字コードに対応する複数の文字を前記第1行に対応する位置に含み、前記複数の第2文字コードに対応する複数の文字を前記第2行に対応する位置に含む第2整形文書データを表示する請求項17記載のプログラム。
  24. 前記コンピュータは、タッチスクリーンディスプレイをさらに具備し、
    前記手書き文書のデータは、前記タッチスクリーンディスプレイを用いた手書き入力操作に基づく複数のストロークに対応する複数のストロークデータを含む請求項17記載のプログラム。
JP2013254660A 2013-12-10 2013-12-10 電子機器および手書き文書処理方法 Active JP5717831B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013254660A JP5717831B2 (ja) 2013-12-10 2013-12-10 電子機器および手書き文書処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013254660A JP5717831B2 (ja) 2013-12-10 2013-12-10 電子機器および手書き文書処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012236690A Division JP5701839B2 (ja) 2012-10-26 2012-10-26 電子機器および方法

Publications (2)

Publication Number Publication Date
JP2014099182A true JP2014099182A (ja) 2014-05-29
JP5717831B2 JP5717831B2 (ja) 2015-05-13

Family

ID=50941091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013254660A Active JP5717831B2 (ja) 2013-12-10 2013-12-10 電子機器および手書き文書処理方法

Country Status (1)

Country Link
JP (1) JP5717831B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045637A (ja) * 2014-08-21 2016-04-04 富士ゼロックス株式会社 文書処理装置及びプログラム。
WO2017069001A1 (ja) * 2015-10-19 2017-04-27 国立大学法人東京農工大学 プログラム、情報記憶媒体及び情報処理装置
CN108027876A (zh) * 2015-07-10 2018-05-11 迈思慧公司 用于识别多个对象输入的系统及其方法和产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62159280A (ja) * 1986-01-07 1987-07-15 Toshiba Corp 文章入力装置
JPH01130291A (ja) * 1987-11-16 1989-05-23 Canon Inc 文字処理方法及び装置
JPH02136956A (ja) * 1988-11-18 1990-05-25 Fuji Electric Co Ltd レイアウト情報の抽出方法
JPH09167246A (ja) * 1995-12-14 1997-06-24 Canon Inc 画像処理方法及び装置
JP2001101179A (ja) * 1999-09-30 2001-04-13 Brother Ind Ltd データ処理装置、データ処理方法および記録媒体
JP2002175498A (ja) * 2000-09-29 2002-06-21 Japan Science & Technology Corp 文字認識方法、文字認識プログラム、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置
JP2007095102A (ja) * 2006-12-25 2007-04-12 Toshiba Corp 文書処理装置および文書処理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62159280A (ja) * 1986-01-07 1987-07-15 Toshiba Corp 文章入力装置
JPH01130291A (ja) * 1987-11-16 1989-05-23 Canon Inc 文字処理方法及び装置
JPH02136956A (ja) * 1988-11-18 1990-05-25 Fuji Electric Co Ltd レイアウト情報の抽出方法
JPH09167246A (ja) * 1995-12-14 1997-06-24 Canon Inc 画像処理方法及び装置
JP2001101179A (ja) * 1999-09-30 2001-04-13 Brother Ind Ltd データ処理装置、データ処理方法および記録媒体
JP2002175498A (ja) * 2000-09-29 2002-06-21 Japan Science & Technology Corp 文字認識方法、文字認識プログラム、文字認識プログラムを記録したコンピュータ読み取り可能な記録媒体及び文字認識装置
JP2007095102A (ja) * 2006-12-25 2007-04-12 Toshiba Corp 文書処理装置および文書処理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016045637A (ja) * 2014-08-21 2016-04-04 富士ゼロックス株式会社 文書処理装置及びプログラム。
CN108027876A (zh) * 2015-07-10 2018-05-11 迈思慧公司 用于识别多个对象输入的系统及其方法和产品
JP2018524734A (ja) * 2015-07-10 2018-08-30 マイスクリプト 複数のオブジェクトの入力を認識するためのシステムならびにそのための方法および製品
WO2017069001A1 (ja) * 2015-10-19 2017-04-27 国立大学法人東京農工大学 プログラム、情報記憶媒体及び情報処理装置

Also Published As

Publication number Publication date
JP5717831B2 (ja) 2015-05-13

Similar Documents

Publication Publication Date Title
JP5701839B2 (ja) 電子機器および方法
JP5458161B1 (ja) 電子機器および方法
JP5349645B1 (ja) 電子機器および手書き文書処理方法
JP6270565B2 (ja) 電子機器および方法
JP6180888B2 (ja) 電子機器、方法およびプログラム
US9606981B2 (en) Electronic apparatus and method
JP6430197B2 (ja) 電子機器および方法
WO2015083290A1 (ja) 手書き文書情報を処理するための電子機器および方法
US20150346996A1 (en) Electronic apparatus and method
JP2015049604A (ja) 電子文書を表示するための電子機器および方法
JP5717831B2 (ja) 電子機器および手書き文書処理方法
JP5377743B1 (ja) 電子機器および手書き文書処理方法
US9940536B2 (en) Electronic apparatus and method
JP6100013B2 (ja) 電子機器および手書き文書処理方法
US9927971B2 (en) Electronic apparatus, method and storage medium for generating chart object
JP6342194B2 (ja) 電子機器、方法及びプログラム
JP2014203393A (ja) 電子機器、手書き文書処理方法、及び手書き文書処理プログラム
JP2014052718A (ja) 情報処理システム、プログラムおよび情報処理システムの処理方法
US10127478B2 (en) Electronic apparatus and method
WO2016031016A1 (ja) 電子機器、方法及びプログラム
JP6039066B2 (ja) 電子機器、手書き文書検索方法およびプログラム
JP6202997B2 (ja) 電子機器、方法及びプログラム
JP5355770B1 (ja) 電子機器および手書き文書処理方法
JP2015038670A (ja) 電子機器および方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140909

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150317

R151 Written notification of patent or utility model registration

Ref document number: 5717831

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313121

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350