A PLATFORM BASED ON JAVA AND XML FOR
PROTOTYPING INTERACTIVE DIGITAL TELEVISION
PROGRAMS
Interactive Multimedia Systems and Human-Computer Interaction
João Benedito dos Santos Junior, Iran Calixto Abrão, Marcos Augusto Loiola, Paulo Muniz de Ávila
Hérick Marques and Bruno Tardiole Kuehne
Pontifical Catholic University of Minas Gerais – PUC Minas, Poços de Caldas – MG, Brazil
TVDILab – Interactive Digital Television Laboratory
André Bretas Nunes de Lima
TOTVS S.A. – Belo Horizonte – MG, Brazil
TOTVS TV – Platform for Innovation on Technology for Digital Television System
Keywords: Interactive Digital Television, Java, XML, Software Agents, Context-Awareness Systems.
Abstract: This work presents the JiTV (Java Interactive Television) as a proposal of an integrated development
platform that can be used for authoring of Digital Interactive Television Programs, discussing its
implementation aspects. Among the main requirements of the JiTV, we can put light on description of
scenarios using XML and the implementation of interaction controls using Java. In this scenario, the JiTV
platform supports the specification of context-awareness aspects, acquiring of contextual data from software
agents, building of data carroussel from the both recorded and real-time video and audio streams, tagging of
multimedia objects with XML schema, allowing also the information retrieval. Furthermore, context-
awareness aspects are being added for providing personalization in the television environment.
1 INTRODUCTION
With the dissemination of the technologies
associated to the interactive multimedia, new
applications and forms of interaction is appearing.
The different ways with that the viewer (as user in
traditional computing systems) can interact with a
multimedia application (or with multimedia objects)
demand the adaptation of the applications
(eventually of automatic form) to the determined
situations, with the objective to improve the
interaction in several levels. Moreover, the presence
of the computation in ubiquitous form offers the
viewer the expectation of that is possible to access
the information at anytime and anywhere, what to
introduce the context-awareness aspects in the
computational systems (Santos Jr. et al, 2001).
One of the most promising technologies of
interactive video – the Interactive Digital Television
– has as one of its objectives to provide new
interaction ways to the viewer, like is the case of
non-linear navigation as occurred on the Internet
browsing. One of the main advantages of the advent
of the Interactive Digital Television, especially in
the brazilian context, is the possibility of the
increase of the interaction between the viewer and
the access terminal (like television) through services
and applications, like games, video-on-demand, t-
commerce, Internet browsing, among others (Peng,
2002; Santos Jr. et al, 2005). However, due to be a
new technology, having few established standards
and too many researches in progress, the building of
applications for Digital Television still is challenge,
especially for the persons that have interest on
television systems, but do not dominate technologies
and software tools for building these applications. In
245
Benedito dos Santos Junior J., Calixto Abrão I., Augusto Loiola M., Muniz de Ávila P., Marques H., Tardiole Kuehne B. and Bretas Nunes de Lima A.
(2007).
A PLATFORM BASED ON JAVA AND XML FOR PROTOTYPING INTERACTIVE DIGITAL TELEVISION PROGRAMS - Interactive Multimedia Systems
and Human-Computer Interaction.
In Proceedings of the Ninth International Conference on Enterprise Information Systems - HCI, pages 245-252
DOI: 10.5220/0002401402450252
Copyright
c
SciTePress
this direction, concepts and technologies applied to
the traditional computing systems can be also
applied to the interactive television systems, but is
relevant to consider specific aspects of this new
environment, especially in terms of the expectations
of interaction of the viewer (HAVI, 2000).
In this context, this work presents the JiTV
platform (Java Interactive Television), which is
under development in the Interactive Digital
Television Laboratory at PUC Minas (Santos Jr. et
al, 2001; Santos Jr. et al, 2005), providing the
validation of requirements to the Brazilian
Terrestrial Digital Television System (SBTVD-T)
(Lemos, 2005). The JiTV environment allows the
development of applications for Interactive Digital
Television through a set of authoring tools,
distribution mechanisms and
presentation/interaction players. To the author, it is
enough to define the components of the television
program (media objects, timeline control,
information elements, interaction procedures); so,
the JiTV Studio generates an XML schema that
represents the television program (Lemos, 2005).
From this XML schema, another JiTV component
(JiTV Streamer) builds the data carroussel (program
description, audio/video streams and interaction
schema) and sends it to the communication infra-
structure (Batista et al, 2005). In the viewer side,
using a kind of set-top box (STB), the television
program (audio, video and data) is presented to the
viewer via access terminal, which contains a JiTV
Player (Sun, 2005; Harren et al, 2004).
2 TELEVISION PROGRAMS
The current stage of the development of interactive
television applications, in world-wide level, is
focused on the increasing of some aspects of
interaction to the traditional television programs
(enhanced television) (ATSC, 2001; ISDB, 2001;
DVB, 2002). However, this work proposes a new
model of interactive television program that
considers new interaction criteria as a part of the
program, instead of to add new interaction criteria to
the program (enhanced television).
In the Figure 1 a television program (and its
multiple objects) is presented. It is focused on case
of the several forms to present the program to the
viewer, depending on the available viewer's profiles.
Figure 1: Proposed Structure for a Television Program in a
Television System.
This kind of architecture is common to the video-
on-demand applications; however, new interaction
criteria are not fundamentally important
(personalization is important).
2.1 Interactive Programs
In this proposal, the interactive program is the
central element of an interactive television system.
The interactive program can be defined as the set of
all the medias (and its descriptions), scenes (and its
descriptions), a summary (or synopsis) and its
programming, as it shows the Figure 2.
Figure 2: Entities that compose an interactive television
program.
ICEIS 2007 - International Conference on Enterprise Information Systems
246
As cited, in this proposal, the interactive program
is structured using XML schema. The entities
Schedule and Summary are defined based on TV
Anytime Forum (TVA, 2001). A simplified version
of the description schema of a scene is presented in
Figure 3; details of the description of scenes and
programs were defined in the proposed complete
model (Santos Jr. et al, 2001).
From the media objects and its descriptions, it is
possible to build different interfaces or ways of
presentation of the interactive program to the
viewer. This possibility is named profile in this
proposal. For the coding of the both media and the
scenes, this proposal considers the use of MPEG
technology (MPEG-2 and MPEG-4), which is
sufficiently flexible and efficient for the
compressing of video and audio. Besides that,
MPEG-4 standard allows the representation of
media elements as objects (OMG model), what is
important to apply new interaction criteria in each
one these objects (Chiariglione, 2001). This
characteristic is sufficiently significant for the case
of the implementation of different profiles for an
interactive television program. It is important to
highlight that this work considers the use of MPEG
technologies for the coding, transmission and
presentation of the interactive television program,
independent of the transport mechanism, being able
to use different standards of the Digital Television,
like is the case of Multimedia Home Platform
(MHP) for the presentation of the multimedia
content (ATSC, 2001; ISDB, 2001; DVB, 2002).
<element name="Scene">
<complexType complexContext="true">
<element name =”Measured”>
<complexType complexContext="true" >
<attribute name="type"
type="mpeg7:DSType"/>
<attribute name="id"
type="string"/>
<attribute name="filelocation"
type="mpeg7:DSType"/>
</complexType >
</element >
</complexType >
</element >
Figure 3: XML Schema for description of a scene.
This work uses XML schema for the description
of television program data (scenes and media),
allowing the creation of tools for searching in
multimedia content.
On the other hand, the summary and schedule
have fundamental importance for some applications,
like EPG (Electronic Program Guide), once that is
using the EPG that the viewer chooses operations
(live viewing or recorder, by example) and interacts
with the programming. Another excellent use of
schedule is to allow the automatic adaptation of the
programs to the viewer interests, using contextual
information (where, when, what, who and how).
2.2 The Profile
The broadcaster manages the viewer's profile. In the
player tool, the viewer has access to JiTV Profile,
which is an assistant tool for managing the profile
data. In the broadcaster studio, JiTV Studio offers a
set of tools for crossing of the programming data and
viewer profile data, generating several levels and
categories of viewers (for example, the table of
interactive channels that one viewer can be access).
For the description of the profiles, this work also
uses XML schema for describing program elements,
like
layout, context, profile and
interaction, as is showed in the Figure 4.
The information relative to the
profile is
inside of an element
<profile>. This element is
composed by other elements, which have been
defined in the complete proposed model (Santos Jr.
et al, 2001). For space reasons, only some these
elements will be described in the following.
Figure 4: Entities that compose an interactive program into
television system.
The defined aspects of presentation, which are
part of the element
<Layout>, are relative to the
colors of deep, of the sources and position of the
medias. Inside of the layout still, one has the
possible controls of media for one determined
profile, the type of menu and its content. A
simplified version of the Schema of description of
the element
<layout> is presented in Figure 5.
Details of the projects of description of profiles are
found in complete model of this proposal (Santos Jr.
A PLATFORM BASED ON JAVA AND XML FOR PROTOTYPING INTERACTIVE DIGITAL TELEVISION
PROGRAMS - Interactive Multimedia Systems and Human-Computer Interaction
247
et al, 2001), in terms of an instance of interactive
application, in the case the interactive television.
<element name="Layout">
<complexType complexContext="true">
<attribute name="bgcolor"
type="string"/>
<element name =”Object”>
<complexType complexContext="true">
<attribute name="id"
type="string"/>
<element name =”ObjectPosition”>
</element >
<element name =”ObjectSound”>
</element >
</complexType >
</element >
<element name="Menu" >
</element >
<element name="Control" >
</element >
</complexType >
</element >
Figure 5: Description Schema of the Layout element.
The communication infrastructure requirements
of one profile are specified into element
<Communication>, where communications
requirements are stored for each media object,
decoders and access terminals (like STB). In Figure
6, is presented a simplified version of the XML
description schema of the
<communication>
element.
<element name="Communication" >
<complexType complexContext =”true”>
<element name="CommRequirements" >
<complexType complexContext =”true”>
<attribute name="medianame"
type="string"/>
<element name =”Bandwith”>
<simpleType >
<restriction base =
”to nonNegativeInteger”>
<minInclusive value =”0”/>
</restriction>
</simpleType >
</element >
<element name =”Codec”
type =”string”/>
</complexType>
</element>
</complexType>
</element >
Figure 6: Description schema of the Communication
element.
Inside of the element
<Context>, are inserted
all context information, which can excellent form to
determinate one profile. This element was defined
from context-awareness aspects, such as
<who>,
<where>, <when>, <what> and <how> (Dey and
Abowd, 2000). This element has the actions that
must be carried under specific situations. In Figure
7, an example is presented of the
<context>
element.
<Context >
<who =”mr. 1“> action 1</who>
<who =”mr. 2“>
<where =”bedroom“>
<when =”24:00“>
openProgram(news1)
</when>
openProgram(news2)
</where>
openProgram(music1)
</who>
<what =”24:00“> turnoff() </what>
</Context>
Figure 7: Description schema of the Context element.
The last element showed here is <Interaction>,
in which will be all the actions that must be carried
when each interaction defined for a profile occurs.
These interactions are described in Figure 8.
<element name="Interaction" >
<complexType complexContext =”true”>
<attribute name="on" type="string"/>
<attribute name="media"
type="pratic:Media"/>
<attribute name="button"
type="pratic:Button"/>
<attribute name="action"
type="string"/>
</complexType >
</element >
Figure 8: Description schema of the Interaction
element.
In the example of the Figure 9, the attribute
”moves” is a XML description; the attribute
video3 was presented in the television program and
described in XML and the action
moveMedia(video3) represents a command that
will be performed by the STB as a task (this
command depends on the both operating system
embedded to STB and middleware/applications that
supported, such as MHP or JavaTV (Sun, 2005).
<Interaction>
<on =”moves” measured =”video3”
action =”moveMedia(video3)”>
<on =”click” button =”volume”
action =”openVolumeBox()”>
</Interaction >
Figure 9: Description schema of attributes of the
Interaction element.
ICEIS 2007 - International Conference on Enterprise Information Systems
248
With the presented elements and using the XML
descriptions, an ample set of singular characteristics
can be specified, allowing several personalization
levels into interactive television program/system.
3 BUILDING PROGRAMS
Initially, the use of profiles allows better adaptation
of interactive programs to the viewer. The Figure 10
presents a UML sequence diagram, which shows the
essential functionality of the actions the are
performed between actors of the system (sender,
STB, viewer).
As showed in the Figure 10, the sequence of
events has beginning when the viewer (user actor)
decides which interactive program will go to attend;
chosen the program, STB (STB actor) requests the
delivery (sender actor) of the authorized profiles;
then, these profiles are sent to the STB, which
presents the options to the viewer; the viewer
chooses the profile then the STB makes the calling
to the sender; in this solicitation is requested the
audio/video streams and XML metadata for the
desired program.
Figure 10: UML Sequence Diagram for the entities of an
interactive program.
In this kind of environment, software agents can
provide contextual information to the STB,
enhancing the capabilities of the profile. Thus, the
STB can use this information, described in the
element
<Context>, for the automatic adaptation of
the interactive program to the viewer interests
(profile).
In this scenario, one interactive program can
manipulate several profiles. In the scope of this
research, context-awareness aspects and ubiquitous
computing have been strongly investigated.
4 JITV PLATFORM
To provide a platform for authoring of interactive
programs, distribution of streams and interaction on
the player, is required knowledge that a television
system is more than television as access terminal
simply, due to the fact that multiple devices (mobile
phones, palms, PDA, among others) can be used to
access to the digital television system. In this
direction, this platform must be composed by
authoring tools, streaming tools and player tools
(Santos Jr. et al, 2005).
Since 2003, when this research was started as a
part of the Brazilian Terrestrial Digital Television
System (SBTVD-T), the platform has been named
JiTV (Java Interactive Television), especially in
terms of the use of the both Java and XML
technologies. The Figure 11 showed the JiTV
Platform.
Figure 11: Architecture of the JiTV Platform.
A set of streaming tools must allow to the
broadcaster to define ways for distribution of
interactive programs and delivering of this program
Net
Agents
A PLATFORM BASED ON JAVA AND XML FOR PROTOTYPING INTERACTIVE DIGITAL TELEVISION
PROGRAMS - Interactive Multimedia Systems and Human-Computer Interaction
249
to the viewer. These tools must allow the managing
of data carroussel, which includes audio, video and
metadata. Mechanisms for coding and decoding of
media objects must to be also included into
streaming tools. In another side, a set of authoring
tools must allow to the author
(producer/broadcaster) to define the interactive
program elements and the way that this program will
be streamed to the viewer, including also the choose
of viewer's profiles and interaction schema.
A set of player tools must allow to the viewer to
interact with the interactive television program. A
multimedia player must to present media objects in
the screen (video and images) and in the speaker
sound device (audio). Furthermore, in the context of
JiTV Platform, the player has been implemented for
multiple devices, allowing the receiving of
interactive television programs also in mobile
devices (like mobile phones, palms, PDA, among
others).
4.1 JiTV Tools
As presented, the JiTV platform consists on three
distinct sets of tools: 1) set of tools for authoring of
interactive television programs; 2) set of tools for
streaming (broadcasting) of interactive television
programs; 3) set of tools for playing of interactive
television programs.
The JiTV platform is based-on Java and XML
technologies; all tools are enough to
read/write/process XML schema, which have been
defined in the SBTVD-T context. In the Figure 11,
the relationship between these sets of tools is
presented.
In terms of the set of tools for authoring, the
follow practices have been developed:
1. JiTVStudio: central tool for authoring of
interactive television programs;
2. JiTVTagger: tool for tagging of media
objects for searching;
3. JiTVAgent: tool for specifying agent’s
behavior into digital television system;
4. JiTVSearcher: tool for searching in
interactive programs for finding elements
and components;
5. JiTVStreamer: tool for integrating
streaming functionalities during the
building of interactive television programs.
For streaming (broadcasting) of interactive
programs, the follow practices have been developed:
1. JiTVDataCarroussel: tool that allow
the building of data carroussel and its
streaming in communication infrastructure.
For presentation and interaction, the follow
practices have been developed:
1. JiTVPlayer: a multi-device player tool
for presenting multimedia objects (audio,
video and data) and to allow the viewer
interaction;
2. JiTVEPG: a tool for presenting the
Electronic Program Guide;
3. JiTVQuiz: a tool that contains an
interactive application for voting and
entertainment;
4. JiTVMail: a tool for sending/receiving
text messages using e-mail service;
5. JiTVApp: framework that supports the
presentation and running applications and
services (Internet Browser, RSS service,
mail service, among others).
The Figure 12a presents the interface of the
player tool using the television access terminal,
showing four channels of standard television; in the
Figure 12b, a selected channel is presented.
Figure 12a: Interface of the JiTVPlayer tool with multiple
programming channels for choosing.
ICEIS 2007 - International Conference on Enterprise Information Systems
250
Figure 12b: Interface of the JiTVPlayer tool with selected
channel in viewing.
In this player, it is possible to control the
presentation of live/recorded audio and video,
starting resident/broadcasted applications and to
access return channel for interaction. The Figure 13
presents the same player in a mobile device.
Figure 13: Interface of the JiTVMobilePlayer Emulator for
viewing the television program.
The Figure 14a presents the list of applications
that can be selected/performed by the viewer. This
list is showed from XML schema, which describes
the essential parameters for running each
application. In conceptual terms, each application
can be resident or downloaded from broadcaster
application central. In the Figure 14b is showed the
JiTVMail application as a communication service to
the viewer.
Figure 14a: Interface of the JiTVApp Framework showing
the application list.
Figure 14b: Interface of the JiTVApp Framework showing
the JiTVMail service.
5 CONCLUSIONS
This work has presented the JiTV as a platform for
prototyping of interactive digital television programs
in the context of Brazilian Terrestrial Digital
Television System (SBTVD-T).
The one of the most promising technologies of
interactive video, the Interactive Digital Television
has as one of its main objectives to allow high levels
of interaction between the viewer and the interactive
programs that are presented to him. From the point
of view of the development technologies for
interactive television, Java and XML blunt as good
solutions contained into main international
A PLATFORM BASED ON JAVA AND XML FOR PROTOTYPING INTERACTIVE DIGITAL TELEVISION
PROGRAMS - Interactive Multimedia Systems and Human-Computer Interaction
251
standards/systems for digital television (ATSC,
DVB, ISDB).
This work presented aspects of the modeling and
implementation of the JiTV platform, discussing
aspects of the prototyping of interactive television
programs and applications. It is important to cite that
several programs and applications are being
developed in the SBTVD-T scenarios, in partnership
with the TV Alterosa (broadcaster), TV Globo
(broadcaster) and TOTVS (Software Solutions
Company). In these tests, the both middleware
requirements of SBTVD-T and JiTV functionalities
are being validated and the results will be reported in
future works.
REFERENCES
Advanced Television Systems Committee, 2001.
STANDARD DIGITAL ATSC TELEVISION (Revision).
April, 2001. Available on-line in
http://www.atsc.org/Standards/A53/
Association of Industries Radio and Businesses, 2001.
Terrestrial Integrated Digital Services Broadcast –
ISDB-T: Specification of Channel Coding, Framing
Structure and Modulation (ISDB-T).
Batista, C. E. C. F.; Salmito, T. L.; Leite, L. E. C.; Lemos,
G. and Elias, G, 2005. Big Videos on Small Networks:
A Hierarchical and Distributed Architecture for a
Video on Demand Distribution Service. Proceedings
of the 1ST IEEE International Conference on
Multimedia Services Access Networks (MSAN2005).
June 2005.
Chiariglione, L.:, 2001. Standard technologies you
develop the multimeasured applications. MPEG-4
Conference. Paris, 2001.
Dey, K. and Abowd G.D., 2000. Towards the Better
Understanding of Context and Context-Awareness.
CHI 2000 – Workshop on The What, Who, Where,
When, and How of Context-Awareness. The
Netherlands, 2000-April.
Digital Video Broadcasting (DVB), 2002. Framing
structure, channel coding and modulation will be
digital terrestrial television. Version 1.2.1 (2002).
Available on-line in http://www.etsi.org/
Harren, M; Raghavachari, M; Shmuele, O; Burke, M;
Sarkar, V; Bordawekar, R; XJ, 2004. Integration of
XML Processing into Java. Proceedings of the 13th
International World Wide Web Conference. May
2004.
HAVi, 2000. Audio Home Video Interoperability.
Available on-line in http://www.havi.org.
Lemos, G., 2005. FlexTV: The Middleware of the
Brazilian Terrestrial Digital Television System. 11
st
Brazilian Symposium on Multimedia and Web Systems
(WebMedia 2005). Poços de Caldas-MG. Brazil. 2005.
Peng, C., 2002. Digital Television Applications, Ph.D.
Thesis on Science of Information. Helsinki University
of Technology, Espoo, 2002.
Sun Microsystems, 2005. Java TV API. Available on-line
in http://java.sun.com/products/javatv. March, 2005.
Santos Junior, J. B.; Moreira, E. S.; Faria, G. B.; Goularte,
R., 2001. The Modelling of Structured Context-Aware
Interactive Environments. SDPS Journal.
Transactions of the SDPS. USA, v. 5, n. 4, p. 77-93,
2001.
Santos Junior, J. B. ; Guglielmo, M., 2005. Using MPEG-
Based Technologies for Building Personalized
Multimedia Interactive Environments with Context-
Awareness Requirements. 7
th
International
Conference on Enterprise Information Systems. 2005,
Miami. USA.
TV Anytime Forum, 2001. Specification Series: S2 on
System Description (Informative). April, 2001.
Available on-line in ftp://tva:tva@ftp.bbc.co.uk/pub.
ICEIS 2007 - International Conference on Enterprise Information Systems
252