Upload
manish-das
View
157
Download
7
Tags:
Embed Size (px)
DESCRIPTION
Deals with compression of video signals for delivery in IPTV network. Protocols involved in IPTV multicast, unicast, VoD.
Citation preview
04/08/23
Protocols in IPTV
Manish Das
04/08/23
04/08/23
Video encoding Video in its most basic form is a sequence of images,
which are displayed in a sequential order. The technical term for one of these video images is “a frame.” The human eye in general can comfortably watch TV at around 25 frames per second (fps).
Devices called video encoders are used to compress video content contained in each of the frames, while maintaining a high level of picture quality.
Standard practice is to use Motion Picture Expert Group (MPEG) encoding.
An uncompressed video signal is compressed and an MPEG elementary stream as a continuous real-time digital signal is outputted from the encoder. This is known as Elementary Stream.
04/08/23
Video encoding
MPEG uses three fundamental techniques to achieve compression:
Subsampling Reduces colour information which is less sensitive to eye
Spatial compression Removes redundant information within frames using the property that pixels within a single frame are related to their neigbours
Temporal compression
Removes redundant information between frames
04/08/23
Video encoding
Compression achieved:
Coding version SDTV HDTV
MPEG-2 3.5 Mbps 19.3 Mbps
MPEG-4 2 Mbps 8 Mbps
04/08/23
Video packetising In order for the elementary streams to be
transmitted over the digital network, each elementary stream is converted into an interleaved stream of time stamped Packetized Elementary Stream (PES) packets.
A PES packet may be a fixed (or variable) sized block, with up to 65536 bytes per packet. This includes an allocation of 6 bytes for the header with the remainder of the packet used to carry content.
04/08/23
MPEG Transport Stream (TS) construction
The next layer deals with building a transport stream, which consists of a continuous stream of packets.
These packets, commonly called TS packets, are formed by breaking up the PES packets into fixed-sized TS packets of 188 bytes.
Each TS packet comprises 184 bytes of payload and a 4 byte header.
04/08/23
MPEG Stream Encoder Flow
04/08/23
MPEG Transport Stream (TS)
Header (4 bytes)
Video Payload (184 bytes)
188 bytes
04/08/23
Formation of IP Packets
Once the TS has been structured and formatted it is passed down to either the transport layer (UDP) directly or a layer that uses the Real-Time Transport Protocol (RTP).
RTP delivers end-to-end streams of audio and video by encapsulating the content into a particular format called a packet. Each packet consists of a header and the payload IPTV data.
To improve bandwidth efficiency, the payload typically includes seven MPEG-TS packet.
04/08/23
RTP encapsulation
RTP Header
(12 bytes)
MPEG TS
(188 bytes)
MPEG TS
(188 bytes)
MPEG TS
(188 bytes)
MPEG TS
(188 bytes)
MPEG TS
(188 bytes)
MPEG TS
(188 bytes)
MPEG TS
(188 bytes)
04/08/23
Formation of IP Packets: Transport Layer
RTP packets form the input to the transport layer UDP or TCP.
It is also possible to map MPEGTS packets directly into the transport layer protocol payload. This effectively avoids the RTP layer completely. But a number of service providers use RTP to address the inherent unreliability of the UDP protocol.
In the context of IPTV, UDP is useful when a data center needs to send IP video content to multiple users and is the most popular transport level protocol employed by IPTV service providers.
An RTP header is identifiable with a value of 5004 in a User Datagram Protocol (UDP) header.
04/08/23
UDP encapsulation
UDP Header
(8 bytes)
RTP Header
(12 bytes)
Optional
7 X MPEG TS Packets (188 bytes)
04/08/23
Why UDP?
IPTV is a real-time application and does not tolerate delays. TCP can often introduce latency into the delivery of IP video content due to fact that the protocol employs flow control mechanisms.
UDP ensures that delivery of IPTV content is not delayed even if there is delayed or damaged packets contained in the network traffic, whereas in using 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 be replaced.
Low overhead: The size of the header is only 8 bytes when compared to the TCP header, which occupies 20 bytes of data.
Speedy connection setup: The establishment and teardown of connections between IPTVCDs (set top box) and IPTV data center networking components takes place in a very short time period. Therefore, the delivery of video packets using the UDP protocol is generally quicker compared to using the TCP protocol.
Easy implementation: From a technical perspective UDP is pretty easy to implement because it is not required to keep track of video packets once they are sent onto the IP network.
04/08/23
The IP Layer
Next task is IP encapsulation. 20 byte header is added to the payload.
IPv4
Header
(20 bytes)
UDP
Header
(8 bytes)
RTP Header
(12 bytes)
Optional
7 X MPEG TS Packets (188 bytes)
04/08/23
To Recapitulate
04/08/23
Now the delivery mechanism
In standard broadcast systems all of the normal broadcast channels are delivered to the STB in the home (via Cable, Satellite or Terrestrial).
There could be hundreds of channels, all of which are delivered simultaneously. The STB tunes to the desired channel in response to requests from the viewer’s remote control.
As a result of this local tuning the channel changes are almost instantaneous.
04/08/23
Now the delivery mechanism
In order to preserve bandwidth over the final link to the house, IPTV systems are designed to deliver only the requested channel to the STB.
In order to change channels, special commands are sent into the Access network requesting a change of channel.
Thus in IPTV systems the channel change is made in the network and not on the local STB.
04/08/23
Now the delivery mechanism
IP communication is normally one to one – unicast. This method of communications is not effective for
delivering traditional broadcast style channels because the duplication of point-to-point sessions would overwhelm the network.
So IPTV uses multicast to provide a single broadcast TV channel to multiple clients simultaneously.
The primary purpose of multicast technologies is to ensure that end users are able to instantaneously and reliably switch channels during a TV viewing session.
04/08/23
Features of IP Multicast in IPTV network
Only a single copy of every video stream needs to be sent to a router, which in turn makes a copy of that stream for the requesting devices.
Multicast not only reduce the bandwidth requirements of the network but the processing power of the content server can also be kept relatively low because it only transmits one copy of an IPTV stream at a time.
But it increases the workload and processing requirements of routers as they handle additional tasks such as replicating video streams and keeping track of multiple copies of video packets. Processing the various tasks associated with IP multicasting adds a significant burden to the workload of IP routers.
04/08/23
A simple example
• multiple unicasts • IP multicast
S S
R
R
R
R
R
R
04/08/23
Channel zapping in IPTV
Every channel has a multicast group IP address. Internet Group Management Protocol (IGMP) is
used for zapping channels. IGMP v2 is widely used in IPTV. Whenever an end user changes a channel, the
SETOPBOX responds by sending two commands to the central equipment:
(1) To leave the existing video multicast.
(2) To join the desired new video multicast.
04/08/23
IGMP message format
04/08/23
Encapsulation of IGMP packet
04/08/23
Typical IPTV System: Selection of first channel
TransportHeadend Access Home
TransportNetwork xDSL CPE/
FTTH
Computer
STB
IGMPRouter
Digital and Analog
Receivers
MPEG Encoders
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 IGMP join request 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 the DSLAM, 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 subscriber’s IP set-top box get added to the
multicast list. The channel is then copied and sent onward to the
IP set-top box.
04/08/23
Channel selection: Possible steps that may occur across a DSL based IPTV network
Once a subscriber wishes to select a channel they press a channel number on their remote control or select from an EPG application. These commands are received by the infrared receiver.
The IP set-top box accepts the channel changing command and sends this instruction in the form of an IGMP join request to the DSLAM. The DSLAM sees 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 the case, then the DSLAM simply copies the stream and sends to the requesting device.
If the requested channel is not available in the DSLAM, the request is sent to the upstream routers.
When the router located at the regional office receives a request that has not been serviced by the various downstream network components, it also has two 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 is unavailable at its downstream interface.
04/08/23
Channel selection: Possible steps that may occur across a DSL based IPTV network
The request for the channel finally ends up at the IPTV data center where all broadcast channels are available. It is important to note that the channel is generally identified by an IP address. The IP address of the subscriber’s IP set-top box get added to the multicast list. The channel is then copied and sent onward to the IP set-top box.
The 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 contains all of the necessary information required to reconstruct the original picture frame. 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 displaying the channel.
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 taken to acquire a broadcast channel should not exceed 2.5 s.
04/08/23
Typical IPTV System: Change of channel
TransportHeadend Access Home
TransportNetwork xDSL CPE/
FTTH
Computer
STB
IGMPRouter
Digital and Analog
Receivers
MPEG Encoders
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 is then sent to start viewing
the next channel.
04/08/23
Channel change: Possible steps that may occur across 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 IP set-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.
04/08/23
Session Announcement Protocol (SAP)
Session Announcement Protocol (SAP) is used to inform multicast enabled receivers periodically about programs currently being multicast on a network.
The most important part of a SAP message is the multicast address of the multicast stream. Once the user device has this address, it can send a request to the network to join that multicast.
By default, SAP communications always take place on the multicast group address 224.2.127.254 on port 9875. Specialized software on the user device converts the information received from SAP into a list of choices from which the user can select.
04/08/23
MULTICASTING IPTV content across IPV6 networks
IPv6 deployment requires service providers to use a multicasting signaling protocol called Multicast Listener Discovery (MLD) when delivering broadcast TV channels to IPTV end users.
MLD has been derived IGMP.
04/08/23
DSLAM # 1 DSLAM # 2 DSLAM # 3 DSLAM # 4
T2 T2
T1
PC PC
Multicast TVMulticast TV
TVTV
IGMP JOIN
PC
BNG
SETTOP BOX
ADSL MODEM
Video Server
04/08/23
Time-shift TV
04/08/23
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 which allows a client to remotely control a streaming media server, issuing VCR-like commands such as "play" and "pause", and allowing time-based access to files on a server
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 to monitor quality of streaming.
04/08/23
Example:RTSP with UDP-Based RTP DeliveryDESCRIBE rtsp://192.168.1.25:554/mpeg4/movies/3idiots.mpgRTSP/1.0CSec: 101Accept: application/sdp
RTSP/1.0 200 OKCSec: 101Content-Base: rtsp://192.168.1.25:554/mpeg4/movies/3idiots.mpgContent-Type: application/sdpContent-Length: 320<SDP Data..........>
OPTIONS rtsp://192.168.1.25:554/mpeg4/movies/3idiots.mpgCSec: 102
RTSP/1.0 200 OKCSec: 102Public: DESCRIBE, OPTIONS, PAUSE, PLAY, SETUP, TEARDOWN, ANNOUNCE
SETUP rtsp://192.168.1.25:554/mpeg4/movies/3idiots.mpgCSeq: 103Transport: RTP/UDP;unicast;client_port=4042-4043
RTSP/1.0 200 OKCSeq: 103Session: 1234567891;timeout=10Transport: RTP/UDP;unicast;mode=play; client_port=4042-4043;server_port=5072-5073
PLAY rtsp://192.168.1.25:554/mpeg4/movies/3idiots.mpgRTSP/1.0CSeq: 104Session: 1234567891
RTSP/1.0 200 OKCSeq: 104Session: 1234567891
PAUSE rtsp://192.168.1.25:554/mpeg4/movies/3idiots.mpgCSeq: 105Session: 1234567891
RTSP/1.0 200
OKCSeq: 105
Session:
1234567891
TEARDOWN rtsp://192.168.1.25:554/mpeg4/movies/3idiots.mpgRTSP/1.0CSeq: 106Session: 1234567891RTSP/1.0 200
OKCSeq: 106Session: 1234567891
04/08/23
Thank You!