JP2006521628A - 2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法 - Google Patents
2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法 Download PDFInfo
- Publication number
- JP2006521628A JP2006521628A JP2006507683A JP2006507683A JP2006521628A JP 2006521628 A JP2006521628 A JP 2006521628A JP 2006507683 A JP2006507683 A JP 2006507683A JP 2006507683 A JP2006507683 A JP 2006507683A JP 2006521628 A JP2006521628 A JP 2006521628A
- Authority
- JP
- Japan
- Prior art keywords
- distance
- cell
- distance field
- corner
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
方法は、2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する。2次元オブジェクトに対する境界デスクリプタの集合を求める。境界デスクリプタの集合からセル内の隅点を識別する。隅点はオブジェクトの隅を表現する。隅点は、境界デスクリプタの集合を2つの部分集合に分割する。セルは2つの領域に分割され、一方の領域は隅点のほうに最も近く、他方の領域は境界デスクリプタの集合のほうに最も近い。隅点を通る、境界デスクリプタの2つの部分集合の一方にそれぞれ対応するような2本の線が求められる。これらの線は2つの領域を画定する。セル内の距離フィールドを再構成するための値の集合および2つの領域を使用する方法が指定される。隅点、2つの領域を画定する線、再構成法、および値の集合はメモリに格納されて、再構成法を適用することによりセル内の距離フィールドを再構成することを可能にする。
Description
本発明は、包括的にはコンピュータグラフィックスの分野に関し、特に、隅近くに2次元距離フィールドを生成することに関する。
コンピュータグラフィックスの分野において、2次元オブジェクトのレンダリングは基本的に重要である。文字形状、企業ロゴ、および文書に含まれる図版の要素のような2次元オブジェクトは、静的イメージとして、または動画を構成するフレームのシーケンスとしてレンダリングされる。2次元オブジェクトには数多くの表現があり、レンダリングや編集のような特定のオペレーションについては、ある表現のほうが別の表現より良い場合が多い。このような場合、ある形式から別の形式への変換が実行される。
本明細書では、おそらく最も一般的かつ重要な2次元オブジェクトであるデジタルタイプに主眼を置くが、以下の説明は、すべての種類の2次元オブジェクトに当てはまる。
まず、デジタルタイプに関する基本的背景について説明する。Times New RomanやArialのような典型的なラテンフォントファミリは、例えば標準(regular)、斜体(italic)、太字(bold)および太字斜体(bold italic)のようなフォントの集合を含む。各フォントは、グリフと呼ばれる個々の文字形状の集合を含む。各グリフは、その種々のデザイン特徴、例えば、基礎となるジオメトリ、ストロークの太さ、セリフ、ジョイナリ(joinery)、輪郭の配置および個数、細いストロークと太いストロークの比、ならびにサイズによって区別される。
フォントを表現するには、ビットマップ、アウトライン(例えば、Type 1[Adobe Systems, Inc. 1990]およびTrueType[Apple Computer, Inc. 1990])、および手続き型フォント(例えば、KnuthのMetafont)等の多くの方法があるが、アウトラインが主流である。アウトラインベースの表現は、米国マサチューセッツ州CambridgeのBitstream Inc.、米国カリフォルニア州Mountain ViewのAdobe Systems, Inc.、米国カリフォルニア州CupertinoのApple Computer, Inc.、米国ワシントン州BellevueのMicrosoft Corporation、ドイツ国ハンブルクのURW、および米国マサチューセッツ州WilmingtonのAgfa Compugraphicが採用し普及させている。
Hersch著「Visual and Technical Aspects of Type」(Cambridge University Press. 1993)およびKnuth「TEX and METAFONT: New Directions in Typesetting」(Digital Press, Bedford, MA 1979)は、フォントの歴史および科学についての総説を含んでいる。
特に重要であるのは、ボディタイプサイズおよびディスプレイタイプサイズという2つのクラスのタイプサイズである。ボディタイプのフォントは、比較的小さいポイントサイズ(例えば14pt以下)でレンダリングされ、このパラグラフのような文書の本文で使用される。ボディタイプは、可読性および読みやすさのために、高品質のレンダリングを必要とする。ボディタイプのサイズ、タイプフェイス、およびベースライン方位は、単一文書中ではめったに変化しない。
ディスプレイタイプのフォントは、比較的大きいポイントサイズ(例えば36pt以上)でレンダリングされ、タイトルや見出しに、また、雰囲気を設定したり注目を集めたりするためにデザインおよび広告において使用される。ボディタイプとは対照的に、ディスプレイタイプでは審美性が重視される。可読性よりも、空間的および時間的エイリアシングがないことが重要であり、アンチエイリアシングよりもコントラストのほうが重要となり得る。タイプを表現しレンダリングするためのフレームワークは、衝突する要求を有するこれらの2つのクラスの両方をうまく扱うことが非常に重要である。
タイプは、出力デバイス(例えばプリンタやディスプレイ)へ、2値、グレイスケール、またはカラーとしてレンダリングすることができる。一部のレンダリングエンジンは、非常に小さいタイプサイズのために2値レンダリングを使用して、より良好なコントラストを達成している。しかし、適切にヒンティング(hinted)されたグレイスケールフォントも同様な可読性を有することができる。
ヒントとは、各グリフとともに格納される規則または手続きの集合であって、タイプフェイス内のすべてのグリフにわたって対称性、ストロークのウェイト、および一様な外観のような特徴を保持するために、レンダリング中にグリフのアウトラインをどのように修正すべきかを指定するものである。
自動および半自動ヒンティングシステムを設計する試みがなされてきているが、ヒンティングプロセスは依然として、新しいフォントのデザインにおいて、および既存のフォントを低解像度ディスプレイデバイス用にチューニングする場合において、主要なボトルネックであり続けている。また、ヒンティング規則を解釈することの複雑さは、フォントレンダリングのためにハードウェアを使用することを妨げている。ハードウェアサポートがないため、特にリアルタイムでタイプを動画化する時には、使用するピクセル当たりのサンプル数を少なくするというように、ソフトウェアラスタライズ中に妥協を余儀なくされる。
グレイスケールフォントレンダリングは、通常、何らかの形のアンチエイリアシングを伴う。アンチエイリアシングとは、2値フォントに現れるギザギザのエッジや階段効果を平滑化するプロセスである。多くのフォントレンダリングエンジンは独自仕様であるが、ほとんどが、グリッドフィッティングおよびヒンティングの後に、ピクセル当たり4または16サンプルのスーパーサンプリングを使用してから、それぞれ2×2または4×4ボックスフィルタでダウンサンプリングしている。
ボックスフィルタリングのような初歩的フィルタリングは、レンダリング速度の必要性から正当化される。しかし、その手法であっても、動画化タイプに要求されるようなリアルタイムレンダリングには遅すぎることが多く、レンダリングされたグリフは空間的および時間的エイリアシングを被る。
タイポグラフィにおける2つの重要な傾向から、従来技術のフォント表現に固有のいくつかの制限が明らかとなっており、したがって変更が必要とされている。
第1の傾向は、オフィスにおけるコンピュータの中心的役割、家庭でのインターネット閲覧の人気の増大、およびPDA等のハンドヘルド型電子デバイスの普及によって、テキストを画面上で読むことが重視されるようになってきたことである。このようなディスプレイは通常、インチ当たり72〜100ドットの解像度を有し、これは印刷デバイスの解像度よりも大幅に低い。
この低解像度は、読みやすさおよび可読性を保証するために、タイプをラスタライズする際に特別の扱いを要求する。このことは、MicrosoftおよびBitstreamのような企業がそれぞれClear TypeおよびFont Fusionという技術にリソースを投資していることによって証明される通りである。
第2の傾向は、動画化タイプ、あるいはキネティックタイポグラフィの使用である。動画化タイプは、感情を伝え、興味を添え、読者の注意を視覚的に引きつけるために使用される。動画化タイプの重要性は、テレビおよびインターネット広告におけるその広範な使用によって実証されている。
残念ながら、従来のアウトラインベースのフォントは、これらのいずれの領域でも制限を有する。低解像度ディスプレイにタイプをレンダリングすることは、可読性のための良好なコントラストの必要性と、読みやすさのための空間的および/または時間的エイリアシングを減らすこととの間のバランスをとるために、慎重な扱いを必要とする。
上記のように、アウトラインベースのフォントは通常、最適な外観のための命令をレンダリングエンジンに提供するためにヒンティングされる。フォントヒンティングは、多大の労力がかかり、高価である。例えば、1万個を超えるグリフを有し得る日本語や中国語のフォントのための適切にヒンティングされたタイプフェイスを開発するには、数年を要することがある。ヒンティングの重点は、ボディタイプのレンダリング品質を向上させることにあるので、ヒントは、任意のパスに沿って配置されるタイプや動画化タイプの場合には効果的でない傾向がある。
限定された数のフォントサイズおよびタイプフェイスを有する静的文書においてグレイスケールタイプをアンチエイリアシングするためには、高品質フィルタリングを使用することが可能であるが、動画化タイプにおけるフィルタリングの使用は通常、リアルタイムレンダリングに要求される条件によって制限される。
本発明は、2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法を提供する。2次元オブジェクトに対する境界デスクリプタの集合を求める。境界デスクリプタの集合からセル内の隅点を識別する。隅点はオブジェクトの隅を表現する。隅点は、境界デスクリプタの集合を2つのサブ集合に分割する。セルは2つの領域に分割され、その一方の領域は隅点のほうに最も近く、他方の領域は境界デスクリプタの集合のほうに最も近い。隅点を通る、境界デスクリプタの2つの部分集合の一方にそれぞれ対応するような2本の線が求められる。これらの線は2つの領域を画定する。セル内の距離フィールドを再構成するための値の集合および2つの領域を使用する方法が指定される。隅点、2つの領域を画定する線、再構成法、および値の集合はメモリに格納されて、再構成法を適用することによりセル内の距離フィールドを再構成することを可能にする。
本発明は、文字グリフ、企業ロゴ、または任意の2次元オブジェクトの表現、レンダリング、編集、および動画化のための新規なフレームワークを提供する。好ましい一実施の形態では、本発明は、2次元双二次ADFを用いて2次元オブジェクトを表現する。双二次再構成法は、使用記憶容量と計算負荷の間の最適なバランスを提供する。
本発明は、2次元オブジェクトの隅を囲むセル内に2次元距離フィールドを生成する方法を含む。この方法によれば、従来技術よりも必要な記憶容量が大幅に低減され、精度が大幅に向上する。
本発明者等の距離ベースのアンチエイリアシングによるレンダリング方法は、ピクセル当たり単一の、ヒンティングされていない距離サンプルを使用して、従来技術で使用されるスーパーサンプリング方法よりも良好なアンチエイリアシングを提供する。
本発明者等の距離ベースの方法は、ADFの空間階層を活用して、効率的で、最適で、適応的な距離ベースのスーパーサンプリングを提供し、それにより、優れた空間的および時間的アンチエイリアシングを行う。本発明者等の方法は、距離ベースの自動ヒンティングのため、距離ベースのグリッドフィッティングのため、3つの一般的なデジタルフォントのデザインパラダイムを統合するため、およびキネティックタイポグラフィ用のさまざまな特殊効果を生成するための計算基盤も提供する。
グリフの距離フィールド表現
本発明は、グリフ、企業ロゴ、またはオブジェクトの任意のデジタル化表現のような閉じた2次元形状Sを2次元の符号付き距離フィールドDとして表現する。説明の目的上、本明細書ではグリフを使用する。
本発明は、グリフ、企業ロゴ、またはオブジェクトの任意のデジタル化表現のような閉じた2次元形状Sを2次元の符号付き距離フィールドDとして表現する。説明の目的上、本明細書ではグリフを使用する。
非形式的には、グリフの距離フィールドは、フィールド内の任意の点からグリフのエッジまでの最小距離を測る。ここで、距離の符号は、点がグリフの外部にある場合には負であり、点がグリフの内部にある場合には正である。エッジ上の点は距離がゼロである。
形式的には、距離フィールドとは、すべてのp∈R2に対する写像D:R2→Rであって、D(p)=sign(p)・min{‖p−q‖:Sのゼロ値等値面、すなわちエッジ上のすべての点qに対して}であり、sign(p)={pがSの外部にある場合は−1,pがSの内部にある場合は+1}であり、‖・‖はユークリッドノルムである、を満たすものである。
各ピクセルについて単一の離散的サンプルを使用する従来技術のカバレジベースのレンダリング方法は、サンプルがアウトラインに任意に近い場合であっても、グリフを完全に取り損なうことがある。レンダリングされたグリフはギザギザのエッジおよび脱落を有し、これらは両方とも空間的エイリアシングの一種である。グリフが動画化される場合、時間的エイリアシングにより、モーション中に「はう」ように見える、ちらつきのあるアウトラインおよびギザギザのエッジを引き起こす。アンチエイリアシングされたレンダリングを生成するためにピクセル当たりのサンプルを追加すれば、これらのエイリアシング効果を減らすことができるが、許容可能な結果のためには多数のサンプルが必要となることがある。
これに対して、本発明による連続的にサンプリングされる距離値は、サンプルが形状の外部にある場合であっても、グリフの近接性を示す。実際、単一のサンプル値を用いて、各ピクセルを中心とするフィルタフットプリントの内部にグリフのうちのどの程度の部分が入るかを評価することができる。
さらに、距離フィールドは滑らかに変化する、すなわち、C0連続であるので、サンプリングされた値はグリフが移動するとともにゆっくりと変化し、時間的エイリアシングのアーティファクトが減る。
距離フィールドは他の利点も有する。距離フィールドは、インプリシット(implicit)な表現であるので、陰関数の利益を共有する。特に、距離フィールドは、フォントをデザインするための直観的インタフェースを可能にする。例えば、ステム、バー、ラウンド、およびセリフ等のグリフの個々のコンポーネントを独立にデザインすることができる。デザイン後、インプリシットなブレンディング方法を用いてコンポーネントを一緒にブレンディングすることにより、同一タイプフェイスの異なるグリフを構成することができる。
また、距離フィールドは、キネティックタイポグラフィや動画化タイプの分野にも大いに寄与する。というのは、距離フィールドは、オブジェクト間の相互作用をシミュレートするための重要な情報を提供するからである。
好ましい一実施の形態では、適応的にサンプリングされた距離フィールド(adaptively sample distance field)、すなわちADFを使用する。米国特許第6,396,492号「Detail-directed hierarchical distance fields」(Frisken、Perry、およびJones)を参照されたい。この米国特許は参照により本明細書に援用される。
ADFは、距離フィールドの効率的なデジタル表現である。ADFは、ディテール指向サンプリングを使用することにより、フィールドを表現するために必要なサンプル数を減らす。サンプルは、効率的処理のために、セルの空間階層、例えばquadtreeに格納される。また、ADFは、サンプリングされた値から距離フィールドを再構成する方法を提供する。
ディテール指向また適応サンプリングは、フィールドにおける局所変動に従って距離フィールドをサンプリングする。すなわち、局所変動が高い場合には使用するサンプルを多くし、局所変動が低い場合には使用するサンプルを少なくする。適応サンプリングは、規則的にサンプリングされた距離フィールド(これはフィールド全体を通じて一様なレートでサンプリングを行う)および3色quadtree(これは常にエッジ付近では最大レートでサンプリングする)のいずれに比べても、必要な記憶容量を大幅に低減する。
図1Aおよび図1Bは、Times Romanの「a」および「D」に対する3色quadtreeに必要なセル数を、同じ精度の図2A〜図2Bにおける双二次ADFに必要なセル数と比較している。セル数は、必要な記憶領域に直接関係する。両方のquadtreeとも、距離値の512×512イメージに等価な解像度を有する。「a」および「D」に対する3色quadtreeはそれぞれ17,393セルおよび20,813セルを有する一方、それらに対応する双二次ADFは457セルおよび399セルを有する。双二次ADFは通常、Frisken等の従来技術の双一次表現(「Adaptively Sampled Distance Fields: a General Representation of Shape for Computer Graphics」(Proceedings ACM SIGGRAPH 2000, pp.249-254, 2000))よりも5〜20分の1の個数のセルしか必要としない。
双二次再構成法
Frisken等は、ADF空間階層にquadtreeを使用し、双一次補間によって、各セルの四隅でサンプリングされた距離から各セルの内部の距離および勾配を再構成している。Frisken等は、「高次の再構成法...を用いればさらに圧縮が高まるかもしれないが、数値は既に、これ以上の努力に対する収穫逓減点を示唆している」と示唆している。
Frisken等は、ADF空間階層にquadtreeを使用し、双一次補間によって、各セルの四隅でサンプリングされた距離から各セルの内部の距離および勾配を再構成している。Frisken等は、「高次の再構成法...を用いればさらに圧縮が高まるかもしれないが、数値は既に、これ以上の努力に対する収穫逓減点を示唆している」と示唆している。
しかし、双一次ADFは、本発明による文字グリフを表現し、レンダリングし、編集し、動画化するには不適切である。特に、双一次ADFは、あまりに多くの記憶容量を必要とし、処理するにはあまりに非効率的であり、非エッジセル内の再構成フィールドの品質は、動的シミュレーションのようなオペレーションには不十分である。
「有界サーフェイス(bounded-surface)」法は、サーフェイス(すなわちエッジ)から有界距離内の非エッジセルが、ある誤差判定テストに合格することを要請することによって、非エッジセルのさらなる細分割を強制することができる。Perry等「Kizamu: A System for Sculpting Digital Characters」(Proceedings ACM SIGGRAPH 2001, pp.47-56, 2001)を参照されたい。これは、この有界領域内の距離フィールドにおける誤差を縮小するが、本発明者等は、双一次ADFの場合、この方法の結果として、セル数が許容できないほど増大することを見出した。
上記の制限に対処するため、双一次再構成法を双二次再構成法で置き換える。典型的なグリフの双二次ADFは、双一次ADFよりも5〜20分の1の個数のセルしか必要としない傾向がある。動的シミュレーションや動画化タイプのようなオペレーションのために非エッジセル内の正確な距離フィールドが必要な場合には、必要なセル数が大幅に低減される。
このような記憶容量の大幅な低減により、典型的な動画に必要なグリフは、最新のCPUのオンチップキャッシュに収まる。これは、処理時間に対する劇的な効果を有する。その理由は、システムメモリアクセスが実質的になくなるため、高次の再構成法に必要な追加的計算が容易に相殺されるからである。
図3は、本発明の好ましい実施の形態による双二次ADFセル300を示している。双二次ADFにおける各セルは、9個の距離値301を含む。点(x,y)302における距離および勾配が、下記の式1〜式3に従って、これらの9個の距離値から再構成される。
さまざまな双二次再構成法が利用可能である。本発明者等は、同一サイズの隣接セルの共有エッジに沿ってC0連続性を保証する2変数補間多項式を使用する。双一次法の場合と同様、異なるサイズの隣接セル間の距離フィールドの連続性は、誤差判定を用いて、指定された許容差に維持される。誤差判定は、ADF生成中のセル細分割を制御する。前掲のPerry他の文献を参照されたい。
浮動小数点演算を用いて距離を再構成するには約35浮動小数点演算(flops)を必要とする可能性があり、浮動小数点演算を用いて勾配を再構成するには約70flopsを必要とする可能性がある。本発明者等の再構成法は分岐を含まず、グリフは完全にオンチップキャッシュに存在することができるので、最新のCPUの特殊なCPU命令および深い命令パイプラインを利用することにより、これらの再構成法をさらに最適化することができる。また、固定小数点演算を用いて距離および勾配を再構成することもできる。
伝送および格納のための圧縮
線形Quadtrees
ADFquadtreeの空間階層は、ある処理(例えば衝突検出)には必要であるが、他の処理(例えば後述のようなセルベースのレンダリング)には不要である。
線形Quadtrees
ADFquadtreeの空間階層は、ある処理(例えば衝突検出)には必要であるが、他の処理(例えば後述のようなセルベースのレンダリング)には不要である。
ADFグリフの伝送および格納のための圧縮を行うため、線形quadtree構造を使用する。この木構造は、本発明者等の双二次ADFをリーフセルのリストとして格納する。木構造は、必要に応じてリーフセルから再生成することができる。
線形ADFquadtreeの各リーフセルは、セルのxおよびy位置としてそれぞれ2バイト、セルレベルとして1バイト、セル中心における距離値として2バイト、および中心距離値からの8個の距離オフセットとしてそれぞれ1バイトを含み、合計でセル当たり15バイトである。
各距離オフセットは、それに対応するサンプル距離を中心距離値から減算し、量子化誤差を低減するためにセルサイズ倍にスケーリングし、切り捨てて8ビットにすることにより求められる。セル位置ごとに2バイト、およびセルレベルに対して1バイトで、216×216までの解像度のADFを表現することができる。これは、ディスプレイ画面解像度でレンダリングされるグリフを表現するには十分以上である。
グリフは、16ビットの距離値で正確に表現することができる。8個の距離値を8ビットの距離オフセットとして符号化することで、これらの値をそれぞれ2バイトで格納するよりも大幅な節約となる。これは理論的には、大きいセルの距離フィールドにおいて多少の誤差につながるかもしれないが、本発明者等にはいかなる視覚的劣化も認められなかった。
高解像度グリフは通常、500〜1000個のリーフセルを必要とする。無損失エントロピー符号化により、さらに35〜50%の圧縮を達成することができる。したがって、高解像度ADFのタイプフェイス全体を300〜500Kバイトで表現することができる。携帯電話の場合のように、ボディタイプのみが要求され、目標解像度が非常に粗い場合には、1/4〜1/2の個数のセルしか必要としない低解像度ADFが使用可能である。
これらのサイズは、グレイスケールビットマップフォント(これは各ポイントサイズごとにタイプフェイス当たり約0.5Mバイトを要する)よりも大幅に小さく、適切にヒンティングされたアウトラインベースのフォントと同程度のサイズである。TrueTypeフォントのサイズは、グリフ数ならびにヒンティングの量および方法に応じて、数十Kバイト〜数十Mバイトの範囲にある。Monotype Corporationの2つの適切にヒンティングされたフォントであるArialおよびTimes New Romanは、それぞれ266Kバイトおよび316Kバイトを要する。
アウトラインからのランタイム生成
本発明によれば、以下で詳細に説明するように、ADFは、Perry等の文献に記載されているタイル型ジェネレータ(tiled generator)を用いて、既存のアウトラインまたは境界デスクリプタ(例えばベジエ曲線)から迅速に生成することができる。グリフのアウトラインまたは境界までの最小距離は、ベジエクリッピングを用いて効率的に計算される。Sederberg等「Geometric Hermite Approximation of Surface Patch Intersection Curves」(CAGD, 8(2), pp.97-114, 1991)を参照されたい。
本発明によれば、以下で詳細に説明するように、ADFは、Perry等の文献に記載されているタイル型ジェネレータ(tiled generator)を用いて、既存のアウトラインまたは境界デスクリプタ(例えばベジエ曲線)から迅速に生成することができる。グリフのアウトラインまたは境界までの最小距離は、ベジエクリッピングを用いて効率的に計算される。Sederberg等「Geometric Hermite Approximation of Surface Patch Intersection Curves」(CAGD, 8(2), pp.97-114, 1991)を参照されたい。
生成は、2GHzのPentium(登録商標) IVプロセッサ上でグリフ当たり0.04〜0.08秒を要する。タイプフェイス全体は、約4秒で生成可能である。従来のヒントが必要でないため、ADFを生成するのに必要な境界デスクリプタは、それに対応するヒンティングされた対応物よりも大幅に小さい。
したがって、ADFを格納するのではなく、これらの最小限のアウトラインを格納し、オンデマンドでこれらのアウトラインから動的にADFグリフを生成することができる。これらの最小限アウトラインのサイズが小さいことは、記憶容量が限られたデバイスにとって、および帯域幅が制限されたネットワークを通じてグリフを伝送するアプリケーションにとって重要である。
図10は、グリフのような2次元オブジェクトを2次元距離フィールドに変換する方法1000を示している。オブジェクト1001は、境界デスクリプタ(例えばスプライン)の集合およびフィル規則(例えば、偶奇規則や非ゼロ巻数規則)として表現される。
まず、境界デスクリプタの集合を前処理する(1010)。前処理は、境界デスクリプタを細分割することにより、それらの空間的広がりを縮小する。境界デスクリプタの集合の濃度を小さくするために、境界デスクリプタを合体させてもよい。前処理により、以下で説明するように、符号なし距離を求める際に各位置について問い合わせる必要のある境界デスクリプタの数が減少する。
空間階層1021(例えばquadtree)を、前処理された境界デスクリプタの集合1011から構成する(1020)。交点のキャッシュ1031を初期化する(1030)。交点のキャッシュ1031は、境界デスクリプタが距離フィールドの線集合(例えば水平線、垂直線、斜め線等)と交差する位置およびその交差方向を格納する。これにより、符号なし距離の符号を決定する際の冗長な計算が除去される。交点は区間でソートすることができる。
次に、位置の集合において空間階層1021に問合せを行う(1040)ことにより、それらの位置における距離の集合を求める。その距離の集合を用いて、2次元距離フィールド1041を構成する。問合せは、各位置における距離関数(例えばベジエクリッピング)を呼び出して、符号なし距離を求める。交点のキャッシュ、位置、およびフィル規則を用いて、その距離に対する符号を決定する。
コンポーネントベースのフォントによる圧縮
中国語、日本語、および韓国語のフォント(これらは10,000以上のグリフからなることがある)に対して、Font Fusionの場合のようにコンポーネントベースの表現を用いることにより、大幅な圧縮を達成することができる。その表現は、グリフを共通のストロークおよび部首(すなわち、複数のグリフに共通の複雑な形状)に分解し、ストロークおよび部首をフォントライブラリに格納してから、それらをフォントレンダリングエンジンで再結合する。
中国語、日本語、および韓国語のフォント(これらは10,000以上のグリフからなることがある)に対して、Font Fusionの場合のようにコンポーネントベースの表現を用いることにより、大幅な圧縮を達成することができる。その表現は、グリフを共通のストロークおよび部首(すなわち、複数のグリフに共通の複雑な形状)に分解し、ストロークおよび部首をフォントライブラリに格納してから、それらをフォントレンダリングエンジンで再結合する。
距離フィールドはインプリシットな表現であるため、ADFは、ブレンディングまたはCSG演算を用いて容易に結合することができ、したがって、コンポーネントベースの手法による圧縮によく適している。
2次元距離フィールドにおける隅の表現
双一次または双二次再構成法によるディテール指向サンプリングにより、ADFは、少数の距離値で2次元オブジェクトの境界の比較的滑らかなセクションを表現することができる。しかし、隅(コーナー)付近では、距離フィールドはこれらの再構成法で十分に近似されない高い変動を有する。隅付近で正確に距離フィールドを表現するために、このようなADFでは、隅を含むセルを高度に細分割しなければならず、必要な記憶容量が大幅に増大する。また、Perry等の文献に記載されているようにADF生成中に課されるADFの最大細分割レベルは、双一次および双二次ADFセルを用いて隅を表現することができる精度を制限する。
双一次または双二次再構成法によるディテール指向サンプリングにより、ADFは、少数の距離値で2次元オブジェクトの境界の比較的滑らかなセクションを表現することができる。しかし、隅(コーナー)付近では、距離フィールドはこれらの再構成法で十分に近似されない高い変動を有する。隅付近で正確に距離フィールドを表現するために、このようなADFでは、隅を含むセルを高度に細分割しなければならず、必要な記憶容量が大幅に増大する。また、Perry等の文献に記載されているようにADF生成中に課されるADFの最大細分割レベルは、双一次および双二次ADFセルを用いて隅を表現することができる精度を制限する。
この問題点に対処するため、本発明は、グリフのような2次元オブジェクトの隅を包囲するセル内に2次元距離フィールドを生成する方法1300を提供する。
方法1300は、2次元オブジェクトから境界デスクリプタの順序集合1311を求め(1310)、境界デスクリプタの順序集合1311からセル内の隅点1321を識別する(1320)。次に、セルを、隅のほうに最も近い第1領域およびオブジェクトの境界のほうに最も近い第2領域という2つの領域に分割する(1330)。また、方法1300は、セル内の距離を再構成するための再構成法およびサンプリングされた距離値の集合1371を指定し(1340)、隅点1321、領域を画定する線、再構成法、およびサンプリングされた距離値の集合1371をメモリに格納する(1380)。
再構成法は、セル内の点における距離を、その点が存在する領域に応じて求める。第1領域内の問合せ点に対する距離は、問合せ点から隅点までの距離として求められる。
第2領域における距離を求めるため、境界デスクリプタの順序集合1311を、隅点1321の前の境界デスクリプタを含む部分集合と、隅点1321の後の境界デスクリプタを含む部分集合という2つの部分集合に分割する(1350)。次に、セルを内部および外部セクションに分割する延長された曲線を形成するように、境界デスクリプタの各部分集合を拡張する(1360)。各セクションについて、セル内の距離フィールドは、対応する延長された曲線から求められる(1370)サンプル距離値の集合1371から再構成することができる。双二次再構成法の場合、2つのセクションのそれぞれについて、9個の距離値を格納する必要がある。
なお、2つの内部セクションの共通部分はオブジェクトの隅をなすことに留意されたい。したがって、第2領域内の距離は、第1内部セクションまでの距離および第2内部セクションまでの距離を再構成してから、2つの求められた距離の最小値を選択することにより求めることができる。
2つの領域は、隅点を通る2本の有向線から指定することができる。各線は、境界デスクリプタの2つの部分集合の一方に垂直である。各線は、隅点と、その隅点における境界デスクリプタの対応する部分集合の外向き法線で指定することができる。こうして線が画定されると、その線のどちらの側に問合せ点があるかを、問合せ点から隅点へのベクトルと外向き法線との交差積を求めることにより判定することができる。両方の線の外部の側にある点は第1領域にあり、いずれかの線の内部の側にある点は第2領域にある。
フォントレンダリング
現在のフォントレンダリングエンジンでは、ほとんどの場合、フォントはアウトラインとして表現され、必要に応じて所望の出力サイズに適合するようにスケーリングされる。ほとんどの高解像度プリンタは2値レンダリングを使用しているが、最新のディスプレイデバイスは、小さいポイントサイズにおいて、グレイスケールレンダリング、またはグレイスケールレンダリングと2値比レンダリングの組合せを使用するほうが普通である。
現在のフォントレンダリングエンジンでは、ほとんどの場合、フォントはアウトラインとして表現され、必要に応じて所望の出力サイズに適合するようにスケーリングされる。ほとんどの高解像度プリンタは2値レンダリングを使用しているが、最新のディスプレイデバイスは、小さいポイントサイズにおいて、グレイスケールレンダリング、またはグレイスケールレンダリングと2値比レンダリングの組合せを使用するほうが普通である。
グレイスケールグリフをラスタライズするための一般的手法では、それらのアウトラインに対するスケーリングおよびヒンティングを行う。スケーリングされヒンティングされたアウトラインを、通常は所望の解像度の4〜16倍の大きさの高解像度イメージに走査変換する。次に、フィルタリング方法(例えばボックスフィルタ)を適用することによって、高解像度イメージをダウンサンプリングして、最終的なグレイスケールイメージを生成する。
ボディタイプの場合、個々のグリフを一度ラスタライズし、前処理ステップで再使用するためにグレイスケールビットマップとしてキャッシュに格納することができる。グリフのサブピクセル配置の必要性から、各グリフのいくつかのバージョンをラスタライズしなければならないことがある。ボディタイプに対してキャッシュを使用することにより、例えばAdobe Acrobat PDF文書でページ移動するようなタスク中に、短い遅延(例えば1/2秒)での高品質のレンダリングが可能となる。
しかし、任意のパスに対してレンダリングされたタイプおよび動画化タイプではキャッシュを使用することができないため、それらのタイプはオンデマンドで生成しなければならない。リアルタイムレンダリングの要求は、低解像度のフィルタリング(通常はピクセル当たり4サンプルでボックスフィルタリング)の使用を余儀なくさせる。これは、空間的および時間的エイリアシングを引き起こすことがある。エイリアシングは、システムメモリに存在するヒンティングされたデバイスフォントを用いて低減することができる。しかし、リアルタイムフレームレートを維持することは、ヒンティングされたデバイスフォントをどのようにして使用することができるかに対する重大な制約となる。例えば、ヒンティングされたデバイスフォントを動的にスケーリングまたは回転することができない。
ClearTypeに関するMicrosoftの最近の仕事は、アドレス可能なカラーサブピクセル(すなわちコンポーネント)の繰り返しパターンを含むLCDカラーディスプレイに対する特別な扱いにつながっている。Plattは、「Optimal Filtering for Patterned Displays」(IEEE Signal Processing Letters, 7(7), pp.179-180, 2000)において、各色コンポーネントに対する知覚的に最適なフィルタの集合を記述している。実際には、最適なフィルタは、各色ごとに1つずつの、3個の変位したボックスフィルタの集合として実現される。
ClearTypeは、従来技術のカバレジベースのアンチエイリアシング方法を用いて各ピクセルの各コンポーネントの強度を決定する。これに対して、本発明者等の距離フィールドベースの方法は、距離フィールドを用いて各ピクセルの各コンポーネントの強度を決定し、より少数のサンプルを用いてこれを行う。以下で説明する本発明者等のADFアンチエイリアシング方法は、ピクセル当たりのサンプル数を少なくした最適フィルタのエミュレーションを改善するために、ボックスフィルタに取って代わることができる。
アンチエイリアシング
レンダリングされたフォントにおける外観アーティファクトを理解するには、エイリアシングの理解が必要である。通常、1つのピクセルは離散的なコンポーネント(例えば、カラープリンタやディスプレイでは赤、緑、および青コンポーネント)から構成される。グレイスケールデバイスでは、ピクセルは単一の離散的コンポーネントである。ピクセルは離散的であるので、出力デバイスへのレンダリングは本質的にサンプリングプロセスである。サンプリングレートは、デバイスの解像度に依存する。サンプリングレートがソース信号中の最高周波数の少なくとも2倍(ナイキスト周波数)でなければ、サンプリングされた信号はエイリアシングを呈する。
レンダリングされたフォントにおける外観アーティファクトを理解するには、エイリアシングの理解が必要である。通常、1つのピクセルは離散的なコンポーネント(例えば、カラープリンタやディスプレイでは赤、緑、および青コンポーネント)から構成される。グレイスケールデバイスでは、ピクセルは単一の離散的コンポーネントである。ピクセルは離散的であるので、出力デバイスへのレンダリングは本質的にサンプリングプロセスである。サンプリングレートは、デバイスの解像度に依存する。サンプリングレートがソース信号中の最高周波数の少なくとも2倍(ナイキスト周波数)でなければ、サンプリングされた信号はエイリアシングを呈する。
エッジ(例えばグリフアウトライン)は、無限個の周波数成分を有する。したがって、サンプリングされたデータでエッジを厳密に表現することはできない。エッジの不十分なサンプリングは、ギザギザを生じ、これは動画像において、サンプリングされたエッジに沿ってはう傾向がある。ソース信号が空間的パターン(例えば、「m」の垂直ステムの繰り返しや、「i」の単一の垂直ステム)も含み、その周波数成分がサンプリングレートに比べて高すぎる場合、サンプリングされたデータは脱落、モアレパターン、および時間的ちらつきを呈することがある。
エイリアシングを避けるには、入力信号をプレフィルタリングすることによって、サンプリングレートで許容される周波数成分よりも高い周波数成分を除去しなければならない。一般的に、プレフィルタリングには2つの手法がある。
第1の手法は解析的フィルタリングと知られている。これは、サンプリングの前に、ソース信号の連続表現に対して、ある種の空間的平均化を適用する。残念ながら、解析的フィルタリングは不可能なことが多く、その理由は、ソースデータが連続信号として提供されない(これは画像処理では通例である)か、または、フィルタフットプリント内の信号の解析的記述を求めるのは複雑すぎるためである。これは、コンピュータグラフィックスにおける単純な幾何形状以外のすべての場合に当てはまり、スプラインベースのアウトラインについては確かに成り立つ。
第2の手法は離散的フィルタリングとして知られている。この手法では通常、ソース信号を目標レートよりも高いレートでサンプリングすることにより、スーパーサンプリングされたイメージを得る。次に、離散的フィルタを適用して、スーパーサンプリングされたイメージ中の高い周波数を低減した後で、イメージを目標レートまでダウンサンプリングする。この離散的手法は、コンピュータグラフィックスにおいては規則的スーパーサンプリング(regular supersampling)と呼ばれる。
処理バジェット、ハードウェアの考慮点、および出力イメージにおけるコントラスト対滑らかさに対する個人的選好に応じて、種々の離散的フィルタを適用することができる。タイプをレンダリングするために通常使用されるボックスフィルタは、スーパーサンプリング値の矩形配列をそれらの算術平均で単に置き換えるものであり、一般的に信号処理分野では劣るものとみなされている。
もう1つの手法として、適応スーパーサンプリングは、より高い局所周波数成分を有するイメージの領域に対するサンプリングおよびフィルタリングのために、利用可能なリソースを集中させる。最適な適応サンプリングは、イメージ内の局所変動性から決定することができる。しかし、この技法の有用性は、イメージの局所変動を推定する必要性によって制限される。この推定のプロセスは、計算量的に高価になることがある。
高周波パターンの不十分な規則的サンプリングに起因するモアレパターンは、人間の視覚系には特に好ましくない。一般的な画像処理では、確率的サンプリングすなわちジッタ付きサンプリング(jittered sampling)を用いてこの問題点を解決している。確率的サンプリングでは、サンプルをその公称位置からわずかにランダムに変位させる。確率的サンプリングは、モアレパターンエイリアシングを高周波ノイズで置き換える傾向があり、時間的エイリアシングを低減する場合に特に有効であることが示されている。
距離ベースのアンチエイリアシングを伴うレンダリング
グリフのエッジにより導入される無限個の周波数成分は、従来技術のフォントレンダリングにおけるエイリアシングへの主要な寄与である。これに対して、本発明によって、2D距離フィールドを用いて2Dオブジェクトを表現してから2D距離フィールドをサンプリングすれば、表現がC0連続であるので、そのようなエッジが回避される。代わりに、最大周波数が、グリフ自体の空間的パターン(例えば、「m」の垂直ステムの繰り返しや、「i」の単一の垂直ステム)に依存する。
グリフのエッジにより導入される無限個の周波数成分は、従来技術のフォントレンダリングにおけるエイリアシングへの主要な寄与である。これに対して、本発明によって、2D距離フィールドを用いて2Dオブジェクトを表現してから2D距離フィールドをサンプリングすれば、表現がC0連続であるので、そのようなエッジが回避される。代わりに、最大周波数が、グリフ自体の空間的パターン(例えば、「m」の垂直ステムの繰り返しや、「i」の単一の垂直ステム)に依存する。
本発明者等は、グリフをその2D距離フィールドで表現することによって、解析的プレフィルタを効果的にグリフに適用している。以下で説明するような、距離フィールドをレンダリングするための本発明者等のアンチエイリアシング方法によれば、従来の解析的プレフィルタの出力とは異なる出力が得られる。
距離フィールドによるアンチエイリアシング
図4は、2次元距離フィールド411として表現(410)されたオブジェクト401(例えばグリフ)をイメージ順にアンチエイリアシングする方法400を示している。各ピクセル402は、1つまたは複数のコンポーネント404(「RGB」型の出力デバイスの場合は通常、赤、青、および緑コンポーネント)を含むことができる。この方法は、各ピクセル402の各コンポーネント404に対して1つまたは複数のサンプルを使用することができる。方法400は、適応的な距離ベースのスーパーサンプリング、距離ベースの自動ヒンティング、および距離ベースのグリッドフィッティングを提供する。結果として得られるアンチエイリアシングされたピクセル強度は、イメージの一部としてCRTおよびLCDのようなディスプレイ上にレンダリングされることが可能である。本方法は、モーションブラーをレンダリングするのに特に有用である。
図4は、2次元距離フィールド411として表現(410)されたオブジェクト401(例えばグリフ)をイメージ順にアンチエイリアシングする方法400を示している。各ピクセル402は、1つまたは複数のコンポーネント404(「RGB」型の出力デバイスの場合は通常、赤、青、および緑コンポーネント)を含むことができる。この方法は、各ピクセル402の各コンポーネント404に対して1つまたは複数のサンプルを使用することができる。方法400は、適応的な距離ベースのスーパーサンプリング、距離ベースの自動ヒンティング、および距離ベースのグリッドフィッティングを提供する。結果として得られるアンチエイリアシングされたピクセル強度は、イメージの一部としてCRTおよびLCDのようなディスプレイ上にレンダリングされることが可能である。本方法は、モーションブラーをレンダリングするのに特に有用である。
オブジェクト401を表現する2次元距離フィールド411内のサンプル点407の集合403を、各ピクセル402の各コンポーネント404に関連づける(420)。距離(D)405を、2次元距離フィールド411およびサンプル点集合403から求める(430)。次に、距離405を、ピクセル402のコンポーネント404のアンチエイリアス強度(I)406にマッピングする(440)。
好ましい実施の形態では、グリフ401を、上記のように双二次ADF411で表現する(410)。これにより、フォントレンダリング中に距離ベースのアンチエイリアシングを適用することが効率的になる。2次元距離マップ、2次元距離シェル、および手続き型距離フィールドのような他の表現も使用可能である。
2002年7月31日出願の「Method for Traversing Quadtrees, Octrees, and N-Dimensional Bitrees」と題する米国特許出願第10/209,302号(これは参照により全体として本明細書に援用される)に記載されているquadtreeトラバース法を用いて、イメージ内の各ピクセル402の各コンポーネント404について、コンポーネント404を含むセル(例えばリーフセル)を見つける。当技術分野で既知の他のトラバース法も本発明で使用可能であるが、上記の方法は比較を含まないため実行が効率的である。コンポーネント404における距離は、セルの距離値から再構成され、アンチエイリアス強度(I)406にマッピングされる(440)。
一次関数、ガウス関数、およびシグモイド関数を含むさまざまなマッピングが使用可能である。最良のマッピング関数の選択は主観的である。一実施の形態では、本発明者等のマッピングは2つの関数の合成である。第1の関数は上記の通りであり、第2の関数はコントラスト強調関数である。これらの2つの関数を合成することにより、距離フィールド(D)405をコンポーネント404のアンチエイリアス強度(I)406にマッピングする(440)。
図5は、距離502の関数としての強度501(例えば[0,1])の線形マッピング500を示している。このマッピングは、距離をピクセルの各コンポーネントに対するアンチエイリアシングされたイメージ強度に変換する。距離は、オブジェクトの内部では正であり、オブジェクトの外部では負である。異なるカットオフ値503および504が、エッジコントラストおよびストロークウェイトに影響を及ぼす。本発明者等は、外部503および内部504フィルタカットオフ値として、ディスプレイタイプのピクセルでは(−0.75,0.75)、ボディタイプのピクセルでは(−0.5,0.625)の場合に良好な結果を達成している。
最適な距離ベースの適応スーパーサンプリング
上記の距離ベースのアンチエイリアシング方法は、グリフエッジに起因するエイリアシングを低減する。しかし、ステム幅やグリフコンポーネント間の間隔がディスプレイのサンプリングレートに比べて小さすぎる場合には、依然としてエイリアシングアーティファクトが生じる。このような場合に、以下で説明する距離ベースの適応スーパーサンプリングを適用することにより、空間的および時間的エイリアシングをさらに低減する。
上記の距離ベースのアンチエイリアシング方法は、グリフエッジに起因するエイリアシングを低減する。しかし、ステム幅やグリフコンポーネント間の間隔がディスプレイのサンプリングレートに比べて小さすぎる場合には、依然としてエイリアシングアーティファクトが生じる。このような場合に、以下で説明する距離ベースの適応スーパーサンプリングを適用することにより、空間的および時間的エイリアシングをさらに低減する。
好ましい実施の形態では、本発明者等の新規な距離ベースの適応スーパーサンプリングとともに双二次ADFを使用することにより、従来技術のアウトラインベースの表現およびカバレジベースの適応スーパーサンプリング法よりも優れた利点を提供する。ADFはディテール指向のサンプリングを使用するので、距離フィールドの領域は、その局所変動が高いほど、小さいリーフセルで表現される。したがって、ADFquadtreeの構造は、最適な距離ベースの適応サンプリングを実施するのに必要な局所変動のマップを提供し、上記のような局所変動を決定する従来技術の適応スーパーサンプリングによるアンチエイリアシング方法における困難を克服する。
イメージ内の各ピクセル402の各コンポーネント404について、コンポーネント404を含むセルを見つけ、そのコンポーネントのフィルタ半径r内のサンプル点407の集合403を、ピクセルコンポーネント404に関連づける(420)。コンポーネント当たりのサンプル点407の個数(spc)は、rに対するセルの相対サイズ(cellSize)に依存する。サンプル点407におけるサンプリングされた距離をフィルタリングすることにより、単一の重みつき平均距離405を求めてから(430)、ピクセル402のコンポーネント404のアンチエイリアス強度406にマッピングする(440)。
種々のフィルタおよびサンプリング戦略が可能である。好ましい実施の形態では、一般的な形式のガウシアンフィルタを使用し、各距離サンプルに
の重みをかける。ここで、dはサンプル点からピクセルのコンポーネントまでの距離であり、Wはそのコンポーネントに用いられる重みの和である。ボックスフィルタ、コーンフィルタ、負ローブフィルタ、および他の形式のガウシアンフィルタでも同様の結果を得ることができる。
図6A〜図6Cは、本発明者等のサンプリング戦略を示している。サンプル407は、重みおよび重み和の効率的計算のために、コンポーネント601の近くに同心円610をなして配置される。ピクセル間間隔の1.3倍のフィルタ半径r602を使用し、cellSize>rの場合(図6A)は1spcで、r/2<cellSize≦rの場合(図6B)は5spcで、そしてcellSize≦r/2の場合(図6C)は13spcでサンプリングする。
サンプル点407をピクセルコンポーネント404に関連づけるために、本発明は、同心円ではなく数多くの他の戦略を使用することもできる。本発明者等の方法は、厳密にどのサンプリング戦略を採るかということにはあまり左右されない。
以下で説明するもう1つの適応サンプリング戦略は、フィルタ半径r内に含まれるすべてのセルの中心にサンプル点を配置する。この戦略も同程度に良好な結果を有する。
セルベースのアンチエイリアシング
上記の距離フィールドによるアンチエイリアシング方法は、走査線ベースのラスタライズを用いたソフトウェアとして実施することができる。別法として、セルに分割された距離フィールドをセルごとに、すなわちオブジェクト順にアンチエイリアシングすることができる。セルベースのレンダリングによれば、サンプル点を含むセルを見つけるために木をトラバースすることが不要となり、単一セル内で距離および勾配を計算するための冗長な設定が不要となり、セルデータの取得(すなわちメモリフェッチ)の繰り返しが少なくなる。
上記の距離フィールドによるアンチエイリアシング方法は、走査線ベースのラスタライズを用いたソフトウェアとして実施することができる。別法として、セルに分割された距離フィールドをセルごとに、すなわちオブジェクト順にアンチエイリアシングすることができる。セルベースのレンダリングによれば、サンプル点を含むセルを見つけるために木をトラバースすることが不要となり、単一セル内で距離および勾配を計算するための冗長な設定が不要となり、セルデータの取得(すなわちメモリフェッチ)の繰り返しが少なくなる。
さらに、レンダリングに必要なセルを固定サイズの自己完結的なユニットの順次ブロックとして表現することができる(すなわち、セル内の点に対する距離および勾配がセルの距離値から求まる)ので、本発明者等のセルベースの手法は、ハードウェア実装に適しており、リアルタイムレンダリングが可能となる。
図7は、2次元距離フィールド711として表現(710)されたオブジェクト701(例えばグリフ)をオブジェクト順にアンチエイリアシングする方法700を示している。方法700は、適応的な距離ベースのスーパーサンプリング、距離ベースの自動ヒンティング、および距離ベースのグリッドフィッティングを提供する。結果として得られるアンチエイリアシングされたピクセル強度は、イメージの一部としてCRTおよびLCDのようなディスプレイ上にレンダリングされることが可能である。本方法は、モーションブラーをレンダリングするのに特に有用である。2次元距離フィールド711のセルが、必要な距離サンプルの数を減らすために空間階層に編成されている場合には、ミップマッピングを使用することができる。
2次元距離フィールド711をセル712に分割する。双二次の適応的にサンプリングされた距離フィールドを使用する好ましい一実施の形態では、各セルのサイズは2次元距離フィールドの局所変動に依存する。各セルは、セル内の2次元距離フィールドを再構成する方法(M)713を含む。レンダリングすべき距離フィールドの領域(破線)722を含むセル721の集合を識別する(720)。
領域722を用いて、その領域に関連するピクセルの集合731を見つける(730)。ピクセル集合731に属する各ピクセルについて、コンポーネント741の集合を指定する(740)。次に、セルの集合における距離から各ピクセルの各コンポーネントについてアンチエイリアス強度751を求める。ここで、距離は、セルの集合から再構成される。その後、上記のように、距離をアンチエイリアス強度にマッピングする。
一実施の形態では、ピクセルのコンポーネント付近のセル集合内で単一のサンプル点を見つけ、その単一サンプル点におけるセル集合からの距離を再構成することによって、距離を求めることができる。双二次の適応的にサンプリングされた距離フィールドを使用する本発明の好ましい実施の形態では、この手法は、適応的な距離ベースのスーパーサンプリングに対するフィルタ半径よりも小さいセルの特別扱いによって強化される。小さいセルは、距離フィールドに高い変動がある場合に生じるので、これらのセルの近くのピクセルにおける距離は、距離を強度にマッピングする前にプレフィルタリングすることができる。
要素の合成バッファを初期化する。ここで各要素は、ピクセル集合の各ピクセルのコンポーネントに対応する。セル集合に属する各セルは独立に処理することができる。好ましい実施の形態では、各要素は、重み付き距離および累積重みからなり、これらはいずれもゼロに初期化される。セルが処理される時、これらの重み付き距離および累積重みは、そのセル内、またはそのセルの中心からフィルタ半径内のいずれかに存在するピクセルコンポーネントに対応するバッファ要素においてインクリメントされる。
すべてのセルを処理した後、重み付き距離を各ピクセルの各コンポーネントに対する累積重みで正規化することにより距離を生成してから、その距離をアンチエイリアシングされたコンポーネント強度にマッピングする。好ましい実施の形態では、上記と同じガウシアン重みおよびフィルタ半径を使用する。
以上説明した本発明者等のセルベースのレンダリングは、フィルタ半径に対する各セルの相対サイズとは無関係に、セル集合に属するあらゆるリーフセルを常に処理する。理論的には、これは最適の適応的な距離ベースのスーパーサンプリングを提供する。実際には、ADFquadtreeをミップマッピングとして使用することにより、セル数を減らすことができる。
ADFquadtree構造により、小さいリーフセルをそれらの祖先で置き換え、実質的にquadtreeをある所定のセルサイズで打ち切ることができる。このセルサイズがピクセル間間隔の1/4以下である限り、適応的な距離ベースのスーパーサンプリング結果における視覚的劣化はない。これは、領域をレンダリングするためのセル数を減少させる。
ピクセルコンポーネントの処理
1つのピクセルは、1つまたは複数のコンポーネントを含む。例えば、典型的なCRTまたはLCDカラーモニタ上のピクセルは、赤、緑、および青コンポーネントを含む。本発明では、ピクセルが複数のコンポーネントを含む場合には、上記のように独立に扱うこと、または単一のコンポーネントとして処理することができる。複数のコンポーネントを単一コンポーネントとして処理する場合、ピクセルの色およびアルファ値は、その単一コンポーネントのアンチエイリアス強度から求めることができる。
1つのピクセルは、1つまたは複数のコンポーネントを含む。例えば、典型的なCRTまたはLCDカラーモニタ上のピクセルは、赤、緑、および青コンポーネントを含む。本発明では、ピクセルが複数のコンポーネントを含む場合には、上記のように独立に扱うこと、または単一のコンポーネントとして処理することができる。複数のコンポーネントを単一コンポーネントとして処理する場合、ピクセルの色およびアルファ値は、その単一コンポーネントのアンチエイリアス強度から求めることができる。
複数のコンポーネントを単一のコンポーネントとして処理するのには2つの理由がある。第1に、それによりレンダリング時間が短縮される。第2に、複数のコンポーネントを個別にアドレスすることができない場合、または個別のコンポーネントの相対位置が不明の場合、各コンポーネントを個別に扱うことは不可能である。
LCDのようなディスプレイデバイスがアドレス可能なピクセルコンポーネントを有する場合、当技術分野で知られているように、複数のコンポーネントを独立に処理することにより、デバイスの有効解像度を上げることができる。本発明は、そのようなデバイスのこの特徴を活用して、従来技術よりも優れた品質の距離ベースのアンチエイリアシングを行うことができる。
2次元オブジェクトの動画化
図12は、動画スクリプト1202に従ってフレームのシーケンスとしてオブジェクト1201を動画化する方法1200の流れ図を示している。動画スクリプト1202は、フレームシーケンス中の各フレームについて、オブジェクトの状態(例えば、オブジェクトの位置、サイズ、方位、および変形)を指示する。オブジェクトは、2次元距離フィールドとして表現される。オブジェクト1201のポーズ1211は、動画スクリプト1202に従ってフレームシーケンス1221中の各フレームについて更新される(1210)。オブジェクト1201は、更新されたポーズ1211および距離ベースのアンチエイリアシングによるレンダリング方法1212を用いてレンダリングされる。
図12は、動画スクリプト1202に従ってフレームのシーケンスとしてオブジェクト1201を動画化する方法1200の流れ図を示している。動画スクリプト1202は、フレームシーケンス中の各フレームについて、オブジェクトの状態(例えば、オブジェクトの位置、サイズ、方位、および変形)を指示する。オブジェクトは、2次元距離フィールドとして表現される。オブジェクト1201のポーズ1211は、動画スクリプト1202に従ってフレームシーケンス1221中の各フレームについて更新される(1210)。オブジェクト1201は、更新されたポーズ1211および距離ベースのアンチエイリアシングによるレンダリング方法1212を用いてレンダリングされる。
オブジェクト1201を表現する2次元距離フィールドは、オブジェクトの異なる表現(例えば、オブジェクトのアウトライン記述またはオブジェクトのビットマップ記述)から取得することができる。
特定のオブジェクト1201に対するポーズ1211の更新1210は、剛体変換、自由変形、ソフトボディ衝撃変形、レベルセット法、パーティクルシミュレーション、およびそのレンダリング属性に対する変更等、オブジェクトに対して種々のオペレーションを適用することによって実行することができる。
オブジェクトをレンダリングする(1220)時、オブジェクトを表現する2次元距離フィールド内のサンプル点の集合を、フレームシーケンス1221中のフレーム内のピクセルのコンポーネントに関連づける。2次元距離フィールドおよびサンプル点集合から距離を求めることによって、距離を、ピクセルのコンポーネントのアンチエイリアス強度にマッピングすることができる。
好ましい一実施の形態では、オブジェクト1201を表現する2次元距離フィールドをセルに分割する。各セルは、そのセル内の2次元距離フィールドを再構成する方法を含む。この場合にレンダリング1220を行うには、レンダリングすべき2次元距離フィールドの領域を含むオブジェクト1201を表現する2次元距離フィールドのセルの集合を識別し、その領域に関連するピクセルの集合を見つける。そのピクセル集合に属する各ピクセルに対するコンポーネントの集合を指定する。ピクセルの各コンポーネントに対する距離をそのセル集合から求め、その距離をピクセルのコンポーネントのアンチエイリアス強度にマッピングすることにより、ピクセル集合に属する各セルの各コンポーネントに対するアンチエイリアス強度を求める。
距離ベースの自動ヒンティング
標準的なフォント表現におけるヒンティングは、時間のかかる手作業のプロセスである。このプロセスにおいて、タイプデザイナとヒンティング専門家が、個々のグリフをより良くピクセルグリッドにフィッティングするための規則の集合を生成する。良好なヒンティングが生成する小さいタイプサイズのグリフは、適切な間隔を有し、良好なコントラストを有し、外観が統一的である。
標準的なフォント表現におけるヒンティングは、時間のかかる手作業のプロセスである。このプロセスにおいて、タイプデザイナとヒンティング専門家が、個々のグリフをより良くピクセルグリッドにフィッティングするための規則の集合を生成する。良好なヒンティングが生成する小さいタイプサイズのグリフは、適切な間隔を有し、良好なコントラストを有し、外観が統一的である。
これらの規則は以下のものを提供する:同一のコントラスト分布を有し、左および下のエッジができるだけ鋭いコントラストを有する垂直ステム;視覚的構造を目に伝えるのに十分なコントラストを有するための、グリフの斜めのバーおよび細い丸みを帯びたパーツ;ならびに、互いに結合し、人間の目によって捕捉されるための十分な強調を提供するセリフ。Hersch等「Perceptually Tuned Generation of Grayscale Fonts」(IEEE CG&A, Nov, pp.78-89, 1995)を参照されたい。
なお、従来技術のフィルタリング方法は、ファジーな文字を生成し、異なるコントラストプロファイルを異なる文字パーツに割り当てるので、タイプデザインの重要な規則に反している。これらの限界を克服するため、各フォントの各グリフごとにヒントが開発される。従来技術のヒンティング方法には数多くの問題点がある。すなわち、開発に多大な労力がかかり、レンダリングが遅く、複雑なためハードウェア実装ができないことである。
アウトラインベースのフォントの場合、ヒントを用いたレンダリングは3ステップのプロセスである。第1に、グリフのアウトラインをスケーリングし、ピクセルグリッドにそろえる。第2に、アウトラインを修正することにより、ステム、バー、およびセリフのコントラストを制御し、非常に細いセクションおよびアークの太さを増大させる。第3に、修正されたアウトラインをスーパーサンプリングしてから、フィルタリングによりダウンサンプリングする。
上記で説明した本発明者等のヒンティングされていない距離ベースのアンチエイリアシングによるレンダリング方法は、ヒンティングを使用する従来技術のフォントレンダリング方法よりも優れているが、知覚的ヒンティングにより、小さいタイプサイズでの読みやすさを向上させることができることが知られている。
したがって、図8に示すように、距離フィールドを活用することにより、小さいポイントサイズでグリフをレンダリングするための距離ベースの自動ヒンティングを提供する。ヒンティングの第1ステップ810で、距離フィールドをスケーリングし、ピクセルグリッドにそろえる。これは、与えられた、または導出されたフォントメトリック(例えば、キャップハイト、xハイト、およびベースラインの位置)から自動的に行うことができる。
この種のグリッドフィッティングを適用した後、距離フィールドおよびその勾配フィールドを用いて知覚的ヒントを提供する。
一実施の形態では、距離フィールドの勾配の方向を用いて、オブジェクトの左および下のエッジ上のピクセルを検出する(820)。これらのピクセルを濃くし(830)、対向するエッジ上のピクセルを薄くする(840)ことによって、見かけ上のストロークウェイトを変えずに左および下のエッジ上のコントラストを高くする。これは、対応するピクセル強度を増減させることによって行うことができる。
もう1つの実施の形態では、勾配フィールドを用いて、斜めステムおよび細いアークに対するコントラストを良くする。なお、ピクセルがグリフの薄い領域上またはその付近に位置する場合、ピクセルの両側の隣接ピクセルは逆の勾配方向を有する、すなわちそれらの内積が負であることに留意されたい。勾配方向の急激な変化を検出することにより、これらの薄い領域上のピクセルを濃くする(850)ことができる。
これらは、距離フィールドを用いて知覚的ヒントを自動的に提供する方法の2つの例に過ぎない。距離フィールドは、最適な文字間隔および一様なストロークウェイトを提供するためにも使用可能である。
フォントの生成および編集
フォントをデザインするための2つの基本的方法がある。第1の方法は手作業である。その場合、グリフを手で描き、デジタル化してから、アウトラインをデジタル化ビットマップにフィッティングする。第2の方法はコンピュータによるものである。
フォントをデザインするための2つの基本的方法がある。第1の方法は手作業である。その場合、グリフを手で描き、デジタル化してから、アウトラインをデジタル化ビットマップにフィッティングする。第2の方法はコンピュータによるものである。
後者の場合、3種類のツールが利用可能である。直接ビジュアルツールが、曲線操作のために使用可能である。手続き型デザインツールが、手続きの命令を実行することによってグリフの形状を構成する。手続きは、形状のアウトラインを画定してそれをフィルするか、またはジオメトリや方位等のいくつかの属性を有するペン先でストローキングされたパスを画定する。コンポーネントベースのデザインツールにより、デザイナは、ステム、アーク、および他の繰り返し形状等の基本的コンポーネントを作成してから、それらのコンポーネントを組み合わせてグリフを生成することができる。
本発明者等は、スカルプティングエディタ(sculpting editor)を用いて、ストロークベースのデザインを提供する。これは、2001年3月16日出願の米国特許出願第09/810,261号「System and Method for Sculpting Digital Models」(これは参照により本明細書に援用される)に記載されている3Dカービング(carving)の2D対応物である。ストローキングは、対話的に行うことが可能であり、あるいは、プログラム可能なデザインツールをエミュレートするためにスクリプティングすることも可能である。
Adobe Illustratorにあるものと同様のベジエ曲線操作ツールを用いた曲線ベースのデザインも使用可能である。曲線ベースのデザインは、アウトラインを距離フィールドに、および距離フィールドをアウトラインに変換する方法と組み合わせることにより、デザインパラダイム間のシームレスなインタフェースを提供することができる。
コンポーネントベースのデザインは、インプリシットな距離フィールドに対するCSGおよびブレンディングのオペレーションを使用する。これにより、コンポーネントを独立にデザインし、編集中またはレンダリング中のいずれかに組み合わせることができる。
また、本発明者等は、アナログおよびデジタルフォントマスタからADFを自動生成する方法も提供する。
コンポーネントベースのデザインの場合、本発明者等のフォントエディタによれば、quadtree操作を用いてADFを効率的に鏡映および回転することにより、グリフに共通の対称性をモデリングすることができる。さらなる特徴として、ADFのスケーリング、平行移動、および複数のADFを組み合わせるオペレーション(例えばCSGおよびブレンディング)がある。
ストロークベースのデザインの場合、本発明者等は、ペン先をエミュレートするための幾何プロファイルを備えたカービングツールを提供する。シミュレートされるペン先の方位およびサイズは、ストロークに沿って変化することが可能であり、それによりカリグラフィを模倣する。
図9は、ペンストロークから2次元距離フィールド931を生成する方法900を示している。ペンストロークの期間中のペン状態をサンプリングする。ペン状態は、ストローク中のペンの位置を含む。このペン状態は、方位およびジオメトリを含んでもよい。ペン状態サンプル901から、ペンストロークに沿ったペン状態の順序リスト911を生成する(910)。次に、ペン状態の順序リストから境界デスクリプタの集合921を生成する(920)。最後に、境界デスクリプタの集合921から2次元距離フィールド931を生成する(930)。
好ましい実施の形態では、境界デスクリプタ921は3次ベジエ曲線のような曲線である。
好ましい実施の形態では、曲線フィッティングプロセスを適用することにより、ペンのパスにG2連続曲線の最小集合をユーザ指定の精度でフィッティングする。また、ツールのサイズおよび方位を用いて、このパスからオフセット点のさらに2つの順序リストを生成し、これらのオフセット点に曲線をフィッティングすることによりストロークアウトラインを生成する。効率的な処理のために、アウトライン曲線を空間階層として配置する。この階層から、タイル型ジェネレータを用いて2次元ADFを生成する。2001年3月16日出願の米国特許出願第09/810,983号(これは参照により本明細書に援用される)を参照されたい。
ベジエクリッピングを用いてアウトラインまでの最小距離を効率的に計算する。ユーザにとっての知覚的遅延なしに、ストロークはADFに変換される。曲線操作のために、本発明者等はベジエ曲線エディタを提供する。
図11に示すように、距離フィールドを境界デスクリプタ(例えばベジエ曲線)に変換することにより、3つのすべてのデザインパラダイムの間のシームレスなインタフェースを提供することも可能である。
好ましい実施の形態では、双二次ADFを使用する。その場合、この変換は、高速な近隣探索のためのADF階層を用いてリーフセルをトラバースし、ADFのゼロ値等高線(iso-contour)に沿った点の順序リストを生成してから、以下で図11を参照して説明するように曲線をフィッティングすることにより、境界デスクリプタを生成する。
境界デスクリプタ誤差が点のリストから計算される従来技術とは異なり、本発明者等は、距離フィールドから直接に境界デスクリプタ誤差を計算する。とがった隅に特別の注意を払う。本発明者等の手法は、ユーザが、気づき得る遅延なしにパラダイム間をシームレスに切り替えるのに十分なほど高速である。
図11は、2次元距離フィールド1101を境界デスクリプタの集合1131に変換する方法1100を示している。まず、2次元距離フィールド1101の等高線1111(例えば、ゼロ値またはあるオフセットの距離)を選択する(1110)。
次に、等高線1111および2次元距離フィールド1101から点の順序リスト1121を生成する(1120)。双二次の適応的にサンプリングされた距離フィールドを使用する本発明の好ましい実施の形態では、このステップは、近隣探索技法を用いて、適応的にサンプリングされた距離フィールド1101の隣接セルを順次訪れる。この探索技法は、適応的にサンプリングされた距離フィールド1101の空間階層を活用することにより、等高線1111に沿って次の近隣を効率的に突き止める。
もう1つの実施の形態では、ADF1101内の境界セルを選択し、各境界セルに順序付きの点の集合を割り当て、ADF1101の距離フィールドおよび勾配フィールドを用いてADF1101の等高線1111まで各点を移動させることによって、点の順序リスト1121を生成する(1120)。
次に、点の順序リスト1121をフィッティングするために、境界デスクリプタ1131の集合を初期化する(1130)。境界デスクリプタ1131は、点の順序リスト1121の隣接する点どうしをつないで、初期境界デスクリプタ1131を構成する線分の集合を形成することにより初期化される(1130)。
もう1つの実施の形態では、隅点を見つけ、点の順序リストを隅点で区切られるセグメントに細分割し、セグメント境界デスクリプタを求めて各セグメントをフィッティングすることによって、境界デスクリプタ1131の集合を初期化する(1130)。セグメント境界デスクリプタの合併が初期境界デスクリプタ1131となる。
隅点は、距離フィールドから求められる曲率を測ることによって見つけることができる。距離フィールドが双二次ADFである好ましい実施の形態では、曲率の大きい領域はADFにおける小さいセルで表現されるので、ADFセルサイズを用いることにより隅点を見つけることができる。
境界デスクリプタ1131を初期化(1130)した後、境界デスクリプタ1131を更新する(1140)。更新1140は、距離フィールドを再構成し、等高線からの境界デスクリプタの平均または最大偏差を測ることによって、各境界デスクリプタに対する誤差を求める。
境界デスクリプタ1131は、各境界デスクリプタに対する誤差が許容可能となるまで、または所定の時間が経過するまで、または境界デスクリプタ1131の集合の濃度が極小になるまで、更新される(1140)。
非デジタル形式で(すなわちアナログマスタとして)、またはビットマップのようなデジタル形式で(すなわちデジタルマスタとして)格納されている従来のフォントを取り込むため、本発明者等の編集システムは、高解像度2値ビットマップからADFを生成する方法を提供する。
まず、アナログマスタを走査することにより、目標ADF解像度の少なくとも4倍以上の解像度で2値デジタルマスタを生成する(例えば、現在のディスプレイ解像度およびディスプレイサイズには4096×4096デジタルマスタで十分である)。次に、厳密なユークリッド距離変換をビットマップに適用することにより、グリフを表現する規則的にサンプリングされた距離フィールドを生成する。
次に、この規則的にサンプリングされた距離フィールドから、タイル型ジェネレータを用いてADFを生成する。ビットマップからADFへの変換は、2GHzのPentium(登録商標) IVプロセッサでグリフ当たり約10秒を要する。
既に存在する従来技術のグリフのデスクリプタを、グリフが境界デスクリプタの集合を用いて記述される距離フィールドに変換するためには、図10に関連して説明した方法を適用する。
キネティックタイポグラフィのための計算基盤
本発明者のADFグリフフレームワークの距離フィールドおよび空間階層の属性は、2Dオブジェクト(例えば、グリフ、企業ロゴ、または任意の2D形状)のコンピュータシミュレーションにも使用可能である。例えば、両方の属性を、衝突の検出および回避を行うため、互いにはまり込んでいるボディ間の力を計算するため、ならびにソフトボディ変形をモデリングするために使用可能である。
本発明者のADFグリフフレームワークの距離フィールドおよび空間階層の属性は、2Dオブジェクト(例えば、グリフ、企業ロゴ、または任意の2D形状)のコンピュータシミュレーションにも使用可能である。例えば、両方の属性を、衝突の検出および回避を行うため、互いにはまり込んでいるボディ間の力を計算するため、ならびにソフトボディ変形をモデリングするために使用可能である。
レベルセット法は、符号付き距離フィールドを使用する方法であり、融解や流体力学のようなさまざまな効果をモデリングするために使用可能である。ADFは、距離値および勾配の計算、すなわち上記で列挙した方法に必要な2つの重要な計算のために効率的に問い合わせることが可能な、コンパクトでインプリシットな表現である。
これに対して、運動または変形しているアウトラインから距離値および勾配を求めることは、リアルタイム対話のためのソフトウェアでは実際的でない。Hoff等「Fast and Simple 2D Geometric Proximity Queries Using Graphics Hardware」(Proc. Interactive 3D Graphics'01, 2001)を参照されたい。Hoff等は、グラフィックスハードウェアを用いることにより、線分で近似された曲線を変形するために、規則的にサンプリングされた2D距離フィールドをオンザフライで生成している。
距離フィールドのインプリシットな性質は、複雑なトポロジー変化(例えば、アウトラインベースのフォントでモデリングすることが困難な面オフセット)を可能にする。また、距離フィールドは、動画化オブジェクトの非フォトリアリスティックなレンダリングを提供することにより芸術的効果を加えるためにも使用可能である。
以上、本発明について、好ましい実施の形態を例として説明したが、本発明の精神および範囲内で種々の他の適応および変更をなし得ることは言うまでもない。したがって、添付の請求項の目的は、本発明の真の精神および範囲内に入るすべてのそのような変形および変更を包含することである。
Claims (11)
- 2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法であって、
前記2次元オブジェクトに対する境界デスクリプタの集合を求めること、
前記境界デスクリプタの集合から前記セルに包囲された隅点を識別することであって、該隅点は、前記境界デスクリプタの集合を、第1の境界デスクリプタの部分集合および第2の境界デスクリプタの部分集合に分割し、前記隅点は前記オブジェクトの隅を表現すること、
前記セルを、前記隅点のほうに最も近い第1領域および前記境界デスクリプタの集合のほうに最も近い第2領域に分割することであって、
前記隅点を通る、前記第1および第2の境界デスクリプタの部分集合の一方にそれ
ぞれ対応する2本の線を求めること、
前記第1および第2領域を前記線で画定すること、
をさらに含むこと、
前記セル内の前記距離フィールドを再構成するための値の集合および前記第1領域および前記第2領域を使用する方法を指定すること、
前記セルについて、前記隅点、前記第1および第2領域を画定する前記線、前記再構成法、および前記値の集合をメモリに格納することであって、それによって、前記再構成法を適用することにより前記セル内の前記距離フィールドを再構成することを可能にすること、
を含む、2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法。 - 前記境界デスクリプタの集合はスプライン曲線の集合である
請求項1に記載の方法。 - 前記境界デスクリプタの集合は線分の集合である
請求項1に記載の方法。 - 前記隅点は、前記境界デスクリプタの集合から、一対の隣接する境界デスクリプタの交点として識別される
請求項1に記載の方法。 - 各線は、前記隅点および前記対応する境界デスクリプタの部分集合の通常の方向から求められる
請求項1に記載の方法。 - 前記セル内の2次元距離フィールドを再構成するための方法を指定することは、
前記第1領域内の距離フィールドを再構成するための第1の方法を指定すること、
前記第2領域内の距離フィールドを再構成するための第2の方法を指定すること
をさらに含む
請求項1に記載の方法。 - 前記2次元距離フィールドを再構成するための第1の方法は、前記第1領域内のサンプル点におけるサンプル距離を、前記サンプル点から前記隅点までの距離として求める
請求項6に記載の方法。 - 前記セル内の距離フィールドを再構成するための値の集合は、
前記第1の境界デスクリプタの部分集合から求められる第1のサンプリングされた距離値の集合と、
前記第2の境界デスクリプタの部分集合から求められる第2のサンプリングされた距離値の集合と
を含む
請求項6に記載の方法。 - 前記セル内の2次元距離フィールドを再構成するための第2の方法は、前記第2領域内のサンプル点におけるサンプル距離を求めることであって、
前記第1のサンプリングされた距離値の集合から第1距離を求めること、
前記第2のサンプリングされた距離値の集合から第2距離を求めること、
前記第1および第2距離を結合することであって、それによって、前記サンプル距離を再構成すること
を含む
請求項8に記載の方法。 - 前記結合することは、前記第1および第2距離の最小値を選択する
請求項9に記載の方法。 - 前記境界デスクリプタの集合は順序付けされている
請求項1に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/396,267 US7034830B2 (en) | 2003-03-25 | 2003-03-25 | Method for generating a two-dimensional distance field within a cell associated with a corner of a two-dimensional object |
PCT/JP2004/003845 WO2004086306A1 (en) | 2003-03-25 | 2004-03-22 | Method for generating a two-dimensional distance field within a cell associated with a corner of a two-dimensional object |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006521628A true JP2006521628A (ja) | 2006-09-21 |
Family
ID=32988767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006507683A Pending JP2006521628A (ja) | 2003-03-25 | 2004-03-22 | 2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7034830B2 (ja) |
EP (1) | EP1606772B1 (ja) |
JP (1) | JP2006521628A (ja) |
CN (1) | CN1698071A (ja) |
DE (1) | DE602004002291T2 (ja) |
WO (1) | WO2004086306A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7106332B2 (en) * | 2003-03-25 | 2006-09-12 | Mitsubishi Electric Research Laboratories, Inc. | Method for converting two-dimensional pen strokes to distance fields |
US7030881B2 (en) * | 2003-03-25 | 2006-04-18 | Mitsubishi Electric Research Laboratories, Inc. | Method for converting two-dimensional objects to distance fields |
US7042458B2 (en) * | 2003-03-25 | 2006-05-09 | Mitsubishi Electric Research Laboratories, Inc. | Methods for generating an adaptively sampled distance field of an object with specialized cells |
US7164789B2 (en) * | 2003-08-11 | 2007-01-16 | Palo Alto Research Center Incorporated | Three-dimensional active vision with glyph address carpet |
US7505040B2 (en) * | 2005-12-19 | 2009-03-17 | Microsoft Corporation | Composite characters font hinting |
CN101052109B (zh) * | 2007-03-28 | 2012-10-03 | 上海集通数码科技有限责任公司 | 防闪字库处理方法、系统及其应用芯片 |
US8269776B2 (en) * | 2009-03-31 | 2012-09-18 | Mitsubishi Electric Research Laboratories, Inc. | Method for generating a distance field of an object represented by stylized strokes |
US7813555B1 (en) * | 2009-03-31 | 2010-10-12 | Mitsubishi Electric Research Laboratories, Inc. | Method for generating a distance field of an object represented by outlines |
US8265909B2 (en) * | 2009-05-19 | 2012-09-11 | Mitsubishi Electric Research Laboratories, Inc. | Method for reconstructing a distance field of a swept volume at a sample point |
US8483858B2 (en) * | 2010-03-31 | 2013-07-09 | Mitsubishi Electric Research Laboratories, Inc. | System and method for optimizing machining simulation |
US9129441B2 (en) * | 2010-06-21 | 2015-09-08 | Microsoft Technology Licensing, Llc | Lookup tables for text rendering |
CN105225264B (zh) * | 2014-06-27 | 2020-11-10 | 三星电子株式会社 | 基于运动的自适应渲染 |
CN105354881B (zh) * | 2015-11-24 | 2017-03-15 | 中国石油化工股份有限公司 | 基于离散属性数据的网格变形优化算法 |
KR101777521B1 (ko) * | 2016-08-11 | 2017-09-11 | 숭실대학교산학협력단 | 스타일 변경이 가능한 폰트 생성 방법 및 장치 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940080A (en) | 1996-09-12 | 1999-08-17 | Macromedia, Inc. | Method and apparatus for displaying anti-aliased text |
US6396492B1 (en) * | 1999-08-06 | 2002-05-28 | Mitsubishi Electric Research Laboratories, Inc | Detail-directed hierarchical distance fields |
US6933939B2 (en) * | 2001-03-16 | 2005-08-23 | Mitsubishi Electric Research Labs, Inc. | Method for correcting an adaptively sampled distance field |
US7002570B2 (en) * | 2001-03-16 | 2006-02-21 | Mitsubishi Electric Research Laboratories, Inc. | System and method for generating adaptively sampled distance fields with bounded distance trees |
-
2003
- 2003-03-25 US US10/396,267 patent/US7034830B2/en not_active Expired - Lifetime
-
2004
- 2004-03-22 EP EP04722418A patent/EP1606772B1/en not_active Expired - Lifetime
- 2004-03-22 CN CN200480000268.XA patent/CN1698071A/zh active Pending
- 2004-03-22 DE DE602004002291T patent/DE602004002291T2/de not_active Expired - Lifetime
- 2004-03-22 JP JP2006507683A patent/JP2006521628A/ja active Pending
- 2004-03-22 WO PCT/JP2004/003845 patent/WO2004086306A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
EP1606772B1 (en) | 2006-09-06 |
US20040189639A1 (en) | 2004-09-30 |
DE602004002291T2 (de) | 2007-09-13 |
EP1606772A1 (en) | 2005-12-21 |
DE602004002291D1 (de) | 2006-10-19 |
WO2004086306A1 (en) | 2004-10-07 |
US7034830B2 (en) | 2006-04-25 |
CN1698071A (zh) | 2005-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6982724B2 (en) | Method for antialiasing an object represented as a two-dimensional distance field in object-order | |
JP4762901B2 (ja) | 合成グリフの領域をレンダリングする方法 | |
JP4869920B2 (ja) | オブジェクトを表現する2次元距離フィールドからピクセルのコンポーネントのアンチエイリアス強度を求める方法及び装置 | |
US6917369B2 (en) | Method and apparatus for rendering cell-based distance fields using texture mapping | |
US20040189666A1 (en) | Method for generating a composite glyph and rendering a region of the composite glyph in object-order | |
US20040189643A1 (en) | Method for typesetting a set glyphs represented as a set of two dimensional distance fields | |
US7042458B2 (en) | Methods for generating an adaptively sampled distance field of an object with specialized cells | |
US6933952B2 (en) | Method for antialiasing a set of objects represented as a set of two-dimensional distance fields in object-order | |
US7190367B2 (en) | Method, apparatus, and system for rendering using a progressive cache | |
JP2006521628A (ja) | 2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法 | |
US7176926B2 (en) | Method for animating two-dimensional objects | |
US7106332B2 (en) | Method for converting two-dimensional pen strokes to distance fields | |
US7030881B2 (en) | Method for converting two-dimensional objects to distance fields | |
US7123271B2 (en) | Method and apparatus for antialiasing a set of objects represented as a set of two-dimensional distance fields in image-order | |
JP2006521625A (ja) | 2次元距離フィールドを境界デスクリプタの集合に変換する方法 |