rajah cisco
TRANSCRIPT
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 1
Optimizing Channel Change
Time
Rajesh Rajah (rajeshra @ cisco.com)
Cisco IPTV Practice
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 2
Agenda
� Introduction
� Components of channel change time
� Factors for Optimization
� Cisco complementary techniques
Visual Quality of Experience (VQE) solution
Buffer optimization on STB
� Summary
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 3
Acronym Finder
Real Time Protocol/ Real Time Control ProtocolRTP/RTCP
Quality of ServiceQOS
Application Layer Forward Error CorrectionAL-FEC
Digital Subscriber Line Access Multiplexer DSLAM
MPEG Instantaneous Decoder RefreshIDR
Internet Group Management ProtocolIGMP
Entitlement Control/Management MessagesECM/EMM
MPEG Group of Pictures (IBP frames)GOP
MPEG Program Specific InformationPSI
Moving Picture Experts GroupMPEG
Protocol Independent Multicast Source specific MulticastPIM SSM
Set Top BoxSTB
Standard/High DefinitionSD/HD
User Datagram ProtocolUDP
Visual Quality of Experience (VQE)VQE
MPEG Program Map TablePMT
MPEG Program Association TablePAT
Conditional Access TableCAT
Advanced Video CodecAVC
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 4
Channel Change/Zap Time
� Total duration from the time viewer presses the channel change button, to the point the picture of the new channel is displayed, along with corresponding audio
� Zap-time in IPTV customer deployments in Europe
Average zap time range from 1.5 to 2.8 seconds
Overall average of 1.99 seconds1.99 seconds
� This presentation is focused on Wireline IPTV network• Examines each factor in detail
• Concludes that IP multicast is a small component
• Explains the techniques for overall improvement of zap time
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 5
AccessAggregation
Multicast Channel flow in an IPTV Network
STBHomeGateway
Eg:DSLAM
PE-AGG
Core Distribution/ regional
Home NetworkVideoHeadend
Same choices for all access technologies Different by access technology
IGMPsnooping
IGMPsnooping
IGMP:{Limits}
{Static-fwd}PIM-SSM
PIM-SSM
L3 Transport Options in clouds:Native: PIM-SSM or MVPN/SSM
MPLS: LSM / mLDP RSVP-TEOpt.Source
Redundancy
IGMP
PIM-SSM
All or Selected channels
Video Stream x
IGMP Static Joins
(<<X)
IGMP Join (say, 232.1.1.1)IGMP Join
IGMP JoinPIM Join
PIM JoinPIM Join
Video Stream x
(X)Video Channels
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 6
Channel change Events Summary
STB MPEG
Network
STB Related to STB implementation
Related to network delays
Related to STB MPEG bufferNot to scale*
STB STBNetwork STB
User hits channel change on remote
SW starts channel change
STB sends IGMP leave (wire), clear old buffers
STB sends IGMP join (wire)
Leave/Join/Network Latency
STB MPEG Buffer
1st UDP packet arrives at STB
SW recognizes UDP pkt
Start filling jitter buffer
Jitter buffer full
Wait for arrival of PSI – PAT, PMT, CAT
Wait for arrival of I-frame
STB MPEG buffer processing complete
STB starts decode
Channel change complete
Video/Audio is played
* t=0
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 7
Sample Channel change time calculationAVC/H.264 SD on IPTV DSL
13
12
11
10
9
8
7
6
5
4
3
2
1
~ 500 - 580 ms~ 125 msSTB MPEG bufferWait for PAT/PMT
~80 – 160ms~ 20 – 60msRouter/NetworkCore/Agg Network Latency
STB
STB MPEG buffer
STB MPEG buffer
STB MPEG buffer
STB
DSLAM/Network
DSLAM/Network
DSLAM/Network
DSLAM/Network
STB
STB
Device/Location
~ 20 - 40 ms< 10 msDSLAM gets Join for channel Y
< 10 msDSLAM gets Leave for channel
X
~ 50 ms
~ 1s to 2s
~ 250 ms to 2s
~ 125 ms
~ 300 ms
~ 10 ms
~ 30 – 50 ms
< 10 ms
< 10 ms
Typical Latency
~ 60 - 100 msDSL Latency (FEC/Interleave)
~ 50 – 90 msDSLAM stops channel X, and
sends Channel Y
Send IGMP Join for channel Y
Send IGMP Leave for channel X
~ 1.9s – 4.8sDecode
~ 1.8s – 4.7sMPEG buffer
~ 870 ms – 2.7sWait for I-frame
~ 620 - 700 msWait for ECM/CA
~ 380 - 460 msDe-jitter buffer
Cumulative Latency
Channel Change Latency Factor
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 8
Zap time – Network factors
1. Access network latency (processing/propagation delays)
STB – IGMP Leave channel X, Join Y
DSLAM – Stop X, Start Y
DSL FEC/Interleave
IGMP features used (version, fast leave, snooping etc)
Availability of the channel (Channel replication point)
2. Core/Aggregation network latency
Multicast routing mechanisms used (PIM Source specific mcast –SSM etc)
Availability of the channel (Channel replication point)
Small component in the overall zap time ~50 – 200 ms
Network Quality of Service (QoS) to ensure minimal jitter, latency and packet drop
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 9
Zap time – MPEG acquisition
1. Parse meta data to locate MPEG PSI Info
Wait for and parse PAT
Wait for and parse PMT
Typical frequency – 100ms to 500ms
2. Obtain conditional access keys (ECMs) to decrypt channel
Wait for ECMs – part of PMT – 100ms to 500ms
Key changes/rotation – implementation dependant
EMMs typically sent using CAT (PID 1)
3. Obtain MPEG key frame (aka Random access point)
I-frame (MPEG2) or IDR frame (H.264)
One Index frame (full picture) per GOP – 12 to 30 (IBP) frames
Typical frequency of I-frame – 500ms.
Long GOP structure (2-4 seconds) saves bandwidth, but can cause significant channel change latency
Probability of hitting I-frame as the first frame (>20%)
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 10
Zap time – STB Buffering/Decode
1. Jitter buffer fill (De-jitter)Prevent under-run for Network-introduced Jitter – 100 to 200ms
Additional buffer for AL-FEC support (say, COP3)
Network-related jitter – recommended max of 50 ms
2. MPEG Buffer (Encoder buffer fullness model)Typical latency – 750ms to 2s
Higher buffer for H.264/AVC than MPEG2
Slightly longer delay for MPEG2/AVC HD compared to SD flavors
3. Decode/Display delayTypically about 50 ms
Video buffer delay is usually higher than audio buffer delay
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 11
Optimizing Channel change time – Page 1
� GOP length tuning� Tuning PAT/PMT intervals (if supported)
Encoder
� Tuning of ECM intervals (PMT)
� Key rotation timeframeConditional Access
� Cache PAT/PMT� Buffer optimization and play-out techniques
STB
� Tuning IGMP timers � Video-optimized QoS config
#Residential Gateway
(RG)
Optimization FactorsDevice
# Not a direct contributor to reduce zap time. But, helps reduce
response variability and enables better treatment for Video
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 12
Optimizing Channel change time – Page 2
� IGMP static joins for popular channels� Video-optimized QoS config
#
� Secured control plane #
Distribution/Aggregation
Network Elements
� IGMP Fast/Immediate leave
� Tuning IGMP timers (Query time etc)� Explicit IGMP Host tracking (IGMPv3)� Video-optimized QoS config
#
� Secured control plane #
Access Network Elements
(DSLAM/MetroE
switch/PON)
� Video-optimized QoS config #(marking, scheduling
etc)Headend Router
� Secured control plane #(PIM/IGMP limits, Control
plane policing, Hardware rate-limiters etc)� Video-optimized QoS config
#Core Network Elements
Optimization FactorsDevice
# Not a direct contributor to reduce zap time. But, helps reduce
response variability and enables better treatment for Video
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 13
Complementary Solutions for accelerating Channel change
Two Independent Cisco solutions
� I-frame caching and Unicast burst to STB (Cisco VQE appliance)
� STB buffer optimization technique
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 14
Cisco Visual Quality of Experience (VQE)
VQE-S
Aggregation Router
DSLAM
STB
VQE-CEncoder
Multicast StreamUnicast Stream
Head-End
Video MUX
� Enables I-frame caching and Unicast burst to STB
� VQE server typically positioned at Aggregation layer
� Also, provides Error repair by retransmitting missed video packets to STB
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 15
Cisco VQE—Rapid Channel Change (RCC)Fast Fills STB Video Buffer from Broadcast Cache
VQE
STB
IGMP Leave
VQE Signaling – New channel request
Unicast Video Burst To STB
IGMP Join
Multicast Stream
Unicast Stream
Control Messages
New Multicast Stream
Tim
e
VQE supports standards based RCC using standard Real-Time Transport Control
Protocol (RTCP)Open-source client for 3rd party STB
STB Merges theUnicast/Multicast Streams
and Discards the Duplicates
Sub-second Channel Change Time. Over 50% improvement
Works with both MPEG-2 & MPEG-4 AVC video streams
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 16
• Current channel change times average ~2.2 seconds
• Cut channel change time by over 50%
• When used with VQE rapid
channel change (which
guarantees I-frame within short time window) can improve even
further
Cisco Buffer Optimization on STBImproves viewer experience without adding upstream complexity
Analysis Sample Size:N early start =150N normal = 150
Average Improvement: ~1.2 sec
1.2 Sec
~1 second channel change – 2X faster
No network equipment required
Does not require 30% bandwidth overhead
Can pair with VQE for error correction/channel change
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 17
Trade-offs and Factors to consider
� Tradeoffs
– Bandwidth
– Viewer-experience (Quality of Experience)
– Implementation complexity
– CPU/Memory/Buffer requirements
� Factors to consider for high-quality channel change
– Seamless channel switchover (avoid artifacts/blocking, jerkiness etc)
– Video and Audio sync (Lip-sync)
– Concurrent channel change factor - Peak % (10 to 25%)
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 18
Key Take-Away Points
� Random access delay, MPEG buffer delay etc are significant contributors to zap time
� IP Multicast is a small component in the overall zap time
� Creative mechanisms to accelerate zap time are available
� Cisco VQE enables rapid channel change (RCC) using bursting of cached I-frames to STB
� Intelligent Buffer optimizations can lead to faster zap time
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 19
Additional Resources
� VQE specification on CCO
http://www.cisco.com/en/US/prod/collateral/video/ps7191/ps7127/product_data_sheet0900aecd806c0bfb.html (Currently, supports RTP retransmission and FEC)
� VQE client (VQE-C) reference implementationftp://ftp-eng.cisco.com/ftp/vqec/
� Sample Benchmark study of several European providers (Overall average of ~2 seconds)http://www.01net.com/outils/fai.php?rub=4667&type=television
� Optimizing Video Transport Networkhttp://www.cisco.com/en/US/prod/collateral/routers/ps368/prod_white_paper0900aecd80478c12_ns610_Networking_Solutions_White_Paper.html
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 20
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 21
Reference slides
© 2008 Cisco Systems, Inc. All rights reserved.
Optimizing Channel
Change Time 22
Zap time for various systems
~ 1.5 – 3sMPEG2 over IP Multicast
~ 2 – 3sH.264 over QAM
~ 3 – 5sH.264 over QPSK
~ 1.7 – 3sH.264 over IP Multicast
~ 2 – 4sMPEG2 over QPSK
~ 3 – 4sMPEG2 over 8VSB
~ 1.2 – 3sMPEG2 over QAM
~ 1 – 3sAnalog (off-air)
~ 1sAnalog (Cable)
Typical Latency System Type (SD)