Upload
khangminh22
View
0
Download
0
Embed Size (px)
Citation preview
HELSINKI UNIVERSITY OF TECHNOLOGY Department of Computer Science and Engineering
Development of Standard Based
Personalization Schemes for Mobile
Television
Master's Thesis
Nan Ning Supervisor: Professor Petri Vuorimaa Instructor: Research Professor Caj Södergård Espoo, Finland, 2003
ii
HELSINKI UNIVERSITY OF TECHNOLOGY ABSTRACT OF THE MASTER'S THESIS
Author: Nan Ning
Thesis Title: Development of Standard Based Personalization Schemes for Mobile
Television
Date: 8 September 2003 Number of pages: 76
Department: Department of Computer Science and Engineering
Professorship: Interactive Multimedia
Supervisor: Petri Vuorimaa, Professor, Helsinki University of Technology
Instructor: Caj Södergård, Research Professor, VTT Information Technology
In the Fourth Generation Wireless Data Transmission Networks (4G), digital television broadcasting networks, wireless local area networks (WLAN), and dedicated networks like cellular networks (GSM, GPRS, and UMTS) interconnect seamlessly. Because of this association the user can use the wireless services whenever he wants and wherever he is. In the MobTV research and development project, VTT Information Technology and its partners developed a prototype of mobile digital television. MobTV is a wireless system that offers the mobile user digital TV content with additional services. The TV-Anytime Forum is an international association of organizations, which seeks to develop open specifications to enable audiovisual and other services based on mass-market high-volume digital local storage in consumer platforms. The TV-Anytime Metadata specifications are based on an XML/XML Schema framework, identical to that of MPEG-7. TV-Anytime adopted the User Preferences Description Schemes and the Usage History Description Schemes from the MPEG-7 Multimedia Description Schemes specification. Both User Preferences Description Schemes and the Usage History Description Schemes can be used for personalizing the MobTV service. This thesis will present how to personalize MobTV prototype according to these specifications. The MobTV users’ usage history description is generated on the basis of a history of the user's interactions with the multimedia content over an observation period. The users are supported to set their preference configuration. Then the personalization system will show their favourite programmes according to their preference.
Keywords: Personalization, TV-Anytime, MPEG-7, XML Schemes, Digital Television, MobTV
iii
TABLE OF CONTENTS
DEVELOPMENT OF STANDARD BASED PERSONALIZATION SCHEMES FOR MOBILE TELEVISION .............................................................................................................I CHAPTER 1 INTRODUCTION............................................................................................... 1 CHAPTER 2 TV-ANYTIME AND MPEG-7.......................................................................... 5
2.1 TV-Anytime .................................................................................................................... 5 2.1.1 Introduction........................................................................................................................... 5 2.1.2 Metadata................................................................................................................................ 6 2.1.3 Consumer Metadata .............................................................................................................. 7 (1) Usage History Description Scheme (DS) ................................................................................ 7 (2) User Preferences DS................................................................................................................. 9
2.2 MPEG-7....................................................................................................................... 12 2.2.1 Introduction......................................................................................................................... 12 2.2.2 User Interaction................................................................................................................... 14
2.3 TV-Anytime and MPEG-7 ........................................................................................... 17 CHAPTER 3 INTERACTIVE BROADCASTING SERVICES ........................................ 19
3.1 Digital Television ........................................................................................................ 19 3.2 Some Examples of Digital Broadcasting Services...................................................... 21
3.2.1 TiVo .................................................................................................................................... 21 3.2.2 Gotuit TV ............................................................................................................................ 22
3.3 Projects Implementing TV-Anytime Standards .......................................................... 23 3.3.1 myTV .................................................................................................................................. 23 3.3.2 UP-TV................................................................................................................................. 24 3.3.3 MobTV................................................................................................................................ 25
CHAPTER 4 PERSONALIZING MOBILE TELEVISION IN FOURTH GENERATION NETWORKS ................................................................................................ 26
4.1 Overall System Description ........................................................................................ 26 4.2 Personalizing System Architecture and User Interfaces............................................ 28 4.3 TV-Anytime User Interaction Description Schemes Adoption................................... 33
CHAPTER 5 TV-ANYTIME STANDARDS IMPLEMENTATION ................................ 35 5.1 Use Case...................................................................................................................... 35
5.1.1 Administrator Generates Usage History............................................................................. 35 5.1.2 User Performs an Action..................................................................................................... 36 5.1.4 User Modifies Preferences Settings.................................................................................... 37 5.1.5 User Views Preferred TV Guide......................................................................................... 38 5.1.6 User Requires Normal TV Guide ....................................................................................... 38
5.2 Server-Side Applications............................................................................................. 39 5.3 Log ............................................................................................................................... 40
5.3.1 Action Type......................................................................................................................... 40 5.3.2 Table Description................................................................................................................ 41
5.4 Usage History.............................................................................................................. 42 5.4.1 Usage History Functions in MobTV .................................................................................. 43 5.4.2 Implementation ................................................................................................................... 46
iv
5.5 User Preferences ......................................................................................................... 56 5.5.1 Overview............................................................................................................................. 56 5.5.2 Process................................................................................................................................. 57
5.6 Personalization Instructions ....................................................................................... 66 5.6.1 How to Get User Usage History? ....................................................................................... 66 5.6.2 How to Set User Preferences? ............................................................................................ 68
CHAPTER 6 CONCLUSION.................................................................................................. 71 REFERENCES:......................................................................................................................... 73
v
LIST OF FIGURES
Number Page Figure 1. ‘Usage History’ description scheme. 8 Figure 2. ‘User preferences’ description schemes. 11 Figure 3. UsageHistory Description Scheme syntax. 15 Figure 4. Personalization system overall description [32]. 27 Figure 5. Cropping values and different TV-picture sizes [16]. 30 Figure 6. ‘Choosing terminal type’ page. 31 Figure 7. Layout for big screen devices. 32 Figure 8. Layout for small screen devices. 32 Figure 9. Administrator generates Usage History. 35 Figure 10. User performs an action. 36 Figure 11. User modifies preferences settings. 37 Figure 12. User views Preferred TV guide. 38 Figure 13. User requires complete program list. 38 Figure 14. Usage History Description Scheme. 43 Figure 15. UsageHistory UML. 47 Figure 16. UserIdentifier UML. 48 Figure 17. UserActionHistory UML. 49 Figure 18. ObservationPeriod UML. 50 Figure 19. UserActionList UML. 51 Figure 20. ActionType UML. 52 Figure 21. Database Access Object UML. 53 Figure 22. UserAction UML. 54 Figure 23. ProgramIdentifier UML. 55 Figure 24. ActionTime UML. 55 Figure 25. User Preferences structure. 56 Figure 26. Class Asx UML. 58 Figure 27. Class PreferenceData UML. 60 Figure 28. PreferenceEpgData UML. 61 Figure 29. ParameterFactory UML. 62 Figure 30. MobTV service structure. 63 Figure 31. Class UriParameterFactory UML. 65 Figure 32. Usage History interface. 66 Figure 33. An example of some user's Usage History. 67 Figure 34. “Muut palvelut” interface. 68 Figure 35. User Preference setting interface. 69 Figure 36. An Example of Favourite TV Guide 70
vi
LIST OF TABLES
Number Page Table 1. Semantics of the UsageHistoryType. 17 Table 2. Parameter of three video qualities. 29 Table 3. Class Asx function explanation. 58 Table 4. Database PreferenceData Table. 59 Table 5. PreferenceEpgData class Parameter list. 62 Table 6. ParameterFactory function explanation. 63 Table 7. MobTV Service Provider function explanation. 65
vii
ACKNOWLEDGMENTS
This thesis was done at VTT (Technical Research Centre of Finland)
Information Technology. It was part of project Mobile Television in Fourth
Generation Networks. The supervisor of this thesis is Professor Petri
Vuorimaa from Helsinki University of Technology, Department of Computer
Science and Engineering, Telecommunications Software and Multimedia
Laboratory. The instructor is Research Professor Caj Södergård from VTT
Information Technology.
I would like to thank Professor Petri Vuorimaa for his comments and
correcting, which produced the success of this thesis. I would like to Research
Professor Caj Södergård for his direction of my work and for his suggestion
about my thesis’ content and structure. I also want to thank to my colleagues in
VTT for their help and corporation while I was working at VTT.
Finally I would like to thank my parents, my husband, and my beloved son for
their love and support.
Espoo, Finland, 8 September 2003
Nan Ning
viii
ABBREVIATIONS
AV Audio/Video CRID Content Reference IDentifier D Descriptor DDL Description Definition Language DS Description Scheme DVB Digital Video Broadcasting DVR Digital Video Recorder EPG Electronic Program Guide ERT Hellenic Broadcasting Corporation GPRS General Packet Radio Services HTTP Hypertext Transfer Protocol HSCSD High-Speed Circuit-Switched Data MDS Multimedia Description Schemes MHP Multimedia Home Platform MMDBSs Multimedia Database Systems MMS Multimedia Messaging Service MobTV Mobile Television in Fourth Generation Networks MPEG Moving Picture Experts Group MPEG-7 Multimedia Content Description Interface NOB Dutch Broadcasting Services Corporation PDA Personal Digital Assistants PVR Private Video Recorder RAI Royal Anthropological Institute SMS Short Messaging Service SQL/MM Structured Query Language Multimedia and Application Packages STB Set-Top-Box Tekes National Technology Agency of Finland URI Uniform Resource Identifier VOD Video-On-Demand VTT Technical Research Centre of Finland
1
Chapter 1 Introduction
Digital television is going to replace traditional analogue broadcasting
completely pretty soon for a couple of obvious reasons: first, more attractive and
interactive services are offered by digital broadcast providers; second, the
customers can get better image and sound quality; third, there are more channels
are available to digital television customers; fourth, digital broadcasting
customers are able to require whatever they like whenever they want. The
interactive services are convenient for the clients. In the near future, people will
have another interesting option: mobile television. At this moment mobile
devices are used for many purposes, such as mobile phone calls, Short
Messaging Service (SMS), Multimedia Messaging Service (MMS), wireless
Internet surfing, and data transfer. Mobile television is a very challenging and
exciting usage that hasn’t been served yet. In Mobile Television in Fourth
Generation Networks (MobTV) project, the digital terrestrial broadcast
television programs are caught from the air and saved into database. Users
require TV programs via Wireless Local Area Networks (WLAN) by mobile
terminals. The data is delivered to the users from the database through the
Internet and WLAN. The mobile television system constructed in this work
combines several wireless networks in a 4G fashion.
The objective of this thesis is to study the TV-Anytime standards and implement
them into project MobTV. There is much advanced technology used in this
project and personalization is one of the features. In order to serve users in a
more friendly way, we adopt TV-Anytime for personalization. The benefit of the
functions, described in this thesis, is to improve the usability of mobile devices
2
through personalization: personalized multimedia content filtering and selection.
Also, we enable trusted parties a way to collect users' history of multimedia
content usage. The users set up the multimedia content filters so that they can get
their own favourite instead of the original complete TV guide. The setting is
stored in the database and can be changed later by the users. Hence, the users can
easily get what they most want. Usage history of a user consuming multimedia
content is a standard Extensible Markup Language (XML) [7] file, and thus it
can be read and analysed by any application built on TV-Anytime standard.
Analysing the usage history the content providers and user agents will know the
users' using habits, provide more desired services, and decrease those seldom
used ones.
The TV-Anytime standard personalization part in project MobTV has not been
fully implemented yet, due to the following three reasons. First, TV-Anytime is a
Video-on-Demand (VOD) system; its personalization part contains this
characteristic as well. As project MobTV didn’t mainly focus on VOD aspect,
what we could do was only to offer as many functions as possible. Second, there
is language problem. Since all TV programmes are broadcast by Finnish TV
stations, the available information about the multimedia content is in Finnish.
However, the author of this thesis is a non-Finnish spoken person, who is
impossible to understand the program-related information, hence is not able to
complete the whole specification. Third, there is time limitation. Implementation
TV-Anytime specifications, even part of them, is a huge task, far beyond the
range of a six-month one-person work.
This thesis was done at Technical Research Centre of Finland (VTT). It is part of
the project MobTV [23]. The acronym MobTV is used for the project in this
thesis.
3
The first chapter is introduction. It represents the objectives, limitations, and so
forth of this thesis. Also the structure of this thesis is presented.
The second chapter introduces the situation of digital broadcasting. One
significant advantage of digital broadcasting is user interaction. Personalized
applications serve consumers much better than ever before. The digital broadcast
customers can enjoy their interesting programs whenever they want. They may
also get their favourite TV program guide automatically based on their
preferences. The content provider can offer more suitable contents and services
to individual consumers according to consumers’ requests or by analysing their
watching habits. And they may create better business models than the plain
advertisements to persuade customers to pay for their services. There are a lot
research has been done to fine a way to bring the TV-Anytime specifications to
the product market. Project MobTV is presented as well. It is a research at VTT
for digital video broadcasting for the fourth generation telecommunication.
Chapter 3 presents the TV-Anytime forum and its core concept: metadata.
Metadata is used for content description, the instance of content, the usage
history and user preferences, and segments management. This thesis focuses on
the personalization of MobTV project; thus the Consumer Metadata is mainly
discussed and used. The second section, in chapter 3, presents the Moving
Picture Experts Group (MPEG) standard MPEG-7 [26]. MPEG-7 is named as
Multimedia Content Description Interface. It is a very solid and effective
standard for describing the multimedia content data that supports some degree of
interpretation of the information’s meaning, which can be passed onto, or
accessed by, a device or a computer code. Many requirements of TV-Anytime
4
are fulfilled very well by MPEG-7. Thus, how to harmonize these two standards
becomes essential. In section 3.3 the harmonizing issues are discussed.
Chapter 4 introduces the main ideas of personalizing project MobTV. The
implementation was based on the TV-Anytime Metadata specification, User
interaction part. Usage History Description Schemes and User Preferences
Description Schemes are the exact schemes. Except TV-Anytime specifications,
there were other aspects used in this project for personalization. For instance,
clients using different mobile network connections will have different video clip
quality and different user interface layout.
Chapter 5 presents how to implement the personalization. Offering the user
names, start time point, and observation period generates the Usage History. The
user can set his or her preferences from the user interface of MobTV project to
get their favourite TV programs guide.
Chapter 6 is the conclusion.
5
Chapter 2 TV-Anytime and MPEG-7
2.1 TV-Anytime 2.1.1 Introduction
The existing free-to-air analogue television is being replaced by a new television
technology: digital television. By using digital broadcasting the providers offer
the users value-added interactive services. End users can personalize and control
the interesting materials. Anticipating this evolution, some researchers formed
the TV-Anytime Forum at an inaugural meeting held in Newport Beach,
California, USA, on September 27-29, 1999 [30]. This forum is an association
of about 146 member organizations. It seeks to develop specifications to enable
audio-visual and other services based on mass-market high volume digital
storage on variable consumer platforms [31].
The Forum has published Metadata specifications to accompany its Content
Referencing and System Description specifications, together with XML
Schemas and data dictionaries.
The TV Anytime system will allow consumers to watch programs, in the time
and in the way they want. A fundamental concept in TV-Anytime is unified
content referencing: there is a need for an invariant program identifier that can
be used to identify a program independently of its actual location. This identifier
can then be resolved to an actual broadcast, for example.
6
2.1.2 Metadata
The term ‘metadata’ plays an important role in TV-Anytime specifications [30],
in addition to its other important usage in other systems [12]. It means
descriptive data about content. It is natural that we look metadata as ‘attractors’,
because they can attract a consumer to content [31]. In addition to attractors, we
should know that metadata could also include the information about usage
history and user preferences. By analysing user preference information software
agents can select content on the consumer’s behalf. The content provider can
offer personalized services, advertisements, and so on to a consumer.
Metadata Definitions
There are four types of metadata in TV-Anytime: Content Description Metadata,
Instance Description Metadata, Consumer Metadata, and Segmentation Metadata.
• Content Description Metadata
It describes content independently of any particular instantiation of that
content [31]. Content Reference IDentifier (CRID) links this metadata to
content.
• Instance Description Metadata
When instances of content that share the same CRID, instance description
metadata becomes useful. It is linked to a particular event-related instance of
content.
• Consumer Metadata
It describes the usage history and user preferences information. This thesis
mainly uses this metadata scheme to fulfil the tasks.
• Segmentation Metadata
7
Segmentation refers to the ability to define access and manipulate temporal
intervals within an Audio/Video (AV) stream [31].
2.1.3 Consumer Metadata (1) Usage History Description Scheme (DS)
This section presents a description scheme for describing usage history
information gathered over extended periods of time. The collected usage history
provides a list of the actions carried out by the user for an observation period,
which can subsequently be used by automatic analysis methods to generate user
preferences.
A standardized format for the exchange of usage history information is important
for ensuring interoperability between various devices and platforms. Collection
and representation of usage history information in a standardized format is
relevant to various application areas and usage scenarios identified by the TV-
Anytime Forum [14] [31], which include the following:
• Tracking and monitoring the content viewed by individual members of a
household.
• Building a personalized TV guide by tracking users' viewing habits.
• Selling viewing history to advertisers.
• Tracking and monitoring content usage for more efficient content
development.
• Selling of usage data by service provider.
• Compensating the user for making his/her usage history data available to
content providers.
8
User Identifier
Usage History
User Action History
Observation Period
User Action List
Action Type
User Action
Action Time
Media Time General Time
Program Identifier (CRID)
Action Data Item
Figure 1. ‘Usage History’ description scheme.
Figure depicts the entity-relation diagram for the UsageHistory description
scheme.
A description instance contains a UserIdentifier element, which specifies the user
or the group of users whose content consumption information is provided. The
usage history is specified by the UserActionHistory Description Scheme, which
contains multiple lists of the actions performed by the user over an observation
period. Note that multiple, non-overlapping observation periods can be specified
for an action list. Each action list is action-type specific, i.e. a single list contains
actions of a certain type (such as ‘play’ or ‘record’) only. The specific types of
actions that are tracked (i.e. the values allowed for the ActionType element) are
9
defined as members of a dictionary/thesaurus, which enables new types of actions
to be supported in the future (by augmenting the dictionary). Associated with every
user action are the time of the action, the CRID of the program for which the action
took place, and optional referencing elements, which allow related links or
resources about the action to be provided. It is assumed that descriptions for the
programs cited in the action history are readily accessible through the provided
content reference IDs.
In order to ensure full compliance with the CRID definition as stated by the
TVA Content Referencing Specification, the ProgramIdentifier element of the
UserAction description scheme is constrained as follows:
• If the type attribute of ProgramIdentifier element is instantiated in
descriptions compliant to the TVA Metadata Specification, it shall be set to the
value ‘CRID’
• The ProgramIdentifier element instances in descriptions compliant to the
TVA Metadata Specification shall specify a CRID that complies with the syntax
defined in the TVA Content Referencing Specification.
(2) User Preferences DS
This section contains description schemes that facilitate description of users'
preferences pertaining to consumption of multimedia material. User preference
descriptions can be correlated with media descriptions to search, filter, select,
and consume desired content. Correspondence between user preference and
media descriptions facilitates accurate and efficient personalization of content
access and content consumption.
In particular, usage scenarios enabled by these schemes include the following:
10
• Identification of multiple users
• Filtering according to a rich combination of user preferences on genre,
time, date, channel, etc.
• Accurate and effective agent operation by featuring a well-defined
mapping between user preferences and media descriptions
• Prioritisation of sources of information in combination with other
preferences such as genres, titles, etc.
• Specification of preferences (e.g., for a favourite actor) for a particular
time duration
• Specification of preferred keywords in connection with other preferences,
such as genre (e.g., news).
• Specification of preferred critics and critics’ ratings
• Description of consumer’s desire to keep the entire, or selected parts of
preference data private
• Specification of preferences for genre and source preference combinations.
• Descriptions of preferences for particular kinds of highlights (e.g.,
highlights of certain duration or highlights composed of segments containing
certain events).
• Exchange of personal profiles under consumer control
• Specification of profiles for different countries.
An entity-relation diagram of the entities of the UserPreferences description
scheme is shown in Figure 2.
11
Preference Condition
User Preferences
FilteringAndSearch
Preferences
User Identifier
Browsing Preferences
Preference Condition
Summary Preferences
Classification Preferences
Source Preferences
Creation Preferences
Figure 2. ‘User preferences’ description schemes.
The UserPreferences DS is associated with a particular user (or group of users)
by means of the UserIdentifier DS. The main entity in the diagram, the
UsagePreferences DS, contains two main components, the BrowsingPreferences
DS and the FilteringAndSearchPreferences DS. The BrowsingPreferences DS
can be used to specify preferences on the way the content is consumed, and
contains SummaryPreferences. The FilteringAndSearchPreferences DS can be
used to specify preferences on the type of content to be searched, filtered,
selected, and consumed. This DS contains the ClassificationPreferences DS,
CreationPreferences DS, and SourcePreferences DS.
The UserPreferences DS enables users to specify preferences that apply only in a
particular context, in terms of time and place, using the PreferenceCondition DS.
The UserPreferences DS allows users to specify the relative importance of their
preferences with respect to each other. The DS enables users to indicate, whether
their preferences or parts of their preferences should be kept private or not. The
12
DS also enables users to indicate, whether an agent, e.g., should permit the
automatic update of their usage preferences description, permitted or not. The
ClassificationPreferences DS is used to specify user preferences related to
classification of the content, e.g., preferred genre, preferred country of origin, or
preferred language. The CreationPreferences DS is used to specify user’s
preferences related to the creation description of AV content, such as preference
on a particular title, or a favourite actor, or period of time within which the
content was created. The SourcePreferences DS is used to specify preferences
for the source of the media, such as its medium, or its distributor or publisher.
2.2 MPEG-7 2.2.1 Introduction
MPEG, the Moving Picture Experts Group, was established in 1988. It has
developed digital audio-visual compression standards that have changed the way
audiovisual content is produced by manifold industries, delivered through all
sorts of distribution channels, and consumed by a variety of devices.
MPEG-1 and MPEG-2 multiplied television programs by orders of magnitude so
that compact discs could be used to store movies. Then MPEG-4 extended the
possibility to deliver audio and video to new environments such as the Internet
and mobile channel [21]. More and more digital multimedia contents are
available on the Internet; a better solution for multimedia-centric search or
filtering is required [35]. MPEG-7 emerged.
13
Today, the availability of digital multimedia content has explosive growth. The
content comes from a variety of sources, such as cameras, scanners, digital
cameras, recorders, digital recorders, CDs, DVDs, broadcast, and the Internet.
How to find what is needed has become more difficult. An effective description
method is required to facilitate multimedia content search or filtering. Thus,
MPEG-7 got on the stage. MPEG-7 [36], Multimedia Content Description
Interface, is a solid and effective standard for describing the multimedia content
data that supports some degree of interpretation of the information’s meaning,
which can be passed onto, or accessed by, a device or a computer code [25].
Differing from MPEG-1, MPEG-2, and MPEG-4, which address video coding,
MPEG-7 specifies Standardized Descriptors and Description Schemes for audio
and video as well as integrated multimedia content [1]. Furthermore, MPEG-7
specifies a systems layer that allows synchronization and access of MPEG-7
description metadata with or without the corresponding multimedia data.
MPEG-7 is composed of five main parts, e.g., the audio part, the video part, the
multimedia description schemes part, the description definition language part,
and the systems part. The Audio and Video parts provide standardized ‘audio
only’ and ‘visual only’ descriptors. The Multimedia Description Schemes (MDS)
part provides standardized description schemes involving both audio and visual
descriptors. The Description Definition Language (DDL) provides a
standardized language to express description schemes. Systems part provides the
necessary glue that enables the use of the standard in practical environments.
The Reference Software contains the huge contributions made by the community
to develop the MPEG-7 ‘Open Source’ code [21].
The MPEG-7 standard specifies a rich set of description structures for audio-visual
content, which can be instantiated by any application to describe various features
14
and information related to the AV content. A Descriptor (D) defines the syntax and
the semantics of an elementary feature. This can be either a low-level feature that
represents a characteristic such as colour or texture, or a high-level feature such as
the title or the author of a video. A DS uses Descriptors as building blocks in order
to define the syntax and semantics of a more complex description. The syntax of Ds
and DSs is defined by the DDL. The DDL is an extension of the XML Schema
language and can also be used by developers for creating new Ds and DSs
according to the specific needs of an application.
The MPEG-7 standards standardize multimedia content features so that it is easy to
search the desired contents from different database systems, from different content
providers, and by different operating systems. MPEG-7 has been adopted by many
kinds of applications. It provides interoperability to a Multimedia Database
Systems (MMDBSs) in its distributed environment [18], though it is not a
competing technology to data modelling in MMDBSs and to SQL/MM (Structured
Query Language Multimedia and Application Packages). Research has been done
to integrate broadcast data and Internet data [33].
2.2.2 User Interaction
MPEG-7 provides an effective way to describe the hard-to-understand content
features. This increases the interoperability of multimedia contents over different
platforms and makes content searching much easier than ever before. But that is
not all. People deserve more convenient services. How to optimise the usability
of multimedia services? The answer lies in personalization: to personalize
multimedia services offered to the consumer; to personalize multimedia contents
discovery, filtering, and selection; and to personalize consumption of multimedia
content [21].
By using MPEG-7 tools, we can get a description scheme representing users’
preferences and a description scheme representing users’ history of content
usage [14]. By analysing usage history, we get users’ preferences. Descriptions
of users' preferences enable automatic discovery selection and recommendation
or recording of multimedia content.
Here is an example of UsageHistory DS syntax [31]:
Figure 3. UsageHistory Description Scheme syntax.
<!-- ######################################## -->
<! -- Definition of UsageHistory DS -->
<!-- ######################################## -->
<! -- Definition of UsageHistory DS -->
<complexType name="UsageHistoryType">
<complexContent>
<extension base="mpeg7:DSType">
<sequence>
<element name="UserIdentifier" type="mpeg7:UserIdentifierType"
minOccurs="0"/>
<element name="UserActionHistory" type="mpeg7:UserActionHistoryType"
minOccurs="1" maxOccurs="unbounded"/>
</sequence>
<attribute name="allowCollection" type="mpeg7:userChoiceType" use="optional"
default="false"/>
</extension>
</complexContent>
</complexType>
15
16
This example is very simple. First it defines a ‘UsageHistoryType’ element as
a complex type. It specifies user’s multimedia content consumption history. It
has one attribute named as ‘allowCollection’. This attribute indicates whether
the user allows his or her user history to be collected or not. Its setting is
optional; the default value is false, which means the user doesn’t allow his or
her usage history to be collected by anyone. The type of this attribute is
‘userChoiceType’ from MPEG-7 specifications. This element contains another
complex content element, which is an extension type based on MPEG-7
‘DSType’ element. It may be a sequence, in which there are two elements:
‘UserIdentifier’ and ‘UserActionHistory’. The type of ‘UserIdentifier’ is
‘UserIdentifierType’ defined in MPEG-7 specifications. This element may
occur zero or more times. Element ‘UserActionHistory’ is type of
‘UserActionHistoryType’ defined by MPEG-7. This element must occur at
least one time. The maximum occurrence time is unbounded.
UsageHistory DS semantics:
Semantics of the UsageHistoryType:
Name Definition
UsageHistoryType Specifies user's multimedia content consumption history.
UserIdentifier
Identifies the individual for whom the usage history is
provided. This element is of type
UserIdentifierType and contains the
protected attribute. Thus the identity of the user shall
not be disclosed unless this attribute is set to false.
UserActionHistory Describes a history of the actions the user has carried out
during certain observation periods.
17
allowCollection
Indicates whether the user permits usage history of his/her
actions to be collected. The values allowed are defined as
follows.
. true - Indicates that usage history data may be collected.
. false - Indicates that usage history data shall not be
collected.
. user - Indicates that the user should be asked for
permission on a case-by-case basis.
By default, the value of allowCollection is false.
Table 1. Semantics of the UsageHistoryType.
2.3 TV-Anytime and MPEG-7
TV-Anytime and MPEG-7 were respectively discussed in this thesis. There are
several companies and individuals active in both TV-Anytime and MPEG-7
standard groups. Their work leads to commonalities between these two standards
[34].
The role of metadata within TV-Anytime is crucial: it will enable selection of
content, enable content referencing, user profiling and preferences, and even
support the management of right. Meanwhile, ‘metadata’ is the core business of
MPEG-7. TV-Anytime is able to make use of a library of audio-visual
description schemes MPEG-7 provides so that it doesn’t have to reinvent them.
By using MPEG-7 descriptions, TV-Anytime may investigate the usability and
make required tools, which are missing in MPEG-7. Thus, MPEG-7 may
complete the standard.
18
Content referencing is important as well in TV-Anytime. It is well fulfilled by
MPEG-7. As MPEG-7 considers data (i.e. audio-visual material) and metadata
(i.e. information about the AV material) as separate entities, the source of data is
not important any longer. The Receiver can link and synchronize the data with
the metadata that it may receive from a different provider/network [21].
Rights management is as serious in TV-Anytime as it is in other applications.
MPEG-7 contains a description scheme to cover this management. TV-Anytime
requires higher level security than MPEG-7 provides. Here, TV-Anytime will
improve MPEG-7 standard.
19
Chapter 3 Interactive Broadcasting Services
3.1 Digital Television
Analogue broadcasting will be replaced by digital broadcasting [8], which has
existed for years, in European countries. In the traditional broadcast mode,
typified by cable television, clients are not allowed to control the programs they
view, neither are they allowed to schedule the viewing time of programs to meet
their preferences. The only thing they can do is either watch the current TV
program quietly in seats, or switching to other TV channels to see if there are
more interesting ones available in case they do not like that program. A situation
most customers do not like is that they do not have time or are not able to reach
a TV set when his or her favourite TV program being broadcasted. Of course he
or she can record the broadcasted program with a Private Video Recorder (PVR)
and watch it later. Yet there are still problems. The customer must know exactly
when his or her favourite program will be on air and from which TV channel; he
or she should input all information into the PVR correctly; the recorder cassette
must have enough capacity for recording, and so forth. Any wrong step would
cause the mission fail. A better solution is necessary.
Digital television technology develops very fast and is accepted by more and
more customers [28]. By means of digital cable, satellite, or terrestrial the
consumer can watch the digital television. In 2002, one in every five households
20
in Europe watched digital television. It is expected that the proportion will have
increased to over 50% by 2006 [19].
As in the way a computer works, the TV program's information is coded into a
digital stream of ones and noughts. The digital stream takes up much less
capacity in the airwaves than the analogue stream that we have used for many
years. Thus, the space, which is used for just one analogue channel, can carry
five, six, or seven different digital programs. The digital television consumers
can get much greater choice of services to watch. In addition to watching more
TV programs, digital television brings customers more choice, both in free-to-air
and subscription services, higher quality sound, pictures in wide screen, and
exciting new digital text services [6].
First, digital television offers you higher quality sound and pictures in wide
screen. By using your remote control, you can access all kinds of information:
the new digital text is much clearer than the old teletext system, and 'enhanced
TV' gives you the added enjoyment of related information running alongside the
program you are watching. Some digital systems allow you to choose your
camera view of big events, or to increase your choice of information, whether it
is news or sport or other content. Some digital services also provide access to
Internet pages through your TV set [5].
Second, digital television serves as the interactive television [4]. The consumer
can get access to more information, home shopping, home banking, and games.
The personalized program guides make it easy for consumer to find what he/she
most wants to watch. The program providers can offer better services to
individual consumer by analysing user's preferences. The control of viewing is in
the hands of program viewers instead of broadcasters.
21
Third and finally, digital television consumers can get the Internet services via
TV set, which then requires connection to a telephone line. The consumer can
access to the Internet in a way with which they feel at ease so opening up new
opportunities for education, access to information, shopping, and games [11].
3.2 Some Examples of Digital Broadcasting Services
3.2.1 TiVo
TiVo Inc. is a digital video recording services provider in the United States. Its
main physical product is TiVo Digital Video Recorder (DVR), which can record
up to 80 hours of customers' favourite shows without the clutter and poor quality
of videotape. Play, pause, rewind, slow-down, and instant replay live TV [29].
They also provide many other services to their customers.
TiVo not only provides the broadcast TV programs, but also serves their
customers other special entertainment shows and attractive advertisements.
Service SeasonPass assists customers to record every episode of their favourite
series, without asking the customers to set the timer. WishList searches all the
multimedia contents to get the customers' favourite information, e.g., the news
and matches of one customer's favourite sport team. SmartRecording service is
able to switch to the right TV channel at the right time to record according to the
list, which the customer has set. With TiVo Showcases, advertising partners can
present their products and services in a new, engaging way. TiVo viewers can
22
get exclusive video and many specialized benefits offered by TiVo partners;
entertainment companies can produce target-oriented products.
By the end of October 2002, there had been over 510,000 subscribers to the
TiVo service [29]. Many industry giants are TiVo Showcase partners, including
Universal Records, Universal Studios, the National Football League, Lexus,
PBS, Starz!, Showtime, and HBO.
From some point of view, TiVo is not ‘interactive’ service as we are discussing,
as the interactivity is built on its physical product - TiVo DVR. It is a local
storage service.
3.2.2 Gotuit TV
Gotuit Media Corp. is dedicated to enabling the intelligent navigation of time-
shifted TV and on-demand video content [10]. It offers a patented video
indexing service named Gotuit TV. Gotuit TV uses software that runs on top of
the DVR or PVR and works with Video-On-Demand systems. It provides
viewers with proprietary navigation software that displays an on-screen index of
a recorded show's segments. With a Set-Top-Box (STB)’s or PVR's existing
remote control, viewers can select the show segments, in which they are most
interested and immediately watch those parts of the recorded program.
Gotuit TV solution is a three-stage method. First, it generates the content
metadata from variety of sources and stores it to Gotuit's databases. Second,
Gotuit TV distributes content metadata to Gotuit servers, which are located in
content delivery centres. From there, the metadata is sent to individual STBs and
23
PVR devices. At last, a software client receives the content metadata and
displays it on the TV screen as an index of show segments. Thus, the consumers
can select whatever programs or segments they want using the STB's or PVR's
existing remote control.
3.3 Projects Implementing TV-Anytime Standards 3.3.1 myTV
The myTV project, led by Philips Research, is a 2-year EU-funded collaborative
project aimed to provide an interoperable TV-Anytime solution for Digital
Video Broadcasting (DVB). Its partners are Philips, Nokia, BBC, Royal
Anthropological Institute (RAI), Dutch Broadcasting Services Corporation
(NOB), University of Ljubljana, and NDS. This project implemented the first
prototype of a PVR system with a built-in local storage based on TV-Anytime
open standards [27].
The main aim of this project is to 'marry' TV-Anytime standards, local hard disk
storage, DVB transmissions, DVB Multimedia Home Platform (MHP) STBs,
and the Internet [22]. This project has developed two boxes that implement the
attractive features of TV-Anytime specifications defined and realised the
interoperability. The TV-Anytime services, both storage- and data-based
facilities, have been implemented by developing extended APIs for the DVB-
MHP. This project also demonstrated that a third party is allowed by the TV-
Anytime standards to provide useful and interesting user services without
requiring any access to the broadcast chain.
24
3.3.2 UP-TV
UP-TV is a 30-month research and development project carried by University
Paderborn, Axcent Media AG, Bertelsmann Media Systems GmbH, Grundig
AG, Hellenic Broadcasting Corporation (ERT), Infonova EDV, and
Informationstechnologie und Systementwicklung GmbH, Intracom S.A.
Hellenic Telecommunications and Electronics Industry NV TV Limburg,
Pixelpark AG, PPS Presse-Programm-Service GmbH, and Technical University
of Crete [37]. The object of project UP-TV, Ubiquitous Personalized Interactive
Multimedia TV Systems and Services, is an integrated research and
development project developing basic technologies for TV Anytime systems and
services. The research questions targeted in this project focus on the
identification of media content that has to be recorded, the placement of those
media assets onto single and networked media servers as well as the
organization of an efficient and comfortable access to these assets.
UP-TV researched the relevant technologies for TV-Anytime system, developed
and integrated a prototype of a scalable cost-efficient TV-Anytime server system.
This server system is implemented as a cost-efficient consumer type system as
well as a scalable server system allowing supporting a large number of clients.
The developed system allows building up hierarchies of TV Anytime servers
and takes up reference architectures of the TV Anytime Forum as well as
generic APIs, e.g., Java TV API and ATVEF standards. It implements a general
25
service framework and a number of additional service components that allow
implementing targeted advertising, E-commerce applications, and other services.
3.3.3 MobTV
MobTV, Mobile television in fourth generation networks, is a two-year research
project. Besides the main funds National Technology Agency of Finland (Tekes)
and VTT seven companies financed the project and were represented in the
project management group. They were Alma Media, Nokia, University of
Tampere, Elisa Communications, TeliaSonera, SanomaWSOY, Malibu Telecom,
and Digia.
This project uses 4G telecommunication networks, where mainly cellular mobile
networks are interworking seamlessly with WLAN. On air TV broadcast are
received by the base station, which transcodes it and stores into the database.
The content metadata collected from variety resource is stored to another
database as well. End users watch 'mobile' TV programs anywhere within a
range of a WLAN base station with Personal Digital Assistants (PDA).
The Personalization of the project is addition to this project. TV-Anytime
standards are adopted. According to the TV-Anytime metadata specifications,
user's Usage History can be generated as an XML file. The users are able to set
the preferences via the user interface to list their favourite instead of the normal
complete TV guide.
26
Chapter 4 Personalizing Mobile Television in Fourth Generation
Networks
Mobile Television in Fourth Generation Networks allows its customers to watch
TV programs wherever they are and whenever they want. Those broadcast TV
programs are mainly from certain Finnish TV channels, for instance, YLE1, YLE2,
and MTV3. More and more TV programs are going to be available to MobTV [31]
users. Due to the data transmission and client terminal limitation, it is natural to
serve customers their most favourite programs first, then the ordinary ones and
finally available services. Thus, it is important to use personalization in this project.
4.1 Overall System Description
Personalization system is part of the MobTV project [27]. It implements the TV-
Anytime Metadata specification. It is a server-side application. The figure below
shows a logical presentation of the personalization application architecture. The
Electronic Program Guide (EPG) data and movie reviews are stored into the
MobTV database. The users use Tablet-PCs and iPAQs to connect to the
database via Active WLAN base station [24]. All of the users' actions, which
form the Usage History at the end, are recorded into the server. Analysing the
Usage History gets usage Preferences.
27
Figure 4. Personalization system overall description [32].
When the user requires showing the program menu, the Usage Preferences are
checked first on the server side. A list of programs that might be the users' most
favourite ones are shown. The complete list of all available programs is also
shown to the user if the default preferred menu doesn't satisfy.
The content filter and search engine can be set in the local multimedia system
[21]. Also, the engine can be designed in the server. The latter is adopted in this
project. By this way the users are able to use difference devices to get the same
preference setting without having to configure again. And for the security reason
we chose this as well. All the functionality is fulfilled on the server side. Every
user's Usage Preferences are stored in the MobTV database.
28
4.2 Personalizing System Architecture and User Interfaces
When we consider the term ‘personalization’, the first idea comes out is to make a
choice as to which set of contents should be transmitted to a particular user [3]. As
mentioned in the title of this project, the future customers of this project will
receive services from different sorts of mobile terminals via different kinds of
wireless telecommunication networks, it is necessary to offer different levels of
services.
There were two types of terminal devices used in this project for testing purpose.
One was big device: Fujitsu tablet PCs [9]. Fujitsu PCs have Windows 2000
operating system installed and technically are pretty similar to normal laptop
PCs excluding the fixed keyboard. The other type was small device, or so-called
PDAs. Two kinds of PDAs were used, Compaq Ipaq [2] and HP Jornadas [13].
Both kinds of PDAs install Pocket PC operating system, with screen resolution
320 x 240 pixels.
MobTV users may get services via different wireless network connections, for
instance, via digital broadcast, General Packet Radio Services (GPRS), or
WLAN. In order to serve clients as well as we can [15], there are different video
qualities available to make our customers convenient.
According to the availability of multiple data transfer methods for delivering AV
contents; there are three perquisites for the video encoding and formats in the
MobTV. In the best situation, the terminal can receive broadcast quality DVB-T
MPEG-2 bit stream. In this case, the received MPEG-2 bit stream does not need
29
to be compressed any further. Two additional bit rates, ’mid’ and ‘mobile’
quality, are generated for those lower bandwidth connections.
In optimum set-up there should be four different video quality of each video clip:
1. Broadcast quality, the original MPEG-2 data format.
2. High quality (about 1Mb/s)
3. Mid quality (about 200Kb/s)
4. Mobile quality (about 30Kb/s)
Here, the high quality is also the original resolution, which is used when there is not
enough bandwidth for broadcast quality. After testing the parameters of all three
versions were got in order to realize the best affection.
MPEG-2 MidQuality WMV MobileQuality WMV
Effective bit rate 3-5 Mb/s 225Kb/s 29Kb/s
Video size
(Pixels, W x H)
720 x 576 320 x 240 160 x 120
Frame rate (fps) 25 13 4
Table 2. Parameter of three video qualities.
When a client connects Fujitsu with DVB tuner and GPRS phone to the WLAN
system, he or she is able to receive broadcast quality video clips. The processing
power of Fujitsu is big enough to handle the MPEG-2 bit stream delivered to it.
Windows Media Player 6.4 is installed and is capable of streaming MPEG-2
over Hypertext Transfer Protocol (HTTP). According to the properties of PDAs,
it is clear that MPEG-2 is not possible to format. Mid quality is a good choice. It
can be used in all devices. When the user is within a range of a WLAN base
station, mid quality is optimum resolution and frame rate for the PDA clients.
30
When only GPRS or High-Speed Circuit-Switched Data (HSCSD) connection is
available, the mobile users are able to access to the content with mobile quality.
When Windows Media files are generated from MPEG-2 clips, the conversion
makes new files that have reduced resolution and bandwidth demands. De-
interlacing problems can be avoided by cropping the original resolution of 720 x
576 to 640 x 480 before encoding to 320 x 240. Cropping values should be
selected so that safe zone area is not compromised, which means we crop: top
and bottom 48 pixels, left 32 pixels, and right 48 pixels.
720
576
48
48
480
32 48640
P4
P3
P2
P1
Figure 5. Cropping values and different TV-picture sizes [16].
P1 = MPEG-2 Original Size 720 x 576 pixels
P2 = MPEG-2 Cropped Size 640 X 480 pixels
P3 = MidQuality Windows Media Video (WMV) Size 320 x 240 pixels
P4 = MobileQuality WMV Size 160 x 120 pixels
31
The requirements of user interfaces designing were to make the applications as
common as possible between these two types of terminals [17]. There are two
outlook designs available in order to fit for different device screen size. In the
figure below, the upper picture indicates a version for PDAs; the lower one
indicates that is a version for big screen terminals.
Figure 6. ‘Choosing terminal type’ page.
For bigger screen devices, such as Fujitsus, the layout is shown in Figure 7.
32
Figure 7. Layout for big screen devices.
For small screen device, such as Ipaqs and Jornadans, the layout is shown in
Figure 8.
Figure 8. Layout for small screen devices.
33
4.3 TV-Anytime User Interaction Description Schemes Adoption
After the emerging of TV-Anytime standards, much research had been done in TV-
Anytime system or networks [39] [40]. Project MobTV mainly focuses on the
digital television services via wireless telecommunication networks. TV-Anytime
was an additional feature. Thus there was no hardware system built up for TV-
Anytime functionality supporting. A little part of TV-Anytime standards was
implemented. The description schemes adopted by MobTV were Usage History DS
and User Preferences DS.
TV-Anytime Metadata specification offers us very suitable methods for
personalization. In project MobTV, Usage History Description Schemes were used
to describe the user's interactions with the multimedia content. The User
Preferences Description Schemes were used to enable automatic searching and
filtering and personalized browsing of multimedia content.
There are two parts in the personalization system, the Usage History and User
Preferences. The Usage History is generated as XML file. A user's actions
performed over a period are recorded in Action Lists, which consequently forms
Usage History [5]. By setting the preferences, the consumer will get a personalized
TV guide as she/he wishes. This is fulfilled in User Preferences part.
Let’s make a scenario to explain how personalization was offered to MobTV
customers. Maria has a PDA, which is Compaq Ipaq. When Maria requires
watching the TV guide, instead of receiving all the available programs, her most
preferred ones are shown. If her interested programmes inside the 'Preferences list'
34
are not available, she can require all hidden programs and choose what she wants.
The aim of this project is to develop selection and personalization methods suitable
for watching television.
What the customers get from the personalized services is obvious. They will be
compensated for sharing usage history information by advertisers and content
providers, financially or through value-added services [5] [11]. After buying the
usage history the service providers will offer more efficient services to consumers,
content providers will improve their contents by analysing the usage history, and
the advertisers can push more desirable advertisements to the right customers.
The user can filter, search, and select her/his desired contents by setting the
preferences. The settings are implemented inside the MobTV user interface. The
user can open the preferences settings page to set or to modify their setting and the
data is saved into the database at the server side. Users can keep their privacy. They
indicate whether external parties may access their preferences or their usage history
or not [11]. For those users, who do not allow other parties to collect their history
profiles, no corresponding personalized services will be provided. They can still
use User Preferences function to filter and to select TV programs, as this function is
separate from the Usage History function. The privacy protection doesn't affect the
user to get their favourite TV guide.
35
Chapter 5 TV-Anytime Standards Implementation
5.1 Use Case 5.1.1 Administrator Generates Usage History
Figure 9. Administrator generates Usage History. The administrator submits the start and end time of some observation period
and the user identifier to the system. This consumer's logs during that period
are retrieved from database. First the User Action is generated, which
describes the detailed information about the individual user actions. Then each
type of actions is structured into one User Action List. All User Action Lists
are combined together and they form the User Action History, which is the
main part of Usage History.
36
5.1.2 User Performs an Action
Figure 10. User performs an action. There are 15 types of actions. They are:
• Login
• Logout
• Modify user information
• Select automatically-generated chapter
• Modify user preference
• Check account
• Modify favourite
• Modify archive
• Select TV guide
• Select TV channel
• Search
• Select object (e.g., series, program, chapter, TV channel live broadcast or
review)
• Select program-related operation
• Stop playing a chapter
37
• Select game
The first nine types are not so tightly related to the content consuming. In this
project, they are left out. We are more interested in last six types of actions.
They are included in the Usage History.
The performance of the action is stored into log file in the database for future
usage.
5.1.4 User Modifies Preferences Settings
Figure 11. User modifies preferences settings. There is an interface for the user to modify his preference setting.
Options:
• Selects programmes within some period
• Selects programmes of some TV channels
• Selects programmes of some types (e.g., Ajankohtaiset, Asia ja kulttuuri,
Elokuvat, Kotimainen fiktio, Lapsille, Ulkomaiset sarjat, Urheilu, Uutiset,
or Viihde).
The results are saved into the database for further referencing.
38
5.1.5 User Views Preferred TV Guide
Figure 12. User views Preferred TV guide.
There is a link available for the user to view his/her preferred TV guide. When
server receives a request from an individual user to show the preferred TV
guide, it will check the database if this user's preference settings have already
been stored. If there are no matched records, the normal TV guide will be
shown. If the user has set it, the TV programs matched to the preferences are
retrieved from the database and are shown to the user.
5.1.6 User Requires Normal TV Guide
Figure 13. User requires complete program list.
39
All the available TV channels are shown first. The user selects one channel
and all available TV programs belonging to this channel are shown.
5.2 Server-Side Applications MPEG-7 defines its user interaction operations as client side applications [21].
Content filter and search engine, content browsing engine, and user profiling
engine are built inside the local multimedia system, (e.g., inside the user
terminals). The users' preferences are stored in a secure smart card or other type
of removable storage so that the information can be used in different devices [21].
Considering the situation of our project, we implemented a server-side
application to fulfil the TV-Anytime user interaction definition schemes. The
user terminals used in this project are PDA Compaq iPAQ pocket and portable
computer Fujitsu Siemens Lifebook B-2175/128 MB. The required digitised
TV-programs are received from the server and stored into the portable
computer's hard disc and into the memory of the PDA. Windows Media Player
was used to watch the programs. On the air TV-broadcast was not used. Hence,
it is not suitable to embed any application inside the portable computers or
PDAs.
Since we changed neither the software nor the hardware of the terminals, we
decided to implement Java Servlet pages to supply some fundamental
40
functions. The Usage History functions have nothing to do with the MobTV
project user interface; hence those web pages are saved into different URL
from the main website. At the same time, the interface doesn't follow the
design of the MobTV project. The User Preferences are part of this project;
these pages are resident inside the interface.
The user connects to the server using his or her terminal and sets his or her
preferences from the web pages. Then he or she can get his or her favourite
programme guide instead of the ordinary TV guide. Using Usage History web
page, the administrator or other trusted third parties could generate some user's
usage history during some desired observation period. Both functions are
implemented on the server side.
5.3 Log Project MobTV records every user's every action in log. It is necessary to
record the log. By analysing the customers' using habits, the multimedia
content provider will know what kinds of contents are welcome by which
customer groups; the advertisement providers will know what kinds of
advertises suit for which customer groups; and so forth.
5.3.1 Action Type
41
The log file records totally fourteen types of actions. The action types are:
login, logout, select channel, search, select object, select program-related
operation, stop playing a chapter, select game, select TV guide, modify user
information, select automatically-generated chapter, check account, modify
favourite, and modify archive.
In this project, every individual TV program is called program. Those special
programs, which share the same name, but are broadcast at different time
points, are called as series. For instance, news is series and Ally McBeal is
also series. All the on-air TV programs are caught and saved into the server as
a sequence of 5- minute clips. Each clip is a chapter. The users can watch not
only the stored clips, but also the programs on-air.
MobTV offers its users many interesting services; game is one of them. When
the user selects to play a game, this action will be saved into the database.
There is no further information about the games to be saved to the log, because
game in this project is not developed very well. Users can also select many
operations related to some program, such as voting, viewing reviews, or
getting more related information, and so forth.
Users may modify many settings from the “Muut palvelut” panel. The
modifications to user information, to users favourite, and user's archive are
recorded.
5.3.2 Table Description This project used Informix database. There are fourteen types of actions to be
stored into the database. Table log_event is used for this purpose. Table
42
log_event contains six columns, which are usr_id, time, type, content_id,
contenttype, and description.
Column usr_id saves the user's identifier. It is an integer. The detailed
information can be found from another table named usr. Column time shows
the time of the action. The time is TimeStamp type and the accuracy is
millisecond. The type of column type is integer, and it defines each action type
as an integer. The scale is from 0 to 13. Column content_id can be empty, as
it describes the object identifier, when the action types are select object, select
program-related operation; stop playing a chapter, and select automatically
generated chapter. The objects, which can be chosen by customers, are series,
program, chapter, TV channel live broadcast, or review. In case the
content_id in this table is defined, the column contenttype will express the
content type as an integer. The types are series, program, chapter, TV channel,
and review. The last column is description. It can save an amount of 255
characters. The description is IP address and user's terminal version if the
action type is login; search clause if the users used the search; operation names
if user selected program-related operation; game's name; date if the user
viewed some day's TV guide; and start time of the chapter if the user watched
one automatically-generated chapter.
5.4 Usage History
43
Figure 14. Usage History Description Scheme.
5.4.1 Usage History Functions in MobTV As we have mentioned already, that the goal of project MobTV was to study, to
develop, and to test in user trials of mobile television applications those use
multiple delivery networks [23]. Since it is not a real product to the mass market,
all the users at this stage are test users. We assumed that all the users' logs, e.g.,
action history, are allowed to be collected. Giving the application some user's
44
login name and the period of observation; this user's usage history will be
generated in XML format.
The File UsageHistory contains two Attributes, 'id' and 'allowCollection'. The
first one is the identifier of this UsageHistory. In this project, it is generated
according to the time of this function called. In other words, the format of it is
'usage-history-yyyy-mm-dd-hh-MM-ss'. According to the project plan there
won't be too many authorized users to use this application. Thus, the name is
accurate enough. In the future, in case the number of the users of this application
grows much, it is also easy to increase the accuracy and to modify the id format
as 'usage-history-yyyy-mmdd-hh-MM-ss-mcs'. The 'mcs' means the millisecond.
The 'allowCollection' indicates, whether the MobTV user allows his/her usage
history to be collected or not. The TV-Anytime specifications define that the
default value of this attribute is false, e.g., it is not allowed to gather the history
unless the user changes his/her this status to 'true'. Considering the different
condition of our project, we used the default value of 'allowCollection' as 'true',
because currently all the user are test users, their usage is just for testing and
analysing.
The XML file UsageHistory actually serves as a container of
UserActionHistory elements and a UserIdentifier element.
The element UserIdentifier has one attribute 'protected'. TV-Anytime
specifications define its default value as 'true'. That means the user's information
is protected from being viewed by default. With the same reason as explained
above, we set this attribute as 'false' automatically. Besides this attribute there is
one element in UserIdentifier, which is 'name'. The value of this attribute is the
login name of the user whose usage history will be collected.
45
UsageHistory may have more than one UserActionHistory element.
UserActionHistory description scheme contains multiple lists of actions
performed by the user over an observation period. Action items with the same
action type are assembled to form a structured list UserActionList element.
Each UserActionList scheme contains two sorts of elements: Element
ActionType, which expresses the type of the action, and Element UserAction,
which is the description of user action. Obviously there may be bunch of
UserAction elements in this list if the user had selected this function more than
once during the observation period. UserActionList scheme has one attribute
named as 'numOfInstances'. It means how many UserAction elements are in a
UserActionList.
Element UserAction describes the detailed information of each user action. It
contains two elements: 'ActionTime' and 'programIdentifier'. The 'ActionTime'
is the time of occurrence of the action. It is described by 'GeneralTime' scheme.
General time is the action time relative to Coordinated Universal Time (UTC) in
the Gregorian date/time format. The element 'programIdentifier' is the unique
identifier of the program that is associated with the given action. Each Action is
associated with a single program and, consequently, a single ProgramIdentifier.
It has two attributes: 'organization' and 'type'. Attribute 'organization' defines the
organization, to which the program belongs. Here, we use the same value of
'MobTV'. The attribute 'type' indicates the type of program. We extended the
concept 'category' of our project to this attribute. There are totally ten sorts of
categories, e.g., ‘Ajankohtaisohjelmat’, ‘Asia- ja kulttuuriohjelmat’, ‘Elokuvat’,
‘Kotimaiset fiktiot’, ‘Lastenohjelmat’, ‘Ulkomaiset sarjat’, ‘Urheiluohjelmat’,
‘Uutislähetykset’, ‘Viihdeohjelmat’. As to one UserAction element, the
ProgramIdentifier element is attached if that action was related to some program.
46
Also, the action time information associated with each user action is specified in
terms of GeneralTime.
The performance of each user's actions is stored into log file in the database for
further analysis. There are WebPages available for collecting the usage history
information. Fill the user's name; select the observation start time and period,
and you will get the UsageHistory XML file.
There are some small simplifications to the usage history description definition.
First, the user should be able to decide, whether his or her usage information is
allowed to be collected or not. The default setting is 'not_allowed' [31]. But, in
this project, all we have are test users. We need their usage history information
for further analysis. Thus, we set the value as 'allowed'. The UserActionHistory
description scheme contains multiple lists of actions performed by the user over
one or more, no-overlapping observation period [21] [31]. Due to the WebPages
layout, we just order one observation period input in this stage.
5.4.2 Implementation
1. UsageHistory
UsageHistory Description Scheme
This scheme is based on TV-Anytime Metadata Specification and modified for
suiting the requirements of project MobTV.
<! -- Definition of UsageHistory Description Scheme --> <complexType name="UsageHistoryType"> <complexContent> <extension base="mpeg7:DSType"> <sequence>
47
<element name="UserIdentifier" minOccurs="0"/> <element name="UserActionHistory" type="mpeg7:UserActionHistoryType" minOccurs="1" maxOccurs="unbounded"/> </sequence> <attribute name="allowCollection" use="true" default="true"/> </extension> </complexContent> </complexType>
Implementation
Figure 15. UsageHistory UML.
There are four private attributes in this class. Methods set and gets set or get the
attributes. Method generateId() will return a unique UsageHistory ID as a
String. Method parse() parses an XML file to a UsageHistory object. Method
toXml() converts a UsageHistory object to XML file as a string. Method
getDocument() reads a XML file as a String and returns the Document object.
2. User Identifier
UserIdentifier Description Scheme
48
<complexType name=" UserIdentifierType"> <complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="Name" minOccurs="1"/> </sequence> <attribute name="protected" default="false"/> </extension> </complexContent> </complexType> Implementation
Figure 16. UserIdentifier UML.
There are two private attributes in this class, ‘_protected’ and ‘name’, represent
Attribute ‘protected’ and Element ‘Name’, respectively. The functionality of
these methods is easy to be understood from their names. Here, I must point out
that though in the DS the Name is also an Element, it only contains a simple
String value. Hence, there is no need to create an object for it.
3. UserActionHistory UserActionHistory Description Scheme <!-- Definition of UserActionHistory DS --> <complexType name="UserActionHistoryType"> <complexContent> <extension base="mpeg7:DSType">
49
<sequence> <element name="ObservationPeriod"
type="mpeg7:TimeType" minOccurs="0" maxOccurs="unbounded"/>
<element name="UserActionList"
type="mpeg7:UserActionListType" minOccurs="1" maxOccours="unbounded"/>
</sequence> <attribute name="protected" default="false"/> </extension> </complexContent> </complexType>
Implementation
Figure 17. UserActionHistory UML.
In class UserActionHistory, method getObservationPeriods() returns an array
of ObservationPeriod object, because there might be more than one
observation periods. Method generateId() returns a UserActionHistory ID as a
String object.
4. Observation Period
50
ObservationPeriod Description Scheme: <complexType name="ObservationPeriodType"> <complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="TimePoint" minOccurs="1"/> <element name="Duration" minOccurs="1"/> </sequence> </extension> </complexContent> </complexType> Implementation
Figure 18. ObservationPeriod UML.
Same as the UserIdentifier object, ObservationPeriod handles the Elements
TimePoint and Duration as attribute and sets and gets their values.
5. UserActionList UserActionList DS <! -- Definition of UserActionList Description Scheme --> <complexType name="UserActionListType"> <complexContent> <extension base="mpeg7:DSType"> <sequence minOccurs="0">
51
<element name="ActionType"/> <element name="UserAction"
minOccurs="0" maxOccurs="unbounded"/>
</sequence> <attribute name="numOfInstances" type="nonNegativeInteger" use="optional"/>
</extension> </complexContent> </complexType> Implementation
Figure 19. UserActionList UML.
Class UserActionList sets and gets the values of Attributes and Elements of
Element UserActionList. As usual there are method parse() to parse the
UserActionList and method toXml() to generate the XML file UserActionList
as a String object.
6. ActionType ActionType DS:
<complexType name="ActionType">
52
<complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="Name" minOccurs="1"/> </sequence> </extension> </complexContent> </complexType> Implementation
Figure 20. ActionType UML.
Element ActionType is simple, only contains a value. Thus, class ActionType
sets and gets this value called ‘name’. Besides these two basic functions, there
are parse() and toXml() methods as other classes.
7. User Action UserAction DS
<!-- Definition of UserAction DS -->
<complexType name="UserActionType"> <complexContent> <extension base="mpeg7:DSType"> <sequence> <element name="ActionTime" minOccurs="0"> <complexType> <sequence>
53
<element
name="GeneralTime" type="mpeg7:TimeType" minOccurs="0"/>
</sequence> </complexType> </element> <element name="ProgramIdentifier"
type="mpeg7:UniqueIDType"/>
</sequence> </extension> </compelxContent> </complexType> Implementation
Figure 21. Database Access Object UML.
Figure 16 shows that the database structure is designed as a Singleton pattern.
The term ‘Dao’ is an abbreviation of Database Access Object. Class LogDao is
an abstract class. The upper level class should use this class and calls method
LogDao.getUserActions() to get an array of UserAction Objects. Class
InformixLogDao which externs abstract class LogDao executed the real
database accesses actions. Class InformixLogDao gathers all log records from
the database and generates the UserAction object array.
54
Figure 22. UserAction UML.
There are two parse() methods in UserAction class. One parses and
UserAction Element to a UserAction object and the other parses a UserAction
List to an array of UserAction objects.
8. Program Identifier ProgramIdentifier DS:
<complexType name="ProgramIdentifier">
<complexContent> <attribute name="organization"/>
<attribute name="type"/>
</complexContent> </complexType> Implementation
55
Figure 23. ProgramIdentifier UML.
In this project the attribute ‘type’ is set as the category name of this program.
The attribute ‘organization’ is set as fixed value of ‘MobTV’. The attribute
‘name’ is the name of this program.
9. Action Time ActionTime DS:
<complexType name="ActionTime">
<complexContent> <sequence> <element name="GeneralTime" type="mpeg7:TimeType" minOccurs="0"/> </sequence> </complexContent> </complexType> Implementation
Figure 24. ActionTime UML.
ActionTime DS shows that it contains an Element GeneralTime. As this
element has only value, nothing else, there are no needs to create a new
‘GeneralTime’ object.
56
5.5 User Preferences
5.5.1 Overview
Figure 25. User Preferences structure.
There are two methods to get the User Preferences description schemes, by
analysing the UsageHistory or set by the user [31]. In MobTV project, we used
the second one. There are WebPages offered to the user for setting their
preferences. The result is stored in the database. When the user wants to change
57
their settings, they open the page, and the values are shown. The user re-sets the
preferences and saves them. After setting the preferences, the user can see a
simplified TV guide with their favourite TV channels and favourite TV program
categories. If the user has never set the preference settings, the preferred TV
guide would be the same as the normal one, which is already serving.
The user sends Hypertext Markup Language (HTML) requests using HTTP.
HTML access point handles the requests and calls class MobTvServer that
automatically selects correct subclass by the class of parameter generated by
ParameterFactory. Then class MobTvServerForPreference processes the
request, handles the database operation, and returns an object as a result to the
HTML access point. According to the returned object and the parameter class,
HTML access point calls class UriParameterFactory to convert objects to
Uniform Resource Locator (URLs).
5.5.2 Process
1. Asx
58
Figure 26. Class Asx UML.
Class Asx extends abstract class HttpServlet. It handles the HTTP requests and
responses.
The main methods are listed in Table 3.
Name Function
Asx.doGet() Handles the HTTP GET method.
Asx.doPost() Handles the HTTP POST method.
Asx.processRequest() Processes requests for both HTTP
GET and POST method.
Table 3. Class Asx function explanation.
2. Preference Data
59
There is a table in database for storing users' Preference Data setting. The table
structure is shown in Table 4:
Column Name Description
usr_id The user ID. It is referenced to column id in User Table.
observation_period Observation Period, defined as the total number of hours.
tvchannels A string of TvChannel ids, which are separated by commas.
categories A string of Category ids, which are separated by commas.
Table 4. Database PreferenceData Table.
Within this table, column 'tvchannels' stores a sequence of TvChannel Ids as a
string. The Ids are separated by commas. Column 'categories' stores a sequence
of Category Ids as a string. Commas separate these Ids as well.
60
Figure 27. Class PreferenceData UML.
There are seven private parameters in a PreferenceData object. Since the user
logged in to this application, every operation is personnel related. Thus, the
user's information must be available. The User object saves it. Parameter
'dbExistance' is a Boolean value. Once some user has set his or her preference
and saved this setting into database successfully, this value will be set as 'true'.
Otherwise it will be 'false'. Parameter 'paraExistance' is a Boolean value also.
When the user changes (he or she has already set the setting) or sets (the first
time he or she uses this service) the preference setting, this value will be 'true'.
It is 'false' if nothing was modified. The meaning of String object 'tvChannels'
and 'categories' is obviously. The 'observation_period' parameter indicates
61
how many hours before current time point the user expects the filter to cut
her/his preference TV programs. Whenever the user opens the setting page,
there is an informing message shown to them, which tells them what the
situation is. For instance, 'Your preference setting is shown below. You may
change and update them. ' -- The user has set his preferences before; 'Welcome
to set your TV guides preference! ' -- This is the first time that user uses this
function; and so forth. The content of this message depends on both Parameter
'dbExistance' and Parameter 'paraExistance'.
3. Preference EPG Data
Figure 28. PreferenceEpgData UML.
Parameter Type Function
tvChannels Vector A vector of TvChannel objects. These TV
Channels are user's favourite ones.
62
programByChannels Hashtable Stores all user favourite Program objects by
some TV channel.
programByHour Hashtable Stores all user favourite Program objects by
some period.
date Date The date when the programs were broadcast.
user User The User object.
uri String The TV guide URI.
Table 5. PreferenceEpgData class Parameter list.
Class PreferenceEpgData handles the user preferred EPG objects. The functions
of most methods are very clear according to their names. The method
insertAllPrograms(Vector) inserts all required programs into the
PreferenceEpgData object for further usage.
4. Parameter Factory
Figure 29. ParameterFactory UML.
Name Function
Class ParameterFactory Class ParametrFactory handles HTTP servlet
requests and returns different object based on the
different requests.
ParameterFactory.createPreference Creates a PreferenceData object, which contains
63
Data(HttpServletRequest) nothing, but information about some special user.
ParameterFactory.createPreference
EpgData(HttpServletRequest)
Creates a PreferenceEpgData object, which
contains only the information about some special
user and the date of the EPG.
Table 6. ParameterFactory function explanation.
5. MobTV Servers and MobTV Services
Figure 30. MobTV service structure.
‘MobTvServer’ -like classes provide all services and functions the users can
access.
Name Function
interface MobTvServiceProvider This is an interface. There is simply one
method service() defined.
abstract class AbstractMobTvServer This is an abstract class, which
implements the interface
64
MobTvServiceProvider. It is a base class
for all MobTvServers. In addition to
method(s) defined in interface
fi.vtt.tte.mobtv.middletier.MobTvServic
eProvider this abstract class adds some
methods that can be used in all
subclasses.
AbstractMobTvServer.service(Object) This method overrides method
MobTvServiceProvider.service(Object).
AbstractMobTvServer.service(Object,
boolean)
The second parameter of this method is
used when HTML version needs
different functionality.
AbstractMobTvServer.createDaoFactory() Creates DaoFactory for data access
operations. Might return null in case of
error.
MobTvServer This class extends abstract class
AbstractMobTvServer.
MobTvServer.service(Object) This method provides the services for
client. The method call is directed to
specific class' service-method
depending on the class of the parameter.
Subclasses should override this method.
MobTvServer.service(Object, boolean) Desired class is dynamically loaded and
its service-method is used.
MobTvServerForPreferenceEpgData This class only has one method:
service(Object).
MobTvServerForPreferenceEpgData.service The parameter object is an instance of
65
(Object) PreferenceEpgData. This method
retrieves the programs from the
database and returns the
PreferenceEpgData object.
MobTvServerForPreferenceData This class only has one method:
service(Object).
MobTvServerForPreferenceData.service(Ob
ject)
The parameter object is an instance of
PreferenceData. This method retrieves
the programs from the database and
returns the PreferenceData object.
Table 7. MobTV Service Provider function explanation.
6. URI Parameter Factory class
Class UriParameterFactory generates the correct Uniform Resource Identifier
(URI) based on type action the user wants to do.
Figure 31. Class UriParameterFactory UML.
There are many methods in this class handling different situations. These three
are what we most need to explain. Two create() methods are private. Method
createUriParameters() are protected and can be called by others. When it is
called, it analyses the parameter 'Object'. If the Object is instance of
66
PreferenceEpgData object, it means that the user wants to watch his/her
preferred TV guide, method create(PreferenceEpgData, boolean, String) is
called and returns a valid EPG URI as a String object; if it is instance of
PreferenceData object, e.g., the user is doing something with the preference
setting, the corresponding setting page will be shown.
5.6 Personalization Instructions 5.6.1 How to Get User Usage History? 1. Open Usage History page.
Figure 32. Usage History interface.
2. Input User Name
The User Name is the user's login name
3. Select Observation Time Point
The Observation Time Point is the start time of the Usage History. There are
Year, Month, Date, and Hour to be chosen.
4. Select Observation Duration
The Observation Duration means how many days and hours the observation
lasts.
67
5. Submit your requirement, the result will be shown like this
There are 7 types of actions are collected, they are Select TV guide Select TV
channel Search Select object(series, program, chapter, TV channel live
broadcast or review) Select program-related operation Stop playing a chapter
Select game
Figure 33. An example of some user's Usage History.
68
5.6.2 How to Set User Preferences?
1. Login to MobTV and list Muut palvelut.
Figure 34. “Muut palvelut” interface.
2. Click preference setting and set it.
69
Figure 35. User Preference setting interface.
3. After setting the preferences, go back to the Muut palvelut page and click
Favourite TV-guide.
71
Chapter 6 Conclusion Project MobTV provides a new utility for watching the TV programs. On air
TV programs are received and saved into server. The users are able to watch
the stored TV programs whenever they want and wherever they are via
WLAN. Since it is a new service to the customers, we would like to serve
them as well as we can. TV-Anytime User interaction is what we used in this
project. The goal of the user interaction is to collect users' usage history for
further analysis or to provide customers with a friendlier TV guide according
to their interest. TV-Anytime is a global forum, which was established in 1999.
The Forum has published Metadata specification to accompany its Content
Referencing and System Description specifications, together with XML
Schemas and data dictionaries. In our project, we adopted the Usage History
Description Schemes to define the users' history and User Preferences
Description Schemes to set the user preferences.
In a commercial installation the Usage History will be generated by
administrators or trusted parties. As project MobTV is a research project, there
is no need to authorize the usage history generators. One user inputs a user
name and the observation period, then the personalization system will generate
the Usage History as an XML file. The users are allowed to set their
preferences by themselves. The User Preference setting pages are embedded in
the project interface. It is very easy and clear to use. The users can select their
favourite types of programs and TV channels. After setting the preferences
users will be able to watch the favourite program guide instead of the original
TV guide, who lists all the available TV programs, hence they save their time
72
and money. Of course the ordinary TV guide is also available in case the users
don't find any programs or they just want to take a look.
The personalization system has already been tested and worked correctly.
73
References: [1] Shih-Fu Chang, A. Puri, T. Sikora, H. Zhang. Introduction to the Special Issue
on MPEG-7. Circuits and Systems for Video Technology, IEEE Transactions on,
Volume: 11, Issue: 6, June 2001. Page(s): 685-687
[2] Compaq iPaq
http://welcome.hp.com/country/us/eng/prodserv/handheld.html
[3] K. Curtis, O. Draper. Multimedia content management-provision of validation
and personalization services. Multimedia Computing and Systems, 1999. IEEE
International Conference on, Volume: 2, 7-11 June 1999 Page(s): 302-306
[4] D. Deloddere, W. Verbiest, H. Verhille. Interactive Video on Demand. IEEE
Commun. Mag, May 1994 Page(s): 82-88
[5] http://www.dtg.org.uk/consumer/index.html
[6] http://www.dtg.org.uk/welcome/index.html
[7] Extensible Markup Language (XML)
http://www.w3.org/XML/
[8] B. Fox. Digital TV comes down to earth. Spectrum, IEEE, Volume 35, Issue 10,
Oct. 1998. Page(s) 23-29
[9] Fujitsu Tablet PC
http://www.fmworld.net/globalpc/products/tablet.html
[10] Gotuit
http://www.gotuit.com
[11] Government's digital television website
http://www.digitaltv.culture.gov.uk/
[12] A. Graziano, S. Russo, V. Vecchio, P. Foster. Metadata Models for QoS-
Aware Information Management Systems. Proceedings of the 14th International
Conference on Software Engineering and Knowledge Engineering. July 2002
74
[13] HP Jornada
http://h20015.www2.hp.com/en/prodCategory.jhtml;jsessionid=WXRAQZVNVM
3NTQEXGRMEOS Q?reg=&cc=us&pagetype=hphandheld8346&lc=en
[14] ISO/IEC 15938-5 Information Technology - Multimedia content description
interface - Part 5 Multimedia Description Schemes, 2001.
[15] G. W. Kerr. Interactive Multimedia Services. Image Processing and Its
Applications, 1997., Sixth International conference on, Volume: 1, 14-17 July 1997
Page(s): 7-11 vol.
[16] T. Kinnunen, Recording and storage of television broadcasts, Mobile
Television for Fourth Generation Networks Project Report, 2003
[17] M. Kojo, User Interfaces, Mobile Television for Fourth Generation Networks
Project Report, 2003
[18] H. Kosch. MPEG-7 and Multimedia Database Systems. ACM SIGMOD
Record. June 2002. Volume 31, Issue 2.
[19] M. Lahdensivu, Jupiter ennustaa digitelevisiolle kasvupyrähdystä. Digi Today,
March 12, 2002,
http://www.digitoday.fi/digi98fi.nsf/pub/md20020312111227_mls_15842069 .
[20] A. Livingstone. Interactivity via Digital Satellite. Multimedia Services and
Digital Television by Satellite (Ref. No. 1999/111), IEE Colloquium on, 22 Oct.
1999 Page(s):7/1-7/5
[21] B.S. Manjunath, P. Salembier, T. Aikora, Introduction to MPEG-7 Multimedia
content description interface. John Wiley & Sons, LTD, 2002
[22] A. McParland, et al. MYTV: A Practical Implementation of TV-Anytime
on DVB and the Internet
[23] Mobile Television in Fourth Generation Networks,
http://www.vtt.fi/tte/mobtv/
[24] Introduction to project MobTV
http://www.vtt.fi/tte/mobtv/description.htm
75
[25] MPEG Overview
http://mpeg.telecomitalialab.com/standards/mpeg-7/mpeg-7.htm
[26] MPEG-7 Overview
http://mpeg.telecomitalialab.com/standards/mpeg-7/mpeg-7.htm
[27] myTV Project
http://www.extra.research.philips.com/euprojects/mytv
[28] C. Peng. Digital Television Applications. Espoo Teknillinen Korkeakoulu
2002
[29] TiVo Inc.
http://www.tivo.com
[30] TV-Anytime Forum
http://www.tv-anytime.org/
[31] TV-Anytime Forum Specification Series: S-3, SP003v1.3, December 2002
[32] V. Ollikainen. MobTV Topology, 2002
[33] A. Pearmain. Using MPEG-7 at the Consumer Terminal in Broadcasting.
[34] S. Pfeiffer, U. Srinivasan. TV anytime as an application scenario for MPEG-7.
Proceedings of the 2000 ACM workshops on Multimedia. November 2000.
[35] S. Ramanathan, P. Venkat Rangan. Architectures for Personalized Multimedia.
IEEE, Volume: 1 Issue: 1, spring 1994, Page(s): 37-46
[36] P. Salembier. Overview of the MPEG-7 Standard and of Future Challenges for
Visual Information Analysis. Workshop on Image Analysis for Multimedia
Interactive Services (WIAMIS 01), Tampere, Finland, May 2001, Page(s) 75-84
[37] UP- TV Introduction
http://www.music.tuc.gr/Research/UPTV.htm
[38] A.Yao, J. Jin. The Development of A Video Metadata Authoring and
Browsing System in XML. Selected papers from the Pan-Sydney workshop on
Visualization - Volume 2, December 2000.
76
[39] X. Zhou, R. Luling. Dynamic Adaptive Mapping of Videos in a Hierarchical
TV-Anytime Server Network. Computer Communications and Networks, 2000.
Proceedings, Ninth International Conference on, 16-18 Oct. 2000 Page(s): 402-409
[40] X. Zhou, C-Z. Xu, L. O. Burchard, R. Luling. A Video Replacement Policy
based on Revenue to Cost Ratio in a Multicast TV-Anytime System. Parallel and
Distributed Processing Symposium., Proceedings 15th, International, 23-27 April
2001 Page(s) 1184-1191