JP7452155B2 - Handwriting input device, handwriting input method, program - Google Patents
Handwriting input device, handwriting input method, program Download PDFInfo
- Publication number
- JP7452155B2 JP7452155B2 JP2020051620A JP2020051620A JP7452155B2 JP 7452155 B2 JP7452155 B2 JP 7452155B2 JP 2020051620 A JP2020051620 A JP 2020051620A JP 2020051620 A JP2020051620 A JP 2020051620A JP 7452155 B2 JP7452155 B2 JP 7452155B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- handwritten
- display
- pen
- handwriting input
- 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
Links
- 238000000034 method Methods 0.000 title claims description 69
- 238000013500 data storage Methods 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 description 116
- 238000004891 communication Methods 0.000 description 83
- 230000006870 function Effects 0.000 description 81
- 238000003860 storage Methods 0.000 description 66
- 238000010586 diagram Methods 0.000 description 58
- 230000010365 information processing Effects 0.000 description 48
- 238000012217 deletion Methods 0.000 description 43
- 230000037430 deletion Effects 0.000 description 43
- 230000008569 process Effects 0.000 description 30
- 238000012545 processing Methods 0.000 description 30
- 230000008859 change Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 11
- 238000003825 pressing Methods 0.000 description 11
- 230000033001 locomotion Effects 0.000 description 10
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 7
- 244000205754 Colocasia esculenta Species 0.000 description 6
- 235000006481 Colocasia esculenta Nutrition 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 6
- 230000005674 electromagnetic induction Effects 0.000 description 5
- 238000011017 operating method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 240000000220 Panda oleosa Species 0.000 description 3
- 235000016496 Panda oleosa Nutrition 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000005520 cutting process Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing 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/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Character Discrimination (AREA)
- Processing Or Creating Images (AREA)
Description
本発明は、手書き入力装置、手書き入力方法、及び、プログラムに関する。 The present invention relates to a handwriting input device, a handwriting input method, and a program.
一般的なコンピュータ制御のホワイトボード装置又は手書き入力が可能なアプリケーション(以下、手書き入力装置という)では、入力手段がペン又は指に限られている。このため、文字の色などを変更するペン機能と文字の消去などの編集機能をユーザーが切り替えて使えるように操作メニューが用意されている。通常、ペン機能メニューでは色や太さ等を選択でき、編集機能メニューでは消去、移動、変倍、回転、切り取り、コピー、貼り付け等を選択できる(例えば、特許文献1参照。)。 In a typical computer-controlled whiteboard device or an application that allows handwriting input (hereinafter referred to as a handwriting input device), the input means is limited to a pen or a finger. For this reason, an operation menu is provided so that the user can switch between pen functions, such as changing the color of text, and editing functions, such as erasing text. Normally, the pen function menu allows selection of color, thickness, etc., and the edit function menu allows selection of deletion, movement, scaling, rotation, cutting, copying, pasting, etc. (see, for example, Patent Document 1).
特許文献1には、ペンボタンの押下により、色設定、透明度設定、太さ設定、線種設定、スタンプ設定、及び動作設定のメニューが表示される手書き入力装置について開示されている。
しかしながら、従来の技術では、ペンに応じて異なる設定で手書き入力することが困難であるという問題があった。例えば、複数のユーザーがペンで手書き入力装置を使用する場合があるが、それぞれのユーザーがペンに応じて異なる設定で手書きすることができない。 However, the conventional technology has a problem in that it is difficult to input handwriting with different settings depending on the pen. For example, multiple users may use a handwriting input device with a pen, but each user cannot handwrite with different settings depending on the pen.
本発明は、上記課題に鑑み、ペンに応じて異なる設定で手書き入力することが可能な手書き入力装置を提供することを目的とする。 SUMMARY OF THE INVENTION In view of the above problems, an object of the present invention is to provide a handwriting input device that allows handwriting input with different settings depending on the pen.
上記課題に鑑み、本発明は、タッチパネルに接触している入力手段の位置に基づいて手書きされたストロークデータを表示する手書き入力装置であって、前記入力手段から受信した前記入力手段の識別情報に対応付けて、前記入力手段の制御データを保存する制御データ保存手段と、ストロークデータの位置に応じた位置にテキストデータを含む操作ガイドを表示部に表示させる表示制御手段であって、前記入力手段から受信した前記入力手段の識別情報に対応付けられている前記制御データを前記ストロークデータに反映させて前記ストロークデータに基づく情報を前記表示部に表示させる表示制御手段と、前記操作ガイドに手書きされた直線と所定の方向のなす角に基づいて決定した角度情報を、直線の前記ストロークデータが手書きされた時に前記入力手段から受信した前記入力手段の識別情報に対応付けて前記制御データ保存手段に保存する手書き認識制御手段と、を有し、前記手書き認識制御手段が、前記操作ガイドで直線が手書きされた場合に前記角度情報を入力するとともに、前記操作ガイド以外で直線が手書きされた場合に直線を文字として認識することを特徴とする。
In view of the above-mentioned problems, the present invention provides a handwriting input device that displays handwritten stroke data based on the position of an input means in contact with a touch panel, wherein control data storage means for storing control data of the input means in association with each other; and display control means for displaying an operation guide including text data on a display section at a position corresponding to a position of the stroke data, the input means display control means for displaying information based on the stroke data on the display unit by reflecting the control data associated with the identification information of the input means received from the input means; The control data storage means associates the angle information determined based on the angle between the straight line and the predetermined direction with the identification information of the input means received from the input means when the stroke data of the straight line was handwritten. and handwriting recognition control means for storing the angle information when a straight line is handwritten using the operating guide, and inputting the angle information when a straight line is handwritten using a method other than the operating guide. It is characterized by recognizing straight lines as characters .
ペンに応じて異なる設定で手書き入力することが可能な手書き入力装置を提供することができる。 It is possible to provide a handwriting input device that allows handwriting input with different settings depending on the pen.
以下、本発明を実施するための形態の一例として、手書き入力装置及び手書き入力装置が行う手書き入力方法について図面を参照しながら説明する。 DETAILED DESCRIPTION OF THE INVENTION Hereinafter, as an example of a mode for carrying out the present invention, a handwriting input device and a handwriting input method performed by the handwriting input device will be described with reference to the drawings.
<手書き入力装置の比較例について>
本実施形態における手書き入力装置の説明の便宜上、まず、手書き入力装置の操作手順の比較例について簡単に説明する。
<Comparative example of handwriting input device>
For convenience of explanation of the handwriting input device in this embodiment, first, a comparative example of the operation procedure of the handwriting input device will be briefly described.
図1は、手書き入力装置2が表示する操作メニューの比較例を示す。操作パネル全体101にはペン機能メニュー102を表示させるペン機能メニューボタン1021、編集機能メニュー103を表示させる編集機能メニューボタン1031、入出力機能メニュー104を表示させる入出力機能メニューボタン1041等が表示されている。ペン機能メニュー102ではユーザーがペンの色、太さ、動作モードを選択できる。ペン機能メニュー102は手書き入力モードボタン1022、及び、清書入力モードボタン1023を有している。また、編集機能メニュー103では、オブジェクトの消去、選択、切り取り、コピー、及び貼り付けを選択でき、入出力機能メニュー104ではテンプレートの読み込み、ファイルの読み込み、ファイルへの保存、及び印刷等を実行できる。
FIG. 1 shows a comparative example of an operation menu displayed by the
手書き入力モードボタン1022が押下されるとユーザーが手書きした情報(ペンの座標)がそのまま入力され、清書入力モードボタン1023が押下されるとユーザーが手書きした文字、数字、記号、アルファベット等(以下単に、文字等という)が認識され文字等に変換(清書)されたテキストデータが表示される。 When the handwriting input mode button 1022 is pressed, the information handwritten by the user (pen coordinates) is input as is, and when the fair input mode button 1023 is pressed, the information (hereinafter simply referred to as "letters, numbers, symbols, alphabets, etc.") handwritten by the user is input. , characters, etc.) are recognized, and the text data that has been converted (written) into characters, etc. is displayed.
従来の手書き入力装置2の操作手順の一例として、ユーザーが直線又は曲線(以下、ストローク、と呼ぶ)を手書きしている状態で、複数のストロークを消去して、再びペンで書き始めるには、以下の操作手順が必要となる。なお、特に明記しない場合、ペンで押下するとはペン先で押下することを意味する。
(A1) 編集機能メニューボタン1031をペンで押下して編集機能メニュー103を表示する。
(A2) 編集機能メニュー103の「消去する」ボタン1032をユーザーが押下すると、手書き入力装置2は自動的に編集機能メニュー103を消去する。
(A3) ユーザーが消去対象の複数のストロークを跨ぐようにペンで書き込むとストロークが消去される。
(A4) ペン機能メニューボタン1021をペンで押下する。
As an example of the operation procedure of the conventional
(A1) Press the edit function menu button 1031 with a pen to display the edit function menu 103.
(A2) When the user presses the "delete" button 1032 in the editing function menu 103, the
(A3) If the user writes with a pen across multiple strokes to be erased, the strokes will be erased.
(A4) Press the pen function menu button 1021 with the pen.
この手順で消去対象のストロークが消去され、引き続き、ユーザーはペンでストロークを手書きできるようになる。ストロークを消去するだけで4ステップもの操作手順が必要になる。ステップ数や画面の遷移に差異はあっても手書き入力装置2は同様の操作体系であることが多い。またこのような操作体系はコンピュータ製品全般に共通しており、ユーザーが必要な機能を呼び出す操作体系が基本になっている。ユーザーが機能の呼び出し方法を知らなければ全く操作ができないため、チュートリアル機能やヘルプ機能によって、手書き入力装置2が機能の呼び出し方法を提供する手法が一般的である。
This step erases the strokes to be erased and allows the user to continue writing strokes with the pen. Just erasing a stroke requires a four-step operating procedure. Even though there are differences in the number of steps and screen transitions, the
同様に、ファイルや印刷などの入出力が必要になった場合、ユーザーは入出力機能メニュー104を開く。例えば、テンプレートを読み込むには、以下の操作手順が必要になる。
(B1) 入出力機能メニューボタン1041をユーザーがペンで押下すると入出力機能メニュー104が開く。
(B2) 入出力機能メニュー104の「テンプレート選択」ボタン1042をユーザーがペンで押下すると入出力機能メニューが閉じてテンプレート選択ウィンドウが開く。
(B3) 所望のテンプレートが表示されるまでスクロールさせるため左右ボタン等をペンで押下する。
(B4) 所望のテンプレートをペンで押下するとそのテンプレートが読み込まれてテンプレート選択ウィンドウが閉じる。
Similarly, when input/output such as files or printing is required, the user opens the input/output function menu 104. For example, to load a template, the following steps are required:
(B1) When the user presses the input/output function menu button 1041 with a pen, the input/output function menu 104 opens.
(B2) When the user presses the "template selection" button 1042 on the input/output function menu 104 with a pen, the input/output function menu closes and a template selection window opens.
(B3) Press the left and right buttons with a pen to scroll until the desired template is displayed.
(B4) When a desired template is pressed with a pen, that template is loaded and the template selection window is closed.
同様に、ユーザーが手書きした文字等をテキストデータに変換するには、以下の操作手順が必要になる。
(C1) ユーザーがペン機能メニューボタン1021をペンで押下する。
(C2) ユーザーが清書入力モードボタン1023をペンで押下する。
Similarly, in order to convert characters, etc. handwritten by a user into text data, the following operation steps are required.
(C1) The user presses the pen function menu button 1021 with a pen.
(C2) The user presses the fair copy input mode button 1023 with a pen.
清書入力モードボタン1023が押下された状態では、図1(b)に示すように、手書きした「abcde」がテキストデータの「abcde」に変換されている。テキストデータはフォントで表示されるので清書された状態となる。 When the fair copy input mode button 1023 is pressed, the handwritten "abcde" is converted to text data "abcde" as shown in FIG. 1(b). Since the text data is displayed in font, it will be in a clean-cut state.
このように、従来の手書き入力装置2ではユーザーがステップバイステップで操作する操作手順が必要となる。つまり、手書き入力装置2が説明的に次のステップに導く操作体系が基本となっているため、ユーザーは直感的に操作することが困難であった。
As described above, the conventional
<手書き入力装置の利用形態の一例>
手書き入力装置2は床などに対し垂直に保持された状態で使用されるだけでなく、床などに水平に平置きされた状態でも使用される場合がある。
<Example of usage of handwriting input device>
The
図2は、手書き入力装置2の使用例を示す図である。図2(a)では机の上にディスプレーを上向きにして手書き入力装置2が設置されている(このような設置の態様を平置きという)。手書き入力装置2の周り(図2(a)では対面)に椅子に座って向かい合ったユーザーがそれぞれ手書きをしている。
FIG. 2 is a diagram showing an example of how the
この場合、通常のユーザーは自分に対して上下方向に文字等を手書きする(図2(b))。しかし、清書入力モードでは、ある決まった場所(手書き入力装置2から見て決まった方向)のユーザーが文字を手書きした場合にのみ正しく手書き認識できる。図2(b)である決まった場所のユーザーをAさんとすると、BさんとCさんが手書きした文字等は正しく認識されない。 In this case, a normal user handwrites characters and the like in the vertical direction to himself (FIG. 2(b)). However, in the fair handwriting input mode, correct handwriting recognition is possible only when characters are handwritten by a user at a certain fixed location (in a fixed direction when viewed from the handwriting input device 2). Assuming that the user at the fixed location shown in FIG. 2(b) is Mr. A, the handwritten characters etc. of Mr. B and Mr. C will not be recognized correctly.
この理由は、現在の手書き認識エンジンは手書きの天地がある決まった方向である場合しか正しく認識できないためである。正しく認識とは実用性がある程度の認識率で認識が可能であることを言う。また、ある決まった方向は、例えば、手書き入力装置2が床などに対し垂直に保持された状態の天地方向である(後述する図5(a)の状態の天地方向)。
The reason for this is that current handwriting recognition engines can only correctly recognize handwritten text when it is oriented in a certain direction. Correct recognition means that recognition is possible with a certain practical recognition rate. Further, the certain fixed direction is, for example, the vertical direction when the
手書き入力装置2が床などに対し垂直に保持された状態(壁掛けやスタンドなどで保持された状態)で使用されている場合、ユーザーが上下逆さまに手書きすることはなかったため不都合は生じにくかった。しかし、図2のような使用例では、手書き認識エンジンから見るとBさんとCさんの文字等は180度回転(天地が逆)しているので正しく手書き認識できない。
When the
コンピュータやOS(Operating System)によっては、所定の操作(例えば、Ctrl+Alt+矢印キー)で画面全体を90度単位で回転することができる。つまり、自分が書いた文字等を手書き認識する場合、ユーザーは画面全体を回転すればよい。しかしこの方法では例えば向かい合った複数のユーザーがそれぞれ手書きした文字等を正しく手書き認識することはできない。 Depending on the computer or OS (Operating System), the entire screen can be rotated in 90 degree increments using a predetermined operation (for example, Ctrl+Alt+arrow keys). In other words, when the user wants to recognize handwritten characters written by the user, the user only has to rotate the entire screen. However, with this method, for example, it is not possible to accurately recognize handwritten characters written by multiple users facing each other.
<本実施形態における手書き入力装置の処理の概略>
そこで、本実施形態の手書き入力装置2では、ユーザーに応じて異なる設定で手書き入力することを可能にする。
<Outline of processing of handwriting input device in this embodiment>
Therefore, the
図3は、手書き入力装置2の処理の概略を説明する図の一例である。手書き入力装置2の周辺(4辺)にそれぞれ4人のユーザー(A~D)が存在している。説明の便宜上、
Aさんの位置から文字等を手書きする場合の文字の角度を0度、
Bさんの位置から文字等を手書きする場合の文字の角度を90度、
Cさんの位置から文字等を手書きする場合の文字の角度を180度、
Dさんの位置から文字等を手書きする場合の文字の角度を270度、
とする。
FIG. 3 is an example of a diagram illustrating an outline of processing of the
When handwriting letters etc. from Mr. A's position, set the angle of the letters to 0 degrees,
When handwriting letters etc. from Mr. B's position, the angle of the letters is 90 degrees,
When handwriting characters etc. from Mr. C's position, the angle of the characters is 180 degrees,
When writing letters etc. by hand from Mr. D's position, the angle of the letters is 270 degrees,
shall be.
各ユーザーはそれぞれペン2500を保持し、ペン2500で手書きする。このペン2500は識別情報(以下、ペンIDという)を記憶している。これを利用して、手書き入力装置2はペンIDと、ユーザーが文字等を手書きする角度情報を対応付けておく。すなわち、ユーザーは手書き入力装置2の使用を開始するに当たって、ペン2500を使用して、自分が文字等を手書きする時の角度情報(90度、180度、270度)を入力する(0度の場合は入力不要)。詳細は後述するが、簡単な操作で自分が文字等を書く時の角度情報を入力でき、ペンIDと角度情報を対応付けておくことができる。
Each user holds a
図3では各ユーザーが「abc」という文字等を手書きしている。手書き入力装置2は、「abc」を手書きしたペン2500のペンIDで角度情報を特定し、手書きした「abc」を角度情報だけ、時計回りに回転させてから文字認識を行う。回転は内部的に行われ、表示されている文字等は回転しない。内部的にとは手書き入力装置がデータを処理することをいう。ただし、後述する操作ガイドは反時計回りに回転して表示される。図3では一例として、Cさんが手書きした「abc」という文字等を180度回転させた「abc」を示す(内部的に回転するだけなので表示はされない)。回転により文字等が天地方向を向くので(角度が0度になる)、手書き入力装置2は正しく文字認識することができる。
In FIG. 3, each user is handwriting characters such as "abc". The
このように、本実施形態では、ペン(又はユーザー)に応じて異なる設定(ここでは角度情報)で手書き入力することが可能であるため、平置きされた手書き入力装置2の周囲のユーザーが文字等を手書きしても正しく文字認識できる。角度情報以外にも、文字の太さ、色、テクスチャなどをユーザーごとに設定できる。
In this way, in this embodiment, it is possible to input handwriting with different settings (here, angle information) depending on the pen (or user), so users around the
<用語について>
入力手段とはタッチパネルに手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。
<About terms>
The input means may be any means that allows handwriting on a touch panel. Examples include a pen, a human finger or hand, and a rod-shaped member. Additionally, line of sight input may be possible.
ストロークデータとは自由に手書きされた線である。連続した点の集合を有し、適宜、補間されてよい。 Stroke data is a freely handwritten line. It has a continuous set of points and may be interpolated as appropriate.
操作コマンドとは手書き入力装置2を操作するために用意されている、特定の処理の実行を指示する命令をいう。本実施形態では一例として、編集系、修飾系、入出力系、ペン状態の操作コマンドを例にするが、画面反転、ページ切り替え、動作モードの設定など、手書き入力装置2を操作する全てのコマンドが対象となる。
The operation command is an instruction prepared for operating the
入力手段の制御データは、入力手段で入力されたストロークデータをどのように処理するかに関する情報である。例えば、色、太さ、パターン、及び、角度などがある。本実施形態ではペンID制御データとして説明される。これらは、ストロークデータに反映される。 The control data of the input means is information regarding how to process the stroke data input by the input means. Examples include color, thickness, pattern, and angle. In this embodiment, this will be explained as pen ID control data. These are reflected in the stroke data.
ストロークデータに基づく情報は、ストロークデータに基づいて生成される情報であればよい。例えば、手書き認識後の変換可能候補、操作コマンドなどがある。 The information based on stroke data may be information generated based on stroke data. For example, there are convertible candidates after handwriting recognition, operation commands, etc.
<ペンの外観の一例>
図4は、ペン2500の斜視図の一例を示す。図4は多機能なペン2500の一例を示す。電源を内蔵して手書き入力装置2に命令を送信できるペン2500をアクティブペンという(電源を内蔵しないペンをパッシブペンという)。図4のペン2500は、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。本実施形態のペン2500は不揮発性のメモリーを有しており、他のペンと重複しないペンIDを記憶している。
<Example of pen appearance>
FIG. 4 shows an example of a perspective view of the
なお、スイッチ付きのペンであれば、ユーザーの手書き入力装置2の操作手順を減らすことも可能である。スイッチ付きのペンとは主にアクティブペンを言うが、電磁誘導方式では電源を内蔵しないパッシブペンでもLC回路だけで電力を発生できるため、アクティブペンだけでなく電磁誘導方式のパッシブペンを含む。電磁誘導方式以外の光学方式、赤外線方式、及び、静電容量方式のスイッチのあるペンはアクティブペンである。
Note that if the pen is equipped with a switch, it is also possible to reduce the number of operating procedures for the
ユーザーはペン側面スイッチのうちの一つをペン機能メニュー102、もう一つを編集機能メニュー103に割り当てることができる。ユーザーが手に持ったペン2500の側面ボタンを押すことによってペン機能メニュー102又は編集機能メニュー103を表示させることができる点で便利にはなるが、操作の対象となるオブジェクトを変更するたびにユーザーが側面ボタンを押下してペン機能メニュー102又は編集機能メニュー103を開く煩雑さは変わらない。
The user can assign one of the pen side switches to the pen function menu 102 and the other to the edit function menu 103. This is convenient in that the user can display the pen function menu 102 or the edit function menu 103 by pressing the side button of the
一方、消去用のペン尻のスイッチを使用すると、図1で説明した(A1)(A2)(A4)のステップが不要になり、前記の(A3)のステップでペン先の代わりにペン尻を使えばよく、消去に要する操作手順を1ステップに短縮できる。 On the other hand, if you use the switch on the end of the pen for erasing, steps (A1), (A2), and (A4) explained in Fig. The operation procedure required for erasing can be reduced to one step.
なお、ペン2500のハードウェア構成は、通信機能とマイコンを備えた一般的な制御方式と同様であるとする。ペン2500の座標の入力方式には、電磁誘導方式、アクティブ静電結合方式などがある。また、ペン2500は、筆圧検知、傾き検知、ホバー機能(ペンが触れる前にカーソルを表示)、などの機能を有していてよい。
It is assumed that the hardware configuration of the
<装置の全体構成>
図5を用いて、本実施形態に係る手書き入力装置2の全体構成を説明する。図5は、手書き入力装置2の全体構成図を示した図である。図5(a)では、手書き入力装置2の一例として、壁につり下げられた横長の電子黒板として使用される手書き入力装置2を示している。
<Overall configuration of the device>
The overall configuration of the
図5(a)に示されているように、手書き入力装置2の上部には表示装置の一例としてのディスプレー220が設置されている。ユーザーUは、ペン2500を用いて、ディスプレー220に文字等を手書きする(入力、描画ともいう)ことができる。
As shown in FIG. 5A, a
図5(b)は壁につり下げられた縦長の電子黒板として使用される手書き入力装置2を示している。
FIG. 5(b) shows a
図5(c)は机230に平置きされた手書き入力装置2を示す。手書き入力装置2は厚みが1cm程度なので、一般の机に平置きしても机の高さを調整する必要がない。また、容易に移動できる。
FIG. 5C shows the
<装置のハードウェア構成>
続いて、図6を用いて、手書き入力装置2のハードウェア構成を説明する。手書き入力装置2は図示するように情報処理装置又はコンピュータの構成を有している。図6は、手書き入力装置2のハードウェア構成図の一例である。図6に示されているように、手書き入力装置2は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、及び、SSD(Solid State Drive)204を備えている。
<Device hardware configuration>
Next, the hardware configuration of the
これらのうち、CPU201は、手書き入力装置2全体の動作を制御する。ROM202は、CPU201やIPL(Initial Program Loader)等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。SSD204は、手書き入力装置2用のプログラム等の各種データを記憶する。
Among these, the
また、手書き入力装置2は、ディスプレーコントローラー213、タッチセンサーコントローラー215、タッチセンサー216、ディスプレー220、電源スイッチ227、チルトセンサー217、シリアルインタフェース218、スピーカー219、マイク221、無線通信装置222、赤外線I/F223、電源制御回路224、ACアダプター225、及びバッテリー226を備えている。
The
ディスプレーコントローラー213は、出力画像をディスプレー220等へ出力するために画面表示の制御及び管理を行う。タッチセンサー216は、ディスプレー220上にペン2500やユーザーの手等(ペンやユーザーの手は入力手段となる)が接触したことを検知する。また、タッチセンサー216はペンIDを受信する。
The
タッチセンサーコントローラー215は、タッチセンサー216の処理を制御する。タッチセンサー216は、座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、例えば、光学式の場合、ディスプレー220の上側両端部に設置された2つ受発光装置が、ディスプレー220に平行して複数の赤外線を放射し、ディスプレー220の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。タッチセンサー216は、物体によって遮断された2つの受発光装置が放射した赤外線の位置情報をタッチセンサーコントローラー215に出力し、タッチセンサーコントローラー215が、物体の接触位置である座標位置を特定する。また、タッチセンサーコントローラー215は通信ユニット215aを有しており、ペン2500と無線で通信することができる。例えば、Bluetooth(登録商標)などの規格で通信している場合は、市販されているペンを使用することができる。通信ユニット215aに予め1つ以上のペン2500を登録しておくと、ユーザーはペン2500を手書き入力装置2と通信させる接続設定を行わなくても通信できる。
電源スイッチ227は、手書き入力装置2の電源のON/OFFを切り換えるためのスイッチである。チルトセンサー217は、手書き入力装置2の傾き角度を検出するセンサーである。主に、手書き入力装置2が図5(a)、図5(b)、又は、図5(c)のいずれかの設置状態で使用されているかを検出するために使用され、設置状態に応じて文字等の太さを自動で変更することができる。
The
シリアルインタフェース218はUSBなどの外部との通信インタフェースである。外部からの情報の入力などに使用される。スピーカー219は音声の出力に使用され、マイク221は音声の入力に使用される。無線通信装置222は、ユーザーが携帯する端末と通信し、例えばインターネットへの接続を中継する。無線通信装置222はWi-FiやBluetooth(登録商標)などで通信するが、通信規格は問われない。無線通信装置222はアクセスポイントを形成しており、ユーザーが入手したSSID(Service Set Identifier)とパスワードをユーザーが携帯する端末に設定すると、アクセスポイントに接続できる。
The
なお、無線通信装置222には2つのアクセスポイントが用意されているとよい。
a. アクセスポイント→インターネット
b. アクセスポイント→社内ネットワーク→インターネット
aのアクセスポイントは社外のユーザー用で、ユーザーは社内ネットワークにはアクセスできないが、インターネットを利用できる。bのアクセスポイントは社内のユーザー用で、ユーザーは社内ネットワーク及びインターネットを利用できる。
Note that the
a. Access point → Internet
b. Access point → Internal network → Internet Access point a is for users outside the company, and users cannot access the internal network but can use the Internet. Access point b is for internal users, who can use the internal network and the Internet.
赤外線I/F223は隣に配置された手書き入力装置2を検出する。赤外線の直進性を利用して、隣に配置された手書き入力装置2のみを検出できる。赤外線I/F223は各辺に1つずつ設けられることが好ましく、手書き入力装置2のどの方向に他の手書き入力装置2が配置されたのかを検出できる。これにより画面が広がり、隣の手書き入力装置2に過去に手書きされた手書き情報(1つのディスプレー220の広さを1ページとして別のページの手書き情報)等を表示できる。
The infrared I/
電源制御回路224は手書き入力装置2の電源であるACアダプター225とバッテリー226を制御する。ACアダプター225は商用電源が共有する交流を直流に変換する。
A power
ディスプレー220がいわゆる電子ペーパーの場合、画像の表示を維持するためにほとんど又は一切電力を消費しないので、バッテリー226による駆動も可能である。これにより、屋外など電源を接続しにくい場所でもデジタルサイネージなどの用途で手書き入力装置2を使用することが可能になる。
If the
更に、手書き入力装置2は、バスライン210を備えている。バスライン210は、図6に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
Furthermore, the
なお、タッチセンサー216は、光学式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。タッチセンサー216は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン2500は、細長いペン型である必要はない。
Note that the
<装置の機能について>
次に、図7を用いて、手書き入力装置2とペン2500が有する機能について説明する。図7(a)は手書き入力装置2が有する機能をブロック状に示す機能ブロック図の一例である。手書き入力装置2は、手書き入力部21、表示部22、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、及び、ペンID制御データ保存部36、を備えている。手書き入力装置2が有する各機能は、図6に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
<About device functions>
Next, the functions of
手書き入力部21はタッチセンサー216等により実現されており、ユーザーによる手書き入力を受け付け、ペンIDを受信する。手書き入力部21はユーザーのペン入力d1をペンID付きのペン操作データd2(ペンアップ、ペンダウン、又はペン座標データ)に変換し、手書き入力表示制御部23に送信する。ペン座標データは離散値として定期的に送信され、離散値間の座標は補完計算される。
The
表示部22はディスプレー220等により実現され、手書きされたオブジェクトや操作メニューを表示する。表示部22は手書き入力表示制御部23がビデオメモリーに書き込んだ描画データd3をディスプレー220の特性に応じたデータに変換し、ディスプレー220に送信する。表示部22は、ユーザーの位置に応じてストロークデータに基づく情報を表示する。
The
手書き入力表示制御部23は手書き入力と表示に関する全体的な制御を行う。手書き入力表示制御部23は手書き入力部21からのペン操作データd2を処理し、表示部22に送信することで表示させる。ペン操作データd2の処理及びストロークの表示の詳細は後述の図26~図32にて説明する。
The handwriting input
候補表示タイマー制御部24は、選択可能候補の表示制御タイマーである。タイマーを開始又は停止して選択可能候補の表示を開始するタイミングと表示を消去するタイミングを生成する。選択可能候補とは、後述する操作ガイドに選択可能に表示される手書き認識文字列/言語文字列候補、変換文字列候補、文字列/予測変換の候補、操作コマンドの候補、である。候補表示タイマー制御部24は手書き入力表示制御部23からタイマー開始要求d4(タイマー停止要求の場合もある)を受信し、タイムアウトイベントd5を手書き入力表示制御部23に送信する。
The candidate display
手書き入力保存部25はユーザーデータ(手書きオブジェクト/文字列オブジェクト)を保存しておくストレージの機能を有する。手書き入力保存部25は手書き入力表示制御部23からユーザーデータd6-1を受信し、手書き入力保存部25に保存する。手書き入力保存部25は手書き入力表示制御部23から取得要求d6-2を受け取って、手書き入力保存部25に保存されたユーザーデータd7を送信する。手書き入力保存部25は、確定オブジェクトの位置情報d36を操作コマンド認識制御部32に送信する。
The handwritten
手書き認識制御部26はオンライン手書き認識を行う認識エンジンである。一般的なOCR(Optical Character Reader)とは異なり、ユーザーのペン操作と並行して文字(日本語だけでなく英語などの多国語)、数字、記号(%、$、&など)、図形(線、丸、三角など)等を認識していく。認識方法については様々なアルゴリズムが考案されているが、本実施形態では公知の技術を利用できるとして詳細を割愛する。
The handwriting
手書き認識制御部26はペン操作データd8-1を手書き入力表示制御部23から受信し、手書き認識を実行して手書き認識文字列候補を保持する。また、手書き認識制御部26は手書き認識辞書部27を使用して手書き認識文字列候補d12から変換した言語文字列候補を保持しておく。別途、取得要求d8-2を手書き入力表示制御部23から受信した場合、手書き認識制御部26は保持している手書き認識文字列候補及び言語文字列候補d9を手書き入力表示制御部23に送信する。
The handwriting
手書き認識辞書部27は手書き認識の言語変換用の辞書データである。手書き認識辞書部27は手書き認識文字列候補d12を手書き認識制御部26から受信し、言語的に確からしい言語文字列候補d13に変換して手書き認識制御部26に送信する。例えば、日本語の場合は、平仮名を漢字や片仮名へ変換する。
The handwriting
文字列変換制御部28は変換文字列候補の文字列への変換を制御する。変換文字列とは手書き認識文字列又は言語文字列を含んで生成される可能性が高い文字列である。文字列変換制御部28は手書き認識文字列及び言語文字列候補d11を手書き認識制御部26から受信し、文字列変換辞書部29を使用して変換文字列候補に変換して保持しておく。別途、取得要求d14を手書き入力表示制御部23から受信した場合、保持している変換文字列候補d15を手書き入力表示制御部23に送信する。
The character string
文字列変換辞書部29は文字列変換用の辞書データである。文字列変換辞書部29は文字列変換制御部28から手書き認識文字列及び言語文字列候補d17を受信し、変換文字列候補d18を文字列変換制御部28に送信する。
The character string
予測変換制御部30は手書き認識文字列及び言語文字列候補d10を手書き認識制御部26から受信し、変換文字列候補d16を文字列変換制御部28から受信する。予測変換制御部30は手書き認識文字列、言語文字列候補d10及び変換文字列候補d16それぞれについて予測変換辞書部31を使用して予測文字列候補に変換しておく。予測変換文字列とは手書き認識文字列、言語文字列又は変換文字列を含んで生成される可能性が高い文字列である。別途、取得要求d19を手書き入力表示制御部23から受信した場合、予測文字列候補d20を手書き入力表示制御部23に送信する。
The predictive
予測変換辞書部31は予測変換用の辞書データである。予測変換辞書部31は手書き認識文字列及び言語文字列候補と変換文字列候補d21を予測変換制御部30から受信し、予測文字列候補d22を予測変換制御部30に送信する。
The predictive
操作コマンド認識制御部32は手書き認識文字列及び言語文字列候補d30を手書き認識制御部26から受信し、変換文字列候補d28を文字列変換制御部28から受信する。操作コマンド認識制御部32は予測文字列候補d29を予測変換制御部30から受信する。そして、それぞれについて操作コマンド変換要求d26を操作コマンド定義部33に送信し、操作コマンド定義部33から操作コマンドの候補d27を受信する。操作コマンド認識制御部32は操作コマンドの候補d27を保持しておく。
The operation command
操作コマンド定義部33は操作コマンド変換要求d26が操作コマンド定義と部分一致(一部又は全体で一致すること)している場合は操作コマンドの候補d27を操作コマンド認識制御部32に送信する。
If the operation command conversion request d26 partially matches (matches in part or in whole) the operation command conversion request d26, the operation
また、操作コマンド認識制御部32はペン操作データd24-1を手書き入力表示制御部23から受信し、過去に入力され確定した確定オブジェクトの位置情報取得要求d23を手書き入力保存部25に送信する。操作コマンド認識制御部32はペン操作データが指定している確定オブジェクトを選択オブジェクト(位置情報を含む)として保持しておく。操作コマンド認識制御部32はペン操作データd24-1の位置と所定の基準を満たす選択オブジェクトを特定する。別途、取得要求d24-2を手書き入力表示制御部23から受信した場合、保持している操作コマンドの候補と特定した選択オブジェクトd25を手書き入力表示制御部23に送信する。
Further, the operation command
ペンID制御データ保存部36は、ペンID制御データを保持している(記憶手段といってもよい)。手書き入力表示制御部23が表示部22に表示データを送信する前に、ペンID制御データ保存部36はペンID制御データd41を手書き入力表示制御部23に送信する。手書き入力表示制御部23は、ペンIDに対応付けて保存されている動作条件で表示データを描画する。また、手書き認識制御部26が手書き認識を実行する前に、ペンID制御データ保存部36は手書き認識制御部26にペンID制御データの角度情報d44を送信して、手書き認識制御部26はペンIDに対応づけて保存されている角度情報でストロークを回転して手書き認識を実行する。
The pen ID control
また、手書き認識制御部26が、ユーザーが文字等を手書きする時の角度情報を設定するための直線を認識した後、手書き認識制御部26はペンID制御データの角度情報d43をペンID制御データ保存部36に送信して、ペンIDに対応付けて角度情報d43を保存する。また、手書き入力表示制御部23が角度情報を設定する操作コマンドを実行後に、手書き入力表示制御部23はペンID制御データd42をペンID制御データ保存部36に送信して、操作コマンドの実行結果(ユーザーが設定した角度情報)をペンIDに対応付けて保存する。以降、そのペンIDのストロークは設定した角度情報で回転してから手書き認識が実行される。
Further, after the handwriting
図7(b)は、ペン2500の機能をブロック状に示す機能ブロック図である。ペン2500はペンイベント送信部41を有している。ペンイベント送信部41はペンアップ、ペンダウン、ペン座標のイベントデータにペンIDをつけて手書き入力装置2に送信する。
FIG. 7(b) is a functional block diagram showing the functions of the
<ユーザー認証について>
本実施形態ではユーザー認証の結果を用いた制御が行われるため、手書き入力装置2がユーザー認証する機能を有することが好ましい。このため、図8を用いてユーザー認証に関する機能について説明する。
<About user authentication>
In this embodiment, since control is performed using the result of user authentication, it is preferable that the
図8は、手書き入力装置2が有するユーザー認証に関する機能をブロック状に示す図である。なお、図8ではユーザー認証部34(ユーザー認証手段)と関連する機能として手書き入力表示制御部23のみを示したが、ユーザーの認証結果は図7に示した各機能が利用できてよい。
FIG. 8 is a block diagram showing functions related to user authentication that the
認証情報取得部35はユーザーUから認証情報d31を取得する。認証情報d31はICカードのカード番号、ユーザーIDとパスワード、又は、指紋などの生体情報などでよい。ユーザー認証部34は認証情報d32を認証情報取得部35から取得して、認証情報d33をユーザー情報DB37で検索する。検索に適合するユーザーが存在する場合はユーザー情報d34をユーザー情報DB36から取得する。ユーザー情報はユーザーの属性を表す情報であればよく、例えば、ユーザー名、パスワード、ユーザーのコンピュータ名、部署、権限、などでよい。
The authentication
ユーザー認証部34はユーザー情報d35を手書き入力表示制御部23に送信するので、手書き入力表示制御部23はユーザー情報を用いて操作コマンドを実行できるようになる。ユーザー情報を用いた操作コマンドに関しては図13にて説明される。
Since the
なお、認証機能は手書き入力装置2が有する他、外部の認証サーバー等が有していてもよい。この場合、手書き入力装置2は認証情報を認証サーバーに送信し、認証結果とユーザー情報を取得する。
Note that the authentication function is not only provided by the
<定義済み制御データについて>
次に、図9を用いて、手書き入力装置2が各種の処理に使用する定義済み制御データについて説明する。図9は定義済み制御データの一例を示す。図9の例では制御項目ごとに制御データを示す。
<About predefined control data>
Next, defined control data used by the
選択可能候補表示タイマー401は、選択可能候補を表示するまでの時間を定義する(第一の時間の一例)。手書き中に選択可能候補を表示しないためである。図9では、ペンアップからTimerValue=500〔ms〕以内にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー401は候補表示タイマー制御部24が保持している。選択可能候補表示タイマー401は、後述する図28のステップS18-2において選択可能候補表示タイマー開始時に使用される。
The selectable
選択可能候補消去タイマー402は表示した選択可能候補を消去するまでの時間を定義する(第二の時間の一例)。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図9では、選択可能候補の表示からTimerValue=5000〔ms〕以内に選択可能候補が選択されなければ選択可能候補表示データが消去されることを意味している。選択可能候補消去タイマー402は候補表示タイマー制御部24が保持している。選択可能候補消去タイマー402は図30のステップS54において選択可能候補表示消去タイマー開始時に使用される。
The selectable
手書きオブジェクト近傍矩形領域403は手書きオブジェクトの近傍とみなす矩形領域を定義する。図9の例では、手書きオブジェクト近傍矩形領域403は、手書きオブジェクトの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図9の例では推定文字サイズの割合(%指定)となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きオブジェクト近傍矩形領域403は手書き入力保存部25が保持している。推定文字サイズ405は図27のステップS10において、手書きオブジェクト近傍矩形領域とストローク矩形領域の重なり状況の判定で使用される。
A handwritten object neighborhood
推定書字方向/文字サイズ判定条件404は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図9の例では、手書きオブジェクト矩形領域の最初にストロークが追加された時刻と最後にストロークが追加された時刻の差分がMinTime=1000〔ms〕以上で、手書きオブジェクト矩形領域の水平距離(幅)と垂直距離(高さ)の差分がMinDiff=10〔mm〕以上あり、水平距離が垂直距離より長い場合は、推定書字方向は「横書き」、推定文字サイズは垂直距離と判定することを意味する。水平距離が垂直距離より短い場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定することを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件404は手書き入力保存部25が保持している。推定書字方向/文字サイズ判定条件404は図30のステップS50における推定書字方向取得と、図32のステップS72における文字列オブジェクトフォント取得で使用される。
Estimated writing direction/character
推定文字サイズ405は文字等のサイズを推定するためのデータを定義する。図9の例では、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズが、推定文字サイズ405の小さめ文字405a(以下、最小フォントサイズ、と呼ぶ)と大きめ文字405c(以下、最大フォントサイズ)と比較されることを意味する。推定文字サイズが最小フォントサイズより小さい場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズより大きい場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字405bの文字サイズと判定される。推定文字サイズ405は手書き入力保存部25が保持している。推定文字サイズ405は、図32のステップS72における文字列オブジェクトフォント取得で使用される。
手書き入力保存部25は具体的には、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズを推定文字サイズ405のFontSizeと比較して、最も近いサイズのフォントを使用する。例えば、推定文字サイズが25〔mm〕(小さめ文字のFontSize)以下の場合は「小さめ文字」、推定文字サイズが25mm超50mm(中くらい文字のFontSize)以下の場合は「中くらい文字」、推定文字サイズが100mm(大きめ文字のFontSize)超の場合は「大きめ文字」と判定する。「小さめ文字」405aは明朝体の25mmフォント(FontStyle="明朝体" FontSize="25mm")、「中くらい文字」405bは明朝体の50mmフォント(FontStyle="明朝体" FontSize="50mm")、「大きめ文字」405cはゴシック体の100mmフォント(FontStyle="ゴシック体" FontSize="100mm")を使用する。もっとフォントのサイズ又はスタイルの種類を増やしたい場合は、推定文字サイズ405の種類を増やせばよい。
Specifically, the handwritten
跨ぎ線判定条件406は複数のオブジェクトが選択されたか否かの判定に使用されるデータを定義する。手書きオブジェクトが単数のストロークであり、図9の例では、手書きオブジェクトの長辺の長さが100〔mm〕以上(MinLenLongSide="100mm")、かつ、短辺の長さが50〔mm〕以下(MaxLenShortSide="50mm")、かつ、手書きオブジェクトとの長辺方向と短辺方向の重なり率が80〔%〕以上(MinOverLapRate="80%")のオブジェクトがあれば、複数のオブジェクトが選択された(選択オブジェクト)と判定する。跨ぎ線判定条件406は操作コマンド認識制御部32が保持している。跨ぎ線判定条件406は図29のステップS41における選択オブジェクトの判定の跨ぎ線判定で使用される。
The straddle
囲み線判定条件407は、オブジェクトが囲み線か否かの判定に使用されるデータを定義する。図9の例では、操作コマンド認識制御部32は手書きオブジェクトの長辺方向と短辺方向の重なり率が100%以上(MinOverLapRate="100%")の確定オブジェクトを選択オブジェクトと判定する。囲み線判定条件407は、操作コマンド認識制御部32が保持している。囲み線判定条件407は、図29のステップS41における選択オブジェクトの判定の囲み線判定で使用される。
The enclosing
なお、跨ぎ線判定条件406と囲み線判定条件407はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件406を緩やかにして(跨ぎ線を選択しやすくした場合)、囲み線判定条件407は厳密にした場合(囲み線のみを選択できるような値とした場合)、操作コマンド認識制御部32は囲み線判定条件407を優先して判定するのがよい。
Note that either the straddling
<辞書データの一例>
図10~図12を用いて辞書データについて説明する。図10は手書き認識辞書部27の辞書データの一例である。図11は文字列変換辞書部29の辞書データの一例である。図12は予測変換辞書部31の辞書データの一例である。なお、これらの辞書データはそれぞれ図29のステップS24~S33で使用される。
<Example of dictionary data>
The dictionary data will be explained using FIGS. 10 to 12. FIG. 10 is an example of dictionary data of the handwriting
本実施形態では、図10の手書き認識辞書部27の辞書データによる変換結果を言語文字列候補、図11の文字列変換辞書部29の辞書データによる変換結果を変換文字列候補、図12の予測変換辞書部31の辞書データによる変換結果を予測文字列候補と呼ぶ。各辞書データの「変換前」は辞書データを検索する文字列、「変換後」は検索する文字列に対応した変換後の文字列、「確率」はユーザーが選択する確率を表す。確率は過去にユーザーが各文字列を選択した結果から算出されている。したがって、ユーザーごとに確率が算出されてもよい。確率の計算方法として様々なアルゴリズムが考案されているが、適宜、適切な方法で計算するものとすればよく、詳細は割愛する。本実施形態では、推定書字方向から文字列候補を選択確率降順で表示することを特徴とする。
In this embodiment, the conversion result using the dictionary data of the handwriting
図10の手書き認識辞書部27の辞書データでは、手書きされた「ぎ」は、確率0.55で「議」、確率0.4で「技」、手書きされた「ぎし」は、確率0.5で「技士」、確率0.45で「技師」に変換されることを示す。その他の「変換前」の文字列についても同様である。図10では「変換前」の文字列が手書きされた平仮名となっているが、平仮名以外を「変換前」に登録してもよい。
In the dictionary data of the handwriting
図11の文字列変換辞書部29の辞書データでは、文字列「議」は確率0.95で「議事録」に、文字列「技」は確率0.85で「技量試」に変換されることを示す。その他の「変換前」の文字列についても同様である。
The dictionary data of the character string
図12の予測変換辞書部31の辞書データでは、文字列「議事録」は確率0.65で「議事録の送付先」に、文字列「技量試」は確率0.75で「技量試を決裁」に変換されることを示す。図12の例では変換前の文字列がすべて漢字になっているが、漢字以外を登録してもよい。
In the dictionary data of the predictive
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。 Note that the dictionary data is language-independent, and any character strings may be registered before and after conversion.
<操作コマンド定義部が保持する操作コマンド定義データ>
次に、図13、図14を用いて操作コマンド認識制御部32が使用する操作コマンド定義データについて説明する。図13は、操作コマンド定義部33が保持する操作コマンド定義データとシステム定義データの一例を示す。
<Operation command definition data held by the operation command definition section>
Next, the operation command definition data used by the operation command
図13(a)は操作コマンド定義データの一例を示す。図13(a)の操作コマンド定義データは、手書きオブジェクトにより選択された選択オブジェクトがない場合の操作コマンド定義データ例であり、手書き入力装置2を操作する全ての操作コマンドが対象となる。図13(a)の操作コマンドは操作コマンド名(Name)、文字列候補と部分一致する文字列(String)、実行する操作コマンド文字列(Command)を有する。操作コマンド文字列内の「%~%」は変数であり、図13(b)に示すようにシステム定義データと対応付けられている。つまり、「%~%」は図13(b)に示すシステム定義データで置き換えられる。
FIG. 13(a) shows an example of operation command definition data. The operation command definition data in FIG. 13A is an example of operation command definition data when there is no selected object selected by the handwritten object, and all operation commands for operating the
まず、操作コマンド定義データ701は、操作コマンド名が「議事録テンプレートを読み込む」、文字列候補と部分一致する文字列が「議事録」又は「テンプレート」、実行する操作コマンド文字列が「ReadFile https://%username%:%password%@server.com/template/minutes.pdf」であることを示す。この例では、実行する操作コマンド文字列に「%~%」のシステム定義データが含まれており「%username%」「%password%」はそれぞれシステム定義データ704、705で置き換えられることを示す。したがって、最終的に実行する操作コマンド文字列は「ReadFile https://taro.tokkyo:x2PDHTyS@server.com/template/minutes.pdf」という文字列となり、「https://taro.tokkyo:x2PDHTyS@server.com/template/minutes.pdf」というファイルを読み込む(ReadFile)ことを示す。
First, in the operation
操作コマンド定義データ702は、操作コマンド名が「議事録フォルダーに保存する」、文字列候補と部分一致する文字列が「議事録」又は「保存」、実行する操作コマンド文字列が「WriteFile https://%username%:%password%@server.com/minutes/%machinename%_%yyyy-mm-dd%.pdf」であることを示す。操作コマンド定義データ701と同様に、操作コマンド文字列の「%username%」「%password%」「%machinename%」はそれぞれシステム定義データ704~706で置き換えられる。なお、「%yyyy-mm-dd%」は現在日で置き換えることを示す。例えば、現在日が2018年9月26日であれば「2018-09-26」で置き換えることを示す。最終的に実行する操作コマンドは「WriteFile https://taro.tokkyo:x2PDHTyS@server.com/minutes/%My-Machine_2018-09-26.pdf」となり、議事録を「https://taro.tokkyo:x2PDHTyS@server.com/minutes/%My-Machine_2018-09-26.pdf」というファイルに保存する(WriteFile)ことを示す。
In the operation
操作コマンド定義データ703は、操作コマンド名が「印刷する」、文字列候補と部分一致する文字列が「印刷」又は「プリント」、実行する操作コマンド文字列が「PrintFile https://%username%:%password%@server.com/print/%machinename%-"%yyyy-mm-dd%.pdf」であることを示す。操作コマンド定義データ702と同様に操作コマンド文字列を置き換えると、最終的に実行する操作コマンドは「PrintFile https://taro.tokkyo:x2PDHTyS@server.com/print/%My-Machine_2018-09-26.pdf」となり、「https://taro.tokkyo:x2PDHTyS@server.com/print/%My-Machine_2018-09-26.pdf」というファイルを印刷する(PrintFile)ことを示す。つまり、ファイルがサーバーに送信される。ユーザーがプリンターをサーバーと通信させ、ファイルを指定するとプリンターが用紙にファイルの内容を印刷する。
In the operation
このように、文字列候補から操作コマンド定義データ701~703を特定できるため、ユーザーが手書きすることで操作コマンドを表示させることができる。また、ユーザーの認証が成功した場合にはユーザー情報で操作コマンド定義データの「%username%」「%password%」等が置き換えられるので、ユーザーに対応付けてファイルの入出力が可能になる。
In this way, since the operation
ユーザーの認証が行われない場合(認証に失敗したがユーザーが手書き入力装置2を使用できる場合は認証失敗の場合も含む)、手書き入力装置2は、予め設定されている手書き入力装置2の「%username%」「%password%」等に置き換える。したがって、ユーザー認証なしでも手書き入力装置2に対応付けてファイルの入出力が可能になる。
If the user is not authenticated (including the case of authentication failure if the user is able to use the
操作コマンド定義データ709、710、711は、ペン状態を変更する操作コマンドである。ペン状態とはペンの種類と称してもよい。操作コマンド定義データ709、710、711それぞれの操作コマンド名は「細ペン」「太ペン」「マーカー」、文字列候補と部分一致する文字列が「細」、「ペン」、「太」「ペン」、「マーカー」又は「ペン」、操作コマンド文字列が「ChangePen fine」「ChangePen bold」又は「Changepen marking」である。この操作コマンドが実行されると、ペン状態はペンID制御データ保存部36に保存されるので、ユーザーは設定したペン状態でストロークを手書きできる。
Operation
操作コマンド定義データ712は、テキストデータの方向を一定方向に揃えるための操作コマンドである。操作コマンド定義データ712の操作コマンド名は「テキスト方向を揃える」、文字列候補と部分一致する文字列が「テキスト」「向き」又は「方向」、操作コマンド文字列が「AlignTextDirection」である。ユーザーが天地方向以外から書き込んだテキストデータは向きがばらばらなので、ある1つの方向から全てを読み取りにくい。操作コマンド定義データ712をユーザーが実行すると、手書き入力装置2は手書き認識した文字列を同一方向(例えば、天地方向)に揃える。この場合の揃えるとは、テキストデータを角度情報だけ回転させることをいう。
The operation
続いて、図14に基づいて手書きオブジェクトがある場合の操作コマンド定義データ、つまり編集系及び修飾系の操作コマンド定義データについて説明する。図14は手書きオブジェクトにより選択された選択オブジェクトがある場合の操作コマンド定義データの一例を示す。図14の操作コマンド定義データは、操作コマンド名(Name)、操作コマンドの候補のグループ名(Group)、実行する操作コマンド文字列(Command)を有する。 Next, based on FIG. 14, operation command definition data when there is a handwritten object, that is, editing-related and modification-related operation command definition data will be described. FIG. 14 shows an example of operation command definition data when there is a selected object selected by a handwritten object. The operation command definition data in FIG. 14 includes an operation command name (Name), a group name (Group) of operation command candidates, and an operation command character string to be executed (Command).
操作コマンド定義データ707は編集系(Group="Edit")の操作コマンドを定義しており、編集系の操作コマンド名「消去」「移動」「回転」「選択」の定義データ例である。つまり、選択オブジェクトに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。
The operation
操作コマンド定義データ708は修飾系(Group="Decorate")の操作コマンドを定義しており、修飾系の操作コマンド名「太く」「細く」「大きく」「小さく」「下線」の定義データ例である。選択オブジェクトに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。この他、色の操作コマンドが表示されてもよい。
The operation
したがって、ユーザーが選択オブジェクトを手書きオブジェクトで選択することで、操作コマンド定義データ707、708が特定されるため、ユーザーが手書きすることで操作コマンドを表示させることができる。
Therefore, since the operation
<手書き入力保存部が保存する手書き入力保存データ>
次に、図15を用いて、手書き入力保存データについて説明する。図15は、手書き入力保存部25が保存する手書き入力保存データの一例を示す。図15の1行が1つのストロークを表す。1つの手書き入力保存データは、DataId、Type、PenId, Color, Width, Pattern, Angle、StartPoint、StartTime、EndPoint、EndTime、Point、及び、Pressureの各項目を有している。
<Handwritten input saved data saved by the handwritten input storage section>
Next, handwritten input storage data will be explained using FIG. 15. FIG. 15 shows an example of handwritten input storage data stored by the handwritten
DataIdはストロークの識別情報である。Typeはストロークの種別である。種別にはストローク(Stroke)、グループ(Group)、及びテキスト(Text)がある。手書き入力保存データ801、802の種別はStrokeであり、手書き入力保存データ803の種別はGroupである。Groupとは他のストロークをグループ化することを意味し、種別がGroupの手書き入力保存データは、DataIdでグループ化の対象のストロークを指定する。PenId、Color, Width, Pattern, Angleは次述するペンID制御データが転記されたものである。StartPointはストロークの始点座標であり、StartTimeはストロークの始点時刻である。EndPointはストロークの終点座標であり、EndTimeはストロークの終点時刻である。Pointは始点から終点までの座標列であり、Pressureは始点から終点までの筆圧である。Angleに示すように、手書き入力保存データ804,805はそれぞれ180度、270度だけ時計回りに回転してから手書き認識されたことを示す。
DataId is stroke identification information. Type is the type of stroke. Types include stroke, group, and text. The type of handwritten
<ペンID制御データ保存部が保存するペンID制御データ>
次に、図16を用いて、ペンID制御データについて説明する。図16は、ペンID制御データ保存部36が保存するペンID制御データを説明する図である。図16(a)の1行が1つのペンのペンID制御データを示す。また、図16(b)は手書き入力装置2に対しユーザーが手書きする時の角度情報を説明する図である。角度情報はユーザーが存在する方向の角度とも言えるし、ペンが使用される方向の角度とも言えるし、ユーザーが手書きした文字の回転に関する角度とも言える。手書き入力装置2の所定の方向(例えば天地方向)を0度(基準)として、各ユーザーの角度情報は反時計回りに45度、90度、135度、180度、225度、270度、315度、である。
<Pen ID control data stored by the pen ID control data storage unit>
Next, pen ID control data will be explained using FIG. 16. FIG. 16 is a diagram illustrating pen ID control data stored by the pen ID control
ユーザーの角度情報は、手書き入力装置2が平置きされた場合に、手書き入力装置2に対しユーザーが存在する位置である。すなわちユーザーの角度情報は位置に関する情報ということができる。手書き入力装置2から見てどの方向にユーザーがいるかを特定できる。角度情報の他、手書き入力装置2から見た方向を時計に見立て、0度:6時方向、45度:4時方向と5時方向の間、90度:3時方向、135度:1時方向と2時方向の間、180度:12時方向、225度:10時方向と11時方向の間、270度:9時方向、315度:7時方向と8時方向の間、と表現してもよい。
The user's angle information is the position of the user relative to the
なお、角度情報はユーザーの位置によって自動的に決まるわけではなく、各ユーザーが角度情報を入力する(指定する)。指定可能な角度情報の分解能(図16では45度)は一例に過ぎず、より小さい5度~30度などでもよい。ただし、45度くらいで回転した文字であれば、ユーザーは読めると考えられる。 Note that the angle information is not automatically determined based on the user's position, but each user inputs (specifies) the angle information. The resolution of angle information that can be specified (45 degrees in FIG. 16) is just one example, and may be smaller, such as 5 degrees to 30 degrees. However, it is believed that users can read characters that are rotated at around 45 degrees.
ペンID制御データは、PenId、Color、Width、Pattern、及び、Angleを有している。PenIdはペン内部に保存されている識別情報である。Colorはこのペンに設定されているストロークの色である(ユーザーが任意に変更可能)。Widthはこのペンに設定されているストロークの太さである(ユーザーが任意に変更可能)。Patternはこのペンに設定されているストロークの線種である(ユーザーが任意に変更可能)。Angleはこのペンに設定されているストロークの角度情報である(ユーザーが任意に変更可能)。図16(a)の例では、各ペンの角度情報は、反時計回りに0度、90度、180度、270度となっている。 The pen ID control data includes PenId, Color, Width, Pattern, and Angle. PenId is identification information stored inside the pen. Color is the stroke color set for this pen (can be changed arbitrarily by the user). Width is the stroke thickness set for this pen (can be changed arbitrarily by the user). Pattern is the stroke line type set for this pen (can be changed arbitrarily by the user). Angle is the stroke angle information set for this pen (can be changed arbitrarily by the user). In the example of FIG. 16A, the angle information of each pen is 0 degrees, 90 degrees, 180 degrees, and 270 degrees counterclockwise.
ペンID制御データ901はペンIDが1の制御データで、色は黒(Black)、太さは1ピクセル(1 px)、パターンはベタ塗り(Solid)、角度情報は0度である。同様に、ペンID制御データ902はペンIDが2、色は黒、太さは1ピクセル、パターンはベタ塗り、角度情報は90度である。ペンID制御データ903は、ペンIDが3、色は黒、太さは10ピクセル、パターンはベタ塗り、角度情報は180度である。ペンID制御データ904は、色が黒、太さは10ピクセル、パターンはハーフトーンドット、角度情報は270度である。
The pen
このデータは、図26のステップS5(ペンID制御データ取得)、図28のステップS20(ペンID制御データの角度情報を保存)、ステップS21(ペンID制御データの角度情報を取得)、図30のステップS51(ペンID制御データの取得)、図32のステップS78(ペンID制御データの角度情報を保存)、で使用される。 This data includes step S5 in FIG. 26 (obtain pen ID control data), step S20 in FIG. 28 (save angle information of pen ID control data), step S21 (obtain angle information of pen ID control data), and It is used in step S51 of FIG. 32 (obtaining pen ID control data) and step S78 of FIG. 32 (saving angle information of pen ID control data).
<選択可能候補の表示例>
図17は操作ガイド500と操作ガイドが表示する選択可能候補530の一例である。ユーザーが手書きオブジェクト504を手書きすることで(選択可能候補表示タイマーのタイムアウトにより)、操作ガイド500が表示される。操作ガイド500は、操作ヘッダー520、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、及び、手書きオブジェクト矩形領域表示503を有している。選択可能候補530は、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508である。この例では言語変換文字列がないが表示される場合がある。また、操作コマンドの候補510を除く選択可能候補530を文字列候補539という。
<Display example of selectable candidates>
FIG. 17 is an example of the
操作ヘッダー520はボタン501、509、502、505を有する。ボタン501は予測変換とカナ変換の切り替え操作を受け付ける。図17の例ではユーザーが「予測」と表示されているボタン509を押下すると手書き入力部21がそれを受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が「かな」というボタン509に表示を変更する。変更後は、文字列候補539が「カナ変換」の確率降順で並ぶ。
ボタン502は候補表示のページ操作をする。図17の例では候補表示ページは3ページあり、現在は1ページ目を表示している。ボタン505は操作ガイド500の消去を受け付ける。ユーザーがボタン505を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きオブジェクト以外の表示を消去する。ボタン509は一括表示消去を受け付ける。ユーザーがボタン509を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知する。表示部22は手書きオブジェクトを含め、図17に示されているすべての表示を消去する。ユーザーは最初から手書きしなおすことができる。
A
手書きオブジェクト504はユーザーが手書きした「ぎ」という文字である。手書きオブジェクト504を囲む手書きオブジェクト矩形領域表示503が表示される。表示の手順は図26~図32のシーケンス図で説明する。図17の例では点線枠で手書きオブジェクト矩形領域表示503が表示されている。
A
手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508にはそれぞれの文字列候補が確率降順で並んでいる。手書き認識文字列候補506の「ぎ」は認識結果の候補である。この例では正しく「ぎ」を認識している。
The handwritten recognition
変換文字列候補507は言語文字列候補から変換された変換文字列候補である。この例の「技量試」とは「技術量産試作」の略名である。文字列/予測変換の候補508は言語文字列候補又は変換文字列候補から変換された予測文字列候補である。この例では「技量試を決裁」と「議事録の送付先」が表示されている。
A converted
操作コマンドの候補510は図13(a)の操作コマンド定義データ701~703、709~712に基づいて選択された操作コマンドの候補である。図17の例では行頭文字の「》」511が操作コマンドの候補であることを示している。図17では手書きオブジェクト504である「ぎ」が選択する選択オブジェクトがなく、「ぎ」の文字列候補である「議事録」が、図13(a)の操作コマンド定義データ701,702と部分一致したため、操作コマンドの候補510として表示されている。
The
ユーザーが「議事録テンプレートを読み込む」を選択すると、操作コマンド定義データ701で定義された操作コマンドが実行され、「議事録フォルダーに保存する」を選択すると、操作コマンド定義データ702で定義された操作コマンドが実行される。このように操作コマンドの候補は、変換された文字列を含む操作コマンド定義データが見つかる場合に表示されるため、常に表示されるとは限らない。
When the user selects "Load minutes template", the operation command defined in the operation
図17に示すように、文字列候補と操作コマンドの候補が同時に(共に)表示されるため、ユーザーは自分が入力しようとした文字列候補と操作コマンドのどちらも任意に選択できる。 As shown in FIG. 17, since the character string candidate and the operation command candidate are displayed simultaneously (both), the user can arbitrarily select either the character string candidate he or she intended to input or the operation command.
<操作ガイドの位置と手書きオブジェクト矩形領域表示の位置の関係>
表示部22は、ストロークデータの位置に応じた位置にテキストデータを含む操作ガイド500を表示する。表示部22は、ストロークデータの位置に基づいた画面内の位置に、テキストデータを含む操作ガイド500を表示する。このように、操作ガイド500の位置はストロークデータの位置によって定まる。
<Relationship between the position of the operation guide and the position of the handwritten object rectangular area display>
The
図18は、操作ガイドの位置と手書きオブジェクト矩形領域表示の位置の関係を説明する図である。まず、操作ガイド500の横幅A及び高さH1は一定である。手書きオブジェクト矩形領域表示503の右端と操作ガイド500の右端は一致する。
FIG. 18 is a diagram illustrating the relationship between the position of the operation guide and the position of the handwritten object rectangular area display. First, the width A and height H1 of the
手書きオブジェクト矩形領域表示503の横幅Bは、ユーザーが手書きした手書きオブジェクト504の長さによって定まる。図18(a)では、手書きオブジェクト矩形領域表示503の横幅Bが1文字分であり、A>Bなので、操作ガイド500の左上コーナーPの座標(x0、y0)は以下のように算出される。なお、手書きオブジェクト矩形領域表示503の左上コーナーQの座標を(x1、y1)とする。手書きオブジェクト矩形領域表示503の高さをH2とする。
x0 = x1 -(A-B)
y0 = y1+H2
The width B of the handwritten object
x 0 = x 1 - (A-B)
y 0 = y 1 + H 2
一方、図18(b)に示すように、手書きオブジェクト矩形領域表示の横幅BがAより大きい場合、操作ガイド500の左上コーナーPの座標(x0、y0)は以下のように算出される。
x0 = x1+(B-A)
y0 = y1+H2
On the other hand, as shown in FIG. 18(b), when the width B of the handwritten object rectangular area display is larger than A, the coordinates (x 0 , y 0 ) of the upper left corner P of the
x 0 = x 1 + (B-A)
y0 = y1 + H2
なお、図18等では手書きオブジェクト矩形領域表示503の下方に操作ガイド500が表示されているが、操作ガイド500は手書きオブジェクト矩形領域表示503の上方に表示されてもよい。
Note that although the
図19は、手書きオブジェクト矩形領域表示503の上方に表示された操作ガイド500を示す。x1の算出方法は図18と同様であるが、y0の算出方法が変わる。
y0 = y1- H1
なお、操作ガイド500は手書きオブジェクト矩形領域表示503の右側又は左側に表示されてもよい。また、ユーザーがディスプレーの端に手書きしたため操作ガイド500の表示スペースがない場合、操作ガイド500は表示スペースがある側に表示される。
FIG. 19 shows an
y 0 = y 1 - H 1
Note that the
<選択オブジェクトの指定例>
本実施形態の手書き入力装置2は確定オブジェクトをユーザーが手書きにより選択することで選択オブジェクトを指定できる。選択オブジェクトは編集又は修飾の対象となる。
<Example of specifying selected object>
The
図20は、選択オブジェクトの指定例を説明する図の一例である。図20では、手書きオブジェクト11は黒色実線、手書きオブジェクト矩形領域12を灰色網掛け、確定オブジェクト13を黒線、選択オブジェクト矩形領域14を点線でそれぞれ表示している。なお、それぞれを区別する場合に小文字のアルファベットを符号に付加する。また、確定オブジェクトを選択オブジェクトと判定するための判定条件(所定の関係にあるか否か)として、図9に示した定義済み制御データの跨ぎ線判定条件406又は囲み線判定条件407を使用している。
FIG. 20 is an example of a diagram illustrating an example of specifying a selected object. In FIG. 20, the handwritten object 11 is shown with a solid black line, the handwritten object rectangular area 12 is shown with gray shading, the confirmed object 13 is shown with a black line, and the selected object rectangular area 14 is shown with a dotted line. In addition, when distinguishing between each, a lowercase alphabet is added to the code. Furthermore, as a determination condition (whether or not there is a predetermined relationship) for determining a confirmed object as a selected object, the straddle
図20(a)は横書きの2つの確定オブジェクト13a、13bをユーザーが跨ぎ線(手書きオブジェクト11a)で指定した例である。この例では、手書きオブジェクト矩形領域12aの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定オブジェクト13a、13bとの重なり率が跨ぎ線判定条件406の条件を満たしているため、「議事録」と「ぎじ」の両方の確定オブジェクト13a、13bが選択オブジェクトとして指定されている。
FIG. 20(a) is an example in which the user specifies two horizontally written confirmed
図20(b)は横書きの確定オブジェクト13cを囲み線(手書きオブジェクト11b)で指定した例である。この例では、確定オブジェクト13cと手書きオブジェクト矩形領域12cの重なり率が囲み線判定条件407の条件を満たしている「議事録」という確定オブジェクト13cだけが選択オブジェクトとして指定されている。
FIG. 20(b) is an example in which a horizontally written confirmed
図20(c)は縦書きの複数の確定オブジェクト13d、13eを跨ぎ線(手書きオブジェクト11c)で指定した例である。この例では、図20(a)と同様に、手書きオブジェクト矩形領域12dの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、「議事録」と「ぎじ」という2つの確定オブジェクト13d、13eそれぞれとの重なり率が跨ぎ線判定条件406の条件を満たしているため、「議事録」と「ぎじ」の両方の確定オブジェクト13d、13eが選択オブジェクトとして指定されている。
FIG. 20(c) is an example in which a plurality of vertically written confirmed
図20(d)は縦書きの確定オブジェクト13fを囲み線(手書きオブジェクト11d)で指定した例である。この例では、図20(b)と同様に、「議事録」という確定オブジェクト13fだけが選択オブジェクトとして指定されている。
FIG. 20(d) is an example in which a vertically written confirmed
<操作コマンドの候補の表示例>
図21は、図14に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図21(a)は編集系の操作コマンドの候補であり、図21(b)は修飾系の操作コマンドの候補である。また、図21(a)は図20(a)の手書きオブジェクト11aで選択オブジェクトが指定された例を示す。
<Example of displaying operation command candidates>
FIG. 21 shows a display example of operation command candidates based on the operation command definition data when the handwritten object shown in FIG. 14 is present. FIG. 21(a) shows candidates for editing-related operation commands, and FIG. 21(b) shows candidates for modification-related operation commands. Further, FIG. 21(a) shows an example in which a selected object is designated by the
図21(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。メインメニュー550には最後に実行された操作コマンド名又は操作コマンド定義データで先頭の操作コマンド名が表示される。1行目の行頭文字「》」511aは編集系の操作コマンドの候補であり、2行目の行頭文字「》」511bは修飾系の操作コマンドの候補である。
As shown in FIGS. 21(a) and 21(b), the operation command candidate displayed following the bullet ">" 511 is the
行末の「〉」512はサブメニューがあることを示す(サブメニューボタンの一例)。1行目の「〉」512aは編集系の操作コマンドの候補についてサブメニュー(最後に選択された)を表示させる。2行目の「〉」512bは修飾系の操作コマンドの候補について残りのサブメニューを表示させる。ユーザーが「〉」512を押下すると、その右側にサブメニュー560が表示される。サブメニュー560には操作コマンド定義データで定義されている全ての操作コマンドが表示される。図21(a)の表示例ではメインメニューが表示された時から1行目の「〉」512aに対応したサブメニュー560も表示されている。1行目の「〉」512aの押下により表示されてもよい。
“>” 512 at the end of the line indicates that there is a submenu (an example of a submenu button). ">" 512a in the first line displays a submenu (last selected) for editing operation command candidates. ">" 512b on the second line displays the remaining submenus regarding candidates for modification-type operation commands. When the user presses ">" 512, a
ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択オブジェクトに対して実行する。すなわち「消去」521が選択されると「Delete」、「移動」522が選択されると「Move」、「回転」523が選択されると「Rotate」、「選択」524が選択されると「Select」をそれぞれ実行する。
When the user presses any operation command name with a pen, the handwriting input
例えば、ユーザーが「消去」521をペンで押下すると「議事録」と「ぎじ」を消去でき、「移動」522,「回転」523、「選択」524を押すとバウンディングボックス(選択オブジェクトの外接矩形)が表示され、「移動」522と「回転」523ではペンのドラッグ動作で移動又は回転でき、「選択」524ではその他のバウンディングボックスの操作を実行できる。 For example, when the user presses "Erase" 521 with a pen, "Minutes" and "Giji" can be deleted, and when the user presses "Move" 522, "Rotate" 523, and "Select" 524, the bounding box (the circumscribed rectangle of the selected object) can be deleted. ) are displayed, "Move" 522 and "Rotate" 523 allow you to move or rotate by dragging the pen, and "Select" 524 allows you to perform other bounding box operations.
操作コマンドの候補以外の文字列候補である「一」541、「一、」542、「~」543、「→」544、「⇒」545は跨ぎ線(手書きオブジェクト11a)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
Character string candidates other than operation command candidates, such as “1” 541, “1,” 542, “~” 543, “→” 544, and “⇒” 545, are the recognition results of the straddle line (
図21(b)では2行目の「〉」512bの押下により、図21(b)のサブメニューが表示される。図21(b)の表示例も図21(a)と同様にメインメニュー550とサブメニュー560が表示されている。図14の操作コマンド定義データに基づいて、「太く」531が選択されると「Thick」、「細く」532が選択されると「Thin」、「大きく」533が選択されると「Large」、「小さく」534が選択されると「Small」、下線535が選択されると「Underline」を手書き入力表示制御部23が選択オブジェクトに対してそれぞれ実行する。
In FIG. 21(b), by pressing ">" 512b on the second line, the submenu of FIG. 21(b) is displayed. The display example in FIG. 21(b) also displays a
なお、「太く」531が選択された場合にどのくらい太くするか、「細く」532が選択された場合にどのくらい細くするか、「大きく」533が選択された場合にどのくらい大きくするか、「小さく」534が選択された場合にどのくらい小さくするか、下線535が選択された場合の線種等は、固定値が別途定義されている。あるいは、図21(b)のサブメニューが選択されると別途、選択メニューが開かれユーザーが調整できるようになっているとなおよい。
In addition, how thick should it be made when "Thick" 531 is selected, how thin should it be made when "Thin" 532 is selected, how large should it be made when "Large" 533 is selected, and "Small" Fixed values are separately defined for how much to reduce when 534 is selected, the line type when
ユーザーが「太く」531をペンで押下すると「議事録」と「ぎじ」という確定オブジェクト13a、13bを構成する線を手書き入力表示制御部23が太くする。「細く」532をペンで押下すると、「議事録」と「ぎじ」を構成する線を手書き入力表示制御部23が細くでき、「大きく」533をペンで押下すると手書き入力表示制御部23が大きくでき、「小さく」534をペンで押下すると手書き入力表示制御部23が小さくでき、「下線」535をペンで押下すると下線を手書き入力表示制御部23が追加できる。
When the user presses ``thick'' 531 with a pen, the handwritten input
図22は、図14に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図21(a)(b)との相違は、図22(a)(b)は図20(b)の手書きオブジェクト11b(囲み線)で選択オブジェクトが指定された例を示す。図21と図22を比較すると分かるように手書きオブジェクトが線か囲み線かによって表示される操作コマンドの候補に違いはない。手書き入力表示制御部23は選択オブジェクトが指定されると操作コマンドの候補を表示部22に表示させるためである。しかし、手書きオブジェクトを認識して手書きオブジェクトに応じて表示する操作コマンドの候補を変更してもよい。この場合、認識された手書きオブジェクト(一や○など)に図14のような操作コマンド定義データを対応付けておく。
FIG. 22 shows a display example of operation command candidates based on the operation command definition data when the handwritten object shown in FIG. 14 is present. The difference from FIGS. 21(a) and 21(b) is that FIGS. 22(a) and 22(b) show an example in which the selected object is designated by the
図22において操作コマンドの候補以外の文字列候補である「○」551、「∞」552、「0」553、「00」554、「ロ」555は囲み線(手書きオブジェクト11b)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
In FIG. 22, character string candidates other than operation command candidates, such as "○" 551, "∞" 552, "0" 553, "00" 554, and "RO" 555, are the recognition results of the enclosing line (
<角度情報の入力例>
次に、図23を用いて角度情報の入力方法を説明する。図23は、角度情報の入力方法を説明する図の一例である。図23では手書き入力装置2の3時の方向に存在するユーザーが角度情報を入力する場合を説明する。3時の方向から手書きされた文字等は時計回りに90度回転されると正しく認識されるので、90度の角度情報が入力されるとよい。
<Example of inputting angle information>
Next, a method for inputting angle information will be explained using FIG. 23. FIG. 23 is an example of a diagram illustrating a method of inputting angle information. In FIG. 23, a case will be described in which a user located at the 3 o'clock direction of the
図23(a)は、ペンID制御データの角度情報が0度(初期値)の状態で、手書き入力装置2の3時の方向に存在するユーザーが「ぎ」を手書きしたため、操作ガイド500が表示された状態を示す。手書き入力装置2は3時の方向から手書きした「ぎ」を、角度情報が0度のまま文字認識するため、期待とは違う選択可能候補530が表示されている。
In FIG. 23(a), when the angle information of the pen ID control data is 0 degrees (initial value), the user who is present in the 3 o'clock direction of the
角度情報を入力する場合、ユーザーは操作ガイド500内に(所定範囲の一例)、ユーザーから見て上から下方向に直線を手書きする。図23(b)はこの直線521の一例を示す。角度情報が0度である6時の方向とこの直線521との反時計回りのなす角αが角度情報である。すなわち、始点Sから6時の方向に下ろした直線522と、ユーザーが入力した直線521の反時計回りのなす角αが角度情報である。簡単には、直線521の終点方向が角度情報である。したがって、図23(b)でユーザーが入力した角度情報は90度である。
When inputting angle information, the user handwrites a straight line in the operation guide 500 (an example of a predetermined range) from top to bottom as seen from the user. FIG. 23(b) shows an example of this
なお、直線の検出には、例えば、始点Sから終点Eまでの座標を最小二乗法で直線に変換し、得られた相関係数と閾値を比較して直線か否かを判定する方法がある。 Note that to detect a straight line, for example, there is a method of converting the coordinates from the starting point S to the ending point E into a straight line using the least squares method, and comparing the obtained correlation coefficient with a threshold value to determine whether it is a straight line. .
ユーザーが直線521を書き始めた直後(ペン2500を直線521の始点Sに触れた直後)、手書き入力装置2は操作ガイド500を消去する。また、直線521を書き終わった直後(ペン2500を直線521の終点Eから離した直後)、手書き入力装置2は、45度、90度、135度、180度、215度、270度、315度、360度から上記のなす角αが最も近い値を探してそれを角度情報に決定する。なす角αそのものを角度情報としてもよい。ペンID制御データのAngleには決定した角度情報が設定される。ペン2500のペンイベント送信部41は、手書きなどのためにペン先が押圧されると、ペンIDを手書き入力装置2に送信するので、手書き入力装置2はペンID制御データに角度情報を対応付けることができる。
Immediately after the user starts writing the straight line 521 (immediately after touching the starting point S of the
なお、ユーザーが直線を手書きして角度情報を入力できるのは操作ガイド500に限られている。これにより、ユーザーが操作ガイド500以外で直線を手書きすると「1」や「一」などと認識され、操作ガイド500で直線を手書きすると角度情報を入力できる。すなわち、手書き認識制御部26は、所定範囲から直線を検出し、所定範囲外に手書きされたストロークデータをテキストデータに変換する。
Note that only the
図23(c)は、図23(b)の操作直後の操作ガイド500を示す。ペンID制御データには角度情報(Angle)として90度が設定されたので、手書きオブジェクト(ストロークデータ)が内部的に90度だけ時計回りに回転して手書き認識され、操作ガイド500は90度だけ反時計回りに回転して表示されている。
FIG. 23(c) shows the
図24は、45度の角度情報の入力方法を説明する図の一例である。図24では手書き入力装置2の4時と5時の中間の方向に存在するユーザーが角度情報を入力する場合を説明する。4時方向と5時方向の中間から手書きされた文字等は時計回りに45度回転されると正しく認識されるので、45度の角度情報が入力されるとよい。
FIG. 24 is an example of a diagram illustrating a method of inputting 45 degree angle information. In FIG. 24, a case will be described in which a user who is present in the direction between 4 o'clock and 5 o'clock on the
図24(a)は、角度情報が0度(初期値)の状態で、手書き入力装置2の4時方向と5時方向の中間の方向に存在するユーザーが「ぎ」を手書きしたため、操作ガイド500と選択可能候補が表示された状態を示す。手書き入力装置2は4時方向と5時方向の中間の方向から手書きした「ぎ」を、角度情報が0度のまま文字認識するため、期待とは違う選択可能候補が表示されている。
In FIG. 24(a), when the angle information is 0 degrees (initial value), the user located in the middle direction between the 4 o'clock direction and the 5 o'clock direction of the
角度情報を入力する場合、ユーザーは操作ガイド500内に、ユーザーから見て上から下方向に直線を手書きする。図24(b)はこの直線521の一例を示す。角度情報が0度の6時の方向とこの直線521との反時計回りのなす角αが角度情報である。したがって、図24(b)でユーザーが入力した角度情報は45度である。ペンID制御データのAngleにはこの角度情報(45度)が設定される。
When inputting angle information, the user handwrites a straight line in the
図24(c)は、図24(b)の操作直後の操作ガイド500を示す。ペンID制御データには角度情報(Angle)として45度が設定されたので、手書きオブジェクトが内部的に45度だけ時計回りに回転して手書き認識され、操作ガイド500は45度だけ反時計回りに回転して表示される。
FIG. 24(c) shows the
図25は、角度情報の別の入力方法を説明する図の一例である。図25では手書き入力装置2の3時の方向にユーザーが存在するものとする。図25は、角度情報が0度(初期値)の状態で、手書き入力装置2の3時の方向に存在するユーザーが「ぎ」を手書きしたため、操作ガイド500が表示されている。また、図25の操作ガイド500は操作ヘッダー520に回転操作ボタン511を有している。回転操作ボタン511のアイコンは円形になっており、ユーザーがどの方向から見ても回転操作ボタン511を認識しやすくなっている。
FIG. 25 is an example of a diagram illustrating another method of inputting angle information. In FIG. 25, it is assumed that the user exists in the 3 o'clock direction of the
回転操作ボタン511は、ユーザーがペン2500で押下するたびに、ペンID制御データの角度情報を90度ずつ加算して360度で割った余りに変更するボタンである。この余りが角度情報となる。なお、回転操作ボタン511の1回の押下で加算される角度を45度としてもよい。また、押下のたびに現在の角度情報が分かる表示(例えば、角度情報をポップアップ表示する)をするとよい。
Each time the user presses the
<動作手順>
以上の構成と図26~図32を用いて、手書き入力装置2の動作について説明する。図26~図32は手書き入力装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図26の処理は、手書き入力装置2が起動すると(アプリケーションが起動すると)スタートする。なお、図26~図32ではスペースの都合上、符号で図7の機能を示した。
<Operating procedure>
The operation of the
S1:まず、手書き入力表示制御部23が手書きオブジェクト開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト領域(手書きオブジェクトを保存するメモリー領域)を確保する。ユーザーがペンを手書き入力部21に接触させてから手書きオブジェクト領域を確保してもよい。
S1: First, the handwritten input
S2:次にユーザーが手書き入力部21にペンを接触させる。手書き入力部21はペンダウンを検出して手書き入力表示制御部23に送信する。
S2: Next, the user touches the
S3:手書き入力表示制御部23は手書き入力保存部25にストローク開始を送信し、手書き入力保存部25はストローク領域を確保する。
S3: The handwriting input
S4:ユーザーがペンを手書き入力部21に接触させたまま移動させると、手書き入力部21はペン座標を手書き入力表示制御部23に送信する。
S4: When the user moves the pen while keeping it in contact with the
S5:手書き入力表示制御部23は座標の入力と同時にペン2500から受信したペンIDを指定して、ペンID制御データ保存部36に保存されている現在のペンID制御データを取得する。ペンIDは座標の入力時に送信されるので、ストロークとペンIDが対応付けられる。ペンID制御データ保存部36はペンID制御データ(色、太さ、パターン、角度情報)を手書き入力表示制御部23に送信する。なお、角度情報はまだ初期値のゼロである。
S5: The handwriting input
S6:手書き入力表示制御部23はペン座標補完表示データ(離散的なペン座標を補間したストロークデータ)を表示部22に送信する。表示部22はペン座標補完表示データを用いてペン座標を補間して線を表示する。
S6: The handwriting input
S7:手書き入力表示制御部23はペン座標とその受信時刻を手書き入力保存部25に送信する。手書き入力保存部25はペン座標をストロークに追加する。ユーザーがペンを動かしている間は、手書き入力部21は定期的に手書き入力表示制御部23へのペン座標の送信を繰り返すため、ステップS4~S7の処理がペンアップされるまで繰り返される。
S7: The handwritten input
S4:ユーザーが手書き入力部21からペンを離すと、手書き入力部21はペンアップを手書き入力表示制御部23に送信する。
S4: When the user releases the pen from the
S9:手書き入力表示制御部23は手書き入力保存部25にストローク終了を送信し、手書き入力保存部25はストロークのペン座標を確定させる。ストロークのペン座標の確定により以降はストロークにペン座標を追加できなくなる。
S9: The handwriting input
S10:次に、手書き入力表示制御部23は手書きオブジェクト近傍矩形領域403に基づいて、手書きオブジェクト近傍矩形領域とストローク矩形領域の重なり状況取得を手書き入力保存部25に送信する。手書き入力保存部25は重なり状況を計算して重なり状況を手書き入力表示制御部23に送信する。
S10: Next, the handwritten input
続く、ステップS11~S17は、手書きオブジェクト近傍矩形領域とストローク矩形領域が重なっていない場合に実行される。 Subsequent steps S11 to S17 are executed when the handwritten object vicinity rectangular area and the stroke rectangular area do not overlap.
S11:手書きオブジェクト近傍矩形領域とストローク矩形領域が重なっていない場合、1つの手書きオブジェクトが確定するので、手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S11: If the handwritten object vicinity rectangular area and the stroke rectangular area do not overlap, one handwritten object is determined, and the handwritten input
S12~14:手書き認識制御部26は保持データクリアをそれぞれ文字列変換制御部28、予測変換制御部30、操作コマンド認識制御部32に送信する。手書き認識制御部26、文字列変換制御部28、予測変換制御部30及び操作コマンド認識制御部32がこれまでに保持している文字列候補と操作コマンドの候補に係るデータをクリアする。なお、クリアの時点では最後に手書きされたストロークは手書きオブジェクトに追加されていない。
S12-14: The handwriting
S15:手書き入力表示制御部23は手書きオブジェクト終了を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクトを確定させる。手書きオブジェクトの確定とは1つの手書きオブジェクトが完成したこと(これ以上、ストロークが追加されないこと)をいう。
S15: The handwritten input
S16:手書き入力表示制御部23は手書きオブジェクト開始を手書き入力保存部25に送信する。次の手書きオブジェクトの手書きが開始(ペンダウン)されることに備えて、手書き入力保存部25は新しい手書きオブジェクト領域を確保する。
S16: The handwritten input
S17:次に手書き入力表示制御部23はステップS9で終了したストロークに関してストローク追加を手書き入力保存部25に送信する。ステップS11~S17が実行された場合、追加されるストロークは手書きオブジェクトの最初のストロークであり、手書き入力保存部25は開始中の手書きオブジェクトにストロークデータを追加する。ステップS11~S17が実行されてない場合、追加されるストロークはすでに手書き中の手書きオブジェクトに追加される。
S17: Next, the handwritten input
S18:続いて手書き入力表示制御部23はストローク追加を手書き認識制御部26に送信する。手書き認識制御部26は文字列候補が格納されるストロークデータ保持領域(ストロークデータが一時的に格納される領域)にストロークデータを追加する。
S18: Next, the handwriting input
S19:手書き認識制御部26はストロークデータ保持領域に対してジェスチャー手書き認識を実行する。ジェスチャー手書き認識とは、直線から角度情報を認識することをいう。なお、ジェスチャー手書き認識は操作ガイド500の内部で行われるため、手書き認識制御部26は操作ガイド500の内部の直線を検出する。操作ガイド500の位置情報は後述するステップS57で手書き認識制御部26に送信される。
S19: The handwriting
S20:操作ガイド500内の直線が検出された場合、直線の始点から6時の方向に下ろした直線522と、ユーザーが入力した直線521の反時計回りのなす角αを、45度単位で決定する。そして、手書き認識制御部26は、決定した角度情報を直線521のストロークデータが有するペンIDに対応付けてペンID制御データ保存部36に保存する。なお、ステップS20は操作ガイド500内で直線が検出された場合に実行される。
S20: When a straight line in the
S21:次に、手書き認識制御部26は、手書き入力部21から受信したペンIDを指定して、ペンID制御データ保存部36からペンID制御データの角度情報を取得する。
S21: Next, the handwriting
S22:手書き認識制御部26は、ストロークデータ保持領域のストロークデータを取得した角度情報で時計回りに回転する。
S22: The handwriting
S23:これにより、ストロークデータが天地方向に対し0度になるので、手書き認識制御部26はストロークデータに手書き認識を実行する。
S23: As a result, the stroke data becomes 0 degrees with respect to the vertical direction, so the handwriting
S24:手書き認識制御部26はこの実行結果である手書き認識文字列候補を手書き認識辞書部27に送信する。手書き認識辞書部27は言語的に確からしい言語文字列候補を手書き認識制御部26に送信する。
S24: The handwriting
S25:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を文字列変換制御部28に送信する。
S25: The handwriting
S26:文字列変換制御部28は手書き認識文字列候補及び言語文字列候補を文字列変換辞書部29に送信する。文字列変換辞書部29は変換文字列候補を文字列変換制御部28に送信する。
S26: The character string
S27:文字列変換制御部28は受信した変換文字列候補を予測変換制御部30に送信する。
S27: The character string
S28:予測変換制御部30は受信した変換文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S28: The predictive
S29:予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S29: The predictive
S30:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S30: The operation command
以降ステップS31~S38で説明される操作コマンドの候補の送信まで同様に処理を行う。
S31:文字列変換制御部28は受信した変換文字列候補を操作コマンド認識制御部32に送信する。
Thereafter, similar processing is performed up to the transmission of operation command candidates explained in steps S31 to S38.
S31: The character string
S32:操作コマンド認識制御部32は受信した変換文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は変換文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S32: The operation command
S33:手書き認識制御部26は手書き認識文字列候補及び言語文字列候補を予測変換制御部30に送信する。
S33: The handwriting
S34:予測変換制御部30は手書き認識文字列候補及び受信した言語文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S34: The predictive
S35:予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S35: The predictive
S36:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S36: The operation command
S37:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド認識制御部32に送信する。
S37: The handwriting
S38:操作コマンド認識制御部32は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は言語文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S38: The operation command
S39:次に手書き認識制御部26はストローク追加を操作コマンド認識制御部32に送信する。
S39: Next, the handwriting
S40:操作コマンド認識制御部32は確定オブジェクトの位置情報取得を手書き入力保存部25に送信する。手書き入力保存部25は確定オブジェクトの位置情報を操作コマンド認識制御部32に送信する。
S40: The operation command
S41:操作コマンド認識制御部32は選択オブジェクトの判定のため、ステップS39のストローク追加で手書き認識制御部26から受信したストロークの位置情報と、手書き入力保存部25から受信した確定オブジェクトの位置情報が所定の関係にあるか否かを跨ぎ線判定条件406及び囲み線判定条件407に基づいて判定し、選択されていると判定できる確定オブジェクトを選択オブジェクトとして保存しておく。また、この場合、選択オブジェクトが特定されるので入出力系の操作コマンドの候補を操作コマンド定義部33から取得する。
S41: In order to determine the selected object, the operation command
また、手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32はそれぞれ手書き認識文字列候補、言語文字列候補、変換文字列候補、予測文字列候補、操作コマンドの候補、及び、選択オブジェクトに係るデータを後段のステップS46~S49で取得できるよう保持しておく。
In addition, the handwriting
S18-2:手書き入力表示制御部23はステップS18でストローク追加を手書き認識制御部26に送信した直後、選択可能候補表示タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
S18-2: Immediately after transmitting the stroke addition to the handwriting
続く、ステップS42~S44は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生した場合に実行される。 Subsequent steps S42 to S44 are executed if the pen down occurs before a certain period of time has elapsed (before the timer times out).
S42:タイマーがタイムアウトする前に、ユーザーが手書き入力部21にペンを接触させた場合、手書き入力部21はペンダウン(ステップS2と同じイベント)を手書き入力表示制御部23に送信する。
S42: If the user touches the
S43:手書き入力表示制御部23はストローク開始(ステップS3と同じ)を手書き入力保存部25に送信する。この後のシーケンスはステップS3以降と同じである。
S43: The handwritten input
S44:更に手書き入力表示制御部23は選択可能候補表示タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はタイマーを停止させる。ペンダウンが検出されたのでタイマーが不要になるからである。
S44: Furthermore, the handwritten input
ステップS45~S79は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生しない場合に実行される。したがって、図17に示した操作ガイド500が表示される。
Steps S45 to S79 are executed if pen-down does not occur before a certain period of time has elapsed (before the timer times out). Therefore, the
S45:選択可能候補表示タイマー開始中にユーザーが手書き入力部21にペンを接触させなかった場合、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
S45: If the user does not touch the
S46:手書き入力表示制御部23は手書き認識文字列/言語文字列候補取得を手書き認識制御部26に送信する。手書き認識制御部26は現在保持している手書き認識文字列/言語文字列候補を手書き入力表示制御部23に送信する。
S46: The handwritten input
S47:手書き入力表示制御部23は変換文字列候補取得を文字列変換制御部28に送信する。文字列変換制御部28は現在保持している変換文字列候補を手書き入力表示制御部23に送信する。
S47: The handwritten input
S48:手書き入力表示制御部23は予測文字列候補取得を予測変換制御部30に送信する。予測変換制御部30は現在保持している予測文字列候補を手書き入力表示制御部23に送信する。
S48: The handwritten input
S49:手書き入力表示制御部23は操作コマンドの候補取得を操作コマンド認識制御部32に送信する。操作コマンド認識制御部32は現在保持している操作コマンドの候補と選択オブジェクトを手書き入力表示制御部23に送信する。
S49: The handwritten input
S50:更に、手書き入力表示制御部23は推定書字方向取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト矩形領域のストローク追加時間と水平距離と垂直距離から判定して、推定書字方向を手書き入力表示制御部23に送信する。
S50: Further, the handwriting input
S51:次に、手書き入力表示制御部23は、手書き入力部21から受信したペンIDを指定して、ペンID制御データ保存部36から現在のペンID制御データの角度情報を取得する。選択可能候補と操作ガイド500を回転させるためである。
S51: Next, the handwriting input
S52:手書き入力表示制御部23はこれらの手書き認識文字列候補(図17では「ぎ」)、言語文字列候補(図17では表示がないが例えば「議」)、変換文字列候補(図17では「議事録」「技量試」)、予測文字列候補(図17では「技量試を決済」「議事録の送付先」)、操作コマンドの候補(図17では「議事録テンプレートを読み込む」「議事録フォルダーに保存する)、各選択確率、及び、推定書字方向から図17のような選択可能候補表示データを作成する。また、手書き入力表示制御部23はステップS51で取得した角度情報で選択可能候補表示データ(操作ガイド500)を反時計回りに回転させ、回転後の選択可能候補表示データ(操作ガイド500)を表示部22に送信することで表示させる。
S52: The handwriting input
S53:また、手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ(矩形枠)(図17では手書きオブジェクト矩形領域表示503)を、ステップS51で取得した角度情報で反時計回りに回転させ、表示部22に送信することで表示させる。
S53: The handwriting input
S54:手書き入力表示制御部23は選択可能候補表示データの表示から一定時間後に消去するため選択可能候補表示消去タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
S54: The handwritten input
ステップS55~S60は、選択可能候補消去タイマー開始中に、ユーザーが表示部22に表示された選択可能候補表示を消去したか、手書きオブジェクトの変化が発生した場合(即ち手書きオブジェクトのストロークの追加、削除、移動、変形又は分割された場合)、又は、タイムアウトまでに候補が選択されなかった場合に実行される。
Steps S55 to S60 are performed when the user erases the selectable candidate display displayed on the
更に、ステップS55、S56、S57は、候補表示が消去されるか、又は、手書きオブジェクトの変化が発生した場合に実行される。 Furthermore, steps S55, S56, and S57 are executed when the candidate display is deleted or when a change in the handwritten object occurs.
S55:手書き入力部21は選択可能候補表示消去又は手書きオブジェクトの変化の発生を手書き入力表示制御部23に送信する。
S55: The
S56:手書き入力表示制御部23は選択可能候補消去タイマー停止を送信する。候補表示タイマー制御部24はそのタイマーを停止する。一定時間内に手書きオブジェクトに対し操作があったためタイマーが不要になるからである。
S56: The handwritten input
S57:手書き入力表示制御部23は、ステップS19のジェスチャー手書き認識のジェスチャー判定で使用できるよう、操作ガイド500の位置情報を手書き認識制御部26に保存する。位置情報は例えば左上コーナーと右下コーナーの座標又はこれと同等の座標である。これにより、手書き認識制御部26は角度情報の入力に使用される直線が操作ガイド500内かどうかを判定できる。
S57: The handwriting input
S59:手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで、表示を消去させる。
S59: The handwritten input
S60:手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を表示部22に送信することで、表示を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きオブジェクトはそのまま表示が維持される。
S60: The handwritten input
S58:一方、選択可能候補消去タイマー開始中に、選択可能候補表示消去又は手書きオブジェクトの変化が発生しなかった場合(ユーザーがペン操作をしなかった場合は)、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
S58: On the other hand, if the selectable candidate display does not disappear or the handwritten object changes while the selectable candidate deletion timer is starting (if the user does not perform a pen operation), the candidate display
選択可能候補表示消去タイマーのタイムアウトの後も同様に、手書き入力表示制御部23はステップS59とS60を実行する。一定時間の経過で選択可能候補表示データ、手書きオブジェクトと選択オブジェクトの矩形領域表示データを消去してよいためである。
Similarly, after the selectable candidate display deletion timer times out, the handwriting input
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS61~S79が実行される。 If the user selects a selectable candidate while the selectable candidate deletion timer is starting, steps S61 to S79 are executed.
S61:選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部21は文字列候補又は操作コマンドの候補選択を手書き入力表示制御部23に送信する。
S61: If the user selects a selectable candidate while the selectable candidate deletion timer is starting, the
S62:手書き入力表示制御部23は選択可能候補表示消去タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを停止する。
S62: The handwritten input
S63:次に手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S63: Next, the handwriting input
S64:手書き認識制御部26は保持データクリアを文字列変換制御部28に送信する。
S64: The handwriting
S65:手書き認識制御部26は保持データクリアを予測変換制御部30に送信する。
S65: The handwriting
S66:手書き認識制御部26は保持データクリアを操作コマンド認識制御部32に送信する。
S66: The handwriting
手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32はこれまで保持していた文字列候補及び操作コマンドの候補に係るデータをクリアする。
The handwriting
S67:次に手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで表示を消去させる。
S67: Next, the handwritten input
S68:手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を表示部22に送信することで表示を消去させる。
S68: The handwritten input
S69:手書き入力表示制御部23は手書きオブジェクト表示データ消去及びステップS5で送信したペン座標補完表示データ消去を表示部22に送信することで表示を消去させる。文字列候補又は操作コマンドの候補が選択されたため、手書きオブジェクト等が不要になるためである。
S69: The handwritten input
S70:手書き入力表示制御部23は手書きオブジェクト削除を手書き入力保存部25に送信する。
S70: The handwritten input
文字列候補が選択された場合、ステップS71~S73が実行される。 If a character string candidate is selected, steps S71 to S73 are executed.
S71:文字列候補が選択された場合、手書き入力表示制御部23は文字列オブジェクト追加を手書き入力保存部25に送信する。
S71: If a character string candidate is selected, the handwritten input
S72:更に手書き入力表示制御部23は文字列オブジェクトフォント取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクトの推定文字サイズから定義済みフォントを選択して手書き入力表示制御部23に送信する。
S72: Furthermore, the handwritten input
S73:次に手書き入力表示制御部23は手書き入力保存部25から受信した定義済みフォントを使用して、手書きオブジェクトと同じ位置に表示させる文字列オブジェクト表示データを表示部22に送信させることで、表示させる。
S73: Next, the handwritten input
操作コマンドの候補が選択された場合、ステップS74~S78が実行される。更に、選択オブジェクトがある場合はステップS74~S76が実行される。 If an operation command candidate is selected, steps S74 to S78 are executed. Further, if there is a selected object, steps S74 to S76 are executed.
S74:選択オブジェクトへの操作コマンドの候補が選択された場合(選択オブジェクトが存在する場合)は、手書き入力表示制御部23は選択オブジェクト表示データ消去を表示部22に送信することで表示を消去させる。いったん、元の選択オブジェクトを消去するためである。
S74: If a candidate for the operation command for the selected object is selected (if the selected object exists), the handwritten input
S75:次に、手書き入力表示制御部23は選択オブジェクトへの操作コマンド実行を手書き入力保存部25に送信する。手書き入力保存部25は新しい選択オブジェクトの表示データ(編集又は修飾後の表示データ)を手書き入力表示制御部23に送信する。
S75: Next, the handwritten input
S76:次に手書き入力表示制御部23は選択オブジェクト表示データを表示部22に送信することで、操作コマンド実行後の選択オブジェクトを再表示させる。
S76: Next, the handwritten input
選択オブジェクトがない場合(入出力系の操作コマンドが選択された場合)はステップS77、S78が実行される。 If there is no selected object (if an input/output operation command is selected), steps S77 and S78 are executed.
S77:入出力系の操作コマンドが選択された場合、手書き入力表示制御部23はユーザーが選択した操作コマンドに対応する操作コマンド定義データの操作コマンド文字列(Command)を実行する。なお、ユーザー認証部34がユーザーの認証に成功した場合、手書き入力表示制御部23は認証に成功したユーザーに関する情報を操作コマンドの%~%に設定して実行する。
S77: When an input/output type operation command is selected, the handwritten input
S78:図25に示したように、操作ヘッダー520の回転操作ボタン511をユーザーが押下した場合、手書き入力表示制御部23は回転操作ボタン511の押下数によって、角度情報を受け付ける。手書き入力表示制御部23は受け付けた角度情報を、回転操作ボタン511の押下時にペン2500から受信したペンIDに対応付けてペンID制御データ保存部36に保存する。
S78: As shown in FIG. 25, when the user presses the
S79:次の手書きオブジェクトのために手書き入力表示制御部23は手書きオブジェクト開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト領域を確保する。これ以降、ステップS2~S79の処理が繰り返される。
S79: For the next handwritten object, the handwritten input
<複数のテキストデータを揃えて表示する>
ユーザーが図17のような選択可能候補表示データから言語文字列候補、変換文字列候補又は、文字列/予測変換の候補を選択した場合、表示部22は選択された言語文字列候補、変換文字列候補、又は文字列/予測変換の候補をテキストデータとして表示する。
<Displaying multiple text data in alignment>
When the user selects a language character string candidate, a conversion character string candidate, or a character string/predictive conversion candidate from the selectable candidate display data as shown in FIG. Display column candidates or character string/predictive conversion candidates as text data.
図33(a)は、6時、3時、12時、9時の位置のユーザーが手書きしたストロークデータが変換されたテキストデータの一例を示す。図33(a)では、「abc」というテキストデータが、それぞれの位置のユーザーに対し表示されている。このようなテキストデータをあるユーザーが読みたい場合、テキストデータの向きがまとめて揃えられたら読みやすい。そこで、本実施形態では操作コマンド定義部33にテキスト方向を揃えるという操作コマンド定義データ712が用意されている。この操作コマンドが実行されると、手書き入力表示制御部23は、手書き入力保存部25に保存されている文字列オブジェクトを、文字列オブジェクトと対応付けられている手書き入力保存データの角度(Angle)を用いて、各ストロークを時計回りに回転させる。
FIG. 33(a) shows an example of text data obtained by converting stroke data handwritten by the user at the 6 o'clock, 3 o'clock, 12 o'clock, and 9 o'clock positions. In FIG. 33(a), text data "abc" is displayed to users at respective positions. If a user wants to read such text data, it will be easier to read if the orientation of the text data is aligned. Therefore, in this embodiment, operation
図33(b)は時計回りに回転された各テキストデータを示す。各テキストデータの角度が天地方向に対し0度になっている。したがって、Aさんは場所を移動せずにテキストデータを読むことができる。 FIG. 33(b) shows each text data rotated clockwise. The angle of each text data is 0 degrees with respect to the vertical direction. Therefore, Mr. A can read the text data without moving his location.
<まとめ>
以上説明したように、本実施形態の手書き入力装置2は、各ユーザーが異なる設定で手書き入力することが可能であるため、水平に置かれた手書き入力装置2の周囲のユーザーが文字等を手書きしても正しく文字認識できる。すなわち、複数のユーザーがペン2500で同時に入力や操作をしても、それぞれ独立してペンIDの動作条件に反映されるので、他のユーザーのペン操作に影響されずに、自分のペン操作に集中できる。各ユーザーの位置(角度情報)を独立して設定できるので、それぞれのユーザーが同時に異なる角度から手書きしても、正しく手書き認識でき、操作ガイドを表示できる。また、角度情報の設定を、操作ガイド内に直線を手書きすればよいので、直感的に操作することができる。
<Summary>
As explained above, the
また、本実施形態の手書き入力装置2は、操作メニューを選択してボタンのリストから操作を選択するという作業が必要なく、文字等を手書きする場合と同様に操作コマンドを入力できる。操作ガイドには操作コマンドと選択可能候補530が同時に表示されるので、ユーザーは文字等の入力と操作コマンドの選択を区別せずに手書き入力装置2を使用できる。ユーザーが手書きオブジェクトを手書きしたり確定オブジェクトを囲み線で囲んだりすることで、任意の操作コマンドの候補を表示させることができる。したがって、手書きした状態から任意の機能(編集機能、入出力機能、又はペン機能等)を呼び出すことができる。これにより、メニューボタンを押下して所望の機能を呼び出すステップバイステップの操作を不要にでき、ユーザーが手書きしている状態から任意の機能を呼び出すまでの操作手順を低減できる。
Furthermore, the
<<手書き入力装置の構成の別の例1>>
本実施形態の手書き入力装置は大型のタッチパネルを有するものとして説明されているが、手書き入力装置はタッチパネルを有するものに限られない。
<<Another example 1 of the configuration of the handwriting input device>>
Although the handwriting input device of this embodiment is described as having a large touch panel, the handwriting input device is not limited to having a touch panel.
図34は、手書き入力装置の他の構成例を示す図である。図34では、通常のホワイトボード413の上辺にプロジェクター411が設置されている。このプロジェクター411が手書き入力装置に相当する。通常のホワイトボード413とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
FIG. 34 is a diagram showing another example of the configuration of the handwriting input device. In FIG. 34, a
プロジェクター411は超短焦点の光学系を有しており、10cm程度から歪みの少ない映像をホワイトボード413に投影できる。この映像は、無線又は有線で接続されたPC400ー1から送信されてもよいし、プロジェクター411が記憶していてもよい。
The
ユーザーは専用の電子ペン2501を使ってホワイトボード413に手書きする。電子ペン2501は、ユーザーが手書きのためにホワイトボード413に押しつけるとスイッチがONになり発光する発光部を例えば先端部に有している。光の波長は近赤外や赤外なのでユーザーの目には見えない。プロジェクター411はカメラを有しており、発光部を撮像して画像を解析し電子ペン2501の方向を特定する。また、電子ペン2501は発光と共に音波を発信しており、プロジェクター411は音波の到達時間により距離を算出する。方向と距離により電子ペン2501の位置を特定できる。電子ペン2501の位置にはストロークが描画(投影)される。
The user writes by hand on the
プロジェクター411はメニュー430を投影するので、ユーザーが電子ペン2501でボタンを押下すると、プロジェクター411が電子ペン2501の位置とスイッチのON信号により押下されたボタンを特定する。例えば、保存ボタン431が押下されると、ユーザーが手書きしたストローク(座標の集合)がプロジェクター411で保存される。プロジェクター411は、予め定められたサーバー412又はUSBメモリー2600等に手書き情報を保存する。手書き情報はページごとに保存されている。画像データではなく座標のまま保存されるので、ユーザーが再編集することができる。ただし、本実施形態では操作コマンドを手書きで呼び出せるのでメニュー430は表示されなくてもよい。
Since the
<<手書き入力装置の構成の別の例2>>
図35は、手書き入力装置の他の構成例を示す図である。図35の例では、手書き入力装置として、端末装置600、画像投影装置700A、及び、ペン動作検出装置810を有する。
<<Another example 2 of the configuration of handwriting input device>>
FIG. 35 is a diagram showing another example of the configuration of the handwriting input device. In the example of FIG. 35, the handwriting input device includes a
端末装置600は、画像投影装置700A及びペン動作検出装置810と有線で接続されている。画像投影装置700Aは、端末装置600により入力された画像データをスクリーン800に投影させる。
The
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し、端末装置600へ送信する。
The pen
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力されるストローク画像の画像データを生成する。画像投影装置700Aによってストローク画像をスクリーン800に描画させる。
The
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。
Further, the
<<手書き入力装置の構成の別の例3>>
図36は、手書き入力装置の構成例を示す図である。図36の例では、手書き入力装置として、端末装置600とディスプレー800Aと、ペン動作検出装置810とを有する。
<<Another example 3 of the configuration of handwriting input device>>
FIG. 36 is a diagram illustrating a configuration example of a handwriting input device. The example in FIG. 36 includes a
ペン動作検出装置810は、ディスプレー800Aの近傍に配置される。ペン動作検出装置810はディスプレー800A上に電子ペン820Aが示している点を示す座標情報を検出し、端末装置600へ送信する。なお、図36の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
Pen
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820Aによって入力されるストローク画像の画像データを生成する。端末装置600はストローク画像をディスプレー800Aに表示させる。
<<手書き入力装置の構成の別の例4>>
図37は、手書き入力装置の構成例を示す図である。図37の例では、手書き入力装置として、端末装置600と、画像投影装置700Aとを有する。
<<Another example 4 of the configuration of handwriting input device>>
FIG. 37 is a diagram illustrating a configuration example of a handwriting input device. In the example of FIG. 37, the handwriting input device includes a
端末装置600は、電子ペン820Bと無線通信(Bluetooth(登録商標)等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力されるストローク画像の画像データを生成する。端末装置600は画像投影装置700Aにストローク画像を投影させる。
The
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。
Further, the
以上のように、上記した各実施形態は、様々なシステム構成において適用することができる。 As described above, each of the embodiments described above can be applied in various system configurations.
本実施例では、ネットワーク上の情報処理システムが手書き認識等の処理を行って、処理の結果を手書き入力装置2に返すシステム形態の手書き入力システムについて説明する。
In this embodiment, a handwriting input system in the form of a system in which an information processing system on a network performs processing such as handwriting recognition and returns the processing results to the
なお、本実施例の説明においては、実施例1で同一の符号を付した構成要素又は図の内容については同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
In the explanation of this embodiment, the components with the same reference numerals or the contents of the figures in
図38は、手書き入力システム100のシステム構成図の一例である。手書き入力システム100はネットワークNを介して通信可能な手書き入力装置2と情報処理システム10とを有している。
FIG. 38 is an example of a system configuration diagram of the
手書き入力装置2は社内などの施設に配置されており、施設内に敷設されたLANやWi-Fiに接続されている。情報処理システム10は例えばデータセンタ等に配置されている。手書き入力装置2はファイアウォール8を介してインターネットiと接続しており、情報処理システム10もデータセンタ内の高速なLAN等を経由してインターネットiに接続している。
The
手書き入力装置2は電話回線網等の無線通信を使用してインターネットiに接続してもよい。この場合、無線通信は、3G(3rd Generation)、4G(4rd Generation)、5G(5rd Generation)、LTE(Long Term Evolution)、WiMAX(Worldwide Interoperability for Microwave Access)等である。
The
情報処理システム10は1つ以上の情報処理装置を有しており、1つ以上の情報処理装置がサーバーとして手書き入力装置2にサービスを提供する。サーバーとは、クライアントからの要求に対して情報や処理結果を提供する機能を果たすコンピュータやソフトウェアである。情報処理システム10は後述するように手書き入力装置2からペン座標を受信して、図17に示した操作ガイド500を表示するために必要な情報を手書き入力装置2に送信する。
The
サーバー側のシステムをクラウドシステムという場合がある。クラウドシステムとは、クラウドコンピューティングを利用したシステムであり、クラウドコンピューティングは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。クラウドシステムはインターネット上に配置されるとは限らない。図38では情報処理システムがインターネット上に配置されているが、ローカルネットワーク(この場合をオンプレミスという)に配置される場合がある。 The server side system is sometimes called a cloud system. A cloud system is a system that uses cloud computing, and cloud computing refers to a usage form in which resources on a network are used without being aware of specific hardware resources. Cloud systems are not necessarily located on the Internet. Although the information processing system is placed on the Internet in FIG. 38, it may be placed on a local network (referred to as on-premises in this case).
更に、ある実施形態では、情報処理システム10は、サーバークラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
Further, in some embodiments,
手書き入力装置2の構成は実施例1と同様でよいが、本実施例ではタッチパネル、ディスプレイ、及び、通信機能を有していればよい。手書き入力装置2は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
The configuration of the
本実施例ではPCやタブレットなどの一般的な情報処理装置がWebブラウザや専用のアプリケーションを実行することができる。Webブラウザや専用のアプリケーションは情報処理システム10と通信する。Webブラウザが動作する場合、ユーザーが情報処理システム10のURLを入力又は選択して、手書き入力装置を情報処理システム10に接続させる。手書き入力装置2は情報処理システム10が提供するWebアプリをWebブラウザで実行する。Webアプリとは、Webブラウザ上で動作するプログラミング言語(たとえばJavaScript(登録商標))によるプログラムとWebサーバー側のプログラムが協調することによって動作し、Webブラウザ上で実行されるソフトウェア又はその仕組みを言う。
In this embodiment, a general information processing device such as a PC or a tablet can execute a web browser or a dedicated application. A web browser or a dedicated application communicates with the
専用のアプリケーションが動作する場合、予め登録されている情報処理システム10のURLに接続する。専用のアプリケーションはプログラムやユーザインタフェースを有しているので、プログラムが必要な情報を情報処理システム10と送受信してユーザインタフェースに表示する。
When a dedicated application operates, it connects to the URL of the
通信方法は、HTTP、HTTPs、WebSocketなど汎用の通信プロトコルでもよいし、専用の通信プロトコルで通信してもよい。 The communication method may be a general-purpose communication protocol such as HTTP, HTTPs, WebSocket, or a dedicated communication protocol.
<ハードウェア構成例>
手書き入力装置2のハードウェア構成は図5と同様でよい。本実施例では情報処理システム10のハードウェア構成例を説明する。
<Hardware configuration example>
The hardware configuration of the
図39は、情報処理システム10のハードウェア構成図である。図39に示されているように、情報処理システム10は、コンピュータによって構築されており、図39に示されているように、CPU601、ROM602、RAM603、HD604、HDD(Hard Disk Drive)コントローラ605、ディスプレイ606、外部機器接続I/F(Interface)608、ネットワークI/F609、バスライン610、キーボード611、ポインティングデバイス612、DVD-RW(Digital Versatile Disk Rewritable)ドライブ614、メディアI/F616を備えている。
FIG. 39 is a hardware configuration diagram of the
これらのうち、CPU601は、情報処理システム10全体の動作を制御する。ROM602は、IPL等のCPU601の駆動に用いられるプログラムを記憶する。RAM603は、CPU601のワークエリアとして使用される。HD604は、プログラム等の各種データを記憶する。HDDコントローラ605は、CPU601の制御にしたがってHD604に対する各種データの読み出し又は書き込みを制御する。ディスプレイ606は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F608は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリーやプリンター等である。ネットワークI/F609は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン610は、図39に示されているCPU601等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
Among these, the
また、キーボード611は、文字、数値、各種指示などの入力のための複数のキーを備える。ポインティングデバイス612は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ614は、着脱可能な記録媒体の一例としてのDVD-RW613に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F616は、フラッシュメモリー等の記録メディア615に対するデータの読み出し又は書き込み(記憶)を制御する。
Further, the
<装置の機能について>
次に、図40を用いて、手書き入力システム100が有する機能について説明する。図40は手書き入力システム100が有する機能をブロック状に示す機能ブロック図の一例である。なお、図40の説明では、主に図6との相違を説明する。なお、ペン2500の機能は実施例1と同様でよい。
<About device functions>
Next, the functions of the
本実施例では、手書き入力装置2は表示部22、表示制御部44、手書き入力部21、及び、通信部42を有している。手書き入力装置2が有する各機能は、図39に示されている各構成要素のいずれかがSSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
In this embodiment, the
本実施例の手書き入力部21の機能は実施例1と同様でよい。手書き入力部21はユーザーのペン入力d1をペン操作データda(ペンアップ、ペンダウン、又はペン座標データ)に変換し、表示制御部44に送信する。
The function of the
表示制御部44は、手書き入力装置2の表示に関する制御を行う。まず、表示制御部44は、離散値であるペン座標データの離散値間の座標を補完計算してペンダウンからペンアップまでのペン座標データを1本のストロークdbにして表示部22に送信する。
The
また、表示制御部44はペン操作データdcを通信部42に送信し、通信部42から各種の表示データddを取得する。表示データは、図17の操作ガイド500を表示するための情報を含んでいる。表示制御部44は表示データdeを表示部22に送信する。
Further, the
通信部42は、ペン操作データdcを情報処理システム10に送信し、情報処理システム10から各種の表示データddを受信して表示制御部44に送信する(第一の通信部の一例)。通信部42は例えばJSON形式やXML形式などでデータを送受信する。
The
表示部22の機能は実施例1と同様でよい。表示部22はストロークdbや表示データdeを表示する。表示部22は表示制御部44がビデオメモリーに書き込んだストロークdbや表示データdeをディスプレー220の特性に応じたデータに変換し、ディスプレー220に送信する。
The function of the
<<情報処理システムの機能>>
情報処理システム10は、通信部43、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、及び、ペンID制御データ保存部36、を備えている。情報処理システム10が有する各機能は、図39に示されている各構成要素のいずれかが、HD604からRAM603上に展開されたプログラムに従ったCPU601からの命令によって動作することで実現される機能又は手段である。
<<Functions of information processing system>>
The
通信部43は、ペン操作データdcを手書き入力装置2から受信し、手書き入力表示制御部23にペン操作データdfを送信する。通信部43は手書き入力表示制御部23から表示データddを受信して、手書き入力装置2に送信する(第二の通信部の一例)。通信部43は例えばJSON形式やXML形式などでデータを送受信する。
The
その他の機能については実施例1と同様か、異なるとしても本実施形態の説明の上では支障がないものとする。 The other functions are the same as those in the first embodiment, or even if they are different, there is no problem in explaining the present embodiment.
<動作手順>
以上の構成と図41~図48を用いて、手書き入力システム100の動作について説明する。図41~図48は手書き入力装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図41の処理は、手書き入力装置2が起動して(Webブラウザ又は専用のアプリケーションが起動して)、情報処理システム10との通信が確立するとスタートする。なお、図41~図48の全体的な流れは図30~図36と同様でよい。
<Operating procedure>
The operation of the
S1:通信が確立すると手書き入力装置2のメモリー領域を確保するため、手書き入力表示制御部23が手書きオブジェクト開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト領域(手書きオブジェクトを保存するメモリー領域)を確保する。ユーザーがペンを手書き入力部21に接触させてから手書きオブジェクト領域を確保してもよい。
S1: When communication is established, the handwriting input
S2a:次にユーザーが手書き入力部21にペンを接触させる。手書き入力部21はペンダウンを検出して表示制御部44に送信する。
S2a: Next, the user touches the
S2b:表示制御部44はペンダウンを情報処理システム10に通知するため、ペンダウンを通信部42に送信する。
S2b: The
S2c:通信部42はペンダウンを情報処理システム10に送信する。
S2c: The
S2d:情報処理システム10の通信部43はペンダウンを受信して、手書き入力表示制御部23に送信する。
S2d: The
S3:手書き入力表示制御部23は手書き入力保存部25にストローク開始を送信し、手書き入力保存部25はストローク領域を確保する。
S3: The handwriting input
S4a:ユーザーがペンを手書き入力部21に接触させたまま移動させると、手書き入力部21はペン座標を表示制御部44に送信する。
S4a: When the user moves the pen while keeping it in contact with the
S4b:表示制御部44はペン座標を情報処理システム10に通知するため、ペン座標を通信部42に送信する。
S4b: The
S4c:通信部42はペン座標を情報処理システム10に送信する。
S4c: The
S4d:情報処理システム10の通信部43はペン座標を受信して、手書き入力表示制御部23に送信する。
S4d: The
S5:表示制御部44はペン座標補完表示データ(離散的なペン座標を補間するデータ)を表示部22に送信する。表示部22はペン座標補完表示データを用いてペン座標を補間して線を表示する。ステップS6の処理は実施例1と同様になる。
S5: The
S8a:ユーザーが手書き入力部21からペンを離すと、手書き入力部21はペンアップを表示制御部44に送信する。
S8a: When the user releases the pen from the
S8b:表示制御部44はペンアップを情報処理システム10に通知するため、ペンアップを通信部42に送信する。
S8b: The
S8c:通信部42はペンアップを情報処理システム10に送信する。
S8c: The
S8d:情報処理システム10の通信部43はペンアップを受信して、手書き入力表示制御部23に送信する。
S8d: The
以降のステップS9~S17、及び、ステップS18~S41については実施例1と同様になる。 The subsequent steps S9 to S17 and steps S18 to S41 are the same as in the first embodiment.
S42a:タイマーがタイムアウトする前に、ユーザーが手書き入力部21にペンを接触させた場合、手書き入力部21はペンダウン(ステップS2と同じイベント)を表示制御部44に送信する。ステップS42b~S42dの処理はステップS2b~S2dと同様でよい。また、ステップS43~S51の処理は実施例1と同様になる。
S42a: If the user touches the
S52a:手書き入力表示制御部23は図17に示した各文字列候補、操作コマンドの候補、各選択確率、及び、推定書字方向を含む選択可能候補表示データを作成し、文字列候補と操作コマンドの候補からなる選択可能候補表示データを通信部43に送信する。
S52a: The handwriting input
S52b:通信部43は手書き入力装置2に選択可能候補表示データを送信する。
S52b: The
S52c:手書き入力装置2の通信部42は選択可能候補表示データを受信し、表示制御部44に送信する。
S52c: The
S52d:表示制御部44は選択可能候補表示データを受信したので、表示部22に送信することで表示させる。
S52d: Since the
S53a:また、手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ(矩形枠)(図17では手書きオブジェクト矩形領域表示503)を通信部43に送信する。
S53a: Further, the handwritten input
S53b:通信部43は手書き入力装置2に矩形領域表示データを送信する。
S53b: The
S53c:手書き入力装置2の通信部42は矩形領域表示データを受信し、表示制御部44に送信する。
S53c: The
S53d:表示制御部44は矩形領域表示データを受信したので、表示部22に送信することで表示させる。ステップS54の処理は実施例1と同様になる。
S53d: Since the
S55a:ユーザーが選択可能候補を消去したり、手書きオブジェクトに追加で手書きしたりすると、手書き入力部21は選択可能候補表示消去又は手書きオブジェクトの変化の発生を表示制御部44に送信する。
S55a: When the user deletes the selectable candidates or additionally writes by hand on the handwritten object, the
S55b:表示制御部44は選択可能候補表示消去又は手書きオブジェクトの変化の発生を情報処理システム10に通知するため、通信部42に送信する。
S55b: The
S55c:通信部42は選択可能候補表示消去又は手書きオブジェクトの変化の発生を情報処理システム10に送信する。
S55c: The
S55d:情報処理システム10の通信部43は選択可能候補表示消去又は手書きオブジェクトの変化の発生を受信して、手書き入力表示制御部23に送信する。ステップS56、S57、S58の処理は実施例1と同様になる。
S55d: The
S59a:手書き入力表示制御部23は選択可能候補表示データ消去を通信部43に送信する。
S59a: The handwritten input
S59b:通信部43は手書き入力装置2に選択可能候補表示データ消去を送信する。
S59b: The
S59c:手書き入力装置2の通信部42は選択可能候補表示データ消去を受信し、表示制御部44に送信する。
S59c: The
S59d:表示制御部44は選択可能候補表示データ消去を受信したので、表示部22に送信することで選択可能候補を消去させる。
S59d: Since the
S60a:手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を通信部43に送信する。
S60a: The handwritten input
S60b:通信部43は手書き入力装置2に手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を送信する。
S60b: The
S60c:手書き入力装置2の通信部42は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を受信し、表示制御部44に送信する。
S60c: The
S60d:表示制御部44は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を受信したので、表示部22に送信することで手書きオブジェクトと選択オブジェクトの矩形領域を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きオブジェクトはそのまま表示が維持される。
S60d: Since the
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS61~S79が実行される。 If the user selects a selectable candidate while the selectable candidate deletion timer is starting, steps S61 to S79 are executed.
S61a:選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部21は文字列候補又は操作コマンドの候補選択を表示制御部44に送信する。
S61a: If the user selects a selectable candidate while the selectable candidate deletion timer is starting, the
S61b:表示制御部44は文字列候補又は操作コマンドの候補選択を情報処理システム10に通知するため、通信部42に送信する。
S61b: The
S61c:通信部42は文字列候補又は操作コマンドの候補選択を情報処理システム10に送信する。
S61c: The
S61d:情報処理システム10の通信部43は文字列候補又は操作コマンドの候補選択を受信して、手書き入力表示制御部23に送信する。ステップS62~S66の処理は実施例1と同様になる。
S61d: The
S67a: 次に手書き入力表示制御部23は選択可能候補表示データ消去を通信部43に送信する。
S67a: Next, the handwritten input
S67b:通信部43は選択可能候補表示データ消去を手書き入力装置2に送信する。
S67b: The
S67c:手書き入力装置2の通信部42は選択可能候補表示データ消去を受信し、表示制御部44に送信する。
S67c: The
S67d:表示制御部44は選択可能候補表示データ消去を受信したので、表示部22に選択可能候補を消去させる。
S67d: Since the
S68a:手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を通信部43に送信する。
S68a: The handwritten input
S68b:通信部43は矩形領域表示データ消去を手書き入力装置2に送信する。
S68b: The
S68c:手書き入力装置2の通信部42は矩形領域表示データ消去を受信し、表示制御部44に送信する。
S68c: The
S68d:表示制御部44は矩形領域表示データ消去を受信したので、表示部22に矩形領域を消去させる。
S68d: Since the
S69a:手書き入力表示制御部23は手書きオブジェクト表示データ消去を通信部43に送信する。
S69a: The handwritten input
S69b:通信部43は手書きオブジェクト表示データ消去を手書き入力装置2に送信する。
S69b: The
S69c:手書き入力装置2の通信部42は手書きオブジェクト表示データ消去を受信し、表示制御部44に送信する。
S69c: The
S69d:表示制御部44は手書きオブジェクト表示データ消去を受信したので、表示部22に手書きオブジェクトとペン座標補完表示データを消去させる。ステップS70の処理は実施例1と同様でよい。
S69d: Since the
文字列候補が選択された場合、ステップS71~S73が実行される。ステップS71、S72の処理は実施例1と同様でよい。 If a character string candidate is selected, steps S71 to S73 are executed. The processing in steps S71 and S72 may be the same as in the first embodiment.
S73a: 次に手書き入力表示制御部23は手書き入力保存部25から受信した定義済みフォントを使用して、手書きオブジェクトと同じ位置に表示させる文字列オブジェクト表示データを通信部43に送信する。
S73a: Next, the handwritten input
S73b:通信部43は文字列オブジェクト表示データを手書き入力装置2に送信する。
S73b: The
S73c:手書き入力装置2の通信部42は文字列オブジェクト表示データを受信し、表示制御部44に送信する。
S73c: The
S73d:表示制御部44は文字列オブジェクト表示データを受信したので、表示部22に文字列オブジェクトを表示させる。
S73d: Since the
操作コマンドの候補が選択された場合、ステップS74~S78が実行される。更に、選択オブジェクトがある場合はステップS74~S76が実行される。 If an operation command candidate is selected, steps S74 to S78 are executed. Furthermore, if there is a selected object, steps S74 to S76 are executed.
S74a:選択オブジェクトへの操作コマンドの候補が選択された場合(選択オブジェクトが存在する場合)は、手書き入力表示制御部23は選択オブジェクト表示データ消去を通信部43に送信する。いったん、元の選択オブジェクトを消去するためである。
S74a: If a candidate for the operation command for the selected object is selected (if the selected object exists), the handwritten input
S74b:通信部43は選択オブジェクト表示データ消去を手書き入力装置2に送信する。
S74b: The
S74c:手書き入力装置2の通信部42は選択オブジェクト表示データ消去を受信し、表示制御部44に送信する。
S74c: The
S74d:表示制御部44は選択オブジェクト表示データ消去を受信したので、表示部22に選択オブジェクトを消去させる。
S74d: Since the
S75:次に、手書き入力表示制御部23は選択オブジェクトへの操作コマンド実行を手書き入力保存部25に送信する。手書き入力保存部25は新しい選択オブジェクトの表示データ(編集又は修飾後の表示データ)を手書き入力表示制御部23に送信する。
S75: Next, the handwritten input
S76a: 次に手書き入力表示制御部23は選択オブジェクト表示データを通信部43に送信する。
S76a: Next, the handwritten input
S76b:通信部43は選択オブジェクト表示データを手書き入力装置2に送信する。
S76b: The
S76c:手書き入力装置2の通信部42は選択オブジェクト表示データを受信し、表示制御部44に送信する。
S76c: The
S76d:表示制御部44は選択オブジェクト表示データを受信したので、表示部22に操作コマンド実行後の選択オブジェクトを再表示させる。ステップS77~S79の処理は実施例1と同様でよい。
S76d: Since the
このように、手書き入力装置2と情報処理システム10とが通信するシステム形態でも、実施例1と同様の効果を奏することができる。なお、図41~図48の処理の流れは一例であって、手書き入力装置2と情報処理システム10とが通信することにより生じる処理が含まれていたり、又は、処理が省略されたりしてもよい。また、情報処理システム10が行う処理の一部を手書き入力装置2が行ってもよい。例えば、削除に関する処理を手書き入力装置2が行ってもよい。
In this way, even in a system configuration in which the
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
<Other application examples>
Although the best mode for carrying out the present invention has been described above using examples, the present invention is not limited to these examples in any way, and various modifications can be made without departing from the gist of the present invention. and substitutions can be added.
例えば、本実施形態では電子黒板を一例として説明したが、タッチパネルを有する情報処理装置であれば好適に適用できる。タッチパネルを搭載した情報処理装置としては、例えば、PJ(Projector:プロジェクター)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC又はデスクトップPC等であってもよい。 For example, although this embodiment has been described using an electronic whiteboard as an example, any information processing device having a touch panel can be suitably applied. Information processing devices equipped with touch panels include, for example, projectors (PJs), output devices such as digital signage, HUD (head up display) devices, industrial machinery, imaging devices, sound collection devices, medical equipment, network appliances, It may be a notebook PC (Personal Computer), a mobile phone, a smartphone, a tablet terminal, a game console, a PDA (Personal Digital Assistant), a digital camera, a wearable PC, a desktop PC, or the like.
また、本実施形態ではペン先の座標をタッチパネルで検知する方法でペンの座標を検出したが、ペン先の座標を超音波により検出してもよい。また、ペンは発光と共に超音波を発信しており、手書き入力装置2は超音波の到達時間により距離を算出する。方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークとしてプロジェクターが描画(投影)する。
Further, in this embodiment, the coordinates of the pen tip are detected by a method of detecting the coordinates of the pen tip using a touch panel, but the coordinates of the pen tip may also be detected by ultrasonic waves. Further, the pen emits ultrasonic waves as well as emits light, and the
また、本実施形態では、選択オブジェクトがある場合に編集系及び修飾系の操作コマンドの候補を表示し、選択オブジェクトがない場合に入出力系の操作コマンドの候補を表示した。しかし、編集系及び修飾系の操作コマンドの候補と入出力系の操作コマンドの候補を同時に表示してもよい。 Furthermore, in the present embodiment, candidates for editing and modification operation commands are displayed when there is a selected object, and candidates for input/output operation commands are displayed when there is no selected object. However, candidates for editing and modification operation commands and candidates for input/output operation commands may be displayed simultaneously.
また、図7などの構成例は、手書き入力装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。手書き入力装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
Further, in the configuration example shown in FIG. 7 and the like, in order to facilitate understanding of the processing by the
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。 Moreover, each function of the embodiment described above can be realized by one or more processing circuits. Here, the term "processing circuit" as used herein refers to a processor programmed to execute each function by software, such as a processor implemented by an electronic circuit, or a processor designed to execute each function explained above. This includes devices such as ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), FPGAs (field programmable gate arrays), and conventional circuit modules.
ペンID制御データ保存部36は制御データ保存手段の一例である。手書き入力表示制御部23は表示制御手段の一例である。手書き認識制御部26は手書き認識制御手段の一例である。通信部42は第一の通信手段の一例である。通信部43は第二の通信手段の一例である。
The pen ID control
2 手書き入力装置
21 手書き入力部
22 表示部
23 手書き入力表示制御部
24 候補表示タイマー制御部
25 手書き入力保存部
26 手書き認識制御部
27 手書き認識辞書部
28 文字列変換制御部
29 文字列変換辞書部
30 予測変換制御部
31 予測変換辞書部
32 操作コマンド認識制御部
33 操作コマンド定義部
36 ペンID制御データ保存部
2
Claims (10)
前記入力手段から受信した前記入力手段の識別情報に対応付けて、前記入力手段の制御データを保存する制御データ保存手段と、
ストロークデータの位置に応じた位置にテキストデータを含む操作ガイドを表示部に表示させる表示制御手段であって、
前記入力手段から受信した前記入力手段の識別情報に対応付けられている前記制御データを前記ストロークデータに反映させて前記ストロークデータに基づく情報を前記表示部に表示させる表示制御手段と、
前記操作ガイドに手書きされた直線と所定の方向のなす角に基づいて決定した角度情報を、直線の前記ストロークデータが手書きされた時に前記入力手段から受信した前記入力手段の識別情報に対応付けて前記制御データ保存手段に保存する手書き認識制御手段と、を有し、
前記手書き認識制御手段が、前記操作ガイドで直線が手書きされた場合に前記角度情報を入力するとともに、前記操作ガイド以外で直線が手書きされた場合に直線を文字として認識することを特徴とする手書き入力装置。 A handwriting input device that displays handwritten stroke data based on the position of an input means in contact with a touch panel,
control data storage means for storing control data of the input means in association with identification information of the input means received from the input means;
A display control means for displaying an operation guide including text data on a display section at a position corresponding to a position of stroke data,
display control means that causes the display unit to display information based on the stroke data by reflecting the control data associated with the identification information of the input means received from the input means on the stroke data;
Correlating angle information determined based on an angle between a straight line handwritten on the operation guide and a predetermined direction with identification information of the input means received from the input means when the stroke data of the straight line was handwritten. handwriting recognition control means stored in the control data storage means;
The handwriting recognition control means inputs the angle information when a straight line is handwritten using the operating guide, and recognizes the straight line as a character when the straight line is handwritten using a method other than the operating guide. input device.
前記表示制御手段は、前記角度情報を前記ストロークデータに反映させて前記ストロークデータに基づく情報を表示させることを特徴とする請求項1に記載の手書き入力装置。 The control data storage means stores, as the control data, the angle information of the user using the input means relative to the handwriting input device with a predetermined direction as a reference;
The handwriting input device according to claim 1 , wherein the display control means reflects the angle information on the stroke data and displays information based on the stroke data.
前記手書き認識制御手段は、前記角度情報に基づいて前記ストロークデータを回転させてから前記ストロークデータを認識して1つ以上のテキストデータに変換し、
前記表示制御手段は、1つ以上の前記テキストデータを前記ストロークデータに基づく情報として表示させることを特徴とする請求項2に記載の手書き入力装置。 The handwriting recognition control means recognizes the stroke data and converts it into text data,
The handwriting recognition control means rotates the stroke data based on the angle information, and then recognizes and converts the stroke data into one or more text data;
The handwriting input device according to claim 2 , wherein the display control means displays one or more of the text data as information based on the stroke data.
前記表示制御手段は、前記角度情報に基づいて回転された前記テキストデータ及び前記操作ヘッダーを前記ストロークデータに基づく情報として表示させることを特徴とする請求項4に記載の手書き入力装置。 The display control means displays an operation header for accepting user operations together with the text data,
5. The handwriting input device according to claim 4 , wherein the display control means displays the text data rotated based on the angle information and the operation header as information based on the stroke data.
前記回転操作ボタンの押下と共に前記入力手段から受信した前記入力手段の識別情報に対応付けて前記角度情報を前記制御データ保存手段に保存することを特徴とする請求項3~5のいずれか1項に記載の手書き入力装置。 The operation header that accepts a user's operation that is displayed together with the text data by the display control means has a rotation operation button that accepts the angle information,
Any one of claims 3 to 5, wherein the angle information is stored in the control data storage means in association with identification information of the input means received from the input means when the rotation operation button is pressed. The handwriting input device described in .
複数のユーザーがそれぞれ選択した複数のテキストデータを表示させ、
所定の操作が検出された場合、複数のテキストデータをまとめて同一方向に揃えて表示させることを特徴とする請求項3~7のいずれか1項に記載の手書き入力装置。 The display control means displays one text data selected by the user from the one or more text data displayed in a rotated manner,
Display multiple text data selected by multiple users,
8. The handwriting input device according to claim 3 , wherein when a predetermined operation is detected, a plurality of text data are displayed together in alignment in the same direction.
表示制御手段が、ストロークデータの位置に応じた位置にテキストデータを含む操作ガイドを表示部に表示させるステップと、
前記入力手段の識別情報に対応付けられている前記入力手段の制御データを制御データ保存手段から取得して、
表示制御手段が、前記入力手段から受信した前記入力手段の識別情報に対応付けられている前記制御データを前記ストロークデータに反映させて前記ストロークデータに基づく情報を前記表示部に表示させるステップと、
手書き認識制御手段が、前記操作ガイドに手書きされた直線と所定の方向のなす角に基づいて決定した角度情報を、直線の前記ストロークデータが手書きされた時に前記入力手段から受信した前記入力手段の識別情報に対応付けて前記制御データ保存手段に保存するステップと、
前記手書き認識制御手段が、前記操作ガイドで直線が手書きされた場合に前記角度情報を入力するとともに、前記操作ガイド以外で直線が手書きされた場合に直線を文字として認識するステップと、
を有することを特徴とする手書き入力方法。 A handwriting input method in which a handwriting input device displays handwritten stroke data based on the position of an input means in contact with a touch panel, the method comprising:
a step in which the display control means causes the display unit to display an operation guide including text data at a position corresponding to the position of the stroke data;
acquiring control data for the input means that is associated with identification information of the input means from a control data storage means;
display control means causes the display unit to display information based on the stroke data by reflecting the control data associated with the identification information of the input means received from the input means on the stroke data; ,
The handwriting recognition control means transmits the angle information determined based on the angle between the straight line handwritten on the operation guide and the predetermined direction to the input means received from the input means when the stroke data of the straight line is handwritten. storing the control data in the control data storage means in association with the identification information;
the handwriting recognition control means inputting the angle information when a straight line is handwritten using the operating guide, and recognizing the straight line as a character when the straight line is handwritten using a method other than the operating guide;
A handwriting input method characterized by having the following.
前記入力手段と通信するステップと、
前記ストロークデータの位置に応じた位置にテキストデータを含む操作ガイドを表示部に表示させるステップと、
制御データ保存手段から前記入力手段の識別情報に対応付けられている前記入力手段の制御データを取得して、
前記入力手段から受信した前記入力手段の識別情報に対応付けられている前記制御データを前記ストロークデータに反映させて前記ストロークデータに基づく情報を前記表示部に表示させるステップと、
前記操作ガイドに手書きされた直線と所定の方向のなす角に基づいて決定した角度情報を、直線の前記ストロークデータが手書きされた時に前記入力手段から受信した前記入力手段の識別情報に対応付けて前記制御データ保存手段に保存するステップと、
前記操作ガイドで直線が手書きされた場合に前記角度情報を入力するとともに、前記操作ガイド以外で直線が手書きされた場合に直線を文字として認識するステップと、
を実行させることを特徴とするプログラム。 A handwriting input device that displays handwritten stroke data based on the position of the input means in contact with the touch panel,
communicating with said input means;
displaying an operation guide including text data on a display unit at a position corresponding to the position of the stroke data;
Obtaining control data of the input means associated with identification information of the input means from the control data storage means,
reflecting the control data associated with identification information of the input means received from the input means on the stroke data and displaying information based on the stroke data on the display unit;
Correlating angle information determined based on an angle between a straight line handwritten on the operation guide and a predetermined direction with identification information of the input means received from the input means when the stroke data of the straight line was handwritten. Storing the control data in the control data storage means;
inputting the angle information when a straight line is handwritten using the operating guide, and recognizing the straight line as a character when the straight line is handwritten using a method other than the operating guide;
A program characterized by executing.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/839,276 US11132122B2 (en) | 2019-04-11 | 2020-04-03 | Handwriting input apparatus, handwriting input method, and non-transitory recording medium |
EP20168338.0A EP3722995A1 (en) | 2019-04-11 | 2020-04-07 | Handwriting input apparatus, handwriting input method, and program |
TW109111656A TWI807181B (en) | 2019-04-11 | 2020-04-07 | Handwriting input apparatus, handwriting input method, and program |
CN202010274952.8A CN111813254B (en) | 2019-04-11 | 2020-04-09 | Handwriting input device, handwriting input method, and recording medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075825 | 2019-04-11 | ||
JP2019075825 | 2019-04-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020173794A JP2020173794A (en) | 2020-10-22 |
JP7452155B2 true JP7452155B2 (en) | 2024-03-19 |
Family
ID=72831447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020051620A Active JP7452155B2 (en) | 2019-04-11 | 2020-03-23 | Handwriting input device, handwriting input method, program |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7452155B2 (en) |
CN (1) | CN111813254B (en) |
TW (1) | TWI807181B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI809617B (en) * | 2020-12-22 | 2023-07-21 | 禾瑞亞科技股份有限公司 | Control method of electronic paper touch panel and integrated apparatus and electronic system |
TWI806579B (en) * | 2022-04-29 | 2023-06-21 | 聯詠科技股份有限公司 | Touch device and detection method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008250679A (en) | 2007-03-30 | 2008-10-16 | Aisin Aw Co Ltd | Navigation device |
JP2012174112A (en) | 2011-02-23 | 2012-09-10 | Nec Casio Mobile Communications Ltd | Image display device, image display method, and program |
WO2015059787A1 (en) | 2013-10-23 | 2015-04-30 | 株式会社 東芝 | Electronic device, method, and program |
JP2015230497A (en) | 2014-06-03 | 2015-12-21 | シャープ株式会社 | Input display device |
JP2018054880A (en) | 2016-09-29 | 2018-04-05 | セイコーエプソン株式会社 | Display device, information processing device, and information processing method |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3161794B2 (en) * | 1992-03-05 | 2001-04-25 | 松下電器産業株式会社 | Pen input device and pen input method |
JP3239457B2 (en) * | 1992-08-07 | 2001-12-17 | 富士ゼロックス株式会社 | Electronic information drawing device |
CN102156585B (en) * | 2011-04-27 | 2013-01-02 | 段西京 | Handwriting input control method and handwriting input device with mouse operation function |
US9519414B2 (en) * | 2012-12-11 | 2016-12-13 | Microsoft Technology Licensing Llc | Smart whiteboard interactions |
US9069462B2 (en) * | 2013-03-14 | 2015-06-30 | Nuance Communications, Inc. | Recognizing handwriting input using rotatable support lines |
TWI511028B (en) * | 2013-06-19 | 2015-12-01 | Kye Systems Corp | Coordinate corresponding method |
TW201638763A (en) * | 2015-04-20 | 2016-11-01 | 宏碁股份有限公司 | Electronic device and detection method of touch control |
US10324544B2 (en) * | 2016-12-27 | 2019-06-18 | Wacom Co., Ltd. | Hand-written information process apparatus, hand-written information processing method and hand-written information processing program |
-
2020
- 2020-03-23 JP JP2020051620A patent/JP7452155B2/en active Active
- 2020-04-07 TW TW109111656A patent/TWI807181B/en active
- 2020-04-09 CN CN202010274952.8A patent/CN111813254B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008250679A (en) | 2007-03-30 | 2008-10-16 | Aisin Aw Co Ltd | Navigation device |
JP2012174112A (en) | 2011-02-23 | 2012-09-10 | Nec Casio Mobile Communications Ltd | Image display device, image display method, and program |
WO2015059787A1 (en) | 2013-10-23 | 2015-04-30 | 株式会社 東芝 | Electronic device, method, and program |
JP2015230497A (en) | 2014-06-03 | 2015-12-21 | シャープ株式会社 | Input display device |
JP2018054880A (en) | 2016-09-29 | 2018-04-05 | セイコーエプソン株式会社 | Display device, information processing device, and information processing method |
Also Published As
Publication number | Publication date |
---|---|
CN111813254A (en) | 2020-10-23 |
TWI807181B (en) | 2023-07-01 |
CN111813254B (en) | 2024-03-19 |
TW202040351A (en) | 2020-11-01 |
JP2020173794A (en) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023175845A (en) | Handwriting input apparatus, handwriting input method, program, and input system | |
US20220374142A1 (en) | Display apparatus, color supporting apparatus, display method, and program | |
US11132122B2 (en) | Handwriting input apparatus, handwriting input method, and non-transitory recording medium | |
CN112825022B (en) | Display device, display method, and medium | |
JP7452155B2 (en) | Handwriting input device, handwriting input method, program | |
JP7456287B2 (en) | Display device, program, display method | |
JP2020064625A (en) | Input device, input method, program, and input system | |
JP7259828B2 (en) | Display device, display method, program | |
EP3825868A1 (en) | Display apparatus, display method, and program | |
JP7354878B2 (en) | Handwriting input device, handwriting input method, program, input system | |
CN111814530B (en) | Handwriting input device, handwriting input method, program, and input system | |
JP7268479B2 (en) | Display device, program, display method | |
WO2022045177A1 (en) | Display apparatus, input method, and program | |
US20230298367A1 (en) | Display apparatus, formatting method, and non-transitory computer-executable medium | |
JP2021082292A (en) | Display unit, display method, and program | |
JP2021096844A (en) | Display unit, display method, and program | |
JP2021064366A (en) | Display device, color-compatible device, display method, and program | |
JP2021152884A (en) | Display device, display method, program, and information processor | |
WO2020080300A1 (en) | Input apparatus, input method, program, and input system | |
JP2022023456A (en) | Display apparatus, acoustic device control method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230116 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230719 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230808 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20231006 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231101 |
|
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: 20240206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240219 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7452155 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |