[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP6202997B2 - 電子機器、方法及びプログラム - Google Patents

電子機器、方法及びプログラム Download PDF

Info

Publication number
JP6202997B2
JP6202997B2 JP2013231315A JP2013231315A JP6202997B2 JP 6202997 B2 JP6202997 B2 JP 6202997B2 JP 2013231315 A JP2013231315 A JP 2013231315A JP 2013231315 A JP2013231315 A JP 2013231315A JP 6202997 B2 JP6202997 B2 JP 6202997B2
Authority
JP
Japan
Prior art keywords
handwritten
character string
objects
cell
screen
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.)
Active
Application number
JP2013231315A
Other languages
English (en)
Other versions
JP2015090671A (ja
Inventor
誉史 大森
誉史 大森
永田 純一
純一 永田
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 JP2013231315A priority Critical patent/JP6202997B2/ja
Priority to EP20140166088 priority patent/EP2871570A2/en
Priority to US14/299,956 priority patent/US20150128019A1/en
Publication of JP2015090671A publication Critical patent/JP2015090671A/ja
Application granted granted Critical
Publication of JP6202997B2 publication Critical patent/JP6202997B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Character Discrimination (AREA)
  • Character Input (AREA)

Description

本発明の実施形態は、手書き文書を整形する技術に関する。
近年、タブレット、PDA(Personal Digital Assistant)、スマートフォンといったタッチスクリーンディスプレイを備え、また手書き入力が可能な種々の電子機器が開発されている。
このような電子機器は、手書きページに含まれる文字や図表を整形し、手書きページを様々な形式(例、Power Point形式、Word形式等)でエクスポートすることができる。しかしながら、従来の技術では、文字と図形が混載された手書きの表を整形した後に編集可能な形式でさらに整形した場合に、整形前のレイアウトと整形後のレイアウトとに大きな違いが生じてしまうという不都合がある。これに伴い、ユーザに違和感を与えるという不都合が生じる。
特開平8−50650号公報
本発明の一形態の目的は、ユーザに違和感を与えることのない表示を実現する電子機器、方法及びプログラムを提供することである。
実施形態によれば、電子機器は、手書き文書の情報を入力する入力手段と、前記手書き文書に手書きされた表が含まれる場合であって、前記表の1つのセルの領域に1つのオブジェクトが認識される場合、前記1つのオブジェクトの認識結果を用いてセルの値を表示し、前記表の1つのセルの領域に2以上のオブジェクトが認識される場合、前記2以上のオブジェクトを、前記表とは別個のオブジェクトとして表示する表示制御手段とを具備する。
図1は、実施形態に係る電子機器の外観の一例を示す斜視図である。 図2は、同実施形態の電子機器と外部装置との連携動作を示す図である。 図3は、同実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図である。 図4は、同実施形態の電子機器によって記憶媒体に保存される、図3の手書き文書に対応する時系列情報を説明するための図である。 図5は、同実施形態の電子機器のシステム構成を示すブロック図である。 図6は、同実施形態の電子機器のタッチスクリーンディスプレイに表示される画面の構成要素を示す図である。 図7は、同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるデスクトップ画面を示す図である。 図8は、同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるノートプレビュー画面を示す図である。 図9は、同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるページ編集画面を示す図である。 図10は、同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるページ編集画面のソフトウェアボタン群を示す図である。 図11は、同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示されるページ編集画面の別のソフトウェアボタン群を示す図である。 図12は、同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示され、図9のページ編集画面上の手書きページが整形されて表示される画面を示す図である。 図13は、同実施形態の電子機器内の手書きノートアプリケーションの機能構成の例を示すブロック図である。 図14は、同実施形態の電子機器内の手書きノートアプリケーションプログラムによって実行される表整形処理の手順の例を示すフローチャートである。 図15は、同実施形態の電子機器内の手書きノートアプリケーションプログラムによって表示される別のページ編集画面を示す図である。 図16は、図15のページ編集画面上の手書きページに対して、通常の表整形処理を実行した場合の表整形処理後の画面を示す図である。 図17は、図15のページ編集画面上の手書きページに対して、同実施形態の電子機器内の手書きノートアプリケーションプログラムによる表整形処理を実行した場合の表整形処理後の画面を示す図である。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を想定する。タブレットコンピュータ10は、タブレットまたはスレート(Slate)コンピュータとも称される携帯型電子機器であり、図1に示すように、本体11とタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わせるように取り付けられている。
本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
このタッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えばデジタイザペン(電磁誘導ペン)であってもよい。ユーザは、ペン100を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上のペン100の動きの軌跡、つまり手書き入力操作によって手書きされるストローク(手書きストロークの軌跡)がリアルタイムに描画され、これによって手書きにより入力された複数のストロークが画面上に表示される。ペン100が画面に接触されている間のペン100の動きの軌跡が1つのストロークに相当する。手書きされた文字、手書きされた図形、手書きされた表、などに対応する多数のストロークの集合が手書き文書を構成する。
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報(手書き文書データ)として記憶媒体に保存される。この時系列情報の詳細は図4を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、かつ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序に相当する。
タブレットコンピュータ10は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークを画面上に表示することができる。時系列情報によって示される複数のストロークも、手書きによって入力される複数のストロークである。
さらに、本実施形態のタブレットコンピュータ10は、ペン100を使用せずに、指で手書き入力操作を行うためのタッチ入力モードも有している。タッチ入力モードが有効な場合、ユーザは、指を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の指の動きの軌跡、つまり手書き入力操作によって手書きされるストローク(手書きストロークの軌跡)がリアルタイムに描画され、これによって手書きにより入力された複数のストロークが画面上に表示される。
さらに、タブレットコンピュータ10は編集機能を有している。この編集機能は、「消しゴム」ツール、範囲選択ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、範囲選択ツールによって選択される表示中の手書き文書内の任意の手書き部分(手書き文字、手書きマーク、手書き図形、手書き表、等)を削除または移動することができる。またさらに、範囲選択ツールによって選択される手書き文書内の任意の手書き部分を、手書き文書を検索するための検索キーとして指定することもできる。またさらに、範囲選択ツールによって選択される手書き文書内の任意の手書き部分に対して、手書き文字認識/手書き図形認識/手書き表認識のような認識処理を実行することもできる。
本実施形態では、手書き文書は、1つまたは複数のページとして管理されうる。この場合、時系列情報(手書き文書データ)を1つの画面に収まる面積単位で区切ることによって、1つの画面に収まる時系列情報のまとまりを1つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは1つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。1つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
図2は、タブレットコンピュータ10と外部装置との連携動作の例を示している。タブレットコンピュータ10は、パーソナルコンピュータ1やクラウドと連携することができる。すなわち、タブレットコンピュータ10は、無線LANなどの無線通信デバイスを備えており、パーソナルコンピュータ1との無線通信を実行することができる。さらに、タブレットコンピュータ10は、インターネット上のサーバ2との通信を実行することもできる。サーバ2はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
パーソナルコンピュータ1はハードディスクドライブ(HDD)のようなストレージデバイスを備えている。タブレットコンピュータ10は、時系列情報(手書き文書データ)をネットワーク越しにパーソナルコンピュータ1に送信して、パーソナルコンピュータ1のHDDに記録することができる(アップロード)。タブレットコンピュータ10とパーソナルコンピュータ1との間のセキュアな通信を確保するために、通信開始時には、パーソナルコンピュータ1がタブレットコンピュータ10を認証するようにしてもよい。この場合、タブレットコンピュータ10の画面上にユーザに対してIDまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ10のIDなどを自動的にタブレットコンピュータ10からパーソナルコンピュータ1に送信してもよい。
これにより、タブレットコンピュータ10内のストレージの容量が少ない場合でも、タブレットコンピュータ10が多数の時系列情報あるいは大容量の時系列情報を扱うことが可能となる。
さらに、タブレットコンピュータ10は、パーソナルコンピュータ1のHDDに記録されている任意の1以上の時系列情報を読み出し(ダウンロード)、その読み出した時系列情報によって示されるストロークをタブレットコンピュータ10のディスプレイ17の画面に表示することができる。この場合、複数の時系列情報それぞれのページを縮小することによって得られるサムネイルの一覧をディスプレイ17の画面上に表示してもよいし、これらサムネイルから選ばれた1ページをディスプレイ17の画面上に通常サイズで表示してもよい。
さらに、タブレットコンピュータ10が通信する先はパーソナルコンピュータ1ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ2であってよい。タブレットコンピュータ10は、時系列情報(手書き文書データ)をネットワーク越しにサーバ2に送信して、サーバ2のストレージデバイス2Aに記録することができる(アップロード)。さらに、タブレットコンピュータ10は、サーバ2のストレージデバイス2Aに記録されている任意の時系列情報を読み出して(ダウンロード)、その時系列情報によって示されるストロークそれぞれの軌跡をタブレットコンピュータ10のディスプレイ17の画面に表示することができる。
このように、本実施形態では、時系列情報が保存される記憶媒体は、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイス2Aのいずれであってもよい。
次に、図3および図4を参照して、ユーザによって手書きされたストローク(文字、図形、表など)と時系列情報との関係について説明する。図3は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる手書き文書(手書き文字列)の例を示している。
手書き文書では、一旦手書きによって入力される文字や図形などの上に、さらに別の文字や図形などが手書きによって入力されるというケースが多い。図3においては、「ABC」の手書き文字列が「A」、「B」、「C」の順番で手書きによって入力され、この後に、手書きの矢印が、手書き文字「A」のすぐ近くに手書きによって入力された場合が想定されている。
手書き文字「A」は、ペン100などを使用して手書きされる2つのストローク(「∧」形状の軌跡、「−」形状の軌跡)によって、つまり2つの軌跡によって表現される。最初に手書きされる「∧」形状のペン100の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標SD11、SD12、…SD1nが得られる。同様に、次に手書きされる「−」形状のペン100の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標SD21、SD22、…SD2nが得られる。
手書き文字「B」は、ペン100などを使用して手書きされた2つのストローク、つまり2つの軌跡によって表現される。手書き文字「C」は、ペン100などを使用して手書きされた手書きされた1つのストローク、つまり1つの軌跡によって表現される。手書きの「矢印」は、ペン100などを使用して手書きされた2つのストローク、つまり2つの軌跡によって表現される。
図4は、図3に示した手書き文書に対応する時系列情報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)を追加してもよい。
図4で説明したような構造を有する時系列情報200は、個々のストロークの筆跡だけでなく、ストローク間の時間的関係も表すことができる。したがって、この時系列情報200を使用することにより、図3に示すようにたとえ手書き「矢印」の先端部が手書き文字「A」上に重ねてまたは手書き文字「A」に近接して書かれたとしても、手書き文字「A」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
さらに、本実施形態では、上述したように、手書き文書データは、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報200として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報200の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
図5は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、図5に示されるように、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は、表示信号に基づいて画面イメージを表示する。タッチパネル17B、LCD17Aおよびデジタイザ17Cは互いに重ね合わされている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン(デジタイザペン)100が接触される画面上の接触位置および接触位置の動き等はデジタイザ17Cによって検出される。
無線通信デバイス107は、無線LANまたは3G移動通信などの無線通信を実行するように構成されたデバイスである。EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ10を電源オンまたは電源オフする機能を有している。
図6は、タッチスクリーンディスプレイ17に表示される画面の構成要素を示す。
画面は、表示領域(コンテンツ領域とも云う)51と、表示領域51の下のバー(ナビゲーションバーとも云う)52とを備える。表示領域51はコンテンツを表示するための領域である。アクティブ状態のアプリケーションプログラムのコンテンツは表示領域51上に表示される。図6では、ランチャープログラムがアクティブ状態である場合が想定されている。この場合、複数のアプリケーションプログラムに対応する複数のアイコン51Aがランチャープログラムによって表示領域51上に表示される。
なお、あるアプリケーションプログラムがアクティブであるとは、このアプリケーションプログラムがフォアグラウンドに移行していること、換言すればこのアプリケーションプログラムが起動されており且つフォーカスされていることを意味する。
バー52はOS201の1以上のソフトウェアボタン(ソフトウェアキーとも云う)を表示するための領域である。各ソフトウェアボタンには予め決められた機能が割り当てられている。あるソフトウェアボタンが指またはペン100によってタップされると、このソフトウェアボタンに割り当てられた機能がOS201によって実行される。例えば、Android(登録商標)環境においては、図6に示されているように、戻るボタン52A、ホームボタン52B、リーセントアプリケーションボタン52Cがバー52上に表示される。これらソフトウェアボタンはバー52上のデフォルトの表示場所に表示される。
次に、手書きノートアプリケーションプログラム202によってユーザに提示される幾つかの代表的な画面の例を説明する。
図7は、手書きノートアプリケーションプログラム202によって表示されるデスクトップ画面を示す。デスクトップ画面は複数の手書き文書データを扱うための基本画面である。以下では、手書き文書データを手書きノートと称する。
デスクトップ画面は、デスクトップ画面領域70とドロア画面領域71とを含む。デスクトップ画面領域70は作業中の複数の手書きノートに対応する複数のノートアイコン801〜805を表示するテンポラリ領域である。ノートアイコン801〜805の各々は、対応する手書きノート内のあるページのサムネイルを表示する。デスクトップ画面領域70は、さらに、ペンアイコン771、カレンダーアイコン772、スクラップノート(ギャラリー)アイコン773、タグ(ラベル)アイコン774を表示する。
ペンアイコン771は、表示画面をデスクトップ画面からページ編集画面に切り替えるためのグラフィカルユーザインタフェース(GUI)である。カレンダーアイコン772は現在の日付を示すアイコンである。スクラップノートアイコン773は、他のアプリケーションプログラムからまたは外部ファイルから取り込んだデータ(スクラップデータまたはギャラリーデータと称する)を閲覧するためのGUIである。タグアイコン774は、任意の手書きノート内の任意のページにラベル(タグ)を貼り付けるためのGUIである。
ドロア画面領域71は、作成済みの全ての手書きノートを格納するためのストレージ領域を閲覧するための表示領域である。ドロア画面領域71は、全ての手書きノート内の幾つかの手書きノートに対応するノートアイコン80A,80B,80Cを表示する。ノートアイコン80A,80B,80Cの各々は、対応する手書きノート内のあるページのサムネイルを表示する。手書きノートアプリケーションプログラム202は、ペン100または指を使用してユーザによって行われるドロア画面領域71上のジェスチャ(例えばスワイプジェスチャ等)を検出することができる。このジェスチャ(例えばスワイプジェスチャ等)の検出に応答して、手書きノートアプリケーションプログラム202は、ドロア画面領域71上の画面イメージを左方向または右方向にスクロールする。これにより、ドロア画面領域71に任意の手書きノートそれぞれに対応するノートアイコンを表示することができる。
さらに、手書きノートアプリケーションプログラム202は、ペン100または指を使用してユーザによって行われるドロア画面領域71のノートアイコン上のジェスチャ(例えばタップジェスチャ等)を検出することができる。ドロア画面領域71上のあるノートアイコン上のジェスチャ(例えばタップジェスチャ等)の検出に応答して、手書きノートアプリケーションプログラム202は、このノートアイコンをデスクトップ画面領域70の中央部に移動する。そして、手書きノートアプリケーションプログラム202は、このノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図8に示すノートプレビュー画面を表示する。図8のノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。
さらに、手書きノートアプリケーションプログラム202は、ペン100または指を使用してユーザによって行われるデスクトップ画面領域70上のジェスチャ(例えばタップジェスチャ等)も検出することができる。デスクトップ画面領域70の中央部に位置するノートアイコン上のジェスチャ(例えばタップジェスチャ等)の検出に応答して、手書きノートアプリケーションプログラム202は、中央部に位置するノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図8に示すノートプレビュー画面を表示する。
さらに、デスクトップ画面はメニューを表示することができる。このメニューは、リストノートボタン81A、ノート追加ボタン81B、ノート削除ボタン81C、検索ボタン81D、設定ボタン81Eを備える。リストノートボタン81Aは手書きノートの一覧を表示するためのボタンである。ノート追加ボタン81Bは、新しい手書きノートを作成(追加)するためのボタンである。ノート削除ボタン81Cは手書きノートを削除するためのボタンである。検索ボタン81Dは検索画面(検索ダイアログ)を開くためのボタンである。設定ボタン81Eは設定画面を開くためのボタンである。
また、バー52には、戻るボタン52A、ホームボタン52B、リーセントアプリケーションボタン52Cが表示される。
図8は上述のノートプレビュー画面を示す。
ノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。ここでは、ノートアイコン801に対応する手書きノートが選択された場合を想定する。この場合、手書きノートアプリケーションプログラム202は、この手書きノートに含まれる複数のページ901,902,903,904,905を、これらページ901,902,903,904,905それぞれの少なくとも一部分が視認可能で且つこれらページ901,902,903,904,905が重なった形態で表示する。
ノートプレビュー画面は、さらに、上述のペンアイコン771、カレンダーアイコン772、スクラップノートアイコン773、タグアイコン774を表示する。
ノートプレビュー画面は、さらに、メニューを表示することができる。このメニューは、デスクトップボタン82A、リストページボタン82B、ページ追加ボタン82C、編集ボタン82D、ページ削除ボタン82E、ラベルボタン82F、および検索ボタン82Gを備える。デスクトップボタン82Aは、デスクトップ画面を表示するためのボタンである。リストページボタン82Bは、現在選択されている手書きノート内のページの一覧を表示するためのボタンである。ページ追加ボタン82Cは、新しいページを作成(追加)するためのボタンである。編集ボタン82Dはページ編集画面を表示するためのボタンである。ページ削除ボタン82Eは、ページを削除するためのボタンである。ラベルボタン82Fは、使用可能なラベルの種類の一覧を表示するためのボタンである。検索ボタン82Gは検索画面を表示するためのボタンである。
また、バー52には、戻るボタン52A、ホームボタン52B、リーセントアプリケーションボタン52Cが表示される。
手書きノートアプリケーションプログラム202はユーザによって行われるノートプレビュー画面上の様々なジェスチャを検出することができる。例えば、あるジェスチャの検出に応答して、手書きノートアプリケーションプログラム202は、一番上に表示されるべきページを任意のページに変更する(ページ送り、ページ戻し)。また、一番上のページ上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、またはペンアイコン771上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、あるいは編集ボタン82D上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、手書きノートアプリケーションプログラム202は、一番上のページを選択し、そしてノートプレビュー画面の代わりに、図9に示すページ編集画面を表示する。
図9のページ編集画面は、ページ(手書きページ)の新規作成、および既存のページの閲覧および編集が可能な画面である。図8のノートプレビュー画面上のページ901が選択された場合には、図9に示すように、ページ編集画面は、ページ901の内容を表示する。
このページ編集画面において、破線で囲まれた矩形の領域500は手書き入力可能な手書き入力エリアである。手書き入力エリア500においては、デジタイザ17Cからの入力イベントは手書きストロークの表示(描画)のために使用され、タップ等のジェスチャを示すイベントとしては使用されない。一方、ページ編集画面において、手書き入力エリア500以外の領域においては、デジタイザ17Cからの入力イベントはタップ等のジェスチャを示すイベントとしても使用され得る。
タッチパネル17Bからの入力イベントは、手書きストロークの表示(描画)には使用されず、タップ、スワイプ等のジェスチャを示すイベントとして使用される。
ページ編集画面は、さらに、ユーザによって予め登録された3種類のペン501〜503と、範囲選択ペン504、消しゴムペン505とを含むクイックセレクトメニューを表示する。ここでは、黒ペン501、赤ペン502、マーカー503がユーザによって予め登録されている場合が想定されている。ユーザは、ペン100または指でクイックセレクトメニュー内のあるペン(ボタン)をタップすることにより、使用するペンの種類を切り替えることが出来る。例えば、黒ペン501がユーザによるペン100または指を使用したタップジェスチャによって選択された状態で、ペン100を用いた手書き入力操作がページ編集画面上で行われると、手書きノートアプリケーションプログラム202は、ペン100の動きに合わせて黒色のストローク(軌跡)をページ編集画面上に表示する。
クイックセレクトメニュー内の上述の3種類のペンは、ペン100のサイドボタンの操作によっても切り替えることが出来る。クイックセレクトメニュー内の上述の3種類のペンの各々には、よく使うペンの色やペンの太さ(幅)等の組み合わせを設定することができる。
ページ編集画面は、さらに、メニューボタン511、ページ戻しボタン512、ページ送りボタン513を表示する。メニューボタン511はメニューを表示するためのボタンである。
図10は、メニューボタン511の操作によってページ編集画面上にメニューとして表示されるソフトウェアボタン群を示す図である。
メニューボタン511が操作されると、図10に示すように、ページ編集画面上に、ノートプレビューボタン83A、ページ追加ボタン83B、検索ボタン83C、エクスポートボタン83D、インポートボタン83E、メールボタン83F、ペンケースボタン83Gがメニューとして表示される。
ノートプレビューボタン83Aは、ノートプレビュー画面に戻るためのボタンである。ページ追加ボタン83Bは、新規ページを追加するためのボタンである。検索ボタン83Cは、検索画面を開くためのボタンである。エクスポートボタン83Dは、エクスポートのためのサブメニューを表示するためのボタンである。インポートボタン83Eは、インポートのためのサブメニューを表示するためのボタンである。メールボタン83Fは、ページ編集画面上に表示されている手書きページをテキストに変換して電子メールによって送信する処理を起動するためのボタンである。ペンケースボタン83Gは、クイックセレクトメニュー内の3種類のペンの各々の色(描画される線の色)や太さ[幅](描画される線の太さ[幅])等を変更可能なペン設定画面を呼び出すためのボタンである。
また、図11は、エクスポートボタン83Dの操作によってページ編集画面上にサブメニューとしてさらに表示されるソフトウェアボタン群を示す図である。
エクスポートボタン511が操作されると、図11に示すように、(エクスポートボタン83Dを含むソフトウェアボタン群がメニューとして表示されている)ページ編集画面上に、プレゼンテーションボタン84A、ドキュメントボタン84B、イメージボタン84C、共有ボタン84Dがサブメニューとしてさらに表示される。
プレゼンテーションボタン84Aは、ページ編集画面上に表示されている手書きページを認識してプレゼンテーションファイルに変換する処理を起動するためのボタンである。ドキュメントボタン84Bは、ページ編集画面上に表示されている手書きページを認識して電子文書ファイルに変換する処理を起動するためのボタンである。イメージボタン84Cは、ページ編集画面上に表示されている手書きページを画像ファイルに変換する処理を起動するためのボタンである。共有ボタン84Dは、ページ編集画面上に表示されている手書きページを画像ファイルに変換して他のアプリケーションプログラムと共有する処理を起動するためのボタンである。
図12は、プレゼンテーションボタン84Aの操作によって図9に示したページ編集画面上の手書きページが整形されて表示される画面を示す図である。
前述したように、プレゼンテーションボタン84Aが操作されると、手書きノートアプリケーションプログラム202は、ページ編集画面上に表示されている手書きページを認識してプレゼンテーションファイルに変換する処理を起動する。その結果、図9に示したページ編集画面上の手書きページ内のストロークで構成される各文字、各図形及び各表が、図12に示すように、(認識結果である)各文字に対応する文字コードのフォント、各図形に対応する図形オブジェクト、各表に対応するテーブルオブジェクトを用いて整形されて表示される。
次に、図13を参照して、手書きノートアプリケーションプログラム202の機能構成について説明する。
手書きノートアプリケーションプログラム202は、ペン軌跡表示処理部301、時系列情報生成部302、編集処理部303、ページ保存処理部304、ページ取得処理部305、手書き文書表示処理部306、認識処理部307、表整形部308及び作業メモリ401等を備える。認識処理部307は、認識制御部307A、文字認識処理部307B、図形認識処理部307C及び表認識処理部307Dを含む。さらに、表認識処理部307Dは、表内文字認識処理部307E及び表内図形認識処理部307Fを含む。
手書きノートアプリケーションプログラム202は、タッチスクリーンディスプレイ17を用いて入力されるストロークデータを使用することによって、手書き文書の作成、表示、編集等を行う。タッチスクリーンディスプレイ17は、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動(スライド)」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
ペン軌跡表示処理部301及び時系列情報生成部302は、タッチスクリーンディスプレイ17によって発生される「タッチ」または「移動(スライド)」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントにも、移動先の接触位置の座標が含まれている。したがって、ペン軌跡表示処理部301及び時系列情報生成部302は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列を受信することができる。
ペン軌跡表示処理部301は、タッチスクリーンディスプレイ17から座標列を受信し、この座標列に基づいて、ペン100等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ17内のLCD17Aの画面上に表示する。このペン軌跡表示処理部301により、画面にペン100が接触している間のペン100の軌跡、つまり各ストロークの軌跡がLCD17Aの画面上に描かれる。
時系列情報生成部302は、タッチスクリーンディスプレイ17から出力される上述の座標列を受信し、この座標列に基づいて、図4で詳述したような構造を有する上述の時系列情報を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標及びタイムスタンプ情報は作業メモリ401に一時保存してもよい。
編集処理部303は現在表示中の手書きページを編集するための処理を実行する。すなわち、編集処理部303は、タッチスクリーンディスプレイ17上でユーザによって行われる編集操作に応じて、表示されている複数のストローク内の1以上のストロークを削除または移動等するための編集処理を実行する。さらに、編集処理部303は、編集処理の結果を表示中の時系列情報に反映するためにこの時系列情報を更新する。
ページ保存処理部304は、生成された時系列情報を手書き文書(手書きページ)として記憶媒体402に保存する。記憶媒体402は、上述したように、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイス2Aのいずれであってもよい。
ページ取得処理部305は、記憶媒体402から既に格納されている任意の時系列情報を読み出す。読み出された時系列情報は手書き文書表示処理部306に送られる。手書き文書表示処理部306は、時系列情報を解析し、この解析結果に基づいて、時系列情報によって示される各ストロークの軌跡を画面上に手書きページとして表示する。
認識処理部307は、表示中の時系列情報(手書きページ)に対して手書き文字認識、手書き図形認識、手書き表認識等の認識処理を実行する。この認識処理は、手書きページを、ペイント系アプリケーションプログラム等が扱うことが可能な構造を有するアプリケーションデータに変換するために利用することができる。
認識制御部307Aは、文字認識処理部307B、図形認識処理部307C及び表認識処理部307Dの3つの認識モジュールを制御するためのモジュールである。
文字認識処理部307Bは、認識処理対象の時系列情報によって示される複数のストロークデータをグループ化処理することによって得られる複数のブロック(手書きブロック)の各々を文字認識して、これら複数のブロック内の手書き文字それぞれを文字コードに変換する。グループ化処理では、互いに近傍に位置し且つ連続的に手書きされたストロークにそれぞれ対応するストロークデータ同士が同一ブロックに分類されるように、認識処理対象の時系列情報によって示される複数のストロークデータがグループ化される。すなわち、文字認識処理部307Bでは、グループ化処理することによって得られる複数のブロックの各々を文字認識して、これら複数のブロック内の手書き文字または複数の手書き文字からなる手書き文字列を文字コードに変換することができる。
図形認識処理部307Cは、認識処理対象の時系列情報によって示される複数のストロークデータを上述のようにグループ化処理することによって得られる複数のブロック内の処理対象ブロックを、複数の図形オブジェクトの一つに変換するための図形認識処理を実行する。手書き文書(手書きページ)内に含まれる手書きの図形は、PowerPoint(登録商標)等のペイント系アプリケーションプログラムが扱うことが可能な図形オブジェクトに変換される。図形認識処理部307Cは、例えば、複数の図形オブジェクトそれぞれの特徴を示す図形情報を予め保持しており、手書き図形と複数の図形オブジェクトそれぞれとの間の類似度を算出する。そして、手書き図形は、この手書き図形に関する類似度が最も高い図形オブジェクトに変換される。
類似度の算出においては、手書き図形を必要に応じて回転、拡大、または縮小してもよく、回転、拡大、または縮小された後の手書き図形と複数の図形オブジェクトそれぞれとの間の類似度が求められる。そして、手書き図形に関する類似度が最も高い図形オブジェクトが選択され、この選択された図形オブジェクトは、手書き図形に対して施された回転、拡大、または縮小の処理内容に基づいて変形される。この変形された図形オブジェクトが、手書き図形の代わりに表示される。
上述の類似の計算においては、手書き図形のストロークの軌跡情報及び各図形オブジェクトの軌跡情報の各々をベクトルの集合として扱い、ベクトルの集合同士の比較を行うことによって類似度を算出することができる。これにより、手書きで描いた図形を容易にPowerPoint等のペイント系の文書(アプリケーションデータ)に変換することができる。
表認識処理部307Dは、認識処理対象の時系列情報によって示される複数のストロークデータを上述のようにグループ化処理することによって得られる複数のブロック内の処理対象ブロックが、幾つかの線状の軌跡の組み合わせを含む表形状であるか否かを認識する。すなわち、表認識処理部307Dは、手書きページ内の縦横の線の組み合わせを認識し、それらの組み合わせが表の状態になっていることを認識する。
表内文字認識処理部307Eは、表認識処理部307Dによって所定の処理対象ブロックが表形状であると認識された場合に、この処理対象ブロック内の複数のストロークデータを上述のようにさらにグループ化処理することによって得られる複数のブロックの各々を文字認識する(すなわち、1以上の文字又は記号を含む文字列を認識する)。これにより、表内文字認識処理部307Eは、複数のブロック内の手書き文字または複数の手書き文字からなる手書き文字列の文字コードを取得することができる。
表内図形認識処理部307Fは、表認識処理部307Dによって所定の処理対象ブロックが表形状であると認識された場合に、この処理対象ブロック内の複数のストロークデータを上述のようにさらにグループ化処理することによって得られる複数のブロックの各々を図形認識する。これにより、表内図形認識処理部307Fは、複数のブロック内の手書き図形に類似する図形オブジェクトを取得することができる。
なお、文字認識処理、図形認識処理及び表認識処理を実行する順序は任意の順序で構わないが、例えば、文字認識処理及び図形認識処理の前処理として、全てのブロックを、表形状を含むブロックと表形状を含まないブロックとに分けるための処理を行うとしてもよい。これにより、表形状を含むと判定されたブロックは、文字認識処理部307B及び図形認識処理部307Cの処理対象から除外することができるので、文字認識処理及び図形認識処理の各々の認識率を向上させることができる。
表整形部308は、表認識処理部307Dによって表形状であると認識された処理対象ブロックを、認識された表形状の縦横の要素数と同じ縦横の要素数(セル領域)を有するテーブルオブジェクトに変換する。すなわち、手書き文書(手書きページ)内に含まれる手書きの表は、Excel(登録商標)等の表計算アプリケーションプログラムで扱うことが可能なテーブルオブジェクトに変換される。
表整形部308は、テーブルオブジェクトが有する複数のセル領域の1つに、1つの手書き文字または1つの手書き文字列だけが含まれる(すなわち、1つのオブジェクトが認識される)場合、表内文字認識処理部307Eによって得られた当該セル領域に含まれる手書き文字または手書き文字列の文字コードを当該セル領域に入力する(すなわち、1つのオブジェクトの認識結果を用いてセルの値をLCD17Aに表示する)。つまり、表整形部308は、テーブルオブジェクトが有する複数のセル領域の1つに、1つの手書き文字または1つの手書き文字列だけが含まれる場合、手書き文字または手書き文字列と当該セル領域との関連付けを行う。
表整形部308は、テーブルオブジェクトが有する複数のセル領域の1つに、2以上の手書き文字または2以上の手書き文字列が含まれる(すなわち、2以上のオブジェクトが認識される)場合、表内文字認識処理部307Eによって得られた当該セル領域に含まれる手書き文字または手書き文字列の文字コードそれぞれを、図形オブジェクトの一種であるテキストボックスにそれぞれ入力する(すなわち、2以上のオブジェクトを、テーブルオブジェクトとは別個のオブジェクトとしてLCD17Aに表示する)。これにより、表整形部308は、セル領域に含まれる手書き文字または手書き文字列と同じ数のテキストボックスを取得することができる。そして、表整形部308は、取得したテキストボックスを手書き文書(手書きページ)のオブジェクトとして配置する。つまり、表整形部308は、テーブルオブジェクトが有する複数のセル領域の1つに、2以上の手書き文字または2以上の手書き文字列が含まれる場合、これら手書き文字または手書き文字列と当該セル領域との関連付けを行わない。
表整形部308は、テーブルオブジェクトが有する複数のセル領域の1つに、1以上の手書き図形が含まれる場合、表内図形認識処理部307Fによって得られたセル領域に含まれる手書き図形に類似する図形オブジェクトを手書き文書(手書きページ)のオブジェクトとして配置する。つまり、表整形部308は、テーブルオブジェクトが有する複数のセル領域の1つに、1以上の手書き図形が含まれる場合、これら手書き図形と当該セル領域との関連付けを行わない。
表整形部308は、テーブルオブジェクトが有する複数のセル領域の1つに、手書き文字または手書き文字列と手書き図形とが含まれる場合、表内文字認識処理部307Fによって得られた当該セル領域に含まれる手書き文字または手書き文字列の文字コードを、図形オブジェクトの一種であるテキストボックスに入力する。これにより、表整形部308は、セル領域に含まれる手書き文字または手書き文字列の文字コードが入力されたテキストボックスを取得することができる。そして、表整形部308は、取得したテキストボックスと、表内図形認識処理部307Fによって得られたセル領域に含まれる手書き図形に類似する図形オブジェクトとを手書き文書(手書きページ)のオブジェクトとして配置する。つまり、表整形部308は、テーブルオブジェクトが有するセル領域の1つに、手書き文字または手書き文字列と手書き図形とが含まれる場合、手書き文字列(手書き文字)及び手書き図形と当該セル領域との関連付けを行わない。
表整形部308は、上述のように表整形処理を実行し終えると、整形後の手書き文書(手書きページ)をLCD17Aの画面上に表示する。
次に、図14のフローチャートを参照して、手書きノートアプリケーションプログラム202の表整形部308によって実行される表整形処理の手順について説明する。ここでは、認識処理部307によって、所定の手書きページに対して認識処理が実行され、その結果、表形状であると認識された処理対象ブロックがある場合を想定する。
始めに、表整形部308は、認識処理部307(表認識処理部307D)によって表形状であると認識された処理対象ブロックを、認識された表形状の縦横の要素数と同じセル領域を有するテーブルオブジェクトに変換する(を配置する)(ブロック1001)。そして、表整形部308は、テーブルオブジェクトが有する複数のセル領域それぞれに、図形オブジェクトが含まれていないことを示すフラグ0(flag=0)をたてる(ブロック1002)。
続いて、表整形部308は、テーブルオブジェクトが有する複数のセル領域全てに対して表整形処理を実行したか否かを判定する(ブロック1003)。全てのセル領域に対して表整形処理を実行したと判定された場合(ブロック1003のYES)、表整形部308による表整形処理は終了する。
全てのセル領域に対して表整形処理が実行されていないと判定された場合(ブロック1003のNO)、表整形部308は、まだ表整形処理が実行されていないセル領域に対して表整形処理を実行する。まず表整形部308は、表内図形認識処理部307Fによる認識処理結果を用いて、表整形処理対象のセル領域に手書き図形が含まれているか否かを判定する(ブロック1004)。表整形処理対象のセル領域に手書き図形が含まれていないと判定された場合(ブロック1004のNO)、表整形部308は後述するブロック1007の処理を実行する。
表整形処理対象のセル領域に手書き図形が含まれていると判定された場合(ブロック1004のYES)、表整形部308は、表内図形認識処理部307Fによって得られた当該セル領域に含まれる手書き図形に類似した図形オブジェクトを手書き文書のオブジェクトとして配置する(ブロック1005)。そして、表整形部308は、整形処理対象のセル領域に、図形オブジェクトが含まれていることを示すフラグ1(flag=1)をたてる(ブロック1006)。
次に、表整形部308は、表内文字認識処理部307Eによる認識処理結果を用いて、表整形処理対象のセル領域に手書き文字列(手書き文字)が含まれているか否かを判定する(ブロック1007)。表整形処理対象のセル領域に手書き文字列が含まれていないと判定された場合(ブロック1007のNO)、表整形部308は、表整形処理対象のセル領域のフラグを上述のブロック1002の処理でたてたフラグ0のままとした後に(ブロック1008)、ブロック1003の処理を再度実行する。
表整形処理対象のセル領域に手書き文字列が含まれていると判定された場合(ブロック1007のYES)、表整形部308は、表内文字認識処理部307Eによる認識処理結果を用いて、表整形処理対象のセル領域に2以上の手書き文字列が含まれているか否かを判定する(ブロック1009)。表整形処理対象のセル領域に2以上の手書き文字列が含まれていると判定された場合(ブロック1009のYES)、表整形部308は、表内文字認識処理部307Eによって得られた2以上の文字列それぞれの文字コードを、図形オブジェクトの一種であるテキストボックスにそれぞれ入力する。そして、表整形部308は、これらテキストボックスを手書き文書のオブジェクトとして配置した後に(ブロック1010)、上述したブロック1008の処理を実行する。
表整形処理対象のセル領域に2以上の手書き文字列が含まれていないと判定された場合(ブロック1009のNO)、表整形部308は、表整形処理対象のセル領域のフラグが1であるか否かを判定する(ブロック1011)。
表整形処理対象のセル領域のフラグが1であると判定された場合(ブロック1011のYES)、表整形部308は、表内文字認識処理部307Eによって得られた文字列の文字コードを、図形オブジェクトの一種であるテキストボックスに入力する。そして、表整形部308は、このテキストボックスを手書き文書のオブジェクトとして配置した後に(ブロック1012)、上述したブロック1008の処理を実行する。
表整形処理対象のセル領域のフラグが1でないと判定された場合(ブロック1011のNO)、表整形部308は、表内文字認識処理部307Eによって得られた文字列の文字コードを、表整形処理対象のセル領域に入力した後に(ブロック1013)、上述したブロック1008の処理を実行する。
なお、本実施形態では、表整形処理対象のセル領域に2以上の手書き文字列が含まれている場合、これら手書き文字列それぞれの文字コードをテキストボックスに入力して、これらテキストボックスを手書き文書のオブジェクトとして配置する表整形処理を実行するとしたが、表整形処理対象のセル領域に2以上の手書き文字列が含まれている場合、別の方法による表整形処理が実行されるとしても構わない。以下に、図15〜図17を参照しながら詳しく説明する。
図15は、表整形処理前の手書きされた表が表示された画面を示す図であり、図16は、一般的な表整形処理後の表が表示された画面を示す図である。図15に示すように、セル領域R1には2以上の手書き文字列「August」、「September」、「October」が含まれている。このセル領域R1に対して一般的な表整形処理が実行されると、文字認識により得られる「August」、「September」、「October」の文字コードそれぞれがセル領域R1に入力される。このため、図16に示すように、表整形処理後の表では、全ての文字列が繋がって表示されてしまうという不都合が生じる。このため、本実施形態では、表整形処理前の見た目を維持するために、表整形処理対象のセル領域に2以上の手書き文字列が含まれている場合、これら手書き文字列の文字コードを入力したテキストボックスを手書き文書のオブジェクトとして配置するようにした。
しかしながら、表整形処理対象のセル領域に2以上の手書き文字列だけが含まれている場合、別の方法による表整形処理によって表整形処理前の見た目を維持することもできる。具体的には、表整形処理対象のセル領域に2以上の手書き文字列だけが含まれている(すなわち、1以上の文字又は記号を含む第1文字列と、1以上の文字又は記号を含む第2文字列とが認識される)場合、表整形部308は、表内文字認識処理部307Eによる認識処理結果を用いて、2以上の手書き文字列間に所定の空間(例えば、全角1文字分の空間等)があるか否かを判定する。そして、2以上の手書き文字列間に所定の空間があると判定された場合、表整形部308は、この所定の空間を空白(スペース)の文字コードとして、表内文字認識処理部307Eによって得られた文字コードと共に、セル領域R1に入力する(すなわち、第1文字列と、第2文字列と、第1文字列と第2文字列の間隔に関する情報とを含む1つのオブジェクトを用いてセルの値をLCD17Aに表示する)。つまり、表整形部308は、セル領域R1に、「August」の文字コード、空白の文字コード、「September」の文字コード、空白の文字コード、「October」の文字コードといった具合に文字コードを入力する。これにより、図17に示すように、上述したテキストボックスを手書き文書のオブジェクトとして配置する方法とは別の方法においても、表整形処理前の見た目を維持した表を表示することができる。
以上説明した一実施形態によれば、タブレットコンピュータ10は、表整形処理対象のセル領域に2以上の手書き文字列、1以上の手書き文字列と1以上の手書き図形、または1以上の手書き図形が含まれている場合に、手書き文字列及び手書き図形を図形オブジェクトとしてセル領域に配置することができる手書きノートアプリケーションプログラム202を備える。したがって、ユーザに違和感を与えることのない表示を実現することができる。
なお、本実施形態の処理は、コンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
17A…LCD、202…手書きノートアプリケーション、301…ペン軌跡表示処理部、302…時系列情報生成部、303…編集処理部、304…ページ保存処理部、305…ページ取得処理部、306…手書き文書表示処理部、307…認識処理部、307A…認識制御部、307B…文字認識処理部、307C…図形認識処理部、307D…表認識処理部、307E…表内文字認識処理部、307F…表内図形認識処理部、308…表整形部、401…作業メモリ、402…記憶媒体。

Claims (15)

  1. 手書き文書の情報を入力する入力手段と、
    前記手書き文書に手書きされた表が含まれる場合であって、前記表の1つのセルの領域に1つのオブジェクトが認識される場合、前記1つのオブジェクトの認識結果を用いてセルの値を表示し、
    前記表の1つのセルの領域に2以上のオブジェクトが認識される場合、前記2以上のオブジェクトを、前記表とは別個のオブジェクトとして表示する表示制御手段と
    を具備する電子機器。
  2. 前記1つのオブジェクト又は前記2以上のオブジェクトは、手書き文書の情報に含まれるストロークデータに基づいて、認識される請求項1に記載の電子機器。
  3. 前記表、前記1つのオブジェクト、又は前記2以上のオブジェクトを認識可能な認識手段をさらに備える請求項1に記載の電子機器。
  4. 前記1つのオブジェクト又は前記2以上のオブジェクトに対応する1つのオブジェクトは、1以上の文字又は記号を含む文字列、または図形である請求項1に記載の電子機器。
  5. 前記表の1つのセルの領域に、1以上の文字又は記号を含む第1文字列と、1以上の文字又は記号を含む第2文字列とが認識される場合に、前記表示制御手段は、前記第1文字列と、前記第2文字列と、前記第1文字列と前記第2文字列の間隔に関する情報とを含む1つのオブジェクトを用いてセルの値を表示する請求項1に記載の電子機器。
  6. 手書き文書の情報を入力することと、
    前記手書き文書に手書きされた表が含まれる場合であって、前記表の1つのセルの領域に1つのオブジェクトが認識される場合、前記1つのオブジェクトの認識結果を用いてセルの値を表示し、
    前記表の1つのセルの領域に2以上のオブジェクトが認識される場合、前記2以上のオブジェクトを、前記表とは別個のオブジェクトとして表示することと
    を具備する方法。
  7. 前記1つのオブジェクト又は前記2以上のオブジェクトは、手書き文書の情報に含まれるストロークデータに基づいて、認識される請求項6に記載の方法。
  8. 前記表、前記1つのオブジェクト、又は前記2以上のオブジェクトを認識することをさらに備える請求項6に記載の方法。
  9. 前記1つのオブジェクト又は前記2以上のオブジェクトに対応する1つのオブジェクトは、1以上の文字又は記号を含む文字列、または図形である請求項6に記載の方法。
  10. 前記表の1つのセルの領域に、1以上の文字又は記号を含む第1文字列と、1以上の文字又は記号を含む第2文字列とが認識される場合に、前記表示することは、前記第1文字列と、前記第2文字列と、前記第1文字列と前記第2文字列の間隔に関する情報とを含む1つのオブジェクトを用いてセルの値を表示する請求項6に記載の方法。
  11. コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
    手書き文書の情報を入力する入力手段と、
    前記手書き文書に手書きされた表が含まれる場合であって、前記表の1つのセルの領域に1つのオブジェクトが認識される場合、前記1つのオブジェクトの認識結果を用いてセルの値を表示し、
    前記表の1つのセルの領域に2以上のオブジェクトが認識される場合、前記2以上のオブジェクトを、前記表とは別個のオブジェクトとして表示する表示制御手段として動作させるプログラム。
  12. 前記1つのオブジェクト又は前記2以上のオブジェクトは、手書き文書の情報に含まれるストロークデータに基づいて、認識される請求項11に記載のプログラム。
  13. 前記表、前記1つのオブジェクト、又は前記2以上のオブジェクトを認識可能な認識手段として前記コンピュータをさらに動作させる請求項11に記載のプログラム。
  14. 前記1つのオブジェクト又は前記2以上のオブジェクトに対応する1つのオブジェクトは、1以上の文字又は記号を含む文字列、または図形である請求項11に記載のプログラム。
  15. 前記表の1つのセルの領域に、1以上の文字又は記号を含む第1文字列と、1以上の文字又は記号を含む第2文字列とが認識される場合に、前記表示制御手段は、前記第1文字列と、前記第2文字列と、前記第1文字列と前記第2文字列の間隔に関する情報とを含む1つのオブジェクトを用いてセルの値を表示する請求項11に記載のプログラム。
JP2013231315A 2013-11-07 2013-11-07 電子機器、方法及びプログラム Active JP6202997B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013231315A JP6202997B2 (ja) 2013-11-07 2013-11-07 電子機器、方法及びプログラム
EP20140166088 EP2871570A2 (en) 2013-11-07 2014-04-25 Electronic apparatus, method and storage medium
US14/299,956 US20150128019A1 (en) 2013-11-07 2014-06-09 Electronic apparatus, method and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013231315A JP6202997B2 (ja) 2013-11-07 2013-11-07 電子機器、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015090671A JP2015090671A (ja) 2015-05-11
JP6202997B2 true JP6202997B2 (ja) 2017-09-27

Family

ID=50624458

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013231315A Active JP6202997B2 (ja) 2013-11-07 2013-11-07 電子機器、方法及びプログラム

Country Status (3)

Country Link
US (1) US20150128019A1 (ja)
EP (1) EP2871570A2 (ja)
JP (1) JP6202997B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048867B2 (en) * 2019-09-06 2021-06-29 Wipro Limited System and method for extracting tabular data from a document

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528258A (ja) * 1991-07-19 1993-02-05 Fuji Xerox Co Ltd 文字/図形分離装置付きフオーム入力装置
JPH06111073A (ja) * 1992-09-25 1994-04-22 Sanyo Electric Co Ltd 手書き情報認識装置
JPH09231208A (ja) * 1996-02-28 1997-09-05 Oki Electric Ind Co Ltd 表形式の文書データ処理装置
JPH10307888A (ja) * 1997-05-09 1998-11-17 Ricoh Co Ltd 表処理方法、装置および記録媒体
JP4235286B2 (ja) * 1998-09-11 2009-03-11 キヤノン株式会社 表認識方法及び装置
JP2001236451A (ja) * 2000-02-21 2001-08-31 Oki Data Corp 電子帳票作成システム
US20060104511A1 (en) * 2002-08-20 2006-05-18 Guo Jinhong K Method, system and apparatus for generating structured document files
US7583841B2 (en) * 2005-12-21 2009-09-01 Microsoft Corporation Table detection in ink notes
JP2008282095A (ja) * 2007-05-08 2008-11-20 Canon Inc OCR(OpticalCharacterRecognize)ソフトウエア
US8116567B2 (en) * 2008-10-07 2012-02-14 International Business Machines Corporation Digitizing documents

Also Published As

Publication number Publication date
EP2871570A2 (en) 2015-05-13
US20150128019A1 (en) 2015-05-07
JP2015090671A (ja) 2015-05-11

Similar Documents

Publication Publication Date Title
JP6180888B2 (ja) 電子機器、方法およびプログラム
JP5349645B1 (ja) 電子機器および手書き文書処理方法
JP5728592B1 (ja) 電子機器および手書き入力方法
JP6092418B2 (ja) 電子機器、方法及びプログラム
JP6426417B2 (ja) 電子機器、方法及びプログラム
JP5395927B2 (ja) 電子機器および手書き文書検索方法
JP5925957B2 (ja) 電子機器および手書きデータ処理方法
JP6092462B2 (ja) 電子機器、方法及びプログラム
JPWO2014192157A1 (ja) 電子機器、方法及びプログラム
US20140219564A1 (en) Electronic device and handwritten document processing method
JP5634617B1 (ja) 電子機器および処理方法
JP2016085512A (ja) 電子機器、方法及びプログラム
JP6100013B2 (ja) 電子機器および手書き文書処理方法
US20160048324A1 (en) Electronic device and method
US20150098653A1 (en) Method, electronic device and storage medium
JP6430198B2 (ja) 電子機器、方法及びプログラム
JP6202997B2 (ja) 電子機器、方法及びプログラム
JP2014149769A (ja) 電子機器および手書き文書検索方法
JP6251408B2 (ja) 電子機器、方法及びプログラム
JP6430199B2 (ja) 電子機器、方法及びプログラム
JP6315996B2 (ja) 電子機器、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170627

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: 20170801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170829

R151 Written notification of patent or utility model registration

Ref document number: 6202997

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