An 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.
2 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
3 Applications of 3D Streaming Virtual Museums e.g. UC Davis Geology Department
4 Applications of 3D Streaming Virtual Reality / Games: Second Life Active Worlds
5 Huge Amount of Data 4.9 MB 14 MB 155 MB 2 GB Models from
6 Progressive Streaming
7 A series of edge collapses A series of vertex splits Progressive Mesh (Hoppe ‘96) Based on edge collapse
8 Base mesh vs1vs2vs3vs4vs5vs6vs7vs8 Progressive Streaming Base mesh + a series of vertex splits
9 Vertex to be split should exist. The four neighbor faces should exist to avoid illegal split. V V1 V2 V3 V4 V5 V1V2V3V4V5 V Dependency Among Vertex Splits
10 Directed acyclic graph (DAG) directed acyclic graph Vertex splitdependency Representation of Dependency
What is the Research Question?
12 The Research Question Effect of dependency on video streaming is well known. What is the effect of vertex split dependencies on progressive mesh streaming?
13 Longer chain of dependencies than in video. I P P P Progressive Mesh MPEG1 B B B Property 1 I P P P B B B
14 Retransmission is Needed One packet loss may disable the decoding of many subsequent vertex splits. Retransmission is important.
15 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
16 importance Vertex splits Property 2 The importance of vertex splits decreases quickly.
17 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.
packet 1 is lost packet 1 is retransmitted time quality Case 2 Case 1 Case1: all following packets dependent on the lost packet Case2: all following packets are independent.
19 time quality Quality Curve Objective is to improve the quality on the client side. The quality changes with time.
20 time quality Our Objective Analytically estimate the cumulative quality of the decoded mesh at a given time t (area under the curve).
21 quality time0 t DvDv wvwv Decoded Mesh Quality Area under the curve
22 The Key is D v D v is a random variable since packet loss is random. Need to find E[D v ] for each vertex split. D v depends on Loss rate (channel property) Dependencies among data (data property)
23 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
24 TdTd TdTd SiSi 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.
25 i t =i t =0 0 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.
26 Steps Find the distribution of sending time receiving time decoding time
27 T d : the time to detect packet loss p : the loss rate Sending Time Sending Time S i is a random variable with Negative Binomial Distribution.
28 TdTd TdTd SiSi S i +2T d Receiving Time: R i R i = S i + nT d if it is retransmitted n times. n is a random variable with geometric distribution. We approximate S i using E[S i ]. R i = E[S i ] + nT d The distribution of R i can be computed. See the paper for detail.
29 Packet iVertex v P (v): 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
30 In practice, we only consider j from S i to S i + 3T d. Packet j received at t Others received before t Decoding Time: D v
31 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.
32 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 in average in maximum (100000runs of simulation, loss rate: 10%)
33 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
34 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.
How much can we improve the quality if we choose a proper sending strategy?
36 Worst Case vs. Ideal Case Consider Two Extreme Cases
37 Worst Case vs. Ideal Case
38 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
39 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.
40 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
41 Greedy Strategy We can calculate D v. gain=w v (D v ’-D v ) Pack the vertex split with the maximum gain. DvDv Dv’Dv’ v Current Packet Next Packet ? ?
42 gain=w v (D v ’-D v ) importance Effect of dependency 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.
43 Average Quality (Td = 40, p = 0.1)
44 In 90% Cases, the quality is better than (Td = 40, p = 0.1)
45 Greedy FIFO Results
46 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.
Thank You! Q & A Time
48 FIFO average Greedy 90% cases Greedy average FIFO 90% cases Results