Red de conocimiento informático - Aprendizaje de programación - Funciones del módulo principal del sistema de MHP

Funciones del módulo principal del sistema de MHP

(1) Aplicación

El entorno proporcionado por el modelo de referencia puede probar y certificar fácilmente la aplicación. Las aplicaciones diseñadas completamente de acuerdo con el modelo de referencia generalmente pueden funcionar sin problemas. Para los proveedores de aplicaciones, también se protegen sus derechos e intereses. Porque pueden diseñar aplicaciones flexibles que pueden usarse ampliamente en diferentes plataformas sin estar limitadas por el decodificador subyacente.

DVB-TAM define una aplicación como: una aplicación funcional que puede utilizar módulos de software para implementar servicios interactivos. Una aplicación también puede verse como una serie de funciones que activan los recursos de software y hardware de MHP.

Una aplicación interactiva consta de las siguientes dos partes básicas:

·Script de aplicación (interpretado o de procedimiento);

· Contenido/escenario (GUI y transmisión de medios). ).

La interfaz gráfica de usuario (GUI) es la interfaz para que los usuarios interactúen con el decodificador, incluido el diseño de escenas, botones de selección, imágenes fijas, texto, etc. Se puede decir que toda la interfaz gráfica de usuario está compuesta por muchas escenas, y cada escena está compuesta por una serie de widgets, objetos de programación y propiedades. La conexión entre cada escena y cada objeto de programación se completa mediante un mecanismo especial.

Las aplicaciones de procedimiento son programas basados ​​en funciones de gama baja y bibliotecas de clases. Generalmente se usan cuando es necesario optimizar los recursos del host (como maximizar la utilización de los recursos de la red de transmisión, etc.). Generalmente depende de la plataforma, por lo que será necesario realizar cambios al realizar la migración a diferentes plataformas de host.

Las aplicaciones interpretadas constan de funciones y bibliotecas de clases de alta gama. Esto nos permite utilizar un modelo de referencia independiente de la plataforma para verificar si una aplicación es compatible con la plataforma.

De hecho, no todas las solicitudes son necesariamente interpretadas o procesales. Por ejemplo, podemos incrustar código de procedimiento en aplicaciones interpretadas, lo que puede reducir en gran medida la longitud del código y la eficiencia de ejecución del programa. El problema de la independencia de la plataforma se resuelve mediante el motor en tiempo real y la máquina virtual integrada en el host. Por supuesto, si no se considera la compatibilidad durante el diseño de la plataforma, será difícil lograr una buena portabilidad entre diferentes plataformas.

Una aplicación es identificable y puede ejecutarse automáticamente o previa solicitud. El modo de visualización de la aplicación puede cambiar de tamaño o se ejecuta en segundo plano. La gestión de aplicaciones incluye: interrupciones, manejo de errores, modo de prioridad y gestión dinámica de recursos. Los recursos del sistema deben liberarse al salir de la aplicación.

(2) Mecanismos de entrega de aplicaciones

Después de empaquetar el script del programa y el contenido relacionado en objetos de aplicación, se convierten en objetos DSM-CC. El estándar DSM-CC está formulado por la organización MPEG. De manera similar a los protocolos de comunicación de red, debe haber un conjunto de protocolos de comunicación entre el front-end de transmisión de datos y el dispositivo receptor de transmisión de datos para garantizar la transmisión y decodificación de datos. Estándar MPEG-2 DSMCC Es un protocolo tan abierto. En comparación con otros protocolos, DSMCC considera principalmente cómo lograr una transmisión de datos rápida cuando los recursos del dispositivo final receptor son limitados. DSM-CC UU es una interfaz que nos permite obtener objetos en formato DSM-CC desde transmisiones de difusión o desde servidores remotos.

Los objetos DSM-CC permiten que un módulo de anillo de datos transporte uno o más objetos de programa. Los objetos son modulares, lo que optimiza el rendimiento del uso de la memoria. DSM-CC también proporciona herramientas de compresión para formatear objetos de programa y objetos de anillo de datos, y el mecanismo de envío también garantiza la seguridad de las descargas de objetos de anillo de datos.

(3) Definición de interfaz de programación (API)

La definición de API de DVB-TAM es: es una serie de funciones, estructuras de datos y protocolos de alto nivel utilizados para representar la independencia de la plataforma. Interfaz estándar para software sexual. Utiliza un lenguaje orientado a objetos y puede reutilizar de manera flexible funciones existentes.

Una aplicación describe una serie de objetos según la definición de API de gama alta. Define la interfaz entre la aplicación y los recursos de hardware y software nativos.

Los siguientes requisitos están definidos para la API.

· Herencia: Es reutilizable.

Para los lenguajes orientados a objetos, la heredabilidad es una característica muy importante. Los datos o métodos de una clase principal (superclase) pueden ser heredados y utilizados por sus subclases (subclases), y las subclases de las subclases también pueden heredarse y utilizarse. La reutilización de datos (reutilización) mejora en gran medida la eficiencia de la programación.

· Apertura: Puede ser referenciado por otras instancias de la interfaz.

·Abstracción: utiliza tipos de datos abstractos para encapsular funciones de gama baja y no se pueden utilizar directamente. Sólo las acciones autorizadas pueden interactuar con el exterior, garantizando así la integridad y seguridad del código fuente.

· Flexibilidad: es independiente del hardware y la API también se puede actualizar en el futuro debido a actualizaciones de hardware y al cambio a diferentes sistemas de hardware. Por ejemplo, puede agregar nuevas bibliotecas de clases descargándolas.

Dependiendo de los diferentes formatos de la aplicación, la API de gama baja se utiliza para manejar funciones de proceso, mientras que la API de gama alta se utiliza para manejar funciones interpretadas.

· API de gama baja corresponde a programas basados ​​en procesos. Estas API no solo necesitan aclarar las funciones de la aplicación, sino también preocuparse por los recursos.

· API de gama alta corresponde a programas interpretados. Cuanto mayor sea el nivel utilizado para la capa de interpretación abstracta, más independiente se vuelve el sistema. La API solo necesita describir la función de la aplicación y no necesita preocuparse por si el recurso está activado. La formulación de definiciones de API abiertas garantizará que los decodificadores DVB alcancen funciones independientes del hardware.

DVB-MHP describe las funciones de la API de la siguiente manera.

· Admite aplicaciones almacenadas de forma nativa o descargadas en vivo.

· Soporte WYSIWYG.

· Admite acceso a bases de datos (como formularios DVB-SI).

· Compatibilidad.

Como parte central del proyecto MHP, un estándar API abierto y prometedor debe ser modular, portátil, flexible y extensible. Permite a los proveedores de contenidos y servicios utilizar plataformas diferentes pero mutuamente compatibles para prestar servicios.

(4) Sistema de navegación (Navegación/Selección)

Cuando se inicia el decodificador, la función de navegación integrada ejecuta el programa de navegación de primera capa llamando a la API correspondiente. La API también se puede utilizar para controlar transmisiones de TS, como canales y programas de navegación.

La navegación también se puede ejecutar directamente desde código ejecutable sin necesidad de utilizar API e intérpretes relacionados. En el modelo recomendado por DVB-TAM, el módulo del sistema de navegación y la API están ubicados al mismo nivel para que los datos se puedan obtener fácilmente del canal de datos y del flujo TS.

El sistema de navegación básico incluye las dos funciones siguientes.

· Listado de todos los programas disponibles.

· Proporcionar teclas de acceso directo para facilitar a los usuarios el acceso al contenido del programa.

El sistema de navegación mejorado se implementa mediante la Guía Electrónica de Programas (EPG), y las funciones mejoradas incluyen carpetas de usuario y marcadores.

(5) Inicio y control de aplicaciones (Inicio y control de aplicaciones)

El funcionamiento de una aplicación incluye inicio, aplicación y rendimiento. El código del programa puede residir en el decodificador o descargarse desde un servidor remoto. Si se descarga desde un servidor remoto, la aplicación se puede actualizar automáticamente.

La función del Administrador de Aplicaciones es.

· Adquirir y liberar recursos del sistema.

· Gestión de errores y manejo de excepciones.

· Inicializando e interrumpiendo sesiones (Session).

· Verificar la integridad del código y los datos.

· Sincroniza instrucciones e información.

· Ajusta el formato de los gráficos de visualización para adaptarlo a los requisitos de las diferentes plataformas.

· Permite *compartir contenidos y variables.

· Tener un estilo de presentación ordenado y limpio.

(6) Funciones de seguridad

Aunque la definición del módulo de cifrado aún no se ha completado, DVB ha definido los requisitos para las API que implican cifrado.

· Se deben utilizar módulos de cifrado comunes para garantizar la compatibilidad entre diferentes operadores de transmisión y proveedores de contenido al intercambiar programas.

· Las API que implican cifrado deben ser independientes del sistema de acceso condicional. Si es necesario, la API de MHP debe estar abierta a funciones relacionadas con CA.

Las consideraciones de seguridad importantes también implican:

· Protección de los recursos del sistema contra el uso indebido, como el acceso excesivo a la memoria.

· Protección de datos privados frente a accesos no autorizados.

(7) Middleware (Middleware)

Los proveedores de servicios de programas utilizan diversos servicios en forma de aplicaciones a través de canales de transmisión (por ejemplo, redes de datos multimedia de banda ancha, redes de televisión por cable) Lanzamiento ( ej., EPG), el usuario enciende el televisor y navega por el decodificador. La información de demanda del usuario (por ejemplo, video a pedido VOD) se transmite al servidor de video a través del canal de carga (por ejemplo, línea telefónica Módem o cable de televisión por cable), y los elementos de servicio correspondientes se seleccionan de acuerdo con la solicitud y se descargan en el terminal de usuario a través del canal de transmisión en forma de aplicación -En la memoria flash del decodificador. La aplicación llama a la API contenida en el middleware del decodificador Flash para ejecutar la aplicación y completar la función solicitada por el usuario.

El propósito del middleware es proporcionar funciones básicas y comunes de los decodificadores a los fabricantes de decodificadores en forma de API para realizar la estandarización de las funciones interactivas de la televisión digital y al mismo tiempo hacer elementos de servicio (en forma de aplicaciones) La cantidad de datos descargados al decodificador del terminal del usuario a través del canal de transmisión se reduce al mínimo. Los productos de middleware generalmente son proporcionados por terceros que no son proveedores de programas ni fabricantes de decodificadores. Son muy beneficiosos para simplificar y estandarizar aún más la producción de programas para los proveedores de programas y para los fabricantes que producen decodificadores. Esta es una manifestación concreta de la segmentación del mercado en la era de la economía del conocimiento.

La implementación del middleware depende directamente del formato de la aplicación (ya sea interpretada o basada en procesos) y de si la aplicación es una API de gama alta o baja. Cada implementación exitosa de middleware se adapta a las características de la plataforma nativa.

Existen diferentes formas de implementar motores interactivos y en tiempo real, pero normalmente se requieren los siguientes módulos.

· Funciones de biblioteca;

· Intérprete de scripts y contenidos;

· Gestor de eventos (manejo de controles remotos y otros dispositivos, respuestas del usuario, identificación, temporización, error). manejo);

· Bootstrap (Cargador).

Basándose en el uso de API, el motor en tiempo real proporciona interfaces de bajo nivel con el hardware y el software del sistema. El motor en tiempo real puede activar programas residentes nativos, y los programas residentes nativos pueden depender de la plataforma, mejorando así el rendimiento del sistema y reduciendo las restricciones operativas en el nivel de la aplicación interpretada (como la compresión del tamaño de los objetos de la aplicación descargados). El motor en tiempo real es código ejecutable que hace referencia al modelo de referencia y está optimizado según las características de cada plataforma.

Las máquinas virtuales se suelen utilizar para ejecutar funciones procedimentales (como cálculos complejos, procesamiento de información y texto, compresión de datos) o programas residentes para mejorar el rendimiento de las aplicaciones interpretadas.

Debido a la aplicación de motores en tiempo real y máquinas virtuales, la API puede implementar aplicaciones independientes de la plataforma.

(8) Recursos de hardware y software

MHP debe tener una interfaz de usuario amigable. Para dispositivos periféricos, son necesarios dispositivos de visualización y dispositivos de entrada como (controles remotos). Además, puede optar por utilizar un teclado, un dispositivo de almacenamiento local integrado o externo. La conexión de estos dispositivos periféricos debe ser "plug and play".

Para un decodificador basado en MHP, los recursos de hardware internos incluyen: front-end, demultiplexación, decodificación, filtrado, interfaz general, interfaz de comunicación, sistema CA, memoria y controladores relacionados.

Para realizar las funciones estándar actuales de DVB, el decodificador debe tener al menos 1 MB de memoria flash y 1 MB de memoria, y la velocidad de la CPU debe alcanzar 20 MIPS. Si tienes una memoria flash de 16 MB, una memoria de 32 MB y una CPU de 100 MIPS, puedes hacerlo con facilidad. Los recursos de hardware se pueden asignar especialmente, como especificar que el 70% del tiempo de procesamiento de la CPU se utilizará para ejecutar aplicaciones, mientras que el 30% restante del tiempo se utilizará para la administración del sistema.

El siguiente contenido se almacena en la memoria:

·Intérprete API;

·Funciones de biblioteca;

·Motor en tiempo real y Máquina virtual

· Bootstrap (cargador);

· Herramientas del sistema

· Sistema de archivos

· Firmware; /p>

· Sistema operativo (incluido inicio, gestión de memoria, gestión de tareas, gestión de recursos, reloj, etc.

· Controlador

· Sistema de navegación;

Permite la descarga de múltiples versiones de aplicaciones en la memoria flash. Al mismo tiempo, la administración de la memoria también es bastante flexible: utiliza la administración de bloques. Los segmentos de memoria utilizados para diferentes programas tienen identificadores diferentes y solo se pueden actualizar los programas en un determinado segmento de memoria.

El programa de aplicación enviado por el bucle DSM-CC se almacena en la RAM. Al mismo tiempo, la RAM se puede utilizar para almacenar el búfer de datos para la decodificación de vídeo y audio, que se utiliza para la gestión dinámica de la plataforma (. como pila, cola de procesos, etc.) Almacenar variables utilizadas en la aplicación.

La configuración más básica del sistema y la configuración de fábrica suelen almacenarse en EEPROM (generalmente no más de 10 KB).