slides - nemesys - National University of Singapore

advertisement

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.

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

What is the

Research Question?

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

How much can we improve the quality if we choose a proper sending strategy?

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

Thank You!

Q & A Time

Results

FIFO

90% cases

Greedy

90% cases

FIFO average

Greedy average 48

Download