JP2014067285A - Handwriting input device, handwriting input program, and control method for handwriting input device - Google Patents
Handwriting input device, handwriting input program, and control method for handwriting input device Download PDFInfo
- Publication number
- JP2014067285A JP2014067285A JP2012213038A JP2012213038A JP2014067285A JP 2014067285 A JP2014067285 A JP 2014067285A JP 2012213038 A JP2012213038 A JP 2012213038A JP 2012213038 A JP2012213038 A JP 2012213038A JP 2014067285 A JP2014067285 A JP 2014067285A
- Authority
- JP
- Japan
- Prior art keywords
- handwriting input
- correction
- vector
- sample point
- displacement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
本発明は手書入力による描画を行う手書入力装置、手書入力プログラム、および手書入力装置の制御方法に関する。 The present invention relates to a handwriting input device that performs drawing by handwriting input, a handwriting input program, and a control method for a handwriting input device.
従来、タブレット入力装置や、タッチパネル入力装置を用いた手書入力技術が知られている。このような手書入力技術では、例えば、手書入力された軌跡の座標をサンプリングして検出し、その検出座標に基づいて、手書入力軌跡が表示される。このような手書入力技術の分野において、描画の滑らかさや軌跡の正確さを得るために入力される描線を補正する技術として、次のような提案がなされている。 Conventionally, a handwriting input technique using a tablet input device or a touch panel input device is known. In such a handwriting input technique, for example, the coordinates of a locus input by handwriting are sampled and detected, and the handwriting input locus is displayed based on the detected coordinates. In the field of such handwriting input technology, the following proposal has been made as a technology for correcting a drawn line to obtain smoothness of drawing and accuracy of a locus.
特許文献1には、手書入力の入力範囲に応じて、検出座標のサンプル数を設定する技術や、サンプリングして得た検出座標に基づき最小二乗法による演算を行って描画曲線を算出する技術が開示されている。
特許文献2には、座標データの取得を複数回行って、取得した座標データを加算平均した座標値を出力する技術、および入力者の描画速度に応じて座標データの加算平均回数を変更する技術が開示されている。 Japanese Patent Application Laid-Open No. 2004-151867 discloses a technique for performing coordinate data acquisition a plurality of times and outputting a coordinate value obtained by averaging the acquired coordinate data, and a technique for changing the average number of coordinate data according to the drawing speed of the input person. Is disclosed.
特許文献3には、最新の座標が検出されるたびに、最新の座標と該最新の座標の検出処理の1回前の処理で検出された座標とがそれぞれ示す2つの点間の距離に応じて、座標検出のサンプリング間隔を設定する技術が開示されている。
In
なお、既存の画像の平滑化を行い画像に含まれるノイズを低減または除去する技術としては、平均化フィルタや、ガウシアンフィルタなどが知られている。 As a technique for smoothing an existing image and reducing or removing noise included in the image, an averaging filter, a Gaussian filter, and the like are known.
しかしながら、上述のような従来技術は、単に、サンプル数の変更またはサンプル間隔の変更により描画の滑らかさや、応答反応性を確保するにとどまっているため、補正後の描画曲線は、過去の入力データの影響を受け得る。すなわち、従来技術では、過去から現在までの手書入力の変位の変化の影響を考慮していない。 However, since the conventional technology as described above merely ensures the smoothness of drawing and the response responsiveness by changing the number of samples or changing the sample interval, the corrected drawing curve represents past input data. Can be affected. That is, in the prior art, the influence of the change in the displacement of the handwriting input from the past to the present is not considered.
このため、過去の入力データの影響により、描画追従性、または、描画の円滑さの点において、所望の結果が得られない場合があった。 For this reason, a desired result may not be obtained in terms of drawing followability or drawing smoothness due to the influence of past input data.
例えば、単純に入力座標の加算平均を算出するだけでは、補正値において過去の入力データの影響が均一に現れる。よって、手書入力のスピードが急に変化した場合、実際の手書入力に対して、描画曲線の追従性が低下する。 For example, simply calculating the average of input coordinates simply causes the influence of past input data to appear uniformly in the correction value. Therefore, when the speed of handwriting input changes suddenly, the followability of the drawing curve decreases with respect to the actual handwriting input.
また、例えば、手書入力が大きくカーブした部分においては、過去データの直進性が強く補正値に表れるので、実際の手書入力データと補正値との間に大きな差が生じてしまう。 Further, for example, in a portion where the handwriting input is greatly curved, the straightness of the past data is strong and appears in the correction value, so that a large difference occurs between the actual handwriting input data and the correction value.
本発明は、上記問題に鑑みてなされたものであり、その目的は、サンプル点の変位の補正に用いる重み付けを手書入力の入力状況に応じて適宜変更することで、手書入力の追従性の向上、および、円滑化の少なくともいずれかを図ることができる手書入力装置を実現することにある。 The present invention has been made in view of the above problems, and its object is to appropriately change the weight used for correcting the displacement of the sample points in accordance with the input state of the handwriting input, thereby making it possible to follow the handwriting input. An object of the present invention is to realize a handwriting input device capable of at least one of improvement and smoothing.
上記の課題を解決するために、本発明の一態様に係る手書入力装置は、手書入力をサンプリングして得られる複数のサンプル点に基づいて、描線表示のための手書入力データを生成する手書入力装置において、サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正手段を備える。 In order to solve the above problems, a handwriting input device according to one aspect of the present invention generates handwriting input data for line drawing based on a plurality of sample points obtained by sampling handwriting input. In the handwriting input device, the handwriting input data is obtained by correcting the displacement of the sample point using the weighting according to the old and new of the displacement of the sample point according to the change of the derived value obtained from the displacement of the sample point. A correction means for generating is provided.
上記の課題を解決するために、本発明の一態様に係る手書入力プログラムは、手書入力をサンプリングして得られる複数のサンプル点に基づいて、描線表示のための手書入力データを生成する手書入力プログラムであって、サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正ステップをコンピュータに実行させる。 In order to solve the above problems, a handwriting input program according to one aspect of the present invention generates handwriting input data for line drawing display based on a plurality of sample points obtained by sampling handwriting input. This is a handwriting input program that corrects the displacement of the sample point using a weighting according to the old and new of the displacement of the sample point according to the change in the derived value obtained from the displacement of the sample point. A computer executes a correction step for generating data.
上記の課題を解決するために、本発明の一態様に係る手書入力装置の制御方法は、手書入力をサンプリングして得られる複数のサンプル点に基づいて、描線表示のための手書入力データを生成する手書入力装置の制御方法において、サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正ステップを含む。 In order to solve the above-described problem, a control method for a handwriting input device according to one aspect of the present invention is based on a plurality of sample points obtained by sampling handwriting input, In the control method of the handwriting input device that generates data, according to the change of the derived value obtained from the displacement of the sample point, the displacement of the sample point is corrected by using the weight according to the old and new of the displacement of the sample point. A correction step for generating the handwriting input data.
本発明の一態様によれば、サンプル点の変位の補正に用いる重み付けを手書入力の入力状況に応じて適宜変更することで、手書入力の追従性の向上、および、円滑化の少なくともいずれかを図ることができるという効果を奏する。 According to one aspect of the present invention, the weight used for correcting the displacement of the sample points is appropriately changed according to the input state of handwriting input, thereby improving at least one of smoothing and smoothing of handwriting input. There is an effect that can be achieved.
〔実施形態1〕
以下、本発明の一実施形態について、図1〜図3を用いて説明すれば、以下のとおりである。
Hereinafter, it will be as follows if one Embodiment of this invention is described using FIGS. 1-3.
まず、図1を用いて、本発明の一実施形態である手書入力装置1の構成について説明すると次のとおりである。図1は、手書入力装置1の機能的な構成の一例について示す機能ブロック図である。図1に示す手書入力装置1は、ユーザーから手書入力による操作を受け付け、受け付けた手書入力を補正した手書入力データを生成し、補正後の手書入力データを出力する。手書入力装置1は、例示的には、タブレット端末や、スマートフォンなどの高機能携帯電話機等のタッチパネル入力装置を備える装置である。
First, the configuration of a
手書入力装置1は、手書入力の速度の変化に応じて、手書入力に対する描画の追従性や、描画の滑らかさを調整する。
The
図1に示すように手書入力装置1は、記憶部10、制御部20、および、タッチパネル表示部30と、を備える構成である。
As shown in FIG. 1, the
記憶部10は、各種データ、表示コンテンツおよびプログラムを記憶させておくものである。また、制御部20は、電子機器1の各種機能を統括的に制御するものである。制御部20は、例えば、タッチパネル表示部30における表示処理およびタッチ操作に応じた情報処理を制御する。記憶部10および制御部20の詳細については後述する。
The
タッチパネル表示部30は、ユーザーからの接触操作を受け付ける操作部31および画面表示を行う表示部32を備える。なお、操作部31および表示部32は、例示的に、ユーザーから見て操作部31および表示部32の順で積層されており、ユーザーが表示部32の表示画面を視認しながら、当該表示画面に対して接触操作(タッチ操作)を行うことができるようになっている。
The touch
操作部31は、表示部32の表示画面に対するユーザーの接触操作を検出して、当該接触操作に関する操作データを生成し、生成した操作データを制御部20に供給する。なお、操作データには、接触操作位置や、接触操作の向き、加速度および強さなどが含まれていてもよい。
The
以下では、説明のため、タッチパネル表示部30(操作部31)に対する手書入力操作(文字や曲線の手書入力等)を検出することで操作データを生成するものとする。また、手書入力操作を検出することにより生成された操作データのことを手書入力データと称する。 Hereinafter, for the sake of explanation, it is assumed that operation data is generated by detecting a handwriting input operation (such as handwriting input of characters or curves) on the touch panel display unit 30 (operation unit 31). The operation data generated by detecting the handwriting input operation is referred to as handwriting input data.
手書入力操作の検出方法に特に制限はなく、任意の検出手法を用いることができる。また、操作部31は、ユーザーの指によるタッチ操作だけでなく、スタイラスやタッチペンなどの入力器具Mを用いた接触操作にも対応している。
There is no restriction | limiting in particular in the detection method of handwritten input operation, Arbitrary detection methods can be used. The
操作部31が接触操作位置を検出する具体的な手法としては、例えば、マトリクス・スイッチ、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式、および、対象物の画像を検出する方式(光センサ方式)などが挙げられる。しかしながら、これに限られず、接触操作位置を検出する手法には、種々の手法を適宜適用することができる。なお、上記した接触操作位置を検出する手法には、「接触」だけでなく「近接」を検出する手法が含まれる。ただし、以下では、説明の便宜上、「接触」および「近接」の区別をすることなく、単に「接触」とのみ記載する。
Specific methods for the
また、操作部31は、所定の間隔により、接触操作の検出を実行し、上記手書入力データを生成する。手書入力データの詳細については後述する。
In addition, the
表示部32は、画像データを表示するための表示画面を有しており、制御部20から画像データを受信し、受信した画像データに基づいてその表示画面に画像を表示するものである。表示部32は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、EL(Electroluminescence)ディスプレイなどにより実現することができる。
The
(記憶部の詳細)
次に、図1を引き続き参照しながら、記憶部10の詳細について説明する。図1に示すように記憶部10は、サンプル点履歴情報記憶部11、速度閾値記憶部12、重み記憶部13、および補正データ履歴情報記憶部14を含む構成である。
(Details of storage unit)
Next, details of the
サンプル点履歴情報記憶部11には、手書入力データが記憶される。手書入力データは、具体的には、タッチパネル表示部30におけるタッチ操作のサンプリングによって得られるサンプル点により構成される。よって、サンプル点履歴情報記憶部11には、サンプリングによって得られるサンプル点が時系列ごとに記憶される。
The sample point history
サンプル点は、例えば、タッチパネル表示部30における操作位置を示す座標値(例えば、X座標およびY座標から成る2次元座標)により表現されていてもよい。 The sample point may be expressed by, for example, a coordinate value indicating an operation position on the touch panel display unit 30 (for example, a two-dimensional coordinate composed of an X coordinate and a Y coordinate).
なお、手書入力データには、サンプル点に加えて、前のサンプル点からの変位を示すベクトルが含まれていてもよい。また、手書入力データには、ベクトルの大きさや、角度が含まれていてもよい。また、ベクトルの角度は、基準となる方向(例えば、表示画面の座標系のX軸方向)と、ベクトルの方向との間の角度により表現されていてもよい。 Note that the handwriting input data may include a vector indicating the displacement from the previous sample point in addition to the sample point. The handwriting input data may include a vector size and an angle. The vector angle may be expressed by an angle between a reference direction (for example, the X-axis direction of the coordinate system of the display screen) and the vector direction.
速度閾値記憶部12には、タッチパネル表示部30において検出される手書入力の速度の変化量、および/または、変化率と比較するための閾値が記憶される。
The speed
重み記憶部13には、手書入力データの補正に用いるための重みに関する情報が記憶される。なお、重み記憶部13に記憶される重み情報は、重み付けを行うための値そのものであってもよいし、重み付けを行うための値を導出するための算出式であってもよい。
The
補正データ履歴情報記憶部14には、補正後の手書入力データ、すなわち補正データが記憶される。補正データは、手書入力データを構成するサンプル点の補正値、および、サンプル点の変位を示すベクトルの補正値(補正ベクトル)を含む。よって、補正データ履歴情報記憶部14には、サンプル点およびベクトルの補正値が時系列ごとに記憶される。
The corrected data history
(制御部の詳細)
次に、図1をさらに参照しながら、制御部20の詳細について説明する。図1に示すように、制御部20は、サンプル点取得部21、速度条件判定部22、重み設定部23、補正データ生成部24、および描画部25を備える構成である。
(Details of control unit)
Next, details of the
サンプル点取得部21は、タッチパネル表示部30における所定の間隔による接触操作の検出処理(すなわちサンプリング処理)を制御して、サンプル点を取得する。具体的には、サンプル点取得部21は、所定の間隔で、接触操作の検出を実行するようタッチパネル表示部30の操作部31に指示し、操作部31から手書入力データを取得し、手書入力データに基づいてサンプル点を取得する。言い換えれば、サンプル点取得部21は、タッチパネル表示部30において行われる手書入力をサンプリングして得られる複数のサンプル点を取得する。
The sample
また、サンプル点取得部21は、サンプル点間のベクトル(変位)を算出する。図2を用いて、サンプル点取得部21によるベクトル算出処理について説明すると次のとおりである。図2は、タッチパネル表示部30の表示画面において、ユーザーが左から右に水平方向に手書入力を行った場合について示している。
The sample
図2の“元データ”に示すように、サンプル点が、P0、P1、P2、およびP3の順に取得されているとする。このときサンプル点取得部21は、P0およびP1に基づいて、P0からP1への変位を示すベクトルv0を求める。同様に、サンプル点取得部21は、P1およびP2からベクトルv1を求め、P2およびP3からベクトルv2を求める。
Assume that sample points are acquired in the order of P 0 , P 1 , P 2 , and P 3 as shown in “original data” in FIG. At this time, the sample
なお、図2では、P3が最新のサンプル点であり、ベクトルv2が最新のベクトル(以下、最新ベクトルと称する)である。 In FIG. 2, P 3 is the latest sample point, the vector v 2 is the latest vector (hereinafter, the latest called vector).
サンプル点取得部21は、サンプリングによって得られたサンプル点と、サンプル点に基づいて求めたベクトルと、ベクトルの大きさおよび角度とを、速度条件判定部22に供給するとともに、サンプル点履歴情報記憶部11に記憶する。
The sample
速度条件判定部22は、タッチパネル表示部30における手書入力の速度の変化量または変化率が閾値以上であるか否かを判定する。速度条件判定部22は、上記閾値を速度閾値記憶部12から取得することができる。
The speed
手書入力の速度は、タッチパネル表示部30での手書入力のサンプリングにおけるサンプル点間の距離(すなわちベクトルの大きさ)に基づいて求めることができる。例えば、速度条件判定部22は、サンプル点履歴情報記憶部11に記憶されているベクトルの大きさを取得して手書入力の速度を求めることができる。
The speed of handwriting input can be obtained based on the distance between sample points (namely, the magnitude of a vector) in sampling of handwriting input on the touch
また、速度条件判定部22は、例えば、手書入力の速度の変化を、(1)最新ベクトルの大きさと、当該最新ベクトルよりも前に求められたベクトルの大きさとに基づいて求めてもよいし、(2)最新ベクトルの大きさと、過去の補正により得られた補正ベクトルの大きさとに基づいて求めてもよい。
Further, the speed
例えば、速度条件判定部22は、(1)最新ベクトルの大きさと、当該最新ベクトルの直前のベクトルの大きさとに基づいて変化を求めてもよいし、(2)最新ベクトルの大きさと、当該最新ベクトルが取得される直前の補正により得られた補正ベクトルの大きさとに基づいて手書入力の速度を求めてもよい。
For example, the speed
なお、以下において、最新ベクトルの直前のベクトルおよび最新ベクトルの直前の補正ベクトルのことをまとめて、過去ベクトルと称する場合がある。 In the following description, the vector immediately before the latest vector and the correction vector immediately before the latest vector may be collectively referred to as a past vector.
重み設定部23は、手書入力の速度の変化に応じて、手書入力データに対する補正を行うための重み値を設定する。詳細は後述するが、手書入力データの補正は、例示的に、最新ベクトルと、直前の補正ベクトルとの重み付け加算により実行される。そこで、重み設定部23は、最新ベクトルに対する重み値と、直前の補正ベクトルに対する重み値とを設定する。
The
重み設定部23は、最新ベクトルに対する重み値を直前の補正ベクトルに対する重み値と同一にしてもよい。
The
重み設定部23は、最新ベクトルに対する重み値を直前の補正ベクトルに対する重み値よりも大きくしてもよい。この場合、手書入力の追従性の向上を図ることができる。
The
また、重み設定部23は、最新ベクトルに対する重み値を直前の補正ベクトルに対する重み値よりも小さくしてもよい。この場合、手書入力の結果において描画される曲線の滑らかさを向上させることができる。
Further, the
このため、重み設定部23が設定する重み値は描線をどのように表現したいのかに応じて、適宜大きくしたり小さくしたりすることができる。
For this reason, the weight value set by the
重み設定部23は、例えば、以下のとおり重み値を設定することができる。
For example, the
[設定1]手書入力速度が急激に早くなったときにおいて、その変化に対応して追従性を向上させたい場合は、重み値を大きくする。 [Setting 1] When the handwriting input speed is rapidly increased, the weight value is increased when it is desired to improve the followability corresponding to the change.
[設定2]手書入力速度が急激に早くなったときにおいて、その変化に対応して曲線の滑らかさを向上させたい場合は、重み値を小さくする。 [Setting 2] When the handwriting input speed is rapidly increased, the weight value is decreased in order to improve the smoothness of the curve corresponding to the change.
[設定3]手書入力速度が急激に遅くなったときにおいて、その変化に対応して追従性を向上させたい場合は、重み値を大きくする。 [Setting 3] When the handwriting input speed is suddenly decreased, the weight value is increased in order to improve the follow-up performance in response to the change.
[設定4]手書入力速度が急激に遅くなったときに、その変化に対応して曲線の滑らかさを向上させたい場合は、重み値を小さくする。 [Setting 4] When the handwriting input speed is abruptly decreased, the weight value is decreased in order to improve the smoothness of the curve corresponding to the change.
[設定5]手書入力速度がそれほど変わらないのであれば、重み値を均等にする。 [Setting 5] If the handwriting input speed does not change so much, the weight values are made equal.
補正データ生成部24は、重み設定部23が設定した重み値を用いて手書入力データを補正することで補正データを生成する。そして、補正データ生成部24は、補正ベクトルを補正データとして描画部25に供給するとともに、補正データを補正データ履歴情報記憶部14に記憶する。なお、補正データ生成部24における補正の詳細については後述する。
The correction
描画部25は、補正データ生成部24から供給される補正データに基づいて手書入力結果を示す画像データを生成し、生成した画像データを表示部32に供給する。
The
(手書入力データの補正の詳細)
図2を用いて、補正データ生成部24における手書入力データの補正の具体例について説明すると次のとおりである。
(Details of correction of handwritten input data)
A specific example of the correction of handwriting input data in the correction
図2に、手書入力装置1における手書入力データの“元データ”、当該“元データ”を、重みを一定にして補正したときの補正ベクトル、および、当該“元データ”を、重みを変化させて補正したときの補正ベクトルの一例を示している。
In FIG. 2, the “original data” of the handwriting input data in the
“元データ”は、上述のように、サンプリングされたサンプル点P0、P1、P2、およびP3から構成される補正前の手書入力データである。 “Original data” is handwritten input data before correction composed of sampled sample points P 0 , P 1 , P 2 , and P 3 as described above.
P0P1間のベクトルv0の大きさと、P1P2間のベクトルv1の大きさとは略同じである。一方、P2P3間のベクトルv2の大きさは、P0P1間のベクトルv1またはP1P2間のベクトルv0の大きさよりも大幅に大きい。 The magnitude of the vector v 0 between P 0 P 1 and the magnitude of the vector v 1 between P 1 P 2 are substantially the same. On the other hand, the magnitude of the vector v 2 between P 2 P 3 is significantly larger than the magnitude of the vector v 1 between P 0 P 1 or the vector v 0 between P 1 P 2 .
補正データ生成部24は、上述のとおり、最新のサンプル点、および、該最新のサンプル点の直前のサンプル点の変位を示す最新ベクトルと、直前の変位を示す補正ベクトルとの加重和(加重平均)により補正ベクトルを生成する。“重みを変化させた補正値”は、このように加重平均により補正値を生成する場合について示している。
As described above, the correction
一方、“重みを一定にした補正値”は、最新の変位と、直前の変位との間で相加平均(すなわち重み一定とした重み付け和)を算出することで補正ベクトルを生成する場合について示している。 On the other hand, “correction value with constant weight” indicates a case where a correction vector is generated by calculating an arithmetic average (that is, a weighted sum with constant weight) between the latest displacement and the previous displacement. ing.
以下、より具体的に、“重みを一定にした補正値”および“重みを変化させた補正値”のそれぞれについて説明する。 Hereinafter, each of “a correction value with a constant weight” and “a correction value with a changed weight” will be described in more detail.
[重みを一定にした補正値]
図2に示す“重みを一定にした補正値”について説明すると次のとおりである。まず、ベクトルv0は、補正ベクトルv´0と同様とする。
[Correction value with constant weight]
The “correction value with a constant weight” shown in FIG. 2 will be described as follows. First, the vector v 0 is the same as the correction vector v '0.
次に、ベクトルv1の補正ベクトルv´1は、ベクトルv1と、直前の補正ベクトルv´0の相加平均により得られる。ベクトルv1と補正ベクトルv´0とは略同じであるので、補正ベクトルv´1は、ベクトルv0、ベクトルv1および補正ベクトルv´0と同様である。 Next, the correction vector v '1 vector v 1 is the vector v 1, obtained by the arithmetic mean of the previous correction vector v' 0. Since the vector v 1 and the correction vector v '0 are substantially the same, the correction vector v' 1 is the vector v 0, which is the same as the vector v 1 and the correction vector v '0.
続いて、ベクトルv2の補正ベクトルv´2は、ベクトルv2と、直前の補正ベクトルv´1との相加平均により求められる。この相加平均は、例えば、v´2=0.5v2+0.5v´1で求めることができる。また、上記に限られず、最新ベクトルから過去の所定のサンプル点までの過去ベクトルを用いる移動平均の算出式を用いても構わない。 Subsequently, the correction vector v '2 vector v 2 is obtained by the arithmetic mean of the vector v 2, and the correction vector v' 1 immediately before. This arithmetic average can be obtained by, for example, v ′ 2 = 0.5 v 2 +0.5 v ′ 1 . The present invention is not limited to the above, and a moving average calculation formula using past vectors from the latest vector to a predetermined past sample point may be used.
ベクトルv2は、直前の補正ベクトルv´1よりも大幅に大きい。しかしながら、ベクトルv2と、直前の補正ベクトルv´1とは同じ重み付けにより加算されるので、加算により得られる補正ベクトルv´2には、ベクトルv2の影響が大きく現れる。このため補正ベクトルv´2の大きさは、ベクトルv2の大きさよりも大幅に小さくなる。 Vector v 2 is much larger than the immediately preceding correction vector v '1. However, a vector v 2, since the correction vector v '1 immediately before being summed by the same weighting, the correction vector v' 2 obtained by summing appears greatly affected by the vector v 2. Thus the magnitude of the correction vector v '2 is significantly smaller than the magnitude of the vector v 2.
なお、上記“[設定5]手書入力速度がそれほど変わらないのであれば、重み値を均等にする。”の場合、重み設定部23は、上述のように均一な重みを設定してもよい。
In the case of “[Setting 5] If the handwriting input speed does not change so much, the weight values are equalized.”, The
[重みを変化させた補正値]
“重みを変化させた補正値”について説明すると次のとおりである。以下で説明する手書入力データの補正は、上述の“[設定1]手書入力速度が急激に早くなったときにおいて、その変化に対して追従性を向上させたい場合は、重み値を大きくする。”に該当する。
[Correction value with changing weight]
The “correction value with the weight changed” will be described as follows. The correction of the handwriting input data described below is performed by increasing the weight value when it is desired to improve the followability to the change when the above-mentioned “[Setting 1] handwriting input speed suddenly increases. Corresponds to "Yes."
具体的には、補正データ生成部24は、重み設定部23が設定した重みを用いて、最新ベクトルおよび直前の補正ベクトルの加重和を算出することで補正ベクトルを得る。この加重和は、以下の式(A)により表わすことができる。
Specifically, the correction
v´n=αvn+(1−α)v´n−1・・・(A)
上記式(A)において、v´nは、最新の補正ベクトル、vnは、最新ベクトル、v´n−1は、最新の補正ベクトルの直前の補正ベクトルである。また、αは、重み設定部23が設定する重み値を示している。
v ′ n = αv n + (1−α) v ′ n−1 (A)
In the above formula (A), v 'n the latest correction vector, v n is the most recent vector, v' n-1 is the correction vector of the immediately preceding the latest correction vector. Α represents a weight value set by the
なお、上記式(A)に限られず、最新ベクトルから過去の所定のサンプル点までの過去ベクトルを用いる加重移動平均の算出式を用いても構わない。 The formula (A) is not limited to the above formula (A), and a weighted moving average calculation formula using a past vector from the latest vector to a predetermined past sample point may be used.
図2に示す“重みを変化させた補正値”について説明すると次のとおりである。まず、ベクトルv0、ベクトルv1、補正ベクトルv´´0、補正ベクトルv´´1とは相互に同じであるものとする。 The “correction value with the weight changed” shown in FIG. 2 will be described as follows. First, the vector v 0, the vector v 1, the correction vector V'' 0, it is assumed that the same to each other with the correction vector v'' 1.
ここで、補正ベクトルv´´2は、ベクトルv2と、直前の補正ベクトルv´1との加重平均により求められる。この加重平均は、例えば、重み設定部23が、上記式(A)における重み値αをα>0.5と設定することで求めることができる。
The correction vector V'' 2 is determined by a weighted average of the vector v 2, and the correction vector v '1 immediately before. This weighted average can be obtained, for example, by the
ベクトルv2は、直前の補正ベクトルv´1よりも大幅に大きいので、上記式(A)においてベクトルv2(vn;n=2)に適用する重み値(α)を大きくする一方で、直前の補正ベクトルv´1(v´n−1;n=2)に適用する重み値(1−α)を小さくする。 Since the vector v 2 is significantly larger than the immediately preceding correction vector v ′ 1 , while the weight value (α) applied to the vector v 2 (v n ; n = 2) in the above equation (A) is increased, The weight value (1-α) applied to the immediately preceding correction vector v ′ 1 (v ′ n−1 ; n = 2) is reduced.
これにより、補正ベクトルv´´2には、ベクトルv2が大きく反映された補正が施される。 Thus, the correction vector V'' 2 is subjected to correction vector v 2 is greatly reflected.
この加重平均により求めた補正ベクトルにより得られる補正値P´´3は、相加平均により求めた補正ベクトルにより得られる補正値P´3と比べて、サンプル点P3との差が小さいため、追従性のよい入力が得られる。 Since the correction value P ″ 3 obtained from the correction vector obtained by this weighted average has a smaller difference from the sample point P 3 than the correction value P ′ 3 obtained from the correction vector obtained by the arithmetic mean, Input with good followability can be obtained.
(処理の流れ)
次に、図3を用いて、手書入力装置1における手書入力データの補正処理の流れについて説明する。図3は、手書入力装置1における手書入力データの補正処理の流れの一例について示すフローチャートである。
(Process flow)
Next, the flow of correction processing of handwriting input data in the
図3に示すように、タッチパネル表示部30が手書入力を受け付けると(S11)、サンプル点取得部21が、当該手書入力による手書入力データを取得する(S12)。すなわち、サンプル点取得部21は、サンプリングにより得られる最新ベクトルを取得する。
As shown in FIG. 3, when the touch
次に、速度条件判定部22が、手書入力の速度の変化量または変化率を算出する(S13)。具体的には、速度条件判定部22は、過去ベクトル(元データの変位を示すベクトルまたは補正された変位を示すベクトル)と最新ベクトルとの間における速度の変化量または変化率を算出する(S13)。
Next, the speed
さらに、速度条件判定部22は、上記変化量または変化率が閾値以上か否かを判定する(S14)。変位が閾値以上であれば(S14においてYES)、重み設定部23が、重みを計算し、補正データを生成するための重み値に設定する(S15)。すなわち、重み設定部23は、補正に用いる最新ベクトルおよび直前の補正ベクトルに応じて計算した重みを重み値に設定する。
Furthermore, the speed
一方、変位が閾値未満の場合(S14においてNO)、重み設定部23は、各変位に対して一定の重みを重み値に設定する(S16)。
On the other hand, when the displacement is less than the threshold (NO in S14), the
次に、補正データ生成部24が、S15またはS16において設定された重み値を用いて補正データを生成する(S17)。
Next, the correction
(重み付けに関するより詳細な説明)
以下において、手書入力装置1における重み付けに関するより詳細な説明を以下に記載する。
(More detailed explanation on weighting)
Below, the more detailed description regarding the weighting in the
[重みを変化させるための条件]
以上では、S13およびS14において、速度条件判定部22が、速度の変化量に対する閾値または速度の変化率に対する閾値を判定に用いることについて説明したが、これらの閾値について以下に詳細に説明する。
[Conditions for changing weights]
In the above description, in S13 and S14, the speed
[速度の変化量に対して閾値を設定する]
速度の変化量に対して閾値を設定する場合、以下のとおりに設定することができる。
[Set threshold for speed change]
When a threshold is set for the amount of change in speed, it can be set as follows.
[1] 予め設定しておいた定数aと、最新ベクトルVnの大きさとの差を計算し、下記閾値Xに関する条件式(B−1)を満たす場合に重みを変更するようにしてもよい。 [1] and the constant a that is set in advance, calculates the difference between the magnitude of the most recent vector V n, it may be changed weights when satisfying condition concerning following threshold X to (B-1) .
|Vn|−a > X ・・・(B−1)
上記式(B−1)において|Vn|は、ベクトルの大きさを表す。
| V n | -a> X ··· (B-1)
In the above formula (B-1), | V n | represents the magnitude of the vector.
[2] また、最新ベクトルの大きさと、過去ベクトルの大きさとの差を計算し、下記閾値Xに関する条件式(B−2)または(B−3)を満たす場合に重みを変更するようにしてもよい。 [2] Also, the difference between the size of the latest vector and the size of the past vector is calculated, and the weight is changed when the following conditional expression (B-2) or (B-3) regarding the threshold value X is satisfied. Also good.
|Vn|−|Vn−1| > X ・・・(B−2)
または、
|Vn|−|V´n−1| > X ・・・(B−3)
[速度の変化率に対して閾値を設定する]
また、速度の変化率に対して閾値を設定する場合、以下のとおり、最新ベクトルの大きさと過去ベクトルの大きさとの変化率を計算し、下記閾値Xに係る条件式(B−4)〜(B−7)のいずれかを満たす場合に重みを変更するようにしてもよい。
| V n | − | V n−1 |> X (B-2)
Or
| V n | − | V ′ n −1 |> X (B-3)
[Set threshold for speed change rate]
When a threshold is set for the rate of change in speed, the rate of change between the size of the latest vector and the size of the past vector is calculated as follows, and the conditional expressions (B-4) to (B-4) to ( The weight may be changed when any of B-7) is satisfied.
|Vn|/|Vn−1| > X ・・・(B−4)
または、
|Vn|/|V´n−1| > X ・・・(B−5)
または、
(|Vn|―|Vn−1|)/|Vn−1| > X ・・・(B−6)
または、
(|Vn|―|V´n−1|)/|V´n−1| > X ・・・(B−7)
なお、上記条件式(B−1)〜(B−7)は、組み合わせて用いてもよい。
| V n | / | V n-1 |> X (B-4)
Or
| V n | / | V ′ n −1 |> X (B-5)
Or
(| V n | - | V n-1 |) / | V n-1 |> X ··· (B-6)
Or
(| V n | − | V ′ n −1 |) / | V ′ n −1 |> X (B-7)
The conditional expressions (B-1) to (B-7) may be used in combination.
[重み値の設定方法]
上記“重みを変化させるための条件”を満たした場合、重み設定部23は、上記S15において、例えば、以下のとおり重み値を設定することができる。
[How to set weight value]
When the “condition for changing the weight” is satisfied, the
[予め設定されている定数値を重み値として設定する]
[1] 定数値βを用いる
|Vn|−|Vn−1| > X を満たす場合、予め設定されている定数値βを重み値αとして設定することができる。
[Set a preset constant value as the weight value]
[1] Using constant value β When | V n | − | V n−1 |> X is satisfied, a preset constant value β can be set as the weight value α.
[2] 重み値テーブルを予め用意しておき、上記“重みを変化させるための条件”を満たした場合、速度の変化量または速度の大きさに応じて、重み値テーブルの値を参照し、重みを決定する
[2−1]重み値テーブルをβ[3]={0.6,0.7,0.8}と予め設定しておく。そして、速度の変化量と閾値Xnとに応じて以下のとおり重み値αを設定する。
[2] A weight value table is prepared in advance, and when the above “condition for changing the weight” is satisfied, the value of the weight value table is referred to according to the amount of change in speed or the speed, [2-1] The weight value table is set in advance as β [3] = {0.6, 0.7, 0.8}. Then, the weight value α is set as follows according to the amount of change in speed and the threshold value Xn .
X0 < |Vn|−|Vn−1| < X1 を満たす場合、β[0]={0.6}を重み値αとして設定する。 When X 0 <| V n | − | V n−1 | <X 1 is satisfied, β [0] = {0.6} is set as the weight value α.
X1 < |Vn|−|Vn−1| < X2 を満たす場合、β[1]={0.7}を重み値αとして設定する。 When X 1 <| V n | − | V n−1 | <X 2 is satisfied, β [1] = {0.7} is set as the weight value α.
X2 < |Vn|−|Vn−1| < X3 を満たす場合、β[2]={0.8}を重み値αとして設定する。 When X 2 <| V n | − | V n−1 | <X 3 is satisfied, β [2] = {0.8} is set as the weight value α.
なお、上記に限られず、速度の変化率と閾値Xnとに基づく重み値の設定を行っても構わない。すなわち、上記において、|Vn|―|Vn−1|に代えて、(|Vn|−|Vn−1|)/|Vn−1|を採用することができる。 However, the present invention is not limited to the above, and a weight value may be set based on the rate of change in speed and the threshold value Xn . That is, in the above, | V n | - | instead, | V n-1 (| V n | - | V n-1 |) / | V n-1 | , may be employed.
[2−2]重み値テーブルをβ[3]={0.6,0.7,0.8}と予め設定しておく。そして、速度の大きさと閾値Xnとに応じて以下のとおり重み値αを設定する。 [2-2] The weight value table is set in advance as [3] = {0.6, 0.7, 0.8}. Then, the weight value α is set as follows according to the magnitude of the speed and the threshold value Xn .
X0 < |Vn| <X1 を満たす場合、β[0]={0.6}を重み値αとして設定する。 When X 0 <| V n | <X 1 is satisfied, β [0] = {0.6} is set as the weight value α.
X1 < |Vn| <X2 を満たす場合、β[1]={0.7}を重み値αとして設定する。 When X 1 <| V n | <X 2 is satisfied, β [1] = {0.7} is set as the weight value α.
X2 < |Vn| <X3 を満たす場合、β[2]={0.8}を重み値αとして設定する。 When X 2 <| V n | <X 3 is satisfied, β [2] = {0.8} is set as the weight value α.
[速度の変化等から求められる変数値を重み値として設定する]
速度の変化率または速度の大きさを所定の計算式に適用することで重み値αを設定してもよい。
[Set the variable value obtained from the speed change etc. as the weight value]
The weight value α may be set by applying the rate of change of speed or the magnitude of the speed to a predetermined calculation formula.
[1] 最新の重み値をαnとし、直前の重み値をαn−1とし、また予め定数bを設定しておき、下記式(C−1)に従って重み値αnを設定する。 [1] The latest weight value is α n , the immediately preceding weight value is α n−1 , a constant b is set in advance, and the weight value α n is set according to the following equation (C-1).
αn = (|Vn|−|Vn−1|) × b + αn−1 ・・・ (C−1)
なお、上記式(C−1)において、|Vn−1|は、|V´n−1|を用いても構わない。
α n = (| V n | − | V n−1 |) × b + α n−1 (C-1)
In the above formula (C-1), | V n-1 | is, | may be used | V'n-1.
[2] 最新の重み値をαとし、予め定数bを設定しておき、下記式(C−2)に従って、重み値αを設定する。 [2] The latest weight value is α, a constant b is set in advance, and the weight value α is set according to the following equation (C-2).
α = |Vn|×b ・・・ (C−2)
〔実施形態2〕
以下、本発明の他の実施形態について、図4〜図9を用いて説明すれば、以下のとおりである。
α = | V n | × b (C-2)
[Embodiment 2]
Hereinafter, it will be as follows if other embodiment of this invention is described using FIGS.
まず、図4を用いて、本発明の他の実施形態である手書入力装置1Aの構成について説明すると次のとおりである。図4は、手書入力装置1Aの機能的な構成の一例について示す機能ブロック図である。図4に示す手書入力装置1Aは、ユーザーから手書入力による操作を受け付け、受け付けた手書入力を補正した手書入力データを生成し、補正後の手書入力データを出力する。手書入力装置1Aは、例示的には、タブレット端末や、スマートフォンなどの高機能携帯電話機等のタッチパネル入力装置を備える装置である。 First, the configuration of a handwriting input device 1A according to another embodiment of the present invention will be described with reference to FIG. FIG. 4 is a functional block diagram illustrating an example of a functional configuration of the handwriting input device 1A. The handwriting input device 1A shown in FIG. 4 receives an operation by handwriting input from a user, generates handwriting input data in which the received handwriting input is corrected, and outputs the corrected handwriting input data. The handwriting input device 1A is, for example, a device including a touch panel input device such as a tablet terminal or a high-function mobile phone such as a smartphone.
手書入力装置1Aは、手書入力の角度の変化に応じて、手書入力に対する描画の追従性や、描画の滑らかさを調整する。
The
図4に示すように手書入力装置1Aは、記憶部10、制御部20、および、タッチパネル表示部30と、を備える構成である。
As illustrated in FIG. 4, the
記憶部10は、各種データ、表示コンテンツおよびプログラムを記憶させておくものである。また、制御部20は、電子機器1の各種機能を統括的に制御するものである。制御部20は、例えば、タッチパネル表示部30における表示処理およびタッチ操作に応じた情報処理を制御する。記憶部10および制御部20の詳細については後述する。
The
タッチパネル表示部30は、ユーザーからの接触操作を受け付ける操作部31および画面表示を行う表示部32を備える。なお、操作部31および表示部32は、例示的に、ユーザーから見て操作部31および表示部32の順で積層されており、ユーザーが表示部32の表示画面を視認しながら、当該表示画面に対して接触操作(タッチ操作)を行うことができるようになっている。
The touch
操作部31は、表示部32の表示画面に対するユーザーの接触操作を検出して、当該接触操作に関する操作データを生成し、生成した操作データを制御部20に供給する。なお、操作データには、接触操作位置や、接触操作の向き、加速度および強さなどが含まれていてもよい。
The
以下では、説明のため、タッチパネル表示部30(操作部31)に対する手書入力操作(文字や曲線の手書入力等)を検出することで操作データを生成するものとする。また、手書入力操作を検出することにより生成された操作データのことを手書入力データと称する。 Hereinafter, for the sake of explanation, it is assumed that operation data is generated by detecting a handwriting input operation (such as handwriting input of characters or curves) on the touch panel display unit 30 (operation unit 31). The operation data generated by detecting the handwriting input operation is referred to as handwriting input data.
手書入力操作の検出方法に特に制限はなく、任意の検出手法を用いることができる。また、操作部31は、ユーザーの指によるタッチ操作だけでなく、スタイラスやタッチペンなどの入力器具Mを用いた接触操作にも対応している。
There is no restriction | limiting in particular in the detection method of handwritten input operation, Arbitrary detection methods can be used. The
操作部31が接触操作位置を検出する具体的な手法としては、例えば、マトリクス・スイッチ、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式、および、対象物の画像を検出する方式(光センサ方式)などが挙げられる。しかしながら、これに限られず、接触操作位置を検出する手法には、種々の手法を適宜適用することができる。なお、上記した接触操作位置を検出する手法には、「接触」だけでなく「近接」を検出する手法が含まれる。ただし、以下では、説明の便宜上、「接触」および「近接」の区別をすることなく、単に「接触」とのみ記載する。
Specific methods for the
また、操作部31は、所定の間隔により、接触操作の検出を実行し、上記手書入力データを生成する。手書入力データの詳細については後述する。
In addition, the
表示部32は、画像データを表示するための表示画面を有しており、制御部20から画像データを受信し、受信した画像データに基づいてその表示画面に画像を表示するものである。表示部32は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、EL(Electroluminescence)ディスプレイなどにより実現することができる。
The
(記憶部の詳細)
次に、図4を引き続き参照しながら、記憶部10の詳細について説明する。図4に示すように記憶部10は、サンプル点履歴情報記憶部11、角度閾値記憶部12A、重み記憶部13、および補正データ履歴情報記憶部14を含む構成である。
(Details of storage unit)
Next, details of the
サンプル点履歴情報記憶部11には、手書入力データが記憶される。手書入力データは、具体的には、タッチパネル表示部30におけるタッチ操作のサンプリングによって得られるサンプル点により構成される。よって、サンプル点履歴情報記憶部11には、サンプリングによって得られるサンプル点が時系列ごとに記憶される。
The sample point history
サンプル点は、例えば、タッチパネル表示部30における操作位置を示す座標値(例えば、X座標およびY座標から成る2次元座標)により表現されていてもよい。 The sample point may be expressed by, for example, a coordinate value indicating an operation position on the touch panel display unit 30 (for example, a two-dimensional coordinate composed of an X coordinate and a Y coordinate).
なお、手書入力データには、サンプル点に加えて、前のサンプル点からの変位を示すベクトルが含まれていてもよい。また、手書入力データには、ベクトルの大きさや、角度が含まれていてもよい。また、ベクトルの角度は、基準となる方向(例えば、表示画面の座標系のX軸方向)と、ベクトルの方向との間の角度により表現されていてもよい。 Note that the handwriting input data may include a vector indicating the displacement from the previous sample point in addition to the sample point. The handwriting input data may include a vector size and an angle. The vector angle may be expressed by an angle between a reference direction (for example, the X-axis direction of the coordinate system of the display screen) and the vector direction.
角度閾値記憶部12Aには、タッチパネル表示部30において検出される手書入力の角度の変化量、および/または、変化率と比較するための閾値が記憶される。
The angle threshold
重み記憶部13には、手書入力データの補正に用いるための重みに関する情報が記憶される。なお、重み記憶部13に記憶される重み情報は、重み付けを行うための値そのものであってもよいし、重み付けを行うための値を導出するための算出式であってもよい。
The
補正データ履歴情報記憶部14には、補正後の手書入力データ、すなわち補正データが記憶される。補正データは、手書入力データを構成するサンプル点の補正値、および、サンプル点の変位を示すベクトルの補正値(補正ベクトル)を含む。よって、補正データ履歴情報記憶部14には、サンプル点およびベクトルの補正値が時系列ごとに記憶される。
The corrected data history
(制御部の詳細)
次に、図4をさらに参照しながら、制御部20の詳細について説明する。図4に示すように、制御部20は、サンプル点取得部21、角度条件判定部22A、重み設定部23A、補正データ生成部24A、および描画部25を備える構成である。
(Details of control unit)
Next, details of the
サンプル点取得部21は、タッチパネル表示部30における所定の間隔による接触操作の検出処理(すなわちサンプリング処理)を制御して、サンプル点を取得する。具体的には、サンプル点取得部21は、所定の間隔で、接触操作の検出を実行するようタッチパネル表示部30の操作部31に指示し、操作部31から手書入力データを取得し、手書入力データに基づいてサンプル点を取得する。言い換えれば、サンプル点取得部21は、タッチパネル表示部30において行われる手書入力をサンプリングして得られる複数のサンプル点を取得する。
The sample
また、サンプル点取得部21は、サンプル点間のベクトル(変位)を算出する。図5を用いて、サンプル点取得部21によるベクトル算出処理について説明すると次のとおりである。図5は、タッチパネル表示部30の表示画面において、ユーザーが左から右に水平に手書入力を行ったあとに手書入力方向を変化させる場合について示している。
The sample
図5の“元データ”に示すように、サンプル点が、P0、P1、P2、P3、およびP4の順に取得されているとする。このときサンプル点取得部21は、P0P1、P1P2、P2P3、およびP3P4に対応するベクトルv0、v1、v2、およびv3をそれぞれ求める。
Assume that sample points are acquired in the order of P 0 , P 1 , P 2 , P 3 , and P 4 as shown in “original data” in FIG. At this time, the sample
なお、図5では、P4が最新のサンプル点であり、ベクトルv3が最新のベクトルである。 In FIG. 5, a P 4 is the latest sample point, the vector v 3 is the latest vector.
サンプル点取得部21は、サンプリングによって得られたサンプル点と、サンプル点に基づいて求めたベクトルと、ベクトルの大きさおよび角度とを、角度条件判定部22Aに供給するとともに、サンプル点履歴情報記憶部11に記憶する。
The sample
角度条件判定部22Aは、タッチパネル表示部30における手書入力の角度の変化量または変化率が閾値以上であるか否かを判定する。角度条件判定部22Aは、上記閾値を角度閾値記憶部12Aから取得することができる。
The angle
角度条件判定部22Aは、サンプル点履歴情報記憶部11に記憶されているベクトルの角度を取得して手書入力の角度を求めることができる。
The angle
また、角度条件判定部22Aは、例えば、手書入力の角度の変化を、(1)最新ベクトルの角度と、当該最新ベクトルよりも前に求められたベクトルの角度とに基づいて求めてもよいし、(2)最新ベクトルの角度と、過去の補正により得られた補正ベクトルの角度とに基づいて求めてもよい。
Further, the angle
例えば、角度条件判定部22Aは、(1)最新ベクトルの角度と、当該最新ベクトルの直前のベクトルの角度とに基づいて変化を求めてもよいし、(2)最新ベクトルの角度と、当該最新ベクトルが取得される直前の補正により得られた補正ベクトルの角度とに基づいて手書入力の角度を求めてもよい。
For example, the angle
重み設定部23Aは、手書入力データに対する補正を行うための重み値を設定する。詳細は後述するが、手書入力データの補正は、例示的に、最新ベクトルの角度と、直前の補正ベクトルの角度との重み付け加算により実行される。そこで、重み設定部23Aは、最新ベクトルに対する重み値と、直前の補正ベクトルに対する重み値とを設定する。
The
なお、手書入力データの補正は、“ベクトルの角度”ではなく、“ベクトル”を用いてもよい。すなわち、手書入力データの補正は、最新ベクトルと、直前の補正ベクトルとの重み付け加算により実行してもかまわない。以下において同様である。 Note that “vector” may be used instead of “vector angle” for correction of handwritten input data. That is, the handwriting input data may be corrected by weighted addition of the latest vector and the immediately preceding correction vector. The same applies to the following.
重み設定部23は、最新ベクトルの角度に対する重み値を直前の補正ベクトルの角度に対する重み値と同一にしてもよい。
The
重み設定部23Aは、最新ベクトルの角度に対する重み値を直前の補正ベクトルの角度に対する重み値よりも大きくしてもよい。この場合、手書入力の追従性の向上を図ることができる。
The
また、重み設定部23Aは、最新ベクトルの角度に対する重み値を直前の補正ベクトルの角度に対する重み値よりも小さくしてもよい。この場合、手書入力の結果において描画される曲線の滑らかさを向上させることができる。
Further, the
このため、重み設定部23Aが設定する重み値は描線をどのように表現したいのかに応じて、適宜大きくしたり小さくしたりすることができる。
For this reason, the weight value set by the
重み設定部23Aは、例えば、以下のとおり重み値を設定することができる。
For example, the
[設定A]ベクトルの成す角が大きく変化(角度が小さくなった、または、大きくなった)したときにおいて、その変化に対応して追従性を向上させたい場合は、重み値を大きくする。 [Setting A] When the angle formed by the vector is greatly changed (the angle is reduced or increased), the weight value is increased in order to improve the follow-up performance corresponding to the change.
[設定B]ベクトルの成す角が大きく変化(角度が小さくなった、または、大きくなった)したときにおいて、その変化に対応して曲線の滑らかさを向上させたい場合は、重み値を小さくする。 [Setting B] When the angle formed by the vector changes greatly (when the angle becomes smaller or larger), if you want to improve the smoothness of the curve in response to the change, decrease the weight value. .
[設定C]ベクトルの成す角がそれほど変わらないのであれば、重み値を均等にする。 [Setting C] If the angles formed by the vectors do not change so much, the weight values are made equal.
補正データ生成部24Aは、重み設定部23Aが設定した重み値を用いて手書入力データを補正することで補正データを生成する。また、補正データ生成部24は、補正ベクトルを補正データとして描画部25に供給するとともに、補正データを補正データ履歴情報記憶部14に記憶する。なお、補正データ生成部24Aにおける動作の詳細については後述する。
The correction
描画部25は、補正データ生成部24から供給される補正データに基づいて手書入力結果を示す画像データを生成し、生成した画像データを表示部32に供給する。
The
(手書入力データの補正の詳細)
以下において、補正データ生成部24Aにおける補正について具体的に説明する。具体的には、補正データ生成部24Aは、重み設定部23Aが設定した重み値を用いて補正角の角度計算を行って、最新ベクトルを補正することで補正ベクトルを得る。
(Details of correction of handwritten input data)
Hereinafter, the correction in the correction
図5を用いて、補正データ生成部24Aにおける手書入力データの補正の概略について説明すると次のとおりである。
The outline of correction of handwriting input data in the correction
図5に示す、サンプル点P0、P1、P2、P3、P4は、手書入力データの“元データ”であり、サンプリングにより得られたサンプル点を示している。 Sample points P 0 , P 1 , P 2 , P 3 , and P 4 shown in FIG. 5 are “original data” of handwritten input data, and indicate sample points obtained by sampling.
また、図5に、P0P1、P1P2、P2P3、およびP3P4の各サンプル点間の変位を示すベクトルv0、v1、v2、およびv3を示している。各ベクトルの大きさは略同じである。なお、ベクトルv0、v1の方向を角度の基準とする(すなわち、角度“0°”)。 FIG. 5 also shows vectors v 0 , v 1 , v 2 , and v 3 indicating displacements between the sample points of P 0 P 1 , P 1 P 2 , P 2 P 3 , and P 3 P 4. ing. The size of each vector is substantially the same. Note that the directions of the vectors v 0 and v 1 are used as the angle reference (that is, the angle “0 °”).
図5に示すように、P0P1間、およびP1P2間は、手書入力は、左から右にかけて水平方向に行われる。その後、P2P3間、およびP3P4間において、手書入力方向が大きく変化する。 As shown in FIG. 5, during P 0 P 1 and between P 1 P 2 , handwriting is input in the horizontal direction from left to right. Thereafter, the handwriting input direction changes greatly between P 2 P 3 and P 3 P 4 .
また、P´3、およびP´4は、“重みを一定にした補正値”を示している。P2P´3間、P´3P´4間の変位を示すベクトルを、それぞれV´2、V´3と示している。 P ′ 3 and P ′ 4 represent “correction values with constant weights”. Between P 2 P'3, a vector indicating a displacement between P'3 P'4, respectively show V'2, and V'3.
また、P´´3、およびP´´4は、“重みを変化させた補正値”を示している。P2P´´3間、P´´3P´´4間の変位を示すベクトルを、それぞれV´´2、V´´3と示している。 P ″ 3 and P ″ 4 indicate “correction values obtained by changing the weight”. Between P 2 P'' 3, a vector indicating a displacement between P'' 3 P'' 4, respectively show V'' 2, and V'' 3.
なお、サンプル点P0〜P2にかけては角度変化がないため、ベクトルv0、v1とその補正値v´0、v´1(v´´0、v´´1)は、同一とする。
Since there is no angle change over the
このような場合において得られる“重みを一定にした補正値”および“重みを変化させた補正値”のそれぞれについて説明する。 Each of “correction value with constant weight” and “correction value with changed weight” obtained in such a case will be described.
[重みを一定にした補正値]
ベクトルv2の補正ベクトルv´2の角度は、ベクトルv2の角度と、直前の補正ベクトルv´1の角度との相加平均により得られる。すなわち、ベクトルv2の角度と、直前の補正ベクトルv´1の角度との均一な重み付けにより、補正ベクトルv´2の角度を得ることができる。なお、上記に限られず、最新ベクトルの角度から過去の所定のサンプル点までの過去ベクトルの角度を用いる移動平均の算出式を用いても構わない。
[Correction value with constant weight]
Angle correction vector v '2 vector v 2 is obtained by the arithmetic mean of the angle of the vector v 2, and the correction vector v' 1 angle immediately before. That is, the angle of the correction vector v ′ 2 can be obtained by uniform weighting between the angle of the vector v 2 and the angle of the previous correction vector v ′ 1 . Note that the present invention is not limited to the above, and a moving average calculation formula that uses the angle of the past vector from the angle of the latest vector to a predetermined sample point in the past may be used.
図5では、ベクトルv2において大きく角度が変化しているが、補正ベクトルv´1が角度“0°”であるので、補正ベクトルv´2は、補正ベクトルv´1の影響を大きく受ける。また、補正ベクトルv´3についても同様である。 In FIG. 5, the angle greatly changes in the vector v 2 , but since the correction vector v ′ 1 is the angle “0 °”, the correction vector v ′ 2 is greatly affected by the correction vector v ′ 1 . The same applies to the correction vector v ′ 3 .
その結果、サンプル点P3、P4と補正値P´3、P´4との間に大きな差が生じる。
As a result, the
なお、上記“[設定C]ベクトルの成す角がそれほど変わらないのであれば、重み値を均等にする。”の場合、重み設定部23Aは、上述のように均一な重みを設定してもよい。
Note that, in the case of ““ Setting C] If the angle formed by the vectors does not change so much, the weight values are equalized ”, the
[重みを変化させた補正値]
以下で説明する手書入力データの補正は、上述の“[設定A]ベクトルの成す角が大きく変化(角度が小さくなった、または、大きくなった)したときにおいて、その変化に対応して追従性を向上させたい場合は、重み値を大きくする。”に該当する。
[Correction value with changing weight]
The correction of the handwritten input data described below follows in accordance with the change when the angle formed by the “[Setting A] vector mentioned above changes greatly (the angle becomes smaller or becomes larger). If you want to improve performance, increase the weight value. "
ベクトルv2の補正ベクトルv´´2の角度は、ベクトルv2の角度と、直前の補正ベクトルv´´1の角度との加重平均により得られる。この時点の最新ベクトルv2の角度に対して補正ベクトルv´´1の角度よりも大きな重み付けを行う。よって、補正ベクトルv´´2の角度では、ベクトルv2の角度変化が大きく反映される。また、補正ベクトルv´´3の角度についても同様である。 Angle correction vector V'' 2 vector v 2 is obtained by a weighted average of the angle of the vector v 2, and the correction vector V'' 1 angle immediately before. It performs a greater weighting than the angle of the correction vector V'' 1 with respect to the angle of the most recent vector v 2 at this point. Therefore, the angle of the correction vector V'' 2, the angle change of the vector v 2 is greatly reflected. The same applies to the angle of the correction vector v ″ 3 .
その結果、“重みを一定にした補正値”と比べて、より追従性がよく、より滑らかな曲線が得られる補正値P´´3、P´´4が得られる。 As a result, correction values P ″ 3 and P ″ 4 are obtained, which have better followability and a smoother curve than the “correction value with a constant weight”.
次に、補正データ生成部24Aにおいて補正値および補正角を算出する手法について具体的に説明する。
Next, a method for calculating the correction value and the correction angle in the correction
[補正角算出1]
補正データ生成部24Aは、重み設定部23が設定した重みを用いて、最新ベクトルおよび直前の補正ベクトルの角度の加重和を算出することで補正角を算出してもよい。この加重和は、以下の式(C)により表わすことができる。
[Correction angle calculation 1]
The correction
θ´n=αθn+(1−α)θ´n−1・・・(C)
上記式(C)において、θ´nは、補正角、θnは、最新ベクトルの角度、θ´nは、最新の補正ベクトルの角度である。また、αは、重み値を示している。
θ ′ n = αθ n + (1-α) θ ′ n−1 (C)
In the above formula (C), [theta] & apos n is corrected angle, theta n, the angle latest vector, [theta] & apos n is the angle of the latest correction vector. Α indicates a weight value.
なお、補正データ生成部24Aが上記式(C)を用いる手法について説明したが、これに限られない。補正データ生成部24は、上記式(C)に限られず、最新ベクトルの角度から過去の所定のサンプル点までのベクトルの角度を用いる加重移動平均の算出式を用いても構わない。
In addition, although the correction
また、角度には、同じ角度を示すものであっても異なる表現がある。例えば、−10°と、350°とは表現方法は異なるが同じ角度を示す。このため、上記角度計算においては、以下の調整処理を行ってもよい。 Further, there are different expressions for the angles even if they indicate the same angle. For example, −10 ° and 350 ° indicate the same angle although the expression method is different. For this reason, the following adjustment processing may be performed in the angle calculation.
図6に示すように、ユーザーがP0、P1、およびP2の順で手書入力を行った場合を想定する。ここで、θ1=30°とし、θ2=−30°とすると角度の差は、θ2−θ1=−60°となり、角度の変化の大きさは、60°となる。 As shown in FIG. 6, it is assumed that the user performs handwriting input in the order of P 0 , P 1 , and P 2 . Here, when θ 1 = 30 ° and θ 2 = −30 °, the difference in angle is θ 2 −θ 1 = −60 °, and the magnitude of the change in angle is 60 °.
しかし、θ2=330°と表現されていた場合、θ2−θ1=300°となる。よって、角度の差の計算結果が180°を超えている場合、その計算結果から360°を引くことで角度を調整してもよい。 However, when expressed as θ 2 = 330 °, θ 2 −θ 1 = 300 °. Therefore, when the calculation result of the angle difference exceeds 180 °, the angle may be adjusted by subtracting 360 ° from the calculation result.
例えば、上記の“θ2−θ1=300°”の場合、300°−360°=−60°と調整してもよい。 For example, in the case of “θ 2 −θ 1 = 300 °”, 300 ° −360 ° = −60 ° may be adjusted.
なお、計算結果が、−180°未満である場合、計算結果に360°を足せばよい。 In addition, what is necessary is just to add 360 degrees to a calculation result, when a calculation result is less than -180 degrees.
[補正角算出2]
補正データ生成部24Aは、重み設定部23が設定した重みを用いて、最新ベクトルの角度の正弦または余弦および直前の補正ベクトルの角度の正弦または余弦の加重和を算出して得られる値に基づいて補正角を算出してもよい。
[Correction angle calculation 2]
The correction
ここで、重み付けによる補正角の算出について説明する前に、まず図7を用いて、2つのベクトルの平均角度を求める手法について説明しておく。 Here, before describing the calculation of the correction angle by weighting, a method for obtaining the average angle of two vectors will be described with reference to FIG.
上述のとおり角度には、同じ角度を示すものであっても異なる表現がある。図7に例示するように、角度θ1のベクトルV1と、角度θ2のベクトルV2とがある場合、次のとおりである(なお、|・|は、ベクトルの大きさを示す)。 As described above, there are different expressions for the angle even if they indicate the same angle. As illustrated in FIG. 7, the vector V 1 of the angle theta 1, if there is a vector V 2 of the angle theta 2, is as follows (Note, | · | denotes the magnitude of the vector).
まず、角度表現が、θ1=45°、θ2=−45°であれば、平均は、(θ1+θ2)/2=(45°+(−45°))/2=0°となる。これに対して、角度表現が、θ1=45°、θ2=315°であれば、平均は、(θ1+θ2)/2=(45°+(315°))/2=300°となる。 First, if the angle expression is θ 1 = 45 ° and θ 2 = −45 °, the average is (θ 1 + θ 2 ) / 2 = (45 ° + (− 45 °)) / 2 = 0 °. Become. On the other hand, if the angle expression is θ 1 = 45 ° and θ 2 = 315 °, the average is (θ 1 + θ 2 ) / 2 = (45 ° + (315 °)) / 2 = 300 °. It becomes.
そこで、ベクトルV1とベクトルV2との平均角度は、ベクトル(cos(θ1)+cos(θ2),sin(θ1)+sin(θ2))の角度を求めることで得ることができる。 Therefore, the average angle between the vector V 1 and the vector V 2 can be obtained by obtaining the angle of the vector (cos (θ 1 ) + cos (θ 2 ), sin (θ 1 ) + sin (θ 2 )).
X=cos(θ1)+cos(θ2)、Y=sin(θ1)+sin(θ2)とすると、下記数式(1)および(2)を計算することによって、平均角度を求めることができる。 When X = cos (θ 1 ) + cos (θ 2 ) and Y = sin (θ 1 ) + sin (θ 2 ), the average angle can be obtained by calculating the following formulas (1) and (2). .
上記数式(1)および(2)を、図7に示す例に適用すると、下記数式(3)に示すように、 When the above formulas (1) and (2) are applied to the example shown in FIG. 7, as shown in the following formula (3),
となり、所望の平均値“0”を得ることができる。 Thus, a desired average value “0” can be obtained.
続いて、上記平均角度の算出方法を踏まえたうえで、図8を用いて、重み付けによる補正角の算出について説明する。図8に例示するP´n−3、P´n−2、P´n−1は、補正後のサンプル点である。また、図8には、P´n−3からP´n−2への変位を示す補正後のベクトルである補正ベクトルV´n−2、および、P´n−2からP´n−1への変位を示す補正後のベクトルである補正ベクトルV´n−1を示している。 Next, calculation of the correction angle by weighting will be described with reference to FIG. 8 in consideration of the above average angle calculation method. P ′ n−3 , P ′ n−2 , and P ′ n−1 illustrated in FIG. 8 are sample points after correction. Further, in FIG. 8 is a vector after correction illustrating the displacement from P'n-3 to P'n-2 correction vector V'n-2, and, P'n-1 from the P'n-2 A corrected vector V ′ n−1 that is a corrected vector indicating the displacement to is shown.
すなわち、図8に示す例では、n−1番目のサンプル点までは補正値が算出されている。 That is, in the example shown in FIG. 8, correction values are calculated up to the (n-1) th sample point.
ここで、最新のサンプル点Pnの補正(すなわち、補正後のサンプル点P´n−1から最新のサンプル点Pnへの変位を示す最新ベクトルVnの補正)について以下に説明する。なお、最新ベクトルVnは、補正ベクトルV´n−1と同じ大きさである(|V´n−1|=|Vn|)。 Here, correction of the latest sample point P n (that is, correction of the latest vector V n indicating the displacement from the corrected sample point P ′ n−1 to the latest sample point P n ) will be described below. The latest vector V n is the same size as the correction vector V ′ n −1 (| V ′ n −1 | = | V n |).
補正データ生成部24Aは、最新ベクトルVnおよび補正ベクトルV´n−1に基づいて最新ベクトルVnの補正後のベクトルV´nを算出する。
Correction
より具体的には、上記平均角度の算出方法の場合において、平均角度を求めるときに導出したベクトルに重み値αを適用する。すなわち、補正ベクトル(X,Y)=(αcos(θn)+(1−α)cos(θ´n−1),αsin(θn)+sin(θ´n−1))の角度を求めれば、重み付けを適用した角度を算出することができる。なお、θnは、最新ベクトルVnの角度であり、θ´n−1は、補正ベクトルV´n−1の角度である。 More specifically, in the case of the above average angle calculation method, the weight value α is applied to the vector derived when the average angle is obtained. That is, if the angle of the correction vector (X, Y) = (αcos (θ n ) + (1-α) cos (θ ′ n−1 ), α sin (θ n ) + sin (θ ′ n−1 )) is obtained. The angle to which weighting is applied can be calculated. Incidentally, the theta n, the angle of the most recent vector V n, θ'n-1 is the angle correction vector V'n-1.
よって、下記数式(4)により、補正後の角度θ´nを求めることができる。 Therefore, the corrected angle θ ′ n can be obtained by the following mathematical formula (4).
以上の説明をまとめると、補正データ生成部24Aは、角度が、θn=45°、θ´n−1=−45°というような、−180°〜180°の間の表現である場合、以下の式(D)により補正値を求めてもよい。
To summarize the above description, the correction
θ´n=αθn+(1−α)θ´n−1 ・・・(D)
また、補正データ生成部24Aは、角度が、θn=45°、θ´n−1=315°というような、0°〜360°の間の表現である場合、以下の数式(5)により補正値を求めればよい。
θ ′ n = αθ n + (1-α) θ ′ n−1 (D)
In addition, when the angle is an expression between 0 ° and 360 °, such as θ n = 45 ° and θ ′ n−1 = 315 °, the correction
(処理の流れ)
次に、図9を用いて、手書入力装置1Aにおける手書入力データの補正処理の流れについて説明する。図9は、手書入力装置1Aにおける手書入力データの補正処理の流れの一例について示すフローチャートである。
(Process flow)
Next, the flow of correction processing of handwriting input data in the handwriting input device 1A will be described with reference to FIG. FIG. 9 is a flowchart illustrating an example of a flow of correction processing of handwriting input data in the handwriting input device 1A.
図9に示すように、タッチパネル表示部30が手書入力を受け付けると(S21)、サンプル点取得部21が、当該手書入力による手書入力データを取得する(S22)。すなわち、サンプル点取得部21は、サンプリングにより得られる最新ベクトルを取得する。
As shown in FIG. 9, when the touch
次に、角度条件判定部22Aが、手書入力の角度の変化量または変化率を算出する(S23)。具体的には、角度条件判定部22Aは、過去ベクトル(元データの変位を示すベクトルまたは補正された変位を示すベクトル)と最新ベクトルとの間における角度の変化量または変化率を算出する(S23)。
Next, the angle
さらに、角度条件判定部22Aは、上記変化量または変化率が閾値以上か否かを判定する(S24)。変位が閾値以上であれば(S24においてYES)、重み設定部23Aが、重みを計算し、補正データを生成するための重み値に設定する(S25)。すなわち、重み設定部23Aは、補正に用いる最新ベクトルおよび直前の補正ベクトルに応じて計算した重みを重み値に設定する。
Furthermore, the angle
一方、変位が閾値未満の場合(S24においてNO)、重み設定部23Aは、各変位に対して一定の重みを重み値に設定する(S26)。
On the other hand, when the displacement is less than the threshold (NO in S24), the
次に、補正データ生成部24Aが、S25またはS26において設定された重み値を用いて補正データを生成する(S27)。
Next, the correction
(重み付けに関するより詳細な説明)
以下において、手書入力装置1Aにおける重み付けに関するより詳細な説明を以下に記載する。
(More detailed explanation on weighting)
Below, the more detailed description regarding the weighting in the handwriting input device 1A is described below.
[重みを変化させるための条件]
以上では、S23およびS24において、角度条件判定部22Aが、角度の変化量に対する閾値または角度の変化率に対する閾値を判定に用いることについて説明したが、これらの閾値について以下に詳細に説明する。
[Conditions for changing weights]
In the above description, in S23 and S24, it has been described that the angle
なお、以下において|・|は、絶対値を取ることを表わす。また、角度の差の絶対値(例えば、|θ2−θ1|)は、θ2−θ1の計算結果が180°を超えている場合、その計算結果から360°を引いた後の値、また、計算結果が、−180°未満である場合、計算結果に360°を足した後の値に対して絶対値を取るものとする。 In the following, | · | represents taking an absolute value. The absolute value of the angle difference (for example, | θ 2 −θ 1 |) is a value obtained by subtracting 360 ° from the calculation result when θ 2 −θ 1 exceeds 180 °. When the calculation result is less than −180 °, an absolute value is assumed with respect to the value obtained by adding 360 ° to the calculation result.
[角度の変化量に対して閾値を設定する]
角度の変化量に対して閾値を設定する場合、以下のとおりに設定することができる。
[Set threshold for angle change]
When a threshold value is set for the amount of change in angle, it can be set as follows.
[1]予め設定しておいた定数aと、最新ベクトルVnの角度θnとの差を計算し、下記閾値Xに関する条件式(E−1)を満たす場合に重みを変更するようにしてもよい。 [1] and the constant a that is set in advance, calculates the difference between the angle theta n most recent vector V n, so as to change the weight if it meets the condition (E-1) relates to the following threshold X Also good.
|θn−a| > X ・・・(E−1)
[2] また、最新ベクトルの角度と、過去ベクトルの角度との差を計算し、下記閾値Xに関する条件式(E−2)または(E−3)を満たす場合に重みを変更するようにしてもよい。
| Θ n −a |> X (E-1)
[2] Also, the difference between the angle of the latest vector and the angle of the past vector is calculated, and the weight is changed when the following conditional expression (E-2) or (E-3) regarding the threshold value X is satisfied. Also good.
|θn−θn−1| > X ・・・(E−2)
または、
|θn−θ´n−1| > X ・・・(E−3)
[角度の変化率に対して閾値を設定する]
また、角度の変化率に対して閾値を設定する場合、以下のとおり、最新ベクトルの角度と過去ベクトルの角度との変化率を計算し、下記閾値Xに係る条件式(E−4)および(E−5)のいずれかを満たす場合に重みを変更するようにしてもよい。
| Θ n −θ n−1 |> X (E-2)
Or
| Θ n −θ ′ n−1 |> X (E-3)
[Set threshold for angle change rate]
When a threshold is set for the angle change rate, the change rate between the angle of the latest vector and the angle of the past vector is calculated as follows, and conditional expressions (E-4) and (E The weight may be changed when any one of E-5) is satisfied.
(|θn|―|θn−1|)/|θn−1| > X ・・・(E−4)
または、
(|θn|―|θ´n−1|)/|θ´n−1| > X ・・・(E−5)
なお、上記条件式(E−1)〜(E−5)は、組み合わせて用いてもよい。
(| Θ n | − | θ n−1 |) / | θ n−1 |> X (E-4)
Or
(| Θ n | − | θ ′ n−1 |) / | θ ′ n−1 |> X (E-5)
The conditional expressions (E-1) to (E-5) may be used in combination.
[重み値の設定方法]
上記“重みを変化させるための条件”を満たした場合、重み設定部23Aは、上記S25において、例えば、以下のとおり重み値を設定することができる。
[How to set weight value]
When the “condition for changing the weight” is satisfied, the
[予め設定されている定数値を重み値として設定する]
[1] 定数値βを用いる
|θn−θn−1| > X を満たす場合、予め設定されている定数値βを重み値αとして設定することができる。
[Set a preset constant value as the weight value]
[1] Using constant value β When | θ n −θ n−1 |> X is satisfied, a preset constant value β can be set as the weight value α.
[2] 重み値テーブルを予め用意しておき、上記“重みを変化させるための条件”を満たした場合、角度の変化量または角度の大きさに応じて、重み値テーブルの値を参照し、重みを決定する
[2−1]重み値テーブルをβ[3]={0.6,0.7,0.8}と予め設定しておく。そして、角度の変化量と閾値Xnとに応じて以下のとおり重み値αを設定する。
[2] A weight value table is prepared in advance, and when the “condition for changing the weight” is satisfied, the value of the weight value table is referred to according to the amount of change in angle or the size of the angle, [2-1] The weight value table is set in advance as β [3] = {0.6, 0.7, 0.8}. Then, the weight value α is set as follows according to the change amount of the angle and the threshold value Xn .
X0 < |θn−θn−1| < X1 を満たす場合、β[0]={0.6}を重み値αとして設定する。 When X 0 <| θ n −θ n−1 | <X 1 is satisfied, β [0] = {0.6} is set as the weight value α.
X1 < |θn−θn−1| < X2 を満たす場合、β[1]={0.7}を重み値αとして設定する。 When X 1 <| θ n −θ n−1 | <X 2 is satisfied, β [1] = {0.7} is set as the weight value α.
X2 < |θn−θn−1| < X3 を満たす場合、β[2]={0.8}を重み値αとして設定する。 When X 2 <| θ n −θ n−1 | <X 3 is satisfied, β [2] = {0.8} is set as the weight value α.
[2−2]重み値テーブルをβ[3]={0.6,0.7,0.8}と予め設定しておく。そして、角度の変化率と閾値Xnとに応じて以下のとおり重み値αを設定する。 [2-2] The weight value table is set in advance as [3] = {0.6, 0.7, 0.8}. The weight value α is set as follows according to the change rate of the angle and the threshold value Xn .
X0 < |(θn−θ´n−1)/θ´n−1| <X1 を満たす場合、β[0]={0.6}を重み値αとして設定する。 X 0 <| (θ n -θ' n-1) / θ'n-1 | < When satisfying X 1, sets a β [0] = {0.6} as a weight value alpha.
X1 < |(θn−θ´n−1)/θ´n−1| <X2 を満たす場合、β[1]={0.7}を重み値αとして設定する。 X 1 <| (θ n -θ' n-1) / θ'n-1 | < When satisfying X 2, sets the β [1] = {0.7} as a weight value alpha.
X2 < |(θn−θ´n−1)/θ´n−1| <X3 を満たす場合、β[2]={0.8}を重み値αとして設定する。 X 2 <| (θ n -θ' n-1) / θ'n-1 | < When satisfying X 3, sets the β [2] = {0.8} as a weight value alpha.
[角度の変化等から求められる変数値を重み値として設定する]
角度の変化量または角度の変化率を所定の計算式に適用することで重み値αを設定してもよい。
[Variable value obtained from angle change etc. is set as weight value]
The weight value α may be set by applying the angle change amount or the angle change rate to a predetermined calculation formula.
[1] 最新の重み値をαnとし、直前の重み値をαn−1とし、また予め定数bを設定しておき、下記式(F−1)に従って重み値αnを設定する。 [1] The latest weight value is α n , the previous weight value is α n−1 , a constant b is set in advance, and the weight value α n is set according to the following formula (F-1).
αn = (|θn−θn−1|) × b + αn−1 ・・・ (F−1)
[2] 最新の重み値をαとし、予め定数bを設定しておき、下記式(F−2)に従って、重み値αを設定する。
α n = (| θ n −θ n−1 |) × b + α n−1 (F-1)
[2] The latest weight value is α, a constant b is set in advance, and the weight value α is set according to the following equation (F-2).
α = |(θn−θn−1)/θn−1|×b ・・・ (F−2)
なお、上記式(F−1)および(F−2)において、θn−1に、θ´n−1を用いても構わない。
α = | (θ n −θ n−1 ) / θ n−1 | × b (F-2)
The above formula (F-1) and the (F-2), the theta n-1, it may be used θ'n-1.
〔実施形態3〕
以下、本発明のさらに他の実施形態について、図10〜図12を用いて説明すれば、以下のとおりである。なお、説明の便宜上、実施形態2にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
[Embodiment 3]
Hereinafter, still another embodiment of the present invention will be described with reference to FIGS. For convenience of explanation, members having the same functions as those described in the second embodiment are denoted by the same reference numerals and description thereof is omitted.
まず、図10を用いて、本発明のさらに他の実施形態である手書入力装置1Bの構成について説明すると次のとおりである。図10は、手書入力装置1Bの機能的な構成の一例について示す機能ブロック図である。
First, the configuration of a
手書入力装置1Aは、手書入力の角度の変化が所定の範囲(例えば、一定)に収まるよう、手書入力データを補正する。 The handwriting input device 1A corrects the handwriting input data so that the change in the angle of handwriting input is within a predetermined range (for example, constant).
図10に示す手書入力装置1Bと、図4に示した手書入力装置1Aとの相違点について説明すると次のとおりである。
Differences between the
図10に示す手書入力装置1Bは、図4に示した手書入力装置1Aにおいて次の構成変更を施したものである。まず、手書入力装置1Aの記憶部10において、指定変化率記憶部15を追加するとともに、角度閾値記憶部12Aと重み記憶部13とを省略している。また、手書入力装置1Aの制御部20において、変化率指定判定部26および角度算出部27、変化率指定部28を追加し、補正データ生成部24Aを、補正データ生成部24Bに変更し、さらに、角度条件判定部22A、重み設定部23Aを省略している。
The
以下、手書入力装置1Aにおいて追加・変更した構成である指定変化率記憶部15、変化率指定判定部26、角度算出部27、補正データ生成部24Bについて説明する。
Hereinafter, the designated change
(記憶部の追加構成)
指定変化率記憶部15は、手書入力の角度の変化率の許容範囲を示す指定値が設定される。指定値は、所定の範囲を示すものであってもよいし、定数値であってもよい。また、以下では、指定値が、直前の補正ベクトルと最新ベクトルとが成す角度の変化率を示すものとするが、これに限られない。指定値は、直前の補正ベクトルの角度に対する最新ベクトルの角度の変化率を指定するものであってもよい。
(Additional configuration of storage unit)
The designated change
(制御部の追加・変更構成)
変化率指定判定部26は、指定変化率記憶部15に指定値が設定されているか否かを判定し、当該判定結果を角度算出部27に通知する。
(Control unit addition / change configuration)
The change rate
角度算出部27は、ベクトルの角度を算出する。また、角度算出部27は、指定値が設定されている場合には、指定値に応じた補正角を算出する。
The
補正データ生成部24Bは、角度算出部27が算出する補正角に応じて手書入力データを補正する。
The correction
変化率指定部28は、指定変化率記憶部15に変化率の指定値を設定する。変化率指定部28は、ユーザーの操作部31等における操作に応じて指定値を設定してもよいし、制御部20において実行されるアプリケーションに応じて設定してもよい。
The change
(手書入力データの補正の詳細)
以下において、補正データ生成部24Bにおける補正についてより具体的に説明する。図11を用いて、ベクトルの角度の変化率が一定になるようベクトルを補正し、滑らかな描画曲線を得る方法について例示的に説明する。なお、指定変化率記憶部15には、指定値として定数値が設定される。
(Details of correction of handwritten input data)
Hereinafter, the correction in the correction
図11に示すように、サンプル点Q0、Q1、Q2、Q3、Q4は、手書入力データの“元データ”であり、サンプリングにより得られたサンプル点を示している。 As shown in FIG. 11, sample points Q 0 , Q 1 , Q 2 , Q 3 , and Q 4 are “original data” of handwritten input data, and indicate sample points obtained by sampling.
また、図11には、Q0Q1、Q1Q2、Q2Q3、およびQ3Q4の各サンプル点間の変位を示すベクトルr0、r1、r2、およびr3を示している。各ベクトルの大きさは略同じである。 FIG. 11 also shows vectors r 0 , r 1 , r 2 , and r 3 indicating displacements between the sample points of Q 0 Q 1 , Q 1 Q 2 , Q 2 Q 3 , and Q 3 Q 4. Show. The size of each vector is substantially the same.
ベクトルr0は、水平方向に左から右へ向かう変位を示す。ここで、ベクトルr0の方向を基準とする。すなわち、ベクトルr0の角度は“0”である。また、ベクトルr1の角度はθ1である。よって、ベクトルr0およびベクトルr1の角度は、θ1である。 A vector r 0 indicates a displacement from left to right in the horizontal direction. Here, the direction of the vector r 0 is used as a reference. That is, the angle of the vector r 0 is “0”. The angle of the vector r 1 is θ 1 . Therefore, the angle of the vector r 0 and the vector r 1 is θ 1 .
従って、以後のサンプリングにおいて、ベクトル間の成す角が一定であれば、すなわち、ベクトル間の成す角の変化率が0であれば、滑らかな曲線を描くことができる。 Accordingly, in the subsequent sampling, if the angle between the vectors is constant, that is, if the rate of change of the angle between the vectors is 0, a smooth curve can be drawn.
ここで、図示のとおり、サンプル点Q2の次にサンプリングされるサンプル点Q3におけるベクトルr2とベクトルr1とが成す角度θ2が、θ1でない(図11では、θ2>θ1)ため、ベクトルの成す角の変化率が0にならない。そこで、ベクトル間の成す角の変化率を0にして滑らかな曲線を描くため、角度算出部27が補正角を算出し、当該補正角に基づいて補正データ生成部24Bがベクトルr2を補正する。
Here, as illustrated, the angle theta 2 formed by the vector r 2 and the vector r 1 at the sample point Q 3 is next to the sampling of the sample points Q 2 is not the theta 1 (in FIG. 11, θ 2> θ 1 Therefore, the rate of change of the angle formed by the vector does not become zero. Therefore, to draw a smooth curve to the rate of change of the angle formed between vectors to 0, the
角度算出部27は、例えば、補正角θ´2=θ1を算出する。なお、このとき、角度の基準となるベクトルr0とベクトルr2とが成す角度は、2×θ1となる。
The
補正データ生成部24Bは、ベクトルr2を補正した補正ベクトルr´2を算出する。補正ベクトルr´2は、基準となる角度に対し、角度θ´´2=θ´2+θ1=2×θ1を有する。
Correction
続いて、サンプル点Q3の次にサンプリングされるサンプル点Q4におけるベクトルr3とベクトルr´2とが成す角度は、θ1でない。 Subsequently, the angle formed by the vector r 3 and the vector r ′ 2 at the sample point Q 4 sampled next to the sample point Q 3 is not θ 1 .
角度算出部27は、補正角θ´3を算出する。補正データ生成部24Bは、補正角θ´3に基づいて補正ベクトルr´3を生成する。補正ベクトルr´3は、基準となる角度に対し、角度θ´´3=θ´3+θ´´2=3×θ1を有する。
The
(処理の流れ)
次に、図12を用いて、手書入力装置1Bにおける手書入力データの補正処理の流れについて説明する。図12は、手書入力装置1Bにおける手書入力データの補正処理の流れの一例について示すフローチャートである。
(Process flow)
Next, the flow of correction processing of handwriting input data in the
図12に示すように、タッチパネル表示部30が手書入力を受け付けると(S31)、サンプル点取得部21が、当該手書入力による手書入力データを取得する(S32)。すなわち、サンプル点取得部21は、サンプリングにより得られる最新ベクトルを取得する。また、サンプル点取得部21は、最新ベクトルの角度を算出する(S33)。
As shown in FIG. 12, when the touch
次に、変化率指定判定部26が、変化率の指定の有無を判定する(S34)。すなわち、変化率指定判定部26は、指定値の設定があるか否かを判定する。指定値の設定がない場合(S34においてNO)、処理は終了する。
Next, the change rate
これに対して、指定値の設定がある場合(S35においてYES)、角度算出部27は、指定値に示される変化率に基づいて、直前の補正ベクトルと、最新ベクトルの補正ベクトルとが成す角を補正角として算出する(S36)。
On the other hand, when the specified value is set (YES in S35), the
次に、補正データ生成部24Bは、角度算出部27が算出した補正角を用いて、補正値を決定する(S37)。例えば、補正データ生成部24Bは、補正角と直前の補正ベクトルとを用いて、最新ベクトルの補正ベクトルを生成する(S37)。
Next, the correction
〔まとめ〕
本発明の一態様に係る手書入力装置は、手書入力をサンプリングして得られる複数のサンプル点に基づいて、描線表示のための手書入力データを生成する手書入力装置において、サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正手段(補正データ生成部24、24A)を備える。
[Summary]
A handwriting input device according to an aspect of the present invention is a handwriting input device that generates handwriting input data for line drawing display based on a plurality of sample points obtained by sampling handwriting input. Correction means for generating the handwritten input data by correcting the displacement of the sample point using a weight according to the new and old of the displacement of the sample point according to the change of the derived value obtained from the displacement of 24, 24A).
別の観点から言えば、本発明の一態様に係る手書入力装置は、手書入力をサンプリングして得られる複数のサンプル点に基づいて、描線表示のための手書入力データを生成する手書入力装置において、サンプル点の変位より求められる導出値の変化に応じて、補正対象サンプル点と、当該補正対象サンプル点の直前にサンプリングされた直近サンプル点との変位に対して、該直近サンプリング点よりも前のサンプル点の変位に対する重みよりも大きな重み付けを用いて補正対象サンプル点の変位を補正することで上記手書入力データを生成する補正手段を備える。 From another viewpoint, the handwriting input device according to an aspect of the present invention is a handwriting generating device for generating handwriting input data for line drawing based on a plurality of sample points obtained by sampling handwriting input. In the document input device, in response to a change in the derived value obtained from the displacement of the sample point, the latest sampling is performed with respect to the displacement between the correction target sample point and the latest sample point sampled immediately before the correction target sample point. Correction means for generating the handwritten input data by correcting the displacement of the sample point to be corrected using a weight larger than the weight for the displacement of the sample point before the point.
本発明の一態様に係る手書入力プログラムは、手書入力をサンプリングして得られる複数のサンプル点に基づいて、描線表示のための手書入力データを生成する手書入力プログラムであって、サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正ステップをコンピュータに実行させる。 A handwriting input program according to an aspect of the present invention is a handwriting input program that generates handwriting input data for line drawing display based on a plurality of sample points obtained by sampling handwriting input, A correction step for generating the above-mentioned handwritten input data by correcting the displacement of the sample point using the weighting according to the old and new of the displacement of the sample point according to the change of the derived value obtained from the displacement of the sample point is performed on the computer. Let it run.
本発明の一態様に係る手書入力装置の制御方法は、手書入力をサンプリングして得られる複数のサンプル点に基づいて、描線表示のための手書入力データを生成する手書入力装置の制御方法において、サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正ステップを含む。 A control method for a handwriting input device according to an aspect of the present invention includes a handwriting input device that generates handwriting input data for line drawing display based on a plurality of sample points obtained by sampling handwriting input. In the control method, according to the change in the derived value obtained from the displacement of the sample point, the correction for generating the handwritten input data by correcting the displacement of the sample point using the weighting according to the old and new of the displacement of the sample point Includes steps.
上記手書入力装置は、例示的には、スタイラスによる入力を受け付けるタブレット入力装置や、手書入力を受け付けるタッチパネルを備えるタッチパネル入力装置である。 The handwriting input device is illustratively a tablet input device that accepts input by a stylus or a touch panel input device that includes a touch panel that accepts handwriting input.
上記サンプル点は、手書入力の入力位置を示すものであり、例えば、2次元座標、すなわちX座標、Y座標にて表現することができる。 The sample point indicates an input position for handwriting input, and can be expressed by, for example, two-dimensional coordinates, that is, X coordinates and Y coordinates.
また、上記サンプル点の変位とは、あるサンプル点と、該あるサンプル点の次の(前の)サンプル点との間における位置の変化のことである。サンプル点の変位は、例えば、あるサンプル点から別のサンプル点に向かうベクトルにより表現することができる。また、サンプル点をサンプリングするサンプリング間隔は任意に設定することができる。また、手書入力データは手書入力結果を表示するために用いられる描線データである。 The displacement of the sample point is a change in position between a sample point and the next (previous) sample point of the sample point. The displacement of the sample point can be expressed by a vector from one sample point to another sample point, for example. The sampling interval for sampling the sample points can be set arbitrarily. The handwriting input data is line drawing data used for displaying the handwriting input result.
上記サンプル点の変位より求められる導出値は、手書入力の速さ、速度であってもよい。上記導出値は、例えば、サンプル点間の距離であってもよいし、サンプル点間における手書入力の速度や加速度であってもよい。 The derived value obtained from the displacement of the sample point may be the speed and speed of handwriting input. The derived value may be, for example, a distance between sample points, or a speed or acceleration of handwriting input between sample points.
また、当該導出値は、変位の方向がなす角度であってもよい。変位の角度を測る基準は、任意に設定することができる。例えば、X軸を角度の測る基準とし、変位の方向とX軸方向とがなす角度と定義することも可能である。また、上記導出値は、角速度や、角加速度であってもよい。 The derived value may be an angle formed by the direction of displacement. The reference for measuring the angle of displacement can be arbitrarily set. For example, it is possible to define the angle between the direction of displacement and the X-axis direction with the X-axis as a reference for measuring the angle. The derived value may be angular velocity or angular acceleration.
上記に限定されず、上記導出値は、サンプル点の変位に関するものであればよい。 It is not limited to the above, and the derived value may be related to the displacement of the sample point.
上記構成によれば、サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することができる。 According to the above configuration, the displacement of the sample point can be corrected using the weighting according to the new or old of the displacement of the sample point in accordance with the change of the derived value obtained from the displacement of the sample point.
また、上記導出値の変化は、変位の速度の変化量であってもよい。また、上記導出値の変化は、変位の角度の変化量であってもよいし、角度の変化率であってもよい。 Further, the change in the derived value may be a change amount in the displacement speed. The change in the derived value may be the amount of change in the angle of displacement or the rate of change in angle.
サンプル点の変位の新旧に応じた重み付けとは、例えば、サンプル点が新しいほど大きな重み付けを適用するとともに、サンプル点が古いほど小さな重み付けを適用するということである。逆に、サンプル点が新しいほど小さな重み付けを適用するとともに、サンプル点が古いほど大きな重み付けを適用してもかまわない。なお、上記補正はサンプル点を検出する都度行ってもよい。また、上記重み付けの設定方法は、予め設定されている定数値を適用してもよいし、導出値の変化に応じて設定される変数値を適用してもよい。 The weighting according to the old and new displacement of the sample point means, for example, that a larger weight is applied as the sample point is newer and a smaller weight is applied as the sample point is older. Conversely, a smaller weight may be applied as the sample point is newer, and a larger weight may be applied as the sample point is older. The correction may be performed every time a sample point is detected. The weighting setting method may apply a preset constant value or a variable value set according to a change in the derived value.
上記構成によれば、上記導出値の変化が大きくなった場合、サンプル点が新しいほど大きな重み付けを用いてサンプル点の変位を補正し、手書入力による描線の追従性を向上させたり、サンプル点が新しいほど小さな重み付けを用いてサンプル点の変位を補正し、手書入力による描線を滑らかにさせたりすることができる。 According to the above configuration, when the change in the derived value increases, the newer the sample point, the larger the weighting is used to correct the displacement of the sample point, thereby improving the followability of the drawn line by handwriting input, The newer the is, the smaller the weighting is used to correct the displacement of the sample points, and the handwritten input can be made smoother.
このように、上記構成によれば、サンプル点の変位の補正に用いる重み付けを手書入力の入力状況に応じて適宜変更することで、手書入力の追従性の向上、および、円滑化の少なくともいずれかを図ることができるという効果を奏する。 As described above, according to the above configuration, the weight used for correcting the displacement of the sample point is appropriately changed according to the input state of handwriting input, thereby improving the followability of handwriting input and at least smoothing. There is an effect that either one can be achieved.
なお、上記手書入力装置は、コンピュータによって実現してもよく、この場合には、上記手書入力装置における上記補正手段の動作をコンピュータにて実現させる手書入力プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。 The handwriting input device may be realized by a computer. In this case, the handwriting input program for realizing the operation of the correcting means in the handwriting input device by the computer, and a computer recording the same A readable recording medium falls within the scope of the present invention.
上記制御プログラムによれば、コンピュータで上記手段を実現することにより、コンピュータ上で手書入力装置を実現することができる。また、上記記録媒体によれば、記録媒体から読み出される制御プログラムを、汎用のコンピュータ上で実現することができる。 According to the above control program, the handwriting input device can be realized on the computer by realizing the above means on the computer. Further, according to the recording medium, the control program read from the recording medium can be realized on a general-purpose computer.
さらに、本発明の一態様に係る手書入力装置では、上記サンプル点の変位より求められる導出値は、上記サンプル点の変位の大きさに基づくものであってもよい。 Furthermore, in the handwriting input device according to one aspect of the present invention, the derived value obtained from the displacement of the sample point may be based on the magnitude of the displacement of the sample point.
上記構成によれば、上記導出値は、上記サンプル点の変位の大きさに基づくものである。上記サンプル点の変位の大きさに基づくものとは、例えば、変位の大きさとサンプル間隔から算出できる変位の速度であってもよい。 According to the above configuration, the derived value is based on the magnitude of the displacement of the sample point. The thing based on the magnitude | size of the displacement of the said sample point may be the speed of the displacement which can be calculated from the magnitude | size of a displacement and a sample space | interval, for example.
従って、例えば、P0、P1、およびP2の3つのサンプル点がある場合、上記導出値の変化は、P0P1間の速度v0と、P1P2間の速度v1との差であってもよいし、速度v0と速度v1との変化率であってもよい。
Thus, for example,
上記構成によれば、サンプル点間において速度が大きく変化するような場合において、手書入力の追従性の向上、および、円滑化の少なくともいずれかを図ることができる。 According to the above configuration, when the speed changes greatly between sample points, it is possible to improve at least one of the followability of handwriting input and smoothing.
さらに、本発明の一態様に係る手書入力装置では、上記補正手段は、上記導出値の変化が所定の閾値より大きくなったときに、より新しいサンプル点の変位に対してより大きな重み付けを用いる補正を行ってもよい。 Furthermore, in the handwriting input device according to an aspect of the present invention, the correction unit uses a larger weight for the displacement of a newer sample point when the change in the derived value becomes larger than a predetermined threshold value. Correction may be performed.
上記構成によれば、上記サンプル点の変位の大きさに基づく上記導出値の変化が大きくなったときに、より新しいサンプル点の変位に対してより大きな重み付けを用いる補正を行う。サンプル点の変位は最新のサンプル点に関するものであってもよい。 According to the above configuration, when the change in the derived value based on the magnitude of the displacement of the sample point becomes large, correction using a larger weight is performed on the displacement of the newer sample point. The sample point displacement may be relative to the latest sample point.
このため、手書入力の速度が上がったような場合において、より新しいサンプル点の変位に対してより大きな重み付けを用いる補正を行う。 For this reason, when the speed of handwriting input is increased, correction using a larger weight is performed for the displacement of a newer sample point.
よって、過去のデータも考慮しつつ、より新しい入力データに近い補正値を算出することができ、これにより追従性のよい描画を行うことができる。 Therefore, a correction value close to newer input data can be calculated in consideration of past data, thereby enabling drawing with good followability.
さらに、本発明の一態様に係る手書入力装置では、上記補正手段は、上記閾値より大きくなった上記導出値の変化が小さくなったときに、より新しいサンプル点の変位に対してより大きな重み付けを用いる補正を行ってもよい。 Further, in the handwriting input device according to one aspect of the present invention, the correction unit may apply a greater weight to the displacement of a newer sample point when a change in the derived value that has become larger than the threshold value becomes smaller. Correction may be performed using.
上記構成によれば、手書入力の速度が上がって、その後、当該速度が下がったような場合において、より新しいサンプル点の変位に対してより大きな重み付けを用いる補正を行う。 According to the above configuration, when the speed of handwriting input is increased and then the speed is decreased, correction using a larger weight is performed for the displacement of a newer sample point.
よって、速度変化の前後において、追従性を維持し続けることができる。 Therefore, the followability can be maintained before and after the speed change.
さらに、本発明の一態様に係る手書入力装置では、上記補正手段は、上記閾値より大きくなった上記導出値の変化が小さくなったときに、より新しいサンプル点の変位に対してより小さな重み付けを用いる補正を行ってもよい。 Further, in the handwriting input device according to one aspect of the present invention, the correction unit may apply a smaller weight to a new sample point displacement when a change in the derived value that is greater than the threshold value is small. Correction may be performed using.
上記構成によれば、手書入力の速度が上がって、その後、当該速度が下がったような場合において、より新しいサンプル点の変位に対してより小さい重み付けを用いる補正を行う。 According to the above configuration, when the speed of handwriting input is increased and then the speed is decreased, correction using a smaller weight is performed for the displacement of a newer sample point.
よって、速度変化の前後において、描画を滑らかにすることができる。 Therefore, the drawing can be smoothed before and after the speed change.
さらに、本発明の一態様に係る手書入力装置では、上記補正手段は、最新のサンプル点と該最新のサンプル点の一つ前のサンプル点との間における変位と、それ以前のサンプル点についての補正により得られた変位との加重平均を用いた補正を行ってもよい。 Furthermore, in the handwriting input device according to one aspect of the present invention, the correction unit is configured to detect a displacement between a latest sample point and a sample point immediately before the latest sample point, and a sample point before that. Correction using a weighted average with the displacement obtained by the correction may be performed.
上記構成によれば、最新の変位と、ひとつ前の変位の補正値とを用いて補正を行うことができる。 According to the above configuration, correction can be performed using the latest displacement and the previous displacement correction value.
この補正は例えば、“V´n=αVn+(1−α)V´n−1”という式により表わすことができる。ここで、V´nは、対象となる補正による補正後の変位を表わす。また、V´n−1は、対象となる補正のひとつ前の補正により得られた変位を示す。Vnは、補正前の変位を表わす。また、αは重み付け係数を表わす。 This correction can be expressed by, for example, an expression “V ′ n = αV n + (1−α) V ′ n−1 ”. Here, V ′ n represents the displacement after correction by the target correction. V ′ n−1 indicates a displacement obtained by the correction immediately before the target correction. V n represents the displacement before correction. Α represents a weighting coefficient.
このように、最新の変位と、ひとつ前の変位の補正値とを用いるだけで済むので、所定数の変位を記憶しておき、記憶した所定数の変位を計算に用いる加重移動平均を補正に使う場合よりも、記憶領域が少なくて済む。 In this way, since only the latest displacement and the previous displacement correction value need be used, a predetermined number of displacements are stored, and a weighted moving average that uses the stored predetermined number of displacements for calculation is corrected. It requires less storage space than using it.
よって精度のよい補正を比較的簡便に行うことができる。 Therefore, accurate correction can be performed relatively easily.
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, and various modifications are possible within the scope shown in the claims, and embodiments obtained by appropriately combining technical means disclosed in different embodiments. Is also included in the technical scope of the present invention.
〔ソフトウェアによる実現例〕
最後に、手書入力装置1の各ブロック、特に制御部20の各部は、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
[Example of software implementation]
Finally, each block of the
後者の場合、手書入力装置1は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである手書入力装置1の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記手書入力装置1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
In the latter case, the
上記記録媒体としては、一時的でない有形の媒体(non-transitory tangible medium)、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM(登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。 Examples of the recording medium include non-transitory tangible medium, such as magnetic tape and cassette tape, magnetic disk such as floppy (registered trademark) disk / hard disk, and CD-ROM / MO. Discs including optical discs such as / MD / DVD / CD-R, cards such as IC cards (including memory cards) / optical cards, semiconductor memories such as mask ROM / EPROM / EEPROM (registered trademark) / flash ROM Alternatively, logic circuits such as PLD (Programmable Logic Device) and FPGA (Field Programmable Gate Array) can be used.
また、手書入力装置1を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
The
本発明は、タブレット端末や、スマートフォンなどの高機能携帯電話機等のタッチパネル入力装置を備える装置に利用することができる。 INDUSTRIAL APPLICABILITY The present invention can be used for an apparatus including a touch panel input device such as a tablet terminal or a high-functional mobile phone such as a smartphone.
1、1A、1B 手書入力装置
10 記憶部
11 サンプル点履歴情報記憶部
12 速度閾値記憶部
12A 角度閾値記憶部
13 重み記憶部
14 補正データ履歴情報記憶部
15 指定変化率記憶部
20 制御部
21 サンプル点取得部
22 速度条件判定部
23 重み設定部
24、24A、24B 補正データ生成部
25 描画部
26 変化率指定判定部
27 角度算出部
28 変化率指定部
30 タッチパネル表示部
31 操作部
32 表示部
1, 1A, 1B
Claims (8)
サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正手段を備えることを特徴とする手書入力装置。 In a handwriting input device that generates handwriting input data for line drawing display based on a plurality of sample points obtained by sampling handwriting input,
Compensating means for generating the above-mentioned handwritten input data by correcting the displacement of the sample point using a weighting according to the new or old of the displacement of the sample point according to the change of the derived value obtained from the displacement of the sample point Handwriting input device characterized by.
サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正ステップをコンピュータに実行させることを特徴とする手書入力プログラム。 A handwriting input program for generating handwriting input data for displaying strokes based on a plurality of sample points obtained by sampling handwriting input,
A correction step for generating the above-mentioned handwritten input data by correcting the displacement of the sample point using the weighting according to the old and new of the displacement of the sample point according to the change of the derived value obtained from the displacement of the sample point is performed on the computer. A handwriting input program characterized by being executed.
サンプル点の変位より求められる導出値の変化に応じて、サンプル点の変位の新旧に応じた重み付けを用いてサンプル点の変位を補正することで上記手書入力データを生成する補正ステップを含むことを特徴とする手書入力装置の制御方法。 In a control method of a handwriting input device that generates handwriting input data for drawing a line based on a plurality of sample points obtained by sampling handwriting input,
Including a correction step of generating the above-mentioned handwritten input data by correcting the displacement of the sample point using a weighting according to the new and old of the displacement of the sample point according to a change in the derived value obtained from the displacement of the sample point A control method for a handwriting input device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012213038A JP2014067285A (en) | 2012-09-26 | 2012-09-26 | Handwriting input device, handwriting input program, and control method for handwriting input device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012213038A JP2014067285A (en) | 2012-09-26 | 2012-09-26 | Handwriting input device, handwriting input program, and control method for handwriting input device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014067285A true JP2014067285A (en) | 2014-04-17 |
Family
ID=50743604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012213038A Pending JP2014067285A (en) | 2012-09-26 | 2012-09-26 | Handwriting input device, handwriting input program, and control method for handwriting input device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014067285A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114415857A (en) * | 2022-01-19 | 2022-04-29 | 惠州Tcl移动通信有限公司 | Terminal operation method and device, terminal and storage medium |
US12014038B2 (en) * | 2020-05-08 | 2024-06-18 | Brother Kogyo Kabushiki Kaisha | Storage medium storing editing program and information processing apparatus |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011119483A1 (en) * | 2010-03-24 | 2011-09-29 | Neonode Inc. | Lens arrangement for light-based touch screen |
-
2012
- 2012-09-26 JP JP2012213038A patent/JP2014067285A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011119483A1 (en) * | 2010-03-24 | 2011-09-29 | Neonode Inc. | Lens arrangement for light-based touch screen |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12014038B2 (en) * | 2020-05-08 | 2024-06-18 | Brother Kogyo Kabushiki Kaisha | Storage medium storing editing program and information processing apparatus |
CN114415857A (en) * | 2022-01-19 | 2022-04-29 | 惠州Tcl移动通信有限公司 | Terminal operation method and device, terminal and storage medium |
CN114415857B (en) * | 2022-01-19 | 2024-02-09 | 惠州Tcl移动通信有限公司 | Terminal operation method and device, terminal and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2014315443B2 (en) | Tilting to scroll | |
US9547391B2 (en) | Method for processing input and electronic device thereof | |
US10186062B2 (en) | Contour segmentation apparatus and method based on user interaction | |
US10228840B2 (en) | Method of controlling touch function and an electronic device thereof | |
CN103677558B (en) | Method and apparatus for controlling zoom function in an electronic | |
US20190310755A1 (en) | Coordinate correction apparatus | |
CN112306301B (en) | Touch data processing method, device, equipment and storage medium | |
US20190041978A1 (en) | User defined head gestures methods and apparatus | |
JP2013142902A (en) | Apparatus and method for scaling layout of application program in image display device | |
JPWO2012111194A1 (en) | Input device, input method, and program | |
US10514802B2 (en) | Method for controlling display of touchscreen, and mobile device | |
KR20130111812A (en) | Apparatus and method for inage outputting in electronic device | |
KR20130098836A (en) | Method and apparatus for correcting gesture on touch screen based on vector | |
US20160320962A1 (en) | Detecting input based on multiple gestures | |
CN107277346A (en) | A kind of image processing method and terminal | |
JP2014067286A (en) | Handwriting input device, handwriting input program, and control method for handwriting input device | |
US20130187849A1 (en) | Coordinate information updating device | |
JP6100064B2 (en) | Electronic apparatus and image processing method | |
JP2014067285A (en) | Handwriting input device, handwriting input program, and control method for handwriting input device | |
KR20140008041A (en) | Method for directional adaptive image interpolation and an electronic device thereof | |
WO2015176376A1 (en) | Method and device for automatically adjusting valid touch point, and computer storage medium | |
CN110069195B (en) | Image dragging deformation method and device | |
US11823359B2 (en) | Systems and methods for leveling images | |
CN111126101B (en) | Method and device for determining key point position, electronic equipment and storage medium | |
US20170090672A1 (en) | Unified Drawing Framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150318 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160223 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160823 |