JP2021064366A - 表示装置、カラー対応装置、表示方法、プログラム - Google Patents

表示装置、カラー対応装置、表示方法、プログラム Download PDF

Info

Publication number
JP2021064366A
JP2021064366A JP2020168992A JP2020168992A JP2021064366A JP 2021064366 A JP2021064366 A JP 2021064366A JP 2020168992 A JP2020168992 A JP 2020168992A JP 2020168992 A JP2020168992 A JP 2020168992A JP 2021064366 A JP2021064366 A JP 2021064366A
Authority
JP
Japan
Prior art keywords
data
handwritten
control unit
handwriting
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
JP2020168992A
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 PCT/JP2020/038524 priority Critical patent/WO2021070972A1/en
Priority to US17/765,000 priority patent/US20220374142A1/en
Priority to CN202080069958.XA priority patent/CN114467071A/zh
Priority to EP20797212.6A priority patent/EP4042265A1/en
Publication of JP2021064366A publication Critical patent/JP2021064366A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】特定の表示装置で描かれた手書きデータを特定しておくことができる表示装置を提供することができる。【解決手段】データを表示する表示装置であって、前記表示装置で描かれた手書きデータである旨を前記手書きデータに対応付けて記録することを特徴とする。【選択図】図2

Description

本発明は、表示装置、カラー対応装置、表示方法、及び、プログラムに関する。
ペンや指でタッチパネルに手書きされたデータを表示する表示装置が知られている。比較的大型のタッチパネルを備えた表示装置は会議室などに配置され、複数のユーザーにより電子黒板などとして利用される。
一般的な表示装置では、ユーザーが文字の色や太さなどを所定のボタンなどで切り替えて使うことができ、表示装置はユーザーが選択した色や太さで手書きデータを表示することができる。
一方、表示装置に電子ペーパーなどを採用する試みもあるが、一般的な電子ペーパーはカラー表示できない。このため、電子ペーパーのような白黒対応装置が外部からカラーのファイルを読み取った場合、白黒対応装置は色情報を白黒の濃度に変換して表示する(例えば、特許文献1参照。)。特許文献1にはカラー画像の特性に応じた適切な補正を行って画像データ変換を行う変換方法が開示されている。
しかしながら、従来の技術では、特定の表示装置で描かれた手書きデータを特定しておくことができないという問題があった。
本発明は、上記課題に鑑み、特定の表示装置で描かれた手書きデータを特定しておくことができる表示装置を提供することを目的とする。
上記課題に鑑み、本発明は、データを表示する表示装置であって、前記表示装置で描かれた手書きデータである旨を前記手書きデータに対応付けて記録することを特徴とする。
特定の表示装置で描かれた手書きデータを特定しておくことができる表示装置を提供することができる。
白黒対応装置が表示するカラーから白黒への変換例を示す図である。 本実施形態の表示装置による手書き入力起因データの表示方法についてその概略を説明する図である。 ペンの斜視図の一例を示す図である。 表示装置の全体構成図の一例を示す図である。 表示装置のハードウェア構成図の一例である。 表示装置とペンが有する機能について説明する図である。 定義済み制御データの一例を示す図である。 手書き認識辞書部の辞書データの一例を示す図である。 文字列変換辞書部の辞書データの一例を示す図である。 予測変換辞書部の辞書データの一例を示す図である。 操作コマンド定義部が保持する操作コマンド定義データとシステム定義データの一例を示す図である。 表示部に表示されるファイル一覧表示データの一例を示す図である。 手書きオブジェクトにより選択された選択オブジェクトがある場合の操作コマンド定義データの一例を示す図である。 操作コマンド定義部が保持するユーザー定義データの一例を示す図である。 手書きサインデータ保存部が保持する手書きサインデータの一例を示す図である。 手書き入力保存部が保存している手書き入力保存データの一例を示す図である。 ペンID制御データ保存部が保存するペンID制御データを説明する図である。 カラー定義データの一例を示す図である。 図18のカラー定義データを使用して、白黒強調表示されたデータとカラー表示方法で表示されたデータの一例を示す図である。 ペン色選択ボタン定義データの一例を示す図である。 ディスプレーに表示されるペンボタンの一例を示す図である。 操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 選択オブジェクトの指定例を説明する図の一例である。 手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。 手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。 90度の角度情報の入力方法を説明する図である。 手書きサインデータの登録方法を説明する図である。 ユーザーが登録した手書きサインデータである「すずき」を手書きした場合に表示される操作ガイドの一例を示す図である。 ユーザー定義データの変更方法を説明する図である。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その1)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その2)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その3)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その4)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その5)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その6)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その7)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その8)。 英語変換の場合において、表示装置による手書き入力起因データの表示方法の概略を説明する図である。 中国語変換の場合において、本実施例の表示装置2による手書き入力起因データの表示方法の概略を説明する図である。 英語変換において、選択オブジェクトがない場合の操作コマンド定義データの一例を示す図である。 英語変換において、選択オブジェクトがある場合の操作コマンド定義データの一例を示す図である。 英語変換において、ユーザー定義データの一例を示す図である。 英語変換において、手書き認識辞書部の辞書データの一例を示す図である。 英語変換において、文字列変換辞書部の辞書データの一例を示す図である。 英語変換において、予測変換辞書部の辞書データの一例を示す図である。 英語変換において、図18のカラー定義データを使用して、白黒強調表示されたデータとカラー表示方法で表示されたデータを示す図である。 英語変換の場合の操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 英語変換の場合の選択オブジェクトの指定例を説明する図の一例である。 図48に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。 英語変換において、90度の角度情報の入力方法を説明する図の一例である。 英語変換において、手書きサインデータの登録方法を説明する図である。 英語変換において、ユーザーが登録した手書きサインデータである「Bob」と手書きした場合に表示される操作ガイドの一例を示す図である。 英語変換において、ユーザー定義データの変更方法を説明する図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。
以下、本発明を実施するための形態の一例として、表示装置及び表示装置が行う表示方法について図面を参照しながら説明する。
<用語について>
入力手段とはタッチパネルに座標を指定して手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。手書きデータとは、タッチパネル上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがタッチパネルに入力手段を押しつけてから連続的に移動させた後、タッチパネルから離すという一連の操作をストロークという。ストロークにより手書きされたデータはストロークデータという。手書きデータは1つ以上のストロークデータを有する。手書き入力とは、ユーザーによって、手書きデータが入力されることを示している。
<表示装置の比較例について>
本実施形態の表示装置を説明するに当たり、まず、白黒対応装置のカラー表示例について簡単に説明する。
図1は、白黒対応装置が表示するカラーから白黒への変換例を示す。まず、図1(a)は白黒対応装置が表示する手書きデータの一例を示す。白黒対応装置は、カラー表示できない表示装置である。白黒対応装置に対してもユーザーは色を選択して手書き入力することができるが、白黒対応装置は色情報をグレースケールに変換して表示する。
図1(b)(c)はカラーとグレースケールの対応を示す図である。作図の制限のため、いずれも白黒であるが図1(b)はカラーチャートであり、図1(c)はグレースケール化されたカラーチャートである。図1(b)(c)のカラーチャートの円周方向の同じ位置の色とグレースケールを比較すると、赤色(R)は薄いグレーに、青色(B)は濃いグレーに変換されることが分かる。
このため、図1(a)に示すように、ユーザーが赤色で手書きした手書きデータ303を白黒対応装置がグレースケール化すると薄いグレーで表示される。ユーザーが青色で手書きした手書きデータ302を白黒対応装置がグレースケール化すると、濃いグレーで表示される。ユーザーが黒色で手書きした手書きデータ301は黒で表示される。しかし、赤色や青色も、本来の情報を目立たせるという機能を果たすことが困難であることが分かる。特に青色は黒と見分けが付きにくい。
<本実施形態における表示装置のカラー表示の概略>
そこで、本実施形態の表示装置は、手書き入力起因データにその旨(手書き入力起因データであることを示す情報)を対応付けておき、手書き入力起因データであることを検出できるようにした。また、表示装置が手書き入力起因データを表示する場合は、手書きデータに対応付けられている色情報に基づいて、色情報に応じた態様で手書きデータを表示する。色情報に応じた態様で手書きデータを表示することを「白黒強調表示」という。手書き入力起因データとは手書きで入力されたストロークデータ、又はこのストロークデータが手書き認識により変換されたテキストデータである。
図2は、本実施形態の表示装置による手書き入力起因データの表示方法についてその概略を説明する図である。なお、表示装置は例えば電子ペーパーのようにカラー表示に対応していないものとして説明する。ただし、カラー表示可能な表示装置が白黒表示してもよい。
(1) まず、ユーザーはボタンから手書きデータを何色で入力するかを選択できる。ユーザーは図2ではBk、R、B、G、M、Cの各色を選択できる。
(2) ユーザーが手書きすると色に対応した態様で、表示装置は手書きデータを表示する。色に対応した態様とは色によって異なる線種等で表示することをいう。このように色に対応した線種で表示することで白黒強調表示が可能になる。表示装置は後述するように手書き認識に対応しており、テキスト(文字コード)に手書きデータを変換できる。図2の手書きデータ1,2はテキストに変換されており、手書きデータ3は変換されていない手書きデータである。
(3) 本実施形態の表示装置は、手書きデータごとに手書き入力起因データかどうか、及び、色情報を有している。手書きデータ1は手書き入力起因データで色情報は黒、手書きデータ2は手書き入力起因データで色情報は赤、手書きデータ3は手書き入力起因データで色情報は青である。手書きデータ1,2のように手書きデータから変換されたテキスト(文字コード)も手書き入力起因データかどうかを保持しているので、表示装置は手書き入力起因データを表示する場合は指定された色に対応する線種で表示できる。
(4)表示装置が手書きデータをPDFファイルなどに変換する場合は、表示装置は手書きデータ又はテキストデータの色情報をPDFの形式に従って設定すると共に、手書き入力起因データである旨と色情報をメタデータとして添付する。表示装置がこのPDFファイルを記憶媒体(USBメモリー等)から読み取る場合、メタデータに基づいて手書き入力起因データを色情報に対応する線種で表示できる。他の任意の装置はメタデータを無視して、通常のPDFファイルとして表示するので、カラーで表示できる。なお、メタデータとは、データの意味について記述したデータである。言い換えると、メタデータとはあるデータに関する情報を持ったデータのことである。 メタデータは、データそのものではなく、データについてのデータであるため、メタ(上位の)のデータと呼ばれる。
また、表示装置が手書き入力起因データを外部機器に送信する場合、表示装置は装置の種類に応じて手書き入力起因データを変換して送信する。外部機器には例えば以下のようなものがある。
・白黒対応装置(例えば、モノクロプリンタ等)
・カラー対応装置(例えば、カラープリンタ等)
・白黒強調対応装置(例えば、本願の表示装置等)
この変換により、白黒対応装置とカラー対応装置は手書き入力起因データかどうかを判定せずに白黒又はカラーで表示することができる。
このように、本実施形態の表示装置は、手書き入力起因データにその旨を対応付けておき、手書き入力起因データであることを検出できるようにした。これにより、表示装置2が外部からファイルを取得した場合でも、手書き入力起因データを表示する場合は、手書きデータに対応付けられているカラー情報に基づいて、白黒強調表示を行うことができる。また、手書き入力起因データを外部機器に送信した場合、手書き入力起因データかどうかを判定させずに表示させることができる。
<用語について>
白黒対応装置…白黒対応装置は白若しくは黒、又は、グレースケールしか出力できない装置である。例えば、電子ペーパー、モノクロプリンタなどがある。カラーに対応していない装置とも言える。電子ペーパーはEペーパーとも呼ばれる。10分の1mm程度の薄さで電気的な手段でデータの表示・消去が可能なディスプレーの総称である。電子ペーパーを実現する代表的な技術は、マイクロカプセル型電気泳動方式で、Eインク(登録商標)技術と呼ばれている。それぞれのマイクロカプセルの中に白い微粒子と黒い微粒子が入っていて、白をプラス、黒をマイナスに帯電させている。
カラー対応装置…カラー対応装置は、白黒だけでなくカラーを出力できる装置である。液晶や有機ELディスプレーを有する装置、カラープリンタなどがある。カラー対応機器は白黒対応機器でもある。
白黒強調対応装置…白黒強調対応装置は白若しくは黒、又は、グレースケールしか出力できない装置であるが、手書き入力起因データに関して手書きデータに対応付けられている色情報に基づいて、白黒強調表示を行う装置である。本実施形態の表示装置が挙げられる(特定の表示装置の一例)。なお、表示装置は手書き入力が可能であり、入力装置又は手書き入力装置と呼ばれる場合もある。
ストロークデータとは自由に手書きされた線である。ストロークデータは連続した点の集合を有し、適宜、補間されてよい。
手書き入力起因データとは、タッチパネルに手書きされたことで入力されたデータをいう。入力後に手書きのままか、テキストデータに変換されたかは問わない。また、外部機器から取得されたデータも手書き入力起因データであることは失われない。手書き入力起因データは文字認識して変換されたテキストデータの他、「済」「秘」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて変換されたデータも含まれてよい。すなわち、手書き入力起因データは、表示装置内で描画された手書きで入力されたストロークデータ、又は、このストロークデータが手書き認識により変換されたテキストデータである。
手書き入力起因データでないデータはタッチパネルに手書きされたことで入力されたデータ以外のデータをいい、例えば、画像(イメージ)データ、白黒強調対応装置でない装置で入力された手書きデータ又はテキストデータをいう。すなわち、手書き入力起因データでないデータは、表示装置外のパソコン等で入力されたストロークデータ、又は、ストロークが手書き認識により変換されたテキストデータである。
手書き入力起因データか否かの判定に、ColorIdが使用されている。ColorIdは、手書き入力起因データと、手書き入力起因データでないデータとを区別するための識別子である。この識別子として、端末識別子、型番(製品の型を識別する際の番号)、等を利用して、判別することも可能である。
色情報が白黒で強調されるとは、色を単に輝度や濃度に変換することでなく、色が異なることの判別が可能な態様でデータを表示することをいう。この強調は注意喚起性などの色の性質を反映したものであるとなおよい。
<ペンの外観の一例>
図3は、ペン2500の斜視図の一例を示す。図3は多機能なペン2500の一例を示す。電源を内蔵して表示装置2に命令を送信できるペン2500をアクティブペンという(電源を内蔵しないペンをパッシブペンという)。図3のペン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は自動的に検出できる。
<装置のハードウェア構成>
続いて、図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の傾き角度を検出するセンサーである。主に、表示装置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)のアクセスポイントは社外のユーザー用で、ユーザーは、(a)のアクセスポイントを介して社内ネットワークにはアクセスできないが、インターネットを利用できる。(b)のアクセスポイントは社内のユーザー用であり、ユーザーは、(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は種々の検出手段が用いられてよい。タッチセンサー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等により実現されており、ユーザーによる手書き入力を受け付け、ペンIDを受信する。手書き入力部21はユーザーのペン入力d1をペンID付きのペン操作データd2(ペンアップ、ペンダウン、又はペン座標データ)に変換し、手書き入力表示制御部23に送信する。ペン座標データは離散値として定期的に送信され、離散値間の座標は補完計算される。
表示部22はディスプレー220等により実現され、手書きされたオブジェクトや操作メニューを表示する。表示部22は手書き入力表示制御部23がビデオメモリーに書き込んだ描画データd3をディスプレー220の特性に応じたデータに変換し、ディスプレー220に送信する。
手書き入力表示制御部23は手書き入力と表示に関する全体的な制御を行う。手書き入力表示制御部23は手書き入力部21からのペン操作データd2を処理し、表示部22に送信することで表示させる。ペン操作データd2の処理及びストロークの表示の詳細は後述の図30〜図37にて説明する。
候補表示タイマー制御部24は、選択可能候補の表示制御タイマーである。候補表示タイマー制御部24は、タイマーを開始又は停止して選択可能候補の表示を開始するタイミングと表示を消去するタイミングを生成する。選択可能候補とは、後述する操作ガイドに選択可能に表示される手書き認識文字列/言語文字列候補、変換文字列候補、文字列/予測変換の候補、操作コマンドの候補、である。候補表示タイマー制御部24は手書き入力表示制御部23からタイマー開始要求d4(タイマー停止要求の場合もある)を受信し、タイムアウトイベントd5を手書き入力表示制御部23に送信する。
手書き入力保存部25はユーザーデータ(手書きオブジェクト/文字列オブジェクト)を保存しておくストレージの機能を有する。手書き入力保存部25は手書き入力表示制御部23からユーザーデータd6−1を受信し、手書き入力保存部25に保存する。手書き入力保存部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を使用して変換文字列候補に変換して保持しておく。別途、取得要求d14を手書き入力表示制御部23から受信した場合、文字列変換制御部28は保持している変換文字列候補d15を手書き入力表示制御部23に送信する。
文字列変換辞書部29は文字列変換用の辞書データである。文字列変換辞書部29は文字列変換制御部28から手書き認識文字列及び言語文字列候補d17を受信し、変換文字列候補d18を文字列変換制御部28に送信する。
予測変換制御部30は手書き認識文字列及び言語文字列候補d10を手書き認識制御部26から受信し、変換文字列候補d16を文字列変換制御部28から受信する。予測変換制御部30は手書き認識文字列、言語文字列候補d10及び変換文字列候補d16のそれぞれについて予測変換辞書部31を使用して予測文字列候補に変換しておく。予測変換文字列とは手書き認識文字列、言語文字列又は変換文字列を含んで生成される可能性が高い文字列である。別途、取得要求d19を手書き入力表示制御部23から受信した場合、予測変換制御部30は予測文字列候補d20を手書き入力表示制御部23に送信する。
予測変換辞書部31は予測変換用の辞書データである。予測変換辞書部31は手書き認識文字列及び言語文字列候補と変換文字列候補d21を予測変換制御部30から受信し、予測文字列候補d22を予測変換制御部30に送信する。
操作コマンド認識制御部32は手書き認識文字列及び言語文字列候補d30を手書き認識制御部26から受信し、変換文字列候補d28を文字列変換制御部28から受信する。操作コマンド認識制御部32は予測文字列候補d29を予測変換制御部30から受信する。そして、操作コマンド認識制御部32は、手書き認識文字列、言語文字列候補d30、変換文字列候補d28、及び、予測文字列候補d29それぞれについて操作コマンド変換要求d26を操作コマンド定義部33に送信し、操作コマンド定義部33から操作コマンドの候補d27を受信する。操作コマンド認識制御部32は操作コマンドの候補d27を保持しておく。
操作コマンド定義部33は操作コマンド変換要求d26が操作コマンド定義と部分一致している場合は操作コマンドの候補d27を操作コマンド認識制御部32に送信する。
また、操作コマンド認識制御部32はペン操作データd24−1を手書き入力表示制御部23から受信する。操作コマンド認識制御部32は過去に入力され確定した確定オブジェクトの位置情報取得要求d23を手書き入力保存部25に送信する。操作コマンド認識制御部32はペン操作データが指定している確定オブジェクトを選択オブジェクト(位置情報を含む)として保持しておく。操作コマンド認識制御部32はペン操作データd24−1の位置と所定の基準を満たす選択オブジェクトを特定する。別途、取得要求d24−2を手書き入力表示制御部23から受信した場合、操作コマンド認識制御部32は保持している操作コマンドの候補と特定した選択オブジェクトd25を手書き入力表示制御部23に送信する。
ペンID制御データ保存部36は、ペンID制御データを保持している(記憶手段といってもよい)。手書き入力表示制御部23が表示部22に表示データを送信する前に、ペンID制御データ保存部36はペンID制御データd41を手書き入力表示制御部23に送信する。手書き入力表示制御部23は、ペンIDに対応付けて保存されている動作条件で表示データを描画する。また、手書き認識制御部26が手書き認識を実行する前に、ペンID制御データ保存部36は手書き認識制御部26にペンID制御データの角度情報d44を送信して、手書き認識制御部26はペンIDに対応づけて保存されている角度情報でストロークを回転して手書き認識を実行する。
また、手書き認識制御部26が、ユーザーが文字等を手書きする時の角度情報を設定するための直線を認識した後、手書き認識制御部26はペンID制御データの角度情報d43をペンID制御データ保存部36に送信して、ペンIDに対応付けて角度情報d43を保存する。また、手書き入力表示制御部23が角度情報を設定する操作コマンドを実行後に、手書き入力表示制御部23はペンID制御データd42をペンID制御データ保存部36に送信して、操作コマンドの実行結果(ユーザーが設定した角度情報)をペンIDに対応付けて保存する。以降、そのペンIDのストロークは設定した角度情報で回転してから手書き認識が実行される。
また、手書き認識制御部26はペンID制御データの角度情報で時計回りに回転させたストロークデータd49を手書きサイン認証制御部38に送信する。これにより、ユーザーの位置(表示装置2に対しどの方向から手書きするか)に関わりなく手書きサインの認証が可能になる。
手書きサインデータ保存部39は、手書きサインデータを保持する。手書きサインデータ保存部39は、手書きサインデータ取得要求d45を手書きサイン認証制御部38から受信した場合、手書きサインデータd46を手書きサイン認証制御部38に送信する。手書きサインデータのフォーマットは手書きサイン認証制御部38の手書きサイン認証のアルゴリズムに依存するものとする。手書きサインデータ保存部39のデータについては図15にて説明する。
手書きサイン認証制御部38は手書き認識制御部26から時計回りに回転したストロークデータd49を受信すると、手書きサインデータ保存部39に手書きサインデータ取得要求d45を送信し、手書きサインデータ保存部39は手書きサインデータd46を手書きサイン認証制御部38に送信する。
手書きサイン認証制御部38は手書きサインデータに基づいてユーザーの認証を行う。手書きサインデータに基づくユーザーの認証には様々なアルゴリズムが考案されているが、本実施形態では実用に支障がない認識率で認識できる技術を使用するものとする。例えば、手書きサインデータを構成する座標、筆圧、ストロークを書く時間などを要素とする特徴ベクトルを生成して、要素に適宜重み付けをして、登録済みの手書きサインデータの特徴ベクトルとサインイン時にユーザーが手書きしたユーザー名等の特徴ベクトルを比較する。一致度が閾値以上の場合、認証成功と判定し、閾値未満の場合、認証失敗と判定する。
手書きサイン認証制御部38はストロークデータd49と手書きサインデータd46の比較結果である手書きサインの認証結果を保持しておき、別途、手書き入力表示制御部23から取得要求d48を受信した場合、保持している手書きサインの認証結果d47を手書き入力表示制御部23に送信する。手書きサインの認証結果は、ストロークデータd49と手書きサインデータd46が一致したと見なせるか否か、及び、一致したと見せる場合は、一致した手書きサインデータd46に対応付けられている後述するSignatureIdを有する。
手書き認識制御部26の手書き認識結果が手書きサイン登録の実行を指示する操作コマンドに適合する場合、手書き認識制御部26は手書き入力保存部25から手書きサイン登録フォーム(後述するように、手書きサインデータが入力される枠)に入力されたデータd52を取得し、データd52のうち手書きサインデータd50を手書きサイン認証制御部38に送信する。手書きサイン認証制御部38は受信した手書きサインデータd50を手書きサインデータ保存部39に送信して登録する。
手書き認識制御部26の手書き認識結果が手書きサインの取消指示の場合、手書き認識制御部26は手書き入力保存部25に手書きサイン登録フォームの削除要求d51を送信して、手書き入力保存部25から手書きサイン登録フォームを削除する。
手書き認識制御部26の手書き認識結果がユーザー定義データ変更の実行指示の場合、手書き認識制御部26は手書き入力保存部25からユーザー定義データ変更フォームに入力されたデータd53を取得する。手書き認識制御部26はデータd53のうち変更値d54を操作コマンド定義部33に送信し、ユーザー定義データを変更する。ユーザー定義データについては図14にて説明する。
手書き認識制御部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はファイルのメタデータを解析して、手書き入力起因データであるかどうかを判定し、手書き入力起因データであれば手書き入力保存データ(後述する白黒強調/カラー変換可能データ)を取り出す。手書き入力保存部25は手書き入力起因データを白黒強調表示に変換し、手書き入力起因データでなければ変換せずに手書き入力表示制御部23に送信する(グレースケール化で表示される)。手書き入力表示制御部23は手書きオブジェクトの表示データを表示部22に送信する。
図6(b)は、ペン2500の機能をブロック状に示す機能ブロック図である。ペン2500はペンイベント送信部41を有している。ペンイベント送信部41はペンアップ、ペンダウン、ペン座標のイベントデータにペンIDをつけて表示装置2に送信する。
<定義済み制御データについて>
次に、図7を用いて、表示装置2が各種の処理に使用する定義済み制御データについて説明する。図7は定義済み制御データの一例を示す。図7の例では制御項目ごとに制御データを示す。
選択可能候補表示タイマー401は、選択可能候補を表示するまでの時間を定義する。これは手書き中に選択可能候補を表示しないためである。図7では、ペンアップからTimerValue=500〔ms〕以内にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー401は候補表示タイマー制御部24が保持している。選択可能候補表示タイマー401は、後述する図32のステップS18−2において選択可能候補表示タイマー開始時に使用される。
選択可能候補消去タイマー402は表示した選択可能候補を消去するまでの時間を定義する。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図7では、選択可能候補の表示からTimerValue=5000〔ms〕以内に選択可能候補が選択されなければ選択可能候補表示データが消去されることを意味している。選択可能候補消去タイマー402は候補表示タイマー制御部24が保持している。選択可能候補消去タイマー402は図34のステップS64において選択可能候補表示消去タイマー開始時に使用される。
手書きオブジェクト近傍矩形領域403は手書きオブジェクトの近傍とみなす矩形領域を定義する。図7の例では、手書きオブジェクト近傍矩形領域403は、手書きオブジェクトの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図7の例では推定文字サイズの割合(%指定)となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きオブジェクト近傍矩形領域403は手書き入力保存部25が保持している。推定文字サイズ405は図31のステップS10において、手書きオブジェクト近傍矩形領域とストローク矩形領域の重なり状況の判定で使用される。
推定書字方向/文字サイズ判定条件404は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図7の例では、手書きオブジェクト矩形領域の最初にストロークが追加された時刻と最後にストロークが追加された時刻の差分がMinTime=1000〔ms〕以上で、手書きオブジェクト矩形領域の水平距離(幅)と垂直距離(高さ)の差分がMinDiff=10〔mm〕以上あり、水平距離が垂直距離より長い場合は、推定書字方向は「横書き」、推定文字サイズは垂直距離と判定することを意味する。水平距離が垂直距離より短い場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定することを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件404は手書き入力保存部25が保持している。推定書字方向/文字サイズ判定条件404は図34のステップS59における推定書字方向取得と、図37のステップS81における文字列オブジェクトフォント取得で使用される。
推定文字サイズ405は文字等のサイズを推定するためのデータを定義する。図7の例では、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズが、推定文字サイズ405の小さめ文字405a(以下、最小フォントサイズ、と呼ぶ)と大きめ文字405c(以下、最大フォントサイズ)と比較されることを意味する。推定文字サイズが最小フォントサイズより小さい場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズより大きい場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字405bの文字サイズと判定される。推定文字サイズ405は手書き入力保存部25が保持している。推定文字サイズ405は、図37のステップS81における文字列オブジェクトフォント取得で使用される。
手書き入力保存部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の種類を増やせばよい。
跨ぎ線判定条件406は複数のオブジェクトが選択されたか否かの判定に使用されるデータを定義する。手書きオブジェクトが単数のストロークであり、図7の例では、手書きオブジェクトの長辺の長さが100〔mm〕以上(MinLenLongSide="100mm")、かつ、短辺の長さが50〔mm〕以下(MaxLenShortSide="50mm")、かつ、手書きオブジェクトとの長辺方向と短辺方向の重なり率が80〔%〕以上(MinOverLapRate="80%")のオブジェクトがあれば、複数のオブジェクトが選択された(選択オブジェクト)と判定する。跨ぎ線判定条件406は操作コマンド認識制御部32が保持している。跨ぎ線判定条件406は図33のステップS50における選択オブジェクトの判定の跨ぎ線判定で使用される。
囲み線判定条件407は、オブジェクトが囲み線か否かの判定に使用されるデータを定義する。図7の例では、操作コマンド認識制御部32は手書きオブジェクトの長辺方向と短辺方向の重なり率が100%以上(MinOverLapRate="100%")の確定オブジェクトを選択オブジェクトと判定する。囲み線判定条件407は、操作コマンド認識制御部32が保持している。囲み線判定条件407は、図33のステップS50における選択オブジェクトの判定の囲み線判定で使用される。
なお、跨ぎ線判定条件406と囲み線判定条件407はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件406を緩やかにして(跨ぎ線を選択しやすくした場合)、囲み線判定条件407は厳密にした場合(囲み線のみを選択できるような値とした場合)、操作コマンド認識制御部32は囲み線判定条件407を優先して判定するのがよい。
<辞書データの一例>
図8〜図10を用いて辞書データについて説明する。図8は手書き認識辞書部27の辞書データの一例である。図9は文字列変換辞書部29の辞書データの一例である。図10は予測変換辞書部31の辞書データの一例である。なお、これらの辞書データはそれぞれ図33のステップS33〜S41で使用される。
本実施形態では、図8の手書き認識辞書部27の辞書データによる変換結果を言語文字列候補、図9の文字列変換辞書部29の辞書データによる変換結果を変換文字列候補、図10の予測変換辞書部31の辞書データによる変換結果を予測文字列候補と呼ぶ。各辞書データの「変換前」は辞書データを検索する文字列、「変換後」は検索する文字列に対応した変換後の文字列、「確率」はユーザーが選択する確率を表す。確率は過去にユーザーが各文字列を選択した結果から算出されている。従って、ユーザーごとに確率が算出されてもよい。確率の計算方法として様々なアルゴリズムが考案されているが、適宜、適切な方法で計算するものとすればよく、詳細は割愛する。本実施形態では、推定書字方向から文字列候補を選択確率降順で表示することを特徴とする。
図8の手書き認識辞書部27の辞書データは、手書きされた「ぎ」は、確率0.55で「議」、確率0.4で「技」、手書きされた「ぎし」は、確率0.5で「技士」、確率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は、ペン色を変更する操作コマンドである。ペン色とはユーザーが使用しているペンで入力された手書きデータの色である。操作コマンド定義データ709、710、711、720、721、722のそれぞれの操作コマンド名は「黒ペン」「赤ペン」「青ペン」「緑ペン」「マゼンタペン」「シアンペン」である。例えば、「黒ペン」の場合、文字列候補と部分一致する文字列が「くろ」又は「ペン」であり、ユーザーが「くろ」と書けば、操作コマンド候補には「黒ペン」のみが表示される。一方、「ペン」は「赤ペン」等においても文字列候補と部分一致する文字列(String)に該当するので、ユーザーが「ペン」と書けば、操作コマンド候補には「黒ペン」〜「シアンペン」が表示される。これらの操作コマンドが実行されると、図17に示すように、ユーザーが操作に使用したペン2500のペンIDに対応付けられた制御データが更新され、このペンIDのペンの色(ペンID制御データのColorId)が変更される。
操作コマンド定義データ719は、操作コマンド名が「ファイルを読み込む」、文字列候補と部分一致する文字列(String)が「ファイル」「読み込む」「読み込み」、実行する操作コマンドが「ReadFile https://%username%:%password%@server.com/files/」である。操作コマンド定義データ702と同様にシステム定義データと置き換えると、操作コマンドは「ReadFile https://taro.tokkyo:x2PDHTyS@server.com/files/」となり、このアドレス(フォルダー)のファイルを読み出す(ReadFile)ことを示す。この操作コマンドが実行されると、図12のようなファイル選択ウィンドウを表示装置2が表示する。図12のファイル選択ウィンドウは、このアドレス(フォルダー)に格納されているファイルの1ページ目などをサムネイルで表示する。
図12は図37のステップS94(ファイル一覧表示データ)で表示部22に表示されるファイル一覧表示データの一例である。図12(a)は、図37のステップS91のファイル一覧情報取得で取得されたファイル一覧情報から作成される。ファイル一覧情報は、ファイルアドレスの一覧を有し、表示部22は各ファイルアドレスからファイル名とサムネイルを抽出してファイル名昇順に並び替えて表示する。図12では表示部22が4つのサムネイルとファイル名を表示し、左右の矢印アイコン99で前後のサムネイルとファイル名を表示する。表示されたサムネイル又はファイル名がペンで押されると、表示部22は図12の画面を消去し、ペンが押されたファイルアドレスからファイル送受信制御部37がファイルを受信する。
右上隅の閉じるボタン98がペンで押下されると、表示部22は図12の画面を消去して、この操作コマンド定義データ719の実行がキャンセルされる。図12(a)(d)のPDFファイルが選択されると、ファイル送受信制御部37はPDFファイルを受信して手書き入力保存部25に保存して解析する。ファイル送受信制御部37は、手書き入力起因データであるテキストデータ(メタデータ有り)を、例えば図16の手書き入力保存データ801〜805のような手書き入力保存データ(白黒強調及びカラー変換可能データ)として保存する。白黒強調及びカラー変換可能データは、白黒強調もカラーへの変換も可能なデータ(主に手書き入力起因データ)である。手書き入力起因データでないテキストデータは、例えば図16の手書き入力保存データ806のような手書き入力保存データに変換して保存し、ディスプレー220に表示する。
図12(b)(c)のJPGファイルが選択されると、ファイル送受信制御部37は画像ファイルを受信して、手書き入力保存部25に例えば図16の手書き入力保存データ807のような手書き入力保存データとして保存して、ディスプレー220に表示する。
図11に戻って説明する。操作コマンド定義データ712は、テキストデータの方向を一定方向に揃えるための操作コマンドである。操作コマンド定義データ712の操作コマンド名は「テキスト方向を揃える」、文字列候補と部分一致する文字列が「テキスト」「向き」又は「方向」、操作コマンド文字列が「AlignTextDirection」である。ユーザーが天地方向以外から書き込んだテキストデータは向きがばらばらなので、ある1つの方向から全てを読み取りにくい。操作コマンド定義データ712をユーザーが実行すると、表示装置2は手書き認識した文字列を同一方向(例えば、天地方向)に揃える。この場合の揃えるとは、テキストデータを角度情報だけ回転させることをいう。
操作コマンド定義データ713は、操作コマンド名が「手書きサイン登録する」、文字列候補と部分一致する文字列が「サイン」と「登録」、操作コマンド文字列が「RegistSignature」であることを示す。RegistSignatureコマンドが実行されると、手書き入力保存部25に手書きサイン登録フォームが追加され、操作画面101に手書きサイン登録フォームが表示される。手書きサイン登録フォームの一例については後述する(図27参照)。
操作コマンド定義データ714は、操作コマンド名が「手書きサインインする」、文字列候補と部分一致する文字列が「%signature%」、操作コマンドが「Signin」であることを示す。ここで「%signature%」はシステム定義データの予約語であり、登録済みの手書きサインデータとユーザー名等のストロークデータが適合した事実を表すものとする。つまり適合すると操作コマンド定義データ714に基づく操作コマンド512が操作ガイド500に表示される(図28参照)。
Signinコマンドが実行されると、ユーザー名等のストロークデータを手書きしたペン2500のペンID制御データに、適合した手書きサインデータのSignatureIdをもつユーザーのAccountIdが保存される。これによってペンIDとAccountIdが対応付けられ、このAccountIdで特定されるユーザー定義データを表示装置2が使用することができる(図17(a)参照)。
操作コマンド定義データ715は、操作コマンド名が「手書きサインアウトする」、文字列候補と部分一致する文字列が「サイン」又は「アウト」、操作コマンドが「Signout」であることを示す。Signoutコマンドが実行されると、手書きサインアウトを操作したペン2500のペンID制御データからAccountIdが削除される。これによってペンIDとAccountIdの対応付けがなくなり、ペン2500を任意のユーザーが使用できるようになる。
操作コマンド定義データ716は、操作コマンド名が「設定変更する」、文字列候補と部分一致する文字列が「設定」又は「変更」、操作コマンドが「ConfigSettings」であることを示す。ConfigSettingsコマンドが実行されると、手書き入力保存部25にユーザー定義データ変更フォームが追加され、操作画面101にユーザー定義データ変更フォームが表示される。ユーザー定義データ変更フォームについては後述する(図29参照)。
続いて、選択オブジェクトがある場合の操作コマンド定義データ、つまり編集系及び修飾系の操作コマンド定義データについて説明する。図13は手書きオブジェクトにより選択された選択オブジェクトがある場合の操作コマンド定義データの一例を示す。図13の操作コマンド定義データは、操作コマンド名(Name)、操作コマンドの候補のグループ名(Group)、実行する操作コマンド文字列(Command)を有する。
操作コマンド定義データ707は編集系(Group="Edit")の操作コマンドを定義しており、編集系の操作コマンド名「消去」「移動」「回転」「選択」の定義データ例である。つまり、選択オブジェクトに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。
操作コマンド定義データ708は修飾系(Group="Decorate")の操作コマンドを定義しており、修飾系の操作コマンド名「太く」「細く」「大きく」「小さく」「下線」の定義データ例である。選択オブジェクトに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。この他、色の操作コマンドが表示されてもよい。
従って、ユーザーが選択オブジェクトを手書きオブジェクトで選択することで、操作コマンド定義データ707、708が特定されるため、ユーザーが手書きすることで操作コマンドを表示させることができる。
<ユーザー定義データ>
次に、図14を用いてユーザー定義データについて説明する。図14は、操作コマンド定義部33が保持するユーザー定義データの一例を示す。図14のユーザー定義データは一人分のユーザーの定義データ例である。ユーザー定義データ717のAccountIdはユーザーごとに自動的に採番されるユーザーの識別情報、AccountUsernameとAccountPasswordはユーザー名とパスワード、SignatureIdは手書きサインデータ登録時に自動的に採番される手書きサインデータの識別情報、username, password, machinenameはそれぞれシステム定義データ704〜706の替わりに操作コマンド定義データ701〜703に設定される文字列である。これにより、ユーザー定義データを使用した操作コマンドの実行が可能になる。
ユーザーがユーザー名などを手書きしてサインインした場合、手書き入力表示制御部23はペンIDとAccountIdがペンID制御データに対応付けられていることを利用する(図17(a)参照)。手書き入力表示制御部23はユーザーが使用するペン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にユーザーが登録することも可能であり、ユーザーは自分が定義したカラー定義データで入力できる。
<手書きサインデータ>
次に、図15を用いて、手書きサインデータについて説明する。図15は、手書きサインデータ保存部39が保持する手書きサインデータの一例を示す。手書きサインデータはSignatureIdに対応付けられた手書きサインを表すDataを有する。SignatureIdは手書きサインデータ登録時に自動的に採番される識別情報、Dataは手書きサイン認証制御部38の手書きサイン認証アルゴリズムが、手書きサイン認証制御部38から受信したストロークデータから計算したデータである。
<手書き入力保存部が保存する手書き入力保存データ>
次に、図16を用いて、手書き入力保存データについて説明する。図16は、手書き入力保存部25が保存している手書き入力保存データの一例を示す。図16の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はテキストの内容(文字コード)である。
手書き入力保存データ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が判定できる。
手書き入力保存部25はファイル送受信制御部37が読み取ったファイルのテキストデータのカラーをColorId="#e6001200"のように保存する。従って手書き入力保存データ806は白黒強調には対応せず、カラー変換にのみ対応している。
手書き入力表示制御部23は、ColorIdで手書き入力起因データかどうかを判定して、手書き入力起因データでない場合はRGBAからグレースケール値を計算して表示する。表示装置2がカラー対応装置の場合はRGBAそのままを表示する。
手書き入力保存データ807もファイル読み込みコマンドで記憶媒体から読み込まれた画像ファイルである。TypeがImageの場合、手書き入力保存データ807はFileId 、FileNameを有する。FileIdは手書き入力保存データ内の管理番号、FileNameはオリジナルのファイル名である。例えば、ファイル送受信制御部37が図12(a)の「color_chart.pdf」のファイルを読み込んだ場合、中心部のRGBCMYのテキストは手書き入力保存データ806の形式で、リング状のカラー部分は手書き入力保存データ807の形式で、それぞれ手書き入力保存部25に保存される。なお、TypeがImageの手書き入力保存データは当然、手書き入力起因データでない。したがって、手書き入力表示制御部23はTypeによって手書き入力起因データかどうかを判断してもよい。
図16では、ColorIdの値で手書き入力起因データか否かを判定しているが、手書き入力起因データかどうかを専用のフラグなどで手書き入力表示制御部23が記録してもよい。また、Typeがストロークの手書きデータに限られるが、機械学習で形状から手書き入力起因データかどうかを判定することもできる。この場合、学習装置はディープラーニングなどで手書き入力起因データかそうでないかの教師データと文字の形状の対応を学習し、入力された文字の形状に基づいて手書き入力起因データかそうでないかを出力する。
また、手書き入力起因データには手書きデータが文字認識して変換されたテキストデータだけでなく、「済」「秘」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて変換されたデータが含まれてよい。
手書き入力保存データは、図30のステップS7(ペン座標と受信時刻)、図37のステップS88(手書き入力保存データの取得)、図37のステップS96(ファイル保存)等で使用される。
<ペンID制御データ保存部が保存するペンID制御データ>
次に、図17を用いて、ペンID制御データについて説明する。図17は、ペンID制御データ保存部36が保存するペンID制御データを説明する図である。ペンID制御データは手書き入力起因データの色などを制御する。図17では4つのペン2500があることを示す。図17(a)の1行が1つのペンのペンID制御データを示す。また、図17(b)は表示装置2に対しユーザーが手書きする時の角度情報を説明する図である。角度情報はユーザーが存在する方向の角度とも言えるし、ペンが使用される方向の角度とも言えるし、ユーザーが手書きした文字の回転に関する角度とも言える。表示装置2の所定の方向(例えば天地方向)を0度(基準)として、各ユーザーの角度情報は反時計回りに45度、90度、135度、180度、225度、270度、315度、である。
なお、角度情報はユーザーの位置によって自動的に決まるわけではなく、各ユーザーが角度情報を入力する(指定する)。指定可能な角度情報の分解能(図17では45度)は一例に過ぎず、より小さい5度〜30度などでもよい。ただし、45度くらいで回転した文字であれば、ユーザーは読めると考えられる。
ペンID制御データは、PenId、ColorId、Angle及びAccountIdを有している。AccountIdはユーザーがサインインに使用したペンについて対応付けられる。 PenIdはペン2500のペン内部に保存されている識別情報である。ColorIdはこのペン2500を使用するユーザーが何色を選択したかを示す(ユーザーが任意に変更可能)。ColorIdには後述するカラー定義データのカラーIDが設定される。カラー定義データで各カラーの詳細、太さ等が定義されている。
Angleはこのペン2500に設定されているストロークの角度情報である(ユーザーが任意に変更可能)。図17(a)の例では、各ペンの角度情報は反時計回りに0度、90度、180度、270度となっている。AccountIdはユーザーの識別情報である。ペンIDにAccountIdが対応付けられることで、ユーザーが使用するペン2500のペンIDに対応付けられているAccountIdを特定でき、ユーザー定義データを使用して操作コマンドを実行できる。
ペンID制御データ901はPenIdが1のペンID制御データで、色は黒(Black)、角度情報は0度、AccountId=1である。AccountId=1のユーザーは図14のユーザー定義データ717のユーザーである。このユーザーがPenId=1のペンでユーザー名などを手書きしてサインインし、黒を選択したことを示す。AccountIdがないペンID制御データはサインアウト状態(ユーザーと対応付けられていない)であることを示す。
ペンID制御データは、図30のステップS5(ペンID制御データ取得)、図32のステップS20(ペンID制御データの角度情報を保存)、図32のステップS21(ペンID制御データの角度情報を取得)、図34のステップS60(ペンID制御データの取得)で使用される。
<カラー定義データ>
図18は、カラー定義データの一例を示す。カラー定義データの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は、白黒強調対応装置では、ベタ黒3ピクセル幅+外側から黒縁1ピクセル幅+白縁2ピクセル幅で表示し、カラー対応装置では、カラーチャートの赤の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1003は、白黒強調対応装置では、ベタ白4ピクセル幅+黒縁1ピクセル幅で表示し、カラー対応装置では、カラーチャートの青の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1004は、白黒強調対応装置では、黒のドットパターン4ピクセル幅+黒縁1ピクセル幅で表示し、カラー対応装置では、カラーチャートの緑の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1005は、白黒強調対応装置では、黒の右上斜線パターンで白は透明の5ピクセル幅+フチなしで表示、カラー対応装置では、カラーチャートのマゼンタの透明度60%で表示することを示す。カラー定義データ1006は、白黒強調対応装置では、黒の水平線パターンで白は透明の5ピクセル幅で表示し、カラー対応装置では、カラーチャートのシアンの透明度60%、で表示することを示す。
このように、カラー定義データは白黒強調及びカラー変換可能データを有している。カラー定義データは手書き入力保存部25が保持しており、手書き入力保存データの変換に使用する。
カラー定義データをシステム定義データとユーザー定義データに定義しておき、ユーザー定義データにカラー定義データを変更するフォームを追加すれば、サインイン後にユーザーは個人好みのカラー定義に変更することができる。
図19は、図18のカラー定義データを使用して、白黒強調表示されたデータとカラー表示方法で表示されたデータを示す。図19(a)は白黒強調対応装置が白黒強調表示したもので、図19(b)はカラー対応装置がカラーに変換して表示したものである。作図の都合で、図19(b)も白黒(ハッチング)になっている。
符号C1は手書き入力起因データである「黒」「赤」「青」緑」「マゼンタ」「シアン」のテキストである。符号C2は「黒」「赤」「緑」「マゼンタ」「シアン」のストローク(手書き) である。符号C3はバネ状の一筆書きのストローク(手書き) である。符号C4はドーナツ状のカラーチャート(画像)である。符号C5はカラーチャートの内側のRGBCMY(手書き入力起因データではないテキスト)である。符号C3の下には手書き入力起因データである黒の「Transparent」というテキストがある。
符号C4のカラーチャートと符号C5のRGBCMYというテキストはPDFファイル等から読み込まれたデータであり、手書き入力起因データではないものとする。従って、図16に示した手書き入力保存部25が保存する手書き入力保存データとして説明すると、符号C2のストローク(手書き)は図16の手書き入力保存データ801、802として保存される。符号C1の手書き入力起因データであるテキストは図16の手書き入力保存データ804,805として保存される。符号C5の手書き入力起因データでないテキストは図16の手書き入力保存データ806として保存される。符号C4の画像は図16の手書き入力保存データ807のような手書き入力保存データとして保存される。各手書き入力保存データの色情報はColorIdで定義されている。
図19(a)と(b)を比較すると分かるように、図19(b)の符号C10のカラーチャート内側のテキスト「R」の赤は手書き入力起因データではない。このため、テキスト「R」が、図19(a)ではグレースケールで表示されている。これに対し、符号C6のテキスト「赤」は手書き入力起因データなので図19(a)では白黒強調表示される。
また、マゼンタとシアンは透過色であるため、図19(b)では「Transparent」が透過して見えている。図19(a)でもマゼンタとシアンでは白が透明のパターンを使用しているため透過して表示される。このように、白黒強調対応装置では目立たせる目的のカラーを白黒強調表示することができ、カラーデバイスではカラーに変換して表示できるようになる。
カラー定義データは、図30のステップS6(座標補完表示データ)、図37のステップS82(文字列オブジェクト表示データ)、図37のステップS100(オブジェクトの表示データ)で使用される。
<ペン色選択ボタン定義データ>
次に、図20と図21を用いてユーザーによるペン色の選択方法を説明する。図20は、ペン色選択ボタン定義データの一例である。ペン色選択ボタン定義データは、ディスプレー220に表示されるペンボタンとColorIdを対応付けるデータである。ペン色選択ボタン定義データは、ペンボタンID(PenButtonId)、アイコンファイル(Icon)、カラーID(ColorId)、及び、フォント名(FontName)を有している。
図21は、ディスプレーに表示されるペンボタン81〜86の一例である。ペンボタン81〜86は上記アイコンファイルで表示される。ペンボタン81〜86はペンボタンIDが若い順に左から右に並んで表示されているものとする。
ペン色選択ボタン定義データ1101は最も左に表示されるペンボタン81の定義データである。ユーザーがペンボタン81をペン2500で押下すると、そのペン2500で手書きされるストロークデータはColorIdが"Black"になり、手書き認識後のテキストのフォントは"明朝体"となる。ペン色選択ボタン定義データ1101は左から2番目に表示されるペンボタン82で、ストロークデータのColorIdは"Red"、手書き認識後のテキストのフォントは"ポップ体となる。同様に、ペン色選択ボタン定義データ1103〜1106は、ペンボタン83から86の、ボタンの表示位置、ColorId、テキストのフォントを定義する。
図21(a)はペン色選択ボタン定義データに基づいて白黒強調表示されたテキストフォント表示例を示す。テキストフォント表示例は説明のための表示であるが、ユーザーがペン2500をホバーさせると表示されてよい。図21(b)はペン色選択ボタン定義データに基づいてカラー対応装置でカラー表示されたテキストフォント表示例を示す(実際はカラーだが作図の都合上白黒となっている)。
図21(a)に示すように、白黒強調だけでなく、フォントを変更することで、より効果的に白黒強調表示することができるようになる。
ペン色選択ボタン定義データもシステム定義データとユーザー定義データに定義しておき、ユーザー定義データにペン色選択ボタン定義データを変更するフォームを追加すれば、手書きサイン認証後に個人好みのペン色選択ボタンに変更することができる。従って、ColorIdとフォントの対応は一例に過ぎない。
ペン色選択ボタンは、図30のステップS6(座標補完表示データ)、図37のステップS82(文字列オブジェクト表示データ)、図37のステップS100(オブジェクトの表示データ)で使用される。
<選択可能候補の表示例>
図22は操作ガイドと操作ガイドが表示する選択可能候補530の一例である。ユーザーが手書きオブジェクト504を手書きすることで(選択可能候補表示タイマーのタイムアウトにより)、操作ガイド500が表示される。操作ガイド500は、操作ヘッダー520、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、及び、手書きオブジェクト矩形領域表示503を有している。選択可能候補530は、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508である。この例では言語変換文字列がないが表示される場合がある。また、操作コマンドの候補510を除く選択可能候補530を文字列候補539という。
操作ヘッダー520はボタン501、509、502、505を有する。ボタン501は予測変換とカナ変換の切り替え操作を受け付ける。図22の例ではユーザーが「予測」と表示されているボタン509を押下すると手書き入力部21がそれを受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が「かな」というボタン509に表示を変更する。変更後は、文字列候補539が「カナ変換」の確率降順で並ぶ。
ボタン502は候補表示のページ操作をする。図22の例では候補表示ページは3ページあり、現在は1ページ目を表示している。ボタン505は操作ガイド500の消去を受け付ける。ユーザーがボタン505を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きオブジェクト以外の表示を消去する。ボタン509は一括表示消去を受け付ける。ユーザーがボタン509を押下すると手書き入力部21が受け付ける。手書き入力部21は手書き入力表示制御部23にその旨を通知する。表示部22が手書きオブジェクトを含め、図22に示されているすべての表示を消去して、ユーザーが最初から手書きをしなおすことを可能にする。
手書きオブジェクト504はユーザーが手書きした「ぎ」という文字である。手書きオブジェクト504を囲む手書きオブジェクト矩形領域表示503が表示される。表示の手順は図30〜図37のシーケンス図で説明する。図22の例では点線枠で手書きオブジェクト矩形領域表示503が表示されている。
手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508にはそれぞれの文字列候補が確率降順で並んでいる。手書き認識文字列候補506の「ぎ」は認識結果の候補である。この例では表示装置2が正しく「ぎ」を認識している。
変換文字列候補507は言語文字列候補から変換された変換文字列候補である。この例の「技量試」とは「技術量産試作」の略名である。文字列/予測変換の候補508は言語文字列候補又は変換文字列候補から変換された予測文字列候補である。この例では「技量試を決裁」と「議事録の送付先」が表示されている。
操作コマンドの候補510は図11(a)の操作コマンド定義データ701〜703、709〜716に基づいて選択された操作コマンドの候補である。図22の例では行頭文字の「》」511が操作コマンドの候補であることを示している。図22では手書きオブジェクト504である「ぎ」が選択する選択オブジェクトがなく、「ぎ」の文字列候補である「議事録」が、図11(a)の操作コマンド定義データ701,702と部分一致したため、操作コマンドの候補510として表示されている。
ユーザーが「議事録テンプレートを読み込む」を選択すると、操作コマンド定義データ701で定義された操作コマンドが実行され、「議事録フォルダーに保存する」を選択すると、操作コマンド定義データ702で定義された操作コマンドが実行される。このように操作コマンドの候補は、変換された文字列を含む操作コマンド定義データが見つかる場合に表示されるため、常に表示されるとは限らない。
図22に示すように、文字列候補と操作コマンドの候補が同時に(共に)表示されるため、ユーザーは自分が入力しようとした文字列候補と操作コマンドのどちらも任意に選択できる。
<選択オブジェクトの指定例>
本実施形態の表示装置2は確定オブジェクトをユーザーが手書きにより選択することで選択オブジェクトを指定できる。選択オブジェクトは編集又は修飾の対象となる。
図23は、選択オブジェクトの指定例を説明する図の一例である。図23では、手書きオブジェクト11は黒色実線、手書きオブジェクト矩形領域12を灰色網掛け、確定オブジェクト13を黒線、選択オブジェクト矩形領域14を点線でそれぞれ表示している。なお、符号に付加された小文字のアルファベットがそれぞれを区別するために使用される。また、確定オブジェクトを選択オブジェクトと判定するための判定条件(所定の関係にあるか否か)として、図7に示した定義済み制御データの跨ぎ線判定条件406又は囲み線判定条件407が使用される。
図23(a)は横書きの2つの確定オブジェクト13a、13bをユーザーが跨ぎ線(手書きオブジェクト11a)で指定した例である。この例では、手書きオブジェクト矩形領域12aの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定オブジェクト13a、13bとの重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「議事録」と「ぎじ」の両方の確定オブジェクト13a、13bが選択オブジェクトとして指定されている。
図23(b)は横書きの確定オブジェクト13cを囲み線(手書きオブジェクト11b)でユーザーが指定した例である。この例では、確定オブジェクト13cと手書きオブジェクト矩形領域12cの重なり率が囲み線判定条件407の条件を満たしている「議事録」という確定オブジェクト13cだけが選択オブジェクトとして指定されている。
図23(c)は縦書きの複数の確定オブジェクト13d、13eを跨ぎ線(手書きオブジェクト11c)で指定した例である。この例では、図23(a)と同様に、手書きオブジェクト矩形領域12dの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、「議事録」と「ぎじ」という2つの確定オブジェクト13d、13eそれぞれとの重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「議事録」と「ぎじ」の両方の確定オブジェクト13d、13eが選択オブジェクトとして指定されている。
図23(d)は縦書きの確定オブジェクト13fを囲み線(手書きオブジェクト11d)でユーザーが指定した例である。この例では、図23(b)と同様に、「議事録」という確定オブジェクト13fだけが選択オブジェクトとして指定されている。
<操作コマンドの候補の表示例>
図24は、図13に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図24(a)は編集系の操作コマンドの候補であり、図24(b)は修飾系の操作コマンドの候補である。また、図24(a)は図23(a)の手書きオブジェクト11aで選択オブジェクトが指定された例を示す。
図24(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。メインメニュー550には最後に実行された操作コマンド名又は操作コマンド定義データで先頭の操作コマンド名が表示される。1行目の行頭文字「》」511aは編集系の操作コマンドの候補であり、2行目の行頭文字「》」511bは修飾系の操作コマンドの候補である。
行末の「〉」512はサブメニューがあることを示す(サブメニューボタンの一例)。1行目の「〉」512aは編集系の操作コマンドの候補であるサブメニュー(最後に選択された)を表示させる。2行目の「〉」512bは修飾系の操作コマンドの候補である残りのサブメニューを表示させる。ユーザーが「〉」512を押下すると、その右側にサブメニュー560が表示される。サブメニュー560には操作コマンド定義データで定義されている全ての操作コマンドが表示される。図24(a)の表示例ではメインメニューが表示された時から1行目の「〉」512aに対応したサブメニュー560も表示されている。サブメニュー560は1行目の「〉」512aの押下により表示されてもよい。
ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択オブジェクトに対して実行する。すなわち「消去」521が選択されると「Delete」、「移動」522が選択されると「Move」、「回転」523が選択されると「Rotate」、「選択」524が選択されると「Select」をそれぞれ実行する。
例えば、ユーザーが「消去」521をペンで押下すると「議事録」と「ぎじ」を消去でき、「移動」522,「回転」523、「選択」524を押すとバウンディングボックス(選択オブジェクトの外接矩形)が表示される。ユーザーが「移動」522と「回転」523を押下すると、ペンのドラッグ動作でバウンディングボックスを移動又は回転できる。ユーザーが「選択」524を押下すると、その他のバウンディングボックスの操作を実行できる。
操作コマンドの候補以外の文字列候補である「一」541、「一、」542、「〜」543、「→」544、「⇒」545は跨ぎ線(手書きオブジェクト11a)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図24(b)では2行目の「〉」512bの押下により、図24(b)のサブメニューが表示される。図24(b)の表示例も図24(a)と同様にメインメニュー550とサブメニュー560が表示されている。図13の操作コマンド定義データに基づいて、「太く」531が選択されると「Thick」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「細く」532が選択されると「Thin」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「大きく」533が選択されると「Large」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「小さく」534が選択されると「Small」を手書き入力表示制御部23が選択オブジェクトに対して実行する。下線535が選択されると「Underline」を手書き入力表示制御部23が選択オブジェクトに対して実行する。
なお、「太く」531が選択された場合にどのくらい太くするか、「細く」532が選択された場合にどのくらい細くするか、「大きく」533が選択された場合にどのくらい大きくするか、「小さく」534が選択された場合にどのくらい小さくするか、下線535が選択された場合の線種等は、固定値が別途定義されている。あるいは、図24(b)のサブメニューが選択されると別途、選択メニューが開かれユーザーが調整できるようになっているとなおよい。
ユーザーが「太く」531をペンで押下すると「議事録」と「ぎじ」という確定オブジェクト13a、13bを構成する線を手書き入力表示制御部23が太くする。ユーザーが「細く」532をペンで押下すると、「議事録」と「ぎじ」を構成する線を手書き入力表示制御部23が細くできる。ユーザーが「大きく」533をペンで押下すると手書き入力表示制御部23が大きくできる。ユーザーが「小さく」534をペンで押下すると手書き入力表示制御部23が小さくできる。ユーザーが「下線」535をペンで押下すると下線を手書き入力表示制御部23が追加できる。
図25は、図13に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図24(a)(b)との相違は、図25(a)(b)は図23(b)の手書きオブジェクト11b(囲み線)で選択オブジェクトが指定された例を示す。図24と図25を比較すると分かるように手書きオブジェクトが線か囲み線かによって表示される操作コマンドの候補に違いはない。手書き入力表示制御部23は選択オブジェクトが指定されると操作コマンドの候補を表示部22に表示させるためである。しかし、手書き入力表示制御部23は、手書きオブジェクトを認識して手書きオブジェクトに応じて表示する操作コマンドの候補を変更してもよい。この場合、認識された手書きオブジェクト(一や○など)に図13のような操作コマンド定義データが対応付けられている。
図25において操作コマンドの候補以外の文字列候補である「○」551、「∞」552、「0」553、「00」554、「ロ」555は囲み線(手書きオブジェクト11b)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
<角度情報の入力例>
次に、図26を用いて角度情報の入力方法を説明する。図26は、角度情報の入力方法を説明する図の一例である。図26では表示装置2の3時の方向に存在するユーザーが角度情報を入力する場合を説明する。3時の方向から手書きされた文字等は時計回りに90度回転されると正しく認識されるので、90度の角度情報が入力されるとよい。
図26(a)は、ペンID制御データの角度情報が0度(初期値)の状態で、表示装置2の3時の方向に存在するユーザーが「ぎ」を手書きしたため、操作ガイド500が表示された状態を示す。表示装置2は3時の方向から手書きした「ぎ」を、角度情報が0度のまま文字認識するため、期待とは違う選択可能候補530が表示されている。
角度情報を入力する場合、ユーザーは操作ガイド500内に、ユーザーから見て上から下方向に直線を手書きする。図26(b)はこの直線521の一例を示す。角度情報が0度である6時の方向とこの直線521との反時計回りのなす角αが角度情報である。すなわち、始点Sから6時の方向に下ろした直線522と、ユーザーが入力した直線521の反時計回りのなす角αが角度情報である。簡単には、直線521の終点方向が角度情報である。従って、図26(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は、所定範囲から直線を検出し、所定範囲外に手書きされたストロークデータをテキストデータに変換する。
図26(c)は、図26(b)の操作直後の操作ガイド500を示す。ペンID制御データには角度情報(Angle)として90度が設定されたので、手書きオブジェクト(ストロークデータ)が内部的に90度だけ時計回りに回転して手書き認識され、操作ガイド500は90度だけ反時計回りに回転して表示されている。なお、角度情報はメニューからユーザーが手動で入力してもよい。
<手書きサインデータの登録例>
次に、図27を用いて手書きサインデータの登録例を説明する。図27は手書きサインデータの登録方法を説明する図である。まず、図27(a)は「サイン」とユーザーが手書きした場合に表示される選択可能候補530の一例である。「サイン」という文字列と部分一致する、操作コマンド定義データ713,715に基づく「手書きサイン登録する」と「手書きサインアウトする」の二つの操作コマンド513,514と、「サイン」「サイン会」「サイン入り」の文字列候補が表示されている。2つの操作コマンド513,514が表示されたのは、図11の操作コマンド定義データ713,715のStringが「サイン」を有するためである。
ユーザーがペン2500で「手書きサイン登録する」を押下すると、手書き入力保存部25に図27(b)の手書きサイン登録フォーム561が追加され、操作画面101に表示される。例えば、図27(a)の操作ガイド500が消去され、操作ガイド500と同じ場所に手書きサイン登録フォーム561が表示される。手書きサイン登録フォーム561は上段から、名前入力欄561a、サイン入力欄561b〜561d、及び、登録確定欄561eを有する。ユーザーは、名前入力欄561aに名前のテキスト、サイン入力欄561b〜561dに1回目の手書きサイン、2回目の手書きサイン、3回目の手書きサイン、登録確定欄561eにチェックマーク又は取消マークを入力する。名前のテキストはこのユーザーの表示名であり、テキストデータに変換される。手書きサインが3回も入力されるのは、手書きサインはユーザーが書くたびに異なり完全一致しない前提で特徴量を登録しておくためである。
なお、手書きサインは一般にはユーザー名等、ユーザーに関する文字等であり、ユーザー名の他、社員番号などの数字、ニックネーム、似顔絵などでもよい。また、手書きサインはユーザーに関する文字等に限られず、何らかの手書きオブジェクトであればよい。例えば、手書きサインは、丸、三角形、四角形、記号やその組み合わせでもよい。手書きサインは、座標だけが特徴データとなるわけではないので、同姓のユーザー(例えば、鈴木さん)がどちらも「すずき」という手書きサインを登録しても正しく認証できる。
手書きサイン登録フォーム561にユーザーが指示通りに手書きをすると、図27(c)に示す手書きサイン登録フォーム561となる。登録確定欄561eに「チェックマーク」をユーザーが手書きすると手書きサインデータが手書きサインデータ保存部39に登録され手書きサイン登録フォーム561は削除される。登録によりSignatureIdが採番され、同様に採番されたAccountIdと名前入力欄561aに名前のテキストがSignatureIdに対応付けてユーザー定義データに登録される。ユーザーがユーザー名等を手書きしてサインインすると、ユーザー定義データでAccountIdに対応付けられたSignatureIdが取得され手書きサインインに使用したペン2500のペンIDに対応づけてペンID制御データに登録される。以降は、ユーザーがペン2500を使用すればペンIDが表示装置2に送信され、ペンID制御データでペンIDに対応付けられたAccountIdを特定でき、ユーザーが意識しなくてもユーザー定義データを使用した操作コマンドの実行が可能になる。
登録確定欄561eに「×」をユーザーが手書きすると手書きサイン登録は取り消され手書きサイン登録フォーム561は削除される。なお、登録に関して何らかのエラーが発生した場合、操作画面101のシステム予約領域などにその旨が表示される。
このように、手書き入力表示制御部23はフォームへの手書き入力とフォーム以外の手書き入力を区別せずに手書き入力を受け付けることができる。
<手書きよるサインインの一例>
次に、図28を用いて、手書きサインデータの登録後に、ユーザーがサインインする方法を説明する。図28は、ユーザーが登録した手書きサインデータである「すずき」と手書きした場合に表示される操作ガイド500の一例である。「すずき」が手書きサインデータとして手書きサインデータ保存部39に登録されているので、「すずき」が手書きサインデータと適合する。このため、「手書きサインインする」という操作コマンド512が表示されている。
また、手書きサインデータが適合したので「すずき」を表すSignatureIdが特定され、このSignatureIdに対応付けられているAccountIdを有するユーザー定義データが特定される。
ユーザーが「手書きサインインする」という操作コマンド512を選択すると、使用しているペン2500のペンIDに「すずき」のAccountIdを対応付けてペンID制御データに追加され、「すずき」のユーザー定義データが操作コマンドの使用時に使用されるようになる。
図27の手書きサイン登録フォーム561を用いた手書きサインデータの登録は、文字等の通常の手書き入力と同様に制御される。このため、手書きサイン登録フォーム561は、文字等が手書きされる操作画面と同じ操作画面に表示される。手書きサイン登録フォーム561の内外の手書き操作に違いはなく、ユーザーは手書きサイン登録フォーム561の罫線で区切られた領域に手書き入力するだけで手書きサイン登録フォーム561への入力を完了させることができる。
<ユーザー定義データの変更操作例>
次に、図29を用いて、ユーザー定義データの変更方法を説明する。図29は、ユーザー定義データの変更方法を説明する図である。図29(a)は、ユーザーが「せ」と手書きした時に表示される操作ガイド500の一例である。図11に示した操作コマンド定義データ716はStringに「設定」が定義されており、「せ」の予測文字列に「設定」があったため、「設定変更する」という操作コマンドが表示された。
ユーザーが、手書きでサインインしたペン2500で「設定変更する」を選択すると、ペンID制御データでこのペン2500のペンIDに対応付けられているユーザーのAccountIdが特定される。これにより、サインインしたユーザーのユーザー定義データが特定され、図29(b)のユーザー定義データ変更フォーム562が手書き入力保存部25に追加される。ユーザー定義データ変更フォーム562は操作画面101に表示される。図29の例では、図14のユーザー定義データ718に従ってユーザー定義データ変更フォーム562が作成される。ユーザー定義データ変更フォーム562は名前欄562a、パスワード欄562b、フォルダーユーザー名欄562c、フォルダーパスワード欄562d、フォルダーファイル名欄562e、及び、登録又は取消欄562fを有する。
なお、予めユーザーが手書きでサインインしていないと表示装置2はユーザーのAccountIdを特定できないのでエラーとなり、操作画面101のシステム予約領域などにエラーメッセージが表示される。
図29(b)のユーザー定義データ変更フォーム562の、パスワード欄562bにパスワードをユーザーが手書きする。フォルダーユーザー名欄562cにフォルダーユーザー名をユーザーが手書きする。フォルダーパスワード欄562dにフォルダーパスワードをユーザーが手書きする。フォルダーファイル名欄562eにフォルダーファイル名をユーザーが手書きする。登録又は取消欄562fに「チェックマーク」又は「×」をユーザーが手書きする。これらにより、ユーザー定義データの変更が実行され、ユーザー定義データ変更フォーム562は削除される。
このように、ユーザーはユーザー定義データ変更フォーム562を呼び出すストロークデータを手書きすることで、ユーザー定義データ変更フォーム562を表示させ、ユーザー定義データを任意に変更できる。手書き入力表示制御部23はフォームへの手書き入力とフォーム以外の手書き入力を区別せずに手書き入力を受け付ける。
なお、名前欄562aには、ユーザー定義データが有するAccountUsernameが自動で表示される。また、ユーザー定義データ変更フォーム562は変更だけでなく登録にも使用可能である。
図29のユーザー定義データ変更フォーム562を用いたユーザー定義データの変更は、文字等の通常の手書き入力と同様に制御される。このため、ユーザー定義データ変更フォーム562は文字等が手書きされる操作画面と同じ操作画面に表示される。ユーザー定義データ変更フォーム562の内外の手書き操作に違いはなく、ユーザーはユーザー定義データ変更フォーム562の罫線で区切られた領域に手書き入力するだけでユーザー定義データ変更フォーム562への入力を完了させることができる。
<動作手順>
以上の構成と図30〜図37を用いて、表示装置2の動作について説明する。図30〜図37は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図30の処理は、表示装置2が起動すると(アプリケーションが起動すると)スタートする。なお、図30〜図37ではスペースの都合上、符号で図6の機能を示した。
手書きデータの入力を開始する前に、ユーザーはペンボタン81〜86を選択済みである(PenIdが特定されている)。従って、
a.ペン色選択ボタン定義データでペンボタンID、ColorId及びフォントが特定され、
b.ペンID制御データにはPenIdとColorIdが登録される。
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制御データ(ColorId(角度情報はまだゼロとし、まだAccountIdはない))を手書き入力表示制御部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内で直線が検出された場合に実行される。
S20−2:手書き認識制御部26は選択可能な候補表示矩形をクリアする。
S21:次に、手書き認識制御部26は、手書き入力部21から受信したペンIDを指定して、ペンID制御データ保存部36から現在のペンID制御データの角度情報を取得する。
S22:手書き認識制御部26は、ストロークデータ保持領域のストロークデータを取得した角度情報で時計回りに回転する。
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及び手書きサイン登録フォーム561の名前入力欄561aに入力された名前がユーザー定義データにない場合、ユーザー定義データを新規に追加する。また、手書き認識制御部26はAccountIdを採番し、そのユーザー定義データにSignatureIdを保存する。名前入力欄561aに入力された名前がユーザー定義データにある場合は、そのユーザー定義データにSignatureIdを保存する。この処理によってAccountIdとSignatureIdは紐づけられる。なお、ユーザー定義データを新規に追加した場合はその他の値が設定されていないが、ユーザー定義データ変更フォーム562からユーザーが登録及び変更可能である。
S28:手書きサインデータの登録により、手書き認識制御部26は手書きサイン登録フォーム561を手書き入力保存部25から削除する。
S29:ユーザー定義データ変更フォームの登録又は取消欄内が「チェックマーク」であった場合、ユーザー定義データ変更フォーム562に入力された変更値を手書き認識制御部26が操作コマンド定義部33に送信する。ユーザー定義データ変更フォーム562は後述するステップS86で手書き入力表示制御部23が手書き入力保存部25に生成する。
S30:ユーザー定義データの変更の実行により、手書き認識制御部26はユーザー定義データ変更フォーム562を手書き入力保存部25から削除する。
S31:後述するステップS86で追加したフォームの登録又は取消欄内が「×」であった場合、手書き認識制御部26はステップS86で追加したフォームを手書き入力保存部25から削除する。
S33:フォーム処理でなかった場合、手書き認識制御部26はこの実行結果である手書き認識文字列候補を手書き認識辞書部27に送信する。手書き認識辞書部27は言語的に確からしい言語文字列候補を手書き認識制御部26に送信する。
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は、ステップS48のストローク追加で手書き認識制御部26から受信したストロークの位置情報が、手書き入力保存部25から受信した確定オブジェクトの位置情報と所定の関係にあるか否かを跨ぎ線判定条件406及び囲み線判定条件407に基づいて判定する。これにより、操作コマンド認識制御部32は選択オブジェクトを判定する。操作コマンド認識制御部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は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生しない場合に実行される。従って、図22に示した操作ガイド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及び角度情報を取得する。
S61:手書き入力表示制御部23は手書きサイン認証制御部38から手書きサインの認証結果を取得する。これにより、ユーザーのSignatureIdが得られるので、後述する操作コマンドの実行時に、ペンID制御データにペンIDにAccountIdが対応付けて登録される。ユーザーがサインインした場合、AccountIdで特定されるユーザー定義データに対応付けられたカラー定義データが特定される。表示装置2は、ユーザー定義データの色情報が白黒で強調された手書きデータ、又は、手書きデータから変換された前記テキストデータを表示できる。
S62:手書き入力表示制御部23はこれらの手書き認識文字列候補(図22では「ぎ」)、言語文字列候補(図22では表示がないが例えば「議」)、変換文字列候補(図22では「議事録」「技量試」)、予測文字列候補(図22では「技量試を決済」「議事録の送付先」)、操作コマンドの候補(図22では「議事録テンプレートを読み込む」「議事録フォルダーに保存する)、各選択確率、及び、推定書字方向から図22のような選択可能候補表示データを作成する。また、手書き入力表示制御部23はステップS60で取得した角度情報で選択可能候補表示データ(操作ガイド500)を反時計回りに回転させ、回転後の選択可能候補表示データ(操作ガイド500)を表示部22に送信することで表示させる。
S63:また、手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ(矩形枠)(図22では手書きオブジェクト矩形領域表示503)を、ステップS60で取得した角度情報で反時計回りに回転させ、表示部22に送信することで表示させる。
S64:手書き入力表示制御部23は選択可能候補表示データの表示から一定時間後に消去するため選択可能候補表示消去タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
ステップS65〜S70は、選択可能候補消去タイマー開始中に、ユーザーが表示部22に表示された選択可能候補表示を消去したか、手書きオブジェクトの変化が発生した場合(即ち手書きオブジェクトのストロークの追加、削除、移動、変形又は分割された場合)、又は、タイムアウトまでに候補が選択されなかった場合に実行される。
更に、ステップS65〜S67は、候補表示が消去されるか、又は、手書きオブジェクトの変化が発生した場合に実行される。
S65:手書き入力部21は選択可能候補表示消去又は手書きオブジェクトの変化の発生を手書き入力表示制御部23に送信する。
S66:手書き入力表示制御部23は選択可能候補消去タイマー停止を送信する。候補表示タイマー制御部24はそのタイマーを停止する。一定時間内に手書きオブジェクトに対し操作があったためタイマーが不要になるからである。
S67:手書き入力表示制御部23は、ステップS19のジェスチャー手書き認識のジェスチャー判定で使用できるよう、操作ガイド500の位置情報を手書き認識制御部26に保存する。位置情報は例えば左上コーナーと右下コーナーの座標又はこれと同等の座標である。これにより、手書き認識制御部26は角度情報の入力に使用される直線が操作ガイド500内かどうかを判定できる。
S69:手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで、表示を消去させる。
S70:手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を表示部22に送信することで、表示を消去させる。従って、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きオブジェクトはそのまま表示が維持される。
S68:一方、選択可能候補消去タイマー開始中に、選択可能候補表示消去又は手書きオブジェクトの変化が発生しなかった場合(ユーザーがペン操作をしなかった場合は)、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
選択可能候補表示消去タイマーのタイムアウトの後も同様に、手書き入力表示制御部23はステップS69とS70を実行する。これは、一定時間の経過で選択可能候補表示データ、手書きオブジェクトと選択オブジェクトの矩形領域表示データを消去してよいためである。
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップ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に基づいてカラー定義データから線種と太さを特定し、角度情報で回転させたテキスト(文字列オブジェクト)を表示する。
操作コマンドの候補が選択された場合、ステップS83〜S101が実行される。選択オブジェクトがある場合はステップS83〜S85が実行される。
S83:選択オブジェクトへの操作コマンドの候補が選択された場合(選択オブジェクトが存在する場合)は、手書き入力表示制御部23は選択オブジェクト表示データ消去を表示部22に送信することで表示を消去させる。これは、いったん、元の選択オブジェクトを消去するためである。
S84:次に、手書き入力表示制御部23は選択オブジェクトへの操作コマンド実行を手書き入力保存部25に送信する。手書き入力保存部25は新しい選択オブジェクトの表示データ(編集又は修飾後の表示データ)を手書き入力表示制御部23に送信する。
S85:次に手書き入力表示制御部23は選択オブジェクト表示データを表示部22に送信することで、操作コマンド実行後の選択オブジェクトを再表示させる。
S86:操作コマンド定義データ713の「手書きサイン登録する」又は操作コマンド定義データ716の「設定変更する」が指定された場合、手書き入力表示制御部23は手書きサイン登録フォーム561又はユーザー定義データ変更フォームを手書き入力保存部25に追加する。
S87:「ファイル保存」又は「印刷」の操作コマンドの候補が選択された場合、手書き入力表示制御部23はファイル送信要求をファイル送受信制御部37に送信する。
S88:ファイル送受信制御部37は送信対象の手書き入力保存データの取得要求を手書き入力保存部25に送信する。
S89:手書き入力保存部25は、送信先がカラー対応装置かどうかをMIBなどで判定する。
・カラー対応装置の場合、手書き入力保存部25はカラーに変換した手書き入力保存データをファイル送受信制御部37に送信する。すなわち、手書き入力保存部25は手書き入力保存データのColorIdに基づいて手書き入力起因データかどうかを判定して、ColorIdに対応付けられた色情報をカラー定義データから取得してこの色情報に手書き入力起因データを変換する。手書き入力起因データでないデータには元々色情報が入っているので、手書き入力保存部25は該色情報を送信する。ColorIdでなくても手書き入力起因データ(本表示装置2で描かれた手書きデータ)あるかを手書き入力保存部25が判断できればよい。また、手書き入力起因データかどうかを示す情報は、本表示装置2で描かれた手書きデータであるかを示すデバイスを示す値でもよい。
・送信先が白黒対応装置の場合、手書き入力保存部25は手書き入力保存データのColorIdに対応付けられた色情報を無視して単なる座標点列やテキストを送信してよい。また、手書き入力保存部25は、ColorIdに対応付けられた色情報をカラー定義データから取得してこの色情報に手書き入力起因データを変換してもよい。ただし、手書き入力保存部25はColorIdに対応付けられた色情報をカラー定義データから取得して白黒強調表示(線種と太さ)に変換して送信してもよい。手書き入力起因データでないデータには元々色情報が入っているので、手書き入力保存部25は該色情報を送信する。
・送信先が白黒強調対応装置の場合、手書き入力保存部25は手書き入力保存データのみ、又は、手書き入力保存データ及びカラー定義データをファイル送受信制御部37に送信する。手書き入力保存部25が手書き入力保存データのみを送信する場合は、送信先の白黒強調対応装置が保持するカラー定義データに従って線種や太さが決定される。手書き入力保存部25が手書き入力保存データ及びカラー定義データの両方を送信する場合は、送信元の白黒強調対応装置が保持していたカラー定義データに従って線種や太さが決定される。なお、送信元の白黒強調対応装置が白黒強調表示に変換してから手書き入力保存部25が送信してもよい。
・また、ファイル送受信制御部37がファイルに書き出す場合、例えばPDFファイルなどに書き出す場合、ColorIdに対応付けられた色情報をカラー定義データから取得し、PDFファイルのフォーマットに従って手書き入力起因データをPDFファイルに設定する。フォント、文字サイズ等についても同様である。ファイル送受信制御部37は、更に、手書き入力保存データの全体又は一部(例えばColorId、FontNmae等)をPDFファイルのメタデータに保存する。PDFファイルのリーダはメタデータを無視するので、表示に影響はなく、このPDFファイルを表示装置2が読み取る場合は、メタデータから手書き入力保存データを再生できる。手書き入力起因データでないデータの場合、ファイル送受信制御部37は手書き入力保存データに入っている色情報、フォント、文字サイズ等をPDFファイルのフォーマットに従ってPDFファイルに設定する。
S90:ファイル送受信制御部37は手書き入力保存部から受信した手書き入力データを送信先に送信するか、又は、ファイルに書き込む。
S91:「ファイル読み込み」の操作コマンドの候補が選択された場合、手書き入力表示制御部23はファイル一覧情報取得要求をファイル送受信制御部37に送信する。
S92:ファイル送受信制御部37はUSBメモリー、ネットワークストレージ、Webサーバー等の記憶媒体又は外部機器等からファイル一覧情報を受信する。
S93:ファイル送受信制御部37はファイル一覧情報を手書き入力表示制御部23に送信する。
S94:手書き入力表示制御部23はファイル一覧表示データを表示部22に送信する。これにより、表示部22は図12のようにファイル一覧をディスプレーに表示する。
S95:ユーザーがファイルを選択し、手書き入力部21が受け付けると、手書き入力部21はファイル選択を手書き入力表示制御部23に送信する。
S96:手書き入力表示制御部23は選択されたファイルのファイル受信要求をファイル送受信制御部37に送信する。
S97:ファイル送受信制御部37は外部機器からファイルを取得する。
S98:ファイル送受信制御部37は手書き入力保存部25にファイルを保存する。
S99:手書き入力保存部25は、ファイル送受信制御部37から受信したファイルを解析し、手書き入力起因データを手書き入力保存データ(白黒強調/カラー変換可能データ)に変換する。すなわち、手書き入力保存部25はメタデータの有無を判定する。メタデータがある場合、手書き入力保存部25は手書き入力保存データへの変換が可能かどうかを(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の処理が繰り返される。
<まとめ>
以上説明したように、本実施形態の表示装置2は、手書き入力起因データにその旨を対応付けておき、手書き入力起因データであることを検出できるようにした。これにより、表示装置2が外部からファイルを取得した場合でも、手書き入力起因データを表示する場合は、手書きデータに対応付けられているカラー情報に基づいて、白黒強調表示を行うことができる。また、表示装置2が手書き入力起因データを外部機器に送信した場合、手書き入力起因データかどうかを判定させずに表示させることができる。
本実施例では、手書きデータを英語に変換する表示装置2について説明する。なお、表示装置2の構成は、変換用の辞書や操作コマンド定義データが英語に対応する以外は実施例1と同様である。このため、表示装置2が手書きデータを英語に変換(以下、英語変換という)する際の実施例1との相違を説明する。
図38は、英語変換の場合において、本実施例の表示装置2による手書き入力起因データの表示方法の概略を説明する図である。なお、図38の説明では主に図2との相違を説明する。
(1)まず、ユーザーはボタンから手書きデータを何色で入力するかを選択できる。図2ではユーザーはBk、R、B、G、M、Cの各色を選択できる。
(2)ユーザーが例えば「hand−written」と手書きすると色に対応した態様で、表示装置2は手書きデータを表示する。色に対応した態様とは色によって異なる線種等で表示することをいう。このように色に対応した線種で表示することで白黒強調表示が可能になる。表示装置2はテキスト(文字コード)に手書きデータを変換できる。図2の手書きデータ4,5はテキストに変換されており、手書きデータ6は変換されていない手書きデータである。
(3)本実施例の表示装置2は、手書きデータごとに手書き入力起因データかどうか、及び、色情報を有している。手書きデータ4は手書き入力起因データで色情報はBk、手書きデータ5は手書き入力起因データで色情報はR、手書きデータ6は手書き入力起因データで色情報はBである。手書きデータ4,5のように手書きデータから変換されたテキスト(文字コード)も手書き入力起因データかどうかを保持しているので、表示装置2は手書き入力起因データを表示する場合は指定された色に対応する線種で表示できる。
(4)表示装置2が手書きデータをPDFファイルなどに変換する場合は、表示装置2は手書きデータ又はテキストデータの色情報をPDFの形式に従って設定すると共に、手書き入力起因データである旨と色情報をメタデータとして添付する。表示装置2がこのPDFファイルを記憶媒体(USBメモリー等)から読み取る場合、メタデータに基づいて手書き入力起因データを色情報に対応する線種で表示できる。
このように、本実施例の表示装置2は、ユーザーが英語を手書きしても、手書き入力起因データを表示する場合は、手書きデータに対応付けられているカラー情報に基づいて、白黒強調表示を行うことができる。
なお、図39は、中国語変換の場合において、本実施例の表示装置2による手書き入力起因データの表示方法の概略を説明する図である。「手写的」は「手書き」の意味である。このように、中国語の場合も同様に変換できる。また、本実施形態の表示装置2は言語に依存せず、他の言語についても同様に対応できる。
<操作コマンド定義データの一例>
図40は、選択オブジェクトがない場合の操作コマンド定義データの一例である。図40の説明では主に図11との相違を説明する。各操作コマンドの内容は図11と同様であるが、Nameとstringに英語表現が対応付けられている。したがって、ユーザーは英語で操作コマンドを手書きでき、英語の操作コマンドを選択できる。
図41は、選択オブジェクトがある場合の操作コマンド定義データの一例である。図41の説明では主に図13との相違を説明する。各操作コマンドの内容は図13と同様であるが、Nameに英語表現が対応付けられている。したがって、ユーザーは英語の操作コマンドを選択できる。
図42は、ユーザー定義データの一例である。図42の説明では主に図14との相違を説明する。ユーザー定義データの内容は図14と同様であるが、AccountUsernameを「Bob」とした。また、Nameに英語表現が対応付けられている。したがって、ユーザーは英語でユーザー定義データを選択できる。
なお、手書きサインデータ保存部39が保持する手書きサインデータは図15と同様でよく、手書き入力保存データは図16と同様でよい。ペンID制御データは図17と同様でよく、カラー定義データは図18と同様でよい。
<辞書データの一例>
図43〜図45を用いて英語変換の場合の辞書データについて説明する。図43〜図45の説明では、主に図8〜図10との相違を説明する。図43は、手書き認識辞書部27の辞書データの一例である。図43の手書き認識辞書部27の辞書データは、手書きされた「a(ストロークデータの状態)」を確率0.90で「a」、確率0.10で「o」に変換することを示す。
図44は、文字列変換辞書部29の辞書データの一例である。図44の文字列変換辞書部29の辞書データでは、文字列「a」は確率0.55で「ab」に、文字列「a」は確率0.45で「AI」に変換されることを示す。その他の「変換前」の文字列についても同様である。
図45は予測変換辞書部31の辞書データの一例である。図45の予測変換辞書部31の辞書データでは、文字列「agenda」は確率0.55で「agenda list」に、確率0.30で「agenda template」に変換されることを示す。
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
<白黒強調表示されたデータとカラー表示方法で表示されたデータ>
図46は、図18のカラー定義データを使用して、白黒強調表示されたデータとカラー表示方法で表示されたデータを示す。図46の説明では主に図19との相違を説明する。
符号C21は手書き入力起因データである「Bk」「R」「B」「G」「magenta」「cyan」のテキストである。符号C22は「Bk」「R」「B」「G」「magenta」「cyan」のストローク(手書き) である。符号C23はバネ状の一筆書きのストローク(手書き) である。符号C24はドーナツ状のカラーチャート(画像)である。符号C25はカラーチャートの内側のRGBCMY(手書き入力起因データではないテキスト)である。符号C23の下には手書き入力起因データの黒の「Transparent」というテキストがある。
したがって、日本語の黒、赤、青、緑、マゼンタ、シアンが、「Bk」「R」「B」「G」「magenta」「cyan」が変わった以外は、図19と同様である。図46(b)についても同様である。
図46(a)と(b)を比較すると分かるように、図46(b)の符号C30のカラーチャート内側のテキスト「R」の赤は手書き入力起因データではない。このため、テキスト「R」が、図46(a)ではグレースケールで表示されている。これに対し、符号C26のテキスト「R」は手書き入力起因データなので図46(a)では白黒強調表示される。
また、マゼンタとシアンは透過色であるため、図46(b)では「Transparent」が透過して見えている。図46(a)でもマゼンタとシアンでは白が透明のパターンを使用しているため透過して表示される。このように、白黒強調対応装置では目立たせる目的のカラーを白黒強調表示することができ、カラーデバイスではカラーに変換して表示できるようになる。
<選択可能候補の表示例>
図47は英語変換の場合の操作ガイド500と操作ガイド500が表示する選択可能候補530の一例である。図47の説明では主に図22との相違を説明する。図47ではユーザーが手書きオブジェクト504として「a」を手書きした。「a」に基づいて、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、が表示されている。したがって、図22の日本語が英語に変わる以外は図22と同様でよい。
操作コマンドの候補510は例えば図40(a)の操作コマンド定義データにおいて「agenda」をstringに有する操作コマンドの候補である(操作コマンド定義データ701,702)。
このように、ユーザーは、英語変換の場合も同様に操作ガイド500を表示させることができる。
<選択オブジェクトの指定例>
図48は、英語変換の場合の選択オブジェクトの指定例を説明する図の一例である。なお、図48の説明では主に図23との相違を説明する。
図48(a)は横書きの2つの確定オブジェクト13a2、13b2をユーザーが跨ぎ線(手書きオブジェクト11a2)で指定した例である。この例では、手書きオブジェクト矩形領域12a2の短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定オブジェクト13a2、13b2との重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「agenda」と「ag」の両方の確定オブジェクト13a2、13b2が選択オブジェクトとして指定されている。
図48(b)は横書きの確定オブジェクト13c2を囲み線(手書きオブジェクト11b2)でユーザーが指定した例である。この例では、確定オブジェクト13c2と手書きオブジェクト矩形領域12c2の重なり率が囲み線判定条件407の条件を満たしている「agenda」という確定オブジェクト13c2だけが選択オブジェクトとして指定されている。
このように英語変換の場合も、ユーザーは同様に選択オブジェクトを選択できる。
<操作コマンドの候補の表示例>
図49は、図48に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図49の説明では主に図24との相違を説明する。
図49(a)は編集系の操作コマンドの候補であり、図49(b)は修飾系の操作コマンドの候補である。また、図49(a)は図48(a)の手書きオブジェクト11a2で選択オブジェクトが指定された例を示す。図49(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。
図49(a)では1行目の「〉」512aの押下により、図49(a)のサブメニュー560が表示される。ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択オブジェクトに対して実行する。すなわち「Delete」521bが選択されると「Delete」を手書き入力表示制御部23が実行する。「Move」522bが選択されると「Move」を手書き入力表示制御部23が実行する。「Rotate」523bが選択されると「Rotate」を手書き入力表示制御部23が実行する。「Select」524bが選択されると「Select」を手書き入力表示制御部23が実行する。
ユーザーが「Delete」511bをペンで押下すると、「agenda」と「ag」という確定オブジェクト13a2、13b2を手書き入力表示制御部23が消去する。ユーザーが「Move」522bをペンで押下すると、「agenda」と「ag」という確定オブジェクト13a2、13b2の移動を手書き入力表示制御部23が受け付ける。ユーザーが「Rotate」523bをペンで押下すると、手書き入力表示制御部23が「agenda」と「ag」という確定オブジェクト13a2、13b2を一定角度回転する。ユーザーが「Select」524bをペンで押下すると、「agenda」と「ag」という確定オブジェクト13a2、13b2の選択を手書き入力表示制御部23が受け付ける。
操作コマンドの候補以外の文字列候補である「―」541b、「−」542b、「〜」543b、「→」544b、及び「⇒」545bは跨ぎ線(手書きオブジェクト11a2)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図49(b)では2行目の「〉」512bの押下により、図49(b)のサブメニューが表示される。図49(b)の表示例も図49(a)と同様にメインメニュー550とサブメニュー560が表示されている。図41の操作コマンド定義データに基づいて、「Thick」531bが選択されると「Thick」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「Thin」532bが選択されると「Thin」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「Large」533bが選択されると「Large」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「Small」534bが選択されると「Small」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「Underline」535bが選択されると「Underline」を手書き入力表示制御部23が選択オブジェクトに対して実行する。
ユーザーが「Thick」531bをペンで押下すると「agenda」と「ag」という確定オブジェクト13a2、13b2を構成する線を手書き入力表示制御部23が太くする。ユーザーが「Thin」532bをペンで押下すると、「agenda」と「ag」を構成する線を手書き入力表示制御部23が細くする。ユーザーが「Large」533bをペンで押下すると手書き入力表示制御部23が大きくできる。ユーザーが「Small」534bをペンで押下すると手書き入力表示制御部23が小さくできる。ユーザーが「Underline」535bをペンで押下すると下線を手書き入力表示制御部23が追加できる。
このようにユーザーは、英語変換の場合も、手書きオブジェクトがある場合の操作コマンドを表示させることができる。
<角度情報の入力例>
次に、図50は、90度の角度情報の入力方法を説明する図の一例である。英語変換の場合も角度情報の入力方法は日本語変換と同じである。図50の説明では主に図26との相違を説明する。
図50(a)は、ペンID制御データの角度情報が0度(初期値)の状態で、表示装置2の3時の方向に存在するユーザーが「a」を手書きしたため、操作ガイド500が表示された状態を示す。表示装置2は3時の方向から手書きした「a」を、角度情報が0度のまま文字認識するため、期待とは違う選択可能候補530が表示されている。
角度情報を入力する場合、ユーザーは操作ガイド500内に、ユーザーから見て上から下方向に直線を手書きする。図50(b)はこの直線521bの一例を示す。角度情報が0度である6時の方向とこの直線521bとの反時計回りのなす角αが角度情報である。
図50(c)は、図50(b)の操作直後の操作ガイド500を示す。ペンID制御データには角度情報(Angle)として90度が設定されたので、手書きオブジェクト(ストロークデータ)が内部的に90度だけ時計回りに回転して手書き認識され、操作ガイド500は90度だけ反時計回りに回転して表示されている。なお、角度情報はメニューからユーザーが手動で入力してもよい。
このように、ユーザーは英語変換の場合も角度情報を入力できる。
<手書きサインデータの登録例>
次に、図51は手書きサインデータの登録方法を説明する図である。図51の説明では主に図27との相違を説明する。まず、図51(a)は「Sign」とユーザーが手書きした場合に表示される選択可能候補530の一例である。「Sign」という文字列と部分一致する、操作コマンド定義データ713,715に基づく「Register handwritten signature」と「Hand sign out」の二つの操作コマンド513b,514bと、「Sign」「Signature session」「Signed」の文字列候補が表示されている。
ユーザーがペン2500で「Register handwritten signature」を押下すると、手書き入力保存部25に図51(b)の手書きサイン登録フォーム561が追加され、操作画面101に表示される。例えば、図51(a)の操作ガイド500が消去され、操作ガイド500と同じ場所に手書きサイン登録フォーム561が表示される。
ユーザーは、名前入力欄561aに名前のテキスト、サイン入力欄561b〜561dに1回目の手書きサイン、2回目の手書きサイン、3回目の手書きサイン、登録確定欄561eにチェックマーク又は取消マークを入力する。
手書きサイン登録フォーム561にユーザーが指示通りに手書きをすると、図51(c)に示す手書きサイン登録フォーム561となる。
このように、手書き入力表示制御部23はフォームへの手書き入力とフォーム以外の手書き入力を区別せずに手書き入力を受け付けることができる。ユーザーは英語を用いて手書きサインデータを登録できる。
<手書きよるサインインの一例>
図52は、英語変換において、ユーザーが登録した手書きサインデータである「Bob」と手書きした場合に表示される操作ガイド500の一例である。図52の説明では主に図28との相違を説明する。
「Bob」が手書きサインデータとして手書きサインデータ保存部39に登録されているので、「Bob」が手書きサインデータと適合する。このため、「Hand Sign in」という操作コマンド512が表示されている。
また、手書きサインデータが適合したので「Bob」を表すSignatureIdが特定され、このSignatureIdに対応付けられているAccountIdを有するユーザー定義データが特定される。
ユーザーが「Hand Sign in」という操作コマンド512を選択すると、使用しているペン2500のペンIDに「Bob」のAccountIdを対応付けてペンID制御データに追加され、「Bob」のユーザー定義データが操作コマンドの使用時に使用されるようになる。
このように、ユーザーは英語を用いてサインインすることができる。
<ユーザー定義データの変更操作例>
図53は、英語変換において、ユーザー定義データの変更方法を説明する図である。図53の説明では主に図29との相違を説明する。図53(a)は、ユーザーが「set」と手書きした時に表示される操作ガイド500の一例である。操作コマンド定義データ716にはStringに「set」が定義されており、「Change settings」という操作コマンドが表示された。
ユーザーが、手書きでサインインしたペン2500で「Change settings」を選択すると、ペンID制御データでこのペン2500のペンIDに対応付けられているユーザーのAccountIdが特定される。これにより、サインインしたユーザーのユーザー定義データが特定され、図53(b)のユーザー定義データ変更フォーム562が手書き入力保存部25に追加され、操作画面101に表示される。ユーザー定義データ変更フォーム562の各項目については図29(b)と同様である。
このように、ユーザーは英語変換の場合も日本語変換と同様にユーザー定義を変更できる。
なお、動作手順については実施例1の図30〜図37と同様でよい。
実施例1では表示装置2が大型のタッチパネルを有するものとして説明されているが、表示装置はタッチパネルを有するものに限られない。本実施例ではプロジェクター型の表示装置について説明する。
<<表示装置の別の構成例1>>
図54は、表示装置の他の構成例を示す図である。図54では、通常のホワイトボード413の上辺にプロジェクター411が設置されている。このプロジェクター411が表示装置に相当する。通常のホワイトボード413とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
プロジェクター411は超短焦点の光学系を有しており、10cm程度から歪みの少ない映像をホワイトボード413に投影できる。この映像は、無線又は有線で接続されたPC400ー1から送信されてもよいし、プロジェクター411が記憶していてもよい。
ユーザーは専用の電子ペン2501を使ってホワイトボード413に手書きする。電子ペン2501は、ユーザーが手書きのためにホワイトボード413に押しつけるとスイッチがONになり発光する発光部を例えば先端部に有している。光の波長は近赤外や赤外なのでユーザーの目には見えない。プロジェクター411はカメラを有しており、発光部を撮像して画像を解析し電子ペン2501の方向を特定する。また、電子ペン2501は発光と共に音波を発信しており、プロジェクター411は音波の到達時間により距離を算出する。プロジェクター411は方向と距離により電子ペン2501の位置を特定できる。電子ペン2501の位置にはストロークが描画(投影)される。
プロジェクター411はメニュー430を投影するので、ユーザーが電子ペン2501でボタンを押下すると、プロジェクター411が電子ペン2501の位置とスイッチのON信号により押下されたボタンを特定する。例えば、保存ボタン431が押下されると、ユーザーが手書きしたストローク(座標の集合)がプロジェクター411で保存される。プロジェクター411は、予め定められたサーバー412又はUSBメモリー2600等に手書き情報を保存する。手書き情報はページごとに保存されている。画像データではなく座標のまま保存されるので、ユーザーが再編集することができる。ただし、本実施例では操作コマンドを手書きで呼び出せるのでメニュー430は表示されなくてもよい。
<<表示装置の別の構成例2>>
図55は、表示装置2の他の構成例を示す図である。図55の例では、表示装置2は、端末装置600、画像投影装置700A、及び、ペン動作検出装置810を有する。
端末装置600は、画像投影装置700A及びペン動作検出装置810と有線で接続されている。画像投影装置700Aは、端末装置600により入力された画像データをスクリーン800に投影させる。
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し、端末装置600へ送信する。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力されるストローク画像の画像データを生成する。端末装置600は、画像投影装置700Aによってストローク画像をスクリーン800に描画させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。
<<表示装置の別の構成例3>>
図56は、表示装置の構成例を示す図である。図56の例では、表示装置2は、端末装置600とディスプレー800Aと、ペン動作検出装置810とを有する。
ペン動作検出装置810は、ディスプレー800Aの近傍に配置される。ペン動作検出装置810は、ディスプレー800A上に、電子ペン820Aが示している点を示す座標情報を検出し、端末装置600へ送信する。なお、図56の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820Aによって入力されるストローク画像の画像データを生成する。端末装置600は、ストローク画像をディスプレー800Aに表示させる。
<<表示装置の別の構成例4>>
図57は、表示装置の構成例を示す図である。図57の例では、表示装置2は、端末装置600と、画像投影装置700Aとを有する。
端末装置600は、電子ペン820Bと無線通信(Bluetooth(登録商標)等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力されるストローク画像の画像データを生成する。端末装置600は、画像投影装置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は、編集系及び修飾系の操作コマンドの候補と入出力系の操作コマンドの候補を同時に表示してもよい。
また、ユーザーの手書きサインデータは表示装置2が持っていなくてもよい。クラウド上や社内の情報処理装置が保持していてもよい。
また、図6などの構成例は、表示装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」は、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含む。
2 表示装置
特開2017−139678号公報

Claims (17)

  1. データを表示する表示装置であって、
    前記表示装置で描かれた手書きデータである旨を前記手書きデータに対応付けて記録することを特徴とする表示装置。
  2. 表示されるデータが、表示装置に手書きで入力されたストロークデータ、又は、このストロークデータが認識により変換されたテキストデータである手書き入力起因データの場合、前記データが有する色情報が白黒で強調された前記データを表示することを特徴とする請求項1に記載の表示装置。
  3. 前記表示装置は、白又は黒で画像を表示する電子ペーパーであることを特徴とする請求項2に記載の表示装置。
  4. タッチパネルに接触している入力手段の位置に基づいて手書きされた手書きデータに手書き認識を施してテキストデータに変換する手書き認識制御部と、
    色の選択を受け付ける手書き入力部と、を有し、
    前記手書き認識制御部が変換したテキストデータを表示する場合、前記手書き入力部が受け付けた前記色情報が白黒で強調された前記テキストデータを表示することを特徴とする請求項2又は3に記載の表示装置。
  5. 前記手書き入力部は、フォントの指定を受け付け、
    前記手書き認識制御部が変換したテキストデータを表示する場合、前記手書き入力部が受け付けた前記フォントで、前記色情報が白黒で強調された前記テキストデータを表示することを特徴とする請求項4に記載の表示装置。
  6. ユーザーの識別情報に色情報が対応付けられた定義データを保持しており、
    ユーザーがサインインした場合、前記定義データに登録されている前記色情報が白黒で強調された手書きデータ、又は、手書きデータから変換された前記テキストデータを表示することを特徴とする請求項4又は5に記載の表示装置。
  7. 前記タッチパネルに手書きされた手書きデータ、又は、前記手書き認識制御部が変換したテキストデータをファイルに保存する場合、
    前記手書き入力部が受け付けた前記色情報をファイル形式に従った色情報に変換して保存することを特徴とする請求項4〜6のいずれか1項に記載の表示装置。
  8. 前記タッチパネルに手書きされた手書きデータ、又は、前記手書き認識制御部が変換したテキストデータをファイルに保存する場合、
    前記手書き入力部が受け付けた前記色情報をファイル形式に従った色情報に変換して保存すると共に、前記ファイルのメタデータに前記手書き入力部が受け付けた前記色情報を添付することを特徴とする請求項7に記載の表示装置。
  9. 前記手書き入力起因データを、色情報が白黒で強調された前記データを出力する装置に送信する場合、前記手書き入力起因データを送信することを特徴とする請求項4〜8のいずれか1項に記載の表示装置。
  10. 前記手書き入力起因データをカラー対応装置に送信する場合、前記手書き入力部が受け付けた前記色情報に前記手書き入力起因データの色を変換して送信することを特徴とする請求項4〜9のいずれか1項に記載の表示装置。
  11. 前記手書き入力起因データを白黒対応装置に送信する場合、前記手書き入力部が受け付けた前記色情報に前記手書き入力起因データの色を変換するか、又は、白黒の前記手書き入力起因データを送信することを特徴とする請求項4〜9のいずれか1項に記載の表示装置。
  12. 読み取ったファイルに含まれるデータが前記手書き入力起因データの場合、前記ファイルに添付されているメタデータに含まれる前記色情報が白黒で強調された前記データを表示することを特徴とする請求項7又は8に記載の表示装置。
  13. 前記手書き入力起因データはテキストデータであることを特徴とする請求項12に記載の表示装置。
  14. 読み取ったファイルに含まれるデータが前記手書き入力起因データでない場合、データが有する色情報をグレースケールに変換して前記データを表示することを特徴とする請求項12に記載の表示装置。
  15. 請求項1〜14のいずれか1項に記載された表示装置が保存したファイル、又は、前記表示装置から送信されたファイルを表示するカラー対応装置であって、
    前記手書き入力起因データをカラーで表示することを特徴とするカラー対応装置。
  16. データを表示する表示装置が行う表示方法であって、
    前記表示装置で描かれた手書きデータである旨を前記手書きデータに対応付けて記録することを特徴とする表示方法。
  17. データを表示する表示装置に、
    前記表示装置で描かれた手書きデータである旨を前記手書きデータに対応付けて記録させることを特徴とするプログラム。
JP2020168992A 2019-10-11 2020-10-06 表示装置、カラー対応装置、表示方法、プログラム Pending JP2021064366A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/JP2020/038524 WO2021070972A1 (en) 2019-10-11 2020-10-12 Display apparatus, color supporting apparatus, display method, and program
US17/765,000 US20220374142A1 (en) 2019-10-11 2020-10-12 Display apparatus, color supporting apparatus, display method, and program
CN202080069958.XA CN114467071A (zh) 2019-10-11 2020-10-12 显示装置、彩色支持装置、显示方法及程序
EP20797212.6A EP4042265A1 (en) 2019-10-11 2020-10-12 Display apparatus, color supporting apparatus, display method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019188188 2019-10-11
JP2019188188 2019-10-11

Publications (1)

Publication Number Publication Date
JP2021064366A true JP2021064366A (ja) 2021-04-22

Family

ID=75486364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020168992A Pending JP2021064366A (ja) 2019-10-11 2020-10-06 表示装置、カラー対応装置、表示方法、プログラム

Country Status (1)

Country Link
JP (1) JP2021064366A (ja)

Similar Documents

Publication Publication Date Title
WO2021070972A1 (en) Display apparatus, color supporting apparatus, display method, and program
US11733830B2 (en) Display apparatus for displaying handwritten data with displayed operation menu
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
JP2021064366A (ja) 表示装置、カラー対応装置、表示方法、プログラム
WO2022045177A1 (en) Display apparatus, input method, and program
JP7354878B2 (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
EP3825831A1 (en) Display apparatus, display method, and program
CN111814530B (zh) 手写输入装置、手写输入方法、程序以及输入系统
JP2021096844A (ja) 表示装置、表示方法、プログラム
JP7268479B2 (ja) 表示装置、プログラム、表示方法
JP2021152884A (ja) 表示装置、表示方法、プログラム、情報処理装置
JP2022057931A (ja) 表示装置、表示方法、プログラム
JP2022023456A (ja) 表示装置、音響デバイス制御方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230824