Protocols in IPTV_manishdas
-
Upload
manish-das -
Category
Documents
-
view
216 -
download
0
Transcript of Protocols in IPTV_manishdas
-
8/9/2019 Protocols in IPTV_manishdas
1/36
Protocols in IPTVProtocols in IPTV
Manish DasManish Das
-
8/9/2019 Protocols in IPTV_manishdas
2/36
deconstructiondeconstruction
de-packetizingde-packetizing
decodingdecoding
-
8/9/2019 Protocols in IPTV_manishdas
3/36
Video encodingVideo encoding Video in its most basic form is a sequence of images,Video in its most basic form is a sequence of images,
which are displayed in a sequential order. The technicalwhich are displayed in a sequential order. The technicalterm for one of these video images is a frame. Theterm for one of these video images is a frame. The
human eye in general can comfortably watch TV at aroundhuman eye in general can comfortably watch TV at around
25 frames per second (fps).25 frames per second (fps).
Devices called video encoders are used to compress videoDevices called video encoders are used to compress videocontent contained in each of the frames, while maintainingcontent contained in each of the frames, while maintaining
a high level of picture quality.a high level of picture quality.
Standard practice is to use Motion Picture Expert GroupStandard practice is to use Motion Picture Expert Group
(MPEG) encoding.(MPEG) encoding. An uncompressed video signal is compressed and an aAn uncompressed video signal is compressed and an a
continuous real-time digital signal is outputted from thecontinuous real-time digital signal is outputted from the
encoder. This is known asencoder. This is known as Elementary StreamElementary Stream..
-
8/9/2019 Protocols in IPTV_manishdas
4/36
Video encodingVideo encodingMPEG uses three fundamental techniques to achieve compression:MPEG uses three fundamental techniques to achieve compression:
SubsamplingSubsampling Reduces colour information whichReduces colour information whichis less sensitive to eyeis less sensitive to eye
Spatial compressionSpatial compression Removes redundant informationRemoves redundant informationwithin frames using the propertywithin frames using the propertythatthat pixels within a single framepixels within a single frameare related to their neigboursare related to their neigbours
Temporal compressionTemporal compression Removes redundant informationRemoves redundant informationbetween framesbetween frames
-
8/9/2019 Protocols in IPTV_manishdas
5/36
Video encodingVideo encodingCompression achieved:Compression achieved:
Coding versionCoding version SDTVSDTV HDTVHDTV
MPEG-2MPEG-2 3.5 Mbps3.5 Mbps 19.3 Mbps19.3 Mbps
MPEG-4MPEG-4 2 Mbps2 Mbps 8 Mbps8 Mbps
-
8/9/2019 Protocols in IPTV_manishdas
6/36
Video packetisingVideo packetising In order for the elementary streams to beIn order for the elementary streams to be
transmitted over the digital network, eachtransmitted over the digital network, eachelementary stream is converted into anelementary stream is converted into aninterleaved stream of time stamped Packetizedinterleaved stream of time stamped PacketizedElementary Stream (PES) packets.Elementary Stream (PES) packets.
A PES packet may be a fixed (or variable) sizedA PES packet may be a fixed (or variable) sizedblock, with up to 65536 bytes per packet. Thisblock, with up to 65536 bytes per packet. Thisincludes an allocation of 6 bytes for the headerincludes an allocation of 6 bytes for the headerwith the remainder of the packet used to carrywith the remainder of the packet used to carrycontentcontent.
-
8/9/2019 Protocols in IPTV_manishdas
7/36
MPEG Transport Stream (TS) constructionMPEG Transport Stream (TS) construction
The next layer deals with building a transportThe next layer deals with building a transport
stream, which consists of a continuous stream ofstream, which consists of a continuous stream of
packets.packets.
These packets, commonly called TS packets, areThese packets, commonly called TS packets, areformed by breaking up the PES packets into fixed-formed by breaking up the PES packets into fixed-
sized TS packets of 188 bytessized TS packets of 188 bytes..
Each TS packet comprises 184 bytes of payloadEach TS packet comprises 184 bytes of payload
and a 4 byte header.and a 4 byte header.
-
8/9/2019 Protocols in IPTV_manishdas
8/36
MPEG Transport Stream (TS)MPEG Transport Stream (TS)
Header (4Header (4bytes)bytes)
Video Payload (184 bytes)Video Payload (184 bytes)
188 bytes
-
8/9/2019 Protocols in IPTV_manishdas
9/36
Formation of IP PacketsFormation of IP Packets
Once the TS has been structured and formatted it isOnce the TS has been structured and formatted it ispassed down to either the transport layer (UDP) directly orpassed down to either the transport layer (UDP) directly ora layer that uses the Real-Time Transport Protocol (RTP).a layer that uses the Real-Time Transport Protocol (RTP).
In a packet-based network, it is quite common that theIn a packet-based network, it is quite common that theroute for transporting the packets is not always the same;route for transporting the packets is not always the same;packets may arrive at different times and out of order. Thepackets may arrive at different times and out of order. TheRTP protocol allows out-of-order arrival of the packets.RTP protocol allows out-of-order arrival of the packets.Since every RTP packet has a sequence number, as longSince every RTP packet has a sequence number, as longas the delay did not exceed the size of the receivingas the delay did not exceed the size of the receivingdecoder buffer, the packet can be processed and placed indecoder buffer, the packet can be processed and placed in
the right position for decoding.the right position for decoding.
-
8/9/2019 Protocols in IPTV_manishdas
10/36
RTP encapsulationRTP encapsulation
RTP HeaderRTP Header
(12 bytes)(12 bytes)
MPEG TSMPEG TS
(188(188bytes)bytes)
MPEG TSMPEG TS
(188(188bytes)bytes)
MPEG TSMPEG TS
(188(188bytes)bytes)
MPEG TSMPEG TS
(188 bytes)(188 bytes)
MPEG TSMPEG TS
(188 bytes)(188 bytes)
MPEG TSMPEG TS
(188(188bytes)bytes)
MPEGMPEGTSTS
(188(188bytes)bytes)
-
8/9/2019 Protocols in IPTV_manishdas
11/36
Formation of IP Packets: Transport LayerFormation of IP Packets: Transport Layer
RTP packets form the input to the transport layer UDPRTP packets form the input to the transport layer UDPor TCP.or TCP.
It is also possible to map MPEGTS packets directly intoIt is also possible to map MPEGTS packets directly intothe transport layer protocol payload. This effectivelythe transport layer protocol payload. This effectivelyavoids the RTP layer completely. But a number ofavoids the RTP layer completely. But a number of
service providers use RTP to address the inherentservice providers use RTP to address the inherentunreliability of the UDP protocol.unreliability of the UDP protocol.
In the context of IPTV, UDP is useful where theIn the context of IPTV, UDP is useful where thetransport network is career grade and is the mosttransport network is career grade and is the mostpopular transport level protocol employed by IPTVpopular transport level protocol employed by IPTV
service providers.service providers. An RTP header is identifiable with a value of 5004 in aAn RTP header is identifiable with a value of 5004 in a
User Datagram Protocol (UDP) header.User Datagram Protocol (UDP) header.
-
8/9/2019 Protocols in IPTV_manishdas
12/36
UDP encapsulationUDP encapsulation
UDP HeaderUDP Header
(8 bytes)(8 bytes)
RTP HeaderRTP Header
(12 bytes)(12 bytes)
OptionalOptional
7 X MPEG TS Packets (188 bytes)7 X MPEG TS Packets (188 bytes)
-
8/9/2019 Protocols in IPTV_manishdas
13/36
Why UDP?Why UDP?
IPTV is a real-time application and does not tolerate delays. TCP can oftenIPTV is a real-time application and does not tolerate delays. TCP can oftenintroduce latency into the delivery of IP video content due to fact that theintroduce latency into the delivery of IP video content due to fact that theprotocol employs flow control mechanisms.protocol employs flow control mechanisms.
UDP ensures that delivery of IPTV content is not delayed even if there isUDP ensures that delivery of IPTV content is not delayed even if there isdelayed or damaged packets contained in the network traffic, whereas indelayed or damaged packets contained in the network traffic, whereas inusing TCP, TV viewers are faced with a pause as they wait for a delayedusing TCP, TV viewers are faced with a pause as they wait for a delayed
packet or picture frame to arrive or wait for the damaged packet to bepacket or picture frame to arrive or wait for the damaged packet to bereplaced.replaced.
Low overhead: The size of the header is only 8 bytes when compared to theLow overhead: The size of the header is only 8 bytes when compared to theTCP header, which occupies 20 bytes of data.TCP header, which occupies 20 bytes of data.
Speedy connection setup: The establishment and teardown of connectionsSpeedy connection setup: The establishment and teardown of connectionsbetween IPTVCDs (set top box) and IPTV data center networkingbetween IPTVCDs (set top box) and IPTV data center networkingcomponents takes place in a very short time period. Therefore, the deliverycomponents takes place in a very short time period. Therefore, the deliveryof video packets using the UDP protocol is generally quicker compared toof video packets using the UDP protocol is generally quicker compared tousing the TCP protocol.using the TCP protocol.
-
8/9/2019 Protocols in IPTV_manishdas
14/36
The IP LayerThe IP Layer
Next task is IP encapsulation.Next task is IP encapsulation. 20 byte header is added to the payload.20 byte header is added to the payload.
IPv4IPv4
HeaderHeader
(20 bytes)(20 bytes)
UDPUDP
HeaderHeader
(8 bytes)(8 bytes)
RTP HeaderRTP Header
(12 bytes)(12 bytes)
OptionalOptional
7 X MPEG TS Packets (188 bytes)7 X MPEG TS Packets (188 bytes)
-
8/9/2019 Protocols in IPTV_manishdas
15/36
To RecapitulateTo Recapitulate
-
8/9/2019 Protocols in IPTV_manishdas
16/36
Now the delivery mechanismNow the delivery mechanism
In standard broadcast systems all of the normalIn standard broadcast systems all of the normalbroadcast channels are delivered to the STB inbroadcast channels are delivered to the STB in
the home (via Cable, Satellite or Terrestrial).the home (via Cable, Satellite or Terrestrial).
There could be hundreds of channels, all ofThere could be hundreds of channels, all of
which are delivered simultaneously. The STBwhich are delivered simultaneously. The STB
tunes to the desired channel in response totunes to the desired channel in response to
requests from the viewers remote control.requests from the viewers remote control.
As a result of this local tuning the channelAs a result of this local tuning the channelchanges are almost instantaneous.changes are almost instantaneous.
-
8/9/2019 Protocols in IPTV_manishdas
17/36
Now the delivery mechanism (contd.)Now the delivery mechanism (contd.)
In order to preserve bandwidth over the final linkIn order to preserve bandwidth over the final linkto the house, IPTV systems are designed toto the house, IPTV systems are designed to
deliver only the requested channel to the STB.deliver only the requested channel to the STB.
In order to change channels, special commandsIn order to change channels, special commands
are sent into the Access network requesting aare sent into the Access network requesting a
change of channel.change of channel.
Thus in IPTV systems the channel change isThus in IPTV systems the channel change is
made in the network and not on the local STBmade in the network and not on the local STB.
-
8/9/2019 Protocols in IPTV_manishdas
18/36
Now the delivery mechanism (contd.)Now the delivery mechanism (contd.)
IP communication is normally one to one unicast.IP communication is normally one to one unicast.
This method of communications is not effective forThis method of communications is not effective for
delivering traditional broadcast style channels becausedelivering traditional broadcast style channels because
the duplication of point-to-point sessions wouldthe duplication of point-to-point sessions would
overwhelm the network.overwhelm the network.
So IPTV uses multicast to provide a single broadcast TVSo IPTV uses multicast to provide a single broadcast TV
channel to multiple clients simultaneously.channel to multiple clients simultaneously.
The primary purpose of multicast technologies is toThe primary purpose of multicast technologies is to
ensure that end users are able to instantaneously andensure that end users are able to instantaneously and
reliably switch channels during a TV viewing sessionreliably switch channels during a TV viewing session.
-
8/9/2019 Protocols in IPTV_manishdas
19/36
Features of IP Multicast in IPTV networkFeatures of IP Multicast in IPTV network
Only a single copy of every video stream needs to beOnly a single copy of every video stream needs to besent to a router, which in turn makes a copy of thatsent to a router, which in turn makes a copy of thatstream for the requesting devices.stream for the requesting devices.
Multicast not only reduce the bandwidth requirements ofMulticast not only reduce the bandwidth requirements ofthe network but the processing power of the contentthe network but the processing power of the content
server can also be kept relatively low because it onlyserver can also be kept relatively low because it onlytransmits one copy of an IPTV stream at a time.transmits one copy of an IPTV stream at a time.
But it increases the workload and processingBut it increases the workload and processingrequirements of routers as they handle additional tasksrequirements of routers as they handle additional taskssuch as replicating video streams and keeping track ofsuch as replicating video streams and keeping track ofmultiple copies of video packets. Processing the variousmultiple copies of video packets. Processing the varioustasks associated with IP multicasting adds a significanttasks associated with IP multicasting adds a significantburden to the workload of IP routers.burden to the workload of IP routers.
-
8/9/2019 Protocols in IPTV_manishdas
20/36
A simple exampleA simple example
multiple unicasts IP multicast
S S
R
R
R
R
R
R
-
8/9/2019 Protocols in IPTV_manishdas
21/36
Channel zapping in IPTV
In an IPTV network, each broadcast televisionIn an IPTV network, each broadcast televisionchannel is an IP multicast groupchannel is an IP multicast group.
Internet Group Management Protocol (IGMP) is usedInternet Group Management Protocol (IGMP) is used
for zapping channels.for zapping channels.
IGMP v2 is widely used in IPTV.IGMP v2 is widely used in IPTV. Whenever an end user changes a channel, the Set-Whenever an end user changes a channel, the Set-
top BOX responds by sending two commands to thetop BOX responds by sending two commands to the
central equipment:central equipment:
(1) To leave the existing video multicast.(1) To leave the existing video multicast.
(2) To join the desired new video multicast.(2) To join the desired new video multicast.
-
8/9/2019 Protocols in IPTV_manishdas
22/36
IGMP DevicesIGMP Devices
Basic IGMP operation involves two devices:
IGMP host is a server or client, which issues messages
to join or leave a multicast group. The client also
responds to queries from the multicast router. A set-topbox is an example of an IGMP host.
IGMP router (or multicast router) responds to the join
and leave messages to determine if multicast groupsshould be forwarded out an interface.
-
8/9/2019 Protocols in IPTV_manishdas
23/36
IGMP message formatIGMP message format
-
8/9/2019 Protocols in IPTV_manishdas
24/36
Encapsulation of IGMP packetEncapsulation of IGMP packet
-
8/9/2019 Protocols in IPTV_manishdas
25/36
Typical IPTV System: Selection of first channelTypical IPTV System: Selection of first channel
TransportHeadend Access Home
Transport
Network xDSL CPE/FTTH
Computer
STB
IGMP
Router
Digital and
Analog
Receivers
MPEGEncoders
AppsServers
IGMP DSLAM
VideoServers
OtherContentSources
VoIP
Subscriber
presses
channel
numberThe IP set-top box
accepts the channel
request command
and sends this
instruction in the form
of an IGMPjoinrequest to the
DSLAM.
IGMP JOIN
DSLAM examines the
request to see if the
requested channel
already exists at one of
its ports. If this is the
case, then the DSLAM
simply copies the
stream and sends to
the requesting device.
If the requested channel
is not available in theDSLAM, the request is
sent to the upstream
routers.
IGMP JOIN
Router examines the
request to see if the
requested channel
already exists at one of
its ports. If this is the
case, then the Router
simply copies the
stream and sends to
the requesting device
If the requested
channel is not
available in the
Router, the request
is sent to the
upstream routers.
IGMP JOIN
Video Stream
The request for the
channel finally ends up
at the IPTV data center
where all broadcast
channels are available.
The IP address of the
subscribers IP set-top
box get added to the
multicast list. The
channel is then copied
and sent onward to theIP set-top box.
-
8/9/2019 Protocols in IPTV_manishdas
26/36
Channel selection: Possible steps that may occurChannel selection: Possible steps that may occur
across a DSL based IPTV networkacross a DSL based IPTV network
Once a subscriber wishes to select a channel they press a channel numberOnce a subscriber wishes to select a channel they press a channel number
on their remote control or select from an EPG application. These commandson their remote control or select from an EPG application. These commands
are received by the infrared receiver.are received by the infrared receiver.
The IP set-top box accepts the channel changing command and sends thisThe IP set-top box accepts the channel changing command and sends this
instruction in the form of an IGMPinstruction in the form of an IGMPjoinjoin request to the DSLAM. The DSLAMrequest to the DSLAM. The DSLAM
sees the request and will either pass onward or else examine the request tosees the request and will either pass onward or else examine the request to
see if the requested channel already exists at one of its ports. If this is thesee if the requested channel already exists at one of its ports. If this is the
case, then the DSLAM simply copies the stream and sends to the requestingcase, then the DSLAM simply copies the stream and sends to the requesting
device.device.
If the requested channel is not available in the DSLAM, the request is sent toIf the requested channel is not available in the DSLAM, the request is sent to
the upstream routers.the upstream routers.
When the router located at the regional office receives a request that has notWhen the router located at the regional office receives a request that has not
been serviced by the various downstream network components, it also hasbeen serviced by the various downstream network components, it also hastwo options, namely, to copy the stream to the correct interface or pass thetwo options, namely, to copy the stream to the correct interface or pass the
request upstream to the distribution router in the event that the channel isrequest upstream to the distribution router in the event that the channel is
unavailable at its downstream interface.unavailable at its downstream interface.
-
8/9/2019 Protocols in IPTV_manishdas
27/36
Channel selection: Possible steps that may occurChannel selection: Possible steps that may occur
across a DSL based IPTV networkacross a DSL based IPTV network
The request for the channel finally ends up at the IPTV data center whereThe request for the channel finally ends up at the IPTV data center where
all broadcast channels are available. It is important to note that theall broadcast channels are available. It is important to note that the
channel is generally identified by an IP address. The IP address of thechannel is generally identified by an IP address. The IP address of the
subscribers IP set-top box get added to the multicast list. The channel issubscribers IP set-top box get added to the multicast list. The channel is
then copied and sent onward to the IP set-top box.then copied and sent onward to the IP set-top box.
The set-top receives the new IP stream. It then buffers in memory, andThe set-top receives the new IP stream. It then buffers in memory, and
waits for an I-frame to arrive before decoding starts. The I-frame containswaits for an I-frame to arrive before decoding starts. The I-frame containsall of the necessary information required to reconstruct the original pictureall of the necessary information required to reconstruct the original picture
frame. Once the I-frame is received the IP set-top box, which can takeframe. Once the I-frame is received the IP set-top box, which can take
between a half and two full seconds, can start the process of displayingbetween a half and two full seconds, can start the process of displaying
the channel.the channel.
The first picture frame of the new channel is displayed on the TV display.The first picture frame of the new channel is displayed on the TV display.
Note that the ITU-T FG IPTV group is recommending that the time takenNote that the ITU-T FG IPTV group is recommending that the time takento acquire a broadcast channel should not exceed 2.5 s.to acquire a broadcast channel should not exceed 2.5 s.
-
8/9/2019 Protocols in IPTV_manishdas
28/36
Typical IPTV System: Change of channelTypical IPTV System: Change of channel
TransportHeadend Access Home
Transport
Network xDSL CPE/FTTH
Computer
STB
IGMP
Router
Digital and
Analog
Receivers
MPEGEncoders
AppsServers
IGMP DSLAM
VideoServers
OtherContentSources
VoIP
Subscriber
changes
channel
number
IGMP JOIN
Video Stream
IGMP LEAVE
The set-top box issues
an IGMP Leave
message to terminate
the stream associated
with the old stream.
The
termination of
the stream
takes place in
the DSLAM.
A join
message isthen sent to
start viewing
the next
channel.
-
8/9/2019 Protocols in IPTV_manishdas
29/36
Channel change: Possible steps that may occurChannel change: Possible steps that may occur
across a DSL based IPTV networkacross a DSL based IPTV network
The process involved in changing channels in the middle of the TV
viewing experience is quite similar to selecting a channel. There is
however a couple of extra steps:
When a viewer wants to change to another IPTV signal the remote
control button is pressed and the instruction is accepted by the IPset-top box.
The set-top box issues an IGMP Leave message to terminate the
stream associated with the old stream.
The termination of the stream takes place in the DSLAM.
A join message is then sent to start viewing the next channel.
-
8/9/2019 Protocols in IPTV_manishdas
30/36
SessionSessionAnnouncement Protocol (SAPAnnouncement Protocol (SAP))
Session Announcement Protocol (SAPSession Announcement Protocol (SAP) is used to) is used toinform multicast enabled receivers periodically aboutinform multicast enabled receivers periodically about
programs currently being multicast on a network.programs currently being multicast on a network.
The most important part of a SAP message is theThe most important part of a SAP message is the
multicast address of the multicast stream. Once the usermulticast address of the multicast stream. Once the user
device has this address, it can send a request to thedevice has this address, it can send a request to the
network to join that multicast.network to join that multicast.
By default, SAP communications always take place onBy default, SAP communications always take place on
the multicast group address 224.2.127.254 on portthe multicast group address 224.2.127.254 on port
9875. Specialized software on the user device converts9875. Specialized software on the user device converts
the information received from SAP into a list of choicesthe information received from SAP into a list of choices
from which the user can select.from which the user can select.
-
8/9/2019 Protocols in IPTV_manishdas
31/36
MULTICASTING IPTV content across IPV6MULTICASTING IPTV content across IPV6
networksnetworks
IPv6 deployment requires service providers touse a multicasting signaling protocol called
Multicast Listener Discovery (MLD) when
delivering broadcast TV channels to IPTV end
users. MLD has been derived IGMP.
-
8/9/2019 Protocols in IPTV_manishdas
32/36
Multicast TVMulticast TV
DSLAM # 1 DSLAM # 2 DSLAM # 3 DSLAM # 4
T2 T2
T1
PC PC
TVTV
IGMP
JOIN
PC
BNG
SETTOP
BOX
ADSL MODEM
Video Server
-
8/9/2019 Protocols in IPTV_manishdas
33/36
Time-shift TVTime-shift TV
-
8/9/2019 Protocols in IPTV_manishdas
34/36
Video on Demand (VoD)Video on Demand (VoD)
VoD is unicast delivery and uses RTSP. The Real Time Streaming Protocol (RTSP) is a
protocol for use in streaming media systems whichallows a client to remotely control a streaming mediaserver, issuing VCR-like commands such as "play" and
"pause", and allowing time-based access to files on aserver
RTSP requests are based on HTTP requests In RTSP we can distinguish following requests:
DESCRIBE, SETUP, PLAY, PAUSE, RECORD,
TEARDOWN. RTSP servers use RTP among other things the transport
protocol for the actual audio/video data and RTCP tomonitor quality of streaming.
-
8/9/2019 Protocols in IPTV_manishdas
35/36
Example:RTSP with UDP-Based RTP DeliveryExample:RTSP with UDP-Based RTP DeliveryDESCRIBE
rtsp://192.168.1.25:554/mp
eg4/movies/3idiots.mpg
RTSP/1.0
CSec: 101
Accept: application/sdp
RTSP/1.0 200
OK
CSec: 101
Content-Base:
rtsp://192.168.1.25:554/mpeg4/m
ovies/3idiots.
mpg
Content-Type:
application/sdp
Content-Length:
320
OPTIONS
rtsp://192.168.1.25:554/mpeg4/movies/3idiots.mpg
CSec: 102
RTSP/1.0 200OK
CSec: 102
Public:
DESCRIBE,
OPTIONS,
PAUSE,
PLAY,
SETUP,
TEARDOWN,
ANNOUNCE
SETUP
rtsp://192.168.1.25:554/mp
eg4/movies/3idiots.mpg
CSeq: 103
Transport:
RTP/UDP;unicast;client_p
ort=4042-4043
RTSP/1.0
200 OK
CSeq: 103
Session:
1234567891;
timeout=10
Transport:
RTP/UDP;un
icast;mode=
play;
client_port=4
042-4043;
server_port=
5072-5073
PLAY
rtsp://192.168.1.25:554/m
peg4/movies/3idiots.mpg
RTSP/1.0
CSeq: 104Session: 1234567891
RTSP/1.0
200 OK
CSeq: 104
Session:
1234567891
PAUSE
rtsp://192.168.1.25:554/m
peg4/movies/3idiots.mpg
CSeq: 105
Session: 1234567891RTSP/1.0200
OK
CSeq:105
Session:
1234567891
TEARDOWN
rtsp://192.168.1.25:554/m
peg4/movies/3idiots.mpg
RTSP/1.0
CSeq: 106
Session: 1234567891RTSP/1.0 200OK
CSeq: 106
Session:
1234567891
-
8/9/2019 Protocols in IPTV_manishdas
36/36
Thank You!Thank You!