Ginga-J: the Procedural Middleware for the Brazilian Digital TV System
Total Page:16
File Type:pdf, Size:1020Kb
Ginga-J: The Procedural Middleware for the Brazilian Digital TV System Guido Lemos de Souza Filho, Luiz Eduardo Cunha Leite, Carlos Eduardo Coelho Freire Batista Digital Video Applications Lab Department of Informatics Federal University of Paraíba Campus I – Cidade Universitária Phone: +55 (83) 3216 7093 – Ext 26 (FAX) Zip 58.035-000 – João Pessoa – PB – BRAZIL {guido, leduardo, bidu}@lavid.ufpb.br Abstract Terrestrial (ISDTV-T). ISDTV-T is currently being adopted as Brazilian's official system for Terrestrial The recent development of the research on digital Digital TV. terrestrial television in Brazil has led the country’s The applications to be executed over Ginga are government to state a series of premises in which the classified into two categories depending upon the way government shows to care not only for technology they are written. Procedural applications are those improvement, but also to use this development as a tool written using the Java language and declarative for ameliorating the Brazilian social context, in what applications are those written using the NCL language. concerns digital inclusion. These premises and Ginga application execution environments are similarly necessities have generated some peculiarities in the classified into two categories depending upon whether development process, which directly influenced in the they process declarative or procedural applications, and functionalities granted by the Brazilian’s middleware are called Ginga-J [19] and Ginga-NCL [18], choice. This paper, thus, seeks to explain all the respectively. architecture of the Java part – called Ginga-J – of the Ginga middleware, highlighting the new features, Ginga-NCL is a logical subsystem of the Ginga especially when confronting the Brazilian middleware middleware which is responsible for processing and with the other middlewares worldwide defined. presenting NCL documents. In addition, Ginga-J is the middleware’s subsystem in charge of defining all the Keywords: Digital TV, middleware, Java Application Program Interfaces (APIs), content and data formats, besides protocols up to the application level. 1. INTRODUCTION Ginga is the name of the middleware specified for In comparison to the middleware systems conceived the International Standard for Digital Television - for the other Digital TV standards, some features of Guido Lemos de Souza Filho, Luiz Eduardo Cunha Leite, Ginga-J: The Procedural Middleware and Carlos Eduardo Coelho Freire Batista for the Brazilian Digital TV System Ginga are innovative. These features arise from the that are not related to specific characteristics of DVB synergy resultant from the conjunction of two previous system. This specification has been adopted by the projects: FlexTV [1] and MAESTRO [2], respectively Japanese (ISDB ARIB B.23 [20]) and American (ATSC the procedural and declarative Brazilian reference ACAP [22] and OCAP [21]) middleware standards. middlewares conceived during the SBTVD (from the Ginga, the middleware of the ISDTV-T – in its Java Part Portuguese Sistema Brasileiro de TV Digital – Brazilian called Ginga-J – is compatible with GEM. Digital TV System) Project. This paper contains Following the same trend of compatibility, The information about Ginga-J’s implementation and International Telecommunication Union (ITU) functionalities. published a set of recommendations called ITU-T, The SBTVD project engaged researchers from which consists in: J.200, J.201 and J.202 (equivalent to various Brazilian universities and research centers. GEM). These recommendations intend to harmonize the SBTVD activities involved the research of all parts that systems of Digital TV at different levels [10][3][7]. compose a Digital TV System and the development of some new characteristics to fit to the Brazilian context (requirements defined by the Brazilian government). 3. GINGA MIDDLEWARE ARCHITECTURE Ginga definitions do not mandate a basic The main objective of the SBTVD was to give the architecture. The architecture section of the Ginga government the necessary information to conduct a definitions are defined as an informative example of a decision on the Brazilian open terrestrial Digital TV possible architecture for the Ginga middleware. System. As a result of the SBTVD, a new standard, named International Standard for Digital Television This section briefly introduces one reference for the Terrestrial – ISDTV-T, was created and adopted in Ginga Architecture, which is adherent to ITU J.200 Brazil. Ginga is, thus, the middleware for the ISDTV-T recommendation [4], and specifies a set of common standard. Despite the fact that Ginga carries innovations, functionalities – Ginga-Core, which must support the compatibility was considered requirement and the Ginga declarative application environment (Ginga-NCL) execution of applications designed to different and the Ginga procedural application environment middleware – those adherent to ITU's standards J.200 (Ginga-J). [4], J.201 [5], J.202 [6], and consequently to GEM [10] The universe of Ginga applications may be (Globally Executable MHP) definition – is supported. partitioned into a set of declarative applications and a set of procedural applications. A declarative application is an application whose initial entity is of a declarative 2. A DIGITAL TV MIDDLEWARE content type. A procedural application is an application The advent of Digital TV has brought computational whose initial entity is of a procedural content type. A functionalities to the Television service, which is purely declarative application is one whose every entity worldwide widespread. The new TV environment is of a declarative content type. A purely procedural becomes interactive, since applications can be application is one whose every entity is of a procedural transmitted and executed alongside with TV programs. content type. A hybrid application is one whose entity The possibility of executing the same application on set contains entities of both declarative and procedural different devices, with different processing power and content types. A Ginga application needs not to be different manufacturers is solved by the adoption of a purely declarative or procedural. In particular, common middleware, which can be defined as a declarative applications often make use of script content, software layer to abstract the platform’s hardware which is procedural in nature. Furthermore, a declarative specific characteristics. That is the mechanism used by application may reference an embedded JavaTV Xlet. Digital TV, an environment which is composed by Similarly, a procedural application may reference devices developed by different manufacturers. The declarative content, such as graphic content, or may middleware allows content providers to develop an construct and initiate the presentation of declarative application that will run (adapted or not) on all Digital content. Therefore, either type of Ginga application may TV receivers on a particular network. make use of facilities of both declarative and procedural application environments. 2.1. COMPATIBILITY BETWEEN MIDDLEWARES To allow the execution of MHP (Multimedia Home Ginga-NCL is a logical subsystem of the Ginga Platform) [3] applications on other Digital TV System that processes NCL documents, and its adherent platforms, the DVB group proposed a unified to ITU J.201 recommendation [J201]. A key component specification for Digital TV System’s middlewares, of Ginga-NCL is the declarative content decoding called GEM [10]. GEM includes MHP characteristics engine (NCL formatter). Other important modules are 48 Guido Lemos de Souza Filho, Luiz Eduardo Cunha Leite, Ginga-J: The Procedural Middleware and Carlos Eduardo Coelho Freire Batista for the Brazilian Digital TV System the XHTML-based user agent, which includes a declarative application needs for the decoding and stylesheet (CSS) and ECMAScript interpreter, and the presentation of common content types such as PNG, LUA engine, which is responsible for interpreting LUA JPEG, MPEG and other formats. The Ginga-Core is scripts. composed by common content decoders and procedures to obtain contents transported in MPEG-2 Transport Ginga-J is a logical subsystem of the Ginga System Streams and via the return channel. The Ginga-Core that processes active object content, and its adherent to shall also support the conceptual display model as ITU J.202 recommendation [J202]. A key component of described in the Volume 1 of ISDTV Standard 06. the procedural application environment is the procedural content execution engine, composed by a Java Virtual Machine. Common content decoders serve both procedural and Figure 1: Ginga high level architecture , based on ITU J.200 [4] The architecture and facilities of the Ginga facilities may be applied to other transport systems Specification are intended to apply to broadcast (such as satellite or cable TV systems). systems and receivers for terrestrial (over-the-air) . broadcast. In addition, the same architecture and Figure 2: Ginga Common Core components [18] [19] software stack will execute. In this Figure, the 4. GINGA-J ARCHITECTURE GINGA-J software stack resides on the GINGA Host 4.1. GINGA-J CONTEXT Device, which may be, for instance, a set-top box, a Figure 3 shows the context in which the GINGA-J digital TV set, a cell phone etc. 49 Guido Lemos de Souza Filho, Luiz Eduardo Cunha Leite, Ginga-J: The Procedural Middleware and Carlos Eduardo Coelho Freire Batista for the Brazilian Digital TV System Figure 33:2: Ginga-J context [19] The GINGA-J