# Estàndards de televisió interactiva
## Introducció

El concepte de televisió interactiva no és nou. Ja als anys 80 es va introduir el teletext en la televisió analògica, oferint una interacció limitada amb el nostre televisor, la qual ens donava informació sobre la programació televisiva, el temps, etc. Avui dia, aquest concepte ha anat més enllà i ha desenvolupat una nova i millorada manera d'interacció amb l'usuari. Les primeres televisions de pagament, com ara canal+, van ésser pioneres en adoptar aquesta nova manera, i avui són precedides pels seus formats digitals.
Com a conseqüència de l'apagada analògica, es va desenvolupar el projecte conegut com a Televisió Digital Terrestre (TDT), creant una televisió de format digital pública amb majors prestacions, en competència amb les empreses privades. Entre aquestes prestacions es troben els menús interactius que, com al cas de les televisions de pagament, donen informació a l'usuari i el permeten adaptar el producte a les seves necessitats. Aquesta interacció usuari-televisor és el que avui dia coneixem com a Televisió Interactiva.
Tot això ocorre gràcies als Set-Top-Boxes (STBs), el descodificador de televisió que tenim a casa, que són els encarregats de rebre el senyal digital i descodificar-lo per tal que els nostres televisors analògics el puguin mostrar. Aquest aparell és el que permet que els usuaris puguin accedir als continguts que ofereix la trama de televisió digital. Una de les moltes funcions que té és la d'execució de les aplicacions interactives que és en la que en centrarem en aquest article.
La interactivitat requereix que els STBs es puguin programar i actualitzar dinàmicament, per això existeixen diferents solucions al mercat, entre elles la definició d'una capa de programari intermediari sota la qual s'executen les aplicacions transmeses juntament amb els senyals àudiovisuals. Aquesta capa és més coneguda amb en nom de Middleware. Existeixen diferents softwares els quals els classificarem en funció de si són de propietat privada o públics. A continuació farem un repàs a dita classificació:

## Estàndards tancats o de propietat privada

En aquest article només mencionarem el MediaHighway i l'Open TV, però s'ha de tenir en compte que n'hi ha molts més.

### Media Highway

Estàndard definit per Canal Plus Technologies representa el més ampli rang de solucions del mercat perquè el programari del STBs interpreti i executi aplicacions interactives, emeta programari del servidor per la transmissió d'aplicacions i dades via satèl·lit, cable i xarxes terrestres, a més del desenvolupament d'aplicacions interactives juntament amb els seus entorns de desenvolupament. Inclou diferents perfils per a respondre millor a les necessitats dels operadors.
Aquest estàndard executa aplicacions escrites en llenguatges Java, MHEG-5 o HTML i suporta les especificacions de DVB-MHP, OCAP, DAVIC o ATSC, al mateix temps que afegeix de noves i pròpies

### Open TV Core

És el producte més important d'Open TV, un middleware de televisió digital (TVD) amplament estès, La tecnologia de programari de l'Open TV Core conté una capa d'abstracció de maquinari per permetre que el maquinari sigui independent, biblioteques de TV, una selecció d'entorns d'execució d'aplicacions, i suport per Gravadores de vídeos Personals (PVRs) per crear un entorn TVD pels descodificadors (STBs). Les biblioteques de TV inclouen suport per gràfics rics (RG) i alta definició (HD), comunicació de la xarxa des de línia telefònica fins IP de banda ampla (via DOCSIS, DSL, ethernet o fibra), manipulació dels fluxos d'àudio i vídeo digitals (DVB, així com altres estàndards i formats propietaris), y suport per autenticació i encriptació utilitzant sistemes CA/DRM.
Open TV Core permet un nombre d'entorns d'execució d'aplicacions (AEE) incloent la màquina virtual 'C', un navegador HTML, un entorn de presentació d'Adobe Flash i una màquina virtual de Java conform a l'estàndard MHP. La màquina virtual de 'C' és un entorn d'execució que permet les APIs del Kit de Desenvolupadors de Programari d'Open TV, que permet al proveïdors de continguts crear, en codi O, aplicacions centrades en TV utilitzant eines de desenvolupament d'Open TV o d'altres venedors.

## Estàndards oberts o públics

Definirem els estàndards segons un ordre cronològic degut a la seva aparició en el mercat:

### MHEG

Si fem un repàs a la història veurem que la notació "estàndards oberts" no és nova. Ja en 1997 l'ISO (International Organization for Standardization) juntament amb Multimèdia and Hypermedia Experts Group van publicar l'estàndard MHEG. Això ofería un enfocament declaratiu a la creació d'aplicacions multimèdia, el qual podia funcionar en qualsevol motor que complís amb aquest estàndard. Conceptualment, MHEG es va proposar fer per les aplicacions multimèdia el mateix que HTML va fer en el seu dia pels documents, és a dir, proporcionar un format comú d'intercanvi que es pogués executar en qualsevol receptor.
Es van crear diverses versions:
MHEG-1: aquesta versió incloïa suport per objectes que contenia codi de procediment, el qual podria ampliar el model bàsic de MHEG-1 afegint funcions de presa de decisions, ja que d'altra forma no era possible.
MHEG-3: aquesta versió va definir una màquina virtual estandarditzada i un codi de representació de byte que permet que aquest sigui portàtil a través de plataformes de maquinari.
Aquestes versions no van tindre èxit, ja que els conceptes en els que estaven basats era molt complicats i la indústria encara no estava llesta per les característiques que aquests oferien. Per això, van crear una nova versió en Abril de 1997, el MHEG-5, el qual es va basar en la primera versió de forma més simple. Moltes de les funcions que el conformaven eres iguals però a la vegada hi havia moltes diferències entre ells.
MHEG-3 va ésser superat per l'èxit de Java, per la qual cosa en 1998 van decidir crear la sisena versió, MHEG-6, la qual es va basar en la cinquena versió afegint-le un suport per l'ús de Java per desenvolupar objectes script, d'aquesta forma mesclant la força declarativa de MHEG amb els elements de procediment de Java. Per poder fer això, van definir una interfície de programació d'aplicacions Java (API) per MHEG amb el fin de què el codi Java puguès manipular objectes MHEG en la seva aplicació mare.
Encara que el MHEG-6 no es va estendre, va ésser la base de l'estàndard que va crear DAVIC (Digital Àudio Visual Cuncil), fent honor al seu nom.

### DAVIC

Aquest estàndard va ésser creat poc després que el MHEG-6 en 1998. Es va crear afegint una sèrie nova d'APIs Java a la sisena versió de MHEG. Les APIs d'aquest estàndard permetien als objectes Java l'accés a alguns serveis d'informació, control de prestacions de contingut d'àudio i vídeo i el maneig de la gestió dels recursos en el receptor. Encara que no va ésser possible la creació d'una aplicació Java pura pel receptor DAVIC, les APIs Java ja eren capaços de controlar més elements del receptor de lo que era possible amb altres estàndards.

### DVB-MHP (The Multimèdia Home Platform)

Aquest és l'estàndard definit pel Digital Video Broadcasting (DVB) per oferir serveis interactius en la TVD. És una versió reduïda de la màquina virtual de Java, on s'afegeix un conjunt de funcionalitats extres per l'adaptació entorn de la TVD. Amb la finalitat d'ordenar l'especificació d'aquest estàndard es defineixen tres perfils relacionats amb les capacitats del STBs:
    1. Enhanced Broadcast Profile: les aplicacions interactives es descarreguen via broadcast. No incorpora canal de retorn al STBs.
    2. Interactive Broadcast: incorpora comunicacions bidireccionals via canal de retorn IP fins al servidor, permetent la descàrrega d'aplicacions.
    3. Internet Access: el STB processa continguts extrems d'internet.
Una vegada definits aquests perfils, podem parlar de les versions de MHP. Existeixen dues versions que cobreixen els perfils mencionats:
* MHP 1.0 que cobreix els dos primers perfils. Aquesta versió és la que utilitzen els receptors actuals i la majoria implementen el segon perfil. Molts països l'han adoptat per oferir els seus serveis interactius de TVD, com ara Espanya, Itàlia o Finlàndia.
* MHP1.1 que cobreix els tres perfils. En l'actualitat no existeixen receptors comercials que suportin aquesta versió encara que sí que existeixen protocols.

### OCAP

L'empresa americana CableLabs va col·laborar amb DVB per la creació d'un nou estàndard obert, el que va conduir a l'acceptació de les especificacions de l'estàndard MHP com a base per aquest estàndard, el OCAP (Open Cable Applications Platform), en Gener de 2002. Amb MHP al seu centre OCAP proporciona una especificació comú per la capa middleware per tots el sistemes de cable als Estats Units.
Ja que als Estats Units no s'utilitzen els estàndards DVB, OCAP està basat en les parts de MHP que no són específiques de DVB reemplaçant les que sí que ho són, com ara DVD SI API. Originalment, OCAP estava basat en la versió 1.0.0 de l'especificació MHP. Després, DVB va presentar l'especificació MHP Globalmente Ejecutable (GEM) per facilitar l'ús d'elements de MHP que no estan inclosos en l'especificació GEM.

### ACAP (Advanced Common Application Platform)

Aquesta plataforma va ésser creada pel Comitè de Sistemes Avançats de Televisió (ATSC), com a base comú per tots els sistemes de TV interactius en USA, ja siguin per cable, terrestres o per satèl·lit. Està també basada en GEM i afegeix alguns elements de OCAP que són adequats pel mercat d'USA.

## Pàgines d'interès

Per una informació més detallada podeu visitar les següents pàgines web:
* MHP: http://www.mhp.org/ Arxivat 2006-04-21 a Wayback Machine.
* MHEG: http://www.mheg.org/
* Canal+ Technologies: http://www.canalplus-technologies.com/
* Open TV: http://www.opentv.com Arxivat 2007-12-13 a Wayback Machine.
o també llegir el llibre que es recomana a continuació:
* Steven Morris and Anthony Smith-Chaigneau, "Interactive TV Standards: A Guide to MHP, OCAP, and JavaTV". Elsevier 2005.