Wei Cheng, Wei Tsang Ooi
School of Computing, National University of Singapore.
Sebastian Mondet, Romulus Grigoras,
Geraldine Morin,
IRIT/ENSEEIHT, France.
Outline
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
2
Applications of 3D Streaming
Virtual Museums
e.g. UC Davis Geology Department
3
Applications of 3D Streaming
Virtual Reality / Games:
Second Life
Active Worlds
4
Huge Amount of Data
4.9 MB
14 MB
155 MB
2 GB
Models from http://www-graphics.stanford.edu/ 5
Progressive Streaming
6
Progressive Mesh (Hoppe ‘96)
Based on edge collapse
A series of edge collapses
A series of vertex splits
7
Progressive Streaming
Base mesh + a series of vertex splits
Base mesh vs1 vs2 vs3 vs4 vs5 vs6 vs7 vs8
8
Dependency 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
V4
V5
V
9
Representation of Dependency
Directed acyclic graph (DAG) directed acyclic graph
Vertex split dependency
10
The Research Question
Effect of dependency on video streaming is well known.
What is the effect of vertex split dependencies on progressive mesh streaming?
12
Property 1
Longer chain of dependencies than in video.
I
B
P
P
B
P
B
I
P
P
P
B
B
B
Progressive Mesh
13
MPEG1
Retransmission is Needed
One packet loss may disable the decoding of many subsequent vertex splits.
Retransmission is important.
14
Importance 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
15
Property 2
The importance of vertex splits decreases quickly.
importance
Vertex splits
16
Retransmission 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.
17
Case1: all following packets dependent on the lost packet
Case2: all following packets are independent.
packet 1 is lost quality
Case 2
Case 1 time packet 1 is retransmitted
Quality Curve
Objective is to improve the quality on the client side.
The quality changes with time.
quality time 19
Our Objective
Analytically estimate the cumulative quality of the decoded mesh at a given time t (area under the curve).
quality time
20
Decoded Mesh Quality quality
Area under the curve
0
D v w v t time
21
The Key is
D v
D v is a random variable since packet loss is random.
Need to find
E[D v split.
] for each vertex
D v depends on
Loss rate (channel property)
Dependencies among data (data property)
22
Outline
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
23
Assumptions
UDP + retransmission
Constant sending rate
We Retransmit lost packet as soon as packet loss is detected.
Packet loss is detected after time
T d
.
S i
T d
T d
24
Time
Receiver’s 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 t =i i
0 t =0 t =i
25
Steps
Find the distribution of
sending time
receiving time
decoding time
26
Sending Time
Sending Time
S i is a random variable with Negative Binomial Distribution.
T d
: the time to detect packet loss p : the loss rate
27
Receiving Time:
R i
R i
= S i
+ nT d if it is retransmitted n times.
n is a random variable with geometric distribution.
S i
We approximate
S i using
E[S i
].
R i
= E[S i
] + nT d
The distribution of
R i computed.
can be
T d
T d
S i
+2T d
See the paper for detail.
S i
+2T d
28
Decoding Time:
D v
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
29
Decoding Time:
D v
Packet j received at t
Others received before t
In practice, we only consider j from S i to S i
+ 3T d
.
30
After knowing
D v
We can estimate the expected value of quality of a given 3D mesh as a function of time and packet loss probability.
31
Verification of
D v
We made two approximations:
We use
E[Si] to replace random variable
Si in calculating
Ri
.
We only add up to
Si + 3Td instead of infinity in calculating
E[Dv].
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%)
32
Outline
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
33
Sending Strategy and Quality Curve
Quality curve depends on
D v.
D v 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.
34
Consider Two Extreme Cases
Worst Case vs. Ideal Case
36
Worst Case vs. Ideal Case
37
The 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
38
What 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.
39
Outline
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
40
Greedy Strategy
D v
?
v
?
D v
’
We can calculate
D v
.
gain=w v
(D v
’-D v
)
Pack the vertex split with the maximum gain.
Current
Packet
Next
Packet
41
Comparison 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.
gain=w v
(D v
’-D v
) importance Effect of dependency 42
Average Quality (Td = 40, p = 0.1)
43
In 90% Cases, the quality is better than
(Td = 40, p = 0.1)
44
Results
FIFO
Greedy
45
Conclusion
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.
46
Results
FIFO
90% cases
Greedy
90% cases
FIFO average
Greedy average 48