(57)【特許請求の範囲】
【請求項１】
開始点と終了点との間で描画した曲線におけるノイズを平滑化した曲線を発生するコンピュータによって実行される方法において、
前記描画した曲線と前記平滑化した曲線との間の距離の差を変数として有する関数からなる歪み係数Ｄを決定し、
前記平滑化した曲線の長さを変数として有する関数からなる平滑化係数Ｓを決定し、
前記描画した曲線に対する値である０と直線に対応する値である無限大との間の範囲内における平滑化パラメータλの値を決定し、
Ｅ＝Ｄ＋λ２×Ｓで表されるエネルギ値が最小である場合に得られる変換された曲線を前記平滑化した曲線として選択する、
ことを特徴とする方法。
【請求項２】
請求項１において、前記歪み係数が前記描画した曲線と各変換された曲線との間の距離の平方の関数として決定されることを特徴とする方法。
【請求項３】
請求項１において、前記歪み係数が前記描画した曲線と前記変換された曲線との間の距離の関数として決定されることを特徴とする方法。
【請求項４】
請求項１において、前記歪み係数が、次式
【数１】
0004308343.tif 000020
尚、（Ｘi，Ｙi）及び（ｘi，ｙi）は、それぞれ、前記描画した曲線及び前記変換された曲線上の点ｉの座標であることを特徴とする方法。
【請求項５】
請求項１において、前記平滑化係数が前記変換された曲線の長さの関数として決定されることを特徴とする方法。
【請求項６】
請求項１において、前記変換された曲線が一つ又はそれ以上のセグメントを有しており且つ前記平滑化係数が前記変換された曲線上の各セグメントの長さを加算することによって決定されることを特徴とする方法。
【請求項７】
請求項１において、前記平滑化係数が、次式
【数２】
0004308343.tif 000021
尚、（ｘi，ｙi）及び（ｘi+1，ｙi+1）は、それぞれ、点ｉ及び点ｉから次の点に対する座標であることを特徴とする方法。
【請求項８】
請求項７において、エネルギ値Ｅが次式
【数３】
0004308343.tif 000022
による座標ｘ及びｙを持った各点ｉに関して最小化されることを特徴とする方法。
【請求項９】
開始点と終了点との間で描画した曲線におけるノイズを平滑化させた曲線を発生するために、コンピュータをして、
前記描画した曲線と前記平滑化させた曲線との間の距離の差を変数として有する関数からなる歪み係数Ｄを決定する手順、
前記平滑化させた曲線の長さを変数として有する関数からなる平滑化係数Ｓを決定する手順、
前記描画した曲線に対応する値である０と直線に対応する値である無限大との間の範囲内における平滑化パラメータλの値を決定する手順、
Ｅ＝Ｄ＋λ２×Ｓで表されるエネルギ値が最小である場合に得られる変換した曲線を前記平滑化させた曲線として選択する手順、
を実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項９において、前記歪み係数が前記描画した曲線と各変換した曲線との間の距離の平方の関数として決定されることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１１】
請求項９において、前記歪み係数が前記描画した曲線と前記変換した曲線との間の距離の関数として決定されることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１２】
請求項９において、前記平滑化係数が前記変換した曲線の長さの関数として決定されることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１３】
請求項９において、前記平滑化係数が、次式
【数４】
0004308343.tif 000023
尚、（ｘi，ｙi）及び（ｘi+1，ｙi+1）は、それぞれ、点ｉ及び点ｉからの次の点に対する座標であることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１４】
請求項９において、前記歪み係数が、次式
【数５】
0004308343.tif 000024
尚、（Ｘi，Ｙi）及び（ｘi，ｙi）は、それぞれ、前記描画した曲線及び前記変換した曲線上の点ｉの座標であることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１５】
請求項９において、エネルギ値Ｅが次式
【数６】
0004308343.tif 000025
によって座標ｘ及びｙを有する各点ｉに関して最小化されることを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１６】
二次元空間上の一連の点によって画定され且つ開始点と終了点との間で描画された曲線のノイズを平滑化させるためのコンピュータシステムにおいて、
ラスター画像を表示するためのディスプレイ、
ユーザ入力を受取るためのユーザ入力装置、
プロセサ、
を有しており、前記プロセサは、次式
【数７】
0004308343.tif 000026
尚（Ｘi，Ｙi）は前記描画した曲線上の点を表わしており且つ（ｘi，ｙi）は前記平滑化した曲線上の点を表わしている；
に従って前記平滑化した曲線に関連する歪み係数Ｄを決定する手段、
次式
【数８】
0004308343.tif 000027
に従って前記曲線に関連する平滑化係数Ｓを決定する手段、
次式
Ｅ＝Ｄ＋λ2×Ｓ
尚、λは前記描画された曲線に対応する値である０と直線に対応する値である無限大との間の範囲内における値をとる平滑性パラメータである；
に従って前記歪み係数と前記平滑化係数とによって表わされるエネルギ値Ｅを有する変換された曲線を発生する手段、
最小のエネルギを有する変換された曲線を前記平滑化した曲線として選択する手段、
として機能することを特徴とするコンピュータシステム。
【請求項１７】
請求項１６において、前記変換した曲線の長さが次式
【数９】
0004308343.tif 000028
に従ってエネルギ値Ｅを最小化することによって最小化されることを特徴とするコンピュータシステム。
【請求項１８】
請求項１６において、前記平滑化させた曲線の長さが次式
【数１０】
0004308343.tif 000029
及び次式
【数１１】
0004308343.tif 000030
尚、Ｏiは（ｘi，ｙi）における変換した曲線上に位置している点であり、且つｄは次式
【数１２】
0004308343.tif 000031
として定義されるｘ，ｙに位置している点Ｐとｘ’，ｙ’に位置している点Ｑとの間の距離である；
に従ってエネルギ値Ｅを最小化することによって最小化されることを特徴とするコンピュータシステム。
【請求項１９】
請求項１６において、前記エネルギ値を複数個の変換させた曲線に対して繰返し評価することを特徴とするコンピュータシステム。
【請求項２０】
請求項１６において、前記描画した曲線がコンピュータによって発生されることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、曲線を平滑化させる装置及び方法に関するものであって、更に詳細には、マルチセグメント即ち複数個のセグメントからなる曲線を平滑化させる装置及び方法に関するものである。
【０００２】
【従来の技術】
重要な種別のコンピュータプログラムとしては、コンピュータ補助設計（ＣＡＤ）ツール及びグラフィックイラストレーションソフトウエアがある。ＣＡＤレイアウト又はグラフィックデザインソフトウエアを使用して描画を作成するためには、ユーザは、典型的に、モニタ又はその他の適宜の表示装置上に該ソフトウエアによって表示された状態で、一つ又はそれ以上のオブジェクトを選択し且つ各オブジェクトを描画用紙上に配置させる。ユーザは、更に、これらのオブジェクトを編集及び操作して所望の様相を得ることが可能である。アプリケーションソフトウエアは、通常、ユーザが選択し且つ操作してデザインするために、一般的な記号又は例えば正方形、矩形、円、楕円などのオブジェクトを供給する。更に、該ソフトウエアは、典型的に、ユーザがデジタル描画上で直線及び曲線セグメントを描画することを助けるためのツールを提供する。
【０００３】
曲線を配置させ且つ編集するプロセスは、通常、試行錯誤のプロセスであり、ユーザは、通常、コンピュータ上で複数個の転換点又はセグメントを有する一つの連続した曲線を描画することは不可能である。この様な試みは、通常、各々が開始点と終了点とによって画定される一連のギザギザの曲線として構成されるノイズを有する曲線セグメントを発生することとなる。視覚的に好ましいものでないことに加えて、一連のギザギザの曲線を編集し、表示し且つ保存することは極めて複雑なものとなる場合がある。従って、視覚的様相及び操作上の簡単化のために、この様なノイズを有する曲線を平滑化させた曲線で置換させることが望ましい。
【０００４】
曲線セグメントの特性付けを行うためには、隣接する描画したセグメントの間のコーナー即ち角部をギザギザのノイズを有する曲線から識別することが必要である。ノイズ許容性があり且つコーナーの良好な局所化を与える端点を決定する正確且つ迅速な方法が本願出願人が所有している同時係属中の米国特許出願第０８／８８２，６９５号「曲線セグメントのコーナーの特性付け（ＣＨＡＲＡＣＴＥＲＩＺＡＴＩＯＮ  ＯＦ  ＣＯＲＮＥＲＳ  ＯＦ  ＣＵＲＶＩＬＩＮＥＡＲ  ＳＥＧＭＥＮＴ）」に記載されており、尚、上記米国特許出願を引用によって本明細書に取込む。
【０００５】
開始点と終了点とが識別されると、その曲線を平滑化させることが可能である。従来のプロセスは曲線上の隣接する点を平滑化するものである。この様な平滑化は、曲線セグメントのギザギザの性質を減少させる。しかしながら、この様な平均化は、通常、曲線を平坦化させ且つ意図した曲線の全体的な形状を変化させる場合がある。更に、平均化は、実際の曲線の半径を小さくさせる場合があり、曲線の不適切な特性付けとなることがある。従って、形状及び半径を包含するその特性に影響を与えることなしに、ノイズを有する描画した曲線を平滑化させることが望ましい。
【０００６】
【発明が解決しようとする課題】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、ノイズを有する描画した曲線の特性を変えることなしに平滑化させることを可能とする装置及び方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
一般的に、本発明は、不正確に描画した曲線の曲率を平滑化させるコンピュータによって実行される方法を提供している。本発明によれば、変換させた曲線を定義する平滑化関数を解くことによってノイズを有する描画したマルチセグメント即ち複数個のセグメントからなる曲線から平滑化させた曲線が発生される。各変換させた曲線はとりわけその長さに関係したエネルギ値を有している。平滑化関数のエネルギを最小とさせる変換曲線が平滑化させた曲線として選択される。エネルギ値Ｅは多数の係数からなる複合体であり、それは次式の如くに表現される。
【０００８】
Ｅ＝Ｄ＋λ2×Ｓ
尚、Ｄは歪み係数を表わしており、λは平滑性パラメータであり且つλの値が大きいことは平滑性がより大きいことを表わしており、且つＳは平滑性関数である。
【０００９】
ある曲線の特性を得るために、付加的な係数又は拘束条件を課すことが可能である。この様な拘束条件の一つは、描画した曲線からの変換した曲線の平均逸れがゼロであるようなものとすることが可能である。このことは、次式の如くに表わすことが可能である。
【００１０】
Σ（Ｘi−ｘi）＝０
Σ（Ｙi−ｙi）＝０
歪み係数は、描画した曲線と変換した曲線の上の点の間の関係を考慮に入れる。平滑化係数Ｓは曲線に対して平滑性を課す。一実施例では曲線の長さの大きさを最小とさせる。平滑化パラメータλは、大きな値がより大きな平滑性を与えるように平滑可能レベルを制御する。この様に、平滑化関数Ｅは変換させた曲線を最小エネルギで識別する。
【００１１】
平滑化関数を評価するため及び変換した曲線を描画した曲線の端点間に当て嵌まる最小エネルギで識別するために数値的な方法が適用される。最も低いエネルギ値Ｅを有する変換した曲線が平滑化した曲線として選択される。
【００１２】
本発明は以下に記載するような特徴の一つ又はそれ以上を有している。本発明は、意図した曲線の全体的な形状に影響を与えることなしに曲線の平滑化を行う。更に、本発明は、実際の曲線の半径を縮小することなしに曲線の平滑化を行う。
【００１３】
【発明の実施の形態】
図１はノイズを有するセグメント又は曲線１００に基づいて平滑化させた曲線を発生させる本発明の動作を示すための情報を付した描画した曲線セグメント１００を示している。図１において、描画したセグメント又は曲線１００は開始点１０２と終了点１１２とを有している。更に、開始点１０２と終了点１１２との間に位置されているＮ−１個の点が解析のために選択されている。これらの点の中で、点１０４，１０６，１０８，１１０はユーザによって曲線１００を発生する間に不本意に導入されたノイズ又は擾乱を表わしている。点１０４，１０６，１０８，１１０によって示されているノイズは、曲線１００の滑らかな流れを乱しており且つ曲線１００が平滑化されるべき場合に最小とされることを必要としている。
【００１４】
本方法は、描画した曲線１００（図１）の曲線の端点（即ち、点１０２及び１１２）の間に位置されている変換された曲線１２０（図３）を画定する平滑化関数を解く。平滑化プロセス期間中に、擾乱を表わす点は平滑化関数によって互いに近接して投影され、実効的に変換させた曲線１２０の全体的な長さを減少させる。従って、曲線に関連するエネルギを最小とさせるために平滑化関数を解くことによって、描画した曲線１００は平滑化された曲線１２０へ変換される（図３）。
【００１５】
次に、図２を参照すると、曲線を平滑化させる方法２００が詳細に示されている。一般的に、本方法２００は、元の描画した曲線１００から変換した平滑化した曲線１２０を見つけ出すための処理を行う。平滑化させた曲線１２０はエネルギ値Ｅに関連しており、そのエネルギ値は変換し平滑化した曲線１２０の長さに関連しているが、Ｅに対してその他の特性を使用することも可能である。
【００１６】
変換した曲線１２０は、平滑化させた曲線１２０に対するエネルギ値が最も低いエネルギ値Ｅとして最小化されているという拘束条件の下で、描画した曲線１００上の各点ｉに対する座標（Ｘ，Ｙ）の平滑化した曲線１２０上の座標（ｘ，ｙ）へのマッピングである。前述したように、エネルギ値Ｅは次式によって表現される。
【００１７】
Ｅ＝Ｄ＋λ2×Ｓ
ステップ２０２において、本方法２００はエネルギ値Ｅの解析において使用すべき歪み係数Ｄを決定する。歪み係数Ｄは元の曲線から変換した曲線の移動の大きさである。歪み係数Ｄに対して多数の表現を使用することが可能であり、例えば歪み係数Ｄを両方の曲線上の対応する点の間の距離における実際の差又は差の平方の関数として特性付けることが可能である。
【００１８】
一実施例においては、歪み係数Ｄは描画した曲線及び変換した曲線の上の点ｉの間の距離における差の和として表現され、それは次式で表わされる。
【００１９】
【数１３】
0004308343.tif 000002
【００２０】
尚、Ｄは（Ｘi，Ｙi）として表わされる描画した曲線及び（ｘi，ｙi）として表わされる変換した曲線の上の点ｉの間の距離の平方の和の関数である。
【００２１】
一方、歪み係数Ｄは描画した曲線及び変換した曲線の上の点ｉの間の距離の和として表わすことが可能であり、それは次式によって表現することが可能である。
【００２２】
【数１４】
0004308343.tif 000003
【００２３】
歪み係数Ｄの特性付けを行うその他の方法としては、例えば、元の曲線と変換した曲線との間の面積の関数として歪み係数Ｄを表現する場合がある。
【００２４】
歪み係数Ｄを決定した後に（ステップ２０２）、本方法は、ステップ２０４において、平滑化係数Ｓを決定する。平滑化係数Ｓは変換した曲線上の各セグメントの長さの平方の和として表わされ、それは次式の如くに表わされる。
【００２５】
【数１５】
0004308343.tif 000004
【００２６】
一方、平滑化係数Ｓは変換した曲線の長さの関数として表わすことも可能であり、即ち、次式のように表現することも可能である。
【００２７】
【数１６】
0004308343.tif 000005
【００２８】
次に、本方法はステップ２０６において平滑化パラメータλを決定する。平滑化パラメータλが０に設定される場合には、平滑化させた曲線は忠実に元の描画した曲線を真似することとなる。平滑化係数λが無限大に設定される場合には、平滑化される曲線は直線となる。
【００２９】
ステップ２０８において、エネルギ値Ｅを有する平滑化関数が発生され、それは変換させた曲線を表わす。エネルギ値Ｅは次式のように表わされるので、
Ｅ＝Ｄ＋λ2×Ｓ
エネルギ値Ｅの一実施例は次式のように表わすことが可能である。
【００３０】
【数１７】
0004308343.tif 000006
【００３１】
歪み係数Ｄと平滑化係数Ｓを使用したその他の適宜の組合わせを使用することも可能である。
【００３２】
次いで、ステップ２１０において、点ｉのｘ及びｙ座標に関してエネルギ値Ｅの第一偏微分を表わす２Ｎ−２個の方程式を解くことによって平滑化した曲線が得られ、即ち、それは次式のように表わすことが可能である。
【００３３】
【数１８】
0004308343.tif 000007
【００３４】
尚、
【００３５】
【数１９】
0004308343.tif 000008
【００３６】
及び、
【００３７】
【数２０】
0004308343.tif 000009
【００３８】
尚、Ｏiは（ｘi，ｙi）における変換した曲線の上に位置している点であり、且つｄは次式
【００３９】
【数２１】
0004308343.tif 000010
【００４０】
として定義されるｘ，ｙに位置している点Ｐとｘ′，ｙ′に位置している点Ｑとの間の距離である。
【００４１】
当業者に公知な多数の技術を使用してこれら一連の方程式を解くことが可能である。例えば、以下の如くに勾配下降方法（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔｍｅｔｈｏｄ）を使用して解を発生させることが可能である。
【００４２】
【数２２】
0004308343.tif 000011
【００４３】
及び
【００４４】
【数２３】
0004308343.tif 000012
【００４５】
尚、εは定数であって、その値はＥの第二微分に基づくものとすることが可能であり、且つｋは、次のｘ及びｙの値が現在のｘ及びｙの値に部分的に基づいて発生されるような繰返しカウンタである。
【００４６】
一方、上述した一連の方程式を次式の如くに還元させることにより固定点方法（ｆｉｘｅｄ  ｐｏｉｎｔ  ｍｅｔｈｏｄ）を使用して解を得ることが可能である。
【００４７】
【数２４】
0004308343.tif 000013
【００４８】
及び
【００４９】
【数２５】
0004308343.tif 000014
【００５０】
尚、ｄi＝ｄ（Ｏi，Ｏi+1）である。
【００５１】
これらの一連の方程式は以下の如くにしてアレイ形態に書直すことが可能である。
【００５２】
【数２６】
0004308343.tif 000015
【００５３】
上の行列は次のように表わすことが可能である。
【００５４】
【数２７】
0004308343.tif 000016
【００５５】
及び
【００５６】
【数２８】
0004308343.tif 000017
【００５７】
これらは以下のようにして反復的に解くことが可能である。
【００５８】
【数２９】
0004308343.tif 000018
【００５９】
及び
【００６０】
【数３０】
0004308343.tif 000019
【００６１】
上述した数値的な方法は、最も低いエネルギ値Ｅを有する変換させた曲線に対して繰返し解くものである。この様な変換させた曲線は平滑化させた曲線として選択される。平滑化させた曲線及び描画した曲線上の点に関連する平滑化関数に基づいて、平滑化させた曲線の点が発生される。この様に、本方法２００は意図した曲線の全体的な形状に影響を与えることなしに描画した曲線１００を平滑化させる。更に、本方法２００は実際の曲線の半径を縮小させることなしに描画した曲線１００を平滑化させる。
【００６２】
次に、図３を参照すると、本方法２００を使用した結果として発生された変換された曲線１２０が示されている。変換された曲線１２０は図１の曲線１００の平滑化させたものである。変換させた曲線１２０は開始点１２２と終了点１３２とを有しており、それらは、それぞれ、点１０２及び１１２（図１）に一致している。変換させた曲線１２０は、更に、一つ又はそれ以上の変換させた擾乱点１３０を有しており、それらは、描画した曲線１００に対する点１０４−１１０の位置（図１）よりも変換させた曲線１２０に対して比較的より近接して位置されている。擾乱点１３０が変換させた曲線１２０に対して比較的近接して位置している結果、描画した曲線１００（図１）よりも相対的により滑らかな曲線としている。
【００６３】
変換した曲線１２０の平滑性は部分的にはその長さによって表わすことが可能である。図３において、変換した曲線１２０の長さは図１の描画した曲線１００の長さよりも一層短い。この長さがより短いことは、描画した曲線１００（図１）上の擾乱点に対して変換した曲線１２０（図３）上の擾乱点間の差が減少されていることによるものである。
【００６４】
本発明は、デジタルハードウエア又はコンピュータソフトウエア、又は両者の組合わせで実現することが可能である。好適には、本発明は、コンピュータシステムにおいて実行されるコンピュータプログラムで実現される。この様なコンピュータシステムは、プロセサと、データ格納システムと、少なくとも１個の入力装置と、出力装置とを有することが可能である。図４はこの様な一つのコンピュータシステム６００を示しており、それはプロセサ（ＣＰＵ）６１０、ＲＡＭ６２０、ＲＯＭ６２２、Ｉ／Ｏ制御器６３０を有しており、それらはＣＰＵバス６９８によって結合されている。Ｉ／Ｏ制御器６３０もＩ／Ｏバス６５０によってキーボード６６０、マウス６７０などの入力装置及びモニタ又はディスプレイ６８０などの出力装置へ結合されている。更に、一つ又はそれ以上のデータ格納装置６９２がＩ／Ｏインターフェース６９０を介してＩ／Ｏバスへ接続している。更に、図４の基本的なコンピュータシステムの変形例も本発明の技術的範囲内のものである。例えば、入力装置としてマウスを使用する代わりに、感圧ペン又はタブレットを使用して曲線位置情報を発生させることが可能である。
【００６５】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。
【図面の簡単な説明】
【図１】  平滑化プロセスが適用されるべき曲線を示した概略図。
【図２】  曲線を平滑化させるプロセスを示したフローチャート。
【図３】  図２のプロセスによって発生される結果的に得られる平滑化させた曲線を示した概略図。
【図４】  本発明で使用するのに適したコンピュータシステムを示した概略ブロック図。
【符号の説明】
１００  描画した曲線
１０２  開始点
１１２  終了点
１０４，１０６，１０８，１１０  ノイズ（擾乱）
１２０  変換した曲線
【図１】
0004308343.tif 000032
【図２】
0004308343.tif 000033
【図３】
0004308343.tif 000034
【図４】
0004308343.tif 000035