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