Streaming video over wireless link
-
Upload
mona-deleon -
Category
Documents
-
view
52 -
download
6
description
Transcript of Streaming video over wireless link
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
1
Streaming video over wireless link
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
2
Agenda
• Main issues with streaming over wireless link• Link layer approach• Transport protocol approach (to be added)• Conclusions and future work
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
3
Video over wireless link
• Typical scenario: video transmission from set-top box to the (mutiple) screens
wireless
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
4
Video over wireless link (II)
• Wireless link properties:– High losses– Low troughput– High jitter
• Typical perceived quality issues:– Artefacts– “Hick-ups”
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
5
Techniques we look at
OSI stack:
application layer
transport layer
network layer
802.11 driverlink layer
IP (Internet Protocol)
TCP, UDP/RTP
MPEG en-/decoder
packet scheduler
physical layer 802.11 WLAN
MPEG-packetizer
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
6
Simplified sender/receiver communication
video source
sender buffer
wireless interface (sender) wireless
inerface (receiver)
receiver buffer
video sink
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
7
Link layer approach
driver/scheduler buffer
Sender
TCP/IP stack
Application/
encoder
video stream
IP packets
MAC-level retries
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
8
MPEG encoding
• GOP (group-of-pictures):– Frame types: I, P, B– Typical GOP structure and dependances:
I BBPBBPBB(I)
• Importance of a frame decreases in following order: I, P, B
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
9
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
application layer
transport layer
network layer
802.11 driverlink layer
IP (Internet Protocol)
TCP, UDP/RTP
MPEG en-/decoder
packet scheduler
physical layer 802.11 WLAN
MPEG-packetizer
Involved layers
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
10
Scheduling of frames (II)
• Scheduling algorithm (level of frames)
Fi Fb Fs
incoming frame buffered frame sent frame
if P(Fi) >= P(Fb)
Fb := Fi
else
Fi := 0 (discard Fi)
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
11
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
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
12
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
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
13
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
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
14
TCP-RTM receiver – “read-over-hole” technique
Receiving application
Too late to resend - acknowledge
step2
Receiving applicationstep3
segment consumed by application
segment received but not yet consumed by application
skipped segment
empty buffer
Receiving application
?
re-request on dup-acks
step1
snd_cwnd
!
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
15
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
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
16
TCP-RTM and burst losses
empty buffer
Receiving application
?step1
? ?
snd_cwnd
Receiving application
re-send on rto
step2?? ?
Receiving applicationstep3
out-of-date
segments consumed by application
received out-of-date segments
segments received but not yet consumed by application
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
17
Recovery price
Burst loss size, packets Minimum latency to cover the losses, mS
1 70
2 260
3 220
4 700
5… -*
buf_size = 64K, frame_size=1K, frames sent every period=20mS
* - TCP-buffer gets full
• rto is doubled with every packet loss
Near-exponential dependency – congestion window doesn’t grow large enough to trigger the dup-ack retransmission
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
18
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
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
19
TCP-FCW: “free-congestion-window”
Receiving application
?
Receiving application
Receiving application
re-request – on dup-acks again
step1
step2
step3
??
!
resent
packet consumed by application
packet received but not consumed by application
skipped packet
empty buffer
recovered packet
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
20
Evaluation
• Result: exponential growth of latency in case of TCP-RTM vs linear growth in case of TCP-FCW
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
21
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
Apr 19, 2023 Sergei N. Kozlov, [email protected]/e Informatica, System Architecture and Networking
22
Questions?