220 likes | 239 Views
Explore issues, approaches & advantages for streaming video over wireless links. Dive into OSI stack techniques, TCP-RTM protocol, and more.
E N D
Streaming video over wireless link Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Agenda • Main issues with streaming over wireless link • Link layer approach • Transport protocol approach (to be added) • Conclusions and future work Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Video over wireless link • Typical scenario: video transmission from set-top box to the (mutiple) screens wireless Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Video over wireless link (II) • Wireless link properties: • High losses • Low troughput • High jitter • Typical perceived quality issues: • Artefacts • “Hick-ups” Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Techniques we look at OSI stack: application layer MPEG en-/decoder MPEG-packetizer transport layer TCP, UDP/RTP network layer IP (Internet Protocol) packet scheduler 802.11 driver link layer physical layer 802.11 WLAN Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Simplified sender/receiver communication video source video sink sender buffer receiver buffer wireless interface (sender) wireless inerface (receiver) Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Link layer approach Sender Application/ encoder MAC-level retries video stream driver/scheduler buffer IP packets TCP/IP stack Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
I BBPBBPBB(I) MPEG encoding • GOP (group-of-pictures): • Frame types: I, P, B • Typical GOP structure and dependances: • Importance of a frame decreases in following order: I, P, B Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
application layer MPEG en-/decoder MPEG-packetizer transport layer TCP, UDP/RTP network layer IP (Internet Protocol) packet scheduler 802.11 driver link layer 802.11 WLAN physical layer Scheduling of frames (I) • Packetizing • Assign prioritites to packets according to frame types: P(B) = 1 P(P) = 2 P(I) = 3 • Scheduling • Packets with higher priorities should get a better chance to be sent Involved layers Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Scheduling of frames (II) • Scheduling algorithm (level of frames) buffered frame sent frame incoming frame Fi Fb Fs if P(Fi) >= P(Fb) Fb := Fi else Fi := 0 (discard Fi) Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Advantages of link layer approach • We only need to modify the sending part • it will work with any terminals supporting RTP reception • it is an alternative to layered scalable video • it is very reactive against fast network fluctuations Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Transport layer approach • If... • we don’t have direct access to the wireless interface • we don’t want to modify it • we want more reliability, than UDP/RTP does • ... then we would like to look at the tranport layer Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
TCP-RTM*: “semi-reliable” protocol • Combines retransmission abilities of TCP and non-blocking behavior of RTP • Retransmission mechanisms reused from TCP • Packets that cannot be delivered in timely fashion are being skipped • Application techniques resemble those for RTP (surveyed later) • Requires minimum of TCP-code modifications, can be implemented as another TCP-option * Sam Liang, David Cheriton, “TCP-RTM: Using TCP for Real Time Applications,” Submitted to IEEE ICNP ’02, 2002 Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Receiving application snd_cwnd step1 ? re-request on dup-acks Receiving application step2 ! Too late to resend - acknowledge Receiving application step3 segment received but not yet consumed by application empty buffer segment consumed by application skipped segment TCP-RTM receiver – “read-over-hole” technique Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
TCP-RTM – application techniques • Receiver application doesn’t read from the buffer until the data is needed for timely playback • this provides fixed play-back delay • timestamps are needed for this • TCP-RTM supports application-level framing (ALF) • one application frame per TCP-segment – hence, always integral application frames are lost • every application write/read operation deals with 1 application level frame • ALF helps effective recovery from the losses Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Receiving application snd_cwnd step1 ? ? ? Receiving application step2 ? ? ? Receiving application re-send on rto step3 out-of-date received out-of-date segments empty buffer segments received but not yet consumed by application segments consumed by application TCP-RTM and burst losses Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Recovery price • rto is doubled with every packet loss buf_size = 64K, frame_size=1K, frames sent every period=20mS Near-exponential dependency – congestion window doesn’t grow large enough to trigger the dup-ack retransmission * - TCP-buffer gets full Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
TCP-FCW vs TCP-RTM • TCP-RTM wasn’t meant to be used on burst losses networks • Losses of more than one segment in a row are not expected to happen • To be used on the real Internet • Be TCP friendly (use congestion avoidance) • TCP-FCW meets different assumptions • To be used on the QoS enabled networks with bandwidth reservations • “Send as fast as you can, but not faster than requested by the application” • Thus, we can control the bit-rate of the transmission on the application level • Provide “immediate recovery” – no slow start • It’s not meant to be used on the current Internet Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Receiving application step1 ? ? ? Receiving application re-request – on dup-acks again step2 ! Receiving application resent step3 packet received but not consumed by application empty buffer skipped packet recovered packet packet consumed by application TCP-FCW: “free-congestion-window” Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Evaluation • Result: exponential growth of latency in case of TCP-RTM vs linear growth in case of TCP-FCW Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Further work • Link-layer • creating math. model • evaluation • Protocol-layer • combination TCP sender + TCP-RTM receiver • much higher bit-rates should become possible • the behavior of sliding window should be investigated • packetizing should be provided on the application level (i.e. by means of delimiters) • creating math. model • evaluation Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking
Questions? Sergei N. Kozlov, s.n.kozlov@tue.nl TU/e Informatica, System Architecture and Networking