A Unified Approach for Repairing Packet Loss and Accelerating Channel Changes in Multicast IPTV Ali C. Begen, Neil Glazebrook, William Ver Steeg {abegen, nglazebr, billvs}@cisco.com
# of Zappings per User per Month Results are based on 227K+ users in NA Min Mean Std 90 th Percentile 95 th Percentile 99 th Percentile Max 1 726 814 1672 2250 3798 24186 2
Goal: Consistent Short Zapping Times Cumulative Distribution (CDF) 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.25 0.5 0.75 1 1.25 1.5 1.75 Non-accelerated Accelerated 2 2.25 2.5 Channel Change Time (s) 2.75 3 3
Introduction Zapping time is one of the top criteria an IPTV service is judged by Compression and encryption used in digital TV increase the zapping times Multicasting in IPTV increases the zapping times Zapping demand varies the zapping times Service providers need a scalable solution that Is standards-based and interoperable with their infrastructure Enables versatility and quick deployment Keeps CAPEX and OPEX low Our goals Provide constant, < 1s channel change times even in low-bandwidth networks Benefit from existing protocol toolkits In this study We overview IPTV transport issues and benefits of RTP We discuss the channel changing problem in IPTV We introduce the recent standardization efforts and present early results 4
End-to-End IPTV Network Architecture Super Headend (SHE) Video Hub Office (VHO) Regional Headend (RHE) Video Switching Office (VSO) National Content Encoders Acquisition Acquisition Encoders STB Ad Insertion Transcoders Vault VoD Servers Transcoders Regional Content VoD Servers Back Office Billing Streamers FTTx Metro Ethernet STB STB IPTV Service Assurance IPTV Content Manager CA/DRM CA/DRM Streamers Retransmission Servers ubr CMTS STB STB IP/MPLS Core Network Metro Aggregation & Distribution Network Access Network STB Core Router Core Router Aggregation Router DSLAM STB Aggregation Router STB Core Distribution/Aggregation Access 5
Real-Time Transport Protocol (RTP) Basics First specified by IETF in 1996, later updated in 2003 (RFC 3550) Runs over any transport-layer protocol UDP is much more widely used Main Services Payload type identification Sequence numbering Timestamping Extensions Basic RTP functionality uses a 12-byte header RFC 5285 defines an RTP header extension mechanism Control Plane RTCP Provides minimal control and identification functionality Enables a scalable monitoring functionality (Sender, receiver and extended reports) RTP Transport Terrestrial, satellite and emerging IPTV networks dominantly use MPEG2-TS encapsulation RFC 2250 defines a way to carry TS packets within RTP packets 6
Elements of Delay for Multicast Video Multicast Switching Delay IGMP joins and leaves Route establishment (Generally well-bounded) Key Information Latency PSI (PAT/CAT/PMT) acquisition delay CAS (ECM) delay RAP acquisition delay Buffering Delays Loss-repair, de-jittering, application buffering MPEG decoder buffering Key Key information latency and and buffering delays are are more critical in in MPEG-based AV AV applications 7
Typical Zapping Times on DSL IPTV STB sends IGMP Leave STB sends IGMP Join DSLAM gets IGMP Leave DSLAM gets IGMP Join DSLAM switches streams Latency on DSL line STB receives PAT/PMT Buffering De-jittering buffer Wait for CA Wait for I-frame MPEG decoding buffer Decoding Unit Time < 10 ms < 10 ms < 10 ms < 10 ms 30 ms ~ 10 ms ~ 125 ms < 50 ms < 50 ms 0 3 s 1 2 s < 50 ms Total Time ~ 20 ms ~ 50 ms ~ 60 ms ~ 185 ms ~ 200 ms ~ 250 ms 0.2 3.2 s 1.2 5.2 s 1.2 5.2 s 8
A Typical Multicast Join Time the IP STB needs to wait to start processing multicast data Time M u l t i c a s t D a t a RAP (1) Join RAP IP STB RAPs might be be far far away from from each other RAP RAP data data might be be large in in size size and and non-contiguous 9
Concurrent Multicast Join and Retransmission Data the IP STB needs to get from the retransmission server Time M u l t i c a s t D a t a RAP (1) Join RAP IP STB (1) Retransmission request (2) Unicast retransmission Retransmission Server If If the the residual bandwidth remaining from from the the multicast flow flow is is small, retransmission may may not not be be able able to to provide acceleration 10
Retransmission Followed by Multicast Join Data the IP STB needs to get from the retransmission server Time M u l t i c a s t D a t a RAP (3) Join RAP IP STB (1) Retransmission request (2) Unicast retransmission Retransmission Server More data data are are retransmitted due due to to deferred multicast join join However, IP IP STB STB ultimately achieves a faster synchronization 11
Proposed Solution IP STB says to the retransmission server: I have no synch with the stream. Send me a repair burst that will get me back on the track with the multicast session Retransmission server may need to Parse data from earlier in the stream than it is needed for retransmission Burst faster than real time Coordinate the time for multicast join and ending the burst This solution Is applicable to any RTP-encapsulated multicast flow Uses the existing toolkit for repairing packet losses in multicast sessions RFC 3550 (RTP/RTCP) RFC 4585 (RTP/AVPF) RFC 4588 (RTP Retransmissions) RTCP SSM (RTCP Extensions for SSM) 12
Rapid Synchronization Leave Ch. X Source All Downstream Channels Retransmission Server Unicast Burst Synch request for Ch. Y Decoder priming, join time, burst description Merge & Discard duplicate Multicast Stream (from upstream router ) Join Ch. Y IP STB Retransmission server subscribes to all downstream multicast sessions 13
Experimental Setup Comparison One IP STB with non-accelerated channel changes One IP STB with accelerated channel changes Video Streams High-detail, high-motion scenes of a movie AVC encoded at 2 Mbps and 30 fps One stream with 15 frames per GoP (Short-GoP) One stream with 60 frames per GoP (Long-GoP) Transport 1356-byte RTP packets 20% additional bandwidth consumption for bursting 500 ms loss-repair buffer in each IP STB 14
Short-GoP Results ~65% Reduction Min Mean Std 95 th 99 th Max Non-accelerated 1323 2785 645 3788 4101 4140 Accelerated 501 1009 260 1345 1457 1965 15
Long-GoP Results ~65% Reduction Min Mean Std 95 th 99 th Max Non-accelerated 1831 3005 575 3920 4201 4300 Accelerated 536 1013 265 1377 1521 1937 16
Open Source Implementation Client-side implementation is available as open source: Documentation http://tools.ietf.org/id/draft-versteeg-avt-rapid-synchronization-for-rtp http://www.cisco.com/en/us/docs/video/cds/cda/vqe/3_0/user/guide/ch1_over.html FTP Access ftp://ftpeng.cisco.com/ftp/vqec/ 17
Questions The answer to life's problems aren't at the bottom of a bottle, they're on TV! Homer Simpson