Close
The page header's logo
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected 
Invert selection
Deselect all
Deselect all
 Click here to refresh results
 Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Adaptive subdivision algorithm in postprocessing of compressed three-dimensional graphic data
(USC Thesis Other) 

Adaptive subdivision algorithm in postprocessing of compressed three-dimensional graphic data

doctype icon
play button
PDF
 Download
 Share
 Open document
 Flip pages
 More
 Download a page range
 Download transcript
Copy asset link
Request this asset
Transcript (if available)
Content INFORMATION TO USERS
This manuscript has been reproduced from the microfilm master. UMI
films the text directly from the original or copy submitted. Thus, some
thesis and dissertation copies are in typewriter free, while others may be
from any type o f computer printer.
The quality of this reproduction is dependent upon the quality o f the
copy submitted. Broken or indistinct print, colored or poor quality
illustrations and photographs, print bleedthrough, substandard margins,
and improper alignment can adversely afreet reproduction.
In the unlikely event that the author did not send UMI a complete
manuscript and there are missing pages, these will be noted. Also, if
unauthorized copyright material had to be removed, a note will indicate
the deletion.
Oversize materials (e.g., maps, drawings, charts) are reproduced by
sectioning the original, beginning at the upper left-hand comer and
continuing from left to right in equal sections with small overlaps. Each
original is also photographed in one exposure and is included in reduced
form at the back o f the book.
Photographs included in the original manuscript have been reproduced
xerographically in this copy. Higher quality 6” x 9” black and white
photographic prints are available for any photographs or illustrations
appearing in this copy for an additional charge. Contact UMI directly to
order.
UMI
A Bell & Howell Inform ation Company
300 North Zeeb Road, Ann Aibor MI 48106-1346 USA
313/761-4700 800/521-0600
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
ADAPTIVE SUBDIVISION ALGORITHM IN POSTPROCESSING OF
COMPRESSED 3D GRAPHIC DATA
by
Ka Man Cheang
A Thesis Presented to the
FACULTY OF THE GRADUATE SCHOOL
UNIVERSITY OF SOUTHERN CALIFORNIA
In Partial Fulfillment of the
Requirements for the Degree
MASTER OF SCIENCE
(Applied Mathematics)
August 1998
Copyright 1998 Ka Man Cheang
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
UMI Number: 1393167
UMI Microform 1393167
Copyright 1999, by UMI Company. All rights reserved.
This microform edition is protected against unauthorized
copying under Title 17, United States Code.
UMI
300 North Zeeb Road
Ann Arbor, MI 48103
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
U N IV ERSITY O F S O U T H E R N C A L IF O R N IA
TMC S R A O U A r e SCHOOL
U N IV ER SITY P A R K
LO S ANGELES. CALIFOR NIA > 0 0 0 7
This thesis, written by
Ka Man Cheang
under the direction of Tkesis Committee,
and approved by all its members, has been pre­
sented to and accepted by the D ean of The
Graduate School, in partial fulfillm ent of the
requirements for the degree of
Master of Mathematics
8 -3 -9 8
Date.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A cknow ledgm ents
I would like to thank my parents for giving me the chance to study aboard. I
would like to thank my sister for her constant support. I would like to thank
my academic advisor Prof. Wlodek Proskurowski, whose constant supervision
and perceptive insights help me finish this work. I also would like to thank Prof.
C.-C. Jay Kuo for his support and kindness. Finally, I would thank Prof. Gary
Rosen for his help at the last minute.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Contents
Acknowledgments ii
List of Figures v
List of Tables vii
Abstract viii
1 IN T R O D U C T IO N 1
2 BA C K G R O U N D 5
2.1 General Subdivision............................................................................... 5
2.2 Modified Butterfly Subdivision S ch em e............................................ 6
2.3 Hierarchical Compression Scheme (H C S ).......................................... 8
3 Adaptive Subdivision Algorithm (A SA ) 11
3.1 Subdivision By F la tn e s s ..................................................................... 11
3.1.1 Calculation of F latn ess............................................................. 12
3.1.2 Subdivision T argets................................................................... 13
3.2 Im plem entation..................................................................................... 14
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
3.2.1 Connectivity Inform ation.......................................................... 14
3.2.2 Parameterization of Local N eighborhood............................. 16
4 EX PER IM EN TA L RESULTS 20
5 CO NC LUSIO N A N D F U T U R E W O RK 25
B ibliography 27
iv
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
List of Figures
2.1 Basic idea of subdivision of a single tr ia n g le ..................................... 6
2.2 a: Ten-point stencil. The dot indicates the midpoint of the edge
for which a new value is computed, b: Stencil for a vertex in the
1-neighborhood of an extraordinary vertex.......................................... 7
2.3 Result of applying one level of subdivision to a dinosaur model of
20:1 compression ratio............................................................................. 9
3.1 Flatness calculation by using two adjacent triangles and their unit
normal vector............................................................................................. 13
3.2 One and two targeted neighbors classification. An unmarked tri­
angle with one targeted neighbor is splitted into two (left). An
unmarked triangle with two targeted neighbor is changed to a tar­
get, and its remaining unmarked neighbor will be affected(right). . 14
3.3 Parameterization of the local neighborhood by projecting the neigh­
borhood into the plane formed by q, v0 and V i ................................. 18
4.1 The Spock model of compression ratio 20 (left) and after 2 levels
of subdivision with t = 0.9 (right)......................................................... 23
v
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
4.2 Dinosaur model of compression ratio 10 (left) and after 3 levels of
subdivision with t = 0.8 (right).............................................................
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
List of Tables
4.1 Comparison of the number of vertices and triangles for the Spock
model, with CR=20, 2 level of subdivision, and t = 0.9 for ASA . 21
4.2 Comparison of the number of vertices and triangles for the dinosaur
model, with C R = 20................................................................................ 21
4.3 Computational time of the Spock model, with CR=20, and t = 0.8
for A S A ................................................................................................... 22
4.4 Computational time of the dinosaur model, with CR=20, and t =
0.8 for A S A ............................................................................................. 23
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A b stract
3D graphic models have seen increasing popularity due to the fast development of
internet and standardization of VRML. Transmission and storage requirement are
two well-known problems for these large models,and could only be dealt with by
performing compression. The compressed model generally has a quality inferior to
the original. In our work, we present a method for postprocessing the compressed
3D graphic data in order to achieve a smoother and visually pleasing final model.
The subdivison method is based on modified Butterfly subdivision scheme devel­
oped by Zorin et al. [14]. We develop an adaptive subdivision algorithm(ASA)
by using local area flatness information of the model. We adaptively refine rough
areas while leaving flat areas unchanged during subdivision. As a result we save
storage while retaining a similar computational complexity of the algorithm.
V lll
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 1
INTRODUCTION
3D graphic models of large complexity have been increasingly popular due to the
fast development of internet and the standardization of VRML (Virtual Real­
ity Modeling Language). A complex model with many fine details can only be
faithfully represented with huge amount of data. Transmission and storage re­
quirement of such 3D graphic models are two well-known problems due to the
complexity in dealing with such large amount of data. Future applications of
3D graphics could be potentially limited for the lacking of efficient representa­
tion. Another important consideration in the generation of 3D graphic models is
to allow multi-resolution representation of the object. With the ever increasing
demand of internet exploring and home entertainment such as animation and in­
teractive 3D graphic game playing, the problem becomes more difficult because
an average home computer does not have the special hardware architecture that
is necessary to speed up display, and the bandwidth of the network is also a severe
bottleneck. So instead a user may obtain a compressed model, i.e., a model with
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
less vertices and polygons than the original, such that it can be processed in real
time.
Generally speaking, the compressed model has an inferior quality compared
with the original, especially in the case of high compression ratio. The quality
degradation is due to two reasons. Firstly, to represent an object, a compressed
model usually contains fewer vertices and polygons than the original. Therefore
some of the fine details can not be presented as accurately, or even are omitted
altogether. Secondly, the geometry data, such as vertex position and normal, are
usually represented with less numerical precision than their original counterparts.
This will lead to a rough surface while the model is being rendered. A solution to
such problems is to perform postprocessing on the compressed model in order to
better approximate the original and bring out the details. By postprocessing, we
mean the way to add back some vertices and polygons in an appropriate manner,
such that the resulting model after postprocessing should be more pleasing to look
at, i.e., smoother, and should also bring out some details of the model.
The most popular method to provide smooth surface representation are tensor
product NURBS [1, 4]. It is done by fitting NURBS surfaces onto a 3D model, so
instead of a model presented by vertices and polygons, we have a model consisting
of surface patches and control points. However, the complexity of fitting NURBS
surfaces to modeling arbitrary topological structures makes it unattractive for real
time postprocessing. Subdivision surface scheme, on the other hand, provides a
feasible alternative. Subdivision scheme starts with a initial mesh composed of
vertices and polygons, and proceeds to subdivide each polygon into several smaller
ones in order to produce a sequence of refinements. A subdivision method such
2
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
as the one introduced by Zorin et ai is very promising [14]. In their paper,
Zorin et al. developed a modified Butterfly subdivision scheme. This scheme
generates new vertices by using local affine combinations of nearby vertices, and
it interpolates the old mesh data exactly at all levels of subdivision. We will
employ this subdivision scheme as our basis for postprocessing. The method will
be further elaborated in Chapter 2.
The method of graphic compression used is also of concern to us, because it
will also provides us with a background to build our postprocessing procedure. A
lot of effort had been spent recently to address the graphics compression problem
due to the increasing demand of 3D graphic display. Schroeder [11] proposed a
decimation algorithm that significantly reduces the number of polygons required
to represent an object by repeatedly removing non-essential vertex. Lounsbery
and DeRose [9] established a wavelet transform defined on arbitrary 3D domain
to compress a graphic model at several detail levels.
Although promising, the previous works lack some important ingredients to
achieve a better performance because the compression of attribute data associ­
ated with each vertex was performed by the traditional run length coding in a
single resolution manner, and there is also no connection between the coding of
the structure data of the model and the coding of the attribute data. Li [7]
developed a Hierarchical Compression Scheme (HCS) which not only provides
a multiresolution representation that is required for level-of-detail control, but it
also progressively compresses a model, including both structure and attribute data
into a single bit stream with decreasing order of information importance. This
allows the progressive transmission over the internet in the manner of progressive
3
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
JPEG for 2D image. We make the HCS as our starting point of investigation
because of its unique progressive compression manner. Details of HCS will be
provided in Chapter 2.
After choosing our subdivision scheme and compression method, we have also
taken additional care in our usage of the subdivision scheme, because the expo­
nential growth of processing time and storage space required during each level
of subdivision would render it useless for any kind of real time application. In
Chapter 3 we propose an novel adaptive subdivision method, called adaptive sub-
divsion algorithm (ASA), by using the local flatness information of a polygon
to perform selective refinement of the 3D model. Such a method would allow
the user to determine what kind of local neighborhood should be considered as
‘flat' so that no subdivision is necessary. Thus the algorithm will only subdivide
those polygons in a rough area in order to give the surface a smoother appearance
and also bring out some details which were too coarse to be noticed before. The
computational time of this new algorithm is comparable to that of the original
subdivision scheme by Zorin et al. [14]. In this section, we will also describe all
the details involve in the overall implementation of our postprocessing method.
In Chapter 4, we present our experimental results on two different models
under different circumstances. Concluding remarks are given in Chapter 5.
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 2
BACKGROUND
2.1 G eneral Subdivision
Since the most popular 3D graphic model representation is based on a triangular
mesh, we will focus our discussion on such mesh representation from now on.
Subdivision scheme by itself is a very simple concept. In order to advance from a
coarser level to a finer level, one simply subdivides each triangle along its edges by
a new vertex, and then connects these new vertices from its three edges together
to form four new triangles. The main problem is to how to find the new position
of these new vertices such that we can achieve a new model which is more pleasing
that the old one. Figure 2.1 illustrates the basic idea behind the subdivision of a
single triangle.
Subdivision algorithms usually come in two flavors: approximating and inter­
polating. Modified Butterfly subdivsion scheme belongs to the second category,
i.e.,the old vertices’ position will remain the same at each subdivision level. The
next session will be a throughout discussion of this scheme. For further informa­
tion about approximating scheme, we refer to [1], [2] and [8] for details.
5
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
M° subdivided M1
Figure 2.1: Basic idea of subdivision of a single triangle
2.2 M odified B u tterfly Subdivision Schem e
Butterfly scheme was first introduced by Dyn et al. [3]. This scheme is interpolat­
ing, local in the sense that it requires only a small neighborhood to calculate new
vertices data, and it generates smooth surfaces over regular triangular meshes (all
vertices have valence 6). Unfortunately it exhibits undesirable artifacts in the case
of an irregular topology (some vertices have valence other than 6), and smooth­
ness can be lost at vertices of valence not equal to 6. Zorin et al. [14] reviewed
upon this and developed an improved scheme which retains the simplicity of the
Butterfly scheme and results in smoother surfaces.
Considering the local properties of the surface, local smoothness corresponds
to the existence of smooth parameterization (x(s, t), y(s, t), z(s, t)) of the surface.
The parameterization requires one to think of scalar values which are located
at vertices in R 2. The planar vertices may be part of a topologically arbitrary
triangulation. This triangulation is refined through splitting each planar edge
in two and reconnecting to form four new planar triangles. The interpolating
subdivision scheme is used to find a new value for the midpoint of some edge by
taking suitable weighted averages of nearby values. Notice that all new planar
6
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
vertices will be of valence 6. The neighbors participating in the computation are
part of the subdivision stencil and their weights characterize the scheme.
* 2
D C C
d
s
5
Figure 2.2: a: Ten-point stencil. The dot indicates the midpoint of the edge for
which a new value is computed, b: Stencil for a vertex in the 1-neighborhood of
an extraordinary vertex.
The relationship between the new vertex and the topology of its graph neigh­
borhood is classified as regular if all vertices in the neighborhood are of valence
6 (regular vertex), or AT-regular if the neighborhood is immediately adjacent to a
vertex of valence K other than 6 (extraordinary vertex). The subdivision scheme
can now distinguish between four situations.
1. For all edges with both endpoints of valence 6 compute the value for the
midpoint using the ten point stencil scheme (see Figure 2.2 a) with the
following weights
a = 1/2 — w,b = 1/8 = 2 w,c = — 1/16 — w,d — w
where w can by chosen suitably small (e.g., 0).
2. For every edge with one extraordinary vertex, compute the value for the
7
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
midpoint using the 1-neighbors of the AT-vertex as stencil (see Figure 2.2 b).
For K > 5, the weights given by
Sj = (1/4 + cos(2irj / K) + 1/2 cos(4ttj / K)) / K
with j = 0..... K — 1. For K = 3 we take s0 = 5/12. S i i2 = — 1/12. and for
K = 4, s0 = 3 /8 ,s2 = — 1/8, Sj,3 = 0, with q = 3/4 for all the above three
cases.
3. For every edge that connects two extraordinary vertices, compute values for
the midpoint using the scheme of the previous paragraph for each endpoint
and take the average.
4. Boundary edges are subdivided using the 1-dimensional 4 point scheme with
weights
s_i = — 1/16, s0 = 9/16, sx = 9/16, s2 = -1/16.
The result of applying one level of modified Butterfly subdivision to a com­
pressed dinosaur model of compression ratio 20:1 is presented in figure 2.3.
2.3 H ierarchical C om pression Schem e (H C S)
In any given 3D graphic model there are two types of data. The first one is
structure data, which describes the connectivity information among vertices to
characterize the topology of the model. Most 3D graphic files consist of a list of
polygons, each of which is pointing to the indices of its three vertices, to specify
its structure. The other one is attribute data, which specifies other relevant
8
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Figure 2.3: Result of applying one level of subdivision to a dinosaur model of 20:1
compression ratio.
information of the vertex or polygon, including the position, normal, color, or any
other application specific information such as the temperature distribution or the
flux vector at each vertex.
Li’s progressive compression scheme [7] performs multiple passes through all
vertices in the original mesh to organize vertices into a layered structure. Vertices
of less importance are removed first, and the resulting hole in the mesh is filled by
a local re-triangulation. The delete-fill operation is repeated until further removal
of any vertex could result in a topological violation. The resulting mesh serves as
the base mesh, which is the coarsest approximation of the original mesh connec­
tivity. Each deleted vertex is predicted by using the average of its neighboring
vertices. To enable the addition of that vertex in decoding, the neighborhood
information has to be encoded, so the coding of structure data is done by finding
a neighborhood pattern of any the vertex (or triangle). Coding of attribute data,
on the other hand, is done by passing the data through a quantization scheme
9
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
called successive approximate quantization [13], an embedded coding bit stream is
the result of this process. The embedded bit stream is then encoded using a con­
text based adaptive arithmetic coder [10]. These two seperate coded bit streams
are steamlined together by a rate distortion model to preserve the embedding
property. Decoding is done in the reverse order.
The HCS allows the user to determine the resulting decoded model by speci­
fying control parameters such as the number of points, the percentage of points
compared to the original, or the compression ratio compared to the compressed bit
stream, etc. Compression ratio is calculated by comparing the received bitstream
with the original bitstream.
10
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 3
Adaptive Subdivision Algorithm
complexity and storage requirement resulting by doing naive subdivision.
Recall from the previous chapter that when using modified Butterfly subdivision
method, each triangle is divided into 4 pieces at each subdivision level, and the
number of vertices also increases approximately 4 times. Such an exponential
growth of data dramatically increases the computational time and the storage
space required. So even with a small model, we will have trouble performing
postprocessing of more then a couple levels of subdivision. Here, we propose
the use of local neighborhood flatness information in order to solve this problem.
Triangles that are relatively ’flat’ compared with their neighbors are skipped, so
that no subdivision are performed on these. By defining a meaningful flatness
(ASA)
Before we begin describing the overall implementation of the subdivision process,
we first need to address the problem of exponential growth in computational
3.1 Subdivision B y F latn ess
l i
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
tolerance rule, we will be able to skip a large amount of ’flat’ triangles without
doing subdivision on them, and concentrate our processing power on triangles on a
rough area in order to give a smoother appearance and bring out detail information
of the model. The computational time of the new algorithm is comparable to that
of the original subdivision scheme by Zorin et al. [14], while we are able to save
60% or more in storage space.
3.1.1 C alcu lation o f F latn ess
Flatness information is calculated by using the unit length normal vectors of
any two adjacent triangles. Suppose that the angle between these two adjacent
triangles is 6, then for any two triangle with unit length normal vector iV l and
N2, let r = cos6 = N 1 • N 2, where (*) denotes the inner product of two vectors,
and let us also define a user control parameter t (Figure 3.1).
• Then two triangles are classified as ‘flat’ if
t < t < 1.
• Otherwise two triangles are classified as ’target’ for subdivision purpose.
Generally, in our experience, a control parameter t of 0.7 to 0.9 provides a
very good result by bringing out detail information of the model while skipping
flat areas. By limiting the control parameter t to 0.8 or above, we are allowing
two triangles to be classified as ’flat’ by having an incident angle of 37° or below.
12
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Figure 3.1: Flatness calculation by using two adjacent triangles and their unit
normal vector.
3.1.2 Sub d ivision T argets
After going through all the pair of triangles and mark the first round of targets
for subdivision, we still need to reconfigure those unmarked triangles with one
or more targeted neighbors in order to maintain the trianglar mesh property of
the model, i.e., the resulting model should also be constructed by triangles only.
For those unmarked triangles with one or more targeted neighbors, their edges
will be modified after a subdivision of the edges, so that a unmarked triangle will
become a polygon of four or more edges. To solve this problem, we have to split
these problem triangles in a certain way, such that the overall triangle structure
is maintained. For any unmarked triangle with one targeted neighbor, we simply
split the it into two. For any unmarked triangle with three targeted neighbors,
simply marked itself as target for subdivision. When an unmarked triangle has
two targeted neighbors, we classify it as target also, and by doing this, we need
to split the edge adjacent to its unmarked neighbors, thus affect the standing of
this neighbor. Hence we need to traverse to this new unmarked neighbor with
13
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
the additional information of having one more targeted connects to itself, and go
through the classification process again (Figure 3.2).
Figure 3.2: One and two targeted neighbors classification. An unmarked triangle
with one targeted neighbor is splitted into two (left). An unmarked triangle with
two targeted neighbor is changed to a target, and its remaining unmarked neighbor
will be affected(right).
3.2 Im plem entation
Now that we have addressed the issue of subdividing triangles according to their
local neighborhood flatness information, we can proceed to describe the details
of our postprocessing implementation. First, we need to transform our 3D mesh
model into some dynamic data structures we can work with easily.
3.2.1 C on n ectivity Inform ation
A typical 3D triangular mesh model is described by its set of vertices and the
list of triangles pointing to the corresponding vertices. Having only a one-sided
topological information proves to be inefficent for computational purpose, how­
ever. It is easy to ask which vertices does a certain triangle have, but difficult
to find which triangles does one vertex belong to. HCS itself has a linklist data
14
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
structure which provides a way to establish not only the cell-point link, a triangle
to vertices linkage, but also the point-cell link, which is a vertex to triangles link­
age. Since the subdivision method focuses on splitting each edge in the current
mesh level into two, we need also to establish a new data set, a edge-point link
at the beginning of postprocessing, for efficient access to the other two link lists,
the cell-point and the point-cell. We need to update these three link lists at each
subdivision level to maintain the overall topological structure of the mesh. The
new information of edge-point link is obtained by going through each cell and find
out the end points of all the 3 edges. Repeated edges are detected and ignored.
W ith these three links, we can now easily access connectivity information from
any angle. Geometry information regarding each vertex is stored in a library data
structure.
W ith the necessary data structures at hand, we can now start our procedure by
doing the first round of flatness checking. By taking the two neighboring triangles
of each edge, we use the rules we set up in section 3.1.1 to determine if they are
’flat’, and mark both of these two triangles as targets if they require subdivision
even if any one of them are classified as ’unflat’ by other neighbors previously.
The flatness calculation requires the calculation of the unit length normal vectors,
which are later used in finding the position of new edge vertices. After the first
round, we then go through each unmarked cell and check the number of neighbors
which are targeted for subdivision according to the rules in section 3.2.1 in order
to perform any necessary update. This process has to be repeated at each new
subdivision level in order to skip those triangles that newly passed the flatness
test after the previous subdivision level.
15
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
After we finish marking the triangles for subdivision targets, we go through
each edge again to start splitting the edge into two if at least one of its connecting
triangles is marked as a target. This is done by adding a new entry into the edge-
point linklist. The old edge-point linklist entry will be modified later after all other
linklists are updated. The value of the new point on the edge is calculated by the
modified Butterfly subdivision scheme. A new entry is also added to the point­
cell linklist for this new point, its connecting triangle information will be inserted
later on when we go through the process of subdividing the targeted triangles.
A correct order of the spanning neighbors has to be found so that the correct
weight could be applied for calculating the nqw point. This is done by taking
the two vertices of an unspanned edge, and matching it with a new neighboring
vertex to form an untouched triangle, until all the neighboring vertices are passed
through. When a correct order of the neighboring vertices is established, we can
then find the value of the new vertex on the edge by interpolating the weighted
scalar average of the parameterized neighboring vertices, according to the rules of
the modified Butterfly subdivision scheme.
3.2.2 P aram eterization of L ocal N eigh b orh ood
Recall from Section 2.2 that in the modified Butterfly subdivision scheme, finding
the value of a new vertices in R 3 is done by taking local weighted average of
the scalar values of their neighboring vertices in a planar surface. Since it is
not possible, without a priori information, to find a global parameterization of
an arbitrary 3D mesh object into R 2, we will therefore use a local neighborhood
parameterization method. In our algorithm, we use planar projection as our
16
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
parameterization method. One of the two triangles connected to the subdividing
edge is chosen as the initial plane for projection. Given the three points of the
triangle, one can find a normal N and a scalar d such that
N • P = d,
where P denotes any point on the same plane as the chosen triangle. A unit
length normal N is used in our algorithm.
With N and d. we then calculate the neighboring vertices’ projection param­
eters p by the following formula:
d - V - iV
p “ ii^'ii2 ’
where V is any neighboring vertex. Since ||iVj| = 1, the above equation is simpli­
fied to
p - d - V - N
After collecting all the p’s and finding pavg by using s /s from the decision rules
of subdivision scheme in Section 2.2, together with Pm,d, which is the actual
midpoint of the subdivied edge, we can now calcauate the new vertex value by
^ new = Pmid Pavg A,
a re-projection formula from R 2 to R 3 (see figure 3.3).
After splitting the edges into two by a new vertex point calculated by the
modified Butterfly subdivision scheme, we proceed to subdivide the triangles.
For each triangle, if it is marked as a target for subdivision, then we simply divide
17
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Figure 3.3: Parameterization of the local neighborhood by projecting the neigh­
borhood into the plane formed by q, v0 and V i
it into four new ones by adding three new entries into the cell-point linklist, the
three connecting points can be looked up by going to the three new edge-point
linklist entries. The old entry for the original triangle is updated into one of
the new triangle. If the triangle is unmarked, but one of its edges is subdivided,
we need to split the triangle into two by connecting the new vertex point of the
divided edge to the vertex not connected to this edge on the opposite side. One
new cell-point entry is added, and the old triangle entry is changed to become
one of the new triangles. In any of the two situations, we also need to insert the
18
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
triangle information into the point-cell linklist. And the whole process is wrapped
up by updating the old edge-point linklist entries to new ones.
19
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 4
EXPERIMENTAL RESULTS
We have obtained some experimental results by performing postprocessing on two
different 3D graphic models (see figure 4.1 and 4.2) using ASA. The original Spock
model has a total number of 16386 vertices and 32768 triangles. The original
dinosaur model has a total number of 2832 vertices and 5646 triangles.
The postprocessing of the compressed Spock model of compression ratio 20:1
(figure 4.1) is done by taking t = 0.9, i.e., skipping triangles with incident angles
less then 26°, with 2 levels of subdivision. Notice the triangles on the cheek and
at the top of the head are skipped, while those at the eyes, nose, ear, and hairline
are subdivided to bring out the details.
The postprocessing of the compressed dinosaur model of compression ratio 10:1
(figure 4.2) is done by taking t = 0.8, which indicates that we are skipping those
triangles with incident angles of 37° or less, with 3 level of subdivision. Notice
that the horns, the eye, the mouth, and the edge of the head are further refined
to bring out the details, whereas the rest of the body remain the untouched.
20
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
The following four tables summarize the numerical results of the ASA com­
pared with the original subdivision method. In tables 4.1 and 4.2 we compare the
total number of vertices and triangles on the Spock model and dinosaur model
respectively, with compression ratio (CR) equal to 20, and flatness control pa­
rameter t = 0.8. From the third row of table 4.1, we can see that by using ASA,
we are able to cut down the number of vertices and triangles by 60% or more
compared with those using the original subdivision method by Zorin e l al. [14].
From table 4.2, we can see that by manipulating the flatness control parameter t,
we can achieve higher storage saving by declaring more areas as ’flat’.
vertex triangle ver. ratio tri. ratio
before sub. vq = 6509 t 0 = 13014 - -
sub. (no ASA) = 104114 fi = 208224 V i/v o = 16.0 h / t o = 16
sub. (with ASA)
i/2 = 42879 t 2 = 85754 v2/vo = 6.6
v2/v\ = 0.42
t2/to — 13.2
t2/ t i = 0.41
Table 4.1: Comparison of the number of vertices and triangles for the Spock
model, with CR=20, 2 level of subdivision, and t = 0.9 for ASA
vertex triangle ver. ratio tri. ratio
no ASA, 3 level V o = 73346 to = 146688 - -
ASA, 3 level, t = 0.9 v\ = 35863 ti = 71722 vi/ v q = 0.49 h/to = 0.49
ASA, 3 level, t = 0.8 v 2 = 27428 t2 = 54852 v 2 / v q = 0.37 t2/to = 0.37
ASA, 3 level, t = 0.7 v 3 = 23302 t3 = 46600 v 3/ v Q = 0.32 t3/to = 0.32
Table 4.2: Comparison of the number of vertices and triangles for the dinosaur
model, with CR=20
The next two tables compare the computational time of ASA and of the orig­
inal method. The resulting system times are calculated by taking an average of
21
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
5 runs on a SGI-Indy machine. As one can see from table 4.3, the cost of using
ASA is about the same as that of the original subdivision method at level 1. At
level 2, the time is increased by 28%. However, the time is decreasd by 41% at
level 3. The same situation is reflected again in table 4.4. The times are about
the same for the first 2 levels. However, the time is increased by 31% and de­
creased by 22% at level 3 and 4, respectively. One explanation for this behavior
is that at lower level, other computations (i.e., non-adaptive components) count
most towards the timing cost. At mid-range level, the time spent on adaptively
checking the local area flatness starts to show up. Whereas at higher level, the
saving for skipping ’flat’ areas overcomes the extra cost. An appropriate decrease
of the value of t should bring the corresponding saving of computation cost. For
example, if we decrease t from 0.8 to 0.7 at level 3 for the dinosaur model, then
the time of ASA decreases from 16.92 (see table 4.4) to 13.92. Thus by adaptively
changing the flatness control parameter t from one level to the next one should
be able to improve computational complexity as well. We will consider this as a
part of our future work.
level vertex triangle time (sec)
no ASA 1 26030 52056 4.88
ASA 1 15971 47907 4.83
no ASA 2 104114 208224 19.23
ASA 2 37495 74986 24.60
no ASA 3 416450 832896 306.30
ASA 3 84404 168804 180.32
Table 4.3: Computational time of the Spock model, with CR=20, and t = 0.8 for
ASA
22
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
level vertex triangle time (sec)
no ASA 1 4586 9168 0.88
ASA 1 3842 7680 0.87
no ASA 2 18338 36672 3.36
ASA 2 11055 22106 3.37
no ASA 3 73346 146688 12.96
ASA 3 27428 54852 16.92
no ASA 4 293378 586752 135.14
ASA 4 62562 125120 105.79
Table 4.4: Computational time of the dinosaur model, with CR=20, and t = 0.8
for ASA
Figure 4.1: The Spock model of compression ratio 20 (left) and after 2 levels of
subdivision with t = 0.9 (right).
23
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Figure 4.2: Dinosaur model of compression ratio 10 (left) and after 3 levels of
subdivision with t = 0.8 (right).
24
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
Chapter 5
CONCLUSION AND FUTURE
WORK
For relatively smooth model, the modified Butterfly works well in bringing out
the details of the compressed model in a low compression ratio environment of
30:1 or less, according to the model. Usually a few levels of subdivision are
sufficient to produce a better looking model. Further subdivision requires more
computation time and storage space due to the exponential growth nature of
the subdivision scheme. However, by applying ASA, local neighborhood flatness
information is used in order to selectively refine the 3D mesh. Thus we could lower
the storage cost for 60% or more by skipping those triangles which are relatively
’flat’ in comparision with their neighbors, while the computational complexity is
comparable to that of the original subdivision method by Zorin el al. [14].
There are several other areas of the problem which still require further inves­
tigation:
• Currently we subdivide our model regardless of the graphic rendering issue.
25
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
A subdivision scheme which could make use of the viewing angle and dis­
tance from the viewing plane to the model would provide even more saving
on computational complexity and storage cost. Currently we choose the
number of subdivision levels and flatness control parameter t for postpro­
cessing purpose in a ad hoc manner. We would like to make this process
automatic by making these parameters as a function of viewing distance.
As for those triangles that are at the back of a model or out of the viewing
frustum, subdivision is not necessary either. We would also like to use the
viewing angle to determine whether some triangles need further subdivision
while the other could stop at the currently level.
• Sharp edges and corners are usually smoothered out during the subdivision
process, so we would like to develop a way to perserve these special features.
By using the surface normal information of the neighboring triangles, we
might be able to determine whether some triangles should be classified as
special features, and be dealed with accordingly, so that they are preserved.
A user could also specify some sharp features by doing that on-line.
• Modified Butterfly subdivision is only one of many subdivision schemes.
We would also like to try to use an approximating schemes such as [6],
because for higher compression ratio, the existing error of the compressed
model itself will become more noticable due to the fact that the modified
Butterfly subdivision scheme interpolates the original erroneous data. An
approximating scheme may be able to smooth out the error by using a global
predictor.
26
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
• So far we have only worked on models with one attribute data information,
i.e., the vertex position. We would like to also improve our algorithm in
order to process other attribute information such as color, texture, normal,
etc.
27
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
References
[1] Catmull, E., and Clark, J. Recursively generated B-spline surfaces on arbitrary
topological meshes. Computer Aided Design 10, 6, 350-355, 1978.
[2] Doo, D. A subdivision algorithm for smoothing down irregularly shaped poly­
hedrons. In Proceedings on Interactive Techniques in Computer Aided Design,
157-165, Bologna, 1978.
[3] Dyn, N., Levin, D. and Gregory, J. A. A Butterfly Subdivision Scheme for
Surface Interpolation with Tension Control. AC M Transactions on Graphics
9, Vol. 2, 160-169, 1990.
[4] Farin, G. Curves and Surfaces fo r Computer Aided Geometric Design. Aca­
demic Press, 3rd edition, 1992.
[5] Hoppe, H. Progressive Meshes. In Computer Graphics Proceedings. Annual
Conference Series, 99-108, ACM SIGGRAPH, 1996.
[6] Hoppe, H., DeRose, T., Duchamp, T., Halstead, M., Jin, H., McDonald.
J., Schweitzer, J., and Stuetzle, W. Piecewise smooth surface reconstruc­
tion. In Computer Graphics Proceedings, Annual Conference Series. ACM
SIGGRAPH, 295-302, 1994.
[7] Li, J. Progressive Compression on 3D Graphic Models. IEEE International
Conference on Multimedia Computing and System, Ottawa, Canada, 1997.
[8] Loop, C. Smooth Subdivision Surfaces Based on Triangles. Master’s Thesis,
Department of Mathematics, University of Utah, 1987.
[9] Lounsbery, M. Multiresolution Analysis for Surfaces of Arbitrary Topological
Type, Ph.D.dissertation, University of Washington, 1993.
[10] Pennebaker, W. B. and Mitchell, J. L. JPEG Still Image Data Compression
Standard, New York: Van Nostrand Reinhold, 1993.
[11] Schroeder, W. J. Decimation of Triangle Meshes. In Computer Graphics Pro­
ceedings, Annual Conference Series, 65-70, ACM SIGGRAPH, 1992.
28
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
[12] Taubin, D. and Rossignac, J. Geometric Compression through Topological
Surgery. Tech. Rep. RC-20340, IBM Eatson Research Center, 1996.
[13] Taubman, D. and Zakhor, A. Multirate 3D subband coding of video. IEEE
Trans. on Image Processing, Vol. 3, No. 3, 572-588, 1994.
[14] Zorin, D., Schroder, P. and Sweldens, V V . Interpolating Subdivision for
Meshes with Arbitrary Topology. Tech. Rep. CS-TR-96-06, Caltech, Depart­
ment of Computer Science, Caltech, 1996.
29
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission.
IMAGE EVALUATION
TEST TARGET (Q A -3 )
1 . 0
l.l
1.25
m y e
| 5 0
|»
1 1 1
u L i
!? 1 M
23
Z2
2.0
m
1.4 I I |.6
150mm
IIVU4GE. In c
1653 East Main Street
Rochester. N Y 14609 USA
Phone: 716/482-0300
Fax: 716/288-5989
Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. 
Asset Metadata
Creator Cheang, Ka Man (author) 
Core Title Adaptive subdivision algorithm in postprocessing of compressed three-dimensional graphic data 
Contributor Digitized by ProQuest (provenance) 
School Graduate School 
Degree Master of Science 
Degree Program Applied Mathematics 
Publisher University of Southern California (original), University of Southern California. Libraries (digital) 
Tag Computer Science,engineering, electronics and electrical,Mathematics,OAI-PMH Harvest 
Language English
Advisor Proskurowski, Wlodek (committee chair), Kuo, C.-C. Jay (committee member), Rosen, Gary (committee member) 
Permanent Link (DOI) https://doi.org/10.25549/usctheses-c16-24565 
Unique identifier UC11341315 
Identifier 1393167.pdf (filename),usctheses-c16-24565 (legacy record id) 
Legacy Identifier 1393167.pdf 
Dmrecord 24565 
Document Type Thesis 
Rights Cheang, Ka Man 
Type texts
Source University of Southern California (contributing entity), University of Southern California Dissertations and Theses (collection) 
Access Conditions The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the au... 
Repository Name University of Southern California Digital Library
Repository Location USC Digital Library, University of Southern California, University Park Campus, Los Angeles, California 90089, USA
Tags
engineering, electronics and electrical
Linked assets
University of Southern California Dissertations and Theses
doctype icon
University of Southern California Dissertations and Theses 
Action button