JP2015170150A - 電子機器及び方法 - Google Patents

電子機器及び方法 Download PDF

Info

Publication number
JP2015170150A
JP2015170150A JP2014044746A JP2014044746A JP2015170150A JP 2015170150 A JP2015170150 A JP 2015170150A JP 2014044746 A JP2014044746 A JP 2014044746A JP 2014044746 A JP2014044746 A JP 2014044746A JP 2015170150 A JP2015170150 A JP 2015170150A
Authority
JP
Japan
Prior art keywords
candidate
strokes
character string
screen
handwritten
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
JP2014044746A
Other languages
English (en)
Inventor
康公 大河原
Yasukimi Ogawara
康公 大河原
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014044746A priority Critical patent/JP2015170150A/ja
Priority to US14/521,320 priority patent/US20150253878A1/en
Publication of JP2015170150A publication Critical patent/JP2015170150A/ja
Pending legal-status Critical Current

Links

Images

Classifications

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

Abstract

【課題】入力が予測される文字列の候補を効果的に提示できる電子機器を実現する。【解決手段】実施形態によれば、電子機器は表示処理手段を具備する。表示処理手段は、タッチスクリーンディスプレイの画面上で手書きにより入力される1以上の第1ストロークを表示する。前記表示処理手段は、前記1以上の第1ストロークに対応する入力するための複数の候補に、同一の文字列に対応する複数の第2ストロークの第1候補と複数の第3ストロークの第2候補とが含まれる場合に、前記第1候補又は前記第2候補の一方を除外して、入力するための1以上の候補を前記画面に表示する。【選択図】図11

Description

本発明の実施形態は、文字を手書き入力する技術に関する。
近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備え、手書きするための機能を有するものもある。そのためユーザは、この電子機器を用いて、テキストや画像だけでなく、手書きの文字や図形も含む文書を作成することができる。
特開2007−265171号公報
ところで、ユーザが単語のような文字列を入力するときに、これまでに入力された文字列の履歴を用いてユーザによる入力を補助する方法がある。
本発明の一形態は、入力が予測される文字列の候補を効果的に提示できる電子機器及び方法を提供することを目的とする。
実施形態によれば、電子機器は表示処理手段を具備する。表示処理手段は、タッチスクリーンディスプレイの画面上で手書きにより入力される1以上の第1ストロークを表示する。前記表示処理手段は、前記1以上の第1ストロークに対応する入力するための複数の候補に、同一の文字列に対応する複数の第2ストロークの第1候補と複数の第3ストロークの第2候補とが含まれる場合に、前記第1候補又は前記第2候補の一方を除外して、入力するための1以上の候補を前記画面に表示する。
実施形態に係る電子機器の外観を示す例示的な斜視図。 同実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされるストロークの例を示す図。 同実施形態の電子機器によって記憶媒体に保存される、図2の手書きストロークに対応する時系列情報(ストロークデータ)を説明するための例示的な図。 同実施形態の電子機器のシステム構成を示す例示的なブロック図。 入力途中の手書き文字列に基づいて、手書き候補文字列が表示される例を示す図。 図5の手書き候補文字列から選択された文字列を用いて、入力途中の手書き文字列が補完される例を示す図。 同実施形態の電子機器によって、入力途中の手書き文字列に基づいて、第1段階の手書き候補文字列が表示される例を示す図。 図7の第1段階の手書き候補文字列から選択された文字列に応じて、第2段階の手書き候補文字列が表示される例を示す図。 図8の第2段階の手書き候補文字列から選択された文字列を用いて、入力途中の手書き文字列が補完される例を示す図。 図7の第1段階の手書き候補文字列から選択された文字列を用いて、入力途中の手書き文字列が補完される例を示す図。 同実施形態の電子機器によって実行される予測入力ユーティリティプログラム202の機能構成の例を示すブロック図。 同実施形態の電子機器によって用いられる手書き文字列データの一構成例を示す図。 同実施形態の電子機器によって生成される類似度順の手書き候補文字列の例を示す図。 同実施形態の電子機器によって、入力途中の手書き文字列に基づいて、第1段階の手書き候補文字列が表示される別の例を示す図。 図14の第1段階の手書き候補文字列から選択された文字列を用いて、入力途中の手書き文字列が補完される例を示す図。 図14の第1段階の手書き候補文字列から選択された画像に応じて、第2段階の手書き候補文字列が表示される例を示す図。 図16の第2段階の手書き候補文字列から選択された文字列を用いて、入力途中の手書き文字列が補完される例を示す図。 同実施形態の電子機器によって実行される手書き入力処理の手順の例を示すフローチャート。 同実施形態の電子機器によって実行される類似度算出処理の手順の例を示すフローチャート。 同実施形態の電子機器によって実行される予測入力処理の手順の例を示すフローチャート。 同実施形態の電子機器によって実行される予測入力処理の手順の別の例を示すフローチャート。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペン又は指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を想定する。タブレットコンピュータ10は、タブレット又はスレートコンピュータとも称される携帯型電子機器であり、図1に示すように、本体11とタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わせるように取り付けられている。
本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペン又は指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルである2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
デジタイザ及びタッチパネルの各々は、フラットパネルディスプレイの画面を覆うように設けられる。このタッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えば電磁誘導ペンである。
ユーザは、外部オブジェクト(ペン100又は指)を使用してタッチスクリーンディスプレイ17上で、手書きにより複数のストロークを入力する手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト(ペン100又は指)の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡(筆跡)がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が1ストロークに相当する。多数のストロークの集合、つまり多数の軌跡(筆跡)の集合が、手書きの文字又は図形などを構成する。
本実施形態では、このような手書きストローク(手書きの文字及び図形)は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報として記憶媒体に保存される。この時系列情報の詳細は図3を参照して後述するが、この時系列情報は、概して、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、手書きにより入力可能なある一つのストロークを表現可能なデータであればどのようなものであってもよく、例えば、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
タブレットコンピュータ10は、記憶媒体から既存の任意の文書データを読み出し、この文書データに対応する文書、つまり、時系列情報によって示される複数のストロークそれぞれに対応する軌跡が描画された手書き文書を、画面上に表示することができる。
次いで、図2及び図3を参照して、ユーザによって手書きされたストローク(手書きの文字、マーク、図形、表など)と時系列情報との関係について説明する。図2は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる文書の例を示している。
この文書では、一旦手書きされた文字や図形などの上に、さらに別の文字や図形などが手書きされるというケースが多い。図2においては、「ABC」の手書き文字列が「A」、「B」、「C」の順番で手書きされ、この後に、手書きの矢印が、手書き文字「A」のすぐ近くに手書きされた場合が想定されている。
手書き文字「A」は、ペン100などを使用して手書きされる2つのストローク(「∧」形状の軌跡、「−」形状の軌跡)によって、つまり2つの軌跡によって表現される。最初に手書きされる「∧」形状のペン100の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標SD11、SD12、…SD1nが得られる。同様に、次に手書きされる「−」形状のペン100の軌跡もサンプリングされ、これによって「−」形状のストロークの時系列座標SD21、SD22、…SD2nが得られる。
手書き文字「B」は、ペン100などを使用して手書きされた2つのストローク、つまり2つの軌跡によって表現される。手書き文字「C」は、ペン100などを使用して手書きされた1つのストローク、つまり1つの軌跡によって表現される。手書きの矢印は、ペン100などを使用して手書きされた2つのストローク、つまり2つの軌跡によって表現される。
図3は、図2の文書に対応する時系列情報200を示している。時系列情報200は、複数のストロークデータSD1、SD2、…、SD7を含む。時系列情報200内においては、これらストロークデータSD1、SD2、…、SD7は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べられている。
時系列情報200において、先頭の2つのストロークデータSD1、SD2は、手書き文字「A」の2つのストロークをそれぞれ示している。3番目と4番目のストロークデータSD3、SD4は、手書き文字「B」を構成する2つのストロークをそれぞれ示している。5番目のストロークデータSD5は、手書き文字「C」を構成する1つのストロークを示している。6番目と7番目のストロークデータSD6、SD7は、手書き矢印を構成する2つのストロークをそれぞれ示している。
各ストロークデータは、一つのストロークに対応する座標データ系列(時系列座標)、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいて、複数の座標は、ストロークが書かれた順に時系列に並べられている。例えば、手書き文字「A」に関しては、ストロークデータSD1は、手書き文字「A」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)、つまりn個の座標データSD11、SD12、…SD1nを含む。ストロークデータSD2は、手書き文字「A」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりn個の座標データSD21、SD22、…SD2nを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
各座標データは、対応する軌跡内のある1点に対応するX座標及びY座標を示す。例えば、座標データSD11は、「∧」形状のストロークの始点のX座標(X11)及びY座標(Y11)を示す。SD1nは、「∧」形状のストロークの終点のX座標(X1n)及びY座標(Y1n)を示す。
また、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Tを含んでいてもよい。手書きされた時点は、絶対時間(例えば、年月日時分秒)と、ある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間(例えば、年月日時分秒)をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Tとして付加してもよい。各座標データにタイムスタンプ情報Tが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。
さらに、各座標データは、その座標に対応する点が手書きされた時点の、外部オブジェクト(例えば、ペン100)が画面に接触されたことによる圧力Pを含んでいてもよい。
本実施形態では、上述したように、手書きされるストロークは、イメージや文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報200として記憶されるので、言語に依存せずに手書きの文字や図形を扱うことができる。よって、本実施形態の時系列情報200の構造は、使用言語が異なる世界中の様々な国で共通に使用できる。
図4は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、図4に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ104、BIOS−ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108、等を備える。
CPU101は、タブレットコンピュータ10内の各種コンポーネントの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム(OS)201、及び各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、予測入力ユーティリティプログラム202が含まれている。この予測入力ユーティリティプログラム202は、手書き入力された1以上のストロークに基づいて、入力が予測される文字列の候補を提示する予測入力機能(サジェスト機能)を有する。予測入力ユーティリティプログラム202は、この予測入力機能によって、例えば、検索キーワードのサジェスト機能、文書に入力される文字列の補完機能、等を実現する。
また、CPU101は、BIOS−ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ104との通信を実行する機能も有している。
グラフィクスコントローラ104は、本タブレットコンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ104によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて画面イメージを表示する。このLCD17A上にはタッチパネル17B及びデジタイザ17Cが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置及び接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン100が接触される画面上の接触位置、接触位置の動き、接触圧力、等はデジタイザ17Cによって検出される。
無線通信デバイス107は、無線LAN又は3G移動通信などの無線通信を実行するように構成されたデバイスである。EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ10を電源オン又は電源オフする機能を有している。
上述したように、予測入力ユーティリティプログラム202は、予測入力機能を利用して、文書に入力される文字列の補完機能、検索キーワードのサジェスト機能、等を実現する。
図5は、文字が手書き入力される手書き文書の画面50上に、予測入力機能によって手書き候補文字列が表示される例を示す。ここでは、ユーザが、単語“apple”を手書き入力しようとして、文字列“ap”51までを手書き入力している場合を想定する。
この画面50には、ユーザが既に入力を完了した手書き文字列59と、入力途中の手書き文字列“ap”51を構成するストローク511,512,513と、この入力途中の手書き文字列“ap”51(ストローク511,512,513)に基づく手書き候補文字列“apple”521、“apple”522、“apply”523、及び“application”524とが表示されている。これら手書き候補文字列521〜524は、例えば、ユーザによって、既に手書き入力された文字列や既に作成された手書き文書に含まれる文字列から抽出された、入力途中の手書き文字列“ap”51と類似する候補文字列である。
図6に示すように、ユーザは、候補文字列521〜524に、入力しようとしている文字列が含まれている場合には、その候補文字列を選択すること(候補文字列のボタンを押し下げること)によって、入力途中の手書き文字列“ap”51を、選択された候補文字列“apple”522に置き換えることを指示できる。したがって、ユーザが文字列“apple”を全て手書き入力することなく、入力しようとしている文字列“apple”を手書き文書上に描画することができる。
ところで、ユーザによって既に入力された手書き文字列や既に作成された手書き文書には、同一の文字列(単語等)に対応する複数の手書き文字列が含まれることが想定される。例えば、1つの手書き文書内に複数の手書き文字列“apple”が含まれることや、複数の手書き文書の各々に手書き文字列“apple”が含まれることが想定される。
そのため、図5に示す例のように、表示される手書き候補文字列“apple”521、“apple”522、“apply”523、及び“application”524には、同一の文字列“apple”に対応する複数の手書き候補文字列(すなわち、重複した候補文字列)“apple”521,522が含まれることがある。画面50には、例えば、限られた数(例えば、4個)の候補文字列が表示されるので、重複した候補文字列“apple”521,522が表示されることによって、ユーザが期待する候補文字列が表示される可能性が低下する場合がある。
そのため本実施形態では、入力途中の手書き文字列(1以上の手書きストローク)に対応する、入力するための複数の候補文字列に、同一の文字列に対応する第1候補文字列と第2候補文字列とが含まれる場合、第1候補文字列と第2候補文字列の一方を除外して、入力するための1以上の候補文字列(第1段階の候補文字列)を画面に表示する。つまり、重複した候補文字列が除外された第1段階の候補文字列が表示される。そして、第1候補文字列と第2候補文字列の内の一方が除外された場合に、第1候補文字列と第2候補文字列の内の他方が選択されたことに応じて、第1候補文字列と第2候補文字列の双方を含む第2段階の候補文字列を画面に表示する。つまり、ユーザがそれら第1段階の候補文字列から1つの候補文字列を選択し、その選択された候補文字列との重複によって第1段階で除外された候補文字列がある場合に、選択された候補文字列と、当該候補文字列との重複によって第1段階で除外された候補文字列とを含む第2段階の候補文字列が表示される。ユーザは、第2段階の候補文字列から、好みに合った候補文字列を選択し、これにより、入力途中の手書き文字列が、選択された候補文字列に置き換えられる。
図7に示すように、本実施形態のタブレットコンピュータ10によって表示される手書き文書の画面60には、ユーザが既に入力を完了した手書き文字列69と、入力途中の手書き文字列“ap”61を構成するストローク611,612,613とが表示されている。そして、この画面60には、入力途中の手書き文字列“ap”61(ストローク611,612,613)に基づく第1段階の手書き候補文字列“apple”621、“apply”622、“application”623、及び“appreciate”624が表示されている。この第1段階の手書き候補文字列621〜624は、例えば、ユーザによって既に手書き入力された文字列や既に作成された手書き文書に含まれる文字列から、入力途中の手書き文字列“ap”61(ストローク611,612,613)と類似する候補文字列を抽出し、その抽出された候補文字列から、重複した文字列を除外することによって取得される。
ユーザは、図8に示すように、第1段階の手書き候補文字列621〜624に、入力しようとしている文字列“apple”が含まれている場合には、その候補文字列“apple”621を選択する(候補文字列のボタンを押し下げる)。これにより、第2段階の手書き候補文字列621,625の表示を指示できる。第2段階の候補文字列621,625は、第1段階の手書き候補文字列621〜624から選択された候補文字列“apple”621と、第1段階で当該候補文字列“apple”621との重複、すなわち、候補文字列“apple”621と同一の文字列であることによって除外されていた候補文字列“apple”625とを含む。候補文字列“apple”621と候補文字列“apple”625とは、同一の“apple”という文字列であるものの、ユーザが過去に手書き入力した文字列や過去に作成した手書き文書等で、それら文字列621,625を、例えば、急いで手書きしたか、丁寧に手書きしたか、等によって、異なる形状(筆跡)を有するものである。
そのためユーザは、図9に示すように、第2段階の候補文字列621,625から好みに合った候補文字列625(例えば、最も綺麗に手書きされた候補文字列、作成中の手書き文書に適した候補文字列、等)を選択する。これにより、入力途中の手書き文字列“ap”61が選択された候補文字列625を用いて置き換えられ、補完された手書き文字列“apple”65を画面60上の手書き文書に描画することができる。したがって、ユーザが文字列“apple”を全て手書き入力することなく、好みに合った形状の手書き文字列“apple”を手書き文書上に描画することができる。
なお、図10に示すように、第1段階の手書き候補文字列621〜624から1つの候補文字列“apple”621が選択され、その候補文字列“apple”621との重複によって第1段階で除外された候補文字列がない場合には、第2段階の候補文字列が表示されることなく、入力途中の手書き文字列“ap”61が当該選択された候補文字列“apple”621に置き換えられる。
予測入力ユーティリティプログラム202は、上述したように、手書き文字列の入力を補助するための候補文字列が表示される場合に、2段階で候補文字列を表示する予測入力機能を有する。この予測入力機能は、図7から図9に示したような手書き文書を作成する場合だけでなく、検索のためのキーワードを手書き入力する場合等、文字が手書き入力されるあらゆるケースに利用できる。
図11は、予測入力ユーティリティプログラム202の機能構成の例を示す。予測入力ユーティリティプログラム202は、タッチスクリーンディスプレイ17を用いた操作によって入力される時系列情報(ストロークデータ)を使用することによって、手書きされた文字列に応じた候補文字列の表示、選択された候補文字列による手書きされた文字列の上書き、等を行う。
予測入力ユーティリティプログラム202は、例えば、軌跡表示処理部301、時系列情報生成部302、特徴量算出部303、類似度算出部304、ソート部305、候補表示処理部306、補完表示処理部307、文字列データ生成部308、ページ保存処理部309、ページ取得処理部310、及び文書表示処理部311を備える。
タッチスクリーンディスプレイ17は、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動(スライド)」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
軌跡表示処理部301及び時系列情報生成部302は、タッチスクリーンディスプレイ17によって発生される「タッチ」、「移動(スライド)」又は「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントには、移動先の接触位置の座標が含まれている。「リリース」イベントには、接触位置が画面から離された位置の座標が含まれている。したがって、軌跡表示処理部301及び時系列情報生成部302は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列を受信することができる。
軌跡表示処理部301は、タッチスクリーンディスプレイ17の画面上で手書きにより入力される1以上のストローク611,612,613(以下、第1ストロークとも称する)を表示する。軌跡表示処理部301は、タッチスクリーンディスプレイ17から座標列を受信し、この座標列に基づいて、ペン100等を使用した手書き入力操作によって手書きされる各ストロークの軌跡をタッチスクリーンディスプレイ17内のLCD17Aの画面上に表示する。この軌跡表示処理部301により、画面にペン100が接触している間のペン100の軌跡、つまりストロークがLCD17Aの画面上に描画される。
時系列情報生成部302は、タッチスクリーンディスプレイ17から出力される上述の座標列を受信し、この座標列に基づいて、図3で詳述したような構造を有する時系列情報(ストロークデータ)を生成する。この場合、時系列情報、つまりストロークの各点に対応する座標及びタイムスタンプ情報は作業メモリ401に一時保存されてもよい。
また、時系列情報生成部302は、生成された時系列情報(ストロークデータ)を特徴量算出部303に出力する。時系列情報生成部302は、例えば、1つのストロークが手書き入力される毎に、そのストロークに対応するストロークデータを特徴量算出部303に出力する。
特徴量算出部303、類似度算出部304、ソート部305、及び候補表示処理部306は、第1段階では、記憶媒体402に格納された、手書き文書データ402Bに対応する手書き文書に含まれる手書き文字列の内、軌跡表示処理部301によって画面に表示された1以上の第1ストローク611,612,613に対応する、入力するための複数の候補に、同一の文字列に対応する複数の第2ストロークの第1候補と複数の第3ストロークの第2候補とが含まれる場合に、第1候補又は第2候補の一方を除外して、入力するための1以上の候補(第1段階の候補文字列)621〜624を画面に表示する。そして、候補表示処理部306は、複数の候補の内の第1候補621と第2候補625の一方が除外された場合に、第1候補621と第2候補625の他方が選択されたことに応じて、第1候補621と第2候補625の双方(第2段階の候補文字列)を画面に表示する。例えば、候補表示処理部306は、第1段階の候補文字列621〜624の内の第1候補文字列621が選択された場合、第2段階では、選択された第1候補文字列621と、当該第1候補文字列621と重複したことによって第1段階で除外された1以上の候補文字列625とを含む第2段階の候補文字列を画面に表示する。
記憶媒体402には、手書き文書に含まれる複数の手書き文字列に対応する複数の手書き文字列データ402Aが格納されていてもよい。特徴量算出部303、類似度算出部304、ソート部305、及び候補表示処理部306は、記憶媒体402に格納された、複数の手書き文字列に対応する複数の手書き文字列データ402Aを用いて、第1段階では、それら複数の手書き文字列の内、軌跡表示処理部301によって画面に表示された1以上の第1ストローク611,612,613に対応する、入力するための複数の候補に、同一の文字列に対応する複数の第2ストロークの第1候補と複数の第3ストロークの第2候補とが含まれる場合に、第1候補又は第2候補の一方を除外して、入力するための1以上の候補(第1段階の候補文字列)621〜624を画面に表示する。手書き文字列データ402Aは、手書き文字列を構成する1以上のストロークに対応する特徴量を含む。特徴量算出部303、類似度算出部304、ソート部305、及び候補表示処理部306は、例えば、この手書き文字列データ402Aに示される複数の手書き文字列から、1以上の第1ストローク611,612,613に対応する特徴量との類似度がしきい値以上である特徴量をそれぞれ有する手書き文字列の候補を検出し、検出された候補から重複する候補が除外された1以上の候補621〜624を、例えば類似度の降順に、画面に表示する。そして、候補表示処理部306は、複数の候補の内の第1候補621と第2候補625の一方が除外された場合に、第1候補621と第2候補625の他方が選択されたことに応じて、第1候補621と第2候補625の双方(第2段階の候補文字列)を画面に表示する。例えば、候補表示処理部306は、第1段階の候補文字列621〜624の内の第1候補文字列621が選択された場合、第2段階では、選択された第1候補文字列621と、当該第1候補文字列621と重複したことによって第1段階で除外された1以上の候補文字列625とを含む第2段階の候補文字列を画面に表示する。
より具体的には、まず、特徴量算出部303は、時系列情報生成部302によって生成された1以上の第1ストローク621,622,623に対応する1以上のストロークデータを用いて特徴量(第1特徴量)を算出する。特徴量算出部303は、例えば、1以上の第1ストローク621,622,623の形状や手書きされた方向等に基づいて特徴量を算出する。
次いで、類似度算出部304は、算出された第1特徴量と、手書き文字列データ402A内の候補文字列に対応する第2特徴量とを用いて、候補文字列毎の類似度を算出する。
図12は、手書き文字列データ402Aの一構成例を示す。この手書き文字列データ402Aは、例えば、ストロークデータや手書き文書データ402Bを解析することによって生成される。また、手書き文字列データ402Aは、例えばユーザ毎に生成される。
手書き文字列データ402Aは、複数の手書き文字列に対応する複数のエントリを含む。手書き文字列データ402Aは、例えば、ユーザが過去に複数回、同一の文字列を手書き入力している場合、その同一の文字列に対応する複数の手書き文字列のエントリを含む。各手書き文字列は、例えば単語に対応する文字列である。
各エントリは、例えば、ID、文字列、特徴量、及びストロークデータを含む。ある手書き文字列に対応するエントリにおいて、「ID」は、その手書き文字列に付与された識別情報を示す。「文字列」は、その手書き文字列に対応するテキスト(文字コード列)を示す。「特徴量」は、その手書き文字列を構成する1以上のストロークに対応する特徴量を示す。「ストロークデータ」は、その手書き文字列を構成する1以上のストロークに対応するストロークデータ(時系列情報)を示す。
「文字列」には、例えば、「ストロークデータ」に示されるストロークデータに文字認識処理を施すことによって得られたテキスト(文字コード列)が設定される。また、「特徴量」には、例えば、「ストロークデータ」に示されるストロークデータを用いて算出された、ストロークの形状やストロークが手書きされた方向に基づく特徴量が設定される。
類似度算出部304は、例えば、手書き入力された1以上の第1ストローク611,612,613が任意の文字列61(例えば、単語、句、等の文字のまとまり)を構成するストロークであって、その文字列61が入力途中である場合(すなわち、文字列61を構成するすべてのストロークの手書き入力が完了していない場合)、その1以上の第1ストローク611,612,613に対応する特徴量(第1特徴量)と、手書き文字列データ402A内の候補文字列に対応する特徴量(第2特徴量)とを用いて、候補文字列の類似度を算出する。類似度算出部304は、手書き文字列データ402A内の複数の候補文字列の各々に対応する類似度を算出する。そして、ソート部305は、手書き文字列データ402A内の複数の候補文字列を、算出された類似度の降順にソートする。
図13は、手書き文字列データ402Aから、類似度に基づいてソートされた候補文字列が取得される例を示す。ここでは、手書き文字列“ap”61を構成する1以上の第1ストローク611,612,613が入力されている場合を想定する。
手書き文字列“ap”61を構成する1以上の第1ストローク611,612,613が入力されている場合、類似度算出部304は、上述したように、手書き文字列データ402Aに含まれる複数の候補文字列の各々について、1以上の第1ストローク“ap”611,612,613に対する類似度を算出する。類似度算出部304は、例えば、1以上の第1ストローク“ap”611,612,613に対応する第1特徴量と、手書き文字列データ402Aの各エントリに含まれる第2特徴量とを用いて、手書き文字列データ402Aに示される候補文字列毎の類似度を算出する。この類似度は、例えば、1以上の第1ストローク611,612,613の第1特徴量と、候補文字列を構成するストロークの第2特徴量との類似性に基づく離散値で表され、第1特徴量と第2特徴量との類似性が高いほど、高い値が設定される。ソート部305は、手書き文字列データ402A内の複数の候補文字列を、算出された類似度の降順にソートする。
次いで、候補表示処理部306は、ソートされた複数の候補文字列から重複した候補文字列を除外することによって、第1段階の候補文字列621〜624を決定する。図13に示す例では、候補表示処理部306は、複数の候補文字列の中で、ID“0001”である文字列“apple”と、ID“0004”である文字列“apple”とが重複していることを検出し、これら2つの文字列“apple”の内、類似度が低いID“0004”の文字列“apple”を第1段階の候補文字列から除外する。そして、候補表示処理部306は、重複した候補文字列が除外された第1段階の候補文字列621〜624(例えば、上位から所定数の候補文字列)をLCD17Aの画面に表示する。
候補表示処理部306は、タッチスクリーンディスプレイ17上での選択操作によって、表示されている第1段階の候補文字列621〜624から1つの候補文字列“apple”621(以下、第1候補文字列とも称する)が選択されたことを検出する。そして、候補表示処理部306は、選択された第1候補文字列“apple”621と重複したことによって第1段階で除外された候補文字列があるか否かを判定する。
第1候補文字列“apple”621と重複したことによって第1段階で除外された候補文字列がある場合、候補表示処理部306は、図8を参照して上述したように、第1候補文字列“apple”621と、第1候補文字列“apple”621と重複したことによって第1段階で除外された候補文字列“apple”625とを含む第2段階の候補文字列を画面に表示する。
補完表示処理部307は、表示された第2段階の候補文字列621,625から1つの候補文字列“apple”(第1候補文字列)621が選択されたことに応じて、1以上の第1ストローク611,612,613(すなわち、入力途中の手書き文字列を構成するストローク)を、選択された第1候補文字列“apple”621を構成する複数の第2ストロークに置き換えることによって、その複数の第2ストロークを画面に表示する。補完表示処理部307は、手書き文字列データ402Aから、選択された第1候補文字列“apple”621に対応するストロークデータを読み出す。そして、補完表示処理部307は、1以上の第1ストローク611,612,613を画面から消去し、その1以上の第1ストローク611,612,613が描画されていた位置に基づいて、読み出されたストロークデータに基づく複数の第2ストロークを描画する。また、補完表示処理部307は、1以上の第1ストローク611,612,613に対応するストロークデータを作業メモリ401から削除し、複数の第2ストロークに対応するストロークデータを作業メモリ401に一時保存してもよい。
また、補完表示処理部307は、表示された第2段階の候補文字列621,625から1つの候補文字列“apple”625(以下、第2候補文字列とも称する)が選択されたことに応じて、図9を参照して上述したように、1以上の第1ストローク611,612,613(すなわち、入力途中の手書き文字列を構成するストローク)を、選択された第2候補文字列“apple”625を構成する複数の第3ストロークに置き換えることによって、その複数の第3ストロークを画面に表示する。補完表示処理部307は、手書き文字列データ402Aから、選択された第2候補文字列“apple”625に対応するストロークデータを読み出す。そして、補完表示処理部307は、1以上の第1ストローク611,612,613を画面から消去し、その1以上の第1ストロークが描画されていた位置に基づいて、読み出されたストロークデータに基づく複数の第3ストロークを描画する。また、補完表示処理部307は、1以上の第1ストローク611,612,613に対応するストロークデータを作業メモリ401から削除し、複数の第3ストロークに対応するストロークデータを作業メモリ401に一時保存してもよい。
さらに、第1候補文字列“apple”621と重複したことによって第1段階で除外された候補文字列がない場合(すなわち、1以上の第1ストロークに対応する入力するための複数の候補に、第1候補文字列“apple”621が含まれ、第2候補文字列625が含まれない場合)、候補表示処理部306は、第1候補文字列“apple”621を含む複数の候補文字列621〜624を表示する。そして、補完表示処理部307は、図10を参照して上述したように、第1候補文字列“apple”621が選択されたことに応じて、1以上の第1ストローク611,612,613(すなわち、入力途中の手書き文字列を構成するストローク)を第1候補文字列“apple”621を構成する複数の第2ストロークに置き換えることによって、その複数の第2ストロークを画面に表示する。補完表示処理部307は、手書き文字列データ402Aから、選択された第1候補文字列“apple”621に対応するストロークデータを読み出す。そして、補完表示処理部307は、1以上の第1ストローク611,612,613を画面から消去し、その1以上の第1ストローク611,612,613が描画されていた位置に基づいて、読み出されたストロークデータに基づく複数の第2ストロークを描画する。また、補完表示処理部307は、1以上の第1ストローク611,612,613に対応するストロークデータを作業メモリ401から削除し、複数の第2ストロークに対応するストロークデータを作業メモリ401に一時保存してもよい。
ページ保存処理部309は、生成されたストロークデータ(作業メモリ401に一時保存されたストロークデータ)を、手書き文書データ402Bとして記憶媒体402に保存する。記憶媒体402は、例えば、タブレットコンピュータ10内のストレージデバイスである。
ページ取得処理部310は、記憶媒体402から既に格納されている任意の手書き文書データ402Bを読み出す。読み出された手書き文書データ402Bは文書表示処理部311に送られる。文書表示処理部311は、手書き文書データ402Bを解析し、この解析結果に基づいて、ストロークデータ(時系列情報)によって示される各ストロークの軌跡を含む文書(ページ)を画面上に表示する。
なお、表示されている候補文字列からいずれの文字列も選択されずに、文字列の手書き入力が完了した場合(例えば、ユーザが文字列を構成するすべてのストロークを手書き入力した場合)、文字列データ生成部308は、入力が完了した文字列に対応する手書き文字列データ402A(手書き文字列データのエントリ)を生成する。文字列データ生成部308は、手書き入力が完了した文字列を構成する1以上のストロークに対応する特徴量を用いて文字認識処理を行うことよって、その1以上のストロークに対応する文字(テキスト)を認識してもよい。文字列データ生成部308は、認識された文字(テキスト)と特徴量とストロークデータとを含む手書き文字列データのエントリを生成し、当該エントリを手書き文字列データ402Aに追加する。
また、文字列データ生成部308は、既に作成された手書き文書のデータ402Bを解析することによって、手書き文字列データ402Aを生成してもよい。文字列データ生成部308は、例えば、英語の手書き文書データ402Bを解析する場合、手書き文書に含まれる文字列(手書き文字列に対応するストロークデータ)に対して文字認識処理を施すことによって、手書きの文字列に対応するテキスト(テキストデータ)を生成する。そして、文字列データ生成部308は、生成されたテキストから単語を検出し、単語毎の手書き文字列データ402Aのエントリを生成する。
また、文字列データ生成部308は、例えば、日本語の手書き文書データ402Bを解析する場合、手書き文書に含まれる文字列(手書き文字列に対応するストロークデータ)に対して文字認識処理を施すことによって、手書きの文字列に対応するテキスト(テキストデータ)を生成する。そして、文字列データ生成部308は、生成されたテキストに形態素解析処理を施すことによって、そのテキストを単語(形態素)に区切り、単語毎の手書き文字列データ402Aのエントリを生成する。
これにより、既に作成された手書き文書のデータ402Bから手書き文字列データ402Aを生成することができる。
また、図14から図17を参照して、2段階で表示される手書き候補文字列を用いて、入力途中の手書き文字列が補完される別の例を説明する。
図14に示すように、タブレットコンピュータ10によって表示される手書き文書の画面60には、ユーザが既に入力を完了した手書き文字列69と、入力途中の手書き文字列“ap”61を構成するストローク611,612,613とが表示されている。特徴量算出部303、類似度算出部304、ソート部305、及び候補表示処理部306は、入力途中の手書き文字列“ap”61(ストローク611,612,613)に基づく第1段階の手書き候補文字列621〜624を画面60に表示する。
より具体的には、特徴量算出部303は、入力途中の手書き文字列“ap”61を構成するストローク611,612,613に対応するストロークデータを用いて、入力途中の手書き文字列“ap”61の特徴量(第1特徴量)を算出する。類似度算出部304は、算出された第1特徴量と、手書き文字列データ402A内の候補文字列に対応する第2特徴量とを用いて、候補文字列毎の類似度を算出する。ソート部305は、手書き文字列データ402A内の複数の候補文字列を、算出された類似度の降順にソートする。
そして、候補表示処理部306は、ソートされた複数の候補文字列に、同一の文字列に対応する複数の候補文字列(すなわち、重複した候補文字列)が含まれている場合、それら同一の文字列に対応する複数の候補文字列の内の一つ(例えば、類似度が最大である候補文字列)を選択することによって、重複した候補文字列を除外する。候補表示処理部306は、重複した候補文字列が除外された候補文字列(第1段階の候補文字列)621〜624を、例えば、類似度に基づく順序で画面60に表示する。そして、候補表示処理部306によって同一の文字列に対応する第1候補と第2候補の一方が除外された場合、候補表示処理部306は、除外されていない第1候補又は第2候補に関連付けられた第1画像をさらに表示する。候補表示処理部306は、例えば、候補文字列“apple”621(第1候補)との重複によって除外された候補文字列“apple”(第2候補)がある場合、除外されていない候補文字列“apple”621に関連付けられた第1画像(ボタン)621Aを表示する。第1画像(ボタン)621Aは、例えば、候補文字列“apple”621に対応する領域内に表示される。つまり、候補表示処理部306は、表示される第1段階の候補文字列621〜624の内、同一の文字列に対応する複数の候補文字列から選択された候補文字列“apple”621に、第1画像(ボタン)621Aを付加する。この画像621Aは、候補文字列“apple”621に対応する第2段階の候補文字列の表示を指示するために用いられる。
図15に示すように、ユーザが候補文字列“apple”621(第1候補)を選択した場合、補完表示処理部307は、候補文字列“apple”621を用いて、入力途中の手書き文字列61を置き換えることによって、補完された手書き文字列66を画面60上の手書き文書に描画する。つまり、補完表示処理部307は、入力途中の1以上の第1ストローク611,612,613を、候補文字列“apple”621を構成する複数の第2ストロークに置き換えることによって、複数の第2ストロークを画面60に表示する。なお、候補文字列“apple”621の選択は、例えば、文字列“apple”621のストロークが描画されている領域の選択や、文字列“apple”621に対応する領域の内の画像621A以外の領域の選択、等によって行われる。
また、図16に示すように、ユーザが第1画像621Aに対応する領域を選択した場合、候補表示処理部306は、候補文字列“apple”621(第1候補)と、第1段階で当該候補文字列“apple”621との重複によって除外されていた候補文字列“apple”625(第2候補)とを含む第2段階の候補文字列を画面60に表示する。候補文字列“apple”621と候補文字列“apple”625とは、同一の“apple”という文字列であるものの、ユーザが過去に手書き入力した文字列や過去に作成した手書き文書等で、それら文字列621,625を、例えば、急いで手書きしたか、丁寧に手書きしたか、等によって、異なる形状を有するものである。
図17に示すように、ユーザが第2段階の候補文字列621,625から適当と判断した候補文字列625(例えば、最も綺麗に手書きされた候補文字列、作成中の手書き文書に適した候補文字列、等)を選択した場合、補完表示処理部307は、選択された候補文字列625を用いて、入力途中の手書き文字列“ap”61を置き換えることによって、補完された手書き文字列“apple”65を画面60上の手書き文書に描画する。つまり、補完表示処理部307は、入力途中の1以上の第1ストローク611,612,613を、候補文字列“apple”625を構成する複数の第3ストロークに置き換えることによって、複数の第3ストロークを画面60に表示する。
以上の構成により、入力が予測される文字列の候補を効果的に提示することができる。
次いで、図18のフローチャートを参照して、予測入力ユーティリティプログラム202によって実行される手書き入力処理の手順の例について説明する。
軌跡表示処理部301は、手書き入力操作によるペン100等の動きの軌跡(ストローク)を文書上に表示する(ブロックB11)。また、時系列情報生成部302は、手書き入力操作による軌跡に対応する座標列に基づいて上述の時系列情報(時系列順に並べられたストロークデータ)を生成し、その時系列情報を作業メモリ401に一時保存する(ブロックB12)。
また、図19のフローチャートは、予測入力ユーティリティプログラム202によって実行される類似度算出処理の手順の例を示す。
特徴量算出部303は、1つの手書きストローク(第1ストローク)の入力が完了したか否かを判定する(ブロックB21)。特徴量算出部303は、例えば、時系列情報生成部302から、第1ストロークに対応するストロークデータを受け取った場合に、第1ストロークの入力が完了したことを検出する。第1ストロークの入力が完了していない場合(ブロックB21のNO)、ブロックB21に戻り、第1ストロークの入力が完了したか否かが再度判定される。
第1ストロークの入力が完了した場合(ブロックB21のYES)、特徴量算出部303は、時系列情報生成部302によって生成された、当該第1ストロークに対応する時系列情報(ストロークデータ)を用いて、特徴量を算出する(ブロックB22)。類似度算出部304は、算出された特徴量(第1特徴量)と、手書き文字列データ402A内の候補文字列に対応する特徴量(第2特徴量)とを用いて、候補文字列の類似度を算出する(ブロックB23)。より具体的には、第1ストロークが、入力途中の文字列(文字)を構成するストロークである場合、類似度算出部304は、算出された特徴量を含む、入力途中の文字列の文字を構成する1以上の手書きストロークに対応する特徴量(第1特徴量)と、手書き文字列データ402A内の候補文字列に対応する特徴量(第2特徴量)とを用いて、候補文字列の類似度を算出する。また、入力された第1ストロークが文字列を構成する先頭のストロークである場合、類似度算出部304は、算出された特徴量(第1特徴量)と、手書き文字列データ402A内の候補文字列に対応する特徴量(第2特徴量)とを用いて、候補文字列の類似度を算出する。
次いで、類似度算出部304は、手書き文字列データ402A内に、他の候補文字列のエントリ(すなわち、類似度がまだ算出されていない候補文字列のエントリ)が含まれているか否かを判定する(ブロックB24)。手書き文字列データ402Aに他の候補文字列のエントリが含まれている場合(ブロックB24のYES)、ブロックB23に戻り、その候補文字列の類似度が算出される。
手書き文字列データ402A内に他の候補文字列のエントリが含まれていない場合、すなわち、すべての候補文字列の類似度が算出された場合(ブロックB24のNO)、ソート部305は候補文字列を類似度が高い順に並べ替える(ブロックB25)。
次いで、図20のフローチャートを参照して、予測入力ユーティリティプログラム202によって実行される予測入力処理の手順の例を説明する。
まず、特徴量算出部303、類似度算出部304及びソート部305は、上述した図19の類似度算出処理によって、類似度順の候補文字列のリストを生成する(ブロックB31)。そして、候補表示処理部306は、生成された候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれているか否かを判定する(ブロックB32)。候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれていない場合(ブロックB32のNO)、候補表示処理部306は、その候補文字列のリストを画面に表示する(ブロックB34)。
一方、候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれている場合(ブロックB32のYES)、候補表示処理部306は、同一の文字列に対応する複数の候補文字列の内の1つを選択することによって、候補文字列のリストから重複した候補文字列を除外する(ブロックB33)。そして、候補表示処理部306は、重複した候補文字列が除外された候補文字列のリストを画面に表示する(ブロックB34)。
次いで、候補表示処理部306は、表示された候補文字列の内の1つが選択されたか否かを判定する(ブロックB35)。表示された候補文字列がいずれも選択されない場合(ブロックB35のNO)、ブロックB31に戻り、さらに入力される手書き文字列(ストローク)に応じた候補文字列を表示するための処理が行われる。
表示された候補文字列の内の1つが選択された場合(ブロックB35のYES)、候補表示処理部306は、選択された候補文字列が、ブロックB31で生成された候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれていた候補文字列であるか否かを判定する(ブロックB36)。選択された候補文字列が、ブロックB31で生成された候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれていた候補文字列でない場合(ブロックB36のNO)、補完表示処理部307は、入力途中の文字列(ストローク)を、選択された候補文字列に置き換えることによって、当該候補文字列を画面に表示する(ブロックB39)。
選択された候補文字列が、ブロックB31で生成された候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれていた候補文字列である場合(ブロックB36のYES)、候補表示処理部306は、選択された候補文字列と、当該候補文字列との重複によって除外されていた候補文字列とを画面に表示する(ブロックB37)。そして、候補表示処理部306は、表示された候補文字列の内の1つが選択されたか否かを判定する(ブロックB38)。表示された候補文字列がいずれも選択されない場合(ブロックB38のNO)、ブロックB31に戻り、さらに入力される手書き文字列(ストローク)に応じた候補文字列を表示するための処理が行われる。
一方、表示された候補文字列の内の1つが選択された場合(ブロックB38のYES)、補完表示処理部307は、入力途中の文字列(ストローク)を、選択された候補文字列に置き換えることによって、当該候補文字列を画面に表示する(ブロックB39)。
また、図21のフローチャートは、予測入力ユーティリティプログラム202によって実行される予測入力処理の別の手順の例を示す。
まず、特徴量算出部303、類似度算出部304及びソート部305は、上述した図19の類似度算出処理によって、類似度順の候補文字列のリストを生成する(ブロックB401)。そして、候補表示処理部306は、生成された候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれているか否かを判定する(ブロックB402)。候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれていない場合(ブロックB402のNO)、候補表示処理部306は、その候補文字列のリストを画面に表示する(ブロックB403)。
次いで、候補表示処理部306は、表示された候補文字列の内の1つが選択されたか否かを判定する(ブロックB404)。表示された候補文字列がいずれも選択されない場合(ブロックB404のNO)、ブロックB401に戻り、さらに入力される手書き文字列(ストローク)に応じた候補文字列を表示するための処理が行われる。一方、表示された候補文字列の内の1つが選択された場合(ブロックB404のYES)、補完表示処理部307は、入力途中の文字列(ストローク)を、選択された候補文字列に置き換えることによって、当該候補文字列を画面に表示する(ブロックB405)。
また、候補文字列のリスト内に、同一の文字列に対応する複数の候補文字列が含まれている場合(ブロックB402のYES)、候補表示処理部306は、同一の文字列に対応する複数の候補文字列の内の1つを選択することによって、候補文字列のリストから重複した候補文字列を除外する(ブロックB406)。そして、候補表示処理部306は、重複した候補文字列があった候補文字列には所定の画像を付加して、候補文字列のリストを画面に表示する(ブロックB407)。表示される候補文字列のリストでは、例えば、複数の候補文字列が所定の方向に並べられ、それら複数の候補文字列の内、重複した候補文字列があった候補文字列に所定の画像が関連付けて表示される。
次いで、候補表示処理部306は、表示された候補文字列の内の1つが選択されたか否かを判定する(ブロックB408)。表示された候補文字列の内の1つが選択された場合(ブロックB408のYES)、補完表示処理部307は、入力途中の文字列(ストローク)を、選択された候補文字列に置き換えることによって、当該候補文字列を画面に表示する(ブロックB405)。
表示された候補文字列がいずれも選択されない場合(ブロックB408のNO)、候補表示処理部306は、候補文字列に付加された画像が選択されたか否かを判定する(ブロックB409)。候補文字列に付加された画像が選択されていない場合(ブロックB409のNO)、ブロックB401に戻り、さらに入力される手書き文字列(ストローク)に応じた候補文字列を表示するための処理が行われる。
候補文字列に付加された画像が選択された場合(ブロックB409のYES)、候補表示処理部306は、選択された画像が付加された候補文字列と、当該候補文字列との重複によって除外されていた候補文字列とを表示する(ブロックB410)。そして、候補表示処理部306は、表示された候補文字列の内の1つが選択されたか否かを判定する(ブロックB411)。表示された候補文字列の内の1つが選択された場合(ブロックB411のYES)、補完表示処理部307は、入力途中の文字列(ストローク)を、選択された候補文字列に置き換えることによって、当該候補文字列を画面に表示する(ブロックB405)。表示された候補文字列がいずれも選択されない場合(ブロックB411のNO)、ブロックB401に戻る。
以上説明したように、本実施形態によれば、入力が予測される文字列の候補を効果的に提示することができる。軌跡表示処理部301は、タッチスクリーンディスプレイ17の画面上で手書きにより入力される1以上の第1ストロークを表示する。候補表示処理部306は、1以上の第1ストロークに対応する入力するための複数の候補に、同一の文字列に対応する複数の第2ストロークの第1候補と複数の第3ストロークの第2候補とが含まれる場合に、第1候補と第2候補の一方を除外して、入力するための1以上の候補をLCD17Aの画面に表示する。
ユーザによる手書き入力の履歴を利用して、入力途中の手書き文字列に対応する候補文字列が表示される場合には、同一の文字列である候補文字列が表示され、ユーザが期待する候補文字列が表示される可能性が低下する場合がある。しかし、上述の構成によって、重複した候補文字列が除外された候補文字列を表示されるので、ユーザが期待する候補文字列が表示される可能性を高めることができ、ユーザは、表示される候補文字列から入力したい文字列を容易に選択することができる。
また、候補表示処理部306は、第1候補又は第2候補の一方が除外された場合に、第1候補又は第2候補の他方が選択されたことに応じて、第1候補と第2候補との双方を画面に表示する。これにより、同一の文字列であって、形状(筆跡)が異なる候補が表示されるので、ユーザの好みに合った形状の文字列(例えば、より綺麗な形状の文字列)を用いて、入力途中の文字列(ストローク)を補完することができる。
なお、図18から図21のフローチャートで説明した本実施形態の処理手順は全てソフトウェアによって実行することができる。このため、この処理手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
17A…LCD、202…予測入力ユーティリティプログラム、301…軌跡表示処理部、302…時系列情報生成部、303…特徴量算出部、304…類似度算出部、305…ソート部、306…候補表示処理部、307…補完表示処理部、308…文字列データ生成部、309…ページ保存処理部、310…ページ取得処理部、311…文書表示処理部、401…作業メモリ、402…記憶媒体、402A…手書き文字列データ、402B…手書き文書データ。

Claims (18)

  1. タッチスクリーンディスプレイの画面上で手書きにより入力される1以上の第1ストロークを表示する表示処理手段を具備し、
    前記表示処理手段は、前記1以上の第1ストロークに対応する入力するための複数の候補に、同一の文字列に対応する複数の第2ストロークの第1候補と複数の第3ストロークの第2候補とが含まれる場合に、前記第1候補又は前記第2候補の一方を除外して、入力するための1以上の候補を前記画面に表示する電子機器。
  2. 前記表示処理手段は、前記第1候補又は前記第2候補の一方が除外された場合に、前記第1候補又は前記第2候補の他方が選択されたことに応じて、前記第1候補と前記第2候補との双方を前記画面に表示する請求項1記載の電子機器。
  3. 前記表示処理手段は、前記第1候補と前記第2候補との双方が表示された後に、前記第1候補が選択された場合、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示し、前記第2候補が選択された場合、前記1以上の第1ストロークを前記第2候補の前記複数の第3ストロークに置き換えることによって、前記複数の第3ストロークを前記画面に表示する請求項2記載の電子機器。
  4. 前記表示処理手段は、前記複数の候補に、前記第1候補が含まれ、前記第2候補が含まれない場合、前記複数の候補を前記画面に表示し、前記第1候補が選択されたことに応じて、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示する請求項1記載の電子機器。
  5. 前記表示処理手段は、前記第1候補と前記第2候補の一方が除外された場合、除外されていない第1候補又は第2候補に関連付けられた第1画像をさらに表示する請求項1記載の電子機器。
  6. 前記表示処理手段は、前記第1画像が選択された場合、前記第1候補と前記第2候補との双方を前記画面に表示し、前記第1候補が選択された場合、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示し、前記第2候補が選択された場合、前記1以上の第1ストロークを前記第2候補の前記複数の第3ストロークに置き換えることによって、前記複数の第3ストロークを前記画面に表示する請求項5記載の電子機器。
  7. タッチスクリーンディスプレイの画面上で手書きにより入力される1以上の第1ストロークを表示し、
    前記1以上の第1ストロークに対応する入力するための複数の候補に、同一の文字列に対応する複数の第2ストロークの第1候補と複数の第3ストロークの第2候補とが含まれる場合に、前記第1候補又は前記第2候補の一方を除外して、入力するための1以上の候補を前記画面に表示する方法。
  8. 前記第1候補又は前記第2候補の一方が除外された場合に、前記第1候補又は前記第2候補の他方が選択されたことに応じて、前記第1候補と前記第2候補との双方を前記画面に表示することをさらに具備する請求項7記載の方法。
  9. 前記第1候補と前記第2候補との双方が表示された後に、前記第1候補が選択された場合、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示し、前記第2候補が選択された場合、前記1以上の第1ストロークを前記第2候補の前記複数の第3ストロークに置き換えることによって、前記複数の第3ストロークを前記画面に表示することとをさらに具備する請求項8記載の方法。
  10. 前記複数の候補に、前記第1候補が含まれ、前記第2候補が含まれない場合、前記複数の候補を前記画面に表示し、前記第1候補が選択されたことに応じて、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示することをさらに具備する請求項7記載の方法。
  11. 前記1以上の候補を表示することは、前記第1候補と前記第2候補の一方が除外された場合、除外されていない第1候補又は第2候補に関連付けられた第1画像をさらに表示する請求項7記載の方法。
  12. 前記第1画像が選択された場合、前記第1候補と前記第2候補との双方を前記画面に表示することと、
    前記第1候補が選択された場合、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示し、前記第2候補が選択された場合、前記1以上の第1ストロークを前記第2候補の前記複数の第3ストロークに置き換えることによって、前記複数の第3ストロークを前記画面に表示することとをさらに具備する請求項11記載の方法。
  13. コンピュータにより実行されるプログラムであって、前記プログラムは、
    タッチスクリーンディスプレイの画面上で手書きにより入力される1以上の第1ストロークを表示する手順と、
    前記1以上の第1ストロークに対応する入力するための複数の候補に、同一の文字列に対応する複数の第2ストロークの第1候補と複数の第3ストロークの第2候補とが含まれる場合に、前記第1候補又は前記第2候補の一方を除外して、入力するための1以上の候補を前記画面に表示する手順とを前記コンピュータに実行させるプログラム。
  14. 前記第1候補又は前記第2候補の一方が除外された場合に、前記第1候補又は前記第2候補の他方が選択されたことに応じて、前記第1候補と前記第2候補との双方を前記画面に表示する手順を前記コンピュータにさらに実行させる請求項13記載のプログラム。
  15. 前記第1候補と前記第2候補との双方が表示された後に、前記第1候補が選択された場合、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示し、前記第2候補が選択された場合、前記1以上の第1ストロークを前記第2候補の前記複数の第3ストロークに置き換えることによって、前記複数の第3ストロークを前記画面に表示する手順とを前記コンピュータにさらに実行させる請求項14記載のプログラム。
  16. 前記複数の候補に、前記第1候補が含まれ、前記第2候補が含まれない場合、前記複数の候補を前記画面に表示し、前記第1候補が選択されたことに応じて、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示する手順を前記コンピュータにさらに実行させる請求項13記載のプログラム。
  17. 前記1以上の候補を表示する手順は、前記第1候補と前記第2候補の一方が除外された場合、除外されていない第1候補又は第2候補に関連付けられた第1画像をさらに表示する請求項13記載のプログラム。
  18. 前記第1画像が選択された場合、前記第1候補と前記第2候補との双方を前記画面に表示する手順と、
    前記第1候補が選択された場合、前記1以上の第1ストロークを前記第1候補の前記複数の第2ストロークに置き換えることによって、前記複数の第2ストロークを前記画面に表示し、前記第2候補が選択された場合、前記1以上の第1ストロークを前記第2候補の前記複数の第3ストロークに置き換えることによって、前記複数の第3ストロークを前記画面に表示する手順とを前記コンピュータにさらに実行させる請求項17記載のプログラム。
JP2014044746A 2014-03-07 2014-03-07 電子機器及び方法 Pending JP2015170150A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014044746A JP2015170150A (ja) 2014-03-07 2014-03-07 電子機器及び方法
US14/521,320 US20150253878A1 (en) 2014-03-07 2014-10-22 Electronic device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014044746A JP2015170150A (ja) 2014-03-07 2014-03-07 電子機器及び方法

Publications (1)

Publication Number Publication Date
JP2015170150A true JP2015170150A (ja) 2015-09-28

Family

ID=51751922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014044746A Pending JP2015170150A (ja) 2014-03-07 2014-03-07 電子機器及び方法

Country Status (2)

Country Link
US (1) US20150253878A1 (ja)
JP (1) JP2015170150A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115701298A (zh) * 2021-05-28 2023-02-07 京东方科技集团股份有限公司 一种交互方法、电子设备及计算机存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120206366A1 (en) * 2011-02-14 2012-08-16 Research In Motion Limited Systems and Methods for Character Input Using an Input Member on a Mobile Device
KR102087896B1 (ko) * 2013-04-03 2020-03-12 삼성전자주식회사 터치스크린을 가지는 전자 장치에서 텍스트 입력하는 방법 및 장치
WO2015030461A1 (en) * 2013-08-26 2015-03-05 Samsung Electronics Co., Ltd. User device and method for creating handwriting content

Also Published As

Publication number Publication date
US20150253878A1 (en) 2015-09-10

Similar Documents

Publication Publication Date Title
JP5458161B1 (ja) 電子機器および方法
US9606981B2 (en) Electronic apparatus and method
JP6270565B2 (ja) 電子機器および方法
JP5349645B1 (ja) 電子機器および手書き文書処理方法
JP6301736B2 (ja) 電子機器及び方法
JP2015162088A (ja) 電子機器、方法及びプログラム
US20150169948A1 (en) Electronic apparatus and method
US20150146986A1 (en) Electronic apparatus, method and storage medium
JP5342052B1 (ja) 電子機器および方法
JP5395927B2 (ja) 電子機器および手書き文書検索方法
WO2014147712A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2014106881A (ja) 情報処理装置、情報処理方法及びプログラム
JPWO2015136618A1 (ja) 電子機器、方法およびプログラム
JP6290003B2 (ja) 電子機器及び方法
JP6081606B2 (ja) 電子機器および方法
JP5480357B1 (ja) 電子機器および方法
JP6342194B2 (ja) 電子機器、方法及びプログラム
WO2015107692A1 (ja) 手書きのための電子機器および方法
JP5735126B2 (ja) システムおよび筆跡検索方法
JP6223687B2 (ja) 電子機器および手書き文書検索方法
JP2015170150A (ja) 電子機器及び方法
JP6655331B2 (ja) 電子機器及び方法
JP6039066B2 (ja) 電子機器、手書き文書検索方法およびプログラム
JP5330576B1 (ja) 情報処理装置および筆跡検索方法
WO2016031016A1 (ja) 電子機器、方法及びプログラム