(57)【要約】      （修正有）【課題】平滑曲線により定義された形状を描画するための改善された技術を提供する【解決手段】入力曲線の描画出力生成のため、世界空間で定義された入力曲線に対し、入力曲線を標準曲線の部分へのマップに必要な入力曲線及び変換に対応する標準空間で定義された標準曲線の部分を決定する。入力曲線を囲む世界空間の複数の標本点の各々に対し、世界空間および標準空間の間の決定された変換を用いて標本点を世界空間から標準空間に変換し、標準空間において、決定された標準曲線の部分上の変換された標本点に最も近い点を決定するように構成され、標準曲線を囲む標準空間の変換された標本点の各々に対して、標準空間の標準曲線上の対応する最近点を決定する。また、描画出力生成には、標準空間の変換された標本点に対して、標準曲線上の決定された最近点を使用できる。【選択図】図３
2017073120.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックス処理システム内の入力曲線を用いてレンダリング出力を生成する方法であって、
世界空間で定義された入力曲線に対して
前記入力曲線に対応する標準空間で定義された標準曲線の一部および前記入力曲線を前記標準曲線の前記一部にマップするのに必要な変換を決定するステップと、
前記入力曲線を囲む前記世界空間内の複数の標本点の各々に対して、
前記世界空間と前記標準空間の間の前記決定された変換を用いて前記標本点を前記世界空間から前記標準空間に変換し、
前記標準空間において、前記変換された標本点に最も近い前記標準曲線の前記決定された部分上の点を決定し、
それにより、前記標準曲線を囲む前記標準空間内の前記変換された標本点の各々に対して、前記標準空間内の前記標準曲線上の対応する最も近い点を決定するステップと、
レンダリング出力を生成するとき、前記標準空間内の前記変換された標本点に対する前記標準曲線上の前記決定された最も近い点を使用するステップと、
を含む、方法。
【請求項２】
前記標準曲線上の前記最も近い点を決定するステップは、前記変換された標本点から前記標準曲線への距離を最小化するステップを含む、請求項１に記載の方法。
【請求項３】
前記標準曲線上の前記最も近い点を決定するステップは、前記変換された標本点から前記標準曲線の前記一部の前記開始点と前記終点への距離を決定し、前記開始点または前記終点のうち１つが前記変換された標本点に最も近い前記標準曲線上の点であるかどうかを判定するステップを含む、請求項１または２に記載の方法。
【請求項４】
前記標準曲線上の前記最も近い点を決定するステップは、前記変換された標本点および前記変換された標本点に最も近い前記標準空間内の前記標準曲線上の点の間の距離を決定するステップを含む、請求項１、２または３に記載の方法。
【請求項５】
標本点ごとに、前記標本点から前記曲線上の前記最も近い点への前記決定された距離を格納するステップをさらに含む、請求項４に記載の方法。
【請求項６】
曲線を囲む前記複数の標本点の各々に対して、
前記曲線上の前記決定された最も近い点を用いて、前記曲線のどちらの側で前記標本点をそのまま扱うべきであるかを判定し、
それにより、前記曲線を囲む前記標本点の各々に対して、前記曲線のどちらの側で標本点をそのまま扱うべきであるかを判定するステップと、
前記レンダリング出力を生成するときに前記曲線のどちらの側で前記標本点をそのまま扱うべきであるかの判定を使用するステップと、
をさらに含む、請求項１乃至５の何れか１項に記載の方法。
【請求項７】
グラフィックス処理システムにおいて複数の入力曲線を用いてレンダリング出力を生成する方法であって、
前記入力曲線の各々に対して、請求項１乃至６の何れか１項に記載の方法を実施して、
それにより前記複数の標準曲線の各々を囲む前記標準空間内の変換された標本点の配列に対して、変換された標本点の前記配列に対して前記標準空間内の前記複数の標準曲線の各々の上の対応する最も近い点の配列をそれぞれ決定するステップと、
レンダリング出力を生成するとき、前記複数の標準曲線の各々の上の決定された最も近い点の前記配列を前記標準空間内の変換された標本点の前記配列に対して使用するステップと、
を含む、方法。
【請求項８】
入力曲線を用いてレンダリング出力を生成するためのグラフィックス処理システムであって、
世界空間で定義された入力曲線に対して、
前記入力曲線に対応する標準空間で定義された標準曲線の一部および前記入力曲線を前記標準曲線の前記一部にマップするのに必要な変換を決定し、
前記入力曲線を囲む前記世界空間内の複数の標本点の各々に対して、
前記世界空間と前記標準空間の間の前記決定された変換を用いて前記標本点を前記世界空間から前記標準空間に変換し、
前記標準空間において、前記変換された標本点に最も近い前記標準曲線の前記決定された部分上の点を決定し、
それにより、前記標準曲線を囲む前記標準空間内の前記変換された標本点の各々に対して、前記標準空間内の前記標準曲線上の対応する最も近い点を決定すること
ができる処理回路と、
レンダリング出力を生成するとき、前記標準空間内の前記変換された標本点に対する前記標準曲線上の前記決定された最も近い点を使用できる処理回路と、
を備える、グラフィックス処理システム。
【請求項９】
前記標準曲線上の前記最も近い点を決定するために、前記処理回路は、前記変換された標本点から前記標準曲線への距離を最小化することができる、請求項８に記載のグラフィックス処理システム。
【請求項１０】
前記標準曲線上の前記最も近い点を決定するために、前記処理回路は、前記変換された標本点から前記標準曲線の前記一部の前記開始点と前記終点への距離を決定し、前記開始点または前記終点のうち１つが前記変換された標本点に最も近い前記標準曲線上の点であるかどうかを判定することができる、請求項８または９に記載のグラフィックス処理システム。
【請求項１１】
前記標準曲線上の前記最も近い点を決定するために、前記処理回路は、前記変換された標本点と前記変換された標本点に最も近い前記標準空間内の前記標準曲線上の点の間の距離を決定することができる、請求項８、９または１０に記載のグラフィックス処理システム。
【請求項１２】
前記処理回路は、標本点ごとに、前記標本点から前記曲線上の前記最も近い点への前記決定された距離を格納することができる、請求項１１に記載のグラフィックス処理システム。
【請求項１３】
前記処理回路は、
曲線を囲む前記複数の標本点の各々に対して、前記曲線上の前記決定された最も近い点を用いて、前記曲線のどちらの側で前記標本点をそのまま扱うべきであるかを判定し、
それにより、前記曲線を囲む前記標本点の各々に対して、前記曲線のどちらの側で標本点をそのまま扱うべきであるかを判定することができ、
前記処理回路は、前記レンダリング出力を生成するときに前記曲線のどちらの側で前記標本点をそのまま扱うべきであるかの判定を使用することができる、
請求項８乃至１２の何れか１項に記載のグラフィックス処理システム。
【請求項１４】
世界空間で定義された複数の入力曲線の各々に対して、前記入力曲線に対応する標準空間で定義された標準曲線の一部および前記入力曲線を前記標準曲線の前記一部にマップするのに必要な変換を決定し、
前記入力曲線を囲む前記世界空間内の複数の標本点の各々に対して、
前記世界空間と前記標準空間の間の前記決定された変換を用いて前記標本点を前記世界空間から前記標準空間に変換し、
前記標準空間において、前記変換された標本点に最も近い前記標準曲線の前記決定された部分上の点を決定して、
それにより前記複数の標準曲線の各々を囲む前記標準空間内の変換された標本点の配列に対して、変換された標本点の前記配列に対して前記標準空間内の前記複数の標準曲線の各々の上の対応する最も近い点の配列をそれぞれ決定し、
レンダリング出力を生成するとき、前記標準空間内の変換された標本点の前記配列に対して前記複数の標準曲線の各々の上の決定された最も近い点の前記配列を使用することができる
処理回路を備える、
複数の入力曲線を用いてレンダリング出力を生成するための請求項８乃至１３の何れか１項に記載のグラフィックス処理システム。
【請求項１５】
入力曲線を用いてレンダリング出力を生成するとき、グラフィックス処理システムにおいて使用するためのグラフィックス・テクスチャを生成する方法であって、
世界空間で定義された入力曲線に対して、
前記入力曲線に対応する標準空間で定義された標準曲線の一部および前記入力曲線を前記標準曲線の前記一部にマップするのに必要な変換を決定し、
前記入力曲線を囲む前記世界空間内の複数の標本点の各々に対して、
前記世界空間と前記標準空間の間の前記決定された変換を用いて前記標本点を前記世界空間から前記標準空間に変換し、
前記標準空間において、前記変換された標本点に最も近い前記標準曲線の前記決定された部分上の点を決定し、
それにより、前記標準曲線を囲む前記標準空間内の前記変換された標本点の各々に対して、前記標準空間内の前記標準曲線上の対応する最も近い点を決定するステップと、
前記標本点の各々に対して、前記標本点から前記曲線上の前記決定された最も近い点への距離を決定するステップと、
テクセルの配列を含むグラフィックス・テクスチャを生成するステップであって、各テクセルは、前記標本点のうち少なくとも１つに対応し、前記少なくとも１つの標本点に対して、前記少なくとも１つの標本点から前記曲線への前記決定された距離（複数可）に関連付けられている、ステップと、
を含む、方法。
【請求項１６】
入力曲線を用いてレンダリング出力を生成するとき、グラフィックス処理システムにおいて使用するためのグラフィックス・テクスチャを生成するための装置であって、
世界空間で定義された入力曲線に対して、
前記入力曲線に対応する標準空間で定義された標準曲線の一部および前記入力曲線を前記標準曲線の前記一部にマップするのに必要な変換を決定し、
前記入力曲線を囲む前記世界空間内の複数の標本点の各々に対して、
前記世界空間と前記標準空間の間の前記決定された変換を用いて前記標本点を前記世界空間から前記標準空間に変換し、
前記標準空間において、前記変換された標本点に最も近い前記標準曲線の前記決定された部分上の点を決定し、
それにより、前記標準曲線を囲む前記標準空間内の前記変換された標本点の各々に対して、前記標準空間内の前記標準曲線上の対応する最も近い点を決定し、
前記標本点の各々に対して、前記標本点から前記曲線上の前記決定された最も近い点への距離を決定し、
テクセルの配列を含むグラフィックス・テクスチャを生成する
ことができる処理回路を備え、
各テクセルは、前記標本点のうち少なくとも１つに対応し、前記少なくとも１つの標本点に対して、前記少なくとも１つの標本点から前記曲線への前記決定された距離（複数可）に関連付けられる、
装置。
【請求項１７】
データ処理システムで実行されたとき、請求項１乃至７の何れか１項に記載の方法を実施するコンピュータ・ソフトウェア・コードを格納した、コンピュータ可読記憶媒体。
【請求項１８】
添付図面の何れか１つを参照して本明細書で十分に説明された、レンダリング出力を生成する方法。
【請求項１９】
添付図面の何れか１つを参照して本明細書で十分に説明された、グラフィックス処理システム。
【請求項２０】
添付図面の何れか１つを参照して本明細書で十分に説明された、グラフィックス・テクスチャを生成する方法。
【請求項２１】
添付図面の何れか１つを参照して本明細書で十分に説明された、グラフィックス・テクスチャを生成する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はグラフィックス処理システムに関し、特に、グラフィックス処理システムにおける平滑曲線のような平滑形状を用いて画像を描画することに関する。
【背景技術】
【０００２】
グラフィックス処理システムにおいて（そのエッジまたは境界として平滑曲線を有する）平滑曲線により定義される特定の形状において、効果的かつ正確に表示するために、平滑形状を描画できるのがますます望まれている。一般に、連続であるエッジまたは境界曲線を有し当該曲線の第１の導関数が区分連続である形状は、グラフィックス処理の観点からは平滑形状（平滑曲線により定義される形状）であると考えることができ（、本発明と本願の目的のため、平滑形状と考えられ、対応して平滑曲線と考えられ）る。グラフィックス処理におけるかかる平滑曲線の例はベジエ曲線、スプライン曲線および弧である。
【０００３】
近年、コンピュータ・グラフィックスにおいてベクトル・グラフィックスを利用するのがますます一般的となっている。知られるように、当業界では、ラスタ・グラフィックスに対するベクトル・グラフィックスの１つの主要な利点は、解像度独立な画像、即ち、本質的に劣化なしに無限に拡大できる画像を提供できることである。例えば、ＴｒｕｅＴｙｐｅ（登録商標）のようなコンピュータ・フォントにおける独立な文字（グリフ）が一般にベクトル画像として格納される。
【０００４】
ベクトル・グラフィックスは、独立に定義された幾何学的オブジェクトの利用に基づき、一般に、経路を形成するためにアンカ点で一緒に接続された１つまたは複数の線セグメント、例えば、直線または（二次（例えば、ベジエ）曲線、楕円形弧、三次（例えば、ベジエ）曲線のような）曲線により記述される。
【０００５】
ベクトル・グラフィックス・オブジェクト／経路は、一般に「世界空間」と呼ばれる空間において定義され操作される。しかし、当該ベクトル・グラフィックスのオブジェクト／経路をビデオ・ディスプレイまたはプリンタに出力するために、世界空間内で定義されたオブジェクト／経路を、スクリーンに表示するかまたはプリンタに出力するために適切な形に変換する必要がある。当該変換は一般に、世界空間内で定義されたオブジェクト／経路を、一般に「サーフェス空間」と呼ばれる、当該オブジェクト／経路が参照される出力ディスプレイの視点（ジオメトリ）に対応する別の空間に投影することを含む。世界空間とサーフェス空間の間の変換は一般に「世界サーフェス変換」と呼ばれる。
【０００６】
当該ベクトル・グラフィックスのオブジェクト／経路がサーフェス空間表現に変換されると、それらが次いで描画される。これが、当該オブジェクトおよび／または経路の事前に計算された表現を使用してもよい。
【０００７】
例えばサーフェス空間において、オブジェクトまたは経路を描画するために使用できる事前に計算された表現にベクトル・グラフィックス・オブジェクト／経路を変換するための１つの方法は、テクスチャに格納された符号付き距離場を使用することである。次いで当該距離場を、当該オブジェクトを描画するときに標本化することができる。符号付き距離場は、点、例えばテクセルの配列を含み、それに対して、オブジェクトの経路またはエッジへの最も近い距離が点ごとに格納され、距離の符号は、当該点が描画すべきオブジェクトの内部にあるか外部にあるかを示す。したがって、符号付き距離場を標本化することで、標本点が描画すべきオブジェクトの内部にあるか外部にあるかを判定する。
【０００８】
符号付き距離場は、かかるオブジェクト、例えば、フォントのグリフの描画を支援し、アンチエイリアシングのような技術を使用できるようにする。しかし、例えば、スキャンライン・ラスタライゼーションを用いたベクトル・グラフィックスのオブジェクト／経路からの符号付き距離場の計算は複雑である。また、オブジェクトまたは経路を拡大する必要がある場合には、符号付き距離場が制限された解像度で格納されているにすぎない可能性があるので、当該符号付き距離場を新たな解像度で再計算する必要もありうる。さらに、より複雑なオブジェクト、例えば、複数の曲線セグメントを含みうるフォントのグリフを描画するとき、符号付き距離の利用は、符号付き距離場の計算に使用される方法におけるアーチファクトに起因して、例えば、鋭角な隅の平滑化のように、描画されたオブジェクトの細部の損失をもたらすことが分かっている。したがって、これをリアルタイムに計算するのは計算的に高価であるか、または、事前に計算した符号付き距離場をオフラインで格納するには大量の空間が必要である。これは、かかるオブジェクト／経路の描画に遅延を導入するおそれがあり、例えばダイナミックウェブページに対して、リアルタイムに実施するのが望ましい可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって出願人は、平滑曲線により定義された平滑曲線および形状を描画するための改善された技術およびシステムに対して余地が残っていると思料する。
【課題を解決するための手段】
【００１０】
第１の態様から見たとき、本発明は、グラフィックス処理システム内の入力曲線を用いてレンダリング出力を生成する方法を提供する。当該方法は、
世界空間で定義された入力曲線に対して、
入力曲線に対応する標準空間で定義された標準曲線の一部および入力曲線を標準曲線の一部にマップするのに必要な変換を決定するステップと、
入力曲線を囲む世界空間内の複数の標本点の各々に対して、
世界空間と標準空間の間の当該決定された変換を用いて当該標本点を世界空間から標準空間に変換し、
標準空間において、当該変換された標本点に最も近い標準曲線の当該決定された部分上の点を決定し、
それにより、標準曲線を囲む標準空間内の当該変換された標本点の各々に対して、標準空間内の標準曲線上の対応する最も近い点を決定するステップと、
レンダリング出力を生成するとき、標準空間内の当該変換された標本点に対する標準曲線上の当該決定された最も近い点を使用するステップと
を含む。
【００１１】
第２の態様から見たとき、本発明は入力曲線を用いてレンダリング出力を生成するためのグラフィックス処理システムを提供する。グラフィックス処理システムは、
世界空間で定義された入力曲線に対して、
入力曲線に対応する標準空間で定義された標準曲線の一部および入力曲線を標準曲線の一部にマップするのに必要な変換を決定し、
入力曲線を囲む世界空間内の複数の標本点の各々に対して、
世界空間と標準空間の間の当該決定された変換を用いて当該標本点を世界空間から標準空間に変換し、
標準空間において、当該変換された標本点に最も近い標準曲線の当該決定された部分上の点を決定し、
それにより、標準曲線を囲む標準空間内の当該変換された標本点の各々に対して、標準空間内の標準曲線上の対応する最も近い点を決定する
ように構成された処理回路と、
レンダリング出力を生成するとき、標準空間内の当該変換された標本点に対する標準曲線上の当該決定された最も近い点を使用するように構成された処理回路と、
を備える。
【００１２】
本発明では、レンダリング出力は、まず、「世界空間」（平坦でありしたがって二次元のみを有してもよく、または３次元空間であってもよい）内で定義された入力曲線を「標準空間」内で定義されている対応する予め定義された「標準」曲線にマッピングすることによって、入力曲線を用いて生成される。次いで、標準空間内の位置が、入力曲線を囲む世界空間内の対応する位置から変換され、標本化位置の各々に最も近い標準曲線上の点を決定するために標本化（テスト）される。これらの最も近い点はレンダリング出力を生成するために使用される。当該情報を使用して、入力曲線が少なくともそれらのアウトラインの一部を形成する形状、例えば、フォントに対するグリフを描画するか、または、入力曲線が少なくともそれらのアウトラインの一部を形成するオブジェクトに基づいて照明または影を描画することができる。
【００１３】
しかし、出願人は、本明細書では「標準曲線」と称する、予め定義された、単一曲線または基本曲線の少なくとも一部に対して例えば回転、変換および均一な拡大のみを用いて、特定の曲線ファミリ内の全ての曲線をを変換できることを認識している。
【００１４】
これによりしたがって、単一の曲線、即ち、標準曲線に関する情報を、レンダリング出力を生成する際に使用するためのグラフィックス処理システムにより使用される１つまたは複数の入力曲線に関する情報を決定するために使用することができる。換言すれば、例えば、グラフィックス処理システムにより使用される描画すべき各独立な入力曲線と関連してデータを導出または格納しなければならないのではなく、標準曲線に関するデータを導出または格納するだけでよい。当該データを次いで使用して、「標準曲線」が表す入力曲線のファミリ（集合）に属する独立な入力曲線の各々を用いてレンダリング出力を生成することができる。
【００１５】
したがって、本発明は、１つまたは複数の入力曲線を用いてレンダリング出力を生成するためのより効率的な機構を提供できるだけでなく、それを行うための特に都合の良い機構を提供する。例えば、標準空間内の標準曲線が定義されると、単純に単一の座標、例えば、ｘ座標により、当該曲線上の点を参照することができ（したがってこれらを計算で使用することができ）るかもしれない。したがって、標準曲線を用いて標本点に最も近い当該曲線上の点を決定し、次いで当該点を用いて当該曲線上の最も近い点への距離（符号付き距離場における情報の一部）を決定でき、例えば、ベクトル・グラフィックスを用いて定義された入力曲線の数学的表現を保持することができる。これは、入力曲線を用いたレンダリング出力の生成の速度と精度を増大させる情報を決定するより単純かつ正確な方法である。これは、スキャンライン・ラスタライゼーションを用いて評価される符号付き距離場を用いた技術と比較され、当該技術は符号付き距離場を計算するときに情報の損失に繋がり、したがって、レンダリング出力における細部の損失に繋がる。
【００１６】
かかる入力曲線を用いてレンダリング出力を生成するためのより単純なプロセスを提供することは、当該プロセスを実行する装置の処理と電力負荷の削減を支援し、バッテリで動作し多機能処理を実装できないより単純な装置、例えば、モバイルおよびウェラブル装置で使用することを可能としうる。あるいはプロセスの増大した効率性により、以前の技術と比較して装置に関する処理および電力負荷の関連する増大なしに、より洗練されたレンダリング機能を実施することができ、または、必要な情報（例えば、変換された標本点の各々に最も近い標準曲線上の点）を必要に応じてリアルタイムで（再）計算することができる。
【００１７】
かかる入力曲線を用いるとき、特に、フォントを描画するときのレンダリング出力の生成について、より単純かつより正確なプロセス（例えば、変換された標本点最も近い標準曲線上の点の分析的計算）を用いることにより、特にフォントを再計算する必要がありうるようにテキストが拡大されるとき、当該フォントをディスプレイにより魅力的に提示することができる。
【００１８】
本発明のプロセスにより使用され、例えば本発明のプロセスに入力される世界空間内で定義された入力曲線が、例えば、入力曲線を用いてレンダリング出力を生成することを要求するアプリケーションにより最初に定義された入力曲線であってもよい。しかし、入力曲線が、世界空間内で定義された別の曲線から導出される曲線であることもまた可能である。例えば、入力曲線を、別の曲線または初期曲線を例えばそれが本発明によりその中で受信される別の空間から世界空間に変換することによって、導出されているかもしれないことも考慮されている。
【００１９】
入力曲線を、任意の適切かつ所望の方法でグラフィックス処理システムに入力してもよい。例えば、入力曲線を、グラフィックス処理システムに（予め）格納して、その格納された位置から読み出してもよく、または、入力曲線をグラフィックス処理システム自体により決定してもよい。別の実施形態では、入力曲線を、例えば入力曲線を用いてレンダリング出力を生成することを要求するアプリケーションにより積極的に入力してもよい。好適な実施形態では、当該方法は、入力曲線を受信するステップを含む（および、処理回路がそのように構成される）。
【００２０】
例えば入力曲線を用いて描画される形状を含むレンダリング出力を、例えば、その長さの全体（またはレンダリング出力を生成するために使用されるその長さの少なくとも一部）に対して単一の定義（例えば、数式）を有する単一の曲線のみを用いて生成してもよい。入力曲線が上述の性質を有する「標準曲線」を導出できる形式を有するのが好ましい。したがって、グラフィックス処理システムにより使用される入力曲線が、適切な関連する標準曲線を有しうる曲線のファミリからの任意の曲線であってもよい。
【００２１】
この形式の関連する標準曲線を有しうる曲線の１つのファミリは二次曲線である。この場合、標準曲線は、基本二次曲線、即ち、ｙ＝ｘ２の形の曲線であることができる。したがって、特に好適な実施形態では、グラフィックス処理システムにより受信される世界空間内の入力曲線は二次曲線である。
【００２２】
レンダリング出力を、複数の入力曲線を用いて、例えば、それぞれがそれらの長さの上で異なる定義（例えば、数式）を有する複数の曲線セグメントを用いて、生成してもよいことが等しく考慮されている。例えば、フォントに対するグリフは一般に、一体となって当該グリフのアウトラインを形成する（直線セグメントを含んでもよい）複数の曲線セグメントにより定義される。
【００２３】
あるいはまたはその代わりとして、入力曲線が標準空間内の対応する曲線を有さなくてもよく、したがって初期曲線をそれぞれが（関連する標準曲線を有する曲線のファミリのメンバである）対応する標準曲線を有するセグメントの複数の曲線セクションに細分割してもよく、例えば、レンダリング出力で使用される入力曲線を、世界空間内で定義された初期曲線を、（例えば、初期曲線の長さに沿って異なるセクションに対して別個の入力曲線として定義されている）２つ以上の別個の入力曲線に細分割することによって導出してもよい。例えば、三次曲線または楕円形曲線を複数の二次曲線に細分割してもよい。これにより、直接定義（および／または格納）されるかまたは利用可能である直接対応する標準曲線が存在しない可能性がある曲線を描画するために本発明を使用することができる。
【００２４】
これらの実施形態では、当該方法が世界空間内で定義された初期曲線を複数の入力曲線に細分割するステップを含んでもよく（および、処理回路がそのように構成されてもよく）、入力曲線の１つまたは複数が次いでそれぞれ処理されてレンダリング出力が本発明の方式で生成される。最初に定義された幾つかの曲線、例えば、三次ベジエ曲線に対して、初期曲線を複数の入力曲線に細分割するとき、初期曲線に最も適合する複数の入力曲線、例えば、二次ベジエ曲線を発見するために、当該計算の一部を再利用してもよい（および、したがってこれを行うように処理回路を構成してもよい）。例えば、二次ベジエは、その開始点および終点、および（第３の制御点により定義されうる）勾配により定義される。これらのパラメータを次いで、例えば標準形の隣接ベジエに対する対応するパラメータと比較して、それらをマージできるかどうかを判定することができる。
【００２５】
好適な１組の実施形態では、複数の入力曲線を用いてレンダリング出力を生成するとき、本発明の方法が入力曲線（例えば、セグメント）の各々に対して反復され、例えば、各入力曲線（セグメント）が標準空間に変換される。標準空間において、入力曲線（セグメント）を囲む世界空間内の複数の標本点ごとに、当該変換された標本点に最も近い標準曲線の当該決定された部分上の点が決定される。これは次いで、変換された標本点ごとに、当該複数の標準曲線の各々を囲む変換された標本点の配列に対して、標準曲線（セグメント）上の当該決定された最も近い点を返し、次いで、レンダリング出力を生成するときにこれらの決定された最も近い点を使用することができる。
【００２６】
出願人は、レンダリング出力を生成するときの使用が望まれうる、実際には殆どだが全てではない入力曲線が少数の曲線ファミリのうち１つに入り、したがってフォントのような複雑な形状を、比較的少数の入力曲線を用いて描画、例えば、定義することが望まれうる曲線の全てではないが殆どを表現できることを認識している。入力曲線が、任意の適切な１つまたは複数の曲線であってもよい。入力曲線が平滑曲線であることが好ましい。当該平滑曲線または各平滑曲線は、連続であり（曲線の経路の）曲線の第１の導関数が区分連続である曲線であることが好ましい。入力曲線は直線、（例えば、二次または三次）ベジエ曲線、スプライン曲線および／または（例えば、楕円）弧であることが好ましい。
【００２７】
しかし、以下でさらに説明するように、入力曲線が、より複雑な曲線、例えば、楕円および／または双曲線を含んでもよく、当該曲線が例えば複数の二次曲線に細分割される必要がなくてもよい。しかし、このように定義された入力曲線に対して、世界空間から標準空間への（二次元での）一意な変換はなく、したがって、曲線の定義が、曲線の離心率のような、例えば、標準空間内で３次元として表される情報をさらに含む必要があるかもしれない。これを入力曲線の定義の一部として格納してもよく、または、入力曲線が楕円または双曲線を含むとき、当該方法が入力曲線の離心率を決定するステップを含んでもよい（および、処理回路がそのように構成されてもよい）。
【００２８】
二次曲線とともに入力曲線が楕円および双曲線を含むとき、例えば、これは、レンダリング出力を生成するとき使用される複雑な形状を定義するための有用なツールボックスをユーザに提供し、これらを、例えば、相対的にハードウェア・フレンドリである回転、拡大および変換のみによって、１つまたは複数の入力曲線から対応する標準曲線に変換することができる。
【００２９】
本発明のプロセスにより使用され、例えば、本発明のプロセスへの入力として受信される世界空間内で定義された入力曲線を、任意の所望の適切な方式で定義してもよい。例えば、グラフィックス処理システムが、曲線の位置および曲線に関連する任意のパラメータのような、入力曲線を定義する情報を受信できるのが好ましい。入力曲線は、例えば形状の一部したがって好適には入力曲線の定義として固定長を有し、したがってグラフィックス処理システムにより使用、例えば受信される情報が入力曲線の終点を含むのが好ましい。入力曲線を、回転、変換および均一な拡大のみを用いて対応する標準曲線に変換できるので、以下でさらに説明するように、これは、その開始点および終点のような入力曲線に対応する標準曲線の一部を、使用中に容易に決定することができる。
【００３０】
入力曲線は、一般に開始点、終点および１つまたは複数の中間点を含む世界空間内の複数の制御点の位置により、開始制御点と終了制御点の間で描画される曲線のタイプの指示とともに定義されるのが好ましい。例えば、好適には、上述のように入力曲線は、直線、（単一の中間制御点を必要とする）二次ベジエ曲線、（２つの中間制御点を必要とする）立方ベジエ曲線、スプライン曲線および（例えば、楕円形または双曲線）弧のうち１つを含む。入力曲線の定義がまた、例えば、当該制御点の１つまたは複数での当該曲線の勾配を含んでもよい。例えば二次ベジエ曲線を、３つの制御点により、または、２つの（端）制御点およびこれらの２つの制御点での勾配により定義してもよい。
【００３１】
したがって入力曲線の定義が世界空間内の複数の制御点と曲線のタイプを示す情報とを含むのが好ましい。また、入力曲線がグラフィックス処理システムにより受信されたとき、世界空間内で定義された入力曲線を受信するステップが、世界空間内の複数の制御点の位置と曲線のタイプを示す情報とを受信するステップを含む（および、処理回路はそのように構成される）のが好ましい。
【００３２】
レンダリング出力を生成するために使用される入力曲線に対して、例えば、入力曲線がグラフィックス処理システムにより受信されると、入力曲線を表す標準空間内の標準曲線の対応する部分を決定することが必要である。当該決定を、任意の適切な所望の方式で実行してもよい。
【００３３】
好適な実施形態では、これは、世界空間内で定義された入力曲線を取って標準空間内の標準曲線の対応する部分に配置するのに必要な変換を決定することにより行われる。上述のように当該変換（世界標準変換）は、回転、変換および／または均一な拡大のみを必要とすべきである。したがって、世界空間内の入力曲線を標準曲線の適切な部分上に変換する変換を決定するステップが、もしあれば、当該変換の回転成分を決定するステップを含むのが好ましい（および、処理回路がそうするように構成されるのが好ましい）。
【００３４】
当該変換の回転成分を、任意の適切な所望の方式で決定してもよい。好適な実施形態では、しかし、再度、世界空間内の入力曲線（およびしたがって標準空間内の標準曲線）が二次曲線であるとき、当該変換の回転成分は、入力曲線の対称軸を標準空間内の標準曲線の対称軸と平行にするのに必要な回転を決定することによって決定される。当該回転はしたがって、入力曲線の対称軸を、標準曲線の対称軸（例えば、標準空間のｙ軸）の方向と整列させる。
【００３５】
世界空間内の入力曲線を標準空間内の標準曲線の適切な部分上に変換する変換を決定するステップが同様に、もしあれば、当該変換の変換成分を決定するステップを含むのが好ましい（および、処理回路がそのように構成されるのが好ましい）。
【００３６】
当該変換の変換成分を任意の適切な所望の方式で決定してもよい。しかし、好適な実施形態では、入力曲線（したがって標準曲線）が二次曲線であるとき、当該変換の変換成分は、世界空間内の入力曲線の入力曲線の天底を、標準空間内の標準曲線の天底、例えば標準空間の原点に移動するのに必要な変換を決定することによって決定される。したがって、必要ならば当該変換の変換成分を決定するステップが、必要ならば当該変換の回転成分のステップに続くのが好ましい。
【００３７】
したがって、好適な実施形態では、当該変換の変換成分を決定するステップが、入力曲線の天底を標準空間内の標準曲線の天底にマップするのに必要な変換を決定するステップを含む（および、処理回路がそうするように構成されるのが好ましい）。
【００３８】
標準曲線の適切な部分上の世界空間内の入力曲線を変換する変換を決定するステップが同様に、もしあれば当該変換の均一な拡大成分を決定するステップを含むのが好ましい（および、処理回路がそうするように構成されるのが好ましい）。
【００３９】
当該変換の均一な拡大成分を、任意の適切な所望の方式で決定することもできる。しかし、好適な実施形態では、再度、世界空間内の入力曲線（したがって標準空間内の標準曲線）が二次曲線であるとき、当該変換の均一な拡大成分は、例えば、回転および／または変換された入力曲線を標準曲線に拡大するのに必要な拡大因子を決定することによって、例えば、入力曲線の二次形式を試験することによって、決定される。
【００４０】
当該変換の回転、変換および均一な拡大成分を決定するステップを必要に応じて任意の順序で実施することができる。しかし、本発明の好適な実施形態では、回転成分が先ず決定され、次に変換成分が決定され、最終的に均一な拡大成分が決定される。
【００４１】
入力曲線が固定長を有するとき、例えば、開始点および終点により定義されるとき、世界空間内の入力曲線を標準空間内の標準曲線にマップするのに必要な変換が決定されると、入力曲線に対応する標準曲線の一部が、入力曲線の中心曲線の開始点と終点に対応する標準曲線上の２つの位置を決定するための当該決定された変換を用いて決定されるのが好ましい。これは次いで、標準空間内の入力曲線の位置を与える。
【００４２】
世界空間内の入力曲線に対応する標準空間内の標準曲線が決定され、したがってまた入力曲線に対して世界空間から標準空間への変換が決定されると、入力曲線を囲む世界空間内の複数の標本点の各々を、（独立にまたは一緒に）同一の変換を用いて標準空間内の対応する点に変換することができる。
【００４３】
入力曲線を囲む複数の標本点を、例えば、レンダリング出力が描画される（または生成されるレンダリング出力の最も予想される拡大レベルをカバーする）のが望ましい詳細レベルに対して十分な解像度のレベルで入力曲線上の当該決定された最も近い点を提供できるように、任意の適切かつ所望の方法で選択してもよい。あるいは、入力曲線上の最も近い点を、低解像度で、例えば、少数の標本点に対して決定し、次いで、後に必要ならば、例えば、レンダリング出力を拡大されたレベルで生成するのが望ましい場合に高解像度で（即ち、より詳細に）決定してもよい。１実施形態では、入力曲線を囲む境界ボックスが描かれ、その中で入力曲線を囲む複数の標本点が定義される。
【００４４】
１実施形態では、標準曲線上の最も近い点を、レンダリング出力を生成するときに使用するために最終的に入力曲線に関連する情報が決定される、入力曲線を囲む全ての標本点に対して決定されなくてもよい。例えば、複数のさらなる標本点の各々に対して決定される情報を、これらのさらなる標本点の各々を標準空間に変換し標準曲線上の最も近い点を決定する必要なしに、例えば当該複数のさらなる標本点からの標本点の近くに存在する（最初に定義された）標本点のうち１つまたは複数から推論してもよい。
【００４５】
当該実施形態では、曲線上の標本点に最も近い点、当該標本点から最も近い当該曲線上の点への距離および当該標本点をそのまま扱うべき曲線の側のうち１つまたは複数を決定することが可能でありうる。当該情報を、標準空間内で決定してもよく（したがって、当該標本点を標準空間に変換することおよび／または標準空間内ので決定される情報を世界空間に変換し戻すことを要求してもよい）、または、世界空間内で決定してもよい。
【００４６】
さらに、当該実施形態では、１つまたは複数の近傍の標本点を用いて特定の変数の実際の値を決定する必要はないかもしれないが、変数の値が閾値より高いか低いかを判定する必要はありうる。次いでこれを使用して、当該変数の値を独立にまたはより正確に、例えば、入力曲線の近くに存在する標本点に対して決定する必要があるかどうかを判定してもよい。例えば、さらなる標本点に対して、最も近い点および／または距離が既に決定されている１つまたは複数の囲む標本点を用いて、当該さらなる標本点が近傍の標本点に近いかまたは近傍の標本点から離れているかどうかを判定することが可能でありうる。当該さらなる標本点が遠く離れている場合、当該近傍の標本点に対する曲線への距離（または当該点が遠く離れていることを示す閾値またはデフォルト値）を単純に格納するので十分かもしれない。当該さらなる標本点がより近い場合、標準空間内の標本点に対する曲線上の最も近い点を標本点の初期集合に対するものとして決定することが必要であるかもしれない。
【００４７】
当該実施形態では、好適には、これらの比較をさらなる標本点に対して行えるように、標本点の初期集合に対して決定された情報、例えば、標本点に最も近い曲線上の点、当該標本点から当該曲線上の最も近い点への距離および当該標本点をそのまま扱うべきである当該曲線の側のうち１つまたは複数が、例えば、キャッシュに格納される。
【００４８】
複数の入力曲線があるとき、各入力曲線を囲む世界空間内の複数の標本点は入力曲線ごとに同一でありうる。例えば、当該複数の標本点は全ての入力曲線を囲むことができる（したがって、後述するように、描画時に全ての入力曲線に対してテストする可能性を与えうる）が、好適には、各入力曲線を囲む複数の標本点は、例えば、入力曲線を丁度囲むように入力曲線ごとに別々に選択され、したがってそれらは好適には、世界空間において標本点のサブセットを形成する。例えば、全ての入力曲線を囲むように（単一の）境界ボックスを描くことができるが、好適には、別個の境界ボックスが各入力曲線を囲むように描かれ、その中で複数の標本点が定義される。
【００４９】
標準空間に変換される世界空間内の標本点に関して、変換された標本点に最も近い標準空間内の標準曲線上の点を、任意の適切かつ所望の方法で決定してもよい。好適には、変換された標本点の各々に最も近い標準曲線上の点は、標準空間内で分析的に決定される。当該最も近い点を、標準曲線の接線が当該変換された標本点から標準曲線上の点へのベクトルに直交する標準曲線上の点を決定することによって決定してもよい（幾つかの標準曲線に対して、これが当該条件を満たす曲線上の複数の点を返してもよく、したがって、変換された標本点から曲線上の点への距離を比較して当該最も近い点を決定し、例えば、標準曲線の有限部分の外に入る点を破棄し、かつ／または、当該変換された標本点からの最短距離を有する標準曲線上の点を選択する必要があってもよい）。入力曲線の定義に応じて、かかる分析的計算が、例えば、入力曲線がベジエ曲線として定義されるとき世界空間内で可能であるかもしれないが、例えば、対応する標準曲線が放物線であるときは標準空間内で可能であるかもしれない。
【００５０】
入力曲線が固定長を有する、例えば、開始点および終点により定義されるとき、標準曲線の一部の開始点または終点が、変換された標本点から標準曲線上の点へのベクトルと標準曲線の接線が直交する標準曲線（例えば、当該部分の外部）上の（最も近い）点より近くてもよく、例えば、当該曲線の開始点または終点が標本点に最も近い当該曲線上の点であってもよい。したがって好適には、変換された標本点に最も近い標準曲線上の点を決定するステップはまた、当該変換された標本点から標準曲線の一部の開始点と終点への距離を決定し、当該開始点または当該終点のうち１つが当該変換された標本点に最も近い標準曲線上の点であるかどうかを判定するステップを含む（したがって好適には、処理回路はそのように構成される）。
【００５１】
好適には、特定の変換された標本点に最も近い標準曲線上の点を決定するステップは、当該変換された標本点と当該変換された標本点に最も近い標準空間内の標準曲線上の点の間の距離を決定するステップを含み（およびしたがって好適には、処理回路はそのように構成され）、例えば、標準空間内の当該変換された標本点に最も近い標準曲線上の点を決定するステップが、所与の変換された標本点と標準曲線の間の距離を最小化するステップを含んでもよい。これにより、当該曲線を囲む当該標本点の各々に対して、当該標本点から当該標本点に対する当該曲線上の対応する最も近い点への距離を決定し、レンダリング出力を生成するとき、例えば、符号付き距離場の一部として、レンダリング出力を生成するとき世界空間において値を再度計算する必要なしに、当該曲線上の最も近い点への距離を使用することが可能となる。
【００５２】
変換された標本点と標準曲線上の最も近い点の間の距離を、ルックアップ・テーブルを用いて決定してもよい。あるいは当該変換された標本点と標準曲線上の最も近い点の間の距離を、例えば、ハードウェアに焼かれた分析的計算として分析的に計算してもよい。ルックアップ・テーブルを使用する場合、これを、（例えば、入力曲線の大部分は放物線の天底に近い標準曲線の部分に対応するので、ルックアップ・テーブルに格納されたデータの量を最小化するために）標準曲線の特定の（例えば、有限の）範囲にわたって提供してもよい。分析的計算は当該範囲外で実施される。さらに、必要に応じて使用するために、複数のルックアップ・テーブルを使用して、例えば、標準曲線の異なる部分をカバーしてもよく、複数の標本点からの距離は予め決定され、格納される。これにより、これらの距離を再計算する必要を削減し、したがってリアルタイム処理を削減することが支援される。
【００５３】
さらなる実施形態では、例えば、テクスチャ内に格納され、標本点から曲線上の最も近い点への距離を決定するために提供されるルックアップ・テーブルに加えて、入力曲線に対応する標準曲線（例えば、世界空間から標準空間への決定された変換も含む）を予め決定し格納してもよい。さらなる情報、例えば、（例えば、標本点をその中で定義できる入力曲線（複数可）周囲の境界ボックスを定義することによって）標本点から曲線上の最も近い点への距離および／または入力曲線または曲線の最大範囲を決定する際に使用するための式をまた、適切に必要に応じて予め決定し格納してもよい。
【００５４】
例えば、入力曲線（複数可）がレンダリングすべきグリフを定義するとき、フォントのフォーマットが当該情報の一部または全部を含んでもよい。
【００５５】
入力曲線が直線であるとき、好適には、必要に応じて例えば回転、変換および拡大のうち１つまたは複数を用いて、世界空間内の入力曲線が標準空間において軸、例えば、ｘ軸上で変換される。標準曲線上の最も近い点は次いで単に、例えば、直線が変換されている軸に沿った当該変換された標本点のｘ座標である。入力曲線が固定長を有するとき、例えば、開始点および終点により定義されるとき、例えば、当該変換された標本点のｘ座標が、例えば、標準曲線の開始点と終点のｘ座標の間に存在する場合、当該変換された標本点に最も近い標準曲線上の点は当該変換された標本点のｘ座標である。例えば、当該変換された標本点のｘ座標が標準曲線の開始点と終点の外部に存在するとき、当該変換された標本点に最も近い標準曲線上の点は、当該変換された標本点のうち開始点または終点に近いものである。固定長を有する入力曲線に対して、標準空間内の直線セグメントは、標準空間においてｘ＝０とｘ＝１の間で走るように拡大できるが、これは必要ではない。
【００５６】
標準曲線上の変換された標本点に最も近い点が標準空間内で決定されると、当該最も近い点を、例えば世界空間と入力曲線に対して決定された標準空間との間の変換の逆を用いて、標準空間から世界空間に変換してもよい。したがって当該方法が、複数の標本点ごとに、世界空間と標準空間の間の当該変換の逆を用いて、当該決定された最も近い点を標準空間から世界空間に変換し、それにより、入力曲線を囲む世界空間内の標本点の各々に対して、世界空間内の入力曲線上の対応する最も近い点を決定するステップを含んでもよい（および処理回路がそのように構成されてもよい）。レンダリング出力を生成するステップが、次いで、レンダリング出力を生成するとき、世界空間内の標本点に対する入力曲線上の決定された最も近い点を使用してもよい。しかし、後述するようにこれは必要でないかもしれない。なぜならば、例えば標本点から曲線への距離を決定しかつ／または当該曲線のどちらの側に標本点が存在するかを判定するための当該決定された最も近い点の使用を標準空間で同様に実施してもよいからである。
【００５７】
複数の入力曲線があるとき、例えば、形状（例えば、グリフ）のアウトラインを形成するとともに、標本点ごとに対応する標準曲線上の最も近い点を、複数の入力曲線の各々に対して別々に、例えば、各入力曲線を囲む別の組の標本点に対して決定してもよく、当該決定は、入力曲線ごとに決定された標準空間内で実施され、複数の標準曲線および／または入力曲線の各々における最も近い点（標準曲線または入力曲線の開始点または終点であってもよい）が各入力曲線を囲む１組の標本点に対して決定され、標準空間内で決定された最も近い点を必要ならば世界空間に変換する（再び、必要に応じて、入力曲線ごとの１組の標本点が、入力曲線の１つまたは複数または全部を囲んでもよい）。
【００５８】
複数の曲線上のこれらの最も近い点を次いで（標本点が、当該複数の入力曲線の２つ以上例えば全部に対して標準空間内で当該最も近い点を決定させたとき）互いに対して比較して、例えば、当該標本点からの距離を当該複数の曲線上の最も近い点の各々とそれぞれ比較することによって、各標本点への当該複数の曲線上の最も近い点を決定することができる。例えば標本点から最も近い点への距離を用いた当該最も近い点の間のこの比較を、世界空間内または標準空間内で実施してもよい。標準空間内で実施するとき、例えば異なる拡大が異なる入力曲線を標準空間に変換するのに必要である場合、入力曲線の標準空間への変換を使用する必要があるかもしれない。世界空間で実施されるとき、当該決定された最も近い点および／または当該標本点からそこまでの距離を、必要に応じて、それぞれ入力曲線に対して決定された逆変換を用いて標準空間から世界空間に変換すべきである。
【００５９】
別の実施形態では、標本点の各々に対して、全体としての複数の曲線（またはそのサブセット）への最も近い点を、（例えば、全ての複数の入力曲線を囲む標本点の適切に選択された配列に対して）決定してもよい。これにより、複数の曲線のうち１つの上の単一の最も近い点（当該曲線のうち１つの開始点または終点であってもよい）を標本点の各々に対して決定することができる。当該最も近い点を、当該複数の入力曲線の１つまたは複数でループして各標本点に最も近い点を決定、即ち、当該複数の曲線の１つまたは複数のうちどちらに当該最も近い点が存在するかを判定することによって決定してもよい。
【００６０】
再度、当該実施形態における最も近い点の決定を世界空間内または標準空間内で実施してもよく、任意の変換および／または拡大が必要に応じて実施される。曲線の終点の近くに存在する標本点に対して、特に標準空間で動作するとき、２つ以上の曲線のうちどちらに当該最も近い点が存在するかを判定するために注意を要する。例えば、２つの入力曲線が、当該曲線のうちどれに標本点が最も近いかが即座に明らかでないように、形状の隅を形成してもよい。
【００６１】
上述の実施形態の両方において、標本点に対する複数の曲線上の（単一の）最も近い点が一旦決定されると、当該最も近い点が存在する標準曲線または入力曲線の識別が標本点ごとに決定（および、例えば格納）されるのが好ましい。
【００６２】
標本点の各々から全体として複数の曲線上の対応する（単一の）最も近い点への距離に対して、例えば、（標準空間内または世界空間内の何れかで、必要な場合は適切な変換を用いて）複数の入力曲線の各々に対して当該距離を比較して、（世界空間または標準空間内で）同様な決定を行ってもよい。
【００６３】
所与の標本点に最も近い複数の曲線上の１つまたは複数の点を、当該複数の入力曲線の全てを用いて決定してもよいが、好適には、当該最も近い点が、当該複数の入力曲線の一部のみに対して決定され、例えば、１つまたは複数の入力曲線の事前に選択されたグループが当該複数の入力曲線から決定される。１つまたは複数の入力曲線を、当該複数の入力曲線、例えば、事前に選択されたグループから、任意の適切かつ所望の方法で、例えば、複数の入力または対応する標準曲線のどちらに（例えば、変換された）標本点の各々が最も近いかおよび／または複数の入力曲線のどちらが問題の標本点が入るタイルに存在するかの粗い決定に基づいて、選択してもよい。当該決定に対して使用するために有限数の入力曲線のみを選択することで、必要な処理の削減が支援される。
【００６４】
（レンダリング出力がグリフ含むとき、当該グリフのアウトラインが１つまたは複数の入力曲線により定義され、入力曲線内部の領域は当該グリフを表示するために適切に陰影を施す必要があることは理解される。当該グリフ内の任意の特定の点を囲むか、または当該グリフ外部の任意の特定の点に近い複数の入力曲線がありうるが、標本点が当該グリフの内部に入るか外部に入るかの判定を、単純に、当該複数の入力曲線のうちどれに当該最も近い点が存在するかを判定することによって行ってもよい）。
【００６５】
変換された標本点と当該変換された標本点に最も近い標準曲線上の点の間の距離がまた標準空間で決定されるとき、好適には、当該距離は、当該標本点の各々に対して、標準曲線から入力曲線への逆変換を用いて、例えば、当該曲線上の最も近い点に沿って標準空間から世界空間に変換される。
【００６６】
標準空間または世界空間における（標準曲線または入力曲線上の）最も近い点をそれぞれ、および利用可能なときは標準空間または世界空間内の当該標本点から当該最も近い点への距離を、レンダリング出力を生成するために使用される処理回路に直接渡してもよい（当該変換された標本点から標準曲線上の最も近い点への距離がまだ標準空間内で決定されておらず、かつ／または世界空間に変換されていないとき、好適には、世界空間内の標本点から（入力曲線上の）最も近い点への距離が、標本点ごとに、例えば入力曲線上の最も近い点と当該標本点を用いて決定される。これを、必要に応じて、標準空間または世界空間において決定してもよい）。しかし、当該方法が、標本点ごとに当該曲線上の最も近い点を格納するステップを含んでもよい（および処理回路はそのように構成される）。最も近い点ごとに、当該値を必要に応じて標準空間または世界空間に格納してもよい。
【００６７】
標本点の初期集合に対する既に決定された情報、例えば、標本点から曲線上の最も近い点への距離に基づいてさらなる組の標本点に対して情報が決定されると、当該情報をまた、例えば、標本点の初期集合に対して決定された対応する情報に沿って格納するのが好ましい。
【００６８】
標本点から最も近い点への距離が（必要に応じて、標準空間または世界空間において）決定されるとき、好適には、当該方法は、標本点ごとに、当該標本点から曲線上の最も近い点への距離を、例えば、標本点ごとに入力曲線上の最も近い点に沿って格納するステップを含む（および処理回路はそのように構成される）。距離ごとの格納された値が、標準空間内にあってもよいが、世界空間内にあるのが好ましい。当該標本点から当該曲線上の最も近い点への変換された距離を格納することで、（例えば、標本点ごとに格納された当該曲線上の最も近い点を用いて）当該距離を再度決定する必要性が回避される。
【００６９】
当該距離の値を、任意の適切かつ所望の方法で（必要に応じて、標準空間または世界空間において）格納してもよい。当該距離値を、例えば、それが計算された生の形式で格納してもよい。しかし、１実施形態では、当該距離値が閾値より大きいとき、当該距離値は閾値またはデフォルト値に、切り詰められ、例えば設定される。当該決定された距離値を閾値の値まで格納することのみによって、記憶空間を最小化することができる。標本点が曲線に近く、当該距離の知識を有するのが重要であり、例えば、特殊なレンダリング効果を生成するために使用できるとき、実際の距離値が利用可能である。しかし、当該距離の範囲の外部で、例えば、入力曲線から遠く離れた標本点に対して、少なくとも閾値であるので、入力曲線上の最も近い点への距離の正確な値を知るのは必要でなくてもよい。
【００７０】
複数の入力曲線があるとき、（例えば、最も近い点が存在する曲線の識別に沿った）全体として当該複数の曲線に対する標本点から当該曲線への距離または当該複数の入力曲線の各々に対する標本点から当該曲線への距離、あるいはまたはその代わりとして、対応する最も近い点（複数可）を必要に応じて格納してもよい。
【００７１】
距離（複数可）（あるいはまたはその代わりとして最も近い点（複数可））を、レンダリング出力を生成するときに当該情報が利用可能となるように、を任意の適切かつ所望の形式で（必要に応じて標準空間および／または世界空間内に）任意の適切な所望の記憶部に格納してもよい。好適な実施形態では距離（複数可）（あるいはまたはその代わりとして最も近い点（複数可））は、標本点の各々に対して、１つまたは複数のグラフィックス・テクスチャの形式で格納される。これは、グラフィックス・テクスチャが特定の地理的位置の配列の点でデータを格納することを意図するだけでなく、テクスチャの形式のデータを格納することで、グラフィックス処理システムに一般的に取り込まれた既存のテクスチャ・マッピング・プロセスを、本発明の方式でレンダリング出力を生成するために使用できるので、特に有利かつ有益である。
【００７２】
また、この形式のグラフィックス・テクスチャの生成はそれ自体新規であり有利でありうると考えられる。したがって、本発明はまた、かかるテクスチャの構築にまで拡張される。
【００７３】
したがって第３の態様によれば、本発明は、入力曲線を用いてレンダリング出力を生成するとき、グラフィックス処理システムにおいて使用するためのグラフィックス・テクスチャを生成する方法を提供する。当該方法は、
世界空間で定義された入力曲線に対して、
入力曲線に対応する標準空間で定義された標準曲線の一部および入力曲線を標準曲線の一部にマップするのに必要な変換を決定するステップと、
入力曲線を囲む世界空間内の複数の標本点の各々に対して、
世界空間と標準空間の間の当該決定された変換を用いて当該標本点を世界空間から標準空間に変換し、
標準空間において、当該変換された標本点に最も近い標準曲線の当該決定された部分上の点を決定し、
それにより、標準曲線を囲む標準空間内の当該変換された標本点の各々に対して、標準空間内の標準曲線上の対応する最も近い点を決定するステップと、
当該標本点の各々に対して、当該標本点から当該曲線上の当該決定された最も近い点への距離を決定するステップと、
テクセルの配列を含むグラフィックス・テクスチャを生成するステップであって、各テクセルは当該標本点のうち少なくとも１つに対応し、当該少なくとも１つの標本点に対して、少なくとも１つの標本点から当該曲線への当該決定された距離（複数可）に関連付けられる、ステップと、
を含む。
【００７４】
第４の態様から見たとき、本発明は、入力曲線を用いてレンダリング出力を生成するとき、グラフィックス処理システムにおいて使用するためのグラフィックス・テクスチャを生成するための装置を提供する。当該装置は、
世界空間で定義された入力曲線に対して、
入力曲線に対応する標準空間で定義された標準曲線の一部および入力曲線を標準曲線の一部にマップするのに必要な変換を決定し、
入力曲線を囲む世界空間内の複数の標本点の各々に対して、
世界空間と標準空間の間の当該決定された変換を用いて当該標本点を世界空間から標準空間に変換し、
標準空間において、当該変換された標本点に最も近い標準曲線の当該決定された部分上の点を決定し、
それにより、標準曲線を囲む標準空間内の当該変換された標本点の各々に対して、標準空間内の標準曲線上の対応する最も近い点を決定し、
当該標本点の各々に対して、当該標本点から当該曲線上の当該決定された最も近い点への距離を決定し、
テクセルの配列を含むグラフィックス・テクスチャを生成する
ように構成された処理回路を備える。各テクセルは、当該標本点のうち少なくとも１つに対応し、当該少なくとも１つの標本点に対して、少なくとも１つの標本点から当該曲線への当該決定された距離（複数可）に関連付けられる。
【００７５】
当業者により理解されるように、本発明のこれらの態様および実施形態は、必要に応じて本明細書で説明した本発明の好適かつ任意の機能のうち任意の１つを含むことができ、含むことが好ましい。
【００７６】
例えば、各標本点から曲線上の対応する決定された最も近い点への距離を標準空間または世界空間内で決定してもよい。当該決定された距離（複数可）を標準空間または世界空間内に格納してもよく、したがってテクスチャを標準空間または世界空間内に格納してもよい（即ち、テクセルを標準空間または世界空間内に配置してもよい）。しかし好適には、テクスチャ（およびテクセル）、およびしたがってまた好適には、決定された距離は中間空間に格納される。当該中間空間が任意の適切な所望の空間であってもよい。好適には、当該中間空間は世界空間の拡大および／または変換されたバージョンである。これを例えば、当該標本点を囲む境界ボックスのテクセルの基準点、例えば、左下隅にある、原点に設定してもよい。
【００７７】
同様に、当該１つまたは複数のテクスチャ内の各テクセルは好適には、それを、そのテクセル位置に関する標準曲線上の解（複数可）に関する上述の情報を関連付ける。換言すれば各テクセルは、標準空間内の少なくとも１つの位置を表し、標準空間内のその位置に対する標準曲線上の最も近い点への距離に関する情報を格納する。例えば、好適には、当該情報が、当該最も近い点（複数可）のパラメトリック値および／または当該最も近い点（複数可）が存在する入力曲線（複数可）のアイデンティティを含んでもよい。
【００７８】
当該情報がテクスチャの形式で格納される場合、当該テクスチャ（複数可）は任意の適切な所望のサイズであることができ（即ち、必要に応じて任意数のテクセルを含む）、各テクセルがそれに関連付けられた任意の所望の数のデータ成分を有してもよい。しかし、各テクセルは好適には、それを標準空間のみにおける単一の離散位置に関連する情報に関連付ける。
【００７９】
当該テクスチャがまた任意の他の適切な所望の情報を格納してもよい。例えば当該テクスチャが、世界空間内の入力曲線（複数可）の定義（入力曲線（複数可）の任意の制御点を含む）、標準空間内の標準曲線（複数可）の定義（標準曲線（複数可）の任意の制御点を含む）、対応する標準曲線（複数可）への入力曲線（複数可）の変換、（例えば、決定された最も近い点、最も近い点への距離および／または入力曲線のどちらの側に標本点が存在するかの判定に関する）アンチエイリアシング情報、および当該曲線が楕円または双曲線であるとき入力曲線および／または標準曲線の離心率のうち１つまたは複数を格納してもよい。当該テクスチャがまた、例えば入力曲線をストローク曲線として描画すべきという入力曲線（複数可）に関する後処理情報、好適にはまたその幅を格納してもよい（本例では、当該曲線への距離を、ストローク曲線の幅の内部または外部に標本点が入るかどうかを判定するために使用する）。
【００８０】
複数の入力曲線があるとき、好適には、当該複数の異なる入力曲線に関する情報が、例えば、上で詳述したように、例えば、同一のテクスチャに一緒に格納される。これを、例えば、入力曲線を当該テクスチャ内で空間的に分離し、次いで問題の入力曲線に対する当該テクスチャ内の適切な領域を標本化することによって行ってもよい。さらに、入力曲線（複数可）がグリフに関連するとき、好適には、当該テクスチャは、フォントを、例えば、フォント・アトラスの形式で作り出す全てのグリフに関する情報を格納する。当該複数の入力曲線に関して、これを、例えばグリフをテクスチャ内で空間的に分離し、次いで問題のグリフに対するテクスチャ内の適切な領域を標本化することにより行ってもよい。
【００８１】
上述のように、本発明のこれらの態様および実施形態において、入力曲線を囲む標本化されたテクスチャ点（テクセル）が、例えば標準区間または世界空間内のテクスチャ点から当該曲線上の最も近い点への距離を示す標本化されたテクスチャ値、およびおそらく世界空間内のテクスチャ点に最も近い曲線上の点、およびテクスチャに格納できる任意の他の情報を与えるように、入力曲線を表すテクスチャが構成される。したがって、テクスチャを標本化するとき、標本化されたテクスチャ値を、曲線のどちらの側に標本化された点が配置されているかを判定するために使用してもよく、次いでこれを使用して、入力曲線を用いてレンダリング出力を生成することができる。
【００８２】
必要な情報をテクスチャに格納することの追加または代替として、例えば中間ステップとして、決定された情報の一部または全部、またはレンダリング出力を生成するために使用される情報を決定するプロセスの一部として決定された情報を、グラフィックス処理システム内の任意の適切な所望の位置、例えば、上述のキャッシュに格納してもよい。これは、当該情報がリアルタイムに決定されているときに都合が良いかもしれない。別の実施形態では、当該決定された情報を、局所的に、例えば、グラフィックス処理システム内のオンチップのメモリ、例えば、画素局所記憶に格納してもよい。
【００８３】
曲線上の最も近い点を用いて決定できる（例えば、テクスチャに格納できる）任意の他の適切な所望の情報、例えば、標本点から当該曲線上の最も近い点への距離に沿って最も近い点の配列が決定されると（例えば、テクスチャに格納されると）、入力曲線を用いたレンダリング出力を次いで、任意の適切かつ所望の方法で、標準空間内の変換された標本点に対する標準曲線上の決定された最も近い点を用いて生成することができる。これを、標準曲線上の当該決定された最も近い点を直接用いて、またはそこから導出された情報から、例えば、（必要に応じて、標準空間または世界空間において）世界空間内の入力曲線に変換し戻すときの当該最も近い点または標本点から曲線上の最も近い点への距離から行ってもよい。
【００８４】
上述のように、曲線への最も近い点を決定し格納するステップを、レンダリング出力を生成するときの後の利用のためにオフラインで実施し例えばテクスチャに格納してもよい。好適には、当該曲線上の最も近い点はリアルタイムに決定されるが、好適には、当該曲線上の最も近い点（および／または距離のようなそれに関連する情報）もまた、それらが将来の利用できるように、例えば、同一の入力曲線がレンダリング出力を後に生成するために使用される場合に、例えばテクスチャに格納される。
【００８５】
好適には、レンダリング出力は、（必要に応じて標準空間または世界空間内で）曲線上の決定された最も近い点から標本点への決定された距離を用いて生成される。したがって、好適な実施形態では、入力曲線を用いてレンダリング出力を生成するために、当該曲線上の決定された最も近い点から標本点への距離が当該曲線を囲む複数の標本点の各々に対して決定されているとき、当該方法は、
世界空間内の複数の標本点の各々に対して、
入力曲線上の当該決定された最も近い点から当該標本点への当該決定された距離を、当該標本点に対応する世界空間内の位置で標本化するステップと、
世界空間内の当該標本点に対する当該決定された距離を用いてレンダリング出力を生成するステップと
を含む（およびグラフィックス処理システムはそのように構成される処理回路を含む）。
【００８６】
レンダリング出力が、任意の適切かつ所望の方法を用いて、例えば上述の当該決定された距離の利用を通じて当該決定された最も近い点を生成してもよい。好適な実施形態では、入力曲線と標本点に関連するさらなる情報（複数可）を決定してもよく、これを、当該決定された最も近い点を用いてレンダリング出力を生成するときに決定してもよく、かつ／または、当該最も近い点を、それを例えばテクスチャに格納しレンダリング出力を生成するときに使用できるように決定してもよい。
【００８７】
好適な実施形態では、当該方法は、
曲線を囲む複数の標本点の各々に対して、
当該曲線上の当該決定された最も近い点を用いて、当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかを判定し、
それにより、当該曲線を囲む当該標本点の各々に対して、当該曲線のどちらの側で標本点をそのまま扱うべきであるかを判定し、
レンダリング出力を生成するときに当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかの判定を使用するステップと、
を含む（およびグラフィックス処理システムはそのように構成される処理回路を含む）。当該曲線のどちらの側で標本点をそのまま扱うべきであるかを判定するステップを、必要に応じて、標準空間または世界空間で実施してもよい。
【００８８】
したがって、それらが一旦決定される（例えば、テクスチャから標本化される）と、当該曲線上の当該決定された最も近い点の各々を使用して、当該曲線のどちらの側で当該標本点の各々をそのまま扱うべきであるかを判定するのが好ましい。当該決定を、任意の適切な所望の方式で実施してもよい。当該曲線のどちらの側に標本点が存在するかを知ることで、当該情報を用いてレンダリング出力を生成することができる。例えば、標本点が（例えば、入力曲線により少なくとも部分的に定義されるアウトラインを有する）オブジェクト内に存在する場合、当該オブジェクトの色に陰影を施してもよく、または、（例えば、入力曲線により少なくとも部分的に定義されるアウトラインを有するオブジェクトにより投射される）影の中に存在する場合、それに適切に陰影を施してもよい。
【００８９】
曲線上の決定された最も近い点を用いて標本点ごとに、当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかを判定するステップが、当該曲線に関する当該標本点のタンジェント・チェックを含んでもよい。当該標本点と当該曲線上の対応する最も近い点の間の距離が当該標本点に対して決定されているとき、入力曲線のどちらの側で当該標本点をそのまま扱うべきであるかを判定するステップがまた、当該標本点から当該曲線上の最も近い点への距離を使用してもよい。好適には、標本点から当該曲線上の対応する最も近い点への距離を決定するステップはまた、当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかを判定するステップを含む。再度、これを、標準空間または世界空間で実施してもよい。
【００９０】
複数の入力曲線があるとき、全体として複数の入力曲線に対して標本点ごとに当該曲線上の最も近い点が決定され（例えば、格納される）とき、この最も近い点を使用して、入力曲線のどちらの側で当該標本点をそのまま扱うべきであるかを判定してもよい。あるいは、最も近い点が標本点ごとに当該複数の曲線の各々（例えば、その少なくとも一部）に対して決定されているとき、これらの最も近い点を、当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかを判定するために一緒に使用してもよい。
【００９１】
好適には、複数の入力曲線があるとき、当該決定された最も近い点を用いて、入力曲線のどちらの側で当該標本点をそのまま扱うべきであるかを判定するステップは、当該複数の曲線（例えば、その少なくともその一部）に関連する標本点の平均タンジェント・チェックを実施するステップを含む（および好適には、処理回路はそのように構成される）。当該平均タンジェント・チェックを、当該決定された最も近い点と当該複数の曲線の全てを用いて、例えば、グリフに対して実施してもよいが、当該複数の曲線のサブセットのみを用いて当該平均タンジェント・チェックを実施することが好ましい。当該平均タンジェント・チェックを標準空間または世界空間で実施してもよい。
【００９２】
好適には、当該平均タンジェント・チェックに使用される当該複数の曲線のサブセットは、例えば、当該曲線上の最も近い点（当該標本点に最も近い点であってもよい）を決定するときに使用された同一のサブセットを用いて事前に選択される。
【００９３】
入力曲線が直線を含むとき、好適には、変換された最も近い点を用いて、当該曲線のどちらの側で標本点をそのまま扱うべきであるかを決定するステップは、当該標本点が標準空間内の軸の上または下にあるかどうかを判定するステップを含む（および好適には、処理回路はそのように構成される）。
【００９４】
曲線上の標本点と対応する最も近い点の間の距離、および／または当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかが当該標本点の各々に対して判定されると、これらの情報の一方または両方を例えばテクスチャに格納してもよい。当該格納された情報が、標準空間および／または世界空間内のものであってもよい。したがって、これらの情報の両方が決定されると、それらを、符号付き距離場の形式で使用（例えば、格納）してもよい（例えば、当該曲線の側で、当該標本化は格納された曲線への距離の符号を判定することに関する）。上述のように、好適には、当該距離を決定するステップはまた、当該曲線のどちらの側に標本点が存在するかを判定し、その結果、標本点ごとのこれらの２つの情報を、容易に使用しかつ／または一緒に格納してもよい。
【００９５】
好適には、レンダリング出力を生成するステップは、標準空間または世界空間内の標本点から曲線上の最も近い点への距離、および／または当該曲線のどちらの側で標本点をそのまま扱うべきであるかの判定を使用する（および処理回路はそのように構成される）。当該標本点から当該曲線上の最も近い点への距離が以前に決定されているとき、決定された値、例えば、テクスチャに格納された値を使用することができる。あるいは、当該標本点から当該曲線上の最も近い点への距離を、当該標本点および当該曲線上の最も近い点から決定してもよい。
【００９６】
したがって、特に好適な１組の実施形態では、標準空間または世界空間内の当該標本点から当該曲線上の最も近い点への距離の両方、および当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかの決定を使用して、レンダリング出力を、例えば、符号付き距離場の方式で生成する。
【００９７】
レンダリング出力を、（そこからそれらが標準空間に変換される）曲線上の最も近い点を決定するために世界空間内で、例えば、当該標本点が最初に定義された空間内で生成してもよく、したがって当該最も近い点への距離が例えばテクスチャに格納される空間内で生成してもよく、またはレンダリング出力を、例えば、ディスプレイが出力される空間に対応する異なる「サーフェス」空間内で生成してもよい。この後者のケースは、テキストを例えば、観察者には平坦に向いていないサーフェスに３Ｄで描画するときに都合の良いかもしれない。これは仮想現実または拡張現実で有用かもしれない。
【００９８】
この後者の実施形態では、曲線上の決定された最も近い点を、直接標本化してもよく、レンダリング出力を生成するために使用してもよい。しかし、好適には、入力曲線を用いてレンダリング出力を生成するために、当該曲線上の当該決定された最も近い点から標本点への距離が当該曲線を囲む複数の標本点の各々に対して決定されるとき、当該方法は好適には、
サーフェス空間内の複数の標本点の各々に対して、
入力曲線上の最も近い点から当該サーフェス空間内の当該標本点に対応する世界空間内の位置での当該標本点への当該決定された距離を標本化するステップと、
世界空間内の当該標本点に対する当該決定された距離を用いてレンダリング出力を生成するステップと
を含む（およびグラフィックス処理システムはそのように構成される処理回路を含む）。
【００９９】
当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかの判定がされ（例えば、格納され）たとき、好適には、当該情報はまた、サーフェス空間内の複数の標本点の各々に対して、当該サーフェス空間内の当該標本点に対応する世界空間内の位置で標本化され、次いでレンダリング出力、例えば必要ならば、世界空間と当該サーフェス空間の間での情報の適切な変換を用いて生成するために使用される。別の実施形態では、当該標本点から入力曲線上の最も近い点への距離および／または当該曲線のどちらの側で当該標本点をそのまま扱うべきであるかの判定を当該サーフェス空間内で決定してもよい。
【０１００】
サーフェス空間内でレンダリング出力を生成するとき、好適には、入力曲線を用いてレンダリング出力を生成する際の最初のステップは、サーフェス空間（レンダリング出力が生成、例えば表示される空間）内の複数の標本点の各々に対して、当該曲線上の最も近い点から当該標本点に対応する世界空間内の位置での当該標本点への当該決定された距離を標本化することである（および好適には、また入力曲線のどちらの側で当該標本点をそのまま扱うべきであるかの判定）。このために、当該標本点に対する当該サーフェス空間と世界空間の間の適切な変換が、サーフェス空間と世界空間の間の関係に応じて、実施する必要があるかもしれない。世界空間から標準空間へのさらなる変換をまた、例えば、当該標本点に対して決定された情報を標準空間内で決定するだけでよく世界空間に変換し戻さなくてよい場合に、実施する必要があるかもしれない。
【０１０１】
例えば、レンダリング出力が２Ｄ画像に関連しうるように、例えば、入力曲線が少なくともオブジェクトの一部、例えば、描画すべきグリフを形成するとき、当該サーフェス空間が、世界空間に平行な平面に存在してもよい。この場合、（それらが世界空間内の対応する標本点に適切にマップする必要がありうるように、当該サーフェス空間内の標本点が世界空間内の標本点と同じ密度で提供されてもよいが）当該サーフェス空間内の複数の標本点が世界空間内の複数の標本点に直接対応してもよいように、当該サーフェス空間が世界空間と同じ（または拡大因子内の）空間であってもよい。
【０１０２】
別の実施形態では、レンダリング出力が３Ｄシーンに関連し例えば曲線が陰影を作成するために使用される際、または（例えば、仮想現実のために）書込みが曲面に表示されるとき、当該標本点の変換をサーフェス空間と世界空間の間で実施してもよい。
【０１０３】
言及したように、入力曲線（およびしたがってまた提供される場合はテクスチャ）を使用して、入力曲線が少なくともその一部を形成するものと異なるオブジェクトを、例えば影を用いて描画してもよい。しかし好適には、入力曲線が描画されているオブジェクトの少なくとも一部を形成し、例えば、そのアウトラインを形成する。例えば、描画すべきオブジェクトが（フォントの一部として）グリフを含んでもよい。入力曲線を、任意の曲線表現、例えば、ベクトル・グラフィックスの形式で定義してもよい。好適には、入力曲線はスケーラブル・ベクトル・グラフィックス（ＳＶＧ）フォーマットで定義される。
【０１０４】
レンダリング出力を生成するとき使用される入力曲線に関する情報、例えば、入力曲線上の最も近い点、標本点から入力曲線上の最も近い点への距離および／または入力曲線のどちらの側で当該標本点をそのまま扱うべきであるかの判定が決定されると、レンダリング出力を、任意の適切な所望の方式で、例えば、世界空間内で直接またはサーフェス空間から生成してもよい。テクスチャが決定され格納されると、これを、例えば、任意の適切なグラフィックス・テクスチャマッピング・プロセスを用いて実施してもよい。
【０１０５】
好適な実施形態では、レンダリング出力が現れるシーン領域をカバーする１つまたは複数のプリミティブを、例えば、サーフェス空間で最初に生成し、次いで当該１つまたは複数のプリミティブによりカバーされるシーン領域上で入力曲線に対する当該決定された情報を使用することによって、例えば、テクスチャを当該１つまたは複数のプリミティブに適用し、それに応じて当該１つまたは複数のプリミティブに陰影を施すことによって、レンダリング出力を例えば表示のために生成してもよい。
【０１０６】
描画すべき形状が現れるシーン領域をカバー、例えば、グリフをカバーする１つまたは複数の境界ボックスまたは囲むポリゴンを定義することによって、当該１つまたは複数のプリミティブを必要に応じて生成してもよい。
【０１０７】
当該プリミティブを生成するとき、当該生成されたプリミティブ（複数可）が当該テクスチャの所望の（および適切な）領域のみを標本化するのを保証する必要であってもよい（これが、複数の入力曲線（または、例えば、グリフ）が同一のテクスチャで表現されるケースであってもよい）。
【０１０８】
当該生成されたプリミティブを、次いで、生成されるプリミティブとフラグメント、例えば、当該１つまたは複数のプリミティブの各標本点（および／またはフラグメント）に適用される入力曲線を表現するテクスチャの内部の複数の標本点に、当該プリミティブの標本点（および／またはフラグメント）の位置に対応するテクスチャ内の位置を標本化することによって、ラスタライズしてもよい（好適にはバイリニア・フィルタリングのような適切なテクスチャ・フィルタリング・プロセスを用いてテクスチャを標本化すべきである）。これが、サーフェス空間内の１つまたは複数のプリミティブをカバーする標本点の配列を生成することと、これらの標本点を、当該決定された情報を例えばテクスチャから標本化できる世界空間に変換することであってもよい。
【０１０９】
当該標本化された情報、例えば、テクスチャ値が次いで、例えば入力曲線のどちらの側で標本化位置（複数可）をそのまま扱うべきかおよび／または標本化位置（複数可）の入力曲線への距離の決定を用いて、対応する標本化位置（複数可）に適切に陰影を施すために使用される。当該決定に基づいて、複数の標本点は、必要に応じて例えば、グリフを含むシーンを正確に表示できるようにするための、赤、緑および青（ＲＧＢ）色の値および「アルファ」透明値のような割り当てられたデータである。
【０１１０】
理解されるように、入力曲線上の標本点から最も近い点への距離がレンダリング出力を生成するとき利用されるために利用可能であるとき、これを使用して、例えば、入力曲線のエッジに対する閾値のみが利用可能であるときよりも複雑なレンダリング効果、例えば、回転、シェーディング等を実施できるようにしてもよい。
【０１１１】
本発明は、「パイプライン」配置を有するレンダラ（この場合、レンダラはレンダリング・パイプラインの形である）のような、任意の形式または構成のレンダラに適用可能である。好適な実施形態では、ハードウェア・グラフィックス・レンダリング・パイプラインに適用される。本発明の様々な関数および要素等を、必要に応じて例えば、好適には、適切な機能ユニット、処理ロジック、プロセッサ、マイクロプロセッサ配置等により実装することができる。また、１実施形態では、本発明を最小機能で、例えば、必要最低限のバージョンで、グラフィックス処理パイプラインで実装してもよいことが考慮されている。かかるシステムは、低電力装置、例えば、ウェラブル、電子書籍リーダ等での使用に適しているかもしれない。
【０１１２】
本発明は、即時モード・レンダリング、遅延モード・レンダリング、タイル・ベース・レンダリング等のような全ての形態のレンダリングに適用可能である。１つの好適な実施形態では、本発明は、遅延モード・レンダリングおよびタイル・ベースのレンダラで使用されそれらに対して使用される。
【０１１３】
以上から理解されるように、本発明は特に、包括的にではないけれども、２Ｄまたは３Ｄのグラフィックス・プロセッサおよび処理装置に適用可能であり、したがって、本明細書で説明した本発明の態様の任意の１つまたは複数に従う装置を含むかまたはそれらに従って動作する２Ｄまたは３Ｄグラフィックス・プロセッサおよび２Ｄまたは３Ｄグラフィックス処理プラットフォームに拡張される。上述の特定の関数を実行するために必要な任意のハードウェアを条件として、かかる２Ｄまたは３Ｄグラフィックス・プロセッサは、２Ｄまたは３Ｄグラフィックス・プロセッサが含む通常の機能ユニット等の任意の１つまたは複数または全てを含むことができる。好適な実施形態では当該システムは、例えば、（例えば標準空間内の）標本点に最も近い曲線上の点および／または当該標本点から当該曲線上の最も近い点への距離を決定するように特に構成された固定機能ハードウェア・ユニットを含む。
【０１１４】
本発明は、任意の適切な形態または構成のグラフィックス・プロセッサに適用可能である。本発明は特に、タイル・ベースのグラフィックス・プロセッサおよびグラフィックス処理システムに特に適用可能である。したがって好適な実施形態では、グラフィックス処理システムおよびグラフィックス処理パイプラインはそれぞれタイル・ベースのシステムおよびパイプラインである。
【０１１５】
特に好適な実施形態では、本発明の様々な機能は、描画された、例えば、フラグメント、例えば表示装置向けフレーム・バッファに書き込まれたデータを生成し出力する単一のグラフィックス処理プラットフォームで実行される。
【０１１６】
本発明を、適切に構成されたマイクロプロセッサ・ベースのシステムのような任意の適切なシステムで実装することができる。好適な実施形態では、本発明は、コンピュータおよび／またはマイクロプロセッサ・ベースのシステムで実装される。
【０１１７】
本発明の様々な機能を任意の所望の適切な方式で実行することができる。例えば、本発明の機能を必要に応じてハードウェアまたはソフトウェアで実装することができる。したがって、例えば、特に断らない限り、本発明の様々な機能要素、段階および「手段」が、所望の方式で動作するようにプログラムできる適切な専用ハードウェア要素および／またはプログラム可能ハードウェア要素のような、様々な機能等を実施するように動作可能な適切な１つまたは複数のプロセッサ、１つまたは複数のコントローラ、機能ユニット、回路、処理ロジック、マイクロプロセッサ配置等を含んでもよい。
【０１１８】
また、当業者により理解されるように、本発明の様々な機能、段階等を複製し、かつ／または、所与のプロセッサと並列に実行してもよいことに留意されたい。等しく、必要ならば、当該様々な処理段階が処理回路等を共有してもよい。
【０１１９】
上述の特定の関数を実行するのに必要な任意のハードウェアを条件として、当該データ処理システムおよびパイプラインは、データ処理パイプラインが含む通常の機能ユニット等の任意の１つまたは複数または全てを含むことができる。
【０１２０】
本発明の説明した態様および実施形態の全てが、必要に応じて、上述の好適な任意の機能の任意の１つまたは複数または全てを含むことができ、含むのが好ましいことも当業者には理解される。
【０１２１】
本発明に従う方法を、ソフトウェア、例えば、コンピュータ・プログラムを少なくとも部分的に用いて実装してもよい。したがって、さらなる態様から見たとき、本発明は、データ処理手段にインストールされたとき本明細書で説明した方法を実行するように特に適合されたコンピュータ・ソフトウェア、当該プログラム要素がデータ処理手段で実行されるときに本明細書で説明した方法を実施するためのコンピュータ・ソフトウェア・コード部分を含むコンピュータ・プログラム要素、および当該プログラムがデータ処理システムで実行されるとき本明細書で説明した方法の全てのステップを実施するように適合されたコード手段を含むコンピュータ・プログラムを提供することが分かる。当該データプロセッサが、マイクロプロセッサ・システム、プログラム可能ＦＰＧＡ（フィールドプログラム可能ゲートアレイ）等であってもよい。
【０１２２】
本発明はまた、グラフィックス・プロセッサを動作するために使用されるとき、データ処理手段を備えたレンダラまたはマイクロプロセッサ・システムが、当該データ処理手段と関連して、当該プロセッサ、レンダラまたはシステムに本発明の方法のステップを実行させるかかるソフトウェアを含むコンピュータ・ソフトウェア・キャリアに拡張される。かかるコンピュータ・ソフトウェア・キャリアは、ＲＯＭチップ、ＣＤＲＯＭＲＡＭ、フラッシュメモリまたはディスクのような物理記憶媒体であることができ、有線上の電子信号、光信号または衛星へのような無線信号等のような信号であることができる。
【０１２３】
本発明の方法の全てのステップをコンピュータ・ソフトウェアにより実行する必要はなく、したがってさらに広い態様から本発明は、本明細書で説明した方法のステップの少なくとも１つを実行するためのコンピュータ・ソフトウェア、コンピュータ・ソフトウェア・キャリアにインストールされたかかるソフトウェアを提供することはさらに理解される。
【０１２４】
本発明をしたがって、コンピュータ・システムとともに使用するためのコンピュータ・プログラム製品として適切に具体化してもよい。かかる実装が、コンピュータ可読媒体、例えば、ディスク、ＣＤ-ＲＯＭ、ＲＯＭ、フラッシュメモリまたはハード・ディスクのような有形、非一時的媒体に固定された一連のコンピュータ可読命令を含んでもよい。当該実装がまた、コンピュータ・システムに、モデムまたは他のインタフェース装置を介して、有形媒体上で、または、無形に無線技術を用いて送信可能な一連のコンピュータ可読命令を含むことができる。有形媒体には光またはアナログ通信線が含まれるがこれらに限られない。無線技術には、マイクロ波、赤外線または他の送信技術が含まれるがこれらに限られない。当該一連のコンピュータ可読命令は、本明細書で前述した機能の全部または一部を具体化する。
【０１２５】
かかるコンピュータ可読命令を、多数のコンピュータ・アーキテクチャまたはオペレーティングシステムで使用するための幾つかのプログラミング言語で書けることは当業者には理解される。さらに、かかる命令を、現在または将来の任意のメモリ技術を用いて格納してもよく、または、現在または将来の任意の通信技術を用いて送信してもよい。当該メモリ技術には半導体、磁気、または光が含まれるがこれらに限られず、当該通信技術には光、赤外線、またはマイクロ波が含まれるがこれらに限られない。コンピュータ・プログラム製品が、コンピュータ・システムにより、例えば、システムＲＯＭまたは固定ディスク上に事前にロードされるか、またはネットワーク、例えば、インターネットまたはワールド・ワイド・ウェブ上のサーバまたは電子掲示板から分散された、添付の印刷されたまたは電子文書、例えば、収縮包装されたソフトウェアを有する取外し可能媒体として配布されうることが考慮されている。
【０１２６】
次に本発明の幾つかの好適な実施形態を、添付図面を参照して例としてのみ説明する。
【図面の簡単な説明】
【０１２７】
【図１】本発明の１実施形態に従うテキスト文字列を描画するためのワークフローの概要を示す図である。
【図２】本発明の１実施形態における当該プロセスの一部として、一連の入力曲線が定義されるエッジを有する描画用のグリフを示す図である。
【図３】本発明の１実施形態におけるプロセスの一部として、入力曲線を世界空間から標準空間への変換を示す図である。
【図４（ｉ）】本発明の１実施形態におけるプロセスの一部として、入力曲線を世界空間から標準空間に変換するステップを示す図である。
【図４（ｉｉ）】本発明の１実施形態におけるプロセスの一部として、入力曲線を世界空間から標準空間に変換するステップを示す図である。
【図４（ｉｉｉ）】本発明の１実施形態におけるプロセスの一部として、入力曲線を世界空間から標準空間に変換するステップを示す図である。
【図５】本発明の１実施形態におけるプロセスの一部として、標準曲線上の標本点に最も近い点を決定するステップを示す図である。
【図６】本発明の１実施形態における、生成された３つのグリフのための符号付き距離場のグラフィカル表現を示す図である。
【図７】本発明の１実施形態とともに使用するためのテクスチャ・アトラスとしてグラフィカルに表されたフォント内のグリフの各々に対する符号付き距離場のグラフィカル表現を示す図である。
【図８】本発明の１実施形態に従うグリフを描画するためのプロセスのステップを実施するための流れ図である。
【発明を実施するための形態】
【０１２８】
上述のように、本発明の基本的な前提は、入力曲線を用いてレンダリング出力することであり、入力曲線上の最も近い点が、描画の際に使用するために決定されている様々な標本点の各々に対して決定され、例えば、入力曲線のどちらの側で標本点をそのまま扱うべきであるかを決定する。入力曲線が、描画すべきオブジェクトの少なくとも一部（例えば、そのエッジの少なくとも一部）を形成してもよく、または、例えば、シェーディングのためにレンダリング出力の一部として他の何らかの方法で使用される形状または曲線の少なくとも一部を形成してもよい。
【０１２９】
本発明の好適な実施形態を次にグラフィックス処理システムを用いて、グリフ（フォントの一部としての文字のグラフィカル表現）の形でのテキストを描画する文脈で説明する。当該グリフのエッジは、１つまたは複数の入力曲線により定義される。当該実施形態では、符号付き距離場を用いて当該グリフを表すテクスチャが生成され、次いで、例えば、当該グリフのエッジを形成する曲線のどちらの側に標本点が存在するかを判定するために当該符号付き距離場を用いて、当該グリフを描画するためにテクスチャが標本化される。
【０１３０】
図１は、本発明の１実施形態に従うテキスト文字列を描画するためのワークフローの概要を示す。最初のステップ（ステップ１）は、テキスト文字列、例えば、単語「ｒｅｉｎｆｏｒｃｅｄ」を含むレンダリング出力を生成するとき、グリフ（単語内の文字）ごとに１つ、１組の長方形の境界ボックスを定義することであり、当該ボックスはグリフごとにテクスチャを定義するために２つの三角形に分割される。当該境界ボックスがフォント・ファイルにより提供されてもよく、即ち、当該ボックスはグラフィックス処理システムに入力され、各ボックスの間の間隔は単語内の文字の各々の間の間隔を決定する。次に説明するように、独立なグリフごとの符号付き距離場を次いで計算することができる（ステップ２、図１）。
【０１３１】
図２は、一連の入力曲線により定義されるエッジを有するグリフ１を示す。
【０１３２】
表示するためのグリフ１を描画するために、グリフ１、または一般に、グリフ１を定義する情報が最初にグラフィックス処理システムに入力される。
【０１３３】
図２に示すように、文字「Ｏ」の（例えば、ベクトル・グラフィックス・オブジェクトの形の）グリフ１が、曲線の開始制御点および終了制御点の位置および中間制御点の位置により、２Ｄ世界空間内の二次ベジエ曲線２、３、４、５、６、７、８、９のシーケンスとして定義される。グリフの外部は４つの二次ベジエ曲線２、３、４、５により定義され、当該グリフの内部はさらに４つの二次ベジエ曲線６、７、８、９により定義される。以下でさらに詳細に説明するように、グリフ１が描画されると、内部曲線と外部曲線２、３、４、５、６、７、８、９の間の領域は、グリフ１を表示するために、適切に陰影が付されている。
【０１３４】
レンダリング・プロセス中に、最初に、グリフ１を構成する構成二次ベジエ曲線２、３、４、５、６、７、８、９の各々を別々に処理する。二次ベジエ曲線２、３、４、５、６、７、８、９の各々に対して、当該曲線を囲む複数の標本点の各々に最も近い当該曲線上のの（標準空間における）点を決定できるように、世界空間内の曲線が標準空間内の標準曲線の対応する部分にマップされる。（標準空間内の当該最も近い点を決定することで、したがって当該曲線に対する正確に計算された符号付き距離場を決定できる正確な計算を実施することができる。）
【０１３５】
世界空間内の最初に定義された入力曲線を標準空間内の標準曲線に変換するプロセスを次に説明する。
【０１３６】
図３は、世界空間１１内の入力ベジエ曲線１０に対する標準空間１３内の標準曲線１２の対応する部分１０’’への例示的な変換ＴＵＣを示す。世界空間１１内の入力ベジエ曲線１０は、世界空間内の当該曲線を定義する開始制御点ｂ０、終了制御点ｂ２および中間制御点ｂ¬１を有する。当該曲線は、対応する開始点ｂ０’と対応する終点ｂ２’を有する標準空間１３内の標準曲線１２の部分１０’’にマップされる。
【０１３７】
上述のように予め定義された標準曲線１２は、曲線のファミリ内の全ての曲線を回転、変換および／または均一な拡大のみを用いてその上に（または少なくともその一部の上に）変換できる単一のまたは基本曲線であり、標準空間１３内で定義される。例えば、世界空間１１内で定義される入力ベジエ曲線１０が（３つの制御点により定義される）二次曲線である本実施形態では、標準曲線１２は曲線ｙ＝ｘ２である。
【０１３８】
理解されるように、本実施形態を実装するために、世界標準変換（ＴＵＣ）、即ち、世界空間１１内で定義される入力ベジエ曲線１０を標準空間１３内の標準曲線１２の対応する部分１０’’にマップする変換を決定する必要がある。
【０１３９】
任意の所与の二次ベジエ曲線に対して本実施形態において世界空間１１内の入力ベジエ曲線１０から標準空間１３内の標準曲線１２への変換が導出される方式を図４に示す。
【０１４０】
２Ｄ空間の投影表現において、２Ｄ空間ａ内の点を、成分（ａｘ、ａｙ、１）を有する３Ｄ内のベクトルＡとして表す。当該表現は均一であり、したがって、ＡおよびλＡは同一の点を表す。
【０１４１】
一般的な二次曲線は、
【０１４２】
【数１】
2017073120.tif 000003
【０１４３】
の形の式により定義される。
【０１４４】
これは成分式
【０１４５】
【数２】
2017073120.tif 000004
【０１４６】
と等価である。
【０１４７】
一般的な二次ベジエ曲線は、
【０１４８】
【数３】
2017073120.tif 000005
【０１４９】
を満たす係数により当該式から定義される。
【０１５０】
二次ベジエ曲線に対する入力が２Ｄ内の３つの制御点、即ち、ｂ０、ｂ１およびｂ２であり、ｂ０とｂ２は２つの終点であり、ｂ１は中間点であると仮定する。これから、標準曲線のセグメントへの世界標準変換ｙ＝ｘ２を決定する必要がある。
【０１５１】
上述のように、当該世界標準変換は、（行列Ｍｒにより定義される）回転、（行列Ｍｔにより定義される）変換および／または均一な拡大（行列Ｍｓ＝ｋＩにより定義され、ｋは定数でありｄＩは単位行列である）のみから成る。
【０１５２】
最初の段階は、成分式の係数（ａ、ｂ、ｃ、ｆ、ｇ、ｈ）を３つの制御点ｂ０、ｂ１、ｂ２。から発見することである。次いでこれらの係数を使用して、入力ベジエ曲線を標準曲線上に持ってくるのに必要な回転、変換および拡大を計算することができる。
【０１５３】
【数４】
2017073120.tif 000006
【０１５４】
であり、上記係数は、
【０１５５】
【数５】
2017073120.tif 000007
2017073120.tif 000008
【０１５６】
で与えられる。次に、世界空間内の点を標準空間に、組み合わされた回転、変換および拡大を介して変換する世界標準変換（ＴＵＣ）、即ち、３×３の行列を発見する必要がある。当該変換の効果は、ベジエ曲線の終点を標準曲線ｙ＝ｘ２にマップすることである。
【０１５７】
本実施形態における世界標準変換（ＴＵＣ）を決定するためのプロセスの第１の段階は、当該変換の回転成分（回転行列Ｍｒ）を決定することである。必要な回転は、世界空間１１内の入力二次ベジエ曲線１０の対称軸２１を標準空間１３内の標準曲線１２の対称軸２３に平行になるように回転する必要があるとして決定される。図４（ｉ）を参照。
【０１５８】
当該回転は、入力ベジエ曲線１０の二次形式を操作して回転行列Ｍｒを計算することによって決定される。先ず、回転行列Ｍｒを
【０１５９】
【数６】
2017073120.tif 000009
【０１６０】
として定義する。ここで、
【０１６１】
【数７】
2017073120.tif 000010
【０１６２】
であり、シグナム関数は、
【０１６３】
【数８】
2017073120.tif 000011
【０１６４】
として定義される。
【０１６５】
【数９】
2017073120.tif 000012
【０１６６】
という条件が入力二次ベジエ曲線１０上の１組の点に対して保証され、その結果、ｃｏｓθとｓｉｎθに関する式内の平方根の引数は両方とも正であろう。（ａ＝ｂ＝０の場合、これは直線であり、以下で説明するように前もって識別され別々に扱われるべきである）。ｆとｇに対する変換された値をしたがって回転
【０１６７】
【数１０】
2017073120.tif 000013
【０１６８】
を介して決定することができる。
【０１６９】
世界標準変換の回転成分が決定されると、変換成分（即ち、回転行列Ｍｔ）が次に決定される。当該プロセスを図４（ｉｉ）に示す。
【０１７０】
必要な変換が、回転された入力曲線１４の天底２０を標準空間１３内の原点（０、０）に、即ち、標準曲線１２の対応する天底２２で変換する必要があるとして決定される。当該変換は再度、入力ベジエ曲線１０の二次形式を操作して変換行列Ｍｔを計算することによって決定される。先ず、回転行列Ｍｔが
【０１７１】
【数１１】
2017073120.tif 000014
【０１７２】
として定義される。ここで、
【０１７３】
【数１２】
2017073120.tif 000015
【０１７４】
である。最後に、世界標準変換の均一な拡大成分（即ち、拡大行列Ｍｓ）を決定する。これを図４（ｉｉｉ）に示す。
【０１７５】
理解されるように、世界空間１１内の入力曲線１０は、一度標準空間１３、即ち、図４（ｉｉｉ）内の曲線１６に適切に回転され変換されており、ｙ＝ｘ２／｜λ｜の形である。１／｜λ｜は決定すべき拡大因子である。再度、当該変換は、拡大行列Ｍｓを計算するために入力ベジエ曲線１０の二次形式を操作することによって決定される。第１の拡大行列Ｍｓは、
【０１７６】
【数１３】
2017073120.tif 000016
【０１７７】
により定義される。ここで、
【０１７８】
【数１４】
2017073120.tif 000017
【０１７９】
である。世界空間１１内で定義された入力ベジエ曲線１０を標準空間１３内の標準曲線１２の対応する部分１０’’にマップする必要がある世界標準変換、即ち、ＴＵＣ＝ＭｓＭｔＭｒ＝１／｜λ｜ＭｔＭｒが計算されると、標準曲線１２の実際の部分１０’’を当該決定された変換を入力ベジエ曲線１０のパラメータに適用することによって決定することができる。当該プロセスを図３に示す。
【０１８０】
図３に示すように、世界空間１１内で定義され、制御点ｂ０、ｂ１、ｂ２を有する入力ベジエ曲線１０が、世界標準変換ＴＵＣを用いて標準曲線１２の対応する部分１０’’にマップされる。
【０１８１】
標準曲線セグメント１０’’の開始点と終点ｂ０’、ｂ２’は、標準空間１３内の入力ベジエ曲線１０のパラメトリック（ｘ）範囲を定義する。したがって、図３に示すように、標準曲線セグメント１０’’は、標準空間１３内のパラメトリック位置ｘＡおよびｘＢの間で延伸するパラメトリック範囲を有する。
【０１８２】
本実施形態では、世界空間１１内の１組の標本点が、（例えば、図２に示すように）グリフ１を形成する入力ベジエ曲線２、３、４、５、６、７、８、９の各々に対して定義される。任意の所与の入力ベジエ曲線（例えば、図３に示すように世界空間１１内で定義された入力ベジエ曲線１０）に対して、当該入力ベジエ曲線上の最も近い点が、当該入力ベジエ曲線を囲む標本点の各々に対して決定される。
【０１８３】
世界空間１１内の所与の標本点に対して、入力ベジエ曲線１０上の最も近い点は、先ず世界空間１１内の入力ベジエ曲線１０を標準空間１３内の標準曲線１２の部分１０’’にマップするための以前に決定した世界標準変換ＴＵＣを使用して、世界空間内の標本点を標準空間１３内の対応する位置に変換することによって決定される。世界空間１１内の標本点に対応する標準空間１３内の変換された標本点に最も近い、標準曲線１２の部分１０’’上の点を、当該変換された標本点から標準曲線への距離を最小化することにより決定する。
【０１８４】
座標（ｕ、ｖ）を用いた変換された標本点に対して、当該点から当該曲線への距離を、標準空間内のｘ座標のみで書くことができる。即ち、
【０１８５】
【数１５】
2017073120.tif 000018
【０１８６】
である。Ｄ２を最小化するのはより簡単であり、これは、
【０１８７】
【数１６】
2017073120.tif 000019
【０１８８】
を与える。ここで、
【０１８９】
【数１７】
2017073120.tif 000020
【０１９０】
である。この三次方程式は既に標準形であり、したがって閉じた形の解を直ちに書き下すことができる。ａとｂの関係に応じて、考えるべき３つのケースがある。
【０１９１】
【数１８】
2017073120.tif 000021
【０１９２】
であるとき、１つの実根のみが
【０１９３】
【数１９】
2017073120.tif 000022
【０１９４】
により定義される。引数が実数であることが保証され、立方根が正の引数と負の引数の両方に対して定義されている（負の数の立方根は負である）ので、ここでの立方根は良く定義されている。
【０１９５】
【数２０】
2017073120.tif 000023
【０１９６】
であるとき、３つの根のうち２つが一致する縮退のケースである。しかし、大域的最小点が求められているので、どの変曲点にも関心がなく、ｘ１に対する前述の式は依然として成り立ち、一つの最小点が存在する（１つの解と２つの解を格納する必要性の間の遷移曲線は、
【０１９７】
【数２１】
2017073120.tif 000024
【０１９８】
である。この曲線は放物線の焦点外にある）。
【０１９９】
【数２２】
2017073120.tif 000025
【０２００】
であるとき、これは３つの相違なる実根を有する三次方程式に対応し、
【０２０１】
【数２３】
2017073120.tif 000026
【０２０２】
により与えられる。ここで、
【０２０３】
【数２４】
2017073120.tif 000027
【０２０４】
である。中間の根（φに依存）は、大域的最大値であり、無視することができる。これらのうち外の２つの根は極小値に対応し、関心がある。絶対最小値（当該２つの極小値のうち１つ）が、変換された標本点に最も近い標準曲線１２の部分１０’’上の点であることは必要でなくてもよい。なぜならそれが標準曲線１２の部分１０’’の外部に入りうるからである。当該外部の根の一方または両方が標準曲線１２の部分１０’’の内部に入るかどうかを見るためのチェックが実施され、当該変換された標本点から当該２つの外部の根に対応する標準曲線１２の部分１０’’上の点への距離を必要ならば比較して、当該変換された標本点に最も近い標準曲線１２の部分１０’’上の点を決定できるようにする。
【０２０５】
この当該変換された標本点に最も近い標準曲線１２の部分１０’’上の点が決定されると、標準空間１３内の当該変換された標本点の位置から当該点への距離が計算される（上述のようにこれが当該最も近い点の決定の一部として既に計算されていない場合）。
【０２０６】
当該変換された標本点から当該曲線上の最も近い点への距離を、任意の適切な所望の方法で決定してもよい。当該変換された標本点のｘ座標とｙ座標が既知であり、当該最も近い点のｘ値が決定されているので、ｙ＝ｘ２（標準曲線）が当該最も近い点のｙ座標を与える。次いで当該距離がこれらの２つの組の座標から容易に決定される。
【０２０７】
当該距離を計算する１つの方法は、標準曲線１２の部分１０’’の開始点ｂ０’を原点に変換し、次いで正のｘ軸に配置されるように終点ｂ２’を回転することである。
【０２０８】
座標（ｘ０、ｙ０）を有する開始点ｂ０’と座標（ｘ１、ｙ１）を有する終点ｂ２’をもつ標準曲線１２の部分１０’’に対して、第１の変換行列
【０２０９】
【数２５】
2017073120.tif 000028
【０２１０】
定義され、回転行列
【０２１１】
【数２６】
2017073120.tif 000029
【０２１２】
が定義され、ここで、
【０２１３】
【数２７】
2017073120.tif 000030
【０２１４】
である。これは、終点を（ｄ、０）に回転する。当該点を点（１、０）に拡大できるが、そうする実益はない。
【０２１５】
したがって、当該変換行列をＲ＝ＲθＴと定義でき、変換された点の座標は（ｕ、ｖ）として表される。次いで当該曲線上の最も近い点への距離ｓが
【０２１６】
【数２８】
2017073120.tif 000031
【０２１７】
により与えられる。ｖの符号も当該線のどちらの側に標本点が存在するかを決定するので、これを符号付き距離場の符号として使用できることに留意されたい。
【０２１８】
次いで、当該距離を当該標本点から標準曲線の一部の各端への距離と比較する。これらの３つの点のうち、変換された標本点への距離が最小である標準曲線１２の部分１０’’上の点を、当該変換された標本点に最も近い標準曲線１２上の点と決定する。
【０２１９】
図５は、標準空間１３内で変換された標本点Ｐに最も近いとして決定されている標準曲線１２の部分１０’’上の点ｐ０を示す。当該変換された標本点Ｐに対して、標準曲線上の最も近い点ｐ０が、変換された標本点Ｐから標準曲線１２への距離を最小化するものとして決定されている。即ち、したがって、標準曲線１２上の点ｐ０が変換された標本点Ｐに最も近い点であると判定する。これは、この標本点および標準曲線の一部に対して、変換された標本点ｐと当該最も近い点ｐ０の間の距離ｄが当該変換された標本点ｐから標準曲線の一部の終点への距離の両方より短いからである。
【０２２０】
また図５に示すように、変換された標本点Ｐから標準曲線１２の部分１０’’上の最も近い点ｐ０への距離を、最も近い点ｐ０を発見するための距離を最小化するプロセスから既に決定されていない場合には、単純にこれらの点から決定することができる。
【０２２１】
入力曲線が直線であるとき、世界空間内で定義された曲線は、回転と変換を含む世界標準変換を用いて標準空間内のｘ軸上に変換される（入力曲線はまた、固定長であるとき、標準空間のｘ軸上の０と１の間に配置されるように拡大されてもよいが、これは必要ではない）。次いで、標準曲線上の最も近い点は単純に標準空間内の変換された標本点のｘ座標である。入力曲線が開始点と終点を有する固定長であるとき、当該変換された標本点のｘ座標が標準曲線の開始点と終点のｘ座標の間に配置される場合は、当該変換された標本点に最も近い標準曲線上の点は当該変換された標本点のｘ座標である。当該変換された標本点のｘ座標が標準曲線の開始点と終点の外部に存在するとき、当該変換された標本点に最も近い標準曲線上の点は、当該開始点または当該終点のうち、当該変換された標本点に近い方である。
【０２２２】
一旦決定されると、（標準空間１３内の変換された標本点Ｐから標準曲線１２上の最も近い点ｐ０への）距離ｄ、および必要ならば標準曲線１２の部分１０’’上の最も近い点ｐ０が次いで、世界空間１１から標準空間１３への変換ＴＵＣの逆を用いて、世界空間１１に変換される。即ち、世界空間１１内の標本点に最も近い入力ベジエ曲線１０上の点とこれらの点の間の距離が与えられる。標本点に対する入力ベジエ曲線１０上の最も近い点およびこれらの点の間の距離を決定するプロセスは、世界空間１１内の入力ベジエ曲線１０を囲む配列内の標本点の各々に対して繰り返される。
【０２２３】
さらなる組の標本点に対する入力ベジエ曲線１０への距離をまた、標準空間への変換および標準空間における判定の必要なしに、近傍の標本点に対する既に決定された距離を用いて決定してもよい。
【０２２４】
これが、入力ベジエ曲線１０上の最も近い点およびそこへの距離が世界空間１１内の標本点の各々に対して決定されるように、標本点の各々に対して完了すると、入力ベジエ曲線１０を囲む配列内で、当該プロセスはグリフ１を形成する入力ベジエ曲線２、３、４、５、６、７、８、９ごとに繰り返される。
【０２２５】
グリフ１を形成する複数の入力ベジエ曲線２、３、４、５、６、７、８、９に対応する標本点のこれらの複数の配列を用いて、グリフ１全体を囲む標本点の配列内の標本点ごとに、全体として複数の入力ベジエ曲線２、３、４、５、６、７、８、９上の最も近い点、およびまた当該夫々の最も近い点と標本点の間の距離を決定することができる。所与の標本点に対して、複数の入力ベジエ曲線２、３、４、５、６、７、８、９上の最も近い点およびそこへの距離は、単に、決定された独立な入力ベジエ曲線２、３、４、５、６、７、８、９を囲む標本点の配列の各々における対応する標本点に関する距離を比較し、最小距離を選択することによって、決定される。
【０２２６】
（所与の標本点に最も近い複数の入力ベジエ曲線２、３、４、５、６、７、８、９上の点を、グリフ１を形成する複数の入力ベジエ曲線２、３、４、５、６、７、８、９の全部のうち一部を使用することのみによって、例えば、互いから明らかに遠く離れている入力ベジエ曲線２、３、４、５、６、７、８、９のうち１つまたは複数を破棄することによって、決定してもよい。例えば、図２に示すグリフ１に対して、グリフ１の右側に存在する標本点に対して、グリフ１の左の入力曲線３、９を破棄することができる）。
【０２２７】
世界空間１１内の各標本点が存在する入力ベジエ曲線１０の側が、例えば、当該標本点から当該曲線上の最も近い点への距離を決定することの一部としてまだ決定されていない場合、これは標準空間１１内の当該標本点の平均タンジェント・チェックを複数の入力ベジエ曲線２、３、４、５、６、７、８、９に対応する標準曲線に対して実施することによって決定される。再度、標本点に対する当該平均タンジェント・チェックを実施するための複数の入力ベジエ曲線２、３、４、５、６、７、８、９が、グリフ１を形成する複数の入力ベジエ曲線２、３、４、５、６、７、８、９の全部のうち一部であってもよく、これらが、当該標本点に最も近い複数の入力ベジエ曲線２、３、４、５、６、７、８、９上の点を決定するために使用されるサブセットに対応してもよい。
【０２２８】
世界空間１１内の各標本点が存在する入力ベジエ曲線１０の側は、当該標本点と当該標本点に対する入力ベジエ曲線１０上の当該決定された最も近い点との間の距離とともに、当該距離に符号を与えるために使用される。即ち、グリフ内部に存在する標本点に対応する距離には負の符号が与えられ、当該グリフの外部に存在する標本点に対応する距離には正の符号が与えられる。
【０２２９】
当該符号付き距離は、当該標本点への入力ベジエ曲線１０上の当該決定された最も近い点および当該決定された最も近い点が存在する（グリフ１を形成する複数の入力ベジエ曲線２、３、４、５、６、７、８、９の）入力ベジエ曲線の識別とともに、グリフ１を囲む標本点ごとにテクスチャ内に格納される。即ち、当該情報が格納されるテクスチャ内の各テクセルが標本点に対応する。したがって、後述するように、当該テクスチャはグリフ１を符号付き距離場として格納し、次いで、これを使用してグリフ１を描画することができる。
【０２３０】
テクセルごとにテクスチャ内に格納される情報（符号付き距離、入力ベジエ曲線上の決定された最も近い点、および決定された最も近い点が存在する入力ベジエ曲線の識別）は、特定のフォント内のグリフの各々に対して上述のように決定され、当該グリフの各々に対する情報（即ち、符号付き距離場を含む）はテクスチャに格納される。
【０２３１】
例示的な符号付き距離場のグラフィカル表現が、文字「ｃ」２６、「２」２７、および「、」２８を表すグリフに関して図６に示されている。グリフ２６、２７、２８内部の点が、グリフ２６、２７、２８のエッジを定義する入力ベジエ曲線上の夫々の最も近い点に対する（特定の閾値より大きい）正の距離値とともに、黒で示されている。グリフ２６、２７、２８の外部の点が、グリフ２６、２７、２８のエッジを定義する曲線上の当該夫々の最も近い点に対する（特定の閾値より小さい）負の距離値とともに、白で示されている。グリフ２６、２７、２８のエッジを定義する入力ベジエ曲線に近い（正の閾値と負の閾値の間の）点は、当該曲線上の最も近い点からのそれらの距離に応じて、灰色の陰影として示されている。
【０２３２】
符号付き距離値に関する閾値は、当該値がテクスチャに格納されるとき、その値が特定の値より高いかまたは低い場合には、当該適切な（負または正の）閾値のみ（または他の何らかのデフォルト値）が格納されるというものである。これは、グリフ２６、２７、２８のエッジを定義する曲線から特定の距離よりも遠く離れている点を考慮するとき、それがレンダリング出力を生成するときを考慮しないので、正確な距離は問題ではないからである。当該関心領域、および標本点からグリフ２６、２７、２８のエッジを定義する入力曲線上の当該最も近い点への正確な距離を使用して例えば特定のレンダリング効果を生成してもよい場所は、グリフ２６、２７、２８のエッジの近くに存在する点に対するものである。したがって、正および負の閾値の間のこれらの距離値に対して、当該符号付き距離場に対して計算された値は閾値を適用することなく格納される。
【０２３３】
テクスチャに格納された情報を、フォントを形成するグリフ（文字）、例えば、文字、数字および句読点記号の各々に対して計算してもよい。図７は、テクスチャ・アトラス２９としてグラフィカルに表現されたフォント内のグリフの各々に対する符号付き距離場のグラフィカル表現を示す。当該グリフの各々に対するテクスチャは、特定のグリフを描画する必要があるとき、テクスチャ・アトラス２９の適切な領域が標本化されるように、テクスチャ・アトラス２９内で空間的に分離されている。当該例では、テクスチャ・アトラス２９はテクスチャのメモリを節約するようにきつく詰められており、したがって各グリフは異なるサイズを有する。
【０２３４】
グリフを描画するために（または図７に示すように完全なテクスチャ・アトラスを生成するために）符号付き距離場が生成されテクスチャに格納されると、必要なグリフは、各グリフの境界ボックス内の標本点の配列で当該テクスチャを標本化するか、または、当該符号付き距離場がレンダリング・プロセスの一部としてリアルタイムに計算されるとき当該標本点の配列で当該決定された符号付き距離場を用いることによって、描画することができる。当該ステップが、図１のステップ３に示すように、当該符号付き距離場を用いて、アンチエイリアシング技術を使用してもよい。当該符号付き距離場を次いで、テクスチャへの描画動作におけるテクスチャの一部として格納してもよい。
【０２３５】
最終的に描画されるテキストの文字列を次いで図１の「結果」ステップに示すように表示することができる。
【０２３６】
例えば、書込みを三次元で曲面に表示すべき場合には、グリフを、当該グリフに対するテクスチャが定義される世界空間とは異なる「サーフェス」空間（即ち、レンダリング出力が生成される空間）内で描画してもよい。当該実施形態では、当該グリフが１つまたは複数のプリミティブにより覆われるように、１つまたは複数のプリミティブが、当該グリフが描かれるサーフェス空間内のシーン（表示）領域にわたって生成される。
【０２３７】
これらのプリミティブは次いで、陰影付けのための陰影パイプラインに渡されるフラグメントに通常の方式でラスタライズされる（起こり得ることであるが、（当該プリミティブは実際にはシーンの任意の標本点をそれが表示されるようにカバーしないので）当該プリミティブのラスタライズがフラグメントを生成しない場合、これは、当該形状が実際にはそれが表示されるようにシーン内で見られないことを意味するので、当該プロセスはここで停止することができる）。
。
【０２３８】
当該適切なテクスチャは次いでグリフを描くためにプリミティブに適用される。これは、描くべきグリフに対応するテクスチャ・マップ（または当該テクスチャ・マップの一部）を用いて、プリミティブ（複数可）がカバーするシーン内の１つまたは複数の標本点の位置に対するグリフを表すテクスチャからのテクスチャ・サンプルを取ることによってテクスチャを１つまたは複数のプリミティブに適用することで行われる（当該テクスチャが格納される世界空間への適切な変換がサーフェス空間内の標本点に対して実施される）。
【０２３９】
グリフを定義する複数の入力曲線上の最も近い点への符号付き距離を含む各標本化されたテクスチャ値を次いで使用して、当該符号付き距離の値に応じて、サンプル位置をグリフの内部に入るとして描く（描画する）べきかどうかを判定する（即ち、実際には、当該グリフのエッジの内部が入力曲線により定義される）か、または、当該グリフの外部に入るとして破棄する。
【０２４０】
図８は、グラフィック演算装置（ＧＰＵ）のグラフィックス処理パイプラインにおける、本発明の１実施形態に従うグリフを描画するための上述のプロセスのステップを実施するための流れ図３０を示す。
【０２４１】
先ず、予め定義された経路３１は、例えば、中央演算装置（ＣＰＵ）で生成され、当該ＣＰＵに格納されたフォント・ファイルから抽出される。これらの経路は、（例えば、グリフのエッジを定義する）直線、ベジエ曲線、弧、ならびに、例えば世界空間内の入力ベジエ曲線の開始点および終点を定義する色および他の位置データを用いてグリフを定義する。
【０２４２】
次いで、標準空間内の標準曲線上の変換された標本点と最も近い点との間の距離を返すルックアップ・テーブル（ＬＵＴ）３３を用いて、当該経路（入力曲線）が、（入力曲線の各々に対する標準空間への変換を用いて上述した方式で）グラフィックス処理パイプライン（ＳＤＦ生成器）３２の処理段階により処理されてグリフごとの符号付き距離場を生成する。
【０２４３】
経路キャッシュ３４は次いで、グリフに対する符号付き距離場を、経路（入力曲線）に関する情報とともに格納する。次いで当該情報は、描画すべき最終テクスチャを生成するために、（テクスチャパイプライン３７を使用して当該符号付き距離場内の値にアクセスする）固定機能単位３６内の位置データ３５と比較される。これが、ブレンディング、マスキングおよびシザー・テスト動作のうち１つまたは複数を含んでもよい。
【０２４４】
描画すべき最終テクスチャを次いで、出力、例えば表示のためにフレーム・バッファ３８に渡す。
【０２４５】
以上から、標準曲線上の標本点に最も近い点を、例えば、符号付き距離場を生成する一部として決定するために標準空間を使用することで、１つまたは複数の入力曲線を用いてレンダリング出力を生成するための効率的かつ都合の良い機構が提供されることが分かる。当該機構は、例えば、ベクトル・グラフィックスを用いて定義された入力曲線の数学的表現を描画することができる。これは、入力曲線を用いてレンダリング出力を生成するための高速かつ正確なプロセスを提供する情報を決定する単純かつ正確な方法である。
【０２４６】
かかる入力曲線を用いてレンダリング出力を生成するための単純なプロセスを提供することで、当該プロセスを実行する装置のための処理負荷と電力負荷の削減が支援され、したがって、バッテリで動作し多機能処理を実装しなくてもよいより単純な装置、例えば、モバイルおよびウェラブル装置での使用が可能となる。さらに、当該プロセスの増大した効率性により、以前の技術と比べて装置の処理負荷と電力負荷の関連する増大なしに、より洗練されたレンダリング機能を実施することができ、または、必要に応じて必要な情報をリアルタイムに（再）計算することができる。
【符号の説明】
【０２４７】
３１経路（線、ベジエ、弧、色、位置）
３２ＳＤＦ生成器
３３ＬＵＴ（放物線Ｘ値）
３４経路キャッシュ（グリフ、セグメント（線、ベジエ））
３５位置データ
３６固定関数（ブレンド、マスク、シザー）
３７テクスチャ・パイプ
３８フレーム・バッファ
【図１】
2017073120.tif 000032
【図２】
2017073120.tif 000033
【図３】
2017073120.tif 000034
【図４（ｉ）】
2017073120.tif 000035
【図４（ｉｉ）】
2017073120.tif 000036
【図４（ｉｉｉ）】
2017073120.tif 000037
【図５】
2017073120.tif 000038
【図６】
2017073120.tif 000039
【図７】
2017073120.tif 000040
【図８】
2017073120.tif 000041
【外国語明細書】
2017073120000001.pdf