JP6125390B2 - ストローク処理装置、方法及びプログラム - Google Patents

ストローク処理装置、方法及びプログラム Download PDF

Info

Publication number
JP6125390B2
JP6125390B2 JP2013197137A JP2013197137A JP6125390B2 JP 6125390 B2 JP6125390 B2 JP 6125390B2 JP 2013197137 A JP2013197137 A JP 2013197137A JP 2013197137 A JP2013197137 A JP 2013197137A JP 6125390 B2 JP6125390 B2 JP 6125390B2
Authority
JP
Japan
Prior art keywords
coordinate
coordinates
stroke
unit
value
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.)
Active
Application number
JP2013197137A
Other languages
English (en)
Other versions
JP2015064663A (ja
Inventor
洋次郎 登内
洋次郎 登内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013197137A priority Critical patent/JP6125390B2/ja
Priority to US14/481,155 priority patent/US20150084889A1/en
Priority to CN201410471791.6A priority patent/CN104461119B/zh
Publication of JP2015064663A publication Critical patent/JP2015064663A/ja
Application granted granted Critical
Publication of JP6125390B2 publication Critical patent/JP6125390B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink
    • G06V30/36Matching; Classification
    • G06V30/373Matching; Classification using a special pattern or subpattern alphabet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明の実施形態は、ストローク処理装置、方法及びプログラムに関する。
ユーザが手書き入力した入力ストロークを表示用の表示ストロークに変換して出力する技術が知られている。
特許第1541958号公報
しかしながら、上述したような従来技術では、入力ストロークの表示ストロークへの変換は、ストロークの入力完了後に行われる。このため、ユーザは、入力ストロークの入力中に、当該入力ストロークがユーザの意図したストロークに変換されるか否かを把握できない。
本発明が解決しようとする課題は、入力ストロークの入力中に、当該入力ストロークがユーザの意図したストロークに変換されるか否かをユーザに把握させることができるストローク処理装置、方法及びプログラムを提供することである。
実施形態のストローク処理装置は、取得部と、記憶部と、判定部と、第1更新部と、変換部と、第2更新部と、表示制御部と、を備える。取得部は、入力ストロークを構成する第1座標を逐次取得する。記憶部は、前記第1座標毎に、前記入力ストロークの表示用の表示ストロークの第2座標を対応付けて記憶する。判定部は、前記取得部により前記第1座標が取得される毎に、前記記憶部から時系列の新しい順に前記第1座標を所定数取得し、前記取得部により取得された前記第1座標に前記所定数の第1座標の少なくともいずれかを加えた2以上の第1座標で構成される部分ストロークと類似する図形パターンが存在するか否かを判定する。第1更新部は、前記図形パターンが存在しない場合、前記所定数の第1座標それぞれの値で、当該第1座標に対応付けられた前記第2座標の値を更新し、前記取得部により取得された前記第1座標、及び値が当該第1座標の値である第2座標を対応付けて前記記憶部に記憶する。変換部は、前記図形パターンが存在する場合、前記部分ストロークを構成する前記2以上の第1座標を、それぞれ、前記図形パターンを構成する2以上の変換座標に変換する。第2更新部は、前記図形パターンが存在する場合、前記所定数の第1座標のうち前記部分ストロークを構成する第1座標それぞれに対応付けられた前記第2座標の値を、当該第2座標に対応付けられた前記第1座標の前記変換座標の値に更新し、前記取得部により取得された前記第1座標、及び値が当該第1座標の前記変換座標の値である第2座標を対応付けて前記記憶部に記憶する。表示制御部は、前記記憶部に記憶されている前記複数の第2座標を用いて前記表示ストロークを表示部に表示させる。
本実施形態のストローク処理装置の例を示す構成図。 本実施形態の記憶部に記憶される情報の例を示す図。 本実施形態の変換座標への変換手法の一例の説明図。 本実施形態の表示ストロークの表示例を示す図。 本実施形態の表示ストロークの表示例を示す図。 本実施形態の表示ストロークの表示例を示す図。 本実施形態の表示ストロークの表示例を示す図。 本実施形態の処理例を示すフローチャート。 本実施形態の他の処理例を示すフローチャート。 本実施形態のストローク処理装置のハードウェア構成例を示す図。
以下、添付図面を参照しながら、実施形態を詳細に説明する。
図1は、本実施形態のストローク処理装置10の一例を示す構成図である。図1に示すように、ストローク処理装置10は、入力部11と、取得部13と、記憶部15と、判定部17と、第1更新部19と、変換部21と、第2更新部23と、表示制御部25と、表示部27とを、備える。
入力部11は、タッチパネル、タッチパッド、マウス、及び電子ペンなどの手書き入力可能な入力装置により実現できる。取得部13、判定部17、第1更新部19、変換部21、第2更新部23、及び表示制御部25は、例えば、CPU(Central Processing Unit)などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。記憶部15は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、メモリカード、光ディスク、ROM(Read Only Memory)、及びRAM(Random Access Memory)などの磁気的、光学的、又は電気的に記憶可能な記憶装置により実現できる。表示部27は、例えば、タッチパネルディスプレイや液晶ディスプレイなどの表示装置により実現できる。
入力部11は、ユーザが手書きした入力ストローク(筆跡)をストローク処理装置10に入力する。入力ストロークは、ユーザが手書した筆跡などの1画、例えば、スタイラスペンや指がタッチパネルの入力面に接してから離れるまで(ペンダウンからペンアップまで)の軌跡を示すデータである。
入力ストロークは、例えば、{(x(1),y(1))、(x(2),y(2))、…}のような、スタイラスペンや指と入力面との接点の時系列の2次元座標を含むベクトルデータとして表される。例えば、時刻i(iは、自然数)での入力ストロークの座標は、(x(i),y(1))となる。
取得部13は、入力部11により入力された入力ストロークを構成する座標である第1座標を逐次取得する。例えば、取得部13は、時刻1の時点では、入力ストロークの第1座標(x(1),y(1))を取得し、時刻2の時点では、入力ストロークの第1座標(x(2),y(2))を取得し、時刻iの時点では、入力ストロークの第1座標(x(i),y(i))を取得する。
記憶部15は、第1座標毎に、入力ストロークの表示用の表示ストロークの座標である第2座標を対応付けて記憶する。詳細には、記憶部15は、第1座標毎に、第2座標が第1座標であるか後述の変換部21により第1座標を変換した変換座標であるかを示す属性情報を更に対応付けて記憶する。
図2は、本実施形態の記憶部15に記憶される情報の一例を示す図である。図2に示す例では、記憶部15は、第1座標と、第2座標と、属性情報とを、対応付けた組(レコード)を時系列の順で記憶している。なお、記憶部15への第1座標、第2座標、及び属性情報の書き込みや更新は、後述の第1更新部19及び第2更新部23により行われる。
判定部17は、取得部13により第1座標が取得される毎に、記憶部15から時系列の新しい順に第1座標を所定数取得し、取得部13により取得された第1座標に所定数の第1座標の少なくともいずれかを加えた2以上の第1座標で構成される部分ストロークと類似する図形パターンが存在するか否かを判定する。詳細には、判定部17は、部分ストロークとの誤差が閾値以下となる図形パターンが存在するか否かを判定する。なお判定部17は、複数の部分ストロークが図形パターンと類似する場合、構成する第1座標の数が最も多い部分ストロークが図形パターンと類似すると判定する。
具体的には、判定部17は、記憶部15から時系列が最新の第1座標に対応付けられた属性情報を更に取得し、当該属性情報が第1座標であることを示す場合、部分ストロークと類似する図形パターンが存在するか否かを判定し、当該属性情報が変換座標であることを示す場合、部分ストロークが、前回の判定で類似すると判定された前図形パターンと類似するか否かを判定する。
例えば、判定部17は、取得部13により第1座標(x(i),y(i))が取得されると、記憶部15から、時系列の新しい順に所定数の第1座標{(x(k),y(k))、(x(k+1),y(k+1))、…(x(i−1),y(i−1))}を取得する。この所定数の第1座標は、時系列が連続しており、(x(i−1),y(i−1))が最も新しく、(x(k),y(k))が最も古い。
そして判定部17は、{(x(k),y(k))、(x(k+1),y(k+1))、…(x(i−1),y(i−1))}に(x(i),y(i))を用いて、(x(i),y(i))を含み、かつ時系列が連続した座標列を生成し、それぞれの座標列で構成される部分ストロークと類似する図形パターンが存在するか否かを判定する。
この場合に生成される座標列は、{(x(i−1),y(i−1))、(x(i),y(i))}、{(x(i−2),y(i−2))、(x(i−1),y(i−1))、(x(i),y(i))}、…、{(x(k+1),y(k+1))、…,(x(i−1),y(i−1))、(x(i),y(i))}、{(x(k),y(k))、(x(k+1),y(k+1))、…,(x(i−1),y(i−1))、(x(i),y(i))}のi−k個の座標列である。
例えば、判定対象の図形パターンが直線の場合、判定部17は、i−k個のそれぞれの座標列を最小二乗法による回帰直線で近似し、i−k個の座標列のうち近似誤差が閾値以内に収まっている座標列を直線と類似すると判定する。なお判定部17は、近似誤差が閾値以内に収まっている座標列が複数存在する場合、例えば、座標の個数i−k+1が最も大きい座標列を直線と類似すると判定する。
直線をy=ax+bと表記した場合、kからiまでの座標時系列に関する回帰問題は、数式(1)を最小にする(a,b)という2つの直線パラメータを求める問題となる。
s(a,b)=Σ(y(i)−ax(i)−b)^2 …(1)
なおΣはi=1からNまでの総和を表す。
この問題は、数式(2)及び数式(3)のときに、S(k,I;a,b)が最小になる。
a_min(k,i)=(Σ(x(j)*y(j))−(Σx(j)*Σy(j))/N)/(Σ(x(j)^2)−(Σx(j)*Σx(j))/N) …(2)
b_min(k,i)=(Σy(j)−a_min*Σx(j))/N …(3)
この時、近似誤差S(k,I;a_min(k,I),b_min(k,I))が予め設定した閾値を下回るとき、座標列を直線と類似すると判定する。より詳細には、k=…,i−3,i−2,i−1それぞれの直線の近似誤差…,S(i−3,I;a,b),S(i−2,I;a,b),S(i−1,I;a,b)を計算し、近似誤差が閾値を下回るkを選択する。但し、座標の個数i−k+1が小さいときに近似誤差がたまたま小さな値になることがあるので、i−k+1が一定値以上であるという制限を加えてもよい。複数のkで直線と類似すると判定された場合には、座標の個数i−k+1が最も大きいkを選択すればよい。
なお、部分ストロークと類似する図形パターンが存在するか否かではなく、部分ストロークが、前回の判定で類似すると判定された前図形パターンと類似するか否かを判定する場合、新たに時刻iでの近似誤差S(k,I;a,b)を最小にする直線パラメータを計算する代わりに、時刻i−1にて(x(i−1),y(i−1))が追加された時に近似した直線パラメータ(a_min(k,i−1),b_min(k,i−1))をそのまま用いてもよい。
この時に、時刻i−1での近似直線パラメータ(a_min(k,i−1),b_min(k,i−1))で近似できないと判定した場合には、新たに時刻iでの直線パラメータ(a_min(k’,i−1),b_min(k’,i−1))を計算して新たな近似図形を計算してもよい。
なお、直線をy=ax+bと表記とすると、直線の傾きが大きく直線が垂直に近づくと誤差が大きくなる傾向がある。これを防ぐために、各座標点に対して直線の方向が水平方向になるような回転処理を加えてもよい。
第1更新部19は、判定部17により部分ストロークと類似する図形パターンが存在しないと判定された場合、又は判定部17により部分ストロークが前図形パターンと類似しないと判定された場合、所定数の第1座標それぞれの値で、当該第1座標に対応付けられた第2座標の値を更新し、所定数の第1座標に対応付けられた属性情報が第1座標であることを示すように更新し、取得部13により取得された第1座標、値が当該第1座標の値である第2座標、及び第1座標であることを示す属性情報を対応付けて記憶部15に記憶する。
例えば、第1更新部19は、判定部17により部分ストロークと類似する図形パターンが存在しないと判定された場合、(X(k),Y(k))、(X(k+1),Y(k+1))、…、(X(i−1),Y(i−1))それぞれを(x(k),y(k))、(x(k+1),y(k+1))、…、(x(i−1),y(i−1))で更新し、これらの属性情報が第1座標であることを示すように更新する。また第1更新部19は、第1座標(x(i),y(i))、第2座標(x(i),y(i))、属性情報(第1座標)を対応付けて記憶部15に記憶する。
変換部21は、判定部17により部分ストロークと類似する図形パターンが存在すると判定された場合、部分ストロークを構成する2以上の第1座標を、それぞれ、図形パターンを構成する2以上の変換座標に変換する。また変換部21は、判定部17により部分ストロークが前図形パターンと類似すると判定された場合、部分ストロークを構成する2以上の第1座標を、それぞれ、前図形パターンを構成する2以上の変換座標に変換する。
例えば、変換部21は、図3に示すように、部分ストローク101を構成する2以上の第1座標{(x(k),y(k))、(x(k+1),y(k+1))、…,(x(i−1),y(i−1))、(x(i),y(i))}を、図形パターン(図3に示す例では、直線102)を構成する2以上の変換座標{(X(k),Y(k))、(X(k+1),Y(k+1))、…,(X(i−1),Y(i−1))、(X(i),Y(i))}に変換する。この場合、変換座標(例えば、(X(i),Y(i)))は、第1座標(例えば、(x(i),y(i)))から直線102へ垂線を下した交点となる。
第2更新部23は、判定部17により部分ストロークと類似する図形パターンが存在すると判定された場合、又は判定部17により部分ストロークが前図形パターンと類似すると判定された場合、所定数の第1座標のうち部分ストロークを構成する第1座標それぞれに対応付けられた第2座標の値を、当該第2座標に対応付けられた第1座標の変換座標の値に更新し、所定数の第1座標のうち部分ストロークを構成する第1座標に対応付けられた属性情報が変換座標であることを示すように更新し、取得部13により取得された第1座標、値が当該第1座標の変換座標の値である第2座標、及び変換座標であることを示す属性情報を対応付けて記憶部15に記憶する。
例えば、第1更新部19は、判定部17により部分ストロークと類似する図形パターンが存在しないと判定された場合、第2座標を(X(k),Y(k))、(X(k+1),Y(k+1))、…、(X(i−1),Y(i−1))で更新し、これらの属性情報が第2座標であることを示すように更新する。また第2更新部23は、第1座標(x(i),y(i))、第2座標(X(i),Y(i))、属性情報(第2座標)を対応付けて記憶部15に記憶する。
表示制御部25は、記憶部15に記憶されている複数の第2座標を用いて表示ストロークを表示部27に表示させる。例えば、表示制御部25は、記憶部15に記憶されている複数の第2座標をつないで表示ストロークを表示部27に表示させる。なお表示制御部25は、スプライン補間して表示ストロークを表示部27に表示させてもよい。また表示制御部25は、表示ストロークに付随して入力ストロークを表示部27に表示させてもよい。この場合、表示制御部25は、入力ストロークを、表示ストロークと異なる色や線の種類で表示することが好ましい。
本実施形態によれば、図4に示すように、入力ストローク111に座標113が追加される前の時点では、表示ストローク114の先端部分は、フリーハンドで描かれたストロークのままだが、図5に示すように、入力ストローク111に座標113が追加された後の時点では、表示ストローク114の先端部分115は、直線に置換されている。
また図6に示すように、入力ストローク121に座標123が追加される前の時点では、表示ストローク122の先端部分は、直線に置換されているが、図7に示すように、入力ストローク121に座標123が追加された後の時点では、表示ストローク124の先端部分125は、フリーハンドで描かれたストロークに置換されている。
このように本実施形態によれば、入力ストロークの入力中に、当該入力ストロークをユーザが意図したと思われる表示ストロークに変換するため、入力ストロークの入力中に、当該入力ストロークがユーザの意図したストロークに変換されるか否かをユーザに把握させることができる。
図8は、本実施形態のストローク処理装置10で行われる処理の手順の流れの一例を示すフローチャートである。
まず、取得部13は、入力部11により入力された入力ストロークを構成する座標である第1座標を取得する(ステップS101)。
続いて、判定部17は、取得部13により第1座標が取得されると、記憶部15から時系列の新しい順に第1座標を所定数取得し(ステップS103)、記憶部15から時系列が最新の第1座標に対応付けられた属性情報を取得する(ステップS105)。
そして判定部17は、属性情報が第1座標であることを示す場合(ステップS107でYes)、部分ストロークと類似する図形パターンが存在するか否かを判定する(ステップS109)。
類似する図形パターンが存在しない場合(ステップS109でNo)、第1更新部19は、所定数の第1座標それぞれの値で、当該第1座標に対応付けられた第2座標の値を更新し、所定数の第1座標に対応付けられた属性情報が第1座標であることを示すように更新する(ステップS111)。
続いて、第1更新部19は、取得部13により取得された第1座標、値が当該第1座標の値である第2座標、及び第1座標であることを示す属性情報を対応付けて記憶部15に記憶する(ステップS113)。
続いて、表示制御部25は、記憶部15に記憶されている複数の第2座標を用いて表示ストロークを表示部27に表示させ(ステップS133)、ステップS101へ戻る。
なお、類似する図形パターンが存在する場合(ステップS109でYes)、変換部21は、部分ストロークを構成する2以上の第1座標を、それぞれ、図形パターンを構成する2以上の変換座標に変換する(ステップS115)。
続いて、第2更新部23は、所定数の第1座標のうち部分ストロークを構成する第1座標それぞれに対応付けられた第2座標の値を、当該第2座標に対応付けられた第1座標の変換座標の値に更新し、所定数の第1座標のうち部分ストロークを構成する第1座標に対応付けられた属性情報が変換座標であることを示すように更新する(ステップS117)。
続いて、第2更新部23は、取得部13により取得された第1座標、値が当該第1座標の変換座標の値である第2座標、及び変換座標であることを示す属性情報を対応付けて記憶部15に記憶する(ステップS119)。
続いて、表示制御部25は、記憶部15に記憶されている複数の第2座標を用いて表示ストロークを表示部27に表示させ(ステップS133)、ステップS101へ戻る。
一方、判定部17は、属性情報が変換座標であることを示す場合(ステップS107でNo)、部分ストロークが前図形パターンと類似するか否かを判定する(ステップS121)。
前図形パターンと類似しない場合(ステップS121でNo)、第1更新部19は、所定数の第1座標それぞれの値で、当該第1座標に対応付けられた第2座標の値を更新し、所定数の第1座標に対応付けられた属性情報が第1座標であることを示すように更新する(ステップS123)。
続いて、第1更新部19は、取得部13により取得された第1座標、値が当該第1座標の値である第2座標、及び第1座標であることを示す属性情報を対応付けて記憶部15に記憶する(ステップS125)。
続いて、表示制御部25は、記憶部15に記憶されている複数の第2座標を用いて表示ストロークを表示部27に表示させ(ステップS133)、ステップS101へ戻る。
なお、前図形パターンと類似する場合(ステップS121でYes)、変換部21は、部分ストロークを構成する2以上の第1座標を、それぞれ、前図形パターンを構成する2以上の変換座標に変換する(ステップS127)。
続いて、第2更新部23は、所定数の第1座標のうち部分ストロークを構成する第1座標それぞれに対応付けられた第2座標の値を、当該第2座標に対応付けられた第1座標の変換座標の値に更新し、所定数の第1座標のうち部分ストロークを構成する第1座標に対応付けられた属性情報が変換座標であることを示すように更新する(ステップS129)。
続いて、第2更新部23は、取得部13により取得された第1座標、値が当該第1座標の変換座標の値である第2座標、及び変換座標であることを示す属性情報を対応付けて記憶部15に記憶する(ステップS131)。
続いて、表示制御部25は、記憶部15に記憶されている複数の第2座標を用いて表示ストロークを表示部27に表示させ(ステップS133)、ステップS101へ戻る。
図9は、本実施形態のストローク処理装置10で行われる処理の手順の流れの他の例を示すフローチャートである。
図9に示す例では、判定部17は、部分ストロークが前図形パターンと類似しないと判定した場合(ステップS221でNo)、ステップS209へ移行し、部分ストロークと類似する図形パターンが存在するか否かを判定する(ステップS209)。
なお、ステップS201〜S219、及びS227〜S233は、それぞれ、図8に示すフローチャートのステップS101〜S119、及びS127〜S133と同様である。
以上のように本実施形態によれば、入力ストロークの入力中に、当該入力ストロークをユーザが意図したと思われる表示ストロークに変換するため、入力ストロークの入力中に、当該入力ストロークがユーザの意図したストロークに変換されるか否かをユーザに把握させることができる。
特に本実施形態によれば、入力ストロークの入力中に、部分的な線分や折れ線の有無を判定し、判定結果に合わせて当該部分的な線分や折れ線を直線で変換して表示するので、入力ストロークの入力中に、部分的な線分や折れ線がユーザの意図したとおり変換されるか否かをユーザに把握させることができる。
(ハードウェア構成)
図10は、本実施形態のストローク処理装置10のハードウェア構成の一例を示すブロック図である。図10に示すように、本実施形態のストローク処理装置10は、CPUなどの制御装置901と、ROM(Read Only Memory)やRAM(Random Access Memory)などの記憶装置902と、HDDやSSDなどの外部記憶装置903と、ディスプレイなどの表示装置904と、マウスやキーボードなどの入力装置905と、通信I/Fなどの通信装置906とを、備えており、通常のコンピュータを利用したハードウェア構成で実現できる。
本実施形態のストローク処理装置10で実行されるプログラムは、ROM等に予め組み込んで提供される。また、本実施形態のストローク処理装置10で実行されるプログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、メモリカード、DVD、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されて提供するようにしてもよい。また、本実施形態のストローク処理装置10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。
本実施形態のストローク処理装置10で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、制御装置901が外部記憶装置903からプログラムを記憶装置902上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
以上説明したとおり、本実施形態によれば、入力ストロークの入力中に、当該入力ストロークがユーザの意図したストロークに変換されるか否かをユーザに把握させることができる。
なお本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
例えば、上記実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
10 ストローク処理装置
11 入力部
13 取得部
15 記憶部
17 判定部
19 第1更新部
21 変換部
23 第2更新部
25 表示制御部
27 表示部

Claims (9)

  1. 入力ストロークを構成する第1座標を逐次取得する取得部と、
    前記第1座標毎に、前記入力ストロークの表示用の表示ストロークの第2座標を対応付けて記憶する記憶部と、
    前記取得部により前記第1座標が取得される毎に、前記記憶部から時系列の新しい順に前記第1座標を所定数取得し、前記取得部により取得された前記第1座標に前記所定数の第1座標の少なくともいずれかを加えた2以上の第1座標で構成される部分ストロークと類似する図形パターンが存在するか否かを判定する判定部と、
    前記図形パターンが存在しない場合、前記所定数の第1座標それぞれの値で、当該第1座標に対応付けられた前記第2座標の値を更新し、前記取得部により取得された前記第1座標、及び値が当該第1座標の値である第2座標を対応付けて前記記憶部に記憶する第1更新部と、
    前記図形パターンが存在する場合、前記部分ストロークを構成する前記2以上の第1座標を、それぞれ、前記図形パターンを構成する2以上の変換座標に変換する変換部と、
    前記図形パターンが存在する場合、前記所定数の第1座標のうち前記部分ストロークを構成する第1座標それぞれに対応付けられた前記第2座標の値を、当該第2座標に対応付けられた前記第1座標の前記変換座標の値に更新し、前記取得部により取得された前記第1座標、及び値が当該第1座標の前記変換座標の値である第2座標を対応付けて前記記憶部に記憶する第2更新部と、
    前記記憶部に記憶されている前記複数の第2座標を用いて前記表示ストロークを表示部に表示させる表示制御部と、
    を備えるストローク処理装置。
  2. 前記記憶部は、前記第1座標毎に、前記第2座標が前記第1座標であるか前記変換座標であるかを示す属性情報を更に対応付けて記憶し、
    前記判定部は、前記記憶部から時系列が最新の前記第1座標に対応付けられた前記属性情報を更に取得し、当該属性情報が前記第1座標であることを示す場合、前記部分ストロークと類似する図形パターンが存在するか否かを判定し、
    前記第1更新部は、前記図形パターンが存在しない場合、前記所定数の前記第1座標に対応付けられた前記属性情報が前記第1座標であることを示すように更に更新し、前記取得部により取得された前記第1座標に、前記第1座標であることを示す属性情報を更に対応付けて前記記憶部に記憶し、
    前記第2更新部は、前記図形パターンが存在する場合、前記所定数の第1座標のうち前記部分ストロークを構成する第1座標に対応付けられた前記属性情報が前記変換座標であることを示すように更に更新し、前記取得部により取得された前記第1座標に、前記変換座標であることを示す属性情報を更に対応付けて前記記憶部に記憶する請求項1に記載のストローク処理装置。
  3. 前記記憶部は、前記第1座標毎に、前記第2座標が前記第1座標であるか前記変換座標であるかを示す属性情報を更に対応付けて記憶し、
    前記判定部は、前記記憶部から時系列が最新の前記第1座標に対応付けられた前記属性情報を更に取得し、当該属性情報が前記変換座標であることを示す場合、前記部分ストロークが、前回の判定で類似すると判定された前図形パターンと類似するか否かを判定し、
    前記第1更新部は、前記前図形パターンと類似しない場合、前記所定数の第1座標それぞれの値で、当該第1座標に対応付けられた前記第2座標の値を更新し、前記所定数の前記第1座標に対応付けられた前記属性情報が前記第1座標であることを示すように更新し、前記取得部により取得された前記第1座標、値が当該第1座標の値である第2座標、及び前記第1座標であることを示す属性情報を対応付けて前記記憶部に記憶し、
    前記変換部は、前記前図形パターンと類似する場合、前記部分ストロークを構成する前記2以上の第1座標を、それぞれ、前記前図形パターンを構成する2以上の変換座標に変換し、
    前記第2更新部は、前記前図形パターンと類似する場合、前記所定数の第1座標のうち前記部分ストロークを構成する第1座標それぞれに対応付けられた前記第2座標の値を、当該第2座標に対応付けられた前記第1座標の前記変換座標の値に更新し、前記所定数の第1座標のうち前記部分ストロークを構成する第1座標に対応付けられた前記属性情報が前記変換座標であることを示すように更新し、前記取得部により取得された前記第1座標、値が当該第1座標の前記変換座標の値である第2座標、及び前記変換座標であることを示す属性情報を対応付けて前記記憶部に記憶する請求項1に記載のストローク処理装置。
  4. 前記判定部は、前記前図形パターンと類似しない場合、前記部分ストロークと類似する図形パターンが存在するか否かを更に判定し、
    前記第1更新部は、前記図形パターンが存在しない場合、前記所定数の前記第1座標に対応付けられた前記属性情報が前記第1座標であることを示すように更に更新し、前記取得部により取得された前記第1座標に、前記第1座標であることを示す属性情報を更に対応付けて前記記憶部に記憶し、
    前記第2更新部は、前記図形パターンが存在する場合、前記所定数の第1座標のうち前
    記部分ストロークを構成する第1座標に対応付けられた前記属性情報が前記変換座標であることを示すように更に更新し、前記取得部により取得された前記第1座標に、前記変換座標であることを示す属性情報を更に対応付けて前記記憶部に記憶する請求項3に記載のストローク処理装置。
  5. 前記判定部は、前記部分ストロークとの誤差が閾値以下となる図形パターンが存在するか否かを判定する請求項1に記載のストローク処理装置。
  6. 前記判定部は、複数の部分ストロークが前記図形パターンと類似する場合、構成する第1座標の数が最も多い部分ストロークが前記図形パターンと類似すると判定する請求項1に記載のストローク処理装置。
  7. 前記図形パターンは、直線である請求項1に記載のストローク処理装置。
  8. ストローク処理装置で実行されるストローク処理方法であって、
    前記ストローク処理装置は、
    第1座標毎に、入力ストロークの表示用の表示ストロークの第2座標を対応付けて記憶する記憶部を備え、
    前記入力ストロークを構成する第1座標を逐次取得する取得ステップと、
    前記取得ステップにより前記第1座標が取得される毎に、前記記憶部から時系列の新しい順に前記第1座標を所定数取得し、前記取得ステップにより取得された前記第1座標に前記所定数の第1座標の少なくともいずれかを加えた2以上の第1座標で構成される部分ストロークと類似する図形パターンが存在するか否かを判定する判定ステップと、
    前記図形パターンが存在しない場合、前記所定数の第1座標それぞれの値で、当該第1座標に対応付けられた前記第2座標の値を更新し、前記取得ステップにより取得された前記第1座標、及び値が当該第1座標の値である第2座標を対応付けて前記記憶部に記憶する第1更新ステップと、
    前記図形パターンが存在する場合、前記部分ストロークを構成する前記2以上の第1座標を、それぞれ、前記図形パターンを構成する2以上の変換座標に変換する変換ステップと、
    前記図形パターンが存在する場合、前記所定数の第1座標のうち前記部分ストロークを構成する第1座標それぞれに対応付けられた前記第2座標の値を、当該第2座標に対応付けられた前記第1座標の前記変換座標の値に更新し、前記取得ステップにより取得された前記第1座標、及び値が当該第1座標の前記変換座標の値である第2座標を対応付けて前記記憶部に記憶する第2更新ステップと、
    前記記憶部に記憶されている前記複数の第2座標を用いて前記表示ストロークを表示部に表示させる表示制御ステップと、
    を含むストローク処理方法。
  9. 入力ストロークを構成する第1座標を逐次取得する取得部と、
    前記第1座標毎に、前記入力ストロークの表示用の表示ストロークの第2座標を対応付けて記憶する記憶部と、
    前記取得部により前記第1座標が取得される毎に、前記記憶部から時系列の新しい順に前記第1座標を所定数取得し、前記取得部により取得された前記第1座標に前記所定数の第1座標の少なくともいずれかを加えた2以上の第1座標で構成される部分ストロークと類似する図形パターンが存在するか否かを判定する判定部と、
    前記図形パターンが存在しない場合、前記所定数の第1座標それぞれの値で、当該第1座標に対応付けられた前記第2座標の値を更新し、前記取得部により取得された前記第1座標、及び値が当該第1座標の値である第2座標を対応付けて前記記憶部に記憶する第1更新部と、
    前記図形パターンが存在する場合、前記部分ストロークを構成する前記2以上の第1座標を、それぞれ、前記図形パターンを構成する2以上の変換座標に変換する変換部と、
    前記図形パターンが存在する場合、前記所定数の第1座標のうち前記部分ストロークを構成する第1座標それぞれに対応付けられた前記第2座標の値を、当該第2座標に対応付けられた前記第1座標の前記変換座標の値に更新し、前記取得部により取得された前記第1座標、及び値が当該第1座標の前記変換座標の値である第2座標を対応付けて前記記憶部に記憶する第2更新部と、
    前記記憶部に記憶されている前記複数の第2座標を用いて前記表示ストロークを表示部に表示させる表示制御部と、
    してコンピュータを機能させるためのプログラム。
JP2013197137A 2013-09-24 2013-09-24 ストローク処理装置、方法及びプログラム Active JP6125390B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013197137A JP6125390B2 (ja) 2013-09-24 2013-09-24 ストローク処理装置、方法及びプログラム
US14/481,155 US20150084889A1 (en) 2013-09-24 2014-09-09 Stroke processing device, stroke processing method, and computer program product
CN201410471791.6A CN104461119B (zh) 2013-09-24 2014-09-16 笔划处理装置和笔划处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013197137A JP6125390B2 (ja) 2013-09-24 2013-09-24 ストローク処理装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015064663A JP2015064663A (ja) 2015-04-09
JP6125390B2 true JP6125390B2 (ja) 2017-05-10

Family

ID=52690524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013197137A Active JP6125390B2 (ja) 2013-09-24 2013-09-24 ストローク処理装置、方法及びプログラム

Country Status (3)

Country Link
US (1) US20150084889A1 (ja)
JP (1) JP6125390B2 (ja)
CN (1) CN104461119B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528249B2 (en) * 2014-05-23 2020-01-07 Samsung Electronics Co., Ltd. Method and device for reproducing partial handwritten content
US20170236318A1 (en) * 2016-02-15 2017-08-17 Microsoft Technology Licensing, Llc Animated Digital Ink
CN106600664B (zh) * 2016-12-08 2019-12-17 广州视源电子科技股份有限公司 对称图形的绘制方法和装置
CN114663551B (zh) * 2022-04-08 2024-07-05 深圳软牛科技集团股份有限公司 一种在墨迹画板中创建图案笔划的方法、装置及相关组件

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5848187A (en) * 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
JPH0744658A (ja) * 1993-05-27 1995-02-14 Toshiba Corp 文字認識装置及び文字認識方法
JP3299875B2 (ja) * 1995-11-27 2002-07-08 シャープ株式会社 文字処理装置
CN1395169A (zh) * 2001-07-10 2003-02-05 天瀚科技股份有限公司 一种修饰手写输入装置的手写轨迹的方法
WO2004068331A1 (ja) * 2003-01-30 2004-08-12 Fujitsu Limited 手書き入力装置及び方法
JP4210846B2 (ja) * 2003-07-18 2009-01-21 ソニー株式会社 映像表示装置
JP4137069B2 (ja) * 2005-03-15 2008-08-20 株式会社リコー 制御装置
US8116569B2 (en) * 2007-12-21 2012-02-14 Microsoft Corporation Inline handwriting recognition and correction
US20100199226A1 (en) * 2009-01-30 2010-08-05 Nokia Corporation Method and Apparatus for Determining Input Information from a Continuous Stroke Input
CN101699518B (zh) * 2009-10-30 2012-06-20 华南理工大学 一种基于轨迹分析的手写汉字的美化方法
JP5550598B2 (ja) * 2011-03-31 2014-07-16 パナソニック株式会社 手書き文字入力装置

Also Published As

Publication number Publication date
US20150084889A1 (en) 2015-03-26
JP2015064663A (ja) 2015-04-09
CN104461119B (zh) 2017-11-10
CN104461119A (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
JP6609994B2 (ja) 表示制御方法、情報処理装置及び表示制御プログラム
JP6013642B2 (ja) 体験コンテンツデータセットに関するキャンペーン最適化
US9582933B1 (en) Interacting with a model via a three-dimensional (3D) spatial environment
JP6125390B2 (ja) ストローク処理装置、方法及びプログラム
JP2009093291A (ja) ジェスチャー判定装置及び方法
KR20130066511A (ko) 필기 문자들을 미화변형 하기 위한 방법 및 장치
US20210316210A1 (en) Game system, processing method, and information storage medium
JP2023153238A (ja) デジタルインク生成装置、方法及びプログラム
JP6239694B1 (ja) 画像処理装置、画像処理方法、およびプログラム
JP7168837B2 (ja) 商品案内方法、装置、デバイス、記憶媒体、及びプログラム
JP5903394B2 (ja) グラフ視覚化表示装置及び方法及びプログラム
JP6440394B2 (ja) シミュレーション画像表示装置
US9256348B2 (en) Posture creation with tool pickup
US9927917B2 (en) Model-based touch event location adjustment
JP2013080267A (ja) 認証装置および認証方法
JP5767371B1 (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
JP2015102875A (ja) 表示システム及び表示制御装置
US20150301733A1 (en) Method and apparatus for providing state identification
CN113362418A (zh) 基于贝塞尔曲线的曲线平滑方法、系统、设备及存储介质
KR101370830B1 (ko) 사용자 인터페이스 구현 시스템 및 구현 방법
WO2014171177A1 (ja) タッチパネル装置、タッチパネル付き表示装置およびプログラム
JP2016016319A (ja) 仮想空間平面上に配置したオブジェクトを表示制御するゲーム・プログラム
CN111062360A (zh) 一种手部追踪系统及其追踪方法
JP6000482B1 (ja) ユーザ・インタフェース画像表示方法およびプログラム
JP6751964B2 (ja) 手書き文字学習支援装置、手書き文字学習方法、及びプログラム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170405

R151 Written notification of patent or utility model registration

Ref document number: 6125390

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313121

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350