Title: An Analytical Model for Progressive Mesh Streaming
1An Analytical Model for Progressive Mesh
Streaming
- Wei Cheng, Wei Tsang Ooi
- School of Computing, National University of
Singapore. - Sebastian Mondet, Romulus Grigoras,
- Geraldine Morin,
- IRIT/ENSEEIHT, France.
2Outline
- Background and motivation of our research
- An analytical model for progressive mesh
streaming - The main insight from the model
- A sending strategy based on our model
3Applications of 3D Streaming
- Virtual Museums
- e.g. UC Davis Geology Department
4Applications of 3D Streaming
- Virtual Reality / Games
- Second Life
- Active Worlds
5Huge Amount of Data
4.9 MB
14 MB
155 MB
2 GB
Models from http//www-graphics.stanford.edu/
6Progressive Streaming
7Progressive Mesh (Hoppe 96)
A series of edge collapses
A series of vertex splits
8Progressive Streaming
- Base mesh a series of vertex splits
Base mesh
vs1
vs2
vs3
vs4
vs5
vs6
vs7
vs8
9Dependency Among Vertex Splits
- Vertex to be split should exist.
- The four neighbor faces should exist to avoid
illegal split.
V2
V1
V3
V1
V2
V3
V4
V5
V
V
V5
V4
10Representation of Dependency
- Directed acyclic graph (DAG)
directed acyclic graph
Vertex split
dependency
11- What is the
- Research Question?
12The Research Question
- Effect of dependency on video streaming is well
known. - What is the effect of vertex split dependencies
on progressive mesh streaming?
13Property 1
- Longer chain of dependencies than in video.
I
B
P
B
P
B
P
I
B
P
B
P
B
P
Progressive Mesh
MPEG1
14Retransmission is Needed
- One packet loss may disable the decoding of many
subsequent vertex splits. - Retransmission is important.
15Importance of a Vertex Split
- The increase in mesh quality after decoding this
vertex split. - Any quality metric can be used in our model, e.g.
- Hausdorff distance
- View dependent metrics
16Property 2
- The importance of vertex splits decreases quickly.
importance
Vertex splits
17Retransmission Has Higher Priority
- When we need to choose between retransmission and
sending new data, it is better to retransmit lost
packet. - Because the older data is typically more
important.
18Case1 all following packets dependent on the
lost packet Case2 all following packets are
independent.
packet 1 is lost
quality
Case 2
time
Case 1
packet 1 is retransmitted
19Quality Curve
- Objective is to improve the quality on the client
side. - The quality changes with time.
20Our Objective
- Analytically estimate the cumulative quality of
the decoded mesh at a given time t (area under
the curve).
quality
time
21Decoded Mesh Quality
quality
wv
time
0
Dv
t
22The Key is Dv
- Dv is a random variable since packet loss is
random. - Need to find EDv for each vertex split.
- Dv depends on
- Loss rate (channel property)
- Dependencies among data (data property)
23Outline
- Background and motivation of our research
- An analytical model for progressive mesh
streaming - The main insight from the model
- A sending strategy based on our model
24Assumptions
- UDP retransmission
- Constant sending rate
- We Retransmit lost packet as soon as packet loss
is detected. - Packet loss is detected after time Td.
Si
Td
Td
25Time
- Receivers clock begins RTT/2 later (if packet is
not lost, the sending time the receiving time). - One unit time time to send a packet.
- If no retransmission, sending time sequence
number.
t 0
0
t 0
t i
i
t i
26Steps
- Find the distribution of
- sending time
- receiving time
- decoding time
27Sending Time
- Sending Time Si is a random variable with
Negative Binomial Distribution.
Td the time to detect packet loss p the loss
rate
28Receiving Time Ri
- Ri Si nTd if it is retransmitted n times.
- n is a random variable with geometric
distribution. - We approximate Si using ESi.
- Ri ESi nTd
- The distribution of Ri can be computed.
- See the paper for detail.
Si
Td
Td
Si 2Td
Si 2Td
29Decoding Time Dv
- If an ancestor of vertex split v is inside a
packet p, we say p is a parent packet of v. - Vertex split v can only be decoded when all
packets in P(v) are received. - P(v) the set of packet i and all parent packets
of vertex v. - Vertex v is in packet i
P(v)
Packet i
Vertex v
30Decoding Time Dv
Packet j received at t
Others received before t
In practice, we only consider j from Si to Si
3Td.
31After knowing Dv
- We can estimate the expected value of quality of
a given 3D mesh as a function of time and packet
loss probability.
32Verification of Dv
- We made two approximations
- We use ESi to replace random variable Si in
calculating Ri. - We only add up to Si 3Td instead of infinity in
calculating EDv. - We use simulation to verify the accuracy after
our approximations. - The difference between analytical result and
simulation result is very small. - 0.1223 in average
- 1.3083 in maximum
- (100000runs of simulation, loss rate 10)
33Outline
- Background and motivation of our research
- An analytical model for progressive mesh
streaming - The main insight from the model
- A sending strategy based on our model
34Sending Strategy and Quality Curve
- Quality curve depends on Dv.
- Dv depends on the sending order and dependency.
- Sending strategy decides the sending order and
hence the dependency among packets. - Different sending strategies generate different
quality curves.
35How much can we improve the quality if we choose
a proper sending strategy?
36Consider Two Extreme Cases
- Worst Case vs. Ideal Case
37Worst Case vs. Ideal Case
38The Main Insight
- The effect of dependency is only significant in
the first few seconds. - Need to deal with dependencies only for
interactive applications where this first few
seconds matter - E.g., online games, building walkthrough
39What can we do?
- Use a better sending strategy.
- Consider the effect of dependency
- Increase the initial sending rate
- Add FEC to initial data
- Our model can be used to make the proper
trade-off in all above cases.
40Outline
- Background and motivation of our research
- An analytical model for progressive mesh
streaming - The main insight from the model
- A sending strategy based on our model
41Greedy Strategy
- We can calculate Dv.
- gainwv(Dv-Dv)
- Pack the vertex split with the maximum gain.
v
?
?
Dv
Dv
Next Packet
Current Packet
42Comparison of Greedy and FIFO
- FIFO
- Send the vertex splits in first-in-first out
order (typically in the decreasing order of
importance). - Greedy
- Consider both importance and dependency.
gainwv (Dv-Dv)
importance
Effect of dependency
43Average Quality (Td 40, p 0.1)
44In 90 Cases, the quality is better than(Td
40, p 0.1)
45Results
Greedy
FIFO
46Conclusion
- Retransmission is important in Progressive mesh
streaming. - The effect of packet loss exists even with
retransmission and it depends on the dependency. - The effect of dependency is significant in first
few seconds. - We can improve the initial quality with better
strategy than FIFO.
47Thank You! Q A Time
48Results
FIFO average
Greedy 90 cases
Greedy average
FIFO 90 cases