You are on page 1of 22

Optimizing Channel Change Time

Rajesh Rajah (rajeshra @ cisco.com) Cisco IPTV Practice

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

Agenda
Introduction Components of channel change time Factors for Optimization Cisco complementary techniques
Visual Quality of Experience (VQE) solution Buffer optimization on STB

Summary

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

Acronym Finder
AVC CAT DSLAM ECM/EMM AL-FEC GOP IDR IGMP MPEG PAT PMT PSI PIM SSM QOS RTP/RTCP STB SD/HD UDP VQE
Optimizing Channel Change Time 2008 Cisco Systems, Inc. All rights reserved.

Advanced Video Codec Conditional Access Table Digital Subscriber Line Access Multiplexer Entitlement Control/Management Messages Application Layer Forward Error Correction MPEG Group of Pictures (IBP frames) MPEG Instantaneous Decoder Refresh Internet Group Management Protocol Moving Picture Experts Group MPEG Program Association Table MPEG Program Map Table MPEG Program Specific Information Protocol Independent Multicast Source specific Multicast Quality of Service Real Time Protocol/ Real Time Control Protocol Set Top Box Standard/High Definition User Datagram Protocol Visual Quality of Experience (VQE)
3

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 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

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

Multicast Channel flow in an IPTV Network


Same choices for all access technologies Different by access technology

Video Headend

Core

Distribution / regional

Aggregation Access
PE-AGG Eg: DSLAM

Home Network
Home Gateway

STB

Video Channels

PIM Join

PIM Join

PIM Join Video Stream x

IGMP Join

IGMP Join

IGMP Join (say, 232.1.1.1)

(X)

All or Selected channels

IGMP Static Joins


Video Stream x

(<<X)

L3 Transport Options in clouds:


Opt. Source Redundancy
Optimizing Channel Change Time

Native: PIM-SSM or MVPN/SSM MPLS: LSM / mLDP RSVP-TE PIM-SSM PIM-SSM

2008 Cisco Systems, Inc. All rights reserved.

IGMP: {Limits} {Static-fwd} PIM-SSM

IGMP IGMP IGMP snooping snooping


5

Channel change Events Summary


Wait for arrival of PSI PAT, PMT, CAT Jitter buffer full Start filling jitter buffer SW recognizes UDP pkt 1st UDP packet arrives at STB STB MPEG buffer processing complete Wait for arrival of I-frame

* t=0
STB Network STB STB MPEG Buffer
STB starts decode Leave/Join/Network Latency STB sends IGMP join (wire) Channel change complete STB sends IGMP leave (wire), clear old buffers SW starts channel change User hits channel change on remote Video/Audio is played

STB

STB Network

Related to STB implementation Related to network delays Related to STB MPEG buffer
6

Not to scale*
Optimizing Channel Change Time 2008 Cisco Systems, Inc. All rights reserved.

STB MPEG

Sample Channel change time calculation AVC/H.264 SD on IPTV DSL


Channel Change Latency Factor 1 2 3 4 5 6 7 8 9 10 11 12 13
Optimizing Channel Change Time

Device/Location
STB STB DSLAM/Network DSLAM/Network DSLAM/Network DSLAM/Network Router/Network STB STB MPEG buffer STB MPEG buffer STB MPEG buffer STB MPEG buffer STB

Typical Latency < 10 ms < 10 ms < 10 ms < 10 ms ~ 30 50 ms ~ 10 ms ~ 20 60ms ~ 300 ms ~ 125 ms ~ 125 ms ~ 1s to 2s ~ 50 ms

Cumulative Latency

Send IGMP Leave for channel X Send IGMP Join for channel Y DSLAM gets Leave for channel X DSLAM gets Join for channel Y DSLAM stops channel X, and sends Channel Y DSL Latency (FEC/Interleave) Core/Agg Network Latency De-jitter buffer Wait for PAT/PMT Wait for ECM/CA Wait for I-frame MPEG buffer Decode
2008 Cisco Systems, Inc. All rights reserved.

~ 20 - 40 ms ~ 50 90 ms ~ 60 - 100 ms ~80 160ms ~ 380 - 460 ms ~ 500 - 580 ms ~ 620 - 700 ms ~ 1.8s 4.7s ~ 1.9s 4.8s
7

~ 250 ms to 2s ~ 870 ms 2.7s

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
Optimizing Channel Change Time 2008 Cisco Systems, Inc. All rights reserved.

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%)
Optimizing Channel Change Time 2008 Cisco Systems, Inc. All rights reserved.

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 delay
Typically about 50 ms Video buffer delay is usually higher than audio buffer delay
Optimizing Channel Change Time 2008 Cisco Systems, Inc. All rights reserved.

10

Optimizing Channel change time Page 1

Device

Optimization Factors
GOP length tuning Tuning PAT/PMT intervals (if supported) Tuning of ECM intervals (PMT) Key rotation timeframe Tuning IGMP timers # Video-optimized QoS config Cache PAT/PMT Buffer optimization and play-out techniques

Encoder

Conditional Access Residential Gateway (RG) STB

Optimizing Channel Change Time

# 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.

11

Optimizing Channel change time Page 2


Device
Headend Router

Optimization Factors
Video-optimized QoS config (marking, scheduling etc) Secured control plane (PIM/IGMP limits, Control plane policing, Hardware rate-limiters etc) # Video-optimized QoS config IGMP static joins for popular channels # Video-optimized QoS config # Secured control plane IGMP Fast/Immediate leave Tuning IGMP timers (Query time etc) Explicit IGMP Host tracking (IGMPv3) # Video-optimized QoS config # Secured control plane
# Not a direct contributor to reduce zap time. But, helps reduce response variability and enables better treatment for Video 12 # #

Core Network Elements

Distribution/Aggregation Network Elements

Access Network Elements (DSLAM/MetroE switch/PON)

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

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

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

13

Cisco Visual Quality of Experience (VQE)


Multicast Stream

VQE-S
Unicast Stream
STB

Encoder

Video MUX
Aggregation Router

DSLAM

VQE-C

Head-End

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

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

14

Cisco VQERapid Channel Change (RCC)


Fast Fills STB Video Buffer from Broadcast Cache
IGMP Leave
VQE Signaling New channel request

Time

V Q E

Unicast Video Burst To STB IGMP Join

S T B

New Multicast Stream STB Merges the Unicast/Multicast Streams and Discards the Duplicates

Unicast Stream Multicast Stream Control Messages

Sub-second Channel Change Time. Over 50% improvement Works with both MPEG-2 & MPEG-4 AVC video streams

VQE supports standards based RCC using standard Real-Time Transport Control Protocol (RTCP)
Optimizing Channel Change Time 2008 Cisco Systems, Inc. All rights reserved.

Open-source client for 3rd party STB

15

Cisco Buffer Optimization on STB


Improves viewer experience without adding upstream complexity

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

1.2 Sec

~1 second channel change 2X faster Analysis Sample Size: No N normal =equipment required network 150 Does not require 30% bandwidth overhead
Average Improvement: ~1.2 sec N early start =150

Can pair with VQE for error correction/channel change


Optimizing Channel Change Time 2008 Cisco Systems, Inc. All rights reserved.

16

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%)
Optimizing Channel Change Time 2008 Cisco Systems, Inc. All rights reserved.

17

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

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

18

Additional Resources
VQE specification on CCO
http://www.cisco.com/en/US/prod/collateral/video/ps7191/ps7127/product_data_she et0900aecd806c0bfb.html (Currently, supports RTP retransmission and FEC)

VQE client (VQE-C) reference implementation


ftp://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 Network


http://www.cisco.com/en/US/prod/collateral/routers/ps368/prod_white_paper0900ae cd80478c12_ns610_Networking_Solutions_White_Paper.html

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

19

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

20

Reference slides

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

21

Zap time for various systems


System Type (SD) Analog (Cable) Analog (off-air) MPEG2 over QAM MPEG2 over 8VSB MPEG2 over QPSK MPEG2 over IP Multicast H.264 over QAM H.264 over QPSK H.264 over IP Multicast Typical Latency ~ 1s ~ 1 3s ~ 1.2 3s ~ 3 4s ~ 2 4s ~ 1.5 3s ~ 2 3s ~ 3 5s ~ 1.7 3s

Optimizing Channel Change Time

2008 Cisco Systems, Inc. All rights reserved.

22

You might also like