ES2880848T3 - Procedimiento y sistema de distribución de contenido - Google Patents

Procedimiento y sistema de distribución de contenido Download PDF

Info

Publication number
ES2880848T3
ES2880848T3 ES12816075T ES12816075T ES2880848T3 ES 2880848 T3 ES2880848 T3 ES 2880848T3 ES 12816075 T ES12816075 T ES 12816075T ES 12816075 T ES12816075 T ES 12816075T ES 2880848 T3 ES2880848 T3 ES 2880848T3
Authority
ES
Spain
Prior art keywords
content
user device
computer program
program script
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12816075T
Other languages
English (en)
Inventor
Anton Havekes
Martin Prins
Victor Klos
Peter-Jan Doets
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke KPN NV
Original Assignee
Koninklijke KPN NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke KPN NV filed Critical Koninklijke KPN NV
Application granted granted Critical
Publication of ES2880848T3 publication Critical patent/ES2880848T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un procedimiento para permitir la distribución de contenido desde un primer dispositivo de usuario final a un segundo dispositivo de usuario final aparte, donde el primer dispositivo de usuario final está configurado para recibir el contenido a través de una red de radiodifusión, el segundo dispositivo de usuario final está configurado para proporcionar el contenido a un usuario final y el segundo dispositivo de usuario final está conectado de forma comunicativa al primer dispositivo de usuario final, comprendiendo el procedimiento las siguientes etapas realizadas por el primer dispositivo de usuario final: recibir el contenido y una secuencia de comandos de programa informático relacionada con el contenido desde una fuente de contenido, donde la secuencia de comandos de programa informático define o hace cumplir al menos un permiso para utilizar y/o acceder al contenido y comprende una función de resolución de contenido para determinar un identificador de recurso asociado al contenido; proporcionar la secuencia de comandos de programa informático y/o una derivación de la secuencia de comandos de programa informático desde el primer dispositivo de usuario final al segundo dispositivo de usuario final; recibir una solicitud desde el segundo dispositivo de usuario final para acceder al contenido; y proporcionar, al segundo dispositivo de usuario final, acceso al contenido de acuerdo con el al menos un permiso.

Description

DESCRIPCIÓN
Procedimiento y sistema de distribución de contenido
Campo técnico
La invención se refiere a procedimientos y sistemas para permitir el control y distribución de contenido entre una pluralidad de dispositivos.
Antecedentes
Generalmente, los usuarios pueden acceder a contenido multimedia a través de dos modelos principales de distribución de contenido: el modelo de radiodifusión y el modelo web. Cada modelo de distribución de contenido tiene sus ventajas y desventajas.
En el modelo de radiodifusión, el contenido de alta calidad se distribuye de manera eficiente a un gran número de usuarios finales para su consumo, especialmente para eventos de radiodifusión en vivo. Un ejemplo relacionado con el modelo de radiodifusión es la radiodifusión televisiva. Algunos inconvenientes del modelo de radiodifusión son que la interactividad con el contenido es mínima, el equipo para consumir e interactuar con el contenido se limita a hardware especializado (por ejemplo, descodificadores) utilizando una interfaz de programación de aplicaciones (API) limitada y, habitualmente, solo un pequeño grupo de desarrolladores están autorizados a crear aplicaciones para el contenido.
En el modelo web, el contenido se proporciona a los usuarios finales de manera flexible a través de una gran variedad de aplicaciones creadas por una comunidad abierta de desarrolladores. Ejemplos relacionados con el modelo web incluyen aplicaciones basadas en web, complementos (widgets) basados en web y páginas web. Las aplicaciones que están dentro del modelo web generalmente se ejecutan en hardware potente con una amplia gama de entornos de aplicación, por ejemplo, dispositivos informáticos personales, lo que permite construir y utilizar una gama más amplia de aplicaciones interactivas.
Se apreciará que un modelo híbrido sería capaz de aprovechar las ventajas de ambos enfoques. El modelo híbrido permitiría un sistema mejorado que puede proporcionar aplicaciones ricas e interactivas basadas en el modelo web al tiempo que tiene acceso a contenido de alta calidad en el modelo de radiodifusión. Además, las aplicaciones interactivas proporcionadas al usuario a través del modelo web estarían estrechamente asociadas al contenido que se proporciona a través del modelo de radiodifusión, proporcionando así una experiencia de usuario final que unifica ambos enfoques.
Sin embargo, construir un sistema híbrido para acceder al contenido en el modelo de radiodifusión no es trivial. Los radiodifusores implementan esquemas de protección de contenido, por ejemplo, esquemas de cifrado, para evitar que el contenido en el modelo de radiodifusión se comparta con aplicaciones de terceros. Ejemplos de esquemas de protección de contenido incluyen Protección de Contenido Digital de Alto Ancho de Banda (HDCP) e Interfaz Común Plus (Cl-Plus). En consecuencia, los desarrolladores de terceros que proporcionan aplicaciones en el modelo web no pueden acceder al contenido en el modelo de radiodifusión porque el contenido está cifrado.
El documento D1 WO03/019334 divulga un sistema y procedimiento de contenido electrónico seguro. El sistema incluye un controlador que incluye un componente de interfaz, un sistema anfitrión acoplado al controlador, estando el sistema anfitrión configurado para presentar contenido en condiciones predeterminadas, pudiendo hacerse funcionar el sistema anfitrión con un protocolo de navegación, incluyendo además el sistema anfitrión un gestor de sistema que puede hacerse funcionar con un componente de asociaciones configurado para ser al menos parcialmente ejecutado por el sistema anfitrión, un componente de traducción configurado para proporcionar significados y generar comandos dentro del sistema anfitrión, al menos un primer componente de gestión de derechos digitales (DRM) configurado para proporcionar reglas de codificación y acceso para el contenido, y un componente de sistema de archivos que incluye una interfaz de programación de aplicaciones (API) de sistema de archivos configurada para proporcionar una interfaz lógica entre una pluralidad de componentes.
El documento "THE CRYPTOLOPE LIVE PRODUCT", IBM CRYPTOLOPE LIVE. GUÍA DE INFORMACIÓN GENERAL, versión 1, versión de lanzamiento 1, 1997, páginas 1 - 36, XP002908144, divulga aplicaciones y herramientas que permiten crear soluciones que definen cómo la información puede utilizarse, accederse, protegerse, entregarse, intercambiarse, rastrearse, venderse y cumplirse en Internet, así como a través de una intranet y una extranet empresarial.
El documento US 2004/158722 A1 es una técnica anterior adicional.
Por lo tanto, existe una necesidad en la técnica de mitigar al menos algunos de los problemas descritos anteriormente, al tiempo que se permita que el contenido se distribuya desde el modelo de radiodifusión al modelo web.
Resumen
La presente invención está definida por las reivindicaciones independientes adjuntas 1, 10 y 17.
Breve descripción de los dibujos
En los dibujos:
La FIG. 1 muestra un sistema para proporcionar contenido de interactividad en función de huellas digitales generadas con audio grabado de la televisión.
La FIG. 2 muestra un sistema para proporcionar contenido de interactividad a un sistema de televisión híbrido. La FIG. 3 muestra un sistema ilustrativo para permitir la distribución de contenido desde un primer dispositivo a un segundo dispositivo.
La FIG. 4 muestra otro sistema ilustrativo para permitir la distribución de contenido desde un primer dispositivo a un segundo dispositivo.
La FIG. 5 muestra un diagrama que ilustra procedimientos para permitir la distribución de contenido desde un dispositivo a otro dispositivo.
La FIG. 6 muestra un diagrama de procedimiento para la resolución de contenido.
DESCRIPCIÓN DETALLADA DE LOS DIBUJOS
A continuación se analizan dos sistemas, como los de la FIG. 1 y la FIG. 2, para ilustrar ciertos inconvenientes de sistemas que proporcionan aplicaciones interactivas al usuario mientras un usuario consume contenido de radiodifusión, por ejemplo, ver un programa de cocina en televisión. Las aplicaciones interactivas generalmente requieren contenido (denominado "contenido de interactividad" en la FIG. 1 y la FIG. 2), tales como fragmentos de vídeo, fragmentos de audio o cualquier otro contenido de medios adecuado. Por ejemplo, una aplicación de recetas de cocina puede requerir contenido de interactividad tal como fragmentos de vídeos de cocina instructivos, imágenes de alimentos, etc. El área a la izquierda de la línea de puntos en estas dos figuras representa el enfoque dentro del modelo web; el área a la derecha de la línea de puntos representa el enfoque dentro del modelo de radiodifusión.
La FIG. 1 muestra un sistema para proporcionar contenido de interactividad en función de huellas digitales generadas con audio grabado de la televisión. En el modelo web, el sistema 100 incluye un usuario final 102 que utiliza una tableta electrónica 104 que se conecta de manera comunicativa a un servidor de sección de procesamiento (backend) 110 a través de una red A 128. En el modelo de radiodifusión, el sistema incluye un sistema de descodificador televisión 122 que está conectado de forma comunicativa al radiodifusor 128 a través de una red B 126. El descodificador recibe contenido de radiodifusión 124, tal como programas de televisión para varios canales de televisión, y el contenido de radiodifusión se proporciona a la televisión.
El usuario final que utiliza la tableta electrónica recibe sonido transmitido por la televisión 120 mediante la grabación de una señal de audio utilizando el micrófono 118 de la tableta. En función de la señal de audio grabada, la tableta genera una huella digital usando el generador de huellas digitales 114. La huella digital identifica de manera única el canal de televisión o programa de televisión que se consume actualmente en la televisión. A continuación, la huella digital se transmite (es decir, huella digital 108 ) a un servidor de sección de procesamiento para su procesamiento a través de la red A (es decir, Internet).
El servidor de sección de procesamiento puede estar configurado para grabar continuamente canales de televisión en tiempo real y calcular una huella digital de referencia para cada uno de esos canales. El servidor de sección de procesamiento puede estar configurado para almacenar huellas digitales de referencia generadas a partir de un conjunto de programas de televisión. Todas las huellas digitales de referencia se almacenan en una base de datos de huellas digitales 112. Al recibir la huella digital en el servidor de sección de procesamiento desde la tableta electrónica, el servidor de sección de procesamiento puede determinar qué canal o programa está viendo el usuario final en la televisión al encontrar una coincidencia entre la huella digital recibida y las huellas digitales de referencia almacenadas en la base de datos de huellas digitales. La sección de procesamiento puede deducir información acerca del contenido en la televisión que se está suministrando a la televisión de modo que se pueda proporcionar contenido de interactividad adecuado/relacionado 106 a la aplicación 116. Por ejemplo, el servidor de sección de procesamiento puede proporcionar una experiencia de juego interactiva (es decir, el contenido de interactividad) asociada al programa de televisión que actualmente está viendo el usuario final.
La principal limitación de este sistema es que simplemente emula la interacción del usuario final con el contenido que se está suministrando a la televisión cuando no hay acceso real al contenido que se está suministrando a la televisión. Otra limitación es que la sección de procesamiento debe tener la autorización del/de los radiodifusor(es) para generar huellas digitales de canales o programas existentes y, posiblemente, conocer la programación de esos canales de televisión. La programación de canales puede variar de un proveedor de televisión a otro y de una región geográfica a otra. En consecuencia, mantener dicha sección de procesamiento es complejo y puede no ser una solución escalable. Otra desventaja es que la solución es susceptible al ruido (de fondo) en el entorno del usuario, lo que da lugar a una determinación inexacta o a ninguna.
La FIG. 2 muestra un sistema para proporcionar contenido de interactividad a un sistema de televisión híbrido. El sistema 200 permite que el radiodifusor 218 ofrezca una experiencia interactiva al usuario final 202 durante una radiodifusión. El sistema incluye un sistema híbrido 208 (por ejemplo, una única caja receptora) que comprende un dispositivo habilitado para web 210 y un sistema de descodificador televisión 224. En el modelo web, el dispositivo habilitado para web se conecta de forma comunicativa al servidor de sección de procesamiento 216 a través de una red A 206 (es decir, Internet). En el modelo de radiodifusión, el sistema de descodificador y televisión recibe contenido de radiodifusión aplicación(es) señalización 222 desde el radiodifusor 218 a través de una red B 220 (es decir, red de radiodifusión televisiva). A continuación se proporciona una aplicación señalización 214 al dispositivo habilitado para web para ejecutar y controlar la aplicación.
El radiodifusor indica, a través de la red B (es decir, red de radiodifusión televisiva), al dispositivo habilitado para web en el sistema híbrido cerrado que ejecute una aplicación particular (por ejemplo, la aplicación 212), mientras que el contenido de interactividad se proporciona a través de la red A (es decir, a través de una conexión de Internet de banda ancha). La(s) aplicación(es) que se ejecutan en el dispositivo habilitado para web requieren típicamente un certificado seguro y es/son específica(s) de un determinado sistema híbrido (es decir, modelo de caja receptora), un canal de televisión particular y/o incluso un proveedor de servicios de televisión. Por ejemplo, si el usuario final cambia a otro canal, la aplicación se cierra automáticamente. Además, el radiodifusor autoriza al servidor de sección de procesamiento (flecha "autorización" 218) a proporcionar contenido de interactividad 204 a la aplicación que se ejecuta en el dispositivo habilitado para web para permitir que el usuario final interactúe con el contenido de radiodifusión.
Este sistema de arranque es un sistema cerrado en el que la aplicación que se proporciona al sistema híbrido es completamente aprovisionada y controlada por el propio radiodifusor. Los desarrolladores de terceros no pueden acceder, modificar o incluso iniciar una aplicación en el dispositivo habilitado para web (sin un certificado seguro). Además, las aplicaciones se ejecutan en entornos de software específicos en hardware especializado, es decir, el sistema híbrido (por ejemplo, una caja receptora habilitada para web).
Para mitigar al menos algunos de los problemas analizados en relación con la FIG. 1 y la FIG. 2, se divulgan sistemas y procedimientos mejorados. La mejora se refiere a permitir que el radiodifusor defina permisos para el contenido de manera que otras aplicaciones, por ejemplo, en el modelo web, puedan acceder y utilizar el contenido de una manera adecuada.
La FIG. 3 muestra un sistema ilustrativo para permitir la distribución de contenido desde un primer dispositivo a un segundo dispositivo. El sistema 300 incluye un primer dispositivo 312 conectado de forma comunicativa a una fuente de contenido 314. En algunas formas de realización, un proveedor de servicios, tal como un proveedor de servicios de televisión, que permite la distribución de contenido también puede estar involucrado. En aras de la brevedad, el proveedor de servicios se omite de la figura.
La fuente de contenido puede ser un sistema para radiodifundir contenido (por ejemplo, vídeo, audio, teletexto, etc.) y cualquier otro dato adecuado a una pluralidad de dispositivos de recepción (incluido el primer dispositivo). El primer dispositivo puede ser un descodificador, un receptor o cualquier dispositivo o sistema adecuado para recibir contenido a través de una red de radiodifusión. El primer dispositivo puede incluir o está conectado de forma comunicativa a al menos un dispositivo/accionador de salida para proporcionar el contenido para su consumo por parte del usuario final.
A través de una red B 316 (por ejemplo, una red de radiodifusión televisiva), el primer dispositivo recibe contenido secuencia de comandos de programa informático 314 en al menos un flujo de datos desde la fuente de contenido. El símbolo "+" utilizado en el presente documento denota "y", "con", "en combinación con", "juntos", etc. El contenido puede incluir al menos uno de: audio, vídeo, teletexto o cualquier otro contenido de medios adecuado. Por ejemplo, el contenido puede incluir el vídeo y el audio de un programa de televisión.
La secuencia de comandos de programa informático puede incluir uno o más permiso(s) o información de permiso que permita a un titular de contenido y/o a un radiodifusor controlar el acceso y el uso del contenido. Por ejemplo, la secuencia de comandos de programa informático permite que un titular de contenido defina y/o imponga al menos un permiso para utilizar y/o acceder al contenido. Por consiguiente, la secuencia de comandos de programa informático permite que otro dispositivo, es decir, el segundo dispositivo 304, acceda y utilice adecuadamente el contenido, de acuerdo con, por ejemplo, determinadas limitaciones/restricciones y/o comportamientos admitidos, definidos por el titular del contenido. El segundo dispositivo puede ser un ordenador personal, un ordenador portátil, una tableta electrónica, un dispositivo informático portátil o cualquier otro dispositivo de usuario de consumo adecuado que tenga al menos un accionador de salida para proporcionar contenido.
El primer dispositivo puede proporcionar la secuencia de comandos de programa informático o una derivación de la secuencia de comandos de programa informático (secuencia de comandos de programa informático 320) al segundo dispositivo a través de una red local, por ejemplo, a través de la Alianza para el estilo de vida digital en red (DLNA), Universal Plug and Play (UPnP), Protocolo de anuncio de sesión (SAP), Bonjour, Protocolo de inicio de sesión (SIP), etc. En una forma de realización, la secuencia de comandos de programa informático o una derivación de la misma se reenvía al segundo dispositivo a medida que se recibe desde la fuente de contenido. En algunas formas de realización, el segundo dispositivo puede solicitar la secuencia de comandos de programa informático a través de mecanismos de devolución de llamada tales como JavaScript asíncrono con XML o notación de objetos de JavaScript (AJAX/JSON).
T ras recibir la secuencia de comandos de programa informático (o una derivación de la misma), el segundo dispositivo puede cargar la secuencia de comandos de programa informático de modo que la aplicación pueda utilizar la(s) instrucción(es) o función(es) incorporada(s) en la secuencia de comandos de programa informático para acceder y/o utilizar el contenido en el primer dispositivo. En algunas formas de realización, la secuencia de comandos de programa informático se puede interpretar mediante un entorno de aplicación del segundo dispositivo, de modo que determinadas funciones se pueden cargar y utilizar mediante una aplicación que se ejecuta en el segundo dispositivo.
La información en la secuencia de comandos de programa informático permite, de forma ventajosa, que un radiodifusor comparta el contenido y cree servicios interactivos para desarrolladores de terceros (que pueden ser más capaces o adecuados para desarrollar una gran variedad de aplicaciones para usuarios finales), sin perder el control total del acceso y/o el uso del contenido. Efectivamente, los desarrolladores son capaces de utilizar el modelo web, con gran flexibilidad, para proporcionar muchas más aplicaciones y/o servicios para interactuar con el contenido que se entrega a través del modelo de radiodifusión.
La secuencia de comandos de programa informático puede incluir al menos uno de: un fragmento de código, un fragmento de código de programa informático, código ejecutable, una secuencia de comandos ejecutable y/o instrucciones de programa informático legibles por personas. La secuencia de comandos de programa informático (o "secuencia de comandos" para abreviar) se puede escribir en un lenguaje de programación de propósito general, que se puede interpretar de forma ventajosa mediante un entorno de aplicación (por ejemplo, se convierte en instrucciones de nivel inferior) antes de que las instrucciones de la secuencia de comandos de programa informático se ejecuten en un dispositivo. La secuencia de comandos de programa informático puede escribirse/programarse de forma ventajosa en un lenguaje de secuencias de comandos de modo que sea más fácil de entender para un desarrollador de aplicaciones de terceros. La secuencia de comandos de programa informático se puede escribir en un lenguaje integrable y/o lenguaje de extensión de modo que la secuencia de comandos de programa informático se pueda integrar o agregar de forma ventajosa como una extensión a la aplicación de terceros para una mejor interoperabilidad. En una forma de realización, la secuencia de comandos de programa informático es un fragmento de código en lenguaje JavaScript o un archivo de JavaScript. En aun otra forma de realización, la secuencia de comandos de programa informático se comprime, reduciendo así el ancho de banda y/o los requisitos de almacenamiento.
La secuencia de comandos de programa informático puede incluir al menos uno de: interfaz de programación de aplicaciones (API), restricciones temporales y restricciones de uso. La API puede definir al menos una función para usar o reproducir el contenido, tal como reproducir, reordenar, mezclar, seleccionar una instantánea, etc. En particular, la API puede incluir al menos una función asociada a un comportamiento de reproducción permitido o admitido del contenido. Las restricciones temporales pueden incluir parámetros para limitar determinados derechos de acceso y/o uso asociados al tiempo. Por ejemplo, las restricciones temporales pueden incluir al menos uno de limitar el período de tiempo en que se puede acceder al contenido, limitar el número de veces en que se puede acceder al contenido, definir una fecha de vencimiento para el contenido, etc. Las restricciones de uso pueden incluir limitaciones en la manera en que el contenido puede ser consumido por el usuario final. Por ejemplo, las restricciones de uso pueden requerir que se reproduzca un anuncio cuando se reproduce o se omite el contenido, que se impida el avance rápido, que se puedan reproducir o descargar hasta 4 segundos del contenido, que se pueda acceder a un máximo de tres fragmentos de contenido a la vez, etc.
El uso de una API en la secuencia de comandos de programación informática permite de forma ventajosa que otro dispositivo llame fácilmente a las funciones definidas en la API para acceder y utilizar el contenido bajo el control de las funciones predefinidas por el titular de contenido o el radiodifusor. Además, la API limita el dispositivo para que solo pueda utilizar las funciones definidas. Por ejemplo, es posible que un usuario no pueda editar el contenido si no se proporciona una función de API de edición en la secuencia de comandos de programa informático. De forma ventajosa, el titular de contenido o el radiodifusor tiene la libertad de definir qué conjunto de funciones se puede perm itir.
Generalmente, el titular de contenido o el radiodifusor que hace funcionar la fuente de contenido puede elegir el nivel de granularidad de la secuencia de comandos de programa informático. Por ejemplo, la secuencia de comandos de programa informático puede incluir instrucciones para renderizar un reproductor de medios con una clave criptográfica incorporada que es capaz de reproducir un determinado fragmento de vídeo. En otro caso, la secuencia de comandos de programa informático puede incluir una API que permite que la aplicación inspeccione el contenido disponible y reproduzca el contenido utilizando un reproductor proporcionado por la aplicación.
En resumen, se pueden lograr varias ventajas al proporcionar una secuencia de comandos de programa informático al segundo dispositivo, a diferencia de los procedimientos descritos en relación con las FIGS. 1 y 2. Por ejemplo, la secuencia de comandos de programa informático puede incluir una o más funciones o acceso a la(s) misma(s) que una aplicación de terceros puede ejecutar, por ejemplo, llamando a la función a través del uso de una API. Como resultado, la(s) función(es) permite(n) que una aplicación de terceros acceda y/o utilice el contenido en el primer dispositivo y/o tenga partes de una plantilla generada (por ejemplo, una plantilla para definir una presentación visual y/o interacción con el contenido). Además, la secuencia de comandos de programa informático que tiene una API puede simplificar el modelo de programación, facilitando así que los desarrolladores de aplicaciones de terceros accedan y/o utilicen el contenido y mantengan la plantilla de acuerdo con el al menos un permiso. Otra ventaja es que una secuencia de comandos de programa informático puede ayudar a resolver el contenido en situaciones en las que se pueden utilizar una multitud de protocolos informáticos para recuperar el contenido (por ejemplo, primero probar una configuración de red DLNA, después una fuente de transmisión continua adaptativa de HTTP, después una descarga progresiva). En algunas formas de realización, la secuencia de comandos de programa informático se puede interpretar de modo que varias plataformas que procesan la secuencia de comandos de programa informático puedan crear una derivación de la secuencia de comandos de programa informático que sea más adecuada para la propia plataforma, haciendo así que la secuencia de comandos de programa informático sea más independiente de la plataforma o dispositivo.
A continuación se muestra una parte de ejemplo de una secuencia de comandos de programa informático, donde la API de la secuencia de comandos de programa informático proporciona tres funciones: "addProgram'', "changeProgram'' y ''verifyPlaylist":
// Cargar funcionalidad de radiodifusión
if (Broadcast in window) {
var Broadcast = {
programs: { }, //Obsérvese que los programas también podrían precargarse
addProgram: function(
key, title, description, channel, permissions) {
var program = new Object;
program.key = key;
program.title = title;
program.description = description
program.channel = channel;
program.permissions = permissions;
//Añadir a administración de radiodifusión
Broadcast.programs [key] = program;
//Invocar devolución de llamada de usuario si hay uno
if (undefined !== onBroadcastEvent) {
onBroadcastEvent(program); }}
changeProgram: function(
key, title, description, channel, permissions) {
var prog = Broadcast.programs[key];
if (prog) delete Broadcast.programs[key];
Broadcast.addProgram(
key, title, description, channel, permissions);
},
verifyPlaylist: function(program_key, playlist) {
var prog = Broadcast.programs[program_key];
if (prog) {
return prog.permissions(playlist);
} else {
return false; }};}}
El segundo dispositivo que ejecuta la aplicación 306 puede generar una plantilla para mostrar/presentar contenido al usuario final 302. En algunas formas de realización, la generación de la plantilla se basa al menos en datos de entrada de usuario recibidos desde un usuario y/o en una interacción de usuario con la aplicación. Por ejemplo, la aplicación puede generar una plantilla, tal como una página web para renderizar "los vídeos favoritos de John", en base al/a los dato(s) de entrada o selección(es) proporcionado(s) por un usuario final.
La aplicación se puede recuperar de una fuente remota o se puede precargar en el segundo dispositivo. La plantilla define la manera en que se presentará el contenido al usuario final. En particular, la plantilla puede definir la presentación visual para el contenido. Un ejemplo ilustrativo es un widget de un sitio web que permite a un usuario final definir una lista de reproducción de fragmentos de medios, donde la plantilla es entonces una pantalla de interfaz gráfica de usuario o una página web que comprende información que define una presentación visual de la lista de reproducción y una lista de reproducción particular de un usuario final (por ejemplo, referencias a una pluralidad de contenidos). En algunas formas de realización, se utilizan otros tipos de presentaciones además de una presentación visual. Por ejemplo, se puede utilizar información que define una presentación de audio y/o una presentación háptica, dependiendo de la implementación. En general, la presentación define la manera en que se presenta el contenido a un usuario final. En determinadas formas de realización, la presentación define cómo el usuario final puede consumir y/o interactuar con el contenido.
A continuación se muestra un ejemplo ilustrativo de una plantilla, como una página web basada en lenguaje de marcado de hipertexto (HTML):
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de eventos de radiodifusión de JavaScript</title>
<link rel="stylesheet" type="text/css" href="demo.css"/>
<script src="interaction.js"></script>
<script type="text/javascript">
var currentProgram = null;
var playlist = [
{'comment': "S04E07", 'start': "0:05:32", ‘stop': "0:06:02"},
{'comment': "S04E07", 'start': "0:09:02", 'stop': "0:09:43"},
{'comment': "S04E07", start': "0:15:23", 'stop': "0:16:01"}]
function onBroadcastEvent (program) {
document.getElementByld ('announcement').innerHTML =
program.title
currentProgram = program.key}
</script>
</head>
<body>
<header>
<h1>Radiodifundir demo de evento</h1>
</header>
<div id="item-panel">
<h3 id="announcement">The Big Bang Theory</h3>
<div id="fragment1" class="item">Start 0:05:32
<br>Stop 0:06:02</div>
<div id="fragment2" class="item">Start 0:09:02
<br>Stop 0:09:43</div>
<div id="fragment3" class="item">Start 0:15:23
<br>Stop 0:16:01 </div>
</div>
</body>
</html>
En algunas formas de realización, una plantilla puede incluir al menos una o más referencias a contenido. En algunas formas de realización, una plantilla puede definir al menos un elemento dentro de la plantilla para presentar visualmente el contenido (por ejemplo, elementos <div> del código HTML como se vio anteriormente). En determinadas formas de realización, la plantilla puede incluir parámetros para definir el aspecto de la plantilla (por ejemplo, mediante el uso de un archivo de hoja de estilo en cascada (CSS) al que hace referencia el código HTML). La plantilla también puede contener código de aplicación que permite, por ejemplo, arrastrar y soltar y/u otros tipos de funcionalidad de interacción de usuario (por ejemplo, utilizando Javascript externo al que hace referencia el código HTML). La aplicación puede renderizar la presentación visual utilizando la plantilla y el contenido al que se hace referencia en la misma.
En algunas formas de realización, la plantilla se puede generar de acuerdo con la información de permisos y/o al menos un permiso en la secuencia de comandos de programa informático recibida. Por ejemplo, la información de permiso y/o al menos un permiso se puede utilizar para verificar que la plantilla se ajusta al/a los permiso(s) definido(s) por el titular de contenido. En algunas formas de realización, la secuencia de comandos de programa informático incluye al menos una función de ayuda para ayudar a generar al menos una parte de la plantilla de acuerdo con la información de permiso. Por ejemplo, se puede incluir una función para permitir la adición de elementos a la plantilla, por ejemplo, agregar otro contenido (elemento) a la plantilla y/o garantizar que la información de permiso se cumpla cuando se agrega el otro contenido (elemento).
En algunas formas de realización, la secuencia de comandos de programa informático puede incluir al menos una función de verificación que proporciona funciones de API y/o mecanismos para hacer cumplir el/los permiso(s) definido(s) por el titular de contenido, por ejemplo, para comprobar si se permiten determinadas funciones de reproducción en la plantilla, etc. El cumplimiento de los permisos garantiza que la plantilla solo presente contenido al que la aplicación puede acceder de una manera permitida por el titular de contenido. Por ejemplo, la secuencia de comandos de programa informático puede incluir lo siguiente:
// Añadir ahora el programa. La función de verificación permite cualquier
// lista de reproducción que tenga tres o menos elementos en la misma.
Broadcast.addProgram ("tbbt", "The Big Bang Theory",
"Comedia de situación sobre cuatro frikis y su vecina Penny", "Veronica",
Function (fragments) {return (fragments.length <= 3) ? true : false});
La secuencia de comandos de programa informático ilustrativa incluye una función de verificación para determinar si la lista de reproducción tiene menos de o exactamente tres elementos; donde "menos de o exactamente tres elementos" es el permiso definido por la secuencia de comandos de programa informático ilustrativa.
Una vez que se genera una plantilla, la aplicación puede transmitir una solicitud para acceder a contenido en el primer dispositivo. Por ejemplo, la plantilla puede solicitar (solicitud 322) acceder a un fragmento de vídeo particular en el primer dispositivo. Si el contenido está disponible, entonces el primer dispositivo puede responder (respuesta 324) con el contenido solicitado. En otras palabras, el primer dispositivo puede transmitir el contenido solicitado al segundo dispositivo.
Opcionalmente, el primer dispositivo comprueba la solicitud recibida basándose en la información de permiso en la secuencia de comandos de programa informático que el primer dispositivo había recibido desde la fuente de contenido. La comprobación realizada por el primer dispositivo hace cumplir el/los permiso(s), por ejemplo, permisos determinados a partir de la secuencia de comandos de programa informático y almacenados en el primer dispositivo, para garantizar que la aplicación tenga acceso al contenido y que la solicitud se ajuste a/sea de conformidad con el/los permiso(s). Si la solicitud se ajusta a los permisos, entonces el primer dispositivo puede proporcionar el contenido al segundo dispositivo.
En caso de que el contenido solicitado no esté disponible o no sea accesible en el primer dispositivo, el segundo dispositivo puede recurrir a una fuente de actualización 310, que está conectada de forma comunicativa al segundo dispositivo a través de una red A 308 (por ejemplo, una red diferente de una red B). Típicamente, la fuente de actualización puede tener una versión de menor calidad del contenido solicitado que la versión de (mayor) calidad en el primer dispositivo.
La respuesta, es decir, la distribución del contenido desde el primer dispositivo al segundo dispositivo, se puede realizar utilizando cualquier técnica convencional adecuada para suministrar contenido, tal como transmisión continua, transmisión continua en vivo mediante HTTP, MPEG-DASH, descarga progresiva, etc. El contenido se puede suministrar desde la fuente de actualización al segundo dispositivo utilizando una técnica diferente o similar.
Al recibir el contenido, la aplicación puede rellenar la plantilla con el contenido recibido y renderizar el contenido y la plantilla en un dispositivo de visualización del segundo dispositivo. En algunas formas de realización, la aplicación renderiza la presentación visual definida por la plantilla usando la plantilla y el contenido recibido (al que se hace referencia en la plantilla) en un accionador de salida (por ejemplo, un dispositivo de visualización). Por ejemplo, la aplicación puede renderizar un reproductor de medios para la reproducción del contenido al que se hace referencia en la plantilla. El usuario final puede entonces consumir y/o interactuar con el contenido.
En algunas formas de realización, la secuencia de comandos de programa informático incluye mecanismos o funciones de resolución de contenido para permitir que la aplicación resuelva la ubicación del contenido que se solicita y para determinar un identificador de recurso adecuado asociado al contenido. En consecuencia, la aplicación y la plantilla pueden abordar o referirse al contenido sin tener que especificar la ubicación exacta del contenido en sí. La abstracción de la ubicación exacta del contenido proporciona la flexibilidad para que un dispositivo determine la fuente más adecuada para el contenido. Además, cuando se proporciona una plantilla o una aplicación de un dispositivo a otro, las referencias al contenido permanecen portables porque, independientemente del dispositivo, los mecanismos de resolución de contenido permiten ubicar el contenido. Además, cuando se proporciona una aplicación desde un dispositivo a otro dispositivo, la resolución de contenido permite que un dispositivo se refiera al contenido en lugar de transmitir el contenido real en sí. La resolución de contenido permite crear diferentes plantillas al tiempo que el contenido sigue siendo el mismo. Además, al evitar la copia del contenido, se respetan los derechos de autor y de radiodifusión y se conservan los recursos. Los detalles relacionados con el mecanismo de resolución de contenido se describen en mayor detalle en relación con la FIG. 6.
La FIG. 4 muestra otro sistema ilustrativo para permitir la distribución de contenido desde un primer dispositivo a un segundo dispositivo. El sistema 400 comprende un primer dispositivo 406 conectado de forma comunicativa a un segundo dispositivo 404, por ejemplo, a través de una red doméstica o local. El componente receptor 408 del primer dispositivo recibe contenido y una secuencia de comandos de programa informático desde una fuente de contenido (mantenida por un titular de contenido o radiodifusor). El componente receptor puede ser un componente o interfaz de comunicación configurado para recibir datos desde una red de radiodifusión. En una forma de realización, si la secuencia de comandos de programa informático y el contenido se transmiten en el mismo flujo de datos, la secuencia de comandos de programa informático se puede separar del contenido.
La secuencia de comandos de programa informático 410 puede proporcionarse al procesador de secuencia de comandos de programa informático 412 y el contenido 414 puede proporcionarse al procesador de contenido 416. El contenido, que puede estar codificado, puede descodificarse por el procesador de contenido 416. El contenido descodificado puede proporcionarse entonces de la salida 418 a un dispositivo de salida, tal como un dispositivo de visualización o un altavoz. En algunas formas de realización, el contenido se almacena en la base de datos de contenido 422. La base de datos de contenido puede ser cualquier almacenamiento adecuado configurado para almacenar y gestionar contenido, que puede estar codificado o descodificado, dependiendo de la implementación.
La secuencia de comandos de programa informático puede ser procesada por el procesador de secuencias de comandos de programa informático. En algunas formas de realización, la secuencia de comandos de programa informático se puede reenviar al segundo dispositivo, omitiendo el procesador de secuencias de comandos de programa informático. En algunas otras formas de realización, la secuencia de comandos de programa informático se puede convertir mediante el procesador de secuencia de comandos de programa informático para generar una derivación de la secuencia de comandos de programa informático. La conversión (o interpretación) de la secuencia de comandos de programa informático permite, de forma ventajosa, que el primer dispositivo interprete la secuencia de comandos de programa informático y adapte la secuencia de comandos de programa informático (la información que contiene) a una versión localizada de la secuencia de comandos de programa informático. La versión localizada puede entonces ejecutarse mediante el primer dispositivo. El primer dispositivo, que utiliza el procesador de secuencias de comandos de programa informático, adopta eficazmente la secuencia de comandos de programa informático para que se corresponda con las capacidades/requisitos del primer dispositivo, de modo que, por ejemplo, las funciones API no admitidas en la secuencia de comandos de programa informático se puedan descartar o inhabilitar. El procesador de secuencia de comandos de programa informático puede procesar la secuencia de comandos de programa informático para extraer y/o aplicar los permisos dentro del primer dispositivo, por ejemplo, garantizando que el contenido se elimine del primer dispositivo cuando el contenido expira.
Considérese la siguiente información de ejemplo definida por la secuencia de comandos de programa informático:
Figure imgf000009_0001
El primer dispositivo puede interpretar la secuencia de comandos de programa informático y determinar que el primer dispositivo, por ejemplo, solo almacena localmente (almacena en caché) contenido durante 12 horas (la información de permiso define 24 horas). En consecuencia, el primer dispositivo puede actualizar/adaptar el permiso correspondiente, por ejemplo, editar el "Valor de validez de almacenamiento de PVR" a 12 horas si la grabadora de vídeo personal (PVR) está configurada para caducar el contenido después de dicha duración de tiempo.
Además, el primer dispositivo puede determinar que el primer dispositivo no admite una llamada a función API particular, por ejemplo, no admite la función de instantánea. En consecuencia, la llamada a función no admitida se elimina, por ejemplo, la función de instantánea se elimina de la lista "Permisos de acceso a contenido".
Además, las funciones API se pueden convertir en funciones ejecutables y admitidas localmente, por ejemplo, el primer dispositivo convierte: play(item) -> stb.item.play(), pause(item) -> stb.item.pause(), select(item) -> stb.item.select(), address(item) -> stb.item.getAddress().
La información de ejemplo definida por la secuencia de comandos de programa informático después de la conversión/interpretación se muestra a continuación:
Figure imgf000009_0002
Figure imgf000010_0001
En cualquier situación, con o sin procesamiento, la secuencia de comandos de programa informático o la derivación de la secuencia de comandos de programa informático se pueden almacenar en una base de datos de permisos 430 o cualquier otro almacenamiento adecuado para almacenar permisos. La secuencia de comandos de programa informático o la derivación de la misma se transmite después al receptor de secuencias de comandos de programa informático 436 del segundo dispositivo. El receptor de secuencia de comandos de programa informático puede incluir un componente de recepción configurado para comunicarse a través de una red doméstica o local con el primer dispositivo. Al recibir la secuencia de comandos de programa informático, la secuencia de comandos de programa informático se puede almacenar en una base de datos de secuencias de comandos de programa informático 440 o cualquier otro almacenamiento adecuado para almacenar la secuencia de comandos de programa informático. A continuación se proporciona una secuencia de comandos de programa informático 442 a una aplicación 444.
La aplicación puede cargar la secuencia de comandos de programa informático en la aplicación. De este modo, cualquier función API en la secuencia de comandos de programa informático se pone a disposición de la aplicación, de modo que se puede generar una plantilla mediante el generador de plantillas 438 de acuerdo con la secuencia de comandos de programa informático. Por ejemplo, una plantilla se puede generar y verificar mediante el uso de la secuencia de comandos de programa informático, por ejemplo, mediante el uso de llamadas a funciones API incluidas en la secuencia de comandos de programa informático. En algunas formas de realización, las funciones API se pueden interpretar y/o convertir en una versión localizada que es ejecutable o entendible por la aplicación en el segundo dispositivo.
La plantilla puede definir una presentación visual para presentar contenido al usuario final. En algunas formas de realización, la plantilla incluye una referencia al contenido y define una presentación visual para el contenido. Por ejemplo, una plantilla puede ser una página web que tiene marcadores de posición para reproducir una lista de reproducción de referencias a fragmentos de vídeo. Por ejemplo, la plantilla puede incluir un reproductor de audio, una lista de referencias y/o descriptores para una pluralidad de fragmentos de audio favoritos del usuario final, y una o más funciones para reproducir los fragmentos de audio.
En algunas formas de realización, la fuente de contenido puede proporcionar mecanismos de resolución de contenido. En determinadas formas de realización, esos mecanismos de resolución de contenido pueden ser ampliados por la aplicación (por ejemplo, la aplicación proporcionada por un desarrollador de terceros), o los mecanismos de resolución de contenido pueden ser proporcionados por la propia aplicación. El módulo de resolución de contenido 446 se puede utilizar para resolver descriptores de contenido en la plantilla con respecto al al menos un identificador de recurso para recuperar el contenido.
En algunas formas de realización, la secuencia de comandos de programa informático puede proporcionar un mecanismo de resolución de contenido (ejecutable por el módulo de resolución de contenido) para resolver un descriptor para (o referencia a) el contenido a una ubicación exacta del contenido. Por ejemplo, la secuencia de comandos de programa informático puede incluir instrucciones para comunicarse con un servidor remoto (por ejemplo, un servidor de medios) para resolver el contenido, o el mecanismo de resolución de contenido se puede introducir en la secuencia de comandos de programa informático. Detalles relacionados con el mecanismo de resolución de contenido se analizan en relación con la FIG. 6.
Si el módulo de resolución de contenido resuelve que el contenido está ubicado en el primer dispositivo, entonces se puede transmitir una solicitud de contenido (solicitud 430) a un procesador de solicitudes 428. Opcionalmente, el primer dispositivo puede comprobar si la aplicación tiene permiso para acceder al contenido solicitado comprobando (comprobación 424) la base de datos de permisos. La solicitud se comprueba con los permisos correspondientes asociados al contenido solicitado.
Si se permite a la aplicación acceder al contenido, entonces se puede ejecutar una función (localizada) correspondiente a la solicitud para acceder al contenido (acceso 426) desde la base de datos de contenido. Después, el contenido se proporciona en una respuesta 432 al segundo dispositivo para su consumo por parte del usuario final. Usando el contenido recibido, la aplicación puede renderizar, por ejemplo, para su visualización, una presentación visual del contenido utilizando la plantilla y el contenido recibido en la respuesta. El usuario puede entonces consumir y/o interactuar con el contenido que se renderiza utilizando la plantilla.
Si no se permite a la aplicación acceder al contenido, entonces se puede transmitir una notificación en la respuesta para indicar que se deniega el acceso. Asimismo, si el contenido no existe en el primer dispositivo (por ejemplo, no se encuentra en la base de datos de contenido), entonces se puede transmitir una notificación (negativa) en la respuesta para indicar que el contenido no se encuentra o no está disponible. El módulo de resolución de contenido puede entonces, en respuesta a la respuesta (negativa), controlar la aplicación para recuperar el contenido desde una fuente de actualización.
A través del uso ventajoso de la secuencia de comandos de programa informático, el segundo dispositivo puede obtener información de disponibilidad acerca del contenido al que se hace referencia en la plantilla de modo que el contenido se pueda resolver y recuperar. Por ejemplo, el segundo dispositivo puede estar configurado para determinar la disponibilidad del contenido a través del uso de la secuencia de comandos de programa informático. En una forma de realización, la secuencia de comandos de programa informático incluye una función para recuperar información del primer dispositivo, ya sea que el contenido sea accesible y/o esté disponible desde el primer dispositivo. Además, el segundo dispositivo está configurado para determinar a partir de la secuencia de comandos de programa informático qué interacciones se permiten con el contenido, por ejemplo, cuáles son las llamadas a funciones API válidas para el contenido.
La FIG. 5 muestra un diagrama que ilustra procedimientos para permitir la distribución de contenido desde un dispositivo a otro dispositivo. El sistema principal comprende una fuente de contenido 502, un primer dispositivo 504 y un segundo dispositivo 506. La fuente de contenido proporciona contenido secuencia de comandos de programa informático a través de una red de radiodifusión ("contenido secuencia de comandos" 514) al primer dispositivo de usuario, tal como un receptor, un descodificador, etc. En algunas formas de realización, la secuencia de comandos de programa informático se procesa en el primer dispositivo para generar una derivación de la secuencia de comandos de programa informático. La secuencia de comandos de programa informático y/o la derivación de la secuencia de comandos de programa informático se transmite después al segundo dispositivo de usuario ("secuencia de comandos" 516).
El segundo dispositivo, por ejemplo, un ordenador personal, una tableta, etc., puede estar ejecutando una aplicación ("ejecutar aplicación" 512) tal como un navegador web para navegar por una página web, un widget, una aplicación de software, una aplicación basada en web, etc. Varias situaciones de tiempo pueden ser posibles. En primer lugar, el dispositivo de usuario puede ejecutar la aplicación en respuesta a la recepción de una secuencia de comandos de programa informático desde el primer dispositivo. En segundo lugar, la aplicación ya puede estar ejecutándose en el segundo dispositivo antes de que se reciba la secuencia de comandos de programa informático desde el primer dispositivo. En tercer lugar, el dispositivo de usuario puede ejecutar la aplicación y transmitir una solicitud al primer dispositivo de usuario para recuperar la secuencia de comandos de programa informático. En respuesta a la solicitud, el primer dispositivo de usuario transmite la secuencia de comandos de programa informático.
En función de la secuencia de comandos de programa informático, la aplicación rellena una plantilla, lo que permite que el segundo dispositivo de usuario haga referencia a al menos un contenido (elemento) que va a presentarse y defina cualquier presentación o interacción visual asociada que se utilizará con el contenido (elemento). La plantilla se puede generar utilizando la secuencia de comandos de programa informático, que permite a la aplicación generar una plantilla que presenta contenido de la manera prescrita por el radiodifusor.
En algunas formas de realización, la secuencia de comandos de programa informático recibida incluye mecanismos de resolución de contenido, que después se ejecutan para realizar la resolución de contenido ("resolver contenido" 520). Los mecanismos de resolución de contenido resuelven una referencia al contenido en la ubicación en la que está almacenado el contenido mediante la determinación de un identificador de recurso asociado al contenido. Dependiendo del resultado del mecanismo de resolución de contenido, se puede transmitir una solicitud ("solicitud" 522) al primer dispositivo de usuario para recuperar el contenido al que se hace referencia en la plantilla, por ejemplo, en función de la ubicación y/o el identificador de recurso determinado por el mecanismo de resolución de contenido.
Opcionalmente, el primer dispositivo de usuario comprueba la solicitud basándose en permisos almacenados asociados al contenido solicitado ("comprobar permiso(s)" 524). En función de los resultados de la comprobación de permisos, se transmite una respuesta ("respuesta" 526) para indicar el resultado de la solicitud.
Si la solicitud se ha realizado correctamente, la respuesta incluye el contenido solicitado. Si la solicitud no tuvo éxito, la respuesta puede indicar, por ejemplo, que no se encontró contenido, que se deniega el acceso, etc. En algunas formas de realización, no se puede transmitir ninguna respuesta si la solicitud no tuvo éxito. En consecuencia, el segundo dispositivo de usuario puede utilizar un mecanismo de tiempo de espera para determinar si la solicitud tuvo éxito o no.
En caso de que la solicitud no tuviera éxito y el contenido no pudiera recuperarse desde el primer dispositivo de usuario, el mecanismo de resolución de contenido puede permitir que el segundo dispositivo de usuario se comunique con otras fuentes de contenido para recuperar el contenido al que se hace referencia en la plantilla. Por ejemplo, se puede transmitir una solicitud ("solicitud" 528) a la fuente de actualización 508. La fuente de actualización puede ser un servidor web configurado para proporcionar contenido como una fuente de respaldo a través de Internet. De manera similar, una respuesta ("respuesta" 530) puede transmitirse al segundo dispositivo de usuario con el contenido.
Si la fuente de actualización no tiene el contenido o se deniega el acceso al contenido, la respuesta puede indicar esto. Una respuesta (negativa) puede desencadenar que el segundo dispositivo de usuario intente recuperar el contenido de referencia en la plantilla incluso desde una fuente de contenido adicional. La respuesta negativa puede, en algunos casos, desencadenar que el segundo dispositivo de usuario muestre un mensaje de error para indicar al usuario que el contenido no está disponible.
Los mecanismos de resolución de contenido proporcionan una abstracción entre el descriptor de o referencia al contenido y los medios en los que se almacena el contenido, en lugar de proporcionar/incluir el propio contenido en una plantilla. En consecuencia, incluso si un tercer dispositivo 510 proporciona una aplicación o una plantilla ("aplicación" 534) al segundo dispositivo, este segundo dispositivo aún puede tener acceso al contenido. El segundo dispositivo de usuario puede ejecutar la aplicación, generar una plantilla, aplicar la secuencia de comandos de programa informático recuperada localmente (según lo proporcionado por el primer dispositivo de usuario) de modo que se apliquen los permisos prescritos por el dispositivo de radiodifusión, y realizar la resolución de contenido para localizar la fuente más adecuada para acceder al contenido. El resultado permite que las aplicaciones y plantillas sean portables de un dispositivo a otro sin la necesidad de transportar o transferir físicamente el contenido que se está abordando con las aplicaciones y plantillas.
En función del contenido recuperado en una respuesta (de cualquier fuente de contenido adecuada), la plantilla puede ser rellenada por el segundo dispositivo de modo que la presentación visual definida en la plantilla se pueda renderizar en un dispositivo de visualización para su consumo por y/o interacción con el usuario final. El resultado final hace que el usuario final del segundo dispositivo interactúe, a través de una aplicación construida en función del modelo web, con el contenido proporcionado a través del modelo de radiodifusión.
La FIG. 6 muestra un diagrama de procedimiento para la resolución de contenido. El concepto de resolución implica convertir o buscar un nombre y/o un descriptor para determinar una dirección. Por ejemplo, al escribir un identificador de recurso universal (URI) tal como "http://www.abc.com", un navegador web resuelve este URI enviando una consulta a un sistema de nombres de dominio (DNS) para determinar la ubicación de red del servidor que aloja el sitio web ABC.com. El servidor DNS puede responder con una dirección IP de ese servidor "134.221.1.64", y el navegador web utiliza esta dirección IP para conectarse y recuperar el contenido del sitio web. El concepto de resolución se amplía y adapta a la resolución de contenido, de modo que se puede utilizar un descriptor o una referencia para hacer referencia a un contenido (elemento) sin hacer referencia a la ubicación exacta y/o identificador de recurso del elemento de contenido. En una forma de realización, la plantilla incluye una referencia a y/o un descriptor para un contenido. En función de la referencia/descriptor, la resolución de contenido determina un identificador de recurso, que permite identificar o recuperar el contenido en otro dispositivo. Usando el identificador de recurso determinado, entonces se puede generar una solicitud de contenido (que es entendible por el otro dispositivo).
A través de la resolución de contenido, un dispositivo puede ser flexible para comprobar la fuente de contenido (más) adecuada para recuperar el contenido de interés, en lugar de limitarse a recuperar solamente el contenido de un dispositivo particular utilizando un identificador de recurso particular. En general, la resolución de contenido en el contexto de esta divulgación comprende al menos uno de: descubrimiento de dispositivos, descubrimiento de capacidades de servicio, descubrimiento de disponibilidad de contenido y recuperación de URI de contenido.
La resolución de contenido puede ejecutarse de la mejor manera posible con una degradación gradual. En consecuencia, la resolución de contenido se puede realizar sin datos de entrada de o interacción con el usuario y, si todo falla, se puede utilizar contenido de radiodifusor en línea (por ejemplo, una fuente de actualización).
En detalle, el procedimiento de resolución de contenido de ejemplo comienza con el descubrimiento de dispositivos (casilla 604). Si ya se ha recibido una secuencia de comandos de programa informático desde un dispositivo particular, la etapa de descubrimiento puede hacerse opcional porque el dispositivo puede suponer que ese dispositivo particular está conectado de forma comunicativa al dispositivo.
Por ejemplo, el dispositivo que realiza la resolución de contenido puede interrogar a través de la(s) red(es) local(es) qué otros dispositivos están conectados al dispositivo. Para cada dispositivo descubierto, el dispositivo puede solicitar además información con respecto a las capacidades de servicio del dispositivo descubierto, por ejemplo, los protocolos, versiones, funcionalidad admitida del dispositivo (tal como almacenamiento, velocidad), etc. (casilla 606). En una situación en la que ya se ha recibido una secuencia de comandos de programa informático desde un dispositivo particular, la secuencia de comandos de programa informático ya puede incluir información relacionada con las capacidades de servicio. La etapa de determinación de capacidades de servicio puede entonces hacerse opcional.
Por ejemplo, el dispositivo puede interrogar si un dispositivo descubierto tiene almacenamiento para almacenar contenido (rombo 608). En una situación en la que ya se ha recibido una secuencia de comandos de programa informático desde un dispositivo particular que indica que el contenido está almacenado en ese dispositivo particular, la etapa de interrogación de almacenamiento puede hacerse opcional.
Si el dispositivo descubierto tiene almacenamiento, el dispositivo interroga además si el contenido de interés está disponible en el almacenamiento (rombo 610). En algunas formas de realización, la disponibilidad del contenido se puede implementar mediante un mecanismo de solicitud-respuesta, tal como se describe en relación con las FIGS. 3­ 5, donde el segundo dispositivo solicita el contenido y el primer dispositivo (comprobando opcionalmente la solicitud en relación con los permisos almacenados) determina si el contenido está disponible y responde en consecuencia. En determinadas formas de realización, las etapas 608 y 610 pueden ser una parte implícita de una consulta de contenido (etapa 614).
Si el dispositivo descubierto no tiene almacenamiento para almacenar contenido, el dispositivo puede recurrir, de manera práctica, a recuperar el contenido de interés desde una fuente de actualización (casilla 612). El práctico mecanismo de respaldo permite a la aplicación determinar la fuente adecuada para acceder al contenido de manera transparente para el usuario. Por ejemplo, si una versión de mayor calidad del contenido no está disponible, entonces se recupera una versión de menor calidad del contenido desde una fuente de respaldo.
Si el dispositivo descubierto tiene almacenamiento y el contenido está disponible en el almacenamiento, entonces el dispositivo determina además el identificador de recurso asociado al contenido (casilla 614) convirtiendo el descriptor del contenido de interés (como se hace referencia en la plantilla) en un identificador de recurso que permite al dispositivo solicitar y hacer referencia al contenido en ese dispositivo descubierto. El identificador de recurso determinado está en un formato que el dispositivo descubierto que tiene almacenamiento y el contenido disponible puede entender.
En una forma de realización, el proceso de descubrimiento de servicio producirá un servidor de medios como se define en los protocolos Universal Plug and Play (UPnP). El procedimiento de resolución puede invocar una búsqueda en su servicio ContentDirectory (directorio de contenido) integrado. Esto podría dar como resultado un mensaje de respuesta ilustrado en el siguiente ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
<DIDL-Lite
xmlns:dc=http://purl.org/dc/elements/1.1/
xmlns=''urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
xmlns:upnp=''urn:schemas-upnp-org:metadata-1-0/upnp/"
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="
urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/
http://www.upnp.org/schemas/av/didl-lite.xsd
urn:schemas-upnp-org:metadata-1-0/upnp/
http://www.upnp.org/schemas/av/upnp.xsd">
<item id="12" parentlD="11" restricted="0">
<dc:title>Tengo noticias para ti - temporada 21 edición 1</dc:title>
<dc:creator>STB</dc:creator>
<upnp:class>
object.item.videoltem
</upnp:class>
<res
protocolInfo="http :* :video/mpeg :*"
importUri="http://10.0.0.1/4A09FF78-RACS-8CD8-4F5F-87B3">
</res>
</item>
</DIDL-Lite>
Usando el nombre de campo "importUri", la respuesta puede indicar una coincidencia satisfactoria con un identificador de recurso correspondiente, que se puede usar para recuperar el contenido, tal como incluir el identificador de recurso correspondiente en una solicitud de contenido.
En algunas formas de realización, la resolución de contenido puede dar como resultado encontrar o descubrir más de una fuente de contenido o identificadores de recursos asociados al contenido. En esas situaciones, la resolución de contenido puede seleccionar cuál usar en función de, por ejemplo, reglas para clasificar una pluralidad de fuentes de contenido o proporcionar una lista de fuentes de contenido preferidas (por ejemplo, en función de factores tales como ancho de banda, calidad de contenido, derechos de acceso, preferencias de usuario, etc.).
Usando el identificador de recurso, el contenido se puede recuperar desde el dispositivo descubierto (casilla 616). El contenido recuperado se utiliza después para rellenar una plantilla de modo que la presentación visual del contenido se pueda renderizar y proporcionar a un usuario final. En otras palabras, la aplicación puede renderizar la presentación visual del contenido utilizando la plantilla y el contenido recuperado al que se hace referencia en la plantilla.
Además, a continuación se presenta un mecanismo de resolución de contenido ilustrativo, que puede ser ejecutado por el segundo dispositivo en la etapa de resolución de contenido. La siguiente funcionalidad puede ser parte de la secuencia de comandos de programa informático, o la secuencia de comandos de programa informático puede incluir un enlace a alguna función de resolución de contenido.
// Función resolve
// El parámetro media es un objeto que describe un fragmento de medios
// Devuelve un URI si tiene éxito o falso en caso contrario
function resolve (media) {
var name = media ['name']
var start = media ['start']
var stop = media ['stop']
var uris = [ ];
// Iniciar descubrimiento en la red local.
// La función findServices es ofrecida por el propio navegador.
// Los argumentos son meramente ilustrativos.
findServices ('*.local', 'media or storage', 1000, function (res) {
// Servicio encontrado de tipo
var type = res.type
var uri = null
switch(type) {
case 'bonjour':
uri = findOnBonjour (media)
break;
case 'upnp':
uri = findOnUPnPServer (media)
break;
case 'cifs':
uri = findOnCifsServer (media)
break;
default: break;
}
// Almacenar resultado si se obtiene uno
}); if (uri) uris.push (uri)
if (uris.length > 0) {
// Por ahora, solo usar el primero encontrado
return uris[0]
} else {
return Broadcaster.makeDefaultUri (name, start, stop) }}
Una forma de realización de la divulgación puede implementarse como un producto/módulo de programa para su uso con un sistema informático y/o un procesador/módulo de un sistema informático. El/los programa(s) del producto/módulo de programa define(n) las funciones de las formas de realización (incluidos los procedimientos descritos en el presente documento) y puede(n) incluirse en una variedad de medios de almacenamiento no transitorios legibles por ordenador. El medio de almacenamiento legible por ordenador puede ser un medio de almacenamiento no transitorio. Los medios de almacenamiento legibles por ordenador y/o no transitorios ilustrativos incluyen, pero sin limitarse a: (i) medios de almacenamiento no grabables (por ejemplo, dispositivos de memoria de solo lectura dentro de un ordenador, tales como discos CD-ROM legibles por una unidad de CD-ROM, chips de ROM o cualquier tipo de memoria semiconductora no volátil de estado sólido) en los que se almacena información de manera permanentemente; y (ii) medios de almacenamiento grabables (por ejemplo, discos flexibles dentro de una unidad de disquetes o unidad de disco duro, memoria flash o cualquier tipo de memoria semiconductora de acceso aleatorio de estado sólido) en los que se almacena información modificable. Además, la divulgación no se limita a las formas de realización descritas anteriormente, las cuales pueden variar dentro del alcance de las reivindicaciones adjuntas sin apartarse del alcance de la divulgación.
Debe entenderse que cualquier característica descrita en relación con una forma de realización cualquiera puede usarse sola o en combinación con otras características descritas, y también puede usarse en combinación con una o más características de cualquier otra de las formas de realización, o cualquier combinación de cualquier otra de las formas de realización.

Claims (17)

REIVINDICACIONES
1. Un procedimiento para permitir la distribución de contenido desde un primer dispositivo de usuario final a un segundo dispositivo de usuario final aparte, donde el primer dispositivo de usuario final está configurado para recibir el contenido a través de una red de radiodifusión, el segundo dispositivo de usuario final está configurado para proporcionar el contenido a un usuario final y el segundo dispositivo de usuario final está conectado de forma comunicativa al primer dispositivo de usuario final, comprendiendo el procedimiento las siguientes etapas realizadas por el primer dispositivo de usuario final:
recibir el contenido y una secuencia de comandos de programa informático relacionada con el contenido desde una fuente de contenido,
donde la secuencia de comandos de programa informático define o hace cumplir al menos un permiso para utilizar y/o acceder al contenido y comprende una función de resolución de contenido para determinar un identificador de recurso asociado al contenido;
proporcionar la secuencia de comandos de programa informático y/o una derivación de la secuencia de comandos de programa informático desde el primer dispositivo de usuario final al segundo dispositivo de usuario final;
recibir una solicitud desde el segundo dispositivo de usuario final para acceder al contenido; y proporcionar, al segundo dispositivo de usuario final, acceso al contenido de acuerdo con el al menos un permiso.
2. El procedimiento de acuerdo con la reivindicación 1, en el que proporcionar acceso al contenido comprende:
transmitir, en respuesta a la solicitud, el contenido desde el primer dispositivo de usuario final al segundo dispositivo de usuario final de acuerdo con la secuencia de comandos de programa informático.
3. El procedimiento de acuerdo con la reivindicación 1 o 2, en el que la secuencia de comandos de programa informático comprende al menos una función de interfaz de programación de aplicaciones asociada a un comportamiento de reproducción permitido del contenido.
4. El procedimiento de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la secuencia de comandos de programa informático comprende información que define una o más restricciones temporales y/o restricciones de uso que limitan el uso y/o acceso del contenido.
5. El procedimiento de acuerdo con cualquiera de las reivindicaciones anteriores, que comprende además convertir, en el primer dispositivo de usuario final, la secuencia de comandos de programa informático para generar la derivación de la secuencia de comandos de programa informático.
6. El procedimiento de acuerdo con la reivindicación 5, en el que la conversión de la secuencia de comandos de programa informático comprende al menos uno de:
interpretar la secuencia de comandos de programa informático con respecto a instrucciones ejecutables por el primer dispositivo de usuario final;
adaptar al menos uno de los permisos a al menos un requisito del primer dispositivo de usuario final; y almacenar el al menos un permiso actualizado en un almacenamiento de permisos del primer dispositivo de usuario final.
7. El procedimiento de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la secuencia de comandos de programa informático se programa en un lenguaje de secuencias de comandos, un lenguaje integrable y/o un lenguaje de extensión.
8. El procedimiento de acuerdo con cualquiera de las reivindicaciones anteriores, que comprende además:
determinar si la solicitud se ajusta al al menos un permiso.
9. El procedimiento de acuerdo con cualquiera de las reivindicaciones anteriores, en el que la secuencia de comandos de programa informático comprende una función de resolución de contenido para determinar un identificador de recurso asociado al contenido.
10. Un procedimiento para permitir la distribución de contenido desde un primer dispositivo de usuario final a un segundo dispositivo de usuario final aparte que está conectado de forma comunicativa al primer dispositivo de usuario final, donde dicho primer dispositivo de usuario final está configurado para recibir contenido y una secuencia de comandos de programa informático relacionada con el contenido desde una fuente de contenido a través de una red de radiodifusión, el segundo dispositivo de usuario final está configurado para proporcionar el contenido a un usuario final, y dicha secuencia de comandos de programa informático define o hace cumplir al menos un permiso para utilizar y/o acceder al contenido y comprende una función de resolución de contenido para determinar un identificador de recurso asociado al contenido, comprendiendo el procedimiento las siguientes etapas realizadas por el segundo dispositivo de usuario final:
recibir la secuencia de comandos de programa informático y/o una derivación de la secuencia de comandos de programa informático desde el primer dispositivo de usuario final, donde la secuencia de comandos de programa informático comprende información para definir al menos un permiso para acceder al contenido; generar una solicitud en función de la secuencia de comandos de programa informático y/o la derivación de la secuencia de comandos de programa informático; y
transmitir la solicitud al primer dispositivo de usuario final para acceder al contenido.
11. El procedimiento de acuerdo con la reivindicación 10, que comprende además:
generar una plantilla, comprendiendo dicha plantilla información que define una presentación visual del contenido y una referencia al contenido;
recibir el contenido desde el primer dispositivo de usuario final en respuesta a la solicitud;
renderizar, en un dispositivo de visualización del segundo dispositivo de usuario final, la presentación visual utilizando la plantilla y el contenido recibido.
12. El procedimiento de acuerdo con la reivindicación 10, que comprende además:
recibir una plantilla desde un tercer dispositivo, comprendiendo dicha plantilla información que define una presentación visual del contenido y una referencia al contenido;
recibir el contenido desde el primer dispositivo de usuario final en respuesta a la solicitud;
renderizar, en un dispositivo de visualización del segundo dispositivo de usuario final, la presentación visual utilizando la plantilla y el contenido recibido.
13. El procedimiento de acuerdo con la reivindicación 11 o 12, en el que la secuencia de comandos de programa informático comprende una función de verificación para verificar que la plantilla se ajusta al al menos un permiso.
14. El procedimiento de acuerdo con cualquiera de las reivindicaciones 10 a 13, que comprende además:
recibir una respuesta desde el primer dispositivo de usuario final de que no se puede acceder al contenido y/o no está disponible en el primer dispositivo de usuario final;
al recibir la respuesta, transmitir otra solicitud a otra fuente de contenido para recuperar el contenido.
15. El procedimiento de acuerdo con las reivindicaciones 10 a 14, en el que la secuencia de comandos de programa informático comprende una función de resolución de contenido para determinar un identificador de recurso asociado al contenido;
la solicitud se genera en función del identificador de recurso.
16. El procedimiento de acuerdo con la reivindicación 15, en el que la función de resolución de contenido, cuando se lleva a cabo en el segundo dispositivo de usuario final, está configurada para realizar al menos uno de:
determinar al menos un dispositivo conectado de forma comunicativa al segundo dispositivo de usuario final; determinar al menos una capacidad admitida para cualquiera del al menos un dispositivo conectado; determinar si el contenido está disponible en cualquiera del al menos un dispositivo conectado; determinar el identificador de recurso del contenido para cualquiera del al menos un dispositivo conectado.
17. Un producto de programa informático, implementado en un medio de almacenamiento no transitorio legible por ordenador, comprendiendo el producto de programa informático instrucciones que, cuando el programa es ejecutado por un ordenador, hacen que el ordenador lleve a cabo las etapas del procedimiento de acuerdo con una cualquiera de las reivindicaciones 1-16.
ES12816075T 2011-12-29 2012-12-27 Procedimiento y sistema de distribución de contenido Active ES2880848T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11195996 2011-12-29
PCT/EP2012/076927 WO2013098308A1 (en) 2011-12-29 2012-12-27 Method and system for content distribution

Publications (1)

Publication Number Publication Date
ES2880848T3 true ES2880848T3 (es) 2021-11-25

Family

ID=47561582

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12816075T Active ES2880848T3 (es) 2011-12-29 2012-12-27 Procedimiento y sistema de distribución de contenido

Country Status (4)

Country Link
US (2) US20150234856A1 (es)
EP (2) EP3901792A1 (es)
ES (1) ES2880848T3 (es)
WO (1) WO2013098308A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2521478B (en) * 2013-12-23 2022-02-02 Arm Ip Ltd Control of data provision
GB2521614B (en) 2013-12-23 2021-01-13 Arm Ip Ltd Controlling authorisation within computer systems
US9769227B2 (en) 2014-09-24 2017-09-19 Microsoft Technology Licensing, Llc Presentation of computing environment on multiple devices
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US10448111B2 (en) * 2014-09-24 2019-10-15 Microsoft Technology Licensing, Llc Content projection
US9986014B2 (en) * 2015-03-27 2018-05-29 Intel Corporation Systems and techniques for web communication
US20160352814A1 (en) * 2015-05-28 2016-12-01 Brillio LLC Method and system for template based content projection
US10574788B2 (en) * 2016-08-23 2020-02-25 Ebay Inc. System for data transfer based on associated transfer paths
US11241623B2 (en) * 2017-05-05 2022-02-08 Sony Interactive Entertainment LLC Instant streaming of a mobile user interface without application install

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6948070B1 (en) * 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US6986062B2 (en) * 1998-04-09 2006-01-10 Microsoft Corporation Set top box object security system
US7333935B2 (en) * 2001-07-11 2008-02-19 Sony Corporation Methods and apparatus for recognizing compact discs and issuing corresponding credits
WO2003019334A2 (en) * 2001-08-27 2003-03-06 Dataplay, Inc. A secure access method and system
US8510181B2 (en) * 2002-10-04 2013-08-13 Hart Business Solutions, L.L.C. Administering a contract over a data network
US7890961B2 (en) * 2003-08-29 2011-02-15 Yahoo! Inc. Method and apparatus for providing desktop application functionality in a client/server architecture
US20060218650A1 (en) * 2005-03-25 2006-09-28 Nokia Corporation System and method for effectuating digital rights management in a home network
JP4935015B2 (ja) * 2005-07-29 2012-05-23 ソニー株式会社 コンテンツ配信システム,コンテンツ配信方法,コンテンツ送信端末およびコンテンツ受信端末
US8099665B2 (en) * 2006-09-11 2012-01-17 Apple Inc. Organizing and sorting media menu items
US7984377B2 (en) * 2006-09-11 2011-07-19 Apple Inc. Cascaded display of video media
US20080104714A1 (en) * 2006-10-24 2008-05-01 Howard Singer Methods, Media, and Systems for Access Control to Content Distributions
US8621203B2 (en) * 2009-06-22 2013-12-31 Nokia Corporation Method and apparatus for authenticating a mobile device
US8763090B2 (en) * 2009-08-11 2014-06-24 Sony Computer Entertainment America Llc Management of ancillary content delivery and presentation
US8752193B2 (en) * 2009-11-16 2014-06-10 Sandisk Technologies Inc. Content binding at first access
US8577399B2 (en) * 2010-06-15 2013-11-05 Cox Communications, Inc. Systems and methods for facilitating a commerce transaction over a distribution network
US20120036051A1 (en) * 2010-08-09 2012-02-09 Thomas Irving Sachson Application activity system

Also Published As

Publication number Publication date
EP2798554A1 (en) 2014-11-05
US20200394157A1 (en) 2020-12-17
WO2013098308A1 (en) 2013-07-04
EP2798554B1 (en) 2021-06-02
EP3901792A1 (en) 2021-10-27
US20150234856A1 (en) 2015-08-20

Similar Documents

Publication Publication Date Title
ES2880848T3 (es) Procedimiento y sistema de distribución de contenido
US20240107100A1 (en) Systems and methods for presenting content simultaneously in different forms based on parental control settings
US20210314673A1 (en) Retrieving Supplemental Content
CA2674346C (en) Method of inserting promotional content within downloaded video content
WO2017092688A1 (zh) 一种用于智能操作系统的数字版权管理(drm)方法和系统
ES2431307T3 (es) Soporte de funcionalidad de televisión común interactiva a través de la presentación de sintaxis de motor
US8544061B2 (en) Object model for domain-based content mobility
US8543785B2 (en) Protocol for managed copy of media content
US10162944B2 (en) Library style media DRM APIs in a hosted architecture
JP2021192535A (ja) 2要素認証を用いたメディアアセットに対するアクセスの制御のためのシステムおよび方法
WO2010109865A1 (ja) データ送信装置、データ受信装置、データ送信方法およびデータ受信方法
CN107077543B (zh) 流媒体中内容成分的所有权标识、信令和处理
US20080175569A1 (en) Extension of Media Player Environments
JP7227140B2 (ja) 情報処理装置、情報処理方法、音声処理装置、及び音声処理方法
US20160294903A1 (en) Method and device for pushing resources to mobile communication terminal by smart television
US10397296B2 (en) Comment link for shared streaming media content
KR101303834B1 (ko) 이동형 iptⅴ서비스저장장치를 이용한 iptⅴ 서비스 시스템 및 방법
US20160112379A1 (en) Apparatus for and method of playing back content
TWI625965B (zh) 視頻應用程式整合系統及其整合方法
WO2015055545A1 (en) Methods of enabling playback of content and device for playing back content
KR101481380B1 (ko) Html 콘텐츠 재생을 위한 이동단말 및 방법
JP2013258758A (ja) コンテンツ受信装置、コンテンツ受信方法、コンテンツ放送装置、コンテンツ放送方法、プログラム、およびコンテンツ放送システム
Smart Technical Specification Version 3.0
KR100950074B1 (ko) 범용 메모리 장치 및 이를 이용한 방송 데이터 처리 방법
KR20190136295A (ko) 멀티미디어 기기의 어플리케이션 설치 방법