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.
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).
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.
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.
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.
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.
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.
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.
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.
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 .