JP2021082292A - 表示装置、表示方法、プログラム - Google Patents

表示装置、表示方法、プログラム Download PDF

Info

Publication number
JP2021082292A
JP2021082292A JP2020192210A JP2020192210A JP2021082292A JP 2021082292 A JP2021082292 A JP 2021082292A JP 2020192210 A JP2020192210 A JP 2020192210A JP 2020192210 A JP2020192210 A JP 2020192210A JP 2021082292 A JP2021082292 A JP 2021082292A
Authority
JP
Japan
Prior art keywords
data
pen
display
control unit
display device
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.)
Pending
Application number
JP2020192210A
Other languages
English (en)
Inventor
笠谷 潔
Kiyoshi Kasatani
潔 笠谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US16/952,479 priority Critical patent/US11733830B2/en
Priority to CN202011316681.4A priority patent/CN112825022B/zh
Publication of JP2021082292A publication Critical patent/JP2021082292A/ja
Priority to US18/339,334 priority patent/US20240004520A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/333Preprocessing; Feature extraction
    • G06V30/347Sampling; Contour coding; Stroke extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/30Writer recognition; Reading and verifying signatures
    • G06V40/33Writer recognition; Reading and verifying signatures based only on signature image, e.g. static signature recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】操作メニューの表示位置に応じたデータ処理を行うことが可能な表示装置、表示方法、及び、プログラムを提供する。【解決手段】手書きデータに対し行われるデータ処理と関連づけられた操作メニューを表示する表示装置2であって、複数の同じ操作メニューを表示し、同じ操作メニューであっても、操作メニューは操作メニューの表示位置に応じたデータ処理に関する情報を有し、データ処理に関する情報は、手書きデータを回転させる回転角度であり、手書きデータを認識して得た文字列を回転角度で回転して表示する。【選択図】図21

Description

本発明は、表示装置、表示方法、及び、プログラムに関する。
ペンや指でタッチパネルに手書きされたデータを表示する表示装置が知られている。比較的大型のタッチパネルを備えた表示装置は会議室などに配置され、複数のユーザーにより電子黒板などとして利用される。
ユーザーがペンの色などを選択するためのメニューを表示装置が表示することがある(例えば、特許文献1参照。)。特許文献1には、ペンボタンの押下により、色設定、透明度設定、太さ設定、線種設定、スタンプ設定、及び動作設定のメニューが表示される手書き入力装置について開示されている。
しかしながら、従来の表示装置は、操作メニューの表示位置が異なってもデータ処理に関する情報が同じであるという問題があった。例えば、ユーザーが表示装置に手書きする場合、各ユーザーは自分の近くの操作メニューを操作する。しかし、ユーザーが操作した操作メニューの表示位置に関わらず、表示装置が手書きデータに行うデータ処理は同じであった。
本発明は、上記課題に鑑み、操作メニューの表示位置に応じたデータ処理を行うことが可能な表示装置を提供することを目的とする。
上記課題に鑑み、本発明は、手書きデータに対し行われるデータ処理と関連づけられた操作メニューを表示する表示装置であって、前記操作メニューは、操作メニューの表示位置に応じた前記データ処理に関する情報を有することを特徴とする。
操作メニューの表示位置に応じたデータ処理を行うことが可能な表示装置を提供することができる。
表示装置が表示する操作メニューの一例を示す図である。 平置きされた表示装置の一例である。 ペンの斜視図の一例を示す図である。 表示装置の全体構成図の一例を示す図である。 表示装置のハードウェア構成図の一例である。 表示装置とペンが有する機能について説明する図である。 定義済み制御データの一例を示す図である。 手書き認識辞書部の辞書データの一例を示す図である。 文字列変換辞書部の辞書データの一例を示す図である。 予測変換辞書部の辞書データの一例を示す図である。 操作コマンド定義部が保持する操作コマンド定義データとシステム定義データの一例を示す図である。 操作コマンド定義部が保持するユーザー定義データの一例を示す図である。 手書きサインデータ保存部が保持する手書きサインデータの一例を示す図である。 手書き入力保存部が保存している手書き入力保存データの一例を示す図である。 ペンID制御データ保存部が保存するペンID制御データを説明する図である。 カラー定義データの一例を示す図である。 ペン色選択ボタン定義データの一例を示す図である。 ディスプレーに表示されるペン色選択ボタンの一例を示す図である。 操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。 90度の角度情報の入力方法を説明する図である。 ユーザーが登録した手書きサインデータである「すずき」を手書きした場合に表示される操作ガイドの一例を示す図である。 平置きされた表示装置の上面図の一例である。 表示装置が手書きデータを英語に変換する場合において、平置きされた表示装置の上面図である。 ペン操作パネルの一例を示す図である。 ページ操作パネルの一例を示す図である。 ページナビ操作パネルの一例を示す図である。 下側のユーザーが操作する操作メニューの操作ボタン定義データの一例を示す図である(その1)。 下側のユーザーが操作する操作メニューの操作ボタン定義データの一例を示す図である(その2)。 上側のユーザーが操作する操作メニューの操作ボタン定義データの一例を示す図である(その1)。 上側のユーザーが操作する操作メニューの操作ボタン定義データの一例を示す図である(その2)。 ページナビデータの一例を示す図である。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その1)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その2)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その3)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その4)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その5)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その6)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その7)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その8)。 表示装置が操作メニューを表示する手順を示すフローチャート図の一例である。 ペン操作パネルのボタンが押下された場合の処理を説明するフローチャート図の一例である。 ユーザーが操作コマンド「ページ名に設定」を実行した場合の処理を説明するフローチャート図の一例である。 ページナビの表示方法を説明するフローチャート図の一例である。 ペンホルダーの配置例を説明する図である。 配置決定画面の一例である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。
以下、本発明を実施するための形態の一例として、表示装置及び表示装置が行う表示方法について図面を参照しながら説明する。
入力手段はタッチパネルに座標を指定して手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。手書きデータとは、タッチパネル上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがタッチパネルに入力手段を押しつけてから連続的に移動させた後、タッチパネルから離すという一連の操作をストロークという。ストロークにより手書きされたデータはストロークデータという。手書きデータは1つ以上のストロークデータを有する。手書き入力とは、ユーザーによって、手書きデータが入力されることを示している。
<表示装置の比較例について>
本実施形態の表示装置の説明に際し、まず、表示装置の操作メニューの表示例について簡単に説明する。
図1は、表示装置が表示する操作メニューの一例を示す。この表示装置2は立て掛けられているため、ディスプレーの右側に操作メニュー102が表示されている。ユーザーはディスプレーの左側に操作メニュー102を移動することもできるが、従来は、同時には1つの操作メニュー102しか表示されない。このため、例えば、ディスプレーに向かって左側にユーザーが存在したとしても、そのユーザーは操作メニュー102を押下しにくかった。
次に、図2は平置きされた表示装置2の一例である。図2ではユーザーが向かい合っているがこの場合も操作メニューが1つしかないと操作しにくい。そこで、操作メニューを表示装置2がそれぞれのユーザーに対して表示することが検討される。操作メニューは表示位置に応じたデータ処理に関する情報を有していない。
この場合、ユーザーは自分の近くの操作メニューを押下できるが、操作メニューには表示位置に応じたデータ処理に関する情報が含まれておらず、ユーザーが操作メニューを押下しても表示位置に応じたデータ処理が困難であった。例えば、表示装置2が手書きされた文字を認識する場合、文字の向きに応じて手書きデータを回転させなければ正しく認識することができないが、従来、押下された操作メニューに応じてデータ処理の内容を変更することは行われていない。
そこで、本実施形態では、表示位置に応じたデータ処理に関する情報を有する操作メニューを表示する表示装置について説明する。
また、図1に示したように、表示装置は手書きデータ等を含むページデータをページ単位で保存しておき、各ページのサムネイル106をディスプレーの下部に表示している。しかし、サムネイル106は小さいため内容の判別が難しいという不都合があった。また、サムネイル106で表示できるページ数には上限があり、各ページにどのような内容が含まれているのかを全て表示させることができなかった。
そこで、本実施形態では、ユーザーが選択した文字列、又は、表示装置が自動的に選択した文字列をページごとに抽出し、ページごとにそれらが表示されたページナビを表示する。
<用語について>
手書きデータとは、ディスプレー上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがディスプレーに入力手段を押しつけてから連続的に移動させた後、ディスプレーから離すという一連の操作をストロークといい、ストロークにより手書きされたデータをストロークデータという。手書きデータは1つ以上のストロークデータを有する。
データ処理に関する情報は、表示装置2が表示する手書きデータ又は手書き入力起因データが処理される内容である。例えば、手書き認識するための手書きデータの回転、文字認識後の回転が挙げられる。表示装置2は操作メニューの表示位置に応じて手書きデータを回転させることができる。また、カラーのディスプレーであれば、カラーで表示するかモノクロで表示するか、どの色で表示するか等も制御できる。また、表示装置2はどのフォントで表示するかも制御できる。
白黒対応装置…白黒対応装置は白若しくは黒、又は、グレースケールしか出力できない装置である。例えば、電子ペーパー、モノクロプリンタなどがある。カラーに対応していない装置とも言える。
なお、電子ペーパーはEペーパーともいう。電子ペーパーは10分の1mm程度の薄さで、電気的な手段でデータの表示・消去が可能なディスプレーの総称である。電子ペーパーを実現する代表的な技術は、マイクロカプセル型電気泳動方式で、Eインク(登録商標)技術と呼ばれている。それぞれのマイクロカプセルの中に白い微粒子と黒い微粒子が入っていて、白をプラス、黒をマイナスに帯電させている。
カラー対応装置…カラー対応装置は白黒だけでなくカラーを出力できる装置である。液晶や有機ELディスプレーを有する装置、カラープリンタなどがある。カラー対応機器は白黒対応機器でもある。
白黒強調対応装置…白黒強調対応装置は白若しくは黒、又は、グレースケールしか出力できない装置であるが、手書き入力起因データに関して手書きデータに対応付けられている色情報に基づいて、白黒強調表示を行う装置である。本実施形態の表示装置が挙げられる。なお、表示装置は手書き入力が可能であり、入力装置又は手書き入力装置と呼ばれる場合もある。
手書き入力起因データとは、タッチパネルに手書きされたことで入力されたデータをいう。入力後に手書きのままか、テキストデータに変換されたかは問わない。また、外部機器から取得されたデータも手書き入力を起因とすることは失われない。手書き入力起因データは文字認識して変換されたテキストデータの他、「済」「秘」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて変換されたデータも含まれてよい。
手書き入力起因データでないデータはタッチパネルに手書きされたことで入力されたデータ以外のデータをいい、例えば、画像(イメージ)データ、白黒強調対応装置でない装置で入力された手書きデータ又はテキストデータをいう。
<ペンの外観の一例>
図3は、ペン2500の斜視図の一例を示す。図3は多機能なペン2500の一例を示す。電源を内蔵して表示装置2に命令を送信できるペン2500をアクティブペンという(電源を内蔵しないペンをパッシブペンという)。図3のペン2500は、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。本実施形態では、更に、ペン2500は不揮発性のメモリーを有しており、他のペンと重複しないペンIDを記憶している。
なお、スイッチ付きのペンであれば、ユーザーの表示装置2の操作手順を減らすことも可能である。スイッチ付きのペンとは主にアクティブペンを言うが、電磁誘導方式では電源を内蔵しないパッシブペンでもLC回路だけで電力を発生できるため、アクティブペンだけでなく電磁誘導方式のパッシブペンを含む。電磁誘導方式以外の光学方式、赤外線方式、及び、静電容量方式のスイッチのあるペンはアクティブペンである。
なお、ペン2500のハードウェア構成は、通信機能とマイコンを備えた一般的な制御方式と同様であるとする。ペン2500は、電磁誘導方式、アクティブ静電結合方式などがある。また、ペン2500は筆圧検知、傾き検知、ホバー機能(ペンが触れる前にカーソルを表示)、などの機能を有していてよい。
<装置の全体構成>
図4を用いて、本実施形態に係る表示装置2の全体構成を説明する。図4は、表示装置2の全体構成図を示した図である。図4(a)は、表示装置2の一例として、壁につり下げられた横長の電子黒板として使用される表示装置2を示している。
図4(a)に示されているように、表示装置2の上部には表示装置の一例としてのディスプレー220が設置されている。ユーザーUは、ペン2500を用いて、ディスプレー220に文字等を手書きする(入力、描画ともいう)することができる。
図4(b)は壁につり下げられた縦長の電子黒板として使用される表示装置2を示している。
図4(c)は机230に平置きされた表示装置2を示す。表示装置2は厚みが1cm程度なので、一般の机に平置きしても机の高さを調整する必要がない。また、ユーザーが表示装置2を容易に移動できる。
なお、チルトセンサーにより表示装置2がどの置き方で使用されているかは自動的に検出される。
<装置のハードウェア構成>
続いて、図5を用いて、表示装置2のハードウェア構成を説明する。表示装置2は図示するように情報処理装置又はコンピュータの構成を有している。図5は、表示装置2のハードウェア構成図の一例である。図5に示されているように、表示装置2は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、及び、SSD(Solid State Drive)204を備えている。
これらのうち、CPU201は、表示装置2全体の動作を制御する。ROM202は、CPU201やIPL(Initial Program Loader)等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。SSD204は、表示装置2用のプログラム等の各種データを記憶する。
また、表示装置2は、ディスプレーコントローラー213、タッチセンサーコントローラー215、タッチセンサー216、ディスプレー220、電源スイッチ227、チルトセンサー217、シリアルインターフェース218、スピーカー219、マイク221、無線通信装置222、赤外線I/F223、電源制御回路224、ACアダプター225、及びバッテリー226を備えている。
ディスプレーコントローラー213は、出力画像をディスプレー220等へ出力するために画面表示の制御及び管理を行う。タッチセンサー216は、ディスプレー220上にペン2500やユーザーの手等(ペンやユーザーの手は入力手段となる)が接触したことを検知する。また、タッチセンサー216はペンIDを受信する。
タッチセンサーコントローラー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の傾き角度を検出するセンサーである。チルトセンサー217は、主に、表示装置2が図4(a)、図4(b)又は、図4(c)のいずれかの設置状態で使用されているかを検出するために使用され、設置状態に応じて文字等の太さを自動で変更することができる。
シリアルインターフェース218はUSBやLANインターフェースなどの外部との通信インターフェースである。シリアルインターフェース218は外部からの情報の入力などに使用される。スピーカー219は音声の出力に使用され、マイク221は音声の入力に使用される。無線通信装置222は、ユーザーが携帯する端末と通信し、例えばインターネットへの接続を中継する。無線通信装置222はWi−FiやBluetooth(登録商標)などで通信するが、通信規格は問われない。無線通信装置222はアクセスポイントを形成しており、ユーザーが入手したSSID(Service Set Identifier)とパスワードをユーザーが携帯する端末に設定すると、アクセスポイントに接続できる。
なお、無線通信装置222に2つのアクセスポイントが用意されているとよい。
a. アクセスポイント→インターネット
b. アクセスポイント→社内ネットワーク→インターネット
aのアクセスポイントは社外のユーザー用で、ユーザーは社内ネットワークにはアクセスできないが、インターネットを利用できる。b.のアクセスポイントは社内のユーザー用で、ユーザーは社内ネットワーク及びインターネットを利用できる。
赤外線I/F223は隣に配置された表示装置2を検出する。赤外線I/F223は赤外線の直進性を利用して、隣に配置された表示装置2のみを検出できる。赤外線I/F223は各辺に1つずつ設けられることが好ましく、表示装置2のどの方向に他の表示装置2が配置されたのかを検出できる。隣の表示装置2は過去に手書きされた手書き情報(1つのディスプレー220の広さを1ページとして別のページの手書き情報)を表示できる。
電源制御回路224は表示装置2の電源であるACアダプター225とバッテリー226を制御する。ACアダプター225は商用電源が共有する交流を直流に変換する。
ディスプレー220がいわゆる電子ペーパーの場合、画像が描画された後の画像を維持するためにほとんど又は一切電力を消費しないので、バッテリー226による駆動も可能である。これにより、屋外など電源を接続しにくい場所でもデジタルサイネージなどの用途で表示装置2を使用することが可能になる。
更に、表示装置2は、バスライン210を備えている。バスライン210は、図5に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
なお、タッチセンサー216は、光学式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネルでもよい。タッチセンサー216は、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネルでもよい。タッチセンサー216は、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなど、種々の検出手段を用いてもよい。タッチセンサー216は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン2500は、細長いペン型である必要はない。
<装置の機能について>
次に、図6を用いて、表示装置2とペン2500が有する機能について説明する。図6(a)は表示装置2が有する機能をブロック状に示す機能ブロック図の一例である。表示装置2は、手書き入力部21、表示部22、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、ペンID制御データ保存部36、ファイル送受信制御部37、手書きサイン認証制御部38、及び、手書きサインデータ保存部39を備えている。表示装置2が有する各機能は、図5に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
手書き入力部21はタッチセンサー216等により実現されており、ユーザーによる手書き入力を受け付け、ペン2500からペンIDを受信する。手書き入力部21はユーザーのペン入力d1をペンID付きのペン操作データd2(ペンアップ、ペンダウン、又はペン座標データ)に変換し、手書き入力表示制御部23に送信する。ペン座標データは離散値として定期的に送信され、離散値間の座標は補完計算される。
表示部22はディスプレー220等により実現され、手書きデータや操作メニュー等を表示する。表示部22は手書き入力表示制御部23がビデオメモリーに書き込んだ描画データd3をディスプレー220の特性に応じたデータに変換し、ディスプレー220に送信する。
手書き入力表示制御部23は手書き入力と表示に関する全体的な制御を行う。手書き入力表示制御部23は手書き入力部21からのペン操作データd2を処理し、表示部22に送信することで表示させる。ペン操作データd2の処理及びストロークの表示の詳細は後述の図32〜図39にて説明する。手書き入力表示制御部23は後述する操作ボタン定義データを保持しており、手書き入力部21からのペン操作データd2に基づいて操作された操作メニュー(ボタン)を検出して、操作メニューに応じた制御を行う。
候補表示タイマー制御部24は、選択可能候補の表示制御タイマーである。候補表示タイマー制御部24は、タイマーを開始又は停止して選択可能候補の表示を開始するタイミングと表示を消去するタイミングを生成する。選択可能候補とは、後述する操作ガイド(図19参照)に選択可能に表示される手書き認識文字列/言語文字列候補、変換文字列候補、文字列/予測変換の候補、及び、操作コマンドの候補、である。候補表示タイマー制御部24は手書き入力表示制御部23からタイマー開始要求d4(タイマー停止要求の場合もある)を受信し、タイムアウトイベントd5を手書き入力表示制御部23に送信する。
手書き入力保存部25はユーザーデータ(手書きデータ/文字列データ)を保存しておくストレージの機能を有する。手書き入力保存部25は手書き入力表示制御部23からユーザーデータd6−1を受信し、保持しておく。手書き入力保存部25は手書き入力表示制御部23から取得要求d6−2を受け取って、手書き入力保存部25に保存されたユーザーデータd7を送信する。手書き入力保存部25は、確定データ(すでに認識が終了した文字列データ又は変換しないことが確定した手書きデータ)の位置情報d36を操作コマンド認識制御部32に送信する。
手書き認識制御部26はオンライン手書き認識を行う認識エンジンである。一般的なOCR(Optical Character Reader)とは異なり、ユーザーのペン操作と並行して文字(日本語だけでなく英語などの多国語)、数字、記号(%、$、&など)、図形(線、丸、三角など)等を認識していく。認識方法については様々なアルゴリズムが考案されているが、本実施形態では公知の技術を利用できるとして詳細を割愛する。
手書き認識制御部26はペン操作データd8−1を手書き入力表示制御部23から受信し、手書き認識を実行して手書き認識文字列候補を保持する。また、手書き認識制御部26は手書き認識辞書部27を使用して手書き認識文字列候補d12から変換した言語文字列候補を保持しておく。別途、取得要求d8−2を手書き入力表示制御部23から受信した場合、手書き認識制御部26は保持している手書き認識文字列候補及び言語文字列候補d9を手書き入力表示制御部23に送信する。
手書き認識辞書部27は手書き認識の言語変換用の辞書データである。手書き認識辞書部27は手書き認識文字列候補d12を手書き認識制御部26から受信し、言語的に確からしい言語文字列候補d13に変換して手書き認識制御部26に送信する。例えば、日本語の場合は、平仮名を漢字や片仮名へ変換する。
文字列変換制御部28は変換文字列候補の文字列への変換を制御する。変換文字列とは手書き認識文字列又は言語文字列を含んで生成される可能性が高い文字列である。文字列変換制御部28は手書き認識文字列及び言語文字列候補d11を手書き認識制御部26から受信し、文字列変換辞書部29を使用して変換文字列候補に変換して保持しておく。別途、文字列変換制御部28が取得要求d14を手書き入力表示制御部23から受信した場合、保持している変換文字列候補d15を手書き入力表示制御部23に送信する。
文字列変換辞書部29は文字列変換用の辞書データである。文字列変換辞書部29は文字列変換制御部28から手書き認識文字列及び言語文字列候補d17を受信し、変換文字列候補d18を文字列変換制御部28に送信する。
予測変換制御部30は手書き認識文字列及び言語文字列候補d10を手書き認識制御部26から受信し、変換文字列候補d16を文字列変換制御部28から受信する。予測変換制御部30は手書き認識文字列、言語文字列候補、及び、変換文字列候補のそれぞれについて予測変換辞書部31を使用して予測文字列候補に変換しておく。予測変換文字列とは手書き認識文字列、言語文字列又は変換文字列を含んで生成される可能性が高い文字列である。別途、予測変換制御部30が取得要求d19を手書き入力表示制御部23から受信した場合、予測文字列候補d20を手書き入力表示制御部23に送信する。
予測変換辞書部31は予測変換用の辞書データである。予測変換辞書部31は手書き認識文字列、言語文字列候補及び変換文字列候補d21を予測変換制御部30から受信し、予測文字列候補d22を予測変換制御部30に送信する。
操作コマンド認識制御部32は手書き認識文字列及び言語文字列候補d30を手書き認識制御部26から受信し、変換文字列候補d28を文字列変換制御部28から受信する。操作コマンド認識制御部32は予測文字列候補d29を予測変換制御部30から受信する。そして、操作コマンド認識制御部32は、手書き認識文字列、言語文字列候補、変換文字列候補、及び、予測文字列候補d29のそれぞれについて操作コマンド変換要求d26を操作コマンド定義部33に送信し、操作コマンド定義部33から操作コマンドの候補d27を受信する。操作コマンド認識制御部32は操作コマンドの候補d27を保持しておく。
操作コマンド定義部33は操作コマンド変換要求d26が操作コマンド定義と部分一致している場合は操作コマンドの候補d27を操作コマンド認識制御部32に送信する。
また、操作コマンド認識制御部32はペン操作データd24−1を手書き入力表示制御部23から受信する。操作コマンド認識制御部32は過去に入力され確定した確定データの位置情報取得要求d23を手書き入力保存部25に送信し、ペン操作データが指定している確定データを選択データ(位置情報を含む)として保持しておく。操作コマンド認識制御部32はペン操作データd24−1の位置と所定の基準を満たす選択データを特定する。別途、操作コマンド認識制御部32が取得要求d24−2を手書き入力表示制御部23から受信した場合、保持している操作コマンドの候補と特定した選択データd25を手書き入力表示制御部23に送信する。
ペンID制御データ保存部36は、ペンID制御データを保持している(記憶手段といってもよい)。手書き入力表示制御部23が表示部22に表示データを送信する前に、ペンID制御データ保存部36はペンID制御データd41を手書き入力表示制御部23に送信する。手書き入力表示制御部23は、ペンIDに対応付けて保存されている動作条件で表示データを描画する。また、手書き認識制御部26が手書き認識を実行する前に、ペンID制御データ保存部36は手書き認識制御部26にペンID制御データの角度情報d44を送信して、手書き認識制御部26はペンIDに対応づけて保存されている角度情報でストロークを回転して手書き認識を実行する。
また、ユーザーが文字等を手書きする時の角度情報を設定するための直線を認識した後、手書き認識制御部26はペンID制御データの角度情報d43をペンID制御データ保存部36に送信する。手書き認識制御部26はペンIDに対応付けて角度情報d43を保存する。また、手書き入力表示制御部23が角度情報を設定する操作コマンドを実行後に、手書き入力表示制御部23はペンID制御データd42をペンID制御データ保存部36に送信する。手書き入力表示制御部23は操作コマンドの実行結果(ユーザーが設定した角度情報)をペンIDに対応付けて保存する。以降、そのペンIDのストロークは設定した角度情報で回転してから手書き認識が実行される。
また、手書き認識制御部26はペンID制御データの角度情報で時計回りに回転させたストロークデータd49を手書きサイン認証制御部38に送信する。これにより、ユーザーの操作位置(表示装置2に対しどの方向から手書きするか)に関わりなく手書きサインの認証が可能になる。
手書きサインデータ保存部39は、手書きサインデータを保持する。手書きサインデータ保存部39は、手書きサインデータ取得要求d45を手書きサイン認証制御部38から受信した場合、手書きサインデータd46を手書きサイン認証制御部38に送信する。手書きサインデータのフォーマットは手書きサイン認証制御部38の手書きサイン認証のアルゴリズムに依存するものとする。手書きサインデータ保存部39のデータについては図13にて説明する。
手書きサイン認証制御部38は手書き認識制御部26から時計回りに回転したストロークデータd49を受信すると、手書きサインデータ保存部39に手書きサインデータ取得要求d45を送信する。手書きサインデータ保存部39は手書きサインデータd46を手書きサイン認証制御部38に送信する。
手書きサイン認証制御部38は手書きサインデータに基づいてユーザーの認証を行う。手書きサインデータに基づくユーザーの認証には様々なアルゴリズムが考案されているが、本実施形態では実用に支障がない認識率で認識できる技術を使用するものとする。例えば、手書きサイン認証制御部38は、手書きサインデータを構成する座標、筆圧、ストロークを書く時間などを要素とする特徴ベクトルを生成する。手書きサイン認証制御部38は、要素に適宜重み付けをして、登録済みの手書きサインデータの特徴ベクトルとサインイン時にユーザーが手書きしたユーザー名等の特徴ベクトルを比較する。一致度が閾値以上の場合、手書きサイン認証制御部38は認証成功と判定し、閾値未満の場合、認証失敗と判定する。
手書きサイン認証制御部38はストロークデータd49と手書きサインデータd46の比較結果である手書きサインの認証結果を保持しておく。別途、手書き入力表示制御部23から取得要求d48を受信した場合、手書きサイン認証制御部38は保持している手書きサインの認証結果d47を手書き入力表示制御部23に送信する。手書きサインの認証結果は、ストロークデータd49と手書きサインデータd46が一致したと見なせるか否か、及び、一致したと見せる場合は、一致した手書きサインデータd46に対応付けられている後述するSignatureIdを有する。
手書き認識制御部26の手書き認識結果が手書きサイン登録の実行を指示する操作コマンドに適合する場合、手書き認識制御部26は手書き入力保存部25から手書きサイン登録フォーム(後述するように、手書きサインデータが入力される枠)に入力されたデータd52を取得する。手書き認識制御部26はデータd52のうち手書きサインデータd50を手書きサイン認証制御部38に送信する。手書きサイン認証制御部38は受信した手書きサインデータd50を手書きサインデータ保存部39に送信して登録する。
手書き認識制御部26の手書き認識結果が手書きサインの取消指示又は登録の実行の場合、手書き認識制御部26は手書き入力保存部25に手書きサイン登録フォームの削除要求d51を送信して、手書き入力保存部25から手書きサイン登録フォームを削除する。
手書き認識制御部26の手書き認識結果がユーザー定義データ変更の実行指示の場合、手書き認識制御部26は手書き入力保存部25からユーザー定義データ変更フォームに入力されたデータd53を取得する。手書き認識制御部26は、データd53のうち変更値d54を操作コマンド定義部33に送信し、ユーザー定義データを変更する。ユーザー定義データについては図12にて説明する。
手書き認識制御部26の手書き認識結果がユーザー定義データ変更フォームの取消指示又は登録の実行の場合、手書き認識制御部26は手書き入力保存部25にユーザー定義データ変更フォームの削除要求d55を送信し、手書き入力保存部25からユーザー定義データ変更フォームを削除する。
ファイル送受信制御部37は、手書き入力起因データ又は手書き入力起因データでないデータファイルの記憶媒体への保存及び取得、外部機器との通信(印刷要求、表示要求など)等を行う。ファイル送受信制御部37は手書き入力表示制御部23からファイルの送受信の実行要求d64を受け取る。ファイルの保存又は印刷時、手書き入力表示制御部23はファイル送信要求をファイル送受信制御部37に送信し、ファイル送受信制御部37は手書き入力保存データd61の取得要求を手書き入力保存部25に送信する。
・手書き入力起因データでないデータの場合、手書き入力保存部25は該データが保持する色情報のまま送信する。
・手書き入力起因データの場合、手書き入力保存部25は送信先がカラー対応装置(例えばカラープリンタ)の場合はカラーに変換した手書き入力保存データd62をファイル送受信制御部37に送信する。
・手書き入力起因データの場合、手書き入力保存部25は送信先が白黒対応装置(例えばモノクロプリンタ)の場合は白黒に変換した手書き入力保存データd62をファイル送受信制御部37に送信する。白黒対応装置がグレースケールへの変換が可能な場合もあるので、カラーに変換してから送信してもよい。
・送信先が白黒強調対応装置の場合は後述する手書き入力保存データをファイル送受信制御部37に送信する。
・また、手書き入力保存部25が、手書き入力起因データをファイルに保存する場合は、手書き入力保存データd62をファイル形式に従ってカラーに変換すると共に、手書き入力保存データをファイルのメタデータとして添付する。手書き入力起因データでないデータをファイルに保存する場合は、手書き入力保存データd62をファイル形式に従ってカラーに変換する。
カラー対応装置か白黒対応装置かは、例えば、ネットワーク機器が保持するMIB(Management Information Base)に保存されており、ファイル送受信制御部37はMIBを取得することで判定できる。同様に、MIBが公開する機種名などから白黒強調対応装置かどうかも判定できる。
ファイルの読み込み時は、手書き入力表示制御部23はファイル一覧取得要求d65をファイル送受信制御部37に送信する。ファイル送受信制御部37は外部機器にファイル一覧取得要求を送信して、ファイル一覧d63を取得し手書き入力表示制御部23に送信する。手書き入力表示制御部23はファイル一覧を表示部22に表示して、手書き入力部21は選択ファイルの表示位置を手書き入力表示制御部23に送信し、手書き入力表示制御部23はファイル受信要求d66をファイル送受信制御部37に送信する。ファイル送受信制御部37は外部機器からファイルを取得して、このファイルd67を手書き入力保存部25に送信する。手書き入力保存部25はファイルのメタデータを解析して、手書き入力起因データであるかどうかを判定し、手書き入力起因データであれば手書き入力保存データ(後述する白黒強調/カラー変換可能データ)を取り出す。ファイル送受信制御部37は手書き入力起因データを白黒強調表示に変換し、手書き入力起因データでなければ変換せずに手書き入力表示制御部23に送信する(グレースケール化で表示される)。手書き入力表示制御部23は手書きデータの表示データを表示部22に送信する。
図6(b)は、ペン2500の機能をブロック状に示す機能ブロック図である。ペン2500はペンイベント送信部41を有している。ペンイベント送信部41はペンアップ、ペンダウン、ペン座標のイベントデータにペンIDをつけて表示装置2に送信する。
<定義済み制御データについて>
次に、図7を用いて、表示装置2が各種の処理に使用する定義済み制御データについて説明する。図7は定義済み制御データの一例を示す。図7の定義済み制御データは制御項目ごとに制御データを示す。
選択可能候補表示タイマー401は、選択可能候補を表示するまでの時間を定義する。手書き中に表示装置2が選択可能候補を表示しないためである。図7では、ペンアップからTimerValue=500〔ms〕以内にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー401は候補表示タイマー制御部24が保持している。選択可能候補表示タイマー401は、後述する図34のステップS18−2において選択可能候補表示タイマー開始時に使用される。
選択可能候補消去タイマー402は表示した選択可能候補を消去するまでの時間を定義する。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図7では、選択可能候補の表示からTimerValue=5000〔ms〕以内に選択可能候補が選択されなければ選択可能候補表示データが消去されることを意味している。選択可能候補消去タイマー402は候補表示タイマー制御部24が保持している。選択可能候補消去タイマー402は図36のステップS64において選択可能候補表示消去タイマー開始時に使用される。
手書きデータ矩形領域403は手書きデータの近傍とみなす矩形領域を定義する。図7の例では、手書きデータ矩形領域403は、手書きデータの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図7の例では推定文字サイズの割合(%指定)となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きデータ矩形領域403は手書き入力保存部25が保持している。フォントデータ405は図33のステップS10において、手書きデータ矩形領域とストローク矩形領域の重なり状況の判定で使用される。
推定書字方向/文字サイズ判定条件404は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図7の例では、
・手書きデータ矩形領域の最初にストロークが追加された時刻と最後にストロークが追加された時刻の差分がMinTime=1000〔ms〕以上で、
・手書きデータ矩形領域の水平距離(幅)と垂直距離(高さ)の差分がMinDiff=10〔mm〕以上あり、
・水平距離が垂直距離より長い場合、
推定書字方向は「横書き」、推定文字サイズは垂直距離と判定することを意味する。水平距離が垂直距離より短い場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定することを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件404は手書き入力保存部25が保持している。推定書字方向/文字サイズ判定条件404は図36のステップS59における推定書字方向取得と、図38のステップS81における文字列データフォント取得で使用される。
フォントデータ405は文字等のサイズを推定するためのデータを定義する。図7の例では、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズが、フォントデータ405の小さめ文字405a(以下、最小フォントサイズ、と呼ぶ)と大きめ文字405c(以下、最大フォントサイズ)と比較されることを意味する。推定文字サイズが最小フォントサイズより小さい場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズより大きい場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字405bの文字サイズと判定される。フォントデータ405は手書き入力保存部25が保持している。フォントデータ405は、図38のステップS81における文字列データフォント取得で使用される。
手書き入力保存部25は具体的には、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズをフォントデータ405のFontSizeと比較して、最も近いサイズのフォントを使用する。手書き入力保存部25は、例えば、推定文字サイズが25〔mm〕(小さめ文字のFontSize)以下の場合は「小さめ文字」と判定する。手書き入力保存部25は、推定文字サイズが25mm超50mm(中くらい文字のFontSize)以下の場合は「中くらい文字」と判定する。手書き入力保存部25は、推定文字サイズが100mm(大きめ文字のFontSize)超の場合は「大きめ文字」と判定する。「小さめ文字」405aは明朝体の25mmフォント(FontStyle="明朝体" FontSize="25mm")、「中くらい文字」405bは明朝体の50mmフォント(FontStyle="明朝体" FontSize="50mm")、「大きめ文字」405cはゴシック体の100mmフォント(FontStyle="ゴシック体" FontSize="100mm")が使用される。フォントのサイズ又はスタイルの種類を増やしたいというニーズに対しては、表示装置の提供者がフォントデータ405の種類を増やせばよい。
跨ぎ線判定条件406は複数の表示データが選択されたか否かの判定に使用されるデータを定義する。このデータは単数のストロークである。図7の例では、
・手書きデータの長辺の長さが100〔mm〕以上(MinLenLongSide="100mm")、かつ、
・短辺の長さが50〔mm〕以下(MaxLenShortSide="50mm")、かつ、
・手書きデータとの長辺方向と短辺方向の重なり率が80〔%〕以上(MinOverLapRate="80%")
の表示データがあれば、複数の表示データが選択された(選択データ)と判定される。跨ぎ線判定条件406は操作コマンド認識制御部32が保持している。跨ぎ線判定条件406は図35のステップS50における選択データの判定の跨ぎ線判定で使用される。
囲み線判定条件407は、手書きデータが囲み線か否かの判定に使用されるデータを定義する。図7の例では、操作コマンド認識制御部32は手書きデータの長辺方向と短辺方向の重なり率が100%以上(MinOverLapRate="100%")の確定データを選択データと判定する。囲み線判定条件407は、操作コマンド認識制御部32が保持している。囲み線判定条件407は、図35のステップS50における選択データの判定の囲み線判定で使用される。
なお、跨ぎ線判定条件406と囲み線判定条件407はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件406を緩やかにして(跨ぎ線を選択しやすくした場合)、囲み線判定条件407は厳密にした場合(囲み線のみを選択できるような値とした場合)、操作コマンド認識制御部32は囲み線判定条件407を優先して判定するのがよい。
<辞書データの一例>
図8〜図10を用いて辞書データについて説明する。図8は手書き認識辞書部27の辞書データの一例である。図9は文字列変換辞書部29の辞書データの一例である。図10は予測変換辞書部31の辞書データの一例である。なお、これらの辞書データはそれぞれ図35のステップS33〜S41で使用される。
本実施形態では、図8の手書き認識辞書部27の辞書データによる変換結果を言語文字列候補、図9の文字列変換辞書部29の辞書データによる変換結果を変換文字列候補、図10の予測変換辞書部31の辞書データによる変換結果を予測文字列候補と呼ぶ。各辞書データの「変換前」は辞書データを検索する文字列、「変換後」は検索する文字列に対応した変換後の文字列、「確率」はユーザーが選択する確率を表す。確率は過去にユーザーが各文字列を選択した結果から算出されている。従って、ユーザーごとに確率が算出されてもよい。確率の計算方法として様々なアルゴリズムが考案されているが、適宜、適切な方法で計算するものとすればよく、詳細は割愛する。本実施形態では、推定書字方向から文字列候補を選択確率降順で表示することを特徴とする。
図8の手書き認識辞書部27の辞書データでは、手書きされた「ぎ」は、確率0.55で「議」、確率0.45で「技」、手書きされた「ぎし」は、確率0.55で「技士」、確率0.45で「技師」に変換されることを示す。その他の「変換前」の文字列についても同様である。図8では「変換前」の文字列が手書きされた平仮名となっているが、平仮名以外を「変換前」に登録してもよい。
図9の文字列変換辞書部29の辞書データでは、文字列「議」は確率0.95で「議事録」に、文字列「技」は確率0.85で「技量試」に変換されることを示す。その他の「変換前」の文字列についても同様である。
図10の予測変換辞書部31の辞書データでは、文字列「議事録」は確率0.65で「議事録の送付先」に、文字列「技量試」は確率0.75で「技量試を決裁」に変換されることを示す。図10の例では変換前の文字列がすべて漢字になっているが、漢字以外を登録してもよい。
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
<操作コマンド定義部が保持する操作コマンド定義データ>
次に、図11を用いて操作コマンド認識制御部32が使用する操作コマンド定義データについて説明する。図11は、操作コマンド定義部33が保持する操作コマンド定義データとシステム定義データの一例を示す。
図11(a)は操作コマンド定義データの一例を示す。図11(a)の操作コマンド定義データは、手書きデータにより選択された選択データがない場合の操作コマンド定義データ例であり、表示装置2で実行可能な全ての操作コマンドが対象となる。図11(a)の操作コマンドは操作コマンド名(Name)、文字列候補と部分一致する文字列(String)、実行する操作コマンド文字列(Command)を有する。操作コマンド文字列内の「%〜%」は変数であり、図11(b)に示すようにシステム定義データと対応付けられている。つまり、「%〜%」は図11(b)に示すシステム定義データで置き換えられる。
まず、操作コマンド定義データ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)ことを示す。
操作コマンド定義データ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)ことを示す。
操作コマンド定義データ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)ことを示す。つまり、ファイルがサーバーに送信される。ユーザーがプリンターをサーバーと通信させ、ファイルを指定するとプリンターが用紙にファイルの内容を印刷する。
このように、文字列候補から操作コマンド定義データ701〜703を特定できるため、ユーザーが手書きすることで操作コマンドを表示させることができる。また、ユーザーの認証が成功した場合にはユーザー情報で操作コマンド定義データの「%username%」「%password%」等が置き換えられるので、ユーザーに対応付けてファイルの入出力が可能になる。
ユーザーの認証が行われない場合(認証が失敗したが、ユーザーが表示装置2を使用できる場合は認証失敗の場合も含む)、表示装置2は、予め設定されている表示装置2の「%username%」「%password%」等に置き換える。従って、ユーザー認証なしでも表示装置2に対応付けてファイルの入出力が可能になる。
操作コマンド定義データ709、710、711、720、721、722、723、724、725、726は、ペン色を変更する操作コマンドである。ペン色とはユーザーが使用しているペンで入力された手書きデータの色である。操作コマンド定義データ709、710、711、720、721、722、723、724、725、726のそれぞれの操作コマンド名は「黒ペン」「赤ペン」「青ペン」「緑ペン」「マゼンタペン」「シアンペン」「黒細ペン」「赤細ペン」「青細ペン」「緑細ペン」である。例えば、「黒ペン」「黒細ペン」の場合、文字列候補と部分一致する文字列が「くろ」又は「ペン」であり、ユーザーが「くろ」と書けば、操作コマンド候補には「黒ペン」「黒細ペン」のみが表示される。一方、「ペン」は「赤ペン」等においても文字列候補と部分一致する文字列(String)に該当するので、ユーザーが「ペン」と書けば、操作コマンド候補には「黒ペン」〜「シアンペン」、「黒細ペン」〜「緑細ペン」が表示される。これらの操作コマンドが実行されると、図15に示すように、ユーザーが操作に使用したペン2500のペンIDに対応付けられた制御データが更新され、このペンIDのペンの色としてペンID制御データのColorIdに設定される(例えば「Command="ChangePen Black"」のBlackがColorIdになる)。
操作コマンド定義データ719は、操作コマンド名が「ファイルを読み込む」、文字列候補と部分一致する文字列(String)が「ファイル」「読み込む」「読み込み」、実行する操作コマンドが「ReadFile https://%username%:%password%@server.com/files/」である。手書き入力表示制御部23が操作コマンド定義データ702と同様にシステム定義データと置き換えると、操作コマンドは「ReadFile https://taro.tokkyo:x2PDHTyS@server.com/files/」となり、このアドレス(フォルダー)のファイルを読み出す(ReadFile)ことを示す。この操作コマンドが実行されると、ファイル選択ウィンドウを表示装置2が表示する。
操作コマンド定義データ712は、テキストデータの方向を一定方向に揃えるための操作コマンドである。操作コマンド定義データ712の操作コマンド名は「テキスト方向を揃える」、文字列候補と部分一致する文字列が「テキスト」「向き」又は「方向」、操作コマンド文字列が「AlignTextDirection」である。ユーザーが天地方向以外から書き込んだテキストデータは向きがばらばらなので、ある1つの方向から全てを読み取りにくい。操作コマンド定義データ712をユーザーが実行すると、表示装置2は手書き認識した文字列を同一方向(例えば、天地方向)に揃える。この場合の揃えるとは、テキストデータを角度情報だけ回転させることをいう。
操作コマンド定義データ713は、操作コマンド名が「手書きサイン登録する」、文字列候補と部分一致する文字列が「サイン」と「登録」、操作コマンド文字列が「RegistSignature」であることを示す。RegistSignatureコマンドが実行されると、手書き入力保存部25に手書きサイン登録フォームが追加され、操作画面101に手書きサインをユーザーが登録するための手書きサイン登録フォームが表示される。
操作コマンド定義データ714は、操作コマンド名が「手書きサインインする」、文字列候補と部分位置する文字列が「%signature%」、操作コマンドが「Signin」であることを示す。ここで「%signature%」はシステム定義データの予約語であり、登録済みの手書きサインデータとユーザー名等のストロークデータが適合した事実を表すものとする。つまり適合すると操作コマンド定義データ714に基づく操作コマンド512が操作ガイド500に表示される(図22参照)。
Signinコマンドが実行されると、ユーザー名等のストロークデータを手書きしたペン2500のペンID制御データに、適合した手書きサインデータのSignatureIdをもつユーザーのAccountIdが保存される。これによってペンIDとAccountIdが対応付けられ、このAccountIdで特定されるユーザー定義データを表示装置2が使用することができる(図15(a)参照)。
操作コマンド定義データ715は、操作コマンド名が「手書きサインアウトする」、文字列候補と部分一致する文字列が「サイン」又は「アウト」、操作コマンドが「Signout」であることを示す。Signoutコマンドが実行されると、手書きサインアウトを操作したペン2500のペンID制御データからAccountIdが削除される。これによってペンIDとAccountIdの対応付けがなくなり、ペン2500を任意のユーザーが使用できるようになる。
操作コマンド定義データ716は、操作コマンド名が「設定変更する」、文字列候補と部分一致する文字列が「設定」又は「変更」、操作コマンドが「ConfigSettings」であることを示す。ConfigSettingsコマンドが実行されると、手書き入力保存部25にユーザー定義データ変更フォームが追加され、操作画面101にユーザー定義データ変更フォームが表示される。
手書きデータがある場合の操作コマンド定義データについては省略するが、手書きデータが選択されると、手書きデータがある場合の操作コマンドが表示さえれる(図20参照)。この場合、すでに表示されている手書きデータと、ユーザーが手書きしたストロークの外接矩形が重なることで手書きデータがある場合の操作コマンドが表示される。
<ユーザー定義データ>
次に、図12を用いてユーザー定義データについて説明する。図12は、操作コマンド定義部33が保持するユーザー定義データの一例を示す。図12のユーザー定義データは一人分のユーザーの定義データ例である。ユーザー定義データ717のAccountIdはユーザーごとに自動的に採番されるユーザーの識別情報、AccountUsernameとAccountPasswordはユーザー名とパスワード、SignatureIdは手書きサインデータ登録時に自動的に採番される手書きサインデータの識別情報、username, password, machinenameはそれぞれシステム定義データ704〜706の替わりに操作コマンド定義データ701〜703に設定される文字列である。これにより、ユーザー定義データを使用した操作コマンドの実行が可能になる。
ユーザーがユーザー名などを手書きしてサインインした場合、ペンIDとAccountIdがペンID制御データに対応付けられていることを利用して(図15(a)参照)、ユーザーが使用するペン2500のペンIDで対応付けられているAccountIdを有するユーザー定義データの文字列が操作コマンドの実行時に使用される。ユーザーがサインアウトした後は、ユーザーがサインインに使用したペン2500を使用しても、システム定義データの文字列が操作コマンドの実行時に使用される。
ユーザー定義データ718は、ユーザー定義データ変更フォームで使用されるデータである。Nameはユーザー定義データ717のAccountUsername、AccountPassword、username, password, 又はmachinenameの項目名であり、DataはAccountUsername、AccountPassword、username, password, 又はmachinenameの変更値になる。この例では、「名前」のデータは「%AccountName%」、「パスワード」のデータは「%AccountPassword%」、「フォルダーユーザー名」のデータは「%username%」、「フォルダーパスワード」のデータは「%password%」、「フォルダーファイル名」のデータは「%machinename%」であり、ユーザー定義データ717の各項目と対応している。ユーザー定義データ変更フォームで入力されたこれらの項目は、ユーザー定義データ717に反映される。
後述するカラー定義データをユーザー定義データ717にユーザーが登録することも可能であり、ユーザーは自分が定義したカラー定義データで入力できる。
<手書きサインデータ>
次に、図13を用いて、手書きサインデータについて説明する。図13は、手書きサインデータ保存部39が保持する手書きサインデータの一例を示す。手書きサインデータはSignatureIdに対応付けられた手書きサインを表すDataを有する。SignatureIdは手書きサインデータ登録時に自動的に採番される識別情報、Dataは手書きサイン認証制御部38の手書きサイン認証アルゴリズムが、手書きサイン認証制御部38から受信したストロークデータから計算したデータである。
<手書き入力保存部が保存する手書き入力保存データ>
次に、図14を用いて、手書き入力保存データについて説明する。図14は、手書き入力保存部25が保存している手書き入力保存データの一例を示す。図14の1行が1つのストローク、1文(テキスト)、又は画像(イメージ)を表す。
Typeがストロークの場合、1つの手書き入力保存データは、DataId、Type、PenId, ColorId, Angle、StartPoint、StartTime、EndPoint、EndTime、Point、及び、Pressureの各項目を有している。DataIdはストロークの識別情報である。Typeは手書き入力保存データの種別である。種別にはストローク(Stroke)、グループ(Group)、テキスト(Text)、及び、イメージ(Image)がある。手書き入力保存データ801、802の種別はStrokeである。手書き入力保存データ803の種別はGroupである。手書き入力保存データ804、805、806の種別はTextである。手書き入力保存データ807の種別はImageである。
Groupとは他のストロークをグループ化することを意味し、種別がGroupの手書き入力保存データは、DataIdでグループ化の対象のストロークを指定する。PenId、ColorId, Angle、は次述するペンID制御データが転記されたものである。StartPointはストロークの始点座標であり、StartTimeはストロークの始点時刻である。EndPointはストロークの終点座標であり、EndTimeはストロークの終点時刻である。Pointは始点から終点までの座標列であり、Pressureは始点から終点までの筆圧である。Angleに示すように、手書き入力保存データ804,805はそれぞれ180度、270度だけ時計回りに回転してから手書き認識されたことを示す。
また、Typeがテキスト(Text)の手書き入力保存データ804、805、806は、FontName、FontSize、Textを有している。FontNameはテキストのフォント名、FontSizeは文字サイズ、Textはテキストの内容(文字コード)である。
ペンID制御データにFontNameがなければ、図7に示した定義済み制御データのフォントデータ405が有するFontStyleを手書き入力保存部25が手書き入力保存データにコピーする。FontSizeは、図7の定義済み制御データのフォントデータ405からコピーする。
手書き入力保存データ801〜805は手書き入力起因データとしてファイル保存時にはそのままメタデータとして添付されるとよい。従って、ファイル読み込み時も手書き入力保存データ801〜805を表示装置2が取得できる。表示装置2が手書き入力保存データを外部機器に送信する場合は、カラー対応機器では手書き入力保存データをカラーに変換し、白黒対応装置の場合はカラーに変換せずに送信してもカラーに変換して送信してもよい。白黒強調対応装置に送信する場合は、手書き入力保存データを送信すればよい。このように手書き入力保存データ801〜805は白黒強調及びカラー変換のいずれにも対応している。
手書き入力保存データ801〜805が手書き入力起因データであるのに対し、手書き入力保存データ806、807は手書き入力起因データでない。これらはファイル読み込みコマンドで読み込まれたファイルである。このことはColorIdに後述するカラー定義データが定義するカラーの値が登録されているか否かによって判定される。例えば、手書き入力保存データ801のColorIdは「Black」であるが、手書き入力保存データ806のColorIdは「#e6001200」である。これは#と16進数8桁で表し、2桁ごとにR(赤)、G(緑)、B(青)、A(透明度)の値を表す。
このように、手書き入力によるテキストデータでは、ColorIdに色情報を表す文字列が入っているが、手書き入力によらないテキストデータでは、ColorIdが「#カラー値」となっている。このように、手書き入力によるテキストデータかどうかはColorIdに着目して判定される。
手書き入力保存部25はファイル送受信制御部37が読み取ったファイルのテキストデータのカラーをColorId="#e6001200"のように保存する。従って手書き入力保存データ806は白黒強調には対応せず、カラー変換にのみ対応している。
手書き入力表示制御部23は、ColorIdで手書き入力起因データかどうかを判定して、手書き入力起因データない場合はRGBAからグレースケール値を計算して表示する。表示装置2がカラー対応装置の場合はRGBAそのままを表示する。
手書き入力保存データ807もファイル読み込みコマンドで記憶媒体から読み込まれた画像ファイルである。TypeがImageの場合、手書き入力保存データ807はFileId 、FileNameを有する。FileIdは手書き入力保存データ内の管理番号、FileNameはオリジナルのファイル名である。
図14では、ColorIdの値が手書き入力起因データか否かを示すが、手書き入力起因データかどうかを専用のフラグなどが示してもよい。また、Typeがストロークの手書きデータに限られるが、機械学習で形状から手書き入力起因データかどうかを判定することもできる。この場合、学習装置はディープラーニングなどで手書き入力起因データかそうでないかの教師データと文字の形状の対応を学習し、入力された文字の形状が手書き入力起因データかそうでないかを出力する。
また、手書き入力起因データには手書きデータが文字認識して変換されたテキストデータだけでなく、「済」「秘」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて変換されたデータが含まれてよい。
手書き入力起因データは、図32のステップS7(ペン座標と受信時刻)、図39のステップS88(手書き入力保存データの取得)、図39のステップS96(ファイル保存)等で使用される。
<ペンID制御データ保存部が保存するペンID制御データ>
次に、図15を用いて、ペンID制御データについて説明する。図15は、ペンID制御データ保存部36が保存するペンID制御データ901〜904を説明する図である。ペンID制御データは手書き入力起因データの色などを制御する。図15では4つのペン2500があることを示す。4つは一例であり、1つ以上であればよい。
図15(a)の1行が1つのペンのペンID制御データを示す。また、図15(b)は表示装置2に対しユーザーが手書きする時の角度情報を説明する図である。角度情報は操作位置に相当し、ユーザーが存在する方向の角度とも言えるし、ペンが使用される方向の角度とも言えるし、ユーザーが手書きした文字の回転に関する角度とも言える。表示装置2の所定の方向(例えば天地方向)を0度(基準)として、各ユーザーの角度情報は反時計回りに45度、90度、135度、180度、225度、270度、315度、である。
なお、角度情報はユーザーの操作位置によって自動的に決まるわけではなく、各ユーザーが角度情報を設定する。設定方法には、後述する直線の入力による方法と、操作メニューを選択する方法がある。直線の入力による指定可能な角度情報の分解能(図15では45度)は一例に過ぎず、より小さい5度〜30度などでもよい。ただし、45度くらいで回転した文字であれば、ユーザーは読めると考えられる。
ペンID制御データ901〜904は、PenId、ColorId、Angle、FontName(フォント指定)、手書き認識候補オフ状態(RecommendMenuOff)、及びAccountIdを有することができる。PenId以外は任意である。AccountIdはユーザーがサインインに使用したペンについて対応付けられる。 PenIdはペン2500のペン内部に保存されている識別情報である。ColorIdはこのペン2500を使用するユーザーが何色を選択したかを示す(ユーザーが任意に変更可能)。ColorIdには後述するカラー定義データのカラーIDが設定される。カラー定義データで各カラーの詳細(太さ等)が定義されている。
Angleはこのペン2500に設定されているストロークの角度情報である(ユーザーが任意に変更可能)。図15(a)の例では、各ペンの角度情報は反時計回りに0度、90度、180度、270度となっている。AccountIdはユーザーの識別情報である。ペンIDにAccountIdが対応付けられることで、ユーザーが使用するペン2500のペンIDに対応付けられているAccountIdを特定でき、ユーザー定義データを使用して操作コマンドを実行できる。
FontNameは、図18のペン色選択ボタンをユーザーが押下すると追加される。FontNameが追加されると、図38のステップS81における文字列データフォント取得で、図7に示した定義済み制御データのフォントデータ405が有するFontStyleの代わりにFontNameが取得される。文字列データはこのFontNameのフォントで表示される。
ペンID制御データ901はPenIdが1のペンID制御データで、色は黒(Black)、角度情報は0度、AccountId=1、FontNameなし、RecommendMenuOffなし、である。AccountId=1のユーザーは図12のユーザー定義データ717のユーザーである。このユーザーがPenId=1のペンでユーザー名などを手書きしてサインインし、黒を選択したことを示す。AccountIdがないペンID制御データはサインアウト状態(ユーザーと対応付けられていない)であることを示す。同様にペンID制御データ902は、PenIdが2のペンID制御データである。色は赤(Red)である。角度は90度である。AccountIdはない。FontNameはポップ体である。RecommendMenuOffはない。
ペンID制御データ903には、手書き認識候補オフ状態(RecommendMenuOff)が設定されている。手書き認識候補オフ状態(RecommendMenuOff)は、操作ガイド500が文字列候補539を表示しないように制御するか(操作コマンドのみを表示)、又は、操作コマンドの候補510さえも表示しないように制御するための制御データである。後者の場合、操作ガイド500自体が表示されない。手書き認識候補オフ状態(RecommendMenuOff)は後述する手書き認識候補オンオフボタン(図24参照)の押下により設定される。図形など文字認識が必要ない手書きデータをユーザーが入力する場合、操作ガイド500を邪魔に感じるユーザーがいる場合もある。本実施形態では手書き認識候補オフ状態に制御できるため、操作ガイド500を非表示にできるし、表示装置2が文字認識しない場合には処理負荷を低減できる。ペンID制御データ903はPenIDが3である。色は青(Blue) である。角度は180度である。AccountIdはない。FontNameはない。
ペンID制御データ904は、PenIdが4である。色は緑(Green) である。角度は270度である。AccountIdはない。FontNameはない。RecommendMenuOffはない。
ペンID制御データにRecommendMenuOff="True"が追加されている場合に、操作コマンドを表示しない制御を採用すると操作コマンドも実行されなくなるため、RecommendMenuOff="True"の解除を行うためには図24に示すようなボタン操作が必要になる。
また、図18のペン色選択ボタン、又は、図24のボタンをユーザーが押下したペン2500のペンID制御データは、そのボタンに定義されたColorId, Angle, FontName,及びRecommendMenuOffで更新される。
ペンID制御データは、図32のステップS5(ペンID制御データ取得)、図34のステップS20(ペンID制御データの角度情報を保存)、図34のステップS21(ペンID制御データの角度情報を取得)、図36のステップS60(ペンID制御データの取得)で使用される。
<カラー定義データ>
図16は、カラー定義データの一例を示す。カラー定義データの1行が1つの色を定義する。カラー定義データは、ColorIdに対する白黒対応機器上の白黒強調表示(白黒のパターンと幅(Pattern)と縁取り(Edged)の表示方法)、及び、カラー変換方法(カラー対応機器上の色情報(Color)と幅(Width)の表示方法)を定義している。色情報は#と16進数8桁で表される。色情報は2桁ごとに#R(赤)、G(緑)、B(青)、A(透明度)を表し、pxはピクセル幅を表す。なお、カラー定義データは手書き入力起因データのみに適用される。
カラー定義データ1001はColorIdが"Black"の線種又は色の定義例である。カラー表示できない白黒強調対応装置は線種により色を表す。Patternはストローク又はテキストの縁の中身を表す。Edgedは縁の有無を表す。ColorはRGBAの色情報を表す。Widthは線幅を表す。カラー定義データ1001は、白黒強調対応装置ではベタ黒5ピクセル幅+縁なしで手書き入力保存データを表示し、カラー対応装置では黒の透明度0%+5ピクセル幅で表示することを示す。同様に、カラー定義データ1002はColorIdが"Red"の線種又は色の定義例である。カラー定義データ1002は、白黒強調対応装置では、ベタ黒3ピクセル幅+外側から黒縁1ピクセル幅+白縁2ピクセル幅で手書き入力保存データを表示し、カラー対応装置では、カラーチャートの赤の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1003はColorIdが"Blue"の線種又は色の定義例であり、白黒強調対応装置では、ベタ白4ピクセル幅+黒縁1ピクセル幅で表示し、カラー対応装置では、カラーチャートの青の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1004はColorIdが"Green"の線種又は色の定義例である。カラー定義データ1004は、白黒強調対応装置では、黒のドットパターン4ピクセル幅+黒縁1ピクセル幅で手書き入力保存データを表示し、カラー対応装置では、カラーチャートの緑の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1005はColorIdが"Magenta"の線種又は色の定義例である。カラー定義データ1005は、白黒強調対応装置では、黒の右上斜線パターンで白は透明の5ピクセル幅+フチなしで表示、カラー対応装置では、カラーチャートのマゼンタの透明度60%で表示することを示す。カラー定義データ1006はColorIdが"Cyan"の線種又は色の定義例である。カラー定義データ1006は、白黒強調対応装置では、黒の水平線パターンで白は透明の5ピクセル幅で表示し、カラー対応装置では、カラーチャートのシアンの透明度60%、で表示することを示す。
カラー定義データ1007はColorIdが"ThinBlack"の線種又は色を定義する。カラー定義データ1007は、白黒強調対応装置では、ベタ黒3ピクセル幅+縁なし、カラー対応装置では、黒の透明度0%+3ピクセル幅で表示することを示す。カラー定義データ1008はColorIdが"ThinRed"の線種又は色を定義する。カラー定義データ1008は、白黒強調対応装置では、ベタ黒1ピクセル幅+外側から黒縁1ピクセル幅+白縁1ピクセル幅、白黒強調対応装置では、カラーチャートの赤の透明度0%+3ピクセル幅で表示することを示す。カラー定義データ1009はColorIdが"ThinkBlue"の線種又は色を定義する。カラー定義データ1009は、白黒強調対応装置では、ベタ白2ピクセル幅+黒縁1ピクセル幅、カラー対応装置では、カラーチャートの青の透明度0%+3ピクセル幅で表示することを示す。カラー定義データ1010はColorIdが"ThinGreen"の線種又は色を定義する。カラー定義データ1010は、白黒強調対応装置では、黒のドットパターン2ピクセル幅+黒縁1ピクセル、カラー対応装置では、カラーチャートの緑の透明度0%+3ピクセル幅で表示することを示す。
このように、カラー定義データは白黒強調及びカラー変換可能データを有している。カラー定義データは手書き入力保存部25が保持しており、手書き入力保存データの変換に使用される。
カラー定義データをシステム定義データとユーザー定義データに定義しておき、ユーザー定義データにカラー定義データを変更するフォームを追加すれば、サインイン後にユーザーは個人好みのカラー定義に変更することができる。
<ペン色選択ボタン定義データ>
次に、図17と図18を用いてユーザーによるペン色の選択方法を説明する。図17は、ペン色選択ボタン定義データの一例である。ペン色選択ボタン定義データは、ディスプレー220に表示されるペンボタンとColorIdを対応付けるデータである。ペン色選択ボタン定義データは、ペンボタンID(PenButtonId)、アイコンファイル(Icon)、カラーID(ColorId)、及び、フォント名(FontName)を有している。
図18は、ディスプレーに表示されるペン色選択ボタン81〜86の一例である。ペン色選択ボタン81〜86は上記アイコンファイルで表示される。ペン色選択ボタン81〜86はペンボタンIDが若い順に左から右に並んで表示されているものとする。ペン色選択ボタン81〜86をユーザーがペン2500で押下するとペンID制御データにColorIdとFontNameが追加され、以降そのペン2500で入力した手書きデータ又は文字列データはColorIdとFontNameを使用して表示される。
ペン色選択ボタン定義データ1101は最も左に表示されるペン色選択ボタン81の定義データである。ユーザーがペン色選択ボタン81をペン2500で押下すると、そのペン2500で手書きされるストロークデータはColorIdが"Black"になり、手書き認識後のテキストのフォントは明朝体となる。ペン色選択ボタン定義データ1102は左から2番目に表示されるペン色選択ボタン82で、ストロークデータのColorIdは"Red"、手書き認識後のテキストのフォントはポップ体となる。同様に、ペン色選択ボタン定義データ1103〜1106は、ペン色選択ボタン83から86の、ボタンの表示位置、ColorId、テキストのフォントを定義する。
図18(a)はペン色選択ボタン定義データに基づいて白黒強調表示されたテキストフォント表示例を示す。テキストフォント表示例は説明のための表示であるが、ユーザーがペン2500をホバーさせると表示されてよい。図18(b)はペン色選択ボタン定義データに基づいてカラー対応装置でカラー表示されたテキストフォント表示例を示す(実際はカラーだが作図の都合上白黒となっている)。
図18(a)に示すように、白黒強調だけでなく、フォントを変更することで、より効果的に白黒強調表示することができるようになる。
ペン色選択ボタン定義データもシステム定義データとユーザー定義データに定義しておき、ユーザー定義データにペン色選択ボタン定義データを変更するフォームを追加すれば、手書きサイン認証後に個人好みのペン色選択ボタンに変更することができる。従って、ColorIdとフォントの対応は一例に過ぎない。
ペン色選択ボタンは、手書き入力表示制御部23が保持しており、図32のステップS6(座標補完表示データ)、図38のステップS82(文字列データ表示データ)、図39のステップS100(表示データ)で使用される。
<選択可能候補の表示例>
図19は操作ガイドと操作ガイドが表示する選択可能候補530の一例である。ユーザーが手書きデータ504を手書きすることで(選択可能候補表示タイマーのタイムアウトにより)、操作ガイド500が表示される。操作ガイド500は、操作ヘッダー520、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、及び、手書きデータ矩形領域表示503を有している。選択可能候補530は、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508である。この例では言語変換文字列がないが表示される場合がある。また、操作コマンドの候補510を除く選択可能候補530を文字列候補539という。
操作ヘッダー520はボタン501、509、502、505を有する。ボタン501は予測変換と、「カナ変換」の切り替え操作を受け付ける。図19の例ではユーザーが「予測」と表示されているボタン509を押下すると手書き入力部21がそれを受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が「かな」というボタン509に表示を変更する。手書きデータ504の認識後は、文字列候補539が「カナ変換」の確率降順で並ぶ。
ボタン502は候補表示のページ操作をする。図19の例では候補表示ページは3ページあり、現在は1ページ目を表示している。ボタン505は操作ガイド500の消去を受け付ける。ユーザーがボタン505を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きデータ以外の表示を消去する。ボタン509は一括表示消去を受け付ける。ユーザーがボタン509を押下すると手書き入力部21が受け付ける。手書き入力部21は手書き入力表示制御部23にその旨を通知する。表示部22が手書きデータを含め、図19に示されているすべての表示を消去して、ユーザーが最初から手書きをしなおすことを可能にする。
手書きデータ504はユーザーが手書きした「ぎ」という文字である。手書きデータ504を囲む手書きデータ矩形領域表示503が表示される。表示の手順は図32〜図39のシーケンス図で説明する。図19の例では点線枠で手書きデータ矩形領域表示503が表示されている。
手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508にはそれぞれの文字列候補が確率降順で並んでいる。手書き認識文字列候補506の「ぎ」は認識結果の候補である。この例では、表示装置2は正しく「ぎ」を認識している。
変換文字列候補507は言語文字列候補から変換された変換文字列候補である。この例の「技量試」とは「技術量産試作」の略名である。文字列/予測変換の候補508は言語文字列候補又は変換文字列候補から変換された予測文字列候補である。この例では「技量試を決裁」と「議事録の送付先」が表示されている。
操作コマンドの候補510は図11(a)の操作コマンド定義データ701〜703、709〜716に基づいて選択された操作コマンドの候補である。図19の例では行頭文字の「》」511が操作コマンドの候補であることを示している。図19では手書きデータ504である「ぎ」が選択する選択データがなく、「ぎ」の文字列候補である「議事録」が、図11(a)の操作コマンド定義データ701,702と部分一致したため、操作コマンドの候補510として表示されている。
ユーザーが「議事録テンプレートを読み込む」を選択すると、操作コマンド定義データ701で定義された操作コマンドが実行され、「議事録フォルダーに保存する」を選択すると、操作コマンド定義データ702で定義された操作コマンドが実行される。このように操作コマンドの候補は、変換された文字列を含む操作コマンド定義データが見つかる場合に表示されるため、常に表示されるとは限らない。
図19に示すように、文字列候補と操作コマンドの候補が同時に(共に)表示されるため、ユーザーは自分が入力しようとした文字列候補と操作コマンドのどちらも任意に選択できる。
<選択データの指定例>
本実施形態の表示装置2は確定データをユーザーが手書きにより選択することで選択データを指定できる。選択データは編集又は修飾の対象、あるいはページ名となる。
<操作コマンドの候補の表示例>
図20は、手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図20(a)は編集系の操作コマンドの候補であり、図20(b)は修飾系の操作コマンドの候補である。また、図20(a)は手書きデータ11aで選択データが指定された例を示す。
図20(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。メインメニュー550には最後に実行された操作コマンド名又は操作コマンド定義データで先頭の操作コマンド名が表示される。1行目の行頭文字「》」511aは編集系の操作コマンドの候補であり、2行目の行頭文字「》」511bは修飾系の操作コマンドの候補である。3行目の行頭文字「》」511cは「ページ名に設定」の操作コマンドの候補である。
行末の「〉」512はサブメニューがあることを示す(サブメニューボタンの一例)。1行目の「〉」512aは編集系の操作コマンドの候補としてサブメニュー(最後に選択された)を表示させる。2行目の「〉」512bは修飾系の操作コマンドの候補として残りのサブメニューを表示させる。ユーザーが「〉」512を押下すると、その右側にサブメニュー560が表示される。サブメニュー560には操作コマンド定義データで定義されている全ての操作コマンドが表示される。図20(a)の表示例ではメインメニューが表示された時から1行目の「〉」512aに対応したサブメニュー560も表示されている。表示装置2は1行目の「〉」512aの押下によりサブメニューを表示してもよい。
3行目のページ名設定の操作コマンドに関しては、操作コマンドの候補がグループ化されないので行末に「〉」が表示されない。
ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択データに対して実行する。すなわち「消去」521が選択されると「Delete」、「移動」522が選択されると「Move」、「回転」523が選択されると「Rotate」、「選択」524が選択されると「Select」をそれぞれ実行する。
例えば、ユーザーが「消去」521をペンで押下すると「議事録」を消去できる。ユーザーが「移動」522,「回転」523、「選択」524を押すとバウンディングボックス(選択データの外接矩形)が表示される。「移動」522と「回転」523が押下された場合、ユーザーはペンのドラッグ動作で「議事録」を移動又は回転できる。「選択」524が押下された場合、ユーザーはその他のバウンディングボックスの操作を実行できる。
図20において操作コマンドの候補以外の文字列候補である「○」551、「∞」552、「0」553、「00」554は囲み線(手書きデータ11b)の認識結果である。ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図20(b)では2行目の「〉」512bの押下により、図20(b)のサブメニューが表示される。図20(b)の表示例も図20(a)と同様にメインメニュー550とサブメニュー560が表示されている。「太く」531が選択されると「Thick」を手書き入力表示制御部23が選択データに対して実行する。「細く」532が選択されると「Thin」を手書き入力表示制御部23が選択データに対して実行する。「大きく」533が選択されると「Large」を手書き入力表示制御部23が選択データに対して実行する。「小さく」534が選択されると「Small」を手書き入力表示制御部23が選択データに対して実行する。下線535が選択されると「Underline」を手書き入力表示制御部23が選択データに対して実行する。
<角度情報の入力例>
次に、図21を用いて角度情報の入力方法を説明する。図21は、角度情報の入力方法を説明する図の一例である。図21では表示装置2の3時の方向に存在するユーザーが角度情報を入力する場合を説明する。3時の方向から手書きされた文字等は時計回りに90度回転されると正しく認識されるので、90度の角度情報が入力されるとよい。
図21(a)は、ペンID制御データの角度情報が0度(初期値)の状態で、表示装置2の3時の方向に存在するユーザーが「ぎ」を手書きしたため、操作ガイド500が表示された状態を示す。表示装置2は3時の方向から手書きした「ぎ」を、角度情報が0度のまま文字認識するため、期待とは違う選択可能候補530が表示されている。
角度情報を入力する場合、ユーザーは操作ガイド500内に、ユーザーから見て上から下方向に直線を手書きする。図21(b)はこの直線521の一例を示す。角度情報が0度である6時の方向とこの直線521との反時計回りのなす角αが角度情報である。すなわち、始点Sから6時の方向に下ろした直線522と、ユーザーが入力した直線521の反時計回りのなす角αが角度情報である。簡単には、直線521の終点方向が角度情報である。従って、図21(b)でユーザーが入力した角度情報は90度である。
なお、直線の検出には、例えば、始点Sから終点Eまでの座標を最小二乗法で直線に変換し、得られた相関係数と閾値を比較して直線か否かを判定する方法がある。
ユーザーが直線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制御データに角度情報を対応付けることができる。
なお、ユーザーが直線を手書きして角度情報を入力できるのは操作ガイド500に限られている。これにより、ユーザーが操作ガイド500以外で直線を手書きすると「1」や「一」などと認識され、操作ガイド500で直線を手書きすると角度情報を入力できる。すなわち、手書き認識制御部26は、所定範囲から直線を検出し、所定範囲外に手書きされたストロークデータをテキストデータに変換する。
図21(c)は、図21(b)の操作直後の操作ガイド500を示す。ペンID制御データには角度情報(Angle)として90度が設定されたので、手書きデータ(ストロークデータ)が内部的に90度だけ時計回りに回転して手書き認識され、操作ガイド500は90度だけ反時計回りに回転して表示されている。なお、角度情報はメニューからユーザーが手動で入力してもよい。
<手書きよるサインインの一例>
次に、図22を用いて、手書きサインデータの登録後に、ユーザーがサインインする方法を説明する。図22は、ユーザーが登録した手書きサインデータである「すずき」と手書きした場合に表示される操作ガイド500の一例である。「すずき」が手書きサインデータとして操作コマンド定義部33に登録されているので、「すずき」が手書きサインデータと適合する。このため、「手書きサインインする」という操作コマンド512が表示されている。
また、手書きサインデータが適合したので「すずき」を表すSignatureIdが特定され、このSignatureIdに対応付けられているAccountIdを有するユーザー定義データが特定される。
ユーザーが「手書きサインインする」という操作コマンド512を選択すると、使用しているペン2500のペンIDに「すずき」のAccountIdを対応付けてペンID制御データに追加され、「すずき」のユーザー定義データが操作コマンドの使用時に使用されるようになる。
<操作メニューの表示例>
続いて、図23Aを用いて表示位置に応じたデータ処理に関する情報を有する操作メニューについて説明する。図23Aは平置きされた表示装置2の上面図である。図23Aでは図面の上側と下側にそれぞれユーザー250,251が存在して、二人のユーザーが下側と上側の二方向から同時に操作メニュー301,302を操作できる。ただし、ユーザーは一人でも支障はない。表示装置2は操作ボタン定義データに応じて操作メニューを表示する。操作メニューの数は想定されているユーザーの数と同じになる。
各操作メニュー301,302は、操作メニューの表示位置に応じたデータ処理に関する情報を有している。本実施形態では、操作メニュー301,302は、操作メニューの表示位置に応じた回転角度を有している。操作メニュー301,302のデザイン(アイコンの外観)は同じだが、操作メニューの表示位置に応じたデータ処理に関する情報を有する。
1つの操作メニュー301、302は、ユーザーがペン種選択やペン操作を行うペン操作パネル2001、2008を有する。1つの操作メニュー301、302は、ユーザーがページ操作を行うページ操作パネル2002、2009を有する。1つの操作メニュー301、302は、ユーザーがファイル名又はページの一覧表示を操作するページナビ操作パネル2003、2010を有する。1つの操作メニュー301、302は、ファイル名又はページ名の一覧表示からページ切り替えをするページナビ2004、2011を有している。それぞれ、ユーザーが使いやすいように、下側のユーザー用の操作メニュー301は画面下寄せ(ディスプレー220の下の縁に沿って配置され)、上側のユーザー用は画面上寄せ(ディスプレー220の上の縁に沿って配置され)に配置される。
下側のユーザー用の操作メニュー301は、ペン操作パネル2001、ページ操作パネル2002、ページナビ操作パネル2003、及び、ページナビ2004を有している。ページナビ2004はページナビウィンドウ領域2005を上から下方向に伸びていく。ページナビウィンドウ領域2005を単にページナビウィンドウと呼ぶ場合がある。
同様に、上側のユーザー用の操作メニュー302は、ペン操作パネル2008、ページ操作パネル2009、ページナビ操作パネル2010、及び、ページナビ2011を有している。ページナビ2011はページナビウィンドウ領域2012を上側のユーザーから見て上から下方向に伸びていく。
ディスプレー220の中央付近には、手書きデータや文字列データが表示されている。手書きデータ2006は下側のユーザーが黒ペン(ベタ黒)で書いたものである。文字列データ2007は下側のユーザーが黒ペンで書いて認識された文字列である。手書きデータ2013は上側のユーザーが青ペン(ベタ白+黒縁)で書いた手書きデータである。
ペン操作パネル2001、2008、ページ操作パネル2002、2009、ページナビ操作パネル2003、2010、ページナビ2004、2011は、下側のユーザー用と上側のユーザー用の2つあるが、操作メニュー302に含まれる。上側のユーザー用のアイコン(ボタン)、ファイル名、及び、ページ名は180度回転した状態で表示される。この回転角度は予め操作ボタン定義データ(後述する)に設定されている。
操作メニュー301,302のボタン領域、ページナビ2004、2011のファイル名又はページ名のいずれかをユーザーがペン2500で押下すると、表示装置2は操作ボタン定義データに設定された回転角度をそのペン2500のペンID制御データに保存する。この回転角度がデータ処理に関する情報となる。
<<図23Aの英語表現>>
表示装置2は日本語以外の言語にも対応している。ここでは一例として表示装置2が英語環境で使用される場合の図23Aについて説明する。なお、表示装置2の構成は、変換用の辞書や各種の定義データが英語に対応する以外は日本語で使用される場合と同様である。
図23Bは、表示装置2が手書きデータを英語に変換する場合において、平置きされた表示装置2の上面図である。手書きデータが英語に変換される場合も表示装置2は操作メニュー301,302を表示する。図23Bでは図面の上側と下側にそれぞれユーザー250,251が存在して、二人のユーザーが下側と上側の二方向から同時に操作メニュー301,302を操作できる。表示装置2は操作ボタン定義データに応じて操作メニューを表示する。操作メニューの数は想定されているユーザーの数と同じになる。
そして、操作メニュー301,302において、ペン操作パネル2001、2008、ページ操作パネル2002、2009、ページナビ操作パネル2003、2010、ページナビ2004、2011が、英語で表記される。
ディスプレー3に手書きされる内容はユーザーが何を手書きするかによるが、図23Bでは英語で手書きされている。ディスプレー220の中央付近には、英語の手書きデータや文字列データが表示されている。手書きデータ2006は下側のユーザーが黒ペン(ベタ黒)で書いたものである。文字列データ2007は下側のユーザーが黒ペンで書いて認識された文字列である。手書きデータ2013は上側のユーザーが青ペン(ベタ白+黒縁)で書いた手書きデータである。
本実施例では英語を例に説明したが、表示装置2は英語以外の言語(中国語、ヒンディー語、スペイン語、アラビア語、ポルトガル語、ロシア語等)にも対応できる。
<<ペン操作パネル>>
図24は、ペン操作パネル2001,2008を拡大して示す図である。ペン操作パネル2001,2008はユーザーが色などを選択するためのボタンを有している。ボタン2101〜2108は不透明の黒、赤、青、緑色の細ペン又は太ペンを表し、ボタン2109、2110は透過色としてマゼンタ、シアン色の太ペンを表す。
ボタン2111、2112はアンドゥー(元に戻す)/リドゥー(やり直す)を表す。ボタン2113はページ消去を表し、ボタン2114はページスウィープ(高速描画モードで劣化した画面を一掃して再表示するボタン)を表す。ボタン2115は文字列候補539の表示のオン又はオフを受け付ける(ペンID制御データの手書き認識候補オフ状態(RecommendMenuOff)の設定を受け付けるボタン)。
図27〜図30の操作ボタン定義データに示すように、各ボタンにはボタンの識別子(ButtonId)、ボタンの表示位置(Position)、ボタンのアイコン画像(Icon)、ボタンの回転角度(Angle)、及び、押下時に表示装置2が実行するコマンド(Command)が定義されている。ユーザーがペン2500でボタン2101〜2115を押下すると、表示装置2はそのボタンに定義された回転角度をそのペン2500のペンID制御データに保存し、そのボタンに定義されたコマンドを実行する。なお、ボタン2101〜2115は左から順番に操作ボタン定義データのButtonId=1〜15に対応しているものとする。
ボタン2101〜2110に対応する操作ボタン定義データ2401〜2410のコマンドは、図11の操作コマンド定義データ709〜711、720〜726と同じChangePenコマンドに、カラー定義データのColorIdを指定する。表示部22は最後に選択されたペンのボタンには枠260を表示して選択されたことがわかるようにする。図24では、ボタン2101の黒色の細ペンが選択されている。
ボタン2111、2112に対応する操作ボタン定義データ2411,2412はUndo/Redoのコマンドを定義する。ボタン2111、2112(アンドゥー/リドゥー)はそれぞれUndo/Redoのコマンドの実行を受け付ける。Undoは一つ前の操作状態に戻すコマンド、RedoはUndoされた操作状態を一つ先に進めるコマンドである。
ボタン2113に対応する操作ボタン定義データ2413はEragePageのコマンドを定義する。ボタン2113(ページ消去)はEragePageのコマンドの実行を受け付ける。EragePageは現在ページに入力されたすべてのデータを消去して再表示する。
ボタン2114に対応する操作ボタン定義データ2414はSweepPageのコマンドを定義する。ボタン2114(スウィープボタン)はSweepPageのコマンドの実行を受け付ける。電子ペーパー等のディスプレイデバイスでは、高速描画モードでは消え残りが発生する。ディスプレイデバイスはこれを再表示して一掃する。
ボタン2115に対応する操作ボタン定義データ2415はToggleRecommendMenuのコマンドを定義する。ボタン2115(手書き認識候補オンオフ)はToggleRecommendMenuのコマンドの実行を受け付ける。ToggleRecommendMenuは手書き認識で得た文字列候補539の表示のオン及びオフを切り替える。この結果、オフ状態になった場合は、押下したペン2500のペンID制御データにRecommendMenuOff="True"が追加される。文字列候補539の表示がオンの状態では、文字列候補539がすべて表示されるが、オフの状態では、操作コマンドだけが表示される。操作コマンドがなければ選択可能候補全体が表示されないため、ユーザーが手書きに集中できるようになる。表示装置2がToggleRecommendMenuを実行すると、現在のオンオフ状態を返却するため、その状態に応じてアイコンを切り替える。
なお、ボタン2101〜2110は図18のペン色選択ボタン81〜86とは別のボタンを定義しており、ペン色選択ボタン81〜86によりColorIdが重複して設定され得るので、その場合はボタン2101〜2110の押下結果が優先してペンID制御データに設定される。
<<ページ操作パネル>>
図25はページ操作パネル2002,2009の一例を示す。ページ操作パネル2002,2009はページの操作に関する操作メニューである。ボタン2201はユーザーが表示中のページを90度ずつ回転させるためのボタンである。ボタン2202、2204はそれぞれ前のページ又は次のページにユーザーが切り替えるためのボタンである。現在ページ2203は現在ページ番号(分子)と総ページ数(分母)を表す。ボタン2205はユーザーがページナビウィンドウを開く又は閉じるためのボタンである。ファイル名2206は現在表示中のファイル名を表す。ボタン2201、2202、2203、2205は操作ボタン定義データ2416〜2419、2440〜2443に定義されている。
ボタン2201(ページの回転表示)はRotatePageのコマンドの実行を受け付ける。RotatePageは図30に示した下側のユーザーの手書きデータ2006と文字列データ2007、及び、上側のユーザーの手書きデータ2013のみを反時計回り方向に90度回転して表示する。ページナビを含め操作メニューは回転しない。つまり、図30の例では下側のユーザーからみて上側のユーザーの手書きデータ2013は上下逆さで読みにくいので、RotatePageコマンドの実行により表示装置2が一時的にページを回転して読みやすくする。
ボタン2202、2204(ページ切り替え)はPageBack又はPageNextのコマンドの実行を受け付ける。PageBack又はPageNextは現在ページを前のページ、又は、次のページの表示に切り替える。
ボタン2205(ページナビウィンドウを開く又は閉じる)はTogglePageNaviのコマンドの実行を受け付ける。TogglePageNaviのコマンドは図30のページナビウィンドウ領域2005、2012を開く又は閉じる。
現在ページ2203、ファイル名2206は表示のみで操作を受け付けない。現在ページ2203は現在ページ番号(分子)、総ページ数(分母)を表示する。この例では、表示装置2は4ページのファイルの2ページ目を表示している。ファイル名2206は現在表示中のファイル名を表示する。この例では表示装置2は「技術検討会議.pdf」を表示している。
<<ページナビ操作パネル>>
図26はページナビ操作パネル2003、2010の一例を示す。ページナビ操作パネル2003、2010は、ファイルごとにページ名をページ順に表示する。つまり、ページ名が文字列データから選択された場合、どのページにどのようなことが記述されているかを後からユーザーが特定しやすい。
ボタン2301、2305はそれぞれ前のページナビウィンドウ又は次のページナビウィンドウにユーザーが切り替えるためのボタンである。ボタン2302、2304はそれぞれ前のファイル又は次のファイルにユーザーが切り替えるためのボタンである(切り替え後のファイルの先頭ページがディスプレー220に表示される)。現在ページナビ2303はページナビウィンドウの現在番号(分子)と総数(分母)を表示する。ボタン2301、2302、2304、2305は操作ボタン定義データ2420〜2423、2444〜2447に定義されている。
ページナビ2306はファイル順かつページ順に文字列を表示する。ページナビ2306は読み込まれた複数のファイルのファイル名と、ファイルの中の各ページ名をツリー型で表示する。ファイル名又はページ名が押下されたら図38のページナビデータに基づいて表示装置2がそのページをディスプレー220に表示する。例えば、ページナビが200行、ページナビウィンドウ行数が50行の場合、現在ページ2203の現在番号は1〜4の値をとることができ、総数は4となる。表示装置2は、ボタン2301をユーザーが押下すると現在番号をデクリメントし、ボタン2305を押下すると現在番号をインクリメントしてページナビウィンドウを再表示する。ページナビ2306はユーザーが使いやすように、下側のユーザー用はディスプレー220の下寄せに、上側のユーザー用はディスプレー220の上寄せに配置される。
図26のページナビ2306では、2つのファイル名2310、2308が表示されており、各ファイルに各ページのページ名2307、2309がツリー状に表示されている。ページ名はユーザーが指定した文字列データ又は自動的に抽出された文字列である。ページ名はユーザーの操作によりインデントして表示される。
ボタン2301、2305(ページナビウィンドウ切り替え)は、PageNaviWinBack/PageNaviWinNextのコマンドの実行を受け付ける。PageNaviWinBack/PageNaviWinNextは現在のページナビウィンドウを前の又は次のページナビウィンドウに切り替える。ページナビウィンドウ内に表示できる行数を50行とした場合、ボタン2301、2305の押下により表示装置2は50行文のページナビウィンドウを切り替えて表示できる。
ボタン2302、2304(ファイル切り替え)は、PageNaviFileBack/PageNaviFileNextのコマンドの実行を受け付ける。PageNaviFileBack/PageNaviFileNextは、現在表示中のページを前の又は次のファイルの先頭ページに切り替える。
ページナビ2306は図31のページナビデータにより定義されている。ツリー開き中アイコン2311は下向きの三角形でツリーが表示中であることを意味している。ツリー閉じ中アイコン2312は横向きの三角形でツリーが閉じ中であることを意味している。ツリーが閉じると、ツリーがある行よりレベルが低い下方の行のページ名が表示されなくなる。
ページナビデータのTreeが"Opened"の場合、表示装置2はツリー開き中アイコン2311を表示し、押下するとTreeを"Closed"に変更してツリーを閉じる。逆にTree="Closed"の場合、表示装置2はツリー閉じ中アイコン2312を表示し、ユーザーが押下するとTree="Opened"に変更してツリーを開く。
ページ名2313はインデントされたページを示す。インデントのレベルはページナビデータのLevelで制御される。ファイル名はLevel="0"、ページ名はLevel="1"を初期値とする。ユーザーがファイル名又はページ名を押下して右へインデントするとインデントレベルのLevelの値が大きくなる。ページ名2313はLevel="2"のインデントを示す。Levelを変更するには、ユーザーはページ名を長押しして左右に動かす。例えば、ユーザーが右に動かした時、表示装置2は現在行から上方に同じLevel(動かす前のLevel)を探して、上方の行にTree="Opened"を追加する。インデントされた行は表示しないことが可能になり、インデントされた行の表示又は非表示は、インデントされる前の自分と同じLevelの行のTreeで制御される。また、表示装置2はインデントされた行のLevelをインクリメントして再表示する。
ページ名2314は白紙ページであることを示し、ファイルの最終ページ(ページ名2313)の次の白紙ページを示す。白紙ページはまだ何も手書きされていないという意味である。白紙ページは最大ページ番号まで続いているが、ページナビに表示される「白紙ページ」は先頭の白紙ページだけである。例えば、最大ページ番号が100ページで、ファイルに4ページある場合、5〜100ページは白紙ページだが先頭の5ページ目だけが「白紙ページ」としてページナビ2306に表示される。
ページ名2315は現在ディスプレー220に表示中のページである。ここではページ名2315が枠262で囲って強調されている。
ページ名2316はデフォルトのページ名である。手書きのみで手書き認識した文字列がない場合は、このように表示装置2がページ名に「nnnnページ」(nnnnは整数)をつけて表示する。ページ名2316のデフォルトのページ名、ページ名2314の白紙ページ、ファイル名2310、2308を除くページ名には手書き認識した文字列があることが示す。
後述するページナビデータにおいて、AutoName="True"の場合、表示装置2は手書き認識した文字列があれば自動的にページ名に設定する。図30の画面レイアウト例では「ハードウェア構成」という文字列が自動的にページ名となっている。手書き認識した文字列からページ名を決定するロジックは様々なものが考えられる。例えば、文字列が入力された時刻順に文字列を結合して先頭の固定文字数を切り出す方法や、文字列の位置の優先順位を決定して優先順位の高いほうから順に文字列を結合し先頭の固定文字数を切り出す方法などが考えられる。
図20の操作コマンドの表示例で示したように、ユーザーがすでに手書き認識されている確定データを囲み線、跨ぎ線で選択すると、操作コマンドに「ページ名に設定」が表示される。これが選択されるとSetPageNameのコマンドが実行される。SetPageNameは、ページナビ2306の現在ページ名を選択した文字列に変更し、ページナビデータのAutoNameを"False"に変更する。
ページナビ操作パネル2003、2010のファイル名又はページ名がペン2500で選択された場合も、ペンID制御データには「Angle」が設定される。このAngleは、ページナビウィンドウ領域を回転させた角度である。表示装置2は表示のために操作ボタン定義データから取得したページナビウィンドウ領域を回転させた角度(Angle)を保存しておき、ファイル名又はページ名がペン2500で選択された場合、記憶しておいた回転角度をペンID制御データの「Angle」に設定する。以降は、ペンID制御データに設定されたAngleでデータ処理する。
<操作ボタン定義データ>
図27〜図30は操作ボタン定義データ2401〜2448の一例を示す。操作ボタン定義データ2401〜2448はペン操作パネル2001,2008、ページ操作パネル2002,2009、及び、ページナビ操作パネル2003、2010のボタンについて定義する。操作ボタン定義データの1行が1つのボタンを定義する。また、図27、図28が下側のユーザー用の操作メニュー301を定義し、図29、図30が上側のユーザー用の操作メニュー302を定義する。
各操作ボタン定義データ2401〜2448はボタン識別子(ButtonId)、ボタンの表示位置(Position)、ボタンのアイコン画像(Icon)、データ処理に関する情報となる角度(Angle)、ボタンの押下時に表示装置2が実行するコマンド(Command)を定義する。角度(Angle)はユーザーの操作位置や操作メニュー302の回転角度も表している。ユーザーがペン2500でボタン2101〜2115、2201、2202、2203、2205、2301、2302、2304、2305を押下すると、表示装置2はそのボタンに定義された角度(Angle)をそのペンのペンID制御データに保存し、そのボタンに定義されたコマンドを実行する。
このように、操作メニューは操作メニューの表示位置に応じたデータ処理と関連付けられている。図27〜図30では表示位置に応じて文字列データが回転する例になっている。下側ユーザー用の操作メニュー301と上側ユーザー用の操作メニュー302の同じボタンが有するCommandを管理者が変更すれば、種々のデータ処理が可能になる。
操作ボタン定義データ2401〜2415は下側のユーザー用のペン操作パネル2001を定義する。操作ボタン定義データ2416〜2419が下側のユーザー用のページ操作パネル2002を定義する。操作ボタン定義データ2420〜2424が下側のユーザー用のページナビ操作パネル2003を定義する。操作ボタン定義データ2425〜2439が上側のユーザー用のペン操作パネル2008を定義する。操作ボタン定義データ2440〜2443は上側のユーザー用のページ操作パネル2009を定義する。操作ボタン定義データ2444〜2448が上側のユーザー用のページナビ操作パネル2010、を定義する。
操作ボタン定義データ2415、2439は手書き認識候補の現在のオンオフ状態を示す必要があるため、オン用のアイコン画像(IconOn)とオフ用のアイコン画像(IconOff)を定義する。操作ボタン定義データ2419、2443はページナビウィンドウを開くボタン又は閉じるボタンを表す必要があるため、オン用のアイコン画像(IconOn)とオフ用のアイコン画像(IconOff)を定義する。表示装置2はCommandの実行結果の返却値をみてオン用/オフ用のアイコン画像を表示する。
操作ボタン定義データ2424、2448はページナビウィンドウ領域の定義データであり、矩形領域のPositionと角度(Angle)だけを定義する。ユーザーがこれらの矩形領域をペン2500で押下すると、表示装置2はそこに定義された角度(Angle)を押下に使用されたペン2500のペンID制御データに保存する。
<ページナビデータ>
図31はページナビデータの一例を示す。ページナビデータはファイルのページごとにページ名が記録された情報の一例である。ページナビデータはページナビウィンドウ領域2005、2012の表示内容を定義する。ページナビデータは1行がページナビの1行を定義する。ページナビデータはファイル名(FileName)、ページ番号(Page)、インデントレベル(Level)、ページ名(PageName)、自動名(AutoName)、ツリー状態(Tree)、及び、現在ページ(CurrentPage)を定義する。Page="0"かつLevel="0"はファイル名である。Levelが増えるとページナビ上のページ名が右にインデントしていく。
デフォルトはPageName="nnnnページ"(nnnnはページ番号)又は"白紙ページ"、AutoName="True"、Tree="Opened"である。AutoName="True"の場合、表示装置2は手書き認識した文字列をPageNameに自動的に設定する。ユーザーが手書き認識した確定データを指定して操作コマンドから「ページ名に設定」を選択すると、ページ名がその確定データに変更されAutoName="False"となる。つまり、ユーザーの設定するページ名が優先される。「Tree」はTree="Opened"で当該行よりも下方で当該行よりもLevelが1つ小さい行のページ名を全てツリー表示し、Tree="Closed"でツリー表示しない(当該行のページ名のみ表示)設定である。ページ名が表示された場合は、表示されたページ名について同じ処理を繰り返す。このため、表示装置2は次行に当該行より大きいLevelがある場合、当該行のTreeに"Opened"を設定する。CurrentPageは現在ディスプレー220に表示中のページを示す。
<動作手順>
以上の構成と図32〜図39を用いて、表示装置2の動作について説明する。図32〜図39は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図32の処理は、表示装置2が起動すると(アプリケーションが起動すると)スタートする。なお、図32〜図39ではスペースの都合上、符号で図6の機能を示した。
手書きデータの入力を開始する前に、ユーザーはペン操作パネル2001、2008のボタン2101〜2110を選択済みである(PenIdが特定されている)。従って、
a.操作ボタン定義データでペンボタンID、ColorId及びAngleが特定され、
b.ペンID制御データにはPenId、ColorId及びAngleが登録されている。
S1:まず、手書き入力表示制御部23が手書きデータ開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ領域(手書きデータを保存するメモリー領域)を確保する。ユーザーがペンを手書き入力部21に接触させてから手書きデータ領域を確保してもよい。
S2:次にユーザーが手書き入力部21にペンを接触させる。手書き入力部21はペンダウンを検出して手書き入力表示制御部23に送信する。
S3:手書き入力表示制御部23は手書き入力保存部25にストローク開始を送信し、手書き入力保存部25はストローク領域を確保する。
S4:ユーザーがペンを手書き入力部21に接触させたまま移動させると、手書き入力部21はペン座標を手書き入力表示制御部23に送信する。
S5:手書き入力表示制御部23は座標の入力と同時にペン2500から受信したペンIDを指定して、ペンID制御データ保存部36に保存されている現在のペンID制御データを取得する。ペンIDは座標の入力時に送信されるので、ストロークとペンIDが対応付けられる。ペンID制御データ保存部36はペンID制御データを手書き入力表示制御部23に送信する。なお、ユーザーがサインインしていないのでAccountIdはない。
S6:手書き入力表示制御部23はペン座標補完表示データ(離散的なペン座標を補間するデータ)を表示部22に送信する。表示部22はペン座標補完表示データでペン座標を補間し、ColorIdに基づいてカラー定義データから線種と太さを特定してストロークを表示する。
S7:手書き入力表示制御部23はペン座標、その受信時刻、ColorId及び角度情報を手書き入力保存部25に送信する。手書き入力保存部25はペン座標をストロークに追加する。ユーザーがペンを動かしている間は、手書き入力部21は定期的に手書き入力表示制御部23へのペン座標の送信を繰り返すため、ステップS4〜S7の処理がペンアップされるまで繰り返される。
S8:ユーザーが手書き入力部21からペンを離すと、手書き入力部21はペンアップを手書き入力表示制御部23に送信する。
S9:手書き入力表示制御部23は手書き入力保存部25にストローク終了を送信し、手書き入力保存部25はストロークのペン座標を確定させる。ストロークのペン座標の確定により以降はストロークにペン座標を追加できなくなる。
S10:次に、手書き入力表示制御部23は手書きデータ矩形領域403に基づいて、手書きデータ矩形領域とストローク矩形領域の重なり状況取得を手書き入力保存部25に送信する。手書き入力保存部25は重なり状況を計算して重なり状況を手書き入力表示制御部23に送信する。
続く、ステップS11〜S17は、手書きデータ矩形領域とストローク矩形領域が重なっていない場合に実行される。
S11:手書きデータ矩形領域とストローク矩形領域が重なっていない場合、1つの手書きデータが確定するので、手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S12〜S14:手書き認識制御部26は保持データクリアをそれぞれ文字列変換制御部28、予測変換制御部30、操作コマンド認識制御部32に送信する。手書き認識制御部26、文字列変換制御部28、予測変換制御部30及び操作コマンド認識制御部32がこれまでに保持している文字列候補と操作コマンドの候補に係るデータをクリアする。なお、クリアの時点では最後に手書きされたストロークは手書きデータに追加されていない。
S15:手書き入力表示制御部23は手書きデータ終了を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータを確定させる。手書きデータの確定とは1つの手書きデータが完成したこと(これ以上、ストロークが追加されないこと)をいう。
S16:手書き入力表示制御部23は手書きデータ開始を手書き入力保存部25に送信する。次の手書きデータの手書き開始(ペンダウン)に備えて、手書き入力保存部25は新しい手書きデータ領域を確保する。
S17:次に手書き入力表示制御部23はステップS9で終了したストロークに関してストローク追加を手書き入力保存部25に送信する。ステップS11〜S17が実行された場合、追加されるストロークは手書きデータの最初のストロークであり、手書き入力保存部25は開始中の手書きデータにストロークデータを追加する。ステップS11〜S17が実行されてない場合、追加されるストロークはすでに手書き中の手書きデータに追加される。
S18:続いて手書き入力表示制御部23はストローク追加を手書き認識制御部26に送信する。手書き認識制御部26は文字列候補が格納されるストロークデータ保持領域(ストロークデータが一時的に格納される領域)にストロークデータを追加する。
S19:手書き認識制御部26はストロークデータ保持領域に対してジェスチャー手書き認識を実行する。ジェスチャー手書き認識とは、直線から角度情報を認識することをいう。なお、ジェスチャー手書き認識は操作ガイド500の内部で行われるため、手書き認識制御部26は操作ガイド500の内部の直線を検出する。操作ガイド500の位置情報は後述するステップS67で手書き認識制御部26に送信される。
S20:操作ガイド500内の直線が検出された場合、直線の始点から6時の方向に下ろした直線522と、ユーザーが入力した直線521の反時計回りのなす角αを、45度単位で決定する。そして、手書き認識制御部26は、決定した角度情報を直線521のストロークデータが有するペンIDに対応付けてペンID制御データ保存部36に保存する。なお、ステップS20は操作ガイド500内で直線が検出された場合に実行される。従って、ペン操作パネル2001,2008のボタン2101〜2115の押下で決まったAngleに優先して別のAngleを設定することもできる。
S20−2:手書き認識制御部26は選択可能な候補表示矩形をクリアする。
S21:次に、手書き認識制御部26は、手書き入力部21から受信したペンIDを指定して、ペンID制御データ保存部36から現在のペンID制御データの角度情報を取得する。
S22:手書き認識制御部26は、ストロークデータ保持領域のストロークデータを取得した角度情報で時計回りに回転する。表示装置2はこのように表示位置に応じたデータ処理に関する情報に応じてストロークデータを回転して文字認識できる。
S23:手書き認識制御部26は、手書きサイン認証制御部38に回転後のストロークデータを送信する。このようにストロークデータが手書きサインかどうかは不明な状態で常に手書きサイン認証制御部38に送信する。
S24:手書きサイン認証制御部38はストロークデータを受信し、手書きサインデータ保存部39から登録済みの手書きサインデータを受信する。そして、手書きサイン認証制御部38はストロークデータと手書きサインデータの比較(マッチング)を行い、後段のステップS61で手書きサインの認証結果を取得できるように手書きサインの認証結果を保持しておく。認証成功の場合はAccountIdがペンID制御データに登録される。
S25:次に、手書き認識制御部26はストロークデータに手書き認識を実行し、フォームの登録又は取消欄の「チェックマーク」又は「×」である場合はフォームの処理を行い、そうでない場合は通常の手書き認識の処理を行う。
S26:手書きサインデータ登録フォームの登録又は取消欄内が「チェックマーク」であった場合、手書きサイン登録フォームに対しユーザーが入力した手書きサインデータ(ストロークデータ)を、手書き認識制御部26が手書きサイン認証制御部38に送信する。手書きサイン登録フォームは、後述するステップS86で手書き入力表示制御部23が手書き入力保存部25に生成する。
S27:手書きサイン認証制御部38は受信した手書きサインデータ(ストロークデータ)を手書きサインデータ保存部39に登録する。これにより、SignatureIdが採番される。SignatureIdは手書き認識制御部26に返却される。手書き認識制御部26はSignatureId及び手書きサイン登録フォームの名前入力欄に入力された名前がユーザー定義データにない場合、ユーザー定義データを新規に追加する。手書き認識制御部26はAccountIdを採番し、そのユーザー定義データにSignatureIdを保存する。名前入力欄に入力された名前がユーザー定義データにある場合は、そのユーザー定義データにSignatureIdを保存する。この処理によってAccountIdとSignatureIdは紐づけられる。
S28:手書きサインデータの登録により、手書き認識制御部26は手書きサイン登録フォームを手書き入力保存部25から削除する。
S29:ユーザー定義データ変更フォームの登録又は取消欄内が「チェックマーク」であった場合、ユーザー定義データ変更フォーム562に入力された変更値を手書き認識制御部26が操作コマンド定義部33に送信する。ユーザー定義データ変更フォーム562は、後述するステップS86で手書き入力表示制御部23が手書き入力保存部25に生成する。
S30:ユーザー定義データの変更の実行により、手書き認識制御部26はユーザー定義データ変更フォーム562を手書き入力保存部25から削除する。
S31:後述するステップS86で追加したフォームの登録又は取消欄内が「×」であった場合、手書き認識制御部26はステップS86で追加したフォームを手書き入力保存部25から削除する。
S33:フォーム処理でなかった場合、手書き認識制御部26はユーザーが手書きした手書き認識文字列候補を手書き認識辞書部27に送信する。手書き認識辞書部27は言語的に確からしい言語文字列候補を手書き認識制御部26に送信する。
なお、現在ペンID制御データに「RecommendMenuOff="True"」が設定されており、更に、操作コマンドも表示しない設定である場合、手書き認識制御部26はステップS33〜S47の認識に関する制御を行わない。こうすることで、表示装置2は処理負荷を低減できる。
S34:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を文字列変換制御部28に送信する。
S35:文字列変換制御部28は手書き認識文字列候補及び言語文字列候補を文字列変換辞書部29に送信する。文字列変換辞書部29は変換文字列候補を文字列変換制御部28に送信する。
S36:文字列変換制御部28は受信した変換文字列候補を予測変換制御部30に送信する。
S37:予測変換制御部30は受信した変換文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S38:予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S39:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
以降ステップS40〜S47に示される操作コマンドの候補の送信まで表示装置2は同様に処理を行う。
S40:文字列変換制御部28は受信した変換文字列候補を操作コマンド認識制御部32に送信する。
S41:操作コマンド認識制御部32は受信した変換文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は変換文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S42:手書き認識制御部26は手書き認識文字列候補及び言語文字列候補を予測変換制御部30に送信する。
S43:予測変換制御部30は手書き認識文字列候補及び受信した言語文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S44:予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S45:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S46:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド認識制御部32に送信する。
S47:操作コマンド認識制御部32は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は言語文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S48:次に手書き認識制御部26はストローク追加を操作コマンド認識制御部32に送信する。
S49:操作コマンド認識制御部32は確定データの位置情報取得を手書き入力保存部25に送信する。手書き入力保存部25は確定データの位置情報を操作コマンド認識制御部32に送信する。
S50:操作コマンド認識制御部32は選択データを判定する。操作コマンド認識制御部32はステップS48のストローク追加で手書き認識制御部26から受信したストロークの位置情報と、手書き入力保存部25から受信した確定データの位置情報が所定の関係にあるか否かを跨ぎ線判定条件406及び囲み線判定条件407に基づいて判定する。選択されていると判定できる確定データがある場合、操作コマンド認識制御部32は確定データを選択データとして保存しておく。また、この場合、選択データが特定されるので選択データがある場合の操作コマンドの候補を操作コマンド定義部33から取得する。
また、手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32は、それぞれ手書き認識文字列候補、言語文字列候補、変換文字列候補、予測文字列候補、操作コマンドの候補、及び、選択データに係るデータを後段のステップS55〜S58で取得できるよう保持しておく。
S18−2:手書き入力表示制御部23はステップS18でストローク追加を手書き認識制御部26に送信した直後、選択可能候補表示タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
続く、ステップS51〜S53は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生した場合に実行される。
S51:タイマーがタイムアウトする前に、ユーザーが手書き入力部21にペンを接触させた場合、手書き入力部21はペンダウン(ステップS2と同じイベント)を手書き入力表示制御部23に送信する。
S52:手書き入力表示制御部23はストローク開始(ステップS3と同じ)を手書き入力保存部25に送信する。この後のシーケンスはステップS3以降と同じである。
S53:更に手書き入力表示制御部23は選択可能候補表示タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はタイマーを停止させる。ペンダウンが検出されたのでタイマーが不要になるからである。
ステップS54〜S103は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生しない場合に実行される。従って、図19に示した操作ガイド500が表示される。
S54:選択可能候補表示タイマー開始中にユーザーが手書き入力部21にペンを接触させなかった場合、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
S55:手書き入力表示制御部23は手書き認識文字列/言語文字列候補取得を手書き認識制御部26に送信する。手書き認識制御部26は現在保持している手書き認識文字列/言語文字列候補を手書き入力表示制御部23に送信する。
S56:手書き入力表示制御部23は変換文字列候補取得を文字列変換制御部28に送信する。文字列変換制御部28は現在保持している変換文字列候補を手書き入力表示制御部23に送信する。
S57:手書き入力表示制御部23は予測文字列候補取得を予測変換制御部30に送信する。予測変換制御部30は現在保持している予測文字列候補を手書き入力表示制御部23に送信する。
S58:手書き入力表示制御部23は操作コマンドの候補取得を操作コマンド認識制御部32に送信する。操作コマンド認識制御部32は現在保持している操作コマンドの候補と選択データを手書き入力表示制御部23に送信する。
S59:更に、手書き入力表示制御部23は推定書字方向取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ矩形領域のストローク追加時間と水平距離と垂直距離から判定して、推定書字方向を手書き入力表示制御部23に送信する。
S60:次に、手書き入力表示制御部23は、手書き入力部21から受信したペンIDを指定して、ペンID制御データ保存部36から現在のペンID制御データのColorId、AccountId(ない場合もある)及びAngleを取得する。
S61:手書き入力表示制御部23は手書きサイン認証制御部38から手書きサインの認証結果を取得する。これにより、ユーザーのSignatureIdが得られるので、後述する操作コマンドの実行時に、ペンID制御データにAccountIdが対応付けて登録される。ユーザーがサインインした場合、AccountIdで特定されるユーザー定義データに対応付けられたカラー定義データが特定される。手書き入力表示制御部23は、ユーザー定義データの色情報が白黒で強調された手書きデータ、又は、手書きデータから変換された前記テキストデータを表示できる。
S62: 手書き入力表示制御部23は、ユーザーが使用しているペン2500のペンID制御データに「RecommendMenuOff="True"」が設定されているか否かを判断し、「RecommendMenuOff="True"」の場合は文字列候補539を表示しない。この場合、操作コマンドのみを表示するが、操作コマンドも表示しないようにしてもよい。「RecommendMenuOff="False"」の場合、手書き入力表示制御部23はこれらの手書き認識文字列候補(図19では「ぎ」)、言語文字列候補(図19では表示がないが例えば「議」)、変換文字列候補(図19では「議事録」「技量試」)、予測文字列候補(図19では「技量試を決済」「議事録の送付先」)、操作コマンドの候補(図19では「議事録テンプレートを読み込む」「議事録フォルダーに保存する)、各選択確率、及び、推定書字方向から図19のような選択可能候補表示データを作成する。また、手書き入力表示制御部23はステップS60で取得したAngleで選択可能候補表示データ(操作ガイド500)を反時計回りに回転させ、回転後の選択可能候補表示データ(操作ガイド500)を表示部22に送信することで表示させる。
S63:また、手書き入力表示制御部23は手書きデータと選択データの矩形領域表示データ(矩形枠)(図19では手書きデータ矩形領域表示503)を、ステップS60で取得した角度情報で反時計回りに回転させ、表示部22に送信することで表示させる。
S64:手書き入力表示制御部23は選択可能候補表示データの表示から一定時間後に消去するため選択可能候補表示消去タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。「RecommendMenuOff="True"」であるため操作コマンドも含め操作ガイド500が表示されない場合は、選択可能候補表示消去タイマー開始を行わない。
ステップS65〜S70は、選択可能候補消去タイマー開始中に、ユーザーが表示部22に表示された選択可能候補表示を消去したか、手書きデータの変化が発生した場合(即ち手書きデータのストロークの追加、削除、移動、変形又は分割された場合)、又は、タイムアウトまでに候補が選択されなかった場合に実行される。
更に、ステップS65〜S67は、候補表示が消去されるか、又は、手書きデータの変化が発生した場合に実行される。
S65:手書き入力部21は選択可能候補表示消去又は手書きデータの変化の発生を手書き入力表示制御部23に送信する。
S66:手書き入力表示制御部23は選択可能候補消去タイマー停止を送信する。候補表示タイマー制御部24はそのタイマーを停止する。一定時間内に手書きデータに対し操作があったためタイマーが不要になるからである。
S67:手書き入力表示制御部23は、ステップS19のジェスチャー手書き認識のジェスチャー判定で使用できるよう、操作ガイド500の位置情報を手書き認識制御部26に保存する。位置情報は例えば左上コーナーと右下コーナーの座標又はこれと同等の座標である。これにより、手書き認識制御部26は角度情報の入力に使用される直線が操作ガイド500内かどうかを判定できる。
S69:手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで、表示を消去させる。「RecommendMenuOff="True"」の場合、操作コマンドのみを消去するか、又は、何も消去する必要がない。
S70:手書き入力表示制御部23は手書きデータと選択データの矩形領域表示データ消去を表示部22に送信することで、表示を消去させる。従って、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きデータはそのまま表示が維持される。
S68:一方、選択可能候補消去タイマー開始中に、選択可能候補表示消去又は手書きデータの変化が発生しなかった場合(ユーザーがペン操作をしなかった場合は)、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
選択可能候補表示消去タイマーのタイムアウトの後も同様に、手書き入力表示制御部23はステップS69とS70を実行する。一定時間の経過で表示部22が選択可能候補表示データ、手書きデータと選択データの矩形領域表示データを消去してよいためである。
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS71〜S103が実行される。
S71:選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部21は文字列候補又は操作コマンドの候補選択を手書き入力表示制御部23に送信する。
S71−2:手書き入力表示制御部23は選択可能候補表示消去タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを停止する。
S72:次に手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S73:手書き認識制御部26は保持データクリアを文字列変換制御部28に送信する。
S74:手書き認識制御部26は保持データクリアを予測変換制御部30に送信する。
S75:手書き認識制御部26は保持データクリアを操作コマンド認識制御部32に送信する。手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32はこれまで保持していた文字列候補及び操作コマンドの候補に係るデータをクリアする。
S76:次に手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで表示を消去させる。
S77:手書き入力表示制御部23は手書きデータと選択データの矩形領域表示データ消去を表示部22に送信することで表示を消去させる。
S78:手書き入力表示制御部23は表示データ消去及びステップS6で送信したペン座標補完表示データ消去を表示部22に送信することで表示を消去させる。文字列候補又は操作コマンドの候補が選択されたため、手書きデータ等が不要になるためである。
S79:手書き入力表示制御部23は手書きデータ削除を手書き入力保存部25に送信する。
文字列候補が選択された場合、ステップS80〜S82が実行される。
S80:文字列候補が選択された場合、手書き入力表示制御部23は文字列データ追加を手書き入力保存部25に送信する。
S81:更に手書き入力表示制御部23は文字列データフォント取得を手書き入力保存部25に送信する。手書き入力保存部25はペンID制御データのPenIdに対応付けられた文字列データのフォント名をペン色選択ボタン定義データから特定し、また、手書きデータの推定文字サイズを手書き入力表示制御部23に送信する。
S82:次に手書き入力表示制御部23は手書き入力保存部25から受信した定義済みフォントを使用して、手書きデータと同じ位置に表示させる文字列データ表示データを表示部22に送信させることで、表示させる。手書き入力表示制御部23はペンID制御データのColorIdに基づいてカラー定義データから線種と太さを特定し、角度情報で回転させたテキスト(文字列データ)を表示する。従って、ユーザーの操作位置から見て上下方向を天地とする文字列データを表示装置2が表示できる。
操作コマンドの候補が選択された場合、ステップS83〜S101が実行される。編集又は修飾のための選択データに対する操作コマンドはステップS83〜S85で実行される。
S83:選択データへの操作コマンドの候補が選択された場合(選択データが存在する場合)は、手書き入力表示制御部23は選択データ表示データ消去を表示部22に送信することで表示を消去させる。いったん、表示部22が元の選択データを消去するためである。
S84:次に、手書き入力表示制御部23は選択データへの操作コマンド実行を手書き入力保存部25に送信する。手書き入力保存部25は新しい選択データの表示データ(編集又は修飾後の表示データ)を手書き入力表示制御部23に送信する。
S85:次に手書き入力表示制御部23は選択データ表示データを表示部22に送信することで、操作コマンド実行後の選択データを再表示させる。
選択データがあるが「ページ名を追加」の操作コマンドはステップS83−2〜S84−2で実行される。
S83−2:「ページ名を追加」の操作コマンドの候補が選択された場合(選択データが存在する場合)は、手書き入力表示制御部23は選択データの取得を手書き入力保存部25に要求する。手書き入力保存部25は選択データを手書き入力表示制御部23に送信する。
S84−2:手書き入力表示制御部23は現在ディスプレー220に表示中のページ番号をページナビデータで確認して、選択データをページ名として手書き入力保存部25に追加する。
S86:操作コマンド定義データ713の「手書きサイン登録する」又は操作コマンド定義データ716の「設定変更する」が指定された場合、手書き入力表示制御部23は手書きサイン登録フォーム又はユーザー定義データ変更フォームを手書き入力保存部25に追加する。
S87:「ファイル保存」又は「印刷」の操作コマンドの候補が選択された場合、手書き入力表示制御部23はファイル送信要求をファイル送受信制御部37に送信する。
S88:ファイル送受信制御部37はファイルの送信対象の手書き入力保存データの取得要求を手書き入力保存部25に送信する。
S89:手書き入力保存部25は、送信先がカラー対応装置かどうかをMIBなどで判定する。手書き入力保存部25は、送信先がカラー対応装置、白黒対応装置、又は、白黒強調対応装置のいずれであるかによって、ファイルを処理する。
S90:ファイル送受信制御部37は手書き入力保存部から受信した手書き入力データを送信先に送信するか、又は、ファイルに書き込む。
S91:「ファイル読み込み」の操作コマンドの候補が選択された場合、手書き入力表示制御部23はファイル一覧情報取得要求をファイル送受信制御部37に送信する。
S92:ファイル送受信制御部37はUSBメモリー、ネットワークストレージ、Webサーバー等の記憶媒体又は外部機器等からファイル一覧情報を受信する。
S93:ファイル送受信制御部37はファイル一覧情報を手書き入力表示制御部23に送信する。
S94:手書き入力表示制御部23はファイル一覧表示データを表示部22に送信する。これにより、表示部22はファイル一覧をディスプレーに表示する。
S95:ユーザーがファイルを選択し、手書き入力部21が受け付けると、手書き入力部21はファイル選択を手書き入力表示制御部23に送信する。
S96:手書き入力表示制御部23は選択されたファイルのファイル受信要求をファイル送受信制御部37に送信する。
S97:ファイル送受信制御部37は外部機器からファイルを取得する。
S98:ファイル送受信制御部37は手書き入力保存部25にファイルを保存する。
S99:手書き入力保存部25は、ファイル送受信制御部37から受信したファイルを解析し、手書き入力起因データを手書き入力保存データ(白黒強調/カラー変換可能データ)に変換する。すなわち、メタデータの有無を判定し、メタデータがある場合は手書き入力保存データへの変換が可能かどうかを(ColorIdなどがあるかどうか)を判定し、手書き入力保存データとして保存する。そして、手書き入力保存部25は手書き入力起因データについてColorIdを読み取り、カラー定義データを参照して、ColorIdに対応付けられている白黒強調表示に変換する。手書き入力保存部25は手書きデータの表示データを手書き入力表示制御部23に送信する。手書き入力起因データでないデータの場合、手書き入力保存部25はファイル形式に従って色情報、フォント、文字サイズなどを読み取って手書き入力保存データとして保存する。
S100:手書き入力表示制御部23は手書き入力データの表示データを表示部22に表示する。これにより表示部22は、手書き入力起因データを白黒強調された手書きデータで表示し、そうでないデータを従来の輝度変換を用いて白黒表示する。
なお、サインインするための操作コマンド512が実行された場合、手書き入力表示制御部23は操作コマンド512の実行時に表示装置2が受信したペンIDを取得する。手書き入力表示制御部23はステップS61で取得したSignatureIdを有するユーザー定義データを特定してAccountIdをユーザー定義データから取得する。そして、手書き入力表示制御部23はペンIDに対応付けてAccountIdをペンID制御データに登録する。これにより、ペン2500とユーザーが紐付いた形となり、表示装置2はユーザー定義データを使って処理が可能になる。
ユーザーがサインインした後に手書きしたり、ファイル読み込みしたりした場合、手書き入力表示制御部23は、操作コマンドの実行時に表示装置2が受信したペンIDに対応付けられているAccountIdをペンID制御データから取得する。手書き入力表示制御部23は、このAccountIdでユーザー定義データを特定し、操作コマンドの%〜%にカラー定義データ等を設定して実行する。
S101:その他、入出力系の操作コマンドが選択された場合、手書き入力表示制御部23はユーザーが選択した操作コマンドに対応する操作コマンド定義データの操作コマンド文字列(Command)を実行する。
S102:ユーザーがマニュアルで角度情報を入力した場合は、手書き入力表示制御部23は受け付けた角度情報を、回転操作ボタン511の押下時にペン2500から受信したペンIDに対応付けてペンID制御データ保存部36に保存する。
S103:次の手書きデータのために手書き入力表示制御部23は手書きデータ開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ領域を確保する。これ以降、ステップS2〜S103の処理が繰り返される。
<操作メニューの表示>
以下では、シーケンス図で説明しきれなかった処理の詳細を説明する。
まず、図40は表示装置2が操作メニュー301,302を表示する手順を示すフローチャート図の一例である。
ユーザーが例えば表示装置2の電源をONに操作することで、表示装置2が起動を開始する(S201)。表示装置2はSSD204に記憶されているOS(Operating System)を読み出して実行し、OSがSSD204に記憶されている表示装置2のプログラムを読み出して実行する。
表示部22は表示位置に応じたデータ処理に関する情報を有する操作メニュー301,302を表示する。まず、表示部22は下側のユーザーの操作メニュー301を表示する(S202)。表示部22は操作メニュー302を先に表示してもよいし、同時に表示してもよい。表示部22は操作ボタン定義データ2401〜2424を読み出して、アイコンファイルを取得する。表示部22はPositionに基づいて位置を決定する。表示部22はAngleに基づいて回転角度を決定する。表示部22は各ボタン2101〜2115、2201、2202、2203、2205、2301、2302、2304、2305のアイコンをディスプレー220に表示する。下側のユーザーのAngleは0度なので、ボタン2101〜2115、2201、2202、2203、2205、2301、2302、2304、2305のアイコンは回転しないで表示される。なお、ファイルを読み込むまでファイル名2206は表示されず、現在ページ2203は「1/1」となる。
次に、表示部22は上側のユーザーの操作メニュー302を表示する(S203)。表示部22は操作ボタン定義データ2425〜2448を読み出して、アイコンファイルを取得する。表示部22はPositionに基づいて位置を決定する。表示部22はAngleに基づいて回転角度を決定する。表示部22はボタン2101〜2115、2201、2202、2203、2205、2301、2302、2304、2305のアイコンをディスプレー220に表示する。上側のユーザーのAngleは180度なので、ボタン2101〜2115、2201、2202、2203、2205、2301、2302、2304、2305のアイコンが180度は回転して表示される。これにより、各ユーザーが見やすいボタンを表示できる。
<操作ボタン定義データのコマンドの実行>
図41を用いてペン操作パネル2001、2008のボタン2101〜2115が選択された場合を説明する。図41はペン操作パネルのボタン2101〜2115が押下された場合の処理を説明するフローチャート図の一例である。
まず、手書き入力部21がボタン2101〜2115のいずれか1つの選択を受け付ける(S301)。ここではボタン2101が押下されたものとする。ペン2500がタッチした座標は手書き入力部21が検出しており、ボタン2101〜2115は操作ボタン定義データ2401〜2415に登録されているため、押下されたボタン2101が特定される。
次に、手書き入力表示制御部23は押下されたボタン2101に対応する操作ボタン定義データ2401の「ChangePen ThinBlack」を実行するので、手書き入力表示制御部23はペンID制御データにユーザーが使用しているペン2500のPenIdとColorId="ThinBlack"を設定する(S302)。
また、手書き入力表示制御部23は押下されたボタン2101に対応する操作ボタン定義データ2401の「Angle」をペンID制御データに設定する(S303)。
ペンID制御データにペンの色が設定されたので、手書きデータと文字列データを表示部22がディスプレー220に表示する場合、カラー定義データで定義された線種で表示できる。また、角度(Angle)がペンID制御データに設定されたので、手書きデータを回転させてから文字認識することができる。
なお、図41ではペン操作パネル2001、2008のボタンを例にして説明したが、ページ操作パネル2002、2009、ページナビ操作パネル2003、2010、及び、ページナビ2004、2011のいずれが押下されてもペンID制御データにPenId、Angleを設定できる。
<操作コマンド「ページ名に設定」の実行>
図42はユーザーが操作コマンド「ページ名に設定」を実行した場合の処理を説明するフローチャート図の一例である。
まず、ユーザーはすでにディスプレー220に表示されている確定データ(手書き認識後のテキストデータ)を跨ぎ線や囲み線で選択する。これにより、表示部22が「ページ名に設定」という操作コマンドを表示する。ユーザーがこの操作コマンドを押下すると、手書き入力部21が操作コマンドの選択を受け付ける(S401)。操作ガイド500の座標が分かっているので、ペン2500の先が接触した座標により選択した操作コマンドが特定される。
手書き入力表示制御部23は選択されたName=「ページ名に設定」という操作コマンドの操作コマンド定義データを取得して、Command=SetPageNameを実行する(S402)。
手書き入力表示制御部23は、ディスプレー220に表示中のページ(ページナビデータでCurrentPage=Trueのページ)のPageNameに、跨ぎ線又は囲み線で指定された選択データを設定する(S403)。こうすることで、ユーザーは確定データを選択するという簡単な操作でページにページ名を付与できる。
なお、ユーザーがページ名を付与するまでは、ユーザーがページに手書きを開始したタイミングでデフォルト値(例えば、○ページ目、白紙ページ等)が該ページのページ名として設定される。
<ページナビの表示>
図43は、ページナビの表示方法を説明するフローチャート図の一例である。
表示部22は、ページナビウィンドウボタン(ボタン2115)が開くに操作されたか否かを判断する(S501)。ページナビウィンドウボタンの操作ボタン定義データ2439に座標が設定されているので、ペン2500がタッチした座標から押下を判断できる。
ページナビウィンドウボタンを開く操作が入力された場合、表示部22はページナビウィンドウ領域2005、2012を開く(S502)。ページナビウィンドウ領域が開かれるまで、ページナビウィンドウ領域は閉じているので(ページナビウィンドウ領域がない)、表示部22はディスプレー220の全体を横方向に縮小して、ディスプレー220の右手側を空ける。なお、開くのはユーザーが操作したページナビウィンドウ領域2005又は2012の一方又は両方である。
ページナビウィンドウ領域の数は最大で操作メニューの数と同じである。操作メニューの数は、操作ボタン定義データに含まれる「Angle」の種類の数でよい。あるいは、操作メニューの数が直接、数値として表示装置2に設定されていてよい。ページナビウィンドウ領域2012も「Angle」で回転された位置に表示される。従って、ユーザーの例えば右手側がページナビウィンドウ領域となる。
次に、表示部22はページナビデータ2501〜2511を取得する(S503)。表示部22はページナビデータ2501〜2511を1行ずつ処理する。
まず、表示部22はファイル名を特定する(S504)。ファイル名かどうかは「Page=0」かつ「Level=0」であるかどうかを表示部22が判断するものとする。ファイル名は常に表示されるので、表示部22はFileNameを表示する(S505)。
次に、表示部22は着目しているファイルの「Tree」が「Open」であるか否か、を判断する(S506)。「Tree」の設定がない場合はNoと判断してよい。
ファイルの「Tree」がOpenの場合、ページナビがファイル内のページ名を表示するので、表示部22はレベルが1つ小さい下方の全てのページ名を表示する(S507)。
次に、表示部22は、ページ名を表示したページにTree設定があるか否かを判断する(S508)。
Tree設定があるページについて、表示部22はレベルが1つ小さい下方の全てのページ名を表示する(S509)。この処理は入れ子状の全てのページについて行われる。
次に、表示部22は1つのファイルの処理が終わったかどうかを判断する(S510)。
1つのファイルの処理が終わっていない場合、処理はステップS508に戻り、表示部22は処理を繰り返す。
1つのファイルの処理が終わっている場合、表示部22は全てのページナビデータを処理したか否かを判断して(S511)、処理が終わっていない場合はステップS504に戻り次のファイルを処理する。
ページナビウィンドウボタンを閉じる操作が入力された場合(S512のYes)、表示部22はページナビウィンドウ領域を閉じる(S513)。表示部22はページナビウィンドウ領域を消去して、ディスプレー220の全体を横方向に拡大して、ディスプレー220の全体に手書きデータ等を表示する。
このように、ページナビを表示することで、従来のサムネイルでは見えなかった文字などをも見やすくなり、ユーザーはどのページを開けばよいかを判断しやすくなる。また、ページナビウィンドウ領域は開閉できるので、ディスプレー220を広く使うことができる。ユーザーはページナビのファイル名又はページ名を選択するだけでページをディスプレー220に表示できる。
<ペンホルダーの配置例>
続いて、図44を用いてペン2500を収容するペンホルダーについて説明する。図44はペンホルダーの配置例を説明する図である。図44では、机に表示装置2が平置き設置(水平上向き設置)されている場合のペンホルダーの配置例を示す。なお、ディスプレー220には図30と同様の手書きデータ等が表示されている。
表示装置2は下側のユーザー用のペンホルダー2603、2604を有している。ペンホルダー2603は配置例1、ペンホルダー2604は配置例2である。つまり、どちらか一方のペンホルダーがあればよいが両方のペンホルダーがあってもよい。また、表示装置2は上側のユーザー用のペンホルダー2612、2613を有している。ペンホルダー2612は配置例1、ペンホルダー2613は配置例2である。
各ペンホルダー2603、2612は、操作メニューが沿って表示されているディスプレー220の縁からペンを取り出し可能であり、各ペンホルダー2604、2613は、該縁と平行にペン2500を収納する。
配置例1も配置例2も下側のユーザー又は上側のユーザーから使いやすい位置にあり、かつ下側のユーザー又は上側のユーザーの操作メニュー301,302から近い位置にある。このため、ユーザーが無意識に操作メニュー301,302を使って表示位置に応じたデータ処理に関する情報(回転角度)が自動的にペンID制御データに設定される可能性が高い。
一度、表示位置に応じたデータ処理に関する情報(角度)がペンID制御データに設定されると、次回の起動後も有効である。ユーザーはペン2500をペンホルダーから取り出して操作メニュー301,302を使うことなく手書きを始めた場合、表示位置に応じたデータ処理に関する情報はペンID制御データに設定済みである。ユーザーはペン2500をあたかも下側のユーザー又は上側のユーザーの専用ペンであるかの如く使うことができる。
<操作メニューの配置決定>
操作メニューの配置は予め操作ボタン定義データで定義されていてもよいし、管理者等が設定できてよい。
図45は管理者が操作メニューの配置を決定するための配置決定画面の一例である。管理者は所定の操作で配置決定画面を表示装置2に表示させる。配置決定画面では、デフォルト又は現在の設定における操作メニューが表示される。図45では下側のユーザー用の操作メニュー(ペン操作パネル2001、ページ操作パネル2002、及び、ページナビ操作パネル2003)が当初から表示されている。管理者はペン2500等でこれらを複製する操作を入力し、任意の場所に移動させる。図45では左と上のユーザー用にペン操作パネル2008、2015が配置されている。ページ操作パネル2002、及び、ページナビ操作パネル2003も同様に配置できる。
管理者が配置を終了すると、管理者が設定した操作メニューの配置に基づいて表示装置2が操作ボタン定義データを作成する。これにより、次回の起動時は管理者が設定した配置で操作メニューが表示される。
<主な効果>
以上説明したように、本実施形態の表示装置2は、表示位置に応じたデータ処理に関する情報を有する操作メニューを表示するので、操作メニューを操作したユーザーの操作位置に応じたデータ処理が可能になる。また、ページナビを表示するので、各ページにどのような内容が含まれているのかをユーザーが把握できる。また、ページナビに表示されたページ名を選択することで、ユーザーはディスプレー220に表示するページを容易に切り替えることができる。
実施例1では表示装置2が大型のタッチパネルを有するものとして説明されているが、表示装置はタッチパネルを有するものに限られない。本実施例ではプロジェクター型の表示装置について説明する。
<<表示装置の別の構成例1>>
図46は、表示装置の他の構成例を示す図である。図46では、通常のホワイトボード413の上辺にプロジェクター411が設置されている。このプロジェクター411が表示装置に相当する。通常のホワイトボード413とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
プロジェクター411は超短焦点の光学系を有しており、10cm程度から歪みの少ない映像をホワイトボード413に投影できる。この映像は、無線又は有線で接続されたPC400ー1から送信されてもよいし、プロジェクター411が記憶していてもよい。
ユーザーは専用の電子ペン2700を使ってホワイトボード413に手書きする。電子ペン2700は、ユーザーが手書きのためにホワイトボード413に押しつけるとスイッチがONになり発光する発光部を例えば先端部に有している。光の波長は近赤外や赤外なのでユーザーの目には見えない。プロジェクター411はカメラを有しており、発光部を撮像して画像を解析し電子ペン2700の方向を特定する。また、電子ペン2700は発光と共に音波を発信しており、プロジェクター411は音波の到達時間により距離を算出する。プロジェクター411は方向と距離により電子ペン2700の位置を特定できる。電子ペン2700の位置にはストロークが描画(投影)される。
プロジェクター411はメニュー430を投影するので、ユーザーが電子ペン2700でボタンを押下すると、プロジェクター411が電子ペン2700の位置とスイッチのON信号により押下されたボタンを特定する。例えば、保存ボタン431が押下されると、ユーザーが手書きしたストローク(座標の集合)がプロジェクター411で保存される。プロジェクター411は、予め定められたサーバー412又はUSBメモリー2600等に手書き情報を保存する。手書き情報はページごとに保存されている。画像データではなく座標のまま保存されるので、ユーザーが再編集することができる。ただし、本実施形態では操作コマンドを手書きで呼び出せるのでメニュー430は表示されなくてもよい。
<<表示装置の別の構成例2>>
図47は、表示装置2の他の構成例を示す図である。図47の例では、表示装置2が、端末装置600、画像投影装置700A、及び、ペン動作検出装置810を有する。
端末装置600は、画像投影装置700A及びペン動作検出装置810と有線で接続されている。画像投影装置700Aは、端末装置600により入力された画像データをスクリーン800に投影させる。
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し、端末装置600へ送信する。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力されるストローク画像の画像データを生成し、画像投影装置700Aによってストローク画像をスクリーン800に描画させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。
<<表示装置の別の構成例3>>
図48は、表示装置の構成例を示す図である。図48の例では、表示装置2が端末装置600とディスプレー800Aと、ペン動作検出装置810とを有する。
ペン動作検出装置810は、ディスプレー800Aの近傍に配置され、ディスプレー800A上に、電子ペン820Aが示している点を示す座標情報を検出し、端末装置600へ送信する。なお、図48の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820Aによって入力されるストローク画像の画像データを生成し、ディスプレー800Aに表示させる。
<<表示装置の別の構成例4>>
図49は、表示装置の構成例を示す図である。図49の例では、表示装置2が、端末装置600と、画像投影装置700Aとを有する。
端末装置600は、電子ペン820Bと無線通信(Bluetooth(登録商標)等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力されるストローク画像の画像データを生成し、画像投影装置700Aにストローク画像を投影させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。
以上のように、上記した各実施形態は、様々なシステム構成において適用することができる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態の表示方法は、タッチパネルを有する情報処理装置であれば好適に適用できる。また、表示装置と同様の機能を有する装置を、電子黒板、電子ホワイトボード、電子情報ボード、インタラクティブボードなどともいう。タッチパネルを搭載した情報処理装置としては、例えば、PJ(Projector:プロジェクター)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC又はデスクトップPC等であってもよい。
また、本実施形態では、表示装置2が行う処理の一部をサーバーが行ってもよい。例えば、表示装置はストローク情報をサーバーに送信し、サーバーから操作ガイド500に表示する情報を取得して表示する。
また、本実施形態ではペン先の座標をタッチパネルで検知する方法で表示装置2がペンの座標を検出したが、ペン先の座標を超音波により検出してもよい。また、ペンは発光と共に超音波を発信しており、表示装置2は超音波の到達時間により距離を算出する。表示装置2は方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークとしてプロジェクターが描画(投影)する。
また、本実施形態では、選択データがある場合に編集系、修飾系及び「ページ名に追加」の操作コマンドの候補を表示し、選択データがない場合に入出力系の操作コマンドの候補を表示した。しかし、表示装置2は編集系、修飾系及び「ページ名に追加」の操作コマンドの候補と入出力系の操作コマンドの候補を同時に表示してもよい。
また、ユーザーの手書きサインデータは表示装置2が持っていなくてもよい。クラウド上や社内の情報処理装置が保持していてもよい。
また、図6などの構成例は、表示装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」は、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、本実施形態において、比較の対象として閾値が例示されていたとしても閾値は例示された値には限定されない。このため、本実施形態では、全ての閾値に関し、閾値未満と閾値以下という記載は同等の意味を持ち、閾値超過と閾値以上という記載は同等の意味を持つ。例えば、閾値を11とした場合の閾値未満という記載は閾値が10である場合の閾値以下と同等の意味を持つ。また、閾値を10とした場合の閾値超過という記載は閾値が11である場合の閾値以上と同等の意味を持つ。
表示装置2
特開2018−026185号公報

Claims (19)

  1. 手書きデータに対し行われるデータ処理と関連づけられた操作メニューを表示する表示装置であって、
    前記操作メニューは、操作メニューの表示位置に応じた前記データ処理に関する情報を有することを特徴とする表示装置。
  2. 複数の同じ前記操作メニューを表示し、同じ前記操作メニューであっても、前記操作メニューは前記操作メニューの表示位置に応じた前記データ処理に関する情報を有することを特徴とする請求項1に記載の表示装置。
  3. 前記データ処理に関する情報は、前記手書きデータを回転させる回転角度であることを特徴とする請求項1又は2に記載の表示装置。
  4. 前記回転角度を用いて前記操作メニューを回転させて表示する表示部を有することを特徴とする請求項3に記載の表示装置。
  5. 手書きデータを入力するためのペンから該ペンの識別情報を受信し、
    前記操作メニューが押下された場合、前記ペンの識別情報と前記データ処理に関する情報とを対応付けて記憶し、
    前記ペンで手書きされた手書きデータを前記ペンの識別情報に対応付けられている前記データ処理に関する情報で処理して表示することを特徴とする請求項1〜4のいずれか1項に記載の表示装置。
  6. 前記データ処理に関する情報は、前記手書きデータを回転させる回転角度であり、
    前記手書きデータを認識して得た文字列を前記回転角度で回転して表示することを特徴とする請求項5に記載の表示装置。
  7. 前記操作メニューは前記表示装置の縁に沿って配置され、前記操作メニューが沿って表示されている前記縁からペンを取り出し可能なペンホルダー、又は、前記縁と平行に前記ペンを収納するペンホルダーを有することを特徴とする請求項1〜6のいずれか1項に記載の表示装置。
  8. 1つ以上のファイルを取得した場合、
    前記ファイルのファイル名と前記ファイルが有する各ページのページ名を表示することを特徴とする請求項1〜7のいずれか1項に記載の表示装置。
  9. 前記ページ名の選択を受け付けた場合、
    前記ファイルのページごとに前記ページ名が記録された情報を用いて、選択されたページを表示することを特徴とする請求項8に記載の表示装置。
  10. 前記手書きデータを認識して得た文字列を、前記文字列を表示しているページのページ名として表示することを特徴とする請求項8又は9に記載の表示装置。
  11. 前記手書きデータを認識して得た文字列の選択を受け付けた場合、前記文字列を表示しているページのページ名として表示することを特徴とする請求項8又は9に記載の表示装置。
  12. 前記操作メニューと同じ数だけ、前記ファイル名と前記ページ名を表示することを特徴とする請求項8〜11のいずれか1項に記載の表示装置。
  13. 前記データ処理に関する情報は、前記手書きデータを回転させる回転角度であり、
    前記ファイル名と前記ページ名を、前記回転角度を用いて回転させて表示することを特徴とする請求項8〜12のいずれか1項に記載の表示装置。
  14. 手書きデータを入力するためのペンから該ペンの識別情報を受信し、
    前記ファイル名又は前記ページ名が押下された場合、前記ペンの識別情報と前記データ処理に関する情報とを対応付けて記憶し、
    前記手書きデータを認識して得た文字列を前記回転角度で回転して表示することを特徴とする請求項13に記載の表示装置。
  15. 前記手書きデータを認識して得た文字列の候補を表示するか否かの設定を受け付けるボタンを表示することを特徴とする請求項1〜14のいずれか1項に記載の表示装置。
  16. 前記ボタンの押下を受け付けた場合、
    前記手書きデータが入力されても、前記手書きデータを認識して得た文字列の候補を表示せず、表示装置に実行させる操作コマンドの候補は表示することを特徴とする請求項15に記載の表示装置。
  17. 前記操作メニューの配置を受け付ける配置決定画面を表示することを特徴とする請求項1〜16のいずれか1項に記載の表示装置。
  18. 手書きデータに対し行われるデータ処理と関連づけられた操作メニューを表示する表示装置が行う表示方法であって、
    操作メニューの表示位置に応じた前記データ処理に関する情報を有する前記操作メニューを表示することを特徴とする表示方法。
  19. 手書きデータに対し行われるデータ処理と関連づけられた操作メニューを表示する表示装置に、
    操作メニューの表示位置に応じた前記データ処理に関する情報を有する前記操作メニューを表示させることを特徴とするプログラム。
JP2020192210A 2019-11-20 2020-11-19 表示装置、表示方法、プログラム Pending JP2021082292A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/952,479 US11733830B2 (en) 2019-11-20 2020-11-19 Display apparatus for displaying handwritten data with displayed operation menu
CN202011316681.4A CN112825022B (zh) 2019-11-20 2020-11-20 显示装置、显示方法、介质
US18/339,334 US20240004520A1 (en) 2019-11-20 2023-06-22 Display apparatus, display method, and medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019209914 2019-11-20
JP2019209914 2019-11-20

Publications (1)

Publication Number Publication Date
JP2021082292A true JP2021082292A (ja) 2021-05-27

Family

ID=73497606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020192210A Pending JP2021082292A (ja) 2019-11-20 2020-11-19 表示装置、表示方法、プログラム

Country Status (2)

Country Link
EP (1) EP3825831A1 (ja)
JP (1) JP2021082292A (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3190074B2 (ja) * 1991-09-11 2001-07-16 株式会社東芝 手書き入力装置
KR102070196B1 (ko) * 2012-09-20 2020-01-30 삼성전자 주식회사 사용자 디바이스에서 상황 인식 서비스 제공 방법 및 장치
JP6462638B2 (ja) 2013-03-01 2019-01-30 株式会社リコー 電子情報ボード、画像処理方法及びプログラム
JP2014241005A (ja) * 2013-06-11 2014-12-25 株式会社東芝 表示制御装置、表示制御方法、及び表示制御プログラム
JP7259217B2 (ja) 2018-06-07 2023-04-18 株式会社ジェイテクト 4輪駆動車の制御装置
JP7144855B2 (ja) 2019-05-30 2022-09-30 株式会社ソフイア 遊技機

Also Published As

Publication number Publication date
EP3825831A1 (en) 2021-05-26

Similar Documents

Publication Publication Date Title
WO2021070972A1 (en) Display apparatus, color supporting apparatus, display method, and program
US20240004520A1 (en) Display apparatus, display method, and medium
JP2023175845A (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
US11132122B2 (en) Handwriting input apparatus, handwriting input method, and non-transitory recording medium
JP7452155B2 (ja) 手書き入力装置、手書き入力方法、プログラム
JP7456287B2 (ja) 表示装置、プログラム、表示方法
JP2023184557A (ja) 表示装置、表示方法、プログラム
JP7259828B2 (ja) 表示装置、表示方法、プログラム
EP3825868A1 (en) Display apparatus, display method, and program
JP7354878B2 (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
JP2021082292A (ja) 表示装置、表示方法、プログラム
CN112825022B (zh) 显示装置、显示方法、介质
WO2022045177A1 (en) Display apparatus, input method, and program
JP2021064366A (ja) 表示装置、カラー対応装置、表示方法、プログラム
JP7268479B2 (ja) 表示装置、プログラム、表示方法
JP2021096844A (ja) 表示装置、表示方法、プログラム
WO2022071448A1 (en) Display apparatus, display method, and program
JP2021152884A (ja) 表示装置、表示方法、プログラム、情報処理装置
JP2022023456A (ja) 表示装置、音響デバイス制御方法、プログラム
JP2021149662A (ja) 表示装置、表示方法、プログラム
CN113434078A (zh) 显示装置、显示方法及计算机可读记录介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240321

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240423