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

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

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

Info

Publication number
JPWO2014192157A1
JPWO2014192157A1 JP2015519593A JP2015519593A JPWO2014192157A1 JP WO2014192157 A1 JPWO2014192157 A1 JP WO2014192157A1 JP 2015519593 A JP2015519593 A JP 2015519593A JP 2015519593 A JP2015519593 A JP 2015519593A JP WO2014192157 A1 JPWO2014192157 A1 JP WO2014192157A1
Authority
JP
Japan
Prior art keywords
stroke
handwritten
input
length
handwriting
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
JP2015519593A
Other languages
English (en)
Other versions
JP5989903B2 (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
Application granted granted Critical
Publication of JP5989903B2 publication Critical patent/JP5989903B2/ja
Publication of JPWO2014192157A1 publication Critical patent/JPWO2014192157A1/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/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
    • 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/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/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
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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
    • 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
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)

Abstract

実施形態によれば、方法は、ディスプレイ上で手書きされるストロークに対応するストロークデータを入力することと、ストロークデータに対応するストロークと、そのストロークに続く第1長さのストロークとをディスプレイに表示することと、を具備し、第1長さは手書きされるストロークが入力される向きによって異なる。

Description

本発明の実施形態は手書き文字、記号、図形等の手書き文書の表示に関する。
近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連づけられた機能の実行を電子機器に指示することができる。
タッチスクリーンディスプレイを使った入力操作は、電子機器に対して動作指示を与えるだけではなく、文書を手書きで入力する用途にも使われている。最近では、この種の電子機器を持参して会議等に出席し、タッチスクリーンディスプレイ上で手書き入力を行うことで、メモを取ること等も行われ始めている。この手書き入力に関する処理については、これまでも種々の提案がなされている。
ペンや指でタッチスクリーンディスプレイ上に文字や絵などを描いた際、入力データ(筆跡を構成する各点の座標データ)がオペレーティングシステム(OS)を含むソフトウェアで処理され、各座標を結ぶ筆跡を作成した後その文字や絵が実際にタッチスクリーンディスプレイ上に表示されるまでには、数10ミリ秒から100ミリ秒程度の遅延が生じる。この遅延が、タッチスクリーンディスプレイ上での手書き入力の書き心地を損ねる要因となってしまっている。
特開2011-100282号公報
本発明の一形態の目的は、ユーザにとって手書き入力を行いやすい電子機器、方法およびプログラムを提供することである。
実施形態によれば、方法は、ディスプレイ上で手書きされるストロークに対応するストロークデータを入力することと、ストロークデータに対応するストロークと、そのストロークに続く第1長さのストロークとをディスプレイに表示することと、を具備し、第1長さは手書きされるストロークが入力される向きによって異なる。
図1は、実施形態に係る電子機器の外観の一例を示す斜視図である。 図2は、電子機器と他の装置との連携動作の一例を示すブロック図である。 図3は、タッチスクリーンディスプレイに手書きされる手書き文書の一例を示す図である。 図4は、ストロークデータの集合である時系列情報の一例を示す図である。 図5は、電子機器のシステム構成の一例を示すブロック図である。 図6は、電子機器によって表示されるホーム画面を示す図である。 図7は、電子機器によって表示されるノートプレビュー画面を示す図である。 図8は、電子機器によって表示される設定画面を示す図である。 図9は、電子機器によって表示されるページ編集画面を示す図である。 図10は、電子機器によって表示される検索ダイアログを示す図である。 図11は、電子機器によって実行される手書きノートアプリケーションプログラムの機能構成を示すブロック図である。 図12は、手書き入力の軌跡(筆跡)の表示の遅延の一例を説明する図である 図13は、右手で手書き入力する際の予測外れの影響を示す図である。 図14は、左手で手書き入力する際の予測外れの影響を示す図である。 図15は、利き手と筆跡の方向に応じて予測長さあるいは予測時間の設定を変える一例を示す図である。 図16は、手書き入力の際の利き手の判定処理の一例を示すフローチャートである。 図17は、ペンを手前側に傾けて持つ場合の一例を示す図である。 図18は、筆跡表示の一例を示す図である。 図19は、図18の表示処理の流れの一例を示すフローチャートである。 図20は、図18のストローク角度の求め方を説明するための図である。 図21は、筆跡表示の他の例を示す図である。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観の一例を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を説明する。タブレットコンピュータ10は、タブレットまたはストレートコンピュータとも称される携帯型電子機器であり、本体11は、薄い箱形の筐体を有している。
タッチスクリーンディスプレイ17は、本体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は、無線LANなどの無線通信デバイスを備えており、パーソナルコンピュータ1との無線通信を実行することができる。さらに、タブレットコンピュータ10は、無線通信デバイスを使用してインターネット3上のサーバ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のストレージデバイスのいずれであってもよい。
次に、図3および図4を参照して、ユーザによって手書きされたストローク(文字、図形、表など)と時系列情報との関係について説明する。図3は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる手書き文書(手書き文字列)の一例を示している。
手書き文書では、一旦手書きによって入力される文字や図形などの上に、さらに別の文字や図形などが手書きによって入力されるというケースが多い。図3においては、「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」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)、つまり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が追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。図4には示していないが、各座標データには、筆圧を示す情報(Z)を追加してもよい。
図4で説明したような構造を有する時系列情報200は、個々のストロークの筆跡だけでなく、ストローク間の時間的関係も表すことができる。したがって、この時系列情報200を使用することにより、図3に示すようにたとえ手書き「矢印」の先端部が手書き文字「A」上に重ねてまたは手書き文字「A」に近接して書かれたとしても、手書き文字「A」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
さらに、本実施形態では、上述したように、手書き文書データは、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報200として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。従って、本実施形態の時系列情報200の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
図5は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、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を電源オンまたは電源オフする機能を有している。
次に、手書きノートアプリケーションプログラム202によってユーザに提示される幾つかの代表的な画面の例を説明する。
図6は、手書きノートアプリケーションプログラム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は、このノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図7に示すノートプレビュー画面を表示する。図7のノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。
さらに、手書きノートアプリケーションプログラム202は、ペン100または指を使用して使用してユーザによって行われるデスクトップ画面領域70上のジェスチャ(例えばタップジェスチャ等)も検出することができる。デスクトップ画面領域70の中央部に位置するノートアイコン上のジェスチャ(例えばタップジェスチャ等)の検出に応答して、手書きノートアプリケーションプログラム202は、中央部に位置するノートアイコンに対応する手書きノートを選択し、そして、デスクトップ画面の代わりに、図7に示すノートプレビュー画面を表示する。
さらに、ホーム画面はメニューを表示することができる。このメニューは、画面の下部、例えば引き出し画面領域71に表示されるノート一覧ボタン81A、ノート作成ボタン81B、ノート削除ボタン81C、検索ボタン81D、設定ボタン81Eを備える。ノート一覧ボタン81Aは手書きノートの一覧を表示するためのボタンである。ノート作成ボタン81Bは、新しい手書きノートを作成(追加)するためのボタンである。ノート削除ボタン81Cは手書きノートを削除するためのボタンである。検索ボタン81Dは検索画面(検索ダイアログ)を開くためのボタンである。設定ボタン81Eはアプリケーションの設定画面を開くためのボタンである。
なお、図示しないが、引き出し画面領域71の下にも、戻るボタン、ホームボタン、リーセントアプリケーションボタンが表示される。
図8は、設定ボタン81Eがペン100または指でタップされた際に開かれる設定画面の一例を示す。
この設定画面は様々な設定項目を表示する。これら設定項目には、「バックアップと復元」、「入力モード(ペン、またはタッチ入力モード)」、「利き手(右利き、または左利き)」、「ライセンス情報」、「ヘルプ」等が含まれる。設定項目「利き手」に対応するボタンがペン100または指でタップされると、右利き、または左利きの選択画面が表示される。
ホーム画面で、ノート作成ボタン81Bが、ペン100または指でタップされると、ノート作成画面が表示される。ここで、タイトル欄にノートの名前を手書き入力する。なお、ノートの表紙と用紙とを選択することができる。作成ボタンを押すと、新規なノートが作成され、作成したノートは引き出し画面領域71に置かれる。
図7は上述のノートプレビュー画面の一例を示す。
ノートプレビュー画面は、選択された手書きノート内の任意のページを閲覧可能な画面である。ここでは、ホーム画面のデスクトップ画面領域70のノートアイコン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、およびプロパティ表示ボタン82Hを備える。ホームボタン82Aは、ノートのプレビューを閉じてホーム画面を表示するためのボタンである。ページ一覧ボタン82Bは、現在選択されている手書きノート内のページの一覧を表示するためのボタンである。ページ追加ボタン82Cは、新しいページを作成(追加)するためのボタンである。編集ボタン82Dはページ編集画面を表示するためのボタンである。ページ削除ボタン82Eは、ページを削除するためのボタンである。ラベルボタン82Fは、使用可能なラベルの種類の一覧を表示するためのボタンである。検索ボタン82Gは検索画面を表示するためのボタンである。プロパティ表示ボタン82Hは、このノートのプロパティを表示するためのボタンである。
手書きノートアプリケーションプログラム202はユーザによって行われるノートプレビュー画面上の様々なジェスチャを検出することができる。例えば、あるジェスチャの検出に応答して、手書きノートアプリケーションプログラム202は、一番上に表示されるべきページを任意のページに変更する(ページ送り、ページ戻し)。また、一番上のページ上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、またはペンアイコン771上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、あるいは編集ボタン82D上で行われるあるジェスチャ(例えばタップジェスチャ)の検出に応答して、手書きノートアプリケーションプログラム202は、一番上のページを選択し、そしてノートプレビュー画面の代わりに、図9に示すページ編集画面を表示する。
図9のページ編集画面は、ページ(手書きページ)の新規作成、および既存のページの閲覧および編集が可能な画面である。図7のノートプレビュー画面上のページ901が選択された場合には、図9に示すように、ページ編集画面は、ページ901の内容を表示する。
このページ編集画面において、破線で囲まれた矩形の領域500は手書き可能な手書き入力エリアである。手書き入力エリア500においては、デジタイザ17Cからの入力イベントは手書きストロークの表示(描画)のために使用され、タップ等のジェスチャを示すイベントとしては使用されない。一方、ページ編集画面において、手書き入力エリア500以外の領域においては、デジタイザ17Cからの入力イベントはタップ等のジェスチャを示すイベントとしても使用され得る。
タッチパネル17Bからの入力イベントは、手書きストロークの表示(描画)には使用されず、タップ、スワイプ等のジェスチャを示すイベントとして使用される。
ページ編集画面は、さらに、ユーザによって予め登録された3種類のペン501〜503と、範囲選択ペン504、消しゴムペン505とを含むクイックセレクトメニューを手書き入力エリア500外の画面上部に表示する。ここでは、黒ペン501、赤ペン502、マーカー503がユーザによって予め登録されている場合が説明されている。ユーザは、ペン100または指でクイックセレクトメニュー内のあるペン(ボタン)をタップすることにより、使用するペンの種類を切り替えることが出来る。例えば、黒ペン501がユーザによるペン100または指を使用したタップジェスチャによって選択された状態で、ペン100を用いた手書き入力操作がページ編集画面上で行われると、手書きノートアプリケーションプログラム202は、ペン100の動きに合わせて黒色のストローク(軌跡)をページ編集画面上に表示する。
クイックセレクトメニュー内の上述の3種類のペンは、ペン100のサイドボタン(図示せず)の操作によっても切り替えることが出来る。クイックセレクトメニュー内の上述の3種類のペンの各々には、よく使うペンの色やペンの太さの組み合わせを設定することができる。
ページ編集画面は、さらに、メニューボタン511、ページ戻し(ノートプレビュー画面に戻る)ボタン512、新規ページ追加ボタン513を手書き入力エリア500外の画面下部に表示する表示する。メニューボタン511はメニューを表示するためのボタンである。
このメニューは、例えば、このページをごみ箱に入れる、コピーやカットしたページの一部を貼り付ける、検索画面を開く、エクスポートサブメニューを表示する、インポートサブメニューを表示する、ページをテキストに変換してメールを送る、ペンケースを表示する等のボタンを表示してもよい。エクスポートサブメニューは、例えば、ページ編集画面上に表示されている手書きページを認識して電子文書ファイル、プレゼンテーションファイル、画像ファイル等に変換する機能、あるいはページを画像ファイルに変換して他のアプリケーションと共有する機能をユーザに選択させる。インポートサブメニューは、例えば、メモギャラリーからメモをインポートする機能、あるいはギャラリーから画像をインポートする機能をユーザに選択させる。ペンケースは、クイックセレクトメニュー内の3種類のペンの各々の色(描画される線の色)および太さ(描画される線の太さ)を変更可能なペン設定画面を呼び出すためのボタンである。
図10は、検索画面(検索ダイアログ)の例を示す。図10では、ノートプレビュー画面上に検索画面(検索ダイアログ)が開かれた場合が説明されている。
検索画面は、検索キー入力領域530、筆跡検索ボタン531、テキスト検索ボタン532、デリートボタン533、検索実行ボタン534を表示する。筆跡検索ボタン531は筆跡検索を選択するためのボタンである。テキスト検索ボタン532はテキスト検索を選択するためのボタンである。検索実行ボタン534は、検索処理の実行を要求するためのボタンである。
筆跡検索においては、検索キー入力領域530は、検索キーとすべき文字列、図形、表などを手書きするための入力領域として使用される。図10においては、検索キー入力領域530に手書き文字列「Determine」が検索キーとして入力される。ユーザは、手書き文字列に限らず、手書き図形、手書き表などを検索キー入力領域530にペン100で手書きすることができる。検索キー入力領域530に手書き文字列「Determine」が検索キーとして入力された状態で検索実行ボタン434がユーザによって選択されると、手書き文字列「Determine」のストローク群(クエリーストローク群)を用いて、このクエリーストローク群に対応するストローク群を含む手書きノートを検索するための筆跡検索が実行される。筆跡検索では、ストローク間のマッチングによって、クエリーストローク群に類似するストローク群が検索される。クエリーストローク群とある別のストローク群との間の類似度の算出においては、DP(Dynamic Programming)マッチングを使用してもよい。
テキスト検索においては、例えばソフトウェアキーボードが画面上に表示される。ユーザは、ソフトウェアキーボードを操作することによって任意のテキスト(文字列)を検索キーとして検索キー入力領域530に入力することができる。検索キー入力領域530にテキストが検索キーとして入力された状態で検索実行ボタン534がユーザによって選択されると、このテキスト(クエリーテキスト)に対応するストロークデータ群を含む手書きノートを検索するためのテキスト検索が実行される。
筆跡検索/テキスト検索は、全ての手書きノートを対象に実行することも出来るし、選択された手書きノートのみを対象に実行することも出来る。筆跡検索/テキスト検索が実行されると、検索結果画面が表示される。検索結果画面においては、クエリーストローク群(またはクエリーテキスト)に対応するストローク群を含む手書きページの一覧が表示される。ヒットワード(クエリーストローク群またはクエリーテキストに対応するストローク群)は強調表示される。
次に、図11を参照して、手書きノートアプリケーションプログラム202の機能構成について説明する。
手書きノートアプリケーションプログラム202は、手書き文書データを扱うことが可能なWYSIWYGアプリケーションである。この手書きノートアプリケーションプログラム202は、例えば、表示処理部301、時系列情報生成部302、編集処理部303、ページ保存処理部306、ページ取得処理部307および作業メモリ401等を備える。表示処理部301は、手書き入力部301A、筆跡予測部301B、筆跡描画部301Cを含む。
上述したタッチパネル17Bは、「タッチ(接触)」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ(接触)」は、画面上にオブジェクト(指)が接触したことを示すイベントである。「移動(スライド)」は、画面上にオブジェクト(指)が接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からオブジェクト(指)が離されたことを示すイベントである。
上述したデジタイザ17Cも、「タッチ(接触)」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ(接触)」は、画面上にオブジェクト(ペン100)が接触したことを示すイベントである。「移動(スライド)」は、画面上にオブジェクト(ペン100)が接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面からオブジェクト(ペン100)が離されたことを示すイベントである。
手書きノートアプリケーションプログラム202は手書きページデータの作成、閲覧、編集を行うためのページ編集画面をタッチスクリーンディスプレイ17上に表示する。
表示処理部301および時系列情報生成部302は、デジタイザ17Cによって発生される「タッチ(接触)」、「移動(スライド)」または「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ(接触)」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントには、移動先の接触位置の座標が含まれている。したがって、表示処理部301および時系列情報生成部302は、デジタイザ17Cから接触位置の動きの軌跡に対応する座標列を受信することができる。
表示処理部301は、デジタイザ17Cを用いて検出される画面上のオブジェクト(ペン100)の動きに応じて手書きストロークを画面上に表示する。この表示処理部301により、画面にペン100が接触している間のペン100の軌跡、つまり各ストロークの軌跡がページ編集画面上に表示される。
時系列情報生成部302は、デジタイザ17Cから出力される上述の座標列を受信し、この座標列に基づいて、図4で詳述したような構造を有する時系列情報(座標データ系列)を含む手書きデータを生成する。時系列情報生成部302は、生成された手書きデータを作業メモリ401に一時保存する。
編集処理部303は現在表示中の手書きページを編集するための処理を実行する。すなわち、編集処理部303は、タッチスクリーンディスプレイ17上でユーザによって行われる編集操作および手書き入力操作に応じて、現在表示中の手書きページに新たなストローク(新たな手書き文字、新たな手書きマーク等)を追加する処理、表示されている複数のストローク内の1以上のストロークを削除または移動いる処理等を含む編集処理を実行する。さらに、編集処理部303は、編集処理の結果を表示中の時系列情報に反映するために作業メモリ401内の時系列情報を更新する。
ページ保存処理部306は、作成中の手書きページ上の複数の手書きストロークに対応する複数のストロークデータを含む手書きページデータを記憶媒体402に保存する。記憶媒体402は、例えば、タブレットコンピュータ10内のストレージデバイスであってもよいし、サーバコンピュータ2のストレージデバイスであってもよい。
ページ取得処理部307は、記憶媒体402から任意の手書きページデータを取得する。この取得された手書きページデータは表示処理部301に送られる。表示処理部301は、手書きページデータに含まれる複数のストロークデータに対応する複数のストロークを画面上に表示する。
図11の表示処理部301の詳細を説明する。
前述したように、タッチスクリーンディスプレイ17は、画面に対するタッチ操作をタッチパネル17Bまたはデジタイザ17Cで検出する。手書きデータ入力部301Aは、タッチパネル17Bまたはデジタイザ17Cから出力される検出信号を入力するモジュールである。検出信号には、タッチ位置の座標情報(X,Y)が含まれている。手書きデータ入力部301Aによって入力された検出信号は、筆跡予測部301Bおよび筆跡描画部301Cに供給される。
筆跡描画部301Cは、手書き入力の軌跡(筆跡)を描画してタッチスクリーンディスプレイ17のLCD17Aに表示するモジュールである。筆跡描画部301Cは、第1に、手書きデータ入力部301Aからの検出信号に基づき、手書き入力の軌跡(筆跡)に対応する線分を描画する第1の描画機能を有している。
筆跡予測部301Bは、手書きデータ入力部301Aからの検出信号に基づき、続いてタッチパネル17Bまたはデジタイザ17Cで所定時間後に検出されるであろうタッチ操作の位置を予測し、その予測結果を、例えば手書きデータ入力部301Aからの検出信号と同じフォーマットで予測信号として筆跡描画部301Cに供給する。筆跡描画部301Cは、第2に、この筆跡予測部301Bからの予測信号に基づき、手書き入力の軌跡(筆跡)に対応する線分に後続すると予測される線分(予測線分)を描画する第2の描画機能を有している。つまり、筆跡描画部301Cは、手書き入力の軌跡(筆跡)に対応する線分と、当該手書き入力の軌跡(筆跡)に対応する線分に後続すると予測される線分(予測線分)とをタッチスクリーンディスプレイ17のLCD17Aに表示する。予測線分は所定時間後に検出されるであろう位置まであり、タッチ操作の検出は一定時間周期で行われるので、予測線分の長さは所定時間×検出ピッチで決まっている。そして、タブレットコンピュータ10は、予測が外れた場合にユーザに与える違和感を低減すること等を実現する仕組みを備えたものであり、以下、この点について詳述する。
ここで、タブレットコンピュータ10が実行する筆跡表示処理の原理についての理解を助けるために、まず、図12を参照して、描画の遅延について説明する。
例えば、ペン100を使ってタッチスクリーンディスプレイ17上に文字や絵を描いた場合、前述したように、ペン100による画面上への接触位置がデジタイザ17Cによって検出される。デジタイザ17Cは、その接触位置を示す座標情報を含む検出信号をシステムコントローラ102に向けて出力する。システムコントローラ102は、デジタイザ17Cから受け取った検出信号を自身のレジスタに格納すると共に、CPU101に対する割り込み信号を発生させる。
この割り込み信号が発生すると、CPU101が実行するBIOSによってシステムコントローラ102のレジスタから検出信号が読み出され、OS201の管理下で動作する手書きノートアプリケーションプログラム202に入力される。そして、手書きノートアプリケーションプログラム202の表示処理部301は、この検出信号に基づき、手書き入力の軌跡(筆跡)に対応する線分を描画してタッチスクリーンディスプレイ17のLCD17Aに表示する。図12の実線の線分a1は、タッチスクリーンディスプレイ17のLCD17Aに表示された手書き入力の軌跡(筆跡)に対応する。
しかしながら、ペン100による画面上への接触位置(線分a1の終端)がデジタイザ17Cによって検出されてから前述の過程を経て手書きノートアプリケーションプログラム202によって手書き入力の軌跡(筆跡)に対応する線分a1がタッチスクリーンディスプレイ17のLCD17Aに表示されるまでの間にも、ペン100はタッチスクリーンディスプレイ17上を移動している。従って、ペン100の位置の移動に対して遅れて線分が描画(表示)される。図12のa2が、このようにして生じる描画の遅延を示す。このような遅延が生じないようにするためには、遅延する筆跡を過去の筆跡から予測して、過去の筆跡の先端に予測筆跡を加えて表示すればよい。しかし、予測は外れることもあり、予測が外れた場合は、意図しない筆跡が表示され、手書きタブレットの動作に違和感を覚える。
そのため、実施形態では、予測が外れた場合にユーザに与える違和感を低減するための対策を講じている。予測する時間、あるいは筆跡の長さを、図12に示す遅延a2に応じた一律ではなく、手書きの状況に応じて可変している。一般的に、予測する時間あるいは長さが長ければ長いほど、遅延時間が少なく、手書き入力から表示までの応答性が良いが、予測が外れる可能性が大きい。逆に、予測する時間あるいは長さが短いと、遅延が生じてしまい、応答性が悪い。
予測外れがユーザに与える違和感の程度は、ペンの移動方向と利き手に応じて異なる。例えば、右利きの人の場合は、図13に示すように、ペンより右に手があるので、右に伸びる筆跡はペンあるいは手で隠されているので、予測外れの予測筆跡を表示しても支障はない。また、上に伸びる筆跡も手で隠されることがあるので、予測外れの予測筆跡を表示してもそれ程支障はない。そのため、図13(a)に示すように、“K”の3番目のストローク(左上から右下に伸びる)は予測時間、あるいは予測長さを長くしても、予測外れが目立たない。予測時間、あるいは予測長さを長くすると、ペン先の移動に表示筆跡の変化がついてきている感じが出て、応答性が良いと感じる。逆に、図13(b)に示すように、“K”の2番目のストローク(右上から左下に伸びる)は、予測外れが目立つので、予測時間、あるいは予測長さを短くする。
左利きの人の場合は、図14に示すように、ペンより左に手があるので、左に伸びる筆跡はペンあるいは手で隠されるので、予測外れの予測筆跡を表示しても支障はない。また、上に伸びる筆跡も手で隠されることがあるので、予測外れの予測筆跡を表示してもそれ程支障はない。そのため、図14(a)に示すように、“K”の2番目のストローク(右上から左下に伸びる)は予測時間、あるいは予測長さを長くしても、予測外れが目立たない。逆に、図14(b)に示すように、“K”の3番目のストローク(左上から右下に伸びる)は、予測外れが目立つので、予測時間、あるいは予測長さを短くする。
このように、利き手とペンの移動方向に応じて予測時間、あるいは予測長さを異ならせることにより、予測外れが目立つことなく最良の応答性を実現できる。
ペンの移動方向(角度)に応じた予測時間、あるいは予測長さの長短の設定の一例を図15に示す。図15(a)は右手、図15(b)は左手の場合である。右手の場合は、右下の角度領域(270度から360度)が最も長く、右上の角度領域(0度から90度)と左上の角度領域(90度から180度)がやや長く、左下の角度領域(180度から270度)がやや短く設定される。左手の場合は、左下の角度領域(180度から270度)が最も長く、右上の角度領域(0度から90度)と左上の角度領域(90度から180度)がやや長く、右下の角度領域(270度から360度)がやや短く設定される。図15ではペンの移動角度範囲は4つに区分されているが、より細分してもよい。
利き手は図8の設定画面でユーザにより設定されるが、自動的に判定しても良い。この判定の流れを図16に示す。ペン入力モードの手書き入力操作の際に、ブロックB162で、タッチパネルにより手の接触位置も検出する。ブロックB164で、デジタイザによりペン先位置を検出し、手の接触位置とペン先位置との左右関係を判定する。手の接触位置がペン先位置より右である場合は、ブロックB166で右利きと判定し、手の接触位置がペン先位置より右でない場合は、ブロックB168で左利きと判定する。
このように、ペン入力モードの手書き入力操作の際に、手の接触位置がペン先より右が否かにより、右利きか左利きかを判定することができる。
予測外れの影響は、一般的には、利き手とペンの移動方向で決まるが、ペンの持ち方が変わっている人がいるので、ペンの傾きを検出して、それを参考にしても良い。一般的には、図13、図14に示すように、ペン先が手から離れる方向にペンを外側に傾けて持つが、中には、タッチスクリーンディスプレイの画面に対して垂直にペンを向けて持つ人や、図17(a)に示すように、ペン先が手に向かう方向にペンを内側に傾けて持つ人がいる。
そのため、ペン100に3軸加速度センサと電池を内蔵し、ペンをタッチスクリーンディスプレイの画面(XY平面)に投影した場合の画面内の角度θ(図17(c)参照)に応じて、図15の予測時間あるいは長さの長短を調整してもよい。
次に、図18を参照して、タブレットコンピュータ10で実行される予測筆跡の表示処理の第1例について説明する。
手書きノートアプリケーションプログラム202の筆跡描画部301Cは、図18(a)に示すように、時刻t1で、手書きデータ入力部301Aからの検出信号に基づく線分a1に追加する形で、筆跡予測部301Bからの予測信号に基づく線分b1を表示する。筆跡予測部301Bの予測によって、描画の遅延a2を、b2にまで減少させることができる。筆跡予測部301Bは所定時間先の未来の筆跡を予測する。この所定時間は、上述したように、図15に示すように、利き手とペンの移動方向等に応じて可変である。
タブレットコンピュータ10は、一定周期(例えば、1/60秒)で表示を更新する。そのため、図18(b)に示すように、時刻t1+Δtでは、時刻t1の予測線分b1の代わりに実際の筆跡に対応する線分b3を表示する。即ち、実際の筆跡に対応する線分がΔt毎に延長する。ある時刻で、ユーザに見える線分は、常に、検出信号に基づく実際の線分プラス予測線分となるように制御する。言い換えると、予測線分は、表示更新周期Δtだけ表示される。
より具体的には、検出信号に基づく線分a1は、次の時刻に持ち越され、次の時刻の検出信号が反映されて成長するが、時刻t1に書かれた予測線分b1は、次の時刻t1+Δtには持ち越されない。符号b3で示したように、時刻t1の予測線分b1は、次の時刻t1+Δtでは描画されず、代わりに検出信号に基づく線分a1が描画される。予測線分b1は、この検出信号に基づく線分a1に新たに追加される形で描画される。このように筆跡の描画を行うことで、予測が合っている(時刻t1での予測線分b1と時刻t1+Δtで伸びた分の線分b3がほぼ一致する)場合には、ユーザには、連続的に線が伸びているように知覚される。
一方、予測が外れた場合であっても、予測を大きく誤った時刻tでの予測線分b1は次の時刻t1+Δtでは消えて、代わりに検出信号に基づく線分b3が表示されるので、一瞬のちらつき程度を感じさせるだけであり、ほとんど目立たない。さらに、表示される予測線分b1の長さは、ペンの移動方向と利き手に応じて異なり、予測外れの予測筆跡を表示しても支障はない状況の場合は、長めに設定され、応答性を向上する。また、予測外れが目立つ場合は、短めに設定され、予測の外れを感じさせないようにしている。
このように、ペンの移動方向と利き手に応じた長さの予測線分b1を予め定められた期間だけ表示するタブレットコンピュータ10は、予測が外れた場合にユーザに与える違和感を低減することができる。
図19は図18の表示を行う表示処理部301の処理の流れを示すフローチャートである。ブロックB1902で、手書き操作が行われ、ペン100によりタッチスクリーンディスプレイ17上で文字、記号、図形、表等が手書きされる。手書き入力部301Aにより、一定周期で、ペン100の軌跡(座標)がサンプリングされる(ブロックB1904、B1906)。ペン100の座標が検出されると、図4に示すような、時系列情報が得られる。筆跡予測部301Bは、ブロックB1908で、一点あるいは数点前の座標データを用いて現在のストロークの向き(角度)を求め、ブロックB1910で、利き手を判定する。利き手は、図8の設定情報から判定しても良いし、図16に示すような流れで判定しても良い。ブロックB1912で、筆跡予測部301Bは、ペンの傾きも判定する。しかし、ブロックB1912は省略してもよい。筆跡予測部301Bは、ブロックB1914で、図15に示すように利き手とストロークの角度、場合によってはペンの傾きとに基づいて予測時間を決定する。ブロックB1916で、筆跡予測部301Bはこの予測時間後の筆跡を予測する。ブロックB1918で、筆跡描画部301Cは、手書きデータ入力部301Aから入力されたサンプリング座標に基づいて計算した実際の筆跡に対応する検出線分に、筆跡予測部301Bにより予測された筆跡に対応する予測線分を結合してなる筆跡を表示する。
ブロックB1920で、一定期間Δtが経過したか否か判定する。一定期間Δtの経過前はブロックB1918に戻り、一定期間Δtが経過すると、ブロックB1922で、予測線分の表示を消して、検出線分を更新する。
ブロックB1924で、手書き操作が継続中か否か判定し、継続中の場合は、ブロックB1902に戻り、継続していなければ、動作は終了する。
ブロックB1908で行われる「ストローク角度」の求め方の一例を図20を参照して説明する。
図20は、ペン先のサンプリング点の座標と、それらを結ぶ筆跡を示す。m、nは整数であり、m>n>0である。
現在サンプリングされた座標(X,Y)と当該座標(X,Y)に最も近い座標(Xt−n,Yt−n)との差分ベクトルVt−nを算出する。
t−n=(Xt−Xt−n,Yt−Yt−n
このベクトルの成す角θを算出する。
θ=arctan(Vt−n
ここで、arctan(V)は、原点からの傾きを、ラジアン角(−π〜π)で返すものとする。このθがストローク角度である。
上記の説明は、ストロークの角度と利き手に応じた長さの予測線分を一定期間(例えば、1/60秒)表示するものであるが、表示の更新周期を可変する(例えば、1/240秒、2/240(=1/120)秒、3/240(=1/80)秒、4/240(=1/60)秒)ことが出来る場合は、予測線分の長さは一定、しかし表示する期間をストロークの角度と利き手に応じた長さに設定することでも、同じ効果が得られる。すなわち、予測外れが目立ちそうな場合は、予測線分の表示時間を短くし、目立ちそうにない場合は、予測線分の表示時間を長くしてもよい。
次に、本タブレットコンピュータ10で実行される筆跡表示処理の第2の例について説明する。
第1の例では、実際の筆跡に対応する検出線分と、予測された筆跡に対応する可変長の予測線分との表示態様を変えることは想定していない。すなわち、両者を同じ色、輝度、太さで表示することを想定した。第2の例では、予測線分の長さに連動して、予測線分の色、輝度、太さ等を可変して表示する。
図21は予測筆跡の表示処理の第2例を示す。筆跡描画部301Cは、検出信号に基づく線分a1と比較して、予め定められた期間だけ表示さ、筆跡の向きに応じた長さの予測線分b1の色を、長さに応じて淡くする。例えば色データがR(赤)、G(緑)、B(青)のセットで構成されている場合、R、G、Bを同じ値に設定すると、黒色を表現することができる。また、この色データを例えば(0,0,0)と設定した場合と(50,50,50)と設定した場合との双方とも、黒色が表現されるが、前者と比較して後者の方が淡い黒となる。この色データの設定によって、予測線分b1の色を淡くする。
検出信号に基づく線分a1と比較して、予め定められた期間だけ表示される可変長の予測線分b1の色を、線分の長さに応じて淡くする(長い程濃く、短い程淡く)ことで、予測外れが生じても、この予測外れを目立ちにくくすることができる。
色の濃淡についてのみ説明したが、線分の長さに応じて輝度を(長い程高輝度、短い程低輝度で)、太さ(長い程太く、短い程細く)を可変して表示してもよいし、これらを組み合わせても良い。すなわち、手で隠される方向の予測筆跡は目立つように表示し、手で隠されない方向の予測筆跡は前者よりは目立たないように表示する。
この第2の例は、さらに次のように変形することが出来る。上述の説明では、予測線分は表示の更新周期である一定時間しか表示しないとしたが、数個の更新周期に渡って予測線分を表示するようにして、時間の経過とともに、予測線分の長さに応じて予測線分の色、輝度、太さ等を可変してもよい。
以上説明したように、実施形態によれば、ユーザの利き手や筆記方向を考慮して、今後筆記される部分が手が隠される場合と、それ以外の場合とで、予測時間(表示される予測線分の長さ)を可変することにより、予測外れがあったとしても、ユーザには気付かれにくい手書き筆跡を表示することができる。筆記される部分が手が隠される場合は長い予測線分を表示することにより、ペン先の移動に表示が追従してきていることを実感できる。この場合、予測外れが生じても、予測線分の全部は表示されないので、その影響は少ない。さらに、ペンの傾き方向によっても予測時間を可変することにより、さらに、効果を上げることができる。
なお、本実施形態の処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
17…タッチスクリーンディスプレイ、100…ペン、101…CPU、102…システムコントローラ、103…主メモリ、105…BIOS−ROM、106…不揮発性メモリ、201…OS、202…手書きノートアプリケーションプログラム、104…グラフィックスコントローラ、107…無線通信デバイス。
実施形態によれば、方法は、ディスプレイ上で手書きされるストロークに対応するストロークデータを入力することと、前記ストロークデータに対応するストロークと、そのストロークに続く第1長さのストロークとを前記ディスプレイに表示することと、を具備する。前記第1長さは、手書きされるストロークが手書きされる向き、及び右手で手書きされたか左手で手書きされたかによって異なる。
左利きの人の場合は、図14に示すように、ペンより左に手があるので、左に伸びる筆跡はペンあるいは手で隠されるので、予測外れの予測筆跡を表示しても支障はない。また、上に伸びる筆跡も手で隠されることがあるので、予測外れの予測筆跡を表示してもそれ程支障はない。そのため、図14(b)に示すように、“K”の2番目のストローク(右上から左下に伸びる)は予測時間、あるいは予測長さを長くしても、予測外れが目立たない。逆に、図14(a)に示すように、“K”の3番目のストローク(左上から右下に伸びる)は、予測外れが目立つので、予測時間、あるいは予測長さを短くする。

Claims (18)

  1. ディスプレイ上で手書きされるストロークに対応するストロークデータを入力することと、
    前記ストロークデータに対応するストロークと、そのストロークに続く第1長さのストロークとを前記ディスプレイに表示することと、
    を具備し、
    前記第1長さは手書きされるストロークが手書きされる向きによって異なる方法。
  2. 前記第1長さは、右手で手書きされたか、左手で手書きされたかによっても、異なる請求項1記載の方法。
  3. 前記第1長さは、前記手書きされるストロークが入力される向きが手に近づく向きの場合は長く、手から離れる向きの場合は短い請求項1記載の方法。
  4. 右手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが右の場合は前記手書きされるストロークが入力される向きが左の場合よりも長く、
    左手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが左の場合は前記手書きされるストロークが入力される向きが右の場合よりも短い請求項1記載の方法。
  5. 右手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが右下の場合が長く、前記手書きされるストロークが入力される向きが左下の場合が短く、
    左手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが左下の場合が長く、前記手書きされるストロークが入力される向きが右下の場合が短い請求項4記載の方法。
  6. 右手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが右下の場合が最も長く、前記手書きされるストロークが入力される向きが右上、左上の場合が次に長く、前記手書きされるストロークが入力される向きが左下の場合が最も短く、
    左手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが左下の場合が最も長く、前記手書きされるストロークが入力される向きが右上、左上の場合が次に長く、前記手書きされるストロークが入力される向きが右下の場合が最も短い請求項5記載の方法。
  7. 前記表示することは、前記ストロークデータに対応するストロークと、前記ストロークデータに対応する予測ストロークとを表示することを具備する請求項1記載の方法。
  8. 前記予測ストロークは一定時間表示したら、表示が消される請求項7記載の方法。
  9. ディスプレイ上で手書きされるストロークに対応するストロークデータを入力する入力手段と、
    前記ストロークデータに対応するストロークと、そのストロークに続く第1長さのストロークとをディスプレイに表示する表示制御手段と、
    を具備し、
    前記第1長さは手書きされるストロークが入力される向きによって異なる電子機器。
  10. 前記第1長さは、右手で手書きされたか、左手で手書きされたかによっても異なる請求項9記載の電子機器。
  11. 前記第1長さは、前記手書きされるストロークが入力される向きが手に近づく向きの場合は長く、手から離れる向きの場合は短い請求項9記載の電子機器。
  12. 右手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが右の場合は前記手書きされるストロークが入力される向きが左の場合よりも長く、
    左手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが左の場合は前記手書きされるストロークが入力される向きが右の場合よりも短い請求項9記載の電子機器。
  13. 前記表示制御手段は、前記ストロークデータに対応するストロークと、前記ストロークデータに対応する予測ストロークとを表示する請求項9記載の電子機器。
  14. コンピュータにより実行されるプログラムであって、前記プログラムは前記コンピュータを、
    ディスプレイ上で手書きされるストロークに対応するストロークデータを入力する入力手段と、
    前記ストロークデータに対応するストロークと、そのストロークに続く第1長さのストロークとをディスプレイに表示する表示制御手段として動作させ、
    前記第1長は手書きされるストロークが入力される向きによって異なるプログラム。
  15. 前記第1長さは、右手で手書きされたか、左手で手書きされたかによっても、異なる請求項14記載のプログラム。
  16. 前記第1長さは、前記手書きされるストロークが入力される向きが手に近づく向きの場合は長く、手から離れる向きの場合は短い請求項14記載のプログラム。
  17. 右手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが右の場合は前記手書きされるストロークが入力される向きが左の場合よりも長く、
    左手で手書きの場合、前記第1長さは、前記手書きされるストロークが入力される向きが左の場合は前記手書きされるストロークが入力される向きが右の場合よりも短い請求項14記載のプログラム。
  18. 前記表示制御手段は、前記ストロークデータに対応するストロークと、前記ストロークデータに対応する予測ストロークとを表示する請求項14記載のプログラム。
JP2015519593A 2013-05-31 2013-05-31 電子機器、方法及びプログラム Active JP5989903B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/065281 WO2014192157A1 (ja) 2013-05-31 2013-05-31 電子機器、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP5989903B2 JP5989903B2 (ja) 2016-09-07
JPWO2014192157A1 true JPWO2014192157A1 (ja) 2017-02-23

Family

ID=51988225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015519593A Active JP5989903B2 (ja) 2013-05-31 2013-05-31 電子機器、方法及びプログラム

Country Status (3)

Country Link
US (1) US20150347001A1 (ja)
JP (1) JP5989903B2 (ja)
WO (1) WO2014192157A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5736528B2 (ja) * 2013-03-29 2015-06-17 楽天株式会社 端末装置、端末装置の制御方法、プログラム、及び情報記憶媒体
US10489051B2 (en) * 2014-11-28 2019-11-26 Samsung Electronics Co., Ltd. Handwriting input apparatus and control method thereof
US20160295063A1 (en) * 2015-04-03 2016-10-06 Abdifatah Farah Tablet computer with integrated scanner
KR20170126294A (ko) * 2016-05-09 2017-11-17 엘지전자 주식회사 이동 단말기 및 그 제어방법
USD808410S1 (en) * 2016-06-03 2018-01-23 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
JP7253939B2 (ja) 2019-03-07 2023-04-07 シャープ株式会社 ペン型入力装置
US12073177B2 (en) * 2019-05-17 2024-08-27 Applications Technology (Apptek), Llc Method and apparatus for improved automatic subtitle segmentation using an artificial neural network model
CN110209291A (zh) * 2019-05-30 2019-09-06 精模电子科技(深圳)有限公司 手写投影装置
US10976867B1 (en) * 2020-03-06 2021-04-13 Wacom Co., Ltd. System and method providing pen up positioning assist for a sensor surface
CN112764616B (zh) * 2021-01-22 2021-11-26 广州文石信息科技有限公司 一种电子墨水屏手写加速方法、装置、设备及存储介质
US11635874B2 (en) * 2021-06-11 2023-04-25 Microsoft Technology Licensing, Llc Pen-specific user interface controls
US11537239B1 (en) * 2022-01-14 2022-12-27 Microsoft Technology Licensing, Llc Diffusion-based handedness classification for touch-based input

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0792638B2 (ja) * 1985-03-14 1995-10-09 富士通株式会社 文字練習機
JPH05204291A (ja) * 1992-01-29 1993-08-13 Sanyo Electric Co Ltd 文字練習装置
JP3105100B2 (ja) * 1993-03-15 2000-10-30 株式会社東芝 文字入力装置及び文字入力方法
JP4210846B2 (ja) * 2003-07-18 2009-01-21 ソニー株式会社 映像表示装置
JP4393415B2 (ja) * 2005-04-01 2010-01-06 シャープ株式会社 手書き入力装置、手書き入力プログラム、および、プログラム記録媒体
JP5423525B2 (ja) * 2010-03-26 2014-02-19 富士通株式会社 手書き入力装置、手書き入力方法及び手書き入力プログラム
JP2015114976A (ja) * 2013-12-13 2015-06-22 株式会社東芝 電子機器及び方法

Also Published As

Publication number Publication date
US20150347001A1 (en) 2015-12-03
JP5989903B2 (ja) 2016-09-07
WO2014192157A1 (ja) 2014-12-04

Similar Documents

Publication Publication Date Title
JP5989903B2 (ja) 電子機器、方法及びプログラム
JP5728592B1 (ja) 電子機器および手書き入力方法
JP6180888B2 (ja) 電子機器、方法およびプログラム
JP5813780B2 (ja) 電子機器、方法及びプログラム
JP6092418B2 (ja) 電子機器、方法及びプログラム
US20140189593A1 (en) Electronic device and input method
JP5925957B2 (ja) 電子機器および手書きデータ処理方法
US20140189594A1 (en) Electronic device and display method
JP6092462B2 (ja) 電子機器、方法及びプログラム
JP2013238919A (ja) 電子機器および手書き文書検索方法
JP5634617B1 (ja) 電子機器および処理方法
JP2016085512A (ja) 電子機器、方法及びプログラム
US20150098653A1 (en) Method, electronic device and storage medium
JP6100013B2 (ja) 電子機器および手書き文書処理方法
US20150149894A1 (en) Electronic device, method and storage medium
JP5749245B2 (ja) 電子機器、表示方法、及び表示プログラム
JP6202997B2 (ja) 電子機器、方法及びプログラム
JP6251408B2 (ja) 電子機器、方法及びプログラム
JP6062487B2 (ja) 電子機器、方法及びプログラム
JP6315996B2 (ja) 電子機器、方法及びプログラム
JP2015109116A (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: 20160712

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160810

R151 Written notification of patent or utility model registration

Ref document number: 5989903

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