(57)【特許請求の範囲】
【請求項１】
文字が入力される範囲及び文字列の筆記方向を制約せず、かつ複数個所から順序関係なく手書き入力された複数の文字列について、前記複数の文字列に含まれる各入力文字の構成要素であるストロークを筆跡の位置座標列で表した情報と、そのストロークが書き込まれた順番である筆記順を表す情報とを含む複数のストロークデータを取得する取得ステップと、
前記取得ステップにおいて取得されたストロークデータ群を構成する位置座標列に基づいて、手書き入力された前記複数の文字列の筆跡を表す画像情報を生成する画像化ステップと、
前記画像化ステップにおいて生成された画像情報に基づいて、前記複数の文字列を構成する個々の入力文字を囲む領域である文字領域を特定する文字領域特定ステップと、
前記文字領域特定ステップにおいて特定された各文字領域を一連の文字列ごとのグループである文字列グループに分類するグループ化ステップと、
前記取得ステップにおいて取得されたストロークデータ群の筆記順について、前記グループ化ステップにおいて分類された文字列グループごとに、各文字列グループに属する文字領域に含まれるストロークデータの集合内における筆記順に並べ替えたグループ内順序を決定する筆順決定ステップと、
前記グループ化ステップにおいて分類された文字列グループごとに、各文字列グループに属する文字領域に含まれるストロークデータから導出される特徴に基づいて文字列の筆記方向を判定する方向判定ステップと、
前記方向判定ステップにおいて判定された文字列の筆記方向が、オンライン手書き文字認識処理のために定められた基準の筆記方向である基準方向と異なる場合、前記文字列の筆記方向が前記基準方向に合致するように、該当する文字列グループに属する各文字領域に含まれるストロークデータを構成する位置座標列を座標変換するストローク変換ステップと、
前記筆順決定ステップにおいてグループ内順序に変更され、また、前記ストローク変換ステップにおいて座標変換された文字列グループごとのストロークデータに対してオンライン手書き文字認識処理を行い、その認識結果を出力する文字認識ステップと、
をコンピュータに実行させるための文字認識プログラム。
【請求項２】
請求項１に記載の文字認識プログラムにおいて、
前記方向判定ステップは、前記文字列グループに属する文字領域に含まれるストロークデータを構成する位置座標列から得られる回帰直線の相関関係に基づいて文字列の筆記方向を判定するものであること、
を特徴とする文字認識プログラム。
【請求項３】
請求項１に記載の文字認識プログラムにおいて、
前記方向判定ステップは、前記文字列グループに属する文字領域ごとに、各文字領域に含まれるストロークデータを構成する位置座標列の外接領域を特定し、前記文字列グループ内における複数の外接領域の位置関係に基づいて文字列の筆記方向を判定するものであること、
を特徴とする文字認識プログラム。
【請求項４】
請求項１ないし請求項３の何れか１項に記載の文字認識プログラムにおいて、
前記ストローク変換ステップは、前記該当する文字列グループに属する文字領域に含まれるストロークデータを構成する位置座標列に対して、座標変換の基準となる座標点である基準座標を設定し、設定された基準座標と前記位置座標列における各座標点との間の距離及び方向、並びに前記判定された筆記方向と前記基準方向との方向差を用いて、前記ストロークデータを構成する位置座標列を座標変換するものであること、
を特徴とする文字認識プログラム。
【請求項５】
文字が入力される範囲及び文字列の筆記方向を制約せず、かつ複数個所から順序関係なく手書き入力された複数の文字列について、前記複数の文字列に含まれる各入力文字の構成要素であるストロークを筆跡の位置座標列で表した情報と、そのストロークが書き込まれた順番である筆記順を表す情報とを含む複数のストロークデータを取得する取得手段と、
前記取得手段により取得されたストロークデータ群を構成する位置座標列に基づいて、手書き入力された前記複数の文字列の筆跡を表す画像情報を生成する画像化手段と、
前記画像化手段において生成された画像情報に基づいて、前記複数の文字列を構成する個々の入力文字を囲む領域である文字領域を特定する文字領域特定手段と、
前記文字領域特定手段により特定された各文字領域を一連の文字列ごとのグループである文字列グループに分類するグループ化手段と、
前記取得手段により取得されたストロークデータ群の筆記順について、前記グループ化手段により分類された文字列グループごとに、各文字列グループに属する文字領域に含まれるストロークデータの集合内における筆記順に並べ替えたグループ内順序を決定する筆順決定手段と、
前記グループ化手段により分類された文字列グループごとに、各文字列グループに属する文字領域に含まれるストロークデータから導出される特徴に基づいて文字列の筆記方向を判定する方向判定手段と、
前記方向判定手段により判定された文字列の筆記方向が、オンライン手書き文字認識処理のために定められた基準の筆記方向である基準方向と異なる場合、前記文字列の筆記方向が前記基準方向に合致するように、該当する文字列グループに属する各文字領域に含まれるストロークデータを構成する位置座標列を座標変換するストローク変換手段と、
前記筆順決定手段によりグループ内順序に変更され、また、前記ストローク変換手段により座標変換された文字列グループごとのストロークデータに対してオンライン手書き文字認識処理を行い、その認識結果を出力する文字認識手段と、
を備える文字認識装置。
【請求項６】
請求項５に記載の文字認識装置において、
前記方向判定手段は、前記文字列グループに属する文字領域に含まれるストロークデータを構成する位置座標列から得られる回帰直線の相関関係に基づいて文字列の筆記方向を判定すること、
を特徴とする文字認識装置。
【請求項７】
請求項５に記載の文字認識装置において、
前記方向判定手段は、前記文字列グループに属する文字領域ごとに、各文字領域に含まれるストロークデータを構成する位置座標列の外接領域を特定し、前記文字列グループ内における複数の外接領域の位置関係に基づいて文字列の筆記方向を判定すること、
を特徴とする文字認識装置。
【請求項８】
請求項５ないし請求項７の何れか１項に記載の文字認識装置において、
前記ストローク変換手段は、前記該当する文字列グループに属する文字領域に含まれるストロークデータを構成する位置座標列に対して、座標変換の基準となる座標点である基準座標を設定し、設定された基準座標と前記位置座標列における各座標点との間の距離及び方向、並びに前記判定された筆記方向と前記基準方向との方向差を用いて、前記ストロークデータを構成する位置座標列を座標変換すること、
を特徴とする文字認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字が入力される範囲及び文字列の筆記方向を制約せず、かつ複数個所から順序関係なく手書き入力された複数の文字列を認識することができる文字認識プログラム及び文字認識装置に関する。
【背景技術】
【０００２】
従来、手書き文字認識の手法として、文字を書くときの動的な過程に基づいて文字を認識するオンライン手書き文字認識が知られている。この種のオンライン手書き文字認識においては、筆順を考慮することで文字の崩しに対して頑健であるという長所がある一方、筆順誤りや字画の書き足しに対して認識が不安定となる短所がある。
【０００３】
特許文献１には、オンライン手書き文字認識に必要な文字の切出しを行う技術として、１文字以上遡ってストロークが追加された（すなわち、字画が書き足された）場合でも文字の切出しを行えるようにする技術が記載されている。特許文献１に記載の技術によれば、後からストロークが追加された場合であっても、文字列から精度よく文字を切出すことができるとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２１３０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、平面状のポインティングデバイス等の入力デバイスを備える可搬型情報端末（例えば、タブレットコンピュータ）の普及により、複数人による寄せ書きや対話型筆談等の用途にこれらの可搬型情報端末が利用されるケースが増えている。複数人による寄せ書きや対話型筆談等の用途においては、入力デバイス上で文字が入力される範囲や筆記方向が制約されず、入力デバイスに対して上下左右様々な方向から順序関係なく文字列が手書き入力されるといった利用形態が想定される。
【０００６】
複数人が様々な方向から同時に入力デバイスに文字列を記入した場合、入力デバイスにおいて取得されるストロークの時系列の筆記順が、様々な方向に書かれた複数の文字列の間で入り乱れることになる。つまり、１つの文字を構成する複数のストロークが必ずしも連続する筆記順となっているとは限らず、間に別の文字を構成するストロークが混じっている可能性がある。このようになっていると、オンライン手書き文字認識においてストロークの筆記順に基づいて正しい文字を認識することが困難となり、認識精度が悪くなるという問題がある。
【０００７】
特許文献１における上述の技術は、１つの文字列の中でストロークの追加がある場合を想定したものである。そのため、特許文献１に記載の技術においては、寄せ書きのようにストロークの時系列の筆記順が複数の文字列の間で入り乱れる状況については想定されておらず、上述の問題を解決することはできない。
【０００８】
本発明は、上述の問題を解決するためになされたものである。本発明は、手書き文字認識において、文字が入力される範囲及び文字列の筆記方向を特定せず、かつ複数個所から順序関係なく手書き入力された複数の文字列を精度よく認識するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一形態に係る文字認識プログラムは、取得ステップと、画像化ステップと、グループ化ステップと、筆順決定ステップと、方向判定ステップと、ストローク変換ステップと、文字認識ステップとをコンピュータに実行させるものである。
【００１０】
取得ステップは、複数の文字列に含まれる各入力文字の構成要素であるストロークを筆跡の位置座標列で表した情報と、そのストロークが書き込まれた順番である筆記順を表す情報とを含む複数のストロークデータを取得する手順である。ここで入力される複数の文字列は、文字が入力される範囲及び文字列の筆記方向を制約せず、かつ複数個所から順序関係なく手書き入力されたものである。
【００１１】
画像化ステップは、取得ステップにおいて取得されたストロークデータ群を構成する位置座標列に基づいて、手書き入力された複数の文字列の筆跡を表す画像情報を生成する手順である。文字領域特定ステップは、画像化ステップにおいて生成された画像情報に基づいて、複数の文字列を構成する個々の入力文字を囲む領域である文字領域を特定する手順である。
【００１２】
グループ化ステップは、文字領域特定ステップにおいて特定された各文字領域を一連の文字列ごとの文字列グループに分類する手順である。筆順決定ステップは、ストロークデータ群の筆記順について、グループ化ステップにおいて分類された文字列グループごとに、各文字列グループに属する文字領域に含まれるストロークデータの集合内における筆記順に並べ替えたグループ内順序を決定する手順である。方向判定ステップは、グループ化ステップにおいて分類された文字列グループごとに、各文字列グループに属する文字領域に含まれるストロークデータから導出される特徴に基づいて文字列の筆記方向を判定する手順である。
【００１３】
ストローク変換ステップは、判定された文字列の筆記方向が、オンライン手書き文字認識処理のために定められた基準の筆記方向である基準方向と異なる場合、その文字列の筆記方向が基準方向に合致するように、該当する文字列グループに属する各文字領域に含まれるストロークデータを構成する位置座標列を座標変換する手順である。文字認識ステップは、筆順決定ステップにおいてグループ内順序に変更され、ストローク変換ステップにおいて座標変換された文字列グループごとのストロークデータに対してオンライン手書き文字認識処理を行い、その認識結果を出力する手順である。
【００１４】
本発明における手書き文字認識の対象となる複数の文字列は、文字が入力される範囲及び文字列の筆記方向を制約せず、かつ複数個所から順序関係なく手書き入力されたものである。そのため、ストロークデータの筆記順が複数の文字列を構成する各入力文字の中に分散していることが想定される。このようなストロークデータ群に対してそのままオンライン手書き文字認識処理を実行しても、正しい認識結果にはなり得ない。
【００１５】
そこで、まず、ストロークデータから変換された画像情報を用いることで、複数の文字列に分散したストロークの筆記順に影響されず、各入力文字に対応する文字領域を特定し、各文字列を構成する文字列グループを特定できる。そして、特定された文字列グループごとに、その文字クループに属する文字領域に含まれるストロークデータを筆記順に並べ替えることで、複数の文字列に分散しているストロークデータの筆記順を、個々の文字列に属する文字ごとの筆記順に並べ替えることができる。
【００１６】
さらに、入力された文字列の筆記方向と、オンライン手書き文字認識処理のために定められた基準方向とが異なる場合、その文字列に属するストロークデータを構成する位置座標列を、基準方向に沿う位置に座標変換する。これにより、文字列の筆記方向に関わらず、オンライン手書き文字認識の精度を向上できる。
【００１７】
このように、本発明によれば、文字が入力される範囲及び文字列の筆記方向を特定せず、かつ複数個所から順序関係なく手書き入力された複数の文字列を精度よく認識することができ、寄せ書きや対話型筆談等の用途に適した手書き文字認識を実現できる。
【００１８】
また、本発明に係る文字認識プログラムの一形態として、次のような構成を挙げる。すなわち、方向判定ステップにおいて、各文字列グループに属する文字領域に含まれるストロークデータを構成する位置座標列から得られる回帰直線の相関関係に基づいて文字列の筆記方向を判定する。このようにすることで、文字列の筆記方向を判定する手順を実現できる。
【００１９】
また、本発明に係る文字認識プログラムの一形態として、次のような構成を挙げる。すなわち、方向判定ステップにおいて、各文字列グループに属する文字領域ごとに、各文字領域に含まれるストロークデータを構成する位置座標列の外接領域を特定し、各文字列グループ内における複数の外接領域の位置関係に基づいて文字列の筆記方向を判定する。このようにすることで、文字列の筆記方向を判定する手順を実現できる。
【００２０】
また、本発明に係る文字認識プログラムの一形態として、次のような構成を挙げる。すなわち、ストローク変換ステップにおいて、該当する文字列グループに属する文字領域に含まれるストロークデータを構成する位置座標列に対して、座標変換の基準となる座標点である基準座標を設定する。そして、設定された基準座標と位置座標列における各座標点との間の距離及び方向、並びに判定された筆記方向と前記基準方向との方向差を用いて、ストロークデータを構成する位位置座標列を座標変換する。このようにすることで、ストロークデータの位置座標列を基準方向に合わせて座標変換する手順を実現できる。
【００２１】
なお、本発明は、上述した文字認識プログラムにおける各ステップを実行するコンピュータを備えた文字認識装置として実現することもできる。本発明に一形態に係る文字認識装置によれば、上述した文字認識プログラムについて記載した効果と同様の効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】実施形態の手書き文字認識システムの構成を表すブロック図。
【図２】手書き文字列の入力例を表す説明図。
【図３】文字認識処理の手順を表すフローチャート。
【図４】画像化処理に関する説明図。
【図５】文字領域の特定に関する説明図。
【図６】文字列グループの特定に関する説明図。
【図７】筆記順の並べ替えに関する説明図。
【図８】文字列の筆記方向の判定に関する説明図。
【図９】ストロークデータの座標変換に関する説明図。
【図１０】文字列の認識結果に関する説明図。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。なお、本発明は下記の実施形態に限定されるものではなく様々な態様にて実施することが可能である。
［文字認識システムの構成の説明］
図１に例示される文字認識システムは、情報処理装置１と、入力装置３１と、表示装置３４とを備える。また、情報処理装置１と入力装置３１との間の情報伝送経路には、外部記憶装置３２やネットワーク／無線通信経路３３が含まれているものとする。
【００２４】
情報処理装置１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、補助記憶装置、通信インタフェース等（何れも不図示）を中心に構成されたコンピュータであり、入力装置３１に書き込まれた手書き文字列を認識する機能を担う。この情報処理装置１は、例えば、パーソナルコンピュータ（ＰＣ）や、平板状の外形を有しタッチパネル式の入力表示部を備える、いわゆるタブレットＰＣ等の可搬型情報端末、ネットワークに接続された適宜な情報処理能力を有するサーバ装置等で具現化される。
【００２５】
情報処理装置１の各種機能は、ＣＰＵが記録媒体に格納されたプログラムを実行することにより実現される。情報処理装置１は、ＣＰＵがプログラムを実行することで実現される機能の構成として、読取部１０と、画像化部１２と、文字領域認識部１３と、文字領域グループ化部１４と、ストローク順序変更部１５と、筆記方向判定部１６と、ストローク座標変換部１７と、オンライン文字認識部１９とを備える。また、情報処理装置１は、上述の機能により利用されるデータを記憶するための構成として、ストロークデータ記憶部１１と、ストローク変換結果記憶部１８と、テキスト変換結果記憶部２０とを適宜のメモリに備える。
【００２６】
読取部１０は、入力装置３１に書き込まれた手書き文字のストロークを表すデータであるストロークデータを取得する。このストロークデータは、入力装置３１に書き込まれた複数の手書き文字列に含まれる各文字の構成要素であるストロークの筆跡を表す位置座標を時系列に並べた順序列である位置座標列のデータと、そのストロークが書き込まれた順番である筆記順とを含むデータである。
【００２７】
ここでいうストロークとは、文字の１画に相当する筆跡である。このストロークの筆跡を表すデータは、例えば、手書き文字の筆跡をデータ化する位置センサにおいて接触が感知され始めてから接触が解除されるまでに連続して検出された位置座標（例えば、ｘｙ座標）の順序列で構成される。つまり、１つのストロークデータに含まれる位置座標列で表される軌跡が、文字の１画に相当する筆跡と合致する。読取部１０は、入力装置３１に書き込まれた複数の文字列を構成する複数のストロークに関するストロークデータ群を外部記憶装置３２又はネットワーク／無線通信経路３３を経由して取得する。取得されたストロークデータ群はストロークデータ記憶部１１に保存される。
【００２８】
なお、本実施形態では、読取部１０により取得されるストロークデータ群として、予め定められた記入枠の中に１文字ずつ記入するといった入力範囲の制約や、予め定められた方向のみ文字列を入力するといった筆記方向の制約がなく、かつ複数個所から順序関係なく入力された文字列を構成するものを想定している。そのため、複数の文字列を構成する一連のストロークデータ群における個々のストロークデータの筆記順が、複数の文字列を構成する各入力文字の中に分散していることが想定される。つまり、１つの文字列ないし文字を構成する複数のストロークデータが必ずしも連続する筆記順になっているとは限らず、１つの文字列ないし文字を構成する複数のストロークデータの筆記順の間に別の文字列を構成するストロークデータが介在している可能性がある。
【００２９】
画像化部１２は、ストロークデータ記憶部１１に保存されたストロークデータ群に基づいて、そのストロークデータ群で表される複数の文字列の筆跡を表す画像を生成する。具体的には、画像化部１２は、ストロークデータ群で表される筆跡の位置座標点を、ストロークデータのｘｙ座標系と相関する画像上のｘｙ座標空間上に筆跡でない部分と色分けして描画される画素として展開する。これにより、画素の集合体からなるラスタ形式の画像が生成される。この画像化においては、画像上の座標系とストロークデータに対応する座標系との縮尺係数を保持することにより、ラスタ形式の画像からストロークデータへ、又はその逆への座標変換が可能となっている。
【００３０】
文字領域認識部１３は、画像化部１２により生成された画像に描画されている複数の文字列から個々の文字の範囲を区切った領域である文字領域の位置を特定する。この文字領域は、例えば、個々の文字の形状が描画された範囲を包含する矩形の座標範囲で構成されるものとする。画像情報から文字領域を認識する手法については、従来のオフライン手書き文字認識やＯＣＲ（Optical Character Recognition）等で行われている文字切出しと同様のものでよい。
【００３１】
文字領域グループ化部１４は、文字領域認識部１３により特定された各文字領域を、一連の文字列として認識されるグループである文字列グループに分類する。具体的には、特定された複数の文字領域間の距離を算出し、算出された距離に基づいて複数の文字領域同士が近接して列状に並んでいると判定されたまとまりを、１つの文字列グループに分類する。
【００３２】
ストローク順序変更部１５は、ストロークデータ記憶部１１に保存されているストロークデータ群に対応付けられている筆記順を、文字領域グループ化部１４により分類された文字列グループごとの筆記順に並べ替える。ここでは、文字列グループごとに並べ替えられた筆記順をグループ内順序と称する。具体的には、まず、ストロークデータ記憶部１１に保存されているストロークデータ群について、筆跡の位置座標値に基づく各文字領域への包含判定を行い、各ストロークデータを包含先の文字領域に振分ける。そして、１つの文字列グループに属する文字領域に包含されるストロークデータの集合について、文字列の先頭に該当する文字領域から順次、その文字領域に含まれるストロークデータに付与されている元の筆記順を一連の連続する筆記順に変更する。このようにすることで、複数の文字列を構成するストロークデータ群について、複数の文字列に分散している筆記順を、個々の文字列グループごとに一連となる筆記順であるグループ内順序に並べ替えることができる。
【００３３】
筆記方向判定部１６は、文字領域グループ化部１４により分類された各文字列グループについて、文字列の筆記方向を判定する。ここでいう文字列の筆記方向とは、文字列における書き始めから文字が連なる方向を指す。具体的には、筆記方向判定部１６は、各文字列グループに属する文字領域に包含されるストロークデータから導出される特徴量と、ストロークデータの筆記順に基づいて筆記方向を算出する。
【００３４】
ストローク座標変換部１７は、筆記方向判定部１６により判定された筆記方向と、後述のオンライン手書き文字認識処理のための基準の筆記方向である基準方向とを比較し、その比較結果に応じてストロークデータを座標変換する。ここでいう基準方向とは、オンライン手書き文字認識処理において認識対象となる文字の形状や、筆記順、線が書かれた方向を認識辞書に照合するための基準となる筆記方向を指す。オンライン手書き文字認識処理では、基準方向とは異なる筆記方向で書かれた文字列に対して正しい認識を行うことができない場合がある。そこで、本実施形態では文字列グループの筆記方向を基準方向に合致させてから、文字列グループごとにオンライン手書き文字認識処理を行うものとする。
【００３５】
具体的には、ストローク座標変換部１７は、文字列グループの筆記方向と基準方向とが相違する場合、その文字列グループの筆記方向が基準方向に合致するように、その文字列グループに含まれるストロークデータの位置座標を回転させる。座標変換されたストロークデータは、ストローク変換結果記憶部１８に保存される。
【００３６】
オンライン文字認識部１９は、文字列グループごとに文字列を構成する各文字の内容を認識し、認識された文字の内容をテキスト形式のデータに変換した文字情報を出力する。ここでオンライン文字認識部１９は、ストローク変換結果記憶部１８により座標変換されたストロークデータで表される筆跡、及びストローク順序変更部１５により並べ替えされたグループ内順序を用いて文字認識を行う。なお、ストローク変換結果記憶部１８による座標変換が不要だったストロークデータについては、そのまま文字認識に用いる。
【００３７】
オンライン文字認識部１９による文字認識は、従来のオンライン手書き文字認識で行われている手法と同様のものでよい。例えば、公知の隠れマルコフモデル（Hidden Markov Model）のような推定モデルを用いて筆跡の構成点と認識辞書内の構成点との時系列遷移確率により最尤推定を行う方法などが例示される。オンライン文字認識部１９は、各文字列グループについての認識結果を表すテキストデータを、テキスト変換結果記憶部２０に保存する。
【００３８】
入力装置３１は、人の手書きによって入力された文字の筆跡をデータ化する入力デバイスであり、手書きされた文字に関するストロークデータを出力する機能を担う。この入力装置３１は、それ自体が独立した情報処理端末として構成されたものであってもよいし、情報処理装置１に接続されるか組込まれる入力デバイスとして構成されたものであってもよい。前者の具体例として、タッチパネル式の入力表示部を備えるタブレットＰＣ等の可搬型情報端末が挙げられる。また、後者の具体例として、平板状のセンサを有するポインティングデバイスであるペンタブレットや液晶ペンタブレット等が挙げられる。
【００３９】
入力装置３１は、ストロークの書き始めから終わりまでに連続して検出された位置座標群（例えば、ｘｙ座標）の順序列と、そのストロークが書き込まれた順序である筆記順とを対応付けたストロークデータを生成する。そして、入力装置３１は、個々のストロークに対応するストロークデータごと、又は、一定期間内に取得された全てのストロークデータをまとめたファイルであるストロークデータファイルごとに、適宜のコンピュータネットワークや無線通信を介して外部に転送する。入力装置３１から出力されたストロークデータ又はストロークデータファイルは、外部記憶装置３２に一旦蓄積されてから複数の文字列を構成するストロークデータ群として情報処理装置１の読取部１０によって取得される。あるいは、ネットワーク／無線通信経路３３を経由して情報処理装置１の読取部１０によって取得される。
【００４０】
ここで、入力装置３１において複数の文字列が入力される事例について、図２を参照しながら説明する。図２の事例において、入力装置３１は、例えばタブレットコンピュータのような平面状のタッチパネル３１ａを有するものである。この入力装置３１のタッチパネル３１ａに対して、４人の入力者Ａ，Ｂ，Ｃ，Ｄがそれぞれ別の方向から一斉に文字列を書き込んだ状況を想定する。
【００４１】
図２に例示されるとおり、入力装置３１の上側から入力者Ａが「てがき」という文字列を書き込んでいる。また、入力装置３１の左側から入力者Ｂが「ひだり」という文字列を書き込んでいる。また、入力装置３１の右側から入力者Ｃが「みぎ」という文字列を書き込んでいる。また、入力装置３１の下側から入力者Ｄが「したがわ」という文字列を書き込んでいる。
【００４２】
なお、タッチパネル３１ａには、入力装置３１の左右方向にｘ軸、上下方向にｙ軸が割り当てられた格子状の座標系が設定されており、ペンや入力者の指先等が接触した位置に対応する位置座標を取得できるようになっているものとする。したがって、タッチパネル３１ａがタブレットコンピュータの液晶ディスプレイと一体に構成されたものであれば、タッチパネル３１ａにおいて感知された位置座標に基づいて、書き込まれた文字の筆跡をそのまま液晶ディスプレイに表示させることができる。
【００４３】
図２において、タッチパネル３１ａに書き込まれた文字の筆跡に付記された丸付き数字は、その筆跡に対応するストロークが書き込まれた順序である筆記順を示す番号である。これらの筆記順からわかるとおり、４人の入力者によって一斉に書き込まれた４つの文字列に含まれるストロークの筆記順は、文字列ごとに連続する数列にはなっておらず、４つの文字列に分散している。具体的には、１番目の筆記順に該当するストロークは、入力者Ｂが書き込んだ文字列に含まれる「ひ」の文字を構成するストロークである。これに対し、２番目の筆記順に該当するストロークは、１番目のストロークとは別の入力者Ｄが書き込んだ文字列に含まれる「し」の文字を構成するストロークであるといった具合である。ちなみに、入力者Ａが書き込んだ「てがき」の文字列に含まれる「が」の文字の濁点に対応するストロークは、一旦「か」の文字が書き込まれた次に「き」の文字が書き込まれてから１文字遡って「か」の文字に書き足されたものとなっている。
【００４４】
さらに、図２に例示される４つの文字列は、向きがそれぞれ異なる入力者から見て左から右へ書き進む横書きに書かれているため、タッチパネル３１ａに設定されたｘｙ座標系を基準にすると筆記方向がそれぞれ異なっている。具体的には、入力者Ａが書き込んだ「てがき」の文字列は、ｘ軸方向に沿って右から左方向に書かれたことになる。また、入力者Ｂが書き込んだ「ひだり」の文字列は、ｙ軸方向に沿って上から下方向に書かれたことになる。また、入力者Ｃが書き込んだ「みぎ」の文字列は、ｙ軸方向に沿って下から上方向に書かれたことになる。また、入力者Ｄが書き込んだ「したがわ」の文字列は、ｘ軸方向に沿って左から右方向に書かれたことになる。
【００４５】
入力装置３１は、４つの文字列「てがき」、「ひだり」、「みぎ」、「したがわ」に含まれる文字を構成する各ストロークの位置座標群の順序列のデータと、その筆記順とを含む複数のストロークデータからなる一連のストロークデータ群を生成し、これを外部に出力する。
【００４６】
図１の説明に戻る。表示装置３４は、画像を表示する表示デバイスであり、情報処理装置１から送出される文字列の認識結果を表す画像を表示する機能を担う。この表示装置３４は、それ自体が独立した情報処理端末として構成されたものであってもよいし、情報処理装置１に接続されるか組込まれる表示デバイスとして構成されたものであってもよい。前者の具体例として、パーソナルコンピュータや、液晶パネル等の表示部を備えるタブレットＰＣ等の可搬型情報端末が挙げられる。また、後者の具体例として、液晶ディスプレイ等が挙げられる。
【００４７】
［文字認識処理の説明］
情報処理装置１の各部によって実行される文字認識処理の手順について、図３のフローチャートを参照しながら説明する。なお、図３のフローチャートを説明する過程において、図４〜１０の説明図を適宜参照する。
【００４８】
Ｓ１００では、画像化部１２が、ストロークデータ記憶部１１に保存された複数の文字列に関するストロークデータ群を画像化する。この画像化処理の具体例について、図４を参照しながら説明する。なお、図４の事例は、図２の事例において出力されたストロークデータ群を対象に画像化を行う状況を想定したものである。
【００４９】
図４に例示されるとおり、ストロークデータ群に含まれる１番目から４０番目までの筆記順に対応する各ストロークデータで表される筆跡の位置座標列が、ストロークデータのｘｙ座標系と相関する画像上のｘｙ座標空間上に画素として展開されることによりラスタ形式の画像を生成される。この画像には、図２の事例において入力された「てがき」、「ひだり」、「みぎ」、「したがわ」の各文字列が画像情報として描画されている。
【００５０】
図３のフローチャートの説明に戻る。Ｓ１０２では、文字領域認識部１３が、Ｓ１００において生成された画像に描画されている文字列から個々の文字の範囲を区切った領域である文字領域を特定する。この文字領域の特定処理の具体例について、図５を参照しながら説明する。なお、図５の事例は、図４の事例において生成された画像を対象に文字領域を特定する状況を想定したものである。
【００５１】
図５に例示されるとおり、「てがき」、「ひだり」、「みぎ」、「したがわ」の各文字列が描画された画像の中から個々の文字が切出されることにより、各文字列を構成する個々の文字に対応する文字領域ａ〜ｌが算出される。この文字領域は、個々の文字の画像部分を囲んでなる矩形の座標範囲として算出される。文字領域認識部１３は、算出された各文字領域を識別するための識別番号をそれぞれの文字領域に割り当てる。
【００５２】
図３のフローチャートの説明に戻る。Ｓ１０４では、文字領域グループ化部１４が、Ｓ１０２において特定された各文字領域を一連の文字列として認識される文字列グループごとに分類する。このグループ化処理は、複数の文字領域間の距離に基づいて、文字領域同士が近接して列状に並んでいると判定されたまとまりを、１つの文字列グループに分類することにより行われる。このグループ化処理の具体例について、図６を参照しながら説明する。なお、図６の事例は、図５の事例において特定された文字領域を対象にグループ化処理を行う状況を想定したものである。
【００５３】
図６に例示されるとおり、画像において特定された文字領域ａ〜ｌのうち、ａ，ｂ，ｃが、「てがき」の文字列に対応する文字列グループＡに分類されている。また、文字領域ｄ，ｅ，ｆが、「ひだり」の文字列に対応する文字列グループＢに分類されている。また、文字領域ｇ，ｈが、「みぎ」の文字列に対応する文字列グループＣに分類されている。また、文字領域ｉ，ｊ，ｋ，ｌが、「したがわ」の文字列に対応する文字列グループＤに分類されている。
【００５４】
図３のフローチャートの説明に戻る。Ｓ１０６では、ストローク順序変更部１５が、Ｓ１０４において分類された文字列グループごとに、ストロークデータ群の筆記順を並べ替えてグループ内順序を決定する。具体的には、まず、ストロークデータ記憶部１１に保存されているストロークデータ群について各文字領域への包含判定を行うことで、各ストロークデータを包含先の文字領域に振分ける。そして、個々の文字列グループごとに、文字列の先頭に該当する文字領域（すなわち、その文字列グループの中で最も筆記順が早いストロークデータが含まれる文字領域）から順次、元の筆記順を文字列グループごとの一連の連続する筆記順であるグループ内順序に変更する。なお、各文字領域内では、元の筆記順が早いストロークデータから順に、早い番号のグループ内順序が付与される。この筆記順の並べ替え処理の具体例について、図７の（ａ）〜（ｄ）を参照しながら説明する。なお、図７の事例は、図６の事例において分類された文字列グループを対象にストロークデータの筆記順を並べ替える状況を想定したものである。
【００５５】
図７（ａ）は、文字列グループＡに属する文字領域ａ，ｂ，ｃに内包されるストロークデータについて、並べ替え前の筆記順から、並べ替え後の筆記順であるグループ内順序への推移を表している。図７（ａ）に例示されるとおり、並べ替え前において文字領域ｂに最も筆記順が早い３番目のストロークデータが含まれる。このことから、この文字列グループＡは、文字領域ｃ、文字領域ｂ、文字領域ａの順で書き込まれたと推定される。したがって、この事例では、文字領域ｃ、文字領域ｂ、文字領域ｃの順に、各文字領域に含まれるストロークデータの元の筆記順が並べ替えられ、文字領域ｃから始まる一連のグループ内順序１〜１０番が付与される。
【００５６】
ここで注目すべきは、並べ替え前の文字領域ｂにおいて、文字領域ａの後に遡って追加されたストロークに相当する３３及び３４番目のストロークデータが、並べ替え後の文字領域ｂ内において連続する一連のグループ内順序に修正されている点である。このようにすることで、１つの文字列の中で１文字以上遡って追加されたストロークについても、追加された文字内で連続する筆記順に修正することができる。
【００５７】
図７（ｂ）は、文字列グループＢに属する文字領域ｄ，ｅ，ｆに内包されるストロークデータについて、並べ替え前の筆記順から、並べ替え後の筆記順であるグループ内順序への推移を表している。図７（ｂ）に例示されるとおり、並べ替え前において文字領域ｄに最も筆記順が早い１番目のストロークデータが含まれる。このことから、この文字列グループＢは、文字領域ｄ、文字領域ｅ、文字領域ｆの順で書き込まれたと推定される。したがって、この事例では、文字領域ｄ、文字領域ｅ、文字領域ｆの順に、各文字領域に含まれるストロークデータの元の筆記順が並べ替えられ、文字領域ｅから始まる一連のグループ内順序１〜９番が付与される。
【００５８】
図７（ｃ）は、文字列グループＣに属する文字領域ｇ，ｈに内包されるストロークデータについて、並べ替え前の筆記順から、並べ替え後の筆記順であるグループ内順序への推移を表している。図７（ｃ）に例示されるとおり、並べ替え前において文字領域ｈに最も筆記順が早い７番目のストロークデータが含まれている。このことから、この文字列グループＣは、文字領域ｈ、文字領域ｇの順で書き込まれたと推定される。したがって、この事例では、文字領域ｈ、文字領域ｇの順に、各文字領域に含まれるストロークデータの元の筆記順が並べ替えられ、文字領域ｈから始まる一連のグループ内順序１〜８番が付与される。
【００５９】
図７（ｄ）は、文字列グループＤに属する文字領域ｉ，ｊ，ｋ，ｌに内包されるストロークデータについて、並べ替え前の筆記順から、並べ替え後の筆記順であるグループ内順序への推移を表している。図７（ｄ）に例示されるとおり、並べ替え前において文字領域ｉに最も筆記順が早い２番目のストロークデータが含まれる。このことから、この文字列グループＤは、文字領域ｉ、文字領域ｊ、文字領域ｋ、文字領域ｌの順で書き込まれたと推定される。したがって、この事例では、文字領域ｉ、文字領域ｊ、文字領域ｋ、文字領域ｌの順に、各文字領域に含まれるストロークデータの元の筆記順が並べ替えられ、文字領域ｉから始まる一連のグループ内順序１〜１２番が付与される。
【００６０】
図３のフローチャートの説明に戻る。次のＳ１０８〜Ｓ１２０についてはＳ１０４において分類された個々の文字列グループを対象に処理を行い、全ての文字列グループについてそれぞれの処理を終えるまでＳ１０８〜Ｓ１２０の処理を順次繰返す。
【００６１】
Ｓ１０８では、筆記方向判定部１６が、処理対象の文字列グループについて文字列の筆記方向を判定する。文字列の筆記方向を判定する第１の方法として、図８（ａ）に例示されるように、文字列を構成する各文字の外接領域の配列方向に基づいて判定する方法を用いることができる。
【００６２】
具体的には、まず、文字列グループに属する各文字領域に含まれるストロークデータに基づいて文字ごとの筆跡に外接する領域である外接領域を算出する。図８（ａ）の事例では、「てがき」の文字列を構成する各文字に対応する外接領域ｍ，ｎ，ｏが算出される。
【００６３】
そして、各外接領域のある基準点（例えば、外接領域の中心）を直線近似して得られる直線の傾きを、筆記方向の傾きとする。また、筆記方向の向きについては、文字列グループに属する文字領域のうち、最も筆記順が早いストロークデータを含む文字領域側を筆記方向の始点側とし、反対側を終点側とする。図８（ａ）の事例では、外接領域の中心を直線近似して得られた直線に沿って外接領域ｍ，ｎ，ｏの順に文字列が書き込まれたとする筆記方向が判定される。
【００６４】
あるいは、文字列の筆記方向を判定する第２の方法として、図８（ｂ）に例示されるように、ストロークデータを構成する位置座標点から導出される回帰直線に基づいて判定する方法を用いることができる。具体的には、まず、文字列グループに含まれる全てのストロークデータを構成する位置座標点の集合から回帰直線を算出する。そして、算出された回帰直線の傾きを、筆記方向の傾きとする。
【００６５】
また、筆記方向の向きについては、文字列グループに属する文字領域に含まれるストロークデータのうち、最も筆記順が早いストロークデータの始点側を筆記方向の始点側とし、反対側を終点側とする。図８（ｂ）の事例では、ストロークデータを構成する位置座標群から得られた回帰直線に沿って、ストロークデータの右端側も始点側から文字列が書き込まれたとする筆記方向が判定される。
【００６６】
図８（ｃ）は、図６の事例において分類された各文字列グループの筆記方向を表したものである。この図８（ｃ）に例示されるとおり、文字列グループＡの筆記方向は、ｘ軸方向に概ね沿って右側から左側へと進む方向を示している。また、文字列グループＢの筆記方向は、ｙ軸方向に概ね沿って上側から下側へと進む方向を示している。また、文字列グループＣの筆記方向は、ｙ軸方向に概ね沿って下側から上側へと進む方向を示している。また、文字列グループＤの筆記方向は、ｘ軸方向に概ね沿って左側から右側へと進む方向を示している。
【００６７】
図３のフローチャートの説明に戻る。Ｓ１１０では、ストローク座標変換部１７が、Ｓ１０８において判定された文字列グループの筆記方向と、オンライン手書き文字認識処理のための基準方向とが一致するか否かを判定する。なお、本実施形態では、図８（ｃ）に例示されるように、ストロークデータのｘｙ座標系におけるｘ軸方向に沿って左側から右側に順次文字が書き進められる方向を基準方向とする。
【００６８】
Ｓ１１２では、Ｓ１１０における比較の結果、文字列グループの筆記方向と基準方向とが一致する場合（Ｓ１１２：ＹＥＳ）、Ｓ１２０に進む。一方、文字列グループの筆記方向と基準方向とが相違する場合（Ｓ１１２：ＮＯ）、Ｓ１１４に進む。
【００６９】
Ｓ１１４では、ストローク座標変換部１７が、処理対象の文字列グループのストロークデータを座標変換するための基準点を設定する。この基準点は、当該文字列グループ近傍の適宜な座標位置に設定される。次のＳ１１６では、ストローク座標変換部１７が、処理対象の文字列グループに含まれるストロークデータを構成する全ての位置座標点について、Ｓ１１４において設定された基準点からのオフセット、すなわちｘ軸方向及びｙ軸方向の位置座標の差を算出する。このオフセットは、ストロークデータを構成する位置座標点と基準点との間の距離及び方向を表すベクトルである。
【００７０】
Ｓ１１８では、ストローク座標変換部１７が、処理対象の文字列グループの筆記方向が基準方向に合致するように、当該文字列グループのストロークデータを座標変換する。ここでは、ストローク座標変換部１７は、Ｓ１１４において設定された基準点、Ｓ１１６において算出されたオフセット、及び当該文字列グループの筆記方向と基準方向との方向差を表す角度に基づいて、ストロークデータの座標変換を行う。
【００７１】
具体的には、図９（ａ）に例示されるように、基準点からストロークデータの各位置座標点までのオフセットで表されるベクトルを、基準点を中心に筆記方向と基準方向との方向差に相当する角度だけ回転させる。これにより、文字列グループの筆記方向が基準方向に合致するようにストロークデータが座標変換される。
【００７２】
図９（ｂ）は、図８（ｃ）に例示される各文字列グループの筆記方向を基準方向に合致させた結果を表したものである。この図９（ｂ）に例示されるとおり、各文字列グループＡ〜Ｄがそれぞれ元の筆記方向から基準方向に沿った横書きの文字列に変換されている。このような座標変換により、各文字列グループのストロークデータがオンライン手書き文字認識のための認識辞書とのマッチングに利用できるようになる。補足として、ストロークデータの座標変換を行う際、他の文字列グループのストロークデータと座標位置が重複する可能性が生じるが、文字列グループごとに逐次文字認識を行うか、あるいは、重複したストロークデータを重複しない位置へ移動することにより対処できる。
【００７３】
図３のフローチャートの説明に戻る。Ｓ１２０では、オンライン文字認識部１９が、処理対象の文字列グループのストロークデータに対してオンライン手書き文字認識処理を実行する。ここでのオンライン手書き文字認識処理の対象となるのは、Ｓ１０６（筆記順の並べ替え）及びＳ１１８（座標変換）による処理結果が反映された文字列グループのストロークデータである。このオンライン手書き文字認識処理により処理対象の文字列グループを構成する文字の内容が認識される。オンライン文字認識部１９は、文字列グループごとに認識された文字の内容をテキスト形式のデータに変換した文字情報を出力する。
【００７４】
図１０は、図９（ｂ）に例示される座標変換後の各文字列グループＡ，Ｂ，Ｃ，Ｄについてオンライン手書き文字認識処理が行われ、各文字列の内容がテキストに変換される推移を表したものである。図１０に例示されるとおり、文字列グループＡから「てがき」の文字列が認識され、文字列グループＢから「ひだり」の文字列が認識され、文字列グループＣから「みぎ」の文字列が認識され、文字列グループＤから「したがわ」の文字列が認識されている。
【００７５】
図３のフローチャートの説明に戻る。全ての文字列グループについてＳ１０８〜Ｓ１２０の処理を終えた後に進むＳ１２２では、テキスト変換結果記憶部２０に保存されている各文字列グループに関する認識結果を表すテキストデータが表示装置３４に出力される。これにより、表示装置３４において、入力装置３１に書き込まれた複数の文字列の認識結果の内容を表す画像情報が表示される。
【００７６】
［効果］
上記実施形態の文字認識システムによれば、次の効果を奏する。
文字が入力される範囲及び文字列の筆記方向を制約せず、かつ複数個所から順序関係なく手書き入力された複数の文字列に対して、まず、ストロークデータから変換された画像を用いて、各文字に対応する文字領域と各文字列に対応する文字列グループを特定できる。このようにすることで、複数の文字列に分散したストロークの筆記順に影響されず、文字領域及び文字列グループを精度よく特定できる。
【００７７】
そして、文字列グループごとにストロークデータを筆記順に並べ替えることで、複数の文字列に分散しているストロークデータの筆記順を、文字列グループごとに一連の連続したグループ内順序に並べ替えることができる。また、１つの文字列の中で１文字以上遡って書き足されたストロークの筆記順についても、１つの文字内で連続する筆記順に修正可能である。
【００７８】
さらに、文字列グループの筆記方向と、オンライン手書き文字認識処理における基準方向とが異なる場合、そのストロークデータを座標変換することにより、文字列グループの筆記方向を基準方向に合致させることができる。これにより、入力された文字列の筆記方向に関わらず、オンライン手書き文字認識の精度を向上できる。
【００７９】
以上のことから、上記実施形態の文字認識システムによれば、寄せ書きや対話型筆談等の用途に適した手書き文字認識を実現できる。
［特許請求の範囲に記載の構成との対応］
実施形態の各構成と、特許請求の範囲に記載の構成との対応は次のとおりである。
【００８０】
読取部１０が実行する処理が、取得ステップに相当する。画像化部１２が実行する図３のＳ１００が、画像化ステップに相当する。文字領域認識部１３が実行する図３のＳ１０２が、文字領域特定ステップに相当する。文字領域グループ化部１４が実行する図３のＳ１０４が、グループ化ステップに相当する。ストローク順序変更部１５が実行する図３のＳ１０６が、筆順決定ステップに相当する。筆記方向判定部１６が実行する図３のＳ１０８が、方向判定ステップに相当する。ストローク座標変換部１７が実行する図３のＳ１１０〜Ｓ１１８が、ストローク変換ステップに相当する。オンライン文字認識部１９が実行する図３のＳ１２０が、文字認識ステップに相当する。
【００８１】
［変形例］
上述の実施形態では、図９の（ａ）に例示されるとおり、ストローク座標変換部１７が文字列グループ近傍に基準点を設定し、その基準点からストロークデータの各位置座標点までのベクトルを回転させて文字列グループの筆記方向を基準方向に合致させる事例について説明した。このようにすることで、例えば、この文字列グループに続けて更に新しい文字列が書き足された場合に、続けて書き足された文字列に対して、座標変換時に同じ基準点からの変換式を利用できるという利点がある。
【００８２】
一方、これとは別に、座標変換の対象となる文字列グループ全体を含む変換対象領域に対して一律に回転を実行することで、ストロークデータの座標変換を実現できる。この場合、例えば、変換対象領域の重心を回転の中心として、ストロークデータの座標変換を行うことが考えられる。このようにすることで、この文字列グループに続けて更に新しい文字列が書き足されないのであれば、比較的に高速にストロークデータの座標変換を行うことができるという利点がある。
【００８３】
上記実施形態における１つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を１つの構成要素に統合させたりしてもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【符号の説明】
【００８４】
１…情報処理装置、１０…読取部、１１…ストロークデータ記憶部、１２…画像化部、１３…文字領域認識部、１４…文字領域グループ化部、１５…ストローク順序変更部、１６…筆記方向判定部、１７…ストローク座標変換部、１８…ストローク変換結果記憶部、１９…オンライン文字認識部、２０…テキスト変換結果記憶部、３１…入力装置、３２…外部記憶装置、３３…ネットワーク／無線通信経路、３４…表示装置。
【要約】
【課題】文字が入力される範囲及び文字列の筆記方向を特定せず、かつ複数個所から順序関係なく手書き入力された複数の文字列を精度よく認識する。
【解決手段】Ｓ１００：入力された複数の文字列を構成するストロークデータ群から文字列の画像情報を生成する。Ｓ１０２：生成された画像情報から文字列を構成する個々の文字を囲む文字領域を特定する。Ｓ１０４：各文字領域を一連の文字列ごとの文字列グループに分類する。Ｓ１０６：文字列グループごとに、その文字列グループに含まれるストロークデータを筆記順に並べ替える。Ｓ１０８：文字列グループの筆記方向を判定する。Ｓ１１８：文字列グループの筆記方向が基準方向と異なる場合、その文字列の筆記方向が基準方向に合致するようにストロークデータを座標変換する。Ｓ１２０：文字列グループごとに筆記順が並べ替えられ、また座標変換されたストロークデータに対してオンライン手書き文字認識処理を行う。
【選択図】  図３【図１】
0006055065.tif 000002
【図２】
0006055065.tif 000003
【図３】
0006055065.tif 000004
【図４】
0006055065.tif 000005
【図５】
0006055065.tif 000006
【図６】
0006055065.tif 000007
【図７】
0006055065.tif 000008
【図８】
0006055065.tif 000009
【図９】
0006055065.tif 000010
【図１０】
0006055065.tif 000011