JP6710803B2 - Digital ink file reproducing device, digital ink file reproducing method, and program - Google Patents
Digital ink file reproducing device, digital ink file reproducing method, and program Download PDFInfo
- Publication number
- JP6710803B2 JP6710803B2 JP2019088054A JP2019088054A JP6710803B2 JP 6710803 B2 JP6710803 B2 JP 6710803B2 JP 2019088054 A JP2019088054 A JP 2019088054A JP 2019088054 A JP2019088054 A JP 2019088054A JP 6710803 B2 JP6710803 B2 JP 6710803B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- digital ink
- conversion rule
- ink file
- stroke
- 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
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Description
本発明はデジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置に関し、特に、ペンを動作するに伴い生成されるイベントデータに基づいてデジタルインクを生成するデジタルインク生成装置及びデジタルインク生成方法と、そうして生成されたデジタルインクを再生するデジタルインク再生装置とに関する。 The present invention relates to a digital ink generating device, a digital ink generating method, and a digital ink reproducing device, and more particularly, to a digital ink generating device and a digital ink generating method that generate digital ink based on event data generated by operating a pen. , And a digital ink reproducing device for reproducing the digital ink thus generated.
インクの充填されたペンや絵の具の付いた毛筆を紙の上で動かすことにより、インクや絵の具が紙に吸収あるいは堆積され軌跡が描かれる。 By moving an ink-filled pen or a brush with paint on the paper, the ink or paint is absorbed or deposited on the paper and a trace is drawn.
このように紙に描かれた手書きの軌跡(ストローク)を模擬するように、電子ペンやスタイラスなどの指示体をタブレット等の位置検出器の上で動かした軌跡を電子データ化したデータがデジタルインクである。デジタルインクは、通常、(1)手書きの軌跡を再現するためのデータ、(2)軌跡の描画スタイルを記述するデータ、及び、(3)軌跡に関するデータの変換規則を記述するデータを含み構成される。デジタルインクには、様々なOSで動作する描画アプリケーションや文書作成アプリケーションなどの異種環境でも利用できるように標準化されたデータフォーマットが存在する(非特許文献1〜4)。
In this way, digital data is generated by converting the trajectory of a pointing device such as an electronic pen or stylus moved on a position detector such as a tablet into electronic data so as to simulate a handwritten trajectory (stroke) drawn on paper. Is. Digital ink is usually configured to include (1) data for reproducing a handwritten trajectory, (2) data for describing a trajectory drawing style, and (3) data for describing a conversion rule of data regarding the trajectory. It Digital ink has standardized data formats that can be used in different environments such as drawing applications and document creation applications that operate on various OSs (Non-Patent
非特許文献1記載のInkMLは、最も知られたデジタルインクのデータフォーマットの1つである。(1)手書きの軌跡を再現するためのデータは<trace>要素と呼ばれる。<trace>要素には、1ストローク(指示体を位置検出装置のセンサ面に接触させてから離すまでの動作)の軌跡を構成する複数のポイントデータ(入力センサによって所定の時間間隔で検出されるデータ。座標データ(X,Y)、筆圧データP、時刻データTなど、入力センサ依存の属性(入力センサ属性)を示すデータを含む)の集合を記述する。また、InkMLでは(2)軌跡の描画スタイルを指定するデータとして例えば<brush>要素などのデータ、(3)軌跡に関するデータの変換規則を記述するデータとして後述する<mapping>要素などのデータが規定されている。
InkML described in Non-Patent
非特許文献2記載のISF(Ink Serialized Format)は、マイクロソフト社のアプリケーション上で利用されるデジタルインクのデータフォーマットである。(1)手書きの軌跡を再現するためのデータのブロックは、StrokeDescriptorBlockと呼ばれる。StrokeDescriptorBlockには、ストロークの軌跡を再現するためのポイント(ポイントはX、Y座標値である)や筆圧値等が記述される。又、(2)描画スタイルを記述するブロックであるDrawingAttributeBlockや、(3)軌跡に関するデータの変形規則を記述するブロックとしてTransformBlockなどが規定されている。
The ISF (Ink Serialized Format) described in Non-Patent
非特許文献3記載のSVGは、二次元グラフィックスアプリケーション及び画像、並びにグラフィックスクリプトのセットを記述するためのマークアップ言語である。(1)手書きの軌跡を再現するためのデータとして<path>要素が存在する。<path>要素中には、複数の制御点(ポイントデータ)が含まれ、これらの複数の制御点に基づくベジエ曲線により軌跡が再現される。
SVG described in Non-Patent
他、非特許文献4記載のHTML5には、(1)手書きの軌跡を再現するためのデータとしてCanvas Pathクラスとよばれるデータ型が規定されている。 In addition, HTML5 described in Non-Patent Document 4 defines (1) a data type called a Canvas Path class as data for reproducing a handwritten trajectory.
以下では、非特許文献1の<trace>、非特許文献2のStrokeDescriptorブロック、非特許文献3の<path>要素、非特許文献4記載のHTML5におけるCanvasPathなどを総称し、入力装置を用いて手書きした軌跡と線幅を含む形状を再現するためのベクタデータをストロークデータと呼ぶ。
In the following, <trace> in Non-Patent
また、以下では、非特許文献1の<mapping>、非特許文献2の<transformBlock>など軌跡に関するデータ(ストロークデータ)の変換規則を記述するデータを総称し、マッピングデータと呼ぶ。
In the following, data that describes a conversion rule of data (stroke data) related to a locus such as <mapping> in Non-Patent
図19Aは、非特許文献1のマッピングデータである<mapping>要素を説明する図である。この例は、<mapping>要素のタイプとして"affine"を用いた変換規則を示している。この変換規則は、X座標及びY座標で規定される図形に対し、4行目〜7行目で示す行列に示されるアフィン変換(90度の回転を施し、Y方向に200平行移動する変換)を施す変換を示している。
FIG. 19A is a diagram illustrating a <mapping> element that is mapping data of
また、図19Bは、<mapping>要素のタイプとして「mathml」を利用した変換規則を示す図である。"mathml"を用いた変換規則では、非特許文献5のMathML2が規定する名前空間で予約された"root"、"cos"、"minus"等の表現を用い、それに対応付けられた演算を利用することができる。図19Bの例に示す変換規則は、極座標形式で示される入力センサ属性の座標データ(VR,VTh)を、直交座標形式で示される座標データ(X,Y)に変換する規則である。図中、2行目〜13行目までの破線枠MD_Xで示す変換規則は、入力センサ属性が示す径VRの値(変数r)、及び、角度VThの値(変数theta)、並びに、MathMLで"cos"により規定される余弦等を用いて、新たなX座標データを導出するための変換規則を記述している。また、14行目〜25行目までのMD_Yで示す変換規則は、新たなY座標データを得るための変換規則を示している。
FIG. 19B is a diagram showing a conversion rule using “mathml” as the type of the <mapping> element. In the conversion rule using "mathml", expressions such as "root", "cos", and "minus" reserved in the namespace defined by MathML2 of Non-Patent
非特許文献2のISFは、変換規則として利用可能な変形を<TRANSFORM BLOCK>の種類として列挙する(10ページ)。図19Aに示したアフィン変換行列のような変換として、M11、M12、M21、M22、及び、DX、DYの要素からなる2行3列で表現できる変換行列を観念し、この変換行列を用いた各種の変換が規定されている。例えば、ストロークデータを拡大縮小するための<TAG_TRANSFORM_ISOTROPIC_SCALE>、<TAG_TRANSFORM_ANISOTROPICSCALE>、ストロークデータに回転を施すための<TAG_TRANSFORM_ROTATE>、平行移動等を施すための<TAG_TRANSFORM_TRANSLATE>、回転した後で平行移動を施すための<TAG_TRANSFROM_ROTATE_AND_TRANSLATE>_などを利用することができる。
The ISF of Non-Patent
非特許文献6には、デジタルインクに基づいて自然な線を描画するための描画方法の例が開示されている。
Non-Patent
しかしながら、上記非特許文献1や非特許文献2に例示されたマッピングデータによる変換規則は、ストロークデータの回転や拡大などの幾何的な変形に用いるためのものであり、ストロークデータに含まれた座標データや筆圧値など入力センサで得られた入力センサ属性から線幅や透明度などの描画処理において利用される描画属性データへの変換に着眼したものではない。ストロークデータ中に描画属性データの値を示す替わりに、描画属性データの値がどの入力センサ属性の値からどのような演算で得られる値であるかを示すことは、そのストロークデータを生成したときに用いられた入力センサの機能を事後的に確認できる点で有益である。
However, the conversion rules based on the mapping data exemplified in Non-Patent
また、従来の変換規則の記述形式では、実際のペンや毛筆などが描く線の濃淡や幅への変換を表現するための変換規則を記述するために十分でない。具体的には、例えばインクを充填したペンや絵の具を吸収した毛筆を用いて紙の上に線を書いた場合、特に始点や終点などで、ペンや毛筆を動かした際のインクや絵の具のかすれ具合などによりストロークの一部分が細くなったり、逆に太くなったりする。上記従来の変換規則の記述形式によっては、ストロークの一部分に対して特別な変換規則を適用する変換規則を与える記述や、速度等ストロークの入力センサ属性の値の変化量に対しての変換規則を記述することができない。 Further, the conventional conversion rule description format is not sufficient for describing the conversion rule for expressing the conversion of the line drawn by an actual pen or brush into the shading and width of the line. Specifically, for example, when a line is drawn on a paper using a pen filled with ink or a brush that has absorbed the paint, the ink or paint may fade when the pen or the brush is moved, especially at the start and end points. A part of the stroke may become thin or conversely thick depending on the condition. Depending on the description format of the conventional conversion rule described above, a description that gives a conversion rule that applies a special conversion rule to a part of the stroke or a conversion rule for the amount of change in the value of the input sensor attribute of the stroke such as velocity may be used. Cannot be described.
したがって、本発明の目的のひとつは、入力センサ等から得られる筆圧等の入力センサ属性の値を保存しつつも、それらの入力センサ属性の値から線幅及び/又は透明度等が変化する筆跡を再現する変換規則を記述することが可能なデジタルインクを生成するデジタルインク生成装置及びデジタルインク生成方法と、そのようなデジタルインク生成装置によって生成されたデジタルインクを再生できるデジタルインク再生装置とを提供することにある。 Therefore, one of the objects of the present invention is to provide a handwriting in which the line width and/or the transparency and the like change from the values of the input sensor attributes such as the writing pressure obtained from the input sensor while storing the values of the input sensor attributes. A digital ink generating apparatus and a digital ink generating method for generating a digital ink capable of describing a conversion rule for reproducing the above, and a digital ink reproducing apparatus capable of reproducing the digital ink generated by such a digital ink generating apparatus. To provide.
第1の発明は、指示体を操作することに伴い入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータを生成するストロークデータ生成部と、前記ストロークデータに含まれた前記入力センサ属性の値を、線幅又は透明度の値に変換するための変換規則を示すマッピングデータを生成するマッピングデータ生成部と、前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立部と、を備えるデジタルインク生成装置である。 A first invention includes a stroke data generation unit that generates stroke data having an attribute of an input sensor attribute based on pen event data generated by an input sensor when an indicator is operated, and a stroke data generation unit included in the stroke data. A mapping data generation unit that generates mapping data indicating a conversion rule for converting the input sensor attribute value that has been converted into a line width or transparency value, and a predetermined amount of digital ink that includes the stroke data and the mapping data. And a digital ink assembly unit for outputting in a data format.
第2の発明は、第1の発明において、前記マッピングデータ生成部は、前記入力センサ属性の値を線幅又は透明度の値に変換するための変換規則と該変換規則が適用される範囲を示す範囲データとを含むマッピングデータを生成する、というものである。 In a second aspect based on the first aspect, the mapping data generation unit indicates a conversion rule for converting the value of the input sensor attribute into a line width or transparency value and a range to which the conversion rule is applied. Mapping data including range data is generated.
第3の発明は、第1の発明において、前記ストロークデータ生成部は、前記入力センサ属性を属性とするポイントデータを複数含むストロークデータを生成し、前記マッピングデータ生成部は、複数の前記ポイントデータのうち第1のポイントデータに含まれる前記入力センサ属性のうち第1の属性の値と、複数の前記ポイントデータのうちの前記第1のポイントデータとは異なる第2のポイントデータに含まれる前記第1の属性の値との統計値に基づいて、前記第2のポイントデータの線幅又は透明度の値を得るための変換規則を含むマッピングデータを生成する、というものである。 In a third aspect based on the first aspect, the stroke data generation unit generates stroke data including a plurality of point data having the input sensor attribute as an attribute, and the mapping data generation unit includes a plurality of the point data. Of the input sensor attributes included in the first point data of the first point data and the second point data different from the first point data of the plurality of point data, Mapping data including a conversion rule for obtaining a line width or transparency value of the second point data is generated based on a statistical value with the value of the first attribute.
また、本発明によるデジタルインク再生装置は、本発明によるデジタルインク生成装置により生成される前記デジタルインクから前記ストロークデータ及び前記マッピングデータを抽出し、前記ストロークデータに含まれた前記入力センサ属性の値に、前記マッピングデータに含まれた前記変換規則を適用することにより線幅又は透明度の値を含むストロークデータを生成し、生成されたストロークデータを描画処理する、というものである。 Also, the digital ink reproducing device according to the present invention extracts the stroke data and the mapping data from the digital ink generated by the digital ink generating device according to the present invention, and the value of the input sensor attribute included in the stroke data. In addition, by applying the conversion rule included in the mapping data, stroke data including a line width or transparency value is generated, and the generated stroke data is drawn.
また、本発明によるデジタルインク生成方法は、入力センサを備えたコンピュータで実行されるデジタルインク生成方法であって、指示体を操作することに伴い前記入力センサにより生成されるペンイベントデータに基づいて、第1の属性を属性とするストロークデータを生成するストロークデータ生成ステップと、前記ストロークデータに含まれた前記第1の属性の値を、前記第1の属性または第2の属性の値に変換するための変換規則を示すマッピングデータを生成するマッピングデータ生成ステップと、前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立ステップと、を含む。 A digital ink generating method according to the present invention is a digital ink generating method executed by a computer having an input sensor, and is based on pen event data generated by the input sensor when an indicator is operated. A stroke data generating step of generating stroke data having the first attribute as an attribute, and converting the value of the first attribute included in the stroke data into a value of the first attribute or a second attribute. A mapping data generating step of generating mapping data indicating a conversion rule for performing the printing, and a digital ink assembling step of outputting digital ink including the stroke data and the mapping data in a predetermined data format.
第1の発明によれば、筆圧データ等の入力センサ属性の値を保持したまま、その入力センサ属性の値に基づいて線幅あるいは透明度などのストロークデータの描画属性の値を導出するための変換規則を記述したデジタルインクを生成することができる。これにより、例えば、線幅や透明度といった値が入力センサにより取得された筆圧から導出された値なのか、速度のパラメータから仮想的に導出された値なのかの区別をしたい場合や、事後的に一括して筆圧と線幅との対応関係を変更したい場合、又は、筆圧値Pをシグネチャ認証の比較パラメータに利用するような場合に有益である。 According to the first invention, the value of the drawing attribute of the stroke data such as the line width or the transparency is derived based on the value of the input sensor attribute while holding the value of the input sensor attribute such as the writing pressure data. A digital ink can be created that describes the conversion rules. This makes it possible, for example, to distinguish between values such as line width and transparency that are derived from the writing pressure acquired by the input sensor, or values that are virtually derived from the velocity parameter. This is useful when it is desired to collectively change the correspondence between the writing pressure and the line width, or when the writing pressure value P is used as a comparison parameter for signature authentication.
また、第2の発明によれば、一部分の範囲に対してマッピングデータ内の変換規則を適用する規則を記述したデジタルインクを生成することが可能になる。これにより、例えば、ストロークの始点付近の部分や終点付近の部分のみに変換規則が適用されるように構成することも可能になるので、特に、実際のストロークでも線幅や透明度が変わりやすい端部に対して特別な強調処理を実行することのできる表現力の高い変換規則を記述することができる。 Further, according to the second invention, it becomes possible to generate digital ink in which a rule for applying the conversion rule in the mapping data is described for a partial range. This makes it possible, for example, to configure the conversion rule to be applied only to the portion near the start point and the end point of the stroke. It is possible to describe a highly expressive conversion rule capable of executing special emphasis processing for.
また、第3の発明によれば、インデックス値の異なる2以上のポイントデータに含まれる入力センサ属性値を入力として線幅や透明度等を得るための変換関係を規定したマッピングデータを生成することができる。これにより、透明度や線幅などの描画時に用いる属性の値を導出するにあたって、微分値、積分値、又は、加算平均等の統計値に基づいた変換規則を適用することができ、例えば、指示体の移動の速さに応じて透明度が増加する変換規則など、実際のインクの状況を模したデジタルインクを生成するための変換規則を記述することができる。 Further, according to the third invention, it is possible to generate mapping data that defines a conversion relationship for obtaining a line width, transparency, etc., by inputting input sensor attribute values included in two or more point data having different index values. it can. Thus, when deriving the value of an attribute used at the time of drawing such as transparency and line width, a conversion rule based on a statistical value such as a differential value, an integrated value, or an arithmetic mean can be applied. It is possible to describe a conversion rule for generating digital ink imitating an actual ink situation, such as a conversion rule whose transparency increases according to the moving speed of the ink.
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
(第1の実施の形態)
図1は、本発明の第1の実施の形態による入力システム1を示す概念図である。入力システム1は、記憶装置2aを有するデジタルインク処理装置2と、平板状のセンサ3aを有するデジタイザ3(位置検出装置)と、電子ペン4(指示体)と、ディスプレイ5とを備えて構成される。なお、指示体としては、上記電子ペン4の他に、例えば人間の指や単なるプラスチックの棒(スタイラス)を用いることも可能である。また、図1では、コンピュータ2、デジタイザ3、及びディスプレイ5を別体の装置として描いているが、これらの一部又は全部を一体の装置(タブレットPCなど)として構成することも可能である。
(First embodiment)
FIG. 1 is a conceptual diagram showing an
入力システム1は、ユーザが、電子ペン4を用いてデジタイザ3のセンサ3a上で文字や絵を描くことにより入力された座標データ等に基づいてInkML形式のデジタルインクを生成して記憶装置2aに記録する機能と、記録されたデジタルインクから画像信号を生成しディスプレイ5上に再生する機能とを有している。
The
センサ3aの表面には、それぞれx方向(センサ3aの表面内の一方向)に延在する複数の線状導体と、それぞれy方向(センサ3aの表面内においてx方向と直交する方向)に延在する複数の線状導体とがそれぞれ等間隔で配置される。デジタイザ3は、センサ3aの表面に電子ペン4が近づいたことによって生ずるこれらの線状導体の電位の変化に基づき、センサ3aの表面内における電子ペン4の位置を示す座標データ(X,Y)を検出するよう構成される。
On the surface of the
本実施の形態の電子ペン4は、所定の時間間隔で筆圧データPを検出し、検出した筆圧データPを随時デジタイザ3に対して送信するように構成される。
The electronic pen 4 of the present embodiment is configured to detect the writing pressure data P at predetermined time intervals and transmit the detected writing pressure data P to the
デジタイザ3は、上記座標データ(X,Y)及び筆圧データPを検出するように構成される。そして、検出した座標データ(X,Y)と、対応する筆圧データPと、検出時刻を示す時刻データTとのセットである入力センサデータISDを生成し、随時、図1に示すようにデジタルインク処理装置2に対して、図示しないIO部を通じて出力するように構成される。これによりデジタルインク処理装置2には、デジタイザ3が電子ペン4を検出している間、一連の入力センサデータISDがセンサ3aのサンプリングレート毎に供給されることになる。
The
デジタルインク処理装置2は、例えばパーソナルコンピュータである。図示した記憶装置2aの他、CPUや通信回路などの通常のコンピュータが備える構成を備えている。記憶装置2aは、主メモリなどの主記憶装置と、ハードディスクなどの補助記憶装置とを含んで構成される。図2に示すデジタルインク処理装置2の機能ブロックは、デジタルインク処理装置2のCPUが記憶装置2a内に記憶されるプログラムに従って動作することによって実現される。
The digital
図2は、デジタルインク処理装置2の機能ブロック図である。同図に示すように、デジタルインク処理装置2は機能的に、入力処理部10、ストロークデータ生成部20、デジタルインク生成部30、及びデジタルインク再生部40を有して構成される。このうちデジタルインク生成部30は、内部構成として、デジタルインク組立部31、マッピングデータ生成部32、及び適用順決定部33を有して構成される。
FIG. 2 is a functional block diagram of the digital
入力処理部10は、デジタイザ3からUSBやI2C等のインタフェース経由で供給される入力センサデータISDから座標データ(X,Y)や筆圧データPなどの入力センサ属性ISAを抽出し、オペレーティングシステム上で動作する他のプログラムに利用可能な形式であるイベントデータEDにして出力する。入力処理部10は、典型的には、デジタルインク処理装置2上で動作するオペレーティングシステムに組み込まれたデジタイザ3に対応するデバイスドライバとして実現される。
The
ここで、イベントデータEDに含まれる情報には、座標データ(X,Y)や筆圧データPを含むポイントデータPDの他に、そのポイントデータPDが一連のストロークのうちどの部分かを識別するためのイベントタイプ識別情報ETYPEが含まれる。イベントタイプ識別情報ETYPEの取る値には、ペンダウン状態Pdown,ペンムーブド状態Pmvd、ペンアップ状態Pupなどが含まれる。入力処理部10は、電子ペン4や指などの指示体がデジタイザ3に接触(ペンダウン)したことを検出すると、接触位置に対応する座標データ(X,Y)を含むポイントデータPDを生成するとともにイベントタイプ識別情報ETYPEの値としてペンダウン状態Pdownであることを設定したイベントデータEDを生成する。その後、電子ペン4や指示体がデジタイザ3に摺動されている間、入力処理部10は、一連の座標データ(X,Y)に対応する一連のポイントデータPDとともにイベントタイプ識別情報ETYPEの値にペンムーブド状態Pmvdの値を設定したイベントデータEDを生成し続ける。最後に、入力処理部10は、電子ペン4がデジタイザ3から持ち上げられた(ペンアップした)ことを検出すると、イベントタイプ識別情報ETYPEの値にペンアップ状態Pupであることを指定したイベントデータEDを生成する。
Here, in addition to the point data PD including the coordinate data (X, Y) and the writing pressure data P, the information included in the event data ED identifies which part of the series of strokes the point data PD is. Event type identification information ETYPE is included. The values of the event type identification information ETYPE include a pen down state Pdown, a pen moved state Pmvd, a pen up state Pup, and the like. When the
ストロークデータ生成部20は、入力処理部10からイベントデータEDの供給を受け、1以上のポイントデータPDを包含するストロークデータSD(第1のストロークデータ)を生成する機能部である。ストロークデータ生成部20は、典型的には、デジタルインク処理装置2のCPUで実行されるライブラリあるいはサービスと呼ばれるプログラムで実現される。ストロークデータ生成部20は、入力処理部10から供給されるイベントデータEDのイベントタイプ識別情報ETYPEの値を参照し、ペンダウン状態Pdownを示すイベントデータEDからペンアップ状態Pupを示すイベントデータEDまでの間のイベントデータEDに含まれた一連のポイントデータPDを包含する1つのストロークデータSDを生成する。ストロークデータ生成部20は、入力センサデータISDに含まれる座標データ(X,Y)の値をそのままポイントデータPDの座標データ(X,Y)の値とする場合の他に、入力センサデータISDに含まれる座標データ(X,Y)の値に重み付け平均あるいは指数平滑法等のスムージング処理や間引き処理等を行うことによって得られる新たな座標データ(X,Y)の値をポイントデータPDの座標データ(X,Y)とする場合、並びに、入力センサデータISDに含まれる座標データ(X,Y)に加えてベジエ曲線等の補間曲線の形状を決定するための追加の制御点をポイントデータPDとする場合がある。
The stroke
図3は、ポイントデータPDとストロークデータSDとの関係を説明する図である。図中、5つの破線枠は、5つのアルファベット「h」「e」「l」「l」「o」が入力された際に生成される5つのストロークデータSD(SD0、SD1、SD2、SD3、SD4)を示している。 FIG. 3 is a diagram for explaining the relationship between the point data PD and the stroke data SD. In the figure, the five broken line frames are the five stroke data SD (SD0, SD1, SD2, SD3, generated when the five alphabets "h", "e", "l", "l", and "o" are input. SD4) is shown.
ストロークデータSD0〜SD4の各々には、図中白丸で示す一連のポイントデータPDが包含される。図中白丸間の実線は、白丸で示されるポイントデータPDが一連のものであることを示す。 Each of the stroke data SD0 to SD4 includes a series of point data PD indicated by white circles in the figure. The solid line between the white circles in the figure indicates that the point data PD indicated by the white circles is a series.
ここで、アルファベット「h」に対応するストロークデータSD0には、インデックス値が0であるポイントデータPD0から始まり、そのインデックス値が25であるPD25で終わるポイントデータ数n=26個のポイントデータPD0〜PD25が含められる。また、アルファベット「e」に対応するストロークデータSD1には、インデックス値が0であるPD0から始まりインデックス値が14であるPD14で終わるポイントデータ数n=15個のポイントデータPD0〜PD14が含められる。アルファベット「o」に対応するストロークデータSD4には、インデックス値が0であるPD0から始まりインデックス値が8であるPD8で終わるポイントデータ数n=9個のポイントデータPD0〜PD8が含められる。このように、ストロークデータSDによって含められるポイントデータPDのポイントデータ数nの値は異なる。 Here, in the stroke data SD0 corresponding to the alphabet “h”, the point data number n=26 point data PD0 starting from the point data PD0 having an index value of 0 and ending at PD25 having an index value of 25. PD25 is included. Further, the stroke data SD1 corresponding to the alphabet "e" includes the point data number n=15 point data PD0 to PD14 starting from PD0 having an index value of 0 and ending at PD14 having an index value of 14. The stroke data SD4 corresponding to the alphabet "o" includes the point data number n=9 point data PD0 to PD8 starting from PD0 having an index value of 0 and ending at PD8 having an index value of 8. As described above, the value of the point data number n of the point data PD included by the stroke data SD is different.
尚、図3に示したOPは、ポイントデータPDに含まれる座標データ(X,Y)についての座標系の原点座標を示している。以下、説明の便宜上、座標データの値は、右への方向をX座標の値が増加する方向とし、下への方向をY座標の値が増加する方向とする。 Note that OP shown in FIG. 3 indicates the origin coordinates of the coordinate system for the coordinate data (X, Y) included in the point data PD. Hereinafter, for convenience of description, the value of the coordinate data is defined such that the direction to the right is the direction in which the value of the X coordinate increases and the downward direction is the direction in which the value of the Y coordinate increases.
本実施の形態のストロークデータ生成部20は、ストロークデータSDのフォーマットとして非特許文献1のInkMLを利用したフォーマットに従い、<trace>要素の記述形式に従ってストロークデータSDを生成する。
The stroke
図4は、InkML形式のフォーマットに従って生成される図3のストロークデータSD0〜SD4を示す図である。図5は、図4の5つのアルファベットに対応するストロークデータSD0〜SD4のうち、アルファベット"e"に対応するストロークデータSD1のみを取り出した図である。 FIG. 4 is a diagram showing the stroke data SD0 to SD4 of FIG. 3 generated according to the InkML format. FIG. 5 is a diagram in which only the stroke data SD1 corresponding to the alphabet "e" is extracted from the stroke data SD0 to SD4 corresponding to the five alphabets in FIG.
図4、図5の例に示されるように、ストロークデータSDは、<trace>要素として表現され、図中各行の末尾に存在するカンマ(,)を区切り記号として各ポイントデータPD0〜PD14が区切られる形式により生成される。 As shown in the examples of FIGS. 4 and 5, the stroke data SD is expressed as a <trace> element, and each point data PD0 to PD14 is delimited by a comma (,) existing at the end of each line in the drawings as a delimiter. It is generated by the format.
各ポイントデータPD内では、1以上の半角スペースを区切り記号として各属性データが区切られている。本実施の形態においては、ストロークデータSD内に、入力センサ属性ISAである第1の属性(座標データX)、第2の属性(座標データY)、及び第3の属性(筆圧データP)の3つの属性データを、元データの値のまま保持している。 In each point data PD, each attribute data is divided with one or more half-width spaces as delimiters. In the present embodiment, the stroke data SD has a first attribute (coordinate data X), a second attribute (coordinate data Y), and a third attribute (writing pressure data P) which are input sensor attributes ISA. The three pieces of attribute data of are retained as the values of the original data.
これら3つの入力センサ属性ISAの値は、座標データX、座標データY、及び筆圧データPの順で各ポイントデータPD内に配置されている。例えば、図5に示すストロークデータSd1におけるインデックス値0である1つ目のポイントデータPD0に関して言えば、左側の「199」が座標データX、「306」が座標データY、「1.0」が筆圧データPとなる。
The values of these three input sensor attributes ISA are arranged in each point data PD in the order of coordinate data X, coordinate data Y, and writing pressure data P. For example, regarding the first point data PD0 having the
図2に戻る。ストロークデータ生成部20が生成したストロークデータSDは、デジタルインク組立部31に供給される。デジタルインク組立部31は、こうして供給されるストロークデータSDと、適用順決定部33から供給される1又は複数のマッピングデータMDとに基づいて、デジタルインクINKDを組み立てるよう構成される。
Returning to FIG. The stroke data SD generated by the stroke
図6は、デジタルインク組立部31が組み立てるデジタルインクINKDを説明する図である。図の例はデジタルインクINKDをInkMLのフォーマットに従って生成した例である。
FIG. 6 is a diagram illustrating the digital ink INKD assembled by the digital
デジタルインクINKDは、「<?xml 」で始まるXML宣言と、「<ink・・>」で始まる行から末尾行の</ink>までの間に記述される<ink>要素とを含んで構成される。 The digital ink INKD is configured to include an XML declaration starting with “<?xml” and an <ink> element described between the line starting with “<ink... >” and the last line </ink>. To be done.
<ink>要素は、定義ブロックDEB(<definitions>要素)及びストロークデータ記述ブロックSDB(<ストロークデータSD>要素)を含んで構成される。 The <ink> element includes a definition block DEB (<definitions> element) and a stroke data description block SDB (<stroke data SD> element).
定義ブロックDEBは、マッピングデータ記述ブロックMDBと描画スタイルデータ記述ブロックDDBとを含み構成される。 The definition block DEB includes a mapping data description block MDB and a drawing style data description block DDB.
マッピングデータ記述ブロックMDBは、ストロークデータの変換規則を示すマッピングデータMDが記述されるブロックである。変換規則として、ストロークデータ記述ブロックSDBに記述されたストロークデータSDに含まれる入力センサ属性ISAの値を変換前のデータの値とし、この変換前データの値から、線幅や濃淡など新たな描画属性DAの属性の値を得るための変換規則funcが記述される。 The mapping data description block MDB is a block in which mapping data MD indicating a conversion rule of stroke data is described. As a conversion rule, the value of the input sensor attribute ISA included in the stroke data SD described in the stroke data description block SDB is used as the value of the data before conversion, and a new drawing such as a line width or shading is made from the value of the data before conversion. A conversion rule func for obtaining the value of the attribute of the attribute DA is described.
描画スタイルデータ記述ブロックDDBは、ペン先の形状などストロークデータSDを描画する際の基本的なスタイルを示す描画スタイルを記述するブロックである。 The drawing style data description block DDB is a block that describes a drawing style indicating a basic style when drawing the stroke data SD such as the shape of the pen tip.
ストロークデータ記述ブロックSDBは、ストロークデータSDが記述されるブロックである。図4に示したストロークデータSD0〜SD4など複数個のストロークデータSDが列挙される。 The stroke data description block SDB is a block in which the stroke data SD is described. A plurality of stroke data SD such as the stroke data SD0 to SD4 shown in FIG. 4 are listed.
図2に戻り、マッピングデータ生成部32は、ストロークデータSD内に含まれる入力センサ属性ISAを描画属性DAに変換するための変換規則を示すマッピングデータMDを生成、出力する機能部である。なお、描画属性DAは、線幅値Wあるいは濃淡値(透明度A)のいずれかを含んで構成される。また、マッピングデータ生成部32が生成するマッピングデータMDには、変換規則の適用範囲を示す範囲データrd(後述)が含まれる。
Returning to FIG. 2, the mapping
マッピングデータ生成部32が生成するマッピングデータMDの変換規則の内容funcは、ユーザ設定により事前に指定される。
The content func of the conversion rule of the mapping data MD generated by the mapping
図7は、ユーザが設定するマッピングデータの内容funcの各種の例を示す図である。図7(a)は、筆圧値Pを入力センサ属性ISAの変換前の値とし、変換後の値として線幅Wである描画属性DAの値を出力する変換規則の例を示している。図中、func1で示す関数は、0.0から1.0までの間で値を取る筆圧値Pに対し、その10倍の値を線幅Wとする変換規則である。図中、func2aで示す関数は、0.0から1.0までの間で値を取る筆圧値Pに対し、その5倍の値を線幅Wとする変換規則である。図中、func2bで示す関数は、0.0から1.0までの間で値を取る筆圧値Pに対し、その20倍の値を線幅Wとする変換規則である。 FIG. 7 is a diagram showing various examples of the content func of the mapping data set by the user. FIG. 7A shows an example of a conversion rule in which the writing pressure value P is the value before the conversion of the input sensor attribute ISA and the value of the drawing attribute DA having the line width W is output as the value after the conversion. In the figure, the function indicated by func1 is a conversion rule in which the line width W is 10 times the writing pressure value P that takes a value between 0.0 and 1.0. In the figure, the function indicated by func2a is a conversion rule in which the line width W is a value five times the writing pressure value P that takes a value between 0.0 and 1.0. In the figure, the function denoted by func2b is a conversion rule in which the line width W is 20 times the writing pressure value P that takes a value between 0.0 and 1.0.
図7(b)は、座標データ(X,Y)及び時刻Tに基づいて導出される速さVを入力センサ属性ISAの変換前の値とし、変換後の値として透明度Aである描画属性DAの値を出力する変換規則の例を示している。図中、func3とfunc3bで示す関数は、速さVが増加するに伴い透明度が単調増加する変換規則を示している。 FIG. 7B shows a drawing attribute DA in which the speed V derived based on the coordinate data (X, Y) and the time T is the value before the conversion of the input sensor attribute ISA and the converted value is the transparency A. The example of the conversion rule which outputs the value of is shown. In the figure, the functions indicated by func3 and func3b indicate conversion rules in which the transparency monotonously increases as the speed V increases.
変換規則は、ユーザが任意に指定することができ、マッピングデータMDの変換規則の関数として、原点を通らないような関数func2cや、非線形の関数func3bなどを利用することもできる。 The conversion rule can be arbitrarily designated by the user, and as the function of the conversion rule of the mapping data MD, a function func2c that does not pass through the origin, a non-linear function func3b, or the like can be used.
次に、マッピングデータ生成部32が生成するマッピングデータMDについて、図8を用いてより詳しく説明する。図8は、InkMLのフォーマットに従ったマッピングデータMDの例を示している。図8に示すように、本実施の形態によるマッピングデータ生成部32は、2つのマッピングデータMD1,MD2を生成するように構成される。
Next, the mapping data MD generated by the mapping
最初に、マッピングデータMD1(第1のマッピングデータ)について説明する。 First, the mapping data MD1 (first mapping data) will be described.
図8の5行目〜6行目は、マッピングデータMD1が、筆圧データP(source="P")を線幅データW(target="W")に変換するための変換規則(第1の変換規則)であることを示している。7行目は、前述したMathMLを用いて表現することを示している。9行目〜11行目は、sourceである筆圧データP(を表す変数p)に対し、数値10を乗算する(<times/>)ことにより、線幅データWを生成する、という図7の変換規則の内容func1を示している。尚、この関数func1による変換規則の適用範囲は、ストロークデータSDの全部であるとしているため、変換規則の適用範囲のデータを含まない。 The fifth to sixth lines in FIG. 8 indicate that the mapping data MD1 is a conversion rule (first line) for converting the writing pressure data P (source=“P”) into the line width data W (target=“W”). Conversion rule). The 7th line shows that it is expressed using MathML described above. In the ninth to eleventh lines, the line width data W is generated by multiplying the writing pressure data P (the variable p representing the source) by the numerical value 10 (<timees/>). Shows the content of the conversion rule of func1. Since the application range of the conversion rule by this function func1 is the entire stroke data SD, it does not include the data of the application range of the conversion rule.
次に、マッピングデータMD2(第2のマッピングデータ)について説明する。図8の19行目〜20行目は、マッピングデータMD2が、筆圧データP(source="P")を線幅データW(target="W")に変換するための変換規則(第2の変換規則)であることを示している。23行目〜25行目は、sourceである筆圧データP(を表す変数p)に数値5を掛ける(<times/>)ことにより線幅データWを生成するという、図7の変換規則の内容func2aを示している。18行目の"range"は、この関数func2aによる変換規則の適用範囲を示す範囲データrd(第1の範囲データ)の存在と、その範囲の例「"−2,−1"」が示されている。ここで左側の「−2」は範囲の開始点を示し、「−1」は範囲の終了点を示している。 Next, the mapping data MD2 (second mapping data) will be described. The 19th to 20th lines in FIG. 8 indicate that the mapping data MD2 is a conversion rule (second line) for converting the writing pressure data P (source=“P”) into the line width data W (target=“W”). Conversion rule). The 23rd to 25th lines of the conversion rule of FIG. 7 indicate that the line width data W is generated by multiplying the writing pressure data P (variable p representing the source) by the numerical value 5 (<timees/>). The content func2a is shown. The "range" on the 18th line indicates the existence of range data rd (first range data) indicating the applicable range of the conversion rule by this function func2a and an example ""-2, -1"" of the range. ing. Here, "-2" on the left side indicates the start point of the range, and "-1" indicates the end point of the range.
ここで、範囲データrdの記述方法について詳しく説明する。今、ストロークデータSD内の各ポイントデータPDには、0から始まるインデックス値が付されているとする。範囲データrdは、ストロークデータの範囲を示すために、このポイントデータPDのインデックス値を示すインデックス値情報を使用する。インデックス値情報は、具体的には、インデックス値そのもの、又は、剰余演算を用いた演算規則によってインデックス値を修正してなる修正インデックス値である。 Here, the description method of the range data rd will be described in detail. It is assumed that each point data PD in the stroke data SD has an index value starting from 0. The range data rd uses index value information indicating the index value of this point data PD to indicate the range of the stroke data. The index value information is specifically the index value itself or a modified index value obtained by modifying the index value according to a calculation rule using a remainder calculation.
演算規則は、例えば、次の式(1)及び式(2)によって表される。ただし、iは修正前のインデックス値であり、jは修正インデックス値であり、nはストロークデータSD内のポイントデータPDのポイントデータ数n(例えば、図3に示したストロークデータSD1については、n=15となる)である。また、mod(a,b)は、aをbで割った場合に得られる剰余を求める関数である。式(1)より理解されるように、修正インデックス値jは、ポイントデータ数nを法として、対応するインデックス値iと合同な整数である。 The calculation rule is represented by the following formulas (1) and (2), for example. However, i is an index value before correction, j is a correction index value, n is the number n of point data of the point data PD in the stroke data SD (for example, for the stroke data SD1 shown in FIG. =15). Also, mod(a,b) is a function for obtaining a remainder obtained when a is divided by b. As understood from the equation (1), the modified index value j is an integer congruent with the corresponding index value i when the number of point data n is modulo.
式(1)により算出される修正インデックス値jは、ポイントデータPDの総数nによらず、最後のインデックス値(n番目のポイントデータPDの修正インデックス値j)から順に「−1」「−2」「−3」・・・のように1ずつ低下する負の値となる。一方、インデックス値はすべて正の値であるので、範囲データrdに含まれるインデックス値情報の正負を判定することにより、そのインデックス値情報がインデックス値であるか修正インデックス値であるかを判定することができる。 The modified index value j calculated by the equation (1) is “−1” or “−2” in order from the last index value (modified index value j of the n-th point data PD) regardless of the total number n of the point data PD. “−3”... Negative value that decreases by one. On the other hand, since all the index values are positive values, it is determined whether the index value information is the index value or the modified index value by determining whether the index value information included in the range data rd is positive or negative. You can
図9A乃至図9Dは、範囲データrdの4つの例と、それぞれの例により示されるストロークデータSD0、ストロークデータSD1、及びストロークデータSD4におけるストロークの範囲(端部)を説明する図である。図中破線枠が、各々の例の範囲データrdに対応するストロークの範囲である。 9A to 9D are diagrams illustrating four examples of the range data rd and the range (end portion) of the stroke in the stroke data SD0, the stroke data SD1, and the stroke data SD4 shown in each example. The broken line frame in the figure is the range of strokes corresponding to the range data rd in each example.
図9Aは、範囲データrdの例としてrange="−2,−1"を指定した場合のストロークの範囲を示す図である。ポイントデータ数nの異なるストロークデータSD0、SD1、及び、SD4に対し、修正インデックス値を用いた表現により、同一の表現でいずれのストロークデータに対しても末尾の端部である最後から2番目のポイントデータPDから最後のポイントデータPDまでの範囲を示すことが可能になる。 FIG. 9A is a diagram showing a range of strokes when range=“-2,−1” is designated as an example of the range data rd. For the stroke data SD0, SD1, and SD4 having different point data number n, the expression using the modified index value is used, and the same expression is used for the second stroke from the end, which is the last end of any stroke data. It is possible to indicate the range from the point data PD to the last point data PD.
図9Bは、範囲データrdの例としてrange="0,1"を指定した場合のストロークの範囲を示す図である。ポイントデータ数nの異なるストロークデータSD0、SD1、及び、SD4に対し、同一の表現で最初の端部である、最初のポイントデータPDから2番目のポイントデータPDまでの部分の範囲を示すことが可能となる。 FIG. 9B is a diagram showing a range of strokes when range=“0, 1” is designated as an example of the range data rd. With respect to different stroke data SD0, SD1, and SD4 having different point data number n, the range of a portion from the first point data PD to the second point data PD, which is the first end portion in the same expression, can be shown. It will be possible.
図9Cは、範囲データrdの例としてrange="−1,0"を指定した場合のストロークの範囲を示す図である。ポイントデータ数nの異なるストロークデータSD0、SD1、及び、SD4に対し、1個の表現で2つの端部を含む範囲を示すことができる。これは、インデックス値及び修正インデックス値によりストロークデータSDに含まれるポイントデータPDを扱うことによる効果である。この点は、特にストロークの両端部に対して特別な処理を要する場合に有益となる。 FIG. 9C is a diagram showing a range of strokes when range=“-1,0” is specified as an example of the range data rd. With respect to the stroke data SD0, SD1, and SD4 having different point data number n, it is possible to represent the range including two end portions by one expression. This is an effect obtained by handling the point data PD included in the stroke data SD with the index value and the modified index value. This point is particularly useful when special treatment is required for both ends of the stroke.
図9Dは、範囲データrdの例としてrange="1、−2"を指定した場合のストロークの範囲を示している。 FIG. 9D shows the range of strokes when range=“1, −2” is specified as an example of the range data rd.
このように、範囲データの記述に剰余値を用いた修正インデックス値jを含むインデックス値情報を用いることで以下の効果がある。 As described above, the following effects can be obtained by using the index value information including the modified index value j using the remainder value in the description of the range data.
まず、ストロークデータSD0〜SD4の各々のポイントデータPDの総数nによらず、全てのストロークデータSD0〜SD4の末端部の範囲を指定することができる。これは、ストロークの端部を指定する上で、マッピングデータMDの生成にあたって事前にストロークデータSDを参照する必要がないことを意味する。したがって、新たなストロークデータSDがマッピングデータを生成した後にも続けて生成されるようなアプリケーション(例えば、リアルタイムに描画領域を共有するアプリケーション)であっても、事前にストロークデータSDとは独立してマッピングデータMDを生成することが可能になる。 First, regardless of the total number n of the point data PD of each of the stroke data SD0 to SD4, the range of the end portion of all the stroke data SD0 to SD4 can be designated. This means that it is not necessary to refer to the stroke data SD in advance when generating the mapping data MD when designating the end of the stroke. Therefore, even an application in which new stroke data SD is continuously generated even after the mapping data is generated (for example, an application that shares a drawing area in real time) is independent of the stroke data SD in advance. It becomes possible to generate the mapping data MD.
また、剰余を用いて算出される修正インデックス値を利用することにより、ストロークデータSDを、修正インデックス値−1が与えられる末尾のポイントデータPDnと、インデックス値0が与えられる先端のポイントデータPD0とが連続している環状のデータとして扱えるようになる。これにより、インクデータの線幅や濃淡の変化の多いストロークデータの両端部に対する変形を1つの範囲データrdで示すことが可能になる。
Further, by using the modified index value calculated by using the remainder, the stroke data SD is divided into the end point data PDn to which the modified index value -1 is given and the end point data PD0 to which the
なお、ストロークデータSDの個々のために、途中のポイントデータPDのインデックスを指定する必要がある場合、例えば中央に位置するポイントデータPDを指定する場合などには、図2に破線で示したように、マッピングデータ生成部32にストロークデータSDを供給すればよい。こうすることで、マッピングデータ生成部32は、変換規則の対象となるポイントデータPDのインデックス値を判定し、対応する範囲データに含めることが可能になる。
When it is necessary to specify the index of the point data PD on the way for each stroke data SD, for example, when the point data PD located at the center is specified, as shown by the broken line in FIG. Then, the stroke data SD may be supplied to the mapping
図2に戻り、マッピングデータ生成部32により生成された1以上のマッピングデータMDは、適用順決定部33に供給される。適用順決定部33は、マッピングデータ生成部32から複数のマッピングデータMDが供給された場合に、それらの適用順を決定する機能部である。
Returning to FIG. 2, the one or more mapping data MD generated by the mapping
例えば図8の例では、仮にマッピングデータMD2を適用した後にマッピングデータMD1を適用したとすると、マッピングデータMD1はストロークデータSD0〜SD5に含まれる全インデックス値のポイントデータPD0〜PDnに適用されるものであるから、マッピングデータMD2の適用結果が取り消される結果となってしまう。これに対し、マッピングデータMD1を適用した後にマッピングデータMD2を適用したとすると、マッピングデータMD1によってストロークデータSDに含まれる全インデックス値のポイントデータPD0〜PDnに対して線幅データWを生成した後、その線幅データWを上書きするように一部分(最初の端部、両端部等)のインデックス値のポイントデータPDに対応する線幅データWのみをマッピングデータMD2によって修正することが可能になる(図11で後述する)。 For example, in the example of FIG. 8, if the mapping data MD1 is applied after the mapping data MD2 is applied, the mapping data MD1 is applied to the point data PD0 to PDn of all index values included in the stroke data SD0 to SD5. Therefore, the application result of the mapping data MD2 is canceled. On the other hand, if the mapping data MD2 is applied after the mapping data MD1 is applied, after the line width data W is generated for the point data PD0 to PDn of all index values included in the stroke data SD by the mapping data MD1. , The line width data W corresponding to the point data PD of a part (first end, both ends, etc.) of the index value so as to overwrite the line width data W can be corrected by the mapping data MD2 ( (It will be described later with reference to FIG. 11).
このように、1つのデジタルインクINKDが複数のマッピングデータMDを含む場合、その適用順によって結果が異なることになるので、適用順を予め規定しておく必要がある。より詳細には、適用順決定部33は、同一の属性データを同一の属性データに変換するように構成された2つのマッピングデータMDが存在し、かつ、これらの範囲データが重なりを有する場合に、例えば、ストロークデータSDの一部分に対するマッピングデータMD2によりストロークデータSDの全部に対するマッピングデータMD1を上書きするなどのユーザ設定に応じて、これらのマッピングデータMDの適用順を決定すればよい。こうすることで、ユーザが意図したとおりの属性データ(図8の例では線幅データW)を得ることが可能になる。
As described above, when one digital ink INKD includes a plurality of mapping data MD, the result varies depending on the application order, and thus the application order needs to be specified in advance. More specifically, the application
デジタルインク組立部31は、ストロークデータ生成部20から供給されるストロークデータSDを、図6に示したストロークデータ記述ブロックSDBに配置する。
The digital
また、デジタルインク組立部31は、適用順決定部33から供給される1又は複数のマッピングデータMDを、図6に示したマッピングデータ記述ブロックMDBに配置する。この場合において、適用順決定部33から複数のマッピングデータMDが供給された場合、デジタルインク組立部31は、適用順決定部33により決定された適用順に基づいて、これら複数のマッピングデータMDの配置順を決定する。具体的な配置順は、後述するデジタルインク再生部40の仕様によるが、先に適用されるべきマッピングデータMD(図8の例ではマッピングデータMD1)が、後に適用されるべきマッピングデータMD(図8の例ではマッピングデータMD2)より上側に来るように配置することにより、再生部30が、このデジタルインクINKDをインタープリトする場合に、データの先頭から順にマッピングデータMD1、MD2、乃至MDmの順で変換規則を適用することで、再生時の適用順を適用順決定部33により決定された適用順と同じ順序にすることができる。
Further, the digital
又、デジタルインク組立部31は、設定データ記述ブロックDDBに、ストロークデータSDのフォーマットに関するスタイルなどを記述した描画スタイルデータDDを加える。
The digital
図10は、描画スタイルデータDDの例として、ストロークデータSDの生成時にアプリケーションに設定されていたブラシのスタイルを示す描画スタイル情報DD1を示している。 FIG. 10 shows, as an example of the drawing style data DD, drawing style information DD1 indicating the style of the brush set in the application when the stroke data SD was generated.
このようにして、デジタルインク組立部31は、ストロークデータSDとマッピングデータMDと描画スタイルデータDDとをXML文書として組み合わせることで、InkMLのフォーマットに合わせてデジタルインクINKDを組み立てる。
In this way, the digital
尚、デジタルインク組立部31は、こうして組み立てたデジタルインクINKDを、図6の行頭で宣言したXMLファイルの符号化方法(UTF8等)によりバイト列にしてXMLファイルとして、図1の記憶装置2aやネットワークメディア等に出力する。このようにして、本実施の形態のデジタルインク処理装置2は、デジタルインクINKDを出力する。
The digital
<デジタルインク再生処理>
次に、デジタルインクの再生処理について説明する。
<Digital ink recycling process>
Next, a process of reproducing digital ink will be described.
図2に示したデジタルインク再生部40は、デジタルインク処理装置2のうち、デジタルインク生成部30により生成されたデジタルインクINKDを再生する役割を果たす機能部である。
The digital
デジタルインク再生部40が行う処理には、デジタルインクINKDからストロークデータSD(第1のストロークデータ)及びマッピングデータMDを抽出し、抽出したストロークデータSDに含まれる入力センサ属性ISAに対して、抽出したマッピングデータMDを適用することにより、描画属性DAの値を含む修正されたストロークデータSD(第2のストロークデータ)を生成する処理が含まれる。
In the process performed by the digital
以下、このデジタルインク再生処理について、図11を用いて具体的に説明する。以下では、処理対象のデジタルインクINKDが図8に示したマッピングデータ記述ブロックMDBを含むものとして説明する。 Hereinafter, this digital ink reproduction process will be specifically described with reference to FIG. In the following, it is assumed that the digital ink INKD to be processed includes the mapping data description block MDB shown in FIG.
図11(a)は、デジタルインク再生部40によってデジタルインクINKDから抽出された状態のストロークデータSD1を示している。ストロークデータSD1は、入力センサ属性ISAとして、X座標を示す第1の属性データX、Y座標を示す第2の属性データY、筆圧値を示す第3の属性データPの3つの属性データを含んでいる。
FIG. 11A shows the stroke data SD1 extracted from the digital ink INKD by the digital
デジタルインク再生部40は、図6に示したデジタルインクINKD内のマッピングデータ記述ブロックMDBから、図8に示したマッピングデータMD1,MD2を順に抽出する。
The digital
デジタルインク再生部40は、抽出した2つのマッピングデータMD1及びMD2のうち、最初に抽出したマッピングデータMD1をまずストロークデータSD1に適用する。
Of the two extracted mapping data MD1 and MD2, the digital
これにより、図11(b)に示すように、マッピングデータMD1適用後のストロークデータSD1が得られる。MD1適用後のストロークデータSDは、変換前の第1〜第3の属性データX,Y,Pに加え、第4の属性データとして新たな描画属性DAである線幅Wの値を含む。 As a result, as shown in FIG. 11B, the stroke data SD1 after applying the mapping data MD1 is obtained. The stroke data SD after applying MD1 includes the value of the line width W which is a new drawing attribute DA as the fourth attribute data in addition to the first to third attribute data X, Y, P before conversion.
ここで、図8に示すマッピングデータMD1には、範囲データrdについての明示的な記述が存在しない。このように明示的な範囲の指定がない場合、デジタルインク再生部40は、従前の<mappping>要素のルールに従い、ストローク全部(ストロークデータSDに含まれる全部のインデックスのポイントデータPD)に対しマッピングデータMD1が適用されるものとして処理を行う。これにより、図8に示すマッピングデータMD1に関しては、ストロークデータSDの全部分に対して変換規則が適用されることになる。図11中、rd1で示す破線枠は、ストロークデータSDのうちマッピングデータMD1にかかる変換規則が適用されるストロークの範囲を示している。又、rd1で示す破線枠内の値は、図7のfunc1(10倍)を変換規則の内容とするマッピングデータMD1により得られた線幅Wの値を示している。
Here, the mapping data MD1 shown in FIG. 8 has no explicit description of the range data rd. When no explicit range is specified in this way, the digital
図8のマッピングデータMD1内の変換規則func1に従ってデジタルインク再生部40が処理を行った結果、図11(b)に示すように、マッピングデータMD1適用後のストロークデータSDでは、各ポイントデータPD内の第4の属性データ(線幅W)の値が筆圧データPの値の10倍の値として導出されている。
As a result of the processing performed by the digital
次に、デジタルインク再生部40は、図8に示すマッピングデータMD2を、その中に記述されている範囲データrdにより示されるストロークデータSDの範囲(部分)に対して適用する。なお、図8に示した範囲データrdは"−2,−1"であったが、図11(c)には、範囲データrdの値が"−1,−1"であるとした場合の例を示している。図11(c)にrd2で示す破線枠は、範囲データrdの値が"−1,−1"であるとした場合にマッピングデータMD2が適用される範囲を示している。rd2で示す破線枠の内の値は、図7のfunc2a(5倍)を変換規則の内容とするマッピングデータMD2により得られた描画属性DA(第4の属性データ)の値を示している。
Next, the digital
ポイントデータPD14について、図11(c)に示すマッピングデータMD2適用後の値「3」を図11(b)に示すマッピングデータMD1適用後の値「6」と比較すると理解されるように、マッピングデータMD2適用後のストロークデータSDにおいては、ストロークの一部分(最後の部分)のポイントデータPD14の描画属性DAの第4の属性データである線幅Wの値が部分的に減少している。これは、マッピングデータMD2内に、筆圧データPを5倍することにより筆圧データPを線幅データWに変換すること、及び、その適用範囲がインデックス値−1で示される最後のポイントデータPDのみであること、が記述されていることに対応するものである。 As to the point data PD14, the value "3" after applying the mapping data MD2 shown in FIG. 11C is compared with the value "6" after applying the mapping data MD1 shown in FIG. In the stroke data SD after the application of the data MD2, the value of the line width W, which is the fourth attribute data of the drawing attribute DA of the point data PD14 of a part (last part) of the stroke, is partially reduced. This is to convert the writing pressure data P into line width data W by multiplying the writing pressure data P by 5 in the mapping data MD2, and the last point data whose applicable range is indicated by an index value -1. This corresponds to the fact that only PD is described.
以上のようにして、入力センサ属性ISAの値から描画属性DAを導出することにより変換後のストロークデータSDを生成したデジタルインク再生部40は、上述した描画スタイルDDなどの他の情報に基づいて既存の描画処理方法を適用することにより画像信号を生成する。
As described above, the digital
図12は、既存の描画処理方法の例として、非特許文献6に記載された、描画処理の例を模式化したものである。図中、白丸PD0〜PD14は、ストロークデータSD1に含まれる15個のポイントデータPDを示している。白丸中の数字は、ポイントデータPD0〜PD15の各々についての第4の属性Wの値を示している。図中、各々の白丸の円の半径は、第4の属性Wの値に比例した値で記載している。例えば、ポイントデータPD0は第4の属性Wの値である10を径とし、ポイントデータPD14はマッピングデータMD2により得られた第4の属性(線幅データW)の値である3を径とする円で記載されている。
FIG. 12 is a schematic view of an example of the drawing processing described in
デジタルインク再生部40は、ポイントデータPD0〜PD14の各々の円に接するような2つの包絡線(内側の包絡線IE、外側の包絡線OE)を導出する。そして、得られた2つの包絡線IE、OEをストロークデータSD1の形状の輪郭とする。例えばこのようにして、デジタルインク再生部40は、線幅データWに比例した線幅をストロークデータの線幅とした画像信号を生成することができる。尚、変換後のストロークデータSDの描画方法はこれに限るものではなく、既存の描画方法を利用するとしてよい。
The digital
デジタルインク再生部40により生成された画像信号は、図1に示すように、ディスプレイ5に出力される。これにより、ユーザの目に見える形で、ストロークデータSD0〜SD5について、マッピングデータMD2により修正されたストロークデータSDが表示されることになる。
The image signal generated by the digital
図13A〜図13Dは、以上のようにして画像信号にされたストロークデータSD(ストロークデータSD0〜SD4)のイメージ例を示している。 13A to 13D show image examples of the stroke data SD (stroke data SD0 to SD4) converted into image signals as described above.
図13Aは、図3に示したストロークデータSD0〜SD4に対し、筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用して得られたストロークデータSDから再生された画像信号を示している。 FIG. 13A is stroke data obtained by applying the conversion rule func1 to the stroke data SD0 to SD4 shown in FIG. 3 to obtain the line width W by multiplying the writing pressure P by 10 to all parts of the stroke data. The image signal reproduced from SD is shown.
図13Bは、図3に示したストロークデータSD0〜SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを5倍して線幅Wを得るという変換規則func2aを、ストロークの図中破線枠で示す末尾部分に対して適用して得られたストロークデータSDから再生された画像信号を示している。 In FIG. 13B, with respect to the stroke data SD0 to SD4 shown in FIG. 3, (1) a conversion rule func1 for multiplying the writing pressure P by 10 to obtain a line width W is applied to all parts of the stroke data. (2) An image signal reproduced from the stroke data SD obtained by applying the conversion rule func2a in which the writing pressure P is multiplied by 5 to obtain the line width W to the end portion indicated by the broken line frame in the drawing. Is shown.
図13Cは、図3に示したストロークデータSD0〜SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを5倍して線幅Wを得るという変換規則func2aを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータSDから再生された画像信号を示している。 In FIG. 13C, (1) a conversion rule func1 for multiplying the writing pressure P by 10 to obtain a line width W is applied to all parts of the stroke data for the stroke data SD0 to SD4 shown in FIG. (2) Stroke data obtained by applying the conversion rule func2a in which the writing pressure P is multiplied by 5 to obtain the line width W to both the end and the end of the stroke indicated by the broken line frame in the figure. The image signal reproduced from SD is shown.
図13Dは、図3に示したストロークデータSD0〜SD4に対し、(1)筆圧Pを10倍して線幅Wを得る変換規則func1をストロークデータの全部分に対して適用し、更に、(2)筆圧Pを20倍して線幅Wを得るという変換規則func2bを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータSDから再生された画像信号を示している。 In FIG. 13D, with respect to the stroke data SD0 to SD4 shown in FIG. 3, (1) the conversion rule func1 that obtains the line width W by multiplying the writing pressure P by 10 is applied to all parts of the stroke data. (2) Stroke data obtained by applying the conversion rule func2b, in which the writing pressure P is multiplied by 20 to obtain the line width W, to both ends of the end and the tip shown by the broken line frame of the stroke. The image signal reproduced from SD is shown.
以上説明したように、本実施の形態による入力システム1(特にデジタルインク生成部30)によれば、筆圧データ等の入力センサ属性ISAを示すデータを失うことなく、線幅Wあるいは透明度Aなどのストロークデータの描画属性DAの値を導出するための変換規則を記述したインクデータINKDを生成することができる。 As described above, according to the input system 1 (particularly, the digital ink generation unit 30) according to the present embodiment, the line width W, the transparency A, etc. can be obtained without losing the data indicating the input sensor attribute ISA such as the writing pressure data. Ink data INKD describing a conversion rule for deriving the value of the drawing attribute DA of the stroke data can be generated.
これにより、描画属性DAの値(線幅Wや透明度A)を、入力センサ属性ISAのどの値からどのように導出したのかをデジタルインクINKDが示すことができることになるので、過去に生成したデジタルインクINKDに含まれる筆圧データPと線幅Wとの対応関係を一括して変更することや、デジタルインクINKDに(描画には直接用いられないにも関わらず)保存されている筆圧データPをシグネチャ認証の比較パラメータに利用することも可能になる。 This allows the digital ink INKD to indicate from which value of the input sensor attribute ISA the value of the drawing attribute DA (the line width W and the transparency A) is derived. The correspondence between the writing pressure data P included in the ink INKD and the line width W is collectively changed, or the writing pressure data stored in the digital ink INKD (although it is not directly used for drawing) It is also possible to use P as a comparison parameter for signature authentication.
また、本実施の形態にかかるデジタルインクINKDの生成方法によれば、ストロークデータSDのうち、一部分の範囲に対してマッピングデータMD内の変換規則を適用する規則を記述したデジタルインクINKDを生成することが可能になる。したがって、上述した例のように、ストロークデータSDの始点と終点のみに変換規則が適用されるように構成することも可能になるので、図13A〜図13Dに例示したように筆跡について高い表現能力を有するデジタルインクINKDを生成することが可能になる。また、インデックス値と、剰余演算を用いて得られる修正インデックス値とを用いて範囲データの端点を表現するため、末端部、又は、末端部と先端部の両方を指定する変換規則を、ストロークデータSDが生成される前に事前に得ることが可能になる。 Further, according to the method of generating the digital ink INKD according to the present embodiment, the digital ink INKD that describes the rule for applying the conversion rule in the mapping data MD to a partial range of the stroke data SD is generated. It will be possible. Therefore, as in the above-described example, it is possible to configure the conversion rule to be applied only to the start point and the end point of the stroke data SD, and as a result, as shown in FIGS. It is possible to generate a digital ink INKD having Further, in order to express the end point of the range data by using the index value and the modified index value obtained by using the remainder calculation, the conversion rule that specifies the end part or both the end part and the end part is defined as the stroke data. It is possible to obtain SD in advance before it is generated.
(実施の形態2)
次に、本発明の第2の実施の形態による入力システム1について説明する。本実施の形態による入力システム1のシステム構成及びデジタルインク処理装置2の機能ブロックは、図1及び図2に示した第1の実施の形態によるものと同様である。
(Embodiment 2)
Next, the
本実施の形態による入力システム1は、ストロークデータ生成部20から出力されるストロークデータSDの内容、並びに、マッピングデータ生成部32及びデジタルインク再生部40それぞれの内部処理の点で第1の実施の形態による入力システム1と異なるので、第1の実施の形態と同一の構成には同一の符号を付して説明を省略し、以下では、第1の実施の形態との相違点に着目して説明する。
The
本実施の形態によるストロークデータ生成部20は、座標データX、座標データY、及び時刻データTの3種類の入力センサ属性ISAを含むストロークデータSDを生成する。図14に、本実施の形態によるストロークデータ生成部20によって生成されるストロークデータSDの例として、10個のポイントデータPD0〜PD9を含むストロークデータSD5を示す。
The stroke
図14の例に示されるように、本実施の形態においても、ストロークデータSDはInkMLの形式により生成されるものとし、具体的には、カンマ(,)によって各ポイントデータPDが区切られた形式により生成される。また、各ポイントデータPD内では、半角スペースによって各属性データが区切られている。ポイントデータPD内における各属性データの配置は、座標データX、座標データY、及び時刻データTの順となる。例えば、上記の例における2つ目のポイントデータPD1に関して言えば、左側の「8」が座標データX、中央の「0」が座標データY、右側の「'16」の右側の数値16が時刻データTとなる。なお、各ポイントデータPDの時刻データTは、最初のインデックス値に対応する時刻を0ミリ秒とし、そこからの経過時間によって表現されている。
As shown in the example of FIG. 14, also in the present embodiment, it is assumed that the stroke data SD is generated in the InkML format, and specifically, the format in which each point data PD is separated by a comma (,). Is generated by. In addition, in each point data PD, each attribute data is separated by a half-width space. Arrangement of each attribute data in the point data PD is in the order of coordinate data X, coordinate data Y, and time data T. For example, regarding the second point data PD1 in the above example, “8” on the left side is coordinate data X, “0” in the center is coordinate data Y, and the
説明の単純のため、図14の例は、16ミリ秒の一定間隔で座標データ(X,Y)が得られている例を示している。座標データ(X,Y)についても、Y座標は0で固定とし、X方向にのみ等加速度(16ミリ秒毎に速さが8増加する速さ)で電子ペン4を移動させた場合に得られる座標の例を示している。 For simplicity of explanation, the example of FIG. 14 shows an example in which coordinate data (X, Y) is obtained at a constant interval of 16 milliseconds. Also for the coordinate data (X, Y), the Y coordinate is fixed at 0, and is obtained when the electronic pen 4 is moved only in the X direction at a constant acceleration (the speed at which the speed increases by 8 every 16 milliseconds). The example of the coordinate set is shown.
本実施の形態によるマッピングデータ生成部32は、1つのストロークデータSDに含まれる複数のポイントデータPDのうち第1のポイントデータPDiの第1の入力センサ属性ISA(例えば座標データ(X,Y)又は時刻データT)の値と、上記第1のポイントデータPDiとはインデックス値が異なる第2のポイントデータPDi+1に含まれる第1の入力センサ属性ISAの値とに基づいて、透明度データAである描画属性DAを得る変換規則を含むマッピングデータMDを生成するように構成される。
The mapping
本実施の形態によるマッピングデータ生成部32が生成するマッピングデータMDについて、図15を用いてより詳しく説明する。
The mapping data MD generated by the mapping
図15は、本実施の形態によるマッピングデータ生成部32が生成するマッピングデータMD3を示す図である。
FIG. 15 is a diagram showing the mapping data MD3 generated by the mapping
3行目〜7行目は、変換元となる入力センサ属性(X,Y、T)と、変換により得られる描画属性(透明度A)を定義する部分である。 The third line to the seventh line are portions that define the input sensor attribute (X, Y, T) that is the conversion source and the drawing attribute (transparency A) obtained by the conversion.
11行目〜37行目はマッピングデータMD3に含まれる変換規則を示す部分である。具体的には、次の式(2)及び式(3)によりi番目のインデックス値に対応する透明度データAiを生成する、という変換規則が記述されている。ここで、式(3)中のXi,Xi−1,Yi,Yi−1,Ti,Ti−1はそれぞれ、i番目のインデックス値に対応する座標データX、i−1番目のインデックス値に対応する座標データX、i番目のインデックス値に対応する座標データY、i−1番目のインデックス値に対応する座標データY、i番目のインデックス値に対応する時刻データT、i−1番目のインデックス値に対応する時刻データTをそれぞれ示している。 The 11th line to the 37th line are portions showing the conversion rules included in the mapping data MD3. Specifically, the conversion rule that the transparency data A i corresponding to the i-th index value is generated is described by the following expressions (2) and (3). Here, X i , X i-1 , Y i , Y i-1 , T i , and T i-1 in the equation (3) are coordinate data X and i-1 corresponding to the i-th index value, respectively. The coordinate data X corresponding to the i-th index value, the coordinate data Y corresponding to the i-th index value, the coordinate data Y corresponding to the (i-1)th index value, and the time data T,i corresponding to the i-th index value. The time data T corresponding to the -1st index value is shown.
上記式(2)及び式(3)による変換規則の特徴は、i番目のインデックス値に対応する透明度データAiを生成する際に、i番目ではないインデックス値に対応する属性データを参照している点にある。具体的には、1つ前のインデックス値i−1に対応する属性データを参照しており、式(3)によって求められるViは、インデックス値i−1に対応する位置からインデックス値iに対応する位置に移動するまでの間の電子ペン4の移動速度を表している。式(2)による変換規則は、移動速度Viが大きくなるに伴い、透明度が大きくなるような関数(図7(b)に示したfunc3)が設定されていることになる。 The feature of the conversion rules by the above formulas (2) and (3) is that when generating the transparency data A i corresponding to the i-th index value, the attribute data corresponding to the index value other than the i-th index value is referred to. There is a point. Specifically, the attribute data corresponding to the immediately preceding index value i−1 is referenced, and V i obtained by Expression (3) is changed from the position corresponding to the index value i−1 to the index value i. The moving speed of the electronic pen 4 until it moves to the corresponding position is shown. According to the conversion rule by the equation (2), a function (func3 shown in FIG. 7B) is set such that the transparency increases as the moving speed V i increases.
ここで、図15に示したマッピングデータMD3と、上記式(2)及び式(3)との対応関係について説明する。まず図15において、dxで示す22行目「'x」、dyで示す27行目「'y」、dtで示す32行目の「't」はそれぞれ、「Xi−Xi−1」「Yi−Yi−1」「Ti−Ti−1」を意味している。
Here, the correspondence relationship between the mapping data MD3 shown in FIG. 15 and the equations (2) and (3) will be described. First, in FIG. 15,
図15内の破線枠Aで囲んだ部分は、Xの変位量である「Xi−Xi−1」を2乗した値を示している。破線枠Bで囲んだ部分は、Yの変位量である「Yi−Yi−1」を2乗した値を示している。図中破線枠Cで囲んだ部分は、式(3)右辺の分子に対応する2次元平面内での変位量を示している。破線枠Dで囲んだ部分は、式(3)の右辺全体に対応しており、時間「Ti−Ti−1」の区間の速さを示している。破線枠Eで囲んだ部分は、式(2)右辺の右辺全体「20・Vi」に対応している。このように、図14に示したマッピングデータMD3には、式(2)及び式(3)により示される入力センサ属性ISAから描画属性DA(透明度A)への変換規則が記述されている。 A portion surrounded by a broken line frame A in FIG. 15 indicates a value obtained by squaring “X i −X i−1 ”, which is the displacement amount of X. A portion surrounded by a broken line frame B shows a value obtained by squaring “Y i −Y i−1 ”, which is the displacement amount of Y. A portion surrounded by a broken line frame C in the drawing shows the amount of displacement in the two-dimensional plane corresponding to the numerator on the right side of Expression (3). The part surrounded by the broken line frame D corresponds to the entire right side of Expression (3), and indicates the speed of the section of time “T i −T i−1 ”. The part surrounded by the broken line frame E corresponds to the entire right side “20·V i ”of the right side of Expression (2). As described above, the mapping data MD3 shown in FIG. 14 describes the conversion rule from the input sensor attribute ISA to the drawing attribute DA (transparency A) represented by the equations (2) and (3).
このように、本実施の形態のデジタルインク処理装置2は、マッピングデータMD3を含むデジタルインクINKDを生成、出力する。
In this way, the digital
次に、図16を用いて、本実施の形態におけるデジタルインク再生処理について説明する。 Next, the digital ink reproducing process according to the present embodiment will be described with reference to FIG.
まず、デジタルインクデータ再生部30は、デジタルインクINKDからストロークデータSD5とマッピングデータMD3とを抽出する。
First, the digital ink
図16(a)は、デジタルインク再生部40がデジタルインクINKDから抽出した変換元のストロークデータSD5を示している。図14で説明した通りストロークデータSD5は、入力センサ属性ISAとして、X座標を示す第1の属性データX、Y座標を示す第2の属性データY、時刻情報を示す第3の属性データTの3つのデータを含んでいる。
FIG. 16A shows the stroke data SD5 of the conversion source extracted from the digital ink INKD by the digital
次に、デジタルインクINKDを取得したデジタルインク再生部40は、抽出したストロークデータSD5に抽出したマッピングデータMD3を適用する。図16(b)は、マッピングデータMD3の適用により得られたストロークデータSD5を示している。この時点におけるストロークデータSD5は、入力センサ属性ISAから導出された第4の属性(描画属性DA)の透明度データAを含んでいる。なお、上記式(2)及び式(3)によっては、1番目のインデックス値に対応する透明度データA0が得られないので、デジタルインク再生部40は、便宜的に、透明度データA1の値10を透明度データA0の値10として設定している。
Next, the digital
図16(c)は、変換規則func3をストロークの全部ではなく、範囲データrd="−3、−1"の部分に適用した場合に得られるストロークデータSDを示している。この例では、ストローク中で末尾から3つの透明度データAのみが得られ、先頭部分等他の部分については値の得られない場合の透明度のデフォルトの値0としている。 FIG. 16C shows stroke data SD obtained when the conversion rule func3 is applied to not the entire stroke but the range data rd=“−3,−1”. In this example, only the three transparency data A from the end in the stroke are obtained, and the other portions such as the leading portion are set to the default transparency value of 0 when no value is obtained.
このように、本実施の形態によるデジタルインクデータ再生処理においては、変換規則により得られた透明度Aを含むストロークデータSDを得ることができる。 As described above, in the digital ink data reproducing process according to the present embodiment, the stroke data SD including the transparency A obtained by the conversion rule can be obtained.
以上のようにして、入力センサ属性ISAの値から描画属性DAを導出することにより変換後のストロークデータSDを生成したデジタルインク再生部40は、上述した描画スタイルDDなどの他の情報に基づいて既存の描画処理方法を適用することにより画像信号を生成する。
As described above, the digital
図17は、本実施の形態によるストロークデータSDを説明するための図である。 FIG. 17 is a diagram for explaining the stroke data SD according to the present embodiment.
図17の最上段Aは、図14で示したストロークデータSD5に含まれるポイントデータPD0〜PD9までの10個の座標データ(X,Y)の位置関係を示している。 The uppermost row A of FIG. 17 shows the positional relationship of the 10 pieces of coordinate data (X, Y) of the point data PD0 to PD9 included in the stroke data SD5 shown in FIG.
図17の中段Bは、各々のポイントデータPD0〜PD9を黒色の円で表現し、その黒色の透明度Aに図16(b)に示した透明度Aの値を設定することにより得られるストロークデータSD5に基づいて生成される画像信号のイメージ図である。時間当たりの変位量あるいは移動速度Vが大きくなるにつれて透明度Aが大きくなる設定により、単位時間あたりにインクが紙に吸収される量が減少する状態を再現でき、より自然なストロークに近い表現を再現できる。 In the middle part B of FIG. 17, the stroke data SD5 obtained by expressing each point data PD0 to PD9 by a black circle and setting the value of the transparency A shown in FIG. It is an image figure of the image signal generated based on. By setting the transparency A to increase as the displacement amount per unit time or the moving speed V increases, it is possible to reproduce the state in which the amount of ink absorbed by the paper per unit time decreases, and to reproduce a more natural stroke expression. it can.
図17の下段Cは、各々のポイントデータPD0〜PD9を黒色の円で表現し、その黒色の透明度Aに図16(c)に示した透明度Aの値を設定することにより得られるストロークデータSD5に基づいて生成される画像信号のイメージ図である。ストロークのうち末尾の端部の範囲にのみ部分的に変換規則func3を適用することにより、人間の手の加速的な動き、漢字の払い等をイメージした表現を再現することを指定できるようになる。 In the lower part C of FIG. 17, stroke data SD5 obtained by expressing each point data PD0 to PD9 by a black circle and setting the value of the transparency A shown in FIG. It is an image figure of the image signal generated based on. By partially applying the conversion rule func3 only to the range of the end part of the stroke, it becomes possible to specify that an expression imagining the accelerated movement of the human hand, the payment of kanji, etc., is reproduced. ..
図18は、速度Vに応じて透明度Aが大きくなる変換規則の効果を説明するための他の図である。描画スタイル情報DD1(図6及び図10を参照)で設定されるブラシタイプとしてフェルトペンなどのデータを適用した場合に、図17に示したストロークデータSD5と同様に図中左側から右側に移動するにつれて指示体の移動速度(速さ)が大きくなるに伴い透明度Aが増加している画像信号を示している。 FIG. 18 is another diagram for explaining the effect of the conversion rule in which the transparency A increases according to the speed V. When data such as a felt-tip pen is applied as the brush type set in the drawing style information DD1 (see FIGS. 6 and 10), the stroke data SD5 shown in FIG. 17 moves from the left side to the right side in the figure. As a result, an image signal in which the transparency A increases as the moving speed (speed) of the indicator increases is shown.
以上説明したように、本実施の形態によるデジタルインク処理装置2によれば、インデックス値の異なる2以上のポイントデータPDに含まれる入力センサ属性ISAの値を入力として描画属性DAを得るための変換関係を規定したマッピングデータMDを生成することができる。これにより、例えば、筆圧データPなどの入力センサ属性ISAを出力することのできない入力センサを用いて生成したデジタルインクであったとしても、線幅Wや透明度Aといった描画属性DAを導出することができ、かつ、その透明度Aや線幅Wを与えるために用いた元データの種別を(筆圧データが含まれていたのか、あるいは、速度等から導出したデータなのか)を記録することができる。
As described above, according to the digital
また、透明度Aや線幅Wなどの描画属性DAを導出するにあたって、同じ入力センサ属性ISA(座標値)の微分値、積分値、又は、加算平均等の統計値に基づいた変換規則を記述することが可能になる。例えば、移動速度が大きくなるほど透明度Aが大きくなるような、変換規則を記述することが可能になる。 Further, in deriving the drawing attribute DA such as the transparency A and the line width W, a conversion rule based on a differential value, an integrated value, or a statistical value such as an arithmetic mean of the same input sensor attribute ISA (coordinate value) is described. It will be possible. For example, it becomes possible to describe a conversion rule in which the transparency A increases as the moving speed increases.
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。 Although the preferred embodiments of the present invention have been described above, the present invention is not limited to these embodiments, and the present invention can be implemented in various modes without departing from the scope of the invention. Of course.
例えば、第1の実施の形態と第2の実施の形態を組み合わせ、太さ及び濃淡の両方についての高い表現能力を有するデジタルインクを得ることも可能である。この場合、ストロークデータSDを構成する各ポイントデータPDに筆圧データPと時刻データTの両方を含め、かつ、デジタルインクINKDに、筆圧データPを線幅データWに変換するためのマッピングデータMD(第1の実施の形態)と、運筆速度から透明度データAを得るためのマッピングデータMD(第2の実施の形態)との両方を含めるようにすればよい。 For example, it is possible to combine the first embodiment and the second embodiment to obtain a digital ink having a high expression capability with respect to both thickness and shade. In this case, each point data PD forming the stroke data SD includes both the writing pressure data P and the time data T, and the mapping data for converting the writing pressure data P into the line width data W in the digital ink INKD. Both MD (first embodiment) and mapping data MD (second embodiment) for obtaining the transparency data A from the writing speed may be included.
尚、第1の実施の形態において範囲データにより指定する範囲に適用される変換規則は、入力センサ属性ISAから線幅Wや透明度Aといった描画属性DAを導出するためのものでなくてもよい。ストロークの一部分に対し従来のアフィン変換などを用いて幾何形状を変形させたい場合に用いても良い。 The conversion rule applied to the range specified by the range data in the first embodiment does not have to be for deriving the drawing attribute DA such as the line width W and the transparency A from the input sensor attribute ISA. It may be used when it is desired to deform the geometric shape by using the conventional affine transformation or the like for a part of the stroke.
尚、又、第2の実施の形態において同一の入力センサ属性ISAの統計値により変換されて得られる属性は線幅Wや透明度Aといった描画属性DDに限らない。ストロークデータSDに含まれた座標データを元データとし、加重平均などの変換規則を適用して実際に描画する際に用いるポイントデータPDの座標データを得るとしてもよい。 Further, in the second embodiment, the attribute obtained by converting the statistical value of the same input sensor attribute ISA is not limited to the drawing attribute DD such as the line width W and the transparency A. The coordinate data included in the stroke data SD may be used as the original data, and a conversion rule such as a weighted average may be applied to obtain the coordinate data of the point data PD used in actual drawing.
尚、又、本発明は、コンピュータを用いてストロークデータ生成部20及びデジタルインク生成部30の処理を順次実行する方法の発明と捉えることも可能であるし、これらの処理を実行させ得るためのプログラムを記述したコンピュータプログラムの発明と捉えることも可能であることは言うまでもない。
It should be noted that the present invention can be regarded as an invention of a method of sequentially executing the processes of the stroke
1 入力システム
2 デジタルインク処理装置
2a 記憶装置
3 デジタイザ
3a センサ
4 電子ペン
5 ディスプレイ
10 入力処理部
20 ストロークデータ生成部
30 デジタルインク生成部
31 デジタルインク組立部
32 マッピングデータ生成部
33 適用順決定部
40 デジタルインク再生部
1
Claims (23)
記憶部に記憶されているデジタルインクファイルであり筆圧又は座標の値および当該筆圧又は座標の値を線幅又は透明度の値に変換するための変換規則を有する前記デジタルインクファイルに含まれる前記筆圧又は座標の値を抽出する第1の抽出手段と、
前記記憶部に記憶されている前記デジタルインクファイルに含まれる前記変換規則を抽出する第2の抽出手段と、
前記第2の抽出手段によって抽出された前記変換規則に基づいて、前記第1の抽出手段によって抽出された前記筆圧又は座標の値を前記線幅又は透明度の値に変換する変換手段と、
を有するデジタルインクファイル再生装置。 A digital ink file reproducing apparatus for reproducing a digital ink file,
Brush pressure or a digital ink file stored in the storage unit values and the brush pressure or coordinates contained in the digital ink file with conversion rule for converting the coordinate values to the value of the line width or transparency the First extracting means for extracting a value of the writing pressure or the coordinates;
Second extracting means for extracting the transformation rules contained in the digital ink files stored in the storage unit,
Based on the conversion rule that has been extracted by said second extraction means, the brush pressure or extracted by the first extracting means and converting means for converting the coordinate values to the value of the line width or transparency,
Device for reproducing digital ink files .
前記変換規則は、前記InkML形式が規定するmapping要素を用いて記述される、
請求項1に記載のデジタルインクファイル再生装置。 The data format of the digital ink file is an InkML format data format,
The conversion rule is described using a mapping element defined by the InkML format.
The digital ink file reproducing device according to claim 1.
請求項1に記載のデジタルインクファイル再生装置。 The conversion rule is a conversion rule in which the transparency value increases as the moving speed of the indicator derived based on the coordinate value increases.
The digital ink file reproducing device according to claim 1.
請求項1に記載のデジタルインクファイル再生装置。 The conversion rule is a conversion rule that can be set by the user,
The digital ink file reproducing device according to claim 1.
請求項1に記載のデジタルインクファイル再生装置。 The digital ink file includes range data indicating a range to which the conversion rule is applied,
The digital ink file reproducing device according to claim 1.
前記デジタルインクファイルは、前記変換規則が適用される範囲を、範囲の開始点を示すポイントデータのインデックス値を示すインデックス値情報と範囲の終了点を示すポイントデータのインデックス値を示すインデックス値情報とにより示す範囲データを含む、
請求項1に記載のデジタルインクファイル再生装置。 The digital ink file further includes stroke data including one or more point data including the coordinate values,
In the digital ink file , a range to which the conversion rule is applied is index value information indicating an index value of point data indicating a start point of the range and index value information indicating an index value of point data indicating an end point of the range. Including range data indicated by
The digital ink file reproducing device according to claim 1.
請求項6に記載のデジタルインクファイル再生装置。 The index value information is an integer congruent with the index value modulo the index value, or the total number of the point data included in the stroke data,
The digital ink file reproducing device according to claim 6.
請求項7に記載のデジタルインクファイル再生装置。 The index value information is designated by a negative integer when the range data indicates the end of the stroke.
The digital ink file reproducing device according to claim 7.
請求項8に記載のデジタルインクファイル再生装置。 When the range data indicates both end portions of the stroke and the end portion, the index value information corresponding to the start point of the range is designated using a negative integer and corresponds to the end point of the range. The index value information is specified using a positive integer,
The digital ink file reproducing device according to claim 8.
前記変換規則は、前記ストロークの先端部及び又は末端部に対し、前記ストロークの他の部分とは異なる変換規則を与える規則である、
請求項1に記載のデジタルインクファイル再生装置。 The digital ink file includes range data indicating a leading portion and/or a trailing portion of a stroke,
The conversion rule is a rule that gives a conversion rule different from the other parts of the stroke to the leading end and/or the trailing end of the stroke,
The digital ink file reproducing device according to claim 1.
請求項10に記載のデジタルインクファイル再生装置。 The conversion rule is a conversion rule for deriving a line width value from the writing pressure value with respect to the front end portion and/or the end portion of the stroke. It is a conversion rule that is converted so that the line width is larger than the applied conversion rule.
The digital ink file reproducing device according to claim 10.
請求項10に記載のデジタルインクファイル再生装置。 The conversion rule is a conversion rule for deriving the transparency based on the value of the coordinate, so that the transparency is larger for the leading end portion and/or the trailing end portion of the stroke than for other portions of the stroke. Is the conversion rule to be converted,
The digital ink file reproducing device according to claim 10.
前記デジタルインクファイルは、前記第1の範囲データの示す範囲と前記第2の範囲データの示す範囲とが重なりを有する場合における前記第1のマッピングデータ及び前記第2のマッピングデータの適用順に基づいて、前記デジタルインクファイル内における前記第1のマッピングデータと、前記第2のマッピングデータとの配置順が決められているデジタルインクファイルである、
請求項1に記載のデジタルインクファイル再生装置。 The digital ink file includes first mapping data including the conversion rule and first range data indicating a range to which the conversion rule is applied, a second conversion rule different from the conversion rule, and the second conversion rule. The second mapping data including the second range data indicating the range to which the second conversion rule is applied,
The digital ink file is based on the application order of the first mapping data and the second mapping data when the range indicated by the first range data and the range indicated by the second range data overlap each other. , A digital ink file in which the arrangement order of the first mapping data and the second mapping data in the digital ink file is determined.
The digital ink file reproducing device according to claim 1.
記憶部に記憶されているデジタルインクファイルであり筆圧又は座標の値および当該筆圧又は座標の値を線幅又は透明度の値に変換するための変換規則を有する前記デジタルインクファイルに含まれる前記筆圧又は座標の値を抽出し、
前記記憶部に記憶されている前記デジタルインクファイルに含まれる前記変換規則を抽出し、
前記抽出された前記変換規則に基づいて、前記抽出された前記筆圧又は座標の値を前記線幅又は透明度の値に変換する、
デジタルインクファイル再生方法。 A digital ink file reproducing method for reproducing digital ink files, a digital ink file reproducing method executed by a computer,
Brush pressure or a digital ink file stored in the storage unit values and the brush pressure or coordinates contained in the digital ink file with conversion rule for converting the coordinate values to the value of the line width or transparency the Extract the writing pressure or coordinate value,
Extracts the conversion rule contained in the digital ink files stored in the storage unit,
Based on the extracted conversion rule, converting the value of the extracted writing pressure or coordinates to the value of the line width or transparency,
How to play digital ink file .
前記変換規則は、前記InkML形式が規定するma-pping要素を用いて記述される、
請求項14に記載のデジタルインクファイル再生方法。 The data format of the digital ink file is an InkML format data format,
The conversion rule is described using a ma-pping element defined by the InkML format.
The digital ink file reproducing method according to claim 14.
請求項14に記載のデジタルインクファイル再生方法。 The conversion rule is a conversion rule in which the transparency value increases as the moving speed of the indicator derived based on the coordinate value increases.
The digital ink file reproducing method according to claim 14.
請求項14に記載のデジタルインクファイル再生方法。 The conversion rule is a conversion rule that can be set by the user,
The digital ink file reproducing method according to claim 14.
請求項14記載のデジタルインクファイル再生方法。 The digital ink file includes range data indicating a range to which the conversion rule is applied,
The method of reproducing a digital ink file according to claim 14.
記憶部に記憶されているデジタルインクファイルであり筆圧又は座標の値および当該筆圧又は座標の値を線幅又は透明度の値に変換するための変換規則を有する前記デジタルインクファイルに含まれる前記筆圧又は座標の値を抽出する第1の抽出手段、
前記記憶部に記憶されている前記デジタルインクファイルに含まれる前記変換規則を抽出する第2の抽出手段、及び、
前記第2の抽出手段によって抽出された前記変換規則に基づいて、前記第1の抽出手段によって抽出された前記筆圧又は座標の値を前記線幅又は透明度の値に変換する変換手段、
として機能させるプログラム。 A computer that plays digital ink files
Brush pressure or a digital ink file stored in the storage unit values and the brush pressure or coordinates contained in the digital ink file with conversion rule for converting the coordinate values to the value of the line width or transparency the First extraction means for extracting the value of the writing pressure or the coordinates,
Second extracting means for extracting the transformation rules contained in the digital ink files stored in the storage unit and,
The second based on the conversion rule that has been extracted by the extraction means, the first said brush pressure or extracted by the extracting means is converting means for converting the coordinate values to the value of the line width or transparency,
Program to function as.
前記変換規則は、前記InkML形式が規定するmapping要素を用いて記述される、
請求項19に記載のプログラム。 The data format of the digital ink file is an InkML format data format,
The conversion rule is described using a mapping element defined by the InkML format.
The program according to claim 19.
請求項19に記載のプログラム。 The conversion rule is a conversion rule in which the transparency value increases as the moving speed of the indicator derived based on the coordinate value increases.
The program according to claim 19.
請求項19に記載のプログラム。 The conversion rule is a conversion rule that can be set by the user,
The program according to claim 19.
請求項19記載のプログラム。 The digital ink file includes range data indicating a range to which the conversion rule is applied,
The program according to claim 19.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019088054A JP6710803B2 (en) | 2019-05-08 | 2019-05-08 | Digital ink file reproducing device, digital ink file reproducing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019088054A JP6710803B2 (en) | 2019-05-08 | 2019-05-08 | Digital ink file reproducing device, digital ink file reproducing method, and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015133170A Division JP6526504B2 (en) | 2015-07-02 | 2015-07-02 | Digital ink generating apparatus, digital ink generating method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019125401A JP2019125401A (en) | 2019-07-25 |
JP6710803B2 true JP6710803B2 (en) | 2020-06-17 |
Family
ID=67398946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019088054A Active JP6710803B2 (en) | 2019-05-08 | 2019-05-08 | Digital ink file reproducing device, digital ink file reproducing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6710803B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06222879A (en) * | 1993-01-27 | 1994-08-12 | Matsushita Electric Ind Co Ltd | Method and device for displaying handwriting |
US7158675B2 (en) * | 2002-05-14 | 2007-01-02 | Microsoft Corporation | Interfacing with ink |
US8958644B2 (en) * | 2013-02-28 | 2015-02-17 | Ricoh Co., Ltd. | Creating tables with handwriting images, symbolic representations and media images from forms |
JP6163863B2 (en) * | 2013-05-17 | 2017-07-19 | 株式会社リコー | Information processing apparatus, program, information processing system, and information display method |
-
2019
- 2019-05-08 JP JP2019088054A patent/JP6710803B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019125401A (en) | 2019-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5775240B1 (en) | Digital ink generation apparatus, digital ink generation method, and program | |
TWI394055B (en) | Common charting using shapes | |
US11580761B2 (en) | Ink file searching method, apparatus, and program | |
TWI269195B (en) | Method for manipulating ink, and graphical user interface configured to interface a user with a control | |
JP4295602B2 (en) | Method for associating a language with a nib ID, method for inputting electronic ink into a processing device using an input device, and device for receiving electronic ink | |
US7970812B2 (en) | Redistribution of space between text segments | |
US20160048318A1 (en) | Detecting selection of digital ink | |
US7737980B2 (en) | Methods and apparatus for supporting and implementing computer based animation | |
CN109472234B (en) | Intelligent recognition method for handwriting input | |
US7924284B2 (en) | Rendering highlighting strokes | |
US10818050B2 (en) | Vector graphic font character generation techniques | |
JP6710803B2 (en) | Digital ink file reproducing device, digital ink file reproducing method, and program | |
JP6526504B2 (en) | Digital ink generating apparatus, digital ink generating method, and program | |
JP4868830B2 (en) | Analysis alternatives in the context tree | |
CN106250035B (en) | System and method for dynamically generating personalized handwritten fonts | |
US9442576B2 (en) | Method and system for combining paper-driven and software-driven design processes | |
Brown et al. | Making Japenese ukiyo-e art 3D in real-time | |
JP7320157B1 (en) | CONTENT EVALUATION DEVICE, PROGRAM, METHOD, AND SYSTEM | |
Wu | Achieving interoperability of pen computing with heterogeneous devices and digital ink formats | |
WO2023145429A1 (en) | Content evaluation device, program, method, and system | |
WO2023145227A1 (en) | Content evaluation device, program, method, and system | |
KR101986210B1 (en) | System for 3D object controlling and multimedia implementing using smartsheet based on PDF documents | |
JP2014078168A (en) | Character recognition apparatus and program | |
JP2004287907A (en) | Disclosure document creation device | |
US20240168575A1 (en) | Input support apparatus, method, computer-readable medium, and input system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200226 |
|
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: 20200428 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6710803 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |