JP5248696B1 - 電子機器、手書き文書作成方法、及び手書き文書作成プログラム - Google Patents

電子機器、手書き文書作成方法、及び手書き文書作成プログラム Download PDF

Info

Publication number
JP5248696B1
JP5248696B1 JP2012119776A JP2012119776A JP5248696B1 JP 5248696 B1 JP5248696 B1 JP 5248696B1 JP 2012119776 A JP2012119776 A JP 2012119776A JP 2012119776 A JP2012119776 A JP 2012119776A JP 5248696 B1 JP5248696 B1 JP 5248696B1
Authority
JP
Japan
Prior art keywords
handwritten
trajectory
blank area
stroke
locus
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
JP2012119776A
Other languages
English (en)
Other versions
JP2013246633A (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 JP2012119776A priority Critical patent/JP5248696B1/ja
Priority to US13/674,728 priority patent/US9013428B2/en
Application granted granted Critical
Publication of JP5248696B1 publication Critical patent/JP5248696B1/ja
Publication of JP2013246633A publication Critical patent/JP2013246633A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
    • 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

Abstract


【課題】手書きにより記録された情報を容易に編集することができるようにする。
【解決手段】実施形態によれば、電子機器は、タッチスクリーンディスプレイと、記録手段と、表示処理手段と、変更手段とを含む。記録手段は、前記タッチスクリーンディスプレイ上で手書きされた複数のストロークの手書きされた順を示す時系列情報を記録する。表示処理手段は、前記時系列情報に基づいて、前記複数のストロークに対応する第1及び第2の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示する。変更手段は、前記軌跡に対する編集内容を示す、前記タッチスクリーンディスプレイに対する入力操作に応じて、前記時系列情報を変更する。
【選択図】図6

Description

本発明の実施形態は、手書き文書を処理することが可能な電子機器及び同電子機器で用いられる手書き文書作成方法、及び手書き文書作成プログラムに関する。
近年、タブレット型コンピュータ、PDA(personal digital assistant)、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連づけられた機能の実行を携帯型電子機器に指示することができる。
しかし、タッチスクリーンディスプレイを備える既存の電子機器の多くは、画像、音楽、他の各種メディアデータに対する操作性を追求したコンシューマ向け製品であり、会議、商談、商品開発などのビジネスシーンにおける利用については必ずしも適していない場合がある。このため、いまなお、紙の手帳に手書きして情報を記録することが広く行われている。
特開平10−268996号公報
電子機器は、人の発想活動の支援を可能にしたり、過去に作成した文書のような資料の再利用を容易にしたりするためのデジタルツールとして機能することが期待される。例えば、電子機器を紙の手帳と同様の感覚で利用するために、手書きによって記録した情報を簡単に編集できる機能が期待される。
本発明は、手書きにより記録された情報を容易に編集することができる電子機器、手書き文書作成方法、及び手書き文書作成プログラムを提供することを目的とする。
実施形態によれば、電子機器は、記録手段と、表示処理手段と、挿入手段と、変更手段とを含む。記録手段は、タッチスクリーンディスプレイ上で手書きされた複数のストロークに対応するストロークデータを記録する。表示処理手段は、前記ストロークデータに基づいて、前記複数のストロークに対応する第1及び第2の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示する。挿入手段は、前記第1の軌跡と前記第2の軌跡との間を指定する入力操作に応じて、前記第1の軌跡と前記第2の軌跡との間に空白領域を挿入する。変更手段は、前記空白領域にストロークが手書きされた場合、前記空白領域中のストロークが手書きされていない領域に前記第1の軌跡と前記第2の軌跡の少なくとも一方が表示されるように前記ストロークデータを変更する。
実施形態に係る電子機器の外観を示す斜視図。 実施形態における電子機器と外部装置との連携動作を示す図。 実施形態における電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。 実施形態における電子機器によって記憶媒体に保存される、手書き文書に対応する時系列情報を説明するための図。 実施形態における電子機器のシステム構成を示すブロック図。 実施形態における電子機器によって実行されるデジタルノートブックアプリケーションプログラムの機能構成を示すブロック図。 実施形態における手書きページ作成処理の手順を示すフローチャート。 実施形態における手書きページ作成処理中の空白領域設定処理の手順を示すフローチャート。 実施形態における手書きページ作成処理中の空白領域整形処理の手順を示すフローチャート。 実施形態における編集画面に表示された手書き文書の一部を示す図。 実施形態におけるユーザ操作に応じた範囲に空白領域を設定する例を示す図。 実施形態における空白領域を設定する例を示す図。 実施形態におけるメニューを表示する例を示す図。 実施形態における空白領域の設定に応じてブロックの表示位置を変更する例を示す図。 実施形態における挿入処理の変形例を示す図。 実施形態における縦方向(行間)に空白領域を設ける例を示す図。 実施形態における縦方向(行間)に空白領域を設ける例を示す図。 実施形態における削除処理を説明するための図。 実施形態における削除処理を説明するための図。 実施形態における削除処理を説明するための図。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、電子機器がタブレットコンピュータ10として実現されている場合を想定する。タブレットコンピュータ10は、タブレットまたはストレートコンピュータとも称される携帯型電子機器であり、図1に示すように、本体11とタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わせるように取り付けられている。
本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上に対するペンまたは指による指定位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができ、ペンまたは指が接触あるいは近接した位置を検出する。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
デジタイザ及びタッチパネルの各々は、フラットパネルディスプレイの画面を覆うように設けられる。タッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えば電磁誘導ペンであってもよい。ユーザは、外部オブジェクト(ペン100又は指)を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト(ペン100又は指)の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡(筆跡)がリアルタイムで画面上に表示される。外部オブジェクトが画面に接触している間の、外部オブジェクトの動きの軌跡が1ストロークに相当する。手書き文書は、通常、手書きされた文字または図形などに対応する多数のストロークの集合、つまり多数の軌跡(筆跡)の集合により構成される。
本実施形態において、手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報として記憶媒体に保存される。時系列情報の詳細は図4を参照して後述するが、この時系列情報は、複数のストロークのそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、ストロークの軌跡上の複数の点に対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
タブレットコンピュータ10は、記憶媒体から既存の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまり時系列情報によって示される複数のストロークそれぞれに対応する軌跡を画面上に表示する機能を有している。さらに、タブレットコンピュータ10は、画面に表示された軌跡(手書き文書)を編集する編集機能を有している。編集機能は、画面に表示された軌跡(手書き文書)に対して、ユーザによる編集操作に応じて、新たな軌跡の挿入、既存の軌跡の削除、あるいは移動をすることができる。
本実施形態では、時系列情報(手書き文書)は、1つまたは複数のページとして管理することができる。この場合、時系列情報(手書き文書)を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の画面に表示することができる。また、サーバ2が手書き文書について文字認識処理をするサービスを提供する場合、タブレットコンピュータ10は、アップロードした時系列情報(手書き文書)に対する文字認識処理結果(文字コード)を、サーバ2から受信することができる。また、文字認識処理の結果には、文字認識処理により得られた文字コードと、同文字コードに対応する1文字に相当するストロークデータとの関連を示すデータが含まれるものとする。
このように、本実施形態では、時系列情報が格納される記憶媒体は、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイスのいずれであってもよい。
次に、図3及び図4を参照して、ユーザによって手書きされたストローク(文字、マーク、図形、表など)と時系列情報との関係について説明する。図3は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる手書き文書(手書き文字列)の例を示している。
図3においては、「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つの軌跡によって表現される。
図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」の「∧」形状のストロークの先頭の点に対応する絶対座標データSD10と、「∧」形状のストロークの軌跡上の点それぞれに対応する、n個の座標データ系列SD11、SD12、…SD1nとを含む。ストロークデータSD2は、手書き文字「A」の「−」形状のストロークの先頭の点に対応する絶対座標データSD20と、「−」形状のストロークの軌跡上の点それぞれに対応する、n個の座標データSD21、SD22、…SD2nとを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
各座標データは、軌跡を表す1点に対応するX座標及びY座標を示す。例えば、絶対座標データSD10は、「∧」形状のストロークの始点のX座標(X1)及びY座標(Y1)を示す。座標データSD11は、「∧」形状のストロークの始点の座標(X1,Y1)を仮想的な原点としたX座標(X11)及びY座標(Y11)を示す。SD1nは、座標(X1,Y1)を仮想的な原点とした「∧」形状のストロークの終点のX座標(X1n)及びY座標(Y1n)を示す。
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Tを含んでいてもよい。手書きされた時点は、絶対時間(例えば、年月日時分秒)またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間(例えば、年月日時分秒)をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Tとして付加してもよい。
このように、各座標データにタイムスタンプ情報Tが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。
さらに、各座標データには、筆圧を示す情報(Z)を追加してもよい。
図4で説明したような構造を有する時系列情報200は、個々のストロークの筆跡だけでなく、ストローク間の時間的関係も表すことができる。従って、時系列情報200を使用することにより、図3に示すようにたとえ手書き「矢印」の先端部が手書き文字「A」上に重ねてまたは手書き文字「A」に近接して書かれたとしても、手書き文字「A」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
本実施形態の時系列情報200においては、ストロークデータSD1、SD2、…、SD7の並びは手書き文字の筆順を示す。例えば、ストロークデータSD1及びSD2の並びは、最初に「∧」形状のストロークが手書きされ、次に「−」形状のストロークが手書きされたことを表す。従って、たとえ2つの手書き文字の筆跡同士が互いに類似していても、それら2つの手書き文字の筆順が互いに異なる場合には、それら2つの手書き文字を異なる文字として区別することができる。
さらに、本実施形態では、手書き文書は、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報200として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報200の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
また、ストロークデータSD1、SD2、…には、ストロークの位置を示す絶対座標データを含むため、絶対座標データを変更することでストロークの筆跡を表示する位置を変更することができる。従って、手書き文書の編集用画面において、手書きされた既存の軌跡に対して挿入、削除、移動等の編集をする場合に、ユーザ操作に応じて絶対座標データを変更することで、各ストロークの軌跡毎に表示位置を変更することができる。
図5は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、図5に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ105、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を電源オンまたは電源オフする機能を有している。
次に、図6を参照して、デジタルノートブックアプリケーションプログラム202の機能構成について説明する。
デジタルノートブックアプリケーションプログラム202は、ペン軌跡表示処理部301、時系列情報生成部302、編集処理部303、ページ保存処理部304、ページ取得処理部305、手書き文書表示処理部306、処理対象ブロック選択部307、及び処理部308等を備える。
デジタルノートブックアプリケーションプログラム202は、タッチスクリーンディスプレイ17を用いて入力されるストロークデータを使用することによって、手書き文書の作成、表示、編集等を行う。タッチスクリーンディスプレイ17は、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動(スライド)」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
ペン軌跡表示処理部301及び時系列情報生成部302は、タッチスクリーンディスプレイ17によって発生される「タッチ」または「移動(スライド)」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントにも、移動先の接触位置の座標が含まれている。従って、ペン軌跡表示処理部301及び時系列情報生成部302は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列を受信することができる。
ペン軌跡表示処理部301は、タッチスクリーンディスプレイ17から座標列を受信し、この座標列に基づいて、ペン100等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ17内のLCD17Aの画面上に表示する。ペン軌跡表示処理部301により、画面にペン100が接触している間のペン100の軌跡、つまり各ストロークの軌跡がLCD17Aの画面上に描かれる。
時系列情報生成部302は、タッチスクリーンディスプレイ17から出力される上述の座標列を受信し、この座標列に基づいて、図4で詳述したような構造を有する上述の時系列情報を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標及びタイムスタンプ情報は作業メモリ401に一時保存してもよい。
さらに、時系列情報生成部302は、時系列情報をもとにブロック構造化処理を実行して、各ストロークに対応するストロークデータをブロック毎に区分することができる。例えば、1つの文字(あるいは1つの記号)を構成するストローク毎に区分する。時系列情報生成部302は、例えば、タイムスタンプ情報をもとに判別される、1つのストロークの最後の座標が入力されてから次のストロークの最初の座標が入力されるまでの時間と、各ストロークの座標から判別されるストローク間の距離に基づいて、複数のストロークを区分することができる。なお、ストローク間の距離は、例えば、ストロークの座標データ列の重心や、ストロークの外接矩形の中心の距離とすることができる。
例えば、図3に示す手書き文字「A」「B」に関しては、通常、手書き文字「A」のストロークデータSD1(「A」の第1ストローク)が入力された後、次のストロークデータSD2(「A」の第2ストローク)が入力されるまでの時間は比較的短く、ストロークデータSD2(「A」の第2ストローク)が入力された後、次の手書き文字「B」のストロークデータSD3(「B」の第1ストローク)が入力されるまでの時間は比較的長くなる。時系列情報生成部302は、予め決められた時間基準値と、ストロークデータSD2,SD3の時間とを比較することにより、時間基準値よりもストロークSD2,SD3の時間が長い場合に、ストロークデータSD2とストロークデータSD3との間をストロークの区分候補として求める。
また、時系列情報生成部302は、各ストロークの間の距離と予め設定された距離基準値とを比較し、距離基準値よりもストローク間の距離が長い場合にストロークの区分候補として求める。図3に示す手書き文字「A」「B」に関しては、手書き文字「A」のストロークデータSD1と次のストロークデータSD2(「A」の第2ストローク)との距離は短く、ストロークデータSD2(「A」の第2ストローク)と手書き文字「B」のストロークデータSD3(「B」の第1ストローク)との距離は長い。時系列情報生成部302は、ストロークデータSD2とストロークデータSD3との距離が距離基準値より長い場合に、ストロークデータSD2とストロークデータSD3との間をストロークの区分候補として求める。
時系列情報生成部302は、前述した各ストローク間の時間と距離に基づいて、複数のストロークデータをブロック毎に区分し、各ブロックを示すブロック情報を時系列情報に追加する。
なお、ブロック構造化処理では、前述したように、ストロークの軌跡の位置と距離に基づいて複数のストロークを区分するだけでなく、文字認識処理の結果を利用してブロックを判別することも可能である。例えば、文字認識処理によって正しく文字と認識された複数のストロークを1つのブロックとしたり、特定の単語に該当する複数の文字に対応するストロークを1つのブロックとしたりできる。さらに、手書き文書中の軌跡の配列をもとに、特定の集合(例えば1行、1列、1段落など)を判別し、それぞれの集合に含まれるストロークデータを1ブロックとして区分することも可能である。
ページ保存処理部304は、生成された時系列情報を手書き文書(手書きページ)として記憶媒体402に保存する。記憶媒体402は、上述したように、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイスのいずれであってもよい。
ページ取得処理部305は、記憶媒体402から既に格納されている任意の時系列情報を読み出す。読み出された時系列情報は手書き文書表示処理部306に送られる。手書き文書表示処理部306は、記憶媒体402から読み出された時系列情報を作業メモリ401に一時保存すると共に、時系列情報を解析し、この解析結果に基づいて、時系列情報によって示される各ストロークの軌跡を画面に手書きページとして表示する。また、手書き文書表示処理部306は、画面に1ページ分の手書きページを表示するだけでなく、手書きページを縮小した手書きページサムネイルを、画面に複数ページ分表示することができる。手書き文書表示処理部306は、処理部308の検索処理部309による検索結果に応じて、複数の検索対象とする手書きページから検索キーとして指定した特定の時系列情報部分を含む手書きページを選択して、手書きページサムネイルにより一覧表示することができる。
編集処理部303は、現在表示中の手書きページを編集するための処理を実行する。例えば、編集処理部303は、タッチスクリーンディスプレイ17上でユーザによって行われる編集操作に応じて、表示されている複数のストローク(軌跡)に対する新たな軌跡の挿入、既存の軌跡の削除、あるいは移動等するための編集処理を実行する。さらに、編集処理部303は、編集処理の結果を表示中の時系列情報に反映するために、時系列情報を更新する。
編集処理部303には、ユーザ操作に応じて表示中の軌跡に対して新たな軌跡を挿入するための挿入処理を実行する挿入処理部303aと、ユーザ操作に応じて表示中の軌跡を削除する削除処理部303bが含まれる。挿入処理部303aと削除処理部303bは、手書き文書表示処理部306によって作業メモリ401に一時保存された時系列情報(ストロークデータ)を、ユーザによる所定の編集操作に応じて変更する。
処理部308は、処理対象の時系列情報に対して様々な処理、例えば、筆跡検索処理、認識処理等を実行することができる。処理部308は、検索処理部309及び検索軌跡表示処理部310を含む。
検索処理部309は、記憶媒体402内に既に格納されている複数の時系列情報(複数の手書きページ)から、検索キーとする特定の時系列情報部分(特定の手書き文字列等)に該当する時系列情報部分を検索する。検索処理部309は、複数の時系列情報の各々から、特定の時系列情報部分に対応するストロークの軌跡との類似度が基準値以上であるストロークの軌跡を有する時系列情報部分を検索する。
認識処理部310は、表示中の時系列情報(手書きページ)に対して手書き文字認識などの認識処理を実行する。認識処理部310は、認識処理対象の時系列情報によって示される複数のストロークデータをグループ化処理することによって得られる複数のブロック(手書きブロック)の各々を文字認識して、これら複数のブロック内の手書き文字それぞれを文字コードに変換する。
次に、デジタルノートブックアプリケーションプログラム202によって実行される手書きページ作成処理の手順について、フローチャートを参照しながら説明する。図7は、実施形態における手書きページ作成処理の手順を示すフローチャート、図8は、手書きページ作成処理中の空白領域設定処理の手順を示すフローチャート、図9は、手書きページ作成処理中の空白領域整形処理の手順を示すフローチャートである。
ユーザがペン100を使用して、タッチスクリーンディスプレイ17上で手書き入力操作を行うと、「タッチ」や「移動」のイベントが発生される。デジタルノートブックアプリケーションプログラム202は、ペン100による「タッチ」が検出され、ペン100の「移動」が検出されたならば(ステップA1、Yes)、検出されたペン100の動きの軌跡をディスプレイに表示する(ステップA2)。さらに、デジタルノートブックアプリケーションプログラム202は、検出されたペン100の動きの軌跡に対応する座標列に基づいて時系列情報(ストロークデータ)を生成し、その時系列情報を作業メモリ401に一時保存する(ステップA3)。
通常の手書き入力操作がユーザによりされた場合には、デジタルノートブックアプリケーションプログラム202は、タッチスクリーンディスプレイ17上で手書きされた文字等の軌跡を表示すると共に、時系列情報を作成する(ステップA1〜A4)。
本実施形態のタブレットコンピュータ10では、通常の手書き入力操作によって作成された手書き文書に対して所定の入力操作をすることで、軌跡の編集が可能な編集処理に移行することができる。
まず、既存の手書き文書(軌跡)に文字列等を挿入するための挿入処理について説明する。ユーザは、デジタルノートブックアプリケーションプログラム202を挿入処理に移行させる場合、例えば、表示された手書き文書中の文字の挿入箇所においてペン100を長押しする。
図10(A)(B)(C)は、編集画面に表示された手書き文書の一部を示す図である。なお、以下の説明では、文字列等が横書きされた手書き文書を例にして説明する。
図10(A)に示す手書き文書では、入力済みの文字列「Suehiro,Ome,Tokyo」の軌跡が表示されている。この文字列の時系列情報についてはブロック構造化処理が施され、ブロック毎にストロークデータが区分されているものとする。
挿入処理部303aは、ペン100が長押しされた場合、すなわち予め決められた時間以上、ペン100の接触位置が移動しないことを検出した場合には(ステップA4、「挿入」)、空白領域設定処理を開始する(ステップA5)。空白領域設定処理では、既存の軌跡の途中に、新たに手書き入力して文字等を挿入することができるように空白領域を設定する。
図8は、空白領域設定処理の手順を示すフローチャートである。
まず、挿入処理部303aは、ペン100により指定された位置と既存の軌跡の配置に応じて、空白領域を設けるために移動させる移動ブロックを判別する(ステップB1)。挿入処理部303aは、例えばブロック毎に、ストロークデータが示す座標データをもとに外接矩形枠を設定する。挿入処理部303aは、ペン100によるタッチ位置が、何れのブロックの外接矩形枠間に含まれるかを判別する。ここでは、文字列等が横書きされた手書き文書を対象としている。すなわち、軌跡が横方向(X座標方向)に配置されているため、挿入処理部303aは、ストロークデータが示す軌跡のY座標データをもとに何れの行のブロック(文字列)が指定されているか判別し、ストロークデータが示す軌跡のX座標データをもとにペン100によるタッチ位置52が何れのブロックの間に含まれるかを判別できる。
図10(A)に示す例では、ペン100によるタッチ位置52が、文字「o」に対応するブロックと「,」に対応するブロックとの間に含まれている。挿入処理部303aは、文字「o」に対応するブロックを含むブロック50を移動ブロックとせず、タッチ位置52より後ろに存在する、ブロック「,」を含むブロック51を移動ブロックと判別する。なお、横書きの手書き文書を対象としている場合、タッチ位置52より後ろに存在するブロックは、タッチ位置52よりX座標値が大きいストロークデータに対応するブロックとなる。挿入処理部303aは、手書き文書の軌跡の配置に応じて、移動ブロックの判別方向を変更するものとする。
挿入処理部303aは、移動ブロックに含まれる各軌跡のストロークデータの位置(絶対座標)を、空白領域のサイズに応じて変更する。空白領域のサイズは、予め決められており、例えば、複数の文字を手書きすることが可能なサイズとなっている。挿入処理部303aは、移動ブロックに含まれる各軌跡のストロークデータの絶対座標データのX座標に、空白領域のサイズ分加算することにより、表示位置を右方向に移動させることができる。
図10(B)は、空白領域53が設けられた手書き文書の例を示している。図10(B)に示すように、タッチ位置52より後ろのブロック51に含まれる全ての軌跡のストロークデータに対して、それぞれ表示位置を右方向に移動させることで、ブロック50とブロック51との間に空白領域53が設けられる。
ここで、挿入処理部303aは、空白領域を設けるためにブロック内の軌跡の表示位置を変更することにより、表示可能領域の端部にまで到達するブロックが存在するか判別する。例えば、横書きの手書き文書の場合には、ブロックの表示位置を変更したとすると、行末のブロックを表示可能領域に表示できない場合に、表示可能領域の端部にまで到達するブロックが存在するものとする。
該当するブロックが存在する場合(ステップB3、Yes)、挿入処理部303aは、表示可能領域の端部に到達するブロックに含まれるストロークデータの位置(絶対座標)を次行に移動するように変更し、ブロック内の軌跡を次行において表示させる(ステップB5)。なお、ブロック内の軌跡を次行に表示させる表示例については後述する(図14参照)。
空白領域設定処理により空白領域が設けられると、挿入処理部303aは、空白領域に対する手書き入力の終了を判定するための時間の計測を開始する(ステップA6)。
空白領域53においてペン100を用いて文字列等が手書き入力されると、デジタルノートブックアプリケーションプログラム202は、ペン100による「タッチ」と「移動」を検出し(ステップA7、Yes)、検出されたペン100の動きの軌跡をディスプレイに表示すると共に(ステップA8)、軌跡に対応する時系列情報(ストロークデータ)を生成し、その時系列情報を作業メモリ401に一時保存する(ステップA9)。
すなわち、ユーザは、空白領域53に通常の手書き入力操作によって文字列等を入力し、軌跡を表示させることができる(ステップA7〜A9)。挿入処理部303aは、空白領域53に対する手書き入力操作が終了した後、時間の計測を開始する。そして、手書き入力操作がされることなく(ステップA7、No)、予め決められた一定時間が経過すると(ステップA10、Yes)、挿入処理部303aは、空白領域53の不要な空白部分を削除して、軌跡の並びを整形するための空白領域整形処理を実行する(ステップA11)。
なお、空白領域53に対する入力操作を終了した後、一定時間が経過した場合に、空白領域整形処理を開始するとしているが、ユーザによる所定の入力操作に応じて、空白領域整形処理を開始するようにしても良い。例えば、終了を指示するためのボタンを設けておき、このボタンに対する入力操作があった場合に、空白領域53に対する手書き入力が終了したものと判別して空白領域整形処理を開始する。
前述したように、空白領域設定処理では、予め決められたサイズの空白領域を設定している。このため、空白領域53に手書きされた文字列等が少ない場合には、軌跡の並びに余分な空白が残ってしまう。空白領域整形処理では、必要とする空白のみを残すように、空白領域53の後ろのブロック内の軌跡の表示位置を変更する。
図9は、空白領域整形処理の手順を示すフローチャートである。
まず、挿入処理部303aは、空白領域53と隣接するブロックとの間に設ける間隔、すなわち空白領域53に挿入された文字列等の後に確保する空白を求める(ステップC1)。挿入処理部303aは、例えば空白領域53と隣接するブロックとの間に設ける間隔を、空白領域53の近くに存在する文字単位のブロックを対象とし、それぞれのブロック間の平均値を求めたり、タッチ位置52に隣接するブロック間の間隔(空白領域53を設定する前の間隔)としたりすることができる。
次に、挿入処理部303aは、空白領域53と隣接するブロックとの間に設ける間隔に応じて、空白領域53に入力された軌跡の位置(絶対座標)を変更する。すなわち、空白領域53に手書き入力された軌跡のうちブロック50に最も近い軌跡のストロークデータについて、ブロック50との距離が、ステップC1において算出された間隔となるように絶対座標データ(X座標)を変更する。同様にして、空白領域53に手書き入力された他の全ての軌跡について、それぞれのストロークデータの絶対座標データ(X座標)を、最も近い軌跡のストロークデータを変更した座標値分に応じて変更する。
ただし、空白領域53に手書き入力された軌跡とブロック50との距離が、ステップC1において算出された間隔より短い場合には、余分な空白が存在しないものとして、空白領域53内の軌跡について位置の変更をしないものとする。
次に、挿入処理部303aは、空白領域53の後ろに存在する既存の軌跡の位置(絶対座標)を変更する(ステップC3)。すなわち、空白領域53に追加された軌跡(位置を変更した後の軌跡)と最も近いブロック51中の軌跡のストロークデータについて、空白領域53の軌跡との距離が、ステップC1において算出された間隔となるように絶対座標データ(X座標)を変更する。同様にして、ブロック51の他の全ての軌跡について、それぞれのストロークデータの絶対座標データ(X座標)を、最も近い軌跡のストロークデータを変更した座標値分に応じて変更する。
図10(C)は、空白領域整形処理が実行された後の手書き文書の一例を示している。図10(C)に示す例では、空白領域53に文字列「−cho」が手書き入力された例を示している。文字列「−cho」には、ブロック54が設定されている。空白領域53に追加された文字列「−cho」は、前に存在するブロック50の近くで手書き入力されているため、軌跡の位置の変更をしていない。ブロック54と最も近い、ブロック51に含まれる軌跡「,」は、空白領域53に追加された軌跡との間に、ステップC1において算出された間隔55を設ける位置に変更されている。ブロック51に含まれる他の軌跡についても、軌跡「,」と同じ分、位置が変更されている。こうして、空白領域設定系処理では、空白領域53に手書き入力された後、不要な空白部分を削除して、空白領域53に入力された軌跡と前後に存在する軌跡との並びを整形することができる。
このようにして、挿入処理では、手書き文書中に配置された既存の軌跡に対して、新たに文字等を挿入したい箇所をペン100による長押しによって指示することで空白領域53が設けられ、この空白領域53に文字等を手書き入力すると余分な空白が削除されて、軌跡の配置が整えられる。このため、手書きにより作成される文書であっても、簡単な入力操作によって、後から文字列等を挿入することが可能となる。
なお、前述した説明では、空白領域53を設定する場合に、ペン100により挿入箇所を長押しするものとしているが、他の入力操作に応じて空白領域53を設定するようにしても良い。以下、他の空白領域の設定方法について説明する。
図11(A)(B)(C)(D)は、ユーザ操作に応じた範囲に空白領域を設定する例を示す図である。
図11(A)に示すように、ブロック50とブロック51との間において、ペン100により長押しされたものとする(図10(A)と同じ)。この場合、前述したように、ペン100により指示されたタッチ位置52に応じて空白領域53を設ける。ここで、図11(B)に示すように、ペン100がタッチされた状態のまま移動された場合、挿入処理部303aは、タッチ位置56の移動に合わせて空白領域を拡大する。
従って、ユーザは、長い文字列等を挿入したい場合に、必要とする分の空白領域を簡単な操作によって設定することができる。このため、長い文字列等を挿入したい場合であっても挿入処理を繰り返して実行する必要が無い。
図11(C)は、空白領域に手書きされた文字列「−cho」の軌跡が表示された例を示している。図11(C)に示す例では、挿入した文字列「−cho」が短かったために、空白領域に不要な空白57が残っている。しかし、前述した空白領域整形処理によって、図11(D)に示すように、挿入された軌跡のブロック54と、その後ろに続くブロック51との間に適当な間隔55を設け、空白領域の不要な部分が削除される。従って、挿入処理が終了した後、既存の軌跡と空白領域に挿入された軌跡の配置が整えられた手書き文書が得られる。
図12は、予め決められたパターンを手書き入力することで、空白領域を設定する例を示す図である。
図12では、空白領域の設定を指示するための予め決められた所定のパターンを「V」形とした例を示している。認識処理部310は、手書き入力された軌跡について認識処理を実行して、所定のパターンを示す軌跡であるかを判別する。挿入処理部303aは、認識処理部310によって所定のパターンが手書き入力されたことを判別すると、このパターンの軌跡の位置に応じて、前述と同様にして空白領域を設定する。例えば、「V」形のパターンの下端頂点の位置を、図10(A)に示すタッチ位置52と同様に用いて空白領域を設定する。なお、「V」形のパターンに限らず、空白領域を設定する位置を特定することができる他のパターンを用いることも可能である。
図13(A)(B)(C)は、ペン100による長押しに応じてメニューを表示する例を示している。
図13(A)に示すように、ペン100により長押しされると、編集処理部303は、タッチ位置52に応じてメニューを表示する。例えば、図13(B)に示すように、タッチ位置52に合わせて(あるいはタッチ位置52を含むように)メニューを表示する。図13(B)に示すメニュー61には、挿入処理の実行を指示するための「挿入」項目61aと、削除処理の実行を指示するための「削除」項目61bが含まれている。
メニュー61を表示した後、図13(C)に示すように、「挿入」項目61aがペン100により選択されると、挿入処理部303aは、例えばペン100により最初に長押しされたタッチ位置52に応じて、前述したように空白領域を設定する。なお、「挿入」項目61aがペン100により選択された後、次にペン100によりタッチされた位置に応じて空白領域を設定するようにしても良い。
次に、空白領域設定処理(図8)において、空白領域を設定することにより、表示可能領域の端部に到達するブロックが存在する場合の表示例について説明する。
図14(A)に示す例では、手書き文書中の軌跡が表示可能領域の端部近くには、文字列「Japan」のブロック70が存在している。ここで、図10(A)と同様にして、ブロック50とブロック51との間に空白領域が設定されたものとする。この場合、ブロック70を表示可能領域内に表示することができない。こうした場合、挿入処理部303aは、ブロック70に含まれる全ての軌跡のストロークデータについて、絶対座標データを次行に相当する値に変更する。これにより、ブロック70が次行に移動される。そして、空白領域に文字列「−cho」が挿入され、空白領域整形処理によって余分な空白が除かれた後に、ブロック70を元の行の表示可能領域に表示できない場合には、ブロック70を次行に移動させたままにする。
なお、次行に相当する値は、予め決めていても良いし、他の行(ブロック)の並びをもとに行間の距離を算出することにより決めても良い。
図14(B)は、空白領域に文字列「−cho」のブロック71が追加されたために、行末の文字列「Japan」のブロック72が次行に変更された例を示している。
なお、図14(B)では、単語単位でブロックが設定されている例を示し、単語に相当するブロックを次行に移動させているが、例えば文字単位でブロックが設定されている場合には、表示可能領域に到達した文字単位のブロックを次行に移動させるようにしても良い。
このようにして、既存の手書き文書に新たな文字列等を挿入することで、行末の軌跡が表示可能領域に表示できない場合であっても、同じ行に表示できない軌跡の表示位置を次行に変更するので、既存の軌跡の形状を損なうことがない。
なお、前述した説明では、手書き文書に空白領域を設定する場合、ペン100による入力操作をするとしているが、ユーザが指でタッチスクリーンディスプレイ17に接触することで、空白領域を設定できるようにしても良い。例えば、ユーザは、表示された軌跡上を2本の指でタッチし、タッチした状態のまま2本の指の間隔が広くなるようにタッチ位置を移動させる。挿入処理部303aは、最初にタッチされた位置にある軌跡(あるいはブロック)の表示位置を、タッチ位置の移動に応じて変更することにより2本の指により指示された位置の間に空白領域を設定する。
次に、挿入処理の変形例について説明する。
前述した説明では、手書き文書を作成する場合、複数行に渡って連続する軌跡を手書き入力できることを前提としているが、例えば1行毎に手書き入力できる領域が制限されている場合の挿入処理について説明する。
例えば、1行毎に、住所入力領域、電子メールアドレス入力領域、電話番号入力領域などが予め決められているものとする。図15(A)では、1行目の住所入力領域には、住所を示す文字列「Suehiro−cho,Ome,Tokyo」が手書き入力されている。2行目の電子メールアドレス入力領域には、電子メールアドレスを示す文字列「E−mail:12345@abc」を手書き入力することで行末に到達してしまい、残りの文字列「.co.jp」が次行の行末近傍に手書き入力されている。
この場合、挿入処理部303aは、行末近傍に手書き入力された文字列「.co.jp」を、前行の電子メールアドレス入力領域に挿入する軌跡であると判別する。挿入処理部303aは、文字列「.co.jp」の軌跡を電子メールアドレス入力領域の行末に挿入できるように、先に手書き入力された文字列の軌跡(ブロック74)と、次行に手書き入力された文字列の軌跡(ブロック75)の表示サイズを同一の倍率で縮小する。
そして、編集処理部303は、縮小された2つのブロックの軌跡が1行中に収まるように、軌跡の表示位置を整える。図15(B)に示すように、ブロック74が縮小されたブロック76は、行頭に合わせた位置に変更され、ブロック75が縮小されたブロック77は、ブロック76と同位置の行位置に変更される。すなわち、挿入処理部303aは、全ての軌跡のストロークデータについて、絶対位置と、それぞれの軌跡を示す座標データを、縮小と表示位置の変更に合わせて変更する。
なお、前述した例では、次行の行末近傍に手書き入力された文字列を、前行の行末に挿入するとしているが、次行の行頭に手書き入力された文字列以外であれば、前述と同様にして、前行の行末に挿入するようにしても良い。次行の行頭に入力された文字列については、例えば3行目の電話番号入力領域に入力された文字列であると判別する。
また、図15に示す例では、行末に手書き文字列等を追加する例について説明しているが、前述したように、軌跡間に空白領域を設定して、文字列等を挿入することもできる。この場合、全ての軌跡を含むブロックについて表示サイズを縮小し、全ての手書き入力された軌跡が1行中に収まるように表示する。
次に、行間に空白領域を設定する場合について説明する。
前述した説明では、軌跡(あるいはブロック)の間に指定された位置に応じて、横方向に空白領域を設けているが、行間に指定された位置に応じて、縦方向(行間)に空白領域を設けることもできる。
図16(A)は、2行の文字列が手書き入力された手書き文書の一例を示している。図16(A)に示す例では、各行の文字列に対して、それぞれブロック80,81が設定されているものとする。ここで、ブロック80とブロック81との間が、ペン100を用いた長押しにより空白領域を設定する位置として指定されたものとする。すなわち、縦方向に配置された軌跡の間が空白領域を設定する位置として指定されている。なお、前述した他の空白領域の設定指示方法を用いることも可能である。この指定に応じて挿入処理部303aは、図16(B)に示すように、ブロック80とブロック81との間に、空白領域82を設定する。ユーザは、空白領域82に新たな文字列等を手書き入力することができる。
図17(A)は、空白領域82に文字列が手書き入力された例を示している。空白領域82に手書き入力された文字列(軌跡)に対してブロック83が設定されている。挿入処理部303aは、空白領域整形処理において、ブロック83とブロック80,81との間に適切な空白領域を設け、その他の不要な空白部分を削除するように、ブロック83とブロック81に含まれる全ての軌跡の位置(絶対座標)を変更する。この結果、図17(B)に示すように、ブロック間(行間)に適切な間隔が設けられた、手書き文書が作成される。
このようにして、横書きの手書きを作成する場合に、行間に空白領域を設けて、この空白領域に文字列等を手書きにより挿入することが可能となる。
次に、既存の手書き文書(軌跡)から文字列等を削除するための削除処理について説明する。
ユーザは、手書き文書(軌跡)から文字列等を削除する場合、例えば、表示された手書き文書中の軌跡に対して、ペン100を用いて軌跡の削除を示す所定の入力操作をする。
削除処理部303bは、ペン100を用いて軌跡の削除を示す所定の入力操作がされた場合(ステップA4、「削除」)、入力操作された軌跡に応じて既存の軌跡を削除する削除処理を実行する。
図18(A)は、手書き文書中の軌跡に対して、削除を示す所定の入力操作がされた場合の表示例を示している。図18(A)に示す例では、削除の対象とする軌跡に設定されたブロックを通過する連続するラインが手書き入力され、そのラインの軌跡90が表示されている。なお、図18(A)に示す例では、文字単位でブロックが設定されているものとする。
まず、削除処理部303bは、既存の軌跡の削除を示す軌跡90が通過するブロックを判別する(ステップA12)。図19には、図18に示す軌跡90の周辺を拡大して示す図である。図19に示すように、軌跡90は、既存の軌跡に設定されたブロック91a,91b,91c,91d,91e,91fを通過している。従って、削除処理部303bは、ブロック91a,91b,91c,91d,91e,91fに含まれる軌跡を削除対象として判別する。
削除処理部303bは、該当するブロックに含まれる全ての軌跡を削除する(ステップA13)。この結果、図18(B)に示すように、軌跡が削除された範囲に空白領域91が設けられる。この空白領域91には、挿入処理において設定された空白領域と同様にして、一定時間内であれば、新たに文字列等を手書き入力することができる(ステップA6〜A8)。
空白領域91に手書き入力されることなく一定時間が経過すると(ステップA10、Yes)、削除処理部303bは、挿入処理と同様にして空白領域整形処理を実行して、空白領域91を削除し、空白領域91の後ろに存在する軌跡の位置を変更する。この結果、図18(C)に示すように、空白領域が削除され、他の軌跡の表示位置が整えられた手書き文書が作成される。
なお、前述した説明では、文字毎にブロックが設定されている場合を例にしているが、例えば単語毎にブロックが設定されている場合には、このブロックに対して軌跡の削除を示す所定の入力操作をすることで、単語単位で軌跡を削除することが可能である。同様にして、軌跡単位、行単位など、他の単位で設定されたブロック毎に削除できるようにしても良い。何れのブロック単位で削除するかは、予め決められていても良いし、ユーザからの入力操作によって切り替えられるようにしても良い。
また、前述した説明では、削除を示す入力操作を、既存の軌跡に設定されたブロックを通過する連続するラインを手書き入力するものとしているが、その他の入力操作とすることもできる。
図20(A)は、予め決められたパターンを手書き入力することで、削除対象とするブロックを指定する例を示す図である。
図20(A)では、削除対象とするブロックを指示するための予め決められた所定のパターンを「V」形とした例を示している。認識処理部310は、手書き入力された軌跡について認識処理を実行して、所定のパターンを示す軌跡であるかを判別する。削除処理部303bは、認識処理部310によって所定のパターンが手書き入力されたことを判別すると、このパターンの軌跡の位置に応じて、削除対象とするブロックを判別する。例えば、「V」形のパターンの下端頂点の位置が含まれるブロックを削除対象として判別する。
この結果、図20(A)では、ブロック93が削除対象として判別される。削除処理部303bは、ブロック93に含まれる軌跡を削除する。この結果、図20(B)に示すように、ブロック93の軌跡が削除された手書き文書が作成される。
なお、「V」形のパターンに限らず、削除対象とするブロックを指定することができる他のパターンを用いることも可能である。
また、図13(B)に示すメニュー61の「削除」項目61bが選択された場合に、削除処理部303bは、削除処理を実行するようにしても良い。削除処理部303bは、「削除」項目61bが選択された後、次に手書き入力された軌跡に応じて削除対象とするブロックを判別する。メニュー61により削除処理を実行することにより、タッチスクリーンディスプレイ17に対する入力操作が、手書き文書を作成するためのストロークであるか、削除するブロック(軌跡)を指定するためのストロークであるかを、明確に判別することが可能となる。
このようにして、簡単な削除を示す入力操作をすることで、既存の軌跡中で指定された軌跡を削除することが可能となる。
なお、前述した説明では、文字列が横書きされる手書き文書が作成される場合を例にして説明しているが、文字列が縦書きされる手書き文書が作成される場合にも、前述と同様の編集処理を適用することが可能である。すなわち、ストロークデータが示す軌跡の配列をもとに縦書きによる文書が作成されていることを判別し、手書き文書(軌跡)に対して指示された位置に対して何れのブロックの軌跡を編集対象とするか判別する。
また、編集処理部303は、手書きされた既存の軌跡に対して挿入、削除、移動等の編集をする場合に、処理対象としたストロークデータ群に対する削除、移動、追加等の処理を実行する。この場合、複数のストロークデータが処理対象のストロークデータ群として選択されている場合には、編集処理部303は、これら複数のストロークデータをまとめて画面上から削除または画面上に別の位置に移動することができる。時系列情報においては、移動された各ストロークデータの時系列座標は、移動先位置に応じて自動的に変更してもよい。また、移動された各ストロークデータの時系列座標を変更したことを表す操作履歴を時系列情報に追加してもよい。削除された各ストロークデータも、時系列座標から必ずしも削除しなくてもよく、これら各ストロークデータを削除したことを表す操作履歴を時系列情報に追加してもよい。
また、前述した編集処理は、タブレットコンピュータ10と連携して動作する、パーソナルコンピュータ1またはインターネット上のサーバ2によって実行してもよい。
本実施形態の手書き文書に対する各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムを、タッチスクリーンディスプレイを備えた通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…タブレットコンピュータ、200…時系列情報、301…ペン軌跡表示処理部、302…時系列情報生成部、303…編集処理部、303a…挿入処理部、303b…削除処理部、304…ページ保存処理部、305…ページ取得処理部、306…手書き文書表示処理部、307…処理対象ブロック選択部、308…処理部、309…検索処理部、310…認識処理部。

Claims (8)

  1. タッチスクリーンディスプレイ上で手書きされた複数のストロークに対応するストロークデータを記録する記録手段と、
    前記ストロークデータに基づいて、前記複数のストロークに対応する第1及び第2の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示する表示処理手段と、
    前記第1の軌跡と前記第2の軌跡との間を指定する入力操作に応じて、前記第1の軌跡と前記第2の軌跡との間に空白領域を挿入する挿入手段と、
    前記空白領域にストロークが手書きされた場合、前記空白領域中のストロークが手書きされていない領域に前記第1の軌跡と前記第2の軌跡の少なくとも一方が表示されるように前記ストロークデータを変更する変更手段と
    を具備する電子機器。
  2. 前記表示処理手段は、前記変更手段により変更された前記ストロークデータに応じた軌跡を表示する請求項1記載の電子機器。
  3. 前記挿入手段は、前記第1の軌跡と前記第2の軌跡の配置に応じた方向に沿って前記空白領域を挿入する請求項1記載の電子機器。
  4. 前記複数の軌跡の何れかを指定する入力操作に応じて、前記入力操作により指定された軌跡を削除する削除手段をさらに有する請求項1記載の電子機器。
  5. 前記挿入手段は、前記入力操作による指定位置が移動された場合、指定位置の移動に合わせて前記空白領域を拡大する請求項1記載の電子機器。
  6. 前記ストロークデータは、前記複数のストロークが手書きされた順を示す時系列の情報を含む請求項1記載の電子機器。
  7. タッチスクリーンディスプレイ上で手書きされた複数のストロークに対応するストロークデータを記録し、
    前記ストロークデータに基づいて、前記複数のストロークに対応する第1及び第2の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示し、
    前記第1の軌跡と前記第2の軌跡との間を指定する入力操作に応じて、前記第1の軌跡と前記第2の軌跡との間に空白領域を挿入し、
    前記空白領域にストロークが手書きされた場合、前記空白領域中のストロークが手書きされていない領域に前記第1の軌跡と前記第2の軌跡の少なくとも一方が表示されるように前記ストロークデータを変更する手書き文書作成方法。
  8. コンピュータに、
    タッチスクリーンディスプレイ上で手書きされた複数のストロークに対応するストロークデータを記録する手順と、
    前記ストロークデータに基づいて、前記複数のストロークに対応する第1及び第2の軌跡を含む複数の軌跡を前記タッチスクリーンディスプレイに表示する手順と、
    前記第1の軌跡と前記第2の軌跡との間を指定する入力操作に応じて、前記第1の軌跡と前記第2の軌跡との間に空白領域を挿入する手順と、
    前記空白領域にストロークが手書きされた場合、前記空白領域中のストロークが手書きされていない領域に前記第1の軌跡と前記第2の軌跡の少なくとも一方が表示されるように前記ストロークデータを変更する手順とを実行させるための手書き文書作成プログラム。
JP2012119776A 2012-05-25 2012-05-25 電子機器、手書き文書作成方法、及び手書き文書作成プログラム Active JP5248696B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012119776A JP5248696B1 (ja) 2012-05-25 2012-05-25 電子機器、手書き文書作成方法、及び手書き文書作成プログラム
US13/674,728 US9013428B2 (en) 2012-05-25 2012-11-12 Electronic device and handwritten document creation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012119776A JP5248696B1 (ja) 2012-05-25 2012-05-25 電子機器、手書き文書作成方法、及び手書き文書作成プログラム

Publications (2)

Publication Number Publication Date
JP5248696B1 true JP5248696B1 (ja) 2013-07-31
JP2013246633A JP2013246633A (ja) 2013-12-09

Family

ID=49041879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012119776A Active JP5248696B1 (ja) 2012-05-25 2012-05-25 電子機器、手書き文書作成方法、及び手書き文書作成プログラム

Country Status (2)

Country Link
US (1) US9013428B2 (ja)
JP (1) JP5248696B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111598347A (zh) * 2020-05-20 2020-08-28 上海评驾科技有限公司 一种道路运输车辆超长行程切分优化方法
WO2024040383A1 (zh) * 2022-08-22 2024-02-29 广州视源电子科技股份有限公司 书写显示方法、书写响应方法及装置、终端设备及服务器

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5284523B1 (ja) * 2012-09-05 2013-09-11 株式会社東芝 情報処理システム、プログラムおよび情報処理システムの処理方法
JP2014071755A (ja) * 2012-09-28 2014-04-21 Sharp Corp 編集装置、編集装置の制御方法
KR20140139247A (ko) * 2013-05-27 2014-12-05 삼성전자주식회사 오브젝트 운용 방법 및 그 전자 장치
US9465985B2 (en) 2013-06-09 2016-10-11 Apple Inc. Managing real-time handwriting recognition
JP5898154B2 (ja) * 2013-09-10 2016-04-06 レノボ・シンガポール・プライベート・リミテッド デジタイザ・パネルによる入力が可能な電子機器および入力方法
WO2015075930A1 (en) 2013-11-19 2015-05-28 Wacom Co., Ltd. Method and system for ink data generation, ink data rendering, ink data manipulation and ink data communication
KR102199193B1 (ko) * 2014-01-22 2021-01-06 삼성전자주식회사 핸드라이팅 정보 운용 방법 및 이를 지원하는 전자 장치
JP6359862B2 (ja) * 2014-04-17 2018-07-18 シャープ株式会社 タッチ操作入力装置、タッチ操作入力方法及びプログラム
JP6430198B2 (ja) * 2014-09-30 2018-11-28 株式会社東芝 電子機器、方法及びプログラム
CN104360764A (zh) * 2014-10-20 2015-02-18 深圳市天时通科技有限公司 书写系统
JP2016091464A (ja) * 2014-11-10 2016-05-23 大日本印刷株式会社 情報処理装置、情報処理システム及びプログラム
KR20160062566A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 필기 문자를 보정하는 디바이스 및 방법
JPWO2016170691A1 (ja) * 2015-04-24 2018-02-01 富士通株式会社 入力処理プログラム、入力処理装置、入力処理方法、文字特定プログラム、文字特定装置、及び文字特定方法
WO2016170690A1 (ja) * 2015-04-24 2016-10-27 富士通株式会社 入力制御プログラム、入力制御装置、入力制御方法、文字修正プログラム、文字修正装置、及び文字修正方法
US10346510B2 (en) * 2015-09-29 2019-07-09 Apple Inc. Device, method, and graphical user interface for providing handwriting support in document editing
US11402991B2 (en) 2015-12-01 2022-08-02 Myscript System and method for note taking with gestures
US10049289B2 (en) * 2016-02-12 2018-08-14 Wacom Co., Ltd. Method and system for generating and selectively outputting two types of ink vector data
US10248635B2 (en) * 2016-02-29 2019-04-02 Myscript Method for inserting characters in a character string and the corresponding digital service
JP6500830B2 (ja) * 2016-04-27 2019-04-17 京セラドキュメントソリューションズ株式会社 手書き文字入力装置、画像形成装置及び手書き文字入力方法
DK179329B1 (en) 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
JP6619308B2 (ja) * 2016-09-07 2019-12-11 株式会社ワコム 手書きデータ描画方法、手書きデータ描画装置、及びプログラム
JP6716409B2 (ja) * 2016-09-23 2020-07-01 株式会社Nttドコモ 情報処理装置
JP6475883B2 (ja) * 2018-06-21 2019-02-27 シャープ株式会社 タッチ入力表示装置、表示制御方法及びプログラム
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
JP6849774B2 (ja) * 2019-11-14 2021-03-31 株式会社ワコム 方法、プログラム、及びコンピュータ
CN110955355A (zh) * 2019-11-29 2020-04-03 随锐科技集团股份有限公司 电子白板的文件处理方法及装置、计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08185398A (ja) * 1994-12-29 1996-07-16 Sharp Corp 手書き文字入力表示装置
JP2001175408A (ja) * 1999-12-21 2001-06-29 Fujitsu Ltd 手書き文字入力装置及びそれを実現するためのプログラムを記録した記録媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1223366A (en) 1984-09-27 1987-06-23 Abijah S. Fox System for automatic adjustment and editing of handwritten text images
JP2939119B2 (ja) * 1994-05-16 1999-08-25 シャープ株式会社 手書き文字入力表示装置および方法
US5970455A (en) 1997-03-20 1999-10-19 Xerox Corporation System for capturing and retrieving audio data and corresponding hand-written notes
JPH11306369A (ja) 1998-04-16 1999-11-05 Hitachi Ltd 画像データ編集装置
JP2001312340A (ja) 2000-04-28 2001-11-09 Brother Ind Ltd 手書き入力装置
JP3950624B2 (ja) * 2000-11-22 2007-08-01 日本電気株式会社 診療支援システム、その表示方法及びそのプログラムを記録した記録媒体
JP5220278B2 (ja) * 2006-01-27 2013-06-26 任天堂株式会社 ゲーム装置および手書き入力プログラム
US8922489B2 (en) * 2011-03-24 2014-12-30 Microsoft Corporation Text input using key and gesture information
JP5349645B1 (ja) * 2012-05-11 2013-11-20 株式会社東芝 電子機器および手書き文書処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08185398A (ja) * 1994-12-29 1996-07-16 Sharp Corp 手書き文字入力表示装置
JP2001175408A (ja) * 1999-12-21 2001-06-29 Fujitsu Ltd 手書き文字入力装置及びそれを実現するためのプログラムを記録した記録媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111598347A (zh) * 2020-05-20 2020-08-28 上海评驾科技有限公司 一种道路运输车辆超长行程切分优化方法
CN111598347B (zh) * 2020-05-20 2024-02-09 上海评驾科技有限公司 一种道路运输车辆超长行程切分优化方法
WO2024040383A1 (zh) * 2022-08-22 2024-02-29 广州视源电子科技股份有限公司 书写显示方法、书写响应方法及装置、终端设备及服务器

Also Published As

Publication number Publication date
JP2013246633A (ja) 2013-12-09
US9013428B2 (en) 2015-04-21
US20130314337A1 (en) 2013-11-28

Similar Documents

Publication Publication Date Title
JP5248696B1 (ja) 電子機器、手書き文書作成方法、及び手書き文書作成プログラム
JP5349645B1 (ja) 電子機器および手書き文書処理方法
JP6109625B2 (ja) 電子機器およびデータ処理方法
JP5395927B2 (ja) 電子機器および手書き文書検索方法
JP5694234B2 (ja) 電子機器、手書き文書表示方法、及び表示プログラム
US20150242114A1 (en) Electronic device, method and computer program product
US9207808B2 (en) Image processing apparatus, image processing method and storage medium
US20150146986A1 (en) Electronic apparatus, method and storage medium
JP6092418B2 (ja) 電子機器、方法及びプログラム
US20140035844A1 (en) Electronic apparatus, method, and non-transitory computer-readable storage medium
JP5925957B2 (ja) 電子機器および手書きデータ処理方法
US9025878B2 (en) Electronic apparatus and handwritten document processing method
JP5567097B2 (ja) 電子機器、手書き文書表示方法、及び表示プログラム
JP5869179B2 (ja) 電子機器および手書き文書処理方法
KR20160064925A (ko) 필기 입력 장치 및 그 제어 방법
US9183276B2 (en) Electronic device and method for searching handwritten document
WO2014192156A1 (ja) 電子機器および処理方法
JP2016085512A (ja) 電子機器、方法及びプログラム
JP5284523B1 (ja) 情報処理システム、プログラムおよび情報処理システムの処理方法
JP2014203393A (ja) 電子機器、手書き文書処理方法、及び手書き文書処理プログラム
JP6223687B2 (ja) 電子機器および手書き文書検索方法
JP5330576B1 (ja) 情報処理装置および筆跡検索方法
JP2013239203A (ja) 電子機器、方法、及びプログラム
JP2015038670A (ja) 電子機器および方法
WO2014125654A1 (ja) 電子機器、方法、およびプログラム

Legal Events

Date Code Title Description
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: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130410

R151 Written notification of patent or utility model registration

Ref document number: 5248696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

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