(57)【要約】  コンピュータに、入力項目に対応づけて保持された前記入力項目に対する手書き入力のストロークを、前記入力項目と対応づけて表示する処理と、表示された前記ストロークに対する修正に応じて、前記入力項目に表示された前記ストロークによる入力結果を修正する処理と、を実行させる。
2016170690.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
入力項目に対応づけて保持された前記入力項目に対する手書き入力のストロークを、前記入力項目と対応づけて表示する処理と、
表示された前記ストロークに対する修正に応じて、前記入力項目に表示された前記ストロークによる入力結果を修正する処理と、
を実行させることを特徴とする入力制御プログラム。
【請求項２】
請求項１記載の入力制御プログラムであって、
前記表示する処理は、前記入力項目の選択に応じて表示されることを特徴とする、入力制御プログラム。
【請求項３】
請求項１記載の入力制御プログラムであって、
前記表示する処理は、前記入力項目の表示画面の特定の領域への表示に応じて表示されることを特徴とする、入力制御プログラム。
【請求項４】
コンピュータに、
入力項目に対する手書き入力のストロークおよび前記手書き入力の認識文字を記憶する処理と、
前記入力項目に前記認識文字を表示する処理と、
前記入力項目の選択に応じて、前記ストロークを表示する処理と、
を実行させることを特徴とする入力制御プログラム。
【請求項５】
請求項４記載の入力制御プログラムであって、
前記ストロークを表示する処理は、前記入力項目の認識文字の表示位置と異なる位置に表示する処理を含む、
ことを特徴とする入力制御プログラム。
【請求項６】
請求項４記載の入力制御プログラムであって、
前記ストロークを表示する処理は、前記ストロークの表示色を、前記入力項目の認識文字の表示色と異ならせる処理を含む、
ことを特徴とする入力制御プログラム。
【請求項７】
前記手書き入力は、スタイラスにより入力される、ことを特徴とする請求項１乃至６の何れか１項に記載の入力制御プログラム。
【請求項８】
入力項目に対応づけて保持された前記入力項目に対する手書き入力のストロークを、前記入力項目と対応づけて表示する表示部と、
表示された前記ストロークに対する修正に応じて、前記入力項目に表示された前記ストロークによる入力結果を修正する修正部と
を有することを特徴とする入力制御装置。
【請求項９】
入力項目に対する手書き入力のストロークおよび前記手書き入力の認識文字を記憶する記憶部と、
前記入力項目に前記認識文字を表示する認識文字表示部と、
前記入力項目の選択に応じて、前記ストロークを表示するストローク表示部と
を有することを特徴とする入力制御装置。
【請求項１０】
コンピュータによる入力制御方法であって、該コンピュータが、
入力項目に対応づけて保持された前記入力項目に対する手書き入力のストロークを、前記入力項目と対応づけて表示する処理と、
表示された前記ストロークに対する修正に応じて、前記入力項目に表示された前記ストロークによる入力結果を修正する処理と、
を実行することを特徴とする入力制御方法。
【請求項１１】
コンピュータによる入力制御方法であって、該コンピュータが、
入力項目に対する手書き入力のストロークおよび前記手書き入力の認識文字を記憶する処理と、
前記入力項目に前記認識文字を表示する処理と、
前記入力項目の選択に応じて、前記ストロークを表示する処理と、
を実行することを特徴とする入力制御方法。
【請求項１２】
コンピュータに、
第１のアプリケーションに対する手書き入力におけるストローク情報群を、前記第１のアプリケーションにおけるテキストの領域ごとに対応づけて保持し、
前記第１のアプリケーションの特定の領域のテキストについて、前記特定の領域に対応する前記ストローク情報群を表示し、
前記表示されたストローク情報群に対する修正に応じ、少なくとも前記修正の対象を含むストローク情報を認識した結果により、前記特定の領域のテキストを更新する、
処理を実行させることを特徴とする文字修正プログラム。
【請求項１３】
前記更新する処理は、
前記表示されたストローク情報群に対応する修正に応じて修正されたストロークのストローク情報と、前記修正されたストロークの前後のストロークのストローク情報と、を含むストローク情報を認識した結果により、前記特定の領域のテキストを更新する、ことを特徴とする請求項１２記載の文字修正プログラム。
【請求項１４】
前記更新する処理は、
前記テキストの領域ごとに対応づけて保持されている前記ストローク情報群を更新する、ことを特徴とする請求項１２又は１３記載の文字修正プログラム。
【請求項１５】
前記表示する処理は、
前記テキストの領域が、画面における所定の位置を示す座標を含むとき、前記領域に対応する前記ストローク情報群を表示させる、ことを特徴とする請求項１２乃至１４の何れか一項に記載の文字修正プログラム。
【請求項１６】
前記所定の位置を示す座標は、前記画面に表示されるページ画像上の基準点との相対的な関係を示す相対座標である請求項１５記載の文字修正プログラム。
【請求項１７】
前記テキストの領域は、
１回の認識により認識されたストローク情報群が手書き入力された領域である請求項１２乃至１６の何れか一項に記載の文字修正プログラム。
【請求項１８】
前記テキストは、手書き入力により認識された文字群である、ことを特徴とする請求項１２乃至１７の何れか１項に記載の文字修正プログラム。
【請求項１９】
第１のアプリケーションに対する手書き入力におけるストローク情報群を、前記第１のアプリケーションにおけるテキストの領域ごとに対応づけて保持する保持部と、
前記第１のアプリケーションの特定の領域のテキストについて、前記特定の領域に対応する前記ストローク情報群を表示する表示部と、
前記表示されたストローク情報群に対する修正に応じ、少なくとも前記修正の対象を含むストローク情報を認識した結果により、前記特定の領域のテキストを更新する更新部と、
を有することを特徴とする文字修正装置。
【請求項２０】
コンピュータによる文字修正方法であって、該コンピュータが、
第１のアプリケーションに対する手書き入力におけるストローク情報群を、前記第１のアプリケーションにおけるテキストの領域ごとに対応づけて保持し、
前記第１のアプリケーションの特定の領域のテキストについて、前記特定の領域に対応する前記ストローク情報群を表示し、
前記表示されたストローク情報群に対する修正に応じ、少なくとも前記修正の対象を含むストローク情報を認識した結果により、前記特定の領域のテキストを更新する、
ことを特徴とする文字修正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力制御プログラム、入力制御装置、入力制御方法、文字修正プログラム、文字修正装置、及び文字修正方法に関する。
【背景技術】
【０００２】
ユーザによる手書き入力を受け付け、手書き入力について文字認識して得られた認識文字を入力文字として処理するツールが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２３５１１６号公報
【特許文献２】特開２００１−３３７９９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、ユーザが手書き入力を行い、正常に文字認識がなされた場合であっても、後に、異なる内容の文字に修正したい場合がある。例えば、年、月、日付の順で文字を手書き入力したものの、月、年、日付の順に入力順を変更したい場合がある。【０００５】
このような場合に、ユーザは、日付部分は同じであるにもかかわらず、最初から月、年、日付を手入力しなければならず修正作業負荷が高く、不便であるという問題がある。【０００６】
また、複数の文字種を対象とした手書き入力における文字の認識においては、前後の文字の文字種や間隔、文字の大きさ、高さ、形、縦横比等が認識精度に影響する。このため、手書き入力により入力内容を修正する際に、手書き入力による単一の文字を認識させて修正すると、異なる文字種の類似する字形等の文字と誤って認識される場合がある。【０００７】
１つの側面では、手書き入力のストロークに対する修正により、手書き入力の認識結果の修正を可能とすることを目的とする。【０００８】
また、１つの側面では、手書き入力による認識文字が入力された項目について、入力確定後も手書きストロークを参照可能とすることを目的とする。
【課題を解決するための手段】
【０００９】
一態様によれば、コンピュータに、入力項目に対応づけて保持された前記入力項目に対する手書き入力のストロークを、前記入力項目と対応づけて表示する処理と、表示された前記ストロークに対する修正に応じて、前記入力項目に表示された前記ストロークによる入力結果を修正する処理と、を実行させる。
【発明の効果】
【００１０】
一側面によれば、手書き入力のストロークに対する修正により、手書き入力の認識結果の修正を可能とする
また、一側面によれば、手書き入力による認識文字が入力された項目について、入力確定後も手書きストロークを参照可能となる。
【図面の簡単な説明】
【００１１】
【図１】第一の実施形態の主なプログラム構成を説明する図である。
【図２】文字修正装置の手書き入力による修正を説明する図である。
【図３】文字修正装置のハードウェア構成の一例を示す図である。
【図４】第一の実施形態の文字修正装置の機能構成を説明する図である。
【図５】ストローク対応付け情報の一例の構成を示す図である。
【図６】第一の実施形態の手書き入力処理の一例を説明するフローチャートである。
【図７】第一の実施形態の表示テキスト修正処理の一例を説明するフローチャートである。
【図８】第一の実施形態の表示テキスト修正の具体例を説明する図である。
【図９】第一の実施形態の手書き修正処理の一例を説明するフローチャートである。
【図１０】第一の実施形態の手書き修正の具体例を説明する図である。
【図１１】第二の実施形態の文字修正装置の機能構成を説明する図である。
【図１２】第二の実施形態の表示ストロークの表示処理の一例を説明するフローチャートである。
【図１３】第二の実施形態の表示ストロークの具体例を説明する図である。
【図１４】第三の実施形態の文字修正装置の機能構成を説明する図である。
【図１５】第三の実施形態の表示テキスト修正処理の一例を説明するフローチャートである。
【図１６】第三の実施形態の表示テキスト修正の具体例を説明する図である。
【図１７】第四の実施形態の文字修正システムの一例を示す図である。
【図１８】第五の実施形態の文字修正システムの一例を示す図である。
【発明を実施するための形態】
【００１２】
（第一の実施形態）
以下に図面を参照して第一の実施形態について説明する。図１は、第一の実施形態の主なプログラム構成を説明する図である。
【００１３】
第一の実施形態は、主なプログラムとして、第１のアプリケーション１０、文字修正プログラム２０、及び認識プログラム３０を有する。
【００１４】
第１のアプリケーション１０は、例えば伝票作成アプリケーションやメール作成アプリケーション等の入力された文字群（テキスト）を表示するプログラムである。第１のアプリケーション１０により表示されたテキストを、以降では、「表示テキスト」と表す。なお、表示テキストは、手書き入力による文字に限られず、例えばキーボード等により入力された文字が含まれても良い。
【００１５】
文字修正プログラム２０は、手書き入力された表示テキストに対して文字の修正指示がされた場合に、手書き入力された際のストロークを表示させる。また、文字修正プログラム２０は、表示されたストローク（表示ストローク）に対して、手書き入力による文字の修正がされた場合に、入力されたストロークに基づき、表示ストロークを修正する。なお、手書き入力は、指によりストロークを入力する場合に限られず、例えばスタイラス（stylus）等を用いてストロークを入力しても良い。
【００１６】
認識プログラム３０は、手書き入力により入力されたストロークや修正された表示ストロークから文字を認識する。すなわち、認識プログラム３０は、手書き入力により入力されたストロークや修正された表示ストロークに対応する文字又は文字群を認識結果として取得する。
【００１７】
第一の実施形態の第１のアプリケーション１０、文字修正プログラム２０、及び認識プログラム３０は、それぞれが独立した装置に実装されていても良いし、それぞれが１つの装置に実装されていても良い。以降の第一の実施形態の説明では、第１のアプリケーション１０、文字修正プログラム２０、及び認識プログラム３０が１つの装置に実装された場合について説明する。以降の説明では、第１のアプリケーション１０、文字修正プログラム２０、及び認識プログラム３０実装された装置を「文字修正装置」と表す。
【００１８】
次に、第一の実施形態の文字修正装置において、表示テキストを手書き入力により修正する場合について説明する。図２は、文字修正装置の手書き入力による修正を説明する図である。
【００１９】
文字修正装置１には画面２が表示されているものとする。画面２には、氏名を示す表示テキスト「山田太郎」、電話番号を示す表示テキスト「０９０−１２３４−××××」が表示されている。また、画面２には、メールアドレスを示す表示テキスト「ｙａｍａｄａ＠ｓａｍｐｌｅ．ｃｏｍ」、メールアドレス（確認用）を示す表示テキスト「ｙａｍａｆａ＠ｓａｍｐｌｅ．ｃｏｍ」が表示されている。このとき、誤って入力されたメールアドレス（確認用）の表示テキスト「ｙａｍａｆａ＠ｓａｍｐｌｅ．ｃｏｍ」を、「ｙａｍａｄａ＠ｓａｍｐｌｅ．ｃｏｍ」に手書きにより修正する場合について説明する。なお、画面２の各表示テキストは、第１のアプリケーション１０により表示されている。
【００２０】
本実施形態の手書き入力による修正では、画面３に示すように、ユーザが文字修正装置１のタッチパネル等により修正対象の表示テキストを指定すると、文字修正プログラム２０は、指定された表示テキストが手書き入力された際のストロークを示す表示ストローク３ａを表示させる。ここで、図２において、表示ストローク３ａは、表示テキストと異なる位置に表示される。また、表示ストローク３ａの表示色を、表示テキストと異なる色で表示させても良い。これにより、表示ストローク３ａが見え易くなり、ユーザが手書き入力を行い易くなる。
【００２１】
画面３が表示されると、ユーザは、画面４に示すように、文字修正装置１のタッチパネル等により、表示ストローク４ａを直接、手書き入力により修正する。すなわち、ユーザは、文字修正装置１のタッチパネル等により、表示ストローク４ａの手書き入力された際の「ｆ」の位置に、直接、「ｄ」を手書き入力する。
【００２２】
すると、文字修正装置１は、文字修正プログラム２０により、手書き入力された「ｆ」を「ｄ」に修正する。このように、文字修正装置１は、文字修正プログラム２０により、表示ストローク「ｙａｍａｆａ＠ｓａｍｐｌｅ．ｃｏｍ」を「ｙａｍａｄａ＠ｓａｍｐｌｅ．ｃｏｍ」に修正する。
【００２３】
続いて、文字修正プログラム２０は、修正された表示ストローク「ｙａｍａｄａ＠ｓａｍｐｌｅ．ｃｏｍ」のストロークを示す情報を認識プログラム３０に渡す。認識プログラム３０は、ストロークを示す情報から文字列「ｙａｍａｄａ＠ｓａｍｐｌｅ．ｃｏｍ」を認識し、修正が反映された文字列を認識結果として第１のアプリケーション１０に渡す。
【００２４】
このように、文字修正装置１は、修正対象の表示テキストと対応する表示ストロークにおいて、一部のストロークが修正された場合に、修正されたストロークを含む表示ストローク全体を再度、認識プログラム３０に認識させる。
【００２５】
したがって、本実施形態では、認識プログラム３０に、修正されたストロークの前後の文字の文字種や間隔、文字の大きさ、高さ、形、縦横比等を含めた文字認識を行わせることができ、修正されたストロークの認識精度を向上させることができる。
【００２６】
図２の例では、修正された表示ストローク「ｄ」を含む表示ストローク「ｙａｍａｄａ＠ｓａｍｐｌｅ．ｃｏｍ」全体が、認識プログラム３０により認識される。したがって、認識プログラム３０は、例えば、修正された表示ストローク「ｄ」の前後の文字の文字種がアルファベットの小文字であることから、修正された表示ストローク「ｄ」は、アルファベットの小文字であると認識できる。
【００２７】
第１のアプリケーションは、認識結果の文字群「ｙａｍａｄａ＠ｓａｍｐｌｅ．ｃｏｍ」を表示させる。図２の例では、画面５に示すように、表示テキスト「ｙａｍａｆａ＠ｓａｍｐｌｅ．ｃｏｍ」は、修正された表示テキスト「ｙａｍａｄａ＠ｓａｍｐｌｅ．ｃｏｍ」となる。
【００２８】
このように、第一の実施形態の文字修正装置１は、第１のアプリケーション１０により表示された表示テキストのうち、修正対象の表示テキストの表示ストロークを表示させる。そして、ユーザは、文字修正装置１のタッチパネル等により、表示ストロークに対して、直接、手書き入力することで、文字又は文字群の修正を行うことができる。
【００２９】
なお、図２の手書き入力による修正では、表示テキストに含まれる文字「ｆ」を文字「ｄ」に置換する修正について説明したが、表示テキストに含まれる文字「ｆ」の前又は後ろに文字「ｄ」を挿入する修正であっても良い。
【００３０】
また、図２の例では、修正対象の表示テキストは、複数の文字を含むものとしたが、これに限られない。第１のアプリケーション１０により表示された表示テキストのうち、手書き入力による修正対象の表示テキストは、１文字であっても良い。
【００３１】
また、手書き修正により修正する文字の文字数は、２以上であっても良い（すなわち、文字群を置換又は挿入しても良い）。以降では、手書き修正について、詳細に説明する。
【００３２】
まず、文字修正装置１のハードウェア構成について説明する。図３は、文字修正装置のハードウェア構成の一例を示す図である。本実施形態の文字修正装置１は、それぞれバスＢで相互に接続されている表示操作装置１０１、ドライブ装置１０２、補助記憶装置１０３、メモリ装置１０４、演算処理装置１０５、及びインターフェース装置１０６を有する。
【００３３】
表示操作装置１０１は、例えばタッチパネル等であり、各種信号の入力と、各種信号の表示（出力）に用いられる。インターフェース装置１０６は、モデル、ＬＡＮカード等を含み、ネットワークに接続する為に用いられる。
【００３４】
第１のアプリケーション１０、文字修正プログラム２０、及び認識プログラム３０は、文字修正装置１を制御する各種プログラムの少なくとも一部である。これらのプログラムは、例えば記録媒体１０７による配布やネットワークからのダウンロード等によって提供される。第１のアプリケーション１０、文字修正プログラム２０、及び認識プログラム３０を記録した記録媒体１０７は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３５】
また、第１のアプリケーション１０、文字修正プログラム２０、及び認識プログラム３０を記録した記録媒体１０７がドライブ装置１０２にセットされると、各プログラムは記録媒体１０７からドライブ装置１０２を介して補助記憶装置１０３にインストールされる。ネットワークからダウンロードされた各プログラムは、インターフェース装置１０６を介して補助記憶装置１０３にインストールされる。
【００３６】
補助記憶装置１０３は、インストールされた第１のアプリケーション１０、文字修正プログラム２０、及び認識プログラム３０を格納すると共に、基本ソフトウェアであるＯＳ（Operating System）、必要なファイル、データ等を格納する。メモリ装置１０４は、各プログラムの起動時に補助記憶装置１０３にそれぞれのプログラムを読み出して格納する。そして、演算処理装置１０５は、メモリ装置１０４に格納された各プログラムに従って、後述するような各種処理を実現している。
【００３７】
次に、文字修正装置１の機能構成について説明する。図４は、第一の実施形態の文字修正装置の機能構成を説明する図である。本実施形態の文字修正装置１は、第１のアプリ実行部１１、文字修正処理部２１、認識部３１、及び記憶部４１を有する。
【００３８】
本実施形態の第１のアプリ実行部１１は、演算処理装置１０５が第１のアプリケーション１０を実行することで実現される。本実施形態の文字修正処理部２１は、演算処理装置１０５が文字修正プログラム２０を実行することで実現される。本実施形態の認識部３１は、演算処理装置１０５が認識プログラム３０を実行することで実現される。本実施形態の記憶部４１は、補助記憶装置１０３やメモリ装置１０４により実現される。
【００３９】
記憶部４１は、第１の座標情報４２、第２の座標情報４３、及びストローク対応付け情報４４を有する。
【００４０】
第１の座標情報４２は、表示ストロークで形成される各文字の外接枠を特定する座標情報である。ここで、外接枠とは、文字に外接する四角形の枠のことである。したがって、第１の座標情報４２は、外接枠の上辺を特定する第１のｔｏｐ座標情報、底辺を特定する第１のｂｏｔｔｏｍ座標情報、左辺を特定する第１のｌｅｆｔ座標情報、右辺を特定する第１のｒｉｇｈｔ座標情報が含まれる。
【００４１】
第２の座標情報４３は、ユーザの手書き入力により入力されたストロークの外接枠を特定する座標情報である。第２の座標情報４３も第１の座標情報４２と同様に、外接枠のそれぞれの辺を特定する第２のｔｏｐ座標情報、第２のｂｏｔｔｏｍ座標情報、第２のｌｅｆｔ座標情報、第２のｒｉｇｈｔ座標情報が含まれる。
【００４２】
なお、外接枠は、四角形に限られず、多角形であっても良い。この場合には、第１の座標情報４２及び第２の座標情報４３は、多角形のそれぞれの辺を特定する座標情報を有する。
【００４３】
ストローク対応付け情報４４は、手書き入力により入力されたストロークを示すストローク情報と、後述する認識部３１による認識結果である文字とを対応付けるための情報である。本実施形態のストローク対応付け情報４４は、ストローク情報テーブル４４１、文字情報テーブル４４２、及び認識結果情報テーブル４４３を含む。ストローク対応付け情報４４の詳細については後述する。
【００４４】
なお、ストローク情報とは、手書き入力により入力された１画分のストローク（筆跡）を示す情報であり、２以上の座標情報が含まれる。すなわち、本実施形態では、ストローク情報に含まれる２以上の座標情報が示す座標を結ぶことにより、１画分のストロークが特定される。したがって、認識部３１は、ストローク情報により示されるストロークで形成される文字を認識する。
【００４５】
ここで、第１の座標情報４２、第２の座標情報４３、及びストローク情報に含まれる各座標情報は、例えば、文字修正装置１により表示されるページ画像において予め設定された基準点を原点としたＸＹ座標値である。基準点としては、例えば、文字修正装置１により表示されるページ画像における左上端の画素の位置とすれば良い。このとき、例えば、基準点を原点として、Ｘ軸を基準点から右方向に正、Ｙ軸を基準点から下方向に正とすれば良い。
【００４６】
第１のアプリ実行部１１は、認識部３１より取得された文字を表示させる。
【００４７】
文字修正処理部２１は、手書き入力により入力されたストローク情報を認識部３１による認識結果である文字と対応付けて、ストローク対応付け情報４４として記憶部４１に保存する。また、文字修正処理部２１は、第１のアプリ実行部１１により表示された表示テキストの修正指示に応じて、ストローク対応付け情報４４に基づき表示ストロークを表示させる。さらに、文字修正処理部２１は、手書き入力により表示ストロークを修正する。文字修正処理部２１の詳細は後述する。
【００４８】
認識部３１は、手書き入力により入力されたストローク情報や、文字修正処理部２１により修正された表示ストロークのストローク情報から文字を認識し、認識結果として文字を取得する。
【００４９】
以下に、文字修正処理部２１の詳細を説明する。本実施形態の文字修正処理部２１は、ストローク情報取得部２２、保存判定部２３、ストローク情報管理部２４、ストローク表示部２５、領域特定部２６、重なり判定部２７、及び文字修正部２８を有する。
【００５０】
ストローク情報取得部２２は、ユーザからの手書き入力において入力されたストロークを示すストローク情報を取得する。
【００５１】
保存判定部２３は、ストローク情報取得部２２により取得されたストローク情報に基づくストローク対応付け情報４４を、記憶部４１に保存するか否かを判定する。
【００５２】
具体的には、本実施形態の保存判定部２３は、第１のアプリケーション１０により表示テキストが表示される文字入力欄（テキストボックス等）の属性を示すパラメータに応じて、ストローク対応付け情報４４を保存するか否かを判定する。例えば、保存判定部２３は、手書き入力により文字が入力される文字入力欄の属性が、パスワード入力欄であることを示すパラメータであった場合、ストローク対応付け情報４４を保存しないと判定する。
【００５３】
このように、本実施形態では、例えばユーザの個人情報等、機密性の高い情報が入力される入力欄等に情報が手書き入力された場合には、ストローク対応付け情報４４が保存されない。よって、本実施形態では、情報漏洩の発生を防止できる。
【００５４】
ストローク情報管理部２４は、保存判定部２３の判定結果に応じて、ストローク情報取得部２２により取得されたストローク情報と、認識部３１により認識結果として取得された文字とを対応付けてストローク対応付け情報４４を生成し、記憶部４１に保存する。
【００５５】
ストローク表示部２５は、ストローク情報管理部２４により保存されたストローク対応付け情報４４に基づき表示ストロークを表示させる。
【００５６】
領域特定部２６は、表示ストロークのストローク対応付け情報４４から第１の座標情報４２を取得する。そして、領域特定部２６は、第１の座標情報４２により特定される外接枠で囲まれる領域（表示ストローク領域）を特定する。
【００５７】
また、領域特定部２６は、表示ストロークを修正するために手書き入力されたストロークを示すストローク情報から第２の座標情報４３を取得する。そして、領域特定部２６は、第２の座標情報４３により特定される外接枠で囲まれる領域（入力ストローク領域）を特定する。
【００５８】
重なり判定部２７は、領域特定部２６により特定された表示ストローク領域及び入力ストローク領域について、入力ストローク領域において、表示ストローク領域と重なっている領域の割合が、予め設定された第１の閾値以上であるか否かを判定する。
【００５９】
文字修正部２８は、重なり判定部２７の判定結果に応じて、表示ストロークを、手書き入力されたストロークで置換又は手書き入力されたストロークを挿入することで、修正する。
【００６０】
次に、ストローク対応付け情報４４の詳細について説明する。図５は、ストローク対応付け情報の一例の構成を示す図である。ストローク対応付け情報４４は、ストローク情報テーブル４４１、文字情報テーブル４４２、及び認識結果情報テーブル４４３を有する。
【００６１】
ストローク情報テーブル４４１は、手書き入力された１画分のストロークを示すストローク情報を格納する。ストローク情報テーブル４４１は、データ項目として、ストローク情報を一意に識別する「ストローク情報ＩＤ」、１画分のストロークを形成するための「座標情報」を有する。
【００６２】
例えば、ストローク情報ＩＤ「ｓ０１」で識別されるストローク情報がストロークは、座標情報（ｘ１１，ｙ１１），・・・，（ｘｎ１，ｙｎ１）のそれぞれが示す座標を結ぶことにより形成される。
【００６３】
文字情報テーブル４４２は、ストロークにより形成される文字に関する情報を格納する。文字情報テーブル４４２は、データ項目として、ストロークにより形成される文字を示す「文字」、文字を形成するストロークを識別するための「ストローク情報ＩＤ」を有する。
【００６４】
例えば、文字情報テーブル４４２では、文字「Ａ」は、ストローク情報ＩＤ「ｓ０１」、「ｓ０２」、及び「ｓ０３」で識別されるストローク情報が示すストロークで形成される。同様に、例えば、文字「Ｂ」は、ストローク情報ＩＤ「ｓ０４」及び「ｓ０５」で識別されるストローク情報が示すストロークで形成される。
【００６５】
認識結果情報テーブル４４３は、認識部３１の認識結果として取得された文字に関する情報を格納する。認識結果情報テーブル４４３は、データ項目として、認識部３１の認識結果を識別するための「認識ＩＤ」、認識結果として取得された文字を示す「文字群」、認識結果として取得された文字が第１のアプリケーション１０により表示される入力領域を特定するための座標情報を示す「入力領域」を有する。
【００６６】
例えば、認識結果情報テーブル４４３では、認識ＩＤ「ｒ０１」で識別される認識結果として取得された文字群は「ＡＢＣＤＥ」であり、文字群「ＡＢＣＤＥ」は座標情報（Ｘ１１，Ｙ１１），・・・，（Ｘ４１，Ｙ４１）が示す座標で特定される入力領域に表示される。
【００６７】
ここで、入力領域とは、認識部３１による１回の認識処理により認識された文字群が手書き入力により入力された領域である。
【００６８】
例えば、第１のアプリケーション１０により表示される文字入力欄において、手書き入力により入力された文字群「ａｂｃ」が認識された後に、同じ文字入力欄に手書き入力により文字群「ｄｅｆ」が入力されて認識されたとする。この場合、認識部３１は、２回の認識処理を行うことになる。このため、文字入力欄には、入力領域は、文字群「ａｂｃ」に対応する入力領域と、文字群「ｄｅｆ」と対応する入力領域の２つが存在することになる。
【００６９】
なお、図５の例では、入力領域の頂点を示す４つの座標情報により入力領域を特定している。ただし、これに限られず、入力領域は、入力領域の対角に位置する頂点を示す２つ座標情報により入力領域を特定しても良い。
【００７０】
本実施形態の文字修正装置１は、図５に示すストローク対応付け情報４４を保持することにより、ユーザにより修正対象の表示テキストが指定された場合に、ストローク表示部２５により表示テキストと対応した表示ストロークを表示させることができる。
【００７１】
次に、本実施形態の文字修正装置１の動作について説明する。まず、第１のアプリケーション１０により表示される文字入力欄（例えばテキストボックス）等に、手書き入力により文字を入力する処理について説明する。図６は、第一の実施形態の手書き入力処理の一例を説明するフローチャートである。
【００７２】
本実施形態の文字修正装置１は、文字修正処理部２１のストローク情報取得部２２により、手書き入力において入力されたストロークを示すストローク情報を取得する（ステップＳ６０１）。次に、文字修正装置１は、文字修正処理部２１のストローク情報取得部２２により、手書き入力が終了したか否かを判定する（ステップＳ６０２）。ここで、ストローク情報取得部２２は、所定の時間、ストローク情報を取得しなかった場合、手書き入力が終了したと判定すれば良い。
【００７３】
ステップＳ６０２において、手書き入力が終了していないと判定された場合、文字修正装置１は、ステップＳ６０１に戻る。
【００７４】
ステップＳ６０２において、手書き入力が終了したと判定された場合、文字修正装置１は、認識部３１により、取得されたストローク情報を認識する（ステップＳ６０３）。すなわち、認識部３１は、ストローク情報取得部２２により取得されたストローク情報に対応する文字を認識し、認識結果として文字を取得する。
【００７５】
次に、文字修正装置１は、保存判定部２３により、手書き入力により文字が入力される文字入力欄の属性を示すパラメータを取得し、取得したパラメータに基づき、ストローク対応付け情報４４を保存するか否かを判定する（ステップＳ６０４）。なお、保存判定部２３は、第１のアプリ実行部１１を介して、第１のアプリケーション１０により表示される文字入力欄の属性を示すパラメータを取得する。
【００７６】
ステップＳ６０４において、ストローク対応付け情報４４を保存しないと判定された場合、文字修正装置１は、ステップＳ６０６に進む。これにより、文字修正装置１は、第１のアプリケーション１０により表示される文字入力欄が、例えばパスワード入力欄等である場合には、ストローク対応付け情報４４を保存しない。これにより、パスワード入力欄等においては、表示ストロークが表示されることによるパスワード等の機密情報の流出を防止することができる。
【００７７】
ステップＳ６０４において、ストローク対応付け情報４４を保存すると判定された場合、文字修正装置１は、ストローク情報管理部２４により、ストローク対応付け情報４４を記憶部４１に保存する（ステップＳ６０５）。
【００７８】
最後に、文字修正装置１は、第１のアプリ実行部１１により、第１のアプリケーション１０により表示された文字入力欄に、認識結果として取得した文字を表示させる（ステップＳ６０６）。これにより、本実施形態の文字修正装置１は、手書き入力により表示テキストが表示される。
【００７９】
ここで、図６のステップＳ６０５でストローク情報管理部２４により記憶部４１に保存されるストローク対応付け情報４４について、図５を参照しながら具体的に説明する。
【００８０】
まず、ストローク情報管理部２４は、ストローク情報取得部２２により取得されたストローク情報をストローク情報テーブル４４１に格納する。すなわち、ストローク情報管理部２４は、１画分のストロークを示すストローク情報毎にストローク情報ＩＤを割り振って、ストローク情報ＩＤと対応付けてストローク情報に含まれる座標情報を格納する。このようにして、ストローク情報管理部２４は、入力されたすべてのストロークのストローク情報をストローク情報テーブル４４１に格納する。
【００８１】
例えば、３画の文字「Ａ」が手書き入力された場合、ストローク情報管理部２４は、１画目のストローク情報にストローク情報ＩＤ「ｓ０１」を割り振って、このストローク情報に含まれる座標情報（ｘ１１，ｙ１１），・・・，（ｘｎ１，ｙｎ１）と対応付けて、ストローク情報テーブル４４１に格納する。同様に、ストローク情報管理部２４は、２画目のストローク情報にストローク情報ＩＤ「ｓ０２」を割り振って、このストローク情報に含まれる座標情報（ｘ１２，ｙ１２），・・・，（ｘｎ２，ｙｎ２）と対応付けて、ストローク情報テーブル４４１に格納する。３画目のストローク情報についても同様である。
【００８２】
次に、ストローク情報管理部２４は、認識部３１により認識された認識結果を認識結果情報テーブル４４３に格納する。すなわち、ストローク情報管理部２４は、認識部３１により認識結果として取得された文字に対して認識ＩＤを割り振って、入力領域を特定する座標情報と対応付けて格納する。なお、ストローク情報管理部２４は、第１のアプリ実行部１１を介して、入力領域を特定する座標情報を取得すれば良い。
【００８３】
例えば、ストローク情報管理部２４は、認識結果として取得した文字が「ＡＢＣＤＥ」である場合、文字「ＡＢＣＤＥ」に認識ＩＤ「ｒ０１」を割り振って、第１のアプリ実行部１１を介して取得した入力領域を特定する座標情報（Ｘ１１，Ｙ１１），・・・，（Ｘｎ１，Ｙｎ１）と対応付けて、認識結果情報テーブル４４３に格納する。
【００８４】
続いて、ストローク情報管理部２４は、認識結果として取得した各文字とストローク情報との対応付けを文字情報テーブル４４２に格納する。すなわち、ストローク情報管理部２４は、認識部３１により認識結果として取得された各文字について、それぞれの文字を形成するストロークのストローク情報ＩＤを対応付けて格納する。
【００８５】
例えば、ストローク情報管理部２４は、認識結果として取得した文字が「ＡＢＣＤＥ」である場合、文字「ＡＢＣＤＥ」に含まれる文字「Ａ」と、文字「Ａ」を形成するストロークのストローク情報ＩＤ「ｓ０１」、「ｓ０２」、及び「ｓ０３」とを対応付けて文字情報テーブル４４２に格納する。同様に、文字「ＡＢＣＤＥ」に含まれる文字「Ｂ」と、文字「Ｂ」を形成するストロークのストローク情報ＩＤ「ｓ０４」及び「ｓ０５」とを対応付けて文字情報テーブル４４２に格納する。文字「ＡＢＣＤＥ」に含まれる文字「Ｃ」、「Ｄ」、「Ｅ」についても同様である。
【００８６】
以上で具体的に説明したように、本実施形態の文字修正装置１は、ストローク情報管理部２４により、ストローク対応付け情報４４を保存する。このように、本実施形態の文字修正装置１は、手書き入力されたストロークのストローク情報が、表示テキストと対応付けられて保存される。
【００８７】
次に、本実施形態の文字修正装置１において、第１のアプリケーション１０により表示されている表示テキストを手書き入力により修正する場合の処理について説明する。図７は、第一の実施形態の表示テキスト修正処理の一例を説明するフローチャートである。
【００８８】
本実施形態の文字修正装置１は、ユーザにより表示操作装置１０１を介して、修正対象の表示テキストの指定を受け付ける（Ｓ７０１）。例えば、文字修正装置１は、例えば、ユーザにより表示操作装置１０１を介して、表示テキストが表示された文字入力欄が選択されることにより、修正対象の表示テキストの指定を受け付ける。
【００８９】
次に、文字修正装置１は、ストローク情報管理部２４により、指定された表示テキストのストローク対応付け情報４４が記憶部４１に保存されているか否かを判定する（ステップＳ７０２）。具体的にはストローク情報管理部２４は、指定された表示テキストの入力領域を特定する座標情報が認識結果情報テーブル４４３に格納されているか否かにより判定すれば良い。
【００９０】
ステップＳ７０２において、指定された表示テキストのストローク対応付け情報４４が記憶部４１に保存されていないと判定された場合、文字修正装置１は、処理を終了させる。この場合、ユーザは、例えば図６で説明した手書き入力やキーボード入力等により、表示テキストを修正する。なお、表示テキストのストローク対応付け情報４４が記憶部４１に保存されていない場合とは、例えば、表示テキストが表示された文字入力欄がパスワード入力等である場合や表示テキストがキーボード入力等の手書き入力以外の方法で入力された場合等である。
【００９１】
ステップＳ７０２において、指定された表示テキストのストローク対応付け情報４４が記憶部４１に保存されていると判定された場合、文字修正装置１は、ストローク情報管理部２４により、ストローク対応付け情報４４を取得する。そして、文字修正装置１は、ストローク表示部２５により、取得されたストローク対応付け情報４４に基づき表示ストロークを表示させる（ステップＳ７０３）。
【００９２】
すなわち、ストローク情報管理部２４は、指定された表示テキストのストローク対応付け情報４４を取得する。次に、ストローク情報管理部２４は、表示テキストのストローク対応付け情報４４から、表示テキストが手書き入力された際のストロークを示すストローク情報を取得する。そして、ストローク表示部２５は、取得されたストローク情報に基づき表示ストロークを表示させる。これにより、本実施形態の文字修正装置１は、ユーザにより指定された表示テキストが手書き入力された際のストローク（表示ストローク）を表示させることができる。
【００９３】
次に、文字修正装置１は、手書き修正処理を行う（ステップＳ７０４）。すなわち、文字修正装置１は、ユーザの手書き入力により表示ストロークの修正を受け付けると、修正された表示ストロークが示すストロークを認識し、認識結果として文字を取得する。この手書き修正処理の詳細については後述する。
【００９４】
続いて、文字修正装置１は、ストローク情報管理部２４により、修正された表示ストロークに基づきストローク対応付け情報４４を更新する（ステップＳ７０５）。すなわち、ストローク情報管理部２４は、修正後の表示ストロークが示すストロークから認識結果として取得された文字と、修正後の表示ストロークのストローク情報とを対応付けて記憶部４１に保存することで、ストローク対応付け情報４４を更新する。
【００９５】
最後に、文字修正装置１は、認識部３１により、修正後の表示ストロークが示すストロークから認識結果として取得した文字を表示させる（ステップＳ７０６）。これにより、本実施形態の文字修正装置１は、ユーザにより指定された表示テキストが手書き入力により修正される。
【００９６】
次に、図８を参照して、図７で説明した表示テキストを手書き入力により修正する場合を具体的に説明する。図８は、第一の実施形態の表示テキスト修正の具体例を説明する図である。
【００９７】
まず、文字修正装置１において、文字入力欄に表示テキスト「ＡＢＣＤＥ」が表示されているものとする（状態Ｓ１１）。
【００９８】
状態Ｓ１１において、文字修正装置１は、ユーザにより修正対象の表示テキストの指定を受け付けると、表示テキストが手書き入力された際のストロークを示す表示ストロークを表示する（状態Ｓ１２）。図８の例では、文字修正装置１は、ユーザにより指定された表示テキスト「ＡＢＣＤＥ」が手書き入力された際の表示ストロークを表示している。
【００９９】
次に、文字修正装置１は、ユーザの手書き入力により表示ストロークに対する修正を受け付ける（状態Ｓ１３）。図８の例では、文字修正装置１は、表示ストローク「ＡＢＣＤＥ」のうちの文字「Ｃ」を文字「Ｂ」に修正する手書き入力を受け付ける。
【０１００】
続いて、文字修正装置１は、修正された表示ストロークが示すストロークを認識した認識結果として取得された文字を表示させて、表示テキストを修正する（状態Ｓ１４）。図８の例では、文字修正装置１は、表示テキスト「ＡＢＣＤＥ」を「ＡＢＢＤＥ」に修正した表示テキストを表示する。
【０１０１】
以上のように、本実施形態の文字修正装置１は、ユーザが手書き入力により表示ストロークを直接修正することで、表示テキストが修正される。
【０１０２】
次に、図７で説明した表示テキスト修正処理のステップＳ７０４における手書き修正処理について説明する。図９は、第一の実施形態の手書き修正処理の一例を説明するフローチャートである。なお、上述したように、文字修正装置１には、ユーザにより指定された修正対象の表示テキストが手書き入力された際のストローク（表示ストローク）が表示されている。
【０１０３】
まず、本実施形態の文字修正装置１は、領域特定部２６により、表示ストローク領域を特定する（ステップＳ９０１）。すなわち、領域特定部２６は、表示ストロークにおける各文字について、各文字を形成するストロークのストローク情報を取得し、取得されたストローク情報から各文字の第１の座標情報４２を取得する。そして、領域特定部２６は、表示ストロークにおける各文字について、第１の座標情報４２により特定される外接枠で囲まれる領域を表示ストローク領域と特定する。
【０１０４】
次に、文字修正装置１は、ストローク情報取得部２２により、表示ストロークに対してユーザが手書き入力により入力したストロークのストローク情報を取得する（ステップＳ９０２）。
【０１０５】
次に、文字修正装置１は、領域特定部２６により、入力ストローク領域を特定する（ステップＳ９０３）。すなわち、領域特定部２６は、ユーザにより手書き入力されたストロークを示すストローク情報から第２の座標情報４３を取得する。そして、領域特定部２６は、第２の座標情報４３により特定される外接枠で囲まれる領域を入力ストローク領域と特定する。
【０１０６】
続いて、文字修正装置１は、重なり判定部２７により、入力ストローク領域において、表示ストローク領域と重なっている領域の割合が、第１の閾値以上であるか否かを判定する（ステップＳ９０４）。なお、第１の閾値としては、例えば、１／２とすれば良い。この場合、重なり判定部２７は、入力ストローク領域が表示ストローク領域と半分（１／２）以上重なっているか否かを判定する。
【０１０７】
ステップＳ９０４において、入力ストローク領域において、表示ストローク領域と重なっている領域の割合が、第１の閾値以上であると判定された場合、文字修正装置１は、文字修正部２８により、入力ストローク領域のストロークで表示ストローク領域のストロークを置換する（ステップＳ９０５）。なお、このとき、置換対象の表示ストローク領域のストロークは、入力ストローク領域と重なっている領域の割合が第１の閾値以上である表示ストローク領域のストロークである。
【０１０８】
ステップＳ９０４において、入力ストローク領域において、表示ストローク領域と重なっている領域の割合が、第１の閾値以上でないと判定された場合、文字修正装置１は、文字修正部２８により、入力ストローク領域のストロークを、手書き入力によりストロークが入力された位置に挿入する（ステップＳ９０６）。
【０１０９】
続いて、文字修正装置１は、ストローク情報取得部２２により、表示ストロークに対するユーザの手書き入力が終了したか否か判定する（ステップＳ９０７）。ここで、ストローク情報取得部２２は、所定の時間、ストローク情報を取得しなかった場合、手書き入力が終了したと判定すれば良い。
【０１１０】
ステップＳ９０７において、手書き入力が終了していないと判定された場合、文字修正装置１は、ステップＳ９０２に戻る。
【０１１１】
ステップＳ９０７において、手書き入力が終了したと判定された場合、文字修正装置１は、認識部３１により、ユーザの手書き入力により修正された表示ストロークが示すストロークのストローク情報に対応する文字を認識し、認識結果として文字を取得する（ステップ９０８）。このとき、認識部３１は、手書き入力により修正された修正箇所を含む表示ストロークが示すストローク情報に対応する文字を認識する。これにより、本実施形態の文字修正装置１は、修正されたストロークの前後の文字の文字種や間隔、文字の大きさ、高さ、形、縦横比等を含めた文字認識を行うことができ、修正されたストロークの認識精度を向上させることができる。
【０１１２】
次に、図１０を参照して、図９で説明した手書き入力により表示ストロークを修正する場合を具体的に説明する。図１０は、第一の実施形態の手書き修正の具体例を説明する図である。
【０１１３】
まず、文字修正装置１において、表示テキスト「ＡＢＣＤＥ」に対応する表示ストロークが表示されており、領域特定部２６により、表示ストローク領域２０１〜２０５が特定されたとする（状態Ｓ２１）。
【０１１４】
領域特定部２６は、具体的には次のようにして表示ストローク領域２０１〜２０５を特定する。まず、領域特定部２６は、表示ストロークの１文字分のストロークを示すストローク情報から第１の座標情報４２を取得する。これは、１文字分のストロークを形成するストローク情報に含まれる座標情報のうち、Ｙ座標が最小である座標情報を第１のｔｏｐ座標情報、Ｙ座標が最大である座標情報を第１のｂｏｔｔｏｍ座標情報、Ｘ座標が最小である座標情報を第１のｌｅｆｔ座標情報、Ｘ座標が最大である座標情報を第１のｒｉｇｈｔ座標情報として、第１の座標情報４２を取得すれば良い。このようにして、表示ストロークにおける文字「Ａ」の第１の座標情報４２１、文字「Ｂ」の第１の座標情報４２２、・・・、文字「Ｅ」の第１の座標情報４２５を取得する。
【０１１５】
そして、領域特定部２６は、取得した第１の座標情報４２１から表示ストローク領域２０１を特定する。同様に、領域特定部２６は、第１の座標情報４２２〜第１の座標情報４２５からそれぞれ表示ストローク領域２０２〜２０５を特定する。
【０１１６】
状態Ｓ２１において、文字修正装置１は、表示ストロークの文字「Ｃ」を「Ｂ」に修正するために、文字「Ｂ」の１画目のストロークの入力を受け付ける。すると、文字修正装置１は、領域特定部２６により、入力ストローク領域３０１を特定する（状態Ｓ２２）。
【０１１７】
領域特定部２６は、具体的には次のようにして入力ストローク領域３０１を特定する。まず、領域特定部２６は、入力されたストロークのストローク情報から第２の座標情報４３を取得する、これは、入力されたストロークのストローク情報に含まれる座標情報のうち、Ｙ座標が最小である座標情報を第２のｔｏｐ座標情報、Ｙ座標が最大である座標情報を第２のｂｏｔｔｏｍ座標情報、Ｘ座標が最小である座標情報を第２のｌｅｆｔ座標情報、Ｘ座標が最大である座標情報を第２のｒｉｇｈｔ座標情報として、第２の座標情報４３を取得すれば良い。
【０１１８】
そして、領域特定部２６は、取得した第２の座標情報４３から入力ストローク領域３０１を特定する。
【０１１９】
続いて、文字修正装置１は、重なり判定部２７により、入力ストローク領域３０１が、表示ストローク領域２０１〜２０５のそれぞれと第１の閾値以上重なっているか否かを判定する。そして、文字修正装置１は、文字修正部２８の判定結果に応じて、入力ストローク領域３０１のストロークで置換又は挿入する。
【０１２０】
図１０の状態Ｓ２２では、入力ストローク領域３０１は、表示ストローク領域２０３と重なっている。また、図１０の状態Ｓ２２では、入力ストローク領域３０１において、表示ストローク領域２０３と重なっている領域の割合は、１／２以上である。したがって、重なり判定部２７は、入力ストローク領域３０１が表示ストローク領域２０３と第１の閾値以上重なっていると判定する。
【０１２１】
文字修正部２８は、この判定結果から、入力ストローク領域３０１の文字「Ｂ」の１画目を示すストロークで、表示ストローク領域２０３の文字「Ｃ」を示すストロークを置換する（状態Ｓ２３）。
【０１２２】
状態Ｓ２３において、文字修正装置１は、文字「Ｂ」の２画目のストロークの入力を受け付ける。すると、文字修正装置１は、１画目及び２画目を併せたストロークに外接枠で特定される入力ストローク領域３０２を特定する。
【０１２３】
そして、文字修正装置１は、重なり判定部２７により、入力ストローク領域３０２が、表示ストローク領域２０１及び２０２、２０４及び２０５のそれぞれと第１の閾値以上重なっているか否かを判定する。そして、文字修正装置１は、文字修正部２８の判定結果に応じて、入力ストローク領域３０１のストロークで置換又は挿入する（状態Ｓ２４）。
【０１２４】
図１０の状態Ｓ２４では、入力ストローク領域３０２は、表示ストローク領域２０１及び２０２並びに表示ストローク領域２０４及び２０５のいずれとも重なっていない。したがって、重なり判定部２７は、入力ストローク領域３０２が表示ストローク領域２０１及び２０２並びに表示ストローク領域２０４及び２０５と第１の閾値以上重なっていないと判定する。
【０１２５】
文字修正部２８は、この判定結果から、入力ストローク領域３０２の文字「Ｂ」の１画目及び２画目を示すストロークを、これらのストロークが入力された位置に挿入する。
【０１２６】
このように、本実施形態の文字修正装置１では、ユーザは、表示ストロークに対して手書き入力によりストロークを直接修正することができる。また、上述したように、本実施形態の文字修正装置１では、修正された表示ストローク全体が示すストローク情報に対応する文字を認識する。これにより、本実施形態の文字修正装置１は。表示ストロークにおける修正されたストロークの認識精度を向上させることができる。
【０１２７】
（第二の実施形態）
次に、第二の実施形態について説明する。第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１２８】
本実施形態の文字修正装置１Ａは、画面における表示テキストの表示位置に応じて、表示ストロークを表示させるものである。
【０１２９】
図１１は、第二の実施形態の文字修正装置の機能構成を説明する図である。本実施形態の文字修正装置１Ａは、文字修正処理部２１Ａを有する。また、文字修正処理部２１Ａは、表示検知部２９を有する。
【０１３０】
表示検知部２９は、表示操作装置１０１に表示される画面において、所定の位置にある表示テキストを検知する。ここで、所定の位置とは、例えば、表示操作装置１０１に表示される画面の中央を示す座標である。以降では、所定の位置とは、表示操作装置１０１に表示される画面の中央を示す座標であるとして説明する。
【０１３１】
次に、本実施形態の文字修正装置１Ａの動作について説明する。図１２は、第二の実施形態の表示ストロークの表示処理の一例を説明するフローチャートである。図１２では、表示操作装置１０１に表示される画面における表示テキストの表示位置に応じて、表示ストロークを表示させる処理である。
【０１３２】
本実施形態の文字修正装置１Ａは、表示検知部２９により、表示操作装置１０１に表示される画面の中央の位置を示す座標情報を取得する（ステップＳ１２０１）。なお、表示検知部２９は、例えば、表示操作装置１０１に表示される画面が表示された際、又はスクローク等された際に、画面の中央の位置を示す座標情報を取得する。
【０１３３】
なお、本実施形態の画面の中央の位置を示す座標は、例えば、文字修正装置１により表示されるページ画像における左上端の画素を原点として、Ｘ軸を基準点から右方向に正、Ｙ軸を基準点から下方向に正として示される相対座標とした。したがって、本実施形態の画面の中央の位置を示す座標は、例えばスクロール操作によって変化していく。
【０１３４】
次に、文字修正装置１Ａは、表示検知部２９により、ストローク対応付け情報４４の認識結果情報テーブル４４３を参照して、取得した座標情報が示す座標が含まれる入力領域が存在するか否かを判定する（ステップＳ１２０２）。すなわち、表示検知部２９は、画面の中央の位置に、手書き入力により入力された表示テキストが存在するか否かを判定する。ここで、画面の中央の位置を示す座標情報が入力領域に含まれるとは、入力領域として特定される領域内に画面の中央の座標が含まれることを意味する。
【０１３５】
ステップＳ１２０２において、該当する入力領域が存在する場合、文字修正装置１Ａは、ストローク情報管理部２４により、ストローク対応付け情報４４において、画面の中央の座標が含まれると判定された入力領域に対応付けられているストローク情報を取得する。そして、文字修正装置１Ａは、ストローク表示部２５により、取得されたストローク情報に基づき表示ストロークを表示させる（ステップＳ１２０３）。
【０１３６】
ステップＳ１２０２において、該当する入力領域が存在しない場合、文字修正装置１Ａは、ステップＳ１２０１に戻る。
【０１３７】
なお、図１２において、ページ画像が表示される表示領域の大きさ等が変化した場合は、画面の中央の座標を示す座標情報や入力領域を特定する座標情報に対して、大きさ等の変化に応じた変換を行えば良い。例えば、表示領域の縦横比が２：１から１：２に変化した場合、座標情報に含まれるＸ座標の値及びＹ座標の値をそれぞれ１／２倍及び２倍にする変換を行えば良い。
【０１３８】
次に、図１３を参照して、図１２で説明した画面の中央の位置の表示テキストに対応する表示ストロークを表示させる場合を具体的に説明する。図１３は、第二の実施形態の表示ストロークの具体例を説明する図である。
【０１３９】
まず、文字修正装置１Ａにおいて、画面６の中央の位置にある「生年月日」を示す表示テキストの表示ストローク６ａが表示されている（状態Ｓ３１）。
【０１４０】
状態Ｓ３１において、文字修正装置１Ａは、画面６が上方向にスクロールされて画面７が表示された場合、表示検知部２９により、画面７の中央の位置を示す座標が含まれる入力領域が存在するか否かを判定する。状態Ｓ３１では、「電話番号」を示す表示テキストが表示された表示欄が該当する入力領域である。
【０１４１】
そこで、文字修正装置１Ａは、ストローク表示部２５により、「電話番号」を示す表示テキストが表示された表示欄（入力領域）と対応するストローク情報を取得し、表示ストローク７ａを表示させる（状態Ｓ３２）。
【０１４２】
このように、本実施形態の文字修正装置１Ａは、ユーザが修正対象の表示テキストを指定しなくても、画面の所定の位置にある表示テキストに対応する表示ストロークを表示させることができる。
【０１４３】
したがって、本実施形態では、例えば過去に入力した手書き入力の筆跡を確認したい場合や、どの情報が手書き入力されたかを確認したい場合等に、画面をスクロール操作するだけで順次所望の表示スクロールを表示させることができる。
【０１４４】
（第三の実施形態）
次に、第三の実施形態について説明する。第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１４５】
本実施形態の文字修正装置１Ｂは、表示ストロークを手書き入力により修正することで、表示テキストの文字の削除を行うことができるものである。
【０１４６】
図１４は、第三の実施形態の文字修正装置の機能構成を説明する図である。本実施形態の文字修正装置１Ｂは、文字修正処理部２１Ｂ、認識部３１Ａ、及び記憶部４１Ａを有する。また、文字修正処理部２１Ｂは、削除判定部５１を有する。さらに、記憶部４１Ａは、評価値情報４５を有する。
【０１４７】
認識部３１Ａは、手書き入力により入力されたストローク情報や、文字修正処理部２１Ｂにより修正された表示ストロークのストローク情報から文字を認識し、認識された文字及び文字の評価値を含む評価値情報４５を認識結果として取得する。
【０１４８】
評価値情報４５は、認識部３１Ａにより認識結果として取得される情報であり、ストローク情報から認識された文字及び文字の評価値を含む情報である。ここで、評価値とは、ストローク情報から認識された文字の確からしさを示す値である。なお、評価値情報４５は、複数の文字及びこれらの文字の評価値であっても良い。
【０１４９】
削除判定部５１は、認識部３１Ａによる認識結果として取得された評価値情報４５に基づき、手書き入力された内容が文字の削除であるか否かを判定する。すなわち、削除判定部５１は、認識部３１Ａによる認識結果として取得された評価値情報４５における削除を示す文字の評価値が予め設定された第２の閾値以上である場合、文字の削除であると判定する。ここで、削除を示す文字とは、例えば、「−」により表せる削除記号である。
【０１５０】
次に、本実施形態の文字修正装置１Ｂの動作について説明する。図１５は、第三の実施形態の表示テキスト修正処理の一例を説明するフローチャートである。図１５では、主に、文字修正装置１Ｂに表示されている表示テキストを手書き入力により削除する処理について説明する。なお、手書き入力により文字を置換又は挿入する場合については、第一の実施形態において、図９で説明した通りであるため、説明を省略する。
【０１５１】
ステップＳ９０４において、入力ストローク領域において表示ストローク領域と重なっている領域の割合が第１の閾値以上であると判定された場合、文字修正装置１Ｂは、認識部３１Ａにより、手書き入力されたストロークを示すストローク情報から文字を認識し、認識結果を取得する（ステップＳ１５０１）。ここで、取得された認識結果には、ストローク情報から認識された文字と、文字の評価値を含む評価値情報４５とが含まれる。
【０１５２】
次に、本実施形態の文字修正装置１Ｂは、削除判定部５１により、評価値情報４５における削除を示す文字の評価値が第２の閾値以上であるか否かを判定する（ステップＳ１５０２）。
【０１５３】
ステップＳ１５０２において、評価値情報４５における削除を示す文字の評価値が第２の閾値以上であると判定された場合、文字修正装置１Ｂは、文字修正部２８により、該当の表示ストローク領域のストロークを削除する（ステップＳ１５０３）。すなわち、文字修正部２８は、ステップＳ９０４において入力ストローク領域と重なっている割合が第１の閾値以上であると判定された表示ストローク領域のストロークを削除する。
【０１５４】
ステップＳ１５０３において、評価値情報４５における削除を示す文字の評価値が第２の閾値以上であると判定されなかった場合、文字修正装置１Ｂは、ステップＳ９０５に進む。すなわち、文字修正装置１Ｂは、図９において説明した通り、文字修正部２８により、入力ストローク領域のストロークで表示ストローク領域のストロークを置換する。
【０１５５】
次に、図１６を参照して、図１５で説明した表示テキストの修正において、特に、文字の削除を行う場合を具体的に説明する。図１６は、第三の実施形態の表示テキスト修正の具体例を説明する図である。
【０１５６】
まず、文字修正装置１Ｂの表示操作装置１０１において表示テキスト「ＡＢＣＤＥ」の表示ストロークが表示されており、表示ストローク領域４０１〜４０５が特定された状態であるとする（状態Ｓ４１）。
【０１５７】
文字修正装置１Ｂは、状態Ｓ４１において、表示ストローク領域４０２の文字「Ｃ」を削除するための手書き入力を行ったとする。すると、文字修正装置１Ｂは、手書き入力により入力されたストロークの入力ストローク領域５０１を特定する（状態Ｓ４２）。図１６の例では、領域特定部２６は、削除を示す文字「−」の入力ストローク領域５０１を特定している。
【０１５８】
図１２の状態Ｓ４２において、入力ストローク領域５０１において、表示ストローク領域４０１〜４０５のうちの表示ストローク領域４０３と重なっている領域の割合は、１／２以上である。したがって、重なり判定部２７は、入力ストローク領域５０１が、表示ストローク領域４０３と第１の閾値以上重なっていると判定する。
【０１５９】
また、削除判定部５１は、評価値情報４５に含まれる削除を示す文字の評価値が第２の閾値以上であるか否かを判定する。例えば、評価値情報４５に、文字「一」（漢数字）及び評価値「５０」、文字「−」（ハイフン）及び評価値「４０」、削除を示す文字「−」及び評価値「３５」等の文字及び評価値が含まれており、第２の閾値が「３０」であるとする。この場合、削除判定部５１は、評価値情報４５に含まれる削除を示す文字の評価値が第２の閾値以上であると判定する。
【０１６０】
文字修正装置１Ｂは、この判定結果から、文字修正部２８により、表示ストローク領域４０３のストロークを削除する（状態Ｓ４３）。
【０１６１】
このように、本実施形態の文字修正装置１Ｂは、さらに、表示ストロークを手書き入力により修正することができる。そして、文字修正装置１Ｂは、修正後の表示ストロークが示すストロークを認識し、認識結果として文字を取得することで、表示テキストの文字の削除を行うことができる。
【０１６２】
（第四の実施形態）
次に、第四の実施形態について説明する。第四の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１６３】
本実施形態では、文字修正プログラム２０及び認識プログラム３０が文字修正装置１とは異なる装置にインストールされている場合について説明する。図１７は、第四の実施形態の文字修正システムの一例を示す図である。
【０１６４】
本実施形態の文字修正装置１Ｃは、第１のアプリケーション１０を有する。また、文字修正装置１ＣとネットワークＮを介して接続されるサーバ装置５０は、文字修正プログラム２０及び認識プログラム３０を有する。
【０１６５】
本実施形態では、手書き入力処理において、文字修正装置１Ｃは、第１のアプリケーション１０により、ユーザにより手書き入力されたストローク情報と、手書き入力された入力領域を特定する座標情報とをサーバ装置５０に送信する。サーバ装置５０では、認識プログラム３０により、ストローク情報から文字を認識し、認識結果として取得した文字を文字修正装置１Ｃに送信する。また、サーバ装置５０は、ストローク情報と、認識結果として取得された文字と、入力領域を特定する座標情報とを対応付けたストローク対応付け情報４４を、サーバ装置５０の記憶領域に保存する。
【０１６６】
なお、手書き入力処理において、ストローク対応付け情報４４をサーバ装置５０で保存するものとして説明したが、これに限られない。サーバ装置５０は、ストローク対応付け４４を文字修正装置１に送信し、文字修正装置１においてストローク対応付け情報４４を保存しても良い。
【０１６７】
本実施形態では、手書き修正処理において、文字修正装置１Ｃは、第１のアプリケーション１０により、サーバ装置５０からストローク対応付け情報４４を取得し、取得したストローク対応付け情報４４のストローク情報に基づき表示ストロークを表示させる。また、文字修正装置１Ｃは、手書き入力により修正された修正後の表示ストロークを示すストローク情報をサーバ装置５０に送信する。サーバ装置５０は、修正後の表示ストロークを示すストローク情報から文字を認識し、認識結果として取得した文字を文字修正装置１Ｃに送信する。また、サーバ装置５０は、修正後の表示ストロークを示すストローク情報に基づいて、ストローク対応付け情報４４を更新する。
【０１６８】
以上により、本実施形態の文字修正システムでは、文字修正装置１Ｃに表示された表示テキストが修正される。本実施形態の構成により、文字修正装置１Ｃは、第１のアプリケーション１０がインストールされていれば、第一の実施形態乃至第三の実施形態で説明した手書き入力による修正を行うことができるようになる。
【０１６９】
また、サーバ装置５０が認識プログラム３０を有する構成とすることにより、例えば、認識プログラム３０が文字の認識に用いる情報をサーバ装置５０において管理することができる。したがって、サーバ装置５０において、認識プログラム３０が参照するデータベース等が更新されて、認識プログラム３０による文字認識の精度が向上した場合等には、手書き入力による修正で入力されたストロークの認識においても、その恩恵を受けることができる。
【０１７０】
（第五の実施形態）
次に、第五の実施形態について説明する。第五の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１７１】
本実施形態では、認識プログラム３０が文字修正装置１とは異なる装置にインストールされている場合について説明する。図１８は、第五の実施形態の文字修正システムの一例を示す図である。
【０１７２】
本実施形態の文字修正装置１Ｄは、第１のアプリケーション１０及び文字修正プログラム２０を有する。また、文字修正装置１ＤとネットワークＮを介して接続されるサーバ装置５０Ａは、認識プログラム３０を有する。
【０１７３】
本実施形態では、手書き入力処理において、文字修正装置１Ｄは、第１のアプリケーションにより、ユーザにより手書き入力されたストローク情報をサーバ装置５０Ａに送信する。サーバ装置５０Ａでは、認識プログラム３０により、ストローク情報から文字を認識し、認識結果として取得した文字を文字修正装置１Ｄに送信する。そして、文字修正装置１Ｄは、ストローク情報と、認識結果として取得された文字とを対応付けたストローク対応付け情報４４を記憶部４１に保存する。
【０１７４】
なお、手書き入力処理において、ストローク対応付け情報４４を文字修正装置１Ｃで保存するものとして説明したが、これに限られない。文字修正装置１Ｄは、手書き入力された入力領域を特定する座標情報をサーバ装置５０Ａに送信し、サーバ装置５０Ａにおいてストローク対応付け情報４４を保存しても良い。
【０１７５】
本実施形態では、手書き修正処理において、文字修正装置１Ｄは、文字修正プログラム２０により、記憶部４１からストローク対応付け情報４４を取得し、取得したストローク対応付け情報４４のストローク情報に基づき表示ストロークを表示させる。また、文字修正装置１Ｄは、手書き入力により修正された修正後の表示ストロークを示すストローク情報をサーバ装置５０Ａに送信する。サーバ装置５０Ａは、修正後の表示ストロークを示すストローク情報から文字を認識し、認識結果として取得した文字を文字修正装置１Ｄに送信する。そして、文字修正装置１は、修正後の表示ストロークを示すストローク情報と、認識結果として取得された文字とに基づきストローク対応付け情報を更新する。
【０１７６】
以上により、本実施形態の文字修正システムでは、文字修正装置１Ｄに表示された表示テキストが修正される。本実施形態の構成により、文字修正装置１Ｄは、第１のアプリケーション１０及び文字修正プログラム２０がインストールされていれば、第一の実施形態乃至第三の実施形態で説明した手書き入力による修正を行うことができるようになる。
【０１７７】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１７８】
１      文字修正装置
１０    第１のアプリケーション
２０    文字修正プログラム
２１    文字修正処理部
２２    ストローク情報取得部
２３    保存判定部
２４    ストローク情報管理部
２５    ストローク表示部
２６    領域特定部
２７    重なり判定部
２８    文字修正部
３０    認識プログラム
【図１】
2016170690.tif 000003
【図２】
2016170690.tif 000004
【図３】
2016170690.tif 000005
【図４】
2016170690.tif 000006
【図５】
2016170690.tif 000007
【図６】
2016170690.tif 000008
【図７】
2016170690.tif 000009
【図８】
2016170690.tif 000010
【図９】
2016170690.tif 000011
【図１０】
2016170690.tif 000012
【図１１】
2016170690.tif 000013
【図１２】
2016170690.tif 000014
【図１３】
2016170690.tif 000015
【図１４】
2016170690.tif 000016
【図１５】
2016170690.tif 000017
【図１６】
2016170690.tif 000018
【図１７】
2016170690.tif 000019
【図１８】
2016170690.tif 000020
【国際調査報告】
2016170690.tif 000021
2016170690.tif 000022
2016170690.tif 000023
2016170690.tif 000024