(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面を参照しながら実施形態について説明する。
[第1実施形態]
図1は、第1実施形態に係る入力表示装置100の構成を示す図である。入力表示装置100は、制御部110と、記憶部120と、表示部130と、画面処理部140と、入力部150と、ストロークデータ処理部160と、文字認識部170とを具備している。
【0013】
制御部110は、入力表示装置100の全体を制御するための機能部である。制御部110は、記憶部120に記憶されている各種コンピュータプログラム(以下、プログラムと称する)を読み出して実行することにより各種機能を実現しており、例えば、CPU(Central Process Unit)等により構成されている。
【0014】
記憶部120は、入力表示装置100の動作に必要な各種プログラムや、各種データが記憶されている機能部である。記憶部120は、例えば、半導体メモリや、HDD(Hard Disk Drive)等により構成されている。記憶部120は、後述の座標テーブル500を記憶している。
【0015】
表示部130は、タッチパネルディスプレイであり、例えば、LCD(Liquid Crystal Display)とタッチパネルとにより構成される。画面処理部140は、各種画面を表示部130に表示制御する処理を行う制御処理部である。
【0016】
入力部150は、キーボード152、ポインティングデバイス154、タッチペン156を含んでいる。例えば、ユーザは、ポインティングデバイス154又はタッチペン156を用いて、画面に対して手書き入力を行なうことができる。ストロークデータ処理部160は、手書き入力された文字を後述のストロークデータとして生成する。
【0017】
文字認識部170は、手書き入力された文字(ストロークデータ)に対して光学文字認識(Optical Character Recognition)(一般的にOCRと略される)を施して、コンピュータが編集可能な文字である認識文字に変換する。
【0018】
第1実施形態に係る入力表示装置100の動作について、
図2〜11を用いて説明する。
図2は、第1実施形態に係る入力表示装置100の動作を示すフローチャートである。
図3は、第1実施形態に係る入力表示装置100の動作として手書き入力モードを示すフローチャートである。
図4〜11は、第1実施形態に係る入力表示装置100の動作を説明するための図である。
【0019】
まず、通常入力モードについて説明する。画面処理部140は、文書データを入力画面200(
図4を参照)として表示部130に表示する(
図2のステップS2)。
【0020】
図4に示すように、入力画面200(文書データ)は、入力位置として、複数の入力欄210、212を含んでいる。入力欄210、212は、それぞれ、ユーザの氏名(名前)である姓、名を漢字や平仮名により入力する位置(欄)である。
【0021】
ユーザは、入力部150(キーボード152)を用いて、通常入力モードを選択する(
図2のステップS3−No)。この場合、通常入力モードが実行される(
図2のステップS6)。
【0022】
通常入力モードにおいて、ユーザは、表示部130に表示された入力画面200の複数の入力欄210、212に対して、それぞれ、入力部150(キーボード152)を用いて文字(文字列)「発明」、「太郎」を入力する。
図11に示すように、画面処理部140は、文字「発明」、「太郎」がそれぞれの入力欄210、212に反映された入力画面200を表示部130に表示する。
【0023】
次に、手書き入力モードについて説明する。画面処理部140は、文書データを入力画面200(
図4を参照)として表示部130に表示する(
図2のステップS2)。文書データは、HTML(Hyper Text Markup Language)やPDF(Portable Document Format)等による文書を表すデータである。
【0024】
図5に示すように、座標テーブル500は、入力画面200、入力欄210、212に対して、X座標、Y座標を表すデータを記憶している。具体的には、入力画面200には、X座標の最小値「X0」、X座標の最大値「Xmax」、Y座標の最小値「Y0」、Y座標の最大値「Ymax」が対応付けられている。入力欄210には、X座標の最小値「X2101」、X座標の最大値「X2102」、Y座標の最小値「Y2101」、Y座標の最大値「Y2102」が対応付けられている。入力欄212には、X座標の最小値「X2121」、X座標の最大値「X2122」、Y座標の最小値「Y2121」、Y座標の最大値「Y2122」が対応付けられている。
【0025】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、手書き入力モードを選択する(
図2のステップS3−Yes)。この場合、手書き入力モードが実行される(
図2のステップS8)。
【0026】
手書き入力モードにおいて、
図6に示すように、画面処理部140は、表示部130に表示された入力画面200をキャプチャ画面300としてキャプチャする。画面処理部140は、そのキャプチャ画面300を記憶部120に保存すると共に、キャプチャ画面300を入力画面200上に表示する(
図3のステップS100)。
【0027】
図7に示すように、ユーザは、キャプチャ画面300の複数の入力欄210、212に対して、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、文字「発明」、「太郎」を手書き入力する(
図3のステップS102)。
【0028】
この場合、ユーザは、キャプチャ画面300の複数の入力欄210、212からはみ出して、文字「発明」、「太郎」を手書き入力してもよい。ストロークデータ処理部160は、キャプチャ画面300に対して手書き入力された入力文字を構成する複数の座標列をそれぞれストロークデータとして生成して記憶部120に保存する。
【0029】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、認識指示を行なう(
図3のステップS104)。
【0030】
このとき、
図7に示すように、ストロークデータ処理部160は、記憶部120に保存されたストロークデータを、入力欄210、212に対応する文字列を表すストロークデータにグループ化し、グループ化ストロークデータ310、312として生成する(
図3のステップS106)。
【0031】
ステップS106について、
図8を用いて説明する。グループ化ストロークデータ310、312の各々は、ユーザが手書き入力したときの1番目のストロークデータSD1から最終番目のストロークデータSDn(nは1以上の整数)を表している。1番目のストロークデータSD1から最終番目のストロークデータSDnは、ユーザが手書き入力を終了してから(例えば、タッチペン156の場合はペンアップしてから)、所定時間Tpが経過したときに、1つのグループ化ストロークデータを構成する。
【0032】
ここで、1番目のストロークデータSD1から最終番目のストロークデータSDnをグループ化する技術としては、所定時間Tpのような時間情報の代わりに、手書き入力されたときの位置を表す位置情報を用いてもよい。例えば、位置情報を用いてグループ化する技術として、ウォード法によるクラスタリングが知られている。また、グループ化する技術として、時間情報と位置情報とを組み合わせたものでもよい。また、
図8では「発明」という文字列をグループ化しているが、例えば「発」「明」と、文字毎にグループ化データし、その後「発明」という文字列をグループ化してもよい。
【0033】
文字認識部170は、グループ化ストロークデータ310、312に対して文字認識を施して、それぞれ、コンピュータが編集可能な文字として認識文字(認識文字列)410、412に変換する(
図3のステップS108)。なお、本明細書の認識文字とは、一又は複数の文字であっても良いことは勿論であり、文字・文字列を含むものとする。
【0034】
このとき、
図9に示すように、画面処理部140は、キャプチャ画面300に対して手書き入力された位置に、認識文字410、412を表示する(
図3のステップS110)。認識文字410、412は、それぞれ、文字「発明」、「太郎」を表している。
【0035】
ステップS110について、
図10を用いて説明する。画面処理部140は、グループ化ストロークデータ310、312の各々の座標を検出する。グループ化ストロークデータ310を例にした場合、画面処理部140は、グループ化ストロークデータ310に対して、キャプチャ画面300のX座標の最小値「X3101」、X座標の最大値「X3102」、Y座標の最小値「Y3101」、Y座標の最大値「Y3102」を検出して、その座標領域XY3100として(X3101、Y3101)(X3102、Y3101)(X3101、Y3102)(X3102、Y3102)を認識する。画面処理部140は、認識文字410である文字「発明」の文字サイズを、予め設定された設定文字サイズから、この座標領域3100に基づく文字サイズに変更(拡大)する。例えば、設定文字サイズに対して拡大倍率を決定する。画面処理部140は、キャプチャ画面300の座標領域XY3100に対して、座標領域3100に基づく文字サイズで、認識文字410である文字「発明」を表示する。
【0036】
例えば、ユーザは、キャプチャ画面300に表示された認識文字410、412のうちの少なくとも1つの認識文字に誤りがないと判断した場合(
図3のステップS112−No)、後述のステップS116が実行される。
【0037】
一方、ユーザは、キャプチャ画面300に表示された認識文字410、412のうちの少なくとも1つの認識文字に誤りがあると判断した場合(
図3のステップS112−Yes)、その認識文字に対して修正を行なう(
図3のステップS114)。具体的には、その認識文字に対して、ステップS102、S104、S106、S108、S110が実行される。または、ステップS114において、キャプチャ画面300上にソフトキーボードを表示して、その認識文字に対して修正を行なってもよい。
【0038】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、入力指示を行なう(
図3のステップS116)。
【0039】
このとき、
図11に示すように、画面処理部140は、キャプチャ画面300に代えて、認識文字410、412がそれぞれ入力欄210、212に反映された入力画面200を表示する(
図3のステップS118)。入力画面200の入力欄210、212には、それぞれ、文字「発明」、「太郎」が表示される。
【0040】
ステップS118について、
図12を用いて説明する。画面処理部140は、グループ化ストロークデータ310、312に対して検出された座標領域と、入力画面200の入力欄210、212の座標領域とがそれぞれ重複するか否かを判定する。グループ化ストロークデータ310を例にした場合、画面処理部140は、既に、グループ化ストロークデータ310に対して、キャプチャ画面300の座標領域XY3100として(X3101、Y3101)(X3102、Y3101)(X3101、Y3102)(X3102、Y3102)を認識している。また、画面処理部140は、座標テーブル500を参照することにより、入力画面200の入力欄210の座標領域XY2100として、(X2101、Y2101)(X2102、Y2101)(X2101、Y2102)(X2102、Y2102)を認識する。
【0041】
図12に示すように、X2101≦X3101≦X2102、かつ、Y2101≦Y3101≦Y2102、または、X2101≦X3102≦X2102、かつ、Y2101≦Y3102≦Y2102であれば、キャプチャ画面300の座標領域XY3100と入力画面200の入力欄210の座標領域XY2100とは重なりあう。この場合、画面処理部140は、認識文字410である文字「発明」の文字サイズを、座標領域3100に基づく文字サイズから、座標領域XY2100に基づく文字サイズに変更(縮小)する。例えば、座標領域3100に基づく文字サイズに対して縮小倍率を決定する。画面処理部140は、入力画面200の入力欄210に対して、座標領域XY2100に基づく文字サイズで、認識文字410である文字「発明」を表示する。
【0042】
ここで、認識結果のキャプチャ画面300の座標領域XY3100が入力画面200の入力欄210、212の座標領域に重なった場合、認識結果の座標領域XY3100の中心に対して、入力画面200の入力欄210、212のうちの一番近い入力欄210を選んでもよい。また、一般的に、横書き文字を手書きで書く場合に左上から始まる。そこで、認識結果のキャプチャ画面300の座標領域XY3100が入力画面200の入力欄210、212の座標領域に重なった場合、入力画面200の入力欄210、212のうちの一番左上側の入力欄210を選んでもよい。
【0043】
以上の説明により、第1実施形態に係る入力表示装置100では、入力欄210、212を含む入力画面200を表示する表示部130と、表示部130に表示された入力画面200を手書き入力用画面(キャプチャ画面300)としてキャプチャし、キャプチャ画面300を入力画面200上に表示する画面処理部140と、キャプチャ画面300に対して手書き入力されたときのストロークデータを、入力欄210、212に対応する文字列を表すストロークデータにグループ化し、グループ化ストロークデータ310、312として生成するストロークデータ処理部160と、グループ化ストロークデータ310、312に対して文字認識を施して、認識文字410、412に変換する文字認識部170と、を具備している。この場合、文字認識部170は、入力画面200の入力欄210、212に基づいて、グループ化ストロークデータ310、312を認識文字410、412に変換し、画面処理部140は、認識文字410、412を入力画面200の入力欄210、212に反映させる。このため、第1実施形態に係る入力表示装置100では、特許文献2に記載された技術のように、その都度、ユーザに文字列を手書き入力させるのではなく、ユーザが一括して手書き入力することができる。
【0044】
ここで、第1実施形態に係る入力表示装置100では、画面処理部140は、グループ化ストロークデータ310、312が、入力画面200の入力欄210、212に対して、ずれている場合、グループ化ストロークデータ310、312の座標領域と、入力欄210、212の座標領域とに基づいて、グループ化ストロークデータ310、312に対して文字認識が施された認識文字410、412を、入力欄210、212に反映させる。例えば、グループ化ストロークデータ310、312の座標領域は、入力欄210、212の座標領域に対して、一部重なっているが、一部はみ出している。この場合でも、これらの座標領域に基づいて、グループ化ストロークデータ310、312に対して文字認識が施された認識文字410、412を、入力欄210、212に反映させることができる。
【0045】
なお、本実施形態の処理としては、一度キャプチャ画面300に認識文字を表示しているが、単にテキスト文字(文字列)として、入力画面200の入力欄(例えば、入力フォーム等)に出力してもよいことは勿論である。具体的には、
図11における入力欄210が、テキストボックス等の入力欄の場合、当該入力欄にテキスト文字列「発明」を出力すれば(渡せば)よい。
【0046】
すなわち、入力文字として入力された位置に近いテキスト入力欄を認識する。当該テキスト入力欄の名前(例えば、HTMLファイルであれば「<input type="text" name="abc">」にて特定されるテキストボックス)に対して、認識文字をテキストとして出力してもよい。
【0047】
[第2実施形態]
第2実施形態では、入力画面200に、文字の種類を制限する制限情報として、例えば、全角のカタカタを入力するための入力欄や、半角の数字を入力するための入力欄が含まれる。
【0048】
第2実施形態に係る入力表示装置100の動作について、
図2、3、13〜17を用いて説明する。
図13〜17は、第2実施形態に係る入力表示装置100の動作を説明するための図である。
【0049】
まず、通常入力モードについて説明する。画面処理部140は、文書データを入力画面200(
図13を参照)として表示部130に表示する(
図2のステップS2)。
【0050】
図13に示すように、入力画面200(文書データ)は、更に、複数の入力欄220、222、230、232、234を含んでいる。入力欄220、222は、それぞれ、ユーザの氏名(名前)である姓、名をカタカナにより入力するカタカナ入力欄である。入力欄230、232、234は、それぞれ、ユーザの生年月日である年(西暦)、月、日を数字により入力する数字入力欄である。
【0051】
図14に示すように、座標テーブル500は、更に、入力欄220、222、230、232、234に対して、X座標、Y座標を表すデータを記憶している。具体的には、入力欄220には、X座標の最小値「X2201」、X座標の最大値「X2202」、Y座標の最小値「Y2201」、Y座標の最大値「Y2202」が対応付けられている。入力欄222には、X座標の最小値「X2221」、X座標の最大値「X2222」、Y座標の最小値「Y2221」、Y座標の最大値「Y2222」が対応付けられている。入力欄230には、X座標の最小値「X2301」、X座標の最大値「X2302」、Y座標の最小値「Y2301」、Y座標の最大値「Y2302」が対応付けられている。入力欄232には、X座標の最小値「X2321」、X座標の最大値「X2322」、Y座標の最小値「Y2321」、Y座標の最大値「Y2322」が対応付けられている。入力欄234には、X座標の最小値「X2341」、X座標の最大値「X2342」、Y座標の最小値「Y2341」、Y座標の最大値「Y2342」が対応付けられている。
【0052】
また、
図14に示すように、座標テーブル500は、入力欄220、222、230、232、234に対して、文字の種類を制限する制限情報を記憶している。具体的には、入力欄220、222には、文字の種類として全角のカタカタをユーザに入力させるためのカタカナ制限情報520が対応付けられている。入力欄230、232、234には、文字の種類として半角の数字をユーザに入力させるための数字制限情報530が対応付けられている。文字認識部170は、座標テーブル500を参照して、入力欄220、222にカタカナ制限情報520が対応付けられている場合、入力画面200に全角のカタカタをユーザに入力させるための入力欄220、222があることを認識する。文字認識部170は、座標テーブル500を参照して、入力欄230、232、234に数字制限情報530が対応付けられている場合、入力画面200に半角の数字をユーザに入力させるための入力欄230、232、234があることを認識する。
【0053】
ユーザは、入力部150(キーボード152)を用いて、通常入力モードを選択する(
図2のステップS3−No)。この場合、通常入力モードが実行される(
図2のステップS6)。
【0054】
通常入力モードにおいて、ユーザは、表示部130に表示された入力画面200の入力欄210、212、220、222、230、232、234に対して、それぞれ、入力部150(キーボード152)を用いて文字「発明」、「太郎」、「ハツメイ」、「タロウ」、「2016」、「1」、「1」を入力する。
図11に示すように、画面処理部140は、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」がそれぞれ入力欄210、212、220、222、230、232、234に反映された入力画面200を表示部130に表示する。
【0055】
次に、手書き入力モードについて説明する。画面処理部140は、文書データを入力画面200(
図13を参照)として表示部130に表示する(
図2のステップS2)。文書データは、HTML(Hyper Text Markup Language)やPDF(Portable Document Format)等による文書を表すデータである。
【0056】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、手書き入力モードを選択する(
図2のステップS3−Yes)。この場合、手書き入力モードが実行される(
図2のステップS8)。
【0057】
手書き入力モードにおいて、画面処理部140は、表示部130に表示された入力画面200をキャプチャ画面300(
図15を参照)としてキャプチャして、記憶部120に保存すると共に、キャプチャ画面300を入力画面200上に表示する(
図3のステップS100)。
【0058】
図15に示すように、ユーザは、キャプチャ画面300の入力欄210、212、220、222、230、232、234に対して、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、文字「発明」、「太郎」、「ハツメイ」、「タロウ」、「2016」、「1」、「1」を手書き入力する(
図3のステップS102)。
【0059】
この場合、ユーザは、キャプチャ画面300の入力欄210、212、220、222、230、232、234からはみ出して、文字「発明」、「太郎」、「ハツメイ」、「タロウ」、「2016」、「1」、「1」を手書き入力している。ストロークデータ処理部160は、キャプチャ画面300に対して手書き入力された文字を構成する座標列をそれぞれストロークデータとして生成して記憶部120に保存する。
【0060】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、認識指示を行なう(
図3のステップS104)。
【0061】
このとき、
図15に示すように、ストロークデータ処理部160は、記憶部120に保存されたストロークデータを、入力欄210、212、220、222、230、232、234に対応する文字列を表すストロークデータにグループ化し、グループ化ストロークデータ310、312、320、322、330、332、334として生成する(
図3のステップS106)。
【0062】
文字認識部170は、グループ化ストロークデータ310、312、320、322、330、332、334に対して文字認識を施して、それぞれ、コンピュータが編集可能な文字として認識文字410、412、420、422、430、432、434に変換する(
図3のステップS108)。
【0063】
この場合、座標テーブル500の入力欄220、222にカタカナ制限情報520が対応付けられているため、文字認識部170は、入力画面200に全角のカタカタをユーザに入力させるための入力欄220、222があることを認識し、全角のカタカタを表す認識文字420、422に変換する。また、座標テーブル500の入力欄230、232、234に数字制限情報530が対応付けられているため、文字認識部170は、入力画面200に半角の数字をユーザに入力させるための入力欄230、232、234があることを認識し、半角の数字を表す認識文字430、432、434に変換する。
【0064】
このとき、
図16に示すように、画面処理部140は、キャプチャ画面300に対して手書き入力された位置に、認識文字410、412、420、422、430、432、434を表示する(
図3のステップS110)。認識文字410、412、420、422、430、432、434は、それぞれ、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」を表している。
【0065】
例えば、ユーザは、キャプチャ画面300に表示された認識文字410、412、420、422、430、432、434のうちの少なくとも1つの認識文字に誤りがないと判断した場合(
図3のステップS112−No)、ステップS116が実行される。
【0066】
一方、ユーザは、キャプチャ画面300に表示された認識文字410、412、420、422、430、432、434のうちの少なくとも1つの認識文字に誤りがあると判断した場合(
図3のステップS112−Yes)、その認識文字に対して修正を行なう(
図3のステップS114)。具体的には、その認識文字に対して、ステップS102、S104、S106、S108、S110が実行される。または、ステップS114において、キャプチャ画面300上にソフトキーボードを表示して、その認識文字に対して修正を行なってもよい。
【0067】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、入力指示を行なう(
図3のステップS116)。
【0068】
このとき、
図17に示すように、画面処理部140は、キャプチャ画面300に代えて、認識文字410、412、420、422、430、432、434がそれぞれ入力欄210、212、220、222、230、232、234に反映された入力画面200を表示する(
図3のステップS118)。入力画面200の入力欄210、212、220、222、230、232、234には、それぞれ、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」が表示される。
【0069】
なお、入力画面200の入力欄230、232、234は、数字を入力する欄であるため、ユーザが任意の数字を選択可能なプルダウン方式でもよい。
【0070】
以上の説明により、第2実施形態に係る入力表示装置100では、入力欄210、212、220、222、230、232、234を含む入力画面200を表示する表示部130と、表示部130に表示された入力画面200を手書き入力用画面(キャプチャ画面300)としてキャプチャし、キャプチャ画面300を入力画面200上に表示する画面処理部140と、キャプチャ画面300に対して手書き入力されたときのストロークデータを、入力欄210、212、220、222、230、232、234に対応する文字列を表すストロークデータにグループ化し、グループ化ストロークデータ310、312、320、322、330、332、334として生成するストロークデータ処理部160と、グループ化ストロークデータ310、312、320、322、330、332、334に対して文字認識を施して、認識文字410、412、420、422、430、432、434に変換する文字認識部170と、を具備している。この場合、文字認識部170は、入力画面200の入力欄210、212、220、222、230、232、234に基づいて、グループ化ストロークデータ310、312、320、322、330、332、334を認識文字410、412、420、422、430、432、434に変換し、画面処理部140は、認識文字410、412、420、422、430、432、434を入力画面200の入力欄210、212、220、222、230、232、234に反映させる。このため、第2実施形態に係る入力表示装置100では、特許文献2に記載された技術のように、その都度、ユーザに文字列を手書き入力させるのではなく、ユーザが一括して手書き入力することができる。
【0071】
また、第2実施形態に係る入力表示装置100では、入力欄210、212、220、222、230、232、234のうちの少なくとも1つの入力欄220、222、230、232、234には、文字の種類を制限するための制限情報520、530が対応付けられている。文字認識部170は、入力欄210、212、220、222、230、232、234と制限情報520、530とに基づいて、グループ化ストロークデータ310、312、320、322、330、332、334を認識文字410、412、420、422、430、432、434に変換する。このため、第2実施形態に係る入力表示装置100では、文字の種類を制限する制限情報として、例えば、全角のカタカタを入力欄220、222に反映させたり、半角の数字を入力欄230、232、234に反映させたりすることができる。
【0072】
ここで、第2実施形態に係る入力表示装置100では、画面処理部140は、グループ化ストロークデータ310、312、320、322、330、332、334が、入力画面200の入力欄210、212、220、222、230、232、234に対して、ずれている場合でも、グループ化ストロークデータ310、312、320、322、330、332、334の座標領域と、入力欄210、212、220、222、230、232、234の座標領域と、制限情報520、530とに基づいて、グループ化ストロークデータ310、312、320、322、330、332、334に対して文字認識が施された認識文字410、412、420、422、430、432、434を、入力欄210、212、220、222、230、232、234に反映させる。例えば、グループ化ストロークデータ310、312、320、322、330、332、334のうちのグループ化ストロークデータ320、322の座標領域は、入力欄210、212、220、222、230、232、234のうちの入力欄220、222の座標領域に対して、一部重なっているが、一部はみ出している。この場合でも、これらの座標領域と制限情報(カタカナ制限情報520)とに基づいて、グループ化ストロークデータ320、322に対して文字認識が施された認識文字420、422を、入力欄210、212に反映させることができる。例えば、グループ化ストロークデータ310、312、320、322、330、332、334のうちのグループ化ストロークデータ330、332、334の座標領域は、入力欄210、212、220、222、230、232、234のうちの入力欄230、232、234の座標領域に対して、一部重なっているが、一部はみ出している。この場合でも、これらの座標領域と制限情報(数字制限情報530)とに基づいて、グループ化ストロークデータ330、332、334に対して文字認識が施された認識文字430、432、434を、入力欄230、232、234に反映させることができる。
【0073】
[第3実施形態]
第3実施形態では、入力画面200に、属性情報として、例えば、ユーザが選択(指定)するための入力欄が含まれる。
【0074】
第3実施形態に係る入力表示装置100の動作について、
図2、18〜24を用いて説明する。
図18、19は、第3実施形態に係る入力表示装置100の動作として手書き入力モードを示すフローチャートである。
図20〜24は、第3実施形態に係る入力表示装置100の動作を説明するための図である。
【0075】
まず、通常入力モードについて説明する。画面処理部140は、文書データを入力画面200(
図20を参照)として表示部130に表示する(
図2のステップS2)。
【0076】
図20に示すように、入力画面200(文書データ)は、更に、入力欄240、242を含んでいる。入力欄240、242は、それぞれ、チェックマーク(例えば、レ点)を付すことによって、性別として男性又は女性をユーザが選択(指定)するためのチェック入力欄(いわゆる、チェックボックス)である。
【0077】
図21に示すように、座標テーブル500は、更に、入力欄240、242に対して、X座標、Y座標を表すデータを記憶している。具体的には、入力欄240には、X座標の最小値「X2401」、X座標の最大値「X2402」、Y座標の最小値「Y2401」、Y座標の最大値「Y2402」が対応付けられている。入力欄242には、X座標の最小値「X2421」、X座標の最大値「X2422」、Y座標の最小値「Y2421」、Y座標の最大値「Y2422」が対応付けられている。
【0078】
また、
図21に示すように、座標テーブル500は、入力欄240、242に対して、属性情報を記憶している。具体的には、入力欄240、242には、入力欄240又は入力欄242をユーザに指定(選択)させるためのチェックマーク属性情報540が対応付けられている。文字認識部170は、座標テーブル500を参照して、入力欄240、242にチェックマーク属性情報540が対応付けられている場合、入力画面200にチェックマークをユーザに指定(選択)させるための入力欄240、242があることを認識する。すなわち、チェックマークによる入力方法で入力されることが属性情報として対応づけられる。
【0079】
ユーザは、入力部150(キーボード152)を用いて、通常入力モードを選択する(
図2のステップS3−No)。この場合、通常入力モードが実行される(
図2のステップS6)。
【0080】
通常入力モードにおいて、ユーザは、表示部130に表示された入力画面200の入力欄210、212、220、222、230、232、234に対して、それぞれ、入力部150(キーボード152)を用いて文字「発明」、「太郎」、「ハツメイ」、「タロウ」、「2016」、「1」、「1」を入力する。また、ユーザは、表示部130に表示された入力画面200の入力欄240、242のうちの入力欄240を、入力部150(キーボード152)を用いて選択(指定)する。
図24に示すように、画面処理部140は、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」、チェックマークがそれぞれ入力欄210、212、220、222、230、232、234、240に反映された入力画面200を表示部130に表示する。
【0081】
次に、手書き入力モードについて説明する。画面処理部140は、文書データを入力画面200(
図20を参照)として表示部130に表示する(
図2のステップS2)。文書データは、HTML(Hyper Text Markup Language)やPDF(Portable Document Format)等による文書を表すデータである。
【0082】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、手書き入力モードを選択する(
図2のステップS3−Yes)。この場合、手書き入力モードが実行される(
図2のステップS8)。
【0083】
手書き入力モードにおいて、画面処理部140は、表示部130に表示された入力画面200(
図20を参照)をキャプチャ画面300(
図22を参照)としてキャプチャして、記憶部120に保存すると共に、キャプチャ画面300を入力画面200上に表示する(
図18のステップS100)。
【0084】
図22に示すように、ユーザは、キャプチャ画面300の入力欄210、212、220、222、230、232、234に対して、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、文字「発明」、「太郎」、「ハツメイ」、「タロウ」、「2016」、「1」、「1」を手書き入力する。また、ユーザは、キャプチャ画面300の入力欄240、242のうちの入力欄240に対して、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、チェックマーク(例えば、レ点)として文字「レ」を手書き入力する(
図18のステップS102)。
【0085】
この場合、ユーザは、キャプチャ画面300の入力欄210、212、220、222、230、232、234、240からはみ出して、文字「発明」、「太郎」、「ハツメイ」、「タロウ」、「2016」、「1」、「1」、「レ」を手書き入力している。ストロークデータ処理部160は、キャプチャ画面300に対して手書き入力された文字を構成する座標列をそれぞれストロークデータとして生成して記憶部120に保存する。
【0086】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、認識指示を行なう(
図18のステップS104)。
【0087】
このとき、
図22に示すように、ストロークデータ処理部160は、記憶部120に保存されたストロークデータを、入力欄210、212、220、222、230、232、234、240に対応する文字列を表すストロークデータにグループ化し、グループ化ストロークデータ310、312、320、322、330、332、334、340として生成する(
図18のステップS106)。
【0088】
文字認識部170は、グループ化ストロークデータ310、312、320、322、330、332、334、340に対して文字認識を施して、それぞれ、コンピュータが編集可能な文字として認識文字410、412、420、422、430、432、434、440に変換する(
図18のステップS108)。
【0089】
この場合、座標テーブル500の入力欄220、222にカタカナ制限情報520が対応付けられているため、文字認識部170は、入力画面200に全角のカタカタをユーザに入力させるための入力欄220、222があることを認識し、全角のカタカタを表す認識文字420、422に変換する。また、座標テーブル500の入力欄230、232、234に数字制限情報530が対応付けられているため、文字認識部170は、入力画面200に半角の数字をユーザに入力させるための入力欄230、232、234があることを認識し、半角の数字を表す認識文字430、432、434に変換する。また、座標テーブル500の入力欄240、242にチェックマーク属性情報540が対応付けられているため、文字認識部170は、入力画面200にチェックマークをユーザに指定(選択)させるための入力欄240、242があることを認識し、チェックマークを表す認識文字440に変換する。
【0090】
このとき、
図23に示すように、画面処理部140は、キャプチャ画面300に対して手書き入力された位置に、認識文字410、412、420、422、430、432、434、440を表示する(
図18のステップS110)。認識文字410、412、420、422、430、432、434、440は、それぞれ、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」、レ点による文字「レ」を表している。
【0091】
例えば、ユーザは、キャプチャ画面300に表示された認識文字410、412、420、422、430、432、434、440のうちの少なくとも1つの認識文字に誤りがないと判断した場合(
図18のステップS112−No)、ステップS116が実行される。
【0092】
一方、ユーザは、キャプチャ画面300に表示された認識文字410、412、420、422、430、432、434、440のうちの少なくとも1つの認識文字に誤りがあると判断した場合(
図18のステップS112−Yes)、その認識文字に対して修正を行なう(
図18のステップS114)。具体的には、その認識文字に対して、ステップS102、S104、S106、S108、S110が実行される。
【0093】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、入力指示を行なう(
図18のステップS116)。
【0094】
画面処理部140は、座標テーブル500を参照して、入力欄240、242にチェックマーク属性情報540が対応付けられていない場合、入力画面200にチェックマークを付すための入力欄240、242がないことを認識する(
図19のステップS120−No)。この場合、第2実施形態と同様に、ステップS118が実行される。すなわち、画面処理部140は、キャプチャ画面300に代えて、認識文字410、412、420、422、430、432、434がそれぞれ入力欄210、212、220、222、230、232、234に反映された入力画面200を表示する(
図19のステップS118)。入力画面200の入力欄210、212、220、222、230、232、234には、それぞれ、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」が表示される。
【0095】
一方、画面処理部140は、座標テーブル500を参照して、入力欄240、242にチェックマーク属性情報540が対応付けられている場合、入力画面200にチェックマークを付すための入力欄240、242があることを認識する(
図19のステップS120−Yes)。この場合、
図24に示すように、画面処理部140は、キャプチャ画面300に代えて、認識文字410、412、420、422、430、432、434、チェックマークがそれぞれ入力欄210、212、220、222、230、232、234、240に反映された入力画面200を表示する(
図19のステップS122)。すなわち、入力画面200の入力欄210、212、220、222、230、232、234には、それぞれ、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」が表示され、かつ、入力画面200の入力欄240、242のうちの入力欄240が選択(指定)されたチェックマークが表示される。
【0096】
以上の説明により、第3実施形態に係る入力表示装置100では、入力欄210、212、220、222、230、232、234、240、242を含む入力画面200を表示する表示部130と、表示部130に表示された入力画面200を手書き入力用画面(キャプチャ画面300)としてキャプチャし、キャプチャ画面300を入力画面200上に表示する画面処理部140と、キャプチャ画面300に対して手書き入力されたときのストロークデータを、入力欄210、212、220、222、230、232、234、240、242に対応する文字列を表すストロークデータにグループ化し、グループ化ストロークデータ310、312、320、322、330、332、334、340として生成するストロークデータ処理部160と、グループ化ストロークデータ310、312、320、322、330、332、334、340に対して文字認識を施して、認識文字410、412、420、422、430、432、434、440に変換する文字認識部170と、を具備している。この場合、文字認識部170は、入力画面200の入力欄210、212、220、222、230、232、234、240、242に基づいて、グループ化ストロークデータ310、312、320、322、330、332、334、340を認識文字410、412、420、422、430、432、434、440に変換し、画面処理部140は、認識文字410、412、420、422、430、432、434、440を入力画面200の入力欄210、212、220、222、230、232、234、240に反映させる。このため、第3実施形態に係る入力表示装置100では、特許文献2に記載された技術のように、その都度、ユーザに文字列を手書き入力させるのではなく、ユーザが一括して手書き入力することができる。
【0097】
また、第3実施形態に係る入力表示装置100では、入力欄210、212、220、222、230、232、234、240、242のうちの少なくとも2つの入力欄240、242には、ユーザが選択又は指定するための属性情報(チェックマーク属性情報540)が対応付けられている。文字認識部170は、入力欄210、212、220、222、230、232、234、240、242と属性情報(チェックマーク属性情報540)とに基づいて、グループ化ストロークデータ310、312、320、322、330、332、334、340を認識文字410、412、420、422、430、432、434、440に変換する。このため、第3実施形態に係る入力表示装置100では、属性情報として、例えば、ユーザ選択(ユーザ指定)を入力欄240、242に反映させることができる。
【0098】
ここで、第3実施形態に係る入力表示装置100では、画面処理部140は、グループ化ストロークデータ310、312、320、322、330、332、334、340が、入力画面200の入力欄210、212、220、222、230、232、234、240に対して、ずれている場合でも、グループ化ストロークデータ310、312、320、322、330、332、334、340の座標領域と、入力欄210、212、220、222、230、232、234、240の座標領域と、属性情報(チェックマーク属性情報540)と、に基づいて、グループ化ストロークデータ310、312、320、322、330、332、334、340に対して文字認識が施された認識文字410、412、420、422、430、432、434、440を、入力欄210、212、220、222、230、232、234、240に反映させる。例えば、グループ化ストロークデータ310、312、320、322、330、332、334、340のうちのグループ化ストロークデータ340の座標領域は、入力欄210、212、220、222、230、232、234、240のうちの入力欄240の座標領域に対して、一部重なっているが、一部はみ出している。この場合でも、これらの座標領域と属性情報(チェックマーク属性情報540)とに基づいて、グループ化ストロークデータ340に対して文字認識が施された認識文字440を、入力欄240に反映させることができる。
【0099】
[第4実施形態]
第4実施形態では、キャプチャ画面300に各入力欄以外の部分に手書き入力された文字(例えば、ユーザのサイン等)については、入力画面200に反映させてもよい。
【0100】
第4実施形態に係る入力表示装置100の動作について、
図18〜21、25〜27を用いて説明する。
図25〜27は、第4実施形態に係る入力表示装置100の動作を説明するための図である。
【0101】
手書き入力モードにおいて、画面処理部140は、表示部130に表示された入力画面200(
図20を参照)をキャプチャ画面300(
図25を参照)としてキャプチャして、記憶部120に保存すると共に、キャプチャ画面300を入力画面200上に表示する(
図18のステップS100)。
【0102】
図25に示すように、ユーザは、キャプチャ画面300の入力欄210、212、220、222、230、232、234に対して、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、文字「発明」、「太郎」、「ハツメイ」、「タロウ」、「2016」、「1」、「1」を手書き入力する。また、ユーザは、キャプチャ画面300の入力欄240、242のうちの入力欄240に対して、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、チェックマーク(例えば、レ点)として文字「レ」を手書き入力する。また、ユーザは、キャプチャ画面300の入力欄210、212、220、222、230、232、234、240、242以外の部分に、ユーザ自身のサインとして、文字「発」を丸で囲った文字を手書き入力する(
図18のステップS102)。
【0103】
この場合、ユーザは、キャプチャ画面300の入力欄210、212、220、222、230、232、234、入力欄240からはみ出して、文字「発明」、「太郎」、「ハツメイ」、「タロウ」、「2016」、「1」、「1」、「レ」を手書き入力している。また、ユーザは、キャプチャ画面300の右隅の部分に、丸で囲った文字「発」を手書き入力している。ストロークデータ処理部160は、キャプチャ画面300に対して手書き入力された文字を構成する座標列をそれぞれストロークデータとして生成して記憶部120に保存する。
【0104】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、認識指示を行なう(
図18のステップS104)。
【0105】
このとき、
図25に示すように、ストロークデータ処理部160は、記憶部120に保存されたストロークデータのうちの、入力欄210、212、220、222、230、232、234、240に対応する文字列を表すストロークデータをグループ化ストロークデータ310、312、320、322、330、332、334、340として生成する。また、ストロークデータ処理部160は、記憶部120に保存されたストロークデータのうちの、入力欄210、212、220、222、230、232、234、240に対応しない文字列を表すストロークデータを、手書き文字350として生成する(
図18のステップS106)。
【0106】
文字認識部170は、グループ化ストロークデータ310、312、320、322、330、332、334、340に対して文字認識を施して、それぞれ、コンピュータが編集可能な文字として認識文字410、412、420、422、430、432、434、440に変換する(
図18のステップS108)。
【0107】
この場合、座標テーブル500の入力欄220、222にカタカナ制限情報520が対応付けられているため、文字認識部170は、入力画面200に全角のカタカタをユーザに入力させるための入力欄220、222があることを認識し、全角のカタカタを表す認識文字420、422に変換する。また、座標テーブル500の入力欄230、232、234に数字制限情報530が対応付けられているため、文字認識部170は、入力画面200に半角の数字をユーザに入力させるための入力欄230、232、234があることを認識し、半角の数字を表す認識文字430、432、434に変換する。また、座標テーブル500の入力欄240、242にチェックマーク属性情報540が対応付けられているため、文字認識部170は、入力画面200にチェックマークをユーザに指定(選択)させるための入力欄240、242があることを認識し、チェックマークを表す認識文字440に変換する。
【0108】
このとき、
図26に示すように、画面処理部140は、キャプチャ画面300に対して手書き入力された位置に、認識文字410、412、420、422、430、432、434、440と手書き文字350とを表示する(
図18のステップS110)。認識文字410、412、420、422、430、432、434、440は、それぞれ、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」、レ点による文字「レ」を表している。
【0109】
例えば、ユーザは、キャプチャ画面300に表示された認識文字410、412、420、422、430、432、434、440のうちの少なくとも1つの認識文字に誤りがないと判断した場合(
図18のステップS112−No)、ステップS116が実行される。
【0110】
一方、ユーザは、キャプチャ画面300に表示された認識文字410、412、420、422、430、432、434、440のうちの少なくとも1つの認識文字に誤りがあると判断した場合(
図18のステップS112−Yes)、その認識文字に対して修正を行なう(
図18のステップS114)。具体的には、その認識文字に対して、ステップS102、S104、S106、S108、S110が実行される。
【0111】
ユーザは、入力部150(ポインティングデバイス154又はタッチペン156)を用いて、入力指示を行なう(
図18のステップS116)。
【0112】
画面処理部140は、座標テーブル500を参照して、入力欄240、242にチェックマーク属性情報540が対応付けられていない場合、入力画面200にチェックマークを付すための入力欄240、242がないことを認識する(
図19のステップS120−No)。この場合、ステップS118が実行される。すなわち、画面処理部140は、キャプチャ画面300に代えて、認識文字410、412、420、422、430、432、434がそれぞれ入力欄210、212、220、222、230、232、234に反映され、かつ、手書き文字350が入力欄210、212、220、222、230、232、234以外の部分に反映された入力画面200を表示する(
図19のステップS118)。入力画面200の入力欄210、212、220、222、230、232、234には、それぞれ、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」が表示される。また、入力画面200の右隅の部分には、丸で囲った文字「発」が表示される。
【0113】
一方、画面処理部140は、座標テーブル500を参照して、入力欄240、242にチェックマーク属性情報540が対応付けられている場合、入力画面200にチェックマークを付すための入力欄240、242があることを認識する(
図19のステップS120−Yes)。この場合、
図27に示すように、画面処理部140は、キャプチャ画面300に代えて、認識文字410、412、420、422、430、432、434、チェックマークがそれぞれ入力欄210、212、220、222、230、232、234、240に反映され、かつ、手書き文字350が入力欄210、212、220、222、230、232、234以外の部分に反映された入力画面200を表示する(
図19のステップS122)。すなわち、入力画面200の入力欄210、212、220、222、230、232、234には、それぞれ、文字「発明」、「太郎」、全角のカタカタによる文字「ハツメイ」、「タロウ」、半角の数字による文字「2016」、「1」、「1」が表示され、かつ、入力画面200の入力欄240、242のうちの入力欄240が選択(指定)されたチェックマークが表示される。また、入力画面200の右隅の部分には、丸で囲った文字「発」が表示される。
【0114】
以上の説明により、第4実施形態に係る入力表示装置100では、入力欄210、212、220、222、230、232、234、240、242を含む入力画面200を表示する表示部130と、表示部130に表示された入力画面200を手書き入力用画面(キャプチャ画面300)としてキャプチャし、キャプチャ画面300を入力画面200上に表示する画面処理部140と、キャプチャ画面300に対して手書き入力されたときのストロークデータを、入力欄210、212、220、222、230、232、234、240、242に対応する文字列を表すストロークデータにグループ化し、グループ化ストロークデータ310、312、320、322、330、332、334、340として生成するストロークデータ処理部160と、グループ化ストロークデータ310、312、320、322、330、332、334、340に対して文字認識を施して、認識文字410、412、420、422、430、432、434、440に変換する文字認識部170と、を具備している。画面処理部140は、認識文字410、412、420、422、430、432、434、440を入力画面200の入力欄210、212、220、222、230、232、234、240に反映させる。このため、第4実施形態に係る入力表示装置100では、特許文献2に記載された技術のように、その都度、ユーザに文字列を手書き入力させるのではなく、ユーザが一括して手書き入力することができる。
【0115】
また、第4実施形態に係る入力表示装置100では、ストロークデータ処理部160は、入力欄210、212、220、222、230、232、234に対応しない文字列を表すストロークデータを手書き文字350として生成する。画面処理部140は、手書き文字350と、入力欄210、212、220、222、230、232、234に反映された認識文字410、412、420、422、430、432、434とを入力画面200に表示する。このため、第4実施形態に係る入力表示装置100では、キャプチャ画面300に各入力欄以外の部分に手書き入力された文字(例えば、ユーザのサイン等)を入力画面200に反映させることができる。
【0116】
[第5実施形態]
第2実施形態では、入力画面200に、文字の種類を制限する制限情報として、例えば、全角のカタカタを入力するための入力欄や、半角の数字を入力するための入力欄が含まれるが、これに限定されない。例えば、入力画面200に、文字の種類を制限する制限情報として、全角のカタカタを入力するための入力欄に代えて、半角のアルファベットを入力するための入力欄が含まれてもよい。
【0117】
[第6実施形態]
第1〜第5実施形態では、入力画面200に対して座標(X0、Y0)(Xmax、Y0)(X0、Ymax)(Xmax、Ymax)をもたせているが、これに限定されない。例えば、入力画面200(ウィンドウ)は表示部130上で移動可能であり、入力画面200に対して座標をもたせていない場合、ユーザがキャプチャ画面300上で手書き入力したときに、画面処理部140は、キャプチャ画面300上の座標をイベントデータとして、入力画面200に対応付けてもよい。
【0118】
[第7実施形態]
第7実施形態として、入力される文字(列)が英数字の場合について説明する。
図28は、キャプチャ画面400に英数字を入力し、入力画面に反映させるものである。なお、上述した実施形態と機能構成や基本的な処理については共通であり、具体的な処理については、上述した実施形態を適宜参照できるものとする。したがって、本実施形態においては、上述した実施形態と異なる部分を中心に説明する。
【0119】
図28は、手書き入力モードにおけるキャプチャ画面400である。キャプチャ画面400は、入力画面をキャプチャしたものであり、入力画面には「First name」「Last name」「Date of Birth」という入力欄が存在する。また、選択可能な選択ボタンとして、「Title」の欄が存在する。
【0120】
ここで、ユーザは、キャプチャ画面400の入力欄に対し、入力部150を用いて文字「John」「Smith」「8/29/1970」を手書き入力する。また、ユーザは、選択ボタンに対してチェックマークを手書き入力する。これらの手書き入力された文字(文字列)を構成する座標列をそれぞれストロークデータとして生成して記憶部120に保存する。
【0121】
このとき、入力欄に対応する文字列を表すストロークデータをグループ化ストロークデータとして生成してもよい。これらのストロークデータ(グループ化ストロークデータ)に対して文字認識を施して、それぞれ、コンピュータが編集可能な文字(文字列)として認識文字に変換する。
【0122】
ここで、文字認識部170は、入力欄に対応して認識文字に変換する。具体的には「First name」の欄であれば、英数字の文字認識を行う。また、選択ボタンについては、チェックマークを認識する認識文字に認識する。
【0123】
なお、文字認識部170は、入力欄に対応した認識文字に変換するが、予め決められた言語で認識されてもよい。予め決められた言語とは、当該処理が実行される前に「英語」「日本語」「アラビア語」等が設定されてもよいし、OSで設定されている言語が利用されても良い。
【0124】
図29は、文字・文字列が認識された状態を示すキャプチャ画面400である。当該認識が適切であれば、ユーザにより反映させる操作が実行され、各入力欄に認識された文字・文字列が入力させることとなる。すなわち、入力画面の複数の入力欄に、認識された文字が反映される。
【0125】
[第8実施形態]
第8実施形態について説明する。第4実施形態において、日本語における手書き入力及びそれ以外の入力について説明した。本実施形態は、入力する欄の属性情報に応じて、文字を認識するのか、そのままストロークデータを記憶するのかを分ける形態である。なお、上述した実施形態と機能構成、主な処理は共通であり、具体的な処理については、上述した実施形態を適宜参照できるものとする。したがって、本実施形態においては、上述した実施形態と異なる部分を中心に説明する。
【0126】
図30は、第3実施形態における
図18の処理を置き換えたものである。同一の処理フローについては、同一の符号を付してその説明を省略する。すなわち、
図30では、ステップS802が追加されている。
【0127】
ステップS802は、現在ストロークデータが入力された入力画面の位置の属性情報が署名欄か否かを判定する(ステップS802)。ここで、署名欄でない場合は他の実施形態と同様に、ステップS108から処理を実行するが(ステップS802;No)、署名欄の場合には、文字認識を行わない(ステップS802;Yes)。すなわち、ストロークデータは手書き入力された文字であるサイン(署名)であるとして、入力画面に反映されることとなる。
【0128】
この署名である属性情報は、例えば座標テーブル500に対応づけて記憶させてもよい。例えば、内容「署名欄」に対して、情報「署名属性情報」が記憶される。
【0129】
図31は、本実施形態における入力画面に基づくキャプチャ画面510である。キャプチャ画面510には、入力欄があり、例えば、「First name」の入力欄にはグループ化ストロークデータ600が入力されており、
図32に示すように認識文字610として認識される。
【0130】
ここで、署名欄に入力された手書き文字602は、署名欄の属性に基づいてそのまま手書き文字612として生成され、反映される。
【0131】
このように、本実施形態によれば、通常の入力欄に手書き入力された文字(ストロークデータ)は、グループ化ストロークデータとして生成され、文字列として認識される。また、署名欄に入力された署名は、そのまま手書き文字として生成され、認識される。
【0132】
なお、本実施形態では、署名欄を一例として説明しているが、その他の欄であってもよいし(例えば、図形入力欄や、確認欄等)、複数設けてもよい。
【0133】
[第9実施形態]
第9実施形態について説明する。第8実施形態において、入力する欄の属性に基づいて、文字認識するか否かについての判定を行った。本実施形態では、更に加えて座標情報を併せて、入力する欄の属性を判定する場合について説明する。なお、上述した実施形態と機能構成、主な処理は共通であり、具体的な処理については、上述した実施形態を適宜参照できるものとする。したがって、本実施形態においては、上述した実施形態と異なる部分を中心に説明する。
【0134】
図33は、第8実施形態(第3実施形態)における
図30(
図18)の処理を置き換えたものである。同一の処理フローについては、同一の符号を付してその説明を省略する。すなわち、
図33では、
図18の動作フローと比較してステップS902、S904が追加されている。
【0135】
キャプチャ画面において、手書き入力されると、手書き入力された座標情報に基づいて、属性情報を取得する(ステップS902)。ここで、取得された属性情報が、文字認識する対象であればステップS108から処理を実行する(ステップS904;Yes)。すなわち、文字認識を実行する。
【0136】
それに対して、取得された属性情報が文字認識する対象で無ければ、文字認識を行わない(ステップS904;No)。なお、これらの座標情報と属性情報との対応は、例えば、座標テーブル500に記憶されてもよい。
【0137】
例えば、
図34は、入力枠が表示されていない入力画面に基づくキャプチャ画面(入力用画面)である。この場合、入力領域750については、文字認識を行わない領域であり、入力領域760については、文字認識を行う領域である。すなわち、当該入力領域を含む座標情報の属性情報に、その旨が設定されている。
【0138】
したがって、グループ化ストロークデータ700については文字認識が行われる。例えば、グループ化ストロークデータ700は、文字認識が行われ、
図35の認識文字710として表示される。
【0139】
また、文字認識を行わない領域に入力された手書き文字702は、そのまま手書き文字として入力される。すなわち、
図35では、手書き文字712として表示されている。
【0140】
このように、本実施形態によれば、入力枠が表示されていない場合であっても、適切に属性情報を取得し、入力されたストロークデータは、属性情報に従って文字(文字列)や手書き文字、図形として入力される。
【0141】
第7実施形態から第9実施形態は、第1実施形態から第6実施形態で記載された内容においても十分開示されている内容である。実施形態として、第1実施形態から第6実施形態は、漢字、カタカナといった文字を主に説明したが、英数字においても適用される点を確認的に記載したものである。例えば、
図15においても数字を認識していることから、当業者であれば十分に開示されている範囲である。
【0142】
なお、第7実施形態から第9実施形態は、英文字を例に説明したが、その他の文字(例えば、アラビア文字や、キリル文字、タイ文字等)、記号であっても同様に適用可能なことは勿論である。
【0143】
[変形例]
以上のように、本発明は上述した実施形態に限定されるものではなく、種々の変更が可能である。すなわち、適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。