IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

<>
  • 特許-情報処理装置、及び制御方法 図1
  • 特許-情報処理装置、及び制御方法 図2
  • 特許-情報処理装置、及び制御方法 図3
  • 特許-情報処理装置、及び制御方法 図4
  • 特許-情報処理装置、及び制御方法 図5
  • 特許-情報処理装置、及び制御方法 図6
  • 特許-情報処理装置、及び制御方法 図7
  • 特許-情報処理装置、及び制御方法 図8
  • 特許-情報処理装置、及び制御方法 図9
  • 特許-情報処理装置、及び制御方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-09-27
(45)【発行日】2024-10-07
(54)【発明の名称】情報処理装置、及び制御方法
(51)【国際特許分類】
   G06F 3/04883 20220101AFI20240930BHJP
   G06F 3/041 20060101ALI20240930BHJP
【FI】
G06F3/04883
G06F3/041 600
G06F3/041 595
【請求項の数】 9
(21)【出願番号】P 2023075081
(22)【出願日】2023-04-28
【審査請求日】2023-04-28
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】野村 良太
(72)【発明者】
【氏名】ヴ トラン ミン クオン
【審査官】相川 俊
(56)【参考文献】
【文献】中国特許出願公開第101639942(CN,A)
【文献】特開2003-157070(JP,A)
【文献】米国特許第05796867(US,A)
【文献】特表2014-508992(JP,A)
【文献】中国特許出願公開第103488339(CN,A)
【文献】中国特許出願公開第110968246(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/04883
G06F 3/041
(57)【特許請求の範囲】
【請求項1】
第1の機械学習結果を用いて、漢字の文字を構成する基本パターンである文字要素を複合した合文字要素であって、予め選定された所定数の複合文字要素のうちから、入力された手書きストロークに該当する前記複合文字要素を特定して分類する第1分類処理部と、
前記手書きストロークを、前記手書きストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、
前記第1の機械学習結果とは異なる第2の機械学習結果を用いて、前記所定数よりも多い複数の前記文字要素のうちから、前記部分ストロークに該当する前記文字要素を特定して分類する第2分類処理部と、
前記手書きストロークが前記角の部分を含むか否かに応じて、前記第1分類処理部による第1分類処理と、前記第2分類処理部による第2分類処理とを切り替えて実行させる分類制御部と、
分類された前記複合文字要素又は前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記手書きストロークの形状を調整し、当該形状を調整した前記手書きストロークを表示部に表示するレンダリング処理部と
を備える情報処理装置。
【請求項2】
前記分類制御部は、
前記手書きストロークが前記角の部分を含む場合に、前記第1分類処理部に、前記第1の機械学習結果を用いた前記第1分類処理を実行させ、
前記手書きストロークが前記角の部分を含まない場合に、前記第2分類処理部に、前記第2の機械学習結果を用いた前記第2分類処理を実行させる
請求項1に記載の情報処理装置。
【請求項3】
前記分類制御部は、
前記第1分類処理部に、前記第1の機械学習結果を用いた前記第1分類処理を実行させた結果、前記第1分類処理の確信度が閾値未満である場合に、前記第2分類処理部に、前記第2の機械学習結果を用いた前記第2分類処理を実行させ、
前記レンダリング処理部は、前記第2分類処理を実行した場合に、前記第2分類処理により分類された前記文字要素に対応する前記ブラシ情報及び前記筆圧特性に基づいて、前記手書きストロークの形状を調整し、当該形状を調整した前記手書きストロークを前記表示部に表示する
請求項2に記載の情報処理装置。
【請求項4】
前記分類制御部は、
前記第1分類処理を実行させた結果、前記手書きストロークに含まれる前記角の部分の数と、分類された前記複合文字要素に含まれる前記角の部分の数とが一致しない場合に、前記第2分類処理部に、前記第2の機械学習結果を用いた前記第2分類処理を実行させる
請求項3に記載の情報処理装置。
【請求項5】
前記第1の機械学習結果は、予め選定された所定数の前記複合文字要素のそれぞれと、対応する前記手書きストロークとを対応付けた学習データに、学習処理を実行して生成された分類モデルであり、
前記第2の機械学習結果は、予め選定された前記部分ストローク用の前記文字要素と、対応する前記部分ストロークとを対応付けた学習データに、学習処理を実行して生成された分類モデルである
請求項1に記載の情報処理装置。
【請求項6】
前記文字要素又は前記複合文字要素と、当該文字要素又は当該複合文字要素におけるストローク位置と筆圧との関係を示す圧力カーブとを対応づけて記憶する筆圧特性記憶部を備え、
前記レンダリング処理部は、前記筆圧特性記憶部から、分類された前記文字要素又は前記複合文字要素に対応する前記圧力カーブを取得し、取得した前記圧力カーブに基づいて、前記手書きストロークの太さを調整する
請求項1に記載の情報処理装置。
【請求項7】
前記文字要素又は前記複合文字要素と、使用するブラシのサイズ、アスペクト比、及び角度とを含む前記ブラシ情報とを対応付けて記憶するブラシ情報記憶部を備え、
前記レンダリング処理部は、前記ブラシ情報記憶部から、分類された前記文字要素又は前記複合文字要素に対応する前記ブラシ情報を取得し、取得した前記ブラシ情報に基づいて、前記手書きストロークの形状を調整する
請求項1に記載の情報処理装置。
【請求項8】
前記表示部と、
前記表示部の画面上の検出面における操作媒体の接触及び接触位置を検出するタッチセンサ部と、
前記タッチセンサ部が検出した前記操作媒体の接触位置に基づいて、前記手書きストロークの入力を検出する入力処理部と
を備え、
前記入力処理部は、前記手書きストロークの入力を検出するとともに、前記操作媒体の接触位置の移動軌跡を、入力された前記手書きストロークとして、前記表示部に表示し、
前記レンダリング処理部は、前記入力された前記手書きストロークに置き換えて、形状を調整した前記手書きストロークを表示部に表示する
請求項1から請求項7のいずれか一項に記載の情報処理装置。
【請求項9】
第1の機械学習結果を用いて、漢字の文字を構成する基本パターンである文字要素を複合した合文字要素であって、予め選定された所定数の複合文字要素のうちから、入力された手書きストロークに該当する前記複合文字要素を特定して分類する第1分類処理部と、前記手書きストロークを、前記手書きストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、前記第1の機械学習結果とは異なる第2の機械学習結果を用いて、前記所定数よりも多い複数の前記文字要素のうちから、前記部分ストロークに該当する前記文字要素を特定して分類する第2分類処理部と、を備える情報処理装置の制御方法であって、
分類制御部が、前記手書きストロークが前記角の部分を含むか否かに応じて、前記第1分類処理部による第1分類処理と、前記第2分類処理部による第2分類処理とを切り替えて実行させるステップと、
レンダリング処理部が、前記第1分類処理又は前記第2分類処理により分類された前記複合文字要素又は前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記手書きストロークの形状を調整し、当該形状を調整した前記手書きストロークを表示部に表示するステップと
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及び制御方法に関する。
【背景技術】
【0002】
近年、タブレット端末などの情報処理装置において、手書き文字入力が可能なものが普及している(例えば、特許文献1を参照)。このような従来の情報処理装置では、手書き入力した文字を認識し、所定のフォントに変換する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2021-43851号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した従来の情報処理装置では、手書き入力した文字を、所定のフォントに変換することで、きれいな文字を表示することが可能である。しかしながら、従来の情報処理装置では、文字を所定のフォントに置き換えることで、利用者の筆跡が消失するとともに、手書きによる自由な文字の縦横比や大きなどの手書きの自由度が失われて、手書きの良さが消失する問題があった。一方で、従来の情報処理装置では、ペンで描いた文字を、ペンの筆圧などをもとに描画インクのレンダリング太さを調整し、表示することも可能である。しかし、そのような場合に、特に漢字のような複雑な文字でしばしば必要となる、トメ・ハネ・ハライのような、繊細なインク太さの調整が必要な描画は、紙に比べて表面が固く、滑りやすいタブレット端末では、非常に困難であった。すなわち、従来の情報処理装置では、手書きの良さを維持しつつ、きれいな文字を表示することが困難であった。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、手書き入力において、手書きの良さを維持しつつ、きれいな文字、特に漢字を表示することができる情報処理装置、及び制御方法を提供することにある。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明の一態様は、第1の機械学習結果を用いて、漢字の文字を構成する基本パターンである文字要素を複合した合文字要素であって、予め選定された所定数の複合文字要素のうちから、入力された手書きストロークに該当する前記複合文字要素を特定して分類する第1分類処理部と、前記手書きストロークを、前記手書きストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、前記第1の機械学習結果とは異なる第2の機械学習結果を用いて、前記所定数よりも多い複数の前記文字要素のうちから、前記部分ストロークに該当する前記文字要素を特定して分類する第2分類処理部と、前記手書きストロークが前記角の部分を含むか否かに応じて、前記第1分類処理部による第1分類処理と、前記第2分類処理部による第2分類処理とを切り替えて実行させる分類制御部と、分類された前記複合文字要素又は前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記手書きストロークの形状を調整し、当該形状を調整した前記手書きストロークを表示部に表示するレンダリング処理部とを備える情報処理装置である。
【0007】
また、本発明の一態様は、上記の情報処理装置において、前記分類制御部は、前記手書きストロークが前記角の部分を含む場合に、前記第1分類処理部に、前記第1の機械学習結果を用いた前記第1分類処理を実行させ、前記手書きストロークが前記角の部分を含まない場合に、前記第2分類処理部に、前記第2の機械学習結果を用いた前記第2分類処理を実行させてもよい。
【0008】
また、本発明の一態様は、上記の情報処理装置において、前記分類制御部は、前記第1分類処理部に、前記第1の機械学習結果を用いた前記第1分類処理を実行させた結果、前記第1分類処理の確信度が閾値未満である場合に、前記第2分類処理部に、前記第2の機械学習結果を用いた前記第2分類処理を実行させ、前記レンダリング処理部は、前記第2分類処理を実行した場合に、前記第2分類処理により分類された前記文字要素に対応する前記ブラシ情報及び前記筆圧特性に基づいて、前記手書きストロークの形状を調整し、当該形状を調整した前記手書きストロークを前記表示部に表示してもよい。
【0009】
また、本発明の一態様は、上記の情報処理装置において、前記分類制御部は、前記第1分類処理を実行させた結果、前記手書きストロークに含まれる前記角の部分の数と、分類された前記複合文字要素に含まれる前記角の部分の数とが一致しない場合に、前記第2分類処理部に、前記第2の機械学習結果を用いた前記第2分類処理を実行させてもよい。
【0010】
また、本発明の一態様は、上記の情報処理装置において、前記第1の機械学習結果は、予め選定された所定数の前記複合文字要素のそれぞれと、対応する前記手書きストロークとを対応付けた学習データに、学習処理を実行して生成された分類モデルであり、前記第2の機械学習結果は、予め選定された前記部分ストローク用の前記文字要素と、対応する前記部分ストロークとを対応付けた学習データに、学習処理を実行して生成された分類モデルであってもよい。
【0011】
また、本発明の一態様は、上記の情報処理装置において、前記文字要素又は前記複合文字要素と、当該文字要素又は当該複合文字要素におけるストローク位置と筆圧との関係を示す圧力カーブとを対応づけて記憶する筆圧特性記憶部を備え、前記レンダリング処理部は、前記筆圧特性記憶部から、分類された前記文字要素又は前記複合文字要素に対応する前記圧力カーブを取得し、取得した前記圧力カーブに基づいて、前記手書きストロークの太さを調整してもよい。
【0012】
また、本発明の一態様は、上記の情報処理装置において、前記文字要素又は前記複合文字要素と、使用するブラシのサイズ、アスペクト比、及び角度とを含む前記ブラシ情報とを対応付けて記憶するブラシ情報記憶部を備え、前記レンダリング処理部は、前記ブラシ情報記憶部から、分類された前記文字要素又は前記複合文字要素に対応する前記ブラシ情報を取得し、取得した前記ブラシ情報に基づいて、前記手書きストロークの形状を調整してもよい。
【0013】
また、本発明の一態様は、上記の情報処理装置において、前記表示部と、前記表示部の画面上の検出面における操作媒体の接触及び接触位置を検出するタッチセンサ部と、
前記タッチセンサ部が検出した前記操作媒体の接触位置に基づいて、前記手書きストロークの入力を検出する入力処理部とを備え、前記入力処理部は、前記手書きストロークの入力を検出するとともに、前記操作媒体の接触位置の移動軌跡を、入力された前記手書きストロークとして、前記表示部に表示し、前記レンダリング処理部は、前記入力された前記手書きストロークに置き換えて、形状を調整した前記手書きストロークを表示部に表示してもよい。
【0014】
また、本発明の一態様は、第1の機械学習結果を用いて、漢字の文字を構成する基本パターンである文字要素を複合した合文字要素であって、予め選定された所定数の複合文字要素のうちから、入力された手書きストロークに該当する前記複合文字要素を特定して分類する第1分類処理部と、前記手書きストロークを、前記手書きストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、前記第1の機械学習結果とは異なる第2の機械学習結果を用いて、前記所定数よりも多い複数の前記文字要素のうちから、前記部分ストロークに該当する前記文字要素を特定して分類する第2分類処理部と、を備える情報処理装置の制御方法であって、分類制御部が、前記手書きストロークが前記角の部分を含むか否かに応じて、前記第1分類処理部による第1分類処理と、前記第2分類処理部による第2分類処理とを切り替えて実行させるステップと、レンダリング処理部が、前記第1分類処理又は前記第2分類処理により分類された前記複合文字要素又は前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記手書きストロークの形状を調整し、当該形状を調整した前記手書きストロークを表示部に表示するステップとを含む制御方法である。
【発明の効果】
【0015】
本発明の上記態様によれば、手書き入力において、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【図面の簡単な説明】
【0016】
図1】本実施形態によるタブレット端末及び情報処理システムの一例を示す外観図である。
図2】本実施形態によるタブレット端末及び情報処理システムの主要なハードウェア構成の一例を示す図である。
図3】本実施形態によるタブレット端末及び情報処理システムの機能構成の一例を示すブロック図である。
図4】本実施形態におけるブラシ情報記憶部のデータ例を示す図である。
図5】本実施形態における文字要素の一例を示す図である。
図6】本実施形態における筆圧特性記憶部のデータ例を示す図である。
図7】本実施形態におけるタブレット端末の手書き入力処理の概要を示す図である。
図8】本実施形態におけるタブレット端末の手書き入力処理の一例を示すフローチャートである。
図9】本実施形態におけるタブレット端末の学習処理の一例を示す第1のフローチャートである。
図10】本実施形態におけるタブレット端末の学習処理の一例を示す第2のフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態による情報処理装置、及び制御方法について、図面を参照して説明する。
【0018】
図1は、本実施形態によるタブレット端末1及び情報処理システム100の一例を示す外観図である。
図1に示すように、情報処理システム100は、タブレット端末1と、ペン30とを備える。なお、本実施形態において、情報処理装置の一例として、タブレット端末1について説明する。
【0019】
タブレット端末1は、筐体CS1の片方の主面に、タッチスクリーン20が設置されており、ペン30を用いて、例えば、メモ帳、描画などのアプリケーションプログラムを実行させる。タブレット端末1は、ペン30を用いて、手書き入力が可能である。なお、ペン30は、手書き入力の際に、様々なタイプのブラシ(筆)を設定可能である。
【0020】
タッチスクリーン20は、表示部21と、タッチセンサ部22とを備え、表示部21は、表示画面DFに各種情報を表示する。
タッチセンサ部22は、表示部21に重ねて配置されており、ペン30が、表示部21の表示画面DFに接触することを検出するとともに、ペン30の接触位置を検出する。
なお、タッチスクリーン20、表示部21、及びタッチセンサ部22の詳細については、後述する。
【0021】
次に、図2を参照して、タブレット端末1及び情報処理システム100の主要なハードウェア構成について説明する。
図2は、本実施形態によるタブレット端末1及び情報処理システム100の主要なハードウェア構成の一例を示す図である。
【0022】
図2に示すように、情報処理システム100は、タブレット端末1とペン30とを備える。また、タブレット端末1は、プロセッサ11と、メインメモリ12と、フラッシュメモリ13と、タッチスクリーン20と、周辺デバイス23と、オーディオシステム24と、マイク25と、スピーカ26と、ベースバンドチップ27と、無線部28と、無線通信部29とを備える。
【0023】
プロセッサ11は、例えば、CPU(Central Processing Unit)を含むアプリケーションプロセッサである。プロセッサ11は、タブレット端末1の全体を制御する。
【0024】
メインメモリ12は、プロセッサ11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS(Operating System:オペレーティングシステム)、周辺機器類をハードウェア操作するための各種デバイスドライバ、各種サービス/ユーティリティ、アプリケーションプログラム(アプリケーションソフトウェア)、等が含まれる。
【0025】
フラッシュメモリ13は、例えば、フラッシュEEPROM(Electrically Erasable Programmable Read Only Memory)であり、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム(以下、アプリケーションということがある)、及び各種データを記憶する。
【0026】
表示部21は、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイであり、プロセッサ11から出力された描画データ(表示データ)に基づく表示画面を表示する。表示部21は、例えば、ペン30の移動軌跡(描画軌跡)を表示可能である。
【0027】
タッチセンサ部22は、表示部21の画面上(表示画面DF上)におけるペン30などの操作媒体の位置と、ペン30の画面上への接触を検出する。タッチセンサ部22は、表示部21の画面上におけるペン30の接触位置を検出する。
【0028】
周辺デバイス23は、例えば、WLAN(Wireless Local Area Network)モジュール、GPS(Global Positioning System)モジュール、及び加速度センサなどのセンサ類、等である。
【0029】
オーディオシステム24は、例えば、オーディオIC(Integrated Circuit)であり、音データの入力、記録、再生、出力を行う。オーディオシステム24には、例えば、マイク25と、スピーカ26とが接続されている。オーディオシステム24は、例えば、マイク25が収音した音データを、プロセッサ11又はベースバンドチップ27に出力する。また、オーディオシステム24は、例えば、プロセッサ11又はベースバンドチップ27から取得した音データを音信号に変換して、スピーカ26に出力する。
【0030】
マイク25は、タブレット端末1の周辺の音を収音する。マイク25は、例えば、他の端末と音声融和する際に、利用者の音声等の音を収音する。
スピーカ26は、タブレット端末1の外部に、各種音を出力する。スピーカ26は、例えば、他の端末と音声融和する際に、他の端末から受信した音を出力(放音)する。
【0031】
ベースバンドチップ27は、例えば、4G(第4世代移動通信システム)や5G(第4世代移動通信システム)などの無線通信を制御する専用ICである。ベースバンドチップ27は、例えば、無線部28を用いて受信した音声データを、オーディオシステム24を介して、スピーカ26に出力させる。また、ベースバンドチップ27は、例えば、マイク25から収音した音データを、オーディオシステム24を介して取得し、無線部28を用いて、移動通信システムにより出力させる。また、ベースバンドチップ27は、移動通信システムによるデータ通信の入出力データを、プロセッサ11との間でデータ通信する。
【0032】
無線部28は、移動通信システムによる無線通信を行うための、アンテナを含む無線通信デバイスである。
無線通信部29は、例えば、Bluetooth(登録商標)モジュールであり、ペン30との間で無線通信を行う。無線通信部29は、例えば、ペン30が検出したセンサ情報(接触圧力やペン30の角度、等)を、ペン30から受信する。
【0033】
ペン30は、ペン形状の操作媒体であり、例えば、タッチペン、スタイラスペンなどである。ペン30は、例えば、Bluetooth(登録商標)などの無線通信により、タブレット端末1と通信可能である。ペン30は、無線通信部31と、センサ部32と、メモリ33と、MCU34とを備える。
【0034】
無線通信部31は、例えば、Bluetooth(登録商標)モジュールであり、タブレット端末1とペン30との間で無線通信を行う。無線通信部31は、例えば、センサ部32が検出したセンサ情報、等をタブレット端末1に送信する。
センサ部32は、ペン30の接触圧力(筆圧)、ペン30の角度、等のセンサ情報を検出する。
【0035】
メモリ33は、例えば、RAMなどで構成され、ペン30の制御プログラムの一部やMCU34の処理データを記憶する。なお、メモリ33は、RAMの他に、フラッシュメモリやROMなどを含んでいてもよい。
【0036】
MCU(Micro Controller Unit)34は、CPU、ROMやRAMなどのメモリ、I/O関連などを備え、ペン30を統括的に制御する。MCU34は、無線通信部31を介したタブレット端末1との間でデータ通信を制御する。MCU34は、例えば、センサ部32が検出したセンサ情報を、無線通信部31を介して、タブレット端末1に送信する。
【0037】
次に、図3を参照して、本実施形態による情報処理システム100の機能構成について説明する。
図3は、本実施形態によるタブレット端末1及び情報処理システム100の機能構成の一例を示すブロック図である。
【0038】
図3に示すように、情報処理システム100は、タブレット端末1とペン30とを備え、タブレット端末1は、制御部10と、タッチスクリーン20と、記憶部40とを備える。
【0039】
タッチスクリーン20は、表示部21と、タッチセンサ部22とを備える。
タッチセンサ部22は、表示部21の画面上の検出面における操作媒体(ペン30)の接触及び接触位置を検出する。タッチセンサ部22は、例えば、ペン入力として、表示部21の画面上におけるペン30の接触位置を検出する。タッチセンサ部22は、ペン30の接触位置として、例えば、表示部21の表示画面DF上の2次元座標を示す接触位置情報を検出する。タッチセンサ部22は、接触位置情報を制御部10に出力する。
【0040】
記憶部40は、例えば、メインメモリ12又はフラッシュメモリ13により実現される記憶部であり、ブラシ情報記憶部41と、筆圧特性記憶部42と、CCE分類情報記憶部43と、SCE分類情報記憶部44と、手書きストローク記憶部45と、部分ストローク記憶部46と、学習データ記憶部47とを備える。
【0041】
ブラシ情報記憶部41は、例えば、メインメモリ12により実現される記憶部であり、漢字の文字を分割した基本部品(漢字の文字を構成する基本パターン)である文字要素(CE:Character Element)に対応するブラシ情報を記憶する。ここで、図4を参照して、ブラシ情報記憶部41のデータ例について説明する。なお、文字要素には、角の部分がない単純な文字要素であり、1つの文字要素(CE)で構成されるシンプル文字要素(SCE:Simple Character Element)と、角の部分を含む複雑な形状であり、複数の文字要素(CE)を含む複合文字要素(CCE:Complex Character Element)とが含まれる。
【0042】
図4は、本実施形態におけるブラシ情報記憶部41のデータ例を示す図である。
図4に示すように、ブラシ情報記憶部41は、CEID(文字要素ID)と、ブラシサイズと、アスペクト比と、標準ブラシ角と、標準ストローク角度とを対応付けて記憶する。
【0043】
CEIDは、文字要素を識別する文字要素識別情報である。また、ブラシサイズは、ブラシの大きさを示している。また、アスペクト比は、ブラシの縦横比であり横:縦の比を示している。また、標準ブラシ角は、当該文字要素の標準(基準)のブラシ角度を示し、標準ストローク角度は、当該文字要素のストロークの標準(基準)の角度を示している。
【0044】
例えば、図4に示す例では、CEIDが“SCE001”の文字要素のブラシサイズが、“R1”であり、アスペクト比が“XX1:YY1”であることを示している。また、当該文字要素の標準ブラシ角が、“α1”であり、標準ストローク角度が“β1”であることを示している。なお、“SCE001”は、シンプル文字要素である。
【0045】
また、例えば、CEIDが“CCE001”の文字要素のブラシサイズが、“R2”であり、アスペクト比が“XX2:YY2”であることを示している。また、当該文字要素の標準ブラシ角が、“α2”であり、標準ストローク角度が“β2”であることを示している。なお、“CCE001”は、複合文字要素である。
【0046】
ここで、図5を参照して、文字要素について説明する。
図5は、本実施形態における文字要素の一例を示す図である。図5では、漢字の「永」という文字を構成する文字要素について説明する。
【0047】
図5に示すように、漢字の「永」という文字は、文字要素CE1~文字要素CE8に分解される。文字要素CE1~文字要素CE8には、トメ、ハネ、ハライ、等が含まれており、文字要素CE1~文字要素CE8のそれぞれは、上述した図4に示すように、対応するブラシ情報が定義される。なお、文字要素CE1~文字要素CE8は、シンプル文字要素である。シンプル文字要素は、単純なパターンでバリエーションが比較的少ないため、機械学習による分類モデルの生成は容易であるが、認識率(ヒット率)が低い傾向にある。
【0048】
また、漢字の「永」において、複数のシンプル文字要素を組み合わせた複合文字要素は、図5に示すような複合文字要素CCE1、及び複合文字要素CCE2、等である。複合文字要素は、複雑なパターンでバリエーションが多いため、機械学習による全てのバリエーションに対する分類モデルを生成することは、困難であるが、認識率(ヒット率)が高い傾向にある。
【0049】
本実施形態では、複合文字要素CCE1及び複合文字要素CCE2のような、予め選定された所定数の複合文字要素を定義し、定義した文字要素ごとに、レンダリング(描画)することで、漢字の文字の手書き入力において、きれいな文字の描画を実現する。
また、本実施形態では、複合文字要素で対応できない部分に対して、様々な漢字文字から決定した、上述した文字要素CE1~文字要素CE8を含む複数のシンプル文字要素を定義し、定義したシンプル文字要素ごとに、レンダリング(描画)することで、漢字の文字の手書き入力において、きれいな文字を実現する。
なお、ここでの「きれいな文字」とは、例えば、好みのフォントに似たレンダリングがされた文字のことである。
【0050】
図3の説明に戻り、筆圧特性記憶部42は、例えば、メインメモリ12により実現される記憶部であり、文字要素(シンプル文字要素又は複合文字要素)におけるストローク位置と筆圧との関係を示す圧力カーブ(筆圧特性)を記憶する。筆圧特性記憶部42は、例えば、文字要素の識別情報と、筆圧特性とを対応付けて記憶する。ここで、図6を参照して、筆圧特性記憶部42のデータ例について説明する。
【0051】
図6は、本実施形態における筆圧特性記憶部42のデータ例を示す図である。
図6に示すように、筆圧特性記憶部42は、CEIDと、筆圧特性とを対応付けて記憶する。
【0052】
例えば、図6に示す例では、CEIDが“SCE001”に対応する筆圧特性は、波形W1のような圧力カーブであることを示している。なお、波形W1を示すグラフの横軸は、ストローク位置を示し、縦軸は、筆圧(圧力)を示している。圧力カーブにおいて、筆圧が高い程、レンダリングの際のストロークの線が太くなり、筆圧が低い程、レンダリングの際のストロークの線が細くなることを示している。
【0053】
CEIDが“SCE001”に対応する筆圧特性(波形W1)では、ストローク位置が進むにしたがってストロークの線が太くなり、最後に急激に細くなる文字要素(図5に示す文字要素CE1)を示している。
【0054】
また、例えば、CEIDが“SCE002”に対応する筆圧特性は、波形W2のような圧力カーブであることを示している。CEIDが“SCE002”に対応する筆圧特性(波形W2)では、ストローク位置が進むにしたがってストロークの線が一旦細くなった後に、再び太くなる文字要素(図5に示す文字要素CE2)を示している。
【0055】
再び、図3の説明に戻り、CCE分類情報記憶部43は、例えば、メインメモリ12により実現される記憶部であり、複合文字要素を分類するための情報を記憶する。CCE分類情報記憶部43は、例えば、機械学習により生成された学習済みモデルであり、後述する手書きストロークを、予め選定された所定数の複合文字要素のうちのいずれかに分類するためのCCE分類モデルを記憶する。CCE分類情報記憶部43は、モデル記憶部の一例である。
【0056】
SCE分類情報記憶部44は、例えば、メインメモリ12により実現される記憶部であり、シンプル文字要素を分類するための情報を記憶する。SCE分類情報記憶部44は、例えば、機械学習により生成された学習済みモデルであり、後述する部分ストロークを、複合文字要素の所定数より多い複数のシンプル文字要素のうちのいずれかに分類するためのSCE分類モデルを記憶する。SCE分類情報記憶部44は、モデル記憶部の一例である。
【0057】
手書きストローク記憶部45は、例えば、メインメモリ12により実現される記憶部であり、ペン30を用いてタッチセンサ部22により検出された手書きストロークデータを記憶する。手書きストローク記憶部45は、例えば、漢字文字を手書き入力する際のタッチセンサ部22による時系列の検出点の集合データを、手書きストロークとして記憶する。
【0058】
部分ストローク記憶部46は、例えば、メインメモリ12により実現される記憶部であり、手書きストロークから生成された部分ストロークのデータを記憶する。部分ストロークの詳細については後述する。
【0059】
学習データ記憶部47は、例えば、メインメモリ12により実現される記憶部であり、上述した分類モデル(CCE分類モデル、及びSCE分類モデル)を生成するための学習データを記憶する。学習データ記憶部47は、SCE分類モデルを生成する場合に、予め指定した文字を利用者が手書きした文字の部分ストロークと、シンプル文字要素とを対応付けた学習データを記憶する。また、学習データ記憶部47は、CCE分類モデルを生成する場合に、予め指定した文字を利用者が手書きした文字の手書きストロークと、複合文字要素とを対応付けた学習データを記憶する。
【0060】
制御部10は、例えば、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部であり、OS(例えば、Android(登録商標)など)に基づく各種処理を実行する。制御部10は、入力処理部101と、CCE分類処理部102と、分割処理部103と、SCE分類処理部104と、分類制御部105と、レンダリング処理部106と、表示処理部107と、学習処理部108とを備える。
【0061】
入力処理部101は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。入力処理部101は、例えば、タッチセンサ部22による入力を制御するデバイスドライバであり、タッチセンサ部22の入力によって、表示部21の画面上(表示画面DF上)におけるペン30の位置や接触を検出する。
なお、入力処理部101は、例えば、ペン30から、接触圧力(筆圧)やペン30の角度情報を取得してもよい。
【0062】
入力処理部101は、タッチセンサ部22が検出した操作媒体(例えば、ペン30)の接触位置に基づいて、手書きストロークの入力を検出する。すなわち、入力処理部101は、検出したペン30の接触位置情報(位置座標)を、手書きストロークとして、手書きストローク記憶部45に記憶させる。
【0063】
なお、手書きストローク、或いは、単に、ストロークとは、ペン30の接触(タッチ)からペン30の接触が離れる(アップ)までのペン先の軌跡の検出点の集合データを示し、当該ペン先の軌跡を表示部21の画面上(表示画面DF上)に表示したものを含めてもよい。
【0064】
また、入力処理部101は、手書きストロークの入力を検出するとともに、操作媒体の接触位置の移動軌跡を、入力された手書きストロークとして、表示部21に表示する。入力処理部は、後述する表示処理部107を介して、入力された手書きストロークを表示部21に表示させる。
【0065】
CCE分類処理部102(第1分類処理部の一例)は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。CCE分類処理部102は、CCE分類モデル(第1の機械学習結果)を用いて、漢字の文字を構成する基本パターンである文字要素を複合した複合文字要素であって、予め選定された所定数の複合文字要素のうちから、入力された手書きストロークに該当する複合文字要素を特定して分類する。
【0066】
ここで、CCE分類モデルは、予め選定された所定数の複合文字要素のそれぞれと、対応する手書きストロークとを対応付けた学習データに、学習処理を実行して生成された分類モデルである。
CCE分類処理部102は、CCE分類情報記憶部43が記憶するCCE分類モデルを用いて、手書きストロークを、複合文字要素に分類する。
【0067】
具体的に、図7のステップS11に示すように、CCE分類処理部102は、CCE分類モデルMD1を用いて、例えば、手書きストロークST1を、複合文字要素CCE1に分類する。
【0068】
分割処理部103は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。分割処理部103は、利用者によって入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分割処理部103は、入力処理部101によって手書きストローク記憶部45に記憶された手書きストロークを部分ストロークに分割する。
【0069】
具体的に、図7のステップS12に示すように、分割処理部103は、2つの角を持つ手書きストロークST1を、角の部分で分割し、部分ストロークSS1、部分ストロークSS2、及び部分ストロークSS3を生成する。
分割処理部103は、分割した部分ストロークを、部分ストローク記憶部46に記憶させる。
【0070】
SCE分類処理部104(第2分類処理部の一例)は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。SCE分類処理部104は、分割処理部103が分割した部分ストロークを、漢字の文字を構成する基本パターンである複数のシンプル文字要素のうちのいずれかに分類する。
【0071】
すなわち、SCE分類処理部104は、CCE分類モデルとは異なるSCE分類モデル(第2の機械学習結果)を用いて、複合文字要素の所定数よりも多い複数の文字要素(シンプル文字要素)のうちから、部分ストロークに該当するシンプル文字要素を特定して分類する。
【0072】
ここで、SCE分類モデルは、予め選定された部分ストローク用の文字要素と、対応する部分ストロークとを対応付けた学習データに、学習処理を実行して生成された分類モデルである。
SCE分類処理部104は、SCE分類情報記憶部44が記憶するSCE分類モデルを用いて、部分ストロークを、シンプル文字要素に分類する。
【0073】
具体的に、図7のステップS13に示すように、SCE分類処理部104は、SCE分類モデルMD2を用いて、例えば、部分ストロークSS1を、文字要素CE2に分類し、部分ストロークSS2を、文字要素CE3に分類する。また、SCE分類処理部104は、SCE分類モデルMD2を用いて、例えば、部分ストロークSS3を、文字要素CE4に分類する。
【0074】
分類制御部105は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。分類制御部105は、手書きストロークが角の部分を含むか否かに応じて、CCE分類処理部102によるCCE分類処理(第1分類処理)と、SCE分類処理部104によるSCE分類処理(第2分類処理)とを切り替えて実行させる。
【0075】
分類制御部105は、例えば、手書きストロークが角の部分を含む場合に、CCE分類処理部102に、CCE分類モデルを用いたCCE分類処理を実行させる、また、分類制御部105は、例えば、手書きストロークが角の部分を含まない場合に、SCE分類処理部104に、SCE分類モデルを用いたSCE分類処理を実行させる。
【0076】
また、分類制御部105は、例えば、CCE分類処理部102に、CCE分類モデルを用いたCCE分類処理を実行させた結果、CCE分類処理の確信度が閾値未満である場合に、SCE分類処理部104に、SCE分類モデルを用いたSCE分類処理を実行させる。
【0077】
また、さらに、分類制御部105は、CCE分類処理を実行させた結果、手書きストロークに含まれる角の部分の数と、分類された複合文字要素に含まれる角の部分の数とが一致しない場合に、SCE分類処理部104に、SCE分類モデルを用いたSCE分類処理を実行させる。
【0078】
また、分類制御部105は、CCE分類処理の確信度が閾値以上、且つ、手書きストロークに含まれる角の部分の数と、分類された複合文字要素に含まれる角の部分の数とが一致する場合に、レンダリング処理部106に、分類した複合文字要素を用いた手書きストロークの調整を実行させて、手書きストロークを表示部21に表示させる。
【0079】
また、分類制御部105は、SCE分類処理を実行させた結果、SCE分類処理の確信度が閾値未満である場合に、レンダリング処理部106に、文字要素を用いない一般的な手法で、手書きストロークを表示部21に表示させる。
【0080】
また、分類制御部105は、SCE分類処理の確信度が閾値以上である場合に、レンダリング処理部106に、分類したシンプル文字要素を用いた手書きストロークの調整を実行させて、手書きストロークを表示部21に表示させる。
【0081】
レンダリング処理部106は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。レンダリング処理部106は、CCE分類処理部102又はSCE分類処理部104が分類した文字要素(複合文字要素又はシンプル文字要素)に対応するブラシ情報及び筆圧特性に基づいて、部分ストロークの形状を調整して、手書きストロークを表示部21に表示する。
【0082】
レンダリング処理部106は、例えば、筆圧特性記憶部42から、分類された文字要素(シンプル文字要素)又は複合文字要素に対応する圧力カーブを取得し、取得した圧力カーブに基づいて、手書きストロークの太さを調整する。
また、レンダリング処理部106は、例えば、ブラシ情報記憶部41から、分類された文字要素(シンプル文字要素)又は複合文字要素に対応するブラシ情報を取得し、取得したブラシ情報に基づいて、手書きストロークの形状を調整する。
【0083】
なお、レンダリング処理部106は、SCE分類処理を実行した場合に、SCE分類処理により分類された文字要素(シンプル文字要素)に対応するブラシ情報及び筆圧特性に基づいて、手書きストロークの形状を調整し、当該形状を調整した手書きストロークを表示部21に表示する。
【0084】
レンダリング処理部106は、SCE分類処理によりシンプル文字要素が正常に分類された場合に、ブラシの角度、及び線の太さを調整した部分ストロークを再結合して、調整された手書きストロークを生成する。
また、レンダリング処理部106は、調整された手書きストロークを、後述する表示処理部107を介して、表示部21に表示させる。
【0085】
具体的に、図7のステップS14に示すように、レンダリング処理部106は、シンプル文字要素が正常に分類された場合に、部分ストロークSS1、部分ストロークSS2、及び部分ストロークSS3を調整し、再結合してレンダリング後の手書きストロークCST1を生成する。また、レンダリング処理部106は、複合文字要素が正常に分類された場合に、手書きストロークST1を調整し、レンダリング後の手書きストロークCST1を生成する。
レンダリング処理部106は、入力された手書きストロークに置き換えて、形状を調整した手書きストロークを表示部21に表示する。
【0086】
表示処理部107は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。表示処理部107は、タッチセンサ部22が検出したペン30の接触位置に基づいて、ペン30が画面上に接触して移動した画面上の移動軌跡を、表示部21に表示させる。
【0087】
また、表示処理部107は、入力された手書きストロークを一旦、表示部21に表示させた後に、入力された手書きストロークに置き換えて、形状を調整した手書きストロークを表示部21に表示させる。
【0088】
学習処理部108は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。学習処理部108は、学習データ記憶部47が記憶する学習データに学習処理を実行して、分類モデルを生成する。
【0089】
ここで、学習データには、SCE分類モデルを生成する学習データと、CCE分類モデルを生成する学習データとが含まれる。
SCE分類モデルを生成する学習データは、予め指定した文字を利用者が手書きした文字の部分ストロークと、シンプル文字要素とを対応付けたもので、シンプル文字要素を含む複数の文字を、複数回手書き入力された手書きストロークに基づいて生成されている。
【0090】
この場合、学習処理部108は、学習データ記憶部47が記憶する当該学習データに学習処理を実行して、SCE分類モデルを生成する。学習処理部108は、生成したSCE分類モデル(第2の機械学習結果)をSCE分類情報記憶部44に記憶させる。
【0091】
また、CCE分類モデルを生成する学習データは、予め指定した文字を利用者が手書きした文字の手書きストロークと、複合文字要素とを対応付けたもので、複合文字要素を含む複数の文字を、複数回手書き入力させて生成されている。
【0092】
この場合、学習処理部108は、学習データ記憶部47が記憶する当該学習データに学習処理を実行して、CCE分類モデルを生成する。学習処理部108は、生成したCCE分類モデル(第1の機械学習結果)をCCE分類情報記憶部43に記憶させる。
【0093】
次に、図面を参照して、本実施形態によるタブレット端末1の動作について説明する。
図7は、本実施形態におけるタブレット端末1の手書き入力処理の概要を示す図である。
【0094】
図7に示すように、タブレット端末1は、まず、CCE分類モデルMD1を用いて、入力された手書きストロークを、複合文字要素に分類する(ステップS11)。タブレット端末1のCCE分類処理部102は、CCE分類情報記憶部43が記憶するCCE分類モデルMD1を用いて、手書きストロークを、複合文字要素に分類するCCE分類処理を実行する。
【0095】
タブレット端末1は、CCE分類処理部102は、CCE分類処理により、手書きストロークを、複合文字要素に正常に分類できた場合に、処理をステップS14に進めて、分類した複合文字要素に基づく手書きストロークの形状の調整を行って、表示部21に表示する。
【0096】
また、タブレット端末1は、CCE分類処理により、手書きストロークを、複合文字要素に正常に分類できなかった場合に、処理をステップS12に進めて、手書きストロークを角の部分で分割して、部分ストロークを生成する。タブレット端末1の分割処理部103は、手書きストロークを分割して、部分ストロークを生成する。
【0097】
次に、タブレット端末1は、SCE分類モデルMD2を用いて、分割した部分ストロークを、シンプル文字要素に分類する(ステップS13)。タブレット端末1のSCE分類処理部104は、SCE分類情報記憶部44が記憶するSCE分類モデルMD2を用いて、部分ストロークを、シンプル文字要素に分類するSCE分類処理を実行する。
【0098】
タブレット端末1は、SCE分類処理により、部分ストロークを、シンプル文字要素に分類した場合に、処理をステップS14に進めて、分類したシンプル文字要素に基づく手書きストロークの形状の調整を行って、表示部21に表示する。
【0099】
次に、図8を参照して、図7に示すタブレット端末1の手書き入力処理の詳細な処理について説明する。
図8は、本実施形態におけるタブレット端末1の手書き入力処理の一例を示すフローチャートである。
【0100】
図8に示すように、タブレット端末1は、まず、手書きストロークを検出したか否かを判定する(ステップS101)。タブレット端末1の入力処理部101は、タッチセンサ部22により、手書きストロークを検出したか否かを判定する。入力処理部101は、手書きストロークを検出した場合(ステップS101:YES)に、処理をステップS102に進める。また、入力処理部101は、手書きストロークを検出していない場合(ステップS101:NO)に、処理をステップS101に戻す。
【0101】
ステップS102において、入力処理部101は、手書きストロークを一旦、表示部21に表示する。このときに使用するレンダリングは、従来の筆圧に応じた太さ、又は筆圧に関係なく一様の太さなどで行われる。すなわち、入力処理部101は、表示処理部107を介して、検出した手書きストロークを表示部21に表示させる。なお、入力処理部101は、手書きストロークを手書きストローク記憶部45に記憶させる。
【0102】
次に、入力処理部101は、ペン30が表示部21の画面から離れたか否かを判定する(ステップS103)。すなわち、入力処理部101は、一筆書きの手書きストロークの入力が終了したか否かを判定する。入力処理部101は、ペン30が表示部21の画面から離れた(手書きストロークの入力が終了した)場合(ステップS103:YES)に、処理をステップS104に進める。また、入力処理部101は、ペン30が表示部21の画面から離れていない(手書きストロークの入力が終了していない)場合(ステップS103:NO)に、処理をステップS102に戻す。
【0103】
ステップS104において、タブレット端末1の分類制御部105は、手書きストロークが角の部分を含むか否かを判定する。分類制御部105は、手書きストロークが角の部分を含む場合(ステップS104:YES)に、処理をステップS105に進める。また、分類制御部105は、手書きストロークが角の部分を含まない場合(ステップS104:NO)に、処理をステップS109に進める。
【0104】
ステップS105において、タブレット端末1のCCE分類処理部102は、手書きストロークをCCE分類モデルにより、対応する複合文字要素に分類する。CCE分類処理部102は、CCE分類情報記憶部43が記憶するCCE分類モデルを用いて、手書きストロークを、複合文字要素に分類するCCE分類処理を実行する(図7のステップS11を参照)。
【0105】
次に、分類制御部105は、CCE分類処理の確信度(Confidence Level)が閾値以上であるか否かを判定する(ステップS106)。分類制御部105は、CCE分類処理の確信度が閾値以上である場合(ステップS106:YES)に、処理をステップS107に進める。また、分類制御部105は、CCE分類処理の確信度が閾値未満である場合(ステップS106:NO)に、処理をステップS109に進める。
【0106】
ステップS107において、分類制御部105は、手書きストロークの角の部分の数と、分類した複合文字要素の角の部分の数とが一致するか否かを判定する。分類制御部105は、手書きストロークの角の部分の数と、分類した複合文字要素の角の部分の数とが一致する場合(ステップS107:YES)に、処理をステップS108に進める。また、分類制御部105は、手書きストロークの角の部分の数と、分類した複合文字要素の角の部分の数とが一致しない場合(ステップS107:NO)に、処理をステップS109に進める。
【0107】
ステップS108において、タブレット端末1のレンダリング処理部106は、分類した複合文字要素又は文字要素(シンプル文字要素)に対応したブラシ情報及び筆圧特性に基づいて手書きストロークの形状を調整して、表示部21に表示する。レンダリング処理部106は、表示処理部107を介して、形状を調整した手書きストロークを表示部21に表示させる。ステップS108の処理後に、レンダリング処理部106は、処理をステップS101に戻す。
【0108】
また、ステップS109において、タブレット端末1の分割処理部103は、手書きストロークを角の部分で分割して、部分ストロークを生成する。分割処理部103は、例えば、図7に示すステップS12のように、手書きストロークを分割して、部分ストロークを生成する。分割処理部103は、生成した部分ストロークを、部分ストローク記憶部46に記憶させる。
【0109】
次に、タブレット端末1のSCE分類処理部104は、部分ストロークを、SCE分類モデルにより、対応する文字要素(シンプル文字要素)に分類する(ステップS110)。SCE分類処理部104は、部分ストローク記憶部46が記憶する部分ストロークを、SCE分類情報記憶部44が記憶するSCE分類モデルを用いて、シンプル文字要素に分類する(図7のステップS13を参照)。
【0110】
次に、分類制御部105は、SCE分類処理の確信度が閾値以上であるか否かを判定する(ステップS111)。分類制御部105は、SCE分類処理の確信度が閾値以上である場合(ステップS111:YES)に、処理をステップS108に進める。また、分類制御部105は、SCE分類処理の確信度が閾値未満である場合(ステップS111:NO)に、処理をステップS112に進める。
【0111】
ステップS112において、レンダリング処理部106は、手書きストロークを一般的な描画処理により、表示部21に表示する。レンダリング処理部106は、例えば、ペン30から取得した接触圧力(筆圧)及びペン30の角度に応じて、手書きストロークの太さを調整して、表示部21に表示するようにしてもよい。ステップS12の処理後に、レンダリング処理部106は、処理をステップS101に戻す。
【0112】
なお、上述した図8に示す例では、ステップS106及びステップS107の判定処理を行う例を説明したが、ステップS106及びステップS107のどちらか一方の判定処理を省略してもよい。
【0113】
次に、図9及び図10を参照して、タブレット端末1の学習処理について説明する。
図9は、本実施形態におけるタブレット端末1の学習処理の一例を示す第1のフローチャートである。図9では、CCE分類モデルの学習処理について説明する。
【0114】
図9に示すように、タブレット端末1の学習処理部108は、特定の文字の手書きストロークを複数回、複数ユーザ分取得する(ステップS201)。学習処理部108は、入力処理部101を介して、特定の文字の手書きストロークを複数回、複数ユーザ分取得する。なお、特定の文字は、予め定められた所定数の複合文字要素を学習可能な複数の文字が望ましい。
【0115】
次に、学習処理部108は、各手書きストロークと、対応する複合文字要素をラベリングして学習データとする(ステップS202)。学習処理部108は、手書きストロークと複合文字要素のラベリングとを対応付けた学習データを、学習データ記憶部47に記憶させる。
【0116】
次に、学習処理部108は、学習データを用いて、機械学習し、手書きストロークから複合文字要素を分類するCCE分類モデルを生成する(ステップS203)。学習処理部108は、学習データ記憶部47が記憶する上述した学習データを用いて、機械学習処理を実行し、第1の機械学習結果として、CCE分類モデルを生成する。
【0117】
次に、学習処理部108は、第1の機械学習結果であるCCE分類モデルを、CCE分類情報記憶部43に記憶させる(ステップS204)。ステップS204の処理後に、学習処理部108は、学習処理を終了する。
【0118】
また、図10は、本実施形態におけるタブレット端末1の学習処理の一例を示す第2のフローチャートである。図10では、SCE分類モデルの学習処理について説明する。
【0119】
図10に示すように、タブレット端末1の学習処理部108は、特定の文字の手書きストロークを複数回、複数ユーザ分取得する(ステップS301)。学習処理部108は、入力処理部101を介して、特定の文字の手書きストロークを複数回、複数ユーザ分取得する。なお、特定の文字は、予め定められた複数のシンプル文字要素を学習可能な複数の文字が望ましい。
【0120】
次に、学習処理部108は、各手書きストロークを分割して部分ストロークを生成し、対応するシンプル文字要素をラベリングして学習データとする(ステップS302)。学習処理部108は、部分ストロークとシンプル文字要素のラベリングとを対応付けた学習データを、学習データ記憶部47に記憶させる。
【0121】
次に、学習処理部108は、学習データをも用いて、機械学習し、部分ストロークからシンプル文字要素を分類するSCE分類モデルを生成する(ステップS303)。学習処理部108は、学習データ記憶部47が記憶する学習データを用いて、機械学習処理を実行し、第2の機械学習結果として、SCE分類モデルを生成する。
【0122】
次に、学習処理部108は、第2の機械学習結果であるSCE分類モデルを、SCE分類情報記憶部44に記憶させる(ステップS304)。ステップS304の処理後に、学習処理部108は、学習処理を終了する。
【0123】
以上説明したように、本実施形態によるタブレット端末1(情報処理装置)は、CCE分類処理部102(第1分類処理部)と、分割処理部103と、SCE分類処理部104(第2分類処理部)と、分類制御部105と、レンダリング処理部106とを備える。CCE分類処理部102は、CCE分類モデル(第1の機械学習結果)を用いて、漢字の文字を構成する基本パターンである文字要素を複合した複合文字要素であって、予め選定された所定数の複合文字要素のうちから、入力された手書きストロークに該当する複合文字要素を特定して分類する。分割処理部103は、手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。SCE分類処理部104(第2分類処理部)は、CCE分類モデルとは異なるSCE分類モデル(第2の機械学習結果)を用いて、所定数よりも多い複数の文字要素のうちから、部分ストロークに該当する文字要素(例えば、シンプル文字要素)を特定して分類する。分類制御部105は、手書きストロークが角の部分を含むか否かに応じて、CCE分類処理部102によるCCE分類処理(第1分類処理)と、SCE分類処理部104によるSCE分類処理(第2分類処理)とを切り替えて実行させる。レンダリング処理部106は、分類された複合文字要素又は文字要素(例えば、シンプル文字要素)に対応するブラシ情報及び筆圧特性に基づいて、手書きストロークの形状を調整し、当該形状を調整した手書きストロークを表示部21に表示する。
【0124】
これにより、本実施形態によるタブレット端末1は、手書きストローク又は部分ストロークを、複合文字要素又は文字要素(シンプル文字要素)に分類し、複合文字要素又は文字要素(シンプル文字要素)に対応するブラシ情報及び筆圧特性に基づいて、手書きストロークの形状を調整するため、手書き入力において、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0125】
なお、本実施形態によるタブレット端末1では、手書きストロークをベースに、複合文字要素又は文字要素(シンプル文字要素)に対応して手書きストロークの形状を調整するため、手書きストロークの大きさや位置を維持したままきれいな文字を表示することができる。本実施形態によるタブレット端末1は、単純に、所定のフォントに置き換える従来技術とは異なり、利用者の筆跡が消失することはなく、手書きによる自由な文字の縦横比や大きなどの手書きの自由度が失われることがない。
【0126】
また、本実施形態のような文字要素を用いる方式は、複合文字要素又はシンプル文字要素への分類処理を如何に正確に実行できるかに、きれいな文字(漢字の文字)を表示品質が依存する。複合文字要素は、高精度に分類し易いが、バリエーションが多く、全ての複合文字要素を分類するための分類モデルを生成することは困難である。また、シンプル文字要素は、ほぼ全てのバリエーションを学習して、分類モデルを生成することができるが、分類精度が低い傾向がある。
【0127】
そのため、本実施形態によるタブレット端末1では、所定数に限定して、複合文字要素の分類モデル(CCE分類モデル)を生成し、複合文字要素の分類モデル(CCE分類モデル)と、シンプル文字要素の分類モデル(SCE分類モデル)とを、組み合わせて(切り替えて)使用することで、文字要素(複合文字要素又はシンプル文字要素)を高精度で分類することができる。これにより、本実施形態によるタブレット端末1は、文字要素(複合文字要素又はシンプル文字要素)を正確に実行できるため、よりきれいな文字(漢字の文字)を表示することができる。
【0128】
また、本実施形態では、分類制御部105は、手書きストロークが角の部分を含む場合に、CCE分類処理部102に、CCE分類モデルを用いたCCE分類処理を実行させる。また、分類制御部105は、手書きストロークが角の部分を含まない場合に、SCE分類処理部104に、SCE分類モデルを用いたSCE分類処理を実行させる。
【0129】
これにより、本実施形態によるタブレット端末1は、CCE分類モデルを用いたCCE分類処理と、SCE分類モデルを用いたSCE分類処理とを適切に切り替えて使用することができ、さらにきれいな文字(漢字の文字)を表示することができる。
【0130】
また、本実施形態では、分類制御部105は、CCE分類処理部102に、CCE分類モデルを用いたCCE分類処理を実行させた結果、CCE分類処理の確信度が閾値未満である場合に、SCE分類処理部104に、SCE分類モデルを用いたSCE分類処理を実行させる。レンダリング処理部106は、SCE分類処理を実行した場合に、SCE分類処理により分類された文字要素(シンプル文字要素)に対応するブラシ情報及び筆圧特性に基づいて、手書きストロークの形状を調整し、当該形状を調整した手書きストロークを表示部21に表示する。
【0131】
これにより、本実施形態によるタブレット端末1は、CCE分類処理による複合文字要素の分類が適切にできなかった場合に、SCE分類処理による文字要素(シンプル文字要素)の分類を用いて、手書きストロークの形状を適切に調整することができ、手書きの良さを維持しつつ、きれいな文字を表示することができる。
【0132】
また、本実施形態では、分類制御部105は、CCE分類処理を実行させた結果、手書きストロークに含まれる角の部分の数と、分類された複合文字要素に含まれる角の部分の数とが一致しない場合に、SCE分類処理部104に、SCE分類モデルを用いたSCE分類処理を実行させる。
【0133】
これにより、本実施形態によるタブレット端末1は、CCE分類処理による複合文字要素の分類が適切にできなかった場合に、SCE分類処理による文字要素(シンプル文字要素)の分類を用いて、手書きストロークの形状を適切に調整することができる。
【0134】
また、本実施形態では、CCE分類モデルは、予め選定された所定数の複合文字要素のそれぞれと、対応する手書きストロークとを対応付けた学習データに、学習処理を実行して生成された分類モデルである。SCE分類モデルは、予め選定された部分ストローク用の文字要素(シンプル文字要素)と、対応する部分ストロークとを対応付けた学習データに、学習処理を実行して生成された分類モデルである。
【0135】
これにより、本実施形態によるタブレット端末1は、現実的な計算量で、CCE分類モデルと、SCE分類モデルとを適切に生成することができ、CCE分類モデルと、SCE分類モデルとを切り替えて使用することで、文字要素の分類精度を向上させることができる。
【0136】
また、本実施形態によるタブレット端末1は、文字要素(シンプル文字要素)又は複合文字要素と、当該文字要素(シンプル文字要素)又は当該複合文字要素におけるストローク位置と筆圧との関係を示す圧力カーブとを対応づけて記憶する筆圧特性記憶部42を備える。レンダリング処理部106は、筆圧特性記憶部42から、分類された文字要素(シンプル文字要素)又は複合文字要素に対応する圧力カーブを取得し、取得した圧力カーブに基づいて、手書きストロークの太さを調整する。
【0137】
これにより、本実施形態によるタブレット端末1は、文字要素(シンプル文字要素)又は複合文字要素に対応する圧力カーブにより、ストローク位置に応じて手書きストロークの太さ(例えば、ストロークの途中での太さの変化)を適切に調整することができ、手書きの良さを維持しつつ、きれいな文字を表示することができる。
【0138】
また、本実施形態によるタブレット端末1は、文字要素(シンプル文字要素)又は複合文字要素と、使用するブラシのサイズ、アスペクト比、及び角度とを含むブラシ情報とを対応付けて記憶するブラシ情報記憶部41を備える。レンダリング処理部106は、ブラシ情報記憶部41から、分類された文字要素(シンプル文字要素)又は複合文字要素に対応するブラシ情報を取得し、取得したブラシ情報に基づいて、手書きストロークの形状を調整する。
【0139】
これにより、本実施形態によるタブレット端末1は、文字要素(シンプル文字要素)又は複合文字要素に対応するブラシ情報により、文字要素(シンプル文字要素)又は複合文字要素に応じて、ブラシを変更して、手書きストロークの形状(例えば、書き始めや終わりの角、トメ、ハネなどの形状)を適切に調整することができ、手書きの良さを維持しつつ、きれいな文字を表示することができる。
【0140】
また、本実施形態によるタブレット端末1は、表示部21と、タッチセンサ部22と、入力処理部101とを備える。タッチセンサ部22は、表示部21の画面上(表示画面DF上)の検出面における操作媒体(例えば、ペン30)の接触及び接触位置を検出する。入力処理部101は、タッチセンサ部22が検出した操作媒体(例えば、ペン30)の接触位置に基づいて、手書きストロークの入力を検出する。また、入力処理部101は、手書きストロークの入力を検出するとともに、操作媒体(例えば、ペン30)の接触位置の移動軌跡を、入力された手書きストロークとして、表示部21に表示する。レンダリング処理部106は、入力された手書きストロークに置き換えて、形状を調整した手書きストロークを表示部21に表示する。
【0141】
これにより、本実施形態によるタブレット端末1は、入力された手書きストロークを一旦、表示することで、表示を確認しながら手書き入力が可能になり、手書き入力し易くするとともに、調整した部分ストロークに基づく手書きストロークに置き換えることで、きれいな文字を表示することができる。
【0142】
また、本実施形態による制御方法は、CCE分類処理部102と、分割処理部103と、SCE分類処理部104と、を備えるタブレット端末1の制御方法であって、分類制御ステップと、レンダリング処理ステップとを含む。なお、CCE分類処理部102は、CCE分類モデルを用いて、漢字の文字を構成する基本パターンである文字要素(シンプル文字要素)を複合した複合文字要素であって、予め選定された所定数の複合文字要素のうちから、入力された手書きストロークに該当する複合文字要素を特定して分類する。分割処理部103は、手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。SCE分類処理部104は、CCE分類モデルとは異なるSCE分類モデルを用いて、所定数よりも多い複数の文字要素(シンプル文字要素)のうちから、部分ストロークに該当する文字要素(シンプル文字要素)を特定して分類する。分類制御ステップにおいて、分類制御部105が、手書きストロークが角の部分を含むか否かに応じて、CCE分類処理部102によるCCE分類処理と、SCE分類処理部104によるSCE分類処理とを切り替えて実行させる。レンダリング処理ステップにおいて、レンダリング処理部106が、分類された複合文字要素又は文字要素(シンプル文字要素)に対応するブラシ情報及び筆圧特性に基づいて、手書きストロークの形状を調整し、当該形状を調整した手書きストロークを表示部21に表示する。
【0143】
これにより、本実施形態による制御方法は、上述したタブレット端末1と同様の効果を奏し、手書き入力において、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0144】
なお、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の実施形態において、情報処理装置が、タブレット端末1である例を説明したが、これに限定されるものではない。情報処理装置は、例えば、スマートフォンやタブレットモードを備えるノートブック型パーソナルコンピュータなどであってもよい。
【0145】
また、上記の実施形態において、使用するOSの一例として、Android(登録商標)を用いる例を説明したが、これに限定されるものではなく、例えば、iOS(登録商標)などの他のOSに適用してもよい。
【0146】
また、上記の実施形態において、CCE分類処理部102、分割処理部103、SCE分類処理部104、分類制御部105、及びレンダリング処理部106の処理は、アプリケーションプログラムにより実現されてもよいし、一部をデバイスドライバなどにより実現されてもよい。
【0147】
また、情報処理装置が、ノートブック型パーソナルコンピュータである場合に、CCE分類処理部102、分割処理部103、SCE分類処理部104、分類制御部105、及びレンダリング処理部106の処理の一部を、エンベデットコントローラが行うようにしてもよい。
【0148】
また、上記の各実施形態において、タブレット端末1が、学習処理部108を備える例を説明したが、これに限定されるものではなく、例えば、タブレット端末1が学習処理部108を備えない形態であってもよい。この場合、例えば、タブレット端末1に接続可能なサーバ装置などの外部装置が、学習処理部108を備えてもよい。
【0149】
なお、上述したタブレット端末1が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したタブレット端末1が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したタブレット端末1が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0150】
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0151】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にタブレット端末1が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0152】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0153】
1 タブレット端末
10 制御部
11 プロセッサ
12 メインメモリ
13 フラッシュメモリ
20 タッチスクリーン
21 表示部
22 タッチセンサ部
23 周辺デバイス
24 オーディオシステム
25 マイク
26 スピーカ
27 ベースバンドチップ
28 無線部
29、31 無線通信部
30 ペン
32 センサ部
33 メモリ
34 MCU
40 記憶部
41 ブラシ情報記憶部
42 筆圧特性記憶部
43 CCE分類情報記憶部
44 SCE分類情報記憶部
45 手書きストローク記憶部
46 部分ストローク記憶部
47 学習データ記憶部
100 情報処理システム
101 入力処理部
102 CCE分類処理部
103 分割処理部
104 SCE分類処理部
105 分類制御部
106 レンダリング処理部
107 表示処理部
108 学習処理部
【要約】
【課題】手書き入力において、手書きの良さを維持しつつ、きれいな文字を表示する。
【解決手段】情報処理装置は、第1の機械学習結果を用いて、予め選定された所定数の複合文字要素のうちから、入力された手書きストロークに該当する複合文字要素を分類する第1分類処理部と、手書きストロークを角の部分で分割した部分ストロークを生成する分割処理部と、第2の機械学習結果を用いて、複数の部分ストロークに対応した文字要素のうちから、部分ストロークに該当する文字要素を分類する第2分類処理部と、手書きストロークが角の部分を含むか否かに応じて、第1分類処理部による第1分類処理と、第2分類処理部による第2分類処理とを切り替えて実行させる分類制御部と、複合文字要素又は文字要素に対応するブラシ情報及び筆圧特性に基づいて、手書きストロークの形状を調整し、表示部に表示するレンダリング処理部とを備える。
【選択図】図3
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10