JP2021096844A - 表示装置、表示方法、プログラム - Google Patents
表示装置、表示方法、プログラム Download PDFInfo
- Publication number
- JP2021096844A JP2021096844A JP2020200247A JP2020200247A JP2021096844A JP 2021096844 A JP2021096844 A JP 2021096844A JP 2020200247 A JP2020200247 A JP 2020200247A JP 2020200247 A JP2020200247 A JP 2020200247A JP 2021096844 A JP2021096844 A JP 2021096844A
- Authority
- JP
- Japan
- Prior art keywords
- image
- control unit
- data
- candidate
- user
- 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
Links
Images
Abstract
【課題】選択可能候補に文字以外の情報を表示できる表示装置、表示方法及びプログラムを提供する。【解決手段】表示装置は、手書きデータに基づいて画像変換辞書部から画像候補を検索する画像変換制御部42と、画像変換制御部42が検索して得た複数の画像候補を表示する表示部22と、を有する。表示部22が表示する複数の画像候補の少なくとも一部は異なる者又は物を表す。【選択図】図6
Description
本発明は、表示装置、表示方法、及び、プログラムに関する。
ペンや指でタッチパネルに手書きされたデータを表示する表示装置が知られている。比較的大型のタッチパネルを備えた表示装置は会議室などに配置され、複数のユーザーにより電子黒板などとして利用される。
表示装置によっては手書きされたデータを認識してテキスト(カナ漢字)に変換することができるものがある(例えば、特許文献1参照。)。特許文献1には、手書き入力文字列を、カナ漢字変換辞書を用いて過去に変換処理した結果と入力文字列とを対にして個人辞書に登録しておき、タブレットから手書き文字列が入力された場合は入力文字列を、カナ漢字変換辞書を用いて変換処理する前に個人辞書を検索する技術が開示されている。
しかしながら、従来の表示装置は、選択可能候補に文字しか表示することができないという問題があった。表示装置は、ユーザーが手書きしたストロークをそのまま表示するか、又は、ストロークに基づく文字の変換候補を表示することが一般的であり、表示されたストロークや文字が適切かどうかは文字でのみ判断するしかなかった。しかし、長い用語、間違えやすい用語、類似した用語がある用語、又は、専門的な用語などでは、ユーザーが意図していない文字を誤って選択するおそれがあった。選択可能候補を間違って選択すると、ユーザーが意図している者又は物と違う文字を表示装置が表示する状況が生じてしまう。
本発明は、上記課題に鑑み、選択可能候補に文字以外の情報を表示できる表示装置を提供することを目的とする。
上記課題に鑑み、本発明は、手書きデータに基づいて画像変換辞書部から画像候補を検索する画像変換制御部と、前記画像変換制御部が検索して得た複数の画像候補を表示する表示部と、を有し、前記表示部が表示する前記複数の画像候補の少なくとも一部は異なる者又は物を表すことを特徴とする表示装置を提供する。
選択可能候補に文字以外の情報を表示できる表示装置を提供することを目的とする。
以下、本発明を実施するための形態の一例として、表示装置及び表示装置が行う表示方法について図面を参照しながら説明する。
<利用シーンについて>
表示装置は会議を始め種々の利用シーンで使用されるが、利用シーンに応じた情報を提示する。例えば、企業や自治体の研究者が化学物質を使った処理を手書きしたり、医療現場では医師が処方すべき薬品を手書きして看護師に提示したりする。また、学校で教師が事物の具体例を手書きして授業を行ったり、企業では発表者が製品名やコンセプトを手書きして、製品の紹介を行ったりする。
表示装置は会議を始め種々の利用シーンで使用されるが、利用シーンに応じた情報を提示する。例えば、企業や自治体の研究者が化学物質を使った処理を手書きしたり、医療現場では医師が処方すべき薬品を手書きして看護師に提示したりする。また、学校で教師が事物の具体例を手書きして授業を行ったり、企業では発表者が製品名やコンセプトを手書きして、製品の紹介を行ったりする。
しかしながら、ユーザーが意図した者や物と異なる文字を手書きしたり選択したりする場合があった。図1はユーザーが意図しない文字の表示例を説明する図である。例えば、ユーザーが「アスコルビン酸」を意図して「ア」と手書きしたが、文字列候補の中から「アスパラギン酸」を選んでしまう場合がある。図1では「アスコルビン酸」も候補として表示されているため、間違う可能性は低いが「アスコルビン酸」が表示されないような場合は類似の名称を選択する可能性が高くなる。
この他、会議などでは、ある製品を意図して製品名を手書きしたが、意図した製品とは違う製品名を手書きするような場合がある。この場合は、そもそも選択可能候補に意図した製品名は表示されないので、図1のように表示された類似した製品名の選択可能候補から意図した製品とは違う製品名を選択してしまう。
これらのように、選択可能候補として文字しか表示されないと、目的の用語が選択可能候補として表示される場合も表示されない場合も、本人が意図した者又は物でない文字を選択したことに気づきにくい場合がある。
<本実施形態の表示装置の概略>
そこで、本実施形態の表示装置は、ユーザーが手書きして表示される選択可能候補に、文字だけでなく写真やイラスト等の画像を表示する。こうすることで、ユーザーが意図した情報を選択しやすくなり、ユーザーが意図した者や物と異なる情報を選択することを低減できる。したがって、表示装置も正しい情報を表示することができる。
そこで、本実施形態の表示装置は、ユーザーが手書きして表示される選択可能候補に、文字だけでなく写真やイラスト等の画像を表示する。こうすることで、ユーザーが意図した情報を選択しやすくなり、ユーザーが意図した者や物と異なる情報を選択することを低減できる。したがって、表示装置も正しい情報を表示することができる。
図2は、表示装置が表示する複数の画像候補の一例を示す図である。図2では一例として分子構造模型の画像を例とした。
(1) ユーザーが「アスパラギン酸」という用語を入力するために「ア」と手書きする。
(2) 表示装置は、「ア」で始まる画像候補531を表示する。すなわち、ユーザーが筆記途中でも、筆記段階の文字列に適合する図形、イラスト、写真等の画像候補531を表示する。図2では、「アスコルビン酸」「アスパラギン酸」「アセチレン」「アセトアルデヒド」「アラニン」の分子構造模型が表示されている。このように、操作ガイド500が表示する複数の画像候補は、異なる者又は物を表す。
(3) ユーザーが画像候補531の1つを選択すると、表示装置は選択された画像を文字と共に表示する。表示装置2は文字のみ、又は、画像のみを表示してよい。
(1) ユーザーが「アスパラギン酸」という用語を入力するために「ア」と手書きする。
(2) 表示装置は、「ア」で始まる画像候補531を表示する。すなわち、ユーザーが筆記途中でも、筆記段階の文字列に適合する図形、イラスト、写真等の画像候補531を表示する。図2では、「アスコルビン酸」「アスパラギン酸」「アセチレン」「アセトアルデヒド」「アラニン」の分子構造模型が表示されている。このように、操作ガイド500が表示する複数の画像候補は、異なる者又は物を表す。
(3) ユーザーが画像候補531の1つを選択すると、表示装置は選択された画像を文字と共に表示する。表示装置2は文字のみ、又は、画像のみを表示してよい。
このように、本実施形態の表示装置は、選択可能候補を画像として表示するため、ユーザーが意図する者や物を選択しやすくなり、間違った情報を提示することを抑制できる。また、選択された画像を表示することもできるため、視覚的に情報を提示できる。
また、表示装置が選択可能候補に画像を表示したとしても画像が似通っている場合には、ユーザーが意図していない画像を誤って選択するおそれがあるという問題がある。図2では表示装置が少なくとも画像候補531を表示するので、ユーザーが画像候補531を誤って選択するおそれを抑制できる。
なお、表示装置にPC(Personal Computer)を接続し、PCが表示する映像を表示装置が表示することで画像を表示するという使い方もできるが、手間がかかる。本実施形態では、任意に文字を手書きすることで画像も表示できるため、容易に画像を表示できると共に、画像候補の選択後に画像を表示した場合は、文字のみを表示するよりも視覚的に情報を伝えやすくすることができる。
<用語について>
入力手段とはタッチパネルに座標を指定して手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。手書きデータとは、タッチパネル上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがタッチパネルに入力手段を押しつけてから連続的に移動させた後、タッチパネルから離すという一連の操作をストロークという。ストロークにより手書きされたデータはストロークデータという。手書きデータは1つ以上のストロークデータを有する。手書き入力とは、ユーザーによって、手書きデータが入力されることを示している。
入力手段とはタッチパネルに座標を指定して手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。手書きデータとは、タッチパネル上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがタッチパネルに入力手段を押しつけてから連続的に移動させた後、タッチパネルから離すという一連の操作をストロークという。ストロークにより手書きされたデータはストロークデータという。手書きデータは1つ以上のストロークデータを有する。手書き入力とは、ユーザーによって、手書きデータが入力されることを示している。
画像候補は選択の候補となる画像である。画像はコンピュータで描いた図形や写真などの総称であり、イメージやグラフィックスと称してもよい。画像候補は簡単には文字以外である。
異なる者又は物を表すとは、複数の画像が別人の写真であったり、異なる製品の外観であったりすることをいう。物質の構成要素は分子と原子であるが、究極的にそれらを構成する核子・量子等を物質粒子という。物が分子構造である場合は、各画像が異性体を表す場合に本実施形態が特に有効である。異性体とは分子式は同じであるが、原子の結合状態や立体配置が違うため、異なった性質を示す化合物である。
<ペンの外観の一例>
図3は、ペン2500の斜視図の一例を示す。図3は多機能なペン2500の一例を示す。電源を内蔵して表示装置2に命令を送信できるペン2500をアクティブペンという(電源を内蔵しないペンをパッシブペンという)。図3のペン2500は、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。本実施形態では、更に、不揮発性のメモリーを有しており、このメモリーは他のペンと重複しないペンIDを記憶している。
図3は、ペン2500の斜視図の一例を示す。図3は多機能なペン2500の一例を示す。電源を内蔵して表示装置2に命令を送信できるペン2500をアクティブペンという(電源を内蔵しないペンをパッシブペンという)。図3のペン2500は、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。本実施形態では、更に、不揮発性のメモリーを有しており、このメモリーは他のペンと重複しないペンIDを記憶している。
なお、スイッチ付きのペンであれば、ユーザーの表示装置2の操作手順を減らすことも可能である。スイッチ付きのペンとは主にアクティブペンを言うが、電磁誘導方式では電源を内蔵しないパッシブペンでもLC回路だけで電力を発生できるため、アクティブペンだけでなく電磁誘導方式のパッシブペンを含む。電磁誘導方式以外の光学方式、赤外線方式、及び、静電容量方式のスイッチのあるペンはアクティブペンである。
なお、ペン2500のハードウェア構成は、通信機能とマイコンを備えた一般的な制御方式と同様であるとする。ペン2500は、電磁誘導方式、アクティブ静電結合方式などがある。また、ペン2500は、筆圧検知、傾き検知、ホバー機能(ペンが触れる前にカーソルを表示)、などの機能を有していてよい。
<装置の全体構成>
図4を用いて、本実施形態に係る表示装置2の全体構成を説明する。図4は、表示装置2の全体構成図を示した図である。図4(a)は、表示装置2の一例として、壁につり下げられた横長の電子黒板として使用される表示装置2を示している。
図4を用いて、本実施形態に係る表示装置2の全体構成を説明する。図4は、表示装置2の全体構成図を示した図である。図4(a)は、表示装置2の一例として、壁につり下げられた横長の電子黒板として使用される表示装置2を示している。
図4(a)に示されているように、表示装置2の上部には表示装置の一例としてのディスプレー220が設置されている。ユーザーUは、ペン2500を用いて、ディスプレー220に文字等を手書きする(入力、描画ともいう)することができる。
図4(b)は壁につり下げられた縦長の電子黒板として使用される表示装置2を示している。
図4(c)は机230に平置きされた表示装置2を示す。表示装置2は厚みが1cm程度なので、一般の机に平置きしても机の高さを調整する必要がない。また、ユーザーが容易に移動できる。
<装置のハードウェア構成>
続いて、図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を備えている。
続いて、図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などの外部との通信インターフェイスである。シリアルインターフェイス218は外部からの情報の入力などに使用される。スピーカー219は音声の出力に使用され、マイク221は音声の入力に使用される。無線通信装置222は、ユーザーが携帯する端末と通信し、例えばインターネットへの接続を中継する。無線通信装置222はWi−FiやBluetooth(登録商標)などで通信するが、通信規格は問われない。無線通信装置222はアクセスポイントを形成しており、ユーザーが入手したSSID(Service Set Identifier)とパスワードをユーザーが携帯する端末に設定すると、アクセスポイントに接続できる。
なお、無線通信装置222に2つのアクセスポイントが用意されているとよい。
(a) アクセスポイント→インターネット
(b) アクセスポイント→社内ネットワーク→インターネット
(a)のアクセスポイントは社外のユーザー用で、ユーザーは社内ネットワークにはアクセスできないが、インターネットを利用できる。(b)のアクセスポイントは社内のユーザー用で、ユーザーは社内ネットワーク及びインターネットを利用できる。
(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は種々の検出手段を用いてもよい。タッチセンサー216は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン2500は、細長いペン型である必要はない。
<装置の機能について>
次に、図6を用いて、表示装置2とペン2500が有する機能について説明する。図6(a)は表示装置2が有する機能をブロック状に示す機能ブロック図の一例である。表示装置2は、手書き入力部21、表示部22、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、ペンID制御データ保存部36、手書きサイン認証制御部38、及び、手書きサインデータ保存部39を備えている。表示装置2が有する各機能は、図5に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
次に、図6を用いて、表示装置2とペン2500が有する機能について説明する。図6(a)は表示装置2が有する機能をブロック状に示す機能ブロック図の一例である。表示装置2は、手書き入力部21、表示部22、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、ペンID制御データ保存部36、手書きサイン認証制御部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の処理及びストロークの表示の詳細は後述の図33〜図39にて説明する。
候補表示タイマー制御部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を使用して変換文字列候補に変換して保持しておく。文字列変換制御部28は、別途、取得要求d14を手書き入力表示制御部23から受信した場合、保持している変換文字列候補d15を手書き入力表示制御部23に送信する。
文字列変換辞書部29は文字列変換用の辞書データである。文字列変換辞書部29は文字列変換制御部28から手書き認識文字列及び言語文字列候補d17を受信し、変換文字列候補d18を文字列変換制御部28に送信する。
予測変換制御部30は手書き認識文字列及び言語文字列候補d10を手書き認識制御部26から受信する。予測変換制御部30は変換文字列候補d16を文字列変換制御部28から受信する。予測変換制御部30は手書き認識文字列、言語文字列候補d10、変換文字列候補d16それぞれについて予測変換辞書部31を使用して予測文字列候補に変換しておく。予測変換文字列とは手書き認識文字列、言語文字列又は変換文字列を含んで生成される可能性が高い文字列である。予測変換制御部30は、別途、取得要求d19を手書き入力表示制御部23から受信した場合、予測文字列候補d20を手書き入力表示制御部23に送信する。
予測変換辞書部31は予測変換用の辞書データである。予測変換辞書部31は手書き認識文字列及び言語文字列候補と変換文字列候補d21を予測変換制御部30から受信し、予測文字列候補d22を予測変換制御部30に送信する。
画像変換制御部42は、手書き認識制御部26が変換した手書き認識文字列候補と言語文字列候補、文字列変換制御部28が変換した変換文字列候補、及び、予測変換制御部30が変換した予測文字列候補(以上を符号d56で示す)、を手書き入力表示制御部23から受信する。画像変換制御部42は受信したこれらを画像変換辞書部43のインデックスの前方より検索しd58、一致した画像候補d59を画像変換辞書部43から受信する。画像変換制御部42は受信した画像候補d57を、手書き入力表示制御部23に送信する。
操作コマンド認識制御部32は手書き認識文字列及び言語文字列候補d30を手書き認識制御部26から受信する。操作コマンド認識制御部32は変換文字列候補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はペン操作データ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が、ユーザーが文字等を手書きする時の角度情報を設定するための直線を認識した後、手書き認識制御部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を取得する。手書き認識制御部26はデータ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からユーザー定義データ変更フォームを削除する。
図6(b)は、ペン2500の機能をブロック状に示す機能ブロック図である。ペン2500はペンイベント送信部41を有している。ペンイベント送信部41はペンアップ、ペンダウン、ペン座標のイベントデータにペンIDをつけて表示装置2に送信する。
<定義済み制御データについて>
次に、図7を用いて、表示装置2が各種の処理に使用する定義済み制御データについて説明する。図7は定義済み制御データの一例を示す。図7の例では制御項目ごとに制御データを示す。
次に、図7を用いて、表示装置2が各種の処理に使用する定義済み制御データについて説明する。図7は定義済み制御データの一例を示す。図7の例では制御項目ごとに制御データを示す。
選択可能候補表示タイマー401は、選択可能候補を表示するまでの時間を定義する(第一の時間の一例)。これは、手書き中に表示装置2が選択可能候補を表示しないためである。図7では、ペンアップからTimerValue=500〔ms〕以内にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー401は候補表示タイマー制御部24が保持している。選択可能候補表示タイマー401は、後述する図35のステップS18−2において選択可能候補表示タイマー開始時に使用される。
選択可能候補消去タイマー402は表示した選択可能候補を消去するまでの時間を定義する(第二の時間の一例)。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図7では、選択可能候補の表示からTimerValue=5000〔ms〕以内に選択可能候補が選択されなければ選択可能候補表示データが消去されることを意味している。選択可能候補消去タイマー402は候補表示タイマー制御部24が保持している。選択可能候補消去タイマー402は図37のステップS64において選択可能候補表示消去タイマー開始時に使用される。
手書きオブジェクト矩形領域403は手書きオブジェクトの近傍とみなす矩形領域を定義する。図7の例では、手書きオブジェクト矩形領域403は、手書きオブジェクトの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図7の例では推定文字サイズの割合(%指定)となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きオブジェクト矩形領域403は手書き入力保存部25が保持している。推定文字サイズ405は図34のステップS10において、手書きオブジェクト矩形領域とストローク矩形領域の重なり状況の判定で使用される。
推定書字方向/文字サイズ判定条件404は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図7の例では、
・手書きオブジェクト矩形領域の最初にストロークが追加された時刻と最後にストロークが追加された時刻の差分がMinTime=1000〔ms〕以上で、
・手書きオブジェクト矩形領域の水平距離(幅)と垂直距離(高さ)の差分がMinDiff=10〔mm〕以上あり、
・水平距離が垂直距離より長い場合、
推定書字方向は「横書き」、推定文字サイズは垂直距離と判定されることを意味する。水平距離が垂直距離より短い場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定されることを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件404は手書き入力保存部25が保持している。推定書字方向/文字サイズ判定条件404は図37のステップS59における推定書字方向取得と、図39のステップS81における文字列オブジェクトフォント取得で使用される。
・手書きオブジェクト矩形領域の最初にストロークが追加された時刻と最後にストロークが追加された時刻の差分がMinTime=1000〔ms〕以上で、
・手書きオブジェクト矩形領域の水平距離(幅)と垂直距離(高さ)の差分がMinDiff=10〔mm〕以上あり、
・水平距離が垂直距離より長い場合、
推定書字方向は「横書き」、推定文字サイズは垂直距離と判定されることを意味する。水平距離が垂直距離より短い場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定されることを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件404は手書き入力保存部25が保持している。推定書字方向/文字サイズ判定条件404は図37のステップS59における推定書字方向取得と、図39のステップS81における文字列オブジェクトフォント取得で使用される。
推定文字サイズ405は文字等のサイズを推定するためのデータを定義する。図7の例では、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズが、推定文字サイズ405の小さめ文字405a(以下、最小フォントサイズ、と呼ぶ)と大きめ文字405c(以下、最大フォントサイズ)と比較されることを意味する。推定文字サイズが最小フォントサイズより小さい場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズより大きい場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字405bの文字サイズと判定される。推定文字サイズ405は手書き入力保存部25が保持している。推定文字サイズ405は、図39のステップS81における文字列オブジェクトフォント取得で使用される。
手書き入力保存部25は具体的には、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズを推定文字サイズ405のFontSizeと比較して、最も近いサイズのフォントを使用する。例えば、推定文字サイズが25〔mm〕(小さめ文字のFontSize)以下の場合は「小さめ文字」、推定文字サイズが25mm超50mm(中くらい文字のFontSize)以下の場合は「中くらい文字」、推定文字サイズが100mm(大きめ文字のFontSize)超の場合は「大きめ文字」と手書き入力保存部25が判定する。「小さめ文字」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は図36のステップS50における選択オブジェクトの判定の跨ぎ線判定で使用される。
・手書きオブジェクトの長辺の長さが100〔mm〕以上(MinLenLongSide="100mm")、かつ、
・短辺の長さが50〔mm〕以下(MaxLenShortSide="50mm")、かつ、
・手書きオブジェクトとの長辺方向と短辺方向の重なり率が80〔%〕以上(MinOverLapRate="80%")のオブジェクトがあれば、複数のオブジェクトが選択された(選択オブジェクト)と判定される。跨ぎ線判定条件406は操作コマンド認識制御部32が保持している。跨ぎ線判定条件406は図36のステップS50における選択オブジェクトの判定の跨ぎ線判定で使用される。
囲み線判定条件407は、オブジェクトが囲み線か否かの判定に使用されるデータを定義する。図7の例では、操作コマンド認識制御部32は手書きオブジェクトの長辺方向と短辺方向の重なり率が100%以上(MinOverLapRate="100%")の確定オブジェクトを選択オブジェクトと判定する。囲み線判定条件407は、操作コマンド認識制御部32が保持している。囲み線判定条件407は、図36のステップS50における選択オブジェクトの判定の囲み線判定で使用される。
なお、跨ぎ線判定条件406と囲み線判定条件407はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件406を緩やかにして(跨ぎ線を選択しやすくした場合)、囲み線判定条件407は厳密にした場合(囲み線のみを選択できるような値とした場合)、操作コマンド認識制御部32は囲み線判定条件407を優先して判定するのがよい。
<辞書データの一例>
図8〜図10を用いて辞書データについて説明する。図8は手書き認識辞書部27の辞書データの一例である。図9は文字列変換辞書部29の辞書データの一例である。図10は予測変換辞書部31の辞書データの一例である。なお、これらの辞書データはそれぞれ図36のステップS33〜S42で使用される。
図8〜図10を用いて辞書データについて説明する。図8は手書き認識辞書部27の辞書データの一例である。図9は文字列変換辞書部29の辞書データの一例である。図10は予測変換辞書部31の辞書データの一例である。なお、これらの辞書データはそれぞれ図36のステップS33〜S42で使用される。
本実施形態では、図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は、画像変換辞書部43が有する画像辞書データの一例である。画像変換辞書部43の検索で得られる画像を画像候補という。画像辞書データはインデックス欄と画像欄とを有する。インデックス欄は画像の名称である。インデックス欄の名称は、手書き認識文字列候補、言語文字列候補、変換文字列候補、又は、予測文字列候補と前方一致するか否かの比較に使用される。手書き認識文字列候補、言語文字列候補、変換文字列候補、又は、予測文字列候補はユーザーの手書きに応じて段階的に入力されるので、前方一致でインデックス欄の検索に適合した場合に一致すると判断される。例えば、ユーザーが「アス」と入力した場合、「アスコルビン酸」と「アスパラギン酸」が一致したと判断される。
なお、画像は、線図などの図形、ビットマップなどのイラスト、写真、又は、3DCG(三次元コンピュータグラフィック)など、画像として認識可能なものであればよい。イラストとはイラストレーションの略であり、図像によって物語、小説、詩などを描写もしくは装飾し、また科学・報道などの文字情報を補助する。イラストは形式よりも題材に主眼を置いた図形的もしくは絵画的な視覚化表現である。イラストは情報を伝達する媒体の1つである。イラストは目的に沿って作成される絵や図像である。3DCGはポリゴンや点群データで立体的な物体を表現すること又はそのデータである。三次元の構造を有するため、閲覧者が360度の方向から形状を確認できる。
また、画像のファイルの形式はJPEG、GIF、PNG、TIFF、BMPなどいずれでもよい。3DCGの場合は3DCGに適切なファイル形式でよい。また、表示装置2は内部に有する画像辞書データを参照する他、インターネット上の画像を検索エンジンで検索して参照してもよい。
<操作コマンド定義部が保持する操作コマンド定義データ>
次に、図12、図13を用いて操作コマンド認識制御部32が使用する操作コマンド定義データについて説明する。図12は、操作コマンド定義部33が保持する操作コマンド定義データとシステム定義データの一例を示す。
次に、図12、図13を用いて操作コマンド認識制御部32が使用する操作コマンド定義データについて説明する。図12は、操作コマンド定義部33が保持する操作コマンド定義データとシステム定義データの一例を示す。
図12(a)は操作コマンド定義データの一例を示す。図12(a)の操作コマンド定義データは、手書きオブジェクトにより選択された選択オブジェクトがない場合の操作コマンド定義データ例であり、表示装置2を操作する全ての操作コマンドが対象となる。図12(a)の操作コマンドは操作コマンド名(Name)、文字列候補と部分一致する文字列(String)、実行する操作コマンド文字列(Command)を有する。操作コマンド文字列内の「%〜%」は変数であり、図12(b)に示すようにシステム定義データと対応付けられている。つまり、「%〜%」は図12(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は、ペン状態を変更する操作コマンドである。ペン状態とはペンの種類と称してもよい。操作コマンド定義データ709、710、711それぞれの操作コマンド名は「細ペン」「太ペン」「マーカー」、文字列候補と部分一致する文字列が「細」、「ペン」、「太」「ペン」、「マーカー」又は「ペン」、操作コマンド文字列が「ChangePen fine」「ChangePen bold」又は「Changepen marking」である。この操作コマンドが実行されると、ペン状態はペンID制御データ保存部36に保存されるので、ユーザーは設定したペン状態でストロークを手書きできる。
操作コマンド定義データ712は、テキストデータの方向を一定方向に揃えるための操作コマンドである。操作コマンド定義データ712の操作コマンド名は「テキスト方向を揃える」、文字列候補と部分一致する文字列が「テキスト」「向き」又は「方向」、操作コマンド文字列が「AlignTextDirection」である。ユーザーが天地方向以外から書き込んだテキストデータは向きがばらばらなので、ある1つの方向から全てを読み取りにくい。操作コマンド定義データ712をユーザーが実行すると、表示装置2は手書き認識した文字列を同一方向(例えば、天地方向)に揃える。この場合の揃えるとは、テキストデータを角度情報だけ回転させることをいう。
操作コマンド定義データ713は、操作コマンド名が「手書きサイン登録する」、文字列候補と部分一致する文字列が「サイン」と「登録」、操作コマンド文字列が「RegistSignature」であることを示す。RegistSignatureコマンドが実行されると、手書き入力保存部25に手書きサイン登録フォームが追加され、操作画面101に手書きサイン登録フォームが表示される。手書きサイン登録フォームの一例については後述する(図30参照)。
操作コマンド定義データ714は、操作コマンド名が「手書きサインインする」、文字列候補と部分位置する文字列が「%signature%」、操作コマンドが「Signin」であることを示す。ここで「%signature%」はシステム定義データの予約語であり、登録済みの手書きサインデータとユーザー名等のストロークデータが適合した事実を表すものとする。つまり適合すると操作コマンド定義データ714に基づく操作コマンド512が操作ガイド500に表示される(図31参照)。
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にユーザー定義データ変更フォームが表示される。ユーザー定義データ変更フォームについては後述する(図32参照)。
続いて、手書きオブジェクトがある場合の操作コマンド定義データ、つまり編集系及び修飾系の操作コマンド定義データについて説明する。図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に設定される文字列である。これにより、ユーザー定義データを使用した操作コマンドの実行が可能になる。
次に、図14を用いてユーザー定義データについて説明する。図14は、操作コマンド定義部33が保持するユーザー定義データの一例を示す。図14のユーザー定義データは一人分のユーザーの定義データ例である。ユーザー定義データ717のAccountIdはユーザーごとに自動的に採番されるユーザーの識別情報、AccountUsernameとAccountPasswordはユーザー名とパスワード、SignatureIdは手書きサインデータ登録時に自動的に採番される手書きサインデータの識別情報、username, password, machinenameはそれぞれシステム定義データ704〜706の替わりに操作コマンド定義データ701〜703に設定される文字列である。これにより、ユーザー定義データを使用した操作コマンドの実行が可能になる。
ユーザーがユーザー名などを手書きしてサインインした場合、ペンIDとAccountIdがペンID制御データに対応付けられていることを利用して(図17(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に反映される。
<手書きサインデータ>
次に、図15を用いて、手書きサインデータについて説明する。図15は、手書きサインデータ保存部39が保持する手書きサインデータの一例を示す。手書きサインデータはSignatureIdに対応付けられた手書きサインを表すDataを有する。SignatureIdは手書きサインデータ登録時に自動的に採番される識別情報、Dataは手書きサイン認証制御部38の手書きサイン認証アルゴリズムが、手書きサイン認証制御部38から受信したストロークデータから計算したデータである。
次に、図15を用いて、手書きサインデータについて説明する。図15は、手書きサインデータ保存部39が保持する手書きサインデータの一例を示す。手書きサインデータはSignatureIdに対応付けられた手書きサインを表すDataを有する。SignatureIdは手書きサインデータ登録時に自動的に採番される識別情報、Dataは手書きサイン認証制御部38の手書きサイン認証アルゴリズムが、手書きサイン認証制御部38から受信したストロークデータから計算したデータである。
<手書き入力保存部が保存する手書き入力保存データ>
次に、図16を用いて、手書き入力保存データについて説明する。図16は、手書き入力保存部25が保存している手書き入力保存データの一例を示す。図16の1行が1つのストロークを表す。1つの手書き入力保存データは、DataId、Type、PenId, Color, Width, Pattern, Angle、AccountId 、StartPoint、StartTime、EndPoint、EndTime、Point、及び、Pressureの各項目を有している。
次に、図16を用いて、手書き入力保存データについて説明する。図16は、手書き入力保存部25が保存している手書き入力保存データの一例を示す。図16の1行が1つのストロークを表す。1つの手書き入力保存データは、DataId、Type、PenId, Color, Width, Pattern, Angle、AccountId 、StartPoint、StartTime、EndPoint、EndTime、Point、及び、Pressureの各項目を有している。
DataIdはストロークの識別情報である。Typeはストロークの種別である。種別にはストローク(Stroke)、グループ(Group)、及びテキスト(Text)がある。手書き入力保存データ801、802の種別はStrokeであり、手書き入力保存データ803の種別はGroupである。Groupとは他のストロークをグループ化することを意味し、種別がGroupの手書き入力保存データは、DataIdでグループ化の対象のストロークを指定する。PenId、Color, Width, Pattern, Angle、AccountIdは次述するペンID制御データが転記されたものである。StartPointはストロークの始点座標であり、StartTimeはストロークの始点時刻である。EndPointはストロークの終点座標であり、EndTimeはストロークの終点時刻である。Pointは始点から終点までの座標点列であり、Pressureは始点から終点までの筆圧である。Angleに示すように、手書き入力保存データ804,805はそれぞれ180度、270度だけ時計回りに回転してから手書き認識されたことを示す。802,805はユーザー定義データのAccountId=1のユーザーが入力したデータであることを示す。
<ペンID制御データ保存部が保存するペンID制御データ>
次に、図17を用いて、ペンID制御データについて説明する。図17は、ペンID制御データ保存部36が保存するペンID制御データを説明する図である。図17(a)の1行が1つのペンのペンID制御データを示す。また、図17(b)は表示装置2に対しユーザーが手書きする時の角度情報を説明する図である。角度情報はユーザーが存在する方向の角度とも言えるし、ペンが使用される方向の角度とも言えるし、ユーザーが手書きした文字の回転に関する角度とも言える。表示装置2の所定の方向(例えば天地方向)を0度(基準)として、各ユーザーの角度情報は反時計回りに45度、90度、135度、180度、225度、270度、315度、である。
次に、図17を用いて、ペンID制御データについて説明する。図17は、ペンID制御データ保存部36が保存するペンID制御データを説明する図である。図17(a)の1行が1つのペンのペンID制御データを示す。また、図17(b)は表示装置2に対しユーザーが手書きする時の角度情報を説明する図である。角度情報はユーザーが存在する方向の角度とも言えるし、ペンが使用される方向の角度とも言えるし、ユーザーが手書きした文字の回転に関する角度とも言える。表示装置2の所定の方向(例えば天地方向)を0度(基準)として、各ユーザーの角度情報は反時計回りに45度、90度、135度、180度、225度、270度、315度、である。
ユーザーの角度情報は、表示装置2が平置きされた場合に、表示装置2に対しユーザーが存在する位置である。すなわちユーザーの角度情報は位置に関する情報ということができる。表示装置2は表示装置2から見てどの方向にユーザーがいるかを特定できる。角度情報の他、表示装置2から見た方向に基づいて、0度:6時方向、45度:4時方向と5時方向の間、90度:3時方向、135度:1時方向と2時方向の間、180度:12時方向、225度:10時方向と11時方向の間、270度:9時方向、315度:7時方向と8時方向の間、と表現してもよい。
なお、角度情報はユーザーの位置によって自動的に決まるわけではなく、各ユーザーが角度情報を入力する(指定する)。指定可能な角度情報の分解能(図17では45度)は一例に過ぎず、より小さい5度〜30度などでもよい。ただし、45度くらいで回転した文字であれば、ユーザーは読めると考えられる。
ペンID制御データは、PenId、Color、Width、Pattern、Angle及びAccountIdを有している。PenIdはペン内部に保存されている識別情報である。Colorはこのペンに設定されているストロークの色である(ユーザーが任意に変更可能)。Widthはこのペンに設定されているストロークの太さである(ユーザーが任意に変更可能)。Patternはこのペンに設定されているストロークの線種である(ユーザーが任意に変更可能)。Angleはこのペンに設定されているストロークの角度情報である(ユーザーが任意に変更可能)。図17(a)の例では、各ペンの角度情報は反時計回りに0度、90度、180度、270度となっている。AccountIdはユーザーの識別情報である。ペンIDにAccountIdが対応付けられることで、ユーザーが使用するペン2500のペンIDに対応付けられているAccountIdを特定でき、ユーザー定義データを使用して操作コマンドを実行できる。
ペンID制御データ901はペンIDが1の制御データで、色は黒(Black)、太さは1ピクセル(1 px)、パターンはベタ塗り(Solid)、角度情報は0度、AccountId=1である。AccountId=1のユーザーは図14のユーザー定義データ717のユーザーである。このユーザーがペンID=1のペンでユーザー名などを手書きしてサインインしたことを示す。AccountIdがないペンID制御データはサインアウト状態(ユーザーと対応付けられていない)であることを示す。
同様に、ペンID制御データ902は、ペンIDが2、色が黒、太さが1ピクセル、パターンがベタ塗り、角度情報が90度、AccountIdがなし、である。ペンID制御データ903は、ペンIDが3、色が黒、太さが10ピクセル、パターンがベタ塗り、角度情報が180度、AccountIdがなし、である。ペンID制御データ904は、色が黒、太さが10ピクセル、パターンがハーフトーンドット、角度情報が270度、AccountIdがなし、である。
このデータは、図33のステップS5(ペンID制御データ取得)、図35のステップS20(ペンID制御データの角度情報を保存)、図35のステップS21(ペンID制御データの角度情報を取得)、図37のステップS60(ペンID制御データの取得)、図39のステップS88(ペンID制御データの角度情報を保存)、で使用される。
<選択可能候補の表示例>
まず、図18を用いて、文字のみが表示される選択可能候補について説明する。図18は操作ガイドと操作ガイドが表示する選択可能候補530の一例である。ユーザーが手書きオブジェクト504を手書きすることで(選択可能候補表示タイマーのタイムアウトにより)、操作ガイド500が表示される。操作ガイド500は、操作ヘッダー520、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、及び、手書きオブジェクト矩形領域表示503を有している。選択可能候補530は、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508である。この例では言語文字列候補がないが表示される場合がある。また、操作コマンドの候補510を除く選択可能候補530を文字列候補539という。
まず、図18を用いて、文字のみが表示される選択可能候補について説明する。図18は操作ガイドと操作ガイドが表示する選択可能候補530の一例である。ユーザーが手書きオブジェクト504を手書きすることで(選択可能候補表示タイマーのタイムアウトにより)、操作ガイド500が表示される。操作ガイド500は、操作ヘッダー520、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、及び、手書きオブジェクト矩形領域表示503を有している。選択可能候補530は、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508である。この例では言語文字列候補がないが表示される場合がある。また、操作コマンドの候補510を除く選択可能候補530を文字列候補539という。
操作ヘッダー520はボタン501、509、502、505を有する。ボタン501は予測変換とカナ変換の切り替え操作を受け付ける。図18の例ではユーザーが「予測」と表示されているボタン509を押下すると手書き入力部21がそれを受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が「かな」というボタン509に表示を変更する。変更後は、文字列候補539が「カナ変換」の確率降順で並ぶ。
ボタン502は候補表示のページ操作をする。図18の例では候補表示ページは3ページあり、現在は1ページ目を表示している。ボタン505は操作ガイド500の消去を受け付ける。ユーザーがボタン505を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きオブジェクト以外の表示を消去する。ボタン509は一括表示消去を受け付ける。ユーザーがボタン509を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知する。表示部22が手書きオブジェクトを含め、図18に示されているすべての表示を消去する。これによりユーザーが最初から手書きをしなおすことを可能にする。
手書きオブジェクト504はユーザーが手書きした「ぎ」という文字である。手書きオブジェクト504を囲む手書きオブジェクト矩形領域表示503が表示される。表示の手順は図33〜図39のシーケンス図で説明する。図18の例では点線枠で手書きオブジェクト矩形領域表示503が表示されている。
手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508にはそれぞれの文字列候補が確率降順で並んでいる。手書き認識文字列候補506の「ぎ」は認識結果の候補である。この例では、表示装置2が正しく「ぎ」を認識している。
変換文字列候補507は言語文字列候補から変換された変換文字列候補である。この例の「技量試」とは「技術量産試作」の略名である。文字列/予測変換の候補508は言語文字列候補又は変換文字列候補から変換された予測文字列候補である。この例では「技量試を決裁」と「議事録の送付先」が表示されている。
操作コマンドの候補510は図12(a)の操作コマンド定義データ701〜703、709〜716に基づいて選択された操作コマンドの候補である。図18の例では行頭文字の「》」511が操作コマンドの候補であることを示している。図18では手書きオブジェクト504である「ぎ」が選択する確定オブジェクトがなく、「ぎ」の文字列候補である「議事録」が、図12(a)の操作コマンド定義データ701,702と部分一致したため、操作コマンドの候補510として表示されている。
ユーザーが「議事録テンプレートを読み込む」を選択すると、操作コマンド定義データ701で定義された操作コマンドが実行され、「議事録フォルダーに保存する」を選択すると、操作コマンド定義データ702で定義された操作コマンドが実行される。このように操作コマンドの候補は、変換された文字列を含む操作コマンド定義データが見つかる場合に表示されるため、常に表示されるとは限らない。
図18に示すように、文字列候補と操作コマンドの候補が同時に(共に)表示されるため、ユーザーは自分が入力しようとした文字列候補と操作コマンドのどちらも任意に選択できる。
次に、図19〜図21を用いて、画像候補のみが表示される操作ガイド500について説明する。図19〜図21は、ユーザーの手書きに応じて徐々に画像候補531が絞り込まれる遷移の様子を示している。以下で説明するように、手書き認識制御部26は手書きデータの先頭から順次、文字に変換する。画像変換制御部42は文字が変換されるごとに、文字数を増やして画像変換辞書部43を前方一致で検索する。表示部22は、検索に使用する文字数が増えるにしたがって、数が少なくなる画像候補を表示する。
図19では、ユーザーが「ア」という手書きオブジェクト504を手書きした。「ア」が認識され、手書き認識文字列として「ア」が得られると、手書き入力表示制御部23は「ア」を画像変換制御部42に送信する。画像変換制御部42は図11の画像変換辞書部43を検索し、「ア」と前方一致で適合する名称を有するインデックス欄に対応付いた画像候補を手書き入力表示制御部23に送信する。この結果、図19では名称が「ア」で始まる5つの画像候補531が操作ガイド500に表示されている。
次に、図20は、ユーザーが「ア」と手書きした後に、画像候補531を選択せずに、そのまま「セ」を手書きした場合に表示される画像候補531を示す。したがってユーザーは「アセ」と手書きしたので、手書き入力表示制御部23は「アセ」を画像変換制御部42に送信する。画像変換制御部42は図11の画像変換辞書部43を検索し、「アセ」と前方一致で適合する名称を有するインデックス欄に対応付いた画像候補を手書き入力表示制御部23に送信する。この結果、図20では名称が「アセ」で始まる2つの画像候補531が操作ガイド500に表示されている。
このように画像変換制御部は文字が変換されるごとに、文字数を増やして画像変換辞書部を前方一致で検索する。
次に、図21は、ユーザーが「アセトアルデヒド」まで全て手書きした場合に表示される画像候補531を示す。手書き入力表示制御部23は「アセトアルデヒド」を画像変換制御部42に送信する。画像変換制御部42は図11の画像変換辞書部43を検索し、「アセトアルデヒド」と適合する名称を有するインデックス欄に対応付いた画像候補を手書き入力表示制御部23に送信する。この結果、図21では名称が「アセトアルデヒド」という画像候補531が操作ガイド500に表示されている。
なお、図19〜図21に示すように、1つの操作ガイド500が表示する画像候補の数が少なくなると、画像候補が大きく表示されるとよい。ユーザーは細部まで見て選択しやすくなる。このため、画像変換辞書部43の画像のデータは最大で表示される状態で画質がよいと判断できる画素数で用意しておき、適宜、縮小して表示することで、拡大による画質劣化を抑制できる。
図22〜図24は、画像候補531と、画像候補の名称532を表示する操作ガイド500の表示例を示す。図22は図19と、図23は図20と、図24は図21とそれぞれ対応しており、図22〜図24の表示方法は図19〜図21と同様でよい。図22〜図24の場合は、画像変換制御部42が画像変換辞書部43からインデックス欄の名称も画像と共に受信し、手書き入力表示制御部23に送信する。これにより、操作ガイド500は画像候補の名称を表示することができる。
なお、図19〜図21のように画像候補531のみを表示するか、図22〜図24のように画像候補531と名称532を表示するかは、ユーザーが操作ヘッダー520から設定したり、操作ガイド500を長押したりするなどして表示したメニューから設定できる。
<選択オブジェクトの指定例>
本実施形態の表示装置2は確定オブジェクトをユーザーが手書きにより選択することで選択オブジェクトを指定できる。選択オブジェクトは編集又は修飾の対象となる。
本実施形態の表示装置2は確定オブジェクトをユーザーが手書きにより選択することで選択オブジェクトを指定できる。選択オブジェクトは編集又は修飾の対象となる。
図25は、選択オブジェクトの指定例を説明する図の一例である。図25では、手書きオブジェクト11は黒色実線、手書きオブジェクト矩形領域12を灰色網掛け、確定オブジェクト13を黒線、選択オブジェクト矩形領域14を点線でそれぞれ表示している。なお、符号に付加された小文字のアルファベットによりそれぞれが区別される。また、確定オブジェクトを選択オブジェクトと判定するための判定条件(所定の関係にあるか否か)として、図7に示した定義済み制御データの跨ぎ線判定条件406又は囲み線判定条件407が使用される。
図25(a)は横書きの2つの確定オブジェクト13a、13bをユーザーが跨ぎ線(手書きオブジェクト11a)で指定した例である。この例では、手書きオブジェクト矩形領域12aの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定オブジェクト13a、13bとの重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「議事録」と「ぎじ」の両方の確定オブジェクト13a、13bが選択オブジェクトとして指定されている。
図25(b)は横書きの確定オブジェクト13cを囲み線(手書きオブジェクト11b)で指定した例である。この例では、確定オブジェクト13cと手書きオブジェクト矩形領域12cの重なり率が囲み線判定条件407の条件を満たしている「議事録」という確定オブジェクト13cだけが選択オブジェクトとして指定されている。
図25(c)は縦書きの複数の確定オブジェクト13d、13eを跨ぎ線(手書きオブジェクト11c)で指定した例である。この例では、図25(a)と同様に、手書きオブジェクト矩形領域12dの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、「議事録」と「ぎじ」という2つの確定オブジェクト13d、13eそれぞれとの重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「議事録」と「ぎじ」の両方の確定オブジェクト13d、13eが選択オブジェクトとして指定されている。
図25(d)は縦書きの確定オブジェクト13fを囲み線(手書きオブジェクト11d)で指定した例である。この例では、図25(b)と同様に、「議事録」という確定オブジェクト13fだけが選択オブジェクトとして指定されている。
<操作コマンドの候補の表示例>
図26は、図13に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図26(a)は編集系の操作コマンドの候補であり、図26(b)は修飾系の操作コマンドの候補である。また、図26(a)は図25(a)の手書きオブジェクト11aで選択オブジェクトが指定された例を示す。
図26は、図13に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図26(a)は編集系の操作コマンドの候補であり、図26(b)は修飾系の操作コマンドの候補である。また、図26(a)は図25(a)の手書きオブジェクト11aで選択オブジェクトが指定された例を示す。
図26(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。メインメニュー550には最後に実行された操作コマンド名又は操作コマンド定義データで先頭の操作コマンド名が表示される。1行目の行頭文字「》」511aは編集系の操作コマンドの候補であり、2行目の行頭文字「》」511bは修飾系の操作コマンドの候補である。
行末の「〉」512はサブメニューがあることを示す(サブメニューボタンの一例)。1行目の「〉」512aは編集系の操作コマンドの候補に関してサブメニュー(最後に選択された)を表示させる。2行目の「〉」512bは修飾系の操作コマンドの候補に関して残りのサブメニューを表示させる。ユーザーが「〉」512を押下すると、その右側にサブメニュー560が表示される。サブメニュー560には操作コマンド定義データで定義されている全ての操作コマンドが表示される。図26(a)の表示例ではメインメニューが表示された時から1行目の「〉」512aに対応したサブメニュー560も表示されている。1行目の「〉」512aの押下によりサブメニュー560が表示されてもよい。
ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択オブジェクトに対して実行する。すなわち「消去」521が選択されると「Delete」、「移動」522が選択されると「Move」、「回転」523が選択されると「Rotate」、「選択」524が選択されると「Select」をそれぞれ実行する。
例えば、ユーザーが「消去」521をペンで押下すると「議事録」と「ぎじ」を消去できる。「移動」522,「回転」523、「選択」524を押すとバウンディングボックス(選択オブジェクトの外接矩形)が表示される。「移動」522と「回転」523ではユーザーがペンのドラッグ動作で移動又は回転できる。「選択」524ではユーザーがその他のバウンディングボックスの操作を実行できる。
操作コマンドの候補以外の文字列候補である「一」541、「一、」542、「〜」543、「→」544、「⇒」545は跨ぎ線(手書きオブジェクト11a)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図26(b)では2行目の「〉」512bの押下により、図26(b)のサブメニューが表示される。図26(b)の表示例も図26(a)と同様にメインメニュー550とサブメニュー560が表示されている。図13の操作コマンド定義データに基づいて、「太く」531が選択されると「Thick」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「細く」532が選択されると「Thin」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「大きく」533が選択されると「Large」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「小さく」534が選択されると「Small」を手書き入力表示制御部23が選択オブジェクトに対して実行する。下線535が選択されると「Underline」を手書き入力表示制御部23が選択オブジェクトに対して実行する。
なお、「太く」531が選択された場合にどのくらい太くするか、「細く」532が選択された場合にどのくらい細くするか、「大きく」533が選択された場合にどのくらい大きくするか、「小さく」534が選択された場合にどのくらい小さくするか、下線535が選択された場合の線種等は、固定値が別途定義されている。あるいは、図26(b)のサブメニューが選択されると別途、選択メニューが開かれユーザーが調整できるようになっているとなおよい。
ユーザーが「太く」531をペンで押下すると「議事録」と「ぎじ」という確定オブジェクト13a、13bを構成する線を手書き入力表示制御部23が太くする。「細く」532をユーザーがペンで押下すると、「議事録」と「ぎじ」を構成する線を手書き入力表示制御部23が細くできる。ユーザーが「大きく」533をペンで押下すると手書き入力表示制御部23が大きくできる。ユーザーが「小さく」534をペンで押下すると手書き入力表示制御部23が小さくできる。ユーザーが「下線」535をペンで押下すると下線を手書き入力表示制御部23が追加できる。
図27は、図13に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図26(a)(b)との相違は、図27(a)(b)は図25(b)の手書きオブジェクト11b(囲み線)で選択オブジェクトが指定された例を示す。図26と図27を比較すると分かるように手書きオブジェクトが線か囲み線かによって表示される操作コマンドの候補に違いはない。手書き入力表示制御部23は選択オブジェクトが指定されると操作コマンドの候補を表示部22に表示させるためである。しかし、手書き入力表示制御部23は、手書きオブジェクトを認識して手書きオブジェクトに応じて表示する操作コマンドの候補を変更してもよい。この場合、開発者等が、認識された手書きオブジェクト(一や○など)に図13のような操作コマンド定義データを対応付けておく。
図27において操作コマンドの候補以外の文字列候補である「○」551、「∞」552、「0」553、「00」554、「ロ」555は囲み線(手書きオブジェクト11b)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
<角度情報の入力例>
次に、図28を用いて角度情報の入力方法を説明する。図28は、角度情報の入力方法を説明する図の一例である。図28では表示装置2の3時の方向に存在するユーザーが角度情報を入力する場合を説明する。3時の方向から手書きされた文字等は時計回りに90度回転されると正しく認識されるので、90度の角度情報が入力されるとよい。
次に、図28を用いて角度情報の入力方法を説明する。図28は、角度情報の入力方法を説明する図の一例である。図28では表示装置2の3時の方向に存在するユーザーが角度情報を入力する場合を説明する。3時の方向から手書きされた文字等は時計回りに90度回転されると正しく認識されるので、90度の角度情報が入力されるとよい。
図28(a)は、ペンID制御データの角度情報が0度(初期値)の状態で、表示装置2の3時の方向に存在するユーザーが「ぎ」を手書きしたため、操作ガイド500が表示された状態を示す。表示装置2は3時の方向から手書きした「ぎ」を、角度情報が0度のまま文字認識するため、期待とは違う選択可能候補530が表示されている。
角度情報を入力する場合、ユーザーは操作ガイド500内に、ユーザーから見て上から下方向に直線を手書きする。図28(b)はこの直線521の一例を示す。角度情報が0度である6時の方向とこの直線521との反時計回りのなす角αが角度情報である。すなわち、始点Sから6時の方向に下ろした直線522と、ユーザーが入力した直線521の反時計回りのなす角αが角度情報である。簡単には、直線521の終点方向が角度情報である。したがって、図28(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は、所定範囲から直線を検出し、所定範囲外に手書きされたストロークデータをテキストデータに変換する。
図28(c)は、図28(b)の操作直後の操作ガイド500を示す。ペンID制御データには角度情報(Angle)として90度が設定されたので、手書きオブジェクト(ストロークデータ)が内部的に90度だけ時計回りに回転して手書き認識され、操作ガイド500は90度だけ反時計回りに回転して表示されている。
図29は、角度情報の別の入力方法を説明する図の一例である。図29では表示装置2の3時の方向にユーザーが存在するものとする。図29は、角度情報が0度(初期値)の状態で、表示装置2の3時の方向に存在するユーザーが「ぎ」を手書きしたため、操作ガイド500と選択可能候補530が表示されている。図29の操作ガイド500は操作ヘッダー520に回転操作ボタン511を有している。
回転操作ボタン511は、ユーザーがペン2500で押下するたびに、ペンID制御データの角度情報を90度ずつ加算して360度で割った余りに変更するボタンである。この余りが角度情報となる。なお、回転操作ボタン511の1回の押下で加算される角度が45度でもよい。
<手書きサインデータの登録例>
次に、図30を用いて手書きサインデータの登録例を説明する。図30は手書きサインデータの登録方法を説明する図である。まず、図30(a)は「サイン」とユーザーが手書きした場合に表示される選択可能候補530の一例である。「サイン」という文字列と部分一致する、操作コマンド定義データ713,715に基づく「手書きサイン登録する」と「手書きサインアウトする」の二つの操作コマンド513,514と、「サイン」「サイン会」「サイン入り」の文字列候補が表示されている。2つの操作コマンド513,514が表示されたのは、図12の操作コマンド定義データ713,715のStringが「サイン」を有するためである。
次に、図30を用いて手書きサインデータの登録例を説明する。図30は手書きサインデータの登録方法を説明する図である。まず、図30(a)は「サイン」とユーザーが手書きした場合に表示される選択可能候補530の一例である。「サイン」という文字列と部分一致する、操作コマンド定義データ713,715に基づく「手書きサイン登録する」と「手書きサインアウトする」の二つの操作コマンド513,514と、「サイン」「サイン会」「サイン入り」の文字列候補が表示されている。2つの操作コマンド513,514が表示されたのは、図12の操作コマンド定義データ713,715のStringが「サイン」を有するためである。
ユーザーがペン2500で「手書きサイン登録する」を押下すると、手書き入力保存部25に図30(b)の手書きサイン登録フォーム561が追加され、操作画面101に表示される。例えば、図30(a)の操作ガイド500が消去され、操作ガイド500と同じ場所に手書きサイン登録フォーム561が表示される。手書きサイン登録フォーム561は上段から、名前入力欄561a、サイン入力欄561b〜561d、及び、登録確定欄561eを有する。ユーザーは、名前入力欄561aに名前のテキスト、サイン入力欄561b〜561dに1回目の手書きサイン、2回目の手書きサイン、3回目の手書きサイン、登録確定欄561eにチェックマーク又は取消マークを入力する。名前のテキストはこのユーザーの表示名であり、テキストデータに変換される。手書きサインが3回も入力されるのは、手書きサインはユーザーが書くたびに異なり完全一致しない前提で特徴量を登録しておくためである。
なお、手書きサインは一般にはユーザー名等、ユーザーに関する文字等であり、ユーザー名の他、社員番号などの数字、ニックネーム、似顔絵などでもよい。また、手書きサインはユーザーに関する文字等に限られず、何らかの手書きオブジェクトであればよい。手書きサインは、例えば、丸、三角形、四角形、記号やその組み合わせでもよい。手書きサインは、座標だけが特徴データとなるわけではないので、同姓のユーザー(例えば、鈴木さん)がどちらも「すずき」という手書きサインを登録しても正しく認証できる。
手書きサイン登録フォーム561にユーザーが指示通りに手書きをすると、図30(c)に示す手書きサイン登録フォーム561となる。登録確定欄561eに「チェックマーク」をユーザーが手書きすると手書きサインデータが手書きサインデータ保存部39に登録され手書きサイン登録フォーム561は削除される。登録によりSignatureIdが採番され、同様に採番されたAccountId、及び、名前入力欄561aの名前を示すテキストがSignatureIdに対応付けてユーザー定義データに登録される。ユーザーがユーザー名等を手書きしてサインインすると、ユーザー定義データでAccountIdに対応付けられたSignatureIdが取得され手書きサインインに使用したペン2500のペンIDに対応づけてペンID制御データに登録される。以降は、ユーザーがペン2500を使用すればペンIDが表示装置2に送信される。表示装置2はペンID制御データでペンIDに対応付けられたAccountIdを特定でき、ユーザーが意識しなくてもユーザー定義データを使用した操作コマンドの実行が可能になる。
登録確定欄561eに「×」をユーザーが手書きすると手書きサイン登録は取り消され手書きサイン登録フォーム561は削除される。なお、登録に関して何らかのエラーが発生した場合、操作画面101のシステム予約領域などにその旨が表示される。
このように、手書き入力表示制御部23はフォームへの手書き入力とフォーム以外の手書き入力を区別せずに手書き入力を受け付けることができる。
<手書きよるサインインの一例>
次に、図31を用いて、手書きサインデータの登録後に、ユーザーがサインインする方法を説明する。図31は、ユーザーが登録した手書きサインデータである「すずき」と手書きした場合に表示される操作ガイド500の一例である。「すずき」が手書きサインデータとして操作コマンド定義部33に登録されているので、「すずき」が手書きサインデータと適合する。このため、「手書きサインインする」という操作コマンド512が表示されている。
次に、図31を用いて、手書きサインデータの登録後に、ユーザーがサインインする方法を説明する。図31は、ユーザーが登録した手書きサインデータである「すずき」と手書きした場合に表示される操作ガイド500の一例である。「すずき」が手書きサインデータとして操作コマンド定義部33に登録されているので、「すずき」が手書きサインデータと適合する。このため、「手書きサインインする」という操作コマンド512が表示されている。
また、手書きサインデータが適合したので「すずき」を表すSignatureIdが特定され、このSignatureIdに対応付けられているAccountIdを有するユーザー定義データが特定される。
ユーザーが「手書きサインインする」という操作コマンド512を選択すると、使用しているペン2500のペンIDに「すずき」のAccountIdを対応付けてペンID制御データに追加され、「すずき」のユーザー定義データが操作コマンドの使用時に使用されるようになる。
図31の手書きサイン登録フォーム561を用いた手書きサインデータの登録は、文字等に代表される手書き入力の一環として制御されるので、手書きサイン登録フォーム561は文字等が手書きされる操作画面と同じ操作画面に表示される。手書きサイン登録フォーム561の内外の手書き操作に違いはなく、ユーザーは手書きサイン登録フォーム561の罫線で区切られた領域に手書き入力するだけで手書きサイン登録フォーム561への入力を完了させることができる。
<ユーザー定義データの変更操作例>
次に、図32を用いて、ユーザー定義データの変更方法を説明する。図32は、ユーザー定義データの変更方法を説明する図である。図32(a)は、ユーザーが「せ」と手書きした時に表示される操作ガイド500の一例である。図12に示した操作コマンド定義データ716はStringに「設定」が定義されており、「せ」の予測文字列に「設定」があったため、「設定変更する」という操作コマンドが表示された。
次に、図32を用いて、ユーザー定義データの変更方法を説明する。図32は、ユーザー定義データの変更方法を説明する図である。図32(a)は、ユーザーが「せ」と手書きした時に表示される操作ガイド500の一例である。図12に示した操作コマンド定義データ716はStringに「設定」が定義されており、「せ」の予測文字列に「設定」があったため、「設定変更する」という操作コマンドが表示された。
ユーザーが、手書きでサインインしたペン2500で「設定変更する」を選択すると、ペンID制御データでこのペン2500のペンIDに対応付けられているユーザーのAccountIdが特定される。これにより、サインインしたユーザーのユーザー定義データが特定される。図32(b)のユーザー定義データ変更フォーム562が手書き入力保存部25に追加され、操作画面101に表示される。図32の例では、図14のユーザー定義データ718にしたがってユーザー定義データ変更フォーム562が作成される。ユーザー定義データ変更フォーム562は名前欄562a、パスワード欄562b、フォルダーユーザー名欄562c、フォルダーパスワード欄562d、フォルダーファイル名欄562e、及び、登録又は取消欄562fを有する。
なお、予めユーザーが手書きでサインインしていないと表示装置2はユーザーのAccountIdを特定できないのでエラーとなり、操作画面101のシステム予約領域などにエラーメッセージが表示される。
図32(b)のユーザー定義データ変更フォーム562の、パスワード欄562bにパスワードをユーザーが手書きする。フォルダーユーザー名欄562cにフォルダーユーザー名をユーザーが手書きする。フォルダーパスワード欄562dにフォルダーパスワードをユーザーが手書きする。フォルダーファイル名欄562eにフォルダーファイル名をユーザーが手書きする。登録又は取消欄562fに「チェックマーク」又は「×」をユーザーが手書きする。これによりユーザー定義データの変更が実行され、ユーザー定義データ変更フォーム562は削除される。
このように、ユーザーはユーザー定義データ変更フォーム562を呼び出すストロークデータを手書きすることで、ユーザー定義データ変更フォーム562を表示させ、ユーザー定義データを任意に変更できる。手書き入力表示制御部23はフォームへの手書き入力とフォーム以外の手書き入力を区別せずに手書き入力を受け付ける。
なお、名前欄562aには、ユーザー定義データが有するAccountUsernameが自動で表示される。また、ユーザー定義データ変更フォーム562は変更だけでなく登録にも使用可能である。
図32のユーザー定義データ変更フォーム562を用いたユーザー定義データの変更は、文字等に代表される手書き入力の一環として制御されるので、ユーザー定義データ変更フォーム562は文字等が手書きされる操作画面と同じ操作画面に表示される。ユーザー定義データ変更フォーム562の内外の手書き操作に違いはなく、ユーザーはユーザー定義データ変更フォーム562の罫線で区切られた領域に手書き入力するだけでユーザー定義データ変更フォーム562への入力を完了させることができる。
<動作手順>
以上の構成と図33〜図39を用いて、表示装置2の動作について説明する。図33〜図39は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図33の処理は、表示装置2が起動すると(アプリケーションが起動すると)スタートする。なお、図33〜図39ではスペースの都合上、符号で図6の機能を示した。
以上の構成と図33〜図39を用いて、表示装置2の動作について説明する。図33〜図39は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図33の処理は、表示装置2が起動すると(アプリケーションが起動すると)スタートする。なお、図33〜図39ではスペースの都合上、符号で図6の機能を示した。
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に送信する。なお、角度情報はまだ初期値のゼロである。
S6:手書き入力表示制御部23はペン座標補完表示データ(離散的なペン座標を補間するデータ)を表示部22に送信する。表示部22はペン座標補完表示データを用いてペン座標を補間して線を表示する。
S7:手書き入力表示制御部23はペン座標とその受信時刻を手書き入力保存部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内で直線が検出された場合に実行される。
S21:次に、手書き認識制御部26は、手書き入力部21から受信したペンIDを指定して、ペンID制御データ保存部36から現在のペンID制御データの角度情報を取得する。
S22:手書き認識制御部26は、ストロークデータ保持領域のストロークデータを取得した角度情報で時計回りに回転する。
S23:手書き認識制御部26は、手書きサイン認証制御部38に回転後のストロークデータを送信する。このようにストロークデータが手書きサインかどうかは不明な状態で常に手書きサイン認証制御部38に送信する。
S24:手書きサイン認証制御部38はストロークデータを受信し、手書きサインデータ保存部39から登録済みの手書きサインデータを受信する。そして、手書きサイン認証制御部38はストロークデータと手書きサインデータの比較(マッチング)を行い、後段のステップS61で手書きサインの認証結果を取得できるように手書きサインの認証結果を保持しておく。
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:ユーザー定義データ変更フォームの登録又は取消欄内が「チェックマーク」であった場合、後述するステップS86でユーザー定義データ変更フォーム562に入力された変更値を手書き認識制御部26が操作コマンド定義部33に送信する。ユーザー定義データ変更フォーム562は、手書き入力表示制御部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で説明される操作コマンドの候補の送信まで同様に処理される。
S40:文字列変換制御部28は受信した変換文字列候補を操作コマンド認識制御部32に送信する。
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は選択されていると判定できる確定オブジェクトを選択オブジェクトとして保存しておく。また、この場合、選択オブジェクトが特定されるので入出力系の操作コマンドの候補を操作コマンド定義部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〜S89は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生しない場合に実行される。したがって、図18に示した操作ガイド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に送信する。
S58−2:次に、手書き入力表示制御部23は、手書き認識制御部26から取得した手書き認識文字列候補、言語文字列候補、文字列変換制御部28から取得した変換文字列候補、及び、予測変換制御部30から取得した予測文字列候補を指定して、画像取得を画像変換制御部42に送信する。
S58−3:画像変換制御部42は手書き認識文字列候補、言語文字列候補、変換文字列候補、及び、予測文字列候補で画像変換辞書部43を検索する。これにより、画像変換制御部42は画像候補を受信し、手書き入力表示制御部23に送信する。なお、手書き入力表示制御部23は画像候補に加え名称を受信する場合がある。
S59:更に、手書き入力表示制御部23は推定書字方向取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト矩形領域のストローク追加時間と水平距離と垂直距離から判定して、推定書字方向を手書き入力表示制御部23に送信する。
S60:次に、手書き入力表示制御部23は、手書き入力部21から受信したペンIDを指定して、ペンID制御データ保存部36から現在のペンID制御データの角度情報を取得する。
S61:手書き入力表示制御部23は手書きサイン認証制御部38から手書きサインの認証結果を取得する。これにより、ユーザーのSignatureIdが得られるので、後述する操作コマンドの実行時にペンIDにAccountIdが対応付けて登録される。
S62:手書き入力表示制御部23はこれらの手書き認識文字列候補(図18では「ぎ」)、言語文字列候補(図18では表示がないが例えば「議」)、変換文字列候補(図18では「議事録」「技量試」)、予測文字列候補(図18では「技量試を決済」「議事録の送付先」)、操作コマンドの候補(図18では「議事録テンプレートを読み込む」「議事録フォルダーに保存する)、各選択確率、及び、推定書字方向から図18のような選択可能候補表示データを作成する。
また、手書き入力表示制御部23は、図19〜図24に示した画像候補を含む選択可能候補表示データを作成する。どちらを表示するかはユーザーの設定に依存するため、ユーザーの設定が画像候補を表示する場合、文字のみの選択可能候補表示データを作成しなくてもよい。
また、手書き入力表示制御部23はステップS60で取得した角度情報で選択可能候補表示データ(操作ガイド500)を反時計回りに回転させ、回転後の選択可能候補表示データ(操作ガイド500)を表示部22に送信することで表示させる。
S63:また、手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ(矩形枠)(図18では手書きオブジェクト矩形領域表示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を実行する。一定時間の経過で選択可能候補表示データ、手書きオブジェクトと選択オブジェクトの矩形領域表示データを表示部22が消去してよいためである。
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS71〜S89が実行される。
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に送信する。画像候補が選択された場合、手書き入力表示制御部23は画像オブジェクト追加を手書き入力保存部25に送信する。
S81:更に手書き入力表示制御部23は文字列オブジェクトフォント取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクトの推定文字サイズから定義済みフォントを選択して手書き入力表示制御部23に送信する。画像候補が選択された場合、画像データは取得済みなので特に処理は必要ない。
S82:次に手書き入力表示制御部23は手書き入力保存部25から受信した定義済みフォントを使用して、手書きオブジェクトと同じ位置に表示させる文字列オブジェクト表示データを表示部22に送信させることで、表示させる。画像候補が選択された場合、手書き入力表示制御部23は手書きオブジェクトと同じ位置に表示させる画像オブジェクト表示データを表示部22に送信させることで、表示させる。
操作コマンドの候補が選択された場合、ステップS83〜S88が実行される。更に、選択オブジェクトがある場合はステップS83〜S85が実行される。
S83:選択オブジェクトへの操作コマンドの候補が選択された場合(選択オブジェクトが存在する場合)は、手書き入力表示制御部23は選択オブジェクト表示データ消去を表示部22に送信することで表示を消去させる。いったん、手書き入力表示制御部23は元の選択オブジェクトを消去するためである。
S84:次に、手書き入力表示制御部23は選択オブジェクトへの操作コマンド実行を手書き入力保存部25に送信する。手書き入力保存部25は新しい選択オブジェクトの表示データ(編集又は修飾後の表示データ)を手書き入力表示制御部23に送信する。
S85:次に手書き入力表示制御部23は選択オブジェクト表示データを表示部22に送信することで、操作コマンド実行後の選択オブジェクトを再表示させる。
S86:入出力系の操作コマンドである操作コマンド定義データ713の「手書きサイン登録する」又は操作コマンド定義データ716の「設定変更する」が指定された場合、手書き入力表示制御部23は手書きサイン登録フォーム561又はユーザー定義データ変更フォームを手書き入力保存部25に追加する。
S87:その他、入出力系の操作コマンドが選択された場合、手書き入力表示制御部23はユーザーが選択した操作コマンドに対応する操作コマンド定義データの操作コマンド文字列(Command)を実行する。
サインインするための操作コマンド512が実行された場合、手書き入力表示制御部23は操作コマンド512の実行時に手書き入力部21が受信したペンIDを取得する。手書き入力表示制御部23はステップS61で取得したSignatureIdを有するユーザー定義データを特定してAccountIdをユーザー定義データから取得する。そして、手書き入力表示制御部23はペンIDに対応付けてAccountIdをペンID制御データに登録する。これにより、ペン2500とユーザーが紐付いた形となり、表示装置2はユーザー定義データを使って処理が可能になる。
ユーザーがサインインした後に操作コマンドが実行された場合、手書き入力表示制御部23は、AccountIdでユーザー定義データを特定し、操作コマンドの%〜%に設定して実行する。このAccountIdは、ペンID制御データにおいて、操作コマンドの実行時に手書き入力部21が受信したペンIDに対応付けられている。
S88:図29に示したように、操作ヘッダー520の回転操作ボタン511をユーザーが押下した場合、手書き入力表示制御部23は回転操作ボタン511の押下数によって、角度情報を受け付ける。手書き入力表示制御部23は受け付けた角度情報を、回転操作ボタン511の押下時にペン2500から受信したペンIDに対応付けてペンID制御データ保存部36に保存する。
S89:次の手書きオブジェクトのために手書き入力表示制御部23は手書きオブジェクト開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト領域を確保する。これ以降、ステップS2〜S89の処理が繰り返される。
<画像候補の表示例>
以下では画像候補の表示例について説明する。
図40は、医薬品の画像候補531を表示する操作ガイド500の一例である。図40ではユーザーが「ガス」と手書きした。これは「ガス」で始まる錠剤を表示装置2が表示するためである。画像変換制御部42は「ガス」で画像変換辞書部43を検索して「ガス」が前方一致した2つの画像候補531を表示する。ユーザーが「ガスロンN・OD錠(登録商標)」を意図していた。しかし、「ガスロンN・OD錠(登録商標)」は「ガスコン錠(登録商標)」とも似ているため「ガスコン錠(登録商標)」を間違えるおそれがある。しかし、画像候補531として医薬品の特徴的なパッケージが表示されているため、ユーザーは手書きしようとしていた錠剤を確実に選択できる。このような使い方は、製品の外観はイメージできるが名称をはっきりと思い出せないような場合にも有効になる。図40では、操作ガイド500の画像候補531が選択された場合に文字のみが表示されている。
以下では画像候補の表示例について説明する。
図40は、医薬品の画像候補531を表示する操作ガイド500の一例である。図40ではユーザーが「ガス」と手書きした。これは「ガス」で始まる錠剤を表示装置2が表示するためである。画像変換制御部42は「ガス」で画像変換辞書部43を検索して「ガス」が前方一致した2つの画像候補531を表示する。ユーザーが「ガスロンN・OD錠(登録商標)」を意図していた。しかし、「ガスロンN・OD錠(登録商標)」は「ガスコン錠(登録商標)」とも似ているため「ガスコン錠(登録商標)」を間違えるおそれがある。しかし、画像候補531として医薬品の特徴的なパッケージが表示されているため、ユーザーは手書きしようとしていた錠剤を確実に選択できる。このような使い方は、製品の外観はイメージできるが名称をはっきりと思い出せないような場合にも有効になる。図40では、操作ガイド500の画像候補531が選択された場合に文字のみが表示されている。
図41は、人物の写真の画像候補を表示する操作ガイドの一例である。図40ではユーザーが「佐」と手書きした。これは「佐」で始まる人物の氏名を表示装置2が表示するためである。画像変換制御部42は「佐」で画像変換辞書部43を検索して「佐」が前方一致した4つの画像候補を表示する。「佐」で始まる人名が似ていたとしても、画像候補531は人物の写真なので、ユーザーは手書きしようとしていた人物を確実に選択できる。このような使い方は、人物の顔はイメージできるが氏名をはっきりと思い出せないような場合にも有効になる。図41では、操作ガイド500の画像候補531が選択された場合に画像1001と文字が表示されている。画像1001は文字の周囲(上下左右)に表示されればよい。画像1001は周囲以外に表示されてもよい。
図42は、図2と同様に分子構造模型を画像候補531とする操作ガイド500の一例である。図42では、ユーザーが画像候補531を選択すると、画像1001(分子構造模型)のみが表示されている。つまり、名称などの文字は表示されない。このように画像候補の選択後に画像1001のみを表示する使い方は、文字よりも画像の構造が情報の意味を多く伝えるような状況で有効である。例えば、専門家の会議では分子構造模型を見ることで名称だけでなく、作用などを共有できる場合がある。また、授業などで教師が物の形状等を説明する場合、物の構造を説明しやすくなる。
図40〜図42に示すように、表示装置2は、操作ガイド500の画像候補531が選択された場合、画像のみ、画像と名称、又は、名称のみ、を表示できる。どのような表示方法が好ましいかはユーザーや状況によって異なるので、ユーザーが操作ヘッダー520から設定したり、操作ガイド500を長押したりするなどして表示したメニューから設定できるとよい。
<3DCGの画像候補>
図43〜図45は、3DCGの分子構造模型を画像候補とする操作ガイド500の一例である。つまり、画像候補が3DCGで生成されている。図43〜図45の表示方法は図19〜図21と同様でよい。図43〜図45では、操作ガイド500が表示する画像候補531が3DCGであるため、ユーザーがペン2500等を使って上下左右に回転させることができる。これにより、例えば紙面の奥側の構造をユーザーが確認してから、画像候補を選択することができる。
図43〜図45は、3DCGの分子構造模型を画像候補とする操作ガイド500の一例である。つまり、画像候補が3DCGで生成されている。図43〜図45の表示方法は図19〜図21と同様でよい。図43〜図45では、操作ガイド500が表示する画像候補531が3DCGであるため、ユーザーがペン2500等を使って上下左右に回転させることができる。これにより、例えば紙面の奥側の構造をユーザーが確認してから、画像候補を選択することができる。
なお、3DCGの表示には専用のビューアーソフトが必要であるため、操作ガイド500とは別のウィンドウなどに画像候補531を表示してもよい。画像候補531の選択後も選択された画像を3DCGで表示できることが好ましい。この場合、プレゼンテーションなどで商品の構造を説明したり、教師が生徒に物の構造を教えたりするような場合に有効である。
<関連がある画像候補の表示>
また、必ずしもユーザーが入力した手書きデータが認識された文字列と前方一致の画像候補を表示するのでなく、表示装置2は関連がある画像候補531を表示してもよい。
また、必ずしもユーザーが入力した手書きデータが認識された文字列と前方一致の画像候補を表示するのでなく、表示装置2は関連がある画像候補531を表示してもよい。
図46は、医薬品の画像候補531を表示する操作ガイド500の一例である。図46ではユーザーが「デパ」と手書きした。「デパ」で始まる医薬品と効用が似ている医薬品を表示するためである。画像変換制御部42は「デパ」で画像変換辞書部43を検索して「デパ」が前方一致した「デパス(登録商標)」という名称の画像候補を特定する。また、画像変換制御部42は「デパス」という名称と関連付けられた「サイレース(登録商標)」「レンドルミン(登録商標)」という名称の画像候補531を特定する。ユーザーは画像候補531を見て適切な医薬品を選択することができる。例えば、名称を重い出せなかった医薬品を選択することもできるし、効用が似た医薬品を並べて最も適切な医薬品を選択することができる。また、名称の先頭の文字が異なる画像候補531を表示させることができる。
なお、このような画像候補531を表示するには、図47に示すように画像変換辞書部43の画像が関連づけられていればよい。図47では画像変換辞書部43がグループIDの項目を有し、画像にグループIDが設定されている。同じグループに所属する画像には同じグループIDが付与されている。グループIDは、形状、性質、用途など所定の観点で類似性がある場合に同じ値が付与される。こうすることで、図46に示したように関連がある画像候補531を表示できる。
<手書きデータによる検索>
また、本実施形態では、手書きデータから変換された文字列で画像変換辞書部43を検索する実施例を説明したが、画像変換制御部42は手書きデータで画像変換辞書部43を直接、検索してもよい。この場合、図48に示すように画像変換辞書部43の画像に手書きデータが関連づけられていればよい。図48では画像変換辞書部43が手書きデータの項目を有し、名称の手書きデータが画像に対応付けられている。画像変換制御部42はリアルタイムの手書きデータで画像変換辞書部43の手書きデータの先頭から、検索する。例えば、設計者が予め画像変換辞書部43の手書きデータを文字ごとに区切っておく。画像変換制御部42は推定文字サイズの検出で用いた水平距離と垂直距離の比に応じて、画像変換辞書部43の手書きデータの検索範囲を決定する。すなわち、水平距離と垂直距離が1対1なら1文字まで、水平距離と垂直距離が1対2なら2文字まで、などのように決定する。
また、本実施形態では、手書きデータから変換された文字列で画像変換辞書部43を検索する実施例を説明したが、画像変換制御部42は手書きデータで画像変換辞書部43を直接、検索してもよい。この場合、図48に示すように画像変換辞書部43の画像に手書きデータが関連づけられていればよい。図48では画像変換辞書部43が手書きデータの項目を有し、名称の手書きデータが画像に対応付けられている。画像変換制御部42はリアルタイムの手書きデータで画像変換辞書部43の手書きデータの先頭から、検索する。例えば、設計者が予め画像変換辞書部43の手書きデータを文字ごとに区切っておく。画像変換制御部42は推定文字サイズの検出で用いた水平距離と垂直距離の比に応じて、画像変換辞書部43の手書きデータの検索範囲を決定する。すなわち、水平距離と垂直距離が1対1なら1文字まで、水平距離と垂直距離が1対2なら2文字まで、などのように決定する。
なお、この場合は例えばパターンマッチングで検索できる。また、手書きデータにはクセがあるので、画像変換辞書部43には異なる人間の手書きデータが登録されていてよい。
<主な効果>
以上説明したように、本実施形態の表示装置2は、選択可能候補を画像として表示するため、ユーザーが意図する者や物を選択しやすくなり、間違った情報を提示することを抑制できる。また、選択された画像を表示することもできるため、視覚的に情報を提示できる。
以上説明したように、本実施形態の表示装置2は、選択可能候補を画像として表示するため、ユーザーが意図する者や物を選択しやすくなり、間違った情報を提示することを抑制できる。また、選択された画像を表示することもできるため、視覚的に情報を提示できる。
また、文字等の入力と手書きサインの入力を区別せずにユーザーが手書きすることができ、各種の操作コマンドとサインインするための操作コマンド512を区別せずにユーザーが手書きで呼び出すことができる。
また、本実施形態の表示装置2は、操作メニューを選択してボタンのリストから操作を選択するという作業が必要なく、文字等を手書きする場合と同様に操作コマンドを入力できる。操作ガイドには操作コマンドと選択可能候補530が同時に表示されるので、ユーザーは文字等の入力と操作コマンドの選択を区別せずに表示装置2を使用できる。ユーザーが手書きオブジェクトを手書きしたり確定オブジェクトを囲み線で囲んだりすることで、任意の操作コマンドの候補を表示させることができる。したがって、手書きした状態から任意の機能(編集機能、入出力機能、又はペン機能等)を呼び出すことができる。これにより、メニューボタンを押下して所望の機能を呼び出すステップバイステップの操作を不要にでき、ユーザーが手書きしている状態から任意の機能を呼び出すまでの操作手順を低減できる。
本実施例では、英語の手書きデータを画像候補に変換する表示装置2について説明する。なお、表示装置2の構成は、変換用の辞書や操作コマンド定義データが英語に対応する以外は実施例1と同様である。このため、表示装置2が手書きデータを英語に変換(以下、英語変換という)することに基づく実施例1との相違を説明する。
図49は、英語変換の場合に、表示装置2が表示する複数の画像候補の一例を示す図である。なお、図49の説明では主に図2との相違を説明する。
(1) ユーザーが「Aspartic acid」という用語を入力するために「a」と手書きする。
(2) 表示装置2は、「a」で始まる画像候補531を表示する。すなわち、ユーザーが筆記途中でも、筆記段階の文字列に適合する図形、イラスト、及び、写真等の画像候補531を表示する。図49では、「Ascorbic acid(アスコルビン酸)」「Aspartic acid(アスパラギン酸)」「acetylene(アセチレン)」「Acetaldehyde(アセトアルデヒド)」「Alanine(アラニン)」の分子構造模型が表示されている。
(3) ユーザーが画像候補531の1つを選択すると、表示装置2は選択された画像を、この画像を表す文字と共に表示する。表示装置2は文字のみ、又は、画像のみを表示してよい。
(1) ユーザーが「Aspartic acid」という用語を入力するために「a」と手書きする。
(2) 表示装置2は、「a」で始まる画像候補531を表示する。すなわち、ユーザーが筆記途中でも、筆記段階の文字列に適合する図形、イラスト、及び、写真等の画像候補531を表示する。図49では、「Ascorbic acid(アスコルビン酸)」「Aspartic acid(アスパラギン酸)」「acetylene(アセチレン)」「Acetaldehyde(アセトアルデヒド)」「Alanine(アラニン)」の分子構造模型が表示されている。
(3) ユーザーが画像候補531の1つを選択すると、表示装置2は選択された画像を、この画像を表す文字と共に表示する。表示装置2は文字のみ、又は、画像のみを表示してよい。
したがって、英語変換の場合も、表示装置2は、選択可能候補を画像として表示するため、ユーザーが意図する者や物を選択しやすくなり、間違った情報を提示することを抑制できる。また、選択された画像を表示することもできるため、視覚的に情報を提示できる。
<辞書データの一例>
図50〜図52を用いて英語変換の場合の辞書データについて説明する。図50〜図52の説明では、主に図8〜図10との相違を説明する。図50は、英語変換に使用される手書き認識辞書部27の辞書データの一例である。図50の手書き認識辞書部27の辞書データは、手書きされた「a(ストロークデータの状態)」は、確率0.90で「a」、確率0.10で「o」に変換されることを示す。
図50〜図52を用いて英語変換の場合の辞書データについて説明する。図50〜図52の説明では、主に図8〜図10との相違を説明する。図50は、英語変換に使用される手書き認識辞書部27の辞書データの一例である。図50の手書き認識辞書部27の辞書データは、手書きされた「a(ストロークデータの状態)」は、確率0.90で「a」、確率0.10で「o」に変換されることを示す。
図51は、英語変換に使用される文字列変換辞書部29の辞書データの一例である。図51の文字列変換辞書部29の辞書データでは、文字列「a」は確率0.55で「ab」に、文字列「a」は確率0.45で「AI」に変換されることを示す。その他の「変換前」の文字列についても同様である。
図52は英語変換に使用される予測変換辞書部31の辞書データの一例である。図52の予測変換辞書部31の辞書データでは、文字列「agenda」は確率0.55で「agenda list」に、確率0.30で「agenda template」に変換されることを示す。
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
図53は、英語変換に使用される画像変換辞書部43が有する画像辞書データの一例である。図53の説明では主に図11との相違を説明する。英語変換の場合、Indexに画像の英語名が登録される。したがって、ユーザーが英語を手書きすると、表示装置2は英語に対応付けられた画像(Image)を表示できる。
<操作コマンド定義データの一例>
図54は、選択オブジェクトがない場合の操作コマンド定義データの一例である。図54の説明では主に図12との相違を説明する。各操作コマンドの内容は図12と同様であるが、Nameとstringに英語表現が対応付けられている。したがって、ユーザーは英語で操作コマンドを手書きでき、英語の操作コマンドを選択できる。
図54は、選択オブジェクトがない場合の操作コマンド定義データの一例である。図54の説明では主に図12との相違を説明する。各操作コマンドの内容は図12と同様であるが、Nameとstringに英語表現が対応付けられている。したがって、ユーザーは英語で操作コマンドを手書きでき、英語の操作コマンドを選択できる。
図55は、選択オブジェクトがある場合の操作コマンド定義データの一例である。図55の説明では主に図13との相違を説明する。各操作コマンドの内容は図13と同様であるが、Nameに英語表現が対応付けられている。したがって、ユーザーは英語の操作コマンドを選択できる。
図56は、ユーザー定義データの一例である。図56の説明では主に図14との相違を説明する。ユーザー定義データの内容は図14と同様であるが、AccountUsernameを「Bob」とした。また、Nameに英語表現が対応付けられている。したがって、ユーザーは英語でユーザー定義データを選択できる。
なお、手書きサインデータ保存部39が保持する手書きサインデータは図15と同様でよく、手書き入力保存データは図16と同様でよい。ペンID制御データは図17と同様でよい。
<選択可能候補の表示例>
図57は英語変換の場合の操作ガイド500と操作ガイド500が表示する選択可能候補530の一例である。図57の説明では主に図18との相違を説明する。図57ではユーザーが手書きオブジェクト504として「a」を手書きした。「a」に基づいて、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、が表示されている。したがって、図18の日本語が英語に変わる以外は図18と同様でよい。なお、P−C501は「Predictive Conversion」(予測変換)の略である。
図57は英語変換の場合の操作ガイド500と操作ガイド500が表示する選択可能候補530の一例である。図57の説明では主に図18との相違を説明する。図57ではユーザーが手書きオブジェクト504として「a」を手書きした。「a」に基づいて、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、が表示されている。したがって、図18の日本語が英語に変わる以外は図18と同様でよい。なお、P−C501は「Predictive Conversion」(予測変換)の略である。
操作コマンドの候補510は例えば図54(a)の操作コマンド定義データにおいて「agenda」をstringに有する操作コマンド定義データ701,702である。
このように、ユーザーは、英語変換の場合も同様に操作ガイド500を表示させることができる。
図58〜図60は、ユーザーの手書きに応じて徐々に画像候補531が絞り込まれる遷移の様子を示している。なお、図58〜図60の説明では、主に図19〜図21との相違を説明する。日本語変換の場合と同様に、手書き認識制御部26は手書きデータの先頭から順次、文字に変換する。画像変換制御部42は文字が変換されるごとに、文字数を増やして画像変換辞書部43を前方一致で検索する。表示部22は、検索に使用する文字数が増えるにしたがって、数が少なくなる画像候補を表示する。
図58では、ユーザーが「a」という手書きオブジェクト504を手書きした。「a」が認識され、手書き認識文字列として「a」が得られると、手書き入力表示制御部23は「a」を画像変換制御部42に送信する。画像変換制御部42は図53の画像変換辞書部43を検索し、「a」と前方一致で適合する名称を有するIndex欄に対応付いた画像候補を手書き入力表示制御部23に送信する。この結果、図58では名称が「a」で始まる5つの画像候補531が操作ガイド500に表示されている。
次に、図59は、ユーザーが「a」と手書きした後に、画像候補531を選択せずに、そのまま「s」を手書きした場合に表示される画像候補531を示す。したがってユーザーは「as」と手書きしたので、手書き入力表示制御部23は「as」を画像変換制御部42に送信する。画像変換制御部42は図53の画像変換辞書部43を検索し、「as」と前方一致で適合する名称を有するIndex欄に対応付いた画像候補を手書き入力表示制御部23に送信する。この結果、図59では名称が「as」で始まる2つの画像候補531(アスパラギン酸とアスコルビン酸)が操作ガイド500に表示されている。
このように画像変換制御部は文字が変換されるごとに、文字数を増やして画像変換辞書部を前方一致で検索する。
次に、図60は、ユーザーが「Aspartic」まで全て手書きした場合に表示される画像候補531を示す。手書き入力表示制御部23は「Aspartic」を画像変換制御部42に送信する。画像変換制御部42は図53の画像変換辞書部43を検索し、「Aspartic」と適合する名称を有するIndex欄に対応付いた画像候補を手書き入力表示制御部23に送信する。この結果、図60では名称が「Aspartic acid」という画像候補531が操作ガイド500に表示されている。
図61〜図63は、画像候補531と、画像候補の名称532を表示する操作ガイド500の表示例を示す。図61は図58と、図62は図59と、図63は図60とそれぞれ対応しており、図61〜図63の表示方法は図58〜図60と同様でよい。図61〜図63の場合は、画像変換制御部42が画像変換辞書部43からIndex欄の名称も画像と共に受信し、手書き入力表示制御部23に送信する。これにより、操作ガイド500は画像候補の名称を表示することができる。
<選択オブジェクトの指定例>
図64は、英語変換の場合の選択オブジェクトの指定例を説明する図の一例である。なお、図64の説明では主に図25との相違を説明する。
図64は、英語変換の場合の選択オブジェクトの指定例を説明する図の一例である。なお、図64の説明では主に図25との相違を説明する。
図64(a)は横書きの2つの確定オブジェクト13a2、13b2をユーザーが跨ぎ線(手書きオブジェクト11a2)で指定した例である。この例では、手書きオブジェクト矩形領域12a2の短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定オブジェクト13a2、13b2との重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「agenda」と「ag」の両方の確定オブジェクト13a2、13b2が選択オブジェクトとして指定されている。
図64(b)は横書きの確定オブジェクト13c2を囲み線(手書きオブジェクト11b2)でユーザーが指定した例である。この例では、確定オブジェクト13c2と手書きオブジェクト矩形領域12c2の重なり率が囲み線判定条件407の条件を満たしている「agenda」という確定オブジェクト13c2だけが選択オブジェクトとして指定されている。
このように英語変換の場合も、ユーザーは同様に確定オブジェクトを選択できる。
<操作コマンドの候補の表示例>
図65は、図64に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図65の説明では主に図26との相違を説明する。
図65は、図64に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図65の説明では主に図26との相違を説明する。
図65(a)は編集系の操作コマンドの候補であり、図65(b)は修飾系の操作コマンドの候補である。また、図65(a)は図64(a)の手書きオブジェクト11a2で確定オブジェクトが指定された例を示す。図65(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。
図65(a)では1行目の「〉」512aの押下により、図65(a)のサブメニュー560が表示される。ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択オブジェクトに対して実行する。すなわち「Delete」521bが選択されると「Delete」、「Move」522bが選択されると「Move」、「Rotate」523bが選択されると「Rotate」、「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)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図65(b)では2行目の「〉」512bの押下により、図65(b)のサブメニューが表示される。図65(b)の表示例も図65(a)と同様にメインメニュー550とサブメニュー560が表示されている。図55の操作コマンド定義データに基づいて、「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が追加できる。
このようにユーザーは、英語変換の場合も、手書きオブジェクトがある場合の操作コマンドを表示させることができる。
<角度情報の入力例>
次に、図66は、角度情報の入力方法を説明する図の一例である。英語変換の場合も角度情報の入力方法は日本語変換と同じである。図66の説明では主に図28との相違を説明する。
次に、図66は、角度情報の入力方法を説明する図の一例である。英語変換の場合も角度情報の入力方法は日本語変換と同じである。図66の説明では主に図28との相違を説明する。
図66(a)は、ペンID制御データの角度情報が0度(初期値)の状態で、表示装置2の3時の方向に存在するユーザーが「a」を手書きしたため、操作ガイド500が表示された状態を示す。表示装置2は3時の方向から手書きした「a」を、角度情報が0度のまま文字認識するため、期待とは違う選択可能候補530が表示されている。
角度情報を入力する場合、ユーザーは操作ガイド500内に、ユーザーから見て上から下方向に直線を手書きする。図66(b)はこの直線521bの一例を示す。角度情報が0度である6時の方向とこの直線521bとの反時計回りのなす角αが角度情報である。
図66(c)は、図66(b)の操作直後の操作ガイド500を示す。ペンID制御データには角度情報(Angle)として90度が設定されたので、手書きオブジェクト(ストロークデータ)が内部的に90度だけ時計回りに回転して手書き認識され、操作ガイド500は90度だけ反時計回りに回転して表示されている。なお、角度情報はメニューからユーザーが手動で入力してもよい。
このように、ユーザーは英語変換の場合も角度情報を入力できる。
<手書きサインデータの登録例>
次に、図67は手書きサインデータの登録方法を説明する図である。図67の説明では主に図30との相違を説明する。まず、図67(a)は「Sign」とユーザーが手書きした場合に表示される選択可能候補530の一例である。「Sign」という文字列と部分一致する、操作コマンド定義データ713,715に基づく「Register handwritten signature」と「Hand sign out」の二つの操作コマンド513b,514bと、「Sign」「Signature session」「Signed」の文字列候補が表示されている。
次に、図67は手書きサインデータの登録方法を説明する図である。図67の説明では主に図30との相違を説明する。まず、図67(a)は「Sign」とユーザーが手書きした場合に表示される選択可能候補530の一例である。「Sign」という文字列と部分一致する、操作コマンド定義データ713,715に基づく「Register handwritten signature」と「Hand sign out」の二つの操作コマンド513b,514bと、「Sign」「Signature session」「Signed」の文字列候補が表示されている。
ユーザーがペン2500で「Register handwritten signature」を押下すると、手書き入力保存部25に図67(b)の手書きサイン登録フォーム561が追加され、操作画面101に表示される。例えば、図67(a)の操作ガイド500が消去され、操作ガイド500と同じ場所に手書きサイン登録フォーム561が表示される。
ユーザーは、名前入力欄561aに名前のテキスト、サイン入力欄561b〜561dに1回目の手書きサイン、2回目の手書きサイン、3回目の手書きサイン、登録確定欄561eにチェックマーク又は取消マークを入力する。
手書きサイン登録フォーム561にユーザーが指示通りに手書きをすると、手書きサイン登録フォーム561は、図67(c)に示す手書きサイン登録フォーム561となる。
このように、手書き入力表示制御部23はフォームへの手書き入力とフォーム以外の手書き入力を区別せずに手書き入力を受け付けることができる。ユーザーは英語を用いて手書きサインデータを登録できる。
<手書きよるサインインの一例>
図68は、英語変換において、ユーザーが登録した手書きサインデータである「Bob」と手書きした場合に表示される操作ガイド500の一例である。図68の説明では主に図31との相違を説明する。
図68は、英語変換において、ユーザーが登録した手書きサインデータである「Bob」と手書きした場合に表示される操作ガイド500の一例である。図68の説明では主に図31との相違を説明する。
「Bob」が手書きサインデータとして手書きサインデータ保存部39に登録されているので、「Bob」が手書きサインデータと適合する。このため、「Hand Sign in」という操作コマンド512が表示されている。
また、手書きサインデータが適合したので「Bob」を表すSignatureIdが特定され、このSignatureIdに対応付けられているAccountIdを有するユーザー定義データが特定される。
ユーザーが「Hand Sign in」という操作コマンド512を選択すると、使用しているペン2500のペンIDに「Bob」のAccountIdを対応付けてペンID制御データに追加され、「Bob」のユーザー定義データが操作コマンドの使用時に使用されるようになる。
このように、ユーザーは英語を用いてサインインすることができる。
<ユーザー定義データの変更操作例>
図69は、英語変換において、ユーザー定義データの変更方法を説明する図である。図69の説明では主に図32との相違を説明する。図69(a)は、ユーザーが「set」と手書きした時に表示される操作ガイド500の一例である。操作コマンド定義データ716にはStringに「set」が定義されており、「Change settings」という操作コマンドが表示された。
図69は、英語変換において、ユーザー定義データの変更方法を説明する図である。図69の説明では主に図32との相違を説明する。図69(a)は、ユーザーが「set」と手書きした時に表示される操作ガイド500の一例である。操作コマンド定義データ716にはStringに「set」が定義されており、「Change settings」という操作コマンドが表示された。
ユーザーが、手書きでサインインしたペン2500で「Change setting」を選択すると、ペンID制御データでこのペン2500のペンIDに対応付けられているユーザーのAccountIdが特定される。これにより、サインインしたユーザーのユーザー定義データが特定され、図69(b)のユーザー定義データ変更フォーム562が手書き入力保存部25に追加され、操作画面101に表示される。ユーザー定義データ変更フォーム562の各項目については図32(b)と同様である。
このように、ユーザーは英語変換の場合も日本語変換と同様にユーザー定義を変更できる。
<画像候補の表示例>
以下では英語変換の場合の画像候補の表示例について説明する。
図70は、医薬品の画像候補531を表示する操作ガイド500の一例である。なお、図70の説明では主に図40との相違を説明する。図70ではユーザーが「gas」と手書きした。これは「gas」で始まる錠剤を表示装置2が表示するためである。画像変換制御部42は「gas」で画像変換辞書部43を検索して「gas」が前方一致した2つの画像候補531を表示する。ユーザーは「Gaslon N・OD錠(登録商標)」を意図していた。しかし、「Gaslon N・OD錠(登録商標)」は「GASCON(登録商標)」とも似ているため「GASCON(登録商標)」と間違えるおそれがある。このような場合でも、画像候補531として医薬品の特徴的なパッケージが表示されるため、ユーザーは手書きしようとしていた錠剤を確実に選択できる。
以下では英語変換の場合の画像候補の表示例について説明する。
図70は、医薬品の画像候補531を表示する操作ガイド500の一例である。なお、図70の説明では主に図40との相違を説明する。図70ではユーザーが「gas」と手書きした。これは「gas」で始まる錠剤を表示装置2が表示するためである。画像変換制御部42は「gas」で画像変換辞書部43を検索して「gas」が前方一致した2つの画像候補531を表示する。ユーザーは「Gaslon N・OD錠(登録商標)」を意図していた。しかし、「Gaslon N・OD錠(登録商標)」は「GASCON(登録商標)」とも似ているため「GASCON(登録商標)」と間違えるおそれがある。このような場合でも、画像候補531として医薬品の特徴的なパッケージが表示されるため、ユーザーは手書きしようとしていた錠剤を確実に選択できる。
このような使い方は、製品の外観はイメージできるが名称をはっきりと思い出せないような場合にも有効になる。図70では、操作ガイド500の画像候補531が選択された場合に文字のみが表示されている。
図71は、人物の写真の画像候補を表示する操作ガイド500の一例である。なお、図71の説明では主に図41との相違を説明する。図71ではユーザーが「B」と手書きした。これは「B」で始まる人物の氏名を表示装置2が表示するためである。画像変換制御部42は「B」で画像変換辞書部43を検索して「B」が前方一致した4つの画像候補を表示する。「B」で始まる人名が似ていたとしても、画像候補531は人物の写真なので、ユーザーは手書きしようとしていた人物を確実に選択できる。このような使い方は、人物の顔はイメージできるが氏名をはっきりと思い出せないような場合にも有効になる。図71では、操作ガイド500の画像候補531が選択された場合に画像1010と文字が表示されている。画像1010は文字の周囲(上下左右)に表示されればよい。画像1010は周囲以外に表示されてもよい。
図72は、図2と同様に分子構造模型を画像候補531とする操作ガイド500の一例である。なお、図72の説明では主に図42との相違を説明する。図72では、ユーザーが画像候補531を選択すると、画像1020(分子構造模型)のみが表示されている。つまり、名称などの文字は表示されない。このように画像候補の選択後に画像1020のみを表示する使い方は、文字よりも画像の構造が情報の意味を多く伝えるような状況で有効である。例えば、専門家の会議では分子構造模型を見ることで名称だけでなく、作用などを共有できる場合がある。また、授業などで教師が物の形状等を説明する場合、物の構造を説明しやすくなる。
英語変換の場合も、図70〜図72に示すように、表示装置2は、操作ガイド500の画像候補531が選択された場合、画像のみ、画像と名称、又は、名称のみ、を表示できる。どのような表示方法が好ましいかはユーザーや状況によって異なるので、ユーザーが操作ヘッダー520から設定したり、操作ガイド500を長押したりするなどして表示したメニューから設定できるとよい。
<3DCGの画像候補>
図73〜図75は、英語変換の場合に、3DCGの分子構造模型を画像候補とする操作ガイド500の一例である。なお、図73〜図75の説明では主に図43〜図45との相違を説明する。図73〜図75では画像候補が3DCGで生成されている。図73〜図75の表示方法は図19〜図21と同様でよい。図73〜図75では、操作ガイド500が表示する画像候補531が3DCGであるため、ユーザーがペン2500等を使って上下左右に回転させることができる。これにより、例えば紙面の奥側の構造をユーザーが確認してから、画像候補を選択することができる。
図73〜図75は、英語変換の場合に、3DCGの分子構造模型を画像候補とする操作ガイド500の一例である。なお、図73〜図75の説明では主に図43〜図45との相違を説明する。図73〜図75では画像候補が3DCGで生成されている。図73〜図75の表示方法は図19〜図21と同様でよい。図73〜図75では、操作ガイド500が表示する画像候補531が3DCGであるため、ユーザーがペン2500等を使って上下左右に回転させることができる。これにより、例えば紙面の奥側の構造をユーザーが確認してから、画像候補を選択することができる。
<関連がある画像候補の表示>
図76は、英語変換の場合に、医薬品の画像候補531を表示する操作ガイド500の一例である。なお、図76の説明では主に図46との相違を説明する。図76ではユーザーが「DE」と手書きした。「DE」で始まる医薬品と効用が似ている医薬品を表示するためである。画像変換制御部42は「DE」で画像変換辞書部43を検索して「DE」が前方一致した「DEPAS(登録商標)」という名称の画像候補を特定する。また、画像変換制御部42は「DEPAS」という名称と関連付けられた「Flunitrazepam (登録商標)」「Lendormin(登録商標)」という名称の画像候補531を特定する。ユーザーは画像候補531を見て適切な医薬品を選択することができる。例えば、名称を重い出せなかった医薬品を選択することもできるし、効用が似た医薬品を並べて最も適切な医薬品を選択することができる。また、名称の先頭の文字が異なる画像候補531を表示させることができる。
図76は、英語変換の場合に、医薬品の画像候補531を表示する操作ガイド500の一例である。なお、図76の説明では主に図46との相違を説明する。図76ではユーザーが「DE」と手書きした。「DE」で始まる医薬品と効用が似ている医薬品を表示するためである。画像変換制御部42は「DE」で画像変換辞書部43を検索して「DE」が前方一致した「DEPAS(登録商標)」という名称の画像候補を特定する。また、画像変換制御部42は「DEPAS」という名称と関連付けられた「Flunitrazepam (登録商標)」「Lendormin(登録商標)」という名称の画像候補531を特定する。ユーザーは画像候補531を見て適切な医薬品を選択することができる。例えば、名称を重い出せなかった医薬品を選択することもできるし、効用が似た医薬品を並べて最も適切な医薬品を選択することができる。また、名称の先頭の文字が異なる画像候補531を表示させることができる。
なお、このような画像候補531を表示するには、図77に示すように画像変換辞書部43の画像が関連づけられていればよい。図77では画像変換辞書部43がグループIDの項目を有し、画像にグループIDが設定されている。同じグループに所属する画像には同じグループIDが付与されている。グループIDは、形状、性質、用途など所定の観点で類似性がある場合に同じ値が付与される。こうすることで、図76に示したように関連がある画像候補531を表示できる。
<手書きデータによる検索>
また、英語変換の場合も、画像変換制御部42は手書きデータで画像変換辞書部43を直接、検索してもよい。この場合、図78に示すように画像変換辞書部43の画像に手書きデータが関連づけられていればよい。図78の説明では主に図48との相違を説明する。図78では画像変換辞書部43が手書きデータの項目を有し、名称の手書きデータが画像に対応付けられている。
また、英語変換の場合も、画像変換制御部42は手書きデータで画像変換辞書部43を直接、検索してもよい。この場合、図78に示すように画像変換辞書部43の画像に手書きデータが関連づけられていればよい。図78の説明では主に図48との相違を説明する。図78では画像変換辞書部43が手書きデータの項目を有し、名称の手書きデータが画像に対応付けられている。
なお、動作手順については実施例1の図33〜図39と同様でよい。
実施例1では表示装置2が大型のタッチパネルを有するものとして説明されているが、表示装置はタッチパネルを有するものに限られない。本実施例ではプロジェクター型の表示装置について説明する。
<<表示装置の構成の別の例1>>
図79は、表示装置の他の構成例を示す図である。図79では、通常のホワイトボード434の上辺にプロジェクター432が設置されている。このプロジェクター432が表示装置に相当する。通常のホワイトボード434とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
図79は、表示装置の他の構成例を示す図である。図79では、通常のホワイトボード434の上辺にプロジェクター432が設置されている。このプロジェクター432が表示装置に相当する。通常のホワイトボード434とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
プロジェクター432は超短焦点の光学系を有しており、10cm程度から歪みの少ない映像をホワイトボード434に投影できる。この映像は、無線又は有線で接続されたPCから送信されてもよいし、プロジェクター432が記憶していてもよい。
ユーザーは専用の電子ペン2501を使ってホワイトボード434に手書きする。電子ペン2501は、ユーザーが手書きのためにホワイトボード434に押しつけるとスイッチがONになり発光する発光部を例えば先端部に有している。光の波長は近赤外や赤外なのでユーザーの目には見えない。プロジェクター432はカメラを有しており、発光部を撮像して画像を解析し電子ペン2501の方向を特定する。また、電子ペン2501は発光と共に音波を発信しており、プロジェクター432は音波の到達時間により距離を算出する。プロジェクター432は方向と距離により電子ペン2501の位置を特定できる。電子ペン2501の位置にはストロークが描画(投影)される。
プロジェクター432はメニュー430を投影するので、ユーザーが電子ペン2501でボタンを押下すると、プロジェクター432が電子ペン2501の位置とスイッチのON信号により押下されたボタンを特定する。例えば、保存ボタン431が押下されると、ユーザーが手書きしたストローク(座標の集合)がプロジェクター432で保存される。プロジェクター432は、予め定められたサーバー433又はUSBメモリー2600等に手書き情報を保存する。手書き情報はページごとに保存されている。画像データではなく座標のまま保存されるので、ユーザーが再編集することができる。ただし、本実施形態では操作コマンドを手書きで呼び出せるのでメニュー430は表示されなくてもよい。
<<表示装置の構成の別の例2>>
図80は、表示装置2の他の構成例を示す図である。図80の例では、表示装置2が、端末装置600、画像投影装置700A、及び、ペン動作検出装置810を有する。
図80は、表示装置2の他の構成例を示す図である。図80の例では、表示装置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>>
図81は、表示装置の構成例を示す図である。図81の例では、表示装置2が、端末装置600とディスプレー800Aと、ペン動作検出装置810とを有する。
図81は、表示装置の構成例を示す図である。図81の例では、表示装置2が、端末装置600とディスプレー800Aと、ペン動作検出装置810とを有する。
ペン動作検出装置810は、ディスプレー800Aの近傍に配置され、ディスプレー800A上に、電子ペン820Aが示している点を示す座標情報を検出し、端末装置600へ送信する。なお、図81の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820Aによって入力されるストローク画像の画像データを生成し、ディスプレー800Aに表示させる。
<<表示装置の構成の別の例4>>
図82は、表示装置の構成例を示す図である。図82の例では、表示装置2が、端末装置600と、画像投影装置700Aとを有する。
図82は、表示装置の構成例を示す図である。図82の例では、表示装置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は方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークとしてプロジェクターが描画(投影)する。
また、本実施形態では、選択オブジェクトがある場合に編集系及び修飾系の操作コマンドの候補を表示したが、他の操作コマンドの候補と共に同時に表示してもよい。
また、図6などの構成例は、表示装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」は、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
2 表示装置
Claims (12)
- 手書きデータに基づいて画像変換辞書部から画像候補を検索する画像変換制御部と、
前記画像変換制御部が検索して得た複数の画像候補を表示する表示部と、を有し、
前記表示部が表示する前記複数の画像候補の少なくとも一部は異なる者又は物を表すことを特徴とする表示装置。 - 手書きデータを認識して文字に変換する認識制御部、を有し、
前記画像変換制御部は、前記認識制御部が変換した文字で画像変換辞書部を検索し、
前記表示部は、前記画像変換制御部が検索して得た前記複数の画像候補を表示することを特徴とする請求項1に記載の表示装置。 - 前記認識制御部は前記手書きデータの先頭から順次、文字に変換し、
前記画像変換制御部は文字が変換されるごとに、文字数を増やして画像変換辞書部を前方一致で検索し、
前記表示部は、検索に使用する前記文字数が増えるにしたがって、数が少なくなる前記画像候補を表示することを特徴とする請求項2に記載の表示装置。 - 前記表示部は前記画像候補と共に前記画像候補の名称を表示することを特徴とする請求項1又は2に記載の表示装置。
- 前記画像候補は3DCG(三次元コンピュータグラフィック)であり、360度の回転が可能であることを特徴とする請求項1〜4のいずれか1項に記載の表示装置。
- 前記画像変換辞書部には、前記画像候補が所属するグループの識別情報が設定されており、
前記表示部は、手書きデータに基づいて前記画像変換辞書部から検索して得た1つの画像候補を表示すると共に、該画像候補と同じグループの識別情報を有する1つ以上の前記画像候補を表示することを特徴とする請求項1〜5のいずれか1項に記載の表示装置。 - 形状、性質、又は、用途が類似している前記画像候補は同じ前記グループの識別情報を有することを特徴とする請求項6に記載の表示装置。
- 前記画像候補の選択を受け付ける手書き入力部を有し、
前記表示部は、全ての前記画像候補と前記手書きデータを消去し、前記手書き入力部が受け付けた前記画像候補を前記手書きデータと同じ位置に表示することを特徴とする請求項1〜7のいずれか1項に記載の表示装置。 - 前記画像候補の選択を受け付ける手書き入力部を有し、
前記表示部は、全ての前記画像候補と前記手書きデータを消去し、前記手書き入力部が受け付けた前記画像候補の名称を前記手書きデータと同じ位置に表示することを特徴とする請求項1〜7のいずれか1項に記載の表示装置。 - 前記画像候補の選択を受け付ける手書き入力部を有し、
前記表示部は、全ての前記画像候補と前記手書きデータを消去し、前記手書き入力部が受け付けた前記画像候補の名称を前記手書きデータと同じ位置に表示し、更に、選択を受け付けた前記画像候補を前記名称の周囲に表示することを特徴とする請求項1〜7のいずれか1項に記載の表示装置。 - 画像変換制御部が、手書きデータに基づいて画像変換辞書部から画像候補を検索するステップと、
前記画像変換制御部が検索して得た複数の画像候補を表示部が表示するステップと、を有し、
前記表示部が表示する前記複数の画像候補の少なくとも一部は異なる者又は物を表すことを特徴とする表示方法。 - 表示装置を、
手書きデータに基づいて画像変換辞書部から画像候補を検索する画像変換制御部と、
前記画像変換制御部が検索して得た複数の画像候補を表示する表示部、として機能させ、
前記表示部が表示する前記複数の画像候補の少なくとも一部は異なる者又は物を表すことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/118,918 US11514696B2 (en) | 2019-12-17 | 2020-12-11 | Display device, display method, and computer-readable recording medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019227591 | 2019-12-17 | ||
JP2019227591 | 2019-12-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021096844A true JP2021096844A (ja) | 2021-06-24 |
Family
ID=76432069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020200247A Pending JP2021096844A (ja) | 2019-12-17 | 2020-12-02 | 表示装置、表示方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021096844A (ja) |
-
2020
- 2020-12-02 JP JP2020200247A patent/JP2021096844A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021070972A1 (en) | Display apparatus, color supporting apparatus, display method, and program | |
JP2023175845A (ja) | 手書き入力装置、手書き入力方法、プログラム、入力システム | |
US20240004520A1 (en) | Display apparatus, display method, and medium | |
US11514696B2 (en) | Display device, display method, and computer-readable recording medium | |
JP7452155B2 (ja) | 手書き入力装置、手書き入力方法、プログラム | |
JP7456287B2 (ja) | 表示装置、プログラム、表示方法 | |
JP7259828B2 (ja) | 表示装置、表示方法、プログラム | |
JP7354878B2 (ja) | 手書き入力装置、手書き入力方法、プログラム、入力システム | |
EP3825868A1 (en) | Display apparatus, display method, and program | |
JP2021096844A (ja) | 表示装置、表示方法、プログラム | |
JP2022041313A (ja) | 表示装置、表示方法、プログラム | |
WO2022045177A1 (en) | Display apparatus, input method, and program | |
CN112825022B (zh) | 显示装置、显示方法、介质 | |
JP2021064366A (ja) | 表示装置、カラー対応装置、表示方法、プログラム | |
EP3825831A1 (en) | Display apparatus, display method, and program | |
JP7392315B2 (ja) | 表示装置、表示方法、プログラム | |
JP7268479B2 (ja) | 表示装置、プログラム、表示方法 | |
EP3882757A1 (en) | Display device, display method, and program | |
JP2021152884A (ja) | 表示装置、表示方法、プログラム、情報処理装置 |