(57)【要約】【課題】文字毎のフォントをランダムに変形する場合と比べて、視認時の雑然さが抑制された文字データを生成可能な文字データ生成装置、方法及びプログラムを提供する。【解決手段】文字データ生成装置１０は、取得された文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する変形量決定部２４と、決定された変形量を用いて、元のフォントを示すフォントデータに対する変形処理を施すことで、変形後のフォント配列を示す文字データ３４を生成する文字生成部２６と、を備える。変形量決定部２４は、文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、指定文字の変形量を逐次的に決定する。これにより、柔らかな感触をもった／ストレスを感じさせないユーザ・インターフェース（ＳＦ−ＵＩ；Soft Feel/Stress Free User Interface）が実現される。【選択図】図４
2020134557.tif 000002
【特許請求の範囲】
【請求項１】
文字列を取得する文字列取得部と、
前記文字列取得部により取得された前記文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する変形量決定部と、
前記変形量決定部により決定された前記変形量を用いて、元のフォントを示すフォントデータに対する変形処理を文字毎に施すことで、変形後のフォント配列を示す文字データを生成する文字生成部と、
を備え、
前記変形量決定部は、前記文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、前記指定文字の変形量を逐次的に決定することを特徴とする文字データ生成装置。
【請求項２】
前記変形量決定部は、前記指定文字の特徴量、前記他の文字の特徴量及び変形量を入力とし、前記指定文字の変形量を出力とする学習器を含んで構成されることを特徴とする請求項１に記載の文字データ生成装置。
【請求項３】
前記学習器は、人間の筆記によるストロークを記述するインクデータから生成された教師データを用いて機械学習がなされることを特徴とする請求項２に記載の文字データ生成装置。
【請求項４】
前記変形量決定部は、前記文字列が示す言語の種類に応じた前記学習器を用いて、前記変形量を決定することを特徴とする請求項２又は３に記載の文字データ生成装置。
【請求項５】
前記変形量決定部は、前記文字列の書字方向に応じた前記学習器を用いて、前記変形量を決定することを特徴とする請求項２又は３に記載の文字データ生成装置。
【請求項６】
前記変形量決定部は、疑似１／ｆゆらぎ付与法を用いて、前記指定文字の直前にある文字の変形量から前記指定文字の変形量を決定することを特徴とする請求項１に記載の文字データ生成装置。
【請求項７】
前記疑似１／ｆゆらぎ付与法は、間欠カオス法であることを特徴とする請求項６に記載の文字データ生成装置。
【請求項８】
前記変形量決定部は、前記変形量として、２次元アフィン変換に関する少なくとも１つの変換パラメータを決定し、
前記文字生成部は、元のフォントに対して２次元アフィン変換を施すことで前記文字データを生成する
ことを特徴とする請求項１〜７のいずれか１項に記載の文字データ生成装置。
【請求項９】
文字列を取得する取得ステップと、
取得された前記文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する決定ステップと、
決定された前記変形量を用いて、元のフォントを示すフォントデータに対する変形処理を文字毎に施すことで、変形後のフォント配列を示す文字データを生成する生成ステップと、
を１つ又は複数のコンピュータが実行し、
前記決定ステップでは、前記文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、前記指定文字の変形量を逐次的に決定することを特徴とする文字データ生成方法。
【請求項１０】
文字列を取得する取得ステップと、
取得された前記文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する決定ステップと、
決定された前記変形量を用いて、元のフォントを示すフォントデータに対する変形処理を文字毎に施すことで、変形後のフォント配列を示す文字データを生成する生成ステップと、
を１つ又は複数のコンピュータに実行させ、
前記決定ステップでは、前記文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、前記指定文字の変形量を逐次的に決定することを特徴とする文字データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字データ生成装置、方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、乱数を用いて文字毎の角度をランダムに決定し、その角度分だけ回転又は傾斜させる変形処理を元のフォントデータに対して施すことで、表現のばらつきがある個性的な文字データを出力する装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−３０５１６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、回転角度又は傾斜角度を含む変形量が一様分布に従うように、文字毎の変形量をランダムに決定すると、フォントの変形に起因するノイズパワースペクトル（ＮＰＳ）が周波数によらず一定である、いわゆる「ホワイトノイズ」的な表現になってしまう。この場合、観察者は、出力された文字列を画像として視認する際に雑然さを覚える可能性がある。
【０００５】
本発明の目的は、文字毎のフォントをランダムに変形する場合と比べて、視認時の雑然さが抑制された文字データを生成可能な文字データ生成装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００６】
第１の本発明における文字データ生成装置は、文字列を取得する文字列取得部と、前記文字列取得部により取得された前記文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する変形量決定部と、前記変形量決定部により決定された前記変形量を用いて、元のフォントを示すフォントデータに対する変形処理を文字毎に施すことで、変形後のフォント配列を示す文字データを生成する文字生成部と、を備え、前記変形量決定部は、前記文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、前記指定文字の変形量を逐次的に決定する。
【０００７】
第２の本発明における文字データ生成方法は、文字列を取得する取得ステップと、取得された前記文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する決定ステップと、決定された前記変形量を用いて、元のフォントを示すフォントデータに対する変形処理を文字毎に施すことで、変形後のフォント配列を示す文字データを生成する生成ステップと、を１つ又は複数のコンピュータが実行し、前記決定ステップでは、前記文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、前記指定文字の変形量を逐次的に決定する。
【０００８】
第３の本発明における文字データ生成プログラムは、文字列を取得する取得ステップと、取得された前記文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する決定ステップと、決定された前記変形量を用いて、元のフォントを示すフォントデータに対する変形処理を文字毎に施すことで、変形後のフォント配列を示す文字データを生成する生成ステップと、を１つ又は複数のコンピュータに実行させ、前記決定ステップでは、前記文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、前記指定文字の変形量を逐次的に決定する。
【発明の効果】
【０００９】
本発明によれば、文字毎のフォントをランダムに変形する場合と比べて、視認時の雑然さが抑制された文字データを生成することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態における文字データ生成装置の電気的なブロック図である。
【図２】図１の文字データ生成装置の動作説明に供されるフローチャートである。
【図３】文字座標系の定義の一例を示す図である。
【図４】変形量の決定方法の一例を示す図である。
【図５】文字列画像の変化を模式的に示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明における文字データ生成装置について、文字データ生成方法及び文字データ生成プログラムとの関係において好適な実施形態を挙げ、添付の図面を参照しながら説明する。なお、この発明は、後述する実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。
【００１２】
＜文字データ生成装置１０の構成＞
図１は、本発明の一実施形態における文字データ生成装置１０の電気的なブロック図である。文字データ生成装置１０は、後述する文字データ３４を生成して出力するコンピュータであり、柔らかな感触をもった／ストレスを感じさせないユーザ・インターフェース（ＳＦ−ＵＩ；Soft Feel/Stress Free User Interface）を実現する装置である。この文字データ生成装置１０は、具体的には、通信部１２と、入力部１４と、表示部１６と、制御部１８と、記憶部２０とを含んで構成される。
【００１３】
通信部１２は、外部装置に対して電気信号を送受信するための通信インターフェースである。これにより、文字データ生成装置１０は、元のフォントを示すフォントデータを外部装置から受信可能であり、自身が生成した文字データ３４を外部装置に向けて送信可能である。
【００１４】
入力部１４は、マウス、キーボード、タッチセンサ、又はマイクロフォンを含んで構成される。表示部１６は、液晶ディスプレイ、ＯＬＥＤ（Organic Electro-Luminescence Display）を含む表示装置から構成される。入力部１４による入力機能及び表示部１６による表示機能を組み合わせることで、グラフィカル・ユーザ・インターフェース（ＧＵＩ）を構築可能である。
【００１５】
制御部１８は、ＣＰＵ（Central Processing Unit）又はＧＰＵ（Graphics Processing Unit）のプロセッサによって構成されている。制御部１８は、記憶部２０に格納されたプログラムを読み出し実行することで、文字列取得部２２、変形量決定部２４、文字生成部２６、及び出力処理部２８の各機能を遂行可能である。
【００１６】
記憶部２０は、制御部１８が各構成要素を制御するのに必要なプログラム及びデータを記憶している。記憶部２０は、非一過性であり、かつ、コンピュータ読み取り可能な記憶媒体で構成されている。ここで、コンピュータ読み取り可能な記憶媒体は、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、フラッシュメモリ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。
【００１７】
なお、記憶部２０には、文字のフォントに関するデータベース（以下、フォントＤＢ３０）が構築されると共に、入力データ３２、文字データ３４、及び複数のパラメータセット３６が格納されている。
【００１８】
＜文字データ生成装置１０の動作＞
この実施形態における文字データ生成装置１０は、以上のように構成される。続いて、文字データ生成装置１０の動作（ここでは、文字データ３４の生成及び出力）について、図２のフローチャート及び図３〜図５を参照しながら説明する。
【００１９】
図２のステップＳ１において、文字列取得部２２は、文字列を含む入力データ３２を記憶部２０から読み出すことで、対象である文字列を取得する。この入力データ３２は、入力部１４からのユーザの入力操作を通じて得られたデータであってもよいし、外部装置から供給されたデータであってもよい。
【００２０】
ステップＳ２において、制御部１８は、ステップＳ１で取得された文字列の種類に応じて、変形量の決定アルゴリズムを選択する。ここで、「変形量」とは、フォントの変形度合いを示す量であり、具体例として、２次元アフィン変換における変換パラメータ（θ，γ１，γ２，ｓ１，ｓ２）が挙げられる。なお、θは回転角度、γ１はＸ軸方向の拡縮率、γ２はＹ軸方向の拡縮率、ｓ１はＸ軸方向のシフト量、ｓ２はＹ軸方向のシフト量にそれぞれ相当する。
【００２１】
図３は、文字座標系の定義の一例を示す図である。すべてのフォントを正方形状の画像領域４０内で表現する場合、この画像領域４０に対応する二次元座標系（つまり、文字座標系；Ｘ−Ｙ）を定義する。この文字座標系の原点Ｏは画像領域４０の中心に、Ｘ軸は横方向、Ｙ軸は縦方向にそれぞれ相当する。Ｘ軸，Ｙ軸のスケールは、画像領域４０をなす４つの頂点の座標が（−１，−１），（１，−１），（−１，１），（１，１）となるように正規化されている。なお、１つの文章内で複数種別の文字が混在する場合を考慮し、文字の種別毎に画像領域４０のサイズ（一辺の長さ）を異ならせてもよい。
【００２２】
この文字座標系において、２次元アフィン変換後の座標（Ｘ’，Ｙ’）は、変換前の座標（Ｘ，Ｙ）及び変換パラメータ（θ，γ１，γ２，ｓ１，ｓ２）を用いて、次の（１）式及び（２）式で与えられる。
Ｘ’＝  γ１・Ｘｃｏｓθ＋γ２・Ｙｓｉｎθ＋ｓ１  ・・・（１）
Ｙ’＝−γ１・Ｘｓｉｎθ＋γ２・Ｙｃｏｓθ＋ｓ２  ・・・（２）
【００２３】
ところで、上記した変形量をランダムに決定すると、フォントの変形に起因するノイズパワースペクトルが周波数によらず一定である、いわゆる「ホワイトノイズ」的な表現になってしまう。この場合、観察者は、出力された文字列を画像として視認する際に雑然さを覚える可能性がある。そこで、変形量の決定アルゴリズムとして、視認時の雑然さを抑制可能な手法を選択することが望ましい。その一例として、人間が心地よさを感じる「１／ｆゆらぎ」を発現する疑似１／ｆゆらぎ付与法や、人間の筆記傾向を学習した人工知能（ＡＩ）を用いた推論法等が挙げられる。
【００２４】
図２のステップＳ３において、制御部１８は、未指定であって文字列の先頭に最も近い１つの文字（以下、「指定文字」という）を指定する。このステップＳ３を初めて実行する場合、指定文字は、文字列の先頭の文字である。
【００２５】
ステップＳ４において、変形量決定部２４は、ステップＳ３で指定された指定文字よりも配列順が前である他の文字（１つ又複数の文字）の変形量を用いて、この指定文字の変形量を決定する。以下、この決定方法について、図４を参照しながら詳細に説明する。
【００２６】
図４（ａ）は、間欠カオス法を用いた変形量の決定方法を示す図である。グラフの横軸は（ｉ−１）番目の決定量Ｐ（ｉ−１）を示すとともに、グラフの縦軸はｉ番目の決定量Ｐ（ｉ）を示す。ここで、決定量Ｐは、［０，１］の範囲で正規化された変形量に相当する。例えば、変換パラメータｓ１（Ｘ軸方向のシフト量）がとり得る範囲を（−０．２≦ｓ１≦０．２）と定めた場合、Ｐ＝０の値がｓ１＝−０．２（範囲の下限値）に、Ｐ＝１の値がｓ１＝０．２（範囲の上限値）にそれぞれ対応する。
【００２７】
変形量決定部２４は、この不連続的な写像に基づいて、（ｉ−１）番目の文字の変形量からｉ番目の変形量を逐次的に決定する。これにより、フォントの変形に起因するノイズパワースペクトルが周波数に対して反比例する「１／ｆゆらぎ」が発現する。１つの指定文字に対して複数の変形量を決定する場合、変形量決定部２４は、カオスを発生可能な写像関数を用いて、それぞれの変形量を独立して決定してもよい。なお、疑似１／ｆゆらぎ付与法は、上記した間欠カオス法に限られず、例えば、セルラーオートマトン、１／２階積分法を含む様々な手法を採用してもよい。
【００２８】
図４（ｂ）は、学習器３８を用いた変形量の決定方法を示す図である。この学習器３８は、ｉ番目の文字の特徴量、（ｉ−１）番目の文字の特徴量及び変形量を入力し、ｉ番目の変形量を出力する。本図の例では、学習器３８は、（ｉ−１）番目の文字情報のみを入力可能であるが、さらに前の文字を含む複数の文字情報を同時に入力可能に構成されてもよい。
【００２９】
文字の変形量は、上記した変換パラメータ（θ，γ１，γ２，ｓ１，ｓ２）のうち少なくとも１つのパラメータである。また、文字の特徴量の具体例として、［１］文字全体の特徴量（重心の座標、ストローク数、ストロークの分布を含む）、［２］ストローク毎の特徴量（始点の座標、終点の座標、長さ、曲率を含む）、［３］文字の種別（平仮名・片仮名・漢字・句読点・記号を含む）等が挙げられる。
【００３０】
一例として、文字の特徴量に「文字の種別」を含む学習器３８を学習させることで、複数の種別が混在する１つの文章内で文字サイズの大小を使い分けてもよい。具体的には、日本語の文章中で、漢字の直後にある平仮名のサイズ（拡縮率γ１，γ２）を小さくすることで、文章全体の見栄えを良くすることができる。
【００３１】
学習器３８の演算規則は、学習パラメータの集合体であるパラメータセット３６の値によって定められる。パラメータセット３６は、例えば、ユニットの活性化関数を記述する係数、ユニット間の結合強度を含む「可変パラメータ」と、学習モデルのアーキテクチャを特定するための「固定パラメータ」（いわゆるハイパーパラメータ）から構成される。ハイパーパラメータの例として、各層を構成するユニットの個数、中間層の数が挙げられる。
【００３２】
パラメータセット３６を決定するための機械学習の手法は、深層学習を含むニューラルネットワークの他に、ロジスティック回帰モデル、サポートベクターマシン（ＳＶＭ）、ディシジョンツリー、ランダムフォレスト、ブースティング法を含む様々な手法を採用してもよい。
【００３３】
また、機械学習のための教師データは、人間の筆記によるストロークを記述するインクデータから生成されてもよい。このインクデータの形式（すなわち、インク記述言語）は、ＷＩＬＬ（Wacom Ink Layer Language）、ＩｎｋＭＬ（Ink Markup Language）又はＩＳＦ（Ink Serialized Format）のいずれであってもよい。
【００３４】
特に、パラメータセット３６は、文字列が示す言語の種類（例えば、日本語・英語・中国語）毎に、あるいは文字列の書字方向（つまり、縦書き／横書き）毎に準備されてもよい。なぜならば、言語の種類又は書字方向に応じて人間による筆記の傾向が異なるからである。
【００３５】
図２のステップＳ５において、制御部１８は、文字列を構成するすべての文字を指定したか否かを確認する。未指定の文字が少なくとも１つある場合（ステップＳ５：ＮＯ）、ステップＳ３に戻って、以下、ステップＳ３〜Ｓ５を順次繰り返す。一方、すべての文字が指定済みである場合（ステップＳ５：ＹＥＳ）、次のステップＳ６に進む。
【００３６】
ステップＳ６において、文字生成部２６は、ステップＳ４で逐次的に決定された変形量を用いて、変形後のフォント配列を示す文字データ３４を生成する。具体的には、文字生成部２６は、文字列を構成する文字毎に、フォントＤＢ３０からフォントデータを読み出した後、このフォントデータに対して変形処理を施し、得られた文字画像を所定の位置に配置する画像処理を行う。例えば、ラスタ形式のフォントデータを用いる場合、文字生成部２６は、画像データを構成する画素毎に２次元アフィン変換を行う。
【００３７】
一方、ベクトル形式のフォントデータを用いる場合、文字生成部２６は、ストロークの形状を示す特徴点グループに対して２次元アフィン変換を行った後、変換後の特徴点グループに基づいてラスタライズ処理を行う。このラスタライズ処理を行う際に、１つの文字を構成するストローク、あるいは１本のストローク上の位置に応じて線幅を変化させてもよい。これにより、フォントの部分的な潰れ、欠損、断線、かすれ等を演出可能となり、人間の筆記により近い表現を行うことができる。
【００３８】
ステップＳ７において、出力処理部２８は、ステップＳ６で生成された文字データ３４を出力する出力処理を行う。この出力処理は、文字データ３４を外部装置に送信する処理であってもよいし、表示部１６に可視情報を表示させる処理であってもよい。
【００３９】
図５は、文字列画像４２，４４の変化を模式的に示す図である。より詳しくは、図５（ａ）は変形前の文字列画像４２を示すとともに、図５（ｂ）は変形後の文字列画像４４を示している。両図から理解されるように、観察者は、変形前の文字列画像４２に対して機械的・無機質的な印象を受ける一方、変形後の文字列画像４４に対して人間的・有機質的な印象を受ける。
【００４０】
以上のようにして、文字データ生成装置１０の動作が終了する。フォントの変形処理を通じて、「人間らしさ」を訴求した文字が具現化される。その結果、柔らかな感触をもったストレスを感じさせないＵＩ（つまり、ＳＦ−ＵＩ）を実現することができる。
【００４１】
＜文字データ生成装置１０による効果＞
以上のように、文字データ生成装置１０は、文字列を取得する文字列取得部２２と、取得された文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する変形量決定部２４と、決定された変形量を用いて、元のフォントを示すフォントデータに対する変形処理を施すことで、変形後のフォント配列を示す文字データ３４を生成する文字生成部２６と、を備える。そして、変形量決定部２４は、文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、指定文字の変形量を逐次的に決定する。
【００４２】
また、文字データ生成装置１０を用いた方法及びプログラムによれば、１つ又は複数のコンピュータが、文字列を取得する取得ステップ（Ｓ１）と、取得された文字列を構成する文字毎にフォントの変形度合いを示す変形量を決定する決定ステップ（Ｓ４）と、決定された変形量を用いて、元のフォントを示すフォントデータに対する変形処理を施すことで、変形後のフォント配列を示す文字データ３４を生成する生成ステップ（Ｓ６）と、を実行する。そして、決定ステップ（Ｓ４）では、文字列において指定された指定文字よりも配列順が前である他の文字の変形量を用いて、指定文字の変形量を逐次的に決定する。
【００４３】
このように、配列順が前である他の文字の変形量を用いて指定文字の変形量を逐次的に決定するので、既に筆記された文字の変形度合いを視認しながら次の文字の筆記バランスを取ろうとする人間の筆記パターンを模擬可能となり、文字毎のフォントをランダムに変形する場合と比べて、視認時の雑然さが抑制された文字データ３４を生成することができる。
【００４４】
また、変形量決定部２４は、指定文字の特徴量、他の文字の特徴量及び変形量を入力とし、指定文字の変形量を出力とする学習器３８を含んで構成されてもよい。特に、学習器３８は、人間の筆記によるストロークを記述するインクデータから生成された教師データを用いて機械学習がなされることが好ましい。これにより、機械学習を通じて人間の潜在的な筆記パターンを抽出可能となり、「人間らしさ」が文字の変形量に適切に反映されやすくなる。
【００４５】
また、変形量決定部２４は、文字列が示す言語の種類に応じた学習器３８を用いて、変形量を決定してもよい。これと併せて又はこれとは別に、変形量決定部２４は、文字列の書字方向に応じた学習器３８を用いて、変形量を決定してもよい。言語の種類又は書字方向に応じて筆記の傾向が異なる点を考慮することで、人間らしさがさらに反映されやすくなる。
【００４６】
また、変形量決定部２４は、疑似１／ｆゆらぎ付与法を用いて、指定文字の直前にある文字の変形量から指定文字の変形量を決定してもよい。これにより、人間が心地よさを感じる「１／ｆゆらぎ」を擬似的に発現することができる。
【００４７】
また、変形量決定部２４は、変形量として、２次元アフィン変換に関する少なくとも１つの変換パラメータを決定し、文字生成部２６は、元のフォントに対して２次元アフィン変換を施すことで文字データ３４を生成してもよい。これにより、簡単な線形演算によって、文字の識別性を保ちながら文字の調子を変化させることができる。
【符号の説明】
【００４８】
１０  文字データ生成装置、１２  通信部、１４  入力部、１６  表示部、１８  制御部、２０  記憶部、２２  文字列取得部、２４  変形量決定部、２６  文字生成部、２８  出力処理部、３０  フォントＤＢ、３２  入力データ、３４  文字データ、３６  パラメータセット、３８  学習器、４０  画像領域、４２，４４  文字列画像。
【図１】
2020134557.tif 000003
【図２】
2020134557.tif 000004
【図３】
2020134557.tif 000005
【図４】
2020134557.tif 000006
【図５】
2020134557.tif 000007