U.S. patent application number 12/414694 was filed with the patent office on 2010-09-30 for method for generating a distance field of an object represented by outlines.
Invention is credited to Sarah F. Frisken, Ronald N. Perry.
Application Number | 20100246891 12/414694 |
Document ID | / |
Family ID | 42045353 |
Filed Date | 2010-09-30 |
United States Patent
Application |
20100246891 |
Kind Code |
A1 |
Perry; Ronald N. ; et
al. |
September 30, 2010 |
Method for Generating a Distance Field of an Object Represented By
Outlines
Abstract
A method generates a distance field of an object, where the
distance field includes a set of cells and the object includes a
set of outlines. A processor is included for performing steps of
the method. A first cell of the set of cells enclosing the object
is determined. An outside reconstruction method is associated with
the first cell. A set of boundary cells of the set of cells is
determined, where each boundary cell encloses a portion of a
particular outline in the set of outlines. A boundary
reconstruction method is associated with each boundary cell. A
final cell of the set of cells is determined enclosing the object.
An inside reconstruction method is associated with the final cell.
The outside and boundary reconstruction methods are used to
determine combined distances, which are further processed by the
inside reconstruction method to generate the distance field of the
object.
Inventors: |
Perry; Ronald N.;
(Cambridge, MA) ; Frisken; Sarah F.; (Cambridge,
MA) |
Correspondence
Address: |
MITSUBISHI ELECTRIC RESEARCH LABORATORIES, INC.
201 BROADWAY, 8TH FLOOR
CAMBRIDGE
MA
02139
US
|
Family ID: |
42045353 |
Appl. No.: |
12/414694 |
Filed: |
March 31, 2009 |
Current U.S.
Class: |
382/106 |
Current CPC
Class: |
G06T 11/203
20130101 |
Class at
Publication: |
382/106 |
International
Class: |
G06K 9/00 20060101
G06K009/00 |
Claims
1. A method for generating a distance field of an object, the
distance field including a set of cells, the object including a set
of outlines, comprising the steps of: determining a first cell of
the set of cells, wherein the first cell encloses the object;
specifying a distance value for a point outside the object, wherein
the distance value for the point outside the object is negative;
associating an outside reconstruction method with the first cell,
wherein the outside reconstruction method evaluates, for each point
inside the first cell, to the distance value for the point outside
the object, wherein the distance value for the point outside the
object is negative; determining a set of boundary cells of the set
of cells, wherein each boundary cell encloses a portion of a
particular outline in the set of outlines; associating, with each
boundary cell, a boundary reconstruction method, wherein the
boundary reconstruction method evaluates a distance, for each point
inside the boundary cell, as a negated unsigned minimum distance
from the point to the enclosed portion of the particular outline;
determining a final cell of the set of cells enclosing the object;
associating an inside reconstruction method with the final cell,
wherein the inside reconstruction method distinguishes between
points inside the set of outlines and points outside the set of
outlines; determining, for each point inside the first cell, a
combined distance, wherein the determining further comprises the
steps of: determining a first distance value of the first cell
using the outside reconstruction method; determining, for each
boundary cell, a boundary distance value of the boundary cell using
the boundary reconstruction method; and selecting a maximum
distance value from the first distance value of the first cell and
the boundary distance values of the boundary cells to determine the
combined distance for the point inside the first cell; and
inverting a sign of the combined distance for each point inside the
set of outlines using the inside reconstruction method of the final
cell to generate the distance field of the object, wherein the
steps are performed in a processor.
2. The method of claim 1, further comprising: rendering the
distance field.
Description
RELATED APPLICATIONS
[0001] The following Patent Application is related, co-filed, and
incorporated herein: U.S. Non-Provisional patent application Ser.
No. 12/______, "A Method for Generating a Distance Field of an
Object Represented by Stylized Strokes," filed by Perry et al. on
Mar. 31, 2009.
FIELD OF INVENTION
[0002] The invention relates generally to generating distance
fields, and more particularly to generating distance fields of
objects represented by outlines.
BACKGROUND OF THE INVENTION
[0003] In the field of computer graphics, the rendering of
two-dimensional objects is of fundamental importance.
Two-dimensional objects, such as character shapes, corporate logos,
and elements of an illustration contained in a document, are
rendered as static images or as a sequence of frames comprising an
animation. There are numerous representations for two-dimensional
objects and it is often the case that one representation is better
than another representation for specific operations such as
rendering and editing. In these cases, a conversion from one form
to another is performed.
[0004] Distance fields have proven to be an effective
representation for rendering and editing two-dimensional shapes, as
demonstrated by the following patents, all incorporated herein by
reference: U.S. Pat. No. 6,396,492, issued May 28, 2002, entitled
"Detail-directed hierarchical distance fields;" U.S. Pat. No.
7,034,845, issued Mar. 13, 2007, entitled "Antialiasing an Object
Represented as a Two-Dimensional Distance Field in Image-Order;"
U.S. Pat. No. 7,123,271, issued Oct. 17, 2006, entitled
"Antialiasing a Set of Objects Represented as a Set of 2D Distance
Fields in Image-Order;" and U.S. Pat. No. 6,917,369, issued Jul.
12, 2005, entitled "Method and Apparatus for Rendering Cell-based
Distance Fields using Texture Mapping."
[0005] Although we focus here on digital type, possibly the most
common and important two-dimensional object, the following
discussion applies to all types of two-dimensional objects.
[0006] We begin with some basic background on digital type. A
typical Latin font family, such as Times New Roman or Arial,
includes a set of fonts, e.g., regular, italic, bold, and bold
italic. Each font includes a set of individual character shapes
called glyphs. Each glyph is distinguished by its various design
features, such as underlying geometry, stroke thickness, serifs,
joinery, placement and number of contours, and ratio of
thin-to-thick strokes.
[0007] There are a number of ways to represent fonts, including
outlines, uniform width strokes, and stylized strokes.
[0008] Outline-based representations have been adopted and
popularized by Bitstream Inc. of Cambridge, Mass., Adobe Systems,
Inc. of Mountain View, Calif., Apple Computer, Inc., of Cupertino,
Calif., Microsoft Corporation of Bellevue, Wash., URW of Hamburg,
Germany, and Agfa Compugraphic of Wilmington, Mass.
[0009] To optimize memory usage, uniform width stroke fonts can be
used. These fonts typically group sets of uniform width strokes,
a.k.a. radicals or graphemes, which are commonly repeated in
Chinese characters throughout a font, as a single simple shape that
is then reused across characters.
[0010] Stylized Stroke Fonts (SSFs) are enhanced stroke-based fonts
whose strokes have variable thickness and stylistic stroke ends,
see "An Improved Representation for Stroke-based Fonts", SIGGRAPH
2006 Conference Abstracts and Applications, Elena J. Jakubiak,
Ronald N. Perry, and Sarah F. Frisken.
[0011] SSFs are also described in U.S. Non-Provisional patent
application Ser. No. 12/12/359,819 "Method for Converting Outline
Characters to Stylized Stroke Characters," filed by Jakubiak et al.
on Jan. 26, 2009, incorporated herein by reference.
[0012] SSFs employ a modular structure that leverages the
repetition of shape within a font, enabling SSFs to match the
expressiveness of outline fonts with a memory footprint comparable
to current uniform width stroke fonts.
[0013] To enable the use of distance-based rendering, see, for
example, U.S. Pat. No. 6,917,369 "Method and Apparatus for
Rendering Cell-based Distance Fields using Texture Mapping,"
incorporated herein by reference, as well as other operations such
as editing, space and time efficient methods are required for
generating a distance field of an object, such as a glyph,
represented by various forms.
[0014] It is an object of the invention to provide a space and time
efficient method for generating a distance field of an object
represented by outlines.
SUMMARY OF THE INVENTION
[0015] A method generates a distance field of an object, where the
distance field includes a set of cells and the object includes a
set of outlines. A processor is included for performing steps of
the method.
[0016] A first cell of the set of cells enclosing the object is
determined. A distance value for a point outside the object is
specified, where the distance value for the point outside the
object is negative. An outside reconstruction method is associated
with the first cell, where the outside reconstruction method
evaluates, for each point inside the first cell, to the specified
distance value for the point outside the object.
[0017] A set of boundary cells of the set of cells is determined,
where each boundary cell encloses a portion of a particular outline
in the set of outlines. A boundary reconstruction method is
associated with each boundary cell, where the boundary
reconstruction method evaluates a distance, for each point inside
the boundary cell, as a negated unsigned minimum distance from the
point to the enclosed portion of the particular outline.
[0018] A final cell of the set of cells is determined enclosing the
object. An inside reconstruction method is associated with the
final cell, where the inside reconstruction method distinguishes
between points inside the set of outlines and points outside the
set of outlines.
[0019] A combined distance is determined for each point inside the
first cell by determining a first distance value of the first cell
using the outside reconstruction method, determining, for each
boundary cell, a boundary distance value of the boundary cell using
the boundary reconstruction method, and selecting a maximum
distance value from the first distance value of the first cell and
the boundary distance values of the boundary cells to determine the
combined distance for the point inside the first cell.
[0020] A sign of the combined distance is inverted for each point
inside the set of outlines using the inside reconstruction method
of the final cell to generate the distance field of the object.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] FIG. 1 is a diagram of an object, described by a set of
outlines around the object, whose distance field is generated and
rendered according to embodiments of the invention; and
[0022] FIG. 2 is a flow diagram of a method for generating the
distance field of the object of FIG. 1 according to embodiments of
the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0023] FIG. 1 shows an object 101, described by a set of outlines
102 around the object, whose distance field is generated and
rendered according to embodiments of the invention.
[0024] FIG. 2 shows a method for generating a distance field 201 of
the object 101 according to embodiments of the invention. The
method can be performed by a processor 200.
[0025] The method generates the distance field 201 of the object
101 from the set of outlines 102. The distance field 201 includes a
set of cells, and the object includes the set of outlines 102.
[0026] A first cell of the set of cells enclosing the object 101 is
determined 210. A distance value for a point outside the object 101
is specified 220. The distance value for the point outside the
object 101 is negative. An outside reconstruction method is
associated 230 with the first cell. The outside reconstruction
method evaluates, for each point inside the first cell, to the
specified distance value for the point outside the object 101.
[0027] A set of boundary cells of the set of cells is determined
240. Each boundary cell encloses a portion of a particular outline
in the set of outlines 102. A boundary reconstruction method is
associated 250 with each boundary cell. The boundary reconstruction
method evaluates a distance, for each point inside the boundary
cell, as a negated unsigned minimum distance from the point to the
enclosed portion of the particular outline.
[0028] A final cell of the set of cells enclosing the object is
determined 260, and an inside reconstruction method is associated
270 with the final cell. The inside reconstruction method
distinguishes between points inside the set of outlines 102 and
points outside the set of outlines 102.
[0029] For each point inside the first cell, a combined distance is
determined 280. The determining 280 includes the following steps:
[0030] A first distance value of the first cell is determined 281
using the outside reconstruction method. For each boundary cell, a
boundary distance value of the boundary cell is determined 282
using the boundary reconstruction method, and a maximum distance
value is selected 283 from the first distance value of the first
cell and the boundary distance values of the boundary cells to
determine the combined distance for the point inside the first
cell.
[0031] Then, a sign of the combined distance for each point inside
the set of outlines is inverted 290 using the inside reconstruction
method of the final cell to generate the distance field 201 of the
object 101.
[0032] Once the distance field 201 of the object 101 is generated,
the distance field 201 can be rendered to a display device for
viewing the object 101. The distance field 201 can be rendered
using various prior art methods such as U.S. Pat. No. 6,917,369
"Method and Apparatus for Rendering Cell-based Distance Fields
using Texture Mapping."
[0033] It should be noted that a different sign convention can be
used to distinguish between points inside and points outside the
object 101. For example, the specified distance value for the point
outside the object 101 can be positive rather than negative as
described above.
[0034] Operating Environment
[0035] The invention is operational with numerous general purpose
or special purpose computing system environments or configurations.
Examples of well known computing systems, environments, and/or
configurations that are suitable for use with the invention
include, but are not limited to, personal computers, server
computers, handheld or laptop devices, multiprocessor or multi-core
systems, graphics processing units (GPUs), application-specific
integrated circuits (ASICs), field programmable gate arrays
(FPGAs), microcontroller-based systems, set top boxes, programmable
consumer electronics, network PCs, minicomputers, mainframe
computers, distributed computing environments that include any of
the above systems or devices, and the like, i.e., generally
processors. A monitor or other type of display device is connected
to any of the above systems to enable the rendering of the distance
field 201 of the object 101 generated according to embodiments of
the invention.
[0036] As can be seen above, there are numerous opportunities for
operating the invention in parallel. For example, the outside
reconstruction method, the boundary reconstruction methods, and the
inside reconstruction method contain no dependencies between each
other and therefore can exploit hardware and multi-core
implementations of the invention to improve performance of the
generation of the distance field 201 of the object 101. As another
example, the determination 282 of the boundary distance values for
a particular boundary cell contains no inter-dependencies, thereby
allowing the boundary distance values to be determined 282 for the
particular boundary cell in parallel.
[0037] Although the invention has been described with reference to
certain preferred embodiments, it is to be understood that various
other adaptations and modifications can be made within the spirit
and scope of the invention. Therefore, it is the object of the
append claims to cover all such variations and modifications as
come within the true spirit and scope of the invention.
* * * * *