SciELO - Scientific Electronic Library Online

 
vol.6 número1Automatización del Bobinado Industrial de Fleje Plástico Mediante Motores Eléctricos Basados en Algoritmos de Control de MovimientoComportamiento dinámico de lámparas HID-MH al operar en alta frecuencia con onda cuadrada índice de autoresíndice de materiabúsqueda de artículos
Home Pagelista alfabética de revistas  

Servicios Personalizados

Revista

Articulo

Indicadores

Links relacionados

  • No hay articulos similaresSimilares en SciELO

Compartir


Maskay

versión impresa ISSN 1390-6712

Maskay vol.6 no.1 Sangolquí ene./dic. 2016

 

Artículo

Herramienta multiplataforma para generación automática de aplicaciones interactivas Ginga-NCL basado en plantillas

Multiplatform tool for automatic generation of interactive applications Ginga-NCL based on predesigned templates

Carlos A. Pillajo1 

Juan S. Ochoa1 

Freddy R. Acosta1 

Gonzalo F. Olmedo1 

1Departamento de Eléctrica y Electrónica, Universidad de las Fuerzas Armadas ESPE, Sangolquí, Av. General Rumiñahui s/n, 171-5-231B Ecuador e-mail:http://espetv.espe.edu.ec/webespetv/Miembros.html

Resumen:

El presente artículo muestra una solución al desarrollo automático de aplicaciones interactivas Ginga-NCL para la Televisión Digital Terrestre, a partir de plantillas prediseñadas. Productores de televisión y gente relacionada con este medio de comunicación masivo, no conocen o simplemente no tienen las herramientas necesarias para la creación de aplicaciones interactivas, en muchos casos ni siquiera se conoce la existencia de una plataforma para el desarrollo de las mismas. Es por esta razón que se propone una metodología totalmente nueva y amigable para el usuario, la cual permita generar aplicaciones interactivas sin tener el conocimiento técnico ni las habilidades de programación que implica su creación. La reducción del tiempo en la generación de aplicaciones, disminución de capital de inversión en la preparación y adiestramiento del personal, cambios on-air en la programación interactiva del canal de televisión, son algunos de los resultados que trae consigo este sistema.

Palabras Clave: Ginga; ingeniería de software; interactividad; NCL; middleware; software de aplicación; televisión digital

Abstract:

This article presents a solution to the automatic development of interactive applications Ginga-NCL for Digital Terrestrial Television, from predesigned templates. TV producers and people related with this mass medium, do not know or just do not have the necessary tools for creating interactive applications, in many cases not even aware of the existence of a platform for their development. It is for this reason that a whole new and user-friendly methodology is proposed, which allows to generate interactive applications without technical knowledge or programming skills involved in its creation. Some of the results that come with this system include reduced time in generating applications, reduced capital investment in the preparation and training of personnel, and changes on-air programming in interactive TV channel.

Index Terms: Ginga; software engineering; interactivity; NCL; middleware; application software; digital television

I.INTRODUCCIóN

La Televisión Digital Terrestre(TDT) nace y se fortalece con la aparición de los estándares que rigen los diferentes ámbitos de su implementación y despliegue, es así que aparece el estándar ISDB-Tb (International System for Digital Broadcast Terrestrial, Brazilian version) [1], el cual fue adoptado por varios países, principalmente de América Latina. Entre las principales ventajas de TDT, se encuentra la Interactividad, la cual permite la creación de aplicaciones que se enlazan y se transmiten con las señales de video y audio, permitiendo a los telespectadores transformarse de entes pasivos a entes activos en la experiencia de ver televisión.

El estándar ISDB-Tb permite la creación y ejecución de aplicaciones interactivas, gracias a la plataforma llamada middleware, particularmente conocida con el nombre de Ginga. El middleware está compuesto por dos subsistemas entrelazados, que permiten la implementación de aplicaciones interactivas empleando paradigmas de programación declarativa (Ginga-NCL), imperativa (Ginga-J) o una combinación de las dos anteriores [2]. El desarrollo de la interactividad permitirá a los broadcaster explorar nuevas formas de hacer televisión, incorporando funciones avanzadas de comunicación y participación del telespectador.

La falta de herramientas de autoría, que permitan generar aplicaciones sin el conocimiento previo que implica la programación, afecta directamente a personas en el medio de la producción multimedia de televisión, puesto que para elevar el nivel de rating de su programación, se necesita de métodos que proporcionen satisfacción al telespectador, y una de las estrategias para solventar esta necesidad es la interactividad.

En la actualidad, se han desarrollando trabajos acerca de la creación de aplicaciones interactivas mediante lenguaje de programación NCL y herramientas de autoría, como NCL Composer [3], esta es una herramienta gráfica de autoría multiplataforma utilizada para ayudar en la creación de aplicaciones para la Televisión Digital Interactiva (TVDi), desarrollado por el Laboratorio TeleMídia, no muy intuitiva en su uso, ya que es necesario tener conocimientos de programación NCL. Otra herramienta orientada al diseño de guión gráfico intercativo conocida como ISB Designer [4], herramienta centrada en el diseño de las narrativas interactivas, una de sus principales ventajas es que permite el diseño de contenidos audiovisuales junto con sus puntos de adaptación y la intervención, lo que ayuda en la detección y corrección de inconsistencias narrativas. Además la herramienta NCL- Textual Data Mixer [5], que propone la generación automática de contenidos para aplicaciones interactivas, con la necesidad de que se tenga canal de retorno activo, e iT NEWS [6] que es una plataforma online orientada a templates para la creación de aplicaciones de Noticieros.

Es así que se propone una herramienta de software que permita generar automáticamente aplicaciones interactivas personalizadas a partir de plantillas que vayan destinadas a cubrir las necesidades que día a día son más exigentes por los telespectadores, la idea es proporcionar un medio que enlace a las personas que hacen televisión con la plataforma Ginga- NCL a través de una interfaz gráfica de usuario y de esta manera difundir la Interactividad como un plus a este medio masivo de comunicación llamado Televisión. Una versión inicial con la idea básica de la propuesta fue presentada en [7].

La herramienta propuesta se encuentra escrita en lenguaje orientado a objetos Java, lo que la hace multiplataforma, presenta una interfaz gráfica amigable que le permite al usuario editar sus propias aplicaciones interactivas a partir de plantillas prediseñadas desarrolladas en Ginga-NCL y LUA. La clase principal de Javaque se usa para el tratamiento de los archivos es File, la cual se usa para crear, eliminar y obtener información sobre archivos y directorios. Adicionalmente se incluyó un sistema para la simulación de la aplicación o la documento NCL, el mismo que se simula hasta corregir fallas generación del flujo de transporte, donde estar á montada la aplicación junto al audio y video a ser transmitido bajo la infraestructura de la TDT.

El artículo está distribuido de la siguiente manera, en la segunda sección se presenta el sistema de generación automático de aplicaciones interactivas Ginga-NCL basado en Templates, donde se explica en que consiste y como este apoyará en el desarrollo de la Interactividad. En la tercera sección se explica la herramienta Template Generator, desarrollada a partir del análisis del nuevo sistema de generación de apli- caciones interactivas. La cuarta sección muestra las pruebas de generación de aplicaciones interactivas Ginga-NCL a partir del software Template Generator. Finalmente son presentadas las conclusiones del artículo.

II. SISTEMA DE GENERACIó N AUTOMÁTICO DE APLICACIONES INTERACTIVAS GINGA-NCL BASADO EN EMPLATES

Las aplicaciones para TDT son comúnmente desarrolladas bajo dos paradigmas de programación: el declarativo y el no declarativo (de procedimiento). Particularmente se toma al lenguaje NCL (Nested Context Language) como referencia para el desarrollo del código fuente de las aplicaciones. NCL es un lenguaje declarativo adoptado por el Sistema Brasileño de Televisión Digital, desarrollado por el laboratorio TeleMidia de la PUC-Rio de Janeiro. El lenguaje define claramente como los objetos media (elementos de contenido multimedia: video, imágenes, sonidos, texto, etc.) son estructurados y relacionados en tiempo y espacio [8]. La Figura 1, muestra la estructura del código fuente NCL, indicando las propiedades que puede ofrecer en la construcción de la aplicación.

Figura 1 Estructura del código fuente NCL para una aplicación interactiva. 

Para que se pueda generar una aplicación es necesario que diferentes factores, humanos y computacionales, cumplan sus funciones y todos convivan en un ambiente ordenado y secuencial. La Figura 2, presenta el diagrama del proceso tradicional de desarrollo de aplicaciones interactivas, con conocimientos previos en programación NCL.

Como se aprecia, el método tradicional consta de un agente humano que tenga el conocimiento en programación NCL, el cual generará un código fuente o también llamado documento NCL, el mismo que se simula hasta corregir fallas en el diseño y presentación. La aplicación es multiplexada con el contenido audiovisual, en base a las especificaciones de las normas brasileñas ABNT NBR 15606-2 [9], ABNT NBR 15606-5 [10] y ABNT NBR 15606-7 [11]. Finalmente es transmitida por la infraestructura de la TDT bajo las especificaciones de la norma ABNT NBR 15601 [1].

La propuesta apunta a un nuevo método de diseño e implementación de aplicaciones donde se presenta el sistema automático basado en templates. [7] La Figura 3, muestra el proceso de desarrollo de una aplicación Ginga-NCL, utilizando la nueva metodología.

El sistema basado en templates, permite a cualquier persona que no necesariamente tenga conocimiento en la programación NCL, genere aplicaciones. Además permite en su mismo entorno la simulación de las aplicaciones sin necesidad de salir del sistema. Una de las funcionalidades que permite que el proceso se agilice, es el montaje directo de la aplicación al multiplexor y la generación automática de la DSM-CC (Digital Storage Media Command and Control), esto se realiza a través del servidor de aplicaciones colocado en un directorio específico en la entrada ASI del multiplexor, además se configura la tabla PMT (Program Association referencia para el desarrollo del código fuente de las Table) del flujo de transporte que ser á transmitido bajo la aplicaciones. NCL es un lenguaje declarativo adoptado por el Sistema Brasileño de Televisión Digital, desarrollado por el laboratorio TeleMídia de la PUC-Río de Janeiro. El lenguaje define claramente como los objetos media (elementos de infraestructura de la TDT, de esta manera el usuario puede realizar cambios o mejoras a las aplicaciones en directo (on-air).

Figure 2 Proceso de desarrollo de una aplicación interactiva Ginga-NCL (Método Tradicional). 

Figure 3 Sistema de generación de aplicaciones basado en Templates. 

El usuario selecciona el template que más se ajuste a sus necesidades, a continuación edita el template, simula en la misma plataforma y, una vez aprobada, transmite la aplicación interactiva.

Se puede ver claramente como el proceso se desarrolla en menor tiempo y cualquier persona puede utilizarlo.

III. TEMPLATE GENERATOR

El software Template Generator fue desarrollando tomando como referencia el sistema de generación automática de aplicaciones interactivas Ginga-NCL basado en templates. [7]

1) Diseño e implementación de plantillas para las aplicaciones interactivas Ginga-NCL: Las plantillas seleccionadas siguen un criterio de diseño de tipo informativo, educativo y recreativo enmarcado en el entendimiento de las razones sociales y culturales asociadas al uso del televisor. Se toman diferentes criterios de usabilidad y diseño gráfico, con el objetivo de crear aplicaciones para una tarea determinada pero con el mínimo índice de estrés y el máximo de eficiencia [12]. Esto quiere decir que cualquier usuario o telespectador, aunque no tenga conocimientos previos, sea capaz de desenvolverse por la aplicación de forma intuitiva, aprovechando toda su funcionalidad.

Los patrones utilizados en la creación de las plantillas, fueron tomados de los estudios desarrollados por la Universidad Nacional de la Plata y su grupo de investigación en Televisión Digital - Lifia [12]. La Figura 4, muestra los patrones propuestos por Lifia.

Figure 4 Patrones para plantillas de aplicaciones interactivas Ginga-NCL. 

Las plantillas desarrolladas para el software Template Generator, han sido desarrolladas bajo el lenguaje declarativo NCL, utilizando la plataforma Eclipse-NCL y simuladas con el software Ginga4Windows [13]. Además se realizaron pruebas reales bajo la infraestructura de la TDT. Las plantillas son las que permiten generar las aplicaciones interactivas, con la información que el usuario desee presentar, sin la necesidad de explorar ni crear código fuente. En el Cuadro I, se presenta una síntesis con las características sobresalientes de cada una de las plantillas usadas en el presente trabajo.

Tabla I: PRINCIPALES CARACTER´ISTICAS DE LAS PLANTILLAS DEL TEMPLATE GENERATOR 

No. de Plantilla Formato Características Ventaja
1 Sobre el video Sin redimensionamiento de pantalla Permite texto, tablas e imágnes
2 Sobre el video Sin redimensionamiento de pantalla Ocupa poco espacio en pantalla
3 Texto vertical con menú Redimensionamiento de pantalla El video se muestra por completo
4 Texto vertical con imagen Redimensionamiento de pantalla Permite texto, imágenes y paginado
5 Formatos combinados Submenú principal y submenús secundarios Flexibilidad para organizar la información

A. Manipulación de archivos con lenguaje orientado a objetos Java

La esencia del software Template Generator se basa en el manejo de archivos media (archivos multimedia: texto e imágenes) y para lo cual se utiliza las herramientas que ofrece el lenguaje de programación Java.

Las clases BufferedInputStream, BufferedOutputStream, BufferedReader y BufferedWriter, son las que permiten la manipulación directa de los archivos ya que con los métodos que ofrecen se puede crear, modificar y borrar cualquier tipo de archivo, sea este texto o imágenes. [14]

El proceso consiste en el reconocimiento de los archivos originales de la plantilla, es decir textos e imágenes primarios. Si el usuario no realiza modificaciones en los campos editables, el software tomará los datos primarios para la generación de la aplicación. En el caso donde el usuario edite los campos, el software borra los datos primarios y crea nuevos datos con la información introducida por el usuario. A continuación, genera archivos multimedia de texto e imágenes, según las modificaciones del usuario para finalmente crear el documento NCL el cual lleva el código fuente de la aplicación interactiva. El usuario al final tiene la elección de simular su aplicación y así verificar su nuevo diseño, o a su vez montarla directamente en el flujo de transporte, conjuntamente con el audio y el video, para que sea transmitida bajo la infraestructura de la TDT.

La Figura 5, muestra el diagrama de flujo para la edición de texto del software Template Generator.

Figure 5 Diagrama de flujo para la edición de texto del software Template Generator. 

B. Editor de plantillas

El editor permite la interacción entre el usuario y las plantillas, muestra los campos editables, ya sean de texto imágenes. La interfaz se desarrolló en Java con el IDE de desarrollo NetBeans. La Figura 6, muestra la relación entre la interfaz de edición y la plantilla de la aplicación interactiva.

Figure 6 Relación del editor con la plantilla de la aplicación interactiva. 

IV. PRUEBAS DE GENERACIó N DE APLICACIONES INTERACTIVAS GINGA-NCL A PARTIR DEL SOFTWARE TEMPLATE GENERATOR

El sistema de generación automática de aplicaciones basado en templates es utilizado como una nueva metodología para la implementación de las aplicaciones. Los pasos importantes a seguir en este proceso son los siguientes:

  • Requerimientos visuales

  • Selección de la plantilla

  • Clasificación del material informativo

  • Generación de la aplicación

  • Mantenimiento de la aplicación

Como podemos ver en el Cuadro I, el sistema da opción para generar cinco (5) plantillas diferentes, pudiendo el usuario escoger de entre ellas con cuál realizar su trabajo acorde a sus necesidades.

En la Figura 7 se presenta la edición de la plantilla No.2 (Ticker), donde podemos observar la interfaz gráfica para el ingreso de información, con opción de habilitar cada item asignado a los colores presentes en el control remoto y los espacios de ingreso de información en los Ticker correspondientes, escribir el texto que acompaña a cada uno de los botones y el texto a presentarse en los Tickers respectivamente. Finalmente obervamos tres botones que nos dan la opción de simular la aplicación, generar el archivo con extensión *.ncl y limpiar toda la información, en caso de que después de simular no sea del agrado.

Figure 7 Edición de la plantilla Ticker. 

Mientras que la Figura 8 muestra la aplicación presentada en la pantalla de un equipo receptor de TDT, luego de ser generada por el sistema y junto con el audio y video en un archivo BTS (Broadcast Transport Stream), transmitido en un escenario de laboratorio. Se realizaron varias pruebas de generación de aplicaciones intercativas utilizando el sistema propuesto, obteniendo los resultados esperados.

Figure 8 Transmisión de aplicación interactiva Ticker por medio de TDT. 

En la Figura 9 se puede ver un ejemplo de simulación de la aplicación Acordeón, a través del sistema con el botón simular la aplicación es presentada directamente en el software Ginga4Windows.

Figure 9 Simulación de aplicación interactiva Acordeón con Ginga4Windows. 

V. CONCLUSIONES

Se logró crear una nueva metodología de implementación de aplicaciones Ginga-NCL que permitirá a los desarrolladores de televisión crear aplicaciones sin necesidad de tener conocimientos en programación del lenguaje NCL, obteniendo como resultados una disminución del tiempo de desarrollo y mayor eficiencia de trabajo.

Para que la interactividad se cristalice y cumpla con todas sus expectativas, es necesario del desarrollo eficaz y eficiente de aplicaciones que permitan la interacción con el telespectador, esto se ha logrado con el desarrollo de un sistema de generación automática de aplicaciones interactivas basado en templates (plantillas).

Se puede trabajar en el desarrollo de nuevas plantillas para las aplicaciones, tomando nuevas consideraciones de diseño y principalmente satisfaciendo las necesidades del telespectador. De esta manera se puede llegar a tener un banco de plantillas, donde los usuarios puedan seleccionar la más indicada .

REFERENCES

[1] A. NBR, ¡¡15601¿¿,Televisión digital terrestre - Sistema de transmisión ISDB-Tb, vol. 1. 2007. [ Links ]

[2] L. F. Gomes Soares, TV Interactiva se hace con Ginga, Foro del Sistema Brasileño de TV Digital Terrestre, pp.67-70, 28 Junio 2009. [ Links ]

[3] R. G. A. Azevedo, E. C. Araújo, B. Lima, L. F. G. Soares, M. F. Moreno, Composer: meeting non-functional aspects of hypermedia authoring environment, In Multimedia Tools and Applications, Springer US, 2014. [ Links ]

[4] L. F. Gomes Soares , TV Interactiva se hace con Ginga, Foro del Sistema Brasileño de TV Digital Terrestre, pp.67-70, 28 Junio 2009. [ Links ]

[5] David F. Cevallos, Fernanda A. Cevallos, Iván M. Bernal, Raúl D. Mejía, Generación Automática de Contenido para Aplicaciones Intercativas de Televisión Digital con Ginga-NCL, Libro de JAUTI 2014, pp.114-121, Abril 2015. [ Links ]

[6] Alex de Souza Vierira, Rosendy Jess F. Galabo, Hedvan Fernandes Pinto, Fernando A. B. de Araújo, Carlos de S. Soares Neto ,Plataforma Online Orientada a Templates para a Criação de Aplicativos de Telejornalismo, Libro de JAUTI 2014, pp.102-108, Abril 2015. [ Links ]

[7] Carlos A. Pillajo, Juan S. Ochoa, Freddy R. Acosta and Gonzalo F. Olmedo,TEMPLATE GENERATOR: Software para la generaci ón de aplicaciones intercativas para la televisión digital terrestre a partir de plantillas Ginga NCL y LUA, Libro de JAUTI 2014, pp.109-113, Abril 2015. [ Links ]

[8] L. F. Gomes Soares y R. Ferreira Rodrigues,Nested Context Model Part 1 - NCL,Rio de Janeiro: Pontificia Universidad Católica do Rio de Janeiro, 2012. [ Links ]

[9] A. NBR, ¡¡15606-2:2007¿¿,Televisão digital terrestre-Codificação de dados e especificações de transmissão para radiodifusão digital, vol. 2, 2007. [ Links ]

[10] A. NBR, ¡¡15606-5 (2008)¿¿,Televisão digital terrestre-Codificação de dados e especificacões de transmissão para radiodifusão digital, vol. 5, 2008. [ Links ]

[11] A. NBR, ¡¡15606-7¿¿,Televisão digital terrestre - Codificação de dados e especificaçoes de transmissão para radiofusão digital, vol. 7, 2011. [ Links ]

[12] S. Quiroga y S. Gonzales Botasi,Creatvdigital: Composición visual de aplicaciones interactivas, Simposio sobre la Sociedad de la Infor- mación-SSI, La Plata, 2012. [ Links ]

[13] Ginga ORG,Site Oficial do Middleware Ginga, Ginga, [En línea]. Available: Available: http://www.ginga.org.br/ . [último acceso: 25 Enero 2016]. [ Links ]

[14] J. Sánchez, Entrada y salida en java. Ficheros, CreativeCommons, 2010. [ Links ]

Recibido: 11 de Septiembre de 2016; Aprobado: 10 de Noviembre de 2016

Creative Commons License Este es un artículo publicado en acceso abierto bajo una licencia Creative Commons