(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024159227
(43)【公開日】2024-11-08
(54)【発明の名称】情報処理装置、及び制御方法
(51)【国際特許分類】
G06F 3/04883 20220101AFI20241031BHJP
G06F 3/041 20060101ALI20241031BHJP
【FI】
G06F3/04883
G06F3/041 595
G06F3/041 600
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023075078
(22)【出願日】2023-04-28
(11)【特許番号】
(45)【特許公報発行日】2024-10-07
(71)【出願人】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】野村 良太
(72)【発明者】
【氏名】阿邊 恭介
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA13
5E555BA02
5E555BB02
5E555BC19
5E555CA14
5E555CB10
5E555CB11
5E555CB21
5E555CB59
5E555DB56
5E555EA24
5E555FA00
(57)【要約】
【課題】手書き入力において、ストロークの角の部分の描画の不整合を低減し、手書きの良さを維持しつつ、きれいな文字を表示する。
【解決手段】情報処理装置は、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する分割処理部と、分割処理部が分割した前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する分類処理部と、前記分類処理部が分類した前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するレンダリング処理部とを備える。
【選択図】
図22
【特許請求の範囲】
【請求項1】
入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する分割処理部と、
前記分割処理部が分割した前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する分類処理部と、
前記分類処理部が分類した前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するレンダリング処理部と
を備える情報処理装置。
【請求項2】
前記レンダリング処理部は、前記角の部分前の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更する
請求項1に記載の情報処理装置。
【請求項3】
前記レンダリング処理部は、前記部分ストロークの描画方向を示す角度であるストローク角度であって、前記角の部分前の前記文字要素におけるストローク角度に基づいて、前記角の部分前の前記部分ストロークにおける前記ブラシの角度を決定し、決定した前記ブラシの角度に一致するように、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更する
請求項2に記載の情報処理装置。
【請求項4】
前記レンダリング処理部は、3つ以上の前記部分ストロークを連続して接続する場合に、最初の前記部分ストロークにおける前記ブラシの角度に一致するように、他の全ての前記部分ストロークにおける前記ブラシの角度を変更する
請求項1に記載の情報処理装置。
【請求項5】
前記レンダリング処理部は、前記角の部分前後の前記部分ストロークにおける前記ブラシの角度の平均値に合わせて、前記角の部分前後の前記部分ストロークにおける前記ブラシの角度を変更する
請求項1に記載の情報処理装置。
【請求項6】
前記レンダリング処理部は、前記角の部分後の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分前の前記部分ストロークにおける前記ブラシの角度を変更する
請求項1に記載の情報処理装置。
【請求項7】
前記表示部と、
前記表示部の画面上の検出面における操作媒体の接触及び接触位置を検出するタッチセンサ部と、
前記タッチセンサ部が検出した前記操作媒体の接触位置に基づいて、前記手書きストロークの入力を検出する入力処理部と
を備え、
前記分割処理部は、前記入力処理部が検出した前記手書きストロークを分割し、分割した前記部分ストロークを生成する
請求項1から請求項6のいずれか一項に記載の情報処理装置。
【請求項8】
前記入力処理部は、前記手書きストロークの入力を検出するとともに、前記操作媒体の接触位置の移動軌跡を、入力された前記手書きストロークとして、前記表示部に表示し、
前記レンダリング処理部は、前記入力された前記手書きストロークに置き換えて、調整した前記部分ストロークに基づく前記手書きストロークを表示部に表示する
請求項7に記載の情報処理装置。
【請求項9】
情報処理装置の制御方法であって、
分割処理部が、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成するステップと、
分類処理部が、前記分割処理部によって分割された前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類するステップと、
レンダリング処理部が、前記分類処理部によって分類された前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するステップと
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及び制御方法に関する。
【背景技術】
【0002】
近年、タブレット端末などの情報処理装置において、手書き文字入力が可能なものが普及している(例えば、特許文献1を参照)。このような従来の情報処理装置では、手書き入力した文字を認識し、所定のフォントに変換する技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した従来の情報処理装置では、手書き入力した文字を、所定のフォントに変換することで、きれいな文字を表示することが可能である。しかしながら、従来の情報処理装置では、文字を所定のフォントに置き換えることで、利用者の筆跡が消失するとともに、手書きによる自由な文字の縦横比や大きなどの手書きの自由度が失われて、手書きの良さが消失する問題があった。一方で、従来の情報処理装置では、ペンで描いた文字を、ペンの筆圧などをもとに描画インクのレンダリング太さを調整し、表示することも可能である。しかし、そのような場合に、特に漢字のような複雑な文字でしばしば必要となる、トメ・ハネ・ハライのような、繊細なインク太さの調整が必要な描画は、紙に比べて表面が固く、滑りやすいタブレット端末では、非常に困難であった。すなわち、従来の情報処理装置では、手書きの良さを維持しつつ、きれいな文字を表示することが困難であった。
【0005】
また、従来の情報処理装置では、例えば、ブラシ(筆)の角度が、ストロークの角の部分で不整合が生じて、きれいな文字を再現できない可能性があった。
【0006】
本発明は、上記問題を解決すべくなされたもので、その目的は、手書き入力において、ストロークの角の部分の描画の不整合を低減し、手書きの良さを維持しつつ、きれいな文字、特に漢字を表示することができる情報処理装置、及び制御方法を提供することにある。
【課題を解決するための手段】
【0007】
上記問題を解決するために、本発明の一態様は、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する分割処理部と、前記分割処理部が分割した前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する分類処理部と、前記分類処理部が分類した前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するレンダリング処理部とを備える情報処理装置である。
【0008】
また、本発明の一態様は、上記の情報処理装置において、前記レンダリング処理部は、前記角の部分前の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更してもよい。
【0009】
また、本発明の一態様は、上記の情報処理装置において、前記レンダリング処理部は、前記部分ストロークの描画方向を示す角度であるストローク角度であって、前記角の部分前の前記文字要素におけるストローク角度に基づいて、前記角の部分前の前記部分ストロークにおける前記ブラシの角度を決定し、決定した前記ブラシの角度に一致するように、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更すしてもよい。
【0010】
また、本発明の一態様は、上記の情報処理装置において、前記レンダリング処理部は、3つ以上の前記部分ストロークを連続して接続する場合に、最初の前記部分ストロークにおける前記ブラシの角度に一致するように、他の全ての前記部分ストロークにおける前記ブラシの角度を変更してもよい。
【0011】
また、本発明の一態様は、上記の情報処理装置において、前記レンダリング処理部は、前記角の部分前後の前記部分ストロークにおける前記ブラシの角度の平均値に合わせて、前記角の部分前後の前記部分ストロークにおける前記ブラシの角度を変更してもよい。
【0012】
また、本発明の一態様は、上記の情報処理装置において、前記レンダリング処理部は、前記角の部分後の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分前の前記部分ストロークにおける前記ブラシの角度を変更してもよい。
【0013】
また、本発明の一態様は、上記の情報処理装置において、前記表示部と、前記表示部の画面上の検出面における操作媒体の接触及び接触位置を検出するタッチセンサ部と、
前記タッチセンサ部が検出した前記操作媒体の接触位置に基づいて、前記手書きストロークの入力を検出する入力処理部とを備え、前記分割処理部は、前記入力処理部が検出した前記手書きストロークを分割し、分割した前記部分ストロークを生成してもよい。
【0014】
また、本発明の一態様は、上記の情報処理装置において、前記入力処理部は、前記手書きストロークの入力を検出するとともに、前記操作媒体の接触位置の移動軌跡を、入力された前記手書きストロークとして、前記表示部に表示し、前記レンダリング処理部は、前記入力された前記手書きストロークに置き換えて、調整した前記部分ストロークに基づく前記手書きストロークを表示部に表示してもよい。
【0015】
また、本発明の一態様は、情報処理装置の制御方法であって、分割処理部が、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成するステップと、分類処理部が、前記分割処理部によって分割された前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類するステップと、レンダリング処理部が、前記分類処理部によって分類された前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するステップとを含む制御方法である。
【発明の効果】
【0016】
本発明の上記態様によれば、手書き入力において、ストロークの角の部分の描画の不整合を低減し、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【図面の簡単な説明】
【0017】
【
図1】第1の実施形態によるタブレット端末及び情報処理システムの一例を示す外観図である。
【
図2】第1の実施形態によるタブレット端末及び情報処理システムの主要なハードウェア構成の一例を示す図である。
【
図3】第1の実施形態によるタブレット端末及び情報処理システムの機能構成の一例を示すブロック図である。
【
図4】第1の実施形態におけるブラシ情報記憶部のデータ例を示す図である。
【
図5】第1の実施形態における文字要素の一例を示す図である。
【
図6】第1の実施形態における筆圧特性記憶部のデータ例を示す図である。
【
図7】第1の実施形態におけるタブレット端末の手書き入力処理の概要を示す図である。
【
図8】第1の実施形態におけるタブレット端末の手書き入力処理の一例を示すフローチャートである。
【
図9】第1の実施形態におけるタブレット端末の学習処理の一例を示すフローチャートである。
【
図10】第2の実施形態におけるタブレット端末が解決しようとする課題を説明する図である。
【
図11】第2の実施形態によるタブレット端末及び情報処理システムの機能構成の一例を示すブロック図である。
【
図12】第2の実施形態によるタブレット端末の検出点の補間処理の一例を示す図である。
【
図13】第2の実施形態によるタブレット端末の検出点の間引き処理の一例を示す図である。
【
図14】第2の実施形態におけるタブレット端末の手書き入力処理の一例を示すフローチャートである。
【
図15】第2の実施形態におけるタブレット端末の効果を説明する図である。
【
図16】第3の実施形態によるタブレット端末及び情報処理システムの機能構成の一例を示すブロック図である。
【
図17】第3の実施形態におけるブラシの角度の一例を示す図である。
【
図18】第3の実施形態におけるストローク角度の一例を示す図である。
【
図19】第3の実施形態によるタブレット端末のブラシの角度の調整処理の一例を示す図である。
【
図20】第3の実施形態におけるタブレット端末の手書き入力処理の一例を示すフローチャートである。
【
図21】第3の実施形態におけるタブレット端末の効果を説明する図である。
【
図22】第4の実施形態によるタブレット端末及び情報処理システムの機能構成の一例を示すブロック図である。
【
図23】第4の実施形態によるタブレット端末の角の部分におけるブラシの角度の調整処理の一例を示す図である。
【
図24】第4の実施形態におけるタブレット端末の手書き入力処理の一例を示すフローチャートである。
【
図25】第4の実施形態におけるタブレット端末の効果を説明する図である。
【発明を実施するための形態】
【0018】
以下、本発明の一実施形態による情報処理装置、及び制御方法について、図面を参照して説明する。
【0019】
[第1の実施形態]
図1は、本実施形態によるタブレット端末1及び情報処理システム100の一例を示す外観図である。
図1に示すように、情報処理システム100は、タブレット端末1と、ペン30とを備える。なお、本実施形態において、情報処理装置の一例として、タブレット端末1について説明する。
【0020】
タブレット端末1は、筐体CS1の片方の主面に、タッチスクリーン20が設置されており、ペン30を用いて、例えば、メモ帳、描画などのアプリケーションプログラムを実行させる。タブレット端末1は、ペン30を用いて、手書き入力が可能である。なお、ペン30は、手書き入力の際に、様々なタイプのブラシ(筆)を設定可能である。
【0021】
タッチスクリーン20は、表示部21と、タッチセンサ部22とを備え、表示部21は、表示画面DFに各種情報を表示する。
タッチセンサ部22は、表示部21に重ねて配置されており、ペン30が、表示部21の表示画面DFに接触することを検出するとともに、ペン30の接触位置を検出する。
なお、タッチスクリーン20、表示部21、及びタッチセンサ部22の詳細については、後述する。
【0022】
次に、
図2を参照して、タブレット端末1及び情報処理システム100の主要なハードウェア構成について説明する。
図2は、本実施形態によるタブレット端末1及び情報処理システム100の主要なハードウェア構成の一例を示す図である。
【0023】
図2に示すように、情報処理システム100は、タブレット端末1とペン30とを備える。また、タブレット端末1は、プロセッサ11と、メインメモリ12と、フラッシュメモリ13と、タッチスクリーン20と、周辺デバイス23と、オーディオシステム24と、マイク25と、スピーカ26と、ベースバンドチップ27と、無線部28と、無線通信部29とを備える。
【0024】
プロセッサ11は、例えば、CPU(Central Processing Unit)を含むアプリケーションプロセッサである。プロセッサ11は、タブレット端末1の全体を制御する。
【0025】
メインメモリ12は、プロセッサ11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS(Operating System:オペレーティングシステム)、周辺機器類をハードウェア操作するための各種デバイスドライバ、各種サービス/ユーティリティ、アプリケーションプログラム(アプリケーションソフトウェア)、等が含まれる。
【0026】
フラッシュメモリ13は、例えば、フラッシュEEPROM(Electrically Erasable Programmable Read Only Memory)であり、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム(以下、アプリケーションということがある)、及び各種データを記憶する。
【0027】
表示部21は、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイであり、プロセッサ11から出力された描画データ(表示データ)に基づく表示画面を表示する。表示部21は、例えば、ペン30の移動軌跡(描画軌跡)を表示可能である。
【0028】
タッチセンサ部22は、表示部21の画面上(表示画面DF上)におけるペン30などの操作媒体の位置と、ペン30の画面上への接触を検出する。タッチセンサ部22は、表示部21の画面上におけるペン30の接触位置を検出する。
【0029】
周辺デバイス23は、例えば、WLAN(Wireless Local Area Network)モジュール、GPS(Global Positioning System)モジュール、及び加速度センサなどのセンサ類、等である。
【0030】
オーディオシステム24は、例えば、オーディオIC(Integrated Circuit)であり、音データの入力、記録、再生、出力を行う。オーディオシステム24には、例えば、マイク25と、スピーカ26とが接続されている。オーディオシステム24は、例えば、マイク25が収音した音データを、プロセッサ11又はベースバンドチップ27に出力する。また、オーディオシステム24は、例えば、プロセッサ11又はベースバンドチップ27から取得した音データを音信号に変換して、スピーカ26に出力する。
【0031】
マイク25は、タブレット端末1の周辺の音を収音する。マイク25は、例えば、他の端末と音声融和する際に、利用者の音声等の音を収音する。
スピーカ26は、タブレット端末1の外部に、各種音を出力する。スピーカ26は、例えば、他の端末と音声融和する際に、他の端末から受信した音を出力(放音)する。
【0032】
ベースバンドチップ27は、例えば、4G(第4世代移動通信システム)や5G(第4世代移動通信システム)などの無線通信を制御する専用ICである。ベースバンドチップ27は、例えば、無線部28を用いて受信した音声データを、オーディオシステム24を介して、スピーカ26に出力させる。また、ベースバンドチップ27は、例えば、マイク25から収音した音データを、オーディオシステム24を介して取得し、無線部28を用いて、移動通信システムにより出力させる。また、ベースバンドチップ27は、移動通信システムによるデータ通信の入出力データを、プロセッサ11との間でデータ通信する。
【0033】
無線部28は、移動通信システムによる無線通信を行うための、アンテナを含む無線通信デバイスである。
無線通信部29は、例えば、Bluetooth(登録商標)モジュールであり、ペン30との間で無線通信を行う。無線通信部29は、例えば、ペン30が検出したセンサ情報(接触圧力やペン30の角度、等)を、ペン30から受信する。
【0034】
ペン30は、ペン形状の操作媒体であり、例えば、タッチペン、スタイラスペンなどである。ペン30は、例えば、Bluetooth(登録商標)などの無線通信により、タブレット端末1と通信可能である。ペン30は、無線通信部31と、センサ部32と、メモリ33と、MCU34とを備える。
【0035】
無線通信部31は、例えば、Bluetooth(登録商標)モジュールであり、タブレット端末1とペン30との間で無線通信を行う。無線通信部31は、例えば、センサ部32が検出したセンサ情報、等をタブレット端末1に送信する。
センサ部32は、ペン30の接触圧力、ペン30の角度、等のセンサ情報を検出する。
【0036】
メモリ33は、例えば、RAMなどで構成され、ペン30の制御プログラムの一部やMCU34の処理データを記憶する。なお、メモリ33は、RAMの他に、フラッシュメモリやROMなどを含んでいてもよい。
【0037】
MCU(Micro Controller Unit)34は、CPU、ROMやRAMなどのメモリ、I/O関連などを備え、ペン30を統括的に制御する。MCU34は、無線通信部31を介したタブレット端末1との間でデータ通信を制御する。MCU34は、例えば、センサ部32が検出したセンサ情報を、無線通信部31を介して、タブレット端末1に送信する。
【0038】
次に、
図3を参照して、本実施形態による情報処理システム100の機能構成について説明する。
図3は、本実施形態によるタブレット端末1及び情報処理システム100の機能構成の一例を示すブロック図である。
【0039】
図3に示すように、情報処理システム100は、タブレット端末1とペン30とを備え、タブレット端末1は、制御部10と、タッチスクリーン20と、記憶部40とを備える。
【0040】
タッチスクリーン20は、表示部21と、タッチセンサ部22とを備える。
タッチセンサ部22は、表示部21の画面上の検出面における操作媒体(ペン30)の接触及び接触位置を検出する。タッチセンサ部22は、例えば、ペン入力として、表示部21の画面上におけるペン30の接触位置を検出する。タッチセンサ部22は、ペン30の接触位置として、例えば、表示部21の表示画面DF上の2次元座標を示す接触位置情報を検出する。タッチセンサ部22は、接触位置情報を制御部10に出力する。
【0041】
記憶部40は、例えば、メインメモリ12又はフラッシュメモリ13により実現される記憶部であり、ブラシ情報記憶部41と、筆圧特性記憶部42と、CE分類情報記憶部43と、手書きストローク記憶部44と、部分ストローク記憶部45と、学習データ記憶部46とを備える。
【0042】
ブラシ情報記憶部41は、例えば、メインメモリ12により実現される記憶部であり、漢字の文字を分割した基本部品である文字要素(CE:Character Element)に対応するブラシ情報を記憶する。ここで、
図4を参照して、ブラシ情報記憶部41のデータ例について説明する。
【0043】
図4は、本実施形態におけるブラシ情報記憶部41のデータ例を示す図である。
図4に示すように、ブラシ情報記憶部41は、CEID(文字要素ID)と、ブラシサイズと、アスペクト比と、標準ブラシ角と、標準ストローク角度とを対応付けて記憶する。
【0044】
CEIDは、文字要素を識別する文字要素識別情報である。また、ブラシサイズは、ブラシの大きさを示している。また、アスペクト比は、ブラシの縦横比であり横:縦の比を示している。また、標準ブラシ角は、当該文字要素の標準(基準)のブラシ角度を示し、標準ストローク角度は、当該文字要素のストロークの標準(基準)の角度を示している。
【0045】
例えば、
図4に示す例では、CEIDが“CE001”の文字要素のブラシサイズが、“R1”であり、アスペクト比が“XX1:YY1”であることを示している。また、当該文字要素の標準ブラシ角が、“α1”であり、標準ストローク角度が“β1”であることを示している。
【0046】
ここで、
図5を参照して、文字要素について説明する。
図5は、本実施形態における文字要素の一例を示す図である。
図5では、漢字の「永」という文字を構成する文字要素について説明する。
【0047】
図5に示すように、漢字の「永」という文字は、文字要素CE1~文字要素CE8に分解される。文字要素CE1~文字要素CE8には、トメ、ハネ、ハライ、等が含まれており、文字要素CE1~文字要素CE8のそれぞれは、上述した
図4に示すように、対応するブラシ情報が定義される。
【0048】
本実施形態では、様々な漢字文字から決定した、上述した文字要素CE1~文字要素CE8を含む複数の文字要素を定義し、定義した文字要素ごとに、レンダリング(描画)することで、漢字の文字の手書き入力において、きれいな文字の描画を実現する。
なお、ここでの「きれいな文字」とは、例えば、好みのフォントに似たレンダリングがされた文字のことである。
【0049】
図3の説明に戻り、筆圧特性記憶部42は、例えば、メインメモリ12により実現される記憶部であり、文字要素におけるストローク位置と筆圧との関係を示す圧力カーブ(筆圧特性)を記憶する。筆圧特性記憶部42は、例えば、文字要素の識別情報と、筆圧特性とを対応付けて記憶する。ここで、
図6を参照して、筆圧特性記憶部42のデータ例について説明する。
【0050】
図6は、本実施形態における筆圧特性記憶部42のデータ例を示す図である。
図6に示すように、筆圧特性記憶部42は、CEIDと、筆圧特性とを対応付けて記憶する。
【0051】
例えば、
図6に示す例では、CEIDが“CE001”に対応する筆圧特性は、波形W1のような圧力カーブであることを示している。なお、波形W1を示すグラフの横軸は、ストローク位置を示し、縦軸は、筆圧(圧力)を示している。圧力カーブにおいて、筆圧が高い程、レンダリングの際のストロークの線が太くなり、筆圧が低い程、レンダリングの際のストロークの線が細くなることを示している。
【0052】
CEIDが“CE001”に対応する筆圧特性(波形W1)では、ストローク位置が進むにしたがってストロークの線が太くなり、最後に急激に細くなる文字要素(
図5に示す文字要素CE1)を示している。
【0053】
また、例えば、CEIDが“CE002”に対応する筆圧特性は、波形W2のような圧力カーブであることを示している。CEIDが“CE002”に対応する筆圧特性(波形W2)では、ストローク位置が進むにしたがってストロークの線が一旦細くなった後に、再び太くなる文字要素(
図5に示す文字要素CE2)を示している。
【0054】
再び、
図3の説明に戻り、CE分類情報記憶部43は、例えば、メインメモリ12により実現される記憶部であり、文字要素を分類するための情報を記憶する。CE分類情報記憶部43は、例えば、機械学習により生成された学習済みモデルであり、後述する部分ストロークを、複数の文字要素のうちのいずれかに分類するための分類モデルを記憶する。CE分類情報記憶部43は、モデル記憶部の一例である。
【0055】
手書きストローク記憶部44は、例えば、メインメモリ12により実現される記憶部であり、ペン30を用いてタッチセンサ部22により検出された手書きストロークデータを記憶する。手書きストローク記憶部44は、例えば、漢字文字を手書き入力する際のタッチセンサ部22による時系列の検出点の集合データを、手書きストロークとして記憶する。
【0056】
部分ストローク記憶部45は、例えば、メインメモリ12により実現される記憶部であり、手書きストロークから生成された部分ストロークのデータを記憶する。部分ストロークの詳細については後述する。
【0057】
学習データ記憶部46は、例えば、メインメモリ12により実現される記憶部であり、上述した分類モデルを生成するための学習データを記憶する。学習データ記憶部46は、予め指定した文字を利用者が手書きした文字の部分ストロークと、文字要素とを対応付けた学習データを記憶する。
【0058】
制御部10は、例えば、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部であり、OS(例えば、Android(登録商標)など)に基づく各種処理を実行する。制御部10は、入力処理部101と、分割処理部102と、分類処理部103と、レンダリング処理部104と、表示処理部105と、学習処理部106とを備える。
【0059】
入力処理部101は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。入力処理部101は、例えば、タッチセンサ部22による入力を制御するデバイスドライバであり、タッチセンサ部22の入力によって、表示部21の画面上(表示画面DF上)におけるペン30の位置や接触を検出する。
【0060】
入力処理部101は、タッチセンサ部22が検出した操作媒体(例えば、ペン30)の接触位置に基づいて、手書きストロークの入力を検出する。すなわち、入力処理部101は、検出したペン30の接触位置情報(位置座標)を、手書きストロークとして、手書きストローク記憶部44に記憶させる。
【0061】
なお、手書きストローク、或いは、単に、ストロークとは、ペン30の接触(タッチ)からペン30の接触が離れる(アップ)までのペン先の軌跡の検出点の集合データを示し、当該ペン先の軌跡を表示部21の画面上(表示画面DF上)に表示したものを含めてもよい。
【0062】
また、入力処理部101は、手書きストロークの入力を検出するとともに、操作媒体の接触位置の移動軌跡を、入力された手書きストロークとして、表示部21に表示する。入力処理部は、後述する表示処理部105を介して、入力された手書きストロークを表示部21に表示させる。
【0063】
分割処理部102は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。分割処理部102は、利用者によって入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分割処理部102は、入力処理部101によって手書きストローク記憶部44に記憶された手書きストロークを部分ストロークに分割する。
【0064】
具体的に、
図7のステップS11に示すように、分割処理部102は、2つの角を持つ手書きストロークST1を、角の部分で分割し、部分ストロークSS1、部分ストロークSS2、及び部分ストロークSS3を生成する。
分割処理部102は、分割した部分ストロークを、部分ストローク記憶部45に記憶させる。
【0065】
分類処理部103は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。分類処理部103は、分割処理部102が分割した部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。
【0066】
分類処理部103は、例えば、部分ストロークから文字要素を分類する分類モデルに基づいて、分割処理部102が分割した部分ストロークを、文字要素に分類する。ここで、分類モデルは、予め指定した文字を利用者が手書きした文字の部分ストロークと、文字要素とを対応付けた学習データに、学習処理を実行して生成された分類モデルである。
分類処理部103は、CE分類情報記憶部43が記憶する分類モデルを用いて、部分ストロークを、文字要素に分類する。
【0067】
具体的に、
図7のステップS12に示すように、分類処理部103は、分類モデルを用いて、例えば、部分ストロークSS1を、文字要素CE2に分類し、部分ストロークSS2を、文字要素CE3に分類する。また、分類処理部103は、分類モデルを用いて、例えば、部分ストロークSS3を、文字要素CE4に分類する。
【0068】
レンダリング処理部104は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。レンダリング処理部104は、分類処理部103が分類した文字要素に対応するブラシ情報及び筆圧特性に基づいて、部分ストロークの形状を調整して、部分ストロークを表示部21に表示する。
【0069】
レンダリング処理部104は、例えば、ブラシ情報記憶部41から文字要素に対応するブラシ情報を取得するとともに、筆圧特性記憶部42から文字要素に対応する筆圧特性(圧力カーブ)を取得する。レンダリング処理部104は、ブラシ情報と、筆圧特性(圧力カーブ)とに基づいて、部分ストロークの形状を調整してレンダリングする。レンダリング処理部104は、ブラシ情報によりブラシサイズ、アスペクト比、及びブラシ角度を設定して、筆圧特性(圧力カーブ)により、線の太さを調整して、部分ストロークを表示部21に表示する。
【0070】
レンダリング処理部104は、ブラシの角度、及び線の太さを調整した部分ストロークを再結合して、調整された手書きストロークを生成する。レンダリング処理部104は、調整された手書きストロークを、後述する表示処理部105を介して、表示部21に表示させる。
【0071】
具体的に、
図7のステップS13に示すように、レンダリング処理部104は、部分ストロークSS1、部分ストロークSS2、及び部分ストロークSS3を調整し、再結合してレンダリング後の手書きストロークCST1を生成する。
レンダリング処理部104は、入力された手書きストロークに置き換えて、調整した部分ストロークに基づく手書きストロークを表示部21に表示する。
【0072】
表示処理部105は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。表示処理部105は、タッチセンサ部22が検出したペン30の接触位置に基づいて、ペン30が画面上に接触して移動した画面上の移動軌跡を、表示部21に表示させる。
【0073】
表示処理部105は、入力された手書きストロークを一旦、表示部21に表示させた後に、入力された手書きストロークに置き換えて、調整した部分ストロークに基づく手書きストロークを表示部21に表示させる。
【0074】
学習処理部106は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。学習処理部106は、学習データ記憶部46が記憶する学習データに学習処理を実行して、分類モデルを生成する。
【0075】
ここで、学習データは、予め指定した文字を利用者が手書きした文字の部分ストロークと、文字要素とを対応付けたもので、文字要素を含む複数の文字を、複数回手書き入力された手書きストロークに基づいて生成されている。学習処理部106は、生成した分類モデル(学習結果)をCE分類情報記憶部43に記憶させる。
【0076】
次に、図面を参照して、本実施形態によるタブレット端末1の動作について説明する。
図8は、本実施形態におけるタブレット端末1の手書き入力処理の一例を示すフローチャートである。
【0077】
図8に示すように、タブレット端末1は、まず、手書きストロークを検出したか否かを判定する(ステップS101)。タブレット端末1の入力処理部101は、タッチセンサ部22により、手書きストロークを検出したか否かを判定する。入力処理部101は、手書きストロークを検出した場合(ステップS101:YES)に、処理をステップS102に進める。また、入力処理部101は、手書きストロークを検出していない場合(ステップS101:NO)に、処理をステップS101に戻す。
【0078】
ステップS102において、入力処理部101は、手書きストロークを一旦、表示部21に表示する。このときに使用するレンダリングは、従来の筆圧に応じた太さ、又は筆圧に関係なく一様の太さなどで行われる。すなわち、入力処理部101は、表示処理部105を介して、検出した手書きストロークを表示部21に表示させる。なお、入力処理部101は、手書きストロークを手書きストローク記憶部44に記憶させる。
【0079】
次に、入力処理部101は、ペン30が表示部21の画面から離れたか否かを判定する(ステップS103)。すなわち、入力処理部101は、一筆書きの手書きストロークの入力が終了したか否かを判定する。入力処理部101は、ペン30が表示部21の画面から離れた(手書きストロークの入力が終了した)場合(ステップS103:YES)に、処理をステップS104に進める。また、入力処理部101は、ペン30が表示部21の画面から離れていない(手書きストロークの入力が終了していない)場合(ステップS103:NO)に、処理をステップS102に戻す。
【0080】
ステップS104において、タブレット端末1の分割処理部102は、手書きストロークを角の部分で分割して、部分ストロークを生成する。分割処理部102は、例えば、
図7に示すステップS11のように、手書きストロークを分割して、部分ストロークを生成する。分割処理部102は、生成した部分ストロークを、部分ストローク記憶部45に記憶させる。
【0081】
次に、タブレット端末1の分類処理部103は、部分ストロークを、文字要素に分類する(ステップS105)。分類処理部103は、部分ストローク記憶部45が記憶する部分ストロークを、CE分類情報記憶部43が記憶する分類モデルを用いて、文字要素に分類する(
図7のステップS12を参照)。
【0082】
次に、タブレット端末1のレンダリング処理部104は、分類した文字要素に対応したブラシを選択するとともに、文字要素に基づいて部分ストロークの太さを調整して部分ストロークを表示部21に表示する(ステップS106)。レンダリング処理部104は、ブラシ情報記憶部41から、分類された文字要素に対応するブラシ情報を取得し、取得したブラシ情報に基づいて、部分ストロークの形状を調整するとともに、筆圧特性記憶部42から、分類された文字要素に対応する圧力カーブを取得し、取得した圧力カーブに基づいて、部分ストロークの太さを調整する。
【0083】
そして、レンダリング処理部104は、調整した部分ストロークを再結合して、調整した手書きストロークを、表示処理部105を介して、表示部21に表示させる(
図7のステップS13を参照)。
【0084】
ステップS106の処理後に、レンダリング処理部104は、処理をステップS101に戻す。
【0085】
次に、
図9を参照して、タブレット端末1の学習処理について説明する。
図9は、本実施形態におけるタブレット端末1の学習処理の一例を示すフローチャートである。
【0086】
図9に示すように、タブレット端末1の学習処理部106は、特定の文字の手書きストロークを複数回、複数ユーザ分取得する(ステップS201)。学習処理部106は、入力処理部101を介して、特定の文字の手書きストロークを複数回、複数ユーザ分取得する。なお、特定の文字は、予め定められた複数の文字要素を学習可能な複数の文字が望ましい。
【0087】
次に、学習処理部106は、各手書きストロークを分割して部分ストロークを生成し、対応する文字要素をラベリングして学習データとする(ステップS202)。学習処理部106は、部分ストロークと文字要素のラベリングとを対応付けた学習データを、学習データ記憶部46に記憶させる。
【0088】
次に、学習処理部106は、学習データをも用いて、機械学習し、部分ストロークから文字要素を分類する分類モデルを生成する(ステップS203)。学習処理部106は、学習データ記憶部46が記憶する学習データを用いて、機械学習処理を実行し、学習結果として、分類モデルを生成する。
【0089】
次に、学習処理部106は、学習結果である分類モデルを、CE分類情報記憶部43に記憶させる(ステップS204)。ステップS204の処理後に、学習処理部106は、学習処理を終了する。
【0090】
以上説明したように、本実施形態によるタブレット端末1(情報処理装置)は、分割処理部102と、分類処理部103と、レンダリング処理部104とを備える。分割処理部102は、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分類処理部103は、分割処理部102が分割した部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。レンダリング処理部104は、分類処理部103が分類した文字要素に対応するブラシ情報及び筆圧特性に基づいて、部分ストロークの形状を調整して、部分ストロークを表示部21に表示する。
【0091】
これにより、本実施形態によるタブレット端末1は、手書きストロークを分割した部分ストロークを、文字要素に分類し、部分ストロークごとに、文字要素に対応するブラシ情報及び筆圧特性に基づいて、部分ストロークの形状を調整するため、手書き入力において、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0092】
なお、本実施形態によるタブレット端末1では、手書きストロークをベースに、文字要素に対応して部分ストロークの形状を調整するため、手書きストロークの大きさや位置を維持したままきれいな文字を表示することができる。本実施形態によるタブレット端末1は、単純に、所定のフォントに置き換える従来技術とは異なり、利用者の筆跡が消失することはなく、手書きによる自由な文字の縦横比や大きなどの手書きの自由度が失われることがない。
【0093】
また、本実施形態によるタブレット端末1は、文字要素と、当該文字要素におけるストローク位置と筆圧との関係を示す圧力カーブ(筆圧特性)とを対応づけて記憶する筆圧特性記憶部42を備える。レンダリング処理部104は、筆圧特性記憶部42から、分類された文字要素に対応する圧力カーブを取得し、取得した圧力カーブに基づいて、部分ストロークの太さを調整する。
【0094】
これにより、本実施形態によるタブレット端末1は、文字要素に対応する圧力カーブにより、ストローク位置に応じて部分ストロークの太さ(例えば、部分ストロークの途中での太さの変化)を適切に調整することができ、手書きの良さを維持しつつ、きれいな文字を表示することができる。
【0095】
また、本実施形態によるタブレット端末1は、文字要素と、使用するブラシのサイズ、アスペクト比、及び角度とを含むブラシ情報とを対応付けて記憶するブラシ情報記憶部41を備える。レンダリング処理部104は、ブラシ情報記憶部41から、分類された文字要素に対応するブラシ情報を取得し、取得したブラシ情報に基づいて、部分ストロークの形状を調整する。
【0096】
これにより、本実施形態によるタブレット端末1は、文字要素に対応するブラシ情報により、文字要素に応じて、ブラシを変更して、部分ストロークの形状(例えば、書き始めや終わりの角、トメ、ハネなどの形状)を適切に調整することができ、手書きの良さを維持しつつ、きれいな文字を表示することができる。
【0097】
また、本実施形態では、分類処理部103は、学習データに、学習処理を実行して生成された分類モデルであって、部分ストロークから文字要素を分類する分類モデルに基づいて、分割処理部102が分割した部分ストロークを、文字要素に分類する。なお、学習データは、予め指定した文字を利用者が手書きした文字の部分ストロークと、文字要素とを対応付けたデータである。
【0098】
これにより、本実施形態によるタブレット端末1は、分類モデルにより、部分ストロークを、文字要素に精度良く分類することができ、精度良く分類した文字要素により、さらにきれいな文字を表示することができる。
【0099】
また、本実施形態によるタブレット端末1は、学習処理部106と、CE分類情報記憶部43(モデル記憶部)とを備える。学習処理部106は、上述の学習データに学習処理を実行して、分類モデルを生成する。CE分類情報記憶部43は、学習処理部106が生成した分類モデルを記憶する。分類処理部103は、CE分類情報記憶部43が記憶する分類モデルに基づいて、分割処理部102が分割した部分ストロークを、文字要素に分類する。
これにより、本実施形態によるタブレット端末1は、分類モデルにより、部分ストロークを、文字要素に精度良く分類することができる。
【0100】
また、本実施形態によるタブレット端末1は、表示部21と、タッチセンサ部22と、入力処理部101とを備える。タッチセンサ部22は、表示部21の画面上の検出面における操作媒体の接触及び接触位置を検出する。入力処理部101は、タッチセンサ部22が検出した操作媒体の接触位置に基づいて、手書きストロークの入力を検出する。分割処理部102は、入力処理部101が検出した手書きストロークを分割し、分割した部分ストロークを生成する。
【0101】
これにより、本実施形態によるタブレット端末1は、タッチセンサ部22により検出した手書きストロークを、手書きの良さを維持しつつ、きれいな文字を表示することができる。
【0102】
また、本実施形態では、入力処理部101は、手書きストロークの入力を検出するとともに、操作媒体の接触位置の移動軌跡を、入力された手書きストロークとして、表示部21に表示する。レンダリング処理部104は、入力された手書きストロークに置き換えて、調整した部分ストロークに基づく手書きストロークを表示部21に表示する。
【0103】
これにより、本実施形態によるタブレット端末1は、入力された手書きストロークを一旦、表示することで、表示を確認しながら手書き入力が可能になり、手書き入力し易くするとともに、調整した部分ストロークに基づく手書きストロークに置き換えることで、きれいな文字を表示することができる。
【0104】
また、本実施形態による制御方法は、タブレット端末1(情報処理装置)の制御方法であって、分割処理ステップと、分類処理ステップと、レンダリング処理ステップとを含む。分割処理ステップにおいて、分割処理部102が、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分類処理ステップにおいて、分類処理部103が、分割処理部102によって分割された部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。レンダリング処理ステップにおいて、レンダリング処理部104が、分類処理部103によって分類された文字要素に対応するブラシ情報及び筆圧特性に基づいて、部分ストロークの形状を調整して、部分ストロークを表示部21に表示する。
【0105】
これにより、本実施形態による制御方法は、上述したタブレット端末1と同様の効果を奏し、手書き入力において、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0106】
[第2の実施形態]
次に、図面を参照して、第2の実施形態によるタブレット端末1a及び情報処理システム100aについて説明する。
【0107】
図10は、第2の実施形態によるタブレット端末1aが解決しようとする課題を説明する図である。
上述した第1の実施形態のタブレット端末1又は従来技術では、例えば、手書き入力のストロークが短い場合や、手書き入力を高速に行った場合に、タッチセンサ部22による検出点が少なくなって検出点の間隔が広くなる可能性がある。例えば、
図10(a)において、検出点P1~検出点P4のうちの、検出点P3と検出点P4との間隔が広い場合に、文字要素の圧力カーブの波形W1により、ストロークの太さを調整すると、
図10(c)のレンダリング後の手書きストロークCST3が表示される。この場合、検出点P1~検出点P4のストローク位置に応じて、圧力カーブの波形W1により、ストロークの太さPR1~太さPR4に調整される。
【0108】
また、
図10(b)は、本来のレンダリング後の手書きストロークCST2を示している。
図10(b)に示すように、本来のレンダリング後の手書きストロークCST2は、終点近傍のストロークが太い形状に調整されるが、検出点P1~検出点P4では、検出点P3と検出点P4との間隔が広いため、
図10(c)のレンダリング後の手書きストロークCST3にように、
図10(b)に比べて、ストロークが細い形状になる。
【0109】
そのため、手書き入力において、手書き入力の検出点が少ない場合に、上述した第1の実施形態のタブレット端末1又は従来技術では、ストロークが本来の形状よりも細く表示されて、きれいな文字を表示することができない可能性があった。特に、上述した第1の実施形態のタブレット端末1では、各文字要素に準備された圧力カーブの特徴を反映できずに、きれいな文字を表示することができない可能性があった。
【0110】
本実施形態では、このような課題を解決するために、手書き入力の検出点が少ない場合に、検出点を補間するようにした変形例について説明する。
【0111】
なお、本実施形態によるタブレット端末1a及び情報処理システム100aの外観図及び主要なハードウェア構成は、
図1及び
図2に示す第1の実施形態と同様であるため、ここではその説明を省略する。
【0112】
次に、
図11を参照して、本実施形態による情報処理システム100aの機能構成について説明する。
図11は、本実施形態によるタブレット端末1a及び情報処理システム100aの機能構成の一例を示すブロック図である。
【0113】
図11に示すように、情報処理システム100aは、タブレット端末1aとペン30とを備え、タブレット端末1aは、制御部10aと、タッチスクリーン20と、記憶部40とを備える。
なお、
図11において、
図3に示す構成と同一に構成には同一の符号を付与して、ここではその説明を省略する。
【0114】
制御部10aは、例えば、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部であり、OS(例えば、Android(登録商標)など)に基づく各種処理を実行する。制御部10aは、入力処理部101と、分割処理部102と、分類処理部103と、レンダリング処理部104と、表示処理部105と、学習処理部106と、検出点調整部107とを備える。
【0115】
検出点調整部107は、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。検出点調整部107は、部分ストロークの検出点が、所定の検出点数以上になるように、検出点を補間する。
【0116】
検出点調整部107は、例えば、タッチセンサ部22による検出点の間隔が、部分ストロークを所定の検出点数で等分割した基準間隔以上である場合に、新たな検出点を補間する。ここで、
図12を参照して、検出点調整部107による検出点の補間処理について説明する。
【0117】
図12は、本実施形態によるタブレット端末1aの検出点の補間処理の一例を示す図である。
図12において、基準間隔ΔD1は、部分ストロークSS4を所定の検出点数Nで等分割した検出点の間隔を示している。基準間隔ΔD1は、以下の式(1)で表される。
【0118】
基準間隔ΔD1 = L/(N-1) ・・・ (1)
【0119】
ここで、変数Lは、部分ストロークSS4の長さである。また、所定の検出点数Nは、例えば、各文字要素において、圧力カーブの特徴を反映可能な数が定められている。
【0120】
図12に示す例では、部分ストロークSS4は、黒丸印(●印)の検出点P5~検出点P8の4つの検出点を有している。この場合、検出点調整部107は、検出点の間隔が、基準間隔ΔD1以下になるように、黒星印(★印)の補間検出点AP1~補間検出点AP4を追加する検出点の補間処理を実行する。
【0121】
すなわち、検出点調整部107は、部分ストロークSS4に対して、補間検出点AP1~補間検出点AP4の4つの補間検出点を追加し、補間調整した部分ストロークを、部分ストローク記憶部45に記憶させる。
なお、検出点調整部107は、検出点を追加する際に、ペン30の位置、筆圧やタイムスタンプを前後の検出点から平均して補間してもよい。
【0122】
また、検出点調整部107は、検出点の間隔が、閾値以下である場合に、閾値以下である検出点を削除する。すなわち、検出点調整部107は、検出点の間隔が狭くて不適切な検出点を削除して調整する間引き処理を実行する。ここで、
図13を参照して、検出点調整部107による検出点の間引き処理について説明する。
【0123】
図13は、本実施形態によるタブレット端末1aの検出点の間引き処理の一例を示す図である。
図13において、閾値ΔD2は、間引き処理を行うための閾値であり、上述した基準間隔ΔD1より小さい値である。閾値ΔD2は、例えば、表示部21の1画素サイズ(1ピクセル)である。検出点調整部107は、部分ストロークの各検出点を十番に移動して、各検出点において、閾値ΔD2以内に次の検出点がある場合に、当該検出点を削除する。
【0124】
図13に示す例では、部分ストロークSS5は、検出点P11~検出点P17の7つの検出点を有している。検出点調整部107は、この7つの検出点のちから、検出点の間隔が、閾値ΔD2以内である検出点(例えば、検出点P12、検出点P15、及び検出点P16)を削除する。その結果、部分ストロークSS5は、検出点P11、検出点P13、検出点P14、及び検出点P17の4つの検出点に間引きされる。
【0125】
すなわち、検出点調整部107は、部分ストロークSS5に対して、検出点P12、検出点P15、及び検出点P16の3つの検出点を削除し、間引き調整した部分ストローク(検出点P11、検出点P13、検出点P14、及び検出点P17)を、部分ストローク記憶部45に記憶させる。
【0126】
図11の説明に戻り、本実施形態におけるレンダリング処理部104は、検出点調整部107によって検出点が調整された部分ストロークに対して、第1の実施形態と同様のレンダリング処理を実行する。すなわち、レンダリング処理部104は、分類処理部103が分類した文字要素に対応する筆圧特性に基づいて、所定の検出点数以上の検出点を有する部分ストロークの太さを調整して、部分ストロークを表示部21に表示する。また、レンダリング処理部104は、文字要素に対応したブラシ情報に基づいて、部分ストロークの形状を調整する。
【0127】
次に、図面を参照して、本実施形態によるタブレット端末1aの動作について説明する。
図14は、本実施形態におけるタブレット端末1aの手書き入力処理の一例を示すフローチャートである。
【0128】
図14において、ステップS301からステップS305までの処理は、上述した
図8に示すステップS101からステップS105までの処理と同様であるため、ここではその説明を省略する。
【0129】
ステップS306において、タブレット端末1aの検出点調整部107は、部分ストロークの検出点が、所定の検出点数以上になるように、検出点を補間する。検出点調整部107は、例えば、上述した
図12に示すような検出点の補間処理を実行する。なお、検出点調整部107は、さらに、上述した
図13に示すような検出点の間引き処理を実行してもよい。検出点調整部107は、検出点の調整後の部分ストロークを、部分ストローク記憶部45に記憶させる。
【0130】
次に、タブレット端末1aのレンダリング処理部104は、分類した文字要素に対応したブラシを選択するとともに、文字要素に基づいて部分ストロークの太さを調整して部分ストロークを表示部21に表示する(ステップS307)。ここでのレンダリング処理部104の処理は、検出点を調整した部分ストロークを用いる点を除いて、
図8に示すステップS106の処理と同様であるため、ここではその説明を省略する。レンダリング処理部104は、形状及び太さを調整した部分ストロークを再結合して、調整した手書きストロークを、表示処理部105を介して、表示部21に表示させる。
ステップS307の処理後に、レンダリング処理部104は、処理をステップS301に戻す。
【0131】
次に、
図15を参照して、本実施形態によるタブレット端末1aの効果について説明する。
図15は、本実施形態におけるタブレット端末1aの効果を説明する図である。
【0132】
図15(a)に示す部分ストロークは、上述した
図10(a)に示す部分ストロークに検出点調整部107による補間処理を実行した場合を示している。この場合、部分ストロークは、検出点P1~検出点P4に、補間検出点AP5及び補間検出点AP6が追加されている。
【0133】
また、
図15(b)に示すレンダリング後の手書きストロークCST2は、
図15(a)の各検出点(検出点P1~検出点P4)及び補間検出点(補間検出点AP5及び補間検出点AP6)に対する筆圧に応じて、太さを調整した部分ストロークを示している。
【0134】
本実施形態における補間処理を実行した場合、圧力カーブの波形W1の頂点付近に補間検出点AP5が追加されているため、手書きストロークCST2は、文字要素の本来の形状に近いきれいな形状を実現でき、
図10(c)に示すレンダリング後の手書きストロークCST3にように、ストロークが細い形状になることがない。
【0135】
以上説明したように、本実施形態によるタブレット端末1aは、分割処理部102と、分類処理部103と、検出点調整部107と、レンダリング処理部104とを備える。分割処理部102は、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分類処理部103は、分割処理部102が分割した部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。検出点調整部107は、部分ストロークの検出点が、所定の検出点数以上になるように、部分ストロークの検出点を補間する。レンダリング処理部104は、分類処理部103が分類した文字要素に対応する筆圧特性(圧力カーブ)に基づいて、所定の検出点数以上の検出点を有する部分ストロークの太さを調整して、部分ストロークを表示部21に表示する。
【0136】
これにより、本実施形態によるタブレット端末1aは、所定の検出点数以上になるように、部分ストロークの検出点を補間するため、部分ストロークの太さを筆圧特性(圧力カーブ)の特性を忠実に反映した形状に調整することができる(上述した
図15を参照)。よって、本実施形態によるタブレット端末1aは、手書き入力において、例えば、手書き入力の検出点が少ない場合であっても、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0137】
また、本実施形態では、検出点調整部107は、検出点の間隔が、部分ストロークを所定の検出点数で等分割した基準間隔以上(ΔD1以上)である場合に、新たな検出点を補間する。なお、所定の検出点数は、所定の検出点数Nは、例えば、各文字要素において、圧力カーブの特徴を反映可能な数が定められる。
【0138】
これにより、本実施形態によるタブレット端末1aは、簡易な手法により適切に検出点を補間できるため、手書き入力の検出点が少ない場合であっても、手書きの良さを維持しつつ、きれいな文字を表示することができる。
【0139】
また、本実施形態では、検出点調整部107は、検出点の間隔が、閾値以下(ΔD2以下)である場合に、閾値以下である検出点を削除する。
これにより、本実施形態によるタブレット端末1aは、検出点が多すぎる場合に、検出点の数を適切に調整することができ、手書きの良さを維持しつつ、きれいな文字を表示することができる。
【0140】
また、本実施形態による制御方法は、タブレット端末1a(情報処理装置)の制御方法であって、分割処理ステップと、分類処理ステップと、検出点調整ステップと、レンダリング処理ステップとを含む。分割処理ステップにおいて、分割処理部102が、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分類処理ステップにおいて、分類処理部103が、分割処理部102によって分割された部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。検出点調整ステップにおいて、検出点調整部107が、部分ストロークの検出点が、所定の検出点数以上になるように、検出点を補間する。レンダリング処理ステップにおいて、レンダリング処理部104が、分類処理部103によって分類された文字要素に対応する筆圧特性に基づいて、所定の検出点数以上の検出点を有する部分ストロークの太さを調整して、部分ストロークを表示部21に表示する。
【0141】
これにより、本実施形態による制御方法は、上述したタブレット端末1aと同様の効果を奏し、手書き入力において、例えば、手書き入力の検出点が少ない場合であっても、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0142】
[第3の実施形態]
次に、図面を参照して、第3の実施形態によるタブレット端末1b及び情報処理システム100bについて説明する。
【0143】
上述した第1及び第2の実施形態のタブレット端末1(1a)又は従来技術では、例えば、ブラシ(筆)を選択して手書き入力する場合に、ストロークの角度によって描画した線の太さが変動して、きれいな文字を再現できない可能性があり、本実施形態では、これに対応する変形例について説明する。
【0144】
なお、本実施形態によるタブレット端末1b及び情報処理システム100bの外観図及び主要なハードウェア構成は、
図1及び
図2に示す第1の実施形態と同様であるため、ここではその説明を省略する。
【0145】
次に、
図16を参照して、本実施形態による情報処理システム100bの機能構成について説明する。
図16は、本実施形態によるタブレット端末1b及び情報処理システム100bの機能構成の一例を示すブロック図である。
【0146】
図16に示すように、情報処理システム100bは、タブレット端末1bとペン30とを備え、タブレット端末1bは、制御部10bと、タッチスクリーン20と、記憶部40とを備える。
なお、
図16において、
図11に示す構成と同一に構成には同一の符号を付与して、ここではその説明を省略する。
【0147】
制御部10bは、例えば、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部であり、OS(例えば、Android(登録商標)など)に基づく各種処理を実行する。制御部10bは、入力処理部101と、分割処理部102と、分類処理部103と、レンダリング処理部104aと、表示処理部105と、学習処理部106と、検出点調整部107とを備える。
【0148】
レンダリング処理部104aは、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。レンダリング処理部104aは、分類処理部103が分類した文字要素に対応するブラシ情報と、部分ストロークの描画方向を示す角度であるストローク角度とに基づいて、部分ストロークにおけるブラシの角度を調整して、部分ストロークを表示部21に表示する。
【0149】
なお、ブラシ情報には、
図4に示すように、ブラシサイズ、アスペクト比、標準ブラシ角、標準ストローク角度、等が含まれている。ここで、
図17を参照して、ブラシの角度について説明する。
【0150】
図17は、本実施形態におけるブラシの角度の一例を示す図である。
図17において、ブラシBR1は、ブラシ情報で指定されたブラシサイズ及びアスペクト比を持つブラシであり、ブラシの角度は、X軸の原点から右側の基準線から、アスペクト比により変化するサイズの最大点までの角度αである。各文字要素では、ブラシの角度αの標準角度を標準ブラシ角として設定されている。
【0151】
また、
図18を参照して、ストローク角度について説明する。
図18は、本実施形態におけるストローク角度の一例を示す図である。
図18において、XY座標の原点を部分ストロークSS6の始点SPとし、始点SPから終点EPに向かう方向の角度βをストローク角度と定義する。すなわち、ストローク角度は、部分ストロークの始点から終点を示す直線による角度である。なお、各文字要素では、ストローク角度βの標準角度を標準ストローク角度として設定されている。
【0152】
なお、ストローク角度は、部分ストロークの始点における部分ストロークの描画方向を示す角度、又は、部分ストロークの終点における部分ストロークの描画方向を示す角度であってもよい。
【0153】
図16の説明に戻り、レンダリング処理部104aは、上述した第1及び第2の実施形態のレンダリング処理部104と同様の処理を実行するとともに、ブラシの角度を調整する調整処理を実行する。すなわち、レンダリング処理部104aは、レンダリング処理部104と同様に、部分ストロークの形状及び太さを調整するとともに、分類した文字要素に対応するブラシ情報と、ストローク角度とに基づいて、部分ストロークにおけるブラシの角度を調整する調整処理を実行する。
【0154】
レンダリング処理部104aは、例えば、文字要素に対応するブラシ情報をブラシ情報記憶部41から取得し、取得したブラシ情報と、ストローク角度とに基づいて、部分ストロークにおけるブラシの角度を調整する。ここで、
図19を参照して、レンダリング処理部104aによるブラシの角度を調整する調整処理の具体的例について説明する。
【0155】
図19は、本実施形態によるタブレット端末1bのブラシの角度の調整処理の一例を示す図である。
図19において、レンダリング後の手書きストロークCST4は、文字要素の標準ブラシ角及び標準ストローク角度により描画された部分ストロークを示している。すなわち、レンダリング後の手書きストロークCST4は、理想のストローク角度で描画された部分ストロークを示している。また、レンダリング後の手書きストロークCST5は、実際に手書きされらため、角度がずれて手書きされ、レンダリング処理部104aによりブラシ角度を調整されて描画された部分ストロークを示している。
【0156】
レンダリング処理部104aは、手書きストロークCST4のストローク角度(標準ストローク角度)と、手書きストロークCST5のストローク角度との差分Δβに基づいて、手書きストロークCST5のブラシ角度を調整する。
図19に示すブラシSB1は、角度の調整前のブラシ形状を示しており、ブラシB1は、角度の調整後のブラシ形状を示している。レンダリング処理部104aは、ブラシSB1の角度(標準ブラシ角)を、差分Δβにより、ブラシB1の角度に調整して、部分ストロークを描画して、表示部21に表示させる。
【0157】
次に、図面を参照して、本実施形態によるタブレット端末1bの動作について説明する。
図20は、本実施形態におけるタブレット端末1bの手書き入力処理の一例を示すフローチャートである。
【0158】
図20において、ステップS401からステップS406までの処理は、上述した
図14に示すステップS301からステップS306までの処理と同様であるため、ここではその説明を省略する。
【0159】
ステップS407において、タブレット端末1bのレンダリング処理部104aは、分類した文字要素に対応したブラシを選択するとともに、ストローク角度に応じて、部分ストロークのブラシの角度を調整する。レンダリング処理部104aは、文字要素に対応するブラシ情報をブラシ情報記憶部41から取得し、取得したブラシ情報と、ストローク角度とに基づいて、部分ストロークにおけるブラシの角度を調整する。すなわち、レンダリング処理部104aは、上述した
図19に示すように、文字要素の標準ブラシ角と、対象の部分ストロークのストローク角度との差分Δβにより、部分ストロークにおけるブラシの角度を調整する。
【0160】
次に、レンダリング処理部104aは、文字要素に基づいて、部分ストロークの太さを調整して、部分ストロークを表示部21に表示する(ステップS408)。ここでのレンダリング処理部104aは、形状及び太さを調整した部分ストロークを再結合して、調整した手書きストロークを、表示処理部105を介して、表示部21に表示させる。
ステップS408の処理後に、レンダリング処理部104aは、処理をステップS401に戻す。
【0161】
次に、
図21を参照して、本実施形態によるタブレット端末1bの効果について説明する。
図21は、本実施形態におけるタブレット端末1bの効果を説明する図である。
【0162】
図21(a)は、上述した第1及び第2の実施形態のタブレット端末1(1a)又は従来技術によって、描画された手書きストロークの一例を示している。
図21(a)において、レンダリング後の手書きストロークCST4は、理想のストローク角度で描画された部分ストロークを示し、レンダリング後の手書きストロークCST6は、ストローク角度がずれた場合に描画された部分ストロークを示している。
【0163】
上述した第1及び第2の実施形態のタブレット端末1(1a)又は従来技術では、
図21(a)に示すストロークCST6のように、手書きによるストローク角度によっては、ストロークが細くなる場合がある。このように、第1及び第2の実施形態のタブレット端末1(1a)又は従来技術では、ストローク角度によって描画する線の太さが変動して、きれいな文字を再現できない可能性があった。
【0164】
これに対して、本実施形態によるタブレット端末1bでは、
図21(b)に示す手書きストロークCST5のように、手書きによるストローク角度がずれても、理想のストローク角度の手書きストロークCST4と同様の太さで描画することが可能である。
【0165】
以上説明したように、本実施形態によるタブレット端末1b(情報処理装置)は、分割処理部102と、分類処理部103と、レンダリング処理部104aとを備える。分割処理部102は、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分類処理部103は、分割処理部102が分割した部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。レンダリング処理部104aは、分類処理部103が分類した文字要素に対応するブラシ情報と、部分ストロークの描画方向を示す角度であるストローク角度とに基づいて、部分ストロークにおけるブラシの角度を調整して、部分ストロークを表示部21に表示する。
【0166】
これにより、本実施形態によるタブレット端末1bは、文字要素に対応するブラシ情報と、ストローク角度とに基づいて、部分ストロークにおけるブラシの角度を調整するため、ブラシ(筆)を選択して手書き入力する場合に、ストロークの角度によらずに、理想に近い描画した線の太さにすることができ、きれいな文字を再現することができる(
図21を参照)。よって、本実施形態によるタブレット端末1bは、手書き入力において、ストロークの角度が変更された場合であっても、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0167】
また、本実施形態によるタブレット端末1bは、文字要素と、ブラシのサイズ、アスペクト比、標準角度、及び標準ストローク角度を含むブラシ情報とを対応付けて記憶するブラシ情報記憶部41を備える。レンダリング処理部104aは、文字要素に対応するブラシ情報をブラシ情報記憶部41から取得し、取得したブラシ情報と、ストローク角度とに基づいて、部分ストロークにおけるブラシの角度を調整する。
【0168】
これにより、本実施形態によるタブレット端末1bは、ブラシ情報記憶部41から取得したブラシ情報と、ストローク角度とに基づいて、適切、且つ簡単に、部分ストロークにおけるブラシの角度を調整することができる。
【0169】
また、本実施形態では、ストローク角度は、部分ストロークの始点から終点を示す直線による角度である。また、ストローク角度は、部分ストロークの始点における部分ストロークの描画方向を示す角度、又は、部分ストロークの終点における部分ストロークの描画方向を示す角度であってもよい。
これにより、本実施形態によるタブレット端末1bは、適切な部分ストロークのストローク角度を用意に得ることができる。
【0170】
また、本実施形態では、レンダリング処理部104aは、分類処理部103が分類した文字要素に対応する筆圧特性に基づいて、部分ストロークの太さを調整する。
これにより、本実施形態によるタブレット端末1bは、ストロークの角度によらずに、理想に近い描画した線の太さにすることができるとともに、さらに、筆圧特性に応じて、文字要素ごとに適切に、部分ストロークの太さを調整することができる。よって、本実施形態によるタブレット端末1bは、手書きの良さを維持しつつ、さらに、きれいな文字を表示することができる。
【0171】
また、本実施形態によるタブレット端末1bは、検出点調整部107を備える。検出点調整部107は、部分ストロークの検出点が、所定の検出点数以上になるように、部分ストロークの検出点を補間する。レンダリング処理部104aは、分類処理部103が分類した文字要素に対応する筆圧特性(圧力カーブ)に基づいて、所定の検出点数以上の検出点を有する部分ストロークの太さを調整して、部分ストロークを表示部21に表示する。
【0172】
これにより、本実施形態によるタブレット端末1bは、ストロークの角度によらずに、理想に近い描画した線の太さにすることができるとともに、例えば、手書き入力の検出点が少ない場合であっても、部分ストロークの太さを筆圧特性(圧力カーブ)の特性を忠実に反映した形状に調整することができる。
【0173】
また、本実施形態による制御方法は、タブレット端末1b(情報処理装置)の制御方法であって、分割処理ステップと、分類処理ステップと、レンダリング処理ステップとを含む。分割処理ステップにおいて、分割処理部102が、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分類処理ステップにおいて、分類処理部103が、分割処理部102によって分割された部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。レンダリング処理ステップにおいて、レンダリング処理部104aが、分類処理部103によって分類された文字要素に対応するブラシ情報と、部分ストロークの描画方向を示す角度であるストローク角度とに基づいて、部分ストロークにおけるブラシの角度を調整して、部分ストロークを表示部21に表示する。
【0174】
これにより、本実施形態による制御方法は、上述したタブレット端末1bと同様の効果を奏し、手書き入力において、ストロークの角度が変更された場合であっても、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0175】
[第4の実施形態]
次に、図面を参照して、第4の実施形態によるタブレット端末1c及び情報処理システム100cについて説明する。
【0176】
上述した第1~第3の実施形態のタブレット端末1(1a、1b)又は従来技術では、例えば、ブラシ(筆)の角度が、ストロークの角の部分で不整合が生じて、きれいな文字を再現できない可能性があり、本実施形態では、これに対応する変形例について説明する。
【0177】
なお、本実施形態によるタブレット端末1c及び情報処理システム100cの外観図及び主要なハードウェア構成は、
図1及び
図2に示す第1の実施形態と同様であるため、ここではその説明を省略する。
【0178】
次に、
図22を参照して、本実施形態による情報処理システム100cの機能構成について説明する。
図22は、本実施形態によるタブレット端末1c及び情報処理システム100cの機能構成の一例を示すブロック図である。
【0179】
図22に示すように、情報処理システム100cは、タブレット端末1cとペン30とを備え、タブレット端末1cは、制御部10cと、タッチスクリーン20と、記憶部40とを備える。
なお、
図22において、
図11に示す構成と同一に構成には同一の符号を付与して、ここではその説明を省略する。
【0180】
制御部10cは、例えば、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部であり、OS(例えば、Android(登録商標)など)に基づく各種処理を実行する。制御部10cは、入力処理部101と、分割処理部102と、分類処理部103と、レンダリング処理部104bと、表示処理部105と、学習処理部106と、検出点調整部107とを備える。
【0181】
レンダリング処理部104bは、プロセッサ11がメインメモリ12又はフラッシュメモリ13が記憶するプログラムを実行することで実現される機能部である。レンダリング処理部104bは、分類処理部103が分類した文字要素に対応するブラシ情報及び筆圧特性に基づいて、部分ストロークの形状を調整する。また、レンダリング処理部104bは、角の部分で結合する前後の部分ストロークにおける文字要素のブラシの角度が一致するように調整して、部分ストロークを表示部21に表示する。
【0182】
レンダリング処理部104bは、例えば、角の部分前の部分ストロークにおけるブラシの角度に合わせて、角の部分後の部分ストロークにおけるブラシの角度を変更する。ここで、
図23を参照して、レンダリング処理部104bによる角の部分におけるブラシの角度の調整処理の具体的例について説明する。
【0183】
図23は、本実施形態によるタブレット端末1cの角の部分におけるブラシの角度の調整処理の一例を示す図である。
図23において、レンダリング後の手書きストロークCST7と、手書きストロークCST8とを結合する場合に、手書きストロークCST8は、文字要素に対応する角度のブラシSB2で描画されると、結合部分で不整合が生じる。そのため、レンダリング処理部104bは、手書きストロークCST7におけるブラシの角度に合わせて、手書きストロークCST8におけるブラシの角度をブラシB2のように変更する。
【0184】
なお、レンダリング処理部104bは、手書きストロークCST7のストローク角度に基づいて、手書きストロークCST7におけるブラシの角度を決定する。すなわち、レンダリング処理部104bは、部分ストロークの描画方向を示す角度であるストローク角度であって、角の部分前の文字要素におけるストローク角度に基づいて、角の部分前の部分ストロークにおけるブラシの角度を決定し、決定したブラシの角度に一致するように、角の部分後の部分ストロークにおけるブラシの角度を変更する。
【0185】
また、レンダリング処理部104bは、3つ以上の部分ストロークを連続して接続する場合に、最初の部分ストロークにおけるブラシの角度に一致するように、他の全ての部分ストロークにおけるブラシの角度を変更する。
【0186】
なお、一致させるブラシの角度は、最初の部分ストロークにおけるブラシの角度の他に、例えば、接続する全部分ストロークにおけるブラシの角度の平均値、又は最後の部分ストロークにおけるブラシの角度であってもよい。
【0187】
すなわち、レンダリング処理部104bは、角の部分前後の部分ストロークにおけるブラシの角度の平均値に合わせて、角の部分前後の部分ストロークにおけるブラシの角度を変更してもよい。また、レンダリング処理部104bは、角の部分後の部分ストロークにおけるブラシの角度に合わせて、角の部分前の部分ストロークにおけるブラシの角度を変更してもよい。
【0188】
次に、図面を参照して、本実施形態によるタブレット端末1cの動作について説明する。
図24は、本実施形態におけるタブレット端末1cの手書き入力処理の一例を示すフローチャートである。
【0189】
図24において、ステップS501からステップS506までの処理は、上述した
図14に示すステップS301からステップS306までの処理と同様であるため、ここではその説明を省略する。
【0190】
ステップS507において、タブレット端末1cのレンダリング処理部104bは、分類した文字要素に対応したブラシを選択するとともに、角の部分で結合する部分ストロークにおける文字要素のブラシの角度が、角の部分の前後で一致するように調整する。レンダリング処理部104bは、例えば、上述した
図23に示すような角の部分におけるブラシの角度の調整処理を実行する。
【0191】
次に、レンダリング処理部104bは、文字要素に基づいて、部分ストロークの太さを調整して、部分ストロークを表示部21に表示する(ステップS508)。ここでのレンダリング処理部104bは、形状、太さ、及びブラシの角度を調整した部分ストロークを再結合して、調整した手書きストロークを、表示処理部105を介して、表示部21に表示させる。
ステップS508の処理後に、レンダリング処理部104bは、処理をステップS501に戻す。
【0192】
次に、
図25を参照して、本実施形態によるタブレット端末1cの効果について説明する。
図25は、本実施形態におけるタブレット端末1cの効果を説明する図である。
【0193】
図25(a)は、上述した第1~第3の実施形態のタブレット端末1(1a、1b)又は従来技術によって、描画された手書きストロークの一例を示している。
図25(a)に示すように、上述した第1~第3の実施形態のタブレット端末1(1a、1b)又は従来技術では、レンダリング後の手書きストロークCST7と、手書きストロークCST9との接続部分(角の部分)で不整合が生じている。このように、角の部分で不整合が生じると、例えば、漢字の文字の場合、角に部分がきれいに表示されずに、きれいな文字を再現できない可能性があった。
【0194】
これに対して、本実施形態によるタブレット端末1cでは、
図25(b)に示すように、手書きストロークCST7と、手書きによるストロークCST8との接続部分(角の部分)で不整合が生じない。これにより、本実施形態によるタブレット端末1cでは、例えば、漢字の文字の場合に、きれいな文字を再現できる。
【0195】
以上説明したように、本実施形態によるタブレット端末1c(情報処理装置)は、分割処理部102と、分類処理部103と、レンダリング処理部104bとを備える。分割処理部102は、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分類処理部103は、分割処理部102が分割した部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。レンダリング処理部104bは、分類処理部103が分類した文字要素に対応するブラシ情報及び筆圧特性に基づいて、部分ストロークの形状を調整するとともに、角の部分で結合する前後の部分ストロークにおける文字要素のブラシの角度が一致するように調整して、部分ストロークを表示部21に表示する。
【0196】
これにより、本実施形態によるタブレット端末1cは、角の部分で結合する前後の部分ストロークにおける文字要素のブラシの角度が一致するように調整するため、ストロークの角の部分の描画の不整合を低減し、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる(
図25を参照)。
【0197】
また、本実施形態では、レンダリング処理部104bは、角の部分前の部分ストロークにおけるブラシの角度に合わせて、角の部分後の部分ストロークにおけるブラシの角度を変更する。
【0198】
これにより、本実施形態によるタブレット端末1cは、簡易な手法により、角の部分で結合する前後の部分ストロークにおける文字要素のブラシの角度を一致させることができる。
【0199】
また、本実施形態では、レンダリング処理部104bは、部分ストロークの描画方向を示す角度であるストローク角度であって、角の部分前の文字要素におけるストローク角度に基づいて、角の部分前の部分ストロークにおけるブラシの角度を決定し、決定したブラシの角度に一致するように、角の部分後の部分ストロークにおけるブラシの角度を変更する。
これにより、本実施形態によるタブレット端末1cは、ストローク角度に応じて、ブラシの角度を適切に設定することができ、きれいな文字を表示することができる。
【0200】
また、本実施形態では、レンダリング処理部104bは、3つ以上の部分ストロークを連続して接続する場合に、最初の部分ストロークにおけるブラシの角度に一致するように、他の全ての部分ストロークにおけるブラシの角度を変更する。
【0201】
これにより、本実施形態によるタブレット端末1cは、2つ以上の角の部分がある場合でも、簡易な手法により、角の部分で結合する前後の部分ストロークにおける文字要素のブラシの角度を一致させることができる。
【0202】
また、本実施形態では、レンダリング処理部104bは、角の部分前後の部分ストロークにおけるブラシの角度の平均値に合わせて、角の部分前後の部分ストロークにおけるブラシの角度を変更するようにしてもよい。また、レンダリング処理部104bは、角の部分後の部分ストロークにおけるブラシの角度に合わせて、角の部分前の部分ストロークにおけるブラシの角度を変更するようにしてもよい。
【0203】
これらにより、本実施形態によるタブレット端末1cは、簡易な手法により、角の部分で結合する前後の部分ストロークにおける文字要素のブラシの角度を一致させることができる。
【0204】
また、本実施形態によるタブレット端末1cは、検出点調整部107を備える。検出点調整部107は、部分ストロークの検出点が、所定の検出点数以上になるように、部分ストロークの検出点を補間する。レンダリング処理部104bは、分類処理部103が分類した文字要素に対応する筆圧特性(圧力カーブ)に基づいて、所定の検出点数以上の検出点を有する部分ストロークの太さを調整して、部分ストロークを表示部21に表示する。
【0205】
これにより、本実施形態によるタブレット端末1cは、ストロークの角の部分の描画の不整合を低減できるとともに、例えば、手書き入力の検出点が少ない場合であっても、部分ストロークの太さを筆圧特性(圧力カーブ)の特性を忠実に反映した形状に調整することができる。
【0206】
また、本実施形態による制御方法は、タブレット端末1cの制御方法であって、分割処理ステップと、分類処理ステップと、レンダリング処理とを含む。分割処理ステップにおいて、分割処理部102が、入力された手書きストロークを角の部分で分割し、分割した部分ストロークを生成する。分類処理ステップにおいて、分類処理部103が、分割処理部102によって分割された部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する。レンダリング処理ステップにおいて、レンダリング処理部104bが、分類処理部103によって分類された文字要素に対応するブラシ情報及び筆圧特性に基づいて、部分ストロークの形状を調整するとともに、角の部分で結合する前後の部分ストロークにおける文字要素のブラシの角度が一致するように調整して、部分ストロークを表示部21に表示する。
【0207】
これにより、本実施形態による制御方法は、上述したタブレット端末1cと同様の効果を奏し、ストロークの角の部分の描画の不整合を低減し、手書きの良さを維持しつつ、きれいな文字(特に漢字)を表示することができる。
【0208】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、情報処理装置が、タブレット端末1(1a、1b、1c)である例を説明したが、これに限定されるものではない。情報処理装置は、例えば、スマートフォンやタブレットモードを備えるノートブック型パーソナルコンピュータなどであってもよい。
【0209】
また、上記の各実施形態において、使用するOSの一例として、Android(登録商標)を用いる例を説明したが、これに限定されるものではなく、例えば、iOS(登録商標)などの他のOSに適用してもよい。
【0210】
また、上記の各実施形態において、分割処理部102、分類処理部103、レンダリング処理部104(104a、104b)、及び検出点調整部107の処理は、アプリケーションプログラムにより実現されてもよいし、一部をデバイスドライバなどにより実現されてもよい。
また、情報処理装置が、ノートブック型パーソナルコンピュータである場合に、分割処理部102、分類処理部103、レンダリング処理部104(104a、104b)、及び検出点調整部107の処理の一部を、エンベデットコントローラが行うようにしてもよい。
【0211】
また、上記の各実施形態において、タブレット端末1(1a、1b、1c)が、学習処理部106を備える例を説明したが、これに限定されるものではなく、例えば、タブレット端末1(1a、1b、1c)が学習処理部106を備えない形態であってもよい。この場合、例えば、タブレット端末1(1a、1b、1c)に接続可能なサーバ装置などの外部装置が、学習処理部106を備えてもよい。
【0212】
また、上記の各実施形態は、各実施形態の一部又は全部を組み合わせて実施してもよい。
また、上記の各実施形態において、操作媒体の一例として、ペン30を用いる例を説明したが、これに限定されるものではない。操作媒体は、例えば、人の指などであってもよい。また、ペン30は、タブレット端末1(1a、1b、1c)と通信可能なものに限定されず、タブレット端末1(1a、1b、1c)と通信を行わないペンを用いてもよい。
【0213】
また、上記の第3及び第4の実施形態において、タブレット端末1b(1c)が、検出点調整部107を備える例を説明したが、これに限定されるものではなく、検出点調整部107を備えない形態であってもよい。
【0214】
なお、上述したタブレット端末1(1a、1b、1c)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したタブレット端末1(1a、1b、1c)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したタブレット端末1(1a、1b、1c)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0215】
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0216】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にタブレット端末1(1a、1b、1c)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0217】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0218】
1、1a、1b、1c タブレット端末
10、10a、10b、10c 制御部
11 プロセッサ
12 メインメモリ
13 フラッシュメモリ
20 タッチスクリーン
21 表示部
22 タッチセンサ部
23 周辺デバイス
24 オーディオシステム
25 マイク
26 スピーカ
27 ベースバンドチップ
28 無線部
29、31 無線通信部
30 ペン
32 センサ部
33 メモリ
34 MCU
40 記憶部
41 ブラシ情報記憶部
42 筆圧特性記憶部
43 CE分類情報記憶部
44 手書きストローク記憶部
45 部分ストローク記憶部
46 学習データ記憶部
100、100a、100b、100c 情報処理システム
101 入力処理部
102 分割処理部
103 分類処理部
104、104a、104b レンダリング処理部
105 表示処理部
106 学習処理部
107 検出点調整部
【手続補正書】
【提出日】2024-07-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、
前記分割処理部が分割した前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する分類処理部と、
前記分類処理部が分類した前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するレンダリング処理部と
を備え、
前記レンダリング処理部は、前記角の部分前の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更する
情報処理装置。
【請求項2】
前記レンダリング処理部は、前記部分ストロークの描画方向を示す角度であるストローク角度であって、前記角の部分前の前記文字要素におけるストローク角度に基づいて、前記角の部分前の前記部分ストロークにおける前記ブラシの角度を決定し、決定した前記ブラシの角度に一致するように、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更する
請求項1に記載の情報処理装置。
【請求項3】
入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、
前記分割処理部が分割した前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する分類処理部と、
前記分類処理部が分類した前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するレンダリング処理部と
を備え、
前記レンダリング処理部は、3つ以上の前記部分ストロークを連続して接続する場合に、最初の前記部分ストロークにおける前記ブラシの角度に一致するように、他の全ての前記部分ストロークにおける前記ブラシの角度を変更する
情報処理装置。
【請求項4】
入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、
前記分割処理部が分割した前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する分類処理部と、
前記分類処理部が分類した前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するレンダリング処理部と
を備え、
前記レンダリング処理部は、前記角の部分前後の前記部分ストロークにおける前記ブラシの角度の平均値に合わせて、前記角の部分前後の前記部分ストロークにおける前記ブラシの角度を変更する
情報処理装置。
【請求項5】
入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、
前記分割処理部が分割した前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する分類処理部と、
前記分類処理部が分類した前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するレンダリング処理部と
を備え、
前記レンダリング処理部は、前記角の部分後の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分前の前記部分ストロークにおける前記ブラシの角度を変更する
情報処理装置。
【請求項6】
前記表示部と、
前記表示部の画面上の検出面における操作媒体の接触及び接触位置を検出するタッチセンサ部と、
前記タッチセンサ部が検出した前記操作媒体の接触位置に基づいて、前記手書きストロークの入力を検出する入力処理部と
を備え、
前記分割処理部は、前記入力処理部が検出した前記手書きストロークを分割し、分割した前記部分ストロークを生成する
請求項1から請求項5のいずれか一項に記載の情報処理装置。
【請求項7】
前記入力処理部は、前記手書きストロークの入力を検出するとともに、前記操作媒体の接触位置の移動軌跡を、入力された前記手書きストロークとして、前記表示部に表示し、
前記レンダリング処理部は、前記入力された前記手書きストロークに置き換えて、調整した前記部分ストロークに基づく前記手書きストロークを表示部に表示する
請求項6に記載の情報処理装置。
【請求項8】
情報処理装置の制御方法であって、
分割処理部が、入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成するステップと、
分類処理部が、前記分割処理部によって分割された前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類するステップと、
レンダリング処理部が、前記分類処理部によって分類された前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するステップと
を含み、
前記部分ストロークを表示部に表示するステップにおいて、前記レンダリング処理部が、前記角の部分前の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更する
制御方法。
【請求項9】
情報処理装置の制御方法であって、
分割処理部が、入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成するステップと、
分類処理部が、前記分割処理部によって分割された前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類するステップと、
レンダリング処理部が、前記分類処理部によって分類された前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するステップと
を含み、
前記部分ストロークを表示部に表示するステップにおいて、前記レンダリング処理部が、3つ以上の前記部分ストロークを連続して接続する場合に、最初の前記部分ストロークにおける前記ブラシの角度に一致するように、他の全ての前記部分ストロークにおける前記ブラシの角度を変更する
制御方法。
【請求項10】
情報処理装置の制御方法であって、
分割処理部が、入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成するステップと、
分類処理部が、前記分割処理部によって分割された前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類するステップと、
レンダリング処理部が、前記分類処理部によって分類された前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するステップと
を含み、
前記部分ストロークを表示部に表示するステップにおいて、前記レンダリング処理部が、前記角の部分前後の前記部分ストロークにおける前記ブラシの角度の平均値に合わせて、前記角の部分前後の前記部分ストロークにおける前記ブラシの角度を変更する
制御方法。
【請求項11】
情報処理装置の制御方法であって、
分割処理部が、入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成するステップと、
分類処理部が、前記分割処理部によって分割された前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類するステップと、
レンダリング処理部が、前記分類処理部によって分類された前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するステップと
を含み、
前記部分ストロークを表示部に表示するステップにおいて、前記レンダリング処理部が、前記角の部分後の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分前の前記部分ストロークにおける前記ブラシの角度を変更する
制御方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
上記問題を解決するために、本発明の一態様は、入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成する分割処理部と、前記分割処理部が分割した前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類する分類処理部と、前記分類処理部が分類した前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するレンダリング処理部とを備え、前記レンダリング処理部は、前記角の部分前の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更する
情報処理装置である。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】削除
【補正の内容】
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0015
【補正方法】変更
【補正の内容】
【0015】
また、本発明の一態様は、情報処理装置の制御方法であって、分割処理部が、入力された手書きストロークを、前記ストロークの描画方向の変化に基づいて生じる頂点である角の部分で分割し、分割した部分ストロークを生成するステップと、分類処理部が、前記分割処理部によって分割された前記部分ストロークを、漢字の文字を構成する基本パターンである複数の文字要素のうちのいずれかに分類するステップと、レンダリング処理部が、前記分類処理部によって分類された前記文字要素に対応するブラシ情報及び筆圧特性に基づいて、前記部分ストロークの形状を調整するとともに、前記角の部分で結合する前後の前記部分ストロークにおける前記文字要素のブラシの角度が一致するように調整して、前記部分ストロークを表示部に表示するステップとを含み、前記部分ストロークを表示部に表示するステップにおいて、前記レンダリング処理部が、前記角の部分前の前記部分ストロークにおける前記ブラシの角度に合わせて、前記角の部分後の前記部分ストロークにおける前記ブラシの角度を変更する制御方法である。