85
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

Development of Standard Based Personalization Schemes for

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

ix

WLAN Wireless Local Area Networks WMV Windows Media Video XML Extensible Markup Language

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.

70

Figure 36. An Example of 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