A Model for Streaming 3D Meshes and Its Applications

Similar documents
An Analytical Model for Progressive Mesh Streaming. WEI TSANG OOI National University of Singapore

Error-Resilient Transmission of 3D Models

Communications Software. CSE 123b. CSE 123b. Spring Lecture 3: Reliable Communications. Stefan Savage. Some slides couresty David Wetherall

Strongly Connected Components

Lecture 7: Sliding Windows. CSE 123: Computer Networks Geoff Voelker (guest lecture)

UNIT IV -- TRANSPORT LAYER

Lec 19 - Error and Loss Control

CSE 123: Computer Networks Alex C. Snoeren. HW 1 due NOW!

Channel-Adaptive Error Protection for Scalable Audio Streaming over Wireless Internet

Lecture 4: CRC & Reliable Transmission. Lecture 4 Overview. Checksum review. CRC toward a better EDC. Reliable Transmission

Link Layer: Error detection and correction

Multi-path Forward Error Correction Control Scheme with Path Interleaving

Measurement Study of Lowbitrate Internet Video Streaming

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Video Streaming with Network Coding

EECS 122, Lecture 19. Reliable Delivery. An Example. Improving over Stop & Wait. Picture of Go-back-n/Sliding Window. Send Window Maintenance

Advanced Modulation and Coding Challenges

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

CSCI-1680 Link Layer Reliability Rodrigo Fonseca

6.033 Spring 2015 Lecture #11: Transport Layer Congestion Control Hari Balakrishnan Scribed by Qian Long

Exercises TCP/IP Networking With Solutions

Lecture 7: Flow & Media Access Control"

Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks

The Transport Layer Reliability

Wei Wang, Mehul Motani and Vikram srinivasan Department of Electrical & Computer Engineering National University of Singapore, Singapore

CSE 123: Computer Networks

Coding for the Network: Scalable and Multiple description coding Marco Cagnazzo

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

CRC. Implementation. Error control. Software schemes. Packet errors. Types of packet errors

Spirale Reversi: Reverse decoding of the Edgebreaker encoding

An undirected graph is a tree if and only of there is a unique simple path between any 2 of its vertices.

Lecture 7: Flow Control"

Distributed minimum spanning tree problem

Mesh-Based Content Routing Using XML

Quality of Service (QoS) Whitepaper

Lossless Compression Algorithms

Episode 4. Flow and Congestion Control. Baochun Li Department of Electrical and Computer Engineering University of Toronto

ELEC 691X/498X Broadcast Signal Transmission Winter 2018

Lecture 10: Link layer multicast. Mythili Vutukuru CS 653 Spring 2014 Feb 6, Thursday

Improving the quality of H.264 video transmission using the Intra-Frame FEC over IEEE e networks

Wireless Video Transmission: A Single Layer Distortion Optimal Approach

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Analysis of TCP Latency over Wireless Links Supporting FEC/ARQ-SR for Error Recovery

AN ABSTRACT OF THE THESIS OF

Packet-Level Forward Error Correction in Video Transmission

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

Module 6 STILL IMAGE COMPRESSION STANDARDS

U.C. Berkeley CS170 : Algorithms Midterm 1 Lecturers: Alessandro Chiesa and Satish Rao September 18, Midterm 1

Error Control Techniques for Interactive Low-bit Rate Video Transmission over the Internet.

Diversity Coloring for Distributed Storage in Mobile Networks

Data Link Layer, Part 5 Sliding Window Protocols. Preface

An Unequal Packet Loss Protection Scheme for H.264/AVC Video Transmission

Outline. Basic ARQ schemes. S Capacity enhancement methods for radio interface ARQ Schemes. Classification of error control strategies

40 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 15, NO. 1, JANUARY 2006

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

Graph Algorithms. Andreas Klappenecker. [based on slides by Prof. Welch]

Unequal Packet Loss Protected Transmission for FGS Video. Lianji Cheng; Li Song; Songyu Yu

Balanced Trees Part Two

University of Waterloo. Storing Directed Acyclic Graphs in Relational Databases

Announcements. IP Forwarding & Transport Protocols. Goals of Today s Lecture. Are 32-bit Addresses Enough? Summary of IP Addressing.

TCP Congestion Control

TCP Flavors Simulation Evaluations over Noisy Environment

Random Early Drop with In & Out (RIO) for Asymmetrical Geostationary Satellite Links

S Capacity enhancement methods for radio interface ARQ Schemes

Notes slides from before lecture. CSE 21, Winter 2017, Section A00. Lecture 10 Notes. Class URL:

Efficiency Optimisation Of Tor Using Diffie-Hellman Chain

Ad hoc and Sensor Networks Chapter 6: Link layer protocols. Holger Karl

Multimedia Networking ECE 599

The Data Link Layer Chapter 3

SONY S QOS TECHNOLOGY

Mesh Repairing and Simplification. Gianpaolo Palma

Analyzing Multi-Channel Medium Access Control Schemes With ALOHA Reservation

Byzantine Consensus in Directed Graphs

Lecture 5: Flow Control. CSE 123: Computer Networks Alex C. Snoeren

TCP Congestion Control

TCP Congestion Control

Lecture 6: Multicast

Request for Comments: 5109 December 2007 Obsoletes: 2733, 3009 Category: Standards Track. RTP Payload Format for Generic Forward Error Correction

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

CSCI-1680 Link Layer Reliability John Jannotti

Principles of Reliable Data Transfer

4. Error correction and link control. Contents

TCP Over SoNIC. Xuke Fang Cornell University. XingXiang Lao Cornell University

CS144: Intro to Computer Networks Homework 1 Scan and submit your solution online. Due Friday January 30, 4pm

Recommended Readings

Solutions to relevant spring 2000 exam problems

Adaptive Forward Error Correction for Real-time Internet Video

ICS 451: Today's plan. Sliding Window Reliable Transmission Acknowledgements Windows and Bandwidth-Delay Product Retransmission Timers Connections

RPT: Re-architecting Loss Protection for Content-Aware Networks

Wireless Sensornetworks Concepts, Protocols and Applications. Chapter 5b. Link Layer Control

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

FEC Performance in Large File Transfer over Bursty Channels

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Spring Quiz III

Congestion Control. Brighten Godfrey CS 538 January Based in part on slides by Ion Stoica

To address these challenges, extensive research has been conducted and have introduced six key areas of streaming video, namely: video compression,

Lecture 4 September 17

Detecting negative cycles with Tarjan s breadth-first scanning algorithm

Congestion Control in TCP

Lecture 2. 1 Introduction. 2 The Set Cover Problem. COMPSCI 632: Approximation Algorithms August 30, 2017

Analyzing the Peeling Decoder

Transcription:

A Model for Streaming D Meshes and Its Applications ABSTRACT Ong Yuh Shin and Ooi Wei Tsang Department of Computer Science, School of Computing, National University of Singapore In this paper, we present results on the effects of using forward error correction (FEC) with retransmission in the streaming of a progressive mesh. We showed analytically that it does not improve the number of received packets, but improves the number of decodable packets. We also propose a Dynamic FEC protocol, which maximizes the expected increase in number of decodable packets at any point in time. It adapts to loss rate and more importantly, to the packet dependency structure of the mesh. Simulation results show that the proposed scheme can double the number of decodable packets in the early stage of the streaming.. INTRODUCTION Progressively encoded objects are useful for streaming as they provide fine-grained refinements that are more quickly transmitted. However, due to dependencies introduced in the progressive encoding, network losses can cause subsequent refinements to be undecodable. Retransmission is a solution but this causes decoding delay due to the round trip time. Probability of losses can be reduced using forward error correction (FEC), which comes at the cost of increased bandwidth requirements. We have studied the following two issues. Firstly, given that retransmission is necessary, whether FEC is of any use when streaming a progressively encoded mesh. Secondly, if it is useful, what is the optimal FEC rate. We have found that FEC does not improve the number of received packets. However, it can improve the number of decodable packets initially. We propose an online adaptive protocol (Dynamic FEC) for finding the optimal FEC rate, which is designed to adapt to varying dependency structures and loss rates. Simulation results show that during the early stages of the streaming, Dynamic FEC can improve the expected number of decodable packets by 2 times that achieved by a pure retransmission scheme, as in Figure 4(a). An application of this scheme is for D streaming in a virtual environment. When users move, objects move out of view before finer refinements are decoded. FEC protects earlier refinements, but delays the sending of the finer ones. Even so, the viewer is more likely to see a reasonable representation of the object before it moves out of view since the earlier refinements are less likely to be due to FEC s protection. 2. RELATED WORK 2.. Forward Error Correction We use packet-level Reed-Solomon (RS) codes for forward error correction (FEC). The encoding process produces N packets from K input packets. The input packets are contained in the N output packets and are called data packets which containing vertex splits. The Student Supervisor

remaining N K packets are FEC packets. The FEC rate is denoted RS(N, K). If at least K packets are received, then all N packets are recoverable. Software implementation of RS codes can be computationally intensive. (Rizzo, 997) shows how such codes can be computed efficiently. The implementation encodes packets at rates of MB/s on a Pentium and decodes them between 6 to 9 MB/s. 2.2. Progressive Mesh Our model applies to the progressive mesh (Hoppe, 996). The encoding process is made up of a series of edge collapse operations, where two adjacent vertices of the mesh are combined into a single vertex. This is repeated until the mesh becomes small enough, resulting in a base mesh. To obtain the original mesh, the base mesh is decoded using vertex splits where a vertex is split into the original two vertices, forming the edge that was previously collapsed, and introducing faces that were removed. Figure (a) shows the results of the edge collapse and vertex split operations. As more vertex splits are decoded, the quality of the mesh improves. Figure (b) shows the Happy Buddha mesh as more and more vertex splits are decoded. vl vs vr edge collapse vl vs vt vertex split vr (a) Vertex split and edge collapse (b) Happy Buddha mesh - improving quality Figure. Progressive mesh and incremental refinements The progressive encoding introduces dependencies between vertex splits. A vertex split is decodable if it is received, and if all vertex splits it depends on have been received. 2.. Progressive Mesh Streaming Streaming of the compressed progressive mesh (Pajarola & Rossignac, 2) (CPM), a variant of the progressive mesh, has been considered in (Alregib, Altunbasak, & Rossignac, 25). The authors proposed using unequal error protection (UEP) which provides more redundancy to the earlier refinements. Simulation shows that UEP with FEC allows more levels of detail in the CPM to be decoded. However, there is no retransmission and refinements stop once packet losses occur. Also, (Cheng, Ooi, Mondet, Grigoras, & Morin, 27) has given an analytical model for streaming progressive meshes, using a retransmission based protocol. They have shown that dependencies have the greatest effect on the number of decodable packets in the initial stages. In the next section, we present a modified version of this protocol that uses FEC.. NETWORK, DEPENDENCIES AND STREAMING Before streaming the refinements of the progressive mesh, the sender packetizes the vertex splits using packetization algorithms (Cheng et al., 27). Each packet can be seen as a

set of vertex splits. This creates a packet dependency structure due to the vertex split dependencies. Formally, Definition. A packet dependency graph (Figure 2) is a directed acyclic graph (DAG). Each node represents a packet. A directed edge (u, v) exists if packet v contains vertex split(s) that depend directly on some vertex split(s) in packet u. A packet is decodable if all its ancestors in the packet dependency graph and itself are received. 2 4 5 6 7 8 9 Figure 2. Example of a packet dependency graph. We will assume that packet losses are independent and occur with probability p. Negative acknowledgements (NACK) from the receiver are never and the round trip time (RTT) is bounded. The RTT can be represented by T d, the number of unacknowledged packets... Streaming Protocols We compare two protocols - the FEC scheme and the NoFEC scheme. In both schemes, data packets are sent according to their topological order in the packet dependency graph.... FEC Scheme Under the FEC scheme, packets (data and FEC) are sent in batches of fixed size N, where N T d. Each batch is sent with FEC rate RS(N, K), where K N and need not be the same for each batch. We call such a batch of N packets a block. IDs are assigned to blocks, with the first block having ID. If a block is recoverable, all packets are recovered and considered received. Otherwise, the receiver sends a NACK containing the IDs of the data packets. We can also capture the RTT using T d, which denotes the number of unacknowledged blocks. On receiving the NACK, the sender retransmits the packets as soon as possible. Figure (a) shows an instance of the FEC scheme...2. NoFEC Scheme This scheme is the same as that described in (Cheng et al., 27). Packets are streamed continuously. When a packet loss is detected, the receiver replies with a NACK for the packet. On receiving the NACK, the sender retransmits the packet immediately. Figure (b) shows an instance of this scheme. For comparison, we also adopt the notion of a block. Suppose we run both schemes in parallel. For every block in the FEC scheme, the corresponding block in the NoFEC scheme will be the set of N packets sent in the NoFEC scheme during the time which the N packets were sent in the FEC scheme.

Block Block Sender 2 FEC 4 5 6 7 FEC Receiver NACK (,) Recover (5) Block Block Sender 2 4 5 6 7 8 Receiver NACK () NACK () NACK () (a) FEC Scheme (b) NoFEC Scheme Figure. FEC and NoFEC Schemes 4. EFFECTIVENESS OF FEC We first look at the effect of FEC on the number of received data packets. Theorem. The expected number of received data packets per block under the NoFEC scheme is at least as large as that under the FEC scheme. We also studied the effect of FEC under two extreme cases. The best-case packet dependency graph is an empty graph and all received packets are immediately decodable. A worst-case packet dependency graph is one in which packets are decodable if all packets sent before it are received. Intuitively, the graph has a chain that contains all packets. By Theorem we have that under the best case dependency, the use of FEC does not improve the expected number of decodable packets in any block. Also, using both analytical and simulation approaches, we have Theorem 2. Under the worst case dependencies, the use of FEC can improve the expected number of decodable packets before and after retransmission takes place in the initial stages. 5. ADAPTIVE FEC SCHEME - DYNAMIC FEC Theorem 2 tells us that FEC can improve the number of decodable packets in the intial stages. This leads to the question of what the optimal FEC rate is. Here, we define optimality to be the FEC rate that maximizes the expected increase in number of decodable packets in the next block to be sent. Intuitively, we are trying to increase the quality of the received mesh as quickly as possible. 5.. State of the Sender To capture the increase in number of decodable packets in the next block, we must know the current status of the packets sent and received. The sending time of a packet is the ID of the block in which the packet was last sent ( if not sent). The receiving time of a packet, is the ID of the block in which the packet was received ( if not received). In state j, the sender has sent block j but not block j. It is made up of () a mapping of each packet to its sending and receiving times as known by the sender, (2) the list of blocks sent up to block j with their FEC rates and () a retransmission queue. Given that the system is at state j, the optimal FEC rate for block j is that which maximizes the expected increase in number of decodable packets from block j to block j, measured at the end of each block.

5.2. Expected Increase in Number of Decodable Packets To compute this expected increase for each block, we first pick out packets that have a non-zero probability of contributing to this increase. This is the set of potentially decodable packets in block j, denoted S(j). A packet is in this set if it is sent in block j, or is a descendent of some packet(s) in block j, such that after the block is sent, all its ancestors and itself are either received, or are unacknowledged. Suppose some packet i S(j) has n i,j,k ancestors sent in block j T d +k for k T d (one of the T d unacknowledged blocks). Let r i,j,k be the probability that all n i,j,k ancestors are received (or recovered) in this block. Lemma. The probability that n i,j,k ancestors of packet i are received in block j T d +k is r i,j,k = ( p) n i,j,k N n i,j,k x=n K j,k + ( N ni,j,k x ) N K j,k p x ( p) N ni,j,k x + where RS(N, K j,k ) is the FEC rate used the block j T d + k. x= ( ) N p x ( p) N x x Let d i,j be the probability that some potentially decodable packet i S(j) is decodable by the time block j is sent. Theorem. The expected increase in no. of decodable packets from block j to block j, given that the system is in state j and is to send a set of packets P in block j, is E[D j] = T d i S(j) k= With this, we can compute the optimal FEC rate by performing a search on all possible values of K. 6. SIMULATION To compare Dynamic FEC to other possible schemes, we simulated Static FEC, No FEC, and Dynamic FEC. Static FEC finds the optimal FEC rate for block and uses it throughout. No FEC and Dynamic FEC are as described in the previous sections. The simulation was performed under two packet dependency graphs: the worst case, and a binary tree sent in breadth-first order, using N = 2, p =.5. From the second block onwards in the case of the binary tree, due to the breadth-first sending order, packet dependencies in each block resemble the best case in which No FEC is optimal (Theorem ). As for the worst case, by Theorem 2, we expect the FEC schemes to improve the number of decodable packets at least at the start. Figure 4 shows the average total number of decodable packets at the end of each block, measured over iterations, for N = 2, p =.5, T d = 6, T d =. Figure 4(a) represents the results for the worst case, while Figure 4(b) gives that for the binary tree. Our results show that Dynamic FEC is able to perform as well as the better of the two schemes under different situations and is capable of adapting FEC rate to dependency structure. r i,j,k

2 8 Static FEC Dynamic FEC No FEC 2 8 Static FEC Dynamic FEC No FEC 6 6 4 4 Avg No. dcdb pkts 2 8 Avg No. dcdb pkts 2 8 6 6 4 4 2 2 2 4 6 8 2 4 block 2 4 6 8 2 4 block (a) Worst case dependency (b) Binary tree dependency Figure 4. Average total number of decodable packets vs. block ID, N = 2, p =.5, T d = 6, T d = 7. CONCLUSION To sum up, FEC does not improve the number of received data packets and is thus not useful under the best-case dependencies. However, it improves the expected number of decodable packets when dependencies exist among packets. With this, we proposed Dynamic FEC which adapts FEC rate to dependencies. An open question that remains is under what network conditions and what dependency structures will FEC necessarily, or sufficiently be useful. Aside from this, Dynamic FEC can easily be extended to cover stronger assumptions. Here, we assumed that all packets contribute equally to the quality of the decoded mesh. However, the model can be extended to give weights to each packet. Last but not least, the proposed scheme need not be restricted to progressive meshes. It is applicable to any progressively encoded data where dependencies are represented by a packet dependency graph. 8. REFERENCES [] Alregib, G., Altunbasak, Y., & Rossignac, J. (25). Error-resilent transmission of d models. ACM Transactions on Graphics, 24(2), April, 25, 82 28. [2] Cheng, W., Ooi, W. T., Mondet, S., Grigoras, R., & Morin, G. (27). An analytical model for progressive mesh streaming. MULTIMEDIA 7: Proceedings of the 5th international conference on Multimedia (pp. 77 746), New York, NY, USA, Sep, 27: ACM. [] Hoppe, H. (996). Progressive meshes. Proceeding of SIGGRAPH 96 (pp. 99 8), New Orleans, USA, August, 996. [4] Pajarola, R., & Rossignac, J. (2). Compressed progressive meshes. Visualization and Computer Graphics, IEEE Transactions on, 6(), Jan-Mar, 2, 79 9. [5] Rizzo, L. (997). Effective erasure codes for reliable computer communication protocols. ACM Computer Communication Review, 27(2), April, 997, 24 6.