240 likes | 489 Vues
Video Streaming over the Internet. 98/11/25 정승훈 shjeong@mmlab.snu.ac.kr. Contents. Introduction Architecture of Adaptive Video Streaming Congestion Detection Rate Adjustment Schemes Examples Conclusion. Introduction. Video Streaming Problems Network Protocol Issues
E N D
Video Streaming over the Internet 98/11/25 정승훈 shjeong@mmlab.snu.ac.kr
Contents • Introduction • Architecture of Adaptive Video Streaming • Congestion Detection • Rate Adjustment Schemes • Examples • Conclusion
Introduction • Video Streaming Problems • Network • Protocol Issues • Congestion control • Receiver capability • receiver’s video playback capability • Server capability • contention for CPU and I/O resources • QoS • SNR • Displayed Frame Rate
Introduction • Assumptions • Clients have heterogeneous network capacity and processing power • Large numbers of clients may access the server simultaneously • Low startup playback latency • The server maintains a large number of different video streams • The server and clients are connected through the Internet where the dominant competing traffic is TCP-based.
Introduction • Goals • well-behaved and TCP-friendly streaming • utilize a fair share of bandwidth • maximize the overall quality of delivered stream • minimize the storage requirement at the server and the client • minimize the playback delay • minimize processing requirements at the server
General Architecture Server Q factor Buffer Internet Client Encoder rate controller Video source Feedback Information
System Model Client Video Source V decoder A decoder Server Synch. control buffer V buffer A buffer rate controller Feedback collection DeMux / Monitor buffer UDP TCP UDP TCP IP IP Internet
Congestion Detection • Congestion Factors • Packet receiving rate • Packet Loss Ratio • Packet End-to-end Delay • Packet Interarrival Jitter • ACK / NACK based • Using packet receiving rate • Receiver-oriented • Server-oriented
Congestion Detection • ACK / NACK based • Columbia Univ. - Dynamic Rate Shaping • using TCP congestion control • client only sends ACK or NACK • server detects network congestion from ACK/NACK • Using Receiving Rate • Bamba - IBM ‘97 • Receiver monitors packet receiving buffer • calculates packet receiving rate • sends receiving rate to the server
Congestion Detection • Receiver-oriented • Receiver monitors receiving buffer • collecting congestion factors • determines network congestion degree • sends congestion degree to the server • server regulate sending rate in accordance with congestion degree
Congestion Detection • Server-oriented • ATC, INRIA • RTP/RTCP based • receiver collects Feedback information • highest sequence number received • the number of packet lost • packet interarrival jitter • timestamps • sends Feedback info. by using RTCP packet. • server determines network congestion.
Rate Adjustment • Encoder-level rate shaping • regulates quantization factor • Frame dropping • Macroblock filtering • Quantization filtering • discarding DCT coefficients • Layered Coding • Playback dilation
Encoder-level rate shaping • Model • INRIA (Bolot ‘98) • real-time encoder • adjusts the maximum output rate of the encoder • linear increase / multiplicative decrease • Congestion if loss rate > 5% • NoCongestion if loss rate < 2% • if Congestion • max_rate = max(max_rate/GAIN, MIN_RATE) • else if NoCongestion • max_rate = min(max_rate+INC, MAX_RATE)
Frame Dropping • Model • StreamWorks, OGIST • server determines congestion degree • server adjusts frame rate by frame dropping frame rate send pattern 2.5 I I 5.0 I P I P 10.0 I P P P I P P P 15.0 I PB P PB I PB P PB 20.0 I BP BP BP BI BP BP BP B 30.0 IBBPBBPBBPBBIBBPBBPBBPBB
Macroblock Filtering • block dropping • Macroblock중 일부를 주기적으로 제거 • Client는 인접 Macroblock으로 대치. • Feature-oriented block dropping
Quantization Filtering • SNR adaptation • video quality를 떨어뜨려 Data 크기를 줄인다. • DCT coefficient를 인위적으로 제거 • DCT coefficient 를 표현하는 비트 수를 줄임.
Layered Coding • Off-line transcoding • Video source를 video quality에 따라 여러 계층으로 나누어 Encoding. • Frame dropping, Macroblock filtering, Quantization filtering 모두 적용. • 서버는 congestion degree 또는 요구되는 QoS에 맞는 Layer를 동적으로 선택하여 전송. • Architecture Tech. Co. • Adaptive Video Streaming - LCN ‘97 • University of Southern California ‘98
Playback Dilation • Client의 Playback rate를 줄이는 기법 • Receive buffer가 underflow threshold 를 넘는 경우 • client의 system capability가 떨어질 경우. • Packet buffering delay를 인위적으로 늘려서 Client의 버퍼를 일정한 크기로 유지.
Examples • Berkeley Continuous Media Player ‘92 • software feedback mechanism • playback dilation • OGIST ‘97 • user specification of presentation quality • frame rate, simple QoS • Frame dropping • StreamWorks • Session 설정시 frame rate 결정 • Frame dropping
Examples • Architecture Tech. Co. • Adaptive Video Streaming • QoS Adaptation • Server, Network, Client • Status Report (Feedback Information) • Layered Coding • Off-line Video Transcoding • Adaptation table
Further Issues • Congestion Prediction ? • Multicast Issues • Feedback Explosion problem • heterogeneity problem • Video Streaming over DiffServ • Error propagation of lost packet • Early packet discarding
Conclusion • Video Streaming over the Internet • Congestion Detection • Rate Adjustment • Related Works • Further Issues