(57)【特許請求の範囲】
【請求項１】
指示体を操作することに伴い入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータを生成するストロークデータ生成部と、
前記ストロークデータに含まれた前記入力センサ属性の値を線幅又は透明度の値に変換するための変換規則と該変換規則が適用される範囲を示す範囲データとを含むマッピングデータを生成するマッピングデータ生成部と、
前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立部と、
を備えるデジタルインク生成装置。
【請求項２】
前記入力センサ属性は、前記入力センサにより取得される筆圧であり、
前記マッピングデータは前記筆圧の値を前記線幅又は透明度のいずれかの属性の値に変換するための変換規則を示すデータである、
請求項１に記載のデジタルインク生成装置。
【請求項３】
前記入力センサ属性は座標データであり、
前記マッピングデータは前記座標データに基づいて前記透明度の値を導出するための変換規則を示すデータである、
請求項１に記載のデジタルインク生成装置。
【請求項４】
前記変換規則は、前記座標データに基づいて導出される指示体の移動速度が大きい程、前記透明度の値が大きくなる関係の変換規則である請求項３に記載のデジタルインク生成装置。
【請求項５】
前記所定のデータフォーマットはＩｎｋＭＬ形式のデータフォーマットであり、前記変換規則は、前記ＩｎｋＭＬ形式が規定するｍａｐｐｉｎｇ要素を用いて記述される、請求項１乃至４のいずれか一項に記載のデジタルインク生成装置。
【請求項６】
前記ストロークデータ生成部は、前記入力センサ属性を属性とするポイントデータを１以上包含するストロークデータを生成し、
前記範囲データは、前記変換規則が適用される範囲を、範囲の開始点を示すポイントデータのインデックス値を示すインデックス値情報と範囲の終了点を示すポイントデータのインデックス値を示すインデックス値情報とにより示すデータである、
請求項１に記載のデジタルインク生成装置。
【請求項７】
前記インデックス値情報は、前記インデックス値、又は、前記ストロークデータに含まれる前記ポイントデータの総数を法として前記インデックス値と合同な整数である、
請求項６に記載のデジタルインク生成装置。
【請求項８】
前記インデックス値情報は、前記範囲データがストロークの末端の端部を示す場合に負の整数で指定される、請求項７に記載のデジタルインク生成装置。
【請求項９】
前記範囲データがストロークの末端部分と先端部分との両方の端部を示す場合に、範囲の開始点に対応する前記インデックス値情報は負の整数を用いて指定され、範囲の終了点に対応する前記インデックス値情報は正の整数を用いて指定される、請求項８に記載のデジタルインク生成装置。
【請求項１０】
前記範囲データはストロークの先端部分及び／又は末端部分を示すデータであり、
前記変換規則は、前記ストロークの先端部及び又は末端部に対し、前記ストロークの他の部分とは異なる変換規則を与える規則である、
請求項１に記載のデジタルインク生成装置。
【請求項１１】
前記入力センサ属性は筆圧であり、
前記変換規則は、前記ストロークの先端部及び又は末端部に対して前記筆圧から線幅を導出する変換規則であって、前記ストロークの前記先端部及び又は末端部以外の部分に適用される変換規則に比して線幅が大きくなるように変換される変換規則である
請求項１０に記載のデジタルインク生成装置。
【請求項１２】
前記所定の属性は座標データであり、
前記変換規則は、前記座標データに基づいて、透明度を導出するための変換規則であって、前記ストロークの先端部及び又は末端部に対し、前記ストロークの他の部分よりも透明度が大きくなるように変換される変換規則である、
請求項１０に記載のデジタルインク生成装置。
【請求項１３】
前記マッピングデータ生成部は、
前記入力センサ属性の値を線幅又は透明度の値に変換するための第２の変換規則と該第２の変換規則の適用範囲を示す第２の範囲データとを含む第２のマッピングデータをさらに生成し、
前記範囲データの示す範囲と前記第２の範囲データの示す範囲とが重なりを有する場合に前記マッピングデータ及び前記第２のマッピングデータの適用順を決定する適用順決定部をさらに備え、
前記デジタルインク組立部は、前記適用順決定部により決定された適用順に基づいて、前記デジタルインク内における前記マッピングデータと、前記第２のマッピングデータとの配置順を決定する
請求項１に記載のデジタルインク生成装置。
【請求項１４】
入力センサを備えたコンピュータで実行されるデジタルインク生成方法であって、
指示体を操作することに伴い前記入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータを生成するストロークデータ生成ステップと、
前記ストロークデータに含まれた前記入力センサ属性の値を線幅又は透明度の値に変換するための変換規則と該変換規則が適用される範囲を示す範囲データとを含むマッピングデータを生成するマッピングデータ生成ステップと、
前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立ステップと、
を含む、デジタルインク生成方法。
【請求項１５】
入力センサを備えたコンピュータを、
指示体を操作することに伴い前記入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータを生成するストロークデータ生成部、
前記ストロークデータに含まれた前記入力センサ属性の値を線幅又は透明度の値に変換するための変換規則と該変換規則が適用される範囲を示す範囲データとを含むマッピングデータを生成するマッピングデータ生成部、及び
前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタルインク生成装置、デジタルインク生成方法及びデジタルインク再生装置に関し、特に、ペンを動作するに伴い生成されるイベントデータに基づいてデジタルインクを生成するデジタルインク生成装置及びデジタルインク生成方法と、そうして生成されたデジタルインクを再生するデジタルインク再生装置とに関する。
【背景技術】
【０００２】
インクの充填されたペンや絵の具の付いた毛筆を紙の上で動かすことにより、インクや絵の具が紙に吸収あるいは堆積され軌跡が描かれる。【０００３】
このように紙に描かれた手書きの軌跡（ストローク）を模擬するように、電子ペンやスタイラスなどの指示体をタブレット等の位置検出器の上で動かした軌跡を電子データ化したデータがデジタルインクである。デジタルインクは、通常、（１）手書きの軌跡を再現するためのデータ、（２）軌跡の描画スタイルを記述するデータ、及び、（３）軌跡に関するデータの変換規則を記述するデータを含み構成される。デジタルインクには、様々なＯＳで動作する描画アプリケーションや文書作成アプリケーションなどの異種環境でも利用できるように標準化されたデータフォーマットが存在する（非特許文献１〜４）。【０００４】
非特許文献１記載のＩｎｋＭＬは、最も知られたデジタルインクのデータフォーマットの１つである。（１）手書きの軌跡を再現するためのデータは＜ｔｒａｃｅ＞要素と呼ばれる。＜ｔｒａｃｅ＞要素には、１ストローク（指示体を位置検出装置のセンサ面に接触させてから離すまでの動作）の軌跡を構成する複数のポイントデータ（入力センサによって所定の時間間隔で検出されるデータ。座標データ（Ｘ，Ｙ）、筆圧データＰ、時刻データＴなど、入力センサ依存の属性（入力センサ属性）を示すデータを含む）の集合を記述する。また、ＩｎｋＭＬでは（２）軌跡の描画スタイルを指定するデータとして例えば＜ｂｒｕｓｈ＞要素などのデータ、（３）軌跡に関するデータの変換規則を記述するデータとして後述する＜ｍａｐｐｉｎｇ＞要素などのデータが規定されている。【０００５】
非特許文献２記載のＩＳＦ(Ink Serialized Format)は、マイクロソフト社のアプリケーション上で利用されるデジタルインクのデータフォーマットである。（１）手書きの軌跡を再現するためのデータのブロックは、ＳｔｒｏｋｅＤｅｓｃｒｉｐｔｏｒＢｌｏｃｋと呼ばれる。ＳｔｒｏｋｅＤｅｓｃｒｉｐｔｏｒＢｌｏｃｋには、ストロークの軌跡を再現するためのポイント（ポイントはＸ、Ｙ座標値である）や筆圧値等が記述される。又、（２）描画スタイルを記述するブロックであるＤｒａｗｉｎｇＡｔｔｒｉｂｕｔｅＢｌｏｃｋや、（３）軌跡に関するデータの変形規則を記述するブロックとしてＴｒａｎｓｆｏｒｍＢｌｏｃｋなどが規定されている。【０００６】
非特許文献３記載のＳＶＧは、二次元グラフィックスアプリケーション及び画像、並びにグラフィックスクリプトのセットを記述するためのマークアップ言語である。（１）手書きの軌跡を再現するためのデータとして＜ｐａｔｈ＞要素が存在する。＜ｐａｔｈ＞要素中には、複数の制御点（ポイントデータ）が含まれ、これらの複数の制御点に基づくベジエ曲線により軌跡が再現される。【０００７】
他、非特許文献４記載のＨＴＭＬ５には、（１）手書きの軌跡を再現するためのデータとしてＣａｎｖａｓ  Ｐａｔｈクラスとよばれるデータ型が規定されている。【０００８】
以下では、非特許文献１の＜ｔｒａｃｅ＞、非特許文献２のＳｔｒｏｋｅＤｅｓｃｒｉｐｔｏｒブロック、非特許文献３の＜ｐａｔｈ＞要素、非特許文献４記載のＨＴＭＬ５におけるＣａｎｖａｓＰａｔｈなどを総称し、入力装置を用いて手書きした軌跡と線幅を含む形状を再現するためのベクタデータをストロークデータと呼ぶ。【０００９】
また、以下では、非特許文献１の＜ｍａｐｐｉｎｇ＞、非特許文献２の＜ｔｒａｎｓｆｏｒｍＢｌｏｃｋ＞など軌跡に関するデータ（ストロークデータ）の変換規則を記述するデータを総称し、マッピングデータと呼ぶ。【００１０】
図１９Ａは、非特許文献１のマッピングデータである＜ｍａｐｐｉｎｇ＞要素を説明する図である。この例は、＜ｍａｐｐｉｎｇ＞要素のタイプとして"ａｆｆｉｎｅ"を用いた変換規則を示している。この変換規則は、Ｘ座標及びＹ座標で規定される図形に対し、４行目〜７行目で示す行列に示されるアフィン変換（９０度の回転を施し、Ｙ方向に２００平行移動する変換）を施す変換を示している。【００１１】
また、図１９Ｂは、＜ｍａｐｐｉｎｇ＞要素のタイプとして「ｍａｔｈｍｌ」を利用した変換規則を示す図である。"ｍａｔｈｍｌ"を用いた変換規則では、非特許文献５のＭａｔｈＭＬ２が規定する名前空間で予約された"ｒｏｏｔ"、"ｃｏｓ"、"ｍｉｎｕｓ"等の表現を用い、それに対応付けられた演算を利用することができる。図１９Ｂの例に示す変換規則は、極座標形式で示される入力センサ属性の座標データ（ＶＲ，ＶＴｈ）を、直交座標形式で示される座標データ（Ｘ，Ｙ）に変換する規則である。図中、２行目〜１３行目までの破線枠ＭＤ＿Ｘで示す変換規則は、入力センサ属性が示す径ＶＲの値（変数ｒ）、及び、角度ＶＴｈの値（変数ｔｈｅｔａ）、並びに、ＭａｔｈＭＬで"ｃｏｓ"により規定される余弦等を用いて、新たなＸ座標データを導出するための変換規則を記述している。また、１４行目〜２５行目までのＭＤ＿Ｙで示す変換規則は、新たなＹ座標データを得るための変換規則を示している。【００１２】
非特許文献２のＩＳＦは、変換規則として利用可能な変形を＜ＴＲＡＮＳＦＯＲＭ  ＢＬＯＣＫ＞の種類として列挙する（１０ページ）。図１９Ａに示したアフィン変換行列のような変換として、Ｍ１１、Ｍ１２、Ｍ２１、Ｍ２２、及び、ＤＸ、ＤＹの要素からなる２行３列で表現できる変換行列を観念し、この変換行列を用いた各種の変換が規定されている。例えば、ストロークデータを拡大縮小するための＜ＴＡＧ＿ＴＲＡＮＳＦＯＲＭ＿ＩＳＯＴＲＯＰＩＣ＿ＳＣＡＬＥ＞、＜ＴＡＧ＿ＴＲＡＮＳＦＯＲＭ＿ＡＮＩＳＯＴＲＯＰＩＣＳＣＡＬＥ＞、ストロークデータに回転を施すための＜ＴＡＧ＿ＴＲＡＮＳＦＯＲＭ＿ＲＯＴＡＴＥ＞、平行移動等を施すための＜ＴＡＧ＿ＴＲＡＮＳＦＯＲＭ＿ＴＲＡＮＳＬＡＴＥ＞、回転した後で平行移動を施すための＜ＴＡＧ＿ＴＲＡＮＳＦＲＯＭ＿ＲＯＴＡＴＥ＿ＡＮＤ＿ＴＲＡＮＳＬＡＴＥ＞＿などを利用することができる。【００１３】
非特許文献６には、デジタルインクに基づいて自然な線を描画するための描画方法の例が開示されている。
【先行技術文献】
【非特許文献】
【００１４】
【非特許文献１】Yi-Min Chee、外１１名、"Ink Markup Language (InkML) W3C Recommendation 20 September 2011"、［online］、平成23年9月20日、Ｗ３Ｃ、［平成26年11月19日検索］、インターネット〈URL：http://www.w3.org/TR/InkML/〉
【非特許文献２】"Ink Serialized Format Specification"、［online］、Microsoft Corporation、［平成26年12月11日検索］、インターネット〈URL：http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/InkSerializedFormat(ISF)Specification.pdf〉
【非特許文献３】Erik Dahlstrom、外９名、"Scalable Vector Graphics (SVG) 1.1 (Second Edition) W3C Recommendation 16 August 2011"、［online］、平成23年8月16日、Ｗ３Ｃ、［平成26年12月11日検索］、インターネット〈URL：http://www.w3.org/TR/SVG/〉
【非特許文献４】Ian Hickson、外６名、"A vocabulary and associated APIs for HTML and XHTML W3C Recommendation 28 October 2014"、［online］、平成26年10月28日、Ｗ３Ｃ、［平成26年12月11日検索］、インターネット〈URL：http://www.w3.org/TR/html5/〉
【非特許文献５】Ron Ausbrooks、外１５名、 "Mathematical Markup Language (MathML) Version 2.0 (Second Edition) W3C Recommendation 21 October 2003"、［online］、平成15年10月21日、Ｗ３Ｃ、［平成26年12月11日検索］、インターネット〈URL：http://www.w3.org/TR/MathML2/〉
【非特許文献６】L.M. Mestetskii、"Fat Curves and Representation of Planar Figures"、［online］、平成12年、Department of Information Technologies, Tver' State University, Tver, Russia、［平成26年11月19日検索］、インターネット〈URL：http://cgm.cs.ntust.edu.tw/hlyang/www/Fat%20Curves.ppt〉
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、上記非特許文献１や非特許文献２に例示されたマッピングデータによる変換規則は、ストロークデータの回転や拡大などの幾何的な変形に用いるためのものであり、ストロークデータに含まれた座標データや筆圧値など入力センサで得られた入力センサ属性から線幅や透明度などの描画処理において利用される描画属性データへの変換に着眼したものではない。ストロークデータ中に描画属性データの値を示す替わりに、描画属性データの値がどの入力センサ属性の値からどのような演算で得られる値であるかを示すことは、そのストロークデータを生成したときに用いられた入力センサの機能を事後的に確認できる点で有益である。【００１６】
また、従来の変換規則の記述形式では、実際のペンや毛筆などが描く線の濃淡や幅への変換を表現するための変換規則を記述するために十分でない。具体的には、例えばインクを充填したペンや絵の具を吸収した毛筆を用いて紙の上に線を書いた場合、特に始点や終点などで、ペンや毛筆を動かした際のインクや絵の具のかすれ具合などによりストロークの一部分が細くなったり、逆に太くなったりする。上記従来の変換規則の記述形式によっては、ストロークの一部分に対して特別な変換規則を適用する変換規則を与える記述や、速度等ストロークの入力センサ属性の値の変化量に対しての変換規則を記述することができない。【００１７】
したがって、本発明の目的のひとつは、入力センサ等から得られる筆圧等の入力センサ属性の値を保存しつつも、それらの入力センサ属性の値から線幅及び／又は透明度等が変化する筆跡を再現する変換規則を記述することが可能なデジタルインクを生成するデジタルインク生成装置及びデジタルインク生成方法と、そのようなデジタルインク生成装置によって生成されたデジタルインクを再生できるデジタルインク再生装置とを提供することにある。
【課題を解決するための手段】
【００１８】
第１の発明は、指示体を操作することに伴い入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータを生成するストロークデータ生成部と、前記ストロークデータに含まれた前記入力センサ属性の値を、線幅又は透明度の値に変換するための変換規則を示すマッピングデータを生成するマッピングデータ生成部と、前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立部と、を備えるデジタルインク生成装置である。【００１９】
第２の発明は、第１の発明において、前記マッピングデータ生成部は、前記入力センサ属性の値を線幅又は透明度の値に変換するための変換規則と該変換規則が適用される範囲を示す範囲データとを含むマッピングデータを生成する、というものである。【００２０】
第３の発明は、第１の発明において、前記ストロークデータ生成部は、前記入力センサ属性を属性とするポイントデータを複数含むストロークデータを生成し、前記マッピングデータ生成部は、複数の前記ポイントデータのうち第１のポイントデータに含まれる前記入力センサ属性のうち第１の属性の値と、複数の前記ポイントデータのうちの前記第１のポイントデータとは異なる第２のポイントデータに含まれる前記第１の属性の値との統計値に基づいて、前記第２のポイントデータの線幅又は透明度の値を得るための変換規則を含むマッピングデータを生成する、というものである。【００２１】
また、本発明によるデジタルインク再生装置は、本発明によるデジタルインク生成装置により生成される前記デジタルインクから前記ストロークデータ及び前記マッピングデータを抽出し、前記ストロークデータに含まれた前記入力センサ属性の値に、前記マッピングデータに含まれた前記変換規則を適用することにより線幅又は透明度の値を含むストロークデータを生成し、生成されたストロークデータを描画処理する、というものである。【００２２】
また、本発明によるデジタルインク生成方法は、入力センサを備えたコンピュータで実行されるデジタルインク生成方法であって、指示体を操作することに伴い前記入力センサにより生成されるペンイベントデータに基づいて、第１の属性を属性とするストロークデータを生成するストロークデータ生成ステップと、前記ストロークデータに含まれた前記第１の属性の値を、前記第１の属性または第２の属性の値に変換するための変換規則を示すマッピングデータを生成するマッピングデータ生成ステップと、前記ストロークデータ及び前記マッピングデータを含むデジタルインクを所定のデータフォーマットで出力するデジタルインク組立ステップと、を含む。
【発明の効果】
【００２３】
第１の発明によれば、筆圧データ等の入力センサ属性の値を保持したまま、その入力センサ属性の値に基づいて線幅あるいは透明度などのストロークデータの描画属性の値を導出するための変換規則を記述したデジタルインクを生成することができる。これにより、例えば、線幅や透明度といった値が入力センサにより取得された筆圧から導出された値なのか、速度のパラメータから仮想的に導出された値なのかの区別をしたい場合や、事後的に一括して筆圧と線幅との対応関係を変更したい場合、又は、筆圧値Ｐをシグネチャ認証の比較パラメータに利用するような場合に有益である。【００２４】
また、第２の発明によれば、一部分の範囲に対してマッピングデータ内の変換規則を適用する規則を記述したデジタルインクを生成することが可能になる。これにより、例えば、ストロークの始点付近の部分や終点付近の部分のみに変換規則が適用されるように構成することも可能になるので、特に、実際のストロークでも線幅や透明度が変わりやすい端部に対して特別な強調処理を実行することのできる表現力の高い変換規則を記述することができる。【００２５】
また、第３の発明によれば、インデックス値の異なる２以上のポイントデータに含まれる入力センサ属性値を入力として線幅や透明度等を得るための変換関係を規定したマッピングデータを生成することができる。これにより、透明度や線幅などの描画時に用いる属性の値を導出するにあたって、微分値、積分値、又は、加算平均等の統計値に基づいた変換規則を適用することができ、例えば、指示体の移動の速さに応じて透明度が増加する変換規則など、実際のインクの状況を模したデジタルインクを生成するための変換規則を記述することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施の形態による入力システム１を示す概念図である。
【図２】図１に示したデジタルインク処理装置２の機能ブロック図である。
【図３】ポイントデータＰＤとストロークデータＳＤとの関係を説明する図である。
【図４】ＩｎｋＭＬ形式のフォーマットに従って生成される図３のストロークデータＳＤ０〜ＳＤ４を示す図である。
【図５】図４の５つのアルファベットに対応するストロークデータＳＤ０〜ＳＤ４のうち、アルファベット"ｅ"に対応するストロークデータＳＤ１のみを取り出した図である。
【図６】図２に示したデジタルインク組立部３１が組み立てるデジタルインクＩＮＫＤを説明する図である。
【図７】ユーザが設定するマッピングデータの内容ｆｕｎｃの各種の例を示す図である。
【図８】ＩｎｋＭＬのフォーマットに従ったマッピングデータＭＤの例を示す図である。
【図９Ａ】範囲データｒｄの例としてｒａｎｇｅ＝"−２，−１"を指定した場合のストロークの範囲を示す図である。
【図９Ｂ】範囲データｒｄの例としてｒａｎｇｅ＝"０，１"を指定した場合のストロークの範囲を示す図である。
【図９Ｃ】範囲データｒｄの例としてｒａｎｇｅ＝"−１，０"を指定した場合のストロークの範囲を示す図である。
【図９Ｄ】範囲データｒｄの例としてｒａｎｇｅ＝"１、−２"を指定した場合のストロークの範囲を示す図である。
【図１０】描画スタイルデータＤＤの例として、ストロークデータＳＤの生成時にアプリケーションに設定されていたブラシのスタイルを示す描画スタイル情報ＤＤ１を示す図である。
【図１１】（ａ）は、デジタルインク再生部４０によってデジタルインクＩＮＫＤから抽出された状態のストロークデータＳＤ１を示す図であり、（ｂ）は、マッピングデータＭＤ１適用後のストロークデータＳＤ１を示す図であり、（ｃ）は、マッピングデータＭＤ２適用後のストロークデータＳＤ１を示す図である。
【図１２】非特許文献６に記載される描画処理の例を模式化した図である。
【図１３Ａ】図３に示したストロークデータＳＤ０〜ＳＤ４に対し、筆圧Ｐを１０倍して線幅Ｗを得る変換規則ｆｕｎｃ１をストロークデータの全部分に対して適用して得られたストロークデータＳＤから再生された画像信号を示す図である。
【図１３Ｂ】図３に示したストロークデータＳＤ０〜ＳＤ４に対し、（１）筆圧Ｐを１０倍して線幅Ｗを得る変換規則ｆｕｎｃ１をストロークデータの全部分に対して適用し、更に、（２）筆圧Ｐを５倍して線幅Ｗを得るという変換規則ｆｕｎｃ２ａを、ストロークの図中破線枠で示す末尾部分に対して適用して得られたストロークデータＳＤから再生された画像信号を示す図である。
【図１３Ｃ】図３に示したストロークデータＳＤ０〜ＳＤ４に対し、（１）筆圧Ｐを１０倍して線幅Ｗを得る変換規則ｆｕｎｃ１をストロークデータの全部分に対して適用し、更に、（２）筆圧Ｐを５倍して線幅Ｗを得るという変換規則ｆｕｎｃ２ａを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータＳＤから再生された画像信号を示す図である。
【図１３Ｄ】図３に示したストロークデータＳＤ０〜ＳＤ４に対し、（１）筆圧Ｐを１０倍して線幅Ｗを得る変換規則ｆｕｎｃ１をストロークデータの全部分に対して適用し、更に、（２）筆圧Ｐを２０倍して線幅Ｗを得るという変換規則ｆｕｎｃ２ｂを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータＳＤから再生された画像信号を示す図である。
【図１４】本発明の第２の実施の形態によるストロークデータ生成部２０によって生成されるストロークデータＳＤの例として、１０個のポイントデータＰＤ０〜ＰＤ９を含むストロークデータＳＤ５を示す図である。
【図１５】本発明の第２の実施の形態によるマッピングデータ生成部３２が生成するマッピングデータＭＤ３を示す図である。
【図１６】（ａ）は、デジタルインク再生部４０によってデジタルインクＩＮＫＤから抽出された状態のストロークデータＳＤ５を示す図であり、（ｂ）は、ストロークの全部にマッピングデータＭＤ３を適用した後のストロークデータＳＤ５を示す図であり、（ｃ）は、範囲データｒｄ＝"−３、−１"の部分にマッピングデータＭＤ３を適用した後のストロークデータＳＤ５を示す図である。
【図１７】本発明の第２の実施の形態によるストロークデータＳＤを説明するための図である。
【図１８】速度Ｖに応じて透明度Ａが大きくなる変換規則の効果を説明するための他の図である。
【図１９Ａ】非特許文献１のマッピングデータである＜ｍａｐｐｉｎｇ＞要素を説明する図である。
【図１９Ｂ】＜ｍａｐｐｉｎｇ＞要素のタイプとして「ｍａｔｈｍｌ」を利用した変換規則を示す図である。
【発明を実施するための形態】
【００２７】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【００２８】
（第１の実施の形態）
図１は、本発明の第１の実施の形態による入力システム１を示す概念図である。入力システム１は、記憶装置２ａを有するデジタルインク処理装置２と、平板状のセンサ３ａを有するデジタイザ３（位置検出装置）と、電子ペン４（指示体）と、ディスプレイ５とを備えて構成される。なお、指示体としては、上記電子ペン４の他に、例えば人間の指や単なるプラスチックの棒（スタイラス）を用いることも可能である。また、図１では、コンピュータ２、デジタイザ３、及びディスプレイ５を別体の装置として描いているが、これらの一部又は全部を一体の装置（タブレットＰＣなど）として構成することも可能である。
【００２９】
入力システム１は、ユーザが、電子ペン４を用いてデジタイザ３のセンサ３ａ上で文字や絵を描くことにより入力された座標データ等に基づいてＩｎｋＭＬ形式のデジタルインクを生成して記憶装置２ａに記録する機能と、記録されたデジタルインクから画像信号を生成しディスプレイ５上に再生する機能とを有している。
【００３０】
センサ３ａの表面には、それぞれｘ方向（センサ３ａの表面内の一方向）に延在する複数の線状導体と、それぞれｙ方向（センサ３ａの表面内においてｘ方向と直交する方向）に延在する複数の線状導体とがそれぞれ等間隔で配置される。デジタイザ３は、センサ３ａの表面に電子ペン４が近づいたことによって生ずるこれらの線状導体の電位の変化に基づき、センサ３ａの表面内における電子ペン４の位置を示す座標データ（Ｘ，Ｙ）を検出するよう構成される。
【００３１】
本実施の形態の電子ペン４は、所定の時間間隔で筆圧データＰを検出し、検出した筆圧データＰを随時デジタイザ３に対して送信するように構成される。
【００３２】
デジタイザ３は、上記座標データ（Ｘ，Ｙ）及び筆圧データＰを検出するように構成される。そして、検出した座標データ（Ｘ，Ｙ）と、対応する筆圧データＰと、検出時刻を示す時刻データＴとのセットである入力センサデータＩＳＤを生成し、随時、図１に示すようにデジタルインク処理装置２に対して、図示しないＩＯ部を通じて出力するように構成される。これによりデジタルインク処理装置２には、デジタイザ３が電子ペン４を検出している間、一連の入力センサデータＩＳＤがセンサ３ａのサンプリングレート毎に供給されることになる。
【００３３】
デジタルインク処理装置２は、例えばパーソナルコンピュータである。図示した記憶装置２ａの他、ＣＰＵや通信回路などの通常のコンピュータが備える構成を備えている。記憶装置２ａは、主メモリなどの主記憶装置と、ハードディスクなどの補助記憶装置とを含んで構成される。図２に示すデジタルインク処理装置２の機能ブロックは、デジタルインク処理装置２のＣＰＵが記憶装置２ａ内に記憶されるプログラムに従って動作することによって実現される。
【００３４】
図２は、デジタルインク処理装置２の機能ブロック図である。同図に示すように、デジタルインク処理装置２は機能的に、入力処理部１０、ストロークデータ生成部２０、デジタルインク生成部３０、及びデジタルインク再生部４０を有して構成される。このうちデジタルインク生成部３０は、内部構成として、デジタルインク組立部３１、マッピングデータ生成部３２、及び適用順決定部３３を有して構成される。
【００３５】
入力処理部１０は、デジタイザ３からＵＳＢやＩ２Ｃ等のインタフェース経由で供給される入力センサデータＩＳＤから座標データ（Ｘ，Ｙ）や筆圧データＰなどの入力センサ属性ＩＳＡを抽出し、オペレーティングシステム上で動作する他のプログラムに利用可能な形式であるイベントデータＥＤにして出力する。入力処理部１０は、典型的には、デジタルインク処理装置２上で動作するオペレーティングシステムに組み込まれたデジタイザ３に対応するデバイスドライバとして実現される。
【００３６】
ここで、イベントデータＥＤに含まれる情報には、座標データ（Ｘ，Ｙ）や筆圧データＰを含むポイントデータＰＤの他に、そのポイントデータＰＤが一連のストロークのうちどの部分かを識別するためのイベントタイプ識別情報ＥＴＹＰＥが含まれる。イベントタイプ識別情報ＥＴＹＰＥの取る値には、ペンダウン状態Ｐｄｏｗｎ，ペンムーブド状態Ｐｍｖｄ、ペンアップ状態Ｐｕｐなどが含まれる。入力処理部１０は、電子ペン４や指などの指示体がデジタイザ３に接触（ペンダウン）したことを検出すると、接触位置に対応する座標データ（Ｘ，Ｙ）を含むポイントデータＰＤを生成するとともにイベントタイプ識別情報ＥＴＹＰＥの値としてペンダウン状態Ｐｄｏｗｎであることを設定したイベントデータＥＤを生成する。その後、電子ペン４や指示体がデジタイザ３に摺動されている間、入力処理部１０は、一連の座標データ（Ｘ，Ｙ）に対応する一連のポイントデータＰＤとともにイベントタイプ識別情報ＥＴＹＰＥの値にペンムーブド状態Ｐｍｖｄの値を設定したイベントデータＥＤを生成し続ける。最後に、入力処理部１０は、電子ペン４がデジタイザ３から持ち上げられた（ペンアップした）ことを検出すると、イベントタイプ識別情報ＥＴＹＰＥの値にペンアップ状態Ｐｕｐであることを指定したイベントデータＥＤを生成する。
【００３７】
ストロークデータ生成部２０は、入力処理部１０からイベントデータＥＤの供給を受け、１以上のポイントデータＰＤを包含するストロークデータＳＤ（第１のストロークデータ）を生成する機能部である。ストロークデータ生成部２０は、典型的には、デジタルインク処理装置２のＣＰＵで実行されるライブラリあるいはサービスと呼ばれるプログラムで実現される。ストロークデータ生成部２０は、入力処理部１０から供給されるイベントデータＥＤのイベントタイプ識別情報ＥＴＹＰＥの値を参照し、ペンダウン状態Ｐｄｏｗｎを示すイベントデータＥＤからペンアップ状態Ｐｕｐを示すイベントデータＥＤまでの間のイベントデータＥＤに含まれた一連のポイントデータＰＤを包含する１つのストロークデータＳＤを生成する。ストロークデータ生成部２０は、入力センサデータＩＳＤに含まれる座標データ（Ｘ，Ｙ）の値をそのままポイントデータＰＤの座標データ（Ｘ，Ｙ）の値とする場合の他に、入力センサデータＩＳＤに含まれる座標データ（Ｘ，Ｙ）の値に重み付け平均あるいは指数平滑法等のスムージング処理や間引き処理等を行うことによって得られる新たな座標データ（Ｘ，Ｙ）の値をポイントデータＰＤの座標データ（Ｘ，Ｙ）とする場合、並びに、入力センサデータＩＳＤに含まれる座標データ（Ｘ，Ｙ）に加えてベジエ曲線等の補間曲線の形状を決定するための追加の制御点をポイントデータＰＤとする場合がある。
【００３８】
図３は、ポイントデータＰＤとストロークデータＳＤとの関係を説明する図である。図中、５つの破線枠は、５つのアルファベット「ｈ」「ｅ」「ｌ」「ｌ」「ｏ」が入力された際に生成される５つのストロークデータＳＤ（ＳＤ０、ＳＤ１、ＳＤ２、ＳＤ３、ＳＤ４）を示している。
【００３９】
ストロークデータＳＤ０〜ＳＤ４の各々には、図中白丸で示す一連のポイントデータＰＤが包含される。図中白丸間の実線は、白丸で示されるポイントデータＰＤが一連のものであることを示す。
【００４０】
ここで、アルファベット「ｈ」に対応するストロークデータＳＤ０には、インデックス値が０であるポイントデータＰＤ０から始まり、そのインデックス値が２５であるＰＤ２５で終わるポイントデータ数ｎ＝２６個のポイントデータＰＤ０〜ＰＤ２５が含められる。また、アルファベット「ｅ」に対応するストロークデータＳＤ１には、インデックス値が０であるＰＤ０から始まりインデックス値が１４であるＰＤ１４で終わるポイントデータ数ｎ＝１５個のポイントデータＰＤ０〜ＰＤ１４が含められる。アルファベット「ｏ」に対応するストロークデータＳＤ４には、インデックス値が０であるＰＤ０から始まりインデックス値が８であるＰＤ８で終わるポイントデータ数ｎ＝９個のポイントデータＰＤ０〜ＰＤ８が含められる。このように、ストロークデータＳＤによって含められるポイントデータＰＤのポイントデータ数ｎの値は異なる。
【００４１】
尚、図３に示したＯＰは、ポイントデータＰＤに含まれる座標データ（Ｘ，Ｙ）についての座標系の原点座標を示している。以下、説明の便宜上、座標データの値は、右への方向をＸ座標の値が増加する方向とし、下への方向をＹ座標の値が増加する方向とする。
【００４２】
本実施の形態のストロークデータ生成部２０は、ストロークデータＳＤのフォーマットとして非特許文献１のＩｎｋＭＬを利用したフォーマットに従い、＜ｔｒａｃｅ＞要素の記述形式に従ってストロークデータＳＤを生成する。
【００４３】
図４は、ＩｎｋＭＬ形式のフォーマットに従って生成される図３のストロークデータＳＤ０〜ＳＤ４を示す図である。図５は、図４の５つのアルファベットに対応するストロークデータＳＤ０〜ＳＤ４のうち、アルファベット"ｅ"に対応するストロークデータＳＤ１のみを取り出した図である。
【００４４】
図４、図５の例に示されるように、ストロークデータＳＤは、＜ｔｒａｃｅ＞要素として表現され、図中各行の末尾に存在するカンマ(,)を区切り記号として各ポイントデータＰＤ０〜ＰＤ１４が区切られる形式により生成される。
【００４５】
各ポイントデータＰＤ内では、１以上の半角スペースを区切り記号として各属性データが区切られている。本実施の形態においては、ストロークデータＳＤ内に、入力センサ属性ＩＳＡである第１の属性（座標データＸ）、第２の属性（座標データＹ）、及び第３の属性（筆圧データＰ）の３つの属性データを、元データの値のまま保持している。
【００４６】
これら３つの入力センサ属性ＩＳＡの値は、座標データＸ、座標データＹ、及び筆圧データＰの順で各ポイントデータＰＤ内に配置されている。例えば、図５に示すストロークデータＳｄ１におけるインデックス値０である１つ目のポイントデータＰＤ０に関して言えば、左側の「１９９」が座標データＸ、「３０６」が座標データＹ、「１．０」が筆圧データＰとなる。
【００４７】
図２に戻る。ストロークデータ生成部２０が生成したストロークデータＳＤは、デジタルインク組立部３１に供給される。デジタルインク組立部３１は、こうして供給されるストロークデータＳＤと、適用順決定部３３から供給される１又は複数のマッピングデータＭＤとに基づいて、デジタルインクＩＮＫＤを組み立てるよう構成される。
【００４８】
図６は、デジタルインク組立部３１が組み立てるデジタルインクＩＮＫＤを説明する図である。図の例はデジタルインクＩＮＫＤをＩｎｋＭＬのフォーマットに従って生成した例である。
【００４９】
デジタルインクＩＮＫＤは、「＜？ｘｍｌ  」で始まるＸＭＬ宣言と、「＜ｉｎｋ・・＞」で始まる行から末尾行の＜／ｉｎｋ＞までの間に記述される＜ｉｎｋ＞要素とを含んで構成される。
【００５０】
＜ｉｎｋ＞要素は、定義ブロックＤＥＢ（＜ｄｅｆｉｎｉｔｉｏｎｓ＞要素）及びストロークデータ記述ブロックＳＤＢ（＜ストロークデータＳＤ＞要素）を含んで構成される。
【００５１】
定義ブロックＤＥＢは、マッピングデータ記述ブロックＭＤＢと描画スタイルデータ記述ブロックＤＤＢとを含み構成される。
【００５２】
マッピングデータ記述ブロックＭＤＢは、ストロークデータの変換規則を示すマッピングデータＭＤが記述されるブロックである。変換規則として、ストロークデータ記述ブロックＳＤＢに記述されたストロークデータＳＤに含まれる入力センサ属性ＩＳＡの値を変換前のデータの値とし、この変換前データの値から、線幅や濃淡など新たな描画属性ＤＡの属性の値を得るための変換規則ｆｕｎｃが記述される。
【００５３】
描画スタイルデータ記述ブロックＤＤＢは、ペン先の形状などストロークデータＳＤを描画する際の基本的なスタイルを示す描画スタイルを記述するブロックである。
【００５４】
ストロークデータ記述ブロックＳＤＢは、ストロークデータＳＤが記述されるブロックである。図４に示したストロークデータＳＤ０〜ＳＤ４など複数個のストロークデータＳＤが列挙される。
【００５５】
図２に戻り、マッピングデータ生成部３２は、ストロークデータＳＤ内に含まれる入力センサ属性ＩＳＡを描画属性ＤＡに変換するための変換規則を示すマッピングデータＭＤを生成、出力する機能部である。なお、描画属性ＤＡは、線幅値Ｗあるいは濃淡値（透明度Ａ）のいずれかを含んで構成される。また、マッピングデータ生成部３２が生成するマッピングデータＭＤには、変換規則の適用範囲を示す範囲データｒｄ（後述）が含まれる。
【００５６】
マッピングデータ生成部３２が生成するマッピングデータＭＤの変換規則の内容ｆｕｎｃは、ユーザ設定により事前に指定される。
【００５７】
図７は、ユーザが設定するマッピングデータの内容ｆｕｎｃの各種の例を示す図である。図７（ａ）は、筆圧値Ｐを入力センサ属性ＩＳＡの変換前の値とし、変換後の値として線幅Ｗである描画属性ＤＡの値を出力する変換規則の例を示している。図中、ｆｕｎｃ１で示す関数は、０．０から１．０までの間で値を取る筆圧値Ｐに対し、その１０倍の値を線幅Ｗとする変換規則である。図中、ｆｕｎｃ２ａで示す関数は、０．０から１．０までの間で値を取る筆圧値Ｐに対し、その５倍の値を線幅Ｗとする変換規則である。図中、ｆｕｎｃ２ｂで示す関数は、０．０から１．０までの間で値を取る筆圧値Ｐに対し、その２０倍の値を線幅Ｗとする変換規則である。
【００５８】
図７（ｂ）は、座標データ（Ｘ，Ｙ）及び時刻Ｔに基づいて導出される速さＶを入力センサ属性ＩＳＡの変換前の値とし、変換後の値として透明度Ａである描画属性ＤＡの値を出力する変換規則の例を示している。図中、ｆｕｎｃ３とｆｕｎｃ３ｂで示す関数は、速さＶが増加するに伴い透明度が単調増加する変換規則を示している。
【００５９】
変換規則は、ユーザが任意に指定することができ、マッピングデータＭＤの変換規則の関数として、原点を通らないような関数ｆｕｎｃ２ｃや、非線形の関数ｆｕｎｃ３ｂなどを利用することもできる。
【００６０】
次に、マッピングデータ生成部３２が生成するマッピングデータＭＤについて、図８を用いてより詳しく説明する。図８は、ＩｎｋＭＬのフォーマットに従ったマッピングデータＭＤの例を示している。図８に示すように、本実施の形態によるマッピングデータ生成部３２は、２つのマッピングデータＭＤ１，ＭＤ２を生成するように構成される。
【００６１】
最初に、マッピングデータＭＤ１（第１のマッピングデータ）について説明する。
【００６２】
図８の５行目〜６行目は、マッピングデータＭＤ１が、筆圧データＰ（ｓｏｕｒｃｅ＝"Ｐ"）を線幅データＷ（ｔａｒｇｅｔ＝"Ｗ"）に変換するための変換規則（第１の変換規則）であることを示している。７行目は、前述したＭａｔｈＭＬを用いて表現することを示している。９行目〜１１行目は、ｓｏｕｒｃｅである筆圧データＰ（を表す変数ｐ）に対し、数値１０を乗算する（＜ｔｉｍｅｓ／＞）ことにより、線幅データＷを生成する、という図７の変換規則の内容ｆｕｎｃ１を示している。尚、この関数ｆｕｎｃ１による変換規則の適用範囲は、ストロークデータＳＤの全部であるとしているため、変換規則の適用範囲のデータを含まない。
【００６３】
次に、マッピングデータＭＤ２（第２のマッピングデータ）について説明する。図８の１９行目〜２０行目は、マッピングデータＭＤ２が、筆圧データＰ（ｓｏｕｒｃｅ＝"Ｐ"）を線幅データＷ（ｔａｒｇｅｔ＝"Ｗ"）に変換するための変換規則（第２の変換規則）であることを示している。２３行目〜２５行目は、ｓｏｕｒｃｅである筆圧データＰ（を表す変数ｐ）に数値５を掛ける（＜ｔｉｍｅｓ／＞）ことにより線幅データＷを生成するという、図７の変換規則の内容ｆｕｎｃ２ａを示している。１８行目の"ｒａｎｇｅ"は、この関数ｆｕｎｃ２ａによる変換規則の適用範囲を示す範囲データｒｄ（第１の範囲データ）の存在と、その範囲の例「"−２，−１"」が示されている。ここで左側の「−２」は範囲の開始点を示し、「−１」は範囲の終了点を示している。
【００６４】
ここで、範囲データｒｄの記述方法について詳しく説明する。今、ストロークデータＳＤ内の各ポイントデータＰＤには、０から始まるインデックス値が付されているとする。範囲データｒｄは、ストロークデータの範囲を示すために、このポイントデータＰＤのインデックス値を示すインデックス値情報を使用する。インデックス値情報は、具体的には、インデックス値そのもの、又は、剰余演算を用いた演算規則によってインデックス値を修正してなる修正インデックス値である。
【００６５】
演算規則は、例えば、次の式（１）及び式（２）によって表される。ただし、ｉは修正前のインデックス値であり、ｊは修正インデックス値であり、ｎはストロークデータＳＤ内のポイントデータＰＤのポイントデータ数ｎ（例えば、図３に示したストロークデータＳＤ１については、ｎ＝１５となる）である。また、ｍｏｄ（ａ，ｂ）は、ａをｂで割った場合に得られる剰余を求める関数である。式（１）より理解されるように、修正インデックス値ｊは、ポイントデータ数ｎを法として、対応するインデックス値ｉと合同な整数である。
【００６６】
【数１】
0005775240.tif 000002
【００６７】
式（１）により算出される修正インデックス値ｊは、ポイントデータＰＤの総数ｎによらず、最後のインデックス値（ｎ番目のポイントデータＰＤの修正インデックス値ｊ）から順に「−１」「−２」「−３」・・・のように１ずつ低下する負の値となる。一方、インデックス値はすべて正の値であるので、範囲データｒｄに含まれるインデックス値情報の正負を判定することにより、そのインデックス値情報がインデックス値であるか修正インデックス値であるかを判定することができる。
【００６８】
図９Ａ乃至図９Ｄは、範囲データｒｄの４つの例と、それぞれの例により示されるストロークデータＳＤ０、ストロークデータＳＤ１、及びストロークデータＳＤ４におけるストロークの範囲（端部）を説明する図である。図中破線枠が、各々の例の範囲データｒｄに対応するストロークの範囲である。
【００６９】
図９Ａは、範囲データｒｄの例としてｒａｎｇｅ＝"−２，−１"を指定した場合のストロークの範囲を示す図である。ポイントデータ数ｎの異なるストロークデータＳＤ０、ＳＤ１、及び、ＳＤ４に対し、修正インデックス値を用いた表現により、同一の表現でいずれのストロークデータに対しても末尾の端部である最後から２番目のポイントデータＰＤから最後のポイントデータＰＤまでの範囲を示すことが可能になる。
【００７０】
図９Ｂは、範囲データｒｄの例としてｒａｎｇｅ＝"０，１"を指定した場合のストロークの範囲を示す図である。ポイントデータ数ｎの異なるストロークデータＳＤ０、ＳＤ１、及び、ＳＤ４に対し、同一の表現で最初の端部である、最初のポイントデータＰＤから２番目のポイントデータＰＤまでの部分の範囲を示すことが可能となる。
【００７１】
図９Ｃは、範囲データｒｄの例としてｒａｎｇｅ＝"−１，０"を指定した場合のストロークの範囲を示す図である。ポイントデータ数ｎの異なるストロークデータＳＤ０、ＳＤ１、及び、ＳＤ４に対し、１個の表現で２つの端部を含む範囲を示すことができる。これは、インデックス値及び修正インデックス値によりストロークデータＳＤに含まれるポイントデータＰＤを扱うことによる効果である。この点は、特にストロークの両端部に対して特別な処理を要する場合に有益となる。
【００７２】
図９Ｄは、範囲データｒｄの例としてｒａｎｇｅ＝"１、−２"を指定した場合のストロークの範囲を示している。
【００７３】
このように、範囲データの記述に剰余値を用いた修正インデックス値ｊを含むインデックス値情報を用いることで以下の効果がある。
【００７４】
まず、ストロークデータＳＤ０〜ＳＤ４の各々のポイントデータＰＤの総数ｎによらず、全てのストロークデータＳＤ０〜ＳＤ４の末端部の範囲を指定することができる。これは、ストロークの端部を指定する上で、マッピングデータＭＤの生成にあたって事前にストロークデータＳＤを参照する必要がないことを意味する。したがって、新たなストロークデータＳＤがマッピングデータを生成した後にも続けて生成されるようなアプリケーション（例えば、リアルタイムに描画領域を共有するアプリケーション）であっても、事前にストロークデータＳＤとは独立してマッピングデータＭＤを生成することが可能になる。
【００７５】
また、剰余を用いて算出される修正インデックス値を利用することにより、ストロークデータＳＤを、修正インデックス値−１が与えられる末尾のポイントデータＰＤｎと、インデックス値０が与えられる先端のポイントデータＰＤ０とが連続している環状のデータとして扱えるようになる。これにより、インクデータの線幅や濃淡の変化の多いストロークデータの両端部に対する変形を１つの範囲データｒｄで示すことが可能になる。
【００７６】
なお、ストロークデータＳＤの個々のために、途中のポイントデータＰＤのインデックスを指定する必要がある場合、例えば中央に位置するポイントデータＰＤを指定する場合などには、図２に破線で示したように、マッピングデータ生成部３２にストロークデータＳＤを供給すればよい。こうすることで、マッピングデータ生成部３２は、変換規則の対象となるポイントデータＰＤのインデックス値を判定し、対応する範囲データに含めることが可能になる。
【００７７】
図２に戻り、マッピングデータ生成部３２により生成された１以上のマッピングデータＭＤは、適用順決定部３３に供給される。適用順決定部３３は、マッピングデータ生成部３２から複数のマッピングデータＭＤが供給された場合に、それらの適用順を決定する機能部である。
【００７８】
例えば図８の例では、仮にマッピングデータＭＤ２を適用した後にマッピングデータＭＤ１を適用したとすると、マッピングデータＭＤ１はストロークデータＳＤ０〜ＳＤ５に含まれる全インデックス値のポイントデータＰＤ０〜ＰＤｎに適用されるものであるから、マッピングデータＭＤ２の適用結果が取り消される結果となってしまう。これに対し、マッピングデータＭＤ１を適用した後にマッピングデータＭＤ２を適用したとすると、マッピングデータＭＤ１によってストロークデータＳＤに含まれる全インデックス値のポイントデータＰＤ０〜ＰＤｎに対して線幅データＷを生成した後、その線幅データＷを上書きするように一部分（最初の端部、両端部等）のインデックス値のポイントデータＰＤに対応する線幅データＷのみをマッピングデータＭＤ２によって修正することが可能になる（図１１で後述する）。
【００７９】
このように、１つのデジタルインクＩＮＫＤが複数のマッピングデータＭＤを含む場合、その適用順によって結果が異なることになるので、適用順を予め規定しておく必要がある。より詳細には、適用順決定部３３は、同一の属性データを同一の属性データに変換するように構成された２つのマッピングデータＭＤが存在し、かつ、これらの範囲データが重なりを有する場合に、例えば、ストロークデータＳＤの一部分に対するマッピングデータＭＤ２によりストロークデータＳＤの全部に対するマッピングデータＭＤ１を上書きするなどのユーザ設定に応じて、これらのマッピングデータＭＤの適用順を決定すればよい。こうすることで、ユーザが意図したとおりの属性データ（図８の例では線幅データＷ）を得ることが可能になる。
【００８０】
デジタルインク組立部３１は、ストロークデータ生成部２０から供給されるストロークデータＳＤを、図６に示したストロークデータ記述ブロックＳＤＢに配置する。
【００８１】
また、デジタルインク組立部３１は、適用順決定部３３から供給される１又は複数のマッピングデータＭＤを、図６に示したマッピングデータ記述ブロックＭＤＢに配置する。この場合において、適用順決定部３３から複数のマッピングデータＭＤが供給された場合、デジタルインク組立部３１は、適用順決定部３３により決定された適用順に基づいて、これら複数のマッピングデータＭＤの配置順を決定する。具体的な配置順は、後述するデジタルインク再生部４０の仕様によるが、先に適用されるべきマッピングデータＭＤ（図８の例ではマッピングデータＭＤ１）が、後に適用されるべきマッピングデータＭＤ（図８の例ではマッピングデータＭＤ２）より上側に来るように配置することにより、再生部３０が、このデジタルインクＩＮＫＤをインタープリトする場合に、データの先頭から順にマッピングデータＭＤ１、ＭＤ２、乃至ＭＤｍの順で変換規則を適用することで、再生時の適用順を適用順決定部３３により決定された適用順と同じ順序にすることができる。
【００８２】
又、デジタルインク組立部３１は、設定データ記述ブロックＤＤＢに、ストロークデータＳＤのフォーマットに関するスタイルなどを記述した描画スタイルデータＤＤを加える。
【００８３】
図１０は、描画スタイルデータＤＤの例として、ストロークデータＳＤの生成時にアプリケーションに設定されていたブラシのスタイルを示す描画スタイル情報ＤＤ１を示している。
【００８４】
このようにして、デジタルインク組立部３１は、ストロークデータＳＤとマッピングデータＭＤと描画スタイルデータＤＤとをＸＭＬ文書として組み合わせることで、ＩｎｋＭＬのフォーマットに合わせてデジタルインクＩＮＫＤを組み立てる。
【００８５】
尚、デジタルインク組立部３１は、こうして組み立てたデジタルインクＩＮＫＤを、図６の行頭で宣言したＸＭＬファイルの符号化方法（ＵＴＦ８等）によりバイト列にしてＸＭＬファイルとして、図１の記憶装置２ａやネットワークメディア等に出力する。このようにして、本実施の形態のデジタルインク処理装置２は、デジタルインクＩＮＫＤを出力する。
【００８６】
＜デジタルインク再生処理＞
次に、デジタルインクの再生処理について説明する。
【００８７】
図２に示したデジタルインク再生部４０は、デジタルインク処理装置２のうち、デジタルインク生成部３０により生成されたデジタルインクＩＮＫＤを再生する役割を果たす機能部である。
【００８８】
デジタルインク再生部４０が行う処理には、デジタルインクＩＮＫＤからストロークデータＳＤ（第１のストロークデータ）及びマッピングデータＭＤを抽出し、抽出したストロークデータＳＤに含まれる入力センサ属性ＩＳＡに対して、抽出したマッピングデータＭＤを適用することにより、描画属性ＤＡの値を含む修正されたストロークデータＳＤ（第２のストロークデータ）を生成する処理が含まれる。
【００８９】
以下、このデジタルインク再生処理について、図１１を用いて具体的に説明する。以下では、処理対象のデジタルインクＩＮＫＤが図８に示したマッピングデータ記述ブロックＭＤＢを含むものとして説明する。
【００９０】
図１１（ａ）は、デジタルインク再生部４０によってデジタルインクＩＮＫＤから抽出された状態のストロークデータＳＤ１を示している。ストロークデータＳＤ１は、入力センサ属性ＩＳＡとして、Ｘ座標を示す第１の属性データＸ、Ｙ座標を示す第２の属性データＹ、筆圧値を示す第３の属性データＰの３つの属性データを含んでいる。
【００９１】
デジタルインク再生部４０は、図６に示したデジタルインクＩＮＫＤ内のマッピングデータ記述ブロックＭＤＢから、図８に示したマッピングデータＭＤ１，ＭＤ２を順に抽出する。
【００９２】
デジタルインク再生部４０は、抽出した２つのマッピングデータＭＤ１及びＭＤ２のうち、最初に抽出したマッピングデータＭＤ１をまずストロークデータＳＤ１に適用する。
【００９３】
これにより、図１１（ｂ）に示すように、マッピングデータＭＤ１適用後のストロークデータＳＤ１が得られる。ＭＤ１適用後のストロークデータＳＤは、変換前の第１〜第３の属性データＸ，Ｙ，Ｐに加え、第４の属性データとして新たな描画属性ＤＡである線幅Ｗの値を含む。
【００９４】
ここで、図８に示すマッピングデータＭＤ１には、範囲データｒｄについての明示的な記述が存在しない。このように明示的な範囲の指定がない場合、デジタルインク再生部４０は、従前の＜ｍａｐｐｐｉｎｇ＞要素のルールに従い、ストローク全部（ストロークデータＳＤに含まれる全部のインデックスのポイントデータＰＤ）に対しマッピングデータＭＤ１が適用されるものとして処理を行う。これにより、図８に示すマッピングデータＭＤ１に関しては、ストロークデータＳＤの全部分に対して変換規則が適用されることになる。図１１中、ｒｄ１で示す破線枠は、ストロークデータＳＤのうちマッピングデータＭＤ１にかかる変換規則が適用されるストロークの範囲を示している。又、ｒｄ１で示す破線枠内の値は、図７のｆｕｎｃ１（１０倍）を変換規則の内容とするマッピングデータＭＤ１により得られた線幅Ｗの値を示している。
【００９５】
図８のマッピングデータＭＤ１内の変換規則ｆｕｎｃ１に従ってデジタルインク再生部４０が処理を行った結果、図１１（ｂ）に示すように、マッピングデータＭＤ１適用後のストロークデータＳＤでは、各ポイントデータＰＤ内の第４の属性データ（線幅Ｗ）の値が筆圧データＰの値の１０倍の値として導出されている。
【００９６】
次に、デジタルインク再生部４０は、図８に示すマッピングデータＭＤ２を、その中に記述されている範囲データｒｄにより示されるストロークデータＳＤの範囲（部分）に対して適用する。なお、図８に示した範囲データｒｄは"−２，−１"であったが、図１１（ｃ）には、範囲データｒｄの値が"−１，−１"であるとした場合の例を示している。図１１（ｃ）にｒｄ２で示す破線枠は、範囲データｒｄの値が"−１，−１"であるとした場合にマッピングデータＭＤ２が適用される範囲を示している。ｒｄ２で示す破線枠の内の値は、図７のｆｕｎｃ２ａ（５倍）を変換規則の内容とするマッピングデータＭＤ２により得られた描画属性ＤＡ（第４の属性データ）の値を示している。
【００９７】
ポイントデータＰＤ１４について、図１１（ｃ）に示すマッピングデータＭＤ２適用後の値「３」を図１１（ｂ）に示すマッピングデータＭＤ１適用後の値「６」と比較すると理解されるように、マッピングデータＭＤ２適用後のストロークデータＳＤにおいては、ストロークの一部分（最後の部分）のポイントデータＰＤ１４の描画属性ＤＡの第４の属性データである線幅Ｗの値が部分的に減少している。これは、マッピングデータＭＤ２内に、筆圧データＰを５倍することにより筆圧データＰを線幅データＷに変換すること、及び、その適用範囲がインデックス値−１で示される最後のポイントデータＰＤのみであること、が記述されていることに対応するものである。
【００９８】
以上のようにして、入力センサ属性ＩＳＡの値から描画属性ＤＡを導出することにより変換後のストロークデータＳＤを生成したデジタルインク再生部４０は、上述した描画スタイルＤＤなどの他の情報に基づいて既存の描画処理方法を適用することにより画像信号を生成する。
【００９９】
図１２は、既存の描画処理方法の例として、非特許文献６に記載された、描画処理の例を模式化したものである。図中、白丸ＰＤ０〜ＰＤ１４は、ストロークデータＳＤ１に含まれる１５個のポイントデータＰＤを示している。白丸中の数字は、ポイントデータＰＤ０〜ＰＤ１５の各々についての第４の属性Ｗの値を示している。図中、各々の白丸の円の半径は、第４の属性Ｗの値に比例した値で記載している。例えば、ポイントデータＰＤ０は第４の属性Ｗの値である１０を径とし、ポイントデータＰＤ１４はマッピングデータＭＤ２により得られた第４の属性（線幅データＷ）の値である３を径とする円で記載されている。
【０１００】
デジタルインク再生部４０は、ポイントデータＰＤ０〜ＰＤ１４の各々の円に接するような２つの包絡線（内側の包絡線ＩＥ、外側の包絡線ＯＥ）を導出する。そして、得られた２つの包絡線ＩＥ、ＯＥをストロークデータＳＤ１の形状の輪郭とする。例えばこのようにして、デジタルインク再生部４０は、線幅データＷに比例した線幅をストロークデータの線幅とした画像信号を生成することができる。尚、変換後のストロークデータＳＤの描画方法はこれに限るものではなく、既存の描画方法を利用するとしてよい。
【０１０１】
デジタルインク再生部４０により生成された画像信号は、図１に示すように、ディスプレイ５に出力される。これにより、ユーザの目に見える形で、ストロークデータＳＤ０〜ＳＤ５について、マッピングデータＭＤ２により修正されたストロークデータＳＤが表示されることになる。
【０１０２】
図１３Ａ〜図１３Ｄは、以上のようにして画像信号にされたストロークデータＳＤ（ストロークデータＳＤ０〜ＳＤ４）のイメージ例を示している。
【０１０３】
図１３Ａは、図３に示したストロークデータＳＤ０〜ＳＤ４に対し、筆圧Ｐを１０倍して線幅Ｗを得る変換規則ｆｕｎｃ１をストロークデータの全部分に対して適用して得られたストロークデータＳＤから再生された画像信号を示している。
【０１０４】
図１３Ｂは、図３に示したストロークデータＳＤ０〜ＳＤ４に対し、（１）筆圧Ｐを１０倍して線幅Ｗを得る変換規則ｆｕｎｃ１をストロークデータの全部分に対して適用し、更に、（２）筆圧Ｐを５倍して線幅Ｗを得るという変換規則ｆｕｎｃ２ａを、ストロークの図中破線枠で示す末尾部分に対して適用して得られたストロークデータＳＤから再生された画像信号を示している。
【０１０５】
図１３Ｃは、図３に示したストロークデータＳＤ０〜ＳＤ４に対し、（１）筆圧Ｐを１０倍して線幅Ｗを得る変換規則ｆｕｎｃ１をストロークデータの全部分に対して適用し、更に、（２）筆圧Ｐを５倍して線幅Ｗを得るという変換規則ｆｕｎｃ２ａを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータＳＤから再生された画像信号を示している。
【０１０６】
図１３Ｄは、図３に示したストロークデータＳＤ０〜ＳＤ４に対し、（１）筆圧Ｐを１０倍して線幅Ｗを得る変換規則ｆｕｎｃ１をストロークデータの全部分に対して適用し、更に、（２）筆圧Ｐを２０倍して線幅Ｗを得るという変換規則ｆｕｎｃ２ｂを、ストロークの図中破線枠で示す末尾と先端との両方の端部に対して適用して得られたストロークデータＳＤから再生された画像信号を示している。
【０１０７】
以上説明したように、本実施の形態による入力システム１（特にデジタルインク生成部３０）によれば、筆圧データ等の入力センサ属性ＩＳＡを示すデータを失うことなく、線幅Ｗあるいは透明度Ａなどのストロークデータの描画属性ＤＡの値を導出するための変換規則を記述したインクデータＩＮＫＤを生成することができる。
【０１０８】
これにより、描画属性ＤＡの値（線幅Ｗや透明度Ａ）を、入力センサ属性ＩＳＡのどの値からどのように導出したのかをデジタルインクＩＮＫＤが示すことができることになるので、過去に生成したデジタルインクＩＮＫＤに含まれる筆圧データＰと線幅Ｗとの対応関係を一括して変更することや、デジタルインクＩＮＫＤに（描画には直接用いられないにも関わらず）保存されている筆圧データＰをシグネチャ認証の比較パラメータに利用することも可能になる。
【０１０９】
また、本実施の形態にかかるデジタルインクＩＮＫＤの生成方法によれば、ストロークデータＳＤのうち、一部分の範囲に対してマッピングデータＭＤ内の変換規則を適用する規則を記述したデジタルインクＩＮＫＤを生成することが可能になる。したがって、上述した例のように、ストロークデータＳＤの始点と終点のみに変換規則が適用されるように構成することも可能になるので、図１３Ａ〜図１３Ｄに例示したように筆跡について高い表現能力を有するデジタルインクＩＮＫＤを生成することが可能になる。また、インデックス値と、剰余演算を用いて得られる修正インデックス値とを用いて範囲データの端点を表現するため、末端部、又は、末端部と先端部の両方を指定する変換規則を、ストロークデータＳＤが生成される前に事前に得ることが可能になる。
【０１１０】
（実施の形態２）
次に、本発明の第２の実施の形態による入力システム１について説明する。本実施の形態による入力システム１のシステム構成及びデジタルインク処理装置２の機能ブロックは、図１及び図２に示した第１の実施の形態によるものと同様である。
【０１１１】
本実施の形態による入力システム１は、ストロークデータ生成部２０から出力されるストロークデータＳＤの内容、並びに、マッピングデータ生成部３２及びデジタルインク再生部４０それぞれの内部処理の点で第１の実施の形態による入力システム１と異なるので、第１の実施の形態と同一の構成には同一の符号を付して説明を省略し、以下では、第１の実施の形態との相違点に着目して説明する。
【０１１２】
本実施の形態によるストロークデータ生成部２０は、座標データＸ、座標データＹ、及び時刻データＴの３種類の入力センサ属性ＩＳＡを含むストロークデータＳＤを生成する。図１４に、本実施の形態によるストロークデータ生成部２０によって生成されるストロークデータＳＤの例として、１０個のポイントデータＰＤ０〜ＰＤ９を含むストロークデータＳＤ５を示す。
【０１１３】
図１４の例に示されるように、本実施の形態においても、ストロークデータＳＤはＩｎｋＭＬの形式により生成されるものとし、具体的には、カンマ(,)によって各ポイントデータＰＤが区切られた形式により生成される。また、各ポイントデータＰＤ内では、半角スペースによって各属性データが区切られている。ポイントデータＰＤ内における各属性データの配置は、座標データＸ、座標データＹ、及び時刻データＴの順となる。例えば、上記の例における２つ目のポイントデータＰＤ１に関して言えば、左側の「８」が座標データＸ、中央の「０」が座標データＹ、右側の「'１６」の右側の数値１６が時刻データＴとなる。なお、各ポイントデータＰＤの時刻データＴは、最初のインデックス値に対応する時刻を０ミリ秒とし、そこからの経過時間によって表現されている。
【０１１４】
説明の単純のため、図１４の例は、１６ミリ秒の一定間隔で座標データ（Ｘ，Ｙ）が得られている例を示している。座標データ（Ｘ，Ｙ）についても、Ｙ座標は０で固定とし、Ｘ方向にのみ等加速度（１６ミリ秒毎に速さが８増加する速さ）で電子ペン４を移動させた場合に得られる座標の例を示している。
【０１１５】
本実施の形態によるマッピングデータ生成部３２は、１つのストロークデータＳＤに含まれる複数のポイントデータＰＤのうち第１のポイントデータＰＤｉの第１の入力センサ属性ＩＳＡ（例えば座標データ（Ｘ，Ｙ）又は時刻データＴ）の値と、上記第１のポイントデータＰＤｉとはインデックス値が異なる第２のポイントデータＰＤｉ＋１に含まれる第１の入力センサ属性ＩＳＡの値とに基づいて、透明度データＡである描画属性ＤＡを得る変換規則を含むマッピングデータＭＤを生成するように構成される。
【０１１６】
本実施の形態によるマッピングデータ生成部３２が生成するマッピングデータＭＤについて、図１５を用いてより詳しく説明する。
【０１１７】
図１５は、本実施の形態によるマッピングデータ生成部３２が生成するマッピングデータＭＤ３を示す図である。
【０１１８】
３行目〜７行目は、変換元となる入力センサ属性（Ｘ，Ｙ、Ｔ）と、変換により得られる描画属性（透明度Ａ）を定義する部分である。
【０１１９】
１１行目〜３７行目はマッピングデータＭＤ３に含まれる変換規則を示す部分である。具体的には、次の式（２）及び式（３）によりｉ番目のインデックス値に対応する透明度データＡｉを生成する、という変換規則が記述されている。ここで、式（３）中のＸｉ，Ｘｉ−１，Ｙｉ，Ｙｉ−１，Ｔｉ，Ｔｉ−１はそれぞれ、ｉ番目のインデックス値に対応する座標データＸ、ｉ−１番目のインデックス値に対応する座標データＸ、ｉ番目のインデックス値に対応する座標データＹ、ｉ−１番目のインデックス値に対応する座標データＹ、ｉ番目のインデックス値に対応する時刻データＴ、ｉ−１番目のインデックス値に対応する時刻データＴをそれぞれ示している。
【０１２０】
【数２】
0005775240.tif 000003
【０１２１】
上記式（２）及び式（３）による変換規則の特徴は、ｉ番目のインデックス値に対応する透明度データＡｉを生成する際に、ｉ番目ではないインデックス値に対応する属性データを参照している点にある。具体的には、１つ前のインデックス値ｉ−１に対応する属性データを参照しており、式（３）によって求められるＶｉは、インデックス値ｉ−１に対応する位置からインデックス値ｉに対応する位置に移動するまでの間の電子ペン４の移動速度を表している。式（２）による変換規則は、移動速度Ｖｉが大きくなるに伴い、透明度が大きくなるような関数（図７（ｂ）に示したｆｕｎｃ３）が設定されていることになる。
【０１２２】
ここで、図１５に示したマッピングデータＭＤ３と、上記式（２）及び式（３）との対応関係について説明する。まず図１５において、ｄｘで示す２２行目「'ｘ」、ｄｙで示す２７行目「'ｙ」、ｄｔで示す３２行目の「'ｔ」はそれぞれ、「Ｘｉ−Ｘｉ−１」「Ｙｉ−Ｙｉ−１」「Ｔｉ−Ｔｉ−１」を意味している。
【０１２３】
図１５内の破線枠Ａで囲んだ部分は、Ｘの変位量である「Ｘｉ−Ｘｉ−１」を２乗した値を示している。破線枠Ｂで囲んだ部分は、Ｙの変位量である「Ｙｉ−Ｙｉ−１」を２乗した値を示している。図中破線枠Ｃで囲んだ部分は、式（３）右辺の分子に対応する２次元平面内での変位量を示している。破線枠Ｄで囲んだ部分は、式（３）の右辺全体に対応しており、時間「Ｔｉ−Ｔｉ−１」の区間の速さを示している。破線枠Ｅで囲んだ部分は、式（２）右辺の右辺全体「２０・Ｖｉ」に対応している。このように、図１４に示したマッピングデータＭＤ３には、式（２）及び式（３）により示される入力センサ属性ＩＳＡから描画属性ＤＡ（透明度Ａ）への変換規則が記述されている。
【０１２４】
このように、本実施の形態のデジタルインク処理装置２は、マッピングデータＭＤ３を含むデジタルインクＩＮＫＤを生成、出力する。
【０１２５】
次に、図１６を用いて、本実施の形態におけるデジタルインク再生処理について説明する。
【０１２６】
まず、デジタルインクデータ再生部３０は、デジタルインクＩＮＫＤからストロークデータＳＤ５とマッピングデータＭＤ３とを抽出する。
【０１２７】
図１６（ａ）は、デジタルインク再生部４０がデジタルインクＩＮＫＤから抽出した変換元のストロークデータＳＤ５を示している。図１４で説明した通りストロークデータＳＤ５は、入力センサ属性ＩＳＡとして、Ｘ座標を示す第１の属性データＸ、Ｙ座標を示す第２の属性データＹ、時刻情報を示す第３の属性データＴの３つのデータを含んでいる。
【０１２８】
次に、デジタルインクＩＮＫＤを取得したデジタルインク再生部４０は、抽出したストロークデータＳＤ５に抽出したマッピングデータＭＤ３を適用する。図１６（ｂ）は、マッピングデータＭＤ３の適用により得られたストロークデータＳＤ５を示している。この時点におけるストロークデータＳＤ５は、入力センサ属性ＩＳＡから導出された第４の属性（描画属性ＤＡ）の透明度データＡを含んでいる。なお、上記式（２）及び式（３）によっては、１番目のインデックス値に対応する透明度データＡ０が得られないので、デジタルインク再生部４０は、便宜的に、透明度データＡ１の値１０を透明度データＡ０の値１０として設定している。
【０１２９】
図１６（ｃ）は、変換規則ｆｕｎｃ３をストロークの全部ではなく、範囲データｒｄ＝"−３、−１"の部分に適用した場合に得られるストロークデータＳＤを示している。この例では、ストローク中で末尾から３つの透明度データＡのみが得られ、先頭部分等他の部分については値の得られない場合の透明度のデフォルトの値０としている。
【０１３０】
このように、本実施の形態によるデジタルインクデータ再生処理においては、変換規則により得られた透明度Ａを含むストロークデータＳＤを得ることができる。
【０１３１】
以上のようにして、入力センサ属性ＩＳＡの値から描画属性ＤＡを導出することにより変換後のストロークデータＳＤを生成したデジタルインク再生部４０は、上述した描画スタイルＤＤなどの他の情報に基づいて既存の描画処理方法を適用することにより画像信号を生成する。
【０１３２】
図１７は、本実施の形態によるストロークデータＳＤを説明するための図である。
【０１３３】
図１７の最上段Ａは、図１４で示したストロークデータＳＤ５に含まれるポイントデータＰＤ０〜ＰＤ９までの１０個の座標データ（Ｘ，Ｙ）の位置関係を示している。
【０１３４】
図１７の中段Ｂは、各々のポイントデータＰＤ０〜ＰＤ９を黒色の円で表現し、その黒色の透明度Ａに図１６（ｂ）に示した透明度Ａの値を設定することにより得られるストロークデータＳＤ５に基づいて生成される画像信号のイメージ図である。時間当たりの変位量あるいは移動速度Ｖが大きくなるにつれて透明度Ａが大きくなる設定により、単位時間あたりにインクが紙に吸収される量が減少する状態を再現でき、より自然なストロークに近い表現を再現できる。
【０１３５】
図１７の下段Ｃは、各々のポイントデータＰＤ０〜ＰＤ９を黒色の円で表現し、その黒色の透明度Ａに図１６（ｃ）に示した透明度Ａの値を設定することにより得られるストロークデータＳＤ５に基づいて生成される画像信号のイメージ図である。ストロークのうち末尾の端部の範囲にのみ部分的に変換規則ｆｕｎｃ３を適用することにより、人間の手の加速的な動き、漢字の払い等をイメージした表現を再現することを指定できるようになる。
【０１３６】
図１８は、速度Ｖに応じて透明度Ａが大きくなる変換規則の効果を説明するための他の図である。描画スタイル情報ＤＤ１（図６及び図１０を参照）で設定されるブラシタイプとしてフェルトペンなどのデータを適用した場合に、図１７に示したストロークデータＳＤ５と同様に図中左側から右側に移動するにつれて指示体の移動速度（速さ）が大きくなるに伴い透明度Ａが増加している画像信号を示している。
【０１３７】
以上説明したように、本実施の形態によるデジタルインク処理装置２によれば、インデックス値の異なる２以上のポイントデータＰＤに含まれる入力センサ属性ＩＳＡの値を入力として描画属性ＤＡを得るための変換関係を規定したマッピングデータＭＤを生成することができる。これにより、例えば、筆圧データＰなどの入力センサ属性ＩＳＡを出力することのできない入力センサを用いて生成したデジタルインクであったとしても、線幅Ｗや透明度Ａといった描画属性ＤＡを導出することができ、かつ、その透明度Ａや線幅Ｗを与えるために用いた元データの種別を（筆圧データが含まれていたのか、あるいは、速度等から導出したデータなのか）を記録することができる。
【０１３８】
また、透明度Ａや線幅Ｗなどの描画属性ＤＡを導出するにあたって、同じ入力センサ属性ＩＳＡ（座標値）の微分値、積分値、又は、加算平均等の統計値に基づいた変換規則を記述することが可能になる。例えば、移動速度が大きくなるほど透明度Ａが大きくなるような、変換規則を記述することが可能になる。
【０１３９】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【０１４０】
例えば、第１の実施の形態と第２の実施の形態を組み合わせ、太さ及び濃淡の両方についての高い表現能力を有するデジタルインクを得ることも可能である。この場合、ストロークデータＳＤを構成する各ポイントデータＰＤに筆圧データＰと時刻データＴの両方を含め、かつ、デジタルインクＩＮＫＤに、筆圧データＰを線幅データＷに変換するためのマッピングデータＭＤ（第１の実施の形態）と、運筆速度から透明度データＡを得るためのマッピングデータＭＤ（第２の実施の形態）との両方を含めるようにすればよい。
【０１４１】
尚、第１の実施の形態において範囲データにより指定する範囲に適用される変換規則は、入力センサ属性ＩＳＡから線幅Ｗや透明度Ａといった描画属性ＤＡを導出するためのものでなくてもよい。ストロークの一部分に対し従来のアフィン変換などを用いて幾何形状を変形させたい場合に用いても良い。
【０１４２】
尚、又、第２の実施の形態において同一の入力センサ属性ＩＳＡの統計値により変換されて得られる属性は線幅Ｗや透明度Ａといった描画属性ＤＤに限らない。ストロークデータＳＤに含まれた座標データを元データとし、加重平均などの変換規則を適用して実際に描画する際に用いるポイントデータＰＤの座標データを得るとしてもよい。
【０１４３】
尚、又、本発明は、コンピュータを用いてストロークデータ生成部２０及びデジタルインク生成部３０の処理を順次実行する方法の発明と捉えることも可能であるし、これらの処理を実行させ得るためのプログラムを記述したコンピュータプログラムの発明と捉えることも可能であることは言うまでもない。
【符号の説明】
【０１４４】
１    入力システム
２    デジタルインク処理装置
２ａ  記憶装置
３    デジタイザ
３ａ  センサ
４    電子ペン
５    ディスプレイ
１０  入力処理部
２０  ストロークデータ生成部
３０  デジタルインク生成部
３１  デジタルインク組立部
３２  マッピングデータ生成部
３３  適用順決定部
４０  デジタルインク再生部
【要約】
【課題】入力センサ等から得られる筆圧等の入力センサ属性の値を保存しつつも、それらの入力センサ属性の値から線幅及び／又は透明度等が変化する筆跡を再現する変換規則を記述することが可能なデジタルインクを生成する。
【解決手段】デジタルインク処理装置２は、指示体を操作することに伴い入力センサにより生成されるペンイベントデータに基づいて、入力センサ属性を属性とするストロークデータＳＤを生成するストロークデータ生成部２０と、ストロークデータに含まれた入力センサ属性の値を、線幅又は透明度の値に変換するための変換規則を示すマッピングデータＭＤを生成するマッピングデータ生成部３２と、ストロークデータＳＤ及びマッピングデータＭＤを含むデジタルインクＩＮＫＤを所定のデータフォーマットで出力するデジタルインク組立部３１とを備える。
【選択図】図２【図１】
0005775240.tif 000004
【図２】
0005775240.tif 000005
【図３】
0005775240.tif 000006
【図４】
0005775240.tif 000007
【図５】
0005775240.tif 000008
【図６】
0005775240.tif 000009
【図７】
0005775240.tif 000010
【図８】
0005775240.tif 000011
【図９Ａ】
0005775240.tif 000012
【図９Ｂ】
0005775240.tif 000013
【図９Ｃ】
0005775240.tif 000014
【図９Ｄ】
0005775240.tif 000015
【図１０】
0005775240.tif 000016
【図１１】
0005775240.tif 000017
【図１２】
0005775240.tif 000018
【図１３Ａ】
0005775240.tif 000019
【図１３Ｂ】
0005775240.tif 000020
【図１３Ｃ】
0005775240.tif 000021
【図１３Ｄ】
0005775240.tif 000022
【図１４】
0005775240.tif 000023
【図１５】
0005775240.tif 000024
【図１６】
0005775240.tif 000025
【図１７】
0005775240.tif 000026
【図１８】
0005775240.tif 000027
【図１９Ａ】
0005775240.tif 000028
【図１９Ｂ】
0005775240.tif 000029