JP2021152884A - 表示装置、表示方法、プログラム、情報処理装置 - Google Patents

表示装置、表示方法、プログラム、情報処理装置 Download PDF

Info

Publication number
JP2021152884A
JP2021152884A JP2021019705A JP2021019705A JP2021152884A JP 2021152884 A JP2021152884 A JP 2021152884A JP 2021019705 A JP2021019705 A JP 2021019705A JP 2021019705 A JP2021019705 A JP 2021019705A JP 2021152884 A JP2021152884 A JP 2021152884A
Authority
JP
Japan
Prior art keywords
data
character string
control unit
display
characters
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
JP2021019705A
Other languages
English (en)
Inventor
成和 辻
Narikazu Tsuji
成和 辻
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 EP21158741.5A priority Critical patent/EP3882757A1/en
Priority to US17/189,811 priority patent/US20210294965A1/en
Priority to CN202110291489.2A priority patent/CN113434078A/zh
Publication of JP2021152884A publication Critical patent/JP2021152884A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】文字列に対する1つ以上の文字の位置を表す表示部品を表示できる表示装置を提供する。【解決手段】文字列301を表示する表示装置は、手書きデータから変換された1つ以上の文字302を表示する表示部と、1つ以上の文字302の、文字列301に対する挿入先を示す位置を表す表示部品(矢印303)を表示する手書き入力表示制御部と、を有する。【選択図】図2

Description

上記課題に鑑み、本発明は、表示装置、表示方法、及び、プログラムに関する。
手書き認識技術を利用し、手書きデータを文字等に変換してディスプレーに表示する表示装置が知られている。ユーザーは予め決まった縦書き又は横書きの方向に手書きすることで、表示装置は手書きデータを高精度に文字等に変換できる。
手書き方向を制限せずに文字列等に変換する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、手書き方向を識別し、識別した方向に基づいてカナ漢字変換又は予測変換を行う技術が開示されている。
しかしながら、従来の技術では、1つ以上の文字の文字列に対する位置を表す表示部品が表示されないという問題があった。例えば、文字列に1つ以上の文字をユーザーが挿入したい場合がある。ワープロソフトではユーザーが挿入位置にカーソルを移動させてキーボードから文字等を入力すれば簡単に文字を挿入できる。しかし、手書き認識で文字等が入力される表示装置では文字列に対する1つ以上の文字の位置について表示されていなかった。
本発明は、上記課題に鑑み、1つ以上の文字の文字列に対する位置を表す表示部品を表示できる表示装置を提供することを目的とする。
上記課題に鑑み、本発明は、文字列を表示する表示装置であって、手書きデータから変換された1つ以上の文字を表示する表示部と、前記1つ以上の文字の前記文字列に対する位置を表す表示部品を表示する手書き入力表示制御部と、を有することを特徴とする。
文字列に対する1つ以上の文字の位置を表す表示部品を表示できる表示装置を提供することができる。
文字列への文字の挿入に関する比較例を説明する図である。 本実施形態における文字列への文字の挿入方法を説明する図である。 表示装置の一例の全体構成図である。 ペンの斜視図の一例を示す図である。 表示装置の一例のハードウェア構成図である。 表示装置が有するユーザー認証に関する機能をブロック状に示す一例の機能ブロック図である。 定義済み制御データの一例を示す図である。 手書き認識辞書部の辞書データの一例を示す図である。 文字列変換辞書部の辞書データの一例を示す図である。 予測変換辞書部の辞書データの一例を示す図である。 操作コマンド定義部が保持する操作コマンド定義データとシステム定義データの一例を示す図である。 手書きデータにより選択された選択データがある場合の操作コマンド定義データの一例を示す図である。 操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 選択データの指定例を説明する図の一例である。 手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図の一例である。 手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図の一例である。 ペンの長押しにより選択される確定データの一例を示す図である。 文字の挿入先を説明する図の一例である。 確定データと手書きデータの一例を示す図である。 「ていれい」に対し表示された操作ガイドの一例を示す図である。 選択を受け付けた「定例」が表示された状態を示す図である。 ユーザーが「定例」という選択データを選択している場合に表示される矢印の一例を示す図である。 矢印の位置の一例を示す図である。 確定データに「定例」が挿入された文字列を示す図である。 横書きの確定データと縦書きの選択データの一例を示す図である。 ユーザーが縦書きした場合の操作ガイドの表示例を示す図である。 確定データ側に表示された挿入先を示す挿入記号の一例を示す図である。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その1)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その2)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その3)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その4)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その5)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その6)。 手書き入力表示制御部が挿入先を示す矢印を表示する処理を説明するフローチャート図の一例である。 英語変換の場合に、文字列への文字の挿入方法を説明する図である。 英語変換における定義済み制御データの一例を示す図である。 英語変換における手書き認識辞書部の辞書データの一例を示す図である。 英語変換における文字列変換辞書部の辞書データの一例を示す図である。 英語変換における予測変換辞書部の辞書データの一例を示す図である。 英語変換において、選択データがない場合の操作コマンド定義データの一例を示す図である。 選択データがある場合の操作コマンド定義データの一例を示す図である。 英語変換の場合の操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 英語変換の場合の選択データの指定例を説明する図の一例である。 英語変換の場合に、図41に示した手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。 英語変換の場合に、ペンの長押しにより選択される確定データの一例を示す図である。 英語変換における文字の挿入先を説明する図の一例である。 確定データと手書きデータの一例を示す図である。 「reg」に対し表示された操作ガイドの一例を示す図である。 選択を受け付けた「regular」が表示された状態を示す図である。 ユーザーが「regular」という選択データを選択している場合に表示される矢印の一例を示す図である。 矢印の位置の一例を示す図である。 確定データに「regular」が挿入された文字列を示す図の一例である。 英語変換の場合に、確定データ側に表示された挿入先を示す挿入記号の一例を示す図である。 中国語変換の場合に、文字列への文字の挿入方法を説明する図である。 中国語変換における定義済み制御データの一例を示す図である。 中国語変換における手書き認識辞書部の辞書データの一例を示す図である。 中国語変換における文字列変換辞書部の辞書データの一例を示す図である。 中国語変換における予測変換辞書部の辞書データの一例を示す図である。 中国語変換において、選択データがない場合の操作コマンド定義データの一例を示す図である。 中国語変換において、選択データがある場合の操作コマンド定義データの一例を示す図である。 中国語変換の場合の操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 中国語変換の場合の選択データの指定例を説明する図の一例である。 中国語変換の場合に、図62に示した手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。 中国語変換の場合に、ペンの長押しにより選択される確定データの一例を示す図である。 中国語変換における文字の挿入先を説明する図の一例である。 確定データと手書きデータの一例を示す図である。 「定期」に対し表示された操作ガイドの一例示す図である。 選択を受け付けた「定期」が表示された状態を示す図である。 ユーザーが「定期」という選択データを選択している場合に表示される矢印の一例を示す図である。 矢印の位置の一例を示す図である。 確定データに「定期」が挿入された文字列を示す図の一例である。 確定データ側に表示された挿入先を示す挿入記号の一例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。
以下、本発明を実施するための形態の一例として表示装置と、表示装置が行う表示方法について図面を参照しながら説明する。
<文字の挿入の概略>
まず、本実施形態を説明するにあたって、参考になる比較例を説明する。なお、比較例は従来技術や公知技術とは限らないことに注意されたい。
図1は、文字列への文字の挿入に関する比較例を説明する図である。
(1) ユーザーが手書きデータを表示装置に入力し、表示装置が「GEE」という文字列に変換して表示した。
(2) ユーザーは「G」と「E」の間に「R」という文字が抜けていることに気づき、「R」を手書きして認識させ「G」と「E」の間にドラッグ&ドロップする。
(3) 表示装置は、「R」がドロップされた座標に基づいて「G」と「E」の間に「R」を挿入すると判断して、全てを消去して「GREE」と表示する。
このように、比較例では、横書きで文字認識した文字をドラッグ&ドロップ操作でユーザーが挿入することができるが、例えば挿入する文字が複数あるような場合、ユーザーは複数ある文字のどれを挿入位置に合わせればよいか分かりづらくなる。
そこで、本実施形態では、1つ以上の文字の文字列に対する位置を表す表示部品を表示装置が表示することで、1つ以上の文字の文字列に対する位置を明確にする。
図2は、本実施形態における文字列への文字の挿入方法を説明する図である。ユーザーが手書きデータを表示装置に入力し、表示装置が「今日の会議」301という文字列に変換して表示した。ユーザーは「今日の」と「会議」の間に「定例」という文字が抜けていることに気づき、「ていれい」を手書きして「定例」302に変換させる。ユーザーが「定例」302を選択するか又はドラッグを開始すると、表示装置は挿入先を示す矢印303を表示する。矢印303は「定例」302に矢尻を向け、挿入先の文字列に矢頭を向けるので、「今日の会議」に対する「定例」の位置が明確になる。また、ユーザーは挿入位置を把握しやすい。ユーザーは「定例」302をドラッグして矢頭を所望の挿入位置に合わせてドロップする。
このように、本実施形態の表示装置は、1つ以上の文字の文字列に対する位置を表す矢印303(表示部品の一例)を表示するので、ユーザーが所望の挿入位置に文字等を挿入しやすくなる。文字列と1つ以上の文字の相対位置を明確にすることができる。
<用語について>
確定データとは文字認識により座標点列が文字コードなどコンピュータで取り扱いが可能な情報に変換されたデータをいう。正しい変換か否かは問わない。なお、本実施形態では、主に文字を使用して説明するが、数値、記号、アルファベットなども挿入処理に使用できる。
手書きデータとは、ディスプレー上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがディスプレーに入力手段を押しつけてから連続的に移動させた後、ディスプレーから離すという一連の操作をストロークといい、ストロークにより手書きされたデータをストロークデータという。手書きデータは1つ以上のストロークデータを有する。
挿入とは、中にさし込むことをいうが、文字と文字の間に挿入する他、先頭や末尾に追加してもよい。
選択データとは、表示装置で決まった操作方法でユーザーが選択した1文字以上の文字である。
ドラッグとは文字を選択したまま移動する操作(マウスのボタンを押したままマウスを動かす操作)であり、ドロップとは、目的の場所でドラッグしている文字を離す操作(マウスのボタンを放す操作)である。ドラッグにより選択データは移動される。ドロップにより表示装置は座標を検出しなくなる。
表示部品は、画面に表示される記号、図形又は画像である。挿入される文字列に対し1つ以上の文字の位置(以下、挿入先という)が明確となる何らかの表示であればよい。文字列に対し文字の挿入位置に関する表示部品、文字列における1つ以上の文字の位置に関する表示部品、又は、挿入を支援する表示部品とも言える。
「1つ以上の文字の文字列に対する位置」は、文字列と1つ以上の文字の相対的な位置である。この位置は例えば1つ以上の文字の文字列に対する挿入位置、又は、置き換え位置等になる。
「1つ以上の文字を用いた処理を文字列に対して行う」とは、1つ以上の文字の文字列への挿入、置き換え、挿入又は置き換え後の再変換などを含む。1つ以上の文字と文字列が用いられた処理であればよい。また、表示装置は文字列をハイライト表示、又は、点滅表示してもよい。なお、置き換えの場合は文字列内の文字が選択されているとよい。
<装置の全体構成>
図3を用いて、本実施形態に係る表示装置2の全体構成を説明する。図3は、表示装置2の全体構成図を示した図である。図3(a)では、表示装置2の一例として、壁につり下げられた横長の電子黒板として使用される表示装置2を示している。
表示装置2は、タッチパネルと一体のディスプレーに接触している入力手段の位置に基づいて手書きされた手書きデータを表示する装置である。ユーザーが手で書いたデータを入力できるので手書き入力装置とも呼ばれる。
図3(a)に示されているように、表示装置2の上部にはディスプレー220が設置されている。ユーザーUは、ペン2500を用いて、ディスプレー220に文字等を手書きする(入力、描画ともいう)することができる。
図3(b)は壁につり下げられた縦長の電子黒板として使用される表示装置2を示している。
図3(c)は机230に平置きされた表示装置2を示す。表示装置2は厚みが1cm程度なので、一般の机に平置きされても机の高さを調整する必要がない。また、ユーザーが表示装置2を容易に移動できる。
<ペンの外観の一例>
図4は、ペン2500の斜視図の一例を示す。図4は多機能なペン2500の一例を示す。電源を内蔵して表示装置2に命令を送信できるペン2500をアクティブペンという(電源を内蔵しないペンをパッシブペンという)。図4のペン2500は、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。本実施形態のペン2500は不揮発性のメモリーを有しており、他のペンと重複しないペンIDを記憶している。
なお、スイッチ付きのペンであれば、ユーザーの表示装置2の操作手順を減らすことも可能である。スイッチ付きのペンとは主にアクティブペンを言うが、電磁誘導方式では電源を内蔵しないパッシブペンでもLC回路だけで電力を発生できるため、アクティブペンだけでなく電磁誘導方式のパッシブペンを含む。電磁誘導方式以外の光学方式、赤外線方式、及び、静電容量方式のスイッチのあるペンはアクティブペンである。
なお、ペン2500のハードウェア構成は、通信機能とマイコンを備えた一般的な制御方式と同様であるとする。ペン2500の座標の入力方式には、電磁誘導方式、アクティブ静電結合方式などがある。また、ペン2500は、筆圧検知、傾き検知、ホバー機能(ペンが触れる前にカーソルを表示)、などの機能を有していてよい。
<装置のハードウェア構成>
続いて、図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が図3(a)、図3(b)、又は、図3(c)のいずれかの設置状態で使用されているかを検出するために使用され、設置状態に応じて文字等の太さを自動で変更することができる。
シリアルインタフェース218はUSBなどの外部との通信インタフェースである。シリアルインタフェース218は外部からの情報の入力などに使用される。スピーカー219は音声の出力に使用され、マイク221は音声の入力に使用される。無線通信装置222は、ユーザーが携帯する端末と通信し、例えばインターネットへの接続を中継する。無線通信装置222はWi−FiやBluetooth(登録商標)などで通信するが、通信規格は問われない。無線通信装置222はアクセスポイントを形成しており、ユーザーが入手したSSID(Service Set Identifier)とパスワードをユーザーが携帯する端末に設定すると、アクセスポイントに接続できる。
なお、無線通信装置222には2つのアクセスポイントが用意されているとよい。
a. アクセスポイント→インターネット
b. アクセスポイント→社内ネットワーク→インターネット
aのアクセスポイントは社外のユーザー用で、ユーザーは社内ネットワークにはアクセスできないが、インターネットを利用できる。bのアクセスポイントは社内のユーザー用で、ユーザーは社内ネットワーク及びインターネットを利用できる。
赤外線I/F223は隣に配置された表示装置2を検出する。赤外線I/F223は赤外線の直進性を利用して、隣に配置された表示装置2のみを検出できる。赤外線I/F223は各辺に1つずつ設けられることが好ましく、表示装置2のどの方向に他の表示装置2が配置されたのかを検出できる。これにより画面が広がり、隣の表示装置2に過去に手書きされた手書き情報(1つのディスプレー220の広さを1ページとして別のページの手書き情報)等を表示できる。
電源制御回路224は表示装置2の電源であるACアダプター225とバッテリー226を制御する。ACアダプター225は商用電源が共有する交流を直流に変換する。
ディスプレー220がいわゆる電子ペーパーの場合、画像の表示を維持するためにほとんど又は一切電力を消費しないので、バッテリー226による駆動も可能である。これにより、屋外など電源を接続しにくい場所でもデジタルサイネージなどの用途で表示装置2を使用することが可能になる。
更に、表示装置2は、バスライン210を備えている。バスライン210は、図5に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
なお、タッチセンサー216としては、光学式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、又は、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなど種々の検出手段が用いられてよい。タッチセンサー216は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン2500は、細長いペン型である必要はない。
<装置の機能について>
次に、図6を用いて、表示装置2が有する機能について説明する。図6は表示装置2が有する機能をブロック状に示す機能ブロック図の一例である。表示装置2は、手書き入力部21、表示部22、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、及び、文字列挿入制御部41、を備えている。表示装置2が有する各機能は、図5に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
手書き入力部21はタッチセンサー216等により実現されており、ユーザーによる手書き入力を受け付ける。手書き入力部21はユーザーのペン入力d1をペン操作データd2(ペンアップ、ペンダウン、又はペン座標データ)に変換し、手書き入力表示制御部23に送信する。ペン座標データは離散値として定期的に送信され、離散値間の座標は補完計算される。
表示部22はディスプレー220等により実現され、手書きされたデータや操作メニューを表示する。表示部22は手書き入力表示制御部23がビデオメモリーに書き込んだ描画データd3をディスプレー220の特性に応じたデータに変換し、ディスプレー220に送信する。
手書き入力表示制御部23は手書き入力と表示に関する全体的な制御を行う。手書き入力表示制御部23は手書き入力部21からのペン操作データd2を処理し、表示部22に送信することで表示させる。
候補表示タイマー制御部24は、選択可能候補の表示制御タイマーである。候補表示タイマー制御部24は、タイマーを開始又は停止して選択可能候補の表示を開始するタイミングと表示を消去するタイミングを生成する。候補表示タイマー制御部24は手書き入力表示制御部23からタイマー開始要求d4(タイマー停止要求の場合もある)を受信し、タイムアウトイベントd5を手書き入力表示制御部23に送信する。
手書き入力保存部25はユーザーデータ(手書きデータ/文字列データ)を保存しておくストレージの機能を有する。手書き入力保存部25は手書き入力表示制御部23からユーザーデータd6−1を受信し、手書き入力保存部25に保存する。手書き入力保存部25は手書き入力表示制御部23から取得要求d6−2を受け取って、手書き入力保存部25に保存されたユーザーデータd7を手書き入力表示制御部23に送信する。手書き入力保存部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に送信する。
操作コマンド認識制御部32は手書き認識文字列及び言語文字列候補d30を手書き認識制御部26から受信する。操作コマンド認識制御部32は変換文字列候補d28を文字列変換制御部28から受信し、予測文字列候補d29を予測変換制御部30から受信する。そして、操作コマンド認識制御部32は、手書き認識文字列、言語文字列候補、変換文字列候補d28及び予測文字列候補d29それぞれについて操作コマンド変換要求d26を操作コマンド定義部33に送信し、操作コマンド定義部33から操作コマンドの候補d27を受信する。操作コマンド認識制御部32は操作コマンドの候補d27を保持しておく。
操作コマンド定義部33は操作コマンド変換要求d26が操作コマンド定義と部分一致している場合は操作コマンドの候補d27を操作コマンド認識制御部32に送信する。
また、操作コマンド認識制御部32はペン操作データd24−1を手書き入力表示制御部23から受信し、過去に入力され確定した確定データの位置情報取得要求d23を手書き入力保存部25に送信する。操作コマンド認識制御部32はペン操作データが指定している確定データを選択データ(位置情報を含む)として保持しておく。操作コマンド認識制御部32はペン操作データd24−1の位置と所定の基準を満たす選択データを特定する。操作コマンド認識制御部32が、別途、取得要求d24−2を手書き入力表示制御部23から受信した場合、保持している操作コマンドの候補と特定した選択データd25を手書き入力表示制御部23に送信する。
選択データがドラッグされている間、手書き入力表示制御部23は選択データと確定データの位置に基づいて挿入先を表す矢印303を表示する。すなわち、手書き入力部21が受け付けた文字列の移動に伴う、1つ以上の文字と文字列との位置関係に応じて、手書き入力表示制御部23は挿入先を表示する。選択データがドロップされた場合、手書き入力表示制御部23は矢頭の座標、選択データ及び確定データd41を文字列挿入制御部41に送信する。
文字列挿入制御部41は矢頭の位置に基づいて1つ以上の文字を用いた処理を文字列に対して行う。例えば、確定データにおいて矢頭の座標が最も近い文字と文字の間に選択データを挿入する。文字列挿入制御部41は選択データが挿入された確定データd42(第二の文字列の一例)を手書き入力表示制御部23に送信する。手書き入力表示制御部23は選択データが挿入された確定データd37を表示部22に表示し、また、選択データが挿入された確定データd38を手書き入力保存部25に保存する。
<定義済み制御データについて>
次に、図7を用いて、表示装置2が各種の処理に使用する定義済み制御データについて説明する。図7は定義済み制御データの一例を示す。図7の例では制御項目ごとに制御データを示す。
選択可能候補表示タイマー401は、選択可能候補を表示するまでの時間を定義する(第一の時間の一例)。これは手書き中に選択可能候補を表示しないためである。図7では、ペンアップからTimerValue=500〔ms〕以内にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー401は候補表示タイマー制御部24が保持している。選択可能候補表示タイマー401は、後述する図30のステップS18において選択可能候補表示タイマー開始時に使用される。
選択可能候補消去タイマー402は表示した選択可能候補を消去するまでの時間を定義する。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図7では、選択可能候補の表示からTimerValue=5000〔ms〕以内に選択可能候補が選択されなければ選択可能候補表示が消去されることを意味している。選択可能候補消去タイマー402は候補表示タイマー制御部24が保持している。選択可能候補消去タイマー402は図31のステップS49において選択可能候補表示消去タイマー開始時に使用される。
手書きデータ矩形領域403は手書きデータの近傍とみなす矩形領域を定義する。図7の例では、手書きデータ矩形領域403は、手書きデータの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図7の例では推定文字サイズの割合(%指定)となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きデータ矩形領域403は手書き入力保存部25が保持している。推定文字サイズ405は図29のステップS9において、手書きデータ矩形領域とストロークデータ矩形領域の重なり状況の判定で使用される。
推定書字方向/文字サイズ判定条件404は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図7の例では、
・手書きデータ矩形領域の最初にストロークデータが追加された時刻と最後にストロークデータが追加された時刻の差分がMinTime=1000〔ms〕以上、
・手書きデータ矩形領域の水平距離(幅)と垂直距離(高さ)の差分がMinDiff=10〔mm〕以上であって、
・水平距離が垂直距離より長い場合は、推定書字方向は「横書き」、推定文字サイズは垂直距離と判定することを意味する。
・水平距離が垂直距離より短い場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定することを意味する。
以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件404は手書き入力保存部25が保持している。推定書字方向/文字サイズ判定条件404は図31のステップS46における推定書字方向取得と、図33のステップS66における文字列データフォント取得で使用される。
推定文字サイズ405は文字等のサイズを推定するためのデータを定義する。図7の例では、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズが、推定文字サイズ405の小さめ文字405a(以下、最小フォントサイズ、と呼ぶ)と大きめ文字405c(以下、最大フォントサイズ)と比較されることを意味する。推定文字サイズが最小フォントサイズより小さい場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズより大きい場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字405bの文字サイズと判定される。推定文字サイズ405は手書き入力保存部25が保持している。推定文字サイズ405は、図33のステップS66における文字列データフォント取得で使用される。
手書き入力保存部25は具体的には、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズを推定文字サイズ405のFontSizeと比較して、最も近いサイズのフォントを使用する。手書き入力保存部25は、例えば、推定文字サイズが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の例では、跨ぎ線判定条件406は、手書きデータの長辺の長さが100〔mm〕以上(MinLenLongSide="100mm")、かつ、短辺の長さが50〔mm〕以下(MaxLenShortSide="50mm")、かつ、手書きデータとの長辺方向と短辺方向の重なり率が80〔%〕以上(MinOverLapRate="80%")の確定データを選択データと判定する。跨ぎ線判定条件406は操作コマンド認識制御部32が保持している。跨ぎ線判定条件406は図30のステップS37における選択データの判定の跨ぎ線判定で使用される。
囲み線判定条件407は、手書きデータが囲み線か否かの判定に使用されるデータを定義する。図7の例では、操作コマンド認識制御部32は手書きデータの長辺方向と短辺方向の重なり率が100%以上(MinOverLapRate="100%")の確定データを選択データと判定する。囲み線判定条件407は、操作コマンド認識制御部32が保持している。囲み線判定条件407は、図30のステップS37における選択データの囲み線判定で使用される。
なお、跨ぎ線判定条件406と囲み線判定条件407はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件406を緩やかにして(跨ぎ線を選択しやすくした場合)、囲み線判定条件407は厳密にした場合(囲み線のみを選択できるような値とした場合)、操作コマンド認識制御部32は囲み線判定条件407を優先して判定するのがよい。
挿入判定条件408は、選択データが確定データに挿入されるか否かの判定に使用される閾値を定義する。図7の例では、文字列挿入制御部41は、選択データのドロップ時の矢頭と確定データの距離が"2mm"以内の場合、選択データを確定データに挿入すると判定する。なお、閾値は一例である。ユーザーが挿入目的でなく単に選択データを移動する場合もあるためである。
<辞書データの一例>
図8〜図10を用いて辞書データについて説明する。図8は手書き認識辞書部27の辞書データの一例であり、図9は文字列変換辞書部29の辞書データの一例であり、図10は予測変換辞書部31の辞書データの一例である。なお、これらの辞書データはそれぞれ図30のステップS21〜S34で使用される。
本実施形態では、図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、図12を用いて操作コマンド認識制御部32が使用する操作コマンド定義データについて説明する。図11は、操作コマンド定義部33が保持する操作コマンド定義データ、システム定義データ、及び、挿入記号305定義データの一例を示す。
図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に対応付けてファイルの入出力が可能になる。
続いて、手書きデータがある場合の操作コマンド定義データ、つまり編集系及び修飾系の操作コマンド定義データについて説明する。図12は手書きデータにより選択された選択データがある場合の操作コマンド定義データの一例を示す。図12の操作コマンド定義データは、操作コマンド名(Name)、操作コマンドの候補のグループ名(Group)、実行する操作コマンド文字列(Command)を有する。
操作コマンド定義データ707は編集系(Group="Edit")の操作コマンドを定義しており、編集系の操作コマンド名「消去」「移動」「回転」「選択」の定義データ例である。つまり、選択データに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。
操作コマンド定義データ708は修飾系(Group="Decorate")の操作コマンドを定義しており、修飾系の操作コマンド名「太く」「細く」「大きく」「小さく」「下線」の定義データ例である。選択データに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。この他、色の操作コマンドが表示されてもよい。
したがって、ユーザーが選択データを手書きデータで選択することで、操作コマンド定義データ707、708が特定されるため、ユーザーが手書きすることで操作コマンドを表示させることができる。
<操作ガイドの表示例>
図13は操作ガイド500と操作ガイドが表示する選択可能候補530の一例である。ユーザーが手書きデータ504を手書きすることで(選択可能候補表示タイマーのタイムアウトにより)、操作ガイド500が表示される。操作ガイド500は、操作ヘッダー520、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、及び、手書きデータ矩形領域表示503を有している。選択可能候補530は、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508である。この例では言語変換文字列がないが表示される場合がある。また、操作コマンドの候補510を除く選択可能候補530を文字列候補539という。
操作ヘッダー520はボタン501、509、502、505を有する。ボタン501は予測変換とかな変換の切り替え操作を受け付ける。図13の例ではユーザーが「予測」と表示されているボタン509を押下すると手書き入力部21がそれを受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が「かな」というボタン509に表示を変更する。変更後は、文字列候補539が「かな変換」の確率降順で並ぶ。
ボタン502は候補表示のページ操作をする。図13の例では候補表示ページは3ページあり、現在は1ページ目を表示している。ボタン505は操作ガイド500の消去を受け付ける。ユーザーがボタン505を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きデータ以外の表示を消去する。ボタン509は一括表示消去を受け付ける。ユーザーがボタン509を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きデータを含め、図13に示されているすべての表示を消去して、ユーザーが最初から手書きをしなおすことを可能にする。
手書きデータ504はユーザーが手書きした「ぎ」という文字である。手書きデータ504を囲む手書きデータ矩形領域表示503が表示される。表示の手順は図28〜図33のシーケンス図で説明する。図13の例では点線枠で手書きデータ矩形領域表示503が表示されている。
手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508にはそれぞれの文字列候補が確率降順で並んでいる。手書き認識文字列候補506の「ぎ」は認識結果の候補である。表示装置2は、この例では正しく「ぎ」を認識している。
変換文字列候補507は言語文字列候補から変換された変換文字列候補である。この例の「技量試」とは「技術量産試作」の略名である。文字列/予測変換の候補508は言語文字列候補又は変換文字列候補から変換された予測文字列候補である。この例では「技量試を決裁」と「議事録の送付先」が表示されている。
操作コマンドの候補510は操作コマンド定義データ701〜703に基づいて選択された操作コマンドの候補である。図13の例では行頭文字の「》」511が操作コマンドの候補であることを示している。図13では手書きデータ504である「ぎ」が選択する確定データがなく、「ぎ」の文字列候補である「議事録」が、操作コマンド定義データ701,702と部分一致したため、操作コマンドの候補510として表示されている。
ユーザーが「議事録テンプレートを読み込む」を選択すると、操作コマンド定義データ701で定義された操作コマンドが実行され、「議事録フォルダーに保存する」を選択すると、操作コマンド定義データ702で定義された操作コマンドが実行される。このように操作コマンドの候補は、変換された文字列を含む操作コマンド定義データが見つかる場合に表示されるため、常に表示されるとは限らない。
図13に示すように、文字列候補と操作コマンドの候補が同時に(共に)表示されるため、ユーザーは自分が入力しようとした文字列候補と操作コマンドのどちらも任意に選択できる。
<選択データの指定例>
本実施形態の表示装置2は確定データをユーザーが手書きにより選択することで選択データを指定できる。選択データは編集、修飾又は挿入の対象となる。
図14は、選択データの指定例を説明する図の一例である。図14では、手書きデータ11は黒色実線、手書きデータ矩形領域12を灰色網掛け、確定データ13を黒線、選択データ矩形領域14を点線でそれぞれ表示している。なお、これらに付与された小文字のアルファベットはそれぞれを区別するための枝番である。また、表示装置2は、確定データを選択データと判定するための判定条件(所定の関係にあるか否か)として、図7に示した定義済み制御データの跨ぎ線判定条件406又は囲み線判定条件407を使用している。
図14(a)は横書きの2つの確定データ13a、手書き確定データ15をユーザーが跨ぎ線(手書きデータ11a)で指定した例である。この例では、手書きデータ矩形領域12aの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定データ13a、手書き確定データ15との重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「議事録」と「ぎじ」の両方の確定データ13a、手書き確定データ15が選択データとして指定されている。
図14(b)は横書きの確定データ13cを囲み線(手書きデータ11b)で指定した例である。この例では、確定データ13cと手書きデータ矩形領域12cの重なり率が囲み線判定条件407の条件を満たしている「議事録」という確定データ13cだけが選択データとして指定されている。
図14(c)は縦書きの複数の確定データ13d、13eを跨ぎ線(手書きデータ11c)で指定した例である。この例では、図14(a)と同様に、手書きデータ矩形領域12dの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、「議事録」と「ぎじ」という2つの確定データ13d、13eそれぞれとの重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「議事録」と「ぎじ」の両方の確定データ13d、13eが選択データとして指定されている。
図14(d)は縦書きの確定データ13fを囲み線(手書きデータ11d)で指定した例である。この例では、図14(b)と同様に、「議事録」という確定データ13fだけが選択データとして指定されている。
<操作コマンドの候補の表示例>
図15は、図14に示した手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図15(a)は編集系の操作コマンドの候補であり、図15(b)は修飾系の操作コマンドの候補である。また、図15(a)は図14(a)の手書きデータ11aで選択データが指定された例を示す。
図15(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。メインメニュー550には最後に実行された操作コマンド名又は操作コマンド定義データで先頭の操作コマンド名が表示される。1行目の行頭文字「》」511aは編集系の操作コマンドの候補であり、2行目の行頭文字「》」511bは修飾系の操作コマンドの候補である。
行末の「〉」512はサブメニューがあることを示す(サブメニューボタンの一例)。1行目の「〉」512aは編集系の操作コマンドの候補としてサブメニュー(最後に選択された)を表示させ、2行目の「〉」512bは修飾系の操作コマンドの候補として残りのサブメニューを表示させる。ユーザーが「〉」512を押下すると、その右側にサブメニュー560が表示される。サブメニュー560には操作コマンド定義データで定義されている全ての操作コマンドが表示される。図15(a)の表示例ではメインメニューが表示された時から1行目の「〉」512aに対応したサブメニュー560も表示されている。1行目の「〉」512aの押下によりサブメニュー560が表示されてもよい。
ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データ(図12参照)のCommandを手書き入力表示制御部23が選択データに対して実行する。すなわち「消去」521が選択されると「Delete」、「移動」522が選択されると「Move」、「回転」523が選択されると「Rotate」、「選択」524が選択されると「Select」を手書き入力表示制御部23がそれぞれ実行する。
例えば、ユーザーが「消去」521をペンで押下すると手書き入力表示制御部23が「議事録」と「ぎじ」を消去できる。ユーザーが「移動」522,「回転」523、「選択」524を押すとバウンディングボックス(選択データの外接矩形)が表示される。ユーザーが「移動」522と「回転」523を押下すると、ペンのドラッグ動作で「議事録」と「ぎじ」を移動又は回転できる。ユーザーが「選択」524を押下すると、その他のバウンディングボックスの操作を実行できる。
操作コマンドの候補以外の文字列候補である「一」541、「一、」542、「〜」543、「→」544、「⇒」545は跨ぎ線(手書きデータ11a)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図15(b)では2行目の「〉」512bの押下により、図15(b)のサブメニュー560が表示される。図15(b)の表示例も図15(a)と同様にメインメニュー550とサブメニュー560が表示されている。図12の操作コマンド定義データに基づいて、「太く」531が選択されると「Thick」を手書き入力表示制御部23が選択データに対して実行する。「細く」532が選択されると「Thin」を手書き入力表示制御部23が選択データに対して実行する。「大きく」533が選択されると「Large」を手書き入力表示制御部23が選択データに対して実行する。「小さく」534が選択されると「Small」を手書き入力表示制御部23が選択データに対して実行する。下線535が選択されると「Underline」を手書き入力表示制御部23が選択データに対して実行する。
なお、「太く」531が選択された場合にどのくらい太くするか、「細く」532が選択された場合にどのくらい細くするか、「大きく」533が選択された場合にどのくらい大きくするか、「小さく」534が選択された場合にどのくらい小さくするか、下線535が選択された場合の線種等は、固定値が別途定義されている。あるいは、図15(b)のサブメニューが選択されると別途、選択メニューが開かれユーザーが調整できるようになっているとなおよい。
ユーザーが「太く」531をペンで押下すると「議事録」と「ぎじ」という確定データ13a、手書き確定データ15を構成する線を手書き入力表示制御部23が太くする。ユーザーが「細く」532をペンで押下すると、「議事録」と「ぎじ」を構成する線を手書き入力表示制御部23が細くできる。ユーザーが「大きく」533をペンで押下すると手書き入力表示制御部23が大きくできる。ユーザーが「小さく」534をペンで押下すると手書き入力表示制御部23が小さくできる。ユーザーが「下線」535をペンで押下すると下線を手書き入力表示制御部23が追加できる。
図16は、図14に示した手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図15(a)(b)との相違は、図16(a)(b)は図14(b)の手書きデータ11b(囲み線)で選択データが指定された例を示す。図15と図16を比較すると分かるように手書きデータが線か囲み線かによって表示される操作コマンドの候補に違いはない。手書き入力表示制御部23は選択データが指定されると操作コマンドの候補を表示部22に表示させるためである。しかし、手書き入力表示制御部23は、手書きデータを認識して手書きデータに応じて表示する操作コマンドの候補を変更してもよい。この場合、認識された手書きデータ(一や○など)に図14のような操作コマンド定義データが対応付けられている。
図16において操作コマンドの候補以外の文字列候補である「○」551、「∞」552、「0」553、「00」554、「ロ」555は囲み線(手書きデータ11b)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図14等で説明したように、本実施形態では囲み線又は棒線などで確定データの選択を受け付けることができる。更に、図17に示すように、ユーザーが確定データ13gをペン2500で長押しすることで確定データ13gを選択することができる。
図17はペン2500の長押しにより選択される確定データ13gの一例を示す。図18にて説明するが、表示装置2は変換単位で文字列の座標を管理している。したがって、確定データ13gの外接矩形302の座標も既知である。図17の例では、ペン2500のペン先の座標が確定データ13gの外接矩形302内であり、一定時間以上、ペン先の座標が移動しないことから、手書き入力表示制御部23が確定データ13gの選択を検出する。確定データ13gは選択データとなる。なお、長押しではペンアップが発生しないし、該当する操作コマンドもないので操作ガイド500は表示されない。このように、選択データは囲み線、棒線又は長押しの3つの方法で受け付けられる。ただし、手書き入力表示制御部23は長押しを検知して操作ガイド500を表示してもよい。
<文字の挿入先の決定方法>
図18を用いて文字の挿入先の決定方法を説明する。図18は文字の挿入先を説明する図の一例である。図18には確定データとして「今日の会議」303が表示されている。手書き入力保存部25には、確定データの左上コーナーの座標P1と右下コーナーの座標P2が保存されている。また、使用しているフォント及び文字サイズも既知である。また、フォントが分かれば各文字の文字サイズも既知となる。例えば、一般の漢字、ひらがな、数字、などに対応付けて縦横のサイズが登録されているテーブルを手書き入力保存部25が有している。したがって、手書き入力表示制御部23はこれらの情報を使って、各文字の座標(例えば1文字分のマスの左上コーナーと右下コーナーの座標)を算出できる。
図18では各文字の右下コーナーの座標ya〜yd(x座標はx1又はx2)を示している。手書き入力表示制御部23は座標ya〜ydを容易に算出できる。したがって、手書き入力表示制御部23は座標ya〜ydと矢印303の矢頭の座標を比較して、最も近い座標ya〜ydが挿入先の文字と文字の間であると判断できる。
なお、挿入とは文字と文字の間だけでなく、ユーザーは文字の先頭又は文字の末尾にも文字の挿入を行うことができる。したがって、手書き入力表示制御部23は座標y1、y2を含めて矢印303の矢頭の座標を比較して、最も近い座標が挿入先の文字と文字の間であると判断する。ただし挿入には、ドロップ時の矢頭の座標と矢頭に最も近い文字と文字の間の座標との距離が挿入判定条件408を満たすことが必要である。
<文字の挿入の流れ>
続いて、図19〜図24を参照して、表示装置2が文字の挿入を受け付ける流れを説明する。図19は確定データ13hと手書きデータ504の一例である。「今日の会議」という確定データ13hが表示されている。また、ユーザーは「定例」を挿入するために「ていれい」と手書きした。なお、挿入先の文字列は手書きにより入力された確定データに限らず、ファイルなどから読み取られた文字列でもよい。挿入される文字列についても同様である。
図20は、「ていれい」に対し表示された操作ガイド500の一例である。「ていれい」「定例」「定例化」「定例会議」「定例結果」という文字列候補539が表示されている。ユーザーは「定例」をペン2500で押下することで選択する。手書き入力表示制御部23は「定例」の選択を受け付ける。
図21は選択を受け付けた「定例」が表示された状態を示す。「ていれい」が手書きされていた場所に「定例」という選択データ16(確定データでもある)が表示されている。選択データ16を囲む点線の枠16aは、変換後にしばらく表示されてもよいし、全く表示されなくてもよい。
図22は、ユーザーが「定例」という選択データ16を選択している場合に表示される矢印303の一例を示す。すなわち、ユーザーが囲み枠又は棒線で「定例」を選択すると、いったんは操作ガイド500が表示される。ユーザーが選択データ16のドラッグを開始すると、操作ガイド500は消去される。手書き入力表示制御部23は矢印303の表示を開始するか、又は、確定データ13hとの距離との関係に応じて矢印303の表示を開始する。
図22では「定例」が挿入されることを意味する挿入対象枠304が表示されているが、挿入対象枠304は表示されなくてもよい。表示される場合、挿入対象枠304は矢印303と同じタイミングで表示されてもよいし、選択データになった場合に常に表示されていてもよい。
手書き入力表示制御部23は矢印303を表示する位置を以下のように決定する。
(i) 「定例」を囲む外接矩形(内部処理のための外接矩形なので非可視でもよいが、図22では挿入対象枠304を使用して説明する。)の辺311〜314のうち、確定データ13hの外接矩形に最も近い辺312。例えば、辺311〜314に垂直に中央を通過する直線が確定データの外接矩形に達するまでの距離が使用される。手書き入力表示制御部23はこの辺312に垂直に、矢頭を確定データ13hに向けて矢印303を表示する。矢印303は1つ以上の文字の文字列に対する位置を表す。なお、矢尻は辺312上でよいが、挿入対象枠304の内側又は外側でもよい。辺312における矢印303の位置は辺312上であればよい。図22では、矢尻は辺312の中央である。
(ii) 複数の確定データがある場合は、「定例」を囲む外接矩形(挿入対象枠304)の辺311〜314のうち、各辺の中央からの距離が最も近い確定データについて(i)と同様に決定した辺。ただし、表示装置2は、複数の確定データのそれぞれについて矢印303を表示してもよい。各辺の中央と確定データの距離は、例えば、辺に垂直に中央を通過する直線が確定データの外接矩形に達するまでの距離でよい。
(iii) 選択データの移動方向の辺。例えば左方向にドラッグされている場合、手書き入力表示制御部23は辺312に矢印303を表示する。斜めにドラッグされた場合、左右上下の4方向のうち最も成分が多い方向でよい。
また、手書き入力表示制御部23は矢印303を表示するタイミングとして以下のいずれを採用してもよい。
(i) ドラッグを開始した直後(移動を開始した直後)。
(ii) 「定例」と確定データ13hの距離が閾値未満となった場合。この閾値は挿入判定条件408の閾値とは異なり、矢印303を表示するかどうかを決定する閾値である。挿入判定条件408が2mmであれば、それより大きい10mmなどでよい。「定例」の周囲に複数の確定データがある場合、手書き入力表示制御部23はそれぞれの辺311〜314と最も近い確定データとの距離と閾値を比較して、辺ごとに表示と非表示を決定する。
(iii) 選択データが選択された直後(主に長押しで選択される場合)。
図23に示すように、矢印303の位置は「定例」を囲む辺の中央に限らない。図23は、矢印303の位置の一例を示す図である。図23(a)では、矢印303が辺の上端に表示されており、図23(b)では辺の下端に表示されている。矢印303は辺のどこかにあればよい。
なお、矢印303はユーザーがドラッグを終了すると(ドロップすると)非表示になる。すなわち、ペン2500の座標が検出されなくなった場合に非表示になる。そして、文字列挿入制御部41は、確定データ13hと矢頭の座標との距離が挿入判定条件408の閾値未満である場合、この確定データ13hにおいて矢頭の座標が最も近い文字と文字の間に選択データ16(「定例」)を挿入する。なお、挿入判定条件408を考慮せずに、矢頭の座標が最も近い文字と文字の間に選択データ16(「定例」)を挿入してもよい。
図22、図23では、矢頭の座標が最も近い文字と文字の間は、「の」と「会」の間なので、文字列挿入制御部41は「の」と「会」の間に「定例」を挿入する。
また、本実施形態では、表示部品を矢印で指定する方法を説明しているが、表示部品の形状はなんでもよい。表示部品の形状は、例えば、三角形、指の形のアイコン、菱形、又は、線分などでもよい。
また、確定データが縦書き又は横書きである前提では、矢印は水平又は垂直な方向であるが、確定データが斜めの場合、矢印も斜めであるとよい。すなわち、確定データにおける外接矩形のいずれかの辺に対し、矢印は垂直であることが好ましい。
図24は、確定データに「定例」が挿入された文字列を示す。「定例」の挿入により、「今日の会議」が「今日の定例会議」と表示されている。なお、挿入時、文字列挿入制御部41は元の確定データにおける先頭の座標(図18のP1)を取得し、「今日の会議」と「定例」を削除する。そして、文字列挿入制御部41は「今日の定例会議」を元の確定データにおける先頭の座標から表示する。文字列挿入制御部41は「今日の」は消去せず、「今日の」に続けて「定例会議」を追加で表示してもよい。
なお、文字サイズについて、確定データと選択データの文字サイズが異なる場合、手書き入力表示制御部23は確定データの文字サイズに選択データの文字サイズを一致させる。こうすることで、手書き入力表示制御部23は見やすい文字列を表示できる。手書き入力表示制御部23は、ユーザーの指定や設定等により、元の文字サイズのまま、選択データが挿入された文字列を表示してもよい。
<確定データの手書き方向と選択データの手書き方向>
図19〜図24では、確定データの手書き方向が縦書き、選択データ(「定例」)が横書きであった。このようにすると、選択データ16の高さは一文字分に収まるので、ユーザーが確定データに対する選択データの位置(挿入先)を把握しやすいというメリットがある。したがって、ユーザーは確定データの手書き方向とは違う方向に挿入される文字列を手書きするとよい。一方、手書き入力表示制御部23は、選択データ16(「定例」)の表示方向を横書きから縦書きに変更してから、確定データ15hに挿入する。具体的には、手書き入力表示制御部23は「今日の定例会議」を文字コードで扱うので、「今日の定例会議」の表示方向を縦方向にすればよい。
また、図25に示すように、確定データ15hの手書き方向が横書き、選択データ16(「定例」)が縦書きでもよい。図25は、横書きの確定データ15hと縦書きの選択データ16の一例を示す。この場合も、選択データ16の幅は一文字分に収まるので、ユーザーが選択データ16の挿入先を把握しやすいというメリットがある。
なお、本実施形態では、矢印303により確定データに対する選択データの位置が表示されるので、確定データ15hの手書き方向が縦書き、選択データ16(「定例」)が縦書きでもよいし、確定データ15hの手書き方向が横書き、選択データ16(「定例」)が横書きでもよい。
図26は、ユーザーが縦書きした場合の操作ガイド500の表示例を示す。ユーザーは手書きデータ504である「ていれい」を縦方向に手書きしている。この場合、一例として操作ガイド500は手書きデータ矩形領域表示503の左側に表示される。操作ガイド500は手書きデータ矩形領域表示503の右側に表示されてもよいし、横書きの場合と同様に、手書きデータ矩形領域表示503の下側に表示されてもよい。また、操作ガイド500は手書きデータ矩形領域表示503の上側に表示されてもよい。
<挿入先の別の表示例>
図27に示すように、手書き入力表示制御部23は確定データ15h側に挿入先を示す挿入記号305を表示してもよい。図27は確定データ側に表示された挿入先を示す挿入記号305の一例である。図27では三角形の挿入記号305(表示部品の一例)が「の」と「会」の間に表示されている。挿入記号305は1つ以上の文字の文字列に対する位置を表す。手書き入力表示制御部23は、選択データ16と確定データ15hとの距離が閾値未満になると、選択データ16の外接矩形(挿入対象枠304)を形成する辺312の中央と最も近い、確定データ15h側の文字と文字の間に挿入記号305を表示する。ユーザーが選択データをドラッグで移動させると、辺312の中央の位置に応じて、手書き入力表示制御部23は挿入記号305の位置を変更する。
したがって、ユーザーは矢印303がなくても挿入記号305の位置に基づいて、選択データがどこに挿入されるのかを把握できる。
なお、挿入記号305の形状は三角形に限らず、矢印、丸、四角、点などでもよい。挿入記号305の形状は文字と文字を区切るような線分でもよい。また、手書き入力表示制御部23は文字と文字の間の色、又は、挿入位置における前後の文字の色を変化させてもよい。矢印303と挿入記号305は同時に表示してもよい。この場合、矢印303と挿入記号305の色や形状が両者に何らかの繋がりがあるようにデザインされているとよい。手書き入力表示制御部23は、例えば、矢印303と挿入記号305をどちらも三角形、四角形、丸形にしたり、矢印303を凸形状、挿入記号305を凹形状にしたりする。
<動作手順>
以上の構成と図28〜図33を用いて、表示装置2の動作について説明する。図28〜図33は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図28の処理は、表示装置2が起動すると(アプリケーションが起動すると)スタートする。なお、図28〜図33ではスペースの都合上、符号で図6の機能を示した。
S1:まず、手書き入力表示制御部23が手書きデータ開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ領域(手書きデータを保存するメモリ領域)を確保する。ユーザーがペンを手書き入力部21に接触させてから手書きデータ領域を確保してもよい。
S2:次にユーザーが手書き入力部21にペンを接触させる。手書き入力部21はペンダウンを検出して手書き入力表示制御部23に送信する。
S3:手書き入力表示制御部23は手書き入力保存部25にストローク開始を送信し、手書き入力保存部25はストローク領域を確保する。
S4:ユーザーがペンを手書き入力部21に接触させたまま移動させると、手書き入力部21はペン座標を手書き入力表示制御部23に送信する。
S5:手書き入力表示制御部23はペン座標補完表示データ(離散的なペン座標を補間するデータ)を表示部22に送信する。表示部22はペン座標補完表示データを用いてペン座標を補間して線を表示する。
S6:手書き入力表示制御部23はペン座標とその受信時刻を手書き入力保存部25に送信する。手書き入力保存部25はペン座標をストロークに追加する。ユーザーがペンを動かしている間は、手書き入力部21は定期的に手書き入力表示制御部23へのペン座標の送信を繰り返すため、ステップS4〜S6の処理がペンアップされるまで繰り返される。
S7:ユーザーが手書き入力部21からペンを離すと、手書き入力部21はペンアップを手書き入力表示制御部23に送信する。
S8:手書き入力表示制御部23は手書き入力保存部25にストローク終了を送信し、手書き入力保存部25はストロークのペン座標を確定させる。ストロークのペン座標の確定により以降はストロークにペン座標を追加できなくなる。
S9:次に、手書き入力表示制御部23は手書きデータ矩形領域403に基づいて、手書きデータ矩形領域とストローク矩形領域の重なり状況取得を手書き入力保存部25に送信する。手書き入力保存部25は重なり状況を計算して重なり状況を手書き入力表示制御部23に送信する。
続く、ステップS10〜S15は、手書きデータ矩形領域とストローク矩形領域が重なっていない場合に実行される。
S10:手書きデータ矩形領域とストローク矩形領域が重なっていない場合、1つの手書きデータが確定するので、手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S11〜13:手書き認識制御部26は保持データクリアをそれぞれ文字列変換制御部28、予測変換制御部30、操作コマンド認識制御部32に送信する。手書き認識制御部26、文字列変換制御部28、予測変換制御部30及び操作コマンド認識制御部32がこれまでに保持している文字列候補と操作コマンドの候補に係るデータをクリアする。なお、クリアの時点では最後に手書きされたストロークは手書きデータに追加されていない。
S14:手書き入力表示制御部23は手書きデータ終了を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータを確定させる。手書きデータの確定とは1つの手書きデータが完成したこと(これ以上、ストロークが追加されないこと)をいう。
S15:手書き入力表示制御部23は手書きデータ開始を手書き入力保存部25に送信する。次の手書きデータの手書き開始(ペンダウン)に備えて、手書き入力保存部25は新しい手書きデータ領域を確保する。
S16:次に手書き入力表示制御部23はステップS8で終了したストロークに関してストローク追加を手書き入力保存部25に送信する。ステップS10〜S15が実行された場合、追加されるストロークは手書きデータの最初のストロークであり、手書き入力保存部25は開始中の手書きデータにストロークデータを追加する。ステップS10〜S15が実行されてない場合、追加されるストロークはすでに手書き中の手書きデータに追加される。
S17:続いて手書き入力表示制御部23はストローク追加を手書き認識制御部26に送信する。手書き認識制御部26は文字列候補が格納されるストロークデータ保持領域にストロークデータを追加する。
S19:手書き認識制御部26はこのストロークデータ保持領域に対して手書き認識を実行する。
S20:手書き認識制御部26はこの実行結果である手書き認識文字列候補を手書き認識辞書部27に送信する。手書き認識辞書部27は言語的に確からしい言語文字列候補を手書き認識制御部26に送信する。
S21:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を文字列変換制御部28に送信する。
S22:文字列変換制御部28は手書き認識文字列候補及び言語文字列候補を文字列変換辞書部29に送信する。文字列変換辞書部29は変換文字列候補を文字列変換制御部28に送信する。
S23:文字列変換制御部28は受信した変換文字列候補を予測変換制御部30に送信する。
S24:予測変換制御部30は受信した変換文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S25: 予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S26:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
以降ステップS27〜S32で説明される操作コマンドの候補の送信まで表示装置2は、同様に処理を行う。
S27:文字列変換制御部28は受信した変換文字列候補を操作コマンド認識制御部32に送信する。
S28:操作コマンド認識制御部32は受信した変換文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は変換文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S29:手書き認識制御部26は手書き認識文字列候補及び言語文字列候補を予測変換制御部30に送信する。
S30:予測変換制御部30は手書き認識文字列候補及び受信した言語文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S31: 予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S32:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S33:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド認識制御部32に送信する。
S34:操作コマンド認識制御部32は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は言語文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S35: 次に手書き認識制御部26はストローク追加を操作コマンド認識制御部32に送信する。
S36:操作コマンド認識制御部32は確定データの位置情報取得を手書き入力保存部25に送信する。手書き入力保存部25は確定データの位置情報を操作コマンド認識制御部32に送信する。
S37: 操作コマンド認識制御部32は選択データの判定のため、ステップS35のストローク追加で手書き認識制御部26から受信したストロークの位置情報と、手書き入力保存部25から受信した確定データの位置情報とが、所定の関係にあるか否かを跨ぎ線判定条件406及び囲み線判定条件407に基づいて判定する。操作コマンド認識制御部32は、選択されていると判定できる確定データを選択データとして保存しておく。また、この場合、選択データが特定されるので、操作コマンド認識制御部32は入出力系の操作コマンドの候補を操作コマンド定義部33から取得する。
また、手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32はそれぞれ手書き認識文字列候補、言語文字列候補、変換文字列候補、予測文字列候補、操作コマンドの候補、及び、選択データに係るデータを後段のステップS42〜S45で取得できるよう保持しておく。
S18:手書き入力表示制御部23はステップS17でストローク追加を手書き認識制御部26に送信した直後、選択可能候補表示タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
続く、ステップS38〜S40は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生した場合に実行される。
S38:タイマーがタイムアウトする前に、ユーザーが手書き入力部21にペンを接触させた場合、手書き入力部21はペンダウン(ステップS2と同じイベント)を手書き入力表示制御部23に送信する。
S39: 手書き入力表示制御部23はストローク開始(ステップS3と同じ)を手書き入力保存部25に送信する。この後のシーケンスはステップS3以降と同じである。
S40:更に手書き入力表示制御部23は選択可能候補表示タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はタイマーを停止させる。ペンダウンが検出されたのでタイマーが不要になるからである。
ステップS41〜S77は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生しない場合に実行される。したがって、図13に示した文字列候補や操作コマンドの候補が表示される。
S41:選択可能候補表示タイマー開始中にユーザーが手書き入力部21にペンを接触させなかった場合、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
S42:手書き入力表示制御部23は手書き認識/言語文字列候補取得を手書き認識制御部26に送信する。手書き認識制御部26は現在保持している手書き認識/言語文字列候補を手書き入力表示制御部23に送信する。
S43:手書き入力表示制御部23は変換文字列候補取得を文字列変換制御部28に送信する。文字列変換制御部28は現在保持している変換文字列候補を手書き入力表示制御部23に送信する。
S44:手書き入力表示制御部23は予測文字列候補取得を予測変換制御部30に送信する。予測変換制御部30は現在保持している予測文字列候補を手書き入力表示制御部23に送信する。
S45:手書き入力表示制御部23は操作コマンドの候補取得を操作コマンド認識制御部32に送信する。操作コマンド認識制御部32は現在保持している操作コマンドの候補と選択データを手書き入力表示制御部23に送信する。
S46: 更に、手書き入力表示制御部23は推定書字方向取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ矩形領域のストローク追加時間と水平距離と垂直距離から判定して、推定書字方向を手書き入力表示制御部23に送信する。
S47:手書き入力表示制御部23はこれらの手書き認識文字列候補(図13では「ぎ」)、言語文字列候補(図13では表示がないが例えば「議」)、変換文字列候補(図13では「議事録」「技量試」)、予測文字列候補(図13では「技量試を決済」「議事録の送付先」)、操作コマンドの候補(図13では「議事録テンプレートを読み込む」「議事録フォルダーに保存する)、各選択確率、及び、推定書字方向から図13のような選択可能候補表示データを作成し、文字列候補と操作コマンドの候補からなる選択可能候補表示データを表示部22に送信することで表示させる。
S48:また、手書き入力表示制御部23は手書きデータと選択データの矩形領域表示データ(矩形枠)(図13では手書きデータ矩形領域表示503)を表示部22に送信する。
S49: 手書き入力表示制御部23は選択可能候補表示データの表示から一定時間後に消去するため選択可能候補表示消去タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
ステップS50〜S54は、選択可能候補消去タイマー開始中に、ユーザーが表示部22に表示された選択可能候補表示を消去した場合、手書きデータの変化が発生した場合(即ち手書きデータのストロークの追加、削除、移動、変形又は分割された場合)、又は、タイムアウトまでに候補が選択されなかった場合に実行される。
更に、ステップS50〜S51は、候補表示が消去されるか、又は、手書きデータの変化が発生した場合に実行される。
S50:手書き入力部21は選択可能候補表示消去又は手書きデータの変化の発生を手書き入力表示制御部23に送信する。
S51:手書き入力表示制御部23は選択可能候補消去タイマー停止を送信する。候補表示タイマー制御部24はそのタイマーを停止する。一定時間内に手書きデータに対し操作があったためタイマーが不要になるからである。
S53:手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで、表示を消去させる。
S54:手書き入力表示制御部23は手書きデータと選択データの矩形領域表示データ消去を表示部22に送信することで、表示を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きデータはそのまま表示が維持される。
S52:一方、選択可能候補消去タイマー開始中に、選択可能候補表示消去又は手書きデータの変化が発生しなかった場合(ユーザーがペン操作をしなかった場合は)、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
選択可能候補表示消去タイマーのタイムアウトの後も同様に、手書き入力表示制御部23はステップS53とS54を実行する。一定時間の経過で選択可能候補表示データ、手書きデータと選択データの矩形領域表示データを手書き入力表示制御部23が消去してよいためである。
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS55〜S77が実行される。
S55:選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部21は文字列候補又は操作コマンドの候補選択を手書き入力表示制御部23に送信する。
S56: 手書き入力表示制御部23は選択可能候補表示消去タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを停止する。
S57: 次に手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S58: 手書き認識制御部26は保持データクリアを文字列変換制御部28に送信する。
S59:手書き認識制御部26は保持データクリアを予測変換制御部30に送信する。
S60:手書き認識制御部26は保持データクリアを操作コマンド認識制御部32に送信する。
手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32はこれまで保持していた文字列候補及び操作コマンドの候補に係るデータをクリアする。
S61: 次に手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで表示を消去させる。
S62:手書き入力表示制御部23は手書きデータと選択データの矩形領域表示データ消去を表示部22に送信することで、これらの表示を消去させる。
S63:手書き入力表示制御部23は手書きデータ消去及びステップS5で送信したペン座標補完表示データ消去を表示部22に送信することで、これらの表示を消去させる。文字列候補又は操作コマンドの候補が選択されたため、手書きデータ等が不要になるためである。
S64:手書き入力表示制御部23は手書きデータ削除を手書き入力保存部25に送信する。
文字列候補が選択された場合、ステップS65〜S67が実行される。
S65: 文字列候補が選択された場合、手書き入力表示制御部23は文字列追加を手書き入力保存部25に送信する。
S66:更に手書き入力表示制御部23は文字列フォント取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータの推定文字サイズから定義済みフォントを選択して手書き入力表示制御部23に送信する。
S67: 次に手書き入力表示制御部23は手書き入力保存部25から受信した定義済みフォントを使用して、手書きデータと同じ位置に表示させる文字列表示データを表示部22に送信させることで、表示させる。
操作コマンドの候補が選択された場合、ステップS68〜S71が実行される。更に、選択データがある場合はステップS68〜S70が実行される。
S68:選択データへの操作コマンドの候補が選択された場合(選択データが存在する場合)は、手書き入力表示制御部23は選択データ消去を表示部22に送信することで表示を消去させる。いったん、手書き入力表示制御部23が元の選択データを消去するためである。
S69:次に、手書き入力表示制御部23は選択データへの操作コマンド実行を手書き入力保存部25に送信する。手書き入力保存部25は新しい選択データの表示データ(編集又は修飾後の表示データ)を手書き入力表示制御部23に送信する。
S70: 次に手書き入力表示制御部23は選択データ表示データを表示部22に送信することで、操作コマンド実行後の選択データを再表示させる。
選択データがない場合(入出力系の操作コマンドが選択された場合)はステップS71が実行される。
S71:入出力系の操作コマンドが選択された場合、手書き入力表示制御部23はユーザーが選択した操作コマンドに対応する操作コマンド定義データの操作コマンド文字列(Command)を実行する。
挿入処理が行われた場合、すなわち、ユーザーが選択データのドラッグ&ドロップを開始した場合、ステップS72〜S76が実行される。
S72:ユーザーは選択データ16のドラッグを開始する。手書き入力表示制御部23はペン先の座標が選択データ16の外接矩形内であることを検出して、ストロークの入力でなく、ドラッグであると判断する。囲み線又は棒線で選択データ16が選択されていた場合、操作ガイド500が表示されているので、選択データが選択されることで、手書き入力表示制御部23は操作ガイド500を消去する。手書き入力表示制御部23はペン先の座標に選択データ16を移動して表示する。そして、手書き入力表示制御部23はドラッグ中、矢印303を表示する。詳細を図34で説明する。
また、ユーザーは矢印303を見ながら挿入先を決定し、選択データをドロップする(ペンアップする)。手書き入力表示制御部23は手書き入力部21からペンアップを取得する。
S73:ドロップを受け付けると、手書き入力表示制御部23は矢印303を消去する。
S74:手書き入力表示制御部23はドロップ時の矢頭の座標、選択データ、及び、確定データを文字列挿入制御部41に送信する。選択データ16の他に確定データが全くない場合、又は、確定データと選択データ16の距離に応じて矢印を表示する設定であるのに対し、手書き入力表示制御部23が矢印を表示しなかった場合、挿入処理でないと判断して文字列挿入制御部41に何も送信しない。この場合は選択データの移動となる。
S75:文字列挿入制御部41は、矢頭の座標に最も近い2つの文字を確定データから特定し、矢頭の座標と確定データの距離が挿入判定条件408の閾値未満の場合、2つの文字の間に選択データを挿入する。文字列挿入制御部41は、挿入後の文字列を手書き入力表示制御部23に送信する。
S76:手書き入力表示制御部23は確定データと選択データを消去し、挿入後の文字列を表示部22に表示する。
S77:次の手書きデータのために手書き入力表示制御部23は手書きデータ開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ領域を確保する。これ以降、ステップS2〜S77の処理が繰り返される。
<シーケンス図の補足>
以上のシーケンス図について本実施形態の挿入に関して補足する。まず、ユーザーが「定例」を挿入するため「ていれい」を手書きすると、図13に示した操作ガイド500がステップS47で表示される。ユーザーはステップS55で操作ガイド500の「定例」を選択する。これによりステップS61〜S63でいったん操作ガイド500は消去される。
次に、ユーザーが囲み枠や棒線で「定例」を選択する。このため、操作ガイド500がステップS47で表示される。長押しの場合は表示されない。ユーザーは選択データ16(定例)のドラッグを開始するので、ステップS72〜S76の処理が実行される。
<矢印の表示>
図34を参照して、手書き入力表示制御部23が挿入先を示す矢印303を表示する処理について説明する。図34は、手書き入力表示制御部23が挿入先を示す矢印303を表示する処理を説明するフローチャート図の一例である。ここでは、確定データと選択データの位置関係に応じて矢印303の表示と非表示を制御する場合を説明する。位置関係とは例えば距離である。なお、図34の処理は選択データのドラッグが開始されるとスタートする。
まず、手書き入力表示制御部23は選択データ16に最も近い確定データ15hを特定する(S1001)。
手書き入力表示制御部23は矢頭と確定データとの距離が閾値未満になったか否かを判断する(S1002)。なお、手書き入力表示制御部23は、閾値未満でなく、閾値以下となったか否かを判断してもよい。ステップS1001とS1002では、最も近い確定データだけに限定するのでなく、距離が閾値未満の全ての確定データを特定してもよい。閾値は固定でもよいし、選択データ16の大きさに応じて決定されてもよい。矢印303は矢頭と確定データが重なる前に表示されるとよい。
距離が閾値未満の確定データがある場合、手書き入力表示制御部23は確定データの方向を指し示す矢印303を表示する(S1003)。手書き入力表示制御部23は確定データ13hの外接矩形に最も近い辺312の例えば中央に、矢印303を表示する。矢頭は確定データ側で、矢尻が選択データ16側である。
距離が閾値未満でない確定データに対しては、手書き入力表示制御部23は確定データの方向を指し示す矢印303を非表示にする(S1004)。
そして、手書き入力表示制御部23はドロップを検出したか否かを判断する(S1005)。すなわち、手書き入力部21からペン座標が送信されなくなったかを判断する。
ドロップが検出されると、手書き入力表示制御部23は矢印303を非表示にする(S1006)。以上により、文字列挿入制御部41は、確定データへの選択データの挿入を開始する。
<主な効果>
以上説明したように、本実施形態の表示装置は、文字列に対する1つ以上の文字の位置を示す矢印303を表示するので、文字列と1つ以上の文字の相対位置を明確にすることができる。挿入対象の文字数が多い場合でもユーザーが所望の挿入位置に文字等を挿入しやすくなる。
本実施例では、英語の文字列に対する1つ以上の英語の文字の位置を示す矢印303を表示する表示装置2について説明する。なお、表示装置2の構成は、変換用の辞書や操作コマンド定義データが英語に対応する以外は実施例1と同様である。このため、表示装置2が手書きデータを英語に変換(以下、英語変換という)することに基づく実施例1との相違を説明する。
図35は、英語変換の場合に、文字列への文字の挿入方法を説明する図である。なお、図35の説明では主に図2との相違を説明する。ユーザーが手書きデータを表示装置2に入力し、表示装置が「Today's meeting」301という文字列に変換して表示した。ユーザーは「Today's 」と「meeting」の間に「regular」という文字が抜けていることに気づき、「regular」を手書きして「regular」302に変換させる。ユーザーが「regular」302を選択するか又はドラッグを開始すると、表示装置2は挿入先を示す矢印303を表示する。矢印303は「regular」302に矢尻を向け、挿入先の文字列に矢頭を向けるので、「Today's meeting」に対する「regular」の位置が明確になる。また、ユーザーは挿入位置を把握しやすい。ユーザーは「regular」302をドラッグして矢頭を所望の挿入位置に合わせてドロップする。
したがって、英語変換の場合も、表示装置2は、文字列に対する1つ以上の文字の位置を示す矢印303を表示するので、文字列と1つ以上の文字の相対位置を明確にすることができる。挿入対象の文字数が多い場合でもユーザーが所望の挿入位置に文字等を挿入しやすくなる。
図3〜図6については実施例1と同様でよい。
<定義済み制御データについて>
図36は、英語変換における定義済み制御データの一例を示す。なお、図36の説明では主に図7との相違を説明する。各定義済み制御データの内容は図7と同様であるが、「FontStyle」にアルファベット用のフォント名が対応付けられている。したがって、ユーザーが英語で手書きすると、英語でよく使用されるフォントで文字列を表示できる。
<辞書データの一例>
図37〜図39を用いて英語変換の場合の辞書データについて説明する。図37〜図39の説明では、主に図8〜図10との相違を説明する。図37は、英語変換における手書き認識辞書部27の辞書データの一例である。図37の手書き認識辞書部27の辞書データは、手書きされた「a(ストロークデータの状態)」は、確率0.90で「a」、確率0.10で「o」に変換されることを示す。
図38は、英語変換における文字列変換辞書部29の辞書データの一例である。図38の文字列変換辞書部29の辞書データでは、文字列「a」は確率0.55で「ab」に、文字列「a」は確率0.45で「AI」に変換されることを示す。その他の「変換前」の文字列についても同様である。
図39は英語変換における予測変換辞書部31の辞書データの一例である。図39の予測変換辞書部31の辞書データでは、文字列「agenda」は確率0.55で「agenda list」に、確率0.30で「agenda template」に変換されることを示す。
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
<操作コマンド定義データの一例>
図40(a)は、英語変換において、選択データがない場合の操作コマンド定義データの一例である。図40の説明では主に図11との相違を説明する。各操作コマンドの内容は図11と同様であるが、Nameとstringに英語表現が対応付けられている。したがって、ユーザーは英語で操作コマンドを手書きでき、英語の操作コマンドを選択できる。
図40(b)は、システム定義データの一例を示す。図40(b)の説明では主に図11(b)との相違を説明する。図40(b)では、usernameに"Bob"が対応付けられている。
続く、図12〜図18は実施例1と同様とする。より正確には、図13と図14ではアルファベット用のNameが設定されるが、特徴部ではないので図は省略した。
図41は、選択データがある場合の操作コマンド定義データの一例である。図41の説明では主に図12との相違を説明する。各操作コマンドの内容は図12と同様であるが、Nameに英語表現が対応付けられている。したがって、ユーザーは英語の操作コマンドを選択できる。
<選択可能候補の表示例>
図42は英語変換の場合の操作ガイド500と操作ガイド500が表示する選択可能候補530の一例である。図42の説明では主に図13との相違を説明する。図42ではユーザーが手書きデータ504として「a」を手書きした。「a」に基づいて、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、が表示されている。したがって、図13の日本語が英語に変わる以外は図13と同様でよい。
操作コマンドの候補510は例えば図40(a)の操作コマンド定義データにおいて「agenda」をstringに有する操作コマンド定義データ701,702である。
このように、ユーザーは、英語変換の場合も同様に操作ガイド500を表示させることができる。
<選択データの指定例>
図43は、英語変換の場合の選択データの指定例を説明する図の一例である。なお、図43の説明では主に図14との相違を説明する。
図43(a)は横書きの2つの確定データ13a2、13b2をユーザーが跨ぎ線(手書きデータ11a2)で指定した例である。この例では、手書きデータ矩形領域12a2の短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定データ13a2、13b2との重なり率が跨ぎ線判定条件406の条件を満たしているため、「agenda」と「ag」の両方の確定データ13a2、13b2が選択データとして指定されている。
図43(b)は横書きの確定データ13c2を囲み線(手書きデータ11b2)でユーザーが指定した例である。この例では、確定データ13c2と手書きデータ矩形領域12c2の重なり率が囲み線判定条件407の条件を満たしている「agenda」という確定データ13c2だけが選択データとして指定されている。
このように英語変換の場合も、ユーザーは同様に確定データを選択できる。
<操作コマンドの候補の表示例>
図44は、英語変換の場合に、図41に示した手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図44の説明では主に図15との相違を説明する。
図44(a)は編集系の操作コマンドの候補であり、図44(b)は修飾系の操作コマンドの候補である。また、図44(a)は図43(a)の手書きデータ11a2で確定データが指定された例を示す。図44(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。
図44(a)では1行目の「〉」512aの押下により、図44(a)のサブメニュー560が表示される。ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択データに対して実行する。すなわち「Delete」521bが選択されると「Delete」を手書き入力表示制御部23が実行する。「Move」522bが選択されると「Move」を手書き入力表示制御部23が実行する。「Rotate」523bが選択されると「Rotate」を手書き入力表示制御部23が実行する。「Select」524bが選択されると「Select」を手書き入力表示制御部23が実行する。
ユーザーが「Delete」521bをペンで押下すると、「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)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図44(b)では2行目の「〉」512bの押下により、図44(b)のサブメニューが表示される。図44(b)の表示例も図44(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が追加できる。
このようにユーザーは、英語変換の場合も、手書きデータがある場合の操作コマンドを表示させることができる。図16が英語変換される場合も同様である。
<確定データの表示例>
図45は、英語変換の場合に、ペン2500の長押しにより選択される確定データ13gの一例を示す。図45の説明では主に図17との相違を説明する。表示装置2は変換単位で文字列の座標を管理しているので、「regular」の確定データ13gの外接矩形302の座標も既知である。したがって表示装置2は、英語変換の場合も日本語と同様に確定データ13gを検出できる。
<文字の挿入先の決定方法>
図46を用いて、英語変換における文字の挿入先の決定方法を説明する。図46の説明では主に図18との相違を説明する。図46は英語変換における文字の挿入先を説明する図の一例である。図46には確定データとして「Today's meeting」301が表示されている。手書き入力保存部25には、確定データの左上コーナーの座標P1と右下コーナーの座標P2が保存されている。また、使用しているフォント及び文字サイズも既知である。また、フォントが分かれば各文字の文字サイズも既知となる。例えば、アルファベットに対応付けて縦横のサイズが登録されているテーブルを手書き入力保存部25が有している。したがって、手書き入力表示制御部23はこれらの情報を使って、各文字の座標(例えば1文字分のマスの左上コーナーと右下コーナーの座標)を算出できる。
図46では各文字の右下コーナーの座標xa〜xm(y座標はy1又はy2)を示している。手書き入力表示制御部23は座標xa〜xmを容易に算出できる。したがって、手書き入力表示制御部23は座標xa〜xmと矢印303の矢頭の座標を比較して、最も近い座標xa〜xmが挿入先の文字と文字の間であると判断できる。
なお、英語の場合、手書き入力保存部25は文字ごとでなく単語ごとに座標を管理してもよい。この場合、単語と単語の間の座標である座標xf、xgと矢印303の矢頭の座標を比較して、最も近い座標x〜 mが挿入先の単語と単語の間であると判断できる。
<文字の挿入の流れ>
続いて、図47〜図52を参照して、英語変換において、表示装置2が文字の挿入を受け付ける流れを説明する。図47は確定データ13hと手書きデータ504の一例である。図47〜図52の説明では主に図19〜図24との相違を説明する。
図47では、「Today's meeting」という確定データ13hが表示されている。また、ユーザーは「regular」を挿入するために「reg」と手書きした。
図48は、「reg」に対し表示された操作ガイド500の一例である。「reg」「regular」「regain」「regard」「registration」という文字列候補539が表示されている。ユーザーは「regular」をペン2500で押下することで選択する。手書き入力表示制御部23は「regular」の選択を受け付ける。
図49は選択を受け付けた「regular」が表示された状態を示す。「reg」が手書きされていた場所に「regular」という選択データ16(確定データでもある)が表示されている。選択データ16を囲む点線の枠16aは、変換後にしばらく表示されてもよいし、全く表示されなくてもよい。
図50は、ユーザーが「regular」という選択データ16を選択している場合に表示される矢印303の一例を示す。すなわち、ユーザーが囲み枠又は棒線で「regular」を選択すると、いったんは操作ガイド500が表示される。ユーザーが選択データ16のドラッグを開始すると、操作ガイド500は消去される。手書き入力表示制御部23は矢印303の表示を開始するか、又は、確定データ13hとの距離との関係に応じて矢印303の表示を開始する。
手書き入力表示制御部23が矢印303を表示する位置を決定する方法及びタイミングは、日本語の場合と同様でよい。
図51に示すように、矢印303の位置は「regular」を囲む辺の中央に限らない。図51は、矢印303の位置の一例を示す図である。図51(a)では矢印303は「regular」を囲む辺の左端に表示されており、図51(b)では「regular」を囲む辺の右端に表示されている。矢印303は辺のどこかにあればよい。
文字列挿入制御部41は、確定データ13hと矢頭の座標との距離が挿入判定条件408の閾値未満である場合、この確定データ13hにおいて矢頭の座標が最も近い文字と文字の間に選択データ16(「regular」)を挿入する。
図50、図51では、矢頭の座標が最も近い文字と文字の間は、「s」と「m」の間なので、文字列挿入制御部41は「s」と「m」の間に「regular」を挿入する。
図52は、確定データに「regular」が挿入された文字列を示す。「regular」の挿入により、「Today's meeting」が「Today's regular meeting」に変更され表示されている。なお、挿入時、文字列挿入制御部41は元の確定データにおける先頭の座標(図46のP1)を取得し、「Today's meeting」と「regular」を削除する。そして、文字列挿入制御部41は「Today's regular meeting」を元の確定データにおける先頭の座標から表示する。文字列挿入制御部41は「Today's」は消去せず、「Today's」に続けて「regular meeting」を追加で表示してもよい。
<確定データの手書き方向と選択データの手書き方向>
図47〜図52では、確定データの手書き方向が横書き、選択データ(regular)も横書きであった。英語の場合、横書きが一般的であるため、確定データ又は選択データが縦書きの実施形態は省略する。
<挿入先の別の表示例>
図53に示すように、手書き入力表示制御部23は確定データ15h側に挿入先を示す挿入記号305を表示してもよい。図53の説明では主に図27との相違を説明する。図53は確定データ側に表示された挿入先を示す挿入記号305の一例である。図53では三角形の挿入記号305(表示部品の一例)が「s」と「m」の間に表示されている。挿入記号305は1つ以上の文字の文字列に対する位置を表す。手書き入力表示制御部23は、選択データ16と確定データ15hとの距離が閾値未満になると、選択データ16の外接矩形(挿入対象枠304)を形成する辺312の中央と最も近い、確定データ15h側の文字と文字の間に挿入記号305を表示する。ユーザーが選択データをドラッグで移動させると、辺312の中央の位置に応じて、手書き入力表示制御部23は挿入記号305の位置を変更する。
したがって、英語変換の場合も、ユーザーは矢印303がなくても挿入記号305の位置に基づいて、選択データがどこに挿入されるのかを把握できる。
英語変換の場合も、動作手順については、図28〜図33、図34と同様になる。
<主な効果>
本実施例によれば、英語変換の場合も、表示装置2は、文字列に対する1つ以上の文字の位置を示す矢印303を表示するので、文字列と1つ以上の文字の相対位置を明確にすることができる。挿入対象の文字数が多い場合でもユーザーが所望の挿入位置に文字等を挿入しやすくなる。
本実施例では、中国語の文字列に対する1つ以上の中国語の文字の位置を示す矢印303を表示する表示装置2について説明する。なお、表示装置2の構成は、変換用の辞書や操作コマンド定義データが中国語に対応する以外は実施例1と同様である。このため、表示装置2が手書きデータを中国語に変換(以下、中国語変換という)することに基づく実施例1との相違を説明する。
図54は、中国語変換の場合に、文字列への文字の挿入方法を説明する図である。なお、図54の説明では主に図2との相違を説明する。ユーザーが手書きデータを表示装置2に入力し、表示装置が符号301の中国語の文字列に変換して表示した。符号301の中国語は今日の会議という意味である。ユーザーは符号301aの中国語と符号301bの中国語の間に「定期」という文字が抜けていることに気づき、「定期」を手書きして「定期」302に変換させる。ユーザーが「定期」302を選択するか又はドラッグを開始すると、表示装置2は挿入先を示す矢印303を表示する。矢印303は「定期」302に矢尻を向け、挿入先の文字列に矢頭を向けるので、符号301の中国語に対する「定期」の位置が明確になる。また、ユーザーは挿入位置を把握しやすい。ユーザーは「定期」302をドラッグして矢頭を所望の挿入位置に合わせてドロップする。
したがって、中国語変換の場合も、表示装置2は、文字列に対する1つ以上の文字の位置を示す矢印303を表示するので、文字列と1つ以上の文字の相対位置を明確にすることができる。挿入対象の文字数が多い場合でもユーザーが所望の挿入位置に文字等を挿入しやすくなる。
図3〜図6については実施例1と同様でよい。
<定義済み制御データについて>
図55は、中国語変換における定義済み制御データの一例を示す。なお、図55の説明では主に図7との相違を説明する。各定義済み制御データの内容は図7と同様であるが、「FontStyle」に中国語用のフォント名(例えば、宋体、黒体)が対応付けられている。したがって、ユーザーが中国語で手書きすると、中国語でよく使用されるフォントで文字列を表示できる。
<辞書データの一例>
図56〜図58を用いて中国語変換の場合の辞書データについて説明する。図56〜図58の説明では、主に図8〜図10との相違を説明する。図56は、中国語変換における手書き認識辞書部27の辞書データの一例である。なお、中国語にはひらがなに相当する文字種がないため、中国語変換における手書き認識辞書部27は文字認識のための辞書である。図56の手書き認識辞書部27の辞書データは、手書きされた符号321の中国語(ストロークデータの状態)は、確率0.90で符号322の中国語、確率0.10で符号323の中国語に変換されることを示す。
図57は、中国語変換における文字列変換辞書部29の辞書データの一例である。図57の文字列変換辞書部29の辞書データでは、符号324の中国語は確率0.95で符号325の中国語に、符号326の中国語は確率0.85で符号327の中国語に変換されることを示す。その他の「変換前」の文字列についても同様である。
図58は中国語変換における予測変換辞書部31の辞書データの一例である。図58の予測変換辞書部31の辞書データでは、符号328の中国語は確率0.65で符号329の中国語に、符号330の中国語は確率0.75で符号331の中国語に、それぞれ変換されることを示す。その他の「変換前」の文字列についても同様である。
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
<操作コマンド定義データの一例>
図59(a)は、中国語変換において、選択データがない場合の操作コマンド定義データの一例である。図59の説明では主に図11との相違を説明する。各操作コマンドの内容は図11と同様であるが、Nameとstringに中国語表現が対応付けられている。したがって、ユーザーは中国語で操作コマンドを手書きでき、中国語の操作コマンドを選択できる。
図59(b)は、システム定義データの一例を示す。図59(b)の説明では主に図11(b)との相違を説明する。図59(b)では、usernameに"lin"が対応付けられている。
続く、図12〜図18は実施例1と同様とする。より正確には、図13と図14ではアルファベット用のNameが設定されるが、特徴部ではないので図は省略した。
図60は、選択データがある場合の操作コマンド定義データの一例である。図60の説明では主に図12との相違を説明する。各操作コマンドの内容は図12と同様であるが、Nameに中国語表現が対応付けられている。したがって、ユーザーは中国語の操作コマンドを選択できる。
<選択可能候補の表示例>
図61は中国語変換の場合の操作ガイド500と操作ガイド500が表示する選択可能候補530の一例である。図61の説明では主に図13との相違を説明する。図61ではユーザーが手書きデータ504の中国語を手書きした。手書きデータ504に基づいて、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、が表示されている。したがって、図13の日本語が中国語に変わる以外は図13と同様でよい。
操作コマンドの候補510は例えば図59(a)の操作コマンド定義データにおいて、手書きデータ504が正しく変換された手書き認識文字列候補506をstringに有する操作コマンド定義データ701,702である。
このように、ユーザーは、中国語変換の場合も同様に操作ガイド500を表示させることができる。
<選択データの指定例>
図62は、中国語変換の場合の選択データの指定例を説明する図の一例である。なお、図62の説明では主に図14との相違を説明する。
図62(a)は横書きの2つの確定データ13a2、13b2をユーザーが跨ぎ線(手書きデータ11a2)で指定した例である。この例では、手書きデータ矩形領域12a2の短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定データ13a2、13b2との重なり率が跨ぎ線判定条件406の条件を満たしている。このため、両方の確定データ13a2、13b2が選択データとして指定されている。
図62(b)は横書きの確定データ13c2を囲み線(手書きデータ11b2)でユーザーが指定した例である。この例では、確定データ13c2と手書きデータ矩形領域12c2の重なり率が囲み線判定条件407の条件を満たしている確定データ13c2だけが選択データとして指定されている。
このように中国語変換の場合も、ユーザーは同様に選択データを選択できる。
<操作コマンドの候補の表示例>
図63は、中国語変換の場合に、図62に示した手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図63の説明では主に図15との相違を説明する。
図63(a)は編集系の操作コマンドの候補であり、図63(b)は修飾系の操作コマンドの候補である。また、図63(a)は図62(a)の手書きデータ11a2で選択データが指定された例を示す。図63(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。
図63(a)では1行目の「〉」512aの押下により、図63(a)のサブメニュー560が表示される。ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択データに対して実行する。すなわち符号521bのサブメニューが選択されると「Delete」を手書き入力表示制御部23が実行する。符号522bのサブメニューが選択されると「Move」を手書き入力表示制御部23が実行する。符号523bのサブメニューが選択されると「Rotate」を手書き入力表示制御部23が実行する。符号524bのサブメニューが選択されると「Select」を手書き入力表示制御部23が実行する。
ユーザーが符号521bのサブメニューをペンで押下すると、確定データ13a2、13b2を手書き入力表示制御部23が消去する。ユーザーが符号522bのサブメニューをペンで押下すると、確定データ13a2、13b2の移動を手書き入力表示制御部23が受け付ける。ユーザーが符号523bのサブメニューをペンで押下すると、手書き入力表示制御部23が確定データ13a2、13b2を一定角度回転する。ユーザーが符号524bのサブメニューをペンで押下すると、確定データ13a2、13b2の選択を手書き入力表示制御部23が受け付ける。
操作コマンドの候補以外の文字列候補である「―」541b、「−」542b、「〜」543b、「→」544b、及び「⇒」545bは跨ぎ線(手書きデータ11a2)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図63(b)では2行目の「〉」512bの押下により、図63(b)のサブメニューが表示される。図63(b)の表示例も図63(a)と同様にメインメニュー550とサブメニュー560が表示されている。図60の操作コマンド定義データに基づいて、符号531bのサブメニューが選択されると「Thick」を手書き入力表示制御部23が選択データに対して実行する。符号532bのサブメニューが選択されると「Thin」を手書き入力表示制御部23が選択データに対して実行する。符号533bのサブメニューが選択されると「Large」を手書き入力表示制御部23が選択データに対して実行する。符号534bのサブメニューが選択されると「Small」を手書き入力表示制御部23が選択データに対して実行する。符号535bのサブメニューが選択されると「Underline」を手書き入力表示制御部23が選択データに対して実行する。
ユーザーが符号531bのサブメニューをペンで押下すると確定データ13a2、13b2を構成する線を手書き入力表示制御部23が太くする。ユーザーが符号532bのサブメニューをペンで押下すると、確定データ13a2、13b2を構成する線を手書き入力表示制御部23が細くする。ユーザーが符号533bのサブメニューをペンで押下すると確定データ13a2、13b2を手書き入力表示制御部23が大きくできる。ユーザーが符号534bのサブメニューをペンで押下すると、確定データ13a2、13b2を手書き入力表示制御部23が小さくできる。ユーザーが符号535bのサブメニューをペンで押下すると、確定データ13a2、13b2に下線を手書き入力表示制御部23が追加できる。
このようにユーザーは、中国語変換の場合も、手書きデータがある場合の操作コマンドを表示させることができる。図16が中国語変換される場合も同様である。
<確定データの表示例>
図64は、中国語変換の場合に、ペン2500の長押しにより選択される確定データ13gの一例を示す。図64の説明では主に図17との相違を説明する。表示装置2は変換単位で文字列の座標を管理しているので、「定期」の確定データ13gの外接矩形302の座標も既知である。したがって表示装置2は、中国語変換の場合も日本語と同様に確定データ13gを検出できる。
<文字の挿入先の決定方法>
図65を用いて、中国語変換における文字の挿入先の決定方法を説明する。図65の説明では主に図18との相違を説明する。図65は中国語変換における文字の挿入先を説明する図の一例である。図65には確定データとして符号301の中国語が表示されている。手書き入力保存部25には、確定データの左上コーナーの座標P1と右下コーナーの座標P2が保存されている。また、使用しているフォント及び文字サイズも既知である。また、フォントが分かれば各文字の文字サイズも既知となる。例えば、中国語の文字に対応付けて縦横のサイズが登録されているテーブルを手書き入力保存部25が有している。したがって、手書き入力表示制御部23はこれらの情報を使って、各文字の座標(例えば1文字分のマスの左上コーナーと右下コーナーの座標)を算出できる。
図65では各文字の右下コーナーの座標xa〜xd(y座標はy1又はy2)を示している。手書き入力表示制御部23は座標xa〜xdを容易に算出できる。したがって、手書き入力表示制御部23は座標xa〜xdと矢印303の矢頭の座標を比較して、最も近い座標xa〜xdが挿入先の文字と文字の間であると判断できる。
<文字の挿入の流れ>
続いて、図66〜図71を参照して、中国語変換において、表示装置2が文字の挿入を受け付ける流れを説明する。図66は確定データ13hと手書きデータ504の一例である。図66〜図71の説明では主に図19〜図24との相違を説明する。
図66では、確定データ13h(中国語)が表示されている。また、ユーザーは「定期」を挿入するために「定期」と手書きした。
図67は、「定期」に対し表示された操作ガイド500の一例である。4つの文字列候補539が表示されている。ユーザーは「定期」をペン2500で押下することで選択する。手書き入力表示制御部23は「定期」の選択を受け付ける。
図68は選択を受け付けた「定期」が表示された状態を示す。「定期が手書きされていた場所に「定期」という選択データ16(確定データでもある)が表示されている。選択データ16を囲む点線の枠16aは、変換後にしばらく表示されてもよいし、全く表示されなくてもよい。
図69は、ユーザーが「定期」という選択データ16を選択している場合に表示される矢印303の一例を示す。すなわち、ユーザーが囲み枠又は棒線で「定期」を選択すると、いったんは操作ガイド500が表示される。ユーザーが選択データ16のドラッグを開始すると、操作ガイド500は消去される。手書き入力表示制御部23は矢印303の表示を開始するか、又は、確定データ13hとの距離との関係に応じて矢印303の表示を開始する。
手書き入力表示制御部23が矢印303を表示する位置を決定する方法及びタイミングは、日本語の場合と同様でよい。
図70に示すように、矢印303の位置は「定期」を囲む辺の中央に限らない。図70は、矢印303の位置の一例を示す図である。図70(a)では「定期」を囲む辺の左端に矢印303が表示されており、図70(b)では「定期」を囲む辺の右端に矢印303が表示されている。矢印303は辺のどこかにあればよい。
文字列挿入制御部41は、確定データ13hと矢頭の座標との距離が挿入判定条件408の閾値未満である場合、この確定データ13hにおいて矢頭の座標が最も近い文字と文字の間に選択データ16(「定期」)を挿入する。
図69、図70では、矢頭の座標が最も近い文字と文字の間は、「的」と「会」の間なので、文字列挿入制御部41は「的」と「会」の間に「定期」を挿入する。
図71は、確定データに「定期」が挿入された文字列を示す。「定期」の挿入により、確定データ13hが確定データ13h2に変更され表示されている。なお、挿入時、文字列挿入制御部41は元の確定データにおける先頭の座標(図65のP1)を取得し、確定データ13hと選択データ16を削除する。そして、文字列挿入制御部41は確定データ13h2を元の確定データにおける先頭の座標から表示する。文字列挿入制御部41は「今天的」は消去せず、「今天的」に続けて「今天的」以降を追加で表示してもよい。
<確定データの手書き方向と選択データの手書き方向>
図66〜図71では、確定データの手書き方向が横書き、選択データ(定期)も横書きであった。これは中国語の場合、横書きが一般的だからである。しかし、中国語の場合も、確定データ15hの手書き方向が横書き、選択データ16(「定期」)が縦書きでもよい。あるいは、確定データ15hの手書き方向が縦書き、選択データ16(「定期」)が縦書きでもよい。あるいは、確定データ15hの手書き方向が縦書き、選択データ16(「定期」)が横書きでもよい。
<挿入先の別の表示例>
図72に示すように、手書き入力表示制御部23は確定データ15h側に挿入先を示す挿入記号305を表示してもよい。図72の説明では主に図27との相違を説明する。図72は確定データ側に表示された挿入先を示す挿入記号305の一例である。図72では三角形の挿入記号305(表示部品の一例)が「的」と「会」の間に表示されている。挿入記号305は1つ以上の文字の文字列に対する位置を表す。手書き入力表示制御部23は、選択データ16と確定データ15hとの距離が閾値未満になると、選択データ16の外接矩形(挿入対象枠304)を形成する辺312の中央と最も近い、確定データ15h側の文字と文字の間に挿入記号305を表示する。ユーザーが選択データをドラッグで移動させると、辺312の中央の位置に応じて、手書き入力表示制御部23は挿入記号305の位置を変更する。
したがって、中国語変換の場合も、ユーザーは矢印303がなくても挿入記号305の位置に基づいて、選択データがどこに挿入されるのかを把握できる。
中国語変換の場合も、動作手順については、図28〜図33、図34と同様になる。
<主な効果>
本実施例によれば、中国語変換の場合も、表示装置2は、文字列に対する1つ以上の文字の位置を示す矢印303を表示するので、文字列と1つ以上の文字の相対位置を明確にすることができる。挿入対象の文字数が多い場合でもユーザーが所望の挿入位置に文字等を挿入しやすくなる。
以下の実施例では表示装置2の別の構成例について説明する。
<<表示装置の別の構成例1>>
本実施形態の表示装置2は大型のタッチパネルを有するものとして説明されているが、表示装置2はタッチパネルを有するものに限られない。
図73は、表示装置2の他の構成例を示す図である。図73では、通常のホワイトボード413の上辺にプロジェクター411が設置されている。このプロジェクター411が表示装置2に相当する。通常のホワイトボード413とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
プロジェクター411は超短焦点の光学系を有しており、10cm程度から歪みの少ない映像をホワイトボード413に投影できる。この映像は、無線又は有線で接続されたPCから送信されてもよいし、プロジェクター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>>
図74は、表示装置2の他の構成例を示す図である。図74の例では、表示装置2は、端末装置600、画像投影装置700A、及び、ペン動作検出装置810を有する。
端末装置600は、画像投影装置700A及びペン動作検出装置810と有線で接続されている。画像投影装置700Aは、端末装置600により入力された画像データをスクリーン800に投影させる。
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し(検出方法は図35と同様でよい)、端末装置600へ送信する。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力される手書きデータの画像データを生成し、画像投影装置700Aによって手書きデータの画像をスクリーン800に描画させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力された手書きデータの画像とを合成した重畳画像を示す重畳画像データを生成する。
<<表示装置の別の構成例3>>
図75は、表示装置2の構成例を示す図である。図75の例では、表示装置2は、端末装置600と、ディスプレー800Aと、ペン動作検出装置810Aとを有する。
ペン動作検出装置810は、ディスプレー800Aの近傍に配置され、ディスプレー800A上に、電子ペン820Aが示している点を示す座標情報を検出し(検出方法は図35と同様でよい)、端末装置600へ送信する。なお、図75の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820Aによって入力される手書きデータの画像の画像データを生成し、ディスプレー800Aに表示させる。
<<表示装置の別の構成例4>>
図76は、表示装置2の構成例を示す図である。図76の例では、表示装置2は、端末装置600と、画像投影装置700Aとを有する。
端末装置600は、電子ペン820Bと無線通信(Bluetooth(登録商標)等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。座標情報は、スクリーン800に形成された微小な位置情報を電子ペン820Bが読み取ってもよいし、スクリーン800から座標情報を受信してもよい。
そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力される手書きデータの画像の画像データを生成し、画像投影装置700Aに手書きデータの画像を投影させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820Bによって入力された手書きデータの画像とを合成した重畳画像を示す重畳画像データを生成する。
以上のように、上記した各実施形態は、様々なシステム構成において適用することができる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
確定データは文字コードとして、手書きデータは座標点データとして表示装置2に保存される。また、各種の記憶媒体に保存したり、ネットワーク上の記憶装置に保存したりしておいて、後で、表示装置2からダウンロードして再使用することができる。再使用する表示装置2はどの表示装置でもよく、一般的な情報処理装置でもよい。したがって、ユーザーは手書きした内容を異なる表示装置2で再現して会議などを継続することができる。
例えば、本実施形態では電子黒板を一例として説明したが、電子黒板は、電子ホワイトボード、電子情報ボード、などと呼ばれてよい。また、本実施形態は、タッチパネルを有する情報処理装置であれば好適に適用できる。タッチパネルを搭載した情報処理装置としては、例えば、PJ(Projector:プロジェクター)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC又はデスクトップPC等であってもよい。
また、本実施形態の表示装置2は、ペン先の座標をタッチパネルで検知する方法でペンの座標を検出したが、ペン先の座標を超音波により検出してもよい。また、ペンは発光と共に超音波を発信しており、表示装置2は超音波の到達時間により距離を算出する。表示装置2は方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークデータとしてプロジェクターが描画(投影)する。
また、本実施形態では、選択データがある場合に編集系及び修飾系の操作コマンドの候補を表示し、選択データがない場合に入出力系の操作コマンドの候補を表示した。しかし、表示装置2は編集系及び修飾系の操作コマンドの候補と入出力系の操作コマンドの候補を同時に表示してもよい。
また、図6などの構成例は、表示装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、表示装置2が行う処理の一部を、表示装置2とネットワークを介して接続されたサーバーが行ってもよい。
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、本実施形態において、比較の対象として閾値が例示されていたとしても閾値は例示された値には限定されない。このため、本実施形態では、全ての閾値に関し、閾値未満と閾値以下という記載は同等の意味を持ち、閾値超過と閾値以上という記載は同等の意味を持つ。例えば、閾値を11とした場合の閾値未満という記載は閾値が10である場合の閾値以下と同等の意味を持つ。また、閾値を10とした場合の閾値超過という記載は閾値が11である場合の閾値以上と同等の意味を持つ。
2 表示装置
特許第3599927号公報
本発明は、表示装置、表示方法、プログラム、及び、情報処理装置に関する。

Claims (14)

  1. 文字列を表示する表示装置であって、
    手書きデータから変換された1つ以上の文字を表示する表示部と、
    前記1つ以上の文字の前記文字列に対する位置を表す表示部品を表示する手書き入力表示制御部と、
    を有することを特徴とする表示装置。
  2. 前記1つ以上の文字の移動を受け付ける手書き入力部を有し、
    前記手書き入力部が受け付けた前記1つ以上の文字の移動に伴う、前記1つ以上の文字と前記文字列との位置関係に応じて、前記手書き入力表示制御部は前記表示部品を表示することを特徴とする請求項1に記載の表示装置。
  3. 前記1つ以上の文字と前記文字列との位置関係とは、前記1つ以上の文字と前記文字列との距離を示すことを特徴とする請求項2に記載の表示装置。
  4. 前記手書き入力表示制御部は、前記1つ以上の文字と前記文字列との距離が閾値未満又は閾値以下になった場合、前記表示部品を表示することを特徴とする請求項2に記載の表示装置。
  5. 前記手書き入力部が前記1つ以上の文字の移動を開始した場合に、前記手書き入力表示制御部は前記表示部品を表示することを特徴とする請求項2に記載の表示装置。
  6. 前記手書き入力部が前記1つ以上の文字を離した場合に、前記手書き入力表示制御部は前記表示部品を非表示にすることを特徴とする請求項2〜4のいずれか1項に記載の表示装置。
  7. ドラッグとは1つ以上の文字を選択した状態で、選択している1つ以上の文字を移動する操作であり、
    前記1つ以上の文字を離すとは、ドラッグしている1つ以上の文字を離すことであることを特徴とする請求項6に記載の表示装置。
  8. 前記手書き入力表示制御部は、前記表示部品と共に前記1つ以上の文字を囲む枠を表示することを特徴とする請求項1〜7のいずれか1項に記載の表示装置。
  9. 前記表示部品は、前記文字列の側に矢頭があり、前記1つ以上の文字の方向に矢尻がある矢印の形状を有することを特徴とする請求項1〜8のいずれか1項に記載の表示装置。
  10. 前記表示部品は、前記文字列が有する文字と文字の間に表示される挿入記号であることを特徴とする請求項1〜8のいずれか1項に記載の表示装置。
  11. 前記文字列と前記表示部品との距離が最も近い文字と文字の間に前記1つ以上の文字を挿入し、第二の文字列を生成する文字列挿入制御部を有し、
    前記手書き入力表示制御部は、前記文字列挿入制御部が生成した前記第二の文字列を表示することを特徴とする請求項1〜10のいずれか1項に記載の表示装置。
  12. 前記1つ以上の文字が縦書き、前記文字列が横書きである場合、前記手書き入力表示制御部は、前記第二の文字列を縦書きで表示し、
    前記1つ以上の文字が横書き、前記文字列が縦書きである場合、前記手書き入力表示制御部は、前記第二の文字列を横書きで表示することを特徴とする請求項11に記載の表示装置。
  13. 文字列を表示する表示装置が行う表示方法であって、
    表示部が、手書きデータから変換された1つ以上の文字を表示するステップと、
    手書き入力表示制御部が、前記1つ以上の文字の前記文字列に対する位置を表す表示部品を表示するステップと、
    を有することを特徴とする表示方法。
  14. 文字列を表示する表示装置を、
    手書きデータから変換された1つ以上の文字を表示する表示部と、
    前記1つ以上の文字の前記文字列に対する位置を表す表示部品を表示する手書き入力表示制御部、として機能させるためのプログラム。
JP2021019705A 2020-03-20 2021-02-10 表示装置、表示方法、プログラム、情報処理装置 Pending JP2021152884A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21158741.5A EP3882757A1 (en) 2020-03-20 2021-02-23 Display device, display method, and program
US17/189,811 US20210294965A1 (en) 2020-03-20 2021-03-02 Display device, display method, and computer-readable recording medium
CN202110291489.2A CN113434078A (zh) 2020-03-20 2021-03-18 显示装置、显示方法及计算机可读记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020051373 2020-03-20
JP2020051373 2020-03-23

Publications (1)

Publication Number Publication Date
JP2021152884A true JP2021152884A (ja) 2021-09-30

Family

ID=77889584

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021019705A Pending JP2021152884A (ja) 2020-03-20 2021-02-10 表示装置、表示方法、プログラム、情報処理装置

Country Status (1)

Country Link
JP (1) JP2021152884A (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225399A (ja) * 1992-02-17 1993-09-03 Sanyo Electric Co Ltd 文書処理装置
JPH06208656A (ja) * 1993-01-11 1994-07-26 Toshiba Corp オンライン文字認識装置
JP2009205304A (ja) * 2008-02-26 2009-09-10 Ntt Docomo Inc タッチパネルの制御装置、制御方法およびコンピュータプログラム
JP2015072541A (ja) * 2013-10-02 2015-04-16 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP2017083960A (ja) * 2015-10-23 2017-05-18 キヤノンマーケティングジャパン株式会社 情報処理装置、制御方法、及びプログラム
US20170249293A1 (en) * 2016-02-29 2017-08-31 Myscript Method for inserting characters in a character string and the corresponding digital service
JP2018019300A (ja) * 2016-07-28 2018-02-01 京セラドキュメントソリューションズ株式会社 画像形成装置、文書電子化プログラムおよび文書電子化方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225399A (ja) * 1992-02-17 1993-09-03 Sanyo Electric Co Ltd 文書処理装置
JPH06208656A (ja) * 1993-01-11 1994-07-26 Toshiba Corp オンライン文字認識装置
JP2009205304A (ja) * 2008-02-26 2009-09-10 Ntt Docomo Inc タッチパネルの制御装置、制御方法およびコンピュータプログラム
JP2015072541A (ja) * 2013-10-02 2015-04-16 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP2017083960A (ja) * 2015-10-23 2017-05-18 キヤノンマーケティングジャパン株式会社 情報処理装置、制御方法、及びプログラム
US20170249293A1 (en) * 2016-02-29 2017-08-31 Myscript Method for inserting characters in a character string and the corresponding digital service
JP2018019300A (ja) * 2016-07-28 2018-02-01 京セラドキュメントソリューションズ株式会社 画像形成装置、文書電子化プログラムおよび文書電子化方法

Similar Documents

Publication Publication Date Title
US11250253B2 (en) Handwriting input display apparatus, handwriting input display method and recording medium storing program
JP2023175845A (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
CN114467071A (zh) 显示装置、彩色支持装置、显示方法及程序
JP7456287B2 (ja) 表示装置、プログラム、表示方法
JP7452155B2 (ja) 手書き入力装置、手書き入力方法、プログラム
JP2022019426A (ja) 表示装置、制御方法、プログラム
JP7259828B2 (ja) 表示装置、表示方法、プログラム
JP7354878B2 (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
EP3825868A1 (en) Display apparatus, display method, and program
JP2021152884A (ja) 表示装置、表示方法、プログラム、情報処理装置
JP7268479B2 (ja) 表示装置、プログラム、表示方法
EP3882757A1 (en) Display device, display method, and program
WO2022071448A1 (en) Display apparatus, display method, and program
WO2022045177A1 (en) Display apparatus, input method, and program
JP7392315B2 (ja) 表示装置、表示方法、プログラム
JP7494507B2 (ja) 表示装置、表示方法、プログラム
JP7508766B2 (ja) 入力装置、入力方法、プログラム、入力システム
JP2021096844A (ja) 表示装置、表示方法、プログラム
EP3825831A1 (en) Display apparatus, display method, and program
JP7494506B2 (ja) 表示装置、表示方法、プログラム
JP2021064366A (ja) 表示装置、カラー対応装置、表示方法、プログラム
JP2022013424A (ja) 表示装置、表示方法、プログラム
JP2022147337A (ja) 表示装置、表示方法、プログラム
JP2022147384A (ja) 表示装置、表示方法、プログラム
JP2023005493A (ja) 表示装置、プログラム、領域変更方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210820

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210820

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220610

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220906