Final Project Report
Final Project Report
Final Project Report
Channel Zapping
Latency Reduction
in IPTV Systems
Final Year Project Report
Nabil Ur Rehman
BICSE 3
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
CERTIFCATE
It is certified that the contents and form of project report entitled “IPTV Channel
Zapping Latency Reduction using User Profiling and Channel Prediction”
submitted by Muhammad Zeeshan Ahmad and Nabil Ur Rehman has been found
satisfactory for the requirement of the degree.
Advisor: ___________________
Co-Advisor: ___________________
Co-Advisor: ___________________
1
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
DEDICATION
To Our Parents
&
Our Teachers
2
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
ACKNOWLEDGEMENTS
First of all we would like to pay our humble gratitude to Allah Almighty who
blessed us with His kindness to complete this project.
We are extremely thankful to Dr. Junaid Qadir for his support, keen interest
and supervision. We acknowledge the extreme involvement of our co-advisors Dr.
Adeel Baig and Dr. Hammad Majeed. Their valuable assistance, suggestions and
guidance helped us a lot in completing this project. We would like to express our
gratitude to Mr. Owais Malik for his valuable time and guidance to improve the
project.
3
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Contents
ABSTRACT .............................................................................. 8
1 INTRODUCTION ................................................................... 9
3.3 Why Use User Profiling and Channel Prediction for IPTV Channel Zapping
Latency Reduction? .............................................................................................28
3.5 Proposed Approach for User Profiling and Channel Prediction ............... 37
4
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
4.1 Introduction.............................................................................................. 41
4.1.1 Architecture .................................................................................................................... 41
4.1.2 Working ......................................................................................................................... 43
5 IMPLEMENTATION ............................................................... 46
6 RESULTS .......................................................................... 70
7 CONCLUSION ..................................................................... 75
8 BIBLIOGRAPHY ................................................................... 77
5
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
List of Figures
FIGURE 1-1: TRADITIONAL IPTV ARCHITECTURE (5) ............................................................................................ 12
FIGURE 2-1: IGMP FLOW OF ADJACENT CHANNEL JOIN-LEAVE METHOD (15) .................................................... 21
FIGURE 2-3 FIGURE 2-4: BANDWIDTH ALLOCATION POLICY IN PREVIEW AND WATCHING MODE. BN IS
THE NTH BASE LAYER AND EN IS THE NTH ENHANCEMENT LAYER. ................................................................... 22
FIGURE 2-2: WORKFLOW USING RATING SERVER (15)......................................................................................... 22
FIGURE 2-5: WORKFLOW OF CONVENTIONAL IPTV SERVICE ............................................................................... 23
FIGURE 2-6: WORKFLOW WITH H.264 SCALABLE VIDEO CODING ........................................................................ 24
FIGURE 3-1: IPTV ARCHITECTURE ....................................................................................................................... 41
FIGURE 4-1: UNICAST USING VLC – NETWORK TOPOLOGY .................................................................................. 52
FIGURE 4-2: VLC PLAYER ................................................................................................................................... 53
FIGURE 4-3: OPENING A FILE .............................................................................................................................. 53
FIGURE 4-4: DIALOGUE BOX TO ENTER THE PORT NUMBER THROUGH WHICH THE UNICAST TRAFFIC
WILL PASS. .................................................................................................................................................. 54
FIGURE 4-5: AT SERVER, DIALOGUE BOX TO SET IP ADDRESS OF UNICAST RECEIVING CLIENT. .............................55
FIGURE 4-6: AT CLIENT SIDE, OPENING THE UNICAST STREAM BEING TRANSMITTED BY SERVER. ........................ 56
FIGURE 4-7: ENTER THE PORT NUMBER ON WHICH THE UNICAST STREAM IS BEING TRANSMITTED
FROM SERVER.............................................................................................................................................. 56
FIGURE 4-8: MULTICASTING (28) ........................................................................................................................57
FIGURE 4-9: MULTICAST USING VLC – NETWORK TOPOLOGY ............................................................................. 58
FIGURE 4-10: OPENING A FILE FOR MULTICAST STREAMING ................................................................................ 59
FIGURE 4-11: DIALOGUE BOX .............................................................................................................................. 59
FIGURE 4-12: BROWSING A FILE TO STREAM ........................................................................................................ 60
FIGURE 4-13: ASSIGNING THE MULTICAST IP ADDRESS FOR STREAMING TO A PARTICULAR MULTICAST
GROUP.......................................................................................................................................................... 61
FIGURE 4-14: STREAM BEING TRANSMITTED TO MULTICAST GROUP ..................................................................... 62
FIGURE 4-15: OPENING THE NETWORK STREAM .................................................................................................. 62
FIGURE 4-16: ENTERING THE MULTICAST IP ADDRESS WHICH THE CLIENT SHOULD JOIN TO RECEIVE
MULTICAST STREAM .................................................................................................................................... 63
FIGURE 4-17: MULTICAST STREAM IS BEING DISPLAYED AT CLIENT‟S SYSTEM ....................................................... 64
FIGURE 4-18: FOUR DIFFERENT STREAMS BEING RECEIVED BY THE CLIENT AT HIGH QUALITY AND THE
AVERAGE BIT RATE OBSERVED IN THIS CASE WAS 5.215 MBITS PER SEC ........................................................ 65
FIGURE 4-19: OUR DESIGNED APPLICATION, WHICH USES VLC‟S FUNCTIONALITIES AND ACTS LIKE A
SET TOP BOX............................................................................................................................................... 66
FIGURE 4-20: SIMPLIFIED ARCHITECTURE OF OUR TEST BED IN CASE OF INTERNETWORK
TRANSMISSION. ........................................................................................................................................... 67
FIGURE 6-1: TIMELINE OF OUR FUTURE TASKS............................................. ERROR! BOOKMARK NOT DEFINED.
6
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
List of Tables
TABLE 2-1: COMPARISON BETWEEN CHANNEL ZAPPING REDUCTION TECHNIQUES............................. 24
TABLE 3-1: COMPARISON OF USER PROFILING AND CHANNEL RECOMMENDATION TECHNIQUES ..... 37
List of Abbreviations
IPTV Internet Protocol Television
7
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Abstract
Internet Protocol Television – IPTV is a new form of traditional TV, in which TV
content is delivered using IP based networks which are managed to provide the
required level of quality of service and experience, security, interactivity and
reliability. Quality of Service (QoS) and Quality of Experience (QoE) are the two
major factors which need to be ensured in order to achieve IPTV customer
satisfaction. Channel zapping latency is the major problem which affects QoE for
IPTV users. In IPTV systems while switching channels, a delay occurs due to different
factors like IGMP Join/Leave latency, video steam encoding and decoding time,
network jitter and traffic load. These factors hinder the process of IPTV deployment at
large scale and pose scalability issues to IPTV. In order to solve IPTV channel zapping
latency problem, a number of approaches have been contributed by different
researchers but due to bandwidth limitation and video quality issues, every approach
has its own tradeoffs. In this report, an approach has been proposed which uses user
profiling and channel prediction along with video stream encoding at low bitrates.
The proposed approach, predicts some channels based on user profiles, which are
created based on user TV viewing history, and transmits predicted channels at low
bitrates, along with the requested channel. Proposed solution is still in its
development and implementation phase, so findings and contributions to the
problem domain so far, have been discussed in this report.
8
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
1 Introduction
In this chapter, we will discuss the basics
and pre requisites about Internet Protocol
Television - IPTV and related problem domain,
which a reader should know before proceeding
to further chapters. We will discuss a brief
history of IPTV, its architecture, introduction to
the problem domain i.e. channel zapping latency
in IPTV systems and major challenges to
deployment of IPTV at large scale.
9
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
1.1 IPTV
Since the conception of internet, its demand in every application is growing day
by day. No wonder, like every other services television is also getting attention. IPTV
is not a new concept as such. Early days of internet did not have enough bandwidth to
support entertainment quality media delivery. Hence Broadcast over IP network did
not become popular. The recent advancement in communication network and in
media compression techniques has now enabled network delivery of high quality
content.
Internet Protocol Television is a new form of television technology that uses the
existing IP network to deliver entertainment grade audio-video content to consumers.
[1] It uses video compression techniques to reduce the data to be transported to the
end user. And the compressed digital media is then transported to end users over a
standard IP network which is already in place for data services. This is called in
industry terms, Triple Play. Data, Voice and Video these three are the components of
the service. IPTV falls into the category of Video. The Key promises of IPTV System
are,
Low Cost: IPTV Service being built on top of the existing data network
infrastructure the deployment cost is low.
10
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
1.1.1 History
CU-SeeMe Video Conferencing Software1 enabled ABC‟s World News Now to
be the first television show broadcast over the internet in 1994. First live webcast was
started by Internet radio company AudioNet in January, 1998. [3]
In 1995, the term IPTV first appeared with the founding of Percept Software.
Precept designed and built an internet video product named "IP/TV". IP/TV was an
MBONE2 compatible Windows and UNIX based application that moved single and
multi-source audio/video traffic, ranging from low to DVD quality, using both unicast
and IP multicast RTP/RTCP.
In 2006, AT&T launched its U-Verse IPTV service, comprising a national head
end and regional video-serving offices. AT&T offered over 300 channels in 11 cities
with more to be added in 2007 and beyond.
On March 2009, AT&T announced that U-verse had expanded to 100 or more
High Definition channels in every U-Verse TV market. While using IP protocols,
AT&T has built a private IP network exclusively for video transport. [4]
1 CU-SeeMe is an Internet video-conferencing client. CU-SeeMe can make point to point video calls
without a server or make multi-point calls through server software first called a "reflector" and later
called a "conference server" or MCU.
2 Mbone (short for "multicast backbone") was an experimental backbone for IP Multicast traffic across
the Internet. It is a virtual network built on top of the Internet; Invented by Van Jacobson, Steve Deering
and Stephen Casner in 1992. The purpose of MBONE is to minimize the amount of data required for
multipoint audio / video-conferencing.
11
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
12
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
include other integrated functions such as routing gateway, set-top box and home
networking capabilities.
13
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
1.2.1.3 Stability
The stability of the service is also very important as Television is one of the
most common forms of near real time applications. [7]
1.2.1.4 Security
Suitable access control and piracy prevention has to be ensured.
14
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
users with the ability to switch channel instantaneously. Having that scenario, IPTV
cannot have an annoying blank in between channels.
The report is a work of thorough research on the global IPTV industry and
examines global as well as regional IPTV subscriber base, service revenue, ARPU,
broadband subscribers, and IPTV households among other market elements.
1. Currently, Europe is the largest and most active IPTV market but in future,
Asia-Pacific is expected to leave it behind as it will grow in terms of
subscribers, service revenue, infrastructure etc. The broadband penetration of
the region will fuel the growth.
15
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
16
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
2 Related Work
In this chapter, we will discuss different
contributions made by other people in this
domain. As discussed in the previous chapter,
QoS and QoE are one of the major challenges for
IPTV. In order to deploy IPTV at a large scale
commercially, a satisfactory QoE and QoS has to
be achieved. Different contributions have been
made in this regard, but every approach has its
own tradeoffs. We will review and cite a number
of related later in this chapter.
17
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
2.1.1.2 Client stream buffering (network de-jitter buffer, video input buffer)
A delay occurs during the time the client fills its buffer before starting to
render. This delay is in the range of 0.5 to 2 seconds.
18
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
addition to each media stream. The sender reports link the media clock domain (the
RTP timestamps) with a clock domain common to all streams. At least one RTCP
sender report has to be acquired for each stream, to allow synchronized play-out of
the streams. The frequency and timing of RTCP reports also influence the initial play-
out delay, because many clients may not start rendering before synchronization has
been established. Following the recommendations of RFC 3550 [14] the RTCP sender
interval is about 0.25 seconds for a 1.5 Mbps media stream. However, this
recommendation can be further reduced in a system specification if required.
19
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
20
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
In [15], Lee et al. refined Cho et al.’s work to make it support the random
channel selection. In this work, it is proposed that settop box instead of home gateway
manages adjacent channel multicast group list and handles IGMP Join and Leave
operation for adjacent channels. To reduce channel zapping time to random channels,
settop box queries expected channel list to rating server and handles IGMP Join and
Leave operation for the expected channels. Rating server gathers channel change
event from settop boxes and manages statistics for each settop box. In this method,
the adjacent channels are not only those channels which are physically adjacent to the
current channel, rather these are the expected channels which are most likely a user
can watch. If rating server receives a query message from a settop box, it obtains
expected channel list from managed statistics and responses the list to the settop box.
Settop box can obtain its expected channel information of specific time zone by
sending a query message to rating server periodically. This approach has advantage
over Cho et al.’s proposed approach by enabling random channel changing. But
tradeoffs attached with this approach are larger bandwidth for access network and
cold starting of rating server‟s expected list generation, as it needs to learn the user
interests over a reasonable period of time.
21
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
In [16], a technique which involves H.264 scalable video coding has been
proposed in which the channels are split into two types of layers.
Base Layer
Enhancement Layer
Figure 2-3 Figure 2-4: Bandwidth allocation policy in preview and watching mode. B n is
the nth base layer and En is the nth enhancement layer. [16]
Base Layer is actually the channel stream with H.264 scalable video coding. It
reduces the bitrate of channel stream and allows more channels to be transmitted at
the nearly same bandwidth required to transmit one high quality channel stream.
Enhancement Layer is the stream with high bandwith. It enhances Base Layer
that‟s why it is called Enhancement Layer.
22
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Preview Mode
Watching Mode
In preview mode, the base layer of the current channel is transmitted to the STB
and low-quality video is displayed. The channel manager also starts accumulating
base layer packets for these channels, which the user is deemed likely to select next, in
a channel pool. In preview mode, switching within the channel pool occurs
immediately. Then, when the channel manager decides that the user is likely to watch
the current channel for a while, the multiple base layers are replaced with the
enhancement layer to restore full picture quality. Change from watching to preview
mode takes less time than a change of channel at full quality.
23
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Experimental results using H.264 SVC confirm that fast channel switching can be
achieved with minimal loss of picture quality during normal viewing.
Adjacent Channel
High Good Yes No
Join/Leave (Cho et al.)
Advanced Scheme to
Reduce IPTV Channel High Good Yes Yes
Zapping Time (Lee et al.)
Reducing IPTV Channel May be
Reduced
Switching Time Using Lesser than (Based on
video Yes
H.264 Scalable Video other two the pool of
quality
Coding (Younghee et al.) channels)
Table 2-1: Comparison between channel zapping reduction techniques
24
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
3 User Profiling
and Channel
Prediction
In this chapter, we will discuss different
techniques which have been contributed by
other researchers. We will also discuss how we
can use those techniques in our approach.
25
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
26
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
system can pre-join the channel y‟s stream when user is watching channel x
during 12 pm to 1 pm. Temporal data gives us user‟s activity patterns which
can be used to determine user‟s habits of IPTV viewing.
IPTV Content and Usage Data:
There are different metrics which can be used to a user profile for
channel prediction. This data can be obtained through IGMP group JOINs and
LEAVEs. Information available in EPGs can be used to determine the genre of
the requested content which can further provide insights into user‟s interests.
Other channels having the same genre and similarities in the information
provided in EPG are also known and can be added to predicted channels list.
Usage of IPTV traffic can be monitored by following factors
o How long a channel was viewed
o What time was the channel changed
o What channel was requested
27
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
3.3 Why Use User Profiling and Channel Prediction for IPTV
Channel Zapping Latency Reduction?
As discussed earlier, there are number of factors which cause delay. Many of
those factors are inherent in IPTV and cannot be eliminated completely. So there is
need of some other solution which behaves independent of the underlying network
and those inherent factors. User Profiling and Channel Prediction gives a new
dimension to the solution of IPTV channel zapping latency problem. We can monitor
user‟s IPTV viewing behavior, aggregate user‟s preferences, build user profiles and
based on that information predict the channels which can be pre-joined. Once the
channels are pre-joined, a user will experience lesser zapping latency while switching
to a predicted channel.
A lot of research has also been done in the field of IPTV content
recommendation and that can be used as base for IPTV channel prediction.
28
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Channel Popularity:
Channel list can also be predicted on the basis of the most watched or favorite
channels of a particular region. Viewership of popular channels increases and
decreases monotonically with time. Viewership is maximum at prime time i.e. from
8pm to 10pm whereas it is very less in morning time when usually channels show
repeat telecasts. Figure 3-2 plots channel rankings against the number of viewers. The
distribution is Zipf-like for popular channels, and the popularity decays almost
exponentially for non-popular channels (ranked 30th or below).
29
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Temporal Correlation:
Figure 3-3 shows the time-of-day trend on the number of viewers. We
consistently observe strong peaks for particular times of day (e.g., 3 PM, 10 PM),
indicating that a significant fraction of users are correlated about when they watch
TV.
Zooming Into Per-Program Viewing Behavior: Figure 3-4 Shows the viewer
share of the final match of the European Champions League. The program had four
semantic parts: first half, halftime, second half, and the award ceremony. A significant
fraction of viewers leave the channel during half-time and re-join later, reflecting
strong correlation in their behaviors. Also observe many viewers join or re-join the
program after the beginning of each part. We can predict TV channels/programs for
30
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
viewers based on these results. For example viewer having interested in sports would
most probably watch football match after 2nd half has started. So this factor could also
be taken into account while predicting a list of channels for a particular viewer.
Channel sampling:
When watching television, people browse through a set of on-air programs
until they find something interesting [18]. Channel selection while listening to the
radio is similar; listeners sample and switch across multiple radio stations. Channel
selection involves two steps:
Consider a TV viewer changing channels after watching them for 5, 3, 10 seconds, and
20 minutes. We may interpret that the user sampled four channels before finding
something interesting. The problem of quickly finding the right channel becomes
harder as the number of channel offerings grows in modern IPTV systems.
31
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Cha et al. have recently proposed a „hot list‟ approach to reduce unnecessary
channel sampling which will improve user experience by reduction in channel
zapping latency [18]. “Hot list” – a list of channels based on the real-time popularity
of content and the user‟s past streaming history– is generated to allow users to switch
amongst the channels recommended in the hotlist. In IPTV, this can be realized as an
alternative way to change channels, compared to the conventional linear (up or down)
changes. We have already seen that top channels in TV systems generally have a Zipf-
like popularity [19]. As users surf through the hotlist, they are likely to find interesting
programs with less number and time spent on sampling, which improves the user
experience. The hot-list can be organized on the basis of real-time popularity. The
hotlist can be customized for each geographical location as people living in the same
area tend to watch same kind of programs. This hotlist can be further refined on the
basis of individual watching behavior of viewer by recording his behavior for some
pre-defined time interval.
32
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
in the form of rating server and Younghee et al. in the form of channel pool. But in
their work they do not mention the exact algorithm for channel prediction. A lot of
work has been contributed which explains the algorithms for TV content
recommendation. IPTV content recommendations can be used as channel
predictions. Some of those techniques have been listed in the following sections.
33
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
records the explicit preferences information provided by the user. It also records the
implicit information about user‟s preferences by monitoring user‟s activity.
Interest Degree is calculated based on the Like Degree and Weight. Rules are
defined for different combinations of Like Degree and Weight. Value of Interest
Degree should be more than a threshold defined in order to recommend or predict the
program. Threshold value can be a crisp value or fuzzy.
Profiling agent keeps updating the values based on implicit or explicit user
preference observation.
Weighti‟ = Weighti + α .
Like-degreei‟ = Like-degreei + β .
Where:
α, β : Constants to slow down the change of Weight and Like Degree. These are less
than 1.
This method of recommendation does not need to store user‟s viewing history
as it keeps track of user‟s activity and continuously updates numerical values in his
user profile against all the terms which he likes or dislikes. This technique can still be
refined to work for predicting IPTV channels User Model Based Prediction
34
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Explicit User Preference Model - User may specify his interests at the time of
registration with the IPTV service provider. User may specify his interests into
different IPTV content categories using different options (e.g. High, Medium or Low).
User would also specify demographic information (e.g. Age, Profession etc.) related to
him/her. Based on this information model, predictions are made. Each prediction has
a confidence value attached which represents the uncertainty present in the
prediction. User specified preferences have confidence value 1.
Where
35
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
prev_prob and prev_exper are the probability and the experience of the node, before
the occurrence of the action.
Lee et al.‟s approach has advantage over Cho et al.‟s approach [8] by reducing
random channel changing time. Tradeoff attached with this approach are larger
bandwidth for access network and cold starting of rating server‟s predicted channels
list generation, as it needs to learn the user interests over a reasonable period of time.
36
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Time of day
37
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
System monitors viewer behavior continuously and weight is calculated after fixed
time interval. Each user has its own database at her home gateway which contains
weight value for every channel and another temporal and time series database which
contains channel number, watch time and time of day on the basis of which weight is
calculated.
After every t time interval, weight values are recalculated and replaced in the
database.
Where:
: constant which slows down the change of Weight ( value between 0 and 1 )
Values of c show that a viewer watching a channel in prime time is given more
importance while calculating weight than that of a channel being watched during day
time.
In this approach as the time passes by, the value of weight keeps on getting
close to accurate value. As system learns viewer behavior, weight value increases or
38
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
decreases gradually to represent user interest for a particular channel. The more the
value of weight, the more user has interest in particular channel.
Unlike the approach presented by Shi et al, we have only one term on the basis
of which we will calculate user interest. So our solution is more light weight
than of Shi et al and our performance increases by a factor of 3.
The change in viewer interest is known as interest drift. Our system continues
to learn with time and gradually updates the weight values with time so
interest drift problem is eliminated in our case. Even if user drifts from his
interest, system will able to get over it.
39
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
4 Proposed
Solution
In this chapter, the discussion is
based on the progress of our contribution
in this domain. A solution to channel
zapping problem is proposed keeping in
view the advantages and shortcomings of
previous approaches.
40
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
4.1 Introduction
Our proposed solution is mainly inspired from related works by Lee et al. [15]
and Younghee et al. [16]. In contrast to their approach, we are proposing to reduce
channel zapping using user profiling. User profiling will be used to predict a list of
channels which a user can most likely switch to. All the predicted channel streams
would be transmitted at very low data rate; we‟ll refer to it as Preview Mode. This‟ll
help in transmitting predicted channel streams along with the channel being watched
currently.
4.1.1 Architecture
Our proposed solution is based on the following simplified architecture of
traditional IPTV.
41
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
4.1.1.1 Server
Server is the entity where all the processing, encoding and transmission of
video content, user billing information and Electronic Program Guide (EPG)
generation is done. It is located at IPTV Headend.
A database is located at the Home Gateway, which maintains the user profiles,
channel information like genre (e.g. Music, Movies, News etc), rating (e.g. PG-13, PG-
18, R etc), user‟s channel viewing history, list of related channels which is generated
against each channel. At the time of registration user is asked to mention his interests
in registration form. Based on these interests we refine the results of our prediction.
42
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
by user on this channel during last 3 hours. Only that channel will be predicted which
has maximum view time.
Home Gateway then requests the server for transmission of predicted channel
streams i.e. two adjacent channels and one channel from predicted list along with the
channel being currently viewed by user.
4.1.2 Working
In our proposed architecture, as explained earlier Home Gateway contains
information about the users and channels. Every channel is transmitted to a different
multicast group as traditional IPTV. Every channel has a Related Channels List
against it in the database, which is generated on the basis of information associated
with the channel. It is generated at the initial stages of IPTV network deployment. The
purpose of creating that list is to predict some channels which a user is most likely of
watch while watching a certain channel e.g. if a user is watching GeoNews he is most
likely of watching ExpressNews or AajNews. User activity is continuously updated in
database at Home Gateway, every time user sends an IGMP Join/Leave request for a
particular channel. Monitoring is done by keeping a close eye on how frequently user
watches a particular channel and how long a user stays on that channel. By using
above information along with related channel information and user‟s previous history
of watching behavior, user‟s profile can be updated in the database. Based on user
profile information a list of channels is generated which are predicted. In prediction
there are different metrics like frequency of visiting a channel, duration of watching
the channel. These metrics have their own weightage which lead to generation of
predicted channels list e.g. we can assign low weightage to frequency of visiting a
certain channel and high weightage to watching a channel more than 20 minutes. So,
if there is a channel which has been less frequently visited but every time user visited
that channel he stayed there for more than 20 minutes, then this channel has more
chances of being liked by user than a channel which has been frequently visited but
watched for a very little time.
43
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Below we show typical channel change scenarios according to our proposed solution:
1. Let‟s assume, user is watching any random channel e.g. Channel 10.
2. The Predicted Channels List, generated against Channel 10 in the database
located at Home Gateway, contains Channels 12, 17, 32.
3. Streams of Channels 10, 12, 17 and 32 are being transmitted from server.
4. Channel 10 is being transmitted with good quality whereas Channels 12, 17
and 32 are being transmitted at a very low data rate with H.264 scalable video
coding.
5. Multicast Router is forwarding these streams down to Home Gateway which
only forwards the required stream i.e. Channel 10 down to STB.
44
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
6. Home Gateway updates the user activity log, whenever a channel is requested
by the STB.
7. Home Gateway resolves the channel request without needing to forward it to
higher level in the network.
8. Now, user is watching Channel 12.
So, in our solution, the channel zapping delay is largely minimized when user
switches within predicted channels. This is because the predicted channel streams are
already received at Home Gateway and at the time of channel change, Home Gateway
forwards that stream to STB.
45
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
5 Implementation
In this chapter, we will discuss
implementation process of our project. For
starting implementation we first started with a
quest for IPTV simulators or players which could
help us in implementing our proposed solution.
We reviewed a number of players and their
details are discussed later in this chapter. To
implement the proposed solution and testing the
different concepts like multicasting, unicasting
and video stream encoding schemes, as we had
to transmit videos at lower bitrates, rescale them
and encode them using different encoding
schemes we decided to use an open source video
player called VLC. Details will follow later in
chapter.
46
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
5.1.1 MythTV®
MythTV is a free Linux application which turns a computer with the necessary
hardware into a network streaming digital video recorder, a digital multimedia home
entertainment system, or Home Theater Personal Computer. It can be considered as a
free and open source alternative to Tivo or Windows Media Center. [22]
MythTV has a number of capabilities. The television portion allows you to do the
following:
You may install multiple video capture cards to record more than one program
at a time.
You can have multiple servers (called "backends"), each with multiple capture
cards in them. All scheduling is performed by the Master Backend, which
arbitrates which recording will be performed by each device. All recording
requests are managed by the Master Backend, so you can schedule a recording
from any client.
You can have multiple clients (called "frontends" in MythTV parlance), each
with a common view of all available programs. Any client can watch any
program that was recorded by any of the servers, assuming that they have the
hardware capabilities to view the content; a low-powered frontend will not be
able to watch HDTV, for example. Clients can be diskless and controlled
entirely by a remote control.
You may use any combination of standard analog capture card; MPEG-2,
MJPEG, DVB, HDTV, USB and firewire capture devices. With appropriate
47
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
hardware, MythTV can control set top boxes, often found in digital cable and
satellite TV systems.
5.1.2 WatchiTV
WatchiTV is the first complete solution in the industry, to run on a notebook
PC emulating the IPTV client, for verification of VoD channel request as well as EPG
changing delay. WatchiTV assists us throughout optimizing and troubleshooting the
IPTV environment. [27]
Key Applications
48
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Presentation session
o IPTV client access and EPG scan.
Application session
o H.264, MPEG4 and MPEG-2 transport stream measurement.
IP transportation
o IPTV system performance.
Miscellaneous
o STB initialization monitoring. [28]
Like WatchiTV, all other simulators also cost very high so instead of buying
one, we decided to build our own application which could simulate IPTV network
activities to reduce channel switching time. Before this, we studied about different
IPTV players which could be used to solve our problem. Myth TV was one of them,
which was studied thoroughly and following were the findings.
1. Player should have the capability to simulate all the components of IPTV
architecture, i.e. IPTV Media Server, Multicast Router, Home Gateway and
IPTV STB.
2. Support for encoding video streams using different codecs at Media Server
and transmission at different data rates.
We explored the following players for potential usage in our IPTV simulations.
49
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
video conferencing (22). As LinuxMCE does not follow point 1 and 2 of our
criteria, it is not suitable for IPTV simulations.
3. Microsoft Media-room:
The latest update of the Microsoft TV IPTV Edition platform software,
is intended for use in a STB to access on-demand as well as live TV
programming on a Microsoft IPTV network. Microsoft Media-room includes
all the features of Microsoft TV IPTV Edition, including support for on-
demand and live video, video recording and time shifting, and interactive
program guide with integrated search and scheduled recording. It includes the
ability to record two HD streams while watching two SD streams
simultaneously (23). As Microsoft Media-room is latest update of Microsoft
TV IPTV Edition, explanation for why we are not using it is same as for
Microsoft TV IPTV Edition.
4. Linux4.tv:
Linux4.TV comprises of open-source interactive set-top box
technologies based on the National Semiconductor Geode™ SC1200
integrated processor and SP1SC10 development platform which provide a
complete suite of open-source drivers, applications, plug-ins, and toolkits that
form the foundation of a feature-rich interactive set-top box system. (24) It
requires specific hardware i.e. National Semiconductor Geode™ SC1200
integrated processor and SP1SC10 development platform and moreover
Linux4.tv Set Top Box Open Source Project is outdated and required resources
listed on linux4.tv are not available anymore.
50
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
5. OpenTV:
OpenTV is a middleware proposed by a company of the same name.
OpenTV is widely adopted by broadcasters, operators, and device
manufacturers around the world; it is used in more than 106 million digital
STB and TVs (25). OpenTV supports near video-on-demand (NVoD)
applications, impulse pay-per-view (IPPV) and allows downloading of data or
applications. OpenTV is extensively documented and also provides a „software
development kit‟ (SDK). The SDK, an integrated interactive application
development environment for OpenTV middleware, assists developers in
creating applications using the C language that can use the complete
functionality of an OpenTV-enabled STB (26). OpenTV itself is a proprietary
solution for IPTV and has been adopted by a number of IPTV service
providers. Its SDK can be used to develop interactive services for IPTV like
games, educational purposes but it is not suitable for our project domain in
which we need to reduce the channel zapping delay.
51
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Some functionalities like unicast and multicast streaming were tested to get
started before actual application development. Those tests and proofs of concepts like
comparison between unicast and multicast have been shown below.
5.2.1.1 Unicast
Unicast is the term used to describe communication where a piece of
information is sent from one point to another point. In this case there is just one
sender, and one receiver.Unicast transmission, in which a packet is sent from a single
source to a specified destination, is still the predominant form of transmission on
LANs and within the Internet. All LANs (e.g. Ethernet) and IP networks support the
unicast transfer mode.
We tested VLC for unicast video transmission within same network. We used
following network topology for unicast:
52
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
At Server Side:
53
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Figure 5-4: Dialogue Box to enter the port number through which the Unicast traffic will
pass.
54
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Figure 5-5: At Server, Dialogue Box to set IP address of unicast receiving client.
At Client Side:
55
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Figure 5-6: At client side, Opening the unicast stream being transmitted by Server.
Step 6: Connect to the same port (mentioned on server) to play streamed content.
Figure 5-7: Enter the port number on which the Unicast stream is being transmitted from
server.
Video was streamed on LAN and we noticed a delay of about 1 second between
the sent and received video.
56
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Network was monitored using Ethereal Network Analyzer and different rates
of bandwidth were noticed for different compression techniques provided by VLC.
Why Multicast?
57
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
content to a multicast IP address and then only those nodes which are members of
that multicast group can receive that video or audio content.
Demonstration of Multicast:
For demonstration of multicast using VLC we used following network topology
which is shown below:
At server side
58
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Step 2:
Browse a file that is to be transmitted, check the stream output checkbox and
click on the Settings button
59
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Step 3: Set the options before starting the stream. Check UDP, enter the multicast
group IP address and port number.
60
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Figure 5-13: Assigning the multicast IP address for streaming to a particular multicast
group
61
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
At Client Side
62
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Step 2: Check UDP/RTP Multicast and enter the Multicast Group IP Address to join
the Multicast group to receive Multicast stream.
Figure 5-16: Entering the multicast IP address which the client should join to receive
multicast stream
63
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Results
Client can register with more than one multicast groups at the same time. In
this way, it can receive more than one stream but different instances of VLC have to
be initialized.
As a test case, 4 multicast streams were generated from server end and
received at the clients. To access those streams the client has to join the multicast
group associated with that stream. To analyze bandwidth consumption we used
Ethereal. We figured out that sending 4 high quality multicast streams will consume
5.215 Mbps bandwidth.
64
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
This test was also carried out by encoding the 3 streams using MPEG-4 at 32
Kbps and scaled down to 0.75 of the original size. MPEG-4 provides good quality at
even lower bitrates. So, we received the streams with improved quality. The requested
channel stream was also encoded with MPEG-4 at 768 Kbps and 512 Kbps. At 768
Kbps, an acceptable video quality received but sometimes, jitter occurred whereas at
512 Kbps, video quality dropped a little but the requested channel stream received
smoothly with other 3 low quality streams.
Figure 5-18: Four different streams being received by the client at high quality and the
average bit rate observed in this case was 5.215 Mbits per sec
65
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Figure 5-19: Our designed application, which uses VLC’s functionalities and acts like a Set
Top Box
66
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Up/Down buttons
These buttons are made to simulate the adjacent channel switching time. By
clicking these buttons, we can switch to the next multicast stream being transmitted
by the server.
Stop Button
Pressing this button will stop the multicast stream that is being received. The
function used to implementing this functionality is vlcUserControl1.Stop ()
Figure 5-20: Simplified architecture of our test bed in case of internetwork transmission.
67
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Make config
Make menuconfig
Make xconfig
We used „make config‟ which is a program that asks us for a yes/no/module for
about 500 options in the kernel. We need to enable following features to get multicast
routing to work. [32]
CONFIG_IP_MULTICAST=y
CONFIG_IP_ROUTER=y
CONFIG_IP_MROUTE=y
CONFIG_NET_IPIP=y
After configuring the kernel, it was recompiled and installed. „Make install‟
command was used to compile and install it.
We downloaded the files into /tmp and untared them in /usr/src. Following
command were used to perform this operation.
68
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
cd /usr/src
tar xvzf /tmp/mrouted-3.9-beta3.tar.gz
gunzip /tmp/mrouted_3.9-beta3-1.diff.gz | patch -p0
69
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
6 Results
In this chapter, we will summarize the learning,
experiences and results recorded during our
progress so far. Later in this chapter, we will
include details about our future work in this
project.
70
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
1. In order to solve the channel zapping latency problem, the major requirement
was to devise a theoretical solution and then implement and test the
theoretical concepts. We have devised a proposed solution which is based on
user profiling and prediction. We reviewed existing work and identified their
short comings. Every approach has its own tradeoffs. So, we took inspiration
from advantages of other approaches and tried to address their short comings.
2. To start working on channel zapping latency problem in IPTV systems, we first
needed to understand the basic concepts of IPTV networks, multicasting, user
profiling and prediction. We studied IPTV architecture and identified its
major components. After that we came up with a solution which followed
traditional IPTV architecture with a few modifications according to our
proposed solution. We brought intelligence of channel prediction and user
activity monitoring at Home Gateway level so that IPTV Media server does not
have to add extra functionality and processing for monitoring a large number
of users.
3. For implementation of our proposed solution, we explored potential IPTV
simulators and different players which could have potential usage in IPTV
simulations. We learnt about MythTV and tried to explore its potential usage
in IPTV simulation, but as discussed earlier in the section 5.1.1, MythTV was
not a suitable solution to our problem. MythTV is a personal video recorder
which we studied in quite detail. We installed a Linux distribution called
„MythBuntu‟ which is specially made for MythTV users. Also, we explored
different features of MythTV including interfacing it with PTCL Smart TV.
Unfortunately MythTV does not support any cable TV network in Asia so we
could not use Myth TV with PTCL Smart TV. Moreover, as discussed earlier,
we found that MythTV is a Personal Video Recorder, so we discontinued
71
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
72
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
resolved by taking help from blogs, online communities, tutorials and our
advisors.
7. Although our project was mainly focused on how to transmit predicted
channel streams to user‟s home gateway within limited bandwidth, we also did
quite thorough literature survey of techniques for user profiling and channel
prediction and how those techniques can be used to predict more accurately. It
was a great experience of learning about a new domain and developing
concepts about it. As a result, we also developed a technique for channel
prediction which has been discussed in Chapter 3.
8. Finally, we have submitted a review paper to get published, which includes all
the techniques studied during our project. In the paper, we have also
recommended the techniques and solutions for different scenarios. Writing a
review paper was another good learning experience which highly improved
our technical writing skills.
9. Apart from all the technical skills, we also learned problem solving skills and
writing skills, which helped us in devising a proposed solution for IPTV
zapping problem and properly document our findings. It has been very helpful
in developing a sense of professionalism inside us. It has also developed a
sense of reviewing other‟s research works and then finding their positive and
negative points. This project provided us the exposure to learn about 2
different domains i.e. IPTV networks and User Profiling and Channel
Prediction.
73
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
Our research work can be extended in mainly 2 different domains which we have
mentioned earlier; the IPTV network delay reduction using core network optimization
techniques and User Profiling and Channel Prediction techniques. Research in the
latter domain can also result helpful to research in the domain of IPTV Content
Recommendation.
74
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
7 Conclusion
75
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
76
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
8 Bibliography
77
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
1. [Online] http://en.wikipedia.org/wiki/IPTV.
3. [Online] http://economictimes.indiatimes.com/articleshow/msid-589392,prtpage-
1.cms.
4. [Online] http://www.att.com/gen/press-
room?pid=4800&cdvn=news&newsarticleid=26580.
5. [Online]
http://www.juniper.net/solutions/literature/white_papers/iptv_multicast.pdf.
6. A Guide to IPTV: The Technologies, the Challenges and How to Test IPTV .
9. [Online] http://www.researchandmarkets.com/reports/c76699.
10. Optimizing channel change time in IPTV applications. Fuchus, Herald and
Farber, Nikolaus.
11. RFC 3306, “Internet Group Management Protocol, Version 3 (IGMPv3)”. October
2002.
12. Technologies, Agilent. "How Network Conditions Impact IPTV QoE“. [Online]
2007. www.cp.literature.agilent.com/litweb/pdf/5989-6143EN.pdf.
13. TR-126, DSL Forum Technical Report. Triple-play Services Quality of Experience
(QoE) Requirements. Dec. 2006.
14. 3550, RFC. “A Transport Protocol for Real-Time Applications”. July 2003.
15. Advanced Scheme to Reduce IPTV Channel Zapping Time. Lee, Jieun, et al.
16. Reducing IPTV Channel Switching Time using H.264 Scalable Video Coding. Lee,
Yonghee, et al.
18. Channel Selection Problem in Live IPTV Systems. M. Cha, K Gummadi, and P.
Rodriguez.,. 2008.
78
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
19. A Measurement Study of a Large-Scale P2P IPTV System. Hei, et al.,. IEEE
Transactions on Multimedia.
21. Ardissono, Liliana, Gena, Cristina and Torasso, Pietro. User Modeling and
Recommendation Techniques for Personalized Electronic Program Guides.
Personalized Digital Television – Targeting Programs to Individual Viewers,
volume 6 of Human-Computer Interaction Series, chapter 1. s.l. : Kluwer Academic
Publishers, pp. 3--26.
23. MythTV-HowTo.
79
Final Year Project: Mid Defense Report Channel Zapping Latency Reduction in
IPTV Systems
80