jueves, 10 de noviembre de 2011

Conociendo a Ginga el Middleware y el Set Top Box

Hace un par de semanas le escribi a mi profesor de Arquitectura de Computadores y Hardware, RP (www.ronald-paucar.com), justificando mi falta a una clase de la Maestria en Gestion de TI que llevo en la Universidad Nacional del Santa. Y justamente en esa clase tocaron un tema que ya había venido comentando en las clases anteriores, lógicamente el curso abarca temas desde tipos de protocolos, gestión de datacenters, control y administración de servidores, etc, etc. 
Me comentaron mis compañeros que si pudieron asistir a clase que hizo una demostración de un tipo de comunicación, en este caso fue la televisión digital, y utilizó Ginga, que es el nombre del Middleware Abierto del Sistema Nipo-Brasileño de TV Digital (ISDB-TB). Cuando comencé a buscar información sobre el tema para ponerme al tanto de lo que se trato en esa clase, que por cierto fue en laboratorio, pues me interesó mucho el tema porque existian muchas herramientas para poder desarrollar aplicativos que desplieguen video y a la vez hagan interactuar a los televidentes, inclusive existe un plugin para Eclipse, con lo que se puede programar en NCL (Nested Context Language) o LUA que es otro lenguaje de programación. 


Es así que mi grupo conformado por mi compañero V.I.G. y yo debiamos de exponer en la semana siguiente la Arquitectura de un SetTopBox y ejemplos de aplicaciones en NCL. Muy bien, entonces aprovechaba las horas de almuerzo en mi trabajo, para descargar información y bajarme las máquinas virtuales con respecto a este tema. Y en resumen el sistema de televisión digital es una conversión de la señal de TV analógica a un formato digital que puede ser emitido por satélite, terrestre o cable, siendo posteriormente decodificado por el propio televisor (televisión digital) o a través de un receptor llamado Set-Top-Box. 
El set-top-box tiene un papel fundamental en la implementación de nuevas funcionalidades de la Televisión Digital Interactiva. Este nuevo componente del sistema es responsable por mantener la compatibilidad con un parque instalado de televisores, adicionando nuevas funcionalidades: desde la transmisión de video de alta calidad hasta un nivel elevado de interactividad.

La conjunción entre el Set-Top-Box y el GINGA, permiten desarrollar componentes y aplicaciones para TV digital, adicionando servicios a los usuarios, con nuevas funcionalidades, muchas de estas ya disponibles comercialmente por las redes de TV a cable o satelitales, tales como:
  • Guías de Programación Electrónica (Conocido como EPG),
  • Email y mensajes de texto
  • Juegos interactivos on-line
  • Video sobre demanda
  • Sistema de pay-per-view.
Los componentes físicos que constituyen un Set-Top Box son:
  • Placa base del sistema
  • Sintonizador
  • Modulador/ demodulador
  • Demultiplexador
  • CPU
  • Decodificador
  • Procesador gráfico
  • Memoria
  • DiscoInterfaces físicas
Así también, se pueden clasificar los Set-Top-Box en tres categorías: Broadcast TV, Enhanced TV y Advanced Services.

ARQUITECTURA DEL SET TOP BOX

En la capa superior, se tienen los servicios y contenidos que pueden ser producidos en una transmisión de TV digital. Ejemplos de estos servicios son las guías de programación electrónica (EPG), sistema pay-per-view, juegos on-line, programas interactivos, etc.
La segunda capa, se tienen las aplicaciones. Estas aplicaciones son responsables por promover el tipo de servicio de la camada superior.
En la tercera capa, el Middleware, que básicamente tiene como función realizar una interface entre el hardware del set-top-box y las aplicaciones. De esta forma, las aplicaciones pueden ejecutarse de forma transparente sin la preocupación con la forma de acceso al hardware de un set-top-box específico. De esta forma el desarrollo y portabilidad de las aplicaciones se vuelve más simple, debido a que todas las aplicaciones usan una misma API en común. 
En la cuarta capa, se tienen los componentes multimedia de decodificación y codificación, así como los otros módulos multimedia.
En la quinta capa, el sistema operacional, es responsable por el funcionamiento del hardware, la cual provee una capa de abstracción al hardware del set-top-box.
En la última capa, tenemos el hardware de un set-top-box, que es constituido por una CPU, dispositivos de entrada y salida, almacenamiento, decodificación, sintonización, etc.


EMULANDO APLICACIONES DE UN SET TOP BOX

Luego de buscar en interner distinta información sobre como emular un Set Top Box, pues me di con la sorpresa que dicho link ya no existía (fedora-fc7-ginga-i386.zip) y en su reemplazo estaba el siguiente link, basado en un Ubuntu Server, http://www.gingancl.org.br/sites/gingancl.org.br/files/ferramentas/ubuntu-server10.10-ginga-v.0.12.3-i386.zip, pero al descargarlo no pude levantarlo en mi VMWare porque estaba corrupto, es así que decidí buscar la dichosa maquina virtual de fedora, busqué y busqué hasta que la encontre, en el siguiente link  http://ufpr.dl.sourceforge.net/project/dtvargentina/Lifia/fedora-fc7-ginga-i386-lifia-20100218-dev.tar.gz,que es una distribución basada en la original pero modificada por estudiantes de una universidad Argentina.
Finalmente despues de probar finalmente pude levantar la VM y ejecutar algunas aplicativos en el STB Virtual.
El set top Box virtual consiste en Fedora (Linux) modificado, el cual viene con Ginga instalado. Para poder correrla en cualquier plataforma se debe virtualizar. Para esto se utilizó el virtualizador VMWare Workstation. A continuación se adjuntan los enlaces para descarga para Windows o Linux:
Luego de descargarla la instalamos y descomprimimos la VM descargada, y le damos doble clic sobre  Fedora-fc7-ginga-i386.vmx

Y veremos como carga la distribución Fedora modificada para emular el STB.
Luego configuramos (Virtual Machine Settings..) las propiedades de la VM, y seleccionamos Host-Only, para no tener problemas con el ingreso por SSH a la maquina virtual.


Ahora ingresamos remotamente a la MV, por ssh, en este caso utilizaré nxssh.
Podemos descargar algunos ejemplos de la Web, en este caso descargaré una especie de juego llamado el Sultan. http://elclub.ncl.org.br/sites/default/files/sultan.zip
Y luego lo paso a la MV a través de WinSCP.

Luego vamos a la consola en la que estamos conectados a la MV y ubicamos el archivo NCL transferido y lo ejecutamos mediante ginga.


Y podemos ver como en nuestra VM, se lanza el juego "Las Riquezas del Sultan".

En conclusión, los Set-Top-Box permiten la decodificación de señales obtenidas a partir de televisión digital terrestre, cable o satelital, para reproducirlo en una televisión analógica.
Los Set-Top-Box se encuentran asociados a un software denomina de Middleware, que permite ejecutar aplicaciones interactivas en el set-top-box. Para el caso particular del estándar brasileiro ISDB-Tb es el Middleware Ginga y para el estándar Japonés ISDB-T es el Middleware BML.
Para los diferentes estándares de televisión digital en el mundo (ISDB-T, DBV, ATSC, etc), las arquitecturas de hardware de los set-top-boxes se diferencian principalmente por el tipo de demodulador y el decodificador MPEG-2/MPEG-4.

Bueno me despido, finalmente podré exponer este tema el día sábado en mi curso de la maestría.

Servidos.

No hay comentarios:

Publicar un comentario