Ginga: Desarrollo de aplicaciones para TVD

Noviembre 14th, 2009  |  Published in Destacados, Tv Didital  |  4 Comentarios

El presente artículo contiene una resumen del Seminario “Desarrollo de aplicaciones de TVD interactiva con Ginga” realizado por Luiz Fernando Gomes Soares (PUC – Río de Janeiro) en la Ciudad de Buenos Aires del 6 al 12 de Noviembre.

Repaso de Digital TV

La TV Digital es cero o es uno, no existe la “señal de mala calidad”, se ve o no se ve, pero no existe el “se ve mal”.

ginga_015

ginga_016

Por lo tanto desaparece el concepto de “interferencia”.

ginga_017

En la TV analógica, por el “Multiple path” (varios caminos por los que puede llegar la señal hasta un destino) se pueden producir desfazajes que se traducen en el efecto “fantasma” de la imagen.

ginga_018

Técnicas de compresión: La gran ventaja de la señal digital es que se pueden desarrollar técnicas de compresión de manera que en un mismo canal de transmisión que ocupa un canal analógico (6 mhz en Argentina) se pueden trasmitir 19,3 mbps.

ginga_019

Alta definición: Otro cambio es en la relación de aspecto, aumentando el nñumero de líneas y de pixels por línea, pasando de una relación de 4:3 a una 16:9

En el mismo canal adonde poníamos una sola señal analógica podríamos poner hasta 8 señales digitales. En Brasil hubo muchos problemas con este punto, porque aunque tecnológicamente se puede enviar más de una señal en el mismo canal, hay que ver si la ley le permite transmitir varias programaciones. SIN EMBARGO, yo podría tener UNA SOLA programación tomada con DISTINTAS CAMARAS. Por ejemplo, yo podría transmitir un partido de fútbol y enviar por el canal varias señales con tomas distintas, todas estas vistas del partido pertenecen a la misma programación.

ginga_020

Sincronización de datos: Otro cambio de la TV Digital es que además del envío de video y audio, podemos enviar DATOS. Por lo tanto hay que agregar a la TV poder de procesamiento de datos que sean mostrados SINCRONIZADAMENTE (importante!).

ginga001

Receptor: Hay un decodificador que separa Audio de Video de Datos para que sean procesados por el Dcodificados de Audio, por el Codificador de Video y por el CPU

ginga002

Modelo de Referencia:
Hay dos perfiles del ISDB-T:
A – Japonés
B – Brasilero

Patrones de referencia: El Sistema de Tv Digital está compuesto de un conjunto de patrones. Todos los sistemas de Tv digital (Japones, Norteamericano, Europeo, etc) se componen de un conjunto de padrones. Estos padrones dicen como el video es digitalizado y comprimido.

ginga003

Todos los sistemas (sin excepción) adoptan para multiplexar, es decir, para juntar video, audio y datos en un solo flujo (flujo de transporte), el padrón MPEG-2 System.

ginga004

¿Cómo funciona el video y audio en MPEG-2 System?

ginga005

El desafío: ¿Cómo hago para sincronizar la interacción del usuario, si yo no se cuando va a pasar algo en una transmisión en vivo, si yo no se cuando el usuario va a presionar el botón de interacción?. ¿Cómo hago que cuando Tévez meta un gol en el minuto 14 del primer tiempo salga un botón de interacción y que si el usuario lo presiona muestre datos estadísticos de los goles de Tévez?
La respuesta es: Multiplexación con sellos de tiempo

ginga006

Flujo de transporte
En mi aplicación ya está escrito el programa y están los datos. Esos paquetes los voy mandando a través de un carrusel de datos.

ginga007

Las aplicaciones son una “Quinta cercada”, porque uno puede siempre transitar por dentro de esa Quinta pero no puede salir.

Las aplicaciones se montan sobre el Middleware
El desarrollador no se preocupa por la plataforma, se abstrae de todo lo que pase por debajo del Ginga.

ginga009

ginga008

Paradigmas de Programación – Imperativo (procedural) Vs Declarativo

ginga010

Tenemos dos tipos de sincronismo:
▪ Con la intervecnión del espectador (presiona un botón)
▪ Sin la intervención del espectador (simplemente aparece la interacción en determinado momento)
La Tv no es una computador porque:
▪ La tv es una trnamisión por difusión, para muchos, no espersonalizada
▪ El espectador tiene uns distancia más grande al TV de la que se tiene a una PC
▪ La interacción a través del control remoto es pobre comparada con la Pc
▪ Usualmente hay más de una persona mirando

La interacción del usuario debe ser tratada como un caso particular de sincronismo

ginga011

La sincronización debe ser basada en la estructura

ginga012

Es un sistema pensado para múltiples dispositivos

ginga013

Adaptabilidad

La información que muestran los popups de las propagandas pueden ser adaptables al perfil del espectador (por ejemplo su edad), según el dispositivo que usa, según la zona geográfica en la que se encuentra, etc.
¿Por qué se eligió NCL para ser el lenguaje declarativo del Sistema?

ginga014

Programando en NCL – Modelo conceptual

Hay 4 entidades básicas que te permiten especifica que vas a exhibir

ginga_021

1 – ¿Qué voy a exhibir? (Nodos)
Son objetos media, son videos, imágenes o audios.

ginga_022

Se trabaja con el concepto de contextos.

ginga_023

Los contextos pueden tener puertas (port) que externalizan las interfaces.

ginga_024

2 – ¿Adónde quiero exhibirlo? (Regiones)
Primero se define en que dispositivo. Luego se define en que región de ese dispositivo.

ginga_025

3 – ¿Cómo voy a exhibirlo? (Descriptores)

ginga_026

4 – ¿Cuándo voy a exhibirlo? (Links y conectores)
El cuando es siempre relativo porque nosotros definimos relaciones de causalidad entre objetos. Ej: “When video1 finishes start audio1”

ginga_027

ginga_028

Tipos de dispositivos

▪ Dispositivo Pasivo (Clase 1)
Solo es capaz de recibir un mapa de memoria y presentarlo
Toda relación de sincronismo está en el SepTopBox
Si un usuario en un dispositivo pasivo conectado a un STB realiza una interacción, la misma se va a visualizar en todos los dispositivos pasivos conectados a ese STB

▪ Dispositivo Activo (Clase 2)
En un dispositivo activo, lo que se ve en cada pantalla es distinto.

Estructura de un documento NCL

ginga_029

ginga_030

Próximamente publicaremos otro artículo con 14 ejemplos para que cualquier programador pueda dar sus primeros pasos en Ginga

Respuestas

  1. Pablo dice:

    Noviembre 21st, 2009at 9:28(#)

    Ramiro muy buena la info, me interesa mucho este tema de Ginga. Entrare seguido al sitio a ver cuando tienes listo el articulo de los 14 ejemplos. Te adradezco la info que publicas
    Pablo

  2. Richard Torrico dice:

    Febrero 6th, 2010at 22:50(#)

    realmente muy interesante … soy nuevo en el tema, pero la verdad me intereza mucho quiero hacer mi trabajo de grado con aplicaciones para television digital asi q tb estare muy atengo a los 14 ejemplos … espero recibir apoyo. Gracias

  3. TDT – TV Digital « Enlace Linux dice:

    Marzo 1st, 2010at 3:12(#)

    [...] Ginga, desarrollo de aplicaciones para tv digital (info general tambien) [...]

  4. CEFCE » En Tandil: Charlas sobre TV Digital dice:

    Agosto 12th, 2010at 22:07(#)

    [...] Ginga: Desarrollo de aplicaciones para TVD [...]

Deje su comentario