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

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

Info

Publication number
JP7456287B2
JP7456287B2 JP2020091521A JP2020091521A JP7456287B2 JP 7456287 B2 JP7456287 B2 JP 7456287B2 JP 2020091521 A JP2020091521 A JP 2020091521A JP 2020091521 A JP2020091521 A JP 2020091521A JP 7456287 B2 JP7456287 B2 JP 7456287B2
Authority
JP
Japan
Prior art keywords
character string
data
handwritten
display
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020091521A
Other languages
English (en)
Other versions
JP2020194542A (ja
Inventor
和紀 北澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US16/883,067 priority Critical patent/US11048408B2/en
Publication of JP2020194542A publication Critical patent/JP2020194542A/ja
Application granted granted Critical
Publication of JP7456287B2 publication Critical patent/JP7456287B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/018Input/output arrangements for oriental characters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)
  • Document Processing Apparatus (AREA)

Description

本発明は、表示装置、プログラム、及び、表示方法に関する。
コンピュータ制御のホワイトボード装置又は手書き入力が可能なアプリケーションでは、ユーザーが文字などを手書きするだけでなく、手書きした文字等を認識してテキストデータに変換して表示することができるものがある。例えば、ユーザーはメニューを選択して手書きモードから手書き文字認識モードに切り替えて、手書きした文字等をテキストデータに変換できる。
このような表示装置を使用中、すでにテキストデータに変換された文字列に後から文字等を挿入する技術が考案されている(例えば、特許文献1参照。)。特許文献1には、音声認識で表示された文字列の挿入したい位置にユーザーが触れると、表示端末上における予め定められた位置に文字列入力用フレームを表示し、文字列入力用フレームに入力された文字列をユーザーが触れた位置に挿入する音声認識誤り修正装置が開示されている。
しかしながら、従来の技術では、文字列に言語文字列候補が挿入された挿入文字列候補、及び、文字列に併記される言語文字列候補、を含む選択可能候補が表示されないという問題がある。
本発明は、文字列に言語文字列候補が挿入された挿入文字列候補、及び、文字列に併記される言語文字列候補、を含む選択可能候補を表示する表示装置を提供することを目的とする。
上記課題に鑑み、本発明は、書きされた手書きデータを表示する表示装置であって、文字認識によりテキストデータに変換された文字列の周囲に手書きされた前記手書きデータが前記文字列に対し所定の条件を満たす場合、前記手書きデータに基づいて変換された言語文字列候補を前記文字列に挿入すると判定する文字列挿入制御手段と、前記文字列挿入制御手段によって、前記文字列に前記言語文字列候補を挿入すると判定された結果に基づく挿入文字列候補、及び、前記文字列に併記される前記言語文字列候補、を含む選択可能候補を、表示手段に表示する表示制御手段と、を有する、ことを特徴とする。
文字列に言語文字列候補が挿入された挿入文字列候補、及び、文字列に併記される言語文字列候補、を含む選択可能候補を表示する表示装置を提供することができる。
表示装置が行う文字列の挿入方法を説明する図である。 表示装置の一例の全体構成図である。 ペンの斜視図の一例である。 表示装置の一例のハードウェア構成図である。 表示装置が有する機能をブロック状に示す一例の機能ブロック図である。 表示装置が有するユーザー認証に関する機能をブロック状に示す一例の機能ブロック図である。 定義済み制御データの一例を示す図である。 手書き認識辞書部の辞書データの一例を示す図である。 文字列変換辞書部の辞書データの一例を示す図である。 予測変換辞書部の辞書データの一例を示す図である。 操作コマンド定義部が保持する操作コマンド定義データとシステム定義データの一例を示す図である。 手書きデータにより選択された選択データがある場合の操作コマンド定義データの一例を示す図である。 選択データがない場合に操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 選択データの指定例を説明する図の一例である。 手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図の一例である。 手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図の一例である。 確定データと手書きデータに基づく文字列を挿入した挿入文字列候補を表示するか否かの判定を説明する図である。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その1)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その2)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その3)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その4)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その5)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その6)。 挿入記号の使用例と挿入記号の一例を示す図である。 表示装置が行う挿入文字列候補の表示方法を説明する図である。 表示装置が有する機能をブロック状に示す機能ブロック図の一例である(実施例2)。 確定データと手書きデータに基づく文字列を挿入した挿入文字列候補を表示するか否かの判定を説明する図である。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その1)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その2)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その3)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その4)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その5)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その6)。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 手書き入力システムのシステム構成図の一例である。 情報処理システムのハードウェア構成図の一例である。 手書き入力システムが有する機能をブロック状に示す機能ブロック図の一例である(実施例3)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その1)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その2)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その3)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その4)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その5)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その6)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その7)。 手書き入力システムが有する機能をブロック状に示す機能ブロック図の一例である(実施例4)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その1)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その2)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その3)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その4)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その5)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その6)。 手書き入力システムが文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その7)。
以下、本発明を実施するための形態の一例として、表示装置及び表示装置が行う表示方法について図面を参照しながら説明する。
本実施例では、日本語による実施例を記載しているが、本願発明は、日本語に限定されることなく、例えば、英語、中国語、台湾語、韓国語等にも利用することができるものであるため、本願発明の実施形態は、日本語に限定されるものではない。
<表示装置の動作の概略>
図1は、本実施形態の表示装置が行う文字列の挿入方法を説明する図である。下図では「本日の議事」という確定データ573に、「主要」という文字列を挿入し、「本日の主要議事」を表示する場合を説明する。
(1) 「本日の議事」という確定データ573がすでに表示されている。確定データ573の下の「主要」を挿入したい場所に(確定データ573の周囲であればよい)、ユーザーは挿入記号(図1の場合は、上に凸の図形)576と「しゅよう」という手書きデータ504を追記する。挿入記号576を含めて手書きデータ504である。
(2) 表示装置は、確定データ573に対し手書きデータ504が所定の条件を満たすか否かを判定する。所定の条件は、挿入記号の有無、及び、手書きデータ504と確定データとの距離が閾値以下(又は閾値未満)であるか否かである。所定の条件を満たす場合、挿入文字列候補570を操作ガイド500に含めて表示すると判定する。挿入文字列候補は、確定データ573に手書きデータに基づく文字列候補が挿入された文字列である。また、表示装置は、通常の手書き入力と同様に「主要」の認識で得られた文字列候補を表示する。したがって、表示装置は、「本日の主要議事」という挿入文字列候補570、挿入記号を除く手書きデータ504の認識結果である「しゅよう」という手書き認識文字列候補506、及び、「主要」という言語文字列候補571、を選択可能候補として表示する。
(3) ユーザーが「本日の主要議事」を選択した場合、確定データ573は「本日の主要議事」という挿入文字列候補570に置き換えられる。また、挿入記号576は削除される。
(4) ユーザーが「本日の主要議事」を選択せず、例えば「主要」を選択した場合、「主要」という文字列が「本日の議事」の下に表示される。挿入記号576は、文字の装飾とみなされ、そのまま残る。
このように、本実施形態の表示装置は、確定データ573に対し手書きデータ504が所定の条件を満たすか否かを判定するので、文字列の挿入を、特別な操作なく実施することができる。また、挿入文字列候補570と共に、手書き認識文字列候補506、及び、言語文字列候補571を選択可能に表示するので、ユーザーが挿入せずに手書きしたい場合は手書き認識文字列候補506、及び、言語文字列候補571を選択し、挿入したければ挿入文字列候補570を選択すればよい。また、挿入記号を残して手書きした文字列を入力することもできる。
<用語について>
入力手段とはディスプレーに手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。
確定データとは文字認識によりテキストデータに変換済みの文字列である。正しい変換か否かは問わない。なお、文字には、数値、記号、アルファベットなども含まれる。
手書きデータとは、ディスプレー上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがディスプレーに入力手段を押しつけてから連続的に移動させた後、ディスプレーから離すという一連の操作をストロークといい、ストロークにより手書きされたデータをストロークデータという。手書きデータは1つ以上のストロークデータを有する。
挿入とは、中にさし込むことをいうが、文字と文字の間に挿入する他、先頭や末尾に追加してもよい。
挿入文字列候補は、確定データに、手書きデータに基づいて生成された文字列が挿入された文字列である。ユーザーによる選択の候補として表示されてよい。
挿入記号は、ユーザーが表示装置に文字の挿入を指示する校正記号の1つである。校正記号とは、誤りの修正指示を簡便かつ正確に記述できる記号である。校正記号はJISZ 8208に規定されている。本実施形態では日本語の挿入記号を説明するが、使用者の国に応じた挿入記号が使用されるとよい。どの国の挿入記号を使用するかをユーザーが選択できてよい。また、規格化された挿入記号とは別の挿入記号が使用されてもよい。
<装置の全体構成>
図2を用いて、本実施形態に係る表示装置2の全体構成を説明する。図2は、表示装置2の全体構成図を示した図である。図2(a)では、表示装置2の一例として、壁につり下げられた横長の電子黒板として使用される表示装置2を示している。
表示装置2は、タッチパネルと一体のディスプレーに接触している入力手段の位置に基づいて手書きされた手書きデータを表示する装置である。ユーザーが手で書いたデータを入力できるので手書き入力装置とも呼ばれる。
図2(a)に示されているように、表示装置2の上部にはディスプレー220が設置されている。ユーザーUは、ペン2500を用いて、ディスプレー220に文字等を手書きする(入力、描画ともいう)することができる。
図2(b)は壁につり下げられた縦長の電子黒板として使用される表示装置2を示している。
図2(c)は机230に平置きされた表示装置2を示す。表示装置2は厚みが1cm程度なので、一般の机に平置きしても机の高さを調整する必要がない。また、容易に移動できる。
<ペンの外観の一例>
図3は、ペン2500の斜視図の一例を示す。図3は多機能なペン2500の一例を示す。電源を内蔵して表示装置2に命令を送信できるペン2500をアクティブペンという(電源を内蔵しないペンをパッシブペンという)。図3のペン2500は、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。本実施形態のペン2500は不揮発性のメモリーを有しており、他のペンと重複しないペンIDを記憶している。
なお、スイッチ付きのペンであれば、ユーザーの表示装置2の操作手順を減らすことも可能である。スイッチ付きのペンとは主にアクティブペンを言うが、電磁誘導方式では電源を内蔵しないパッシブペンでもLC回路だけで電力を発生できるため、アクティブペンだけでなく電磁誘導方式のパッシブペンを含む。電磁誘導方式以外の光学方式、赤外線方式、及び、静電容量方式のスイッチのあるペンはアクティブペンである。
なお、ペン2500のハードウェア構成は、通信機能とマイコンを備えた一般的な制御方式と同様であるとする。ペン2500の座標の入力方式には、電磁誘導方式、アクティブ静電結合方式などがある。また、ペン2500は、筆圧検知、傾き検知、ホバー機能(ペンが触れる前にカーソルを表示)、などの機能を有していてよい。
<装置のハードウェア構成>
続いて、図4を用いて、表示装置2のハードウェア構成を説明する。表示装置2は図示するように情報処理装置又はコンピュータの構成を有している。図4は、表示装置2のハードウェア構成図の一例である。図4に示されているように、表示装置2は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、及び、SSD(Solid State Drive)204を備えている。
これらのうち、CPU201は、表示装置2全体の動作を制御する。ROM202は、CPU201やIPL(Initial Program Loader)等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。SSD204は、表示装置2用のプログラム等の各種データを記憶する。
また、表示装置2は、ディスプレーコントローラー213、タッチセンサーコントローラー215、タッチセンサー216、ディスプレー220、電源スイッチ227、チルトセンサー217、シリアルインターフェース218、スピーカー219、マイク221、無線通信装置222、赤外線I/F223、電源制御回路224、ACアダプター225、及びバッテリー226を備えている。
ディスプレーコントローラー213は、出力画像をディスプレー220等へ出力するために画面表示の制御及び管理を行う。タッチセンサー216は、ディスプレー220上にペン2500やユーザーの手等(ペンやユーザーの手は入力手段となる)が接触したことを検知する。また、タッチセンサー216はペンIDを受信する。
タッチセンサーコントローラー215は、タッチセンサー216の処理を制御する。タッチセンサー216は、座標の入力及び座標の検出を行う。この座標の入力及び座標の検出する方法は、例えば、光学式の場合、ディスプレー220の上側両端部に設置された2つ受発光装置が、ディスプレー220に平行して複数の赤外線を放射し、ディスプレー220の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受光する方法である。タッチセンサー216は、物体によって遮断された2つの受発光装置が放射した赤外線の位置情報をタッチセンサーコントローラー215に出力し、タッチセンサーコントローラー215が、物体の接触位置である座標位置を特定する。また、タッチセンサーコントローラー215は通信ユニット215aを有しており、ペン2500と無線で通信することができる。例えば、Bluetooth(登録商標)などの規格で通信している場合は、市販されているペンを使用することができる。通信ユニット215aに予め1つ以上のペン2500を登録しておくと、ユーザーはペン2500を表示装置2と通信させる接続設定を行わなくても通信できる。
電源スイッチ227は、表示装置2の電源のON/OFFを切り換えるためのスイッチである。チルトセンサー217は、表示装置2の傾き角度を検出するセンサーである。主に、表示装置2が図2(a)、図2(b)、又は、図2(c)のいずれかの設置状態で使用されているかを検出するために使用され、設置状態に応じて文字等の太さを自動で変更することができる。
シリアルインターフェース218はUSBなどの外部との通信インターフェースである。外部からの情報の入力などに使用される。スピーカー219は音声の出力に使用され、マイク221は音声の入力に使用される。無線通信装置222は、ユーザーが携帯する端末と通信し、例えばインターネットへの接続を中継する。無線通信装置222はWi-FiやBluetooth(登録商標)などで通信するが、通信規格は問われない。無線通信装置222はアクセスポイントを形成しており、ユーザーが入手したSSID(Service Set Identifier)とパスワードをユーザーが携帯する端末に設定すると、アクセスポイントに接続できる。
なお、無線通信装置222には2つのアクセスポイントが用意されているとよい。
a. アクセスポイント→インターネット
b. アクセスポイント→社内ネットワーク→インターネット
aのアクセスポイントは社外のユーザー用で、ユーザーは社内ネットワークにはアクセスできないが、インターネットを利用できる。bのアクセスポイントは社内のユーザー用で、ユーザーは社内ネットワーク及びインターネットを利用できる。
赤外線I/F223は隣に配置された表示装置2を検出する。赤外線の直進性を利用して、隣に配置された表示装置2のみを検出できる。赤外線I/F223は各辺に1つずつ設けられることが好ましく、表示装置2のどの方向に他の表示装置2が配置されたのかを検出できる。これにより画面が広がり、隣の表示装置2に過去に手書きされた手書き情報(1つのディスプレー220の広さを1ページとして別のページの手書き情報)等を表示できる。
電源制御回路224は表示装置2の電源であるACアダプター225とバッテリー226を制御する。ACアダプター225は商用電源が共有する交流を直流に変換する。
ディスプレー220がいわゆる電子ペーパーの場合、画像の表示を維持するためにほとんど又は一切電力を消費しないので、バッテリー226による駆動も可能である。これにより、屋外など電源を接続しにくい場所でもデジタルサイネージなどの用途で表示装置2を使用することが可能になる。
更に、表示装置2は、バスライン210を備えている。バスライン210は、図4に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
なお、タッチセンサー216は、光学式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネル、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネル、接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルなどの種々の検出手段を用いてもよい。タッチセンサー216は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン2500は、細長いペン型である必要はない。
<装置の機能について>
次に、図5を用いて、表示装置2が有する機能について説明する。図5は表示装置2が有する機能をブロック状に示す機能ブロック図の一例である。表示装置2は、手書き入力部21、表示部22、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、文字列挿入制御部41、及び、挿入記号定義部42を備えている。表示装置2が有する各機能は、図4に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
手書き入力部21はタッチセンサー216等により実現されており、ユーザーによる手書き入力を受け付ける。手書き入力部21はユーザーのペン入力d1をペン操作データd2(ペンアップ、ペンダウン、又はペン座標データ)に変換し、手書き入力表示制御部23に送信する。ペン座標データは離散値として定期的に送信され、離散値間の座標は補完計算される。
表示部22はディスプレー220等により実現され、手書きされたデータや操作メニューを表示する。表示部22は手書き入力表示制御部23がビデオメモリーに書き込んだ描画データd3をディスプレー220の特性に応じたデータに変換し、ディスプレー220に送信する。
手書き入力表示制御部23は手書き入力と表示に関する全体的な制御を行う。手書き入力表示制御部23は手書き入力部21からのペン操作データd2を処理し、表示部22に送信することで表示させる。
候補表示タイマー制御部24は、選択可能候補の表示制御タイマーである。タイマーを開始又は停止して選択可能候補の表示を開始するタイミングと表示を消去するタイミングを生成する。候補表示タイマー制御部24は手書き入力表示制御部23からタイマー開始要求d4(タイマー停止要求の場合もある)を受信し、タイムアウトイベントd5を手書き入力表示制御部23に送信する。
手書き入力保存部25はユーザーデータ(手書きデータ/文字列データ)を保存しておくストレージの機能を有する。手書き入力保存部25は手書き入力表示制御部23からユーザーデータd6-1を受信し、手書き入力保存部25に保存し、手書き入力表示制御部23から取得要求d6-2を受け取って、手書き入力保存部25に保存されたユーザーデータd7を送信する。手書き入力保存部25は、確定データの位置情報d36を操作コマンド認識制御部32に送信する。
手書き認識制御部26はオンライン手書き認識に関する制御を行う認識エンジンである。一般的なOCR(Optical Character Reader)とは異なり、ユーザーのペン操作と並行して文字(日本語だけでなく英語などの多国語)、数字、記号(%、$、&など)、図形(線、丸、三角など)等を認識していく。認識に関する制御とは手書きデータを文字コードに変換するまでの処理を行うことである。認識方法については様々なアルゴリズムが考案されているが、本実施形態では公知の技術を利用できるとして詳細を割愛する。ユーザーのペン操作と並行して認識するのでなく、OCRで認識してもよい。
手書き認識制御部26はペン操作データd8-1を手書き入力表示制御部23から受信し、手書き認識を実行して手書き認識文字列候補を保持する。また、手書き認識制御部26は手書き認識辞書部27を使用して手書き認識文字列候補d12から変換した言語文字列候補を保持しておく。別途、取得要求d8-2を手書き入力表示制御部23から受信した場合、手書き認識制御部26は保持している手書き認識文字列候補及び言語文字列候補d9を手書き入力表示制御部23に送信する。
手書き認識辞書部27は手書き認識の言語変換用の辞書データである。手書き認識辞書部27は手書き認識文字列候補d12を手書き認識制御部26から受信し、言語的に確からしい言語文字列候補d13に変換して手書き認識制御部26に送信する。例えば、日本語の場合は、平仮名を漢字や片仮名へ変換する。
文字列変換制御部28は変換文字列候補の文字列への変換を制御する。変換文字列とは手書き認識文字列又は言語文字列を含んで生成される可能性が高い文字列である。文字列変換制御部28は手書き認識文字列及び言語文字列候補d11を手書き認識制御部26から受信し、文字列変換辞書部29を使用して変換文字列候補に変換して保持しておく。別途、取得要求d14を手書き入力表示制御部23から受信した場合、保持している変換文字列候補d15を手書き入力表示制御部23に送信する。
文字列変換辞書部29は文字列変換用の辞書データである。文字列変換辞書部29は文字列変換制御部28から手書き認識文字列及び言語文字列候補d17を受信し、変換文字列候補d18を文字列変換制御部28に送信する。
予測変換制御部30は手書き認識文字列及び言語文字列候補d10を手書き認識制御部26から受信し、変換文字列候補d16を文字列変換制御部28から受信し、それぞれについて予測変換辞書部31を使用して予測文字列候補に変換しておく。予測変換文字列とは手書き認識文字列、言語文字列又は変換文字列を含んで生成される可能性が高い文字列である。別途、取得要求d19を手書き入力表示制御部23から受信した場合、予測文字列候補d20を手書き入力表示制御部23に送信する。
予測変換辞書部31は予測変換用の辞書データである。予測変換辞書部31は手書き認識文字列及び言語文字列候補と変換文字列候補d21を予測変換制御部30から受信し、予測文字列候補d22を予測変換制御部30に送信する。
操作コマンド認識制御部32は手書き認識文字列及び言語文字列候補d30を手書き認識制御部26から受信し、変換文字列候補d28を文字列変換制御部28から受信し、予測文字列候補d29を予測変換制御部30から受信する。そして、それぞれについて操作コマンド変換要求d26を操作コマンド定義部33に送信し、操作コマンド定義部33から操作コマンドの候補d27を受信する。操作コマンド認識制御部32は操作コマンドの候補d27を保持しておく。
操作コマンド定義部33は操作コマンド変換要求d26が操作コマンド定義と部分一致している場合は操作コマンドの候補d27を操作コマンド認識制御部32に送信する。
また、操作コマンド認識制御部32はペン操作データd24-1を手書き入力表示制御部23から受信し、過去に入力され確定した確定データの位置情報取得要求d23を手書き入力保存部25に送信し、ペン操作データが指定している確定データを選択データ(位置情報を含む)として保持しておく。操作コマンド認識制御部32はペン操作データd24-1の位置と所定の基準を満たす選択データを特定する。別途、取得要求d24-2を手書き入力表示制御部23から受信した場合、保持している操作コマンドの候補と特定した選択データd25を手書き入力表示制御部23に送信する。
文字列挿入制御部41は手書き認識文字列及び言語文字列候補d40を手書き認識制御部26から受信し、それについて挿入記号判定要求d38を挿入記号定義部42に送信し、挿入記号定義部42から挿入記号判定結果d39を受信する。文字列挿入制御部41は挿入記号判定結果d39を保持しておく。
挿入記号定義部42は挿入記号判定要求d38が挿入記号定義を含む場合、挿入ありの挿入記号判定結果d39を文字列挿入制御部41に送信する。
また、文字列挿入制御部41はペン操作データd43を手書き入力表示制御部23から受信し、過去に入力され確定した確定データの取得要求d37を手書き入力保存部25に送信し、ペン操作データと確定データ(位置情報を含む)を保持しておく。文字列挿入制御部41は手書きデータ(ペン操作データ)の位置と確定データの位置が接近しているかを判定する。別途、挿入判定結果取得要求d41を手書き入力表示制御部23から受信した場合、保持している挿入判定結果等d42を手書き入力表示制御部23に送信する。
<ユーザー認証について>
本実施形態ではユーザー認証の結果を用いた制御が行われるため、表示装置2がユーザー認証する機能を有することが好ましい。このため、図6を用いてユーザー認証に関する機能について説明する。
図6は、表示装置2が有するユーザー認証に関する機能をブロック状に示す図である。なお、図6ではユーザー認証部34(ユーザー認証手段)と関連する機能として手書き入力表示制御部23のみを示したが、ユーザーの認証結果は図5に示した各機能が利用できてよい。
認証情報取得部35はユーザーUから認証情報d31を取得する。認証情報d31はICカードのカード番号、ユーザーIDとパスワード、又は、指紋などの生体情報などでよい。ユーザー認証部34は認証情報d32を認証情報取得部35から取得して、認証情報d33をユーザー情報DB36で検索する。検索に適合するユーザーが存在する場合はユーザー情報d34をユーザー情報DB36から取得する。ユーザー情報はユーザーの属性を表す情報であればよく、例えば、ユーザー名、パスワード、ユーザーのコンピュータ名、部署、権限、などでよい。
ユーザー認証部34はユーザー情報d35を手書き入力表示制御部23に送信するので、手書き入力表示制御部23はユーザー情報を用いて操作コマンドを実行できるようになる。ユーザー情報を用いた操作コマンドに関しては図11にて説明される。
なお、認証機能は表示装置2が有する他、外部の認証サーバー等が有していてもよい。この場合、表示装置2は認証情報を認証サーバーに送信し、認証結果とユーザー情報を取得する。
<定義済み制御データについて>
次に、図7を用いて、表示装置2が各種の処理に使用する定義済み制御データについて説明する。図7は定義済み制御データの一例を示す。図7の例では制御項目ごとに制御データを示す。
選択可能候補表示タイマー401は、選択可能候補を表示するまでの時間を定義する(第一の時間の一例)。手書き中に選択可能候補を表示しないためである。図7では、ペンアップからTimerValue=500〔ms〕以下又は未満にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー401は候補表示タイマー制御部24が保持している。選択可能候補表示タイマー401は、後述する図20のステップS18において選択可能候補表示タイマー開始時に使用される。
選択可能候補消去タイマー402は表示した選択可能候補を消去するまでの時間を定義する(第二の時間の一例)。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図7では、選択可能候補の表示からTimerValue=5000〔ms〕以下又は未満に選択可能候補が選択されなければ選択可能候補表示が消去されることを意味している。選択可能候補消去タイマー402は候補表示タイマー制御部24が保持している。選択可能候補消去タイマー402は図21のステップS57において選択可能候補消去タイマー開始時に使用される。
手書きデータ近傍矩形領域403は手書きデータの近傍とみなす矩形領域を定義する。図7の例では、手書きデータ近傍矩形領域403は、手書きデータの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図7の例では推定文字サイズの割合(%指定)となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きデータ近傍矩形領域403は手書き入力保存部25が保持している。推定文字サイズ405は図19のステップS9において、手書きデータ近傍矩形領域とストロークデータ矩形領域の重なり状況の判定で使用される。
推定書字方向/文字サイズ判定条件404は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図7の例では、手書きデータ矩形領域の最初にストロークデータが追加された時刻と最後にストロークデータが追加された時刻の差分がMinTime=1000〔ms〕以上又は超過で、手書きデータ矩形領域の水平距離(幅)と垂直距離(高さ)の差分がMinDiff=10〔mm〕以上又は超過あり、水平距離が垂直距離以上か又は超過の場合は、推定書字方向は「横書き」、推定文字サイズは垂直距離と判定することを意味する。水平距離が垂直距離未満か又は以下の場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定することを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは水平距離と垂直距離の長い方の距離と判定する。推定書字方向/文字サイズ判定条件404は手書き入力保存部25が保持している。推定書字方向/文字サイズ判定条件404は図21のステップS54における推定書字方向取得と、図23のステップS75、S81における挿入データフォント取得及び文字列データフォント取得で使用される。
推定文字サイズ405は文字等のサイズを推定するためのデータを定義する。図7の例では、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズが、推定文字サイズ405の小さめ文字405a(以下、最小フォントサイズ、と呼ぶ)と大きめ文字405c(以下、最大フォントサイズ)と比較されることを意味する。推定文字サイズが最小フォントサイズ未満か又は以下の場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズを超過するか又は以上の場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字405bの文字サイズと判定される。推定文字サイズ405は手書き入力保存部25が保持している。推定文字サイズ405は、図23のステップS75、S81における挿入データフォント取得および文字列データフォント取得で使用される。
手書き入力保存部25は具体的には、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズを推定文字サイズ405のFontSizeと比較して、最も近いサイズのフォントを使用する。例えば、推定文字サイズが25〔mm〕(小さめ文字のFontSize)以下又は未満の場合は「小さめ文字」、推定文字サイズが25mm以上又は超過、50mm(中くらい文字のFontSize)以下又は未満の場合は「中くらい文字」、推定文字サイズが100mm(大きめ文字のFontSize)以上又は超過の場合は「大きめ文字」と判定する。「小さめ文字」405aは明朝体の25mmフォント(FontStyle="明朝体" FontSize="25mm")、「中くらい文字」405bは明朝体の50mmフォント(FontStyle="明朝体" FontSize="50mm")、「大きめ文字」405cはゴシック体の100mmフォント(FontStyle="ゴシック体" FontSize="100mm")を使用する。もっとフォントのサイズ又はスタイルの種類を増やしたい場合は、推定文字サイズ405の種類を増やせばよい。
跨ぎ線判定条件406は複数の確定データが選択されたか否かの判定に使用されるデータを定義する。手書きデータが単数のストロークデータであり、図7の例では、手書きデータの長辺の長さが100〔mm〕以上又は超過(MinLenLongSide="100mm")、かつ、短辺の長さが50〔mm〕以下又は未満(MaxLenShortSide="50mm")、かつ、手書きデータとの長辺方向と短辺方向の重なり率が80〔%〕以上又は超過(MinOverLapRate="80%")の確定データを選択データと判定する。跨ぎ線判定条件406は操作コマンド認識制御部32が保持している。跨ぎ線判定条件406は図20のステップS40における選択データの判定の跨ぎ線判定で使用される。
囲み線判定条件407は、手書きデータが囲み線か否かの判定に使用されるデータを定義する。図7の例では、操作コマンド認識制御部32は手書きデータの長辺方向と短辺方向の重なり率が100%以上又は超過(MinOverLapRate="100%")の確定データを選択データと判定する。囲み線判定条件407は、操作コマンド認識制御部32が保持している。囲み線判定条件407は、図20のステップS40における選択データの囲み線判定で使用される。
なお、跨ぎ線判定条件406と囲み線判定条件407はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件406を緩やかにして(跨ぎ線を選択しやすくした場合)、囲み線判定条件407は厳密にした場合(囲み線のみを選択できるような値とした場合)、操作コマンド認識制御部32は囲み線判定条件407を優先して判定するのがよい。
挿入判定条件408は、手書きデータが確定データに挿入されるか否かの判定に使用される閾値を定義する。図7の例では、文字列挿入制御部41は手書きデータと確定データの最短距離が"2mm"以下又は未満の場合、手書きデータが確定データに挿入されると判定する。なお、閾値は一例である。
<辞書データの一例>
図8~図10を用いて辞書データについて説明する。図8は手書き認識辞書部27の辞書データの一例であり、図9は文字列変換辞書部29の辞書データの一例であり、図10は予測変換辞書部31の辞書データの一例である。なお、これらの辞書データはそれぞれ図20のステップS20~S30で使用される。
本実施形態では、図8の手書き認識辞書部27の辞書データによる変換結果を言語文字列候補、図9の文字列変換辞書部29の辞書データによる変換結果を変換文字列候補、図10の予測変換辞書部31の辞書データによる変換結果を予測文字列候補と呼ぶ。各辞書データの「変換前」は辞書データを検索する文字列、「変換後」は検索する文字列に対応した変換後の文字列、「確率」はユーザーが選択する確率を表す。確率は過去にユーザーが各文字列を選択した結果から算出されている。したがって、ユーザーごとに確率が算出されてもよい。確率の計算方法として様々なアルゴリズムが考案されているが、適宜、適切な方法で計算するものとすればよく、詳細は割愛する。本実施形態では、推定書字方向から文字列候補を選択確率降順で表示することを特徴とする。
図8の手書き認識辞書部27の辞書データでは、手書きされた「ぎ」は、確率0.55で「議」、確率0.4で「技」、手書きされた「ぎし」は、確率0.55で「技士」、確率0.45で「技師」に変換されることを示す。その他の「変換前」の文字列についても同様である。図8では「変換前」の文字列が手書きされた平仮名となっているが、平仮名以外を「変換前」に登録してもよい。
図9の文字列変換辞書部29の辞書データでは、文字列「議」は確率0.95で「議事録」に、文字列「技」は確率0.85で「技量試」に変換されることを示す。その他の「変換前」の文字列についても同様である。
図10の予測変換辞書部31の辞書データでは、文字列「議事録」は確率0.65で「議事録の送付先」に、文字列「技量試」は確率0.75で「技量試を決裁」に変換されることを示す。図10の例では変換前の文字列がすべて漢字になっているが、漢字以外を登録してもよい。
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
<操作コマンド定義部が保持する操作コマンド定義データ>
次に、図11、図12を用いて操作コマンド認識制御部32が使用する操作コマンド定義データについて説明する。図11は、操作コマンド定義部33が保持する操作コマンド定義データ、システム定義データ、及び、挿入記号定義データの一例を示す。
図11(a)は操作コマンド定義データの一例を示す。図11(a)の操作コマンド定義データは、手書きデータにより選択された選択データがない場合の操作コマンド定義データ例であり、表示装置2を操作する全ての操作コマンドが対象となる。図11(a)の操作コマンドは操作コマンド名(Name)、文字列候補と部分一致する文字列(String)、実行する操作コマンド文字列(Command)を有する。操作コマンド文字列内の「%~%」は変数であり、図11(b)に示すようにシステム定義データと対応付けられている。つまり、「%~%」は図11(b)に示すシステム定義データで置き換えられる。
まず、操作コマンド定義データ701は、操作コマンド名が「議事録テンプレートを読み込む」、文字列候補と部分一致する文字列が「議事録」又は「テンプレート」、実行する操作コマンド文字列が「ReadFile https://%username%:%password%@server.com/template/minutes.pdf」であることを示す。この例では、実行する操作コマンド文字列に「%~%」のシステム定義データが含まれており「%username%」「%password%」はそれぞれシステム定義データ704、705で置き換えられることを示す。したがって、最終的に実行する操作コマンド文字列は「ReadFile https://taro.tokkyo:x2PDHTyS@server.com/template/minutes.pdf」という文字列となり、「https://taro.tokkyo:x2PDHTyS@server.com/template/minutes.pdf」というファイルを読み込む(ReadFile)ことを示す。
操作コマンド定義データ702は、操作コマンド名が「議事録フォルダーに保存する」、文字列候補と部分一致する文字列が「議事録」又は「保存」、実行する操作コマンド文字列が「WriteFile https://%username%:%password%@server.com/minutes/%machinename%_%yyyy-mm-dd%.pdf」であることを示す。操作コマンド定義データ701と同様に、操作コマンド文字列の「%username%」「%password%」「%machinename%」はそれぞれシステム定義データ704~706で置き換えられる。なお、「%yyyy-mm-dd%」は現在日で置き換えることを示す。例えば、現在日が2018年9月26日であれば「2018-09-26」で置き換えることを示す。最終的に実行する操作コマンドは「WriteFile https://taro.tokkyo:x2PDHTyS@server.com/minutes/%My-Machine_2018-09-26.pdf」となり、議事録を「https://taro.tokkyo:x2PDHTyS@server.com/minutes/%My-Machine_2018-09-26.pdf」というファイルに保存する(WriteFile)ことを示す。
操作コマンド定義データ703は、操作コマンド名が「印刷する」、文字列候補と部分一致する文字列が「印刷」又は「プリント」、実行する操作コマンド文字列が「PrintFile https://%username%:%password%@server.com/print/%machinename%-"%yyyy-mm-dd%.pdf」であることを示す。操作コマンド定義データ702と同様に操作コマンド文字列を置き換えると、最終的に実行する操作コマンドは「PrintFile https://taro.tokkyo:x2PDHTyS@server.com/print/%My-Machine_2018-09-26.pdf」となり、「https://taro.tokkyo:x2PDHTyS@server.com/print/%My-Machine_2018-09-26.pdf」というファイルを印刷する(PrintFile)ことを示す。つまり、ファイルがサーバーに送信される。ユーザーがプリンターをサーバーと通信させ、ファイルを指定するとプリンターが用紙にファイルの内容を印刷する。
このように、文字列候補から操作コマンド定義データ701~703を特定できるため、ユーザーが手書きすることで操作コマンドを表示させることができる。また、ユーザーの認証が成功した場合にはユーザー情報で操作コマンド定義データの「%username%」「%password%」等が置き換えられるので、ユーザーに対応付けてファイルの入出力が可能になる。
ユーザーの認証が行われない場合(認証が失敗したがユーザーが表示装置2を使用できる場合は認証失敗の場合も含む)、表示装置2は、予め設定されている表示装置2の「%username%」「%password%」等に置き換える。したがって、ユーザー認証なしでも表示装置2に対応付けてファイルの入出力が可能になる。
図11(c)は挿入記号定義データの一例を示す。挿入記号定義データは、手書き認識制御部26が認識した手書き認識候補又は言語文字列候補が挿入記号であるか否か判定するための挿入記号を定義する。挿入記号定義データ721は、手書き認識候補又は言語文字列候補と一致する文字列が「へ」又は「∧」であることを示す。挿入記号定義データ722は、手書き認識候補又は言語文字列候補と一致する文字列が「レ」又は「V」であることを示す。挿入記号定義データ723は、手書き認識候補又は言語文字列候補と一致する文字列が「く」又は「<」であることを示す。挿入記号定義データ724は、手書き認識候補又は言語文字列候補と一致する文字列が「コ」又は「>」であることを示す。挿入記号定義データ725~728は、手書き認識候補又は言語文字列候補と一致する文字列が「↑」「↓」「→」「←」であることを示す。
続いて、手書きデータがある場合の操作コマンド定義データ、つまり編集系及び修飾系の操作コマンド定義データについて説明する。図12は手書きデータにより選択された選択データがある場合の操作コマンド定義データの一例を示す。図12の操作コマンド定義データは、操作コマンド名(Name)、操作コマンドの候補のグループ名(Group)、実行する操作コマンド文字列(Command)を有する。
操作コマンド定義データ707は編集系(Group="Edit")の操作コマンドを定義しており、編集系の操作コマンド名「消去」「移動」「回転」「選択」の定義データ例である。つまり、選択データに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。
操作コマンド定義データ708は修飾系(Group="Decorate")の操作コマンドを定義しており、修飾系の操作コマンド名「太く」「細く」「大きく」「小さく」「下線」の定義データ例である。選択データに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。この他、色の操作コマンドが表示されてもよい。
したがって、ユーザーが選択データを手書きデータで選択することで、操作コマンド定義データ707、708が特定されるため、ユーザーが手書きすることで操作コマンドを表示させることができる。
<選択可能候補の表示例>
図13は操作ガイド500と操作ガイド500が表示する選択可能候補530の一例である。ユーザーが手書きデータ504を手書きすることで(選択可能候補表示タイマーのタイムアウトにより)、操作ガイド500が表示される。操作ガイド500は、操作ヘッダー520、操作コマンドの候補510、挿入文字列候補570、手書き認識文字列候補506、言語文字列候補571、変換文字列候補507、文字列/予測変換の候補508、及び、手書きデータ矩形領域表示503を有している。選択可能候補530は、操作コマンドの候補510、挿入文字列候補570、手書き認識文字列候補506、言語文字列候補571、変換文字列候補507、及び、文字列/予測変換の候補508である。また、操作コマンドの候補510を除く選択可能候補530を文字列候補539という。
操作ヘッダー520はボタン501、509、502、505を有する。ボタン501は予測変換とカナ変換の切り替え操作を受け付ける。図13の例ではユーザーが「予測」と表示されているボタン501を押下すると手書き入力部21がそれを受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が「かな」というボタン501に表示を変更する。変更後は、文字列候補539が「カナ変換」の確率降順で並ぶ。
ボタン502は候補表示のページ操作をする。図13の例では候補表示ページは3ページあり、現在は1ページ目を表示している。ボタン505は操作ガイド500の消去を受け付ける。ユーザーがボタン505を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きデータ以外の表示を消去する。ボタン509は一括表示消去を受け付ける。ユーザーがボタン509を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きデータを含め、図13に示されているすべての表示を消去して、ユーザーが最初から手書きをしなおすことを可能にする。
図13において手書きデータ504はユーザーが手書きした挿入記号576と「しゅよう」という文字である。点線枠で手書きデータ504を囲む手書きデータ矩形領域表示503が表示されている。これらの表示の手順は図18~図23のシーケンス図で説明する。
挿入文字列候補570は、確定データ573に手書き認識文字列候補506、言語文字列候補571、変換文字列候補507又は文字列/予測変換の候補508が挿入された文字列候補である。複数の挿入文字列候補570が表示される場合もある。手書き認識文字列候補506、言語文字列候補571、変換文字列候補507又は文字列/予測変換の候補508を「手書きデータ504に基づく文字列」という場合がある。
手書き認識文字列候補506、言語文字列候補571、変換文字列候補507、文字列/予測変換の候補508にはそれぞれの文字列候補が確率降順で並んでいる。手書き認識文字列候補506の「しゅよう」「へしゅよう」は手書き認識結果の候補である。この例では正しく「しゅよう」を認識している。「へしゅよう」の「へ」は挿入記号576の手書き認識結果である。「へ」が挿入記号576であることは挿入記号定義データ721により検出されるので、文字列挿入制御部41は手書き認識結果から挿入記号を分離できる。また、挿入記号は手書きデータの最初の文字である必要はなく、ユーザーが例えば「しゅよう」と手書きしてから挿入記号576を手書きしても挿入記号576として認識可能である。
言語文字列候補571は手書き認識候補がカナ変換された文字列候補である。この例では「しゅよう」が「主要」に変換されている。変換文字列候補507は手書き認識文字列候補506、言語文字列候補571から変換された変換文字列候補である。この例では言語文字列候補「主要」を含む「主要課題」が表示されている。文字列/予測変換の候補508は手書き認識文字列候補506、言語文字列候補571又は変換文字列候補507から変換された予測文字列候補である。この例では「腫瘍を発見」が表示されている。
操作コマンドの候補510は図11(a)の操作コマンド定義データ701~703に基づいて選択された操作コマンドの候補である。図13の例では行頭文字の「》」511が操作コマンドの候補であることを示している。「しゅよう」「へしゅよう」「主要」「主要課題」と部分一致する操作コマンド定義データがあれば、操作コマンドの候補510として表示されている。このように操作コマンドの候補は、変換された文字列を含む操作コマンド定義データが見つかる場合に表示されるため、常に表示されるとは限らない。
図13に示すように、文字列候補539と操作コマンドの候補510が同時に(共に)表示されるため、ユーザーは自分が入力しようとした文字列候補と操作コマンドのどちらも任意に選択できる。
<選択データの指定例>
本実施形態の表示装置2は確定データをユーザーが手書きにより選択することで選択データを指定できる。選択データは編集又は修飾の対象となる。
図14は、選択データの指定例を説明する図の一例である。図14では、手書きデータ11は黒色実線、手書きデータ矩形領域12を灰色網掛け、確定データ13を黒線、選択データ矩形領域14を点線でそれぞれ表示している。なお、それぞれを区別する場合に小文字のアルファベットを符号に付加する。また、確定データを選択データと判定するための判定条件(所定の関係にあるか否か)として、図7に示した定義済み制御データの跨ぎ線判定条件406又は囲み線判定条件407を使用している。
図14(a)は横書きの2つの確定データ13a、13bをユーザーが跨ぎ線(手書きデータ11a)で指定した例である。この例では、手書きデータ矩形領域12aの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定データ13a、13bとの重なり率が跨ぎ線判定条件406の条件を満たしているため、「議事録」と「ぎじ」の両方の確定データ13a、13bが選択データとして指定されている。
図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の押下により表示されてもよい。
ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択データに対して実行する。すなわち「消去」521が選択されると「Delete」、「移動」522が選択されると「Move」、「回転」523が選択されると「Rotate」、「選択」524が選択されると「Select」をそれぞれ実行する。
例えば、ユーザーが「消去」521をペンで押下すると「議事録」と「ぎじ」を消去でき、「移動」522,「回転」523、「選択」524を押すとバウンディングボックス(選択データの外接矩形)が表示され、「移動」522と「回転」523ではペンのドラッグ動作で移動又は回転でき、「選択」524ではその他のバウンディングボックスの操作を実行できる。
操作コマンドの候補以外の文字列候補である「一」541、「一、」542、「~」543、「→」544、「⇒」545は跨ぎ線(手書きデータ11a)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図15(b)では2行目の「〉」512bの押下により、図15(b)のサブメニューが表示される。図15(b)の表示例も図15(a)と同様にメインメニュー550とサブメニュー560が表示されている。図12の操作コマンド定義データに基づいて、「太く」531が選択されると「Thick」、「細く」532が選択されると「Thin」、「大きく」533が選択されると「Large」、「小さく」534が選択されると「Small」、下線535が選択されると「Underline」を手書き入力表示制御部23が選択データに対してそれぞれ実行する。
なお、「太く」531が選択された場合にどのくらい太くするか、「細く」532が選択された場合にどのくらい細くするか、「大きく」533が選択された場合にどのくらい大きくするか、「小さく」534が選択された場合にどのくらい小さくするか、下線535が選択された場合の線種等は、固定値が別途定義されている。あるいは、図15(b)のサブメニューが選択されると別途、選択メニューが開かれユーザーが調整できるようになっているとなおよい。
ユーザーが「太く」531をペンで押下すると「議事録」と「ぎじ」という確定データ13a、13bを構成する線を手書き入力表示制御部23が太くする。「細く」532をペンで押下すると、「議事録」と「ぎじ」を構成する線を手書き入力表示制御部23が細くでき、「大きく」533をペンで押下すると手書き入力表示制御部23が大きくでき、「小さく」534をペンで押下すると手書き入力表示制御部23が小さくでき、「下線」535をペンで押下すると下線を手書き入力表示制御部23が追加できる。
図16は、図14に示した手書きデータがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図15(a)(b)との相違は、図16(a)(b)は図14(b)の手書きデータ11b(囲み線)で選択データが指定された例を示す。図15と図16を比較すると分かるように手書きデータが線か囲み線かによって表示される操作コマンドの候補に違いはない。手書き入力表示制御部23は選択データが指定されると操作コマンドの候補を表示部22に表示させるためである。しかし、手書きデータを認識して手書きデータに応じて表示する操作コマンドの候補を変更してもよい。この場合、認識された手書きデータ(一や○など)に図12のような操作コマンド定義データを対応付けておく。
図16において操作コマンドの候補以外の文字列候補である「○」551、「∞」552、「0」553、「00」554、「ロ」555は囲み線(手書きデータ11b)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
<挿入判定>
図17は確定データと手書きデータに基づく文字列を挿入した挿入文字列候補570を操作ガイド500に表示するか否かの判定を説明する図である。図17(a)は確定データ573と手書きデータ504の一例を示し、図17(b)は確定データ573と手書きデータ504の最も近接している部分の拡大図を示す。
文字列挿入制御部41は手書き認識文字列候補506、又は、言語文字列候補571に挿入記号576が含まれているかを判定し、含まれている場合には更に以下の判定を行う。
図17(b)に示すように、手書きデータ504の最も近接している部分580と確定データ573の最も近接している部分581との距離Dが、挿入判定条件408が定義する閾値以下又は未満の場合、文字列挿入制御部41は手書きデータ504に基づく文字列を、確定データ573に挿入すると判定する。
また、挿入する位置は、手書きデータ504における確定データ573との最も近接している部分580と近い順に上位2つの文字の間とする。図17(a)では「の」「議」が手書きデータの最も近接している部分580から近い上位2つの文字なので、文字列挿入制御部41は「の」と「議」の間に手書きデータ504に基づく文字列を挿入すると判定する。
なお、図17では距離に基づいて、挿入位置が判断されているが、文字列挿入制御部41は手書きデータに基づく文字列を挿入した場合の前後の繋がりから挿入位置を判断してもよい。この場合、文字列挿入制御部41は予測変換制御部30に確定データと手書きデータに基づく文字列を送信する。予測変換制御部30は挿入位置を変えながら挿入してできたテキストデータの使用例があるか否かを判定し、使用例がある場合は使用例の確率を算出して、使用例がある挿入位置を確率順に文字列挿入制御部41に送信する。
<動作手順>
以上の構成と図18~図23を用いて、表示装置2の動作について説明する。図18~図23は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図18の処理は、表示装置2が起動すると(アプリケーションが起動すると)スタートする。なお、図18~図23ではスペースの都合上、符号で図5の機能を示した。
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へのペン座標の送信を繰り返すため、ステップS3~S6の処理がペンアップされるまで繰り返される。
S7:ユーザーが手書き入力部21からペンを離すと、手書き入力部21はペンアップを手書き入力表示制御部23に送信する。
S8:手書き入力表示制御部23は手書き入力保存部25にストローク終了を送信し、手書き入力保存部25はストロークデータのペン座標を確定させる。ストロークデータのペン座標の確定により以降はストロークデータにペン座標を追加できなくなる。
S9:次に、手書き入力表示制御部23は手書きデータ近傍矩形領域403に基づいて、手書きデータ近傍矩形領域とストロークデータ矩形領域の重なり状況取得を手書き入力保存部25に送信する。手書き入力保存部25は重なり状況を計算して重なり状況を手書き入力表示制御部23に送信する。
続く、ステップS10~S15は、手書きデータ近傍矩形領域とストロークデータ矩形領域が重なっていない場合に実行される。
S10:手書きデータ近傍矩形領域とストロークデータ矩形領域が重なっていない場合、1つの手書きデータが確定するので、手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S11~S13:手書き認識制御部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~S35の操作コマンドの候補の送信まで同様に処理を行う。
S27:文字列変換制御部28は受信した変換文字列候補を操作コマンド認識制御部32に送信する。
S28:操作コマンド認識制御部32は受信した変換文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は変換文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S30:手書き認識制御部26は手書き認識文字列候補及び言語文字列候補を予測変換制御部30に送信する。
S31:予測変換制御部30は手書き認識文字列候補及び受信した言語文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S32: 予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S33:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S34:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド認識制御部32に送信する。
S35:操作コマンド認識制御部32は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は言語文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S36:手書き認識制御部26は手書き認識文字列候補及び手書き認識辞書部27から受信した言語文字列候補を文字列挿入制御部41に送信する。
S37:文字列挿入制御部41は手書き認識文字列候補及び言語文字列候補を挿入記号定義部42に送信する。挿入記号定義部42は手書き認識文字列候補又は言語文字列候補に挿入記号が含まれているか判定し、含まれている場合には挿入記号ありの挿入記号判定結果を文字列挿入制御部41に送信する。複数の文字が手書きされている場合、手書き認識文字列又は言語文字列候補のうち挿入記号が何番目の文字であるかを判定して文字列挿入制御部41に送信する。挿入記号は最初の文字である必要はない。
S38:手書き認識制御部26はストロークデータ追加を文字列挿入制御部41に送信する。
S38-2: 次に手書き認識制御部26はストロークデータ追加を操作コマンド認識制御部32に送信する。
S39:操作コマンド認識制御部32は確定データの位置情報取得を手書き入力保存部25に送信する。手書き入力保存部25は確定データの位置情報を操作コマンド認識制御部32に送信する。
S40: 操作コマンド認識制御部32は選択データの判定のため、ステップS38のストローク追加で手書き認識制御部26から受信したストロークデータの位置情報と、手書き入力保存部25から受信した確定データの位置情報が所定の関係にあるか否かを跨ぎ線判定条件406及び囲み線判定条件407に基づいて判定し、選択されていると判定できる確定データを選択データとして保存しておく。また、この場合、選択データが特定されるので入出力系の操作コマンドの候補を操作コマンド定義部33から取得する。
S41:挿入記号判定結果が挿入記号ありの場合、文字列挿入制御部41は確定データ取得を手書き入力保存部25に送信する。複数の確定データが表示されていることが通常なので、手書きデータに最も近い確定データを手書き入力保存部25が特定する。手書き入力保存部25はこの確定データを文字列挿入制御部41に送信する。
S42:文字列挿入制御部41は挿入記号を除く手書き認識文字列候補又は言語文字列候補を確定データに挿入するか否かの判定のため、ステップS38のストロークデータ追加で手書き認識制御部26から受信した手書きデータ、手書き入力保存部25から受信した確定データが挿入判定条件408を満たすか否か判定する。満たしていると判定した場合、確定データのどの文字と文字の間が挿入の対象となるかの挿入位置を保存しておく。また、挿入判定条件408を満たす確定データの識別情報を保持しておく(挿入先の確定データを特定するため)。
また、手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32はそれぞれ手書き認識文字列候補、言語文字列候補、変換文字列候補、予測文字列候補、操作コマンドの候補、及び、選択データに係るデータを後段のステップS47~S50で取得できるよう保持しておく。文字列挿入制御部41は、挿入判定結果、挿入位置、確定データの識別情報、及び、挿入記号が何番目の文字であるか、を後段のステップS51のために保持しておく。
S18:手書き入力表示制御部23はステップS17でストロークデータ追加を手書き認識制御部26に送信した直後、選択可能候補表示タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
続く、ステップS43~S45は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生した場合に実行される。
S43:タイマーがタイムアウトする前に、ユーザーが手書き入力部21にペンを接触させた場合、手書き入力部21はペンダウン(ステップS2と同じイベント)を手書き入力表示制御部23に送信する。
S44: 手書き入力表示制御部23はストローク開始(ステップS3と同じ)を手書き入力保存部25に送信する。この後のシーケンスはステップS3以降と同じである。
S45:更に手書き入力表示制御部23は選択可能候補表示タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はタイマーを停止させる。ペンダウンが検出されたのでタイマーが不要になるからである。
ステップS46~S87は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生しない場合に実行される。したがって、図13に示した操作ガイド500が表示される。
S46:選択可能候補表示タイマー開始中にユーザーが手書き入力部21にペンを接触させなかった場合、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
S47:手書き入力表示制御部23は手書き認識/言語文字列候補取得を手書き認識制御部26に送信する。手書き認識制御部26は現在保持している手書き認識/言語文字列候補を手書き入力表示制御部23に送信する。
S48:手書き入力表示制御部23は変換文字列候補取得を文字列変換制御部28に送信する。文字列変換制御部28は現在保持している変換文字列候補を手書き入力表示制御部23に送信する。
S49:手書き入力表示制御部23は予測文字列候補取得を予測変換制御部30に送信する。予測変換制御部30は現在保持している予測文字列候補を手書き入力表示制御部23に送信する。
S50:手書き入力表示制御部23は操作コマンドの候補取得を操作コマンド認識制御部32に送信する。操作コマンド認識制御部32は現在保持している操作コマンドの候補と選択データを手書き入力表示制御部23に送信する。
S51:手書き入力表示制御部23は挿入判定結果取得を文字列挿入制御部41に送信する。手書き入力表示制御部23は挿入判定結果と、挿入判定結果が挿入ありの場合は挿入位置と、確定データの識別情報と、手書き認識文字列又は言語文字列候補のうち挿入記号が何番目の文字であるか、を文字列挿入制御部41から取得する。
S52:挿入判定結果が挿入ありの場合、手書き入力表示制御部23は、確定データの識別情報を指定して確定データ取得を手書き入力保存部25に送信する。手書き入力保存部25は確定データを手書き入力表示制御部23に送信する。この確定データは挿入記号との距離が挿入判定条件408を満たすと判定された確定データである。
S54: 更に、手書き入力表示制御部23は推定書字方向取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ矩形領域のストロークデータ追加時間と水平距離と垂直距離から判定して、推定書字方向を手書き入力表示制御部23に送信する。
S55:手書き入力表示制御部23はこれらの手書き認識文字列候補(図13では「しゅよう」「へしゅよう」)、言語文字列候補(図13では例えば「主要」)、変換文字列候補(図13では「主要課題」)、予測文字列候補(図13では「腫瘍を発見」)、操作コマンドの候補(図13では「○○を××する」)、各選択確率、及び、推定書字方向から図13のような操作ガイド500の表示データを作成し、文字列候補と操作コマンドの候補からなる操作ガイド500を表示部22に送信することで表示させる。また、挿入判定結果が挿入ありの場合、挿入位置と挿入記号が何番目の文字であるかに基づいて、確定データに挿入記号を除いて、手書き認識文字列候補、言語文字列候補、変換文字列候補又は予測文字列候補の1つ以上を挿入した挿入文字列候補570を選択可能候補530に表示する。
S56:また、手書き入力表示制御部23は手書きデータと選択データの矩形領域表示データ(矩形枠)(図13では手書きデータ矩形領域表示503)を表示部22に送信する。
S57: 手書き入力表示制御部23は操作ガイド500の表示から一定時間後に消去するため選択可能候補消去タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
ステップS58~S62は、選択可能候補消去タイマー開始中に、ユーザーが表示部22に表示された選択可能候補表示を消去したか、手書きデータの変化が発生した場合(即ち手書きデータへのストロークデータの追加、削除、移動、変形又は分割された場合)、又は、タイムアウトまでに候補が選択されなかった場合に実行される。
更に、ステップS58~S59は、候補表示が消去されるか、又は、手書きデータの変化が発生した場合に実行される。
S58:手書き入力部21は選択可能候補表示消去又は手書きデータの変化の発生を手書き入力表示制御部23に送信する。
S59:手書き入力表示制御部23は選択可能候補消去タイマー停止を送信する。候補表示タイマー制御部24はそのタイマーを停止する。一定時間内に手書きデータに対し操作があったためタイマーが不要になるからである。
S61:手書き入力表示制御部23は操作ガイド500の消去を表示部22に送信することで、表示を消去させる。
S62:手書き入力表示制御部23は手書きデータと選択データの矩形領域表示データ消去を表示部22に送信することで、表示を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きデータはそのまま表示が維持される。
S60:一方、選択可能候補消去タイマー開始中に、選択可能候補表示消去又は手書きデータの変化が発生しなかった場合(ユーザーがペン操作をしなかった場合は)、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
選択可能候補消去タイマーのタイムアウトの後も同様に、手書き入力表示制御部23はステップS61とS62を実行する。一定時間の経過で操作ガイド500、手書きデータと選択データの矩形領域表示データを消去してよいためである。
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS63~S87が実行される。
S63:選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部21は文字列候補又は操作コマンドの候補選択を手書き入力表示制御部23に送信する。
S64: 手書き入力表示制御部23は選択可能候補消去タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを停止する。
S65: 次に手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S66: 手書き認識制御部26は保持データクリアを文字列変換制御部28に送信する。
S67:手書き認識制御部26は保持データクリアを予測変換制御部30に送信する。
S68:手書き認識制御部26は保持データクリアを操作コマンド認識制御部32に送信する。
S69:手書き認識制御部26は保持データクリアを文字列挿入制御部41に送信する。
手書き認識制御部26、文字列変換制御部28、予測変換制御部30、操作コマンド認識制御部32、及び、文字列挿入制御部41はこれまで保持していた文字列候補及び操作コマンドの候補に係るデータをクリアする。
S70: 次に手書き入力表示制御部23は操作ガイド500の消去を表示部22に送信することで操作ガイド500の表示を消去させる。
S71:手書き入力表示制御部23は選択データの矩形領域表示データ消去を表示部22に送信することで手書きデータ矩形領域表示503を消去させる。
挿入文字列候補570が選択された場合、ステップS72~S77が実行される。
S72:手書き入力表示制御部23は手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を表示部22に送信することで挿入記号576を含む手書きデータ504を消去させる。挿入文字列候補570が選択されたため、挿入記号を含む手書きデータ504が不要になるためである。
S73:手書き入力表示制御部23は、挿入記号を含む手書きデータの削除を手書き入力保存部25に送信する。また確定データ削除を手書き入力保存部25に送信する。
S74:手書き入力表示制御部23は、挿入文字列候補570の挿入データ追加を手書き入力保存部25に送信する。挿入データは例えば、確定データが「本日の議事」で、手書きデータが挿入記号と「しゅよう」の場合、「本日の主要議事」である。
S75:手書き入力表示制御部23は挿入データフォント取得を手書き入力保存部25に出力する。挿入データフォントは操作ガイド500に表示された挿入文字列候補570を表示するためのフォントデータである。
S76:挿入文字列候補570が選択された場合、確定データ573は挿入文字列候補570に置き換わるので、手書き入力表示制御部23は確定データ573の消去を表示部22に要求する。
S77:手書き入力表示制御部23は挿入データフォントを使用して、消去した確定データ573と同じ位置に挿入データ(挿入文字列)を表示させる挿入データ表示データを表示部22に送信させることで、表示させる。挿入文字列は例えば「本日の主要議事」である。挿入文字列の先頭文字と消去された確定データ573の先頭文字の位置は一致するように表示される。
挿入文字列候補570が選択されない場合(挿入文字列候補以外の文字列候補539が選択された場合)、ステップS78~S82が実行される。
S78:手書き入力表示制御部23は挿入記号576を除いて、手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を表示部22に送信することで挿入記号576を除く手書きデータを消去させる。手書きデータのうち挿入記号が何番目の文字か検出されているので、挿入記号を残すことができる。挿入文字列候補570が選択されないので、挿入記号576は手書きデータのまま表示される。
S79:手書き入力表示制御部23は、挿入記号が何番目の文字かを指定して、挿入記号576を除いて手書きデータ削除を手書き入力保存部25に送信する。確定データは削除しない。
S80: 挿入文字列候補570以外の文字列候補が選択されたので、手書き入力表示制御部23は選択された文字列候補の文字列データ追加を手書き入力保存部25に送信する。例えば「主要」が選択された場合、「主要」が手書き入力保存部25に保存される。
S81:更に手書き入力表示制御部23は選択された文字列候補の文字列データフォント取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータの推定文字サイズから定義済みフォントを選択して手書き入力表示制御部23に送信する。
S82: 次に手書き入力表示制御部23は手書き入力保存部25から受信した定義済みフォントを使用して、挿入記号576を残したまま手書きデータ504と同じ位置に表示させる文字列データ表示データ(例えば「主要」)を表示部22に送信させることで、表示させる。
操作コマンドの候補が選択された場合、ステップS83~S86が実行される。更に、選択データがある場合はステップS83~S85が実行される。
S83:選択データへの操作コマンドの候補が選択された場合(選択データが存在する場合)は、手書き入力表示制御部23は選択データ表示データ消去を表示部22に送信することで表示を消去させる。いったん、元の選択データを消去するためである。
S84:次に、手書き入力表示制御部23は選択データへの操作コマンド実行を手書き入力保存部25に送信する。手書き入力保存部25は新しい選択データの表示データ(編集又は修飾後の表示データ)を手書き入力表示制御部23に送信する。
S85: 次に手書き入力表示制御部23は選択データ表示データを表示部22に送信することで、操作コマンド実行後の選択データを再表示させる。
選択データがない場合(入出力系の操作コマンドが選択された場合)はステップS86が実行される。
S86:入出力系の操作コマンドが選択された場合、手書き入力表示制御部23はユーザーが選択した操作コマンドに対応する操作コマンド定義データの操作コマンド文字列(Command)を実行する。なお、ユーザー認証部34がユーザーの認証に成功した場合、手書き入力表示制御部23は認証に成功したユーザーに関する情報を操作コマンドの%~%に設定して実行する。
S87:次の手書きデータのために手書き入力表示制御部23は手書きデータ開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ領域を確保する。これ以降、ステップS2~S87の処理が繰り返される。
<挿入記号のその他の例>
図24を用いて挿入記号のその他の例について説明する。図24は挿入記号の使用例と挿入記号の一例を示す図である。
図24(a)では確定データ573の上に挿入記号576が手書きされた。したがって、挿入記号576は下に凸の記号となる。このような場合も、表示装置2は挿入記号576を認識して確定データ573に手書きデータに基づく文字列を挿入して、挿入文字列575を表示できる。
図24(b)は確定データ573が縦書きされている。したがって、挿入記号576は左に凸の記号となる。このような場合も、表示装置2は挿入記号576を認識して確定データ573に手書きデータに基づく文字列を挿入して、挿入文字列575を表示できる。図24(c)は挿入記号576が右に凸の例である。
図24(d)は挿入記号576が矢印「↑」の例を示す。挿入記号576を何にするかは表示装置2に開発者等が設定できるので、表示装置2は挿入記号576を認識して確定データ573に手書きデータに基づく文字列を挿入して、挿入文字列575を表示できる。なお、挿入記号576が矢印の場合、「↓」「←」「→」の場合もある。
<まとめ>
以上説明したように、本実施形態の表示装置は、確定データ573に対し手書きデータ504が所定の条件を満たすか否かを判定するので、文字列の挿入を、特別な操作なく実施することができる。また、挿入文字列候補570と共に、手書き認識文字列候補506、及び、言語文字列候補571を選択可能に表示するので、ユーザーが挿入せずに手書きしたい場合は手書き認識文字列候補506、及び、言語文字列候補571を選択し、挿入したければ挿入文字列候補570を選択すればよい。また、挿入記号を残して手書きした文字列を入力することもできる。
実施例1では確定データ573への文字列の挿入に挿入記号576が必須であったが、本実施例では挿入記号576を必要としない表示装置2について説明する。
<表示装置の動作の概略>
図25は、本実施形態の表示装置2が行う挿入文字列候補570の表示方法を説明する図である。下図は「本日の議事」という確定データ573に、「主要」という文字列を挿入し、「本日の主要議事」を表示する場合を説明する。
(1) 「本日の議事」という確定データ573がすでに表示されている。確定データ573の下の「主要」を挿入したい場所に、ユーザーは「しゅよう」を追記する。図示するように挿入記号は必要ない。
(2) 表示装置2は、確定データ573と手書きデータ504との距離が挿入判定条件408を満たす場合、挿入文字列候補570を操作ガイド500に含めて表示すると判定する。表示装置2は、挿入処理により生成した「本日の主要議事」という挿入文字列候補570、挿入記号を除く手書きデータ504の認識結果である「しゅよう」という手書き認識文字列候補506、及び、「主要」という言語文字列候補571、を選択可能候補として表示する。
(3) ユーザーが「本日の主要議事」を選択した場合、確定データ573は「本日の主要議事」という挿入文字列候補570に置き換えられる。
(4) ユーザーが「本日の主要議事」を選択せず、例えば「主要」を選択した場合、「主要」という文字列が「本日の議事」の下に表示される。
このように、本実施形態の表示装置は、挿入記号が不要なため、実施例1以上に特別な操作が必要なく、文字列等の挿入を行うことができる。
<機能について>
図26は表示装置2が有する機能をブロック状に示す機能ブロック図の一例である。本実施例において、図5において同一の符号を付した構成要素は同様の機能を果たすので、主に本実施例の主要な構成要素についてのみ説明する場合がある。
図26に示すように、本実施例の表示装置2は、挿入記号が不要なので挿入記号定義部42が不要である。また、文字列挿入制御部41は、挿入記号判定結果を使用せずに、確定データ573と手書きデータ504との距離が挿入判定条件408を満たす場合には、挿入文字列候補570を操作ガイド500に表示する。
<挿入文字列の挿入位置>
挿入文字列の挿入位置は、実施例1の挿入記号の代わりに手書きデータの先頭の文字と確定データの距離を、文字列挿入制御部41が挿入判定条件408と比較することで決定する。
図27は、確定データ573と手書きデータ504に基づく文字列を挿入した挿入文字列候補570を表示するか否かの判定を説明する図である。図27(a)は確定データ573と手書きデータ504の一例を示し、図27(b)は確定データ573と手書きデータ504の最も近接している部分の拡大図を示す。図27(b)に示すように、確定データ573の最も近接している部分902と手書きデータ504の最も近接している部分901の距離Dが、挿入判定条件408が定義する閾値以下又は未満の場合、文字列挿入制御部41は確定データ573に手書きデータ504に基づく文字列を挿入した挿入文字列候補570を表示すると判定する。
また、挿入する位置は、手書きデータ504における確定データ573との最も近接している部分901と近い順に上位2つの文字の間とする。図27(a)では「の」「議」が手書きデータ504の「し」から近い上位2つの文字なので、文字列挿入制御部41は「の」と「議」の間に手書きデータ504に基づく文字列を挿入して挿入文字列候補570を生成すると判定する。
<動作手順>
図28~図33は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。なお、図28~図33の説明では実施例1との相違を説明する。
図示するように、本実施例では、ステップS36,S37がない。挿入記号の有無を判定しないためである。また、ステップS41、S42は、挿入記号判定結果に関わらず、実行される。
S41:文字列挿入制御部41は確定データ取得を手書き入力保存部25に送信する。手書き入力保存部25は確定データを文字列挿入制御部41に送信する。
S42:文字列挿入制御部41は手書きデータに基づく文字列を確定データに挿入するか否かの判定のため、ステップS38のストロークデータ追加で手書き認識制御部26から受信した手書きデータ、手書き入力保存部25から受信した確定データが挿入判定条件408を満たすか否か判定する。満たしていると判定した場合、確定データ573のどの文字と文字の間が挿入の対象となるかの挿入位置を保存しておく。また、挿入判定条件408を満たすか確定データ573の識別情報を保持しておく。
このあとステップS43~S71の処理は実施例1と同様でよい。また、挿入文字列候補570が選択された場合のステップS72~S77の処理は、そもそも挿入記号が手書きされていないため実施例1と同様になる。
挿入文字列候補570が選択されない場合(挿入文字列候補以外の文字列候補539が選択された場合)、ステップS78~S82が実行される。
S78:手書き入力表示制御部23は、手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を表示部22に送信することで手書きデータを消去させる。挿入記号が手書きされていないので、挿入記号を残して手書きデータを消去する必要がない。
S79:手書き入力表示制御部23は、手書きデータ削除を手書き入力保存部25に送信する。挿入記号が手書きされていないので、挿入記号を残して手書きデータを消去する必要がない。
続く、ステップS80~S82の処理は実施例1と同様でよい。
<まとめ>
以上説明したように、本実施例の表示装置2は、挿入記号が不要なため、実施例1以上に特別な操作が必要なく、文字列等の挿入を行うことができる。
<<表示装置の構成の別の例1>>
本実施形態の表示装置は大型のタッチパネルを有するものとして説明されているが、表示装置はタッチパネルを有するものに限られない。
図34は、表示装置の他の構成例を示す図である。図34では、通常のホワイトボード413の上辺にプロジェクター411が設置されている。このプロジェクター411が表示装置に相当する。通常のホワイトボード413とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
プロジェクター411は超短焦点の光学系を有しており、10cm程度から歪みの少ない映像をホワイトボード413に投影できる。この映像は、無線又は有線で接続されたPCから送信されてもよいし、プロジェクター411が記憶していてもよい。
ユーザーは専用の電子ペン2501を使ってホワイトボード413に手書きする。電子ペン2501は、ユーザーが手書きのためにホワイトボード413に押しつけるとスイッチがONになり発光する発光部を例えば先端部に有している。光の波長は近赤外や赤外なのでユーザーの目には見えない。プロジェクター411はカメラを有しており、発光部を撮像して画像を解析し電子ペン2501の方向を特定する。また、電子ペン2501は発光と共に音波を発信しており、プロジェクター411は音波の到達時間により距離を算出する。方向と距離により電子ペン2501の位置を特定できる。電子ペン2501の位置にはストロークデータが描画(投影)される。
プロジェクター411はメニュー430を投影するので、ユーザーが電子ペン2501でボタンを押下すると、プロジェクター411が電子ペン2501の位置とスイッチのON信号により押下されたボタンを特定する。例えば、保存ボタン431が押下されると、ユーザーが手書きしたストロークデータがプロジェクター411で保存される。プロジェクター411は、予め定められたサーバー412又はUSBメモリー2600等に手書き情報を保存する。手書き情報はページごとに保存されている。画像データではなく座標のまま保存されるので、ユーザーが再編集することができる。ただし、本実施形態では操作コマンドを手書きで呼び出せるのでメニュー430は表示されなくてもよい。
<<表示装置の構成の別の例2>>
図35は、表示装置の他の構成例を示す図である。図35の例では、表示装置として、端末装置600、画像投影装置700A、及び、ペン動作検出装置810を有する。
端末装置600は、画像投影装置700A及びペン動作検出装置810と有線で接続されている。画像投影装置700Aは、端末装置600により入力された画像データをスクリーン800に投影させる。
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し、端末装置600へ送信する。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力されるストロークデータ画像の画像データを生成し、画像投影装置700Aによってストロークデータ画像をスクリーン800に描画させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストロークデータ画像とを合成した重畳画像を示す重畳画像データを生成する。
<<表示装置の構成の別の例3>>
図36は、表示装置の構成例を示す図である。図36の例では、表示装置として、端末装置600とディスプレー800Aと、ペン動作検出装置810Aとを有する。
ペン動作検出装置810Aは、ディスプレー800Aの近傍に配置され、ディスプレー800A上に、電子ペン820Aが示している点を示す座標情報を検出し、端末装置600へ送信する。なお、図36の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
端末装置600は、ペン動作検出装置810Aから受信した座標情報に基づき、電子ペン820Aによって入力されるストロークデータ画像の画像データを生成し、ディスプレー800Aに表示させる。
<<表示装置の構成の別の例4>>
図37は、表示装置の構成例を示す図である。図37の例では、表示装置として、端末装置600と、画像投影装置700Aとを有する。
端末装置600は、電子ペン820Bと無線通信(Bluetooth(登録商標)等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力されるストロークデータ画像の画像データを生成し、画像投影装置700Aにストロークデータ画像を投影させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストロークデータ画像とを合成した重畳画像を示す重畳画像データを生成する。
以上のように、上記した各実施形態は、様々なシステム構成において適用することができる。
本実施例では、ネットワーク上の情報処理システムが手書き認識等の処理を行って、処理の結果を表示装置2に返すシステム形態の手書き入力システムについて説明する。本実施例では実施例1の構成に基づくシステム形態について説明する。
なお、本実施例の説明においては、実施例1で同一の符号を付した構成要素又は図の内容については同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。
図38は、手書き入力システム100のシステム構成図の一例である。手書き入力システム100はネットワークNを介して通信可能な表示装置2と情報処理システム10とを有している。
表示装置2は社内などの施設に配置されており、施設内に敷設されたLANやWi-Fiに接続されている。情報処理システム10は例えばデータセンタ等に配置されている。表示装置2はファイアウォール8を介してインターネットiと接続しており、情報処理システム10もデータセンタ内の高速なLAN等を経由してインターネットiに接続している。
表示装置2は電話回線網等の無線通信を使用してインターネットiに接続してもよい。この場合、無線通信は、3G(3rd Generation)、4G(4rd Generation)、5G(5rd Generation)、LTE(Long Term Evolution)、WiMAX(Worldwide Interoperability for Microwave Access)等である。
情報処理システム10は1つ以上の情報処理装置を有しており、1つ以上の情報処理装置がサーバーとして表示装置2にサービスを提供する。サーバーとは、クライアントからの要求に対して情報や処理結果を提供する機能を果たすコンピュータやソフトウェアである。情報処理システム10は後述するように表示装置2からペン座標を受信して、図13に示した操作ガイド500を表示するために必要な情報を表示装置2に送信する。
サーバー側のシステムをクラウドシステムという場合がある。クラウドシステムとは、クラウドコンピューティングを利用したシステムであり、クラウドコンピューティングは、特定ハードウェア資源が意識されずにネットワーク上のリソースが利用される利用形態をいう。クラウドシステムはインターネット上に配置されるとは限らない。図38では情報処理システム10がインターネット上に配置されているが、ローカルネットワーク(この場合をオンプレミスという)に配置される場合がある。
更に、ある実施形態では、情報処理システム10は、サーバークラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリーなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
表示装置2のハード的な構成は実施例1と同様でよいが、本実施例ではタッチパネル、ディスプレー、及び、通信機能を有していればよい。表示装置2は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
本実施例ではPCやタブレットなどの一般的な情報処理装置がWebブラウザや専用のアプリケーションを実行することができる。Webブラウザや専用のアプリケーションは情報処理システム10と通信する。Webブラウザが動作する場合、ユーザーが情報処理システム10のURLを入力又は選択して、表示装置を情報処理システム10に接続させる。表示装置2は情報処理システム10が提供するWebアプリをWebブラウザで実行する。Webアプリとは、Webブラウザ上で動作するプログラミング言語(たとえばJavaScript(登録商標))によるプログラムとWebサーバー側のプログラムが協調することによって動作し、Webブラウザ上で実行されるソフトウェア又はその仕組みを言う。
専用のアプリケーションが動作する場合、表示装置2は予め登録されている情報処理システム10のURLに接続する。専用のアプリケーションはプログラムやユーザインターフェースを有しているので、プログラムが必要な情報を情報処理システム10と送受信してユーザインターフェースに表示する。
通信方法は、HTTP、HTTPs、WebSocketなど汎用の通信プロトコルでもよいし、専用の通信プロトコルで通信してもよい。
<ハードウェア構成例>
表示装置2のハードウェア構成は図4と同様でよい。本実施例では情報処理システム10のハードウェア構成例を説明する。
図39は、情報処理システム10のハードウェア構成図である。図39に示されているように、情報処理システム10は、コンピュータによって構築されており、図39に示されているように、CPU601、ROM602、RAM603、HD604、HDD(Hard Disk Drive)コントローラ605、ディスプレー606、外部機器接続I/F(Interface)608、ネットワークI/F609、バスライン610、キーボード611、ポインティングデバイス612、DVD-RW(Digital Versatile Disk Rewritable)ドライブ614、メディアI/F616を備えている。
これらのうち、CPU601は、情報処理システム10全体の動作を制御する。ROM602は、IPL等のCPU601の駆動に用いられるプログラムを記憶する。RAM603は、CPU601のワークエリアとして使用される。HD604は、プログラム等の各種データを記憶する。HDDコントローラ605は、CPU601の制御にしたがってHD604に対する各種データの読み出し又は書き込みを制御する。ディスプレー606は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F608は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリーやプリンター等である。ネットワークI/F609は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン610は、図39に示されているCPU601等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード611は、文字、数値、各種指示などの入力のための複数のキーを備える。ポインティングデバイス612は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ614は、着脱可能な記録媒体の一例としてのDVD-RW613に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F616は、フラッシュメモリー等の記録メディア615に対するデータの読み出し又は書き込み(記憶)を制御する。
<装置の機能について>
次に、図40を用いて、手書き入力システム100が有する機能について説明する。図40は手書き入力システム100が有する機能をブロック状に示す機能ブロック図の一例である。なお、図40の説明では、主に図5との相違を説明する。また、ペン2500の機能は実施例1と同様でよい。
本実施例では、表示装置2は表示部22、表示制御部44、手書き入力部21、及び、通信部45を有している。表示装置2が有する各機能は、図40に示されている各構成要素のいずれかがSSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
本実施例の手書き入力部21の機能は実施例1と同様でよい。手書き入力部21はユーザーのペン入力d1をペン操作データda(ペンアップ、ペンダウン、又はペン座標データ)に変換し、表示制御部44に送信する。
表示制御部44は、表示装置2の表示に関する制御を行う。まず、表示制御部44は、離散値であるペン座標データの離散値間の座標を補完計算してペンダウンからペンアップまでのペン座標データを1本のストロークdbにして表示部22に送信する。
また、表示制御部44はペン操作データdcを通信部45に送信し、通信部45から各種の表示データddを取得する。表示データは、図13の操作ガイド500を表示するための情報を含んでいる。表示制御部44は表示データdeを表示部22に送信する。
通信部45は、ペン操作データdcを情報処理システム10に送信し、情報処理システム10から各種の表示データddを受信して表示制御部44に送信する。通信部45は例えばJSON形式やXML形式などでデータを送受信する。
表示部22の機能は実施例1と同様でよい。表示部22はストロークdbや表示データdeを表示する。表示部22は表示制御部44がビデオメモリーに書き込んだストロークdbや表示データdeをディスプレー220の特性に応じたデータに変換し、ディスプレー220に送信する。
<<情報処理システムの機能>>
情報処理システム10は、通信部43、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、文字列挿入制御部41、及び、挿入記号定義部42、を備えている。情報処理システム10が有する各機能は、図40に示されている各構成要素のいずれかが、HD604からRAM603上に展開されたプログラムに従ったCPU601からの命令によって動作することで実現される機能又は手段である。
通信部43は、ペン操作データdcを表示装置2から受信し、手書き入力表示制御部23にペン操作データdfを送信する。通信部43は、手書き入力表示制御部23から表示データddを受信して、表示装置2に送信する。通信部43は例えばJSON形式やXML形式などでデータを送受信する。
その他の機能については実施例1と同様か、異なるとしても本実施形態の説明の上では支障がないものとする。
<動作手順>
以上の構成と図41~図47を用いて、手書き入力システム100の動作について説明する。図41~図47は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図41の処理は、表示装置2が起動して(Webブラウザ又は専用のアプリケーションが起動して)、情報処理システム10との通信が確立するとスタートする。なお、図41~図47の全体的な流れは図18~図23と同様でよい。
S1:通信が確立すると表示装置2のメモリー領域を確保するため、手書き入力表示制御部23が手書きデータ開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きデータ領域(手書きデータを保存するメモリー領域)を確保する。ユーザーがペンを手書き入力部21に接触させてから手書きデータ領域を確保してもよい。
S2a:次にユーザーが手書き入力部21にペンを接触させる。手書き入力部21はペンダウンを検出して表示制御部44に送信する。
S2b:表示制御部44はペンダウンを情報処理システム10に通知するため、ペンダウンを通信部45に送信する。
S2c:通信部45はペンダウンを情報処理システム10に送信する。
S2d:情報処理システム10の通信部43はペンダウンを受信して、手書き入力表示制御部23に送信する。
S3:手書き入力表示制御部23は手書き入力保存部25にストローク開始を送信し、手書き入力保存部25はストローク領域を確保する。
S4a:ユーザーがペンを手書き入力部21に接触させたまま移動させると、手書き入力部21はペン座標を表示制御部44に送信する。
S4b:表示制御部44はペン座標を情報処理システム10に通知するため、ペン座標を通信部45に送信する。
S4c:通信部45はペン座標を情報処理システム10に送信する。
S4d:情報処理システム10の通信部43はペン座標を受信して、手書き入力表示制御部23に送信する。
S5:表示制御部44はペン座標補完表示データ(離散的なペン座標を補間するデータ)を表示部22に送信する。表示部22はペン座標補完表示データを用いてペン座標を補間して線を表示する。ステップS6については実施例1と同様になる。
S7a:ユーザーが手書き入力部21からペンを離すと、手書き入力部21はペンアップを表示制御部44に送信する。
S7b:表示制御部44はペンアップを情報処理システム10に通知するため、ペンアップを通信部45に送信する。
S7c:通信部45はペンアップを情報処理システム10に送信する。
S7d:情報処理システム10の通信部43はペンアップを受信して、手書き入力表示制御部23に送信する。
以降のステップS8~S15、及び、ステップS16~S42については実施例1と同様になる。
S43a:タイマーがタイムアウトする前に、ユーザーが手書き入力部21にペンを接触させた場合、手書き入力部21はペンダウン(ステップS2と同じイベント)を表示制御部44に送信する。ステップS43b~S43dの処理はステップS2b~S2dと同様でよい。また、ステップS44~S54の処理は実施例1と同様になる。
S55a:手書き入力表示制御部23は図13に示した各文字列候補、操作コマンドの候補、各選択確率、及び、推定書字方向を含む選択可能候補表示データを作成し、文字列候補と操作コマンドの候補からなる選択可能候補表示データを通信部43に送信する。
S55b:通信部43は表示装置2に選択可能候補表示データを送信する。
S55c:表示装置2の通信部45は選択可能候補表示データを受信し、表示制御部44に送信する。
S55d:表示制御部44は選択可能候補表示データを受信したので、表示部22に送信することで表示させる。
S56a:また、手書き入力表示制御部23は手書きデータと選択オブジェクトの矩形領域表示データ(矩形枠)(図13では手書きデータ矩形領域表示503)を通信部43に送信する。
S56b:通信部43は表示装置2に矩形領域表示データを送信する。
S56c:表示装置2の通信部45は矩形領域表示データを受信し、表示制御部44に送信する。
S56d:表示制御部44は矩形領域表示データを受信したので、表示部22に送信することで表示させる。ステップS57の処理は実施例1と同様になる。
S58a:ユーザーが選択可能候補を消去したり、手書きデータに追加で手書きしたりすると、手書き入力部21は選択可能候補表示消去又は手書きデータの変化の発生を表示制御部44に送信する。
S58b:表示制御部44は選択可能候補表示消去又は手書きデータの変化の発生を情報処理システム10に通知するため、通信部45に送信する。
S58c:通信部45は選択可能候補表示消去又は手書きデータの変化の発生を情報処理システム10に送信する。
S58d:情報処理システム10の通信部43は選択可能候補表示消去又は手書きデータの変化の発生を受信して、手書き入力表示制御部23に送信する。ステップS59、S60の処理は実施例1と同様になる。
S61a:手書き入力表示制御部23は選択可能候補表示データ消去を通信部43に送信する。
S61b:通信部43は表示装置2に選択可能候補表示データ消去を送信する。
S61c:表示装置2の通信部45は選択可能候補表示データ消去を受信し、表示制御部44に送信する。
S61d:表示制御部44は選択可能候補表示データ消去を受信したので、表示部22に送信することで選択可能候補を消去させる。
S62a:手書き入力表示制御部23は手書きデータと選択オブジェクトの矩形領域表示データ消去を通信部43に送信する。
S62b:通信部43は表示装置2に手書きデータと選択オブジェクトの矩形領域表示データ消去を送信する。
S62c:表示装置2の通信部45は手書きデータと選択オブジェクトの矩形領域表示データ消去を受信し、表示制御部44に送信する。
S62d:表示制御部44は手書きデータと選択オブジェクトの矩形領域表示データ消去を受信したので、表示部22に送信することで手書きデータと選択オブジェクトの矩形領域を消去させる。したがって、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きデータはそのまま表示が維持される。
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS63~S87が実行される。
S63a:選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部21は文字列候補又は操作コマンドの候補選択を表示制御部44に送信する。
S63b:表示制御部44は文字列候補又は操作コマンドの候補選択を情報処理システム10に通知するため、通信部45に送信する。
S63c:通信部45は文字列候補又は操作コマンドの候補選択を情報処理システム10に送信する。
S63d:情報処理システム10の通信部43は文字列候補又は操作コマンドの候補選択を受信して、手書き入力表示制御部23に送信する。ステップS64~S69の処理は実施例1と同様になる。
S70a: 次に手書き入力表示制御部23は選択可能候補表示データ消去を通信部43に送信する。
S70b:通信部43は選択可能候補表示データ消去を表示装置2に送信する。
S70c:表示装置2の通信部45は選択可能候補表示データ消去を受信し、表示制御部44に送信する。
S70d:表示制御部44は選択可能候補表示データ消去を受信したので、表示部22に選択可能候補を消去させる。
S71a:手書き入力表示制御部23は手書きデータと選択オブジェクトの矩形領域表示データ消去を通信部43に送信する。
S71b:通信部43は矩形領域表示データ消去を表示装置2に送信する。
S71c:表示装置2の通信部45は矩形領域表示データ消去を受信し、表示制御部44に送信する。
S71d:表示制御部44は矩形領域表示データ消去を受信したので、表示部22に矩形領域を消去させる。
挿入文字列候補570が選択された場合、ステップS72~S77が実行される。
S72a:手書き入力表示制御部23は手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を通信部43に送信する。
S72b:通信部43はペン座標補完表示データ消去を表示装置2に送信する。
S72c:表示装置2の通信部45はペン座標補完表示データ消去を受信し、表示制御部44に送信する。
S72d:表示制御部44はペン座標補完表示データ消去を受信したので、表示部22に手書きデータを消去させる。ステップS73~S75の処理は実施例1と同様になる。
S76a:挿入文字列候補570が選択された場合、確定データ573は挿入文字列候補570に置き換わるので、手書き入力表示制御部23は確定データ573の消去を通信部43に送信する。
S76b:通信部43は確定データ573の消去を表示装置2に送信する。
S76c:表示装置2の通信部45は確定データ573の消去を受信し、表示制御部44に送信する。
S76d:表示制御部44は確定データ573の消去を受信したので、表示部22に確定データを消去させる。
S77a:手書き入力表示制御部23は挿入データフォントを使用して、消去した確定データ573と同じ位置に挿入データ(挿入文字列)を表示させる挿入データ表示データを通信部43に送信する。
S77b:通信部43は挿入データ表示データを表示装置2に送信する。
S77c:表示装置2の通信部45は挿入データ表示データを受信し、表示制御部44に送信する。
S77d:表示制御部44は挿入データ表示データを受信したので、表示部22に挿入データを表示する。
挿入文字列候補570が選択されない場合(挿入文字列候補以外の文字列候補539が選択された場合)、ステップS78~S82が実行される。
S78a:手書き入力表示制御部23は挿入記号576を除いて、手書きデータ表示データ消去及びステップS5で送信したペン座標補完表示データ消去を通信部43に送信する。
S78b:通信部43はペン座標補完表示データ消去を表示装置2に送信する。
S78c:表示装置2の通信部45はペン座標補完表示データ消去を受信し、表示制御部44に送信する。
S78d:表示制御部44はペン座標補完表示データ消去を受信したので、表示部22に手書きデータを消去させる。ステップS79~S81の処理は実施例1と同様になる。
S82a: 次に手書き入力表示制御部23は手書き入力保存部25から受信した定義済みフォントを使用して、挿入記号576を残したまま手書きデータ504と同じ位置に表示させる文字列データ表示データ(例えば「主要」)を通信部43に送信する。
S82b:通信部43は文字列データ表示データを表示装置2に送信する。
S82c:表示装置2の通信部45は文字列データ表示データを受信し、表示制御部44に送信する。
S82d:表示制御部44は文字列データ表示データを受信したので、表示部22に文字列データを表示させる。ステップS79~S81の処理は実施例1と同様になる。
操作コマンドの候補が選択された場合、ステップS83~S86が実行される。更に、選択データがある場合はステップS83~S85が実行される。
S83a:選択データへの操作コマンドの候補が選択された場合(選択データが存在する場合)は、手書き入力表示制御部23は選択データ表示データ消去を通信部43に送信する。
S83b:通信部43は選択データ表示データ消去を表示装置2に送信する。
S83c:表示装置2の通信部45は選択データ表示データ消去を受信し、表示制御部44に送信する。
S83d:表示制御部44は選択データ表示データ消去を受信したので、表示部22に選択データを消去させる。ステップS84の処理は実施例1と同様になる。
S85a: 次に手書き入力表示制御部23は選択データ表示データを通信部43に送信する。
S85b:通信部43は選択データ表示データを表示装置2に送信する。
S85c:表示装置2の通信部45は選択データ表示データを受信し、表示制御部44に送信する。
S85d:表示制御部44は選択データ表示データを受信したので、表示部22に選択データを表示させる。ステップS86、S87の処理は実施例1と同様になる。
このように、表示装置2と情報処理システム10とが通信するシステム形態でも、実施例1と同様の効果を奏することができる。なお、図41~図47の処理の流れは一例であって、表示装置2と情報処理システム10とが通信することにより生じる処理が含まれていたり、又は、処理が省略されたりしてもよい。また、情報処理システム10が行う処理の一部を表示装置2が行ってもよい。例えば、削除に関する処理を表示装置2が行ってもよい。
本実施例では、ネットワーク上の情報処理システムが手書き認識等の処理を行って、処理の結果を表示装置2に返すシステム形態の手書き入力システムについて説明する。本実施例では実施例2の構成に基づくシステム形態について説明する。
なお、本実施例の説明においては、実施例2で同一の符号を付した構成要素又は図の内容については同様の機能を果たすので、一度説明した構成要素の説明を省略あるいは相違点についてのみ説明する場合がある。システム構成図は図38と同様でよく、情報処理システム10のハードウェア構成図は図39と同様でよい。
<装置の機能について>
次に、図48を用いて、手書き入力システム100が有する機能について説明する。図48は手書き入力システム100が有する機能をブロック状に示す機能ブロック図の一例である。なお、図48の説明では、主に図40との相違を説明する。
図48に示すように、情報処理システム10が挿入記号定義部42を有さない以外は図40と同様でよい。
<動作手順>
以上の構成と図49~図55を用いて、手書き入力システム100の動作について説明する。図49~図55は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図49~図55の全体的な流れは図41~図48と同様でよいため、主に相違点を説明する。
図49~図55に示すように、表示装置2側の処理は実施例3の図41~図48と同様になる。情報処理システム側の処理は実施例2の図28~図33と同様になる。
<まとめ>
以上説明したように、本実施例の表示装置2は、クライアントサーバシステムにおいても挿入記号を不要とし、実施例1、3以上に特別な操作が必要なく、文字列等の挿入を行うことができる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、確定データ573は文字コードとして、手書きデータは座標点データとして表示装置2に保存される。また、各種の記憶媒体に保存したり、ネットワーク上の記憶装置に保存したりしておいて、後で、表示装置2からダウンロードして再使用することができる。再使用する表示装置2はどの表示装置でもよく、一般的な情報処理装置でもよい。したがって、ユーザーは手書きした内容を異なる表示装置2で再現して会議などを継続することができる。
例えば、本実施形態では電子黒板を一例として説明したが、タッチパネルを有する情報処理装置であれば好適に適用できる。電子黒板は、ホワイトボード、電子ホワイトボード、電子情報ボード、インタラクティブ・ホワイトボード、デジタルホワイトボードなどと呼ばれる場合がある。タッチパネルを搭載した情報処理装置としては、例えば、PJ(Projector:プロジェクター)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC又はデスクトップPC等であってもよい。
また、本実施形態ではペン先の座標をタッチパネルで検知する方法でペンの座標を検出したが、ペン先の座標を超音波により検出してもよい。また、ペンは発光と共に超音波を発信しており、表示装置2は超音波の到達時間により距離を算出する。方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークデータとしてプロジェクターが描画(投影)する。
また、本実施形態では、選択データがある場合に編集系及び修飾系の操作コマンドの候補を表示し、選択データがない場合に入出力系の操作コマンドの候補を表示した。しかし、編集系及び修飾系の操作コマンドの候補と入出力系の操作コマンドの候補を同時に表示してもよい。
また、図5などの構成例は、表示装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、ユーザーの手書きサインデータは表示装置2が持っていなくてもよい。クラウド上や社内の情報処理装置が保持していてもよい。
また、本実施形態において、比較の対象として閾値が例示されていたとしても閾値は例示された値には限定されない。このため、本実施形態では、全ての閾値に関し、閾値未満と閾値以下という記載は同等の意味を持ち、閾値超過と閾値以上という記載は同等の意味を持つ。例えば、閾値を11とした場合の閾値未満という記載は閾値が10である場合の閾値以下と同等の意味を持つ。また、閾値を10とした場合の閾値超過という記載は閾値が11である場合の閾値以上と同等の意味を持つ。
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
手書き認識制御部26は手書き認識制御手段の一例である。手書き入力表示制御部23は表示制御手段の一例である。文字列挿入制御部41は文字列挿入制御手段の一例である。表示部22は表示手段の一例である。
2 表示装置
特開2014-149612号公報

Claims (10)

  1. 書きされた手書きデータを表示する表示装置であって、
    文字認識によりテキストデータに変換された文字列の周囲に手書きされた前記手書きデータが前記文字列に対し所定の条件を満たす場合、前記手書きデータに基づいて変換された言語文字列候補を前記文字列に挿入すると判定する文字列挿入制御手段と、
    前記文字列挿入制御手段によって、前記文字列に前記言語文字列候補を挿入すると判定された結果に基づく挿入文字列候補、及び、前記文字列に併記される前記言語文字列候補、を含む選択可能候補を、表示手段に表示する表示制御手段と、
    を有する、ことを特徴とする表示装置。
  2. 前記文字列挿入制御手段は、前記言語文字列候補を前記文字列の先頭、前記文字列を構成する文字と文字との間、及び前記文字列の末尾のいずれかに挿入すると判定することを特徴とする請求項1に記載の表示装置
  3. ディスプレーに手書きが可能な入力手段により前記挿入文字列候補の選択が受け付けられた場合、
    前記表示制御手段は、前記文字列に代えて前記挿入文字列候補を表示することを特徴とする請求項1又は2に記載の表示装置。
  4. ディスプレーに手書きが可能な入力手段により前記言語文字列候補の選択が受け付けられた場合、
    前記表示制御手段は、前記文字列と前記言語文字列候補併記して表示することを特徴とする請求項1又は2に記載の表示装置。
  5. 前記所定の条件は、前記文字列と前記文字列の周囲に手書きされた手書きデータの距離が閾値以下又は閾値未満であることであり、
    前記所定の条件を満たす場合、
    前記文字列挿入制御手段は、前記文字列を構成する文字であって、前記手書きデータの先頭の文字に近い上位2つの文字の間に、前記文字列の周囲に手書きされた手書きデータが文字列変換制御手段により変換された前記言語文字列候補を挿入して、前記挿入文字列候補を生成すると判定することを特徴とする請求項2乃至4のいずれか一項に記載の表示装置。
  6. 前記所定の条件は、前記文字列の周囲に手書きされた手書きデータに予め定められた挿入記号が含まれていることであり、
    前記所定の条件を満たす場合、
    前記文字列挿入制御手段は、前記文字列を構成する文字であって、前記文字列に対し前記挿入記号が最も近接している上位2つの文字の間に、
    前記文字列の周囲に手書きされた手書きデータが前記文字列変換制御手段により変換された前記言語文字列候補を、前記挿入記号を除いて挿入して、前記挿入文字列候補を生成すると判定することを特徴とする請求項に記載の表示装置。
  7. 前記表示制御手段は、前記文字列の周囲に手書きされた手書きデータが前記文字列変換制御手段により変換された前記言語文字列候補、及び、
    前記文字列を構成する文字と文字の間に、前記文字列変換制御手段により変換された前記言語文字列候補が挿入された挿入文字列候補を表示し、
    ディスプレーに手書きが可能な入力手段により前記挿入文字列候補の選択が受け付けられた場合、
    前記表示制御手段は、前記文字列と前記挿入記号を含む前記手書きデータとに代えて、前記挿入文字列候補を示することを特徴とする請求項に記載の表示装置。
  8. 前記入力手段により前記言語文字列候補の選択が受け付けられた場合、
    前記表示制御手段は、前記文字列を消去せず、前記挿入記号を消去せず、前記挿入記号を含まない前記手書きデータを消去して、
    前記言語文字列候補を前記手書きデータが表示されていた位置に表示することを特徴とする請求項に記載の表示装置。
  9. 書きされた手書きデータを表示する表示装置を、
    文字認識によりテキストデータに変換された文字列の周囲に手書きされた前記手書きデータが前記文字列に対し所定の条件を満たす場合、前記手書きデータに基づいて変換された言語文字列候補を前記文字列に挿入すると判定する文字列挿入制御手段と、
    前記文字列挿入制御手段によって、前記文字列に前記言語文字列候補を挿入すると判定された結果に基づく挿入文字列候補、及び、前記文字列に併記される前記言語文字列候補、を含む選択可能候補を、表示手段に表示する表示制御手段、
    として機能させるプログラム。
  10. 書きされた手書きデータを表示する表示装置が行う表示方法であって、
    文字列挿入制御手段が、文字認識によりテキストデータに変換された文字列の周囲に手書きされた前記手書きデータが前記文字列に対し所定の条件を満たす場合、前記手書きデータに基づいて変換された言語文字列候補を前記文字列に挿入すると判定するステップと、
    表示制御手段が、前記文字列挿入制御手段によって、前記文字列に前記言語文字列候補を挿入すると判定された結果に基づく挿入文字列候補、及び、前記文字列に併記される前記言語文字列候補、を含む選択可能候補を、表示手段に表示するステップと、
    を有することを特徴とする表示方法。
JP2020091521A 2019-05-27 2020-05-26 表示装置、プログラム、表示方法 Active JP7456287B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/883,067 US11048408B2 (en) 2019-05-27 2020-05-26 Display apparatus, recording medium, and display method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019098746 2019-05-27
JP2019098746 2019-05-27

Publications (2)

Publication Number Publication Date
JP2020194542A JP2020194542A (ja) 2020-12-03
JP7456287B2 true JP7456287B2 (ja) 2024-03-27

Family

ID=73547957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020091521A Active JP7456287B2 (ja) 2019-05-27 2020-05-26 表示装置、プログラム、表示方法

Country Status (2)

Country Link
US (1) US11048408B2 (ja)
JP (1) JP7456287B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021081875A (ja) * 2019-11-15 2021-05-27 株式会社リコー 情報処理システム、情報処理方法、情報処理装置及び出力装置
JP7543788B2 (ja) * 2020-08-31 2024-09-03 株式会社リコー 表示装置、入力方法、プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123115A (ja) 1998-10-16 2000-04-28 Just Syst Corp 手書き文字処理装置、手書き文字処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002189985A (ja) 2000-12-20 2002-07-05 Sharp Corp 手書文字処理装置および方法、ならびに手書文字処理プログラムを記録した機械読取可能な記録媒体
JP2010518534A (ja) 2007-02-12 2010-05-27 グーグル・インコーポレーテッド 文脈上の入力方法
US20140344662A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Ink to text representation conversion
JP2015072593A (ja) 2013-10-03 2015-04-16 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972496A (en) * 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
JPH0632068B2 (ja) * 1987-10-16 1994-04-27 シャープ株式会社 手書き文字認識装置
JP3075808B2 (ja) * 1991-11-11 2000-08-14 三洋電機株式会社 文書処理装置
JP3187913B2 (ja) * 1992-02-17 2001-07-16 三洋電機株式会社 文書処理装置
JPH0916712A (ja) * 1995-06-27 1997-01-17 Oki Electric Ind Co Ltd 文書読取装置
CN101676838B (zh) * 2008-09-16 2012-05-23 夏普株式会社 输入装置
JP2014149612A (ja) 2013-01-31 2014-08-21 Nippon Hoso Kyokai <Nhk> 音声認識誤り修正装置およびそのプログラム
JP6547496B2 (ja) 2015-08-03 2019-07-24 株式会社リコー 通信装置、通信方法、プログラムおよび通信システム
JP2017059902A (ja) 2015-09-14 2017-03-23 株式会社リコー 情報処理装置、プログラム、画像処理システム
US12093523B2 (en) * 2019-05-06 2024-09-17 Apple Inc. Handwriting entry on an electronic device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000123115A (ja) 1998-10-16 2000-04-28 Just Syst Corp 手書き文字処理装置、手書き文字処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002189985A (ja) 2000-12-20 2002-07-05 Sharp Corp 手書文字処理装置および方法、ならびに手書文字処理プログラムを記録した機械読取可能な記録媒体
JP2010518534A (ja) 2007-02-12 2010-05-27 グーグル・インコーポレーテッド 文脈上の入力方法
US20140344662A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Ink to text representation conversion
JP2016526216A (ja) 2013-05-20 2016-09-01 マイクロソフト テクノロジー ライセンシング,エルエルシー インクからテキスト表現への変換
JP2015072593A (ja) 2013-10-03 2015-04-16 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム

Also Published As

Publication number Publication date
US20200379639A1 (en) 2020-12-03
US11048408B2 (en) 2021-06-29
JP2020194542A (ja) 2020-12-03

Similar Documents

Publication Publication Date Title
US20210303836A1 (en) Handwriting input display apparatus, handwriting input display method and recording medium storing program
US11132122B2 (en) Handwriting input apparatus, handwriting input method, and non-transitory recording medium
JP2023175845A (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
US20220374142A1 (en) Display apparatus, color supporting apparatus, display method, and program
JP7508766B2 (ja) 入力装置、入力方法、プログラム、入力システム
EP3825868A1 (en) Display apparatus, display method, and program
JP7456287B2 (ja) 表示装置、プログラム、表示方法
JP2024111215A (ja) 入力装置、入力方法、プログラム、入力システム
JP7452155B2 (ja) 手書き入力装置、手書き入力方法、プログラム
JP7354878B2 (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
WO2022071448A1 (en) Display apparatus, display method, and program
JP7259828B2 (ja) 表示装置、表示方法、プログラム
JP7543788B2 (ja) 表示装置、入力方法、プログラム
JP7268479B2 (ja) 表示装置、プログラム、表示方法
JP7392315B2 (ja) 表示装置、表示方法、プログラム
EP3882757A1 (en) Display device, display method, and program
JP2021152884A (ja) 表示装置、表示方法、プログラム、情報処理装置
JP2021096844A (ja) 表示装置、表示方法、プログラム
JP2021082292A (ja) 表示装置、表示方法、プログラム
JP2023137822A (ja) 表示装置、清書方法、プログラム、情報共有システム
JP2021064366A (ja) 表示装置、カラー対応装置、表示方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240226

R151 Written notification of patent or utility model registration

Ref document number: 7456287

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151