説明

手書き文字認識方法およびシステム

【課題】タブレット型コンピュータにおける効率的な手書き文字認識方法およびシステムを提供する。
【解決手段】タブレット型コンピュータにおける手書き文字認識方法で使用される複数のプログラム・モジュールのうち、相対的に優先度の高い処理を行うプログラム・モジュール群はユーザフィードバックを迅速に行うことを目的とし、一方、優先度の低い処理を行うプログラム・モジュール群はバックグラウンドで実施されるテキストデータ生成処理、文字認識の精度向上処理を目的とする。複数のプログラム・モジュール群を作成することにより、従来技術を単純に組み合わせたものよりも優れたユーザ体験を手書き文字認識方法およびシステムを提供することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、手書き文字認識方法およびシステムに関する。より詳細に言えば、本発明は、タブレット型コンピュータに実装されているタッチパネルを介して入力された手書き文字を認識する方法およびシステムに関する。
【背景技術】
【0002】
近年、スマートフォンと呼ばれる携帯電話の一種が広まっている。このスマートフォンの中には、筐体にスイッチやボタンがほとんど無く、タッチパネル式のディスプレイを指などで触れる(「ジェスチャー」とも言われる)ことによりほとんどの操作を行うものが知られている。
【0003】
このタイプのスマートフォンの機能を継承したタブレット型コンピュータについても、近年、普及しつつある。このタブレット型コンピュータは、当該スマートフォンの数倍の大きさ(例えば、A4版やB5判ノート程度の大きさ)を有することから、上記スマートフォンでは画面の大きさにより制約があった動画コンテンツの視聴や電子書籍の閲覧など従来よりも拡張されたユーザ体験(user experience)を提供することができる。
【0004】
このタブレット型コンピュータは、無線LANやセルラーネットワークなどの無線ネットワークを介してインターネットから様々なアプリケーション(ソフトウェア)をダウンロードすることができる。ユーザはそのアプリケーションを個々のニーズにあわせて使用することができる。これらのアプリケーションの中には、手書き方式によりメモを作成することができるものも存在する。ユーザは作成したメモのデータを他のユーザに提供することができ、また、他のアプリケーションと連携させて活用することができる。
【0005】
パーソナル・コンピュータ(以下、「PC」とする)や携帯電話・PHSに実装されるアプリケーションにおいては、メモを作成・編集する機能として、従来、以下の機能の1つまたは複数を組み合わせて実施することが知られていた。
1)ある領域(領域A)で入力した文字を別の領域(領域B)に縮小して表示
2)複数の規定領域から入力する領域を選択し、入力文字列を選択した領域内に表示
3)手書き文字認識
4)辞書、および文字の連続性に関する確率を用いた手書き文字認識精度の向上
5)文章内の特定語句の自動認識とそれに対するアノテーション添付
6)タッチスクリーン/タッチパッドで、ジェスチャーを利用した電子機器の操作
7)文章検索
8)電子メール、SNS、ネット上情報保存・共有などのネットワークを介したサービス
9)入力履歴等を用いた、文章入力時の予測変換
10)音声認識による単語および文章の入力
上記の従来技術の他にも手書き文字認識に関しては、従来から多くの改良がなされてきた(特許文献1、2参照)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2003−308484号公報
【特許文献2】特開平6−332610号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、タブレット型コンピュータに対して、上記従来技術1)〜6)を全て単純に組み合わせて実装すると、ユーザ入力に対する反応が遅くなり、ユーザ体験が劣化するという課題があった。
【0008】
また、タブレット型コンピュータにおける手書き文字認識では漢字変換を行わないので、特に携帯電話・PHSなどでの単語や文章入力時の効率を大幅に向上させている上記9)予測変換や10)音声認識の機能の恩恵にあずかれないという課題があった。
【0009】
本発明は、上記課題に鑑みてなされたものであって、その目的とするところは、タブレット型コンピュータにおけるより効率的な手書き文字認識方法およびシステムを提供することにある。
【課題を解決するための手段】
【0010】
上記の課題を解決するために、本発明は、タブレット型コンピュータにおける手書き文字認識方法を提供する。当該タブレット型コンピュータが実行する前記方法は、(a)複数のプログラム・モジュールのうち、相対的に優先度の低い処理を行うプログラム・モジュールを処理優先度の低いスレッドとして生成するステップと、(b)前記スレッドを実行するか否かを判定するステップと、(c)前記スレッドを実行しないと判定した場合に、ユーザ入力を受信するステップと、(d)前記ユーザ入力が前記タブレット型コンピュータのディスプレイの第1の領域に対して行われたものであるか否かを判定するステップと、(e)前記ユーザ入力が前記第1の領域に対して行われたと判定された場合に、前記第1の領域に前記ユーザ入力に対応する描画を行うとともに、該描画を前記ディスプレイの第2の領域にビットマップデータとして表示するステップと、(f)前記描画に対応する筆跡データを、前記スレッドのプログラム・モジュールがアクセス可能な共有リストに格納するステップと、(g)前記スレッドを実行するとの判定がされるまで、上記ステップ(b)〜(f)を繰り返すステップと、(h)前記スレッドを実行すると判定した場合に、前記共有リストにユーザによって入力された筆跡データが格納されているか否かを判定するステップと、(i)前記筆跡データが格納されている場合、前記共有リストから前記筆跡データを読み出すステップと、(j)読み出した前記筆跡データに対応する1つまたは複数のテキストデータを推定するステップであって、該1つまたは複数のテキストデータは少なくとも確度の情報を含む、ステップと、(k)前記推定された1つまたは複数のテキストデータを対応する前記筆跡データと結合して格納するステップを含むことを特徴する。
【0011】
また、本発明は、タブレット型コンピュータにおける手書き文字認識システムを提供する。当該システムは、1つまたは複数のプログラム・モジュールを含む第1のプログラム・モジュール群を格納する手段と、前記第1のプログラム・モジュール群よりも優先度の低い処理を行う1つまたは複数のプログラム・モジュールを含む第2のプログラム・モジュール群を格納する手段と、認識結果データベースを備え、前記第1のプログラム・モジュール群は、受信したユーザ入力が前記タブレット型コンピュータのディスプレイの第1の領域に対して行われたものであると判定した場合に、該第1の領域に該ユーザ入力に対応する描画を行うとともに、該描画を該ディスプレイの第2の領域にビットマップデータである筆跡データとして表示し、該筆跡データを前記第2のプログラム・モジュール群がアクセス可能な共有リストに格納するための縮小表示プログラム・モジュールを少なくとも含み、前記第2のプログラム・モジュール群は、前記共有リストに前記筆跡データが格納されている場合に、該共有リストから該筆跡データを読み出すとともに、読み出した該筆跡データに対応する1つまたは複数のテキストデータを推定するための特定語句認識プログラム・モジュールであって、該テキストデータは少なくとも確度の情報を含む、特定語句認識プログラム・モジュールを少なくとも含み、前記推定されたテキストデータは、対応する前記筆跡データと結合されて前記認識結果データベースに格納される、ことを特徴する。
【発明の効果】
【0012】
本発明によれば、タブレット型コンピュータにおけるより効率的な手書き文字認識方法およびシステムを提供することができる。
【0013】
また、本発明によれば、手書き入力に対するユーザフィードバックがより迅速に行われ、手書き文字認識を行う際に従来では活用できていなかった予測変換機能や音声認識機能を利用することができる。
【0014】
また、本発明によれば、筆跡情報とともに保存される1つまたは複数のテキストベースの文字列情報が存在するため、作成したメモに対して全文検索を行ったり、あるいはネットワーク上で提供される各種ウェブサービスにテキストベースの文字列情報を送信して連携したりすることも可能となる。
【図面の簡単な説明】
【0015】
【図1】本発明に係るタブレット型コンピュータのシステム構成図である。
【図2】本発明に係る手書き文字認識方法を実行するためのプログラム・モジュールを示す図である。
【図3】本発明に係るタブレット型コンピュータの外観を示す図である。
【図4】本発明に係る手書き文字認識のフローを示す図である。
【図5】本発明に係る手書き文字認識のフローを示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の例示的な実施形態について詳細に説明する。
【0017】
(システム構成)
図1は、本発明に係る手書き文字認識方法が実装されるタブレット型コンピュータ100のシステム構成図である。
【0018】
タブレット型コンピュータ100は、制御部101、主記憶部102、補助記憶部103、インターフェース(I/F)部104、表示部105、認識結果DB106、辞書DB107、文字パターンDB108および個人別履歴DB109を備える。これらの構成要素101〜109はバス120で相互に接続されており、制御部101によって各構成要素102〜109は統括して制御される。また、タブレット型コンピュータ100は、スタイラスペン160を介してユーザ入力を受けることができる。図1では、スタイラスペン160は、タブレット型コンピュータ100と有線で接続されていないことを示すために、破線の矢印で示されている。
【0019】
制御部101は、中央処理装置(CPU)とも呼ばれ、上述したように各構成要素102〜109の制御やデータの演算を行い、また、補助記憶部103に格納されている各種プログラム・モジュールを主記憶部102に読み出して実行する。主記憶部102は、メインメモリとも呼ばれ、タブレット型コンピュータ100が受信した各種データ、コンピュータ実行可能な命令および当該命令による演算処理後のデータなどを記憶する。
【0020】
補助記憶部103は、ハードディスク(HDD)などに代表される記憶装置であり、データやプログラムを長期的に保存する際に使用される。主記憶部102は、補助記憶部103よりも記憶容量が相対的に小さいため、一時的なデータの記憶や演算処理などに使用されるのに対し、補助記憶部103は、必要なデータや情報の長期的な記憶・保存のために使用される。つまり、制御部101がプログラムを実行してデータの演算を行う場合には、補助記憶部103から必要なデータやプログラムを主記憶部102に読み出し、演算結果のデータを長期的に記憶・保存するには制御部101が補助記憶部103に演算結果のデータを書き込むこととなる。
【0021】
インターフェース(I/F)部104は、手書き文字入力用のスタイラスペン160との間でデータを送受信する際のインターフェースの役割を果たす。タブレット型コンピュータ100の外部から受信したデータは、主記憶部102に一時的に記憶される。また、インターフェース部104は、ユーザより各種コマンドや入力データ(各種マスタ、テーブルなど)を受け付けるインターフェース(入力画面などのアプリケーションプログラム)を表示部105に提供する。表示部105は、タブレット型コンピュータ100によって処理されるデータや上記インターフェースを表示する。
【0022】
認識結果DB106は、タブレット型コンピュータ100によって認識された、ユーザ入力の筆跡情報と当該筆跡情報に結合された1つまたは複数の文字列および/または音声情報を格納する。
【0023】
辞書DB107は、タブレット型コンピュータ100において使用される、国語、類語、新語、英和・和英などの辞書や百科事典の情報を格納する。これらの辞書や百科事典は、タブレット型コンピュータ100に予め内蔵されていても良いし、ネットワーク経由でダウンロードして格納されても良い。辞書DB107には、音声情報を認識する際に使用されるイントネーションなどの情報も含まれる。また、辞書DB107に格納されている各種辞書や百科事典は、タブレット型コンピュータ100で稼動するアプリケーションで使用することができる管理情報などをメタデータとして保有する(例えば、使用頻度に応じた優先使用順位の情報、など)。
【0024】
文字パターンDB108は、ユーザによって入力された筆跡情報に基づいて対応する文字や語句を推定する際に使用される文字パターン(テンプレート)を格納する。この文字パターンは、タブレット型コンピュータ100に予め内蔵されていても良いし、ネットワーク経由でダウンロードして格納されても良い。
【0025】
個人別履歴DB109は、以前に入力した筆跡情報、辞書DB107に格納されている辞書や百貨事典の使用頻度および音声の特徴をユーザ別に保存しておくデータベースである。このデータベースを利用することにより、例えば、「会議」という文字についても個々人による筆跡の特徴を記憶することが可能であり、また、個々人の声の特徴も記憶することができるため、文字認識および音声認識の精度向上に役立たせることが可能となる。
【0026】
スタイラスペン160は、タブレット型コンピュータ100に表示される入力欄に文字を描画可能なものであれば、周知の任意のスタイラスペンを利用することができる。
【0027】
(プログラム・モジュールの機能)
図2は、本発明に係る手書き文字認識方法を実行するためのプログラム・モジュールを示す図である。これらのプログラム・モジュールは、ユーザからの命令(入力)や特定の発生イベントに応答して制御部101によって主記憶部102上で実行される。
【0028】
タブレット型コンピュータ100は、第1モジュール群201および第2モジュール群202を有する。第1モジュール群201は、縮小表示モジュール211、選択領域表示モジュール212およびジェスチャー認識モジュール216を有する。第2モジュール群202は、手書き文字認識モジュール213、文字認識精度向上モジュール214および特定語句認識モジュール215を有する。
【0029】
タブレット型コンピュータ100は、文章検索モジュール217、ネットワークサービスモジュール218、予測変換モジュール219および音声認識モジュール220も有する。文章検索モジュール217およびネットワークサービスモジュール218は、ユーザの指示にしたがって第2モジュール群202と連携して起動されることが可能である。
【0030】
文章検索モジュール217は、認識結果DB106に記憶されているテキストベースの文字列データを検索する機能を提供する。スタイラスペン160によって入力された手書き文字は、認識結果DB106に、手書き文字自体である筆跡情報(ビットマップデータ)として保存されると共に1つまたは複数のテキストベースの文字列データとして保存される。文章検索モジュール217は、この1つまたは複数の文字列データに基づいて検索を行うことができる。
【0031】
ネットワークサービスモジュール218は、電子メール送受信機能、SNSへのアクセス機能、およびインターネットなどのネットワーク上に存在する情報をダウンロードして保存し、またネットワークに対してアップロードして共有するための機能を提供する。タブレット型コンピュータ100は、ユーザの操作に基づき、スタイラスペン160によって入力された筆跡情報と文字パターンDB108に記憶されているテンプレートとから画像を生成し、あるいは、認識した文字列の連続から文章を生成し、生成された画像・文章をネットワークサービスモジュール218を介してネットワークに送信し、当該ネットワークから提供される各種アプリケーションによるサービスを利用することができる。
【0032】
予測変換モジュール219は、ユーザによって文字が入力されたことに応答してその文字の変換候補や後続する文字列を予測して提示する機能を提供する。この機能は、例えば、文字を入力する時に一部の文字を入力するとその入力された文字に基づいて予想される変換後の語句や後続の文字を提示する。
【0033】
音声認識モジュール220は、タブレット型コンピュータ100に内蔵されるマイクロホンを介して入力された音声入力を電気信号である音声情報として認識する。かかる認識時に、音声認識モジュール220は、スタイラスペン160によってほぼ同時に入力された筆跡情報がある場合には、その筆跡情報に音声情報を結合することができる。この結合処理に使用される情報は、例えば、sysdateなどの日付時刻情報である。例えば、ペン160を使用して「会議の場所」と手書き入力する時(あるいは入力直後)に、「1階会議室」と音声入力する場合には、筆跡情報「会議の場所」と音声情報「1階会議室」とが結合されて主記憶部102(最終的には認識結果DB106)に記憶される。
【0034】
また、音声認識モジュール220は、音声認識した単語や文章の確度を辞書DB107に基づいて決定することができる。例えば、「きょういく」という音声入力に対して、「今日行く」あるいは「教育」という音声情報として認識される際に、前後の文脈や声のイントネーションに基づいていずれの認識結果が相対的に高い確度であるのかといった情報を決定することができる。この確度の情報(確かさの度合い)は、予測変換の精度を向上させるために使用される。
【0035】
本明細書において説明されているように、筆跡情報(ビットマップデータ)に結合された音声情報がある場合には、音声認識モジュール220は、その音声情報に関しても推定処理を行い、1つまたは複数の文字列データ(テキストデータ)を確度の情報付きで獲得する。
【0036】
第1モジュール群201は、ユーザフィードバックを優先して処理するために複数のプログラム・モジュールをまとめたものである。すなわち、第1モジュール群201は、[背景技術]の欄で説明した、1)、2)、6)の機能をベースに付加機能をあわせて実装するモジュール群である。
【0037】
縮小表示モジュール211は、図3に示すように、タブレット型コンピュータ100のディスプレイのある特定の領域(領域A)にスタイラスペン160で入力された文字を、ビットマップデータとしてディスプレイの別の領域(領域B)に縮小して表示させる機能を提供する。例えば、ユーザがスタイラスペン160を使用してメモ作成アプリケーションに対して文字を入力する場合、文字入力欄(領域A)は手書きをしやすい大きさの入力欄であり、筆跡情報が表示される表示欄(領域B)は入力された一連の文章を読むことが十分な大きさの表示欄である。また、縮小表示モジュール211は、スタイラスペン160により入力された筆跡情報を第2モジュール群202に送信する。音声認識モジュール220によって認識された音声情報が筆跡情報に結合されている場合には、筆跡情報と音声情報が結合されたままで送信される。送信された筆跡情報および/または音声情報は、例えば主記憶部102上の可変長リストに記憶されるが、記憶された情報は後述する処理が始まるまでそのまま保存される。
【0038】
選択領域表示モジュール212は、複数の規定領域から入力する領域を選択して、入力文字をその選択した領域内へ表示する機能を提供する。図3に示した例で説明すると、ユーザは領域Aおよび領域Bのいずれの領域でも入力領域を選択することができる。選択領域表示モジュール212は、ユーザによって選択された領域に入力された文字を表示する。また、選択領域表示モジュール212は、選択した領域において当該領域の右端に達した場合には自動的に改行処理を行う。改行の間隔は、規定のテンプレートやユーザによって予め設定された設定情報に依存する。さらに、選択領域表示モジュール212は、上記テンプレートや設定情報によっては領域中に筆記した文字が入りきらなくなる場合に、表示部105が表示可能なようになるまで、文字の縮小率を自動的に上げて文字列を表示可能にする。
【0039】
ジェスチャー認識モジュール216は、タブレット型コンピュータ100のタッチスクリーン/タッチパッドで、ジェスチャー(例えば、人間の指で表示部105を触れる)を利用した操作を可能にする。例えば、表示部105上に表示されている任意のアプリケーションのアイコンを1回タッチするジェスチャーを感知したら、そのアプリケーションを起動したり、あるいは、当該アイコンをドラッグするジェスチャーを感知したらそのアイコンを表示部105内で移動させたりする。
【0040】
次に、第2モジュール群202の各モジュール213〜215について説明する。第2モジュール群202は、[背景技術]の欄で説明した、3)、4)、5)の機能をベースに付加機能をあわせて実装するモジュール群である。第2モジュール群202は、第1モジュール群201の処理に余裕がある時に処理を行う。第1モジュール群201の処理に余裕があるか否かの判定は、例えば、ユーザがスタイラスペン160による入力を一時休止し、手を休めている時など、所定のイベントに基づいて行われる。
【0041】
手書き文字認識モジュール213は、スタイラスペン160によって入力された手書き文字、すなわち、縮小表示モジュール211から送信されて記憶されている筆跡情報を、例えば可変長リストから読み出して推定する。手書き文字認識モジュール213は、筆跡情報に付随する入力のタイミング情報やストロークの開始位置情報などに基づいて、読み出した筆跡情報から一文字ずつ推定する。ここで一文字に決定することができず、複数候補が推定される場合には、複数候補を確度付きで認識して保存する。なお、かかる推定は、文字パターンDB108に記憶されている文字パターンと照合することによって行うことができる。
【0042】
文字認識精度向上モジュール214は、辞書や文字の連続性に関する確率情報を用いることによって手書き文字認識の精度を向上させる機能を提供する。辞書は辞書DB107に含まれている辞書であり、文字の連続性とは文章として成立するか否かの情報を示す。また、文字認識精度向上モジュール214は、個人別履歴DB109に格納されているユーザ別の情報を利用して手書き文字認識の精度を向上させる。
【0043】
特定語句認識モジュール215は、手書き文字認識モジュール213および文字認識精度向上モジュール214と連携することにより、文章内の特定語句の認識とそれに対するアノテーション(注釈)を付する機能を提供する。つまり、特定語句認識モジュール215は、1つまたは複数の文字区切り候補、1つまたは複数の文字認識の候補、辞書や文字の連続性に関する確率情報、および音声認識の結果を総合的に判断して、1つまたは複数の文字の区切りと対応する文字の候補を確度付きで算出する。算出された1つまたは複数の文字の区切りと対応する文字の候補は、タブレット型コンピュータ100のディスプレイ上で常時見えることなく認識結果DB106に保存されており、保存されたこれらのデータはユーザによって行われる検索操作で使用される。この検索操作は、複数の文字の区切りおよび対応する文字の候補が存在する場合には、確度の高い順に行われる。
【0044】
特定語句認識モジュール215は、算出した1つまたは複数の文字の区切りと対応する文字の候補を確度の高い順に表示部105に表示して、ユーザから文字認識の確定情報を得ることもできる。また特定語句認識モジュール215は、ユーザから文字認識の間違えについて指摘・訂正を受けることができる。かかるユーザからの確定情報や指摘・訂正情報については、アプリケーションを提示してユーザに正しい候補を選択してもらったり、あるいは、誤認識した文字を再度丁寧に筆記してもらったりすることにより得ることができる。
【0045】
文章検索モジュール217は、テキストベースの上記算出された文字認識の結果に対して検索を行う。一実施形態ではこの検索は、ユーザによって確定処理された文字列データに対してのみ行われるのではなく、所定の確度以上の文字の組み合わせに対して並行して行われることも可能である。
【0046】
(処理フロー)
図4は、上記各モジュールを使用する、本発明に係る手書き文字認識のフローを示す図である。以下の説明では、図3に示すように、タブレット型コンピュータ100のディスプレイのうちユーザの手元に近い領域を領域Aとして定義し、残りの領域を領域Bとして定義する。領域Aに入力された文字は、筆跡情報として領域Bに縮小表示される。
【0047】
ステップS401にて、タブレット型コンピュータ100は、第2モジュール群202の処理を優先度の低いスレッドとして生成する。ここで、「優先度の低い」とするのは、上述したように、第2モジュール群202の処理は、第1モジュール群201の処理に余裕がある時に行われるためである。また、「スレッド」とはソフトウェアの実行単位であり、1つまたは複数のプログラム・モジュールを含むことができる。
【0048】
ステップS402にて、タブレット型コンピュータ100は、第2モジュール群202の処理を開始することができるか否かを判定する。具体的には、タブレット型コンピュータ100に対するユーザ入力が所定の時間ないなど予め定められた期間のユーザ入力の有無を判定する。その期間中、ユーザ入力があればステップS403に処理が進み、ユーザ入力がなければ図5に示す第2モジュール群202の処理フローに処理が進む。
【0049】
ステップS403にて、タブレット型コンピュータ100は、ユーザ入力を受信する。ここで、ユーザ入力には、ジェスチャー、スタイラスペン160による入力、音声入力およびタブレット型コンピュータ100本体機器への入力などが含まれる。
【0050】
ステップS404にて、タブレット型コンピュータ100は、ユーザ入力が、ジェスチャーに該当するか否かを判定する。上述したように、ジェスチャーとは、タブレット型コンピュータ100のディスプレイに対して行われるユーザの指などによる接触行為のことを指す。ステップS405にて、タブレット型コンピュータ100は、ジェスチャーに対応する処理を行う。具体的には、タブレット型コンピュータ100は、対応するアプリケーションの操作などを行う。タブレット型コンピュータ100は、この処理が終了したら、ステップS402に処理を戻す。
【0051】
ステップS406にて、タブレット型コンピュータ100は、ユーザ入力がスタイラスペン160を介した領域Aへの入力に該当するか否かを判定する。
【0052】
ステップS407にて、タブレット型コンピュータ100は、スタイラスペン160による入力に対応する描画を領域Aに行うとともに、縮小表示モジュール211を用いて、所定のタイミングで領域Bに対してその描画に対応するビットマップデータを領域Bに縮小表示する。この縮小表示は、領域Bに既に表示されているビットマップデータと新たに追加されるビットマップデータの大きさを考慮して、領域Bに既に表示されているビットマップデータと新たに追加されるビットマップデータを縮小表示することによって行われる。また、タブレット型コンピュータ100は、領域Aに入力された文字列が画面右端に到達した場合、選択領域表示モジュール212を用いて、使用されているテンプレートや設定情報に従って自動的に改行処理を行う。
【0053】
ステップS408にて、タブレット型コンピュータ100は、領域Aに入力された文字を筆跡情報として、縮小表示モジュール211を介して第2モジュール群202に送信し、領域Bとの共有リスト(例えば可変長リスト)に保存する。タブレット型コンピュータ100は、この処理が終了したら、ステップS402に処理を戻す。
【0054】
ステップS409にて、タブレット型コンピュータ100は、ユーザ入力が音声入力か否かを判定する。音声入力は、タブレット型コンピュータ100のマイクロホンによって電気信号に変換される。ステップS410にて、タブレット型コンピュータ100は、音声認識モジュール220を使用して、音声入力が行われた際に入力されていた筆跡情報と音声情報を結合し、その後領域Bとの共有リストに保存する。タブレット型コンピュータ100は、この処理が終了したら、ステップS402に処理を戻す。
【0055】
ステップS411にて、タブレット型コンピュータ100は、ユーザ入力が機器本体からの入力あるいはスタイラスペン160を介した領域A以外への入力操作なのか否かを判定する。ステップS412にて、タブレット型コンピュータ100は、当該入力に対応する処理を行う(例えば、初期表示画面を表示する、など)。タブレット型コンピュータ100は、この処理が終了したら、ステップS402に処理を戻す。
【0056】
図5は、本発明に係る手書き文字認識のフローのうち、第2モジュール群202に係る処理を示す図である。
【0057】
ステップS501にて、タブレット型コンピュータ100は、領域Aと領域Bの共有リストにデータが保存されているか否かを判定する。上述したように、共有リストには縮小表示モジュール211によって筆跡情報が送信され、保存されている。この共有リストに未処理の筆跡情報が格納されていればステップS502に処理が進み、一方、未処理の筆跡情報が格納されていなければ図5の処理フローは終了する。データが未処理であるか、あるいは処理済であるかを判定するのは、筆跡情報データに付随するフラグの値や所定のメタデータの値によって行うことができる。
【0058】
ステップS502にて、タブレット型コンピュータ100は、手書き文字認識モジュール213を用いて共有リストから筆跡情報や音声情報を読み出して主記憶部102に格納する。
【0059】
ステップS503にて、手書き文字認識モジュール213は、筆跡情報のヘッダ部分に格納されている入力のタイミング情報やストロークの開始位置情報などに基づいて、読み出した筆跡情報から一文字ずつ推定する。一文字に決定することができず、複数候補が推定される場合には、複数候補を確度付きで推定しておく。かかる推定は、文字パターンDB108に格納されている文字パターンと照合することによって行うことができる。タブレット型コンピュータ100は、予測変換モジュール219を使用して、読み出した文字列およびその後に続く文字列を推定することも可能である。また、手書き文字認識モジュール213は、上述したような文字認識精度向上モジュール214および特定語句認識モジュール215と連携して処理を行うことにより、当該推定の精度を向上させることができる。
【0060】
また、上記筆跡情報に関連付けられた音声情報がある場合には、音声認識モジュール220は、その音声情報に関して推定処理を行い、1つまたは複数の推定結果(テキストデータ)を確度付きで獲得する。音声認識時に確度の情報を使用することで予測変換を行うことが可能となる。
【0061】
ステップS504にて、タブレット型コンピュータ100は、任意の処理として、推定した1つまたは複数の文字や語句の確度が所定の確度以上であれば、特定語句認識モジュール215を使用して表示部105に表示する。表示部105に表示された1つまたは複数の文字や語句は、ユーザによって確定処理や誤り訂正処理がなされる。例えば、タブレット型コンピュータ100は、表示部105に1つまたは複数の文字や語句について確定処理をユーザに行わせるための画面を表示させたり、あるいはユーザに誤り訂正をさせるために訂正のための入力欄や編集画面を表示させたりすることができる。ステップS505にて、タブレット型コンピュータ100は、任意の処理として、ユーザによって行われた確定処理や誤り訂正処理にしたがって文字認識を行う。
【0062】
ステップS506にて、タブレット型コンピュータ100は、認識結果である1つまたは複数の文字列データ(テキストデータ)を筆跡情報(ビットマップデータ)と結合して認識結果DB106に保存する。保存が完了したら、ステップS501に処理が戻る。
【0063】
(その他の実施形態)
上記の実施形態に付加することが可能な以下の機能についてもタブレット型コンピュータ100の有するプログラム・モジュールやデータベースに追加することができる。
【0064】
図1に示したように、タブレット型コンピュータ100は、個人別履歴DB109を有する。上述のステップS503において筆跡情報から一文字ずつ推定する際に、個人別履歴DB109に格納されている当該ユーザの筆跡情報と照合することによって、より高い確度の推定を行うことができる。格納されている筆跡情報は以前の文字認識結果である文字列データと関連付けられている。個人別履歴DB109を参照しながら照合を行う際には、タブレット型コンピュータ100は、個人別履歴DB109の筆跡情報を基準にして、ユーザ入力された筆跡情報を必要に応じて拡大または縮小させつつ、あるいは、少しずつずらしながら照合を行う。
【0065】
音声認識モジュール220は、個人別履歴DB109に保存されているユーザ別の音声の特徴に基づいて、タブレット型コンピュータ100のユーザの音声を聞き分けて、音声認識を行うこともできる。例えば、会議などで複数の人が発言する場合を想定すると、通常のモードでは、タブレット型コンピュータ100に内蔵されているマイクロホンは複数の人の音声入力に対して音声認識を行ってしまうが、この機能を利用するとタブレット型コンピュータ100のユーザの音声入力だけを選別して音声認識を行うことが可能となる。
【0066】
また、タブレット型コンピュータ100は、入力された文字や語句、あるいは音声認識した単語などから辞書DB107に格納されている各種辞書の優先順位を決定することも可能である。例えば、コンピュータ・サイエンスの分野で使用される文字や語句が格納されている辞書が多く使用される場合には、タブレット型コンピュータ100は、当該辞書を参照する順番を高い優先順位に変更することができる。このようにある特定の辞書が多用される場合には、辞書DB107に格納されている辞書の優先順位を変更することにより、文字や語句の推定の精度を向上させることが可能となる。なお、上述したように、辞書DB107にはネットワークから新たな分野の辞書をダウンロードして追加することが可能である。
【0067】
(まとめ)
上述の実施形態で説明した方法、機能および手段は、コンピュータ実施可能なプログラムとして実装することも可能であり、また、当該プログラムを格納したコンピュータ読み取り可能な記録媒体として実施することも可能である。
【0068】
上記で説明した実施形態はあくまでも例示であり、本発明は上記の実施形態に限定されることはなく、様々な変形が可能である。すなわち、特許請求の範囲に記載された技術的思想に基づくものである限り、その変形は本発明の技術範囲内に含まれる。
【符号の説明】
【0069】
100 タブレット型コンピュータ
106 認識結果DB
107 辞書DB
108 文字パターンDB
109 個人別履歴DB
160 スタイラスペン
201 第1モジュール群
202 第2モジュール群
211 縮小表示モジュール
212 選択領域表示モジュール
213 手書き文字認識モジュール
214 文字認識精度向上モジュール
215 特定語句認識モジュール
216 ジェスチャー認識モジュール
217 文章検索モジュール
218 ネットワークサービスモジュール
219 予測変換モジュール
220 音声認識モジュール

【特許請求の範囲】
【請求項1】
タブレット型コンピュータにおける手書き文字認識方法であって、
該タブレット型コンピュータが実行する前記方法は、
(a)複数のプログラム・モジュールのうち、相対的に優先度の低い処理を行うプログラム・モジュールを処理優先度の低いスレッドとして生成するステップと、
(b)前記スレッドを実行するか否かを判定するステップと、
(c)前記スレッドを実行しないと判定した場合に、ユーザ入力を受信するステップと、
(d)前記ユーザ入力が前記タブレット型コンピュータのディスプレイの第1の領域に対して行われたものであるか否かを判定するステップと、
(e)前記ユーザ入力が前記第1の領域に対して行われたと判定された場合に、前記第1の領域に前記ユーザ入力に対応する描画を行うとともに、該描画を前記ディスプレイの第2の領域にビットマップデータとして表示するステップと、
(f)前記描画に対応する筆跡データを、前記スレッドのプログラム・モジュールがアクセス可能な共有リストに格納するステップと、
(g)前記スレッドを実行するとの判定がされるまで、上記ステップ(b)〜(f)を繰り返すステップと、
(h)前記スレッドを実行すると判定した場合に、前記共有リストにユーザによって入力された筆跡データが格納されているか否かを判定するステップと、
(i)前記筆跡データが格納されている場合、前記共有リストから前記筆跡データを読み出すステップと、
(j)読み出した前記筆跡データに対応する1つまたは複数のテキストデータを推定するステップであって、該1つまたは複数のテキストデータは少なくとも確度の情報を含む、ステップと、
(k)前記推定された1つまたは複数のテキストデータを対応する前記筆跡データと結合して格納するステップと
を含むことを特徴する方法。
【請求項2】
前記推定するステップ(j)は、
(j1)読み出した前記筆跡データに含まれる入力のタイミング情報やストロークの開始位置情報に基づいて、前記対応する1つまたは複数のテキストデータを推定するステップをさらに含み、
前記推定は、前記タブレット型コンピュータに格納されている文字パターンと照合することによって行われ、該照合の結果にしたがって前記確度の情報が決定される、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記推定するステップ(j1)は、
前記推定した前記対応する1つまたは複数のテキストデータに後続するテキストデータの候補を予測するステップをさらに含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記推定は、読み出した前記筆跡データと以前に入力されたユーザ別の筆跡データとを照合することによって行われることを特徴とする請求項2に記載の方法。
【請求項5】
所定の閾値を超える前記確度の情報を有する前記推定された1つまたは複数のテキストデータをユーザに対して提示するステップと、
前記ユーザに対して提示することに応答して、前記推定された1つまたは複数のテキストデータのうち1つのテキストデータをユーザ入力にしたがって確定するステップと
をさらに含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記ユーザ入力にしたがって確定するステップは、
前記1つまたは複数のテキストデータのうち1つのテキストデータを正しいデータとしてユーザに選択させるための第1のユーザ入力画面を表示するステップと、
前記1つまたは複数のテキストデータのうち1つのテキストデータを正しいデータに修正するための第2のユーザ入力画面を表示するステップと
をさらに含むことを特徴とする請求項5に記載の方法。
【請求項7】
前記第2の領域に表示される、前記描画に対応するビットマップデータは、前記タブレット型コンピュータのディスプレイの前記第2の領域の大きさにしたがって、縮小表示されることを特徴とする請求項1に記載の方法。
【請求項8】
前記格納するステップ(f)は、前記ユーザ入力に対応する描画に結合される、前記タブレット型コンピュータのマイクロホンを介して入力された音声入力が存在する場合に、音声入力の認識結果である音声データと前記筆跡データとを結合して該共有リストに格納するステップをさらに含み、
前記判定するステップ(h)は、前記共有リストに前記筆跡データおよび該筆跡データに結合されている前記音声データが格納されているか否かを判定するステップをさらに含み、
前記読み出すステップ(i)は、前記筆跡データおよび前記音声データが格納されている場合、前記共有リストから前記筆跡データおよび前記音声データを読み出すステップをさらに含み、
前記推定するステップ(j)は、読み出した前記筆跡データおよび前記音声データに対応する1つまたは複数のテキストデータであって、少なくとも確度の情報を含むテキストデータを推定するステップをさらに含む、
ことを特徴する請求項1または5に記載の方法。
【請求項9】
前記推定するステップ(j)は、
(j2)読み出した前記音声データの少なくともイントネーションの情報に基づいて、前記音声データに対応する1つまたは複数のテキストデータを推定するステップであって、該イントネーションの情報は前記タブレット型コンピュータに格納されている、ステップと、
(j3)読み出した前記筆跡データに含まれる入力のタイミング情報やストロークの開始位置情報に基づいて推定された前記対応する1つまたは複数のテキストデータに基づいて、前記音声データに対応する1つまたは複数のテキストデータを推定するステップと
の少なくとも1つを含むことを特徴とする請求項8に記載の方法。
【請求項10】
タブレット型コンピュータにおける手書き文字認識システムであって、
1つまたは複数のプログラム・モジュールを含む第1のプログラム・モジュール群を格納する手段と、
前記第1のプログラム・モジュール群よりも優先度の低い処理を行う1つまたは複数のプログラム・モジュールを含む第2のプログラム・モジュール群を格納する手段と、
認識結果データベースと
を備え、
前記第1のプログラム・モジュール群は、
受信したユーザ入力が前記タブレット型コンピュータのディスプレイの第1の領域に対して行われたものであると判定した場合に、該第1の領域に該ユーザ入力に対応する描画を行うとともに、該描画を該ディスプレイの第2の領域にビットマップデータである筆跡データとして表示し、該筆跡データを前記第2のプログラム・モジュール群がアクセス可能な共有リストに格納するための縮小表示プログラム・モジュール
を少なくとも含み、
前記第2のプログラム・モジュール群は、
前記共有リストに前記筆跡データが格納されている場合に、該共有リストから該筆跡データを読み出すとともに、読み出した該筆跡データに対応する1つまたは複数のテキストデータを推定するための特定語句認識プログラム・モジュールであって、該テキストデータは少なくとも確度の情報を含む、特定語句認識プログラム・モジュール
を少なくとも含み、
前記推定されたテキストデータは、対応する前記筆跡データと結合されて前記認識結果データベースに格納される、
ことを特徴するシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−14517(P2012−14517A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−151157(P2010−151157)
【出願日】平成22年7月1日(2010.7.1)
【出願人】(305060039)株式会社タクラム・デザイン・エンジニアリング (7)
【Fターム(参考)】