Protocols in IPTV
Short Description
Deals with compression of video signals for delivery in IPTV network. Protocols involved in IPTV multicast, unicast, VoD...
Description
Protocols in IPTV Manish Das
05/14/10
05/14/10
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.. Stream
05/14/10
Video encoding MPEG uses three fundamental techniques to achieve compression:
Subsampling
Reduces colour information which is less sensitive to eye
Spatial co compression
Removes red redundant in informa rmation within frames using the property that pixels within a single frame are related to their neigbours
Tempor Temporal al compress compression ion Remov Removes es redund redundant ant inform informati ation on between frames 05/14/10
Video encoding Compression achieved:
Coding version
SDTV
HDTV
MPEG-2
3.5 Mbps
19.3 Mbps
MPEG-4
2 Mbps
8 Mbps
05/14/10
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.
05/14/10
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 fixedsized TS packets of 188 bytes . Each TS packet comprises 184 bytes of payload and a 4 byte header.
05/14/10
MPEG Stream Encoder Flow
05/14/10
MPEG Transport Stream (TS)
Header (4 Video Payload (184 bytes) bytes) 188 bytes
05/14/10
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.
05/14/10
RTP encapsulation
RTP Header (12 bytes)
05/14/10
MPEG TS MPEG TS MPEG TS MPEG TS MPEG TS MPEG TS MPEG TS (188 (188 (188 (188 bytes) (188 bytes) (188 bytes) bytes) bytes) bytes) (188 bytes)
Formation of IP Packets: Transport Layer
RTP packets form the input to the transport tr ansport 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 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.
05/14/10
UDP encapsulation
UDP Header (8 bytes)
05/14/10
RTP Header 7 X MPEG TS Packets (188 bytes) (12 bytes) Optional
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 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 i mplement because it is not required to keep track of video packets once they are sent onto the IP network.
05/14/10
The IP Layer
Next task is IP encapsulation.
20 byte header is added to the payload.
IPv4 Header (20 bytes)
05/14/10
UDP RTP Header 7 X MPEG TS Packets (188 bytes) Header (12 bytes) Optional (8 bytes)
To Recapitulate
05/14/10
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.
05/14/10
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.
05/14/10
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.
05/14/10
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 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.
05/14/10
A simple example • multiple unicasts
• IP multicast
R S
05/14/10
R S
R
R
R
R
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 t he 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.
05/14/10
IGMP message format
05/14/10
Encapsulation of IGMP packet
05/14/10
Typical IPTV System: Selection of first channel Headend
Transport
The request for the channel Other finally ends up Content at the IPTV data center where all broadcast Sources channels are available. The IP address of the subscriber’s IP set-top box get added to the Apps list. The multicast Servers channel is then copied and sent onward to the IP set-top box.
Access
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
Video Servers IGMP JOIN
VoIP 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 IGMP simply copies the Router stream and sends IGMP to JOIN the requesting device.
If the requested channel is not available in the Router, the request is sent to the upstream routers.
Digital and Analog Receivers
05/14/10
IGMP If the requested channel is not available in the DSLAM, the request is sent to the upstream routers.
The IP set-top box accepts the channel request command and sends this instruction in the form of an IGMP join IGMP join request to the DSLAM. Video Stream
Subscriber presses channel number
STB IGMP JOIN
Transport Network MPEG Encoders
Home
DSLAM
xDSL CPE/ FTTH Computer
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 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.
05/14/10
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 t hat 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 reconstr uct 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 s tart the process of displaying the channel.
The first picture frame fr ame 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.
05/14/10
Typical IPTV System: Change of channel Headend
Transport
Access
Home VoIP
Other Content Sources
The termination of the stream IGMP takes place in Router the DSLAM.
Apps Servers
Subscriber changes channel number The set-top box issues an IGMP Leave message to terminate the stream associated with the old stream. Video Stream
Video Servers
IGMP LEAVE
STB
IGMP JOIN
Transport Network MPEG Encoders
Digital and Analog Receivers
05/14/10
IGMP DSLAM
xDSL CPE/ FTTH A join message is then sent toComputer start viewing the next channel.
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.
05/14/10
Session Announcement Protocol (SAP) (SAP)
Session Announcement Protocol (SAP) (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.
05/14/10
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.
05/14/10
Multicast TV
Video Server
BNG
T1
T2
IGMP JOIN
DSLAM # 1
TV
DSLAM # 2
DSLAM # 3
TV
ADSL MODEM MODEM
05/14/10
T2
SETTOP BOX
DSLAM # 4
Time-shift TV
05/14/10
Video on Demand (VoD)
VoD is unicast delivery and uses RTSP. The Real Time Streaming Protocol (RTSP) RTSP) is a protocol for use in streaming media systems which allows a client to remotely r emotely 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 following requests: DESCRIBE, SETUP, PLAY, PAUSE, RECORD, TEARDOWN. RTSP servers use RTP among other things the transport protocol for the actual audio/video audio/video data and RTCP to monitor quality of streaming.
05/14/10
Example:RTSP with UDP-Based RTP Delivery RTSP/1.0 200 OK CSec: 101 Content-Base: RTSP/1.0 200 rtsp://192.168.1. OK 25:554/mpeg4/m RTSP/1.0 CSec: 102 ovies/3idiots. Public: 200 OK mpg DESCRIBE, CSeq: 103 Content-Type: OPTIONS, Session: application/sdp PAUSE, 1234567891; Content-Length: timeout=10 PLAY, 320 Transport: SETUP, ANNOUNCE icast;mode= play; client_port=4 042-4043; server_port= RTSP/1.0 5072-5073 200 OK CSeq: 104 TSP/1.0 200 R TS Session: OK1234567891 CSeq: 105 Session: 1 789200 456 78 23 45 1RTSP/1.0 OK CSeq: 106 Session: 1234567891
05/14/10
DESCRIBE rtsp://192.168.1.25:554/mp eg4/movies/3idiots.mpg RTSP/1.0 CSec: 101 Accept: application/sdp OPTIONS rtsp://192.168.1.25:554/mp eg4/movies/3idiots.mpg CSec: 102 SETUP rtsp://192.168.1.25:554/mp eg4/movies/3idiots.mpg CSeq: 103 Transport: PLAY RTP/UDP;unicast;client_p rtsp://192.168.1.25:554/m ort=4042-4043 peg4/movies/3idiots.mpg RTSP/1.0 CSeq: 104 Session: 1234567891 PAUSE rtsp://192.168.1.25:554/m peg4/movies/3idiots.mpg CSeq: 105 TEARDOWN Session: 1234567891 rtsp://192.168.1.25:554/m peg4/movies/3idiots.mpg RTSP/1.0 CSeq: 106 Session: 1234567891
Thank You!
05/14/10
View more...
Comments