Anda di halaman 1dari 34

Tema 07: Introduccin a GingaNCL

Maestria en Telecomunicaciones y Telematica


Television Digital e Interactividad, TTL-572
Historia de NCL (Nested Context Language

Cuando se creo la idea de la television Digital


y su interactividad, se tuvo que crear todo el
modelo para que este funcione.
Se tuvo que pensar en un lenguaje que sea
simple para ser entendido y aprendido por
personas que no sean programadores, ya que
ahora, el televidente puede ser parte del
proceso de generacin de contenidos, as
como son las redes sociales.
Este lenguaje debe ser ligero y su intrprete
debe ejecutarse en los receptores de bajo
costo y por lo tanto, con recursos limitados.

Este lenguaje tambin debe ser lo


suficientemente potente como para no limitar
la creatividad.
Un desarrollo de aplicaciones de televisin
puede seguir diferentes paradigmas de
programacin:

El imperativo, es el estilo de programacin
convencional, donde las aplicaciones se
descomponen en pasos de clculo que nos
dan una especificacin de algoritmos.


La declarativa, que hace hincapi en la
descripcin declarativa de un problema, en
lugar de su descomposicin en una
aplicacin algortmica.

Una aplicacin de TVD se compone de
escenas, pero a diferencia de un TV analgica,
una escena se compone no slo del vdeo
principal y el audio principal, pero adems de
otros objetos multimedia como imgenes, texto,
otros videos y audios, que se sincronizan en
tiempo y espacio.


Sincronizacin temporal es una cuestin clave
importante.
A diferencia de TV analgica, en TVD, los
cambios de escena pueden ser no secuencial
e incluso puede depender de una intervencin
del espectador. Sin embargo, las
interacciones con el espectador no deberan
ocurrir con tanta frecuencia, en comparacin
con las aplicaciones diseadas para
ordenadores.

La TV no es una computadora.
Que es el NCM 3.0
(Nested Context Model)
NCM es un modelo conceptual, se centr en la
representacin y manipulacin de documentos
hipermedia.

Un modelo de hipermedia conceptual debe


representar los datos estructurales-conceptos,
as como los eventos y las relaciones en
relacin con los datos.

Esta nueva versin del NCM, llamado NCM
3.0, hace una nueva revisin de la jerarqua
de clases NCM. El nuevo soporte para las
adaptaciones de documentos y la
presentacin, asi como especificaciones como
control de versiones (como ser distribuidas).

NCM es el modelo subyacente al NCL


(Nested Context Language), un idioma de
aplicacin de XML para la creacin de
documentos hipermedia.
Estructura de un documento
Hipermedia
Para crear un documento hipermedia, se debe
definir lo que se quiere:

cargar,

donde cargar (es decir, en esa regin de la pantalla
en la que dispositivo),

cmo cargar (es decir, con que volumen, con o sin
borde, con que player) y
cundo cargar (antes / despus de que los medios de
comunicacin se muestran o despus de que boton
es apretado).
Que Cargar?

En general, lo
primero que
pensamos cuando
empezamos a ,,
,,
disear un programa ,,
,
,
es el contenido ,,
audiovisual
interactivo. Este
contenido est
representado por los
nodos de media.
....
Todos los nodos de
media se encuentra
- --- I
\

I
dentro de un I\
I
contexto. En NCL, el
elemento del cuerpo
.... -
-- /
.,, I
\

es el contexto que ........ .,


contiene todos los -- /
""'
nodos del documento
hipermedia, sean

Se ilustra un documento con 4 nodos de media, de


los cuales 3 se encuentran dentro de un contexto
(CTX1) anidados al cuerpo.
Donde Cargar?

Como se vaya definiendo el contenido del


programa, comenzamos a definir el rea en la
que cada medio medio se mostrar en la
pantalla, utilizando elementos llamados
regiones.

Una regin indica la posicin y las


dimensiones de un rea donde una media
ser presentada. Es decir, una regin sirve
para inicializar la posicin de los nodos en un
medio local especfico.

Es importante sealar
que una regin define
donde la media podr
ser presentada, pero
no tiene relacin
alguna con cada media
en particular.

Esta asociacin se
hace a travs de un
descriptor
Cmo Ejecutar?
La asociacin de una
Cuando se define un
media a una regin es descriptor, es necesario
definida por un descriptor. definir la regin a la que

Los descriptores son se asocia. Todos los


tambin utilizados para medios que utilizan el
definir cmo las medias descriptor estn
deben ser presentadas. asociados a la regin
correspondiente.

Por ejemplo, un descriptor


de una media de audio
puede ajustar el volumen,
en una imagen cierto
grado de transparencia
-
Incluso si no se desea cambiar la forma en que
una media se presentar, es necesario un
descriptor asociado a la regin donde la media
debe ser presentada.
Cuando Ejecutar?

Para definir cual es el primer nodo del


documento que se presentar, se debe crear
un puerto en el contexto cuerpo para ese nodo.
Si hay ms de un puerto en el contexto cuerpo,
se abren todos los puertos en paralelo.

Identificar por donde el documento empezar a


ser presentado es slo una caracterstica
especfica de un puerto. De hecho, los puertos
son necesarios para dar acceso a los nodos
(sean nodos de media o de contexto) internos
para cualquier contexto, y no slo al cuerpo.
-

El nodo video1 del contexto ctx1 slo puede ser


accesado desde afuera del contexto ctx1 a
travs del puerto pVideo1. Y tenemos Audio1 e
Imagen1 que no pueden ser accedidos desde
fuera del contexto ctx1.

., - -- -- .. ..
ctx 1

,. .. ..
ideo "Video l"
' '\
contexto ctx
" s
accesib e a \
tra ves del puerto
"pVideo l" I
\ I
I
'' ;
/

' ...
--- -
..
-

Para definir cundo un nodo de media ser


presentado en relacin con los dems, se
crean enlaces que se utilizan para establecer la
sincronizacin entre los nodos y para definir la
interactividad del programa. El comportamiento
de estos enlaces est dado por los conectores.
.,,. - -- -- .. ....
ctx 1

..
El v ideo "Video l"
' '\
del contexto ctx
" s
l" e accesib e a
l ves del puerto
\
tra
"pVideo l" I
\ I
I
'' ;
/

' ...
--- -
..
Enlaces

Definen el que va a ejecutar, com que y cuando.


Ejemplo:

onBeginStart:
1. cuando

<link xconnector="conn#onBeginStart">
<bind role="onBegin" component=video1/>
<bind role="start" component=video2"/>
</link>
2. el que
3. El que har 4. quien
Perfiles de NCL

Todos los elementos del lenguaje NCL son


ofrecidos en el perfil completo del lenguaje.

Pero, el lenguaje puede ser restringido a


dominios especificos e.g. TV Digital.

Para esos dominios se crearon perfiles


especficos del lenguaje.
Nos centraremos en el perfil EDTV (Enhanced
Digital TV), pero conoceremos los otros
perfiles.
Mdulos NCL

Los mdulos son NCL v.3.0 est


colecciones de dividida en 15 reas
elementos, atributos funcionales, que son
y valores de atributos nuevamente
XML divididos en mdulos
semnticamente
De Las 15 reas, 14
relacionados que
son utilizadas para
representan
definir los perfiles de
unidades de
TVD Avanzada y
funcionalidad.
TVD Bsica.
Nro Areas Funclonales Mdulos Elementos
ncl
1 Structure Structure head

reotonjsas e
2 Layout Layout
reolon
Media media
3 Components Context context
MediaContentAnchor area
oomoc ..iteNodelnterface oort
4 Interfaces ProoertvAnchor orooertv
switchPort
Switchlnterface
rnaootno
cescnotor
Presentation oescrtotort=ararn
5 Descriptor
Specification
oescrtotortsase
bind
bindParam
6 Linking Linking
linkParam
link
causalConnector
connector?aram
causalConnectorFunctionality simnleCondition
(agrupa funclonalidades de los comnnundCondition
mOdulos: slmoleActlon
ConnectorcausalExpresslon;
7 Connectors comnnundActlon
ConnectorCommonPart;
ConnectorAssessmentExpres slon; assessmentStatement
causalConnector) attrlbuteAssessment
valueAssessment
comnnundStatement
ConnectorBase connectorBase
Nro Areas Funclonales M6dulo Elementos
s rule6ase
TestRule rule
com ileRule
TestRuleUse bindRule
8 Presentation
swttchPort
Control ContentControl
defaultCom ,,t
descriDIOISwttch
DescriptorControl
defaultCom ,,t
9 Tlrnmlno Tlmmlno
lmDorlBase
Import importDocumentBas
e
imDorlNCL
10 Reuse
EntitvReuse
ExtendedEntitvReuse
11 Navlaatlonal Kev KevNavlaatlon
12 Animation Animation
TransitionBase transitionBase
13 Trlnsltlon Effects
Transition transition
meta
14 Meta-Information Metainformation metadata
Perfiles NCL

Cada Perfil NCL puede agrupar un


subconjunto de mdulos NCL, permitiendo la
aplicacion de lenguajes de acuerdo a las
necesidades de usuarios.
Cualquier documento conforme a los perfiles
NCL, debe obligatoriamente tener el elemento
<ncl> como su elemento raiz.

El perfil NCL 3.0 completo llamado perfil


completo, comprende todos los mdulos
NCL.
EDTV NCL 3.0 Avanzado

Incluye los mdulos:


ConnectorBase

Structure; Layout
TestRule; TestRuleUse
Media; Context

ContentControl

MediaContentAnchor

DescriptorControl

CompositeNodeInterface

Timming; Import

PropertyAnchor

EntityReuse

SwitchInterface

ExtendedEntityReuse

Descriptor; Linking

KeyNavigation


CausalConnectorFunctional Animation
ity
TransitionBase

Transition; Meta-Information
BDTV - NCL 3.0 Bsico

Incluye los Mdulos:



ConnectorBase

Structure; Layout
Media; Context

TestRule;
TestRuleUse

MediaContentAnchor
ContentControl

CompositeNodeInterface
DescriptorControl

PropertyAnchor
Timming; Import

SwitchInterface
EntityReuse

Descriptor; Linking
ExtendedEntityReuse

CausalConnectorFunction KeyNavigation
ality
NCL 3.0 CausalConnector

Incluye los mdulos:



Structure
CausalConnectorFunctionality
ConnectorBase
Estructura de Aplicaciones NCL

El cdigo NCL, as como un cdigo XML,


debe presentar una cabecera XML cmo
primer linea del archivo:

<?xml version=1.0 encoding=ISO-8859-1 ?>

La estructura bsica de NCL, est


conformada por los elementos <ncl>, <head>
cabecera y <body> cuerpo

El elemento <ncl> pose los atributos id y xmlns, que
identifican la aplicacin y el perfil del lenguaje utilizado,
respectivamente, conforme al siguiente formato:

<ncl id=cadena_de_caracteres
xmlns=http://www.ncl.org.br/NCL3.0/nombre_perfil>

Id: Es una cadena y puede tener el nombre de perfil


EDTVProfile o BDTVProfile

Head: contiene las bases de los elementos referenciados en


el cuerpo e.g. Regiones, descriptores, conectores, otros.
Body: Contiene los elementos que definene el contenido de
la aplicacin e.g. Objetos de media, hilos, contextos, objetos
de switch, los objetos que definen la estructura del
documento NCL
-
Arquitectura

l APL APL2
APLn

Ginga
MPEG - 4 HE- MPEG - 4 HE-
.
4
AAC@L4
H.26 HP@L4. ,
AAC@L3
H.26 BP@Ll. ,
4
4 0
MPEG-2
d
4 3
,
4
I
System
BST-
OFDM
,
Sistema Operativo
Ginga Comon
- Core
Servicio fico Ginga
Especi

Puente
Motor de Motor de
Presentaci6 Ejecuci6n
n
(Programa interprete NCL) (Administrador
Xlet)
Sistema Operativo
Ginga Comon
XHTML API Lua-NCL AP I
-
NCL API
Core
Servicio fico Ginga
Especi
XHTML + CSS LUA
+ECMAScript VM
Puente
Adapt Adapt
XHTML Motor de LUA Motor de
Presentaci6n Ejecuci6n
(Programa interprete (Administrador Xlet)
NCL)
Adaptadores Administrador de
API Bases Privadas
lnteracciones con Usuarios
Aplicaci6n Aplicaci6n Aplicaci6n Aplicaci6n Aplicaci6n
Element as
Puente Software
Maquinade Maquina de Native
Ejecuci6n Monitor de Presentaci6n
Cicio de Vida
API
Red Acceso Servicio de Interface Eventos y Video Digital Otras
Condicional Informaci6n Grafica Datos Difusi6n (MPEG) Midi a
Sistema Operacional
Hardware

Maquina de Ejecucin proceridurales


Maquina de Presentacin declarativas

Puente mapeo bidireccional entre objetos
proceridurales y declarativos.
Gracias

Anda mungkin juga menyukai