(57)【特許請求の範囲】
【請求項１】
同じ文字の軌跡および書き順に関する情報に基づいて、当該文字の構造をストローク別に分解するストローク分解手段と、
該ストローク分解手段により分解されたストローク毎に、当該ストロークの形状を特徴付ける特徴点を抽出する特徴点抽出手段と、
前記ストロークの一の特徴点を基準として、当該ストロークにおける全ての他の特徴点から前記一の特徴点までの距離と方向とを示す影響ベクトルの集合を、当該ストロークにおける全ての特徴点について求める影響ベクトル集合抽出手段と、
該影響ベクトル集合抽出手段により求められた前記影響ベクトルの集合であって、複数回書かれた前記同じ文字毎の全てのストロークの全ての特徴点における前記影響ベクトルの集合を、複数回書かれた前記同じ文字の同じ部位を構成するストロークの特徴点毎にクラスタリングすることにより、当該特徴点における前記影響ベクトルの集合をクラス分けするクラスタリング手段と、
前記一の特徴点から次の特徴点の位置を決定するための位置決定パターンを、前記クラスタリング手段によりクラス分けされた前記一の特徴点における前記影響ベクトルの集合のクラス数に応じて数パターン設定し、全ての特徴点の位置決定パターンに基づいて特徴点位置判断モデルを生成するモデル生成手段と、
該モデル生成手段により生成された特徴点位置判断モデルに従って、次の特徴点の位置を決定するための位置決定パターンとして前記クラスタリング手段によりクラス分けされた前記影響ベクトルの集合を用いることにより、各特徴点の位置を決定してストロークを生成するストローク生成手段と
を備えることを特徴とするストローク生成装置。
【請求項２】
前記ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点を影響点として求める影響点抽出手段を備え、
前記影響ベクトル集合抽出手段は、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めること
を特徴とする請求項１に記載のストローク生成装置。
【請求項３】
前記ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点であって、前記一の特徴点と前記他の特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない他の特徴点を影響点として求める影響点抽出手段を備え、
前記影響ベクトル集合抽出手段は、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めること
を特徴とする請求項１に記載のストローク生成装置。
【請求項４】
複数回書かれた前記同じ文字の同じ部位を構成する複数のストローク毎に特徴点の数が異なる場合に、当該ストローク別に特徴点の追加処理を行って特徴点の数を同じにする特徴点追加手段を備えること
を特徴とする請求項１乃至請求項３のいずれか１項に記載のストローク生成装置。
【請求項５】
請求項１乃至請求項４のいずれか１項に記載のストローク生成装置と、
前記ストローク分解手段により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークとは異なる他のストロークの全ての特徴点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークにおける全ての特徴点毎に求めるストローク間ベクトル集合抽出手段と、
前記ストローク生成手段により生成された一のストロークの大きさを、同一の文字であって異なる部位を構成する他のストロークのストローク間ベクトルの集合と、同一の文字であって同じ部位を構成する同一のストロークにおける影響ベクトルの集合とに基づいて調整する大きさ調整手段と、
該大きさ調整手段により大きさ調整が行われたストロークの位置を、同一の文字であって異なる部位を構成する他のストロークにおけるストローク間ベクトルの集合に基づいて調整する位置調整手段と、
を備えることを特徴とする文字生成装置。
【請求項６】
前記ストローク分解手段により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークの特徴点を、ストローク間影響点として求めるストローク間影響点抽出手段を備え、
前記ストローク間ベクトル集合抽出手段は、前記ストローク間影響点抽出手段により求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークにおける全ての特徴点毎に求めること
を特徴とする請求項５に記載の文字生成装置。
【請求項７】
前記ストローク分解手段により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークであって、当該他のストロークのいずれかの特徴点と前記一のストロークの特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない前記いずれかの特徴点を、ストローク間影響点として求めるストローク間影響点抽出手段を備え、
前記ストローク間ベクトル集合抽出手段は、前記ストローク間影響点抽出手段により求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークにおける全ての特徴点毎に求めること
を特徴とする請求項５に記載の文字生成装置。
【請求項８】
ストローク分解手段が、同じ文字の軌跡および書き順に関する情報に基づいて、当該文字の構造をストローク別に分解するストローク分解ステップと、
該ストローク分解ステップにおいて分解されたストローク毎に、特徴点抽出手段が、当該ストロークの形状を特徴付ける特徴点を抽出する特徴点抽出ステップと、
前記ストロークの一の特徴点を基準として、当該ストロークにおける全ての他の特徴点から前記一の特徴点までの距離と方向とを示す影響ベクトルの集合を、影響ベクトル集合抽出手段が、当該ストロークにおける全ての特徴点について求める影響ベクトル集合抽出ステップと、
該影響ベクトル集合抽出ステップにおいて求められた前記影響ベクトルの集合であって、複数回書かれた前記同じ文字毎の全てのストロークの全ての特徴点における前記影響ベクトルの集合を、複数回書かれた前記同じ文字の同じ部位を構成するストロークの特徴点毎にクラスタリングすることにより、クラスタリング手段が、当該特徴点における前記影響ベクトルの集合をクラス分けするクラスタリングステップと、
モデル生成手段が、前記一の特徴点から次の特徴点の位置を決定するための位置決定パターンを、前記クラスタリングステップにおいてクラス分けされた前記一の特徴点における前記影響ベクトルの集合のクラス数に応じて数パターン設定し、全ての特徴点の位置決定パターンに基づいて特徴点位置判断モデルを生成するモデル生成ステップと、
該モデル生成ステップにおいて生成された特徴点位置判断モデルに従って、次の特徴点の位置を決定するための位置決定パターンとして前記クラスタリングステップにおいてクラス分けされた前記影響ベクトルの集合を用いることにより、ストローク生成手段が、各特徴点の位置を決定してストロークを生成するストローク生成ステップと
を備えることを特徴とするストローク生成方法。
【請求項９】
前記ストロークの一の特徴点を基準として、影響点抽出手段が、当該一の特徴点よりも前の軌跡に位置する他の特徴点を影響点として求める影響点抽出ステップを備え、
前記影響ベクトル集合抽出ステップにおいて、前記影響ベクトル集合抽出手段が、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めること
を特徴とする請求項８に記載のストローク生成方法。
【請求項１０】
前記ストロークの一の特徴点を基準として、影響点抽出手段が、当該一の特徴点よりも前の軌跡に位置する他の特徴点であって、前記一の特徴点と前記他の特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない他の特徴点を影響点として求める影響点抽出ステップを備え、
前記影響ベクトル集合抽出ステップにおいて、前記影響ベクトル集合抽出手段は、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めること
を特徴とする請求項８に記載のストローク生成方法。
【請求項１１】
複数回書かれた前記同じ文字の同じ部位を構成する複数のストローク毎に特徴点の数が異なる場合に、特徴点追加手段が、当該ストローク別に特徴点の追加処理を行って特徴点の数を同じにする特徴点追加ステップを備えること
を特徴とする請求項８乃至請求項１０のいずれか１項に記載のストローク生成方法。
【請求項１２】
請求項８乃至請求項１１のいずれか１項に記載のストローク生成方法と、
前記ストローク分解ステップにおいて分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークとは異なる他のストロークの全ての特徴点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、ストローク間ベクトル集合抽出手段が、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めるストローク間ベクトル集合抽出ステップと、
前記ストローク生成ステップにおいて生成された一のストロークの大きさを、大きさ調整手段が、同一の文字であって異なる部位を構成する他のストロークのストローク間ベクトルの集合と、同一の文字であって同じ部位を構成する同一のストロークにおける影響ベクトルの集合とに基づいて調整する大きさ調整ステップと、
該大きさ調整ステップにより大きさ調整が行われたストロークの位置を、位置調整手段が、同一の文字であって異なる部位を構成する他のストロークにおけるストローク間ベクトルの集合に基づいて調整する位置調整ステップと
を備えることを特徴とする文字生成方法。
【請求項１３】
前記ストローク分解ステップにおいて分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、ストローク間影響点抽出手段が、当該一のストロークよりも書き順的に前に位置する他のストロークの特徴点を、ストローク間影響点として求めるストローク間影響点抽出ステップを備え、
前記ストローク間ベクトル集合抽出ステップにおいて、前記ストローク間ベクトル集合抽出手段が、前記ストローク間影響点抽出ステップにおいて求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めること
を特徴とする請求項１２に記載の文字生成方法。
【請求項１４】
前記ストローク分解ステップにおいて分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、ストローク間影響点抽出手段が、当該一のストロークよりも書き順的に前に位置する他のストロークであって、当該他のストロークのいずれかの特徴点と前記一のストロークの特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない前記いずれかの特徴点を、ストローク間影響点として求めるストローク間影響点抽出ステップを備え、
前記ストローク間ベクトル集合抽出ステップにおいて、前記ストローク間ベクトル集合抽出手段が、前記ストローク間影響点抽出ステップにおいて求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めること
を特徴とする請求項１２に記載の文字生成方法。
【請求項１５】
複数回書かれた同じ文字の軌跡および書き順に関する情報を用いることにより、前記文字を構成するストロークに類似するストロークを生成することが可能なストローク生成プログラムであって、
コンピュータに、
前記同じ文字の軌跡および書き順に関する情報に基づいて、当該文字の構造をストローク別に分解させるストローク分解機能と、
該ストローク分解機能により分解されたストローク毎に、当該ストロークの形状を特徴付ける特徴点を抽出させる特徴点抽出機能と、
前記ストロークの一の特徴点を基準として、当該ストロークにおける全ての他の特徴点から前記一の特徴点までの距離と方向とを示す影響ベクトルの集合を、当該ストロークにおける全ての特徴点について求めさせる影響ベクトル集合抽出機能と、
該影響ベクトル集合抽出機能により求められた前記影響ベクトルの集合であって、複数回書かれた前記同じ文字毎の全てのストロークの全ての特徴点における前記影響ベクトルの集合を、複数回書かれた前記同じ文字の同じ部位を構成するストロークの特徴点毎にクラスタリングさせることにより、当該特徴点における前記影響ベクトルの集合をクラス分けさせるクラスタリング機能と、
前記一の特徴点から次の特徴点の位置を決定するための位置決定パターンを、前記クラスタリング機能によってクラス分けされた前記一の特徴点における前記影響ベクトルの集合のクラス数に応じて数パターン設定させ、全ての特徴点の位置決定パターンに基づいて特徴点位置判断モデルを生成させるモデル生成機能と、
該モデル生成機能において生成された特徴点位置判断モデルに従って、次の特徴点の位置を決定するための位置決定パターンとして前記クラスタリング機能によりクラス分けされた前記影響ベクトルの集合を用いることにより、各特徴点の位置を決定するストロークを生成させるストローク生成機能と
を実現させることを特徴とするストローク生成プログラム。
【請求項１６】
前記コンピュータに、
前記ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点を影響点として求めさせる影響点抽出機能を実現させ、
前記影響ベクトル集合抽出機能において、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めさせること
を特徴とする請求項１５に記載のストローク生成プログラム。
【請求項１７】
前記コンピュータに、
前記ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点であって、前記一の特徴点と前記他の特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない他の特徴点を影響点として求めさせる影響点抽出機能を実現させ、
前記影響ベクトル集合抽出機能において、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めさせること
を特徴とする請求項１５に記載のストローク生成プログラム。
【請求項１８】
前記コンピュータに、
複数回書かれた前記同じ文字の同じ部位を構成する複数のストローク毎に特徴点の数が異なる場合に、当該ストローク別に特徴点の追加処理を行って特徴点の数を同じにさせる特徴点追加機能を実現させること
を特徴とする請求項１５乃至請求項１７のいずれか１項に記載のストローク生成プログラム。
【請求項１９】
コンピュータに、
請求項１５乃至請求項１８のいずれか１項に記載のストローク生成プログラムにより実現される機能と、
前記ストローク分解機能により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークとは異なる他のストロークの全ての特徴点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めさせるストローク間ベクトル集合抽出機能と、
前記ストローク生成機能により生成された一のストロークの大きさを、同一の文字であって異なる部位を構成する他のストロークのストローク間ベクトルの集合と、同一の文字であって同じ部位を構成する同一のストロークにおける影響ベクトルの集合とに基づいて調整させる大きさ調整機能と、
該大きさ調整機能により大きさ調整が行われたストロークの位置を、同一の文字であって異なる部位を構成する他のストロークにおけるストローク間ベクトルの集合に基づいて調整させる位置調整機能と
を実現させるための文字生成プログラム。
【請求項２０】
前記コンピュータに、
前記ストローク分解機能によって分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークの特徴点を、ストローク間影響点として求めさせるストローク間影響点抽出機能を実現させ、
前記ストローク間ベクトル集合抽出機能において、前記ストローク間影響点抽出機能により求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めさせること
を特徴とする請求項１９に記載の文字生成プログラム。
【請求項２１】
前記コンピュータに、
前記ストローク分解機能により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークであって、当該他のストロークのいずれかの特徴点と前記一のストロークの特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない前記いずれかの特徴点を、ストローク間影響点として求めさせるストローク間影響点抽出機能を実現させ、
前記ストローク間ベクトル集合抽出機能において、前記ストローク間影響点抽出機能により求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めさせること
を特徴とする請求項１９に記載の文字生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明に係るストローク生成装置、ストローク生成方法、ストローク生成プログラム、文字生成装置、文字生成方法および文字生成プログラムに関し、より詳細には、書き手によって複数回書かれた同じ文字に基づいて、書き手の文字であることを示す「個人性」を備えながらも、それぞれのストロークが異なる形状となる「変移性」を備えたストロークまたは文字を生成することが可能なストローク生成装置、ストローク生成方法、ストローク生成プログラム、文字生成装置、文字生成方法および文字生成プログラムに関する。
【背景技術】
【０００２】
今日では、ワープロソフトなどを用いてコンピュータ上で文章を作成することが一般的に行われている。このため、作成された文章を印刷する場合には、予め用意された書体（フォント）の中からユーザによって所定の書体が選択され、選択された書体により文字の印刷が行われている。
【０００３】
しかしながら、印刷に用いられる書体は、予め用意されたバランスのよい読みやすい字体であることが多い。このため、作家や小説のジャンル等に応じて、文章の特徴・雰囲気を書体によって表現することは困難であった。このような要求に対応するため、今日では、手書き文字に似た書体が多く提案されている。
【０００４】
しかしながら、手書き文字に似た書体であっても、その書体が予め用意された書体である場合には、同じ文字が繰り返し同じ字体（同一の書体の文字）として印刷されてしまう。一方で、実際に人の手で書かれた文章では、同じ文字が複数回記載されても、それぞれの文字は書き手の文字であると認識され得る共通した個性を備えつつ、各文字が微妙に異なったものとなることが多い。
【０００５】
書かれた文字が、同一の書き手により書かれたものと認識できる程度の類似性を「個人性」と呼び、この「個人性」を備えた文字であっても、詳細に比較すると文字が微妙に異なった形状を示す多様性の程度を「変移性」とする。
【０００６】
このように、書体として予め用意された文字は、書き手の違いを認識できないため「個人性」を示さず、さらに、同じ文字は全く同一の文字（同一書体の文字）となるため「変移性」も備えていない。
【０００７】
一方で、書き手により書かれた文字を、ほとんど変形しないで使用する方法が提案されている（例えば、非特許文献１〜３参照）。これらの方法は主に文字・ストローク間の接続にフォーカスを合わせるために使用される方法であり、高い個人性を備えているが、入力される文字データの個数が少ない場合には、非常に低い変移性を示すものであった。
【０００８】
また、統計的確率モデルの一種のHidden Markov model (ＨＭＭ)またはBayesian networkを使って文字をモデリングし、最も確率が高い文字を生成する方法が提案されている（非特許文献４〜６参照）。Hidden Markov modelによって生成された文字は、人が読むことができる程度の文字を生成することが可能であり、Bayesian networkによって生成された文字は、人によって書かれたような形状を呈する文字を生成することが可能であった。これらの方法で生成された文字は、書き手により書かれた文字であると認識される確率が高い文字を生成できるため、中間程度の「個人性」を示すことはできるが、「変移性」が低いものであった。
【０００９】
さらに、文字をGlobalに変形させる手法が提案されている（非特許文献７〜１３参照）。文字をGlobalに変形させるとは、他の文字との関係が形状的に共通したものとなる変形を行うことを意味している。例えば、文字を傾斜文字（斜め文字）にしたり、強調文字にしたりして、文字の一部を変化させるのではなく文字の全体を共通して変形させる場合が該当する。
【００１０】
この手法では、文字の筆記速度を変形させたり、独立的な文字あるいは２つの文字の間の関係をモデリングし、パラメータを変えることにより文字を生成する。文字をGlobalに変形させる方法は、文字の部分的な変形（Localな変形）に関する考慮はされておらず、Globalな変形を与えることのみを目的にして開発された。文字をGlobalに変形させる方法を用いて生成された文字は、他の方法に比べて中間以上の個人性を示すとともに、中間程度の変移性を示すという特徴を有している。
【００１１】
また、遺伝的アルゴリズムを使って多様な形状の文字を生成する方法も提案されている（例えば、非特許文献１４参照）。遺伝的アルゴリズムを用いることにより、非常に多様な形状の文字を生成することができる。しかしながら、遺伝的アルゴリズムを用いて生成された文字は、個人性が失われてしまうだけでなく、読むことが難しいほど歪んだ文字が生成されてしまう場合もあるという特徴が存在した。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】Isabelle Guyon,"Handwriting synthesis from handwritten glyphs", Proc. IWFHR'96, p.309-312, 1996
【非特許文献２】C.V. Jawahar, A. Balasubramanian,"Synthesis of online handwriting in Indian languages", Proc. IWFHR'06, p.108-113, 2006
【非特許文献３】Z.Lin, L.Wan,"Style-preserving English handwriting synthesis", Pattern Recognition, Vol. 40, Issue 7, p.2097-2109, 2007
【非特許文献４】B.-K.Sin, J.H. Kim,"Network-based approach to Korean handwriting analysis", Int. Journal of Pattern Recognition and Artificial Intelligence, Vol.12, No.2, p.233-249, 1998
【非特許文献５】H. Choi, S.-J. Cho, J.H. Kim,"Generation of handwritten characters with Bayesian network based on-line handwriting recognizers", Proc. ICDAR'03, vol. 2, p.995-999, 2003
【非特許文献６】H. Choi, J.H. Kim, "Probabilistic synthesis of personal-style handwriting", IEICE Transactions on Information and Systems, Vol. E92-D No.4, p.653-661, 2009
【非特許文献７】S. Setlur, V. Govindaraju, "Generating manifold samples from a handwritten word", Pattern Recognition Letters, Vol. 15, Issue 9, p.901-905, September 1994
【非特許文献８】J. Wang, C. Wu, Y.-Q. Xu, H.-Y. Shum, "Combining shape and physical models for online cursive handwriting synthesis", Int. Journal on Document Analysis and Recognition, Vol. 7, Issue 4, p.1433-2833, 2005
【非特許文献９】L. Devroye, M. McDougall, "Random fonts for the simulation of handwriting", Electronic Publishing, Vol. 8, No.4, p.281-294, 1995
【非特許文献１０】M. Mori, A. Suzuki, A. Shio, S. Ohtsuka, "Generating new samples from handwritten numerals based on point correspondence", Proc. IWFHR'00, p. 281-290, 2000
【非特許文献１１】Y. Zheng, D. Doermann, "Handwriting matching and its application to handwriting synthesis", Proc. ICDAR'05, p.861-865, 2005
【非特許文献１２】R. Plamondon, W. Guerfali, "The generation of handwriting with delta-lognormal synergies",  Biological Cybernetics, Vol. 78, p.119-132, 1998
【非特許文献１３】D.-H. Lee, H.-G. Cho, "A new synthesizing method for handwriting Korean scripts", Int. Journal of Pattern Recognition and AI 12(11), p.45-61, 1998
【非特許文献１４】Y. Wada, K. Ohkawa, K. Sumita, "Generation of diversiform characters using a computational handwriting model and a genetic algorithm", ICANN'01, LNCS. Springer, Hedelberg, Volume 2130, p.1217-1224, 2001
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、上述したような従来の手書き文字生成方法では、いくつかの筆記スタイルを一つのモデルで表現することができない。具体的には、「個人性」を備えつつも、それぞれ異なった形状を示す「変移性」を備えた文字を生成する場合、従来の手書き文字生成方法では、変移性を表現することが可能な文字モデルを、その変移性の多様性に応じて複数用意しなければならないという問題があった。このため、書き手により書かれた文字の基本的なスタイルを維持しながら（つまり、「個人性」を維持しながら）、多様な手書きの文字（「変移性」を備える文字）を生成することが、従来の手書き文字生成方法では困難であるという問題があった。
【００１４】
本発明は上記課題に鑑みてなされたものであり、書き手により書かれた複数の同じ文字をサンプルとして、同一の書き手により書かれた文字であると認識可能な「個人性」を備えつつ、それぞれの文字の形状に多様性を生じさせる「変移性」を備えたストロークまたは文字を、サンプルの個数以上に多く生成することが可能な、ストローク生成装置、ストローク生成方法、ストローク生成プログラム、文字生成装置、文字生成方法および文字生成プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明に係るストローク生成装置は、同じ文字の軌跡および書き順に関する情報に基づいて、当該文字の構造をストローク別に分解するストローク分解手段と、該ストローク分解手段により分解されたストローク毎に、当該ストロークの形状を特徴付ける特徴点を抽出する特徴点抽出手段と、前記ストロークの一の特徴点を基準として、当該ストロークにおける全ての他の特徴点から前記一の特徴点までの距離と方向とを示す影響ベクトルの集合を、当該ストロークにおける全ての特徴点について求める影響ベクトル集合抽出手段と、該影響ベクトル集合抽出手段により求められた前記影響ベクトルの集合であって、複数回書かれた前記同じ文字毎の全てのストロークの全ての特徴点における前記影響ベクトルの集合を、複数回書かれた前記同じ文字の同じ部位を構成するストロークの特徴点毎にクラスタリングすることにより、当該特徴点における前記影響ベクトルの集合をクラス分けするクラスタリング手段と、前記一の特徴点から次の特徴点の位置を決定するための位置決定パターンを、前記クラスタリング手段によりクラス分けされた前記一の特徴点における前記影響ベクトルの集合のクラス数に応じて数パターン設定し、全ての特徴点の位置決定パターンに基づいて特徴点位置判断モデルを生成するモデル生成手段と、該モデル生成手段により生成された特徴点位置判断モデルに従って、次の特徴点の位置を決定するための位置決定パターンとして前記クラスタリング手段によりクラス分けされた前記影響ベクトルの集合を用いることにより、各特徴点の位置を決定してストロークを生成するストローク生成手段とを備えることを特徴とする。
【００１６】
また、本発明に係るストローク生成方法は、ストローク分解手段が、同じ文字の軌跡および書き順に関する情報に基づいて、当該文字の構造をストローク別に分解するストローク分解ステップと、該ストローク分解ステップにおいて分解されたストローク毎に、特徴点抽出手段が、当該ストロークの形状を特徴付ける特徴点を抽出する特徴点抽出ステップと、前記ストロークの一の特徴点を基準として、当該ストロークにおける全ての他の特徴点から前記一の特徴点までの距離と方向とを示す影響ベクトルの集合を、影響ベクトル集合抽出手段が、当該ストロークにおける全ての特徴点について求める影響ベクトル集合抽出ステップと、該影響ベクトル集合抽出ステップにおいて求められた前記影響ベクトルの集合であって、複数回書かれた前記同じ文字毎の全てのストロークの全ての特徴点における前記影響ベクトルの集合を、複数回書かれた前記同じ文字の同じ部位を構成するストロークの特徴点毎にクラスタリングすることにより、クラスタリング手段が、当該特徴点における前記影響ベクトルの集合をクラス分けするクラスタリングステップと、モデル生成手段が、前記一の特徴点から次の特徴点の位置を決定するための位置決定パターンを、前記クラスタリングステップにおいてクラス分けされた前記一の特徴点における前記影響ベクトルの集合のクラス数に応じて数パターン設定し、全ての特徴点の位置決定パターンに基づいて特徴点位置判断モデルを生成するモデル生成ステップと、該モデル生成ステップにおいて生成された特徴点位置判断モデルに従って、次の特徴点の位置を決定するための位置決定パターンとして前記クラスタリングステップにおいてクラス分けされた前記影響ベクトルの集合を用いることにより、ストローク生成手段が、各特徴点の位置を決定してストロークを生成するストローク生成ステップとを備えることを特徴とする。
【００１７】
さらに、本発明に係るストローク生成プログラムは、複数回書かれた同じ文字の軌跡および書き順に関する情報を用いることにより、前記文字を構成するストロークに類似するストロークを生成することが可能なストローク生成プログラムであって、コンピュータに、前記同じ文字の軌跡および書き順に関する情報に基づいて、当該文字の構造をストローク別に分解させるストローク分解機能と、該ストローク分解機能により分解されたストローク毎に、当該ストロークの形状を特徴付ける特徴点を抽出させる特徴点抽出機能と、前記ストロークの一の特徴点を基準として、当該ストロークにおける全ての他の特徴点から前記一の特徴点までの距離と方向とを示す影響ベクトルの集合を、当該ストロークにおける全ての特徴点について求めさせる影響ベクトル集合抽出機能と、該影響ベクトル集合抽出機能により求められた前記影響ベクトルの集合であって、複数回書かれた前記同じ文字毎の全てのストロークの全ての特徴点における前記影響ベクトルの集合を、複数回書かれた前記同じ文字の同じ部位を構成するストロークの特徴点毎にクラスタリングさせることにより、当該特徴点における前記影響ベクトルの集合をクラス分けさせるクラスタリング機能と、前記一の特徴点から次の特徴点の位置を決定するための位置決定パターンを、前記クラスタリング機能によってクラス分けされた前記一の特徴点における前記影響ベクトルの集合のクラス数に応じて数パターン設定させ、全ての特徴点の位置決定パターンに基づいて特徴点位置判断モデルを生成させるモデル生成機能と、該モデル生成機能において生成された特徴点位置判断モデルに従って、次の特徴点の位置を決定するための位置決定パターンとして前記クラスタリング機能によりクラス分けされた前記影響ベクトルの集合を用いることにより、各特徴点の位置を決定するストロークを生成させるストローク生成機能とを実現させるプログラムであることを特徴とする。
【００１８】
なお、上述した文字には、漢字やひらがななどの一般的な文字だけに限定されるのではなく、記号やマークなどがが含まれるものとする。また、ストロークには、文字を構成する点や線などが該当する。また、特徴点位置判断モデルとして、例えば、位置決定パターンの集合によりツリー構造に類似した構造で示されるモデルや、特徴点毎の位置決定パターンのパターン数に応じて各特徴点の関係が示された表などからなるモデル等が一例として該当する。
【００１９】
上述したように、本発明に係るストローク生成装置、ストローク生成方法およびストローク生成プログラムでは、文字の構造をストローク毎に分解した後に、ストロークの形状を特徴付ける特徴点を抽出し、該当するストロークの一の特徴点の位置を示す他の特徴点からの影響ベクトルの集合を求める。ここで、分解されたストロークは、複数回書かれた同じ文字毎に求められるため、複数回書かれた同じ文字の同じ部位を構成するストロークの特徴点毎に複数の影響ベクトルの集合を求めることができる。このため、本発明に係るストローク生成装置、ストローク生成方法およびストローク生成プログラムでは、複数回書かれた同じ文字の同じ部位を構成するストロークの特徴点毎に複数の影響ベクトルの集合をクラスタリングすることにより、特徴点の位置を決定するための特徴点位置判断モデルを、位置決定パターンに基づいて求めることが可能となる。
【００２０】
この特徴点位置判断モデルは、特徴点毎に数パターンの分岐（位置決定パターン）が形成されるため、書き手によって書かれた同じ文字の回数よりも多種類のストロークを生成することができる。さらに、このように生成されるストロークは、実際に書き手により書かれた文字の軌跡および書き順に関する情報に基づいて求められるものであるため、書き手の文字であることを示す「個人性」を備え、さらに「個人性」を備えながらも、それぞれのストロークが異なる形状となる「変移性」を備えたものとすることができる。
【００２１】
また、上述したストローク生成装置は、前記ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点を影響点として求める影響点抽出手段を備え、前記影響ベクトル集合抽出手段は、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めるものであってもよい。
【００２２】
また、上述したストローク生成方法は、前記ストロークの一の特徴点を基準として、影響点抽出手段が、当該一の特徴点よりも前の軌跡に位置する他の特徴点を影響点として求める影響点抽出ステップを備え、前記影響ベクトル集合抽出ステップにおいて、前記影響ベクトル集合抽出手段が、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めるものであってもよい。
【００２３】
さらに、上述したストローク生成プログラムは、前記コンピュータに、前記ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点を影響点として求めさせる影響点抽出機能を実現させ、前記影響ベクトル集合抽出機能において、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めさせるものであってもよい。
【００２４】
実際に書き手が文字を書く場合には、書いている箇所よりも少し前のストロークの軌跡を考慮して、文字およびストロークの形状、大きさ、バランスを判断し、文字を書く傾向がある。このため、ストロークの形状を特徴付ける特徴点の位置も、その特徴点よりも前の軌跡に位置する特徴点の影響を多く受け得るものである。
【００２５】
本発明に係るストローク生成装置、ストローク生成方法およびストローク生成プログラムでは、上述したように、ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点を影響点として求め、影響点から一の特徴点までの距離と方向とを示す影響ベクトルを、一の特徴点における全ての影響点において求めている。このように、一の特徴点よりも前の軌跡に位置する他の特徴点を基準として特徴点の位置を決定する影響ベクトルを求めることにより、影響ベクトルの集合に基づいて決定される特徴点の位置が、実際の書き手が文字を書くときの特徴を反映させた状態で決定されることになる。
【００２６】
また、上述したストローク生成装置は、前記ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点であって、前記一の特徴点と前記他の特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない他の特徴点を影響点として求める影響点抽出手段を備え、前記影響ベクトル集合抽出手段は、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めるものであってもよい。
【００２７】
さらに、上記ストローク生成方法は、前記ストロークの一の特徴点を基準として、影響点抽出手段が、当該一の特徴点よりも前の軌跡に位置する他の特徴点であって、前記一の特徴点と前記他の特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない他の特徴点を影響点として求める影響点抽出ステップを備え、前記影響ベクトル集合抽出ステップにおいて、前記影響ベクトル集合抽出手段は、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めるものであってもよい。
【００２８】
また、上述したストローク生成プログラムは、前記コンピュータに、前記ストロークの一の特徴点を基準として、当該一の特徴点よりも前の軌跡に位置する他の特徴点であって、前記一の特徴点と前記他の特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない他の特徴点を影響点として求めさせる影響点抽出機能を実現させ、前記影響ベクトル集合抽出機能において、前記影響点から前記一の特徴点までの距離と方向とを示す影響ベクトルを、前記一の特徴点における全ての影響点において求めさせるものであってもよい。
【００２９】
実際に書き手が文字を書く場合には、書いている箇所よりも少し前のストロークの軌跡を考慮して、文字およびストロークの形状、大きさ、バランスを判断し、文字を書く傾向がある。さらに、書き手が文字を書く場合には、書いている箇所に近い部分の軌跡の影響を大きく受けて文字の形状、大きさ、バランスの判断を行う傾向があり、文字の軌跡により遮られた離れた場所のストローク（文字の点や線など）の影響を受けにくいという傾向がある。
【００３０】
このため、本発明に係るストローク生成装置、ストローク生成方法およびストローク生成プログラムでは、上述したように、ストロークの一の特徴点を基準として、一の特徴点よりも前の軌跡に位置する他の特徴点であって、一の特徴点と他の特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない他の特徴点を影響点として求め、影響点から一の特徴点までの距離と方向とを示す影響ベクトルを、一の特徴点における全ての影響点において求めている。このようにして、影響ベクトルを求めることにより、影響ベクトルの集合に基づいて決定される特徴点の位置が、実際の書き手が文字を書くときの特徴を反映させた状態で決定されることになる。
【００３１】
また、上述したストローク生成装置は、複数回書かれた前記同じ文字の同じ部位を構成する複数のストローク毎に特徴点の数が異なる場合に、当該ストローク別に特徴点の追加処理を行って特徴点の数を同じにする特徴点追加手段を備えるものであってもよい。
【００３２】
さらに、上述したストローク生成方法は、複数回書かれた前記同じ文字の同じ部位を構成する複数のストローク毎に特徴点の数が異なる場合に、特徴点追加手段が、当該ストローク別に特徴点の追加処理を行って特徴点の数を同じにする特徴点追加ステップを備えるものであってもよい。
【００３３】
また、上述したストローク生成プログラムは、前記コンピュータに、複数回書かれた前記同じ文字の同じ部位を構成する複数のストローク毎に特徴点の数が異なる場合に、当該ストローク別に特徴点の追加処理を行って特徴点の数を同じにさせる特徴点追加機能を実現させるものであってもよい。
【００３４】
同一の書き手によって複数回書かれた同じ文字の同じ部位を構成するストロークの特徴点の位置は、書かれた文字毎に共通すること多いが、書かれる文字は毎回全く同じ文字をコピーしたものではないため、特徴点の個数がストローク毎に異なってしまう場合もあり得る。
【００３５】
このように、複数回書かれた同じ文字の同じ部位を構成するストロークの特徴点の個数が異なる場合には、クラスタリングされた影響ベクトルの集合によって、特徴点位置判断モデルを生成することが困難となる。このため、本発明に係るストローク生成装置、ストローク生成方法およびストローク生成プログラムでは、複数回書かれた同じ文字の同じ部位を構成する複数のストローク毎に特徴点の数が異なる場合に、当該ストローク別に特徴点の追加処理を行うことにより、特徴点の数を同じにさせる処理を行い、特徴点位置判断モデルの生成を行いやすくすることが可能となる。
【００３６】
また、本発明に係る文字生成装置は、上述したストローク生成装置と、前記ストローク分解手段により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークとは異なる他のストロークの全ての特徴点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークにおける全ての特徴点毎に求めるストローク間ベクトル集合抽出手段と、前記ストローク生成手段により生成された一のストロークの大きさを、同一の文字であって異なる部位を構成する他のストロークのストローク間ベクトルの集合と、同一の文字であって同じ部位を構成する同一のストロークにおける影響ベクトルの集合とに基づいて調整する大きさ調整手段と、該大きさ調整手段により大きさ調整が行われたストロークの位置を、同一の文字であって異なる部位を構成する他のストロークにおけるストローク間ベクトルの集合に基づいて調整する位置調整手段とを備えることを特徴とする。
【００３７】
さらに、本発明に係る文字生成方法は、上述したストローク生成方法と、前記ストローク分解ステップにおいて分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークとは異なる他のストロークの全ての特徴点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、ストローク間ベクトル集合抽出手段が、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めるストローク間ベクトル集合抽出ステップと、前記ストローク生成ステップにおいて生成された一のストロークの大きさを、大きさ調整手段が、同一の文字であって異なる部位を構成する他のストロークのストローク間ベクトルの集合と、同一の文字であって同じ部位を構成する同一のストロークにおける影響ベクトルの集合とに基づいて調整する大きさ調整ステップと、該大きさ調整ステップにより大きさ調整が行われたストロークの位置を、位置調整手段が、同一の文字であって異なる部位を構成する他のストロークにおけるストローク間ベクトルの集合に基づいて調整する位置調整ステップとを備えることを特徴とする。
【００３８】
また、上述した文字生成プログラムは、コンピュータに、上述したストローク生成プログラムにより実現される機能と、前記ストローク分解機能により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークとは異なる他のストロークの全ての特徴点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めさせるストローク間ベクトル集合抽出機能と、前記ストローク生成機能により生成された一のストロークの大きさを、同一の文字であって異なる部位を構成する他のストロークのストローク間ベクトルの集合と、同一の文字であって同じ部位を構成する同一のストロークにおける影響ベクトルの集合とに基づいて調整させる大きさ調整機能と、該大きさ調整機能により大きさ調整が行われたストロークの位置を、同一の文字であって異なる部位を構成する他のストロークにおけるストローク間ベクトルの集合に基づいて調整させる位置調整機能とを実現させるための文字生成プログラムであることを特徴とする。
【００３９】
上述したように、本発明に係る文字生成装置、文字生成方法および文字生成プログラムでは、異なるストローク間の位置関係を示すストローク間ベクトルを求める。このストローク間ベクトルは、一のストロークの特徴点を基準とし、当該一のストロークとは異なる他のストロークの全ての特徴点から前記一のストロークの特徴点までの距離と方向とを示すベクトルである。ストローク間ベクトルを全ての特徴点毎に求めることによって、ストロークの特徴点レベルで他のストロークからの特徴点に基づく相対的な位置関係を求めることが可能となる。
【００４０】
本発明に係る文字生成装置、文字生成方法および文字生成プログラムでは、ストロークの大きさを調整する場合には、ストローク間ベクトルの集合と影響ベクトルの集合とに基づいて大きさ調整を行う。ストロークの大きさ調整を行う場合には、他のストロークからの相対的な関係だけでなく、同じストローク内の特徴点における影響も大きさ決定に影響を受けるためである。
【００４１】
一方で、本発明に係る文字生成装置、文字生成方法および文字生成プログラムでは、ストロークの位置を調整する場合には、ストローク間ベクトルの集合に基づいて位置調整を行う。位置調整を行う場合には、他のストロークに対する相対的な関係が大きく影響し、同じストローク内の特徴点の関係については、他のストロークに対する相対的な関係に比べて影響を受けにくいことを考慮したものである。
【００４２】
また、上述した文字生成装置は、前記ストローク分解手段により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークの特徴点を、ストローク間影響点として求めるストローク間影響点抽出手段を備え、前記ストローク間ベクトル集合抽出手段は、前記ストローク間影響点抽出手段により求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークにおける全ての特徴点毎に求めるものであってもよい。
【００４３】
さらに、上述した文字生成方法は、前記ストローク分解ステップにおいて分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、ストローク間影響点抽出手段が、当該一のストロークよりも書き順的に前に位置する他のストロークの特徴点を、ストローク間影響点として求めるストローク間影響点抽出ステップを備え、前記ストローク間ベクトル集合抽出ステップにおいて、前記ストローク間ベクトル集合抽出手段が、前記ストローク間影響点抽出ステップにおいて求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めるものであってもよい。
【００４４】
また、上述した文字生成プログラムは、前記コンピュータに、前記ストローク分解機能によって分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークの特徴点を、ストローク間影響点として求めさせるストローク間影響点抽出機能を実現させ、前記ストローク間ベクトル集合抽出機能において、前記ストローク間影響点抽出機能により求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めさせるものであってもよい。
【００４５】
実際に書き手が文字を書く場合には、書いている箇所よりも少し前のストロークの軌跡を考慮して、文字およびストロークの形状、大きさ、バランスを判断し、文字を書く傾向がある。このため、異なるストローク間の位置関係を示すストローク間ベクトルのストローク間影響点も、一のストロークよりも書き順的に前に位置する他のストロークの特徴点の影響を多く受け得るものである。
【００４６】
本発明に係る文字生成装置、文字生成方法および文字生成プログラムでは、上述したように、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークの特徴点を、ストローク間影響点として求め、ストローク間影響点から一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めている。このように、一のストロークよりも書き順的に前に位置する他のストロークの特徴点を基準としてストロークの大きさおよび位置調整を行うためのストローク間ベクトルを求めることにより、ストローク間ベクトルの集合に基づいて決定されるストロークの大きさおよび位置が、実際の書き手が文字を書くときの特徴を反映させた状態で決定されることになる。
【００４７】
上述した文字生成装置は、前記ストローク分解手段により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークであって、当該他のストロークのいずれかの特徴点と前記一のストロークの特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない前記いずれかの特徴点を、ストローク間影響点として求めるストローク間影響点抽出手段を備え、前記ストローク間ベクトル集合抽出手段は、前記ストローク間影響点抽出手段により求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークにおける全ての特徴点毎に求めるものであってもよい。
【００４８】
さらに、上述した文字生成方法は、前記ストローク分解ステップにおいて分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、ストローク間影響点抽出手段が、当該一のストロークよりも書き順的に前に位置する他のストロークであって、当該他のストロークのいずれかの特徴点と前記一のストロークの特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない前記いずれかの特徴点を、ストローク間影響点として求めるストローク間影響点抽出ステップを備え、前記ストローク間ベクトル集合抽出ステップにおいて、前記ストローク間ベクトル集合抽出手段が、前記ストローク間影響点抽出ステップにおいて求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めるものであってもよい。
【００４９】
また、上述した文字生成プログラムは、前記コンピュータに、前記ストローク分解機能により分解された、同一の文字の異なる部位を構成するストローク間において、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークであって、当該他のストロークのいずれかの特徴点と前記一のストロークの特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られない前記いずれかの特徴点を、ストローク間影響点として求めさせるストローク間影響点抽出機能を実現させ、前記ストローク間ベクトル集合抽出機能において、前記ストローク間影響点抽出機能により求められた全てのストローク間影響点から前記一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めさせるものであってもよい。
【００５０】
実際に書き手が文字を書く場合には、書いている箇所よりも少し前のストロークの軌跡を考慮して、文字およびストロークの形状、大きさ、バランスを判断し、文字を書く傾向がある。さらに、書き手が文字を書く場合には、書いている箇所に近い他のストロークの影響を大きく受けて文字の形状、大きさ、バランスの判断を行う傾向があり、他のストロークの軌跡により遮られた離れた場所のストロークの影響を受けにくいという傾向がある。
【００５１】
このため、本発明に係る文字生成装置、文字生成方法および文字生成プログラムでは、上述したように、一のストロークの特徴点を基準とし、当該一のストロークよりも書き順的に前に位置する他のストロークであって、当該他のストロークのいずれかの特徴点と一のストロークの特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られないいずれかの特徴点を、ストローク間影響点として求め、ストローク間影響点から一のストロークの特徴点までの距離と方向とを示すストローク間ベクトルの集合を、複数回書かれた同じ文字毎の全てのストロークの全ての特徴点毎に求めている。このように、一のストロークよりも書き順的に前に位置する他のストロークの特徴点であって、他のストロークのいずれかの特徴点と一のストロークの特徴点とを結んだラインがいずれかのストロークの軌跡によって遮られないいずれかの特徴点を基準としてストロークの大きさおよび位置調整を行うためのストローク間ベクトルを求めることにより、ストローク間ベクトルの集合に基づいて決定されるストロークの大きさおよび位置が、実際の書き手が文字を書くときの特徴を反映させた状態で決定されることになる。
【発明の効果】
【００５２】
上述したように、本発明に係るストローク生成装置、ストローク生成方法、ストローク生成プログラム、文字生成装置、文字生成方法および文字生成プログラムは、文字の構造をストローク毎に分解した後に、ストロークの形状を特徴付ける特徴点を抽出し、該当するストロークの一の特徴点の位置を示す他の特徴点からの影響ベクトルの集合を求める。分解されたストロークは、複数回書かれた同じ文字毎に求められるため、複数回書かれた同じ文字の同じ部位を構成するストロークの特徴点毎に複数の影響ベクトルの集合を求めることができる。このため、複数回書かれた同じ文字の同じ部位を構成するストロークの特徴点毎に、複数の影響ベクトルの集合をクラスタリングすることにより、特徴点の位置を決定するための特徴点位置判断モデルを、位置決定パターンに基づいて求めることが可能となる。
【００５３】
この特徴点位置判断モデルは、特徴点毎に分岐点が形成されるため、書き手によって書かれた同じ文字の回数よりも多種類のストロークを生成することができる。さらに、このように生成されるストロークは、実際に書き手により書かれた文字の軌跡および書き順に関する情報に基づいて求められるものであるため、書き手の文字であることを示す「個人性」を備え、さらに「個人性」を備えながらも、それぞれのストロークが異なる形状となる「変移性」を備えたものとすることができる。
【図面の簡単な説明】
【００５４】
【図１】実施の形態に係る手書き文字生成装置の概略構成を示したブロック図である。
【図２】実施の形態に係るＣＰＵによって実行される手書き文字の生成処理の処理手順示したフローチャートである。
【図３】手書き文字の生成処理における処理内容を模式的に示した説明図である。
【図４】２つのストロークを比較して特徴点の個数を合わせる処理を説明するための図である。
【図５】複数のストロークを比較して特徴点の個数を合わせる処理を説明するための図である。
【図６】（ａ）は、１つのストロークにより構成される「２」の文字における特徴点を、７個の特徴点（Ｐ０〜Ｐ６）で示した図であり、（ｂ）は、Ｐ６の特徴点をＰ２からＰ５までの特徴点からの影響ベクトルにより示した図である。
【図７】（ａ）〜（ｃ）は、図６に示したストロークの「Ｐ６」点における影響ベクトルのクラスタリング結果（クラス０〜クラス２）を示した図である。
【図８】（ａ）はストロークを構成する特徴点の位置決定パターンを示すモデルの一例を示した図であり、（ｂ）は、（ａ）に示したモデルの代わりに表で特徴点の位置決定パターンを示した図である。
【図９】（ａ）〜（ｃ）は、４つのストロークにより構成される同じ文字を書き手が３回書いた場合であって、各ストロークＷ１〜Ｗ３のストローク間影響点からストロークＷ４の特徴点へのストローク間ベクトルを示した図である。
【図１０】（ａ）〜（ｃ）は、数字の「２」の最後の特徴点「Ｐ６」の位置を決定する処理過程を説明するための図である。
【図１１】（ａ）〜（ｄ）は、ストロークの大きさ調整処理を説明するための図である。
【図１２】（ａ）〜（ｄ）は、ストロークの位置調整処理を説明するための図である。
【図１３】（ａ）は、書き手が５回書いた「２ｇｍｘ四柿雪魅右石亜」からなる縦書きの文字列を示し、（ｂ）は、（ａ）の文字列に基づいて生成された１０列分の文字列を示している。
【発明を実施するための形態】
【００５５】
以下、本発明に係る文字生成装置の一例として、手書き文字生成装置を示しつつ、図面を用いて詳細に説明する。
【００５６】
図１は、実施の形態に係る手書き文字生成装置の概略構成を示したブロック図である。
【００５７】
手書き文字生成装置１は、図１に示すように、ディスプレイ部１１と、入力操作部１２と、本体部１３とを有している。
【００５８】
ディスプレイ部１１は、本体部１３における処理内容を、ユーザに対して視認可能に表示させる役割を有している。ディスプレイ部１１には、液晶ディスプレイや、ＣＲＴディスプレイなどの一般的な表示装置が用いられる。
【００５９】
入力操作部１２は、本体部１３に対してデータ等の入力を行う場合に、ユーザによって操作される入力手段である。本実施の形態に係る本体部１３では、手書き文字を入力するためのタブレットがその一例として用いられている。タブレットは、電子ペン１２ａと，電子ペン１２ａにより書かれたペン先の座標位置を読み取るスクリーン部１２ｂとを有している。
【００６０】
ユーザは、筆記用具で文字を書くようにして、電子ペン１２ａのペン先でスクリーン部１２ｂに文字を書くことにより、文字の各ストローク（文字を構成する点や線などが該当し、本実施の形態に係る手書き文字生成装置１では、電子ペン１２ａのペン先がスクリーン部１２ｂに接触されてから、スクリーン部１２ｂ上をなぞるようにして移動し、その後に、ペン先がスクリーン部１２ｂから離れるまでの一連の動作により求められるペン先の移動状態を１ストロークとする）の座標を求めることができる。本実施の形態に係る手書き文字生成装置１により、手書き文字を生成するためのサンプル文字は、入力操作部１２のスクリーン部１２ｂを介して、ユーザにより操作された電子ペン１２ａの移動状態に基づいて取得される。
【００６１】
なお、図１には、入力操作部１２としてタブレットのみを示しているが、入力操作部１２はタブレットだけに限定されるものではなく、一般的なキーボード、マウス、トラックボールなどの機器を含めることができる。
【００６２】
本体部１３は、制御部２０と、データ記録部２１とを有している。
【００６３】
データ記録部２１は、ハードディスク、ＳＳＤ（Solid State Drive）などの一般的な補助記憶装置により構成されている。データ記録部２１には、制御部２０において実行される手書き文字の生成処理に関するプログラムが記録されている。また、データ記録部２１は、入力操作部１２により取得されたサンプル文字が記録される。さらに、データ記録部２１には、手書き文字を生成する処理において、必要に応じて記録される様々な情報（例えば、後述する統計的なモデル（特徴点位置判断モデル）に関する情報など）を記録することが可能となっている。
【００６４】
制御部２０は、データ記録部２１に記録されるプログラムに従って、後述する手書き文字の生成処理を行う役割を有している。具体的に、制御部２０は、ＣＰＵ（Central Processing Unit：ストローク分解手段、ストローク生成手段、ストローク間ベクトル集合抽出手段、ストローク間影響点抽出手段、影響点抽出手段、特徴点追加手段、特徴点抽出手段、影響ベクトル集合抽出手段、クラスタリング手段、モデル生成手段、大きさ調整手段、位置調整手段）３０と、ＲＡＭ（Random Access Memory）３１とを有している。ＣＰＵ３０は、制御部２０における手書き文字の生成処理を実質的に実行する役割を有している。ＲＡＭ３１は、ＣＰＵ３０の処理に利用されるワークエリアとして用いられる。
【００６５】
次に、制御部２０のＣＰＵ３０による手書き文字の生成について説明する。ＣＰＵ３０は、データ記録部２１に記録されるプログラムに従って、手書き文字の生成処理を実行する。
【００６６】
図２は、ＣＰＵ３０により実行される手書き文字の生成処理の処理手順を示したフローチャートであり、図３は、手書き文字の生成処理の処理内容を模式的に示した説明図である。
【００６７】
まず、ＣＰＵ３０は、生成する文字のサンプル情報を取得する（図２におけるステップＳ．１、図３におけるステップＳ．２１）。具体的には、まず、書き手に、サンプルとなる文字または文字列（例えば、文章など）を所定回数、例えば５回だけ、入力操作部１２（電子ペン１２ａおよびスクリーン部１２ｂ）を用いて繰り返し記載してもらう。ＣＰＵ３０は、入力操作部１２を介して取得した文字情報を、サンプル情報としてデータ記録部２１に記録する。このサンプル情報は、ユーザにより書かれた文字における各ストロークの書き始めから書き終わりまでの筆先の軌跡に関する情報を、書き始め座標から書き終わり座標までの時間的な経過情報およびペン先の位置的（座標的）な経過情報により構成される。また、サンプル情報は、同じ文字内における複数のストローク間の位置関係の情報、および、各ストロークが書かれた順番を示す情報等により構成される。
【００６８】
なお、本実施の形態に係る手書き文字生成装置１においては、電子ペン１２ａおよびスクリーン部１２ｂからなる入力操作部１２が設けられており、入力操作部１２を用いることによって、書き手により書かれた文字情報をサンプル情報として取得する構成を採用する。しかしながら、文字のサンプル情報は、必ずしも入力操作部１２により読み取られる構成には限定されず、例えば、入力操作部１２を設けず、他の入力操作部等を用いて予め取得されたサンプル情報が、データ記録部２１に記録される構成であってもよい。予め、データ記録部２１にサンプル情報が記録されている場合、ＣＰＵ３０は、ステップＳ．１の処理として、データ記録部２１に記録されているサンプル情報を読み出す処理を行う。
【００６９】
次に、ＣＰＵ３０は、取得されたサンプル情報に基づいて、各文字の各ストロークを個別に抽出し（ステップＳ．２、ステップＳ．２２、ストローク分解ステップ）、１つのストロークの形状を特徴付ける特徴的な点（以下「特徴点」という）を求める（特徴点抽出ステップ）と共に、複数の特徴点の個数を同一のストロークを示す複数のストロークにおいて共通化する処理を行う（ステップＳ．３、ステップＳ．２３、特徴点追加ステップ）。各ストロークにおける特徴的な点の個数の共通化処理については、後で詳細に説明する。
【００７０】
次に、ＣＰＵ３０は、同一のストローク内における各特徴点の関係を求める（ステップＳ．４、ステップＳ．２３）。具体的に、ＣＰＵ３０は、各特徴点について、一の特徴点に影響を及ぼし得る同一ストローク内の他の特徴点を求め、他の特徴点から一の特徴点までの相対的な方向およびその距離に基づいて影響ベクトルを求める。そして、ＣＰＵ３０は、一の特徴点における複数の他の特徴点からの影響ベクトルの集合を、特徴点毎に求めて（影響ベクトル集合抽出ステップ）、影響ベクトルの集合毎にクラスタリング処理を行う（ステップＳ．５、ステップＳ．２３、クラスタリングステップ）。このクラスタリング処理によって、各ストロークにおける各特徴点の相対的な方向関係および隣接する特徴点間の距離関係をクラス分けして求めることが可能となる。
【００７１】
その後、ＣＰＵ３０は、クラスタリングされた影響ベクトルの集合のクラスと、サンプル情報とに基づいて、ストロークの形状を特徴付ける特徴点の位置を影響ベクトルの集合のクラスに応じて、特徴点毎に分岐した（位置決定パターンに分けた）統計的なモデルを生成する処理を行う（ステップＳ．６、ステップＳ．２３、モデル生成ステップ）。その詳細については後述する。
【００７２】
次に、ＣＰＵ３０は、文字を構成する複数のストロークとの相互的な関係を、各ストロークにおける特徴点との関係に基づいて求める（ステップＳ．７、ステップＳ．２４）。具体的に、ＣＰＵ３０は、各特徴点について、一の特徴点に影響を及ぼし得る他のストローク内の他の影響点（特徴点）を求め、他の影響点から一の特徴点までの相対的な位置関係およびその距離に基づいてストローク間ベクトルを求める。そして、ＣＰＵ３０は、他ストローク内の他の特徴点から一の特徴点までのストローク間ベクトルの集合を、特徴点毎に求める（ステップＳ．８、ステップＳ．２４、ストローク間ベクトル集合抽出ステップ）。
【００７３】
ここまで説明したステップＳ．１〜ステップＳ．８（ステップＳ．２１〜ステップＳ．２４）までの処理により、ＣＰＵ３０は、取得したサンプル情報に基づいて、「個人性」を備えつつ「変移性」を備えた手書き文字を生成するためのモデルパターンを取得することになる。このステップＳ．１〜ステップＳ．８に基づいて生成されたモデルパターンを利用することにより、次述するステップＳ．９およびステップＳ．１０の処理を経て、「個人性」を備えつつ「変移性」を備えた手書き文字を生成する。
【００７４】
まず、ＣＰＵ３０は、ステップＳ．６において求められた統計的なモデルと、ステップＳ．５において求められた影響ベクトルとに基づいて、各ストロークの生成を行う（ステップＳ．９、ステップＳ．２５、ストローク生成ステップ）。各ストロークの生成に関する詳細な説明は後述するが、原則として、一の特徴点は、その特徴点が描かれる以前の同一ストローク内の他の特徴点の影響を受けて（このような特徴点を影響点という）、その位置が決定される。さらに、影響を受け得る特徴点は、一の特徴点からストローク軌跡により遮られることの無い可視的な影響点の影響（この影響点をヴィジブルな影響点という。）を大きく受けるという考え方に基づいて、ストロークの生成が行われる。
【００７５】
次に、ＣＰＵ３０は、ステップＳ．８において取得された各特徴点のストローク間ベクトルに基づいて、各ストロークの大きさ調整および位置調整が行われる（ステップＳ．１０、ステップＳ．２５）。具体的に、ＣＰＵ３０は、ストローク間ベクトルに基づいて、一つ文字の形成する複数のストローク間の相対的な大きさ調整（大きさ調整ステップ）と、各ストローク間における相対的な位置調整（位置調整ステップ）を行う。
【００７６】
このように、ステップＳ．９におけるストロークの生成、および、ステップＳ．１０における各ストロークの位置調整・大きさ調整を繰り返し行うことにより、「個人性」を備えつつ「変移性」を備えた手書き文字を、サンプル文字として書き手に書かれた文字の回数より多くの種類生成することが可能となる（ステップＳ．２６）。
【００７７】
次に、上述したプログラムにおいて実行される各処理内容の詳細について説明する。
【００７８】
［１つのストロークを構成する複数の特徴的な点の個数を同一のストロークを示す複数のストロークにおいて共通化する処理（図２のステップＳ．３）］
図２のステップＳ．３に示した、「１つのストロークを構成する複数の特徴点を求める処理」について説明する。
【００７９】
上述したように、ステップＳ．２において、ＣＰＵ３０が、サンプル情報に基づいて、各文字の各ストロークを個別に抽出している。ここで、サンプル情報とは、書き手によって複数回書かれた同じ文字の軌跡および書き順に関する文字毎の情報である。例えば、書き手に「イ」という文字を５回だけ手書き入力してもらった場合には、サンプル情報として、「ノ」部分のストロークと「｜」部分の２つのストロークにより構成される「イ」のサンプル情報が、５文字分だけ抽出されることになる。
【００８０】
ＣＰＵ３０は、ステップＳ．２において、例えば、「ノ」部分のストロークを５文字分だけ抽出し、ステップＳ．３において、この「ノ」部分のストロークを構成する特徴的点の抽出処理を行う。具体的にＣＰＵ３０は、特徴点として、ストロークの形状を形成する特徴的な点、つまり、隣接配置された特徴点を直線で結ぶことにより、点と点との連結によりストロークの形状を示すことが可能なストローク内の特徴点を抽出する。例えば、「｜」は直線であるため、直線の両単にそれぞれ特徴点を１つずつ設定すれば、「｜」の形状を点と点との連結で示すことができる。しかしながら「ノ」は、湾曲した形状をしているため、両端の特徴点だけでなくその間に湾曲状態に対応して複数の特徴点を設定しなければ、その湾曲状態を点と点との連結で示すことができなくなる。このため、「ノ」は、ＣＰＵ３０によって、「｜」よりも多くの特徴点が抽出されることになる。
【００８１】
なお、書き手が複数回同じ文字を書くことによってサンプル情報を取得した場合、同じ文字の同じストロークであっても、そのストロークの形状などによって、特徴点の数が異なった数となってしまう場合がある。この場合には、特徴点の数を合わせておく必要がある。
【００８２】
２つのストロークを比較して特徴点の個数を合わせる手法として、Dynamic time warping with segment divisionと呼ばれる手法が知られている。この手法は、既存のDynamic Time Warping (L. Rabiner, B.-H. Juang, "Fundamentals of speech recognition", Prentice Hall,USA, p.209-213,1993と呼ばれる手法を拡張したものである。例えば、図４（ａ）に示すような、実線で示された少なくとも４つの特徴点を備えたストロークと、破線で示された少なくとも２つの特徴点を備えたストロークとが存在する場合を考える。図４（ａ）に示された実線のストロークと破線のストロークとの特徴的の個数を合わせる場合には、まず、対応する特徴点を求める。図４（ａ）に示すストロークでは、実線のストロークのＤ１と破線のストロークのＱ１、実線のストロークのＤ４と破線のストロークのＱ２とが対応している。このため、ＣＰＵ３０は、少なくとも、Ｄ１とＱ１とを対応する点と判断し、Ｄ４とＱ２とを対応する点と判断する。
【００８３】
次に、ＣＰＵ３０は、対応する点が無いため特徴点が少ないストロークに対して、新たな特徴点を追加する処理を行う。図４（ａ）に示すように、実線のストロークにおけるＤ２、Ｄ３に対応する点が、破線のストロークには存在しない。従って、ＣＰＵ３０は、破線のストロークにおけるＱ１とＱ２との間に、Ｄ２とＤ３とに対応する点をそれぞれ追加する処理を行う。
【００８４】
図４（ｂ）は、破線のストロークにおけるＱ１からＱ２までの部分的ストロークと、実線のストロークにおけるＤ１からＤ４までの部分的ストロークとを拡大して示した図である。図４（ｂ）に示すように、ＣＰＵ３０は、Ｄ１からＤ４までの全体的な長さに対する、Ｄ１からＤ２までの長さと、Ｄ２からＤ３までの長さと、Ｄ３からＤ４までの長さとの比率を求める。そして、この比率に対応するようにして、破線のストロークにおけるＱ１とＱ２との間に、Ｄ２に対応するＱａ点と、Ｄ３に対応するＱｂ点とを追加する。このようにして、特徴点を追加することによって、特徴点の個数を、異なるストロークの間で合わせることが可能となる。
【００８５】
しかしながら、図４に示したDynamic time warping with segment divisionの手法は、２つのストロークに対してのみ有効な手法である。一方で、本実施の形態に係る手書き文字生成装置１では、３つ以上のストロークの特徴点に対しても適用させる必要が生ずる。このため、本実施の形態に係る手書き文字生成装置１では、Matching through template among many strokesと呼ばれる手法を採用する。この手法は、２つのストロークに基づいて特徴点が求められたストロークをテンプレートとして新しく定義し、新しいストロークが追加される毎に、新たに追加されたストロークとテンプレートとに基づいて新たな特徴点を求めて、新たな特徴点が追加されたテンプレートを新しく定義する。また、テンプレートを新しく定義すると共に、既に追加されたストロークに対して対応する新たな特徴点を追加する処理を繰り返し行う。このような処理を繰り返すことによって、全てのストロークで特徴点の個数が同じになるように、特徴点の調整を図ることが可能となる。
【００８６】
図５（ａ）には、特徴点の調整が行われたストロークＡとストロークＢとが示されている。ストロークＡおよびストロークＢにおいて白丸と黒丸とは、特徴点を示しており、黒丸は調整前のストロークにおける特徴点を示し、白丸は調整処理（Dynamic time warping with segment division）に基づいて新たに追加された特徴点を示している。また、テンプレートは、新たに定義されたテンプレートを示している。
【００８７】
図５（ａ）に示すように、最初に定義されるテンプレートは、ストロークＡの特徴点とストロークＢの特徴点に基づいて生成された特徴点を考慮して定義されることになる。次に、新しいストロークＣが追加された場合には、図５（ｂ）に示すように、図５（ａ）により定義されたテンプレートと、新たに追加されたストロークＣとに基づいて新たな特徴点の生成が行われて、新しいテンプレートが生成されることになる。さらに、新たなテンプレートが生成される場合には、前段階で特徴点の調整が既に行われたストロークＡおよびストロークＢに対しても、新たなストロークＣとテンプレートとの比較により新たに生成された点の追加が行われる。
【００８８】
このように、２つのテンプレートに基づいて新たな特徴点の生成などが行われた結果に基づいてテンプレートを生成し、新たに追加されたテンプレートに対しては、生成されたテンプレートの特徴点との比較により新たな特徴点の追加を行い、追加が行われた特徴点を考慮した新たなテンプレートを生成する。また、既にテンプレートの生成のために比較が行われたテンプレートに対しても、新たに生成された特徴点に対応する特徴点の追加を行う。この処理を繰り返して行うことによって、全てのストロークに形成される特徴点の数を同一の個数とすることが可能となる。
【００８９】
［同一のストローク内における各特徴点の関係を求める処理（図２のステップＳ．４：Influencing Model）］
次に、「同一のストローク内における各特徴点の関係を求める処理（図２のステップＳ．４）」について説明する。本実施の形態に係る手書き文字生成装置１では、「同一のストローク内の任意の１点の位置は、同一のストローク内の他の多数の点の位置から影響を受けて決定される。」という仮定に基づいて、同一のストローク内における各特徴点の関係を求める。上述したステップＳ．３によって個数の共通化が図られた特徴点において、特定の特徴点の位置に影響を及ぼす他の特徴点をその特徴点における影響点（Influencing Points）と定義する。そして、影響点と定義された多数の特徴点うち、同一のストロークにおける特定の特徴点よりも前に（時間的に前に）書かれた影響点を基準として、ヴィジブル（Visible）な影響点を求める。ここで、ヴィジブルとは、特定の特徴点と、その特徴点よりも前にに書かれたそれぞれの特徴点とを結んだラインが、特定の特徴点に至るまでに書かれるストロークの軌跡（line segment）によって遮られないことを意味する。
【００９０】
図６（ａ）（ｂ）は、１つのストロークにより構成される文字「２」における特徴点を、７個の特徴点（Ｐ０〜Ｐ６）で示したものである。図６（ａ）および（ｂ）の場合には、４文字の「２」がサンプルの文字として取得された場合を示している。このように「２」という文字より、７つの特徴点を求めると、「Ｐ６」と「Ｐ０」とを結んだラインと、「Ｐ６」と「Ｐ１」とを結んだラインとは、「Ｐ２」から「Ｐ３」に至るまでのストロークの軌跡により遮られることになる。従って、「Ｐ６」にとって、「Ｐ０」と「Ｐ１」とはヴィジブルな影響点には該当しなくなる。
【００９１】
さらに、ＣＰＵ３０は、ＲＩＰ（Representative Influencing Point：代表影響点）を求める処理を行う。ここで、ＲＩＰとは全てのストロークにおいてヴィジブルな影響点に該当するものではないが、ヴィジブルな影響点として検出される特徴点が一部存在するため、ヴィジブルな影響点と同様の判断が行われる特徴点を意味する。
【００９２】
例えば、図６（ｂ）に示した数字の「２」における４番目（画面の右端）のストロークでは、「Ｐ６」と「Ｐ４」とを結んだラインが、「Ｐ２」から「Ｐ３」に至るストロークの軌跡によって遮られている。このため、図６（ｂ）における４番目の「２」で判断すると、「Ｐ４」は「Ｐ６」におけるヴィジブルな影響点には該当しなくなる。
【００９３】
しかしながら、図６（ｂ）における１番目〜３番目の「２」では、「Ｐ６」と「Ｐ４」とを結んだラインが、「Ｐ２」から「Ｐ３」に至るストロークの軌跡によって遮られていない。従って、図６（ｂ）における１番目〜３番目の「２」で判断すると、「Ｐ４」は「Ｐ６」におけるヴィジブルな影響点に該当することになる。このように、同一の書き手により同じ文字が書かれた場合であっても、微妙なストロークの軌跡により、一の影響点が、ヴィジブルな影響点に該当する場合もあれば、該当しない場合も存在する。このような影響点に関しては、ヴィジブルな影響点に該当する文字の数（図６（ｂ）で示す場合には、４文字のうち３文字で「Ｐ４」がヴィジブルな影響点に該当）に基づいて、ヴィジブルな影響点と判断され得るサンプル数的な割合を求め、この割合が一定の基準値以上である場合には、ＲＩＰであるとの認定を行う。本実施の形態では、例えば、４割以上の割合でヴィジブルな影響点と判断され得る場合に、その影響点をＲＩＰと認定する。
【００９４】
［特徴点毎に求められた影響ベクトルの集合に対するクラスタリング処理（図２のステップＳ．５：Vector Clustering）］
次に、「一の特徴点における複数の影響点からの影響ベクトルの集合を、特徴点毎に求めて、影響ベクトルの集合毎に行うクラスタリング処理（図２のステップＳ．５）」について説明する。上述した「同一のストローク内における各特徴点の関係を求める処理（図２のステップＳ．４）」によって、各特徴点におけるヴィジブルな影響点が求められる。このヴィジブルな影響点は、特定の特徴点において、同一ストローク内で大きく影響を受けた特徴点を示すものである。つまり、特定の特徴点は、複数のヴィジブルな影響点から特定の特徴点までのそれぞれのベクトル（距離および方向を示す影響ベクトル）に大きく影響を受けるものであると判断される。従って、ストロークにおける各特徴点は、各特徴点において求められたヴィジブルな影響点からの影響ベクトルに基づいて決定されることになる。
【００９５】
ＣＰＵ３０は、ストロークの特徴点毎に、ヴィジブルな影響点からの影響ベクトルの組み合わせ（パターン）を判断して、影響ベクトルの組み合わせについてクラスタリングを行う。本実施の形態に係る手書き文字生成装置１では、クラスタリングを行うためのアルゴリズムの一例として「Simplified Adaptive Resonance Theory 2（B.-H. Kim, K.-M. Koo, Y.-M. Park, E.-Y Cha, "A study on quantization method using ART2 for contents-based image retrieval (in Korean)", Proc. 22th Conf. Korea Information Processing Society, Vol. 11, No. 2, 2004」を用いる。図７（ａ）〜（ｃ）は、図６に示したストロークの「Ｐ６」点における影響ベクトルのクラスタリング結果（クラス０〜クラス２）を示している。
【００９６】
具体的には、図６に示した「Ｐ６」点を基準として、「Ｐ６」点にとってヴィジブルな影響点「Ｐ２」点、「Ｐ３」点、「Ｐ４」点、「Ｐ５」点から「Ｐ６」点への影響ベクトルを求めて、各影響ベクトルの特徴に基づいてクラスタリングを行っている。図７に示すクラスタリングは、４つの影響ベクトルの距離を計算した結果に基づいてグループ分けを行った場合のクラスタリング結果を示している。このクラスタリング結果より、例えば、「Ｐ６」点の位置決定パターンは、同一ストロークの「Ｐ５」点を基準としてクラスタリングされたクラスの数だけ（図７に示す３つ）可能性があることが示されている。つまり、それぞれのクラスタリング結果に応じて求められる「Ｐ６」点の位置は、「Ｐ５」点を基準として、いずれかのクラス（クラス０〜クラス２）が選択されたかによって、そのクラスに該当する影響ベクトルの方向と距離とによって決定される。
【００９７】
［特徴点の位置決定パターンを示す統計的なモデルを構成する処理（図２のステップＳ．６：Statistical Model）］
次に、「特徴点の位置決定パターンを示す統計的なモデルを構成する処理」について説明する。上述した影響ベクトルのクラスタリング処理（図２のステップＳ．５）によって、一つ前の特徴点から次の特徴点の位置を決定する方法が求められる。例えば、図６に示した「Ｐ５」点を基準として次の特徴点である「Ｐ６」点の位置決定パターンは、図７に示した３パターンのいずれかの影響ベクトルの集合に基づいて決定される。従って、「Ｐ６」点は「Ｐ５」点を基準として３パターン（３つのクラス）の異なった位置に決定されることになる。
【００９８】
このように、全ての特徴点において影響ベクトルの集合を求めることによって、一つ前の特徴点から次の特徴点の位置決定パターンが求められる。さらに、いずれのパターンに従って次の特徴点が決定されるかの割合は、サンプル情報に基づいて算出することができる。すなわち、同じストロークを構成するｎ回分のサンプル情報が、クラスタリングされた影響ベクトルの集合のどのクラスに該当するかを求めることにより、全体数ｎに対する各クラスの該当数に基づく割合を求めることができる。
【００９９】
つまり、ストロークの特徴を示す特徴点の位置決定は、同一ストロークにおける直前の特徴点を基準として、影響ベクトルの集合のクラスに基づいて決定され、そのクラスの決定割合は、サンプル情報における各クラスの該当割合に応じて決定されることになる。
【０１００】
図８（ａ）は、このようにして求められた一連の特徴点の位置決定パターンをモデル（統計的なモデル）で示した図である。図８（ａ）において、orderは、ストロークを構成する特徴点の順番を示し、order０は、一番はじめの特徴点を示している。
【０１０１】
orderの値が１つ大きくなる場合、つまり次の特徴点を決定する場合には、その前の特徴点、つまり、値が１つ大きくなる前のorderを基準として、クラスタリングされた影響ベクトルの集合の個数だけ、特徴点の分岐する位置決定パターンが存在することになる。例えば、order１の特徴点は、order０の特徴点Ｃ００に対して２種類の位置決定パターンを有しており、一方の特徴点がＣ１０、他方の特徴点がＣ１１となっている。同様にしてorder２の特徴点は、order１の特徴点においてそれぞれ２種類の位置決定パターンが存在している。このため、order２の特徴点は、Ｃ２０、Ｃ２１、Ｃ２２、Ｃ２３、の４種類となっている。同様にorder３特徴点は、Ｃ３０、Ｃ３１、Ｃ３２、Ｃ３３の４種類となっている。
【０１０２】
さらに、分岐した位置決定パターンのどれが選択されるかという割合は、ｎ個のサンプル情報のうち、どちらの位置決定パターンに該当するサンプルパターンが存在するかの割合に応じて決定される。例えば、サンプル情報として１０回分のストロークに関する情報が存在する場合、１０回分のストロークのうち、何回のストロークが、クラスタリングされたクラスのいずれに該当するかによって、位置決定パターンの決定割合が求められる。図８（ａ）においては、特徴点Ｃ００から特徴点Ｃ１０に分岐する割合が０．６、特徴点Ｃ００から特徴点Ｃ１１に分岐する割合が０．４となっていることが示されている。つまり、特徴点Ｃ００におけるサンプル数が１０であった場合には、６のサンプルが特徴点Ｃ１０に属する位置決定パターンを示し、４のサンプルが特徴点Ｃ１１に属する位置決定パターンを示したことになる。
【０１０３】
このようにして、全ての特徴点について、クラスの数とその割合に応じて１つ前の特徴点との対応関係を求めることにより、図８（ａ）に示すような統計的なモデルを求めることができる。このモデルに従って、ストロークを完成させることにより、様々な特徴を備えたストロークを示すことが可能となる。
【０１０４】
モデルに従って求められる各特徴点は、全て書き手の特徴に基づいてクラスタリングされた影響ベクトルの集合に基づいて決定されるため、特徴点に基づいて形成される各ストロークは、書き手の特徴を示した形状を示すことになる。このため、モデルを用いて求められるストロークは、同一の書き手により書いた文字であると認識可能な「個人性」を備えたストロークであると共に、それぞれの文字の形状に多様性を生じさせる「変移性」を備えたストロークを示すという特徴を備えることになる。
【０１０５】
さらに、モデルを用いて求められるストロークは、サンプル情報の個数以上に多くの種類の形状（特徴点の組み合わせ）で示すことができ、実際に書き手にサンプルとして書いてもらう文字の回数よりも多くのストロークモデルを生成することが可能となる。
【０１０６】
なお、モデルを構築する場合には、既に説明したように、同一のストロークに含まれる（ストロークを構成する）特徴点の数を同じにする必要がある。このため、ストロークにおける特徴点の数が同じでない場合には、既に、図４，図５を示して説明した処理を行うことにより、特徴点の数を同じにする処理を優先して行う必要が生ずる。
【０１０７】
また、モデルは、図８（ａ）に示すようなツリー構造に類似した形状をなすものには限定されない。図８（ｂ）は、図８（ａ）に示したモデルの代わりに表によって特徴点の位置決定パターンを示したものである。このように、具体的なモデルの構成は、クラスタリングされたクラスのいずれに該当するかによって、位置決定パターンの決定割合が求められるものであれば、ツリー構造に類似した形状をなすものであっても、表により特定されるものであっても、さらに異なる構成により成立するものであってもよい。
【０１０８】
［複数のストロークにおける相互的な関係を、各ストロークにおける特徴点との関係に基づいて求める処理（図２のステップＳ．７：Interstroke Model）
次に、「文字を構成する複数のストロークにおける相互的な関係を、各ストロークにおける特徴点との関係に基づいて求める処理」について説明する。上述したモデルの構成処理によって、「個人性」および「変移性」を備えたストロークの形状を求めることができる。本処理では、このような、「個人性」および「変移性」を備えたストロークを組み合わせることにより、「個人性」および「変移性」を備えた文字を生成する処理を行う。
【０１０９】
生成された文字において「個人性」および「変移性」を備えるためには、ストロークのそれぞれに「個人性」および「変移性」が備わっているだけでなく、文字を形成するそれぞれのストロークの関係においても、サンプル情報に基づいて求められる特徴を備えたものでなくてはいけない。このため、文字を構成する一のストロークと他のストロークとの相互的な関係を、他のストロークにおける特徴点から一のストロークにおける特徴点までの方向と距離とに基づいて求める。従って、本処理では、各サンプル情報に基づいて、一のストロークの特徴点の位置を、他のストロークの特徴点からのベクトル（以下、ストローク間ベクトルとする）により求める処理を行う。
【０１１０】
ストローク間ベクトルは、同一文字の異なる部位を構成するストローク間において、異なる他のストロークの全ての特徴点の影響を一のストロークにおける特徴点が受けるものとする。実際に書き手が文字を書く場合には、既に描かれたストローク（例えば、文字の点や線等）の位置や大きさに対応するように注意して次に描くストロークの位置や大きさを決定・調整する傾向がある。このため、本処理においても、既に描かれた他のストロークの特徴点からのストローク間ベクトルを求める。このようにして求められたストローク間ベクトルに基づいて、既に描かれているストロークの特徴点からの方向および距離を求めることにより、目的とするストロークの位置および大きさを決定・調整することが可能となる。
【０１１１】
また、ストローク間ベクトルを求める場合においても、ヴィジブルな影響点を考慮して決定される。つまり、一のストロークにおける特定の特徴点と、その特徴点よりも前に描かれたそれぞれの特徴点とを結んだラインが、いずれかのストロークによって遮られない影響点を基準として、ストローク間ベクトルを求める。
【０１１２】
図９（ａ）〜（ｃ）は、４つのストロークにより構成される同じ文字を、書き手が３回書いた場合を示している。それぞれの文字は、左側縦線からなるストロークＷ１、上側横線からなるストロークＷ２、右側縦線からなるストロークＷ３、中央部横線からなるＷ４の４つのストロークにより構成されている。このストロークの書き順はＷ１、Ｗ２、Ｗ３、Ｗ４の順番である。また、ストロークＷ１〜Ｗ３は、それぞれの端部に位置する２つの特徴点により構成されており、ストロークＷ４は、横方向に配列された３つの特徴点によって構成されている。
【０１１３】
図９（ａ）〜（ｃ）では、ストロークＷ４の一番左側の特徴点におけるストローク間ベクトルがベクトル表記（矢印記号）によって示されている。より詳細に、図９（ａ）〜（ｃ）には、ストロークＷ４とは異なるストロークの特徴点のうち、ストロークＷ４よりも前に書かれたストロークＷ１〜Ｗ３であって、さらに、各ストロークＷ１〜Ｗ３の各特徴点から、ストロークＷ４の一番左側の特徴点へと結ばれたラインが、ストロークＷ１〜Ｗ３の存在によって遮られていない特徴点（ヴィジブルな特徴点）のストローク間ベクトルが描かれている。このようにして求められたストローク間ベクトルに基づいて、ストローク間の大きさ調整および位置調整を行うことが可能となる。
【０１１４】
［モデルと影響ベクトルとに基づくストロークの生成処理（図２のステップＳ．９）］
次に、ＣＰＵ３０が、ステップＳ．６において求められた統計的なモデルと、ステップＳ．５において求められた影響ベクトルとに基づいて、各ストロークの生成を行う処理について説明する。
【０１１５】
上述したように、同一ストローク内の特徴点の位置は、他の特徴点からの影響ベクトルにより求めることができる。また、各特徴点を決定する場合に用いられる影響ベクトルの集合は、クラスタリングされた影響ベクトルの集合のクラスのいずれかであり、どの影響ベクトルの集合が採用されるかは、モデルの特徴点（各order）毎に決定される。従って、モデルの分岐に応じて、はじめのorder０から最後のorderまでの経路にそって各特徴点の位置を決定することにより、「個人性」および「変移性」を備えた複数のストロークを生成することが可能となる。
【０１１６】
図１０（ａ）〜（ｃ）は、数字の「２」文字の最後の特徴点「Ｐ６」点の位置を決定する処理過程を示している。図１０（ａ）は、数字の「２」において特徴点「Ｐ５」点までの位置が決定された状態を示しており、（ｂ）は、「Ｐ６」点を決定するために用いられる影響ベクトルの集合を示している。そして、図１０（ｃ）は、（ａ）に示されたヴィジブルな影響点である「Ｐ２」〜「Ｐ５」の特徴点における影響ベクトルを、（ｂ）に示した影響ベクトルを用いて示した図である。図１０（ｃ）に示すように、クラスタリングされた影響ベクトルの集合を用いて「Ｐ６」の位置を特定する場合には、必ずしも各影響ベクトルの先端が１点に一致するものではない。図１０（ｃ）に示すように、各影響ベクトルの先端位置が１点に一致しない場合には、それぞれの影響ベクトルにおける加重平均により求められる位置を、特徴点「Ｐ６」として決定する。このようにしてストロークにおける各特徴点をいずれかの影響ベクトルの集合を用いて決定することにより、様々な形状のストロークを生成することが可能となる。
【０１１７】
［ストローク間ベクトルに基づく各ストロークの大きさ調整および位置調整の処理（図２のステップＳ．１０）］
次に、各特徴点のストローク間ベクトルに基づいて、各ストロークの大きさ調整および位置調整を行う方法について説明する。まず、ストロークの大きさの調整をする場合には、一のストロークの全ての特徴点に対して、同一のストロークにおける影響点からの影響ベクトルと他のストロークにおける影響点からのストローク間ベクトルとを用いて、一のストロークにおける仮想位置を算出する。ストロークにおける仮想位置の算出において、他のストロークにおけるストローク間ベクトルを用いることにより、ストローク間の相対的な位置関係を考慮した仮想位置を算出することが可能となる。さらに、同一のストロークにおける影響点からの影響ベクトルを用いて仮想位置を算出することにより、同一ストローク内における各特徴点の相対的な位置関係を考慮した仮想位置を求めることが可能となる。
【０１１８】
そして、ＣＰＵ３０では、算出された仮想位置から、一のストロークにおける仮想的なストロークの大きさ（高さ寸法および幅寸法）を計算して、既存のストロークの大きさを計算された仮想ストロークの大きさに対応させて調整する。
【０１１９】
図１１（ａ）〜（ｄ）は、ストロークの大きさ調整の過程を示した図である。図１１（ａ）のストロークＷ１〜Ｗ４は図９（ａ）に示したストロークと同一のものである。図１１（ａ）のストロークＷ４の大きさ調整を行う場合、ＣＰＵ３０は、ストロークＷ４内の影響点における影響ベクトルと、他のストロークＷ１〜Ｗ３の影響点におけるストローク間ベクトルとに基づいて、図１１（ｂ）の白丸で示されるストロークＷ４の仮想位置を算出する。そしてＣＰＵ３０は、求められた仮想位置に基づいて、図１１（ｃ）に示すように、仮想的な大きさのストロークＷ４ａを計算し、図１１（ｄ）に示すように、既存のストロークＷ４の大きさを計算された仮想ストロークＷ４ａの大きさに対応させて調整する。
【０１２０】
次に、ＣＰＵ３０では、大きさ調整が行われたストロークの位置調整処理を行う。位置調整処理においては、他のストロークの影響点におけるストローク間ベクトルのみを用いて、一のストロークにおける特徴点の仮想位置を算出する。位置調整処理においては、他のストロークに対するストローク間ベクトルのみを用い、同一ストローク内における影響ベクトルを用いない点で、大きさ調整処理を相違する。既に一のストロークにおける大きさ調整が行われており、この位置調整処理によってストロークの大きさおよび形状は変化がなく、また、一のストロークにおける位置調整には、他のストロークとの相互的な位置関係が、「個人性」および「変移性」を備えた文字を生成するために必要とされるためである。
【０１２１】
そして、計算されたストロークにおける特徴点の仮想位置と、大きさ調整されたストロークにおける特徴点の実際の位置との誤差が最も小さくなるようにして、ストロークの位置の調整が行われる。
【０１２２】
図１２（ａ）〜（ｃ）は、ストロークの位置調整の過程を示した図である。図１２（ａ）は、ストロークの大きさ調整によりストロークＷ４の大きさが調整された後のストロークＷ１〜Ｗ４を示している。ＣＰＵ３０では、図１２（ｂ）に示すように、他のストロークＷ１〜Ｗ４の影響点におけるストローク間ベクトルのみを用いて、ストロークＷ４における特徴点の仮想位置（図１２（ｂ）における白丸の点）を算出する。そして、ＣＰＵ３０は、図１２（ｃ）に示すように、計算されたストロークＷ４の特徴点における仮想位置（図１２（ｂ）における白丸の点）と、大きさ調整されたストロークにおける特徴点の実際の位置との誤差が最も小さくなるようにして、ストロークＷ４の位置調整を行う。
【０１２３】
このようにして、モデルの分岐に応じて様々なパターンのストロークを生成すると共に、生成されたストロークの大きさ調整および位置調整を上述したように行うことによって、サンプルとして文字を書いた書き手の「個人性」および「変移性」を備えた文字を、サンプルとして書いた文字の回数以上に多種類に生成することが可能となる。
【０１２４】
図１３（ａ）は、書き手により「２ｇｍｘ四柿雪魅右石亜」からなる縦書きの文字列を５回だけ、サンプルとして書いてもらった手書き文字列を示している。一方で、図１３（ｂ）は、図１３（ａ）のサンプルの文字列を入力操作部１２において読み取り、上述した処理に基づいて、書き手の書いたサンプル文字列の「個人性」および「変移性」を備えた文字列を１０文字列だけ生成させた例を示している。図１３（ａ）と図１３（ｂ）とを比較すると、それぞれの文字は、全く同じ文字ではないが、共通した形状を示している。このように、手書き文字生成装置１を用いて文字を生成することにより、書き手が書いた文字列であると認識可能な特徴を示す「個人性」が反映された文字を生成することができると共に、それぞれの文字が共通した特徴を備えながら、それぞれ異なった文字としての特徴・相違点を備えた文字である「変移性」を備えた文字を生成することが可能となる。さらに、サンプルとして書かれた文字列は５回分、つまり１文字あたりのサンプルは５文字しかないのにかかわらず、生成された文字列は、５つ以上の異なった「変移性」を備えた文字列を生成することが可能となる。
【０１２５】
以上説明したように、本実施の形態にかかる手書き文字生成装置１を用いることにより、文字を構成するストローク内の特徴点の位置を、同一ストローク内の各特徴点における影響ベクトルの集合によって求めることができるので、サンプルとして用いられる文字を書いた書き手の「個人性」および「変移性」を備えたストロークを生成することが可能となる。
【０１２６】
さらに、各特徴点における影響ベクトルの集合をクラスタリングしてクラス分けすることにより、ストローク内の特徴点の位置決定を複数（モデルの分岐数）選択することが可能となるので、サンプルの文字を書いた回数よりも多種類のストロークを生成することが可能となる。
【０１２７】
さらに、各ストロークの大きさ調整および位置調整を影響ベクトルの集合およびストローク間ベクトルの集合を用いて決定することができるので、ストローク間相互の位置および大きさをサンプルの文字の特徴に準じて調整することが可能となり、結果として、書き手の「個人性」および「変移性」を備えた文字を、サンプルを書いた回数よりも多種類に生成することが可能となる。
【０１２８】
以上、本発明に係る文字生成装置について、図面を用いて詳細に説明したが、本発明に係る文字生成装置は上述した実施の形態の例には限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１２９】
例えば、生成しようとする全ての文字の平均文字データをあらかじめ標準パターンとして第１のデータベースに記録させておき、さらに、ある書き手により、生成しようとする文字の特徴を備えた所定の文字を記述してもらうことによって、書き手により書かれた文字とは異なる特定の特徴を備えた文字を生成することが可能となる。
【０１３０】
具体的には、第１のデータベースに記録された標準パターンにおいて、全ての文字をストローク単位で分離し、分離されたストロークをクラスタリングすることによって多数のグループを生成する。そして、クラスタリングされた多数のグループを備えたストロークと、これから生成しようとする文字との関係を求めて、第３のデータベースに記録させる。一方で、書き手により書かれたサンプル文字によって求められるサンプル情報を、第２のデータベースに記録させる。
【０１３１】
このようにして、第１のデータベースに標準パターンを記録し、第２のデータベースに書き手により書かれた文字のサンプル情報を記録し、第３のデータベースにクラスタリングされた多数のストロークのグループと、生成しようとする文字との関係を示す情報を記録することによって、第２のデータベースに記録された生成可能な文字に関するストロークの集合を、第３のデータベースから求めることができ、求められた多数のストロークの情報を利用することによって、新しい文字を生成することができる。既存の研究方法（例えば、Jungpil Shin, Kazunori Suzuki, Atsushi Hasegawa, "Handwritten Chinese Character Font Generation Based on Stroke Correspondence", International Journal of Computer Processing of Oriental Languages, Vol.18, Issue 3, p.211-226,2005）を利用した場合には、書き手に１００種類程度の漢字の入力を行ってもらうだけで、入力された漢字とは異なる３０００種類程度の漢字を生成することが可能となる。
【０１３２】
また、サンプル情報として、同一の書き手により記述された文字だけを利用するのではなく、異なる書き手により書かれた異なる文字を混ぜ合わせてサンプル情報を採取することにより、それぞれの書き手における文字の特徴が混ぜ合わされた新たな「個人性」および「変移性」を備えた文字を生成することが可能となる。特に、上述した標準パターンを予めデータベースに記録しておくことにより、書き手により書かれた文字と異なる文字を生成することが可能となる。このため、十分な標準パターンを構築することにより、ユーザにより入力される文字数が少ない場合であっても、実際の書き手の文字に似通った多種類の文字を生成することが可能となる。
【０１３３】
また、漢字は、数多くの種類の文字を備えているが、各文字は、「部首」と呼ばれる共通した様々なストロークの集合によって構成されている。このため、複数の「部首」の相互間の関係を、本実施の形態に係る手書き文字生成装置１における「他のストロークの特徴点を基準とするストローク間ベクトルの集合を、目的とするストロークの特徴点毎に求める処理方法」に基づいてモデリングすることにより、共通する部首を使用する他の文字の生成を行うことが可能となる。
【０１３４】
さらに、本発明に係る文字生成方法を応用することにより、楷書体で書かれたサンプル文字に基づいて草書体の文字を生成することが可能である。なお、草書体は、文字のストロークが他の文字と異なって接続された一筆書き的な形状を呈するという特徴を有している。このため、草書体を生成するためには、草書体を形成するストローク間の一般的な接続情報が必要となり、このような接続情報が第４のデータベースに記録されているものとする。
【０１３５】
楷書体から草書体を生成する場合には、楷書体のサンプル情報に基づいてたくさんの楷書体のストロークを生成する。そして、生成された楷書体のストロークを、第４のデータベースに記録される接続情報に基づいて連結させて、ストロークの一部が接続された文字を生成する。その後、生成された文字情報を、フーリエ変換を用いて周波数領域に変換し、変換された周波数領域における高周波数の情報を除去した後に、フーリエ逆変換を用いてデータを文字情報（平面情報）に変換する。このようにフーリエ変換を行った後に高周波成分を除去してからフーリエ逆変換で文字情報に戻すことにより、ストロークのつながりがなめらかで美的に変形された（美的に崩れた）形状の草書体を生成することが可能となる。
【符号の説明】
【０１３６】
１     …手書き文字生成装置（ストローク生成装置、文字生成装置）
１１   …ディスプレイ部
１２   …入力操作部
１２ａ  …電子ペン
１２ｂ  …スクリーン部
１３   …本体部
２０   …制御部
２１   …データ記録部
３０   …ＣＰＵ（ストローク分解手段、ストローク生成手段、ストローク間ベクトル集合抽出手段、ストローク間影響点抽出手段、影響点抽出手段、特徴点追加手段、特徴点抽出手段、影響ベクトル集合抽出手段、クラスタリング手段、モデル生成手段、大きさ調整手段、位置調整手段）
３１   …ＲＡＭ
【図１】
0005713707.tif 000002
【図２】
0005713707.tif 000003
【図３】
0005713707.tif 000004
【図４】
0005713707.tif 000005
【図５】
0005713707.tif 000006
【図６】
0005713707.tif 000007
【図７】
0005713707.tif 000008
【図８】
0005713707.tif 000009
【図９】
0005713707.tif 000010
【図１０】
0005713707.tif 000011
【図１１】
0005713707.tif 000012
【図１２】
0005713707.tif 000013
【図１３】
0005713707.tif 000014