Presentation on theme: "UDP Lite for Wireless Video Streaming"— Presentation transcript:
1UDP Lite for Wireless Video Streaming Almudena Konrad, Amoolya Singh,and Anthony JosephUniversity of California, BerkeleyJun 19, 2000
2Idea Problem Goal Proposed Solution Current Internet doesn’t support bit error resilient codecsGoalSupport real-time streaming applications over noisy channels, such as wirelessProposed SolutionProvide link/transport layer alternatives to support error resilient video codecsOne of the problems w/ the current internet is that it doesn’t support error-resilient codecs.Many standardized video codecs perform better with corrupted data packets rather than completely dropped packets. However, the strict checksumming in the network layers causes all corrupted packets to be dropped rather than passed up to the application. This means that the so called “error resilience” of the codecs is realy disabled by the network.
3Testbed, Protocols, Tools RTPIPPPPPacketizationRTPUDP / UDP LiteIPPPPDe-packetizationH.263+ DecoderSocket InterfaceH.263+ EncoderSocket InterfaceUDP / UDP Litetransparent / non transparenttransparent / non transparentFixed HostUnix BSDi 3.0GSMBase StationGSM NetworkPSTNMobile HostWe use the following testbed, protocols and tools:Our testbed consits of a mobile host communicating to an stationary host through the circuit-sw GSM network.At the application layer we were interested in an video codec that provided, both, low bit rate and error resilient functionalities, so we chose H.263+ for this purpose. H.263+ is an error-resilient video codec for “very low” (< 64 kb/s) bit rates , the images are QCIF (176x144 pixels), and the frame rate is 10 to 15 frames per sec.We implemeted RTP, to provide information to the application layer, such as seq-num and timestamp.At the transport layer, we have the choices of selecting between UDP and UDP-Lite. UDP drops any received corrupted packets, on the contrary UDP-Lite allows corruption of non-sensitive data to be tranfer to the application layer.At the link layer, end-to-end we have ppp, the point to point protocol. PPP will also drop packets if corrupted, so Keith Sklower modified PPP to PPP-Lite, to work together with UDP-Lite allowing corruption in the non-sensitive part of the frames.At the radio link layer , we have the choices of running the radio link in no-transparent or transparent mode, where the non-transparent mode uses an reliable ARQ prototcol, RLP. And the transparent mode sends raw data through the radio interface w/out any error-control scheme.We instrumented our socket interface to collect traffic information at the RTP layer, and we also log information at the radio link layer. We collect 3 log files per connection, this files are process by our “MultiTracer program”, which allows the plottting of traffic at both transport and link layer, and also prepares the data in a format that can be easily analyses by MATLAB, or any other statistics tools.SocketDUMPSocketDUMPMultiTracerRLPDUMPPlotting & Analysis(MATLAB)
4(Larzon, Degemark, and Pink) UDP Lite(Larzon, Degemark, and Pink)Flexible checksumming scheme allows corrupted data to be transmitted to the application“length” field in UDP header replaced by “coverage” fieldSpecifies how many bytes of payload to checksumImplemented in BSDi 3.0 kernel (Keith Slower)source port #dest port #length / coveragechecksum7 815UDP Lite is a version of UDP created by … that allowsthe len field is replaced by the coverage filed which specifies how many bytes of the packet have been checksum, in our study we only protect the header, allowing any corrupting in the data being transmitted.Lars and Mikael provide us with an UDP-Lite implementation for FreBSDi, and Keith transport this implementation to BSDi3.0, he also include an PPP-Lite implementation.
5Physical / Radio Link Layer (GSM 9.6 kb/s) Transparent Modeno error control mechanismNon-Transparent ModeUses RLP (Radio Link Protocol), a semi-reliable ARQ protocolLink resets after N=7 number of re-transmissionsFixed frame size of 30 bytes (6 bytes header)Reliability at the cost of additional end-to-end delayWindow size of 62 framesError recovery mechanismsSelect - Reject (initiated by receiver)Checkpointing (initiated by sender)The data rate of the radio link in GSM is 9.6kbps, and has two modes of operation: transparent and non-transparent mode.The trans. mode can be run with or without error control V.42, with or without data compression V.42.bis, and syncho. or asynchronous. Afetr performing a set of ping measurements with the different configuration and collected RTT and packet loss statistics. We chose to run transparent mode with no error-control or compression, and in asynchronous mode. This configuration introduces min delay at the cost of corruption.The non- transparent mode, uses RLP for reliability.SREJ, is initiated by the receiver whenever it receives a frame out of order, when the receiver notice a frame out of sequence it sends a SREJ with the missing frame, then the receives the SREJ and retransmit the missed frame, and continues sending where it was before receiving the SREJ.The second error recovery mechanism is Chek., Chek. Is initiated by the sender whenever a frame timer expires. It could be that either the frame or the ack from the receiver got lost, so the timer for this frame times out. At this point the sender starts checkpointing by sending a control frame with a special bit, called the Poll bit set to 1, asking the receiver to report to the sender the latest status. When the receiver gets this control frame it will send a frame with the fr # which is expecting next, then the sender will do GoBack N transmitting from that point on.To understand the tradeoffs between RLP and non-RLP
6Channel Simulator: WSim Wireless Error TraceInput Video StreamWSimOutput Video StreamAllows “easy” performance study of UDP-Lite, and error resilience functionalitiesSimulates two protocol configurations:UDP, non-transparent and UDP Lite, transparentUses 215 min of GSM wireless error traces collected in a poor channel environmentBesides, building a network architecture, we created a channel simulator, Wsim.By using the network infrastructure, it is sometimes difficult to isolate specific problems. For example, to test the error resilience functionalities of a codec, or to study the performance of UDP-Lite for a specific bit error rate in the wireless channel, it would be very time-consuming to take measurements until we find the specific error rate. On the other hand, using this simulator, we input a wireless error trace with specific wanted characteristics, and study the effect that this error rate has on the video quality.We have several hours of collected wireless traces from previos work. A wireless trace consist of a binary sequence where each element represent the state of a radio block.Wsim takes as input on of this error traces and an input video stream, and it will corrupt the video stream according to where the error occur in the error trace.The output video stream is the input video stream but with corruption according to the wireless error trace.Last two bullets.
7Performance Analysis Experiment Simulation Collect 4480 min of wireless video traces, (~4 min per video)Bad channel conditions (signal strength ~2-3)Three different network configurationsUDP, non-transparentUDP, transparentUDP-Lite, transparentFor each trace, we calculated metricsend-to-end, inter-arrival time ,loss rate and throughputFor each metric, we calculated statisticsmean & std devSimulationRun Wsim on “mom” video stream using a wireless error trace of 1.5% BLERWe conducted experiments and simulationUdp,rlp => wants to demostrate that rlp introduces delay ….
8Experimental Resultsthis plot has been generated by multitracer and it shows the traffic at two layers, in the top plot we show the seq-num and timestamp of received packets, the lower plot shows retransmission of radio blocks.
10Inter-Arrival Time Sender buffer overflow sender send a packet every 100 msapplication data rate much faster than RLP data rateincreasing buffer size introduces jitterdecreasing appl. data rate introduces end-to-end delayPacket loss rate < 1%because RLP guarantees correct delivery and video streams sent were not larger than 12,309 bytes to avoid buffer overflow
11Packet Loss Sender buffer overflow sender send a packet every 100 msapplication data rate much faster than RLP data rateincreasing buffer size introduces jitterdecreasing appl. data rate introduces end-to-end delayPacket loss rate < 1%because RLP guarantees correct delivery and video streams sent were not larger than 12,309 bytes to avoid buffer overflow
12Video ScreenshotsExperimentUDP UDP LiteSimulationUDP UDP Lite
13Discussion & Conclusions Reliability at link layer causes delayStrict checksumming of UDP causes poor “error resilience” at applicationUDP Lite (with GSM in transparent mode) providesless end to end delayconstant jitterhigher throughputlower packet loss… than UDP (with GSM in non-transparent mode)In general, can choose protocol combination appropriate for applicationUDP Lite /transparentUDP / RLPtolerant &daptive*TCP / RLPProtocol ChoiceType of ApplicationAdaptive real-time: vic, vatHard real-time: wb, v-confInteractive: telnet, webBatch: , ftpExampleintolerant &rigid*
14Future Work Provide real-time feedback on channel conditions Provide rate controlIncorporate unequal error protection for MPEG4Future Work