OCAP: TELEVISION INTERACTIVA SOBRE OPENCABLE ING. JUAN CARLOS DI BELLA G. UCV. Caracas – Venezuela Email: [email protected] RESUMEN Con la digitalización de las señales de televisión por cable surge la posibilidad de ofrecer servicios interactivos. La falta de estándares ha dificultado el desarrollo de este tipo de servicios, por esto la industria del cable norteamericana, a través de CableLabs, decide crear OCAP (OpenCable Applications Platform) como una plataforma de software común para el desarrollo de aplicaciones interactivas. OCAP está basado en su versión 1.0 está basado en Java, mientras que en su versión 2.0 se basa en HTML. Usando las APIs de Java OCAP puede manejar las funciones del hardware sin importar su marca o modelo, facilitando la compatibilidad y beneficiando a los fabricantes de SetTopBoxes, a los programadores y a los proveedores de servicios. Palabras Claves: Estandar, Televisión Interactiva, Java, Compatibilidad. ABSTRACT The OpenCable Applications Platform (OCAP) is the software environment standard developed by the North American cable TV industry to enable interactive applications to run on cable. OCAP is a software specification that provides a “middleware” between applications and the underlying device. This layer allows the same program files to run on a number of different types of devices, the key of this feature is the Java Technology. OCAP defines a set of Java Application Programming Interfaces (APIs). These are Java classes that applications use to manipulate the underlying device. The standardization is the key to impulse the interactive TV services and the deployment of new business in the cable TV industry. conjuntamente con los servicios que se han venido ofreciendo, dándole un valor agregado al negocio. INTRODUCCION Luego de la transición hacia las señales digitales en las redes de TV por cable surge la posibilidad de ofrecer servicios interactivos a los suscriptores. Un primer ejemplo de estos servicios es la guía electrónica de programación (Electronic Progamming Guide, EPG). Este software analiza la información que se transmite en la red y ofrece una interfase que le permite al suscriptor navegar por la programación de un canal, además de funciones útiles como búsquedas, programas favoritos, etc. Las redes digitales además permiten ofrecer servicios interactivos Durante los últimos años distintas compañías han ideado plataformas para ofrecer interactividad, siempre de forma propietaria. Aunque los proveedores de servicios están en capacidad de manejar aplicaciones interactivas, la lentitud en el establecimiento de los estándares ha hecho sufrir al mercado. Sin la estandarización y sin una plataforma de software homogénea los proveedores están en la disyuntiva de que plataforma propietaria escoger, 1 limitando su acción a una porción de la red o a un sector de los usuarios. Televisión Interactiva (iTV) en Europa, organizaciones en los Estados Unidos decidieron ejecutar un trabajo similar, creando un estándar para iTV adaptado a sus necesidades. Una de las primeras organizaciones que empezó con esta labor fue CableLabs, institución sin fines de lucro establecida por la industria del cable norteamericana para desarrollar estándares comunes. Aunque los estándares de CableLabs no están tan expandidos como los generados por DVB, juegan un papel importante en la industria. OCAP (OpenCable Application Plataform) es la respuesta de la industria norteamericana del cable a este problema. Haciendo la transición a un solo entorno de software, los operadores de las redes y los desarrolladores pueden disfrutar de los beneficios de la estandarización, al crear una serie de servicios compatibles con cualquier dispositivo conectado a la red. OCAP es desarrollado por los mismos operadores de los servicios de televisión por cable, principalmente para permitirse crear sus propias aplicaciones interactivas a través de la más amplia gama de dispositivos en sus redes. CableLabs originalmente desarrolló OpenCable, una familia de estándares para ofrecer una base común para los sistemas de TV por cable en Estados Unidos. Aunque OpenCable es un estándar depurado que ofrece grandes beneficios a la industria, no contempla la interactividad del usuario con el sistema. Por esta razón surge un nuevo estándar, OpenCable Application Plataform (OCAP) o Plataforma Aplicativa para OpenCable. Para el momento de la creación de OCAP el estándar MHP ya había sido difundido, por esto CableLabs decidió reusar elementos de MHP donde fuese apropiado y reemplazar aquellos que no se ajustasen. Con OCAP se pueden generar nuevos contenidos a ser transmitidos por la red de cable, ofreciendo la generación de nuevos servicios y negocios. Entre los servicios que han sido identificados y que pueden ser establecidos usando OCAP se pueden nombrar: Avisos publicitarios de forma dirigida y segmentada. Compras con un solo clic a través del control remoto. Guías de programación específicas Encuestas Ventanas de información (ej. Resultados de los deportes). Tener estándares que estén bastante relacionados es un beneficio, más aún tomando en cuenta las economías de escala que rigen la industria de los servicios de TV por cable a nivel mundial. Por ejemplo un fabricante de SetTopBoxes (STB)3 podría producir un mismo equipo capaz de funcionar en ambos sistemas, simplemente haciendo ligeras modificaciones en el middleware. De igual forma los proveedores de aplicaciones se pueden aprovechar de estas características al usar una misma aplicación en sistemas MHP y Por supuesto, el rango de servicios solo está limitado por la imaginación y por las necesidades del mercado. ANTECEDENTES DEL OCAP Tal como DVB1 desarrolló el estándar MHP2 como una plataforma común para la 2 MHP: Estándar Europeo para televisión interactiva creado por DVB. 3 SetTopBox: Equipo que recibe la señal de la red de televisión, la transforma y se encarga de mostrarla en la pantalla del televisor. 1 Digital Video Broadcasting Project, organización europea dedicada al desarrollo de estándares para la difusión de TV digital 2 en sistemas OCAP, sin necesidad de reescribir de nuevo todo el código. Las APIs de OCAP han sido desarrolladas por distintas organizaciones como CableLabs, Sun Microsystems, DAVIC, etc. A través de las APIs, OCAP define otros requerimientos de la red y del hardware, por ejemplo la señalización de la red requerida para levantar las aplicaciones y las reglas para mostrar los gráficos en la pantalla. DETALLES DE OCAP OCAP es una especificación de software que provee una capa de abstracción entre la aplicación y el dispositivo en el cual corre dicha aplicación. Esta capa es comúnmente llamada middleware, y permite que el mismo programa pueda correr en dispositivos distintos. La clave de esta plataforma es la tecnología Java, que provee de la funcionalidad denominada “prográmalo una vez, córrelo donde sea”. A pesar de estos requerimientos la especificación intenta ofrecer la mínima definición posible de la plataforma, con el fin de dar la mayor flexibilidad en la implementación. Una implementación de OCAP es una combinación de hardware y software, es decir un dispositivo capaz de correr software OCAP. Adicionalmente el equipo debe soportar la inclusión de un dispositivo removible para acceso condicional, el cual le indica al SetTopBox que servicios están disponibles para el subscriptor y el método de cifrado a usar para desencriptar la información. Esta es una característica crucial para los operadores de TV por cable, ya que mientras las empresas fabricantes desarrollan nuevos dispositivos para ser conectados a la red, el mismo programa debe correr de igual forma en todos los equipos. No se requieren tener distintas versiones de la aplicación. Esta misma característica le permite a los desarrolladores crear aplicaciones en el laboratorio y colocarla en producción sin cambios, directo al suscriptor, minimizando los tiempos y costos asociados. Como distintas redes pueden usar diferentes sistemas de cifrado el equipo OCAP sólo requiere que se le conecte el dispositivo de acceso condicional (una tarjeta o un chip). El equipo OCAP no debe preocuparse de que tipo de cifrado se usará ni de en que red trabajará manteniendo así la compatibilidad con la infraestructura existente. OCAP define una serie de APIs (Application Programming Interface) de Java, que la aplicación utiliza para manipular el hardware del dispositivo. Las APIs son clases de Java que proveen funciones genéricas que el desarrollador puede usar independientemente del modelo o marca del equipo. Si un fabricante requiere que su dispositivo sea certificado por cumplir con el estándar OCAP, CableLabs ejecutará una serie de pruebas para verificar el buen funcionamiento del estándar en el equipo, todo esto antes de que pueda ser colocado en la red. Esta acción protege a los programadores y a los proveedores de servicios, asegurando que sus aplicaciones correrán efectivamente en los equipos que lleguen al usuario final. Haciendo una analogía, estas clases de Java se comportan como el acelerador, el volante y los frenos en un carro, sin importar la marca del vehículo los controles funcionan de igual manera y la aplicación ejecutará las mismas tareas sin importar donde este trabajando. 3 Toda la información de la aplicaciones, incluso aquella que es descargada para ser usada luego, será transmitida dentro del stream MPEG-2 que transporta el audio y el video del servicio padre. Esta información se divide en dos partes: LAS APLICACIONES OCAP Actualmente existen dos versiones de OCAP. OCAP 1.0 está definido sobre el entorno de Java y OCAP 2.0 está construido sobre la versión 1.0 pero agrega un entorno basado en HTML. Actualmente hay poca actividad en el desarrollo de OCAP 2.0 y se han enfocado los esfuerzos en la versión basada en Java. Se espera que otras versiones de OCAP sean desarrolladas, conforme los requerimientos del negocio sean identificados. El estándar está diseñado de manera tal que nuevas extensiones pueden ser incorporadas a la plataforma básica sin requerir grandes modificaciones. 1. La información requerida para conformar la aplicación. El servicio de broadcast se comporta como un sistema de archivos donde el receptor toma los que necesita. 2. La información requerida para iniciar la aplicación. Obtener los archivos no es suficiente para iniciar la aplicación, el receptor necesita saber que archivos componen la aplicación y que se necesita para iniciarla. OCAP usa un concepto tomado de MHP, llamado Application Information Table (AIT). Esta tabla le dice al receptor que aplicaciones están disponibles y como iniciarlas, así como información adicional para la visualización. Cada aplicación OCAP está asociada a un servicio, no existe ninguna que sea totalmente independiente. Esto quiere decir que el ciclo de vida de una aplicación OCAP está íntimamente relacionado con su servicio padre, y entonces si el usuario cambia el canal probablemente las aplicaciones del canal anterior serán eliminadas. Aplicaciones Java En las dos versiones de OCAP se definen las restricciones sobre qué pueden hacer las aplicaciones, así que las mismas no serán totalmente compatibles con cualquiera de los estándares Java o HTML. Para distinguir las aplicaciones OCAP de sus contrapartes en Java o HTML puro se usan los terminos OCAP-J y OCAPHTML para referirse a ellas. Por otro lado, aunque las aplicaciones OCAP comparten muchas funciones y APIs con las aplicaciones MHP no son 100 % compatibles. Los programadores deben tener cuidado al momento de migrar sus productos del estándar europeo al americano y viceversa. Así como se mencionó anteriormente, las aplicaciones OCAP-J no son exactamente iguales a las aplicaciones normales en Java. Además de las diferencias en cuanto a lo que una aplicación puede o no hacer, las aplicaciones OCAP-J no siguen el mismo ciclo de vida que una aplicación Java. Más bien tienen un ciclo de vida parecido al de un applet de java, es decir que la vida de la aplicación no esta controlada directamente por el usuario sino por un elemento intermedio y la vida de la aplicación es diferente al de la máquina virtual Java (JVM) donde corre la aplicación. Las aplicaciones OCAP generalmente están asociadas a los servicios de difusión (broadcast), sin embargo es posible descargar una aplicación y almacenarla en el receptor para usarla cuando se requiera. Las aplicaciones Java corren en su propia maquina virtual, la cual es iniciada cuando la aplicación se arranca y es terminada cuando se sale de la aplicación. Las aplicaciones OCAP-J y los applets pueden 4 ser cargados en una maquina virtual que ya esté corriendo y que seguirá corriendo aunque se cierren las aplicaciones. No existe restricciones acerca de cuantas aplicaciones pueden correr en una misma maquina virtual, por ejemplo todas las applets de un sitio Web pueden correr en la misma maquina virtual así como todas las aplicaciones OCAP-J de un servicio pueden compartir la misma máquina virtual. Es importante recalcar que aunque esto es permitido no es obligatorio. Las aplicaciones OCAP 2.0 permiten al receptor mezclar HTML y la información proveniente del proveedor de una forma más flexible. El resultado es un sofisticado y complejo set de tecnologías para manejar contenidos. Se puede decir que OCAP 2.0 es una especificación diseñada para ser el espejo de MHP 1.1 para HTML. Desafortunadamente estos estándares HTML no soportados por la mayoría de los Set TopBoxes, a diferencia de las versiones Java. Debido a las similitudes entre las aplicaciones OCAP-J y las applets, es común que se les llame Xlet. Este nombre es tomado de la especificación JavaTV, la cual define el modelo usado en MHP, OCAP y estándares relacionados. En parte esta diferencia se debe a lo compleja que es la especificación y lo difícil que es implementar el soporte a todos los estándares del consorcio W3C4 en un receptor de TV digital. Además de las APIs de JavaTV, OCAP agrega otras APIs para controlar algunas funciones del SetTopBox. Entre estas funciones se incluye la capacidad de tomar datos del stream MPEG, mostrar gráficos, generar interfaces amigables para el usuario del telerreceptor, entre otras. Para un desarrollador con experiencia en Java crear una aplicación OCAP-J es una tarea sencilla. En la figura 1 se muestra un esquema de la implementación de OCAP. Adicionalmente, luego de que fue lanzada la especificación OCAP 2.0, la industria volvió atrás y se concentró en el desarrollo y mejora de OCAP 1.0. Lo cual se refleja en cambios a esta especificación que no se observan de manera clara en la especificación OCAP 2.0. EL MANEJO DE LOS GRAFICOS CON OCAP Los SetTopBoxes son fundamentalmente diferentes de las PCs en la forma en la que manejan los gráficos. Mayormente esto se debe a tres rezones: Fig. 1 – Arquitectura de la implementación OCAP Un SetTopBox generalmente despliega video en el fondo, con gráficos solapados en el video. Los SetTopBoxes se ven más afectados por limitaciones en los costos, así que se trata de integrar lo más posible el hardware limitando las capacidades si se comparan con los PC. Aplicaciones HTML 4 W3C (World Wide Web Consortium) Organización que produce estándares para la World Wide Web 5 El SetTopBoxes no tiene control sobre el dispositivo de salida y conoce muy poco acerca de él. estándar europeo simultáneamente. Para los proveedores se abren nuevos negocios y nuevos servicios que ofrecer. Al final OCAP beneficia al usuario porque recibirá servicios novedosos, de mejor calidad y más económicos. El modelo AWT de Java no es capaz de resolver estas limitaciones, por esto OCAP (igual que MHP) usa las extensiones HAVi en vez de AWT para cumplir con los requerimientos impuestos por el televisor y el SetTopBox. BIBLIOGRAFIA http://www.interactivetvweb.org/tutorial/ocap/ http://www.dvb.org/index.php?id=335 http://www.opencable.com/specifications/ http://java.sun.com/products/javatv/ Los gráficos en OCAP se dividen en tres capas. La primera y más baja es la “capa de fondo”, que generalmente muestra un color o en el mejor de los casos una imagen. Luego viene la “capa de video” que como su nombre lo indica muestra video en movimiento. Por último se muestra la “capa de gráficos” la cual muestra las opciones de las que dispone el usuario. En la figura 2 se pueden observar estas capas. Fig. 2 – Gráficos en OCAP CONCLUSIONES La estandarización es la clave para impulsar el desarrollo de los servicios de televisión interactiva. OCAP es un estándar creado con ese fin, que se basa en su homólogo europeo MHP y está construido sobre la tecnología Java. Con OCAP se pueden disminuir los costos y tiempos de desarrollo, al permitir el uso de la misma aplicación sin importar el equipo sobre el que corra. Por parte de los fabricantes, pueden producir un mismo equipo compatible con OCAP y con el 6