El formato de intercambio binario de TV mejorado (EBIF) es un formato de contenido multimedia definido por una especificación [ 1 ] desarrollada en el marco del proyecto OpenCable de CableLabs ( Cable Television Laboratories, Inc. ). El objetivo principal del formato de contenido EBIF es representar una colección optimizada de especificaciones de widgets y código de bytes que definen una o más páginas multimedia , similares a las páginas web , pero especializadas para su uso en un sistema de televisión mejorada o interactiva .
Un recurso EBIF (archivo), es decir, una secuencia de bytes que cumple con el formato de contenido EBIF, constituye la información principal de una aplicación ETV . Un agente de usuario ETV adquiere, decodifica, presenta (widgets) y ejecuta (acciones) el contenido de un recurso EBIF para mostrar una página multimedia al usuario final. Otros tipos de recursos EBIF más especializados desempeñan funciones auxiliares a esta función principal de codificación de páginas visualizables e interactivas.
Formato de recursos comunes
Un recurso EBIF consta de los siguientes componentes:
- Encabezado del recurso
- Sección común opcional
- Sección de plataforma opcional 1...N
Una sección común o de plataforma de un recurso EBIF consta de las siguientes estructuras:
- Encabezado de sección
- Directorio de tablas
- Tabla 0... N-1
- Montón opcional
Tablas
Los siguientes tipos de tabla están definidos para su uso con EBIF:
- Acción
- Datos genéricos
- Metadatos
- Paleta
- Directorio de plataformas
- Referencia
- Localizador de recursos
- Desencadenar
- Widget
Además de lo anterior, un recurso EBIF puede incluir una o más tablas de uso privado que pueden ser interpretadas o utilizadas por agentes de usuario específicos.
Widgets
Los siguientes tipos de widgets están definidos para su uso con EBIF:
- Botón
- Recopilación
- Recipiente
- Forma
- Oculto
- Punto caliente
- Imagen
- Texto de varias líneas
- Página
- Uso privado
- Radio
- Contenedor del grupo de radio
- Rectángulo
- Selector
- Texto
- Entrada de texto
- Minutero
- Video
Comportamiento
En un recurso EBIF, la información programática (procedimental) se presenta en forma de código de bytes , donde cada operación y sus operandos (opcionales) se denominan acciones . Las acciones se organizan en secuencias mediante una o más tablas de acciones , donde cada entrada apunta a (1) una acción codificada y (2) el índice de la tabla de acciones de la siguiente acción que se ejecutará una vez finalizada la ejecución de la acción actual. Una secuencia de acciones finaliza cuando el índice de la siguiente tabla de acciones es un valor especial (0xFFFF) o, en el caso de ciertas acciones de control de flujo, cuando se produce un error. Las secuencias de acciones representan, en la práctica, uno o más bloques de código tradicionales con un posible comportamiento de bucle interno.
Las secuencias de acciones se ejecutan como resultado de la activación de ciertos eventos predefinidos, como un evento de carga de página, un evento de pulsación de tecla, un evento de clic, etc. Por lo tanto, toda la ejecución programática tiene lugar en el contexto de los manejadores de eventos, cuya ejecución es serializada por un agente de usuario ETV .
EBIF define las siguientes categorías de acciones:
- Flujo de acciones de control
- Acciones predicativas
- Acciones de almacenamiento de variables
- Operaciones aritméticas
- Acciones de lógica booleana
- Acciones matemáticas
- Acciones de cadena
- Acciones de matriz
- Acciones de la aplicación y de la página
- Acciones de widgets
- Acciones de tabla
- Acciones diversas
Modelo de memoria
El modelo de memoria de acción se basa en un almacenamiento de variables y no utiliza registros ni pila. A excepción de una variable de valor de resultado interna predefinida , todas las variables se preasignan (y tipifican) en tiempo de compilación. Estas variables se representan en forma de una tabla denominada tabla de referencia aumentada , cuyo contenido se inicializa en tiempo de compilación y, posteriormente, se almacena y modifica en tiempo de ejecución mediante un agente de usuario ETV .
Modelo de ejecución
El modelo de ejecución de acciones se basa en la decodificación y el procesamiento de secuencias de acciones que actúan como gestores de eventos.
La ejecución de secuencias de acciones se serializa mediante el envío secuencial de eventos a los manejadores de eventos, completando la ejecución de una secuencia de acciones que funciona como un manejador de eventos antes de ejecutar cualquier otro manejador de eventos aplicable (para ese evento) y antes de procesar cualquier otro evento en cola.
Véase también
Referencias
- ↑ Grupo de Trabajo ETV (28/01/2011). "Formato de Intercambio Binario de TV Mejorado 1.0" (PDF) . I06. Cable Laboratories, Inc.
Enlaces externos
- Cable digital