ES2681049T3 - Sincronización multimedia inter-destinos basada en marcadores - Google Patents

Sincronización multimedia inter-destinos basada en marcadores Download PDF

Info

Publication number
ES2681049T3
ES2681049T3 ES13712590.2T ES13712590T ES2681049T3 ES 2681049 T3 ES2681049 T3 ES 2681049T3 ES 13712590 T ES13712590 T ES 13712590T ES 2681049 T3 ES2681049 T3 ES 2681049T3
Authority
ES
Spain
Prior art keywords
synchronization
content
marker
timing information
multimedia
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
ES13712590.2T
Other languages
English (en)
Inventor
Hans Maarten Stokking
Ray Van Brandenburg
Mattijs Oskar Van Deventer
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.)
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Koninklijke KPN NV
Original Assignee
Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
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 Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO, Koninklijke KPN NV filed Critical Nederlandse Organisatie voor Toegepast Natuurwetenschappelijk Onderzoek TNO
Application granted granted Critical
Publication of ES2681049T3 publication Critical patent/ES2681049T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

Un método para activar una sincronización inter-destinos de procesamiento de un contenido de al menos un primer (224) y un segundo flujo multimedia (226), estando asociados dichos primero y segundo flujos multimedia con uno o más marcadores (310, 312) para marcar una o más partes de contenido de dichos primero y segundo flujos multimedia, respectivamente, comprendiendo dicho método: la detección de una primera parte de contenido marcada (314) de dicho primer flujo multimedia, y una segunda parte de contenido marcada (322) de dicho segundo flujo multimedia, estando dichas primera y segunda partes de contenido marcada, asociadas con un primero (310) y un segundo (318) marcador, respectivamente; la asociación de la primera información de temporización (230) con dicha primera parte de contenido marcada detectado y la asociación de la segunda información de temporización (240) con dicha segunda parte de contenido marcada detectado; el suministro de dicha primera información de temporización (230), por un primer dispositivo (204) dispuesto para la recepción del primer flujo multimedia, comprendiendo dicho primer dispositivo un primer cliente de sincronización (208); y proporcionar dicha segunda información de temporización (240), por un segundo dispositivo (206) dispuesto para recibir dicho segundo flujo multimedia, comprendiendo dicho segundo dispositivo un segundo cliente de sincronización (212), respectivamente, a una función de sincronización, estando dicha función de sincronización (108) realizada en uno de entre: un servidor de sincronización (202, 704), una fuente de contenido (220, 222) adaptada para transmitir dicho primero y/o dicho segundo flujo multimedia a dicho primero y segundo cliente de sincronización; o, un receptor (204, 206, 702) asociado con dicho primero y/o segundo cliente de sincronización (208, 212), que determina una diferencia de temporización sobre la base de dicha primera y segunda información de temporización; y generar sobre la base de dicha diferencia de temporización una información de sincronización (250), con el fin de habilitar dicho primer y segundo dispositivo que comprenden dicho primer o segundo cliente de sincronización, respectivamente, para ajustar el procesamiento del contenido de dicho primer y/o segundo flujo multimedia, respectivamente.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCIÓN
Sincronización multimedia inter-destinos basada en marcadores Campo de la invención
La presente invención se refiere, en general, a sincronización multimedia inter-destinos y basada en marcadores y, en particular, aunque no exclusivamente, a un método para activar una sincronización inter-destinos de flujos multimedia, un dispositivo que comprende una función de sincronización, un dispositivo que comprende un cliente de sincronización y una estructura de datos para uso en dichos sistemas y producto de programa informático que utiliza dichos métodos.
Antecedentes de la invención
Técnicas multimedia tales como Voz sobre IP (VoIP) y Televisión de Protocolo de Internet (IPTV) permiten una amplia gama de servicios multimedia. Un tipo de servicio multimedia incluye proporcionar una experiencia compartida sincronizada para una pluralidad de usuarios. Dichos servicios multimedia sincronizados se pueden proporcionar a una pluralidad de usuarios, que están ubicados en diferentes localizaciones. A modo de ejemplo, un grupo de usuarios puede mirar, por separado, el mismo canal de televisión y comunicarse entre sí utilizando texto, audio y/o vídeo (a modo de ejemplo, TV social). Otros ejemplos incluyen experiencias interactivas sensibles al tiempo, tal como una subasta en vivo, o un programa televisivo de preguntas transmitido en el que los televidentes, en la vivienda, pueden introducir respuestas a las preguntas emitidas y participar en el programa. Además, se pueden proporcionar servicios multimedia sincronizados a una pluralidad de dispositivos diferentes asociados con un usuario. A modo de ejemplo, un usuario puede desear ver el mismo programa de televisión en un dispositivo portátil en sincronización con un televisor en la vivienda, de modo que un usuario puede cambiar de un dispositivo a otro sin problemas, en uno u otro sentido.
Con el fin de proporcionar contenido a diferentes usuarios, una fuente de contenido puede transmitir flujos a través de la red a una pluralidad de receptores para la reproducción. Debido a, p.ej., diferentes retardos de extremo a extremo (que se deben a diferentes retardos de transmisión, retardos de red y/o diferentes tiempos de procesamiento de contenido en diferentes receptores), se utiliza un así denominado sistema de sincronización multimedia inter-destinos (IDMS) o sistema de sincronización de grupos, para mantener la reproducción de los flujos por los diferentes receptores sincronizados. Ejemplos de sistemas IDMS conocidos se describen en los documentos ETSI TISPAN TS 182 027 y 183 063, un artículo de I. Vaishnavi et al. "Desde IPTV a los retos de experiencias compartidas en el diseño: Sincronización multimedia distribuida" (Elsevier Signal Processing: Image Communication 26 (2011) páginas 370-377) y un artículo de F. Boronat et al. "Grupo multimedia y técnicas de sincronización entre flujos: Un estudio comparativo" (Elsevier Information Systems 34 (2009) 108-131).
Un sistema IDMS suele incluir un cliente de sincronización en el receptor y un servidor de sincronización en la red en donde el cliente de sincronización está configurado para transmitir información de temporización, p.ej., una o más horas de reloj que indican el tiempo en el que se procesa un paquete particular en un flujo (p.ej., recibido, decodificado o reproducido) por un receptor, al servidor de sincronización. Sobre la base de la información de temporización, el servidor de sincronización es capaz de determinar información de sincronización, es decir, información para un receptor, o un cliente de sincronización incluido, para retardar o anticipar la reproducción de un flujo. La información de sincronización se transmite a los receptores, de modo que se pueda conseguir la sincronización inter-destinos de los receptores.
Los sistemas IDMS convencionales se describen, normalmente, en el contexto de sistemas simples, de suministro de contenido bien definido, p.ej., una única fuente de contenido que transmite un flujo único, que se multiplexa a una pluralidad de receptores que usan un protocolo de transmisión, p.ej., el protocolo RTP/RTCP. En dicho sistema, una parte de contenido particular, es decir (parte de) una trama de imagen y/o una o más muestras de audio, se transmite a los receptores sobre la base paquetes de RTP que tienen el mismo sello temporal de RTP. De este modo, en un sistema de este tipo, los paquetes RTP recibidos por diferentes receptores, pero con el mismo sello temporal, se refieren a la misma parte de contenido (p.ej., la misma trama vídeo). Por lo tanto, las diferencias temporales asociadas con el procesamiento de la misma parte de contenido, por diferentes receptores, se pueden determinar de forma relativamente fácil.
Sin embargo, en numerosos sistemas de entrega de contenido, dicha información para una determinación directa de dichas diferencias de temporización no está disponible. A modo de ejemplo, el contenido se puede entregar a diferentes receptores utilizando protocolos distintos (p.ej., un flujo RTP de multidifusión y un protocolo de flujo continuo adaptativo de HTTP (HAS)), diferentes formatos de compresión, códecs, etc. Además, cuando se está transmitiendo contenido a receptores, la transmisión puede ser trans-codificada de forma diferente para distintos receptores, o se puede modificar el contenido (añadiendo, p.ej., un anuncio), dependiendo del extremo receptor. Dichas modificaciones, de una o más de las transmisiones, a menudo conducen a la desaparición de una línea de tiempo común entre los flujos que, sin embargo, formaron la base para las determinaciones de sincronización por los sistemas IDMS convencionales.
5
10
15
20
25
30
35
40
45
50
55
60
65
Además, el contenido se puede proporcionar por múltiples fuentes. A modo de ejemplo, una red de entrega de contenido (CDN) puede utilizar varios nodos de entrega diferentes (servidor multimedia) para proporcionar una difusión multimedia a una pluralidad de receptores. En tal caso, un primer flujo RTP, entregado desde un primer nodo de entrega, tendrá un valor de marca temporal de RTP inicial aleatorio (compensación de marca temporal de RTP aleatoria), que difiere de un valor de marca temporal de RTP inicial aleatorio, procedente de un segundo flujo RTP que se proporciona desde un segundo nodo de entrega, aunque el contenido y el momento en que se transmite el contenido puede ser el mismo para ambos nodos. En tal caso, los paquetes RTP que tienen la misma marca temporal de RTP, pero que se transmiten por diferentes nodos de entrega, ya no corresponden a la misma parte de contenido de un flujo de contenido.
En todos los casos anteriores, un sistema IDMS convencional ya no puede determinar la información requerida para la sincronización de la reproducción. Por lo tanto, existe una necesidad en la técnica de una solución de sincronización multimedia inter-destinos mejorada que atenúe al menos uno de los problemas discutidos anteriormente.
El documento WO2011/092244 A1 da a conocer métodos y sistemas para sincronizar un primer y segundo flujo multimedia, en donde dicho primero y segundo flujo multimedia se transmiten por al menos una fuente multimedia en una red a través de una primera y segunda ruta multimedia a uno o más terminales. El método comprende: la medición de información de temporización asociada con los tiempos de llegada de paquetes multimedia en dicho primero y segundo flujo multimedia utilizando un módulo de medición situado en una primera localización en dicha primera y segunda rutas multimedia; en dicha red que genera instrucciones de memoria intermedia, para al menos una memoria intermedia, sobre la base de dicha información de temporización, estando situada dicha memoria intermedia en una segunda localización en al menos una de dicha primera o segunda ruta multimedia; y, el retardo de uno o más paquetes multimedia, transmitidos a través de dicha ruta multimedia, a dichos uno o más terminales de modo que los tiempos de llegada de los paquetes multimedia, en dichos uno o más terminales estén prácticamente sincronizados.
El documento de Yuang M C y col.: "Un paradigma de sincronización con garantías de calidad de servicio QoS para comunicaciones multimedia", conferencia de Telecomunicaciones Globales IEEE 1999. GLOBECOM'99; ISBN: 9780-7803-5797-6, propone un paradigma de sincronización, denominado SYNC*, que ofrece dos requisitos de calidad de servicio (QoS), sesgo y rendimiento, para comunicaciones multimedia. SYNC* está constituido por tres componentes: un suavizador de vídeo inteligente (IVS), sincronizador y gestor de prioridad de múltiples conducciones (MPM). Mientras que el IVS y el sincronizador consiguen la sincronización intramedia e intermedia, respectivamente, MPM garantiza un rendimiento satisfactorio antes de la reproducción. El objetivo principal del documento es presentar, en detalle, el análisis de diseño y rendimiento del segundo componente, el sincronizador. El sincronizador tiene como objetivo lograr sesgos acotados entre diferentes medios a través del marcado periódico de tramas correlacionadas. El intervalo de marcado mínimo que produce un sesgo dado, se determina analíticamente, en base a un modelo de puesta en cola de procesos (MBBP)/D/K/1 de Markov Batch Bernoulli. Los autores demuestran la profunda concordancia entre los resultados analíticos y de simulación. Los resultados indican, además, que la calidad de reproducción con respecto al sesgo es altamente relevante para la ráfaga de tráfico y el tamaño de la memoria intermedia del decodificador. Sobre la base de un intervalo de marcación fijo, cuanto mayor es la ráfaga y el tamaño de la memoria intermedia, peor es la calidad de reproducción.
Sumario de la invención
Es un objetivo de la invención reducir o eliminar al menos uno de los inconvenientes conocidos en la técnica anterior. En un primer aspecto, la invención se puede referir a un método para activar una sincronización interdestinos del procesamiento preferentemente, la reproducción del contenido de al menos un primero y un segundo flujo multimedia. Dicho primero y/o segundo flujo multimedia puede estar asociado con uno o más marcadores para marcar una o más partes de contenido de (p.ej., en) dicho primero y/o segundo flujo multimedia, respectivamente.
En una forma de realización, el método puede comprender: la detección de una primera parte de contenido marcada de (en) dicho primer flujo multimedia, y una segunda parte de contenido marcada de (en) dicho segundo flujo multimedia, en donde dicha primera y segunda parte de contenido marcada pueden estar asociado con un primero y segundo marcador respectivamente; la asociación de la primera información de temporización, que comprende, preferentemente, una primera hora de reloj, con dicha primera parte de contenido marcada y la asociación de la segunda información de temporización, que comprende, preferentemente, una segunda hora de reloj, con dicha segunda parte de contenido marcada detectado; la determinación de una diferencia de tiempo sobre la base de dicha primera y segunda información de temporización; y la generación, sobre la base de dicha información de sincronización de diferencia de temporización para habilitar un primero y/o segundo dispositivo preferentemente, un receptor, que comprende un cliente de sincronización para ajustar el procesamiento, preferentemente, la reproducción, de dicho primero y/o segundo flujo multimedia por intermedio de dicho primero y/o segundo dispositivo, respectivamente.
En una forma de realización, dicho primero y segundo marcador pueden ser el mismo y/o estar relacionados con la
5
10
15
20
25
30
35
40
45
50
55
60
65
misma posición en una línea de tiempo de contenido común al primero y segundo flujo multimedia. En formas de realización adicionales, el primero y segundo flujo multimedia comprenden contenido diferente y/o tienen una línea de tiempo de contenido en común (también referida como una línea de tiempo de contenido común). Dicha línea de tiempo de contenido común puede reflejar, en tiempos absolutos o como posiciones relativas, cuando una parte de contenido de un (contenido) flujo debe procesarse (p.ej., reproducirse) en relación con otras partes de contenido que comparten la misma línea de tiempo de contenido común.
En contraste con un sistema IDMS convencional, el IDMS basado en marcador, de conformidad con la invención, permite la sincronización inter-destinos de una pluralidad de receptores, en donde el mismo contenido puede ser transmitido desde diferentes fuentes, usando diferentes formatos y/o sobre la base de diferentes protocolos, a una pluralidad de receptores. A modo de ejemplo, dos receptores, p.ej., un receptor de televisión, por ejemplo un televisor autorizado HbbTV (Televisión de Difusión de Banda Ancha Híbrida) y un dispositivo móvil, puede recibir contenido marcado asociado con el mismo programa lineal (p.ej., una emisión de televisión), a través de dos protocolos de transmisión diferentes, p.ej., un flujo de multidifusión basado en el protocolo RTP o, por ejemplo, basado en un protocolo compatible DVB (tipo -T, -C o -H), y otro flujo basado en el protocolo de Flujo Continúo Adaptativo de HTTP (HAS).
En otra forma de realización, el método puede comprender: un dispositivo, preferentemente, un receptor, que comprende un cliente de sincronización, estando dicho cliente de sincronización configurado para recibir un flujo multimedia marcado (contenido), detectar una parte de contenido marcada de dicho flujo multimedia marcado, en donde dicha parte de contenido marcada se asocia con un marcador; asociar información de temporización, que comprende, preferentemente, una hora de reloj y/o un identificador de marcador, con dicha parte de contenido marcada detectado; un dispositivo, preferentemente un servidor, que comprende una función de sincronización, que determina una diferencia de temporización sobre la base de dicha primera información de temporización y sobre la base de la segunda información de temporización, que se asocia con un segundo flujo multimedia no marcado; y generar, sobre la base de dicha información de sincronización de diferencia de temporización, para permitir que dicho cliente de sincronización ajuste el procesamiento, preferentemente la reproducción, preferentemente de dicho contenido, de dicho primer flujo multimedia. Por lo tanto, el método se puede utilizar, además, cuando se sincroniza un flujo multimedia marcado y un flujo multimedia no marcado. En ese caso, la información de temporización asociada con partes de contenido marcado detectado, puede estar relacionada con la información de secuencia asociada con un flujo de contenido no marcado, p.ej., un flujo multimedia RTP.
En una forma de realización de un método de conformidad con la invención, dichos uno o más marcadores pueden comprender un identificador de marcador para identificar dichos uno o más marcadores asociados con dichas partes de contenido marcado de dicho primero y segundo flujo de multimedia, en donde dicho método puede comprenden, además: la comparación de un primer identificador de marcador, asociado con dicha primera parte de contenido marcada, con un segundo identificador de marcador, asociado con dicha segunda parte de contenido marcada. En una forma de realización adicional, dicho método puede comprender: si dicho primer identificador de marcador es idéntico a dicho segundo identificador de marcador, la determinación de una diferencia de temporización sobre la base de dicha primera y segunda información de temporización; y/o, si dicho primer identificador de marcador no es idéntico a dicho segundo identificador de marcador, la determinación de una diferencia de temporización sobre la base de dicha primera y segunda información de temporización y una relación temporal entre dicho primer marcador identificado por dicho primer identificador de marcador, y dicho segundo marcador identificado por dicho segundo identificador de marcador.
En consecuencia, si un primer dispositivo (p.ej., un primer receptor), que comprende un primer cliente de sincronización transmite como información de temporización no solamente una primera hora de reloj asociado a un primer marcador, sino también un identificador de marcador, y un segundo dispositivo (p.ej., un receptor) transmite no solamente una segunda hora reloj asociada a un segundo marcador, sino también el segundo identificador de marcador, a la función de sincronización (p.ej., al dispositivo que comprende dicha función de sincronización), dicha función de sincronización puede determinar si las horas de reloj se relacionan con el mismo marcador (y por lo tanto, se refieren a la misma parte de contenido o, como alternativa, en caso de diferentes flujos de contenido/multimedia relacionados con la misma posición en un tiempo de contenido común a dichos flujos de contenido/multimedia diferentes) o no.
Si estas horas de reloj se refieren a diferentes marcadores, la función de sincronización puede tener esto en cuenta cuando se calcula la información de sincronización. En una forma de realización, dicha función de sincronización se proporciona con información sobre la distancia en la línea de tiempo de contenido común a los flujos, entre todos, o solamente los marcadores pertinentes del flujo multimedia. Dicha distancia puede proporcionarse, a modo de ejemplo, en cualquier unidad de tiempo adecuada. Como alternativa, dicha distancia se puede proporcionar utilizando otras unidades, que indican un grado de separación, tal como, por ejemplo, el número de paquetes.
En una forma de realización, el método puede comprender: un primer receptor para recibir el primer flujo multimedia que comprende un primer cliente de sincronización que proporciona dicha primera información de temporización; y, en un segundo receptor para recibir el segundo flujo multimedia que comprende un segundo cliente de sincronización, proporcionar dicha segunda información de temporización, respectivamente, a una función de
5
10
15
20
25
30
35
40
45
50
55
60
65
sincronización. En formas de realización de la invención, dicha función de sincronización puede implementarse en un dispositivo, preferentemente uno de entre: un servidor de sincronización, una fuente de contenido adaptada para transmitir dicho primero y/o dicho segundo flujo multimedia a dicho primero y segundo cliente de sincronización; o bien, un receptor asociado con, que comprende preferentemente, dicho primero y/o segundo cliente de sincronización.
En una forma de realización, el método puede comprender: un dispositivo, preferentemente, un receptor que comprende dicho primer cliente de sincronización, que transmite dicha primera información de temporización a un dispositivo que comprende dicha función de sincronización, preferentemente, dicha primera información de temporización comprende un primer identificador de marcador, que identifica dicho primer marcador; la transmisión de una demanda para dicha segunda información de temporización a dicho segundo cliente de sincronización, preferentemente dicha demanda que comprende dicho primer identificador de marcador; en respuesta a dicha demanda, dicho segundo cliente de sincronización transmite dicha segunda información de temporización a dicha función de sincronización. De este modo, en esta forma de realización, se proporciona información de temporización a la función de sincronización en un sistema de demanda-respuesta.
En una forma de realización, el método puede comprender: a la detección de dicha primera parte de contenido marcada, la generación de una primera hora de reloj sobre la base de un reloj sincronizado; a la detección de dicho segundo marcador, la generación de una segunda hora de reloj sobre la base de dicho reloj sincronizado; y, de forma opcional, la transmisión de dicha primera y/o segunda hora de reloj a dicha función de sincronización. Se puede utilizar un reloj sincronizado de NTP o cualquier otro sistema de sincronización adecuado para la sincronización de relojes.
En una forma de realización, dicho método puede comprender: un dispositivo, preferentemente un receptor, para recibir dicho primer flujo multimedia, comprendiendo dicho dispositivo un primer cliente de sincronización, que transmite una primera notificación de marcador asociada con dicha primera parte de contenido marcada detectado a un dispositivo que comprende una función de sincronización, preferentemente dicha primera notificación de marcador, que comprende un primer identificador de marcador; dicha función de sincronización, genera dicha primera información de temporización, preferentemente una primera hora de reloj, a la recepción de dicha primera notificación de marcador.
De este modo, el cliente de sincronización no necesita una marca temporal antes de que se envíe el mensaje de notificación de marcador a la función de sincronización. En formas de realización, la primera hora de reloj (p.ej., información de temporización) puede ser la hora de llegada de dicha notificación de marcador en la función de sincronización o, como alternativa, la primera hora de reloj puede derivarse de la misma. La puesta en práctica elegida depende de la situación, tal como el nivel requerido de sincronización (p.ej., sincronización escasa o ajustada), y/o conocimiento de retardos de transmisión de información de temporización transmitida por el cliente de sincronización a la función de sincronización.
En una forma de realización, un marcador comprende un indicador y/o un identificador de marcador. Se puede utilizar un identificador de marcador para identificar diferentes marcadores asociados con diferentes partes de contenido marcado, de modo que dichas partes de contenido marcado diferentes se refieren a posiciones distintas en una línea de tiempo de contenido común para dicho primero y segundo flujo multimedia. En otra forma de realización, dicho indicador o identificador de marcador se puede incluir en una cabecera de un contenedor de transporte que incluye una parte de contenido. En otra forma de realización, dicho marcador, que comprende opcionalmente, un marcador o identificador de marcador, se puede insertar como una marca de agua en dicha parte de contenido. Por lo tanto, se pueden marcar partes de contenido en cualquier nivel en la pila de protocolos y, además, en el nivel de contenido, de modo que la sincronización inter-destinos se pueda conseguir incluso cuando el contenido se trans-codifica en algún lugar en la ruta entre el transmisor (fuente de contenido) y el receptor.
En una forma de realización adicional, dicho primero y/o segundo flujo multimedia es un Flujo de Transporte MPEG, preferentemente para uso en un servicio DVB. En esta forma de realización, el identificador de marcador, de conformidad con la invención, puede ser (puede tener el formato de) un (campo) synchronised_event_id_instance, un (campo) synchronised_event_id, un (campo) synchronised_event_context o cualquier combinación de estos campos conocidos en la técnica (p.ej., conocidos a partir de la norma ETSI TS 102 823). En una forma de realización de dicha combinación, el (campo) synchronised_event_id se puede utilizar, por ejemplo, para indicar que synchronised_event_id_instance ha de interpretarse como un identificador de marcador para uso de conformidad con la invención. Diferentes valores de synchronised_event_id_instance se pueden relacionar, a continuación, con diferentes partes de contenido, y/o con diferentes posiciones en una línea de tiempo de contenido común para el primero y segundo flujo.
Tanto los datos (bits) asociados con synchronised_event_id, synchronised_event_id_instance, y synchronised_event_context se pueden transmitir por un paquete de Flujo Elemental Empaquetado (PES). El paquete PES que incluye el identificador de marcador puede comprender un Marca Temporal de Presentación (PTS), que se puede utilizar para identificar una parte de contenido particular (p.ej., una trama de vídeo) del Flujo de Transporte (p.ej., el primero y/o segundo flujo según la invención), cuya parte de contenido puede ser transmitida por
5
10
15
20
25
30
35
40
45
50
55
60
65
uno o más paquetes que tienen la misma Marca Temporal de Presentación. Por lo tanto, un paquete PES que incluye un identificador de marcador puede contener, además, una instrucción (implícita) para un terminal que recibe el Flujo de transporte MPEG, para detectar la parte de contenido asociada con el marcador (identificador) y para proporcionar información de temporización asociada (o una notificación de marcador) en función de las formas de realización del método de conformidad con la invención, a la función de sincronización, a la función de sincronización.
De este modo, la sincronización (Sincronización multimedia inter-destinos o IDMS) del procesamiento (a modo de ejemplo, reproducción) de Flujos de Transporte (MPEG), preferentemente asociadas con una difusión o multidifusión de DVB, que se reciben por diferentes receptores, pero que incluyen el mismo programa de contenido (lineal), se puede conseguir de manera eficiente, reutilizando formatos de datos existentes y normalizados en formas de realización del método de conformidad con la invención.
En formas de realización adicionales en donde el primero y/o segundo flujo es un Flujo de Transporte MPEG, en lugar de utilizar los campos normalizados definidos con anterioridad del descriptor de evento sincronizado como marcador (identificador de marcador), todo o parte del descriptor de línea de tiempo de difusión conocido, que se describe, además, en ETSI TS 102 823, se puede utilizar para esta finalidad. El descriptor de línea de tiempo de difusión puede ser parte de un flujo de datos auxiliares sincronizados en un Flujo de Transporte. El flujo de datos auxiliares puede ser un flujo elemental que incluye datos auxiliares que está sincronizado con uno o más flujos elementales que transmiten vídeo o audio, y que son parte del mismo Flujo de Transporte. En formas de realización, el campo absolute_ticks o offset_ticks del broadcast_timeline_descriptor (instancia) se puede utilizar como un identificador de marcador de conformidad con la invención. Otros ejemplos de campos de broadcast_timeline_descriptor, que pueden ser adecuados para uso como identificador de marcador, pueden ser broadcast_timeline_id, o thebroadcast_timeline_type, o una combinación de ambos. En formas de realización adicionales, el identificador de marcador puede ser cualquier combinación de los campos referidos anteriormente del broadcast_timeline_descriptor. En una forma de realización adicional, se define un nuevo campo dentro del broadcast_timeline_descriptor (instancia) que se puede utilizar como (parte de) un marcador, preferentemente, un identificador de marcador.
En una forma de realización, dichos uno o más marcadores, preferentemente identificadores de marcador, se pueden transmitir en uno o más mensajes de señalización asociados con un primero y/o segundo flujo multimedia. En dicha forma de realización, una parte de contenido de un flujo multimedia no está marcada directamente (como es el caso con marcas de agua en la parte de contenido, o como es el caso cuando se inserta un marcador en nivel de protocolo en la cabecera, o contenedor, de un paquete de protocolo), pero indirectamente a través del uso de mensajes de señalización. Los mensajes de señalización proporcionan la información de qué información de temporización de parte de contenido se puede determinar. Una parte de contenido, que es (indirectamente) referida/indicada mediante el uso de marcadores, preferentemente identificadores de marcador dentro de dichos mensajes de señalización, se puede denominar, además, como una parte de contenido marcada para la finalidad de esta invención.
En una forma de realización adicional de conformidad con la invención, dichos uno o más mensajes de señalización pueden comprender uno o más mensajes RTCP o SIP. En otra forma de realización adicional, dichos uno o más mensajes de señalización pueden incluir uno o más mensajes RCTP que comprenden un bloque RTCP XR.
En una forma de realización, dichos uno o más mensajes de señalización pueden comprender una marca temporal RTP y/o una marca temporal NTP y, de forma opcional, un identificador de marcador.
En otra forma de realización adicional, dichos uno o más mensajes de señalización pueden comprender información con respecto a los valores del campo absolute_ticks o offset_ticks, opcionalmente como valores discretos o en la forma de una función (algoritmo) a través de la cual pueden derivarse los valores de ticks (marcas), en donde dichos valores pueden servir como marcadores, preferentemente identificadores de marcadores de conformidad con la invención. En todos los ejemplos anteriores, relacionados con el uso de mensajes de señalización, el marcado se realiza indirectamente, en donde partes, o la totalidad, del contenido de dicho mensaje de señalización, incluyendo parámetros separados, valores o campos o combinaciones de los mismos, se pueden utilizar como un marcador, preferentemente un identificador de marcado, para el marcado de una parte de contenido. De este modo, la información transmitida en dichos mensajes de señalización proporciona la asociación de marcadores con partes de contenido de un primero y/o segundo flujo. Dichas partes de contenido asociadas se refieren, además, como partes de contenido marcadas.
En formas de realización adicionales, se puede proporcionar una función (p.ej., un algoritmo) al cliente de sincronización que se pone en práctica en el receptor, estando dicha función dispuesta para proporcionar marcadores preferentemente, identificadores de marcador, estando dichos marcadores asociados con partes de contenido. Dicha función puede proporcionarse, a modo de ejemplo, como parte de datos auxiliares del primero y/o segundo flujo multimedia, por ejemplo, como un flujo de datos auxiliares de un Flujo de Transporte. Como alternativa, dicha función se puede proporcionar en un fichero de declaración o un mensaje de señalización. Dicha función puede proporcionar valores de campos de datos, cuyos campos de datos que están presentes en el primero
5
10
15
20
25
30
35
40
45
50
55
60
65
y/o segundo flujo (o en un flujo auxiliar, ya sincronizado, con dicho primero y/o segundo flujo), en donde dichos valores pueden servir como marcadores, preferentemente identificadores de marcadores de conformidad con la invención. Dicha función marca, indirectamente, partes de contenido de conformidad con la invención. A través de tal función (algoritmo), los marcadores están asociados inherentemente con partes de contenido de flujos multimedia. Las partes de contenido asociadas se denominan, además, partes de contenido marcadas, por lo que dichas partes de contenido marcadas se asocian con marcadores. Sin embargo, ha de entenderse que para detectar dichas partes de contenido marcadas (en donde el marcado es proporcionado por una función (algoritmo)), tal función ha de ejecutarse, preferentemente, en un dispositivo que comprende un cliente de sincronización dispuesto para ejecutar dicha función. Dicho dispositivo puede ser, por ejemplo, un receptor (p.ej., un equipo de televisión, un teléfono inteligente, una tableta electrónica, un decodificador o cualquier otro dispositivo que se pone en práctica con la funcionalidad del cliente de sincronización).
En una forma de realización, dicha primera y/o segunda parte de contenido marcada puede ser (al menos parte de) una unidad de datos identificable de forma individual, que incluye: parte de una trama de vídeo, una pluralidad de tramas de vídeo, un paquete RTP, un segmento, un paquete de transporte, una o más muestras de audio y/o una o más tramas de subtítulos de texto. En una forma de realización, dicha primera y segunda información de temporización puede comprender una hora de reloj, en donde una parte de contenido (marcada) se procesa por un primero o segundo receptor asociado con dicho primero o segundo cliente de sincronización respectivamente, preferentemente, estando asociada dicha hora de reloj con un tiempo de recepción, un tiempo de desempaquetado, un tiempo de decodificación o un tiempo de reproducción.
En una forma de realización, dicha primera y/o segunda parte de contenido marcada puede ser un primero y un segundo segmento del primero y segundo flujo multimedia segmentado, respectivamente, en donde dichos segmentos se pueden identificar en una estructura de datos, preferentemente un fichero de declaración, por un identificador de segmento. En otra forma de realización, dicha estructura de datos, preferentemente un fichero de declaración, puede comprender, además, información de localización, preferentemente URLs, que se asocia con dichos identificadores de segmento para localizar uno o más servidores multimedia configurados para transmitir segmentos identificados por dichos identificadores de segmento e información de marcador, preferentemente un marcador, de forma opcional, un identificador de marcador para marcar uno o más identificadores de segmento en dicha estructura de datos y, como opción, un parámetro de temporización que indica en qué momento la información de temporización, que incluye, preferentemente, parte o la totalidad de dicha información de marcador, se debe transmitir a una función de sincronización.
En otro aspecto, la invención puede referirse a un dispositivo, preferentemente un receptor, que comprende un cliente de sincronización, preferentemente un cliente de sincronización inter-destinos, configurado para recibir al menos un flujo multimedia asociado con al menos un marcador, para marcar una parte de contenido de dicho flujo multimedia, en donde dicho cliente puede está configurado para: la detección de al menos una parte de contenido marcada de dicho flujo multimedia; proporcionar un dispositivo que comprende una función de sincronización con información de temporización asociada con dicho primer marcador detectado, comprendiendo, preferentemente, dicha información de temporización, una primera hora de reloj y/o un identificador de marcador; la recepción de información de sincronización para dar instrucciones a dicho cliente de sincronización con el fin de ajustar la temporización de una etapa de procesamiento, preferentemente la reproducción de dicho flujo multimedia.
En otro aspecto adicional, la invención se puede referir a un dispositivo, preferentemente un servidor, receptor o un dispositivo fuente de contenido, que comprende una función de sincronización, en donde dicha función de sincronización puede estar configurada para: recibir o proporcionar primera información de temporización, preferentemente una primer hora de reloj, asociada con un primer dispositivo, preferentemente un primer receptor, que comprende un primer cliente de sincronización, estando asociada dicha primera información de temporización con una primera parte de contenido marcada, (de), en un primer flujo multimedia, siendo recibido dicho primer flujo multimedia por dicho primer dispositivo; recibir o proporcionar segunda información de temporización, preferentemente una segunda hora de reloj, asociada con un segundo dispositivo, preferentemente un segundo receptor, que comprende un segundo cliente de sincronización, estando asociada dicha segunda información de temporización con una segunda parte de contenido marcada, (de), en un segundo flujo multimedia, recibiendo dicho segundo flujo multimedia dicho segundo dispositivo; la determinación de una diferencia de temporización sobre la base de dicha primera y segunda información de temporización; y, la generación, sobre la base de dicha información de sincronización de diferencia de temporización para dar instrucciones a dicho primero y/o segundo cliente de sincronización para ajustar la temporización de una etapa de procesamiento de dicho flujo multimedia recibido, preferentemente para ajustar la reproducción de dicho flujo multimedia recibido por dicho primero y/o segundo dispositivo.
En un aspecto adicional, la invención puede referirse a un sistema para permitir la sincronización inter-destinos de procesamiento, preferentemente reproducción de contenido, en donde dicho sistema puede comprender: un primer dispositivo, preferentemente un primer receptor, que comprende un primer cliente de sincronización para detectar una primera parte de contenido marcada de un primer flujo multimedia, y para asociar dicha primera parte de contenido marcada con primera información de temporización; un segundo dispositivo, preferentemente un segundo receptor, que comprende un segundo cliente de sincronización para detectar una segunda parte de contenido
5
10
15
20
25
30
35
40
45
50
55
60
65
marcada de un segundo flujo multimedia, y para asociar dicho segundo contenido marcado con una segunda información de temporización; un tercer dispositivo, preferentemente uno de entre un servidor, un receptor o dispositivo fuente de contenido, que comprende una función de sincronización configurada para determinar una diferencia de temporización basada en dicha primera información de temporización, y segunda información de temporización; y para generar, sobre la base de dicha información de sincronización de diferencia de temporización, preferentemente, configuraciones o instrucciones de sincronización, para que dicho primero y/o segundo cliente de sincronización ajuste el procesamiento, preferentemente la reproducción, de dicho primero o segundo flujo multimedia, respectivamente.
En otro aspecto adicional, la invención se puede referir a una estructura de datos para uso en un sistema según se describió anteriormente, en donde dicha estructura de datos se puede utilizar para informar de la detección de una parte de contenido marcada (p.ej., una parte de contenido marcada por un marcador), en un flujo multimedia, a un dispositivo que comprende una función de sincronización de conformidad con la invención. Dicha estructura de datos puede comprender: información de temporización, preferentemente una hora de reloj, asociada con una parte de contenido marcada en dicho flujo multimedia; y, de forma opcional, dicha información de temporización que comprende un identificador de marcador para identificar dicho marcador. En un aspecto, la invención se puede relacionar con un soporte de memorización legible por ordenador que comprende dicha estructura de datos.
En un aspecto, la invención puede referirse a una estructura de datos adicional, preferentemente un fichero de declaración, para uso en un sistema tal como se describió anteriormente, en donde dicha estructura de datos, preferentemente un fichero de declaración, puede comprender: uno o más identificadores de segmento e información de localización, preferentemente URLs, asociada con dichos identificadores de segmento, con el fin de localizar uno o más servidores multimedia configurados para proporcionar uno o más segmentos asociados con dichos uno o más identificadores de segmento; y, información de marcador que comprende uno o más marcadores para marcar uno o más identificadores de segmento en dicha estructura de datos y, de forma opcional, un parámetro de temporización que indica en qué momento debe transmitirse la información de temporización a un dispositivo que comprende una función de sincronización de conformidad con la invención.
En un aspecto, la invención se puede relacionar con un soporte de memorización legible por ordenador que comprende dicha estructura de datos.
La invención puede referirse, además, a un producto de programa informático, puesto en práctica en un soporte de memorización no transitorio legible por ordenador, en donde el producto de programa informático puede estar configurado para, cuando se ejecuta en un ordenador, realizar las etapas del método tal como se describió con anterioridad.
Las formas de realización dadas a conocer se ilustrarán, además, con referencia a los dibujos adjuntos, que ilustran, esquemáticamente, formas de realización de conformidad con la invención. Ha de entenderse que la invención no está, en ningún modo, limitada a estas formas de realización específicas.
Breve descripción de los dibujos
Aspectos de la invención se explicarán con mayor detalle haciendo referencia a las formas de realización, a modo de ejemplo, ilustradas en los dibujos, en los que:
La Figura 1 ilustra un sistema de sincronización multimedia inter-destinos convencional;
La Figura 2 ilustra un sistema de sincronización multimedia inter-destinos basado en marcador (IDMS), de conformidad con una forma de realización de la invención;
La Figura 3 representa el proceso de generar un flujo multimedia marcado de conformidad con una forma de realización de la invención;
La Figura 4 ilustra, esquemáticamente, una pila de protocolos que comprende protocolos, que pueden estar implicados cuando se transmite contenido a un cliente;
La Figura 5 muestra un diagrama de flujo ilustrativo de un proceso de sincronización inter-destinos de conformidad con diversas formas de realización de la invención;
Las Figuras 6A a 6C ilustran sistemas de diferentes flujos marcadores para uso en un sistema IDMS de conformidad con la invención;
La Figura 7 ilustra un sistema de al menos parte de un sistema IDMS de conformidad con una forma de realización de la invención;
La Figura 8 ilustra un diagrama de flujo del proceso ejecutado por un cliente de sincronización de conformidad con
5
10
15
20
25
30
35
40
45
50
55
60
65
una forma de realización de la invención;
La Figura 9 ilustra un marcador de sincronización, a modo de ejemplo, utilizado en RTP (Protocolo de Transporte en Tiempo Real), de conformidad con una forma de realización de la invención;
La Figura 10 ilustra un marcador de sincronización, a modo de ejemplo, utilizado en RTCP (Protocolo de Transporte de Control en Tiempo Real), de conformidad con una forma de realización de la invención;
La Figura 11 ilustra otro marcador de sincronización, a modo de ejemplo, utilizado en RTCP (Protocolo de Transporte de Control en Tiempo real), de conformidad con una forma de realización de la invención;
La Figura 12 ilustra un marcador ejemplar basado en marca de agua, de conformidad con una forma de realización de la invención;
La Figura 13 ilustra una variación ilustrativa de la combinación de diferentes tipos de marcadores, de conformidad con una forma de realización de la invención;
La Figura 14 ilustra un informe de estado de sincronización ilustrativo, de conformidad con una forma de realización de la invención;
Las Figuras 15A-B ilustran flujos ilustrativos con diferentes tamaños de Grupos de Imagen (GOP), de conformidad con una forma de realización de la invención;
Las Figuras 16A-B ilustran un diagrama ilustrativo de mensajes para su uso en relación con el Protocolo de Descripción de Sesión (SDP), de conformidad con una forma de realización de la invención;
La Figura 17 ilustra una forma de realización ilustrativa que implica múltiples fuentes multimedia, de conformidad con una forma de realización de la invención;
La Figura 18 representa una estructura de datos de un fichero de declaración que comprende segmentos marcadores de conformidad con una forma de realización de la invención;
Las figuras 19A-C muestran variaciones ilustrativas de un sistema IDMS, de conformidad con una forma de realización de la invención.
Descripción detallada
Ha de entenderse que, para la finalidad de esta invención, el término "dispositivo" se refiere a una estructura de hardware. Esto puede ser, por ejemplo, un terminal final (tal como un televisor, decodificador, tableta electrónica, teléfono, teléfono inteligente) y de forma alternativa, un aparato en una red, también de forma alternativa, un producto intermedio, tal como un conjunto de circuitos integrados, Sistema en Circuito Integrado, Módulo Inalámbrico, Microprocesador, tarjeta SIM o USIM. Es relevante que dicho dispositivo pueda incluir un cliente de sincronización (funcionalidad), o función de sincronización, de conformidad con la invención. Cuando se hace referencia a un dispositivo que comprende un cliente de sincronización, dicho dispositivo está, además, configurado (implícita o explícitamente) para recibir un primero y/o segundo flujo multimedia de conformidad con la invención.
Para la finalidad de esta invención, siempre que se utilice el término "receptor", puede ser igualmente sustituido por cualquier dispositivo adecuado para comprender un cliente de sincronización, de conformidad con la invención, y configurado para recibir un primero y/o segundo flujo multimedia.
Para la finalidad de esta invención, se entiende, además, que un marcador se refiere a una señal asociada con una parte de contenido (por lo tanto marcado) de un flujo, que se puede utilizar por un cliente de sincronización para detectar esa parte de contenido de (o más bien 'en'; el uso del término 'de' en lugar de 'en', es una cuestión de forma, y no de fondo) dicho flujo y para determinar la información de temporización o transmitir una notificación de marcador. Un marcador puede ser (comprender) un identificador de marcador si la señal está configurada en un modo en que se pueda distinguir de otras señales utilizadas para marcar otras partes de contenido en dicho primero y/o segundo flujo. Un identificador de marcador puede no ser necesario, a modo de ejemplo, si existen pocos marcadores asociados con un flujo multimedia, y/o cuando la distancia de las partes de contenido marcado, en una línea de tiempo de contenido común, es grande en comparación con una diferencia de temporización prevista, asociada con el procesamiento de los flujos por diferentes dispositivos. El cliente de sincronización puede, a continuación, configurarse para que, con fines prácticos, comunique información de temporización o una notificación de marcador, que se asocia con partes de contenido marcado que tienen la misma posición/localización en una línea de tiempo de contenido común.
La Figura 1 representa un sistema IDMS convencional para sincronizar la reproducción de flujos transmitidos a una pluralidad de receptores. En este ejemplo particular, una fuente multimedia 120 está configurada para transmitir al
5
10
15
20
25
30
35
40
45
50
55
60
65
menos dos flujos, un primer flujo 124 y un segundo flujo 126, a un primer receptor 104 y un segundo receptor 106, respectivamente. En este ejemplo particular, la fuente multimedia se puede configurar para proporcionar contenido a los receptores sobre la base del flujo continuo de multidifusión y el protocolo RTP. Cada receptor puede comprender un cliente de sincronización (SC) 108, 112, que está configurado para transmitir información de temporización, p.ej., una o más horas de reloj, que indican el tiempo en que un paquete particular, en un flujo, fue procesado (p.ej., recibido, decodificado o reproducido), por un receptor a un servidor de aplicación de sincronización multimedia (MSAS) 102, (o, en forma abreviada, un servidor de sincronización).
Tal como se describirá a continuación en más detalle, la información de temporización se puede transmitir en la forma de un informe, es decir, una estructura de datos predeterminada, al MSAS. La información de tiempo puede comprender, p.ej., una hora de reloj ("Hora de reloj A" y "Hora de reloj B"), que se genera por un reloj sincronizado en los receptores y una marca temporal RTP ("Marca temporal RTP A" y "Marca Temporal RTP B") de un paquete RTP recibido por un receptor. La hora de reloj, generada por un reloj sincronizado 110,114 en un receptor, puede indicar en qué momento el receptor procesó una parte de contenido, p.ej., (parte de) una trama de imagen y/o una o más muestras de audio, asociadas con una marca temporal RTP. Las marcas temporales de RTP se utilizan para identificar una posición particular de una parte de contenido en el flujo, de modo que una función de sincronización 108, en el MSAS, puede calcular una diferencia de temporización, es decir, una diferencia de tiempo en el procesamiento de una parte de contenido particular sobre la base de la información en los informes recibidos.
A modo de ejemplo, el primer receptor puede informar de la recepción de una trama asociada con la marca temporal RTP 2070000 (RTP_RCVR1_reported) a la hora del reloj 01:23:45.678 (NTP_RCVR1); y, el segundo receptor puede comunicar la recepción de una trama asociada con la marca temporal RTP 2250000 (RTP_RCVR2_reported) a la hora del reloj 01:23:46.678 (NTP_RCVR2).
Suponiendo una frecuencia de reloj de marca temporal RTP de 90000 Hz, el MSAS puede determinar, en primer lugar, el receptor más retrasado seleccionando una marca temporal de referencia y un cálculo posterior de las otras marcas de tiempo, utilizando la marca temporal de referencia como una base. A modo de ejemplo, el MSAS puede seleccionar la hora del reloj del primer receptor y calcular la marca temporal RTP del segundo receptor a esta hora del reloj: RTP_RCVR2_calculated = RTP_RCVR2_reported + 90000*(NtP_RCVR1-NTP_RCVR2). El resultado de este cálculo es RTP_RCVR2_calculated = 2160000, lo que indica que el primer receptor es el receptor más retrasado. Dicho de otro modo, en el tiempo NTP_RCVR1, el valor de marca temporal RTP del segundo receptor es mayor que el asociado con el primer receptor.
Con el fin de lograr la sincronización inter-destinos, el segundo receptor tiene que ajustar (en este caso, retardar) su reproducción utilizando, p.ej., una memoria intermedia de retardo variable (no mostrada). Este ajuste se realiza sobre la base de la información de sincronización 150, que se transmite a un receptor (p.ej., el segundo receptor) para ajustar su reproducción. Por lo tanto, en este sistema convencional, las marcas de tiempo RTP se utilizan para identificar la posición de un paquete RTP particular (que incluye una parte de contenido predeterminada) en un flujo RTP.
Normalmente, los protocolos utilizados para transmitir contenido a un cliente (tal como el protocolo RTP) utilizan metadatos en la forma de una secuencia de valores que (linealmente) aumenta, con el fin de definir el orden temporal de los paquetes que incluyen partes de contenido tales como tramas de vídeo y/o muestras de audio en un flujo, a modo de ejemplo una marca temporal RTP, una marca temporal de presentación utilizada en formato MPEG, una posición de reproducción (p.ej., código de tiempo SMPTE, o tiempo de reproducción normal) utilizado en el Protocolo de Transmisión en Tiempo Real (RTSP, véase IETF RFC 2326) o uno o más parámetros de protocolo equivalentes en, o asociados con, los paquetes en el flujo. Esta secuencia de valores, que se puede denominar como información de secuencia define, de este modo, posiciones de partes de contenido en un flujo proporcionado al receptor.
Un problema con respecto a un sistema IDMS convencional, tal como se representa en la Figura 1, es que la misma información de secuencia se debe utilizar para todos los flujos transmitidos y no se debe modificar durante la transmisión. A modo de ejemplo, cuando se utilizan marcas de tiempo RTP como información de secuencia, todos los flujos deben comenzar con el mismo valor de marca temporal RTP inicial, y las marcas de tiempo RTP no se pueden perder, ni modificarse, durante la transmisión.
Sin embargo, en numerosas situaciones, la información para determinar la relación temporal a través de diferentes flujos no está disponible. A modo de ejemplo, si una fuente multimedia envía diferentes flujos a diferentes receptores utilizando el protocolo RTP, la fuente multimedia debe utilizar diferentes (aleatorios) valores de marca temporal de RTP iniciales para los distintos flujos de modo que, sin conocimiento previo de las marcas temporales RTP iniciales - se pierda la relación temporal entre los distintos flujos. Lo que antecede puede ser el caso cuando una sola fuente envía una unidifusión por separado a cada receptor, o envía diferentes flujos de multidifusión a varios receptores. Surgen problemas similares en sistemas que utilizan diferentes protocolos de transporte y/o códecs distintos o, en el caso de un sistema de entrega de contenido (CDN), que utilizan una pluralidad de nodos o fuentes para entregar contenido a diferentes receptores.
5
10
15
20
25
30
35
40
45
50
55
60
65
Además, en numerosas situaciones, la información de secuencia a través de los flujos se modifica durante la transmisión. A modo de ejemplo, la transformación de uno de los flujos por un trans-codificador, o la modificación del contenido transmitido por uno de los flujos (p.ej., una inserción de contenido adicional tal como un anuncio), puede destruir la relación temporal inicialmente existente entre los flujos. De este modo, en la totalidad de las situaciones anteriormente mencionadas, un sistema IDMS convencional según se describe con referencia a la Figura 1, no puede, o al menos es menos adecuado, para sincronizar la reproducción de los flujos por los diferentes receptores.
La Figura 2 ilustra un sistema de sincronización multimedia inter-destinos basado en marcador (IDMS), a modo de ejemplo, de conformidad con una forma de realización de la invención. El sistema IDMS puede incluir una o más fuentes multimedia, p.ej., una primera fuente multimedia 220, y una segunda fuente multimedia 222, una pluralidad de receptores, p.ej., un primer receptor 204 y un segundo receptor 206, y al menos un servidor de aplicación de sincronización multimedia (MSAS) 202. La primera y la segunda fuente multimedia se pueden configurar para transmitir contenido en una pluralidad de flujos, p.ej., un primer flujo 224 y un segundo flujo 226, al primero y al segundo receptor, respectivamente. En contraste con el sistema descrito con referencia a la Figura 1, los flujos pueden diferir en términos de códec de compresión de vídeo y/o audio, resolución de vídeo y/o calidad. Además, la transmisión del contenido a los receptores puede basarse en diferentes protocolos (p.ej., RTP, HAS, etc.), y tecnologías de red subyacentes (p.ej., utilizando IP, utilizando tecnologías de radiodifusión DVB, tales como DVB-C, DVB-H). Los primero y segundo receptores pueden ser (parte de) dispositivos o sistemas de salida multimedia (p.ej., dispositivos de consumo multimedia móviles, dispositivos multimedia electrónicos domésticos, sistemas informáticos, etc.) en localizaciones geográficamente separadas, o diferentes tipos de dispositivos o sistemas de salida multimedia en una ubicación.
Un receptor puede estar provisto con un cliente de sincronización 208, 212, que está configurado para generar y transmitir información de temporización 230, 240 al MSAS. Ha de entenderse que no solamente para esta descripción de la figura, sino también para las otras descripciones de la figura, el término MSAS se refiere a un Servidor de Aplicación de Sincronización multimedia, que comprende una función de sincronización de conformidad con la invención. La información de temporización se puede transmitir en la forma de una estructura de datos predeterminada, a modo de ejemplo, un informe de sincronización, al MSAS. Tal como se describirá, a continuación, con más detalle, la información de temporización se utiliza para notificar al MSAS que una parte de contenido particular (p.ej., (parte de) una trama de vídeo y/o una o más muestras de audio), fue procesada por el receptor (p.ej., recibida, decodificada, reproducida, etc.). La información de temporización puede enviarse de cualquier forma adecuada al MSAS dependiendo del sistema particular. A modo de ejemplo, tal como se describirá a continuación con mayor detalle, información de temporización puede incluir una hora de reloj, un identificador de marcador, una marca temporal RTP o cualquier otro tipo de información de secuencia que se utiliza por un protocolo de transporte particular. Como alternativa, la información de temporización puede ser el tiempo de llegada de un mensaje de notificación recibido por la función de sincronización, en donde el mensaje de notificación se envía por un cliente de sincronización a la función de sincronización tras la detección de una parte de contenido marcada.
En general, los primero y segundo clientes de sincronización (sync) se pueden poner en práctica, al menos en parte, como programas de software y/o módulos de hardware configurados para ejecutar funciones responsables de al menos una de entre la detección de una parte de contenido marcada, transmisión (transporte/suministro) de información de temporización o notificaciones de marcador, a la función de sincronización, y/o para recibir y ejecutar instrucciones de sincronización procedentes de la función de sincronización. El MSAS puede comprender funciones de servidor (software) y/o componentes de hardware, denominados colectivamente, como la función de sincronización, configurados para recoger y procesar información de temporización y para calcular y transmitir instrucciones de sincronización a un cliente de sincronización de un (p.ej., puesto en práctica en un) receptor.
Con el fin de permitir que los receptores informen sobre las posiciones en un flujo, es decir, para informar sobre una trama de imagen particular y/o muestra de audio en el flujo, un marcador de sincronización (en lo sucesivo denominado, además, como un marcador, preferentemente un identificador de marcador) se puede asignar a (asociarse con) una parte de contenido predeterminada en un flujo. En determinadas ocasiones, independientemente del protocolo o la pila de protocolos que se utilizan para transmitir una parte de contenido a un receptor, dicho marcador se puede utilizar para identificar (indicar) la ubicación (posición) de una parte de contenido particular en un flujo. De este modo, un cliente de sincronización puede ser capaz de identificar la localización de una parte de contenido particular en un flujo y notificar al MSAS que dicha parte de contenido fue procesada por el receptor a una hora de reloj particular.
Tal como se describirá a continuación, con más detalle, los marcadores permiten a los receptores informar sobre la información de temporización asociada con la misma parte de contenido en diferentes flujos. Un marcador puede comprender un identificador de marcador, un valor (creciente) y/o un indicador, insertado en la parte de metadatos de un contenedor de datos (p.ej., un campo de cabecera). Como alternativa y/o de forma adicional, un marcador se puede insertar, directamente, en el contenido, p.ej., en la forma de una marca de agua. De forma alternativa, sin embargo, un marcador se puede enviar, por separado, a partir del flujo multimedia y/o proporcionarse indirectamente al cliente de sincronización (p.ej., a través de mensajes de señalización). Un cliente de sincronización en el receptor está configurado para detectar la presencia de una parte de contenido marcada del flujo y, de forma opcional, asociar una hora de reloj con el marcador detectado.
5
10
15
20
25
30
35
40
45
50
55
60
65
Por lo tanto, cuando la una o más fuentes de contenido transmiten dichos flujos marcadores, cada receptor recibirá un flujo que comprende partes de contenido marcado, o paquetes marcadores, que comprenden una parte de contenido particular (indicada por círculos en la Figura 2). Tal como se describirá, con más detalle, con referencia a la Figura 3, una fuente de contenido se puede configurar para transmitir paquetes marcadores de modo que cada marcador identifique una parte de contenido particular en el flujo. Los marcadores permiten que un cliente de sincronización envíe información de temporización al MSAS, en el procesamiento (es decir, recepción, decodificación o reproducción) de una parte de contenido particular. Sobre la base de la información de temporización, el MSAS es capaz de determinar una diferencia de temporización entre la reproducción de la parte de contenido particular por diferentes receptores (para más detalles relacionados con la generación de contenido marcado, se hace referencia a la Figura 3).
A la detección de una parte de contenido marcada del flujo, a modo de ejemplo detectando un marcador en el flujo, el cliente de sincronización puede generar información de temporización y asociar esa información de temporización con la parte de contenido marcada detectado y/o con el marcador detectado. En una forma de realización, la información de temporización puede comprender una marca temporal asociada con una hora de reloj predeterminada, que se genera sobre la base de un reloj de pared sincronizado (p.ej., primer y segundo reloj 210, 214) en el receptor. Por lo tanto, la hora de reloj puede indicar el tiempo en que se procesó una parte de contenido marcada particular (p.ej., recibida, decodificada o reproducida) por el receptor. En algunas formas de realización, la información de temporización se puede transmitir en un informe de estado de sincronización que tiene una estructura de datos según se describe en ETSI TISPAN TS 183 063 V3.5.2 o IETF ID draft-ietf-avtcore-idms-02.
Los relojes de pared (es decir, los relojes de los receptores, utilizados para generar las horas de reloj de conformidad con la invención) se pueden sincronizar utilizando, a modo de ejemplo, el Protocolo de Tiempo de Red (NTP). En una forma de realización, no se requieren relojes sincronizados (NTP) si se utiliza un canal de comunicación de bajo retardo para la transmisión de información de temporización al MSAS, e información de
sincronización al cliente. En ese caso, un cliente puede enviar su información de temporización inmediatamente
después de recibir los paquetes que se informan al respecto. Otras formas de realización pueden incluir la determinación/estimación de retardos de red que sufre la información de temporización cuando se transmite a través de la red de una entidad a otra.
En una forma de realización, si el retardo entre el receptor y el MSAS es conocido o muy pequeño (p.ej., puesto que se utiliza un canal de comunicación de bajo retardo entre el cliente y el MSAS), la información de temporización solamente puede incluir una notificación de marcador, es decir, una notificación de que un marcador es detectado por el cliente. En ese caso, el MSAS puede determinar que el tiempo de recepción de esta notificación es prácticamente el mismo que el tiempo de detección del marcador por el cliente. Por lo tanto, en una forma de
realización de este tipo, no se requiere un reloj de pared sincronizado en el cliente. En cambio, la información de
temporización transmitida por un primer y segundo cliente al MSAS solamente comprende una notificación de la detección de un marcador. En una forma de realización, dicha notificación puede incluir un identificador de marcador. Una notificación que se origina desde el primero y segundo receptor se puede asociar con una hora de reloj mediante una marca de tiempo en la notificación a la recepción por el MSAS. A continuación, sobre la base de estas notificaciones con marcas temporales, el MSAS puede determinar el receptor más retrasado y transmitir información de sincronización a al menos uno de los receptores, en donde dicha información de sincronización se puede utilizar por el receptor para ajustar la reproducción del flujo multimedia recibido de una forma tal que pueda lograrse una sincronización inter-destinos de la reproducción de dos flujos que lleguen a diferentes receptores. Ha de entenderse que la reproducción es solamente una etapa de procesamiento multimedia en un receptor para el que se puede conseguir la sincronización inter-destinos de conformidad con la invención. Otras etapas de procesamiento que pueden sincronizarse entre diferentes receptores pueden estar relacionadas con la decodificación o cualquier otra forma de interacción con los flujos multimedia recibidos. Ha de entenderse, además, que, para la finalidad de la invención, los flujos multimedia que llegan a receptores diferentes, no necesitan incluir el mismo contenido, siempre que los flujos compartan alguna línea de tiempo de contenido común (reproducción), la sincronización inter-destinos de conformidad con formas de realización de la invención puede ser útil y aplicable.
En otra forma de realización, cuando se detecta un marcador, un cliente de sincronización puede transmitir información de temporización al MSAS, en donde la información de temporización comprende información de marcador. La información de marcador puede incluir un identificador de marcador para identificar la parte de contenido marcada, asociada con el marcador detectado y/o el propio marcador detectado. En una forma de realización, el identificador puede permitir que un marcador se distinga de al menos uno o más marcadores adyacentes en el flujo. La utilización y las ventajas asociadas con información del marcador se describen, con más detalle, con referencia a las Figuras 6A-6C.
Haciendo referencia de nuevo a la Figura 2, cuando el MSAS recibe información de temporización asociada con la detección de la misma parte de contenido marcada, p.ej., trama, en el primero y segundo flujo, se pueden iniciar cálculos de sincronización sobre la base de la información de temporización recibida con el fin de determinar una diferencia de temporización entre el primer receptor y el segundo receptor. El cálculo puede incluir la resta de la información de temporización, procedente del primer receptor, de la información de temporización, procedente del
5
10
15
20
25
30
35
40
45
50
55
60
65
segundo receptor (p.ej., encontrar una diferencia en horas de reloj) similar a los cálculos según se describen con referencia a la Figura 1.
Tal como se indicó con anterioridad, con el fin de iniciar un cálculo de sincronización, en una forma de realización, la información de temporización puede referirse a la detección de la misma parte de contenido marcada en el primero y segundo flujo. Lo anterior puede determinarse, a modo de ejemplo, sobre la base de la información de marcador enviada junto con (p.ej., como un subconjunto de) la información de temporización al MSAS, (tal como se analiza, con más detalle, con referencia a las Figuras 6A-6C). Si la información de temporización recibida a partir de los diferentes receptores está asociada a un marcador que corresponde a la misma posición en los flujos de contenido, el MSAS puede determinar una diferencia de temporización restando la primera hora de reloj de la segunda hora del reloj (suponiendo que las horas de reloj se proporcionen por relojes sincronizados en el tiempo). Si, sin embargo, la información de temporización recibida está asociada con marcadores diferentes (identificados, p.ej., por diferentes identificadores de marcador), la información de temporización recibida, asociada con marcadores posteriores, se puede memorizar en un soporte de memorización, p.ej., una memoria caché. A la recepción de información de temporización que corresponde al mismo marcador (que se identifica por el mismo identificador de marcador) entonces, los cálculos de sincronización se pueden realizar en la información de temporización memorizada en la memoria.
Como alternativa, si la información de temporización recibida se refiere a diferentes marcadores, la función de sincronización puede tener esto en cuenta cuando se calcula la diferencia de temporización y la información de sincronización posterior. En una forma de realización, la función de sincronización se proporciona con información sobre la distancia en la línea de tiempo del contenido entre todos, o solamente los marcadores pertinentes, en el flujo multimedia. A modo de ejemplo, las partes de contenido en flujos multimedia pueden marcarse periódicamente en donde cada marcador subsiguiente se identifica con un valor de marcador creciente (p.ej., marcador 000 en t=0, marcador 001 en t=5s, marcador 002 en t=10s, etc.) de modo que se puede determinar la distancia entre un identificador de marcador informado, en un primer flujo multimedia, y un segundo identificador de marcador, en un segundo flujo multimedia. Dicha distancia puede proporcionarse, a modo de ejemplo, en cualquier unidad de tiempo adecuada. Como alternativa, dicha distancia se puede proporcionar utilizando otras unidades, que indican un grado de separación, tal como, por ejemplo, el número de paquetes. Por lo tanto, cuando la relación temporal entre marcadores en flujos multimedia se proporciona a la función de sincronización en el MSAS, la función puede determinar una diferencia de tiempo entre un primer identificador de marcador informado y un segundo identificador de marcador informado, sobre la base de la información de temporización, es decir, horas de reloj y los identificadores de marcador y la relación temporal entre dichos identificadores de marcador.
Sobre la base de los cálculos de sincronización, información de sincronización para que un receptor ajuste, p.ej., anticipe o retrase, la reproducción del flujo que se genera. En algunas formas de realización, la información de sincronización se puede transmitir en una estructura de datos predeterminada referida como una instrucción de establecimiento de Sincronización, tal como se define en ETSI TISPAN e Internet Engineering Task Force (IETF) ETSI TISPAN TS 183 063 V3.5.2 y IETF ID draft-ietf-avtcore-idms-02. La información de sincronización 250, generada por el MSAS, sobre la base de la diferencia de temporización calculada se transmite, a continuación, a al menos uno de los receptores con el fin de que el cliente de sincronización en los receptores pueda ajustar la reproducción en respuesta. El ajuste de la reproducción puede realizarse dando instrucciones a una memoria intermedia de retardo variable en el receptor.
Por lo tanto, en contraste con el sistema IDMS convencional de la Figura 1, el IDMS basado en marcador, de conformidad con la invención, permite la sincronización inter-destinos de una pluralidad de receptores, en donde se puede transmitir el mismo contenido desde diferentes fuentes, utilizando diferentes formatos y/o sobre la base de diferentes protocolos, para una pluralidad de receptores.
Además, el sistema IDMS basado en marcador permite que los flujos se transmitan utilizando diferentes protocolos de transporte. A modo de ejemplo, dos receptores, p.ej., un receptor de televisión y un dispositivo móvil, pueden recibir un contenido marcado asociado con el mismo programa lineal (p.ej., una difusión de televisión), a través de dos protocolos de transmisión diferentes, p.ej., un flujo multidifusión basado en el protocolo RTP, y otro flujo basado en el protocolo de Flujo Continúo Adaptativo HTTP (HAS). El contenido puede marcarse en diferentes niveles en la pila de protocolos utilizada para transmitir contenido a los receptores. Como alternativa, el contenido se puede marcar a nivel de contenido utilizando, p.ej., técnicas de marca de agua. En ese caso, la sincronización interdestinos se puede conseguir incluso cuando el contenido sea trans-codificado en algún lugar en la ruta entre el cliente y el receptor.
En otro ejemplo adicional, el IDMS basado en marcador se puede utilizar en situaciones en las que la información de secuencia asociada con un protocolo no es adecuada para la finalidad de la sincronización inter-destinos. A modo de ejemplo, tal como se explica en IETF RFC 3550, varios paquetes RTP consecutivos tendrán iguales valores de marca temporal RTP si se generan (lógicamente) a la vez, por ejemplo, pertenecen a la misma trama de vídeo. Además, paquetes RTP consecutivos pueden contener valores de marca temporal RTP que no son monotónicos, si los datos no se transmiten en el orden en que se muestrearon, como en el caso de tramas de vídeo interpoladas MPEG (los números de secuencia de los paquetes transmitidos seguirán siendo monótonos). Por lo tanto, incluso en
5
10
15
20
25
30
35
40
45
50
55
60
65
dichas situaciones, es posible la sincronización inter-destinos sobre la base de marcadores de sincronización.
La Figura 3 ilustra el proceso de generación de un flujo multimedia marcado de conformidad con una forma de realización de la invención. En esta forma de realización, un vídeo puede ser empaquetado y enviado en dos versiones diferentes de flujo empaquetado a diferentes receptores. A modo de ejemplo, en un primer flujo, tramas de vídeo asociados con un vídeo se pueden empaquetar en un flujo RTP, de modo que una trama de vídeo sea transmitida por dos paquetes RTP, mientras que, en el segundo flujo, tramas de vídeo asociadas con el mismo vídeo se pueden empaquetar en un flujo RTP, de modo que cada uno de los paquetes RTP puede incluir una trama.
Durante el proceso de empaquetado, una función de marcador 302, en la fuente de contenido 300, puede introducir marcadores 3041,2 (sincronización) con el fin de marcar la posición de una parte de contenido particular, p.ej., (parte de) una trama de vídeo, en el flujo. A modo de ejemplo, en una forma de realización, la cabecera de un paquete puede incluir un campo marcador que comprende información de marcador, p.ej., un indicador de marcador particular y/o un identificador de marcador particular, que es detectable por el cliente de sincronización en el receptor. En una forma de realización, identificadores de marcador se pueden introducir periódicamente en el flujo multimedia (p.ej., cada 2 segundos o 200 contenedores multimedia), en donde el valor de los identificadores de marcador aumenta de forma monotónica.
Por lo tanto, tal como se indica en la Figura 3, el primer flujo A RTP marcado se puede producir mediante un primer proceso de empaquetado en donde tramas A y E 306,308 del vídeo se insertan en un primer y segundo paquete de RTP 314,316 y un marcador 310,312 se puede introducir en un campo predeterminado de la cabecera de estos paquetes para marcar la posición de inicio de estas tramas en el primer flujo RTP. En un modo similar, se puede producir un segundo flujo B de RTP marcado por un segundo proceso de empaquetado (diferente) en donde la primera parte de las tramas de vídeo A y E 318,320 están insertadas en un primero y segundo paquetes RTP marcadores 322,324. En consecuencia, sobre la base de los marcadores introducidos, la posición de una parte de contenido particular, p.ej., una trama de vídeo, se puede determinar para diferentes flujos, que se empaquetan de modo distinto.
En una situación de fuente única, pueden introducirse marcadores durante la transmisión a clientes de modo que todos los flujos que se originan a partir de la fuente incluyan marcadores que apuntan a las mismas partes de contenido. En una situación de múltiples fuentes, se pueden introducir marcadores basados en un acuerdo o algoritmo predeterminado entre las múltiples fuentes, con el fin de garantizar que los marcadores se inserten en las posiciones correctas en los flujos. Para esta situación, se hace referencia a la Figura 17. En una forma de realización adicional, una primera fuente, que comprende una función de marcador, puede producir un flujo de contenido marcado y, posteriormente, distribuir copias de este flujo de contenido marcado a una serie de servidores multimedia (p.ej., una cantidad de nodos de distribución en un CDN) para su posterior distribución a los clientes.
En algunas formas de realización, el marcador puede estar asociado con un identificador de marcador de modo que los marcadores se puedan distinguir de otros marcadores (adyacentes) en un flujo. El uso de tales identificadores de marcadores puede depender de la frecuencia del marcador en un flujo y el retardo máximo entre los diferentes flujos. A modo de ejemplo, en un sistema particular en donde cada marcador de flujo se inserta cada 20 segundos, en donde la diferencia de retardo máxima entre flujos no es mayor a 5 segundos, y en donde la información de temporización se transmite en un canal de bajo retardo al servidor de sincronización, pudiendo suponer el servidor que la información de temporización recibida más o menos al mismo tiempo está asociada con marcadores en diferentes flujos que se relacionan con la misma posición en el contenido.
Sin embargo, si la frecuencia del marcador es más alta y/o las variaciones de retardo son más altas entonces, la información de temporización recibida desde diferentes receptores se puede relacionar con diferentes posiciones marcadas en los distintos flujos. Por lo tanto, en ese caso, al asignar un identificador de marcador a un marcador y enviar este identificador de marcador junto con la información de temporización al servidor de sincronización, es posible determinar información de temporización de diferentes clientes en el mismo marcador. Este proceso se describe con más detalle con respecto a las Figuras 6A-6C.
Aunque el proceso de marcado, ilustrado en la Figura 3, se describe con respecto al marcado de paquetes RTP insertando información de marcador en la cabecera de un paquete RTP, los marcadores pueden insertarse en otras capas de protocolo asociadas con un flujo de contenido. La Figura 4 ilustra, esquemáticamente, una pila de protocolo, a modo de ejemplo, que comprende protocolos, que pueden estar implicados cuando se transmite contenido a un cliente. A modo de ejemplo, el contenido puede codificarse de conformidad con un códec de compresión de vídeo particular, p.ej., H.263, o similar, que se empaquetan en paquetes de flujo de transporte MPEG (TS), que se pueden transmitir en varios formatos de paquete, p.ej., transmitir paquetes RTP de Flujo de T ransporte, utilizando el protocolo UDP a través de una red IP (TS/RTP/uDp/IP) o transmitiendo, directamente, un Flujo de Transporte en paquetes UDP (TS/UDP/IP), etc. Tal como se ilustra en la Figura 4, marcadores se pueden insertar, preferentemente, en la cabecera de paquetes asociados con el transporte, capa de presente o capa de aplicación, p.ej., una cabecera de paquete RTP, cabeceras de primer conjunto de pares de cables TS o una cabecera de carga útil de códec.
5
10
15
20
25
30
35
40
45
50
55
60
65
Como alternativa y/o de forma adicional, una parte de contenido, p.ej., una trama, se puede marcar utilizando una técnica conocida de marca de agua digital. En ese caso, una función de marcador en la fuente del contenido puede incorporar información particular, p.ej., un identificador de marcador, directamente en una trama y/o audio. Esta información puede no ser visible para un usuario cuando se reproduce el flujo.
La Figura 5 ilustra un diagrama de flujo ilustrativo de un proceso de sincronización inter-destinos de conformidad con varias formas de realización de la invención. En particular, la Figura 5 ilustra un diagrama de flujo de procesos IDMS basados en marcadores para su uso en un sistema, tal como se describe con referencia a la Figura 2. En este sistema, un primer receptor que comprende un primer cliente de sincronización SC1 puede recibir un primer flujo marcado, y un segundo receptor que comprende un segundo cliente de sincronización SC2 puede recibir un segundo flujo marcado, en donde los marcadores, en el primer y segundo flujo marcado, marcan las posiciones de las mismas partes de contenido.
El proceso ilustrado en la Figura 5 puede comenzar con SC1 detectando un marcador de sincronización (p.ej., en la cabecera de un paquete de protocolo y/o como una marca de agua en una trama de vídeo, o muestra de audio) (etapa 502). A continuación, cuando se detecta el marcador, SC1 puede generar primera información de temporización (etapa 504). En una forma de realización, la primera información de temporización puede comprender una hora de reloj generada por un reloj de pared sincronizado (NTP) en el cliente. En una forma de realización adicional, el SC1 puede determinar, además, un identificador de marcador asociado con el marcador detectado. En este caso, la primera información de temporización puede comprender, además, la primera información de marcador, p.ej., un identificador de marcador asociado con el marcador detectado. A continuación, el SC1 puede enviar la primera información de temporización al MSAS (etapa 506). Esta información se puede transmitir al MSAS en un formato de datos predeterminado, tal como primer informe de estado de sincronización para el MSAS.
En una forma de realización opcional, el SC2 puede estar configurado para transmitir información de temporización en respuesta a una demanda de información de temporización que se origina desde el MSAS. A modo de ejemplo, cuando el MSAS recibe primera información de temporización desde el SC1, puede enviar una demanda de información de temporización, que comprende un identificador de marcador asociado con el marcador detectado por el SC1 (etapa 508). El SC2 solamente enviará la segunda información de temporización al MSAS si detecta un marcador con un identificador, que coincida con el identificador en la demanda de información de temporización.
El SC2 puede detectar un marcador en el segundo flujo (etapa 510) y generar segunda información de temporización (etapa 512), p.ej., una segunda hora de reloj generada por un reloj de pared sincronizado (NTP) en el cliente. Además, en una forma de realización, SC2 puede generar segunda información de marcador que comprende un identificador de marcador asociado con el marcador detectado. Entonces, el SC2 puede enviar la segunda información de temporización, que incluye opcionalmente, la segunda información de marcador, al MSAS (etapa 514). Esta información se puede transmitir al MSAS en un formato de datos predeterminado, tal como un segundo informe de estado de sincronización para el MSAS.
Sobre la base de la información recibida, la diferencia de temporización entre SC1 y SC2 se calcula en MSAS. En una forma de realización, la información de temporización que se origina desde los SCs solamente incluye una hora de reloj. En ese caso, el MSAS supone que la información de temporización recibida de la pluralidad de clientes de sincronización se refiere a un marcador particular, que marca una posición predeterminada en el contenido. Éste puede ser el caso, si el sistema está configurado de modo que la diferencia de temporización máxima entre los clientes de sincronización es menos de la mitad del período de tiempo entre los marcadores posteriores en un flujo. Si la diferencia de temporización máxima es mayor de la mitad del período de tiempo entre marcadores posteriores, un MSAS no puede saber, con seguridad, si una determinada información de temporización recibida, procedente de un receptor, está en la misma parte de contenido de una información de temporización anterior o posterior procedente de otro receptor.
Por lo tanto, en otra forma de realización en donde la relación entre el retardo máximo y la detección de marcadores posteriores en un flujo no se puede determinar con precisión, el SC1 y el SC2 pueden transmitir información de temporización e identificadores de marcador asociados al MSAS. Los identificadores de marcador son, luego, utilizados por el MSAS para verificar si la información de temporización recibida de los diferentes clientes, está relacionada con el mismo marcador, o con diferentes marcadores (etapa 516). Cuando identificadores de marcador asociados con información de temporización diferente coinciden, la información de temporización pertenece al mismo marcador. Si la información de temporización no corresponde al mismo marcador, el MSAS puede memorizar la información de temporización para una comparación posterior.
La información de temporización procedente de diferentes clientes, que relaciona un marcador asociado con una posición particular en el contenido, se utiliza para calcular la diferencia de temporización entre los clientes (etapa 518). En particular, los valores de marca temporal en la información de temporización se pueden restar para determinar una diferencia de temporización entre la temporización de recepción o reproducción de los diferentes clientes. Sobre la base de la diferencia de temporización así determinada, la información de sincronización se puede generar y transmitir a al menos uno de los clientes de sincronización (etapa 520).
5
10
15
20
25
30
35
40
45
50
55
60
65
En una forma de realización adicional, el proceso representado en la Figura 5 se puede utilizar en un sistema en donde los clientes no tienen, o al menos no usan, un reloj sincronizado (NTP). En su lugar, se establece un canal de retardo bajo entre el cliente y el MSAS, con el fin de permitir la transmisión rápida de información entre el cliente y el MSAS. En ese caso, el proceso se puede iniciar con SC1 y SC2 detectando un marcador de sincronización e inmediatamente transmitir primera y segunda información de temporización al MSAS. En ese caso, la información de temporización puede incluir una notificación de que se ha detectado un marcador. Cuando el MSAS recibe una notificación, se asocia una hora de reloj a la notificación (es decir, la notificación tiene marca temporal). La hora del reloj y, opcionalmente, la información del marcador se utiliza, posteriormente, por el MSAS para determinar la diferencia de temporización y la información de sincronización relacionada con el fin de ajustar la reproducción de al menos uno de los receptores.
Las Figuras 6A a 6C ilustran sistemas de diferentes flujos marcadores para uso en un sistema IDMS de conformidad con la invención. En particular, las Figuras 6A-6C ilustran en qué circunstancias puede requerirse el uso de identificadores de marcador. La Figura 6A se refiere a un sistema de entrega de contenido que está configurado de modo que el retardo esperado máximo entre diferentes flujos es importantemente menor que la mitad del período del marcador, es decir, el período de tiempo definido por dos posiciones adyacentes del marcador. En ese caso, se puede suponer que la información de temporización recibida de dos receptores, p.ej., un primer informe recibido de un primer receptor y un segundo informe recibido de un segundo receptor, en, aproximadamente, el mismo tiempo, corresponde al mismo marcador asociado con una posición particular en el contenido.
A modo de ejemplo, en la Figura 6A, un primer marcador X 602 puede marcar un primer paquete en un primer flujo 604, transmitido a un primer receptor 606, y un segundo marcador X 608 puede marcar un segundo paquete en un segundo flujo 612, transmitido a un segundo receptor 614. Ambos marcadores marcan 602,608 la misma posición en el contenido; sin embargo, debido a retrasos en la red, el primer paquete marcado llegará al primer receptor un poco antes que el segundo paquete marcado al segundo receptor. Como no existen más paquetes marcadores en el primero y segundo flujo, información de temporización recibida por el MSAS puede estar relacionada, sin ambigüedad, con los paquetes marcadores detectados y, por lo tanto, el MSAS no necesita más información para determinar el retardo de temporización.
Sin embargo, cuando se aumenta la frecuencia en los flujos y/o están permitidos retrasos mayores entre los flujos, el MSAS puede no ser capaz de determinar si la información de temporización recibida de diferentes receptores se refiere a la misma posición en el contenido. A modo de ejemplo, en la figura 6B, el período del marcador es más pequeño (la frecuencia del marcador es mayor), de modo que el MSAS recibe la información de temporización a una velocidad más alta, p.ej., a partir de los informes. En este caso, el MSAS requiere información adicional con el fin de determinar si un paquete asociado con, p.ej., el marcador X 616, en el primer flujo 618, se refiere a un primero o un segundo paquete marcado detectado 620,622 en el segundo flujo 624, y para determinar qué receptor está adelantado o retrasado. En ese caso, los marcadores se pueden etiquetar con identificadores de marcador de modo que se puedan distinguir los marcadores por el MSAS.
El uso de identificadores de marcador se ilustra, con más detalle, en la Figura 6C en donde un primer flujo 626 transmitido a un primer receptor, comprende paquetes marcadores 628-632 asociados con los identificadores de marcador X1, X2 y X3 que marcan algunas posiciones previamente determinadas de partes de contenido en el flujo. De modo similar, el segundo flujo 634, transmitido al segundo receptor, comprende paquetes marcadores 636,638 marcadores asociados X1 y X2, y así sucesivamente. A la detección de un marcador, el cliente de sincronización puede enviar información de temporización, que comprende, preferentemente, información de marcador (p.ej., un identificador de marcador) a un MSAS. La información de temporización recibida de los diferentes receptores, que tiene el mismo identificador de marcador, se puede utilizar para calcular una diferencia de temporización asociada con el procesamiento (p.ej., reproducción) de dicho primero y segundo flujo, por dicho primero y segundo receptor, respectivamente.
El identificador de marcador puede no ser necesariamente un identificador único. En una forma de realización, un identificador de marcador puede ser único para un subconjunto de marcadores posteriores en el flujo. A modo de ejemplo, si la frecuencia del marcador no es demasiado alta, los marcadores pueden, simplemente, ponerse en práctica utilizando un indicador binario para el marcado de partes de contenido como "par" ("0b") e "impar" ("1b"). Este sistema se puede utilizar si el retardo esperado entre receptores es menor que el tiempo entre dos marcadores. En otra forma de realización, los marcadores pueden ser un conjunto cíclico de valores numerados de forma secuencial, p.ej., 1,2, 3, 4, 5, 1,2, 3, 4, 5, etc.
La Figura 7 ilustra un sistema de al menos parte de un sistema IDMS de conformidad con una forma de realización de la invención. En particular, la Figura 7 ilustra un receptor 702, que comprende un cliente de sincronización 706, que está configurado para su comunicación con un MSAS 704. El receptor puede comprender un cliente de transmisión multimedia 718, que comprende una interfaz de red configurada para recibir contenido, p.ej., un flujo empaquetado, desde una o más fuentes de contenido en la red. Los paquetes recibidos de un flujo multimedia se pasan a una unidad de desempaquetado 716 para desempaquetar los paquetes recibidos de conformidad con la pila de protocolos particular asociada con el flujo multimedia. A modo de ejemplo, se pueden desempaquetar paquetes de conformidad con varios formatos de paquete, p.ej., TS/RTP/UDP/IP, TS/UDP/IP, tal como se describe con
5
10
15
20
25
30
35
40
45
50
55
60
65
referencia a la Figura 3. Durante el proceso de desempaquetado, p.ej., las tramas de vídeo codificadas y muestras de audio, en la carga útil de los paquetes, se pueden extraer y memorizarse en la memoria intermedia 714, y la información de cabecera del paquete se puede extraer y utilizarse como datos de control que pueden ser utilizados por las diversas funciones de procesamiento de paquetes en el receptor.
La memoria intermedia se puede utilizar para suavizar los retardos en la red, interrumpiendo la reproducción sin problemas de muestras multimedia (p.ej., fluctuación) o para memorizar una pluralidad de muestras en caso de, por ejemplo, codificación de vídeo interpolada. Para la anteriormente mencionada finalidad de decodificar tramas de vídeo interpoladas, se puede utilizar una memoria intermedia de decodificación separada (no ilustrada) en un decodificador 712. El decodificador puede recibir tramas codificadas y decodificarlas, a continuación, de conformidad con un sistema de descompresión predeterminado. Las tramas decodificadas se envían a una memoria intermedia de salida 710, asociada con una interfaz de salida 709, de un dispositivo de salida para, p.ej., reproducción de vídeo y/o audio.
Con el fin de habilitar la generación de informes de la información de temporización asociada con una parte de contenido marcada, p.ej., una trama o una muestra de audio, el receptor puede estar equipado con el cliente de sincronización 706, que está configurado para detectar dicha parte de contenido marcada. En una forma de realización, el cliente de sincronización puede estar configurado, además, para registrar la marca temporal en la detección de una parte de contenido de marcada. Las marcas temporales se pueden basar en un reloj 708 en el receptor, que se puede sincronizar utilizando p.ej., tiempo NTP o GPS. Dependiendo de en qué capa de protocolo del flujo se pueden proporcionar los marcadores, el cliente de sincronización puede recibir, o tener acceso, a datos procedentes de esa capa con el fin de detectar los marcadores.
A modo de ejemplo, en una forma de realización, si los marcadores se insertan en el nivel de transporte, el cliente de sincronización 706 puede recibir al menos información de la cabecera de paquete desde la unidad de desempaquetado y/o la interfaz de red. En otra forma de realización, si los marcadores están insertados en el nivel de códec, la función de sincronización puede tener acceso a la cabecera de carga útil del códec de modo que sea capaz de detectar la presencia de un marcador. En otra forma de realización adicional, si el marcador se insertó como una marca de agua en el contenido real, el decodificador (y/o el cliente de sincronización) se puede configurar para detectar la marca de agua y la marca temporal en el momento en que se detecta la marca de agua. Suponiendo que el tiempo que pasa una trama decodificada en la memoria intermedia de salida y la interfaz de salida es despreciable, en ese caso, la marca temporal registrada en el decodificador o el cliente de sincronización, a la detección de la marca de agua se acerca, esencialmente, al tiempo de presentación del contenido de marca de agua.
Por lo tanto, a partir de lo anterior, se deduce que el cliente de sincronización es capaz de detectar una parte de contenido marcada, y generar información de temporización en respuesta a dicha detección. En una forma de realización, información de temporización puede comprender una marca temporal que identifica el momento en el que la parte de contenido marcada se presenta al usuario (el tiempo de reproducción o presentación), decodificada, desempaquetada o recibida por la interfaz de red (el tiempo de recepción de paquete). En otra forma de realización, la información de temporización puede comprender una notificación de que se ha detectado un marcador. El cliente de sincronización puede estar configurado, además, para detectar un identificador de marcador como ya se ha descrito con referencia a las Figuras 6A-6C.
A la detección de un marcador y la generación de información de temporización asociada con el marcador, la información de temporización (que comprende, opcionalmente, un identificador de marcador) se transmite, p.ej., en un informe, al receptor 722. La información de temporización recibida que comprende información de marcador, tal como el identificador de marcador, se puede memorizar en un soporte de memorización de datos 726. En una forma de realización, la memorización de datos puede comprender una tabla de datos asociada con cada receptor que comprende informes recibidos. Sobre la base de la memorización de datos, un módulo de cálculo 728 puede determinar la diferencia de temporización entre al menos dos receptores, para un generador de instrucciones 720. El generador de instrucciones puede generar información (instrucción) de sincronización y transmitir la información de sincronización al cliente de sincronización para ajustar, p.ej., retardar, la reproducción del contenido que se proporcionó por el flujo multimedia. El cliente de sincronización puede, p.ej., utilizar la información de sincronización para dar instrucciones a la memoria intermedia 710, que se puede configurar como una memoria intermedia de retardo variable, con el fin de retardar la reproducción de tramas de vídeo.
La Figura 8 ilustra un diagrama de flujo del proceso ejecutado por un cliente de sincronización de conformidad con una forma de realización de la invención. El proceso se puede iniciar con un receptor, en particular una función de transmisión en el receptor, que recibe paquetes asociados con una transmisión marcada (etapa 802). Durante el proceso de extracción de partes de contenido, p.ej., tramas de vídeo y/o muestras de audio, procedentes de los paquetes, el cliente de sincronización puede detectar una parte de contenido marcada. El marcador se puede detectar como un indicador o valor en un campo de cabecera de un paquete, o como una marca de agua incorporada, directamente, en el contenido, p.ej., trama de contenido y/o muestra de audio (etapa 804). La detección del marcador puede incluir, además, la determinación del identificador opcional asociado con el marcador.
5
10
15
20
25
30
35
40
45
50
55
60
65
A la detección del marcador, se puede determinar la información de temporización asociada con la parte de contenido marcada (p.ej., una hora de reloj generada por un reloj sincronizado en el receptor) (etapa 806). La información de temporización puede estar asociada con la recepción del paquete en el que se detecta un marcador. Como alternativa, en algunas formas de realización, la información de temporización puede estar asociada con el tiempo de presentación o de reproducción de la parte de contenido marcada. La información de temporización que incluye, en algunos casos, los identificadores de marcador, puede formatearse en un informe y transmitirse al MSAs.
En una forma de realización, se utiliza un canal de bajo retardo entre el cliente de sincronización y el MSAS. En dicho caso, información de temporización puede tener la forma de una notificación para notificar la detección de un marcador al MSAS. A la recepción de la notificación, el MSAS puede marcar temporalmente la notificación con una hora de reloj. Las horas de reloj asociados con las notificaciones con marca temporal, procedentes de diferentes receptores, se pueden utilizar por el MSAS para determinar la diferencia de temporización.
La información de temporización que incluye, en algunas formas de realización, un identificador de marcador (p.ej., en un informe de sincronización) se puede transmitir al MSAS (etapa 808). El MSAS puede, entonces, determinar la información de temporización que corresponde al mismo marcador recibido desde otros receptores, por ejemplo, tal como se memoriza en el soporte de memorización. Sobre la base de la información de temporización que se origina en los receptores, el MSAS puede calcular retardos de temporización entre la reproducción de los diferentes receptores.
El cliente de sincronización puede recibir información de sincronización del MSAS (etapa 810), que puede incluir instrucciones para retardar la reproducción del contenido. Por último, el cliente de sincronización puede ajustar la reproducción del flujo de contenido, mediante, p.ej., el ajuste de la configuración de una memoria intermedia de retardo variable en el receptor.
La Figura 9 ilustra una cabecera RTP, a modo de ejemplo, que comprende un campo de marcador de sincronización de conformidad con una forma de realización de la invención. El protocolo RTP se especifica en IETF RFC 3550. Las cabeceras RTP se pueden extender a través de extensiones de cabecera. Para utilizar una extensión de cabecera, un campo de bits de extensión 902, en la cabecera, se establece en 1. Tal como se ilustra en la Figura 9, la cabecera puede incluir campos RTP estándar, tales como el número de secuencia RTP, la marca temporal RTP y el RTP SSRC. La cabecera puede comprender, además, un campo de extensión IDMS. El campo está formateado como dos líneas, es decir, dos palabras de 32 bits, en la descripción del informe en donde una primera parte de la primera palabra (p.ej., los primeros 16 bits) puede incluir un código que identifica la extensión como una extensión del marcador IDMS. Este código puede ser exclusivo para el perfil de RTP utilizado, para distinguirlo de otras extensiones que se utilizan con un determinado perfil. Además, una segunda parte de la primera palabra (es decir, los últimos 16 bits de la primera palabra de 32 bits) 904 puede indicar la longitud adicional de la extensión. A modo de ejemplo, un valor "1" en este campo puede indicar que la extensión de marcador IDMS es una línea única (es decir, una palabra de 32 bits) en la descripción del informe, más allá de la primera cabecera de extensión de palabras de 32 bits. Dicha palabra de 32 bits puede proporcionar espacio suficiente para definir identificadores de marcadores únicos a lo largo de una sesión multimedia.
La extensión del marcador no necesita insertarse en cada paquete RTP enviado a un receptor. En cambio, un paquete RTP solamente necesita extenderse, con una extensión de marcador IDMS, cuando se inserta un número de marcador.
La Figura 10 representa una forma de asociar un marcador de sincronización a una parte de contenido de conformidad con una forma de realización de la invención. En particular, la Figura 10 ilustra el uso de un informe de emisor de RTCP (SR) para marcar una parte de contenido en un paquete de RTP asociado. Por lo tanto, en esta forma de realización, en lugar de insertar un marcador en la cabecera de un paquete como p.ej., lo descrito con referencia a la Figura 9, se utiliza un flujo de RTCP, separado de un flujo de RTP, para marcar partes de contenido en el flujo de RTP.
Por lo tanto, se puede asociar un marcador de sincronización con una parte de contenido en un flujo de contenido sobre la base de un protocolo diferente, en este caso, el protocolo RTCP utilizado junto con el protocolo RTP. RCTP se especifica en IETF RFC 3550 y describe los denominados Informes de Emisor (SR), que son enviados por una fuente multimedia a los receptores. Un SR puede comprender una zona de "información del emisor" que comprende, entre otros, un campo de marca temporal RTP 1002, que comprende un valor de marca temporal RTP que identifica un paquete RTP de marca temporal RTP que comprende una parte de contenido, p.ej., al menos parte de una trama de vídeo o muestra de audio, en el flujo RTP asociado a la que se aplica. En consecuencia, el SR, en un paquete RTCP, "marca" una parte de contenido, es decir, una trama y/o una muestra de audio, en el flujo de RTP.
No se envía un SR para cada paquete RTP en el flujo RTP. En cambio, los SR solamente se transmiten para determinados paquetes RTP en donde la frecuencia de los SRs transmitidos puede depender de la frecuencia con la que una fuente multimedia puede transmitir paquetes RTCP, de conformidad con las reglas RTCP, a un receptor. Siempre que un cliente de sincronización esté configurado para detectar un paquete RTCP, e informar sobre el paquete RTP indicado en un SR del paquete RTCP, en una forma de realización, el SR como tal, se puede utilizar
5
10
15
20
25
30
35
40
45
50
55
60
65
como un marcador. Por lo tanto, la fuente multimedia debe configurarse de modo que los SRS, para los diferentes receptores, estén "marcando" la misma parte de contenido en los diversos flujos que se transmiten a los diferentes receptores, y si se incluyen identificadores de marcadores, para que los identificadores sean los mismos para la misma posición marcada en los diversos flujos.
El SR puede comprender, además, campos de marca temporal NTP. Al menos uno de estos campos, p.ej., el campo "marca temporal NTP, palabra más significativa" 1004 se puede utilizar como un identificador de marcador. Como los 32 bits más importantes de una marca temporal NTP indican segundos (y los bits menos importantes indican la segunda parte fraccionaria), el uso del valor en este campo como un identificador de marcador puede limitar el número de marcadores a un máximo de uno por segundo.
Un sistema IDMS basado en el campo de marca temporal NTP, como un identificador de marcador, se puede poner en práctica sin ninguna medida adicional si la parte de contenido "marcada", es decir, la parte de contenido identificada por la marca temporal RTP, en el campo de marca temporal RTP del SR, a través de los flujos RTP que se envían al mismo tiempo. Lo anterior puede, p.ej., ser el caso cuando una sola fuente multimedia envía el mismo contenido en diferentes unidifusiones a diferentes receptores, pero transmite las mismas partes de contenido al mismo tiempo en los distintos flujos. Si lo anterior, es decir, la marca temporal NTP no es la misma para las mismas partes de contenido en diferentes flujos, no es el caso, el identificador de marcador (es decir, la marca temporal NTP) será diferente para la misma parte de contenido. En ese caso, medidas adicionales pueden resolver este problema, p.ej., mediante la puesta en práctica del MSAS como parte de la fuente multimedia, o informando al MSAS sobre qué identificadores de marcadores deben estar juntos.
Además, en una forma de realización, si un paquete RTCP se refiere a una marca temporal RTP que se utiliza para más de un paquete, el cliente de sincronización solamente puede informar sobre la información de temporización asociada con el primer paquete RTP, que comprende la marca temporal RTP. Por lo tanto, si, por ejemplo, se incluye una única trama de vídeo en múltiples paquetes RTP, esta regla puede permitir un informe más preciso sobre el tiempo de llegada del paquete.
La Figura 11 ilustra una forma de asociar un marcador de sincronización a una parte de contenido de conformidad con otra forma de realización de la invención. En particular, la Figura 11 ilustra otra utilización del protocolo RTCP para marcar una parte de contenido en un paquete RTP asociado. En este caso, la estructura de datos ilustrada en la Figura 11 define un nuevo bloque RTCP XR para identificar una parte de contenido marcada. Dicho bloque XR se puede adjuntar a un Informe de Emisor (SR) convencional, e incluir una marca temporal RTP que se refiere a un paquete RTP con marca temporal RTP particular, en el flujo RTP asociado. Sin embargo, en lugar de utilizar el valor de "marca temporal NTP, palabra más significativa" como identificador de marcador, (tal como se describe con referencia a la Figura 10), un bloque XR, que se adjunta a un SR, puede incluir un identificador de marcador. Este sistema tiene la ventaja de que la fuente de contenido no necesita sincronizar los flujos de salida para varios receptores, a condición de que la fuente de contenido asocie el mismo identificador de marcador a la misma parte de contenido en los distintos flujos transmitidos al receptor. Lo que antecede significa, además, que la fuente de contenido puede enviar SR, que incluye el nuevo bloque RTCP XR, para la misma parte de contenido a los diversos receptores, es decir, se envían SRs a los diversos receptores para las mismas partes de contenido, y estos SRS, enviados para las mismas partes de contenido, incluyen el mismo identificador de marcador en el nuevo bloque RTCP XR.
El bloque XR ilustrado en la Figura 11 se puede definir de conformidad con IETF RFC 3611. Por lo tanto, las dos primeras palabras de 32 bits 1102,1104 pueden definir la cabecera general XR, y las dos últimas palabras de 32 bits 1102,1104 pueden comprender un campo 1106 que incluye un valor de tipo de bloque para identificar el bloque marcador. Un campo marcador (8 bit) 1108 puede definir el tipo de marcador, o identificador de marcador, y un campo de longitud de bloque 1110 puede definir la longitud del bloque. En el ejemplo, la longitud del bloque se puede establecer en "1" (o 00000001 en representación de bits), con lo que se identifica que el bloque comprende una palabra adicional de 32 bits que incluye el identificador de marcador 1112.
La Figura 12 ilustra una forma de asociar un marcador de sincronización a un elemento de contenido de conformidad con otra forma de realización adicional. En particular, la Figura 12 ilustra el uso de una marca de agua como marcador de sincronización. Se puede insertar una marca de agua en la parte del contenido real, p.ej., al menos parte de la trama de vídeo o muestra de audio, en sí misma. En una forma de realización, la marca de agua puede incluir un valor de marcador, p.ej., "1234", 1200 insertada en una trama de vídeo 1202, dando como resultado una trama de vídeo con marca de agua 1204. En una forma de realización, el marcador está configurado de modo que la marca de agua no sea, o al menos un poco, visible para el usuario cuando se reproduce. Se pueden utilizar técnicas de marca de agua bien conocidas convencionales. Para una visión general de la tecnología de marca de agua, se hace referencia al documento de I.J. Cox et al., "Marca de agua digital y esteganografía", Morgan Kaufmann, 2a edición, ISBN 978-85-1, 2008. Numerosas marcas de agua están diseñadas con una cierta solidez en mente, es decir, que siguen siendo útiles incluso después de que el contenido sufra cambios tales como ajuste, trans-codificación, redimensionamiento, degradación de la calidad, etc.
Un marcador basado en marca de agua se puede transmitir en la parte de contenido en lugar de información en la
5
10
15
20
25
30
35
40
45
50
55
60
65
cabecera de un protocolo particular (según se describe, a modo de ejemplo, en la Figura 5). De este modo, el marcador no se ve afectado por el uso de diferentes protocolos de transmisión. Por ejemplo, un sistema IDMS, basado en un marcador basado en marcas de agua, permite la sincronización inter-destinos de flujos de diferentes protocolos de transporte, tales como RTP y HAS. En otro ejemplo, un marcador basado en marcas de agua funciona para contenido multimedia que se codifica utilizando diferentes códecs.
La Figura 13 ilustra una forma de asociar un marcador de sincronización a una parte de contenido, de conformidad con una forma de realización de la invención. En particular, en esta forma de realización, una marca de agua que identifica un valor marcador, se puede insertar en una parte de contenido, mientras que la misma parte de contenido, trama de imagen, se puede marcar, además, mediante un paquete RTP extendido, tal como se describe con referencia a la Figura 9, es decir, un paquete RTP en donde el campo del bit de extensión se establece a "1", lo que indica que el cabecera se extiende por, en este caso, un marcador IDMS que tiene un valor de marcador "1234". De este modo, se pueden marcar diferentes flujos en distintas capas (protocolo) utilizando diferentes tipos de marcadores, y un flujo se puede marcar, además, en diferentes capas. Utilizando dicho contenido marcado, un primer receptor puede detectar marcadores como parte de las cabeceras RTP, y un segundo tipo distinto de receptor puede detectar marcadores como marcas de agua en el contenido real. Cuando se detecta e informa de estos marcadores (a modo de ejemplo, identificadores de marcador), al servidor de sincronización, (que comprende la función de sincronización de conformidad con la invención), se puede conseguir la sincronización de la reproducción del contenido.
La Figura 14 ilustra una estructura de datos para transmitir información de temporización al servidor de sincronización de conformidad con una forma de realización de la invención. En particular, la Figura 14 representa un informe de estado de sincronización de conformidad con un formato, que se especifica en ETSI TS 183 063 versión 3.5.2, que se amplía con información de marcador tal como un identificador de marcador.
La información de temporización se puede ser generar por un cliente en respuesta a la detección de un marcador asociado con una parte de contenido, es decir, una trama de vídeo y/o una muestra de audio.
La información de temporización puede incluir información de temporización asociada con la recepción de un paquete marcado por el cliente, p.ej., una marca temporal RTP ("marca temporal RTP de paquete recibido") y una marca temporal NTP ("marca temporal NTP de paquete recibido"). Como alternativa y/o de forma adicional, la información de temporización puede incluir información de temporización asociada con la reproducción de un paquete, p.ej., una marca temporal de presentación ("marca temporal NTP de paquete presentado").
Además, de forma similar a las estructuras de datos ilustradas en las Figuras 9-11 y 13, el informe se puede ampliar mediante información de marcador, que incluye un campo de datos asociado con el tipo de marcador, un campo de longitud de bloque y un campo de identificador de marcador. De este modo, los SCs pueden informar sobre un marcador específico al MSAS. El término información de temporización puede, para la finalidad de esta invención, comprende, además, información de marcador tal como un marcador, preferentemente un identificador de marcador.
Sobre la base de la información en los informes de estado de sincronización, el servidor de sincronización puede enviar instrucciones de ajustes de sincronización al cliente. Estas instrucciones pueden incluir el identificador de marcador e información de sincronización. Las instrucciones de ajustes de sincronización pueden tener un formato similar al informe de estado de sincronización extendido, que se ilustra en la Figura 14.
En algunas situaciones, puede existir una discrepancia entre el orden en que se transportan y se reproducen las tramas de vídeo (es decir, se presentan al usuario), p.ej., en el caso del vídeo MPEG interpolado. Esta situación se ilustra, esquemáticamente, en las Figuras 15A y 15B que ilustran flujos de transporte codificados MPEG-2 o H.264 con diferentes tamaños de Grupos de Imagen (GOP) y estructuras GOP. Un GOP se puede considerar como una secuencia de tramas que se puede decodificar sobre la base de la información dentro de ese GOP, es decir, para la decodificación de determinadas tramas, en un GOP determinado, existe una dependencia de algunas otras tramas en ese mismo GOP, lo que significa que estas otras tramas deben estar disponibles antes de poder decodificar esa determinada trama. Los tipos de tramas y sus localizaciones, dentro de un GOP, se pueden definir en una secuencia temporal particular. Diferentes flujos pueden tener distintos tamaños de GOP y/o diferentes secuencias de distintos tipos de tramas. Una trama, en un GOP, puede relacionarse con una trama I independiente, una trama P de predicción, y una trama B bidireccional. Las tramas I se decodifican, de forma independiente, de otras tramas. Por el contrario, las tramas P y B dependen de otras tramas y, por lo tanto, deben decodificarse de conformidad con esta dependencia predeterminada.
El primer flujo ilustrado en la Figura 15A comprende una primera estructura GOP I1B1B2P1B3B4P2B5B6 de tamaño GOP 9, en donde las tramas I, B y P están ordenadas para proporcionar un transporte de trama eficiente, lo que puede acelerar el proceso de decodificación y permitir el uso de una memoria intermedia de tamaño relativamente pequeño en un receptor, de modo que no sea necesario que todas las tramas estén memorizadas antes de iniciar el proceso de decodificación. De este modo, se pueden transmitir tramas a un receptor en un orden diferente al orden de reproducción real: p.ej., P1 es necesario para la finalidad de decodificar antes que B1 y B2, por lo que se envía antes. Del mismo modo, otras tramas pueden enviarse más tarde, pero se reproducen antes. Durante la
5
10
15
20
25
30
35
40
45
50
55
60
65
decodificación, las tramas se memorizan y reordenan de conformidad con el tiempo de reproducción. Este reordenamiento puede necesitar algo de tiempo, por lo que el tiempo de recepción de un paquete no se puede considerar como una medida precisa del tiempo de reproducción. Por lo tanto, un sistema IDMS que utiliza información de temporización, sobre la base del tiempo de recepción de un paquete tipo MPEG, puede ser inexacto.
La Figura 15B ilustra un segundo flujo que tiene una estructura de GOP diferente y un tamaño de GOP (tamaño de GOP 14) en comparación con el primer flujo en la Figura 15A, transmitido a un primer receptor. En este caso particular, el segundo flujo puede ser un flujo basado en H264, comprendiendo una segunda estructura de GOP que incluye solamente tramas I y tramas B, pero no tramas P: I1B1B2B3B4B5B6B7B8B9B10B11B12B13. En este caso, las tramas B se pueden utilizar, además, como tramas de referencia para otras tramas. B7 depende de B13 para la decodificación, y B1 depende de B7 para la decodificación, por lo tanto, en esencia, B1 depende de B13 para la decodificación.
Si la 10a trama, en la primera estructura de GOP (I2), y la 10a trama, en la segunda estructura de GOP (B9), incluyen la misma trama de vídeo, puede verse a partir de las Figuras 15A y 15B, que I2 en el primer flujo se envía antes al receptor puesto que I2 es necesario para la decodificación de B5 y B6. Además, en el segundo flujo, B9 se envía más tarde, debido a su dependencia de varias otras tramas en el segundo flujo. Por lo tanto, si el flujo en la Figura 15A es un de flujo multimedia para el receptor A, y el flujo en la Figura 15B es de un flujo multimedia para el receptor B, y si todas las demás cosas (tales como transmisión multimedia y retardos de transporte) son iguales, el receptor A puede recibir y decodificar la trama I2 antes que el receptor B pueda recibir y decodificar la trama B9, pero la mantiene memorizada puesto que no está programado para la reproducción hasta después de la recepción y la decodificación de las tramas B5 y B6. Por el contrario, la trama B9 no tiene que 'esperar' para la reproducción después de la decodificación. Por lo tanto, la recepción de la 10a trama, en la secuencia, no está alineada entre los receptores A y B, y si IDMS se basa en los tiempos de paquete recibidos, esto conducirá a una cierta imprecisión de la sincronización conseguida.
Dependiendo de los requisitos, sin embargo, dichas inexactitudes, según se describen, pueden ser aceptables. A modo de ejemplo, se sabe que, para aplicaciones de TV social, incluso una diferencia de retardo de un segundo no es perceptible para muchos usuarios, por lo que se puede tolerar la desalineación de las tramas I debido a diferencias en los tiempos de recepción y reproducción.
Si se necesita aumentar la precisión, el sistema IDMS se puede configurar de modo que un cliente informe sobre el tiempo de presentación de una trama marcada (parte de contenido marcada), p.ej., el momento en que una trama, en un paquete marcado, o una trama con marca de agua, se reproduce. Puesto que tramas se colocan, de nuevo, en el orden original antes de la reproducción, informar sobre el tiempo de presentación evita el problema causado por la codificación de vídeo interpolada.
Otra forma de evitar problemas asociados con el orden de tramas, provocados por tramas que dependen de otras tramas (tales como tramas B y tramas P, según se describió anteriormente), los marcadores se pueden insertar en tramas I.
A modo de ejemplo, en una forma de realización (algunas) tramas I, en los diferentes flujos multimedia, se pueden alinear y marcar en la fuente utilizando cualquiera de los métodos de marcado adecuados descritos en este documento. Las tramas I son adecuadas para marcar puesto que, a diferencia de las tramas B o P, las tramas I, en un flujo, siempre se procesan y reproducen en orden de recepción por el receptor, ya que no dependen de otras tramas para la decodificación.
A modo de ejemplo, los flujos en las Figuras 15A y B tienen tamaños GOP como 9 y 14, respectivamente, por lo que cada 126 tramas (9x14), las tramas I de ambos flujos multimedia están alineadas de nuevo. Suponiendo una velocidad de trama de 25 tramas por segundo, aproximadamente, cada 5 segundos, la fuente puede insertar un marcador en la trama I del flujo diferente, de modo que la inserción se alinee a través de los flujos. Lo anterior puede ser suficiente para algunas aplicaciones IDMS.
Como una medida adicional para aumentar la precisión de la sincronización, se puede insertar un valor de tiempo, preferentemente en forma de una marca temporal, en los marcadores. Dicho de otro modo, los marcadores se convierten en marcas temporales para la finalidad de IDMS. A modo de ejemplo, si un campo de marcador comprende, p.ej., 4 dígitos, se pueden utilizar 3 dígitos para representar un valor de tiempo en segundos, y el 4° dígito se puede utilizar para fracciones. Por lo tanto, el marcador representa una marca temporal con un valor entre 0,0 y 999,9 segundos. Si ambos receptores envían sus informes de estado de sincronización, incluyendo el identificador de marcador, a un MSAS (en donde el MSAS comprende una función de sincronización de conformidad con la invención), el MSAS puede determinar el tiempo entre las dos tramas informadas, en base a la diferencia de los respectivos marcadores IDMS. Por ejemplo, si un primer receptor informa sobre un paquete recibido con un tiempo de 12:34:56.000, e incluye un marcador 123,4, y un segundo receptor informa sobre un paquete recibido con un tiempo de 12:34:57.000 e incluye un marcador 125,7, el MSAS puede determinar que el segundo receptor informe sobre un paquete que está 2,3 segundos por delante en el contenido. Entonces, un simple cálculo de sincronización, en este caso, puede ser: 12:34:57.000 - 12:34:56.000 + 125,7 - 123,4 = 1,3 segundos, lo que
5
10
15
20
25
30
35
40
45
50
55
60
65
significa que el segundo receptor está 1,3 segundos por delante del primero.
A partir de lo anterior, se deduce que la sincronización se puede conseguir con diversas precisiones dependiendo de la aplicación y la puesta en práctica. Un nivel de sincronización muy alto se relaciona con asincronías inferiores a 10 ms. Este nivel de sincronización es necesario para diferentes salidas de audio situadas en una única localización física. La aplicación típica se refiere a los altavoces estéreo conectados en red, transductores de matriz en fase y muros de vídeo.
Altos niveles de sincronización se refieren a asincronías entre 10-100 ms. Este nivel de sincronización es necesario para aplicaciones en donde la veracidad es un requisito importante, en el que los tiempos de respuesta de los usuarios pueden no verse afectados demasiado por las diferencias de retardo de reproducción multimedia a las que responden los usuarios. Aplicaciones típicas se refieren a: tele-orquesta distribuida, concursos en red, juegos multi- jugador en red en tiempo real, conferencias multimedia de multi-party, participación en un juego.
Niveles de sincronización medios se refieren a asincronías entre 100-500 ms. Este nivel de sincronización es suficiente para aplicaciones en donde varios elementos multimedia relacionados se reproducen simultáneamente, pero sin requisitos en tiempo real, tales como sincronización de labios. Aplicaciones típicas se relacionan con: aprendizaje electrónico síncrono, juegos basados en la presencia, contenido originado en el consumidor, eventos de elección en línea y sincronización de segunda pantalla.
Por último, bajos niveles de sincronización se refieren a asincronías entre 500-2000 ms. Este nivel de sincronización es suficiente para aplicaciones en donde se consume multimedia por diferentes usuarios en diferentes ubicaciones físicas, pero la esencia del nivel de interacción entre los usuarios no es de naturaleza muy competitiva. En este caso, aplicaciones se relacionan con la conmutación sin fallos entre dispositivos multimedia, comparten control de servicios compartidos y TV social.
Las Figuras 16A y 16B ilustran un sistema de IPTV sincronizado basado en marcador, y un flujo de protocolo asociado con dicho sistema de IPTV, respectivamente, de conformidad con una forma de realización de la invención. En particular, en la Figura 16B, el flujo de protocolo ilustra el establecimiento de una sesión de IPTV sincronizada basada en marcador sobre la base de mensajes de protocolo, en este caso, p.ej., utilizando SIP y SDP (Protocolo de Descripción de Sesión) con el fin de intercambiar algunos parámetros entre un cliente de sincronización y un MSAS que se pone en práctica en el sistema de IPTV.
El sistema de IPTV basado en IMS 1600, ilustrado en la Figura 16A puede estar relacionado con un sistema de IPTV según se especifica en ETSI TS 182 027 versión 3.5.1. El sistema de IPTV 1600 puede incluir una Función Multimedia de IPTV (MF) 1601, que comprende una Función de Control Multimedia (MCF) 1602 y una Función de Entrega Multimedia (MDF) 1603. El sistema de IPTV comprende, además, Funciones de Transporte (TF) 1604, Equipos de Usuario (UE) 1605, una Función de Control de Servicio IPTV (SCF) 1606, al menos un servidor de aplicación (AS) 1607 y una red central IMS (Core) 1608. Un Cliente de Sincronización (SC) 1609 puede ser parte de un equipo UE 1605, o ser parte de las Funciones de Transporte 1604. Si el SC se pone en práctica en equipos UEs, estos UEs comprenden, además, una memoria intermedia de retardo variable 1610. El MSAS 1611 se puede incluir en la SCF 1606 pero se podría poner en práctica, además, en un servidor de aplicación independiente 1607. El MSAS y los SCs están configurados para sincronizar flujos de contenido marcadores transmitidos por la MDF a los UEs, tal como se describió anteriormente con referencia a las Figuras 2-14.
El sistema de IPTV puede utilizar el Protocolo de Iniciación de Sesión (SIP) para establecer y controlar sesiones entre terminales de usuario, o terminales de usuario y los servidores de aplicaciones que comprenden las SCFs y MFs. El Protocolo de Descripción de Sesión (SDP), que se transmite por señalización SIP, se utiliza para describir y negociar los componentes multimedia en la sesión. Además, el Protocolo de Transmisión en Tiempo Real (RTSP) se utiliza para el control multimedia que proporciona, p.ej., los modos de comunicación de multidifusión, Contenido bajo Demanda (CoD) y la Grabadora de Vídeo Personal en Red (NPVR), y el Protocolo de Transporte en Tiempo Real (RTP) se utilizan para el transporte multimedia.
El flujo de protocolo para una configuración de sesión típica en IPTV basada en IMS, de una sesión de sincronización, se describe con referencia a la Figura 16B. En este ejemplo, se ilustra una sesión de Contenido bajo Demanda (CoD) sincronizada. El proceso puede comenzar con el UE que envía una demanda p.ej., un SIP INVITE, a la SCF (etapa 1620). La SCF puede reenviar la demanda a la MF, es decir, la fuente multimedia (etapa 1622), que confirma la recepción de la demanda con una respuesta 200 OK (etapa 2026). Esta respuesta se reenvía, a continuación, al cliente (etapa 2028), después de lo cual se envía, de nuevo, una confirmación ACK.
Durante el establecimiento de la sesión, los mensajes de señalización, p.ej., los mensajes de demanda y respuesta SIP (SIP INVITE y 200 OK) pueden incluir un atributo SDP (Protocolo de Descripción de Sesión) que indica que el equipo de usuario desea realizar una sincronización inter-destinos, e incluye, normalmente, un identificador de grupo único (p.ej., SyncGroupID). Todos los equipos de usuario que necesitan (o desean) sincronizarse, comparten este identificador de grupo. El uso de un identificador de grupo se especifica en ETSI TISPAN TS 183 063 versión 3.5.2.
5
10
15
20
25
30
35
40
45
50
55
60
65
Si los marcadores han de utilizarse para la sincronización, esto se puede señalar durante la configuración de la sesión de sincronización. Para señalar el uso de marcadores, se pueden añadir atributos SDP predeterminados a los mensajes que se intercambian. La Figura 16B ilustra dos ejemplos de tales atributos SDP. A modo de ejemplo, en una forma de realización, el atributo "IDMS-marker" (marcador IDMS), puede indicar que los marcadores son soportados por el sistema IDMS. En otra forma de realización, el atributo "IDMmarker" (marcador IDMS) puede determinar qué tipos de marcadores son compatibles y, de forma opcional, qué parámetros están asociados con este tipo de marcadores.
Por lo tanto, en el flujo de protocolo de la Figura 16B se puede realizar una negociación entre el equipo de usuario y la función multimedia, en donde el equipo de usuario puede enviar una demanda SIP a través del MSAS a la MF, en donde la demanda SIP comprende información de sesión de sincronización indicando qué tipo de marcador (o qué tipos de marcadores) son soportados por el UE. En este ejemplo, la MF puede, entonces, elegir un tipo de marcador, siempre que soporte al menos uno de los mismos marcadores que el UE. Como alternativa, la MF puede proponer varios tipos de marcadores soportados, y el UE puede, entonces, elegir el tipo de marcador que se utilizará para la sesión de sincronización.
En una forma de realización adicional, la información de sesión de sincronización puede incluir un atributo "RTCP- XR: marcador" que indica que el bloque marcador RTCP XR (tal como se examinó con referencia a la Figura 11), se usa para marcar partes de contenido. Se puede añadir información adicional, p.ej., el tipo de marcador soportado se pueden indicar en dicha descripción de SDP.
La Figura 17 ilustra un sistema IDMS basado en marcador, de conformidad con otra forma de realización adicional de la invención. En particular, la Figura 17 ilustra un sistema IDMS basado en marcadores que comprende múltiples fuentes multimedia. En esta forma de realización particular, un primer receptor 1702, que comprende un primer cliente de sincronización 1703, puede recibir un primer flujo marcado generado por una primera fuente multimedia 1704, y un segundo receptor 1710, que comprende un segundo cliente de sincronización 1711, puede recibir un segundo flujo marcado generado por una segunda fuente multimedia 1712, en donde el primero y el segundo flujo incluyen el mismo contenido y comprenden marcadores que marcan las mismas partes de contenido (p.ej., tramas de vídeo y/o muestras de audio) en el primero y segundo flujo. La sincronización de la reproducción de los flujos marcadores se realiza mediante un primer sistema IDMS que comprende clientes de sincronización en, o asociados con, los receptores, que están configurados para transmitir información de temporización, posiblemente incluyendo identificadores de marcador, a un primer MSAS1 1706, y para recibir información de sincronización del primer MSAS1.
Con el fin de permitir que las fuentes multimedia marquen las mismas partes de contenido, las primera y segunda fuentes multimedia se acoplan mediante un segundo sistema IDMS adicional que comprende primeros y segundos clientes de sincronización de fuente multimedia 1705, 1711, respectivamente en, o asociados con, la primera y segunda fuente multimedia y un segundo MSAS2 1708. En este caso, primeras y segundas fuentes multimedia pueden recibir contenido de una fuente de flujo ascendente adicional 1714. Por lo tanto, el segundo sistema IDMS se puede utilizar para intercambiar información entre las dos fuentes multimedia sobre la colocación de marcadores en los flujos multimedia. Además, el segundo sistema IDMS se puede utilizar para intercambiar información entre las dos fuentes multimedia, sobre la generación y transmisión de partes de contenido marcadas, en el primero y segundo flujo, de un modo similar a como se utiliza el primer sistema IDMS para sincronizar la reproducción de los flujos en los clientes.
La función principal del segundo sistema IDMS es que los marcadores, en el primero y segundo flujo, se inserten de tal modo que los marcadores marquen las mismas partes de contenido. Una función adicional del segundo sistema IDMS puede ser una sincronización de muy "bajo nivel" de sincronización de transmisión de los flujos marcadores. Los dos receptores realizarán, por último, su propia sincronización, de modo que cualquier falta de sincronización tras la transmisión por la primera y la segunda fuente multimedia no conducirá, finalmente, a la misma falta de sincronización.
En una forma de realización, las primera y segunda fuentes multimedia y el segundo MSAS se pueden configurar para establecer una sesión de generación de flujo multimedia sincronizado, con el fin de configurar las fuentes multimedia para generar un flujo de contenido marcado, que comprende marcadores que marcan las mismas partes de contenido (p.ej., tramas de vídeo y/o muestras de audio). Durante el establecimiento de esta sesión, el MSAS y los clientes, en las fuentes multimedia, pueden negociar el sistema de marcado particular, que incluye: tipo de marcador, frecuencia de inserción del marcador, etc. (similar a la situación en la Figura 16 anterior).
Con el fin de garantizar que los marcadores, en el primero y segundo flujo, marquen la misma parte de contenido, las fuentes multimedia pueden insertar marcadores en posiciones indicadas por el segundo MSAS como parte de las instrucciones de ajustes de sincronización, que se transmiten a las fuentes multimedia. El segundo MSAS puede añadir, p.ej., un bloque marcador RTCP XR a sus instrucciones de ajustes de sincronización, lo que indica que el paquete al que se hace referencia en su instrucción puede marcarse con el marcador indicado en el bloque marcador XR.
5
10
15
20
25
30
35
40
45
50
55
60
65
El sistema IDMS basado en marcador en la Figura 17 se puede utilizar, de forma ventajosa, en una así denominada red de entrega de contenido (CDN), que está configurada para entregar contenido, de manera eficiente, a múltiples receptores. Una CDN puede, a modo de ejemplo, recibir contenido procedente de un proveedor de contenido, y memorizar múltiples copias del contenido en múltiples nodos de entrega en la CDN, de modo que los problemas de ancho de banda pueden reducirse y se garantiza una entrega eficiente. Una función de control de CDN (CDNCF) puede gestionar, centralmente, la memorización del contenido en las diferentes entregas dentro de la CDN y la entrega de un elemento de contenido particular, es decir, título de vídeo, por un nodo de entrega a un receptor.
Por lo tanto, en ese caso, el primer y el segundo servidor multimedia, en la Figura 17, se pueden considerar como un primer y segundo nodos de entrega asociados con una CDN, y gestionados por una CDNCF (no ilustrada) y el MSAS puede estar integrado en, o asociado con, la CDNCF. Además, la CDNCF se puede configurar para establecer una sesión de generación de flujo multimedia sincronizado, con el fin de configurar nodos de entrega para generar un flujo de contenido marcado para entrega a una pluralidad de receptores en un modo similar al descrito anteriormente con referencia a la Figura 17. Como alternativa, una CDN puede insertar marcadores, p.ej., utilizando los marcadores basados en marca de agua, en el punto de entrada de la CDN. Lo anterior hace que todos los nodos en la CDN tengan los mismos marcadores en las mismas posiciones de contenido, y por lo tanto se puede realizar el IDMS por receptores basados en estos marcadores.
La Figura 18 ilustra una forma de realización del uso de un sistema IDMS basado en marcador con un contenido segmentado, de conformidad con una forma de realización de la invención. En particular, la Figura 18 ilustra un ejemplo de un fichero de declaración que define ficheros de segmentos para uso con un protocolo de Flujo Continúo Adaptativo de HTTP (HAS). En la transmisión de contenido segmentado, tal como el protocolo de transmisión HAS, el contenido se divide en los así denominados ficheros de segmentos (en forma abreviada "segmentos"), en donde un segmento típico puede incluir una cantidad de tramas que corresponde a 2 a 30 segundos de tiempo de reproducción. El Flujo Continúo Adaptativo HTTP (HAS), la Codificación de Vídeo Escalable (VCS) y el contenido segmentado espacialmente (p.ej., vídeo de mosaico) utilizan la segmentación en función del tiempo, calidad y espacio, respectivamente. El contenido de vídeo segmentado se puede utilizar para ajustar, dinámicamente, los requisitos de ancho de banda, p.ej., cambiando desde un flujo de vídeo de alta a baja calidad. Además, el vídeo segmentado puede permitir, además, la división entre segmentos de vídeo populares y menos populares. A modo de ejemplo, normalmente contenido asociado con el comienzo de un vídeo se verá con más frecuencia (más popular) que el contenido del final. De modo similar, el contenido de vídeo de baja presencia de bitratos, de menor calidad, (p.ej., los segmentos HAS de menor resolución o la capa base SVC) se verá con mayor frecuencia que el contenido de alta calidad (p.ej., segmentos HAS de mayor resolución o una capa SVC mejorada).
La relación entre segmentos se establece en un fichero llamado declaración que comprende una secuencia de identificadores de segmento y referencias (p.ej., URL) para localizaciones de nodos de red, que están configurados para entregar estos segmentos. La relación entre los segmentos puede ser una relación temporal, una relación espacial o una calidad. Un cliente en un receptor utiliza el fichero de declaración para demandar un servidor multimedia en la red para entregar un segmento particular. El proceso de demandar y entregar un segmento a un cliente se puede repetir hasta que el último segmento en el fichero de declaración se reproduzca.
Con el fin de sincronizar la reproducción de segmentos por un receptor, un cliente de sincronización, que se pone en práctica en dicho receptor, puede comunicar información de temporización asociada con el procesamiento de los segmentos por el cliente HAS al MSAS (en donde dicho MSAS comprende una función de sincronización de conformidad con la invención). Cuando los segmentos son "activados" por un cliente HAS en lugar de ser "impulsados" a un cliente HAS, en una forma de realización el cliente de sincronización puede informar sobre el tiempo de presentación o tiempo de reproducción o el tiempo de recepción de un segmento por el receptor. Este tiempo de presentación se puede referir como el tiempo de presentación del segmento. El tiempo de presentación es más importante que el tiempo de recepción de segmento, puesto que los clientes extraen (o solicitan) segmentos y, por lo tanto, los tiempos de recepción de segmentos dependen mucho del momento en que se realizan las demandas. También se pueden utilizar tiempos de recepción segmentados, aunque tal vez con menos precisión de sincronización como resultado.
Además, como un segmento típico comprende una cantidad de tramas correspondientes a un tiempo de reproducción entre aprox. 2 y 30 segundos, se envían muchos menos informes al MSAS en comparación con un sistema de transmisión RTP, si se envía un informe para cada segmento HAS, o paquete RTP, respectivamente. Esto, sin embargo, no afecta gravemente la precisión de la sincronización, puesto que en un sistema de transmisión la diferencia en el tiempo de reproducción entre los clientes no es solamente una función de los retrasos de la red (como es el caso con RTP). Si un cliente necesita recibir un segmento antes, puede solicitarlo antes. El IDMS basado en HAS es, por lo tanto, mucho menos probable que requiera ajustes de sincronización frecuentes.
Si un cliente recibe información de sincronización que comprende un tiempo de presentación objetivo de un segmento desde el MSAS, se asegura de que este segmento se solicite a tiempo (por supuesto, con contenido en vivo, existe un límite en cuanto a cuánto tiempo antes puede un cliente solicitar un segmento).
Un cliente de sincronización puede comunicar información de temporización en cada segmento. Dependiendo de la
5
10
15
20
25
30
35
40
45
50
55
60
65
longitud del segmento, esto podría significar que el cliente transmite cada 2 a 30 segundos un informe al MSAS. Si la frecuencia de transmisión del informe es demasiado alta, en una forma de realización, los marcadores, preferentemente como indicadores o identificadores de marcador, se pueden insertar en un fichero de declaración, estando asociados a segmentos por intermedio de su asociación en el fichero de declaración con los identificadores de segmento.
La Figura 18 ilustra una estructura de datos de un fichero de declaración que comprende segmentos marcadores de conformidad con una forma de realización de la invención. El fichero de declaración puede comprender varias referencias 1802, 1804, 1806 (p.ej., URLs) para localizaciones en las que se puede recuperar un segmento particular. El ejemplo en la Figura se refiere a tres segmentos rmedia.example.com/segment0.ts, rmedia.example.com/segment1 .ts y rmedia.example.com/segment2.ts, en donde el segundo segmento está marcado utilizando una etiqueta de marcador IDMS-REPORT-MARKER 1808, que activa el cliente de sincronización en el receptor para informar sobre el tiempo de presentación del segmento, de este segmento particular, p.ej., cuando se inicia la reproducción de este segmento. De modo similar a los tipos de marcadores descritos anteriormente, la etiqueta de marcador se puede utilizar con uno o más parámetros de marcador o "indicadores". En una forma de realización, un parámetro marcador puede estar relacionado con un identificador de marcador (p.ej., "1234" tal como se ilustra en la Figura 18). En otra forma de realización, un parámetro de marcador puede estar relacionado con un parámetro de tiempo que indica en qué momento desde el inicio de la reproducción del segmento, debe informarse al MSAS sobre el marcador.
Las Figuras 19A-C muestran variaciones ilustrativas de un sistema IDMS, de conformidad con una forma de realización de la invención. El MSAS se puede realizar como una funcionalidad adecuada para proporcionar IDMS para una pluralidad de clientes de sincronización en un grupo de sincronización. La funcionalidad de MSAS se puede poner en práctica en al menos una parte del sistema IDMS.
La Figura 19A ilustra una forma de realización en donde el MSAS 1910 se realiza, al menos en parte, en una fuente multimedia 1908. Como alternativa, el MSAS puede, al menos parcialmente, ponerse en práctica en la fuente multimedia 2012. Primero y segundo receptores 1902,1904 pueden intercambiar mensajes de sincronización con el MSAS, tal como se describe con referencia a la Figura 2.
Como alternativa, la forma de realización en la Figura 19A se puede utilizar para sincronizar un flujo de contenido marcado con un flujo no marcado. A modo de ejemplo, la primera fuente multimedia 1908 puede transmitir un flujo multimedia no marcado, p.ej., un flujo de RTP, a un primer receptor 1902 de un modo similar al que se ilustra en la Figura 1. En ese caso, un cliente de sincronización, en el primer receptor, puede transmitir primera información de temporización, p.ej., una hora de reloj y una marca temporal RTP, a una función de sincronización en el MSAS. Además, como el MSAS se pone en práctica, (al menos parcialmente), en la fuente multimedia que transmite el flujo multimedia no marcado, la función de sincronización tiene acceso a información en el flujo multimedia no marcado, en particular la compensación de marca temporal RTP y la tasa de transmisión de datos (contenido), que se asocia con el flujo multimedia sin marcar. Sobre la base de la marca temporal RTP recibida (parte de contenido), la tasa de transmisión de datos (contenido) (a modo de ejemplo, la cantidad de paquetes RTP transmitidos por segundo) y la compensación de marca temporal RTP, la función de sincronización es capaz de determinar la posición de la parte de contenido de la que se informa la hora del reloj, en el flujo de contenido no marcado. La posición puede, por ejemplo, determinarse como el número de segundos desde el inicio del flujo.
Una segunda fuente multimedia 1912 puede transmitir un flujo multimedia marcado al segundo receptor 1904 de un modo similar al representado en la Figura 2. Un cliente de sincronización, en el segundo receptor, puede transmitir segunda información de temporización, p.ej., una hora de reloj e identificador de marcador a la función de sincronización en el MSAS. El contenido marcado se puede preparar de modo que los marcadores puedan estar asociados con partes de contenido en posiciones predeterminadas en el flujo multimedia, por ejemplo, insertando los marcadores en estas posiciones predeterminadas en el flujo de contenido. Esta información sobre la posición de las partes de contenido marcadas se puede proporcionar a la función de sincronización antes de que se inicie la sincronización.
A modo de ejemplo, un marcador se puede insertar al inicio del flujo multimedia y los marcadores subsiguientes se pueden insertar, periódicamente, en el flujo (en donde cada marcador posterior, preferentemente, un identificador de marcador, tiene un valor incrementado y en donde la distancia entre diferentes marcadores se puede definir en términos de una unidad de tiempo o, a modo de ejemplo, número de paquetes). De este modo, la función de sincronización puede recibir, periódicamente, información de temporización asociada con partes de contenido marcadas, procedentes del segundo cliente de sincronización. La función de sincronización en el MSAS puede, entonces, determinar una diferencia de temporización sobre la base de la primera y la segunda información de temporización, teniendo en cuenta las posiciones de las partes de contenido de las que se informa la información de temporización. Posteriormente, la función de sincronización puede transmitir información de sincronización al primero y/o segundo cliente de sincronización con el fin de sincronizar la reproducción de los receptores.
Aunque la sincronización se describe sobre la base de la forma de realización de la Figura 19A, se prevén, además, otras formas de realización en donde el MSAS no está puesto en práctica en una fuente multimedia (p.ej., la puesta
5
10
15
20
25
30
35
40
45
50
55
60
en práctica tal como se describe en la Figura 2 o figuras 19B y 19C siguientes). En ese caso, antes de iniciar la sincronización, la función de sincronización se puede aprovisionar con toda la información necesaria para poder realizar la sincronización inter-destinos tal como se describió anteriormente (p.ej., compensación de marca temporal RTP y tasa de transmisión del flujo multimedia sin marcar e información sobre la posición de los marcadores en el flujo marcado), de cualquier modo posible. A modo de ejemplo, el receptor, o transmisor, del flujo no marcado puede informar sobre la tasa de transmisión de datos (contenido) a la función de sincronización. Como alternativa, la función de sincronización puede ponerse en práctica en un dispositivo que recibe el flujo de contenido no marcado, y está configurada para determinar la tasa, por ejemplo, mediante mediciones simples del número de paquetes RTP recibidos por unidad de tiempo. La ventaja de dicha solución híbrida es que los terminales no configurados para la comunicación de información de temporización, basados en marcadores, pueden, todavía, estar sincronizados con terminales que están configurados para transmitir información de temporización basada en marcadores asociados con partes de contenido, y/o configurados para comunicar notificaciones de marcador, de marcadores asociados con partes de contenido.
La Figura 19B ilustra una forma de realización en donde el MSAS 1914 se realiza, al menos en parte, en un primer receptor 1916. En ese caso, la comunicación entre el SC y el MSAS es interna para el receptor. El MSAS puede generar información de estado de sincronización dentro del receptor, y realizar cálculos de sincronización utilizando información de estado de sincronización, en informes de estado de sincronización transmitidos desde un segundo receptor 1918. Si es apropiado, el MSAS puede ejecutar, entonces, instrucciones de ajustes de sincronización si el receptor está, p.ej., retrasado en su reproducción. Si el segundo receptor 1918 se retrasa en su reproducción, el primer receptor puede recibir instrucciones de ajustes de sincronización del MSAS.
La Figura 19C ilustra una forma de realización en donde el MSAS 1930 se pone en práctica como una entidad separada de las fuentes de contenido 1934, 1936 y los receptores 1926, 1928.
Con algunas modificaciones, un experto en la técnica puede ampliar las formas de realización descritas en este documento a otras arquitecturas, redes o tecnologías. A modo de ejemplo, la idea inventiva se refiere, aquí, generalmente al sistema principal de sincronización, en donde todos los receptores envían sus informes de estado a un sistema maestro. Este sistema maestro determina la instrucción de ajustes de sincronización necesaria para IDMS y transmite los ajustes de sincronización a los receptores adecuados. Sin embargo, los métodos y sistemas dados a conocer se pueden utilizar, además, (o adaptar) a otros sistemas. En una realización ejemplo, se puede utilizar un sistema de receptor principal-secundario. Un receptor (el receptor principal) puede enviar sus informes de estado de sincronización a todos los otros receptores (los receptores secundarios). Los otros receptores ajustan, entonces, la reproducción de conformidad con dichos informes de sincronización. En otro ejemplo, se puede utilizar un sistema de control distribuido, en donde todos los receptores intercambian informes de estado de sincronización y cada receptor determina, en base a todos los informes de estado recibidos, cómo ajustar su propia reproducción.
Una forma de realización de la idea inventiva se puede poner en práctica como un producto de programa para uso con un sistema informático. El programa, del producto del programa, define funciones de las formas de realización (que incluyen los métodos descritos en este documento) y pueden estar incluidas en una diversidad de soportes de memorización legibles por ordenador. Los soportes de memorización legibles por ordenador pueden ser un soporte de memorización no transitorio. Los soportes de memorización legibles por ordenador incluyen, pero no están limitados a: (i) soportes de memorización no grabables (p.ej., dispositivos de memoria de solamente lectura dentro de un ordenador, tal como discos de CD-ROM legibles por una unidad de CD-ROM, circuitos integrados de memoria ROM, o cualquier tipo de memoria semiconductora no volátil de estado sólido) en la que se memoriza la información de forma permanente; y (ii) soportes de memorización modificables (p.ej., disquetes dentro de una unidad de disco, o unidad de disco duro, o cualquier tipo de memoria semiconductora de acceso aleatorio de estado sólido, memoria instantánea) en donde se memoriza información modificable.
Ha de entenderse que cualquier característica descrita en relación con cualquier forma de realización se puede utilizar sola, o en combinación con otras características descritas, y se puede utilizar, además, 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. Además, la invención no está limita a las formas de realización descritas con anterioridad, que pueden variar dentro del alcance de las reivindicaciones adjuntas.

Claims (16)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un método para activar una sincronización inter-destinos de procesamiento de un contenido de al menos un primer (224) y un segundo flujo multimedia (226), estando asociados dichos primero y segundo flujos multimedia con uno o más marcadores (310, 312) para marcar una o más partes de contenido de dichos primero y segundo flujos multimedia, respectivamente, comprendiendo dicho método:
    la detección de una primera parte de contenido marcada (314) de dicho primer flujo multimedia, y una segunda parte de contenido marcada (322) de dicho segundo flujo multimedia, estando dichas primera y segunda partes de contenido marcada, asociadas con un primero (310) y un segundo (318) marcador, respectivamente;
    la asociación de la primera información de temporización (230) con dicha primera parte de contenido marcada detectado y la asociación de la segunda información de temporización (240) con dicha segunda parte de contenido marcada detectado;
    el suministro de dicha primera información de temporización (230), por un primer dispositivo (204) dispuesto para la recepción del primer flujo multimedia, comprendiendo dicho primer dispositivo un primer cliente de sincronización (208); y proporcionar dicha segunda información de temporización (240), por un segundo dispositivo (206) dispuesto para recibir dicho segundo flujo multimedia, comprendiendo dicho segundo dispositivo un segundo cliente de sincronización (212), respectivamente, a una función de sincronización, estando dicha función de sincronización (108) realizada en uno de entre:
    un servidor de sincronización (202, 704), una fuente de contenido (220, 222) adaptada para transmitir dicho primero y/o dicho segundo flujo multimedia a dicho primero y segundo cliente de sincronización; o, un receptor (204, 206, 702) asociado con dicho primero y/o segundo cliente de sincronización (208, 212), que determina una diferencia de temporización sobre la base de dicha primera y segunda información de temporización; y
    generar sobre la base de dicha diferencia de temporización una información de sincronización (250), con el fin de habilitar dicho primer y segundo dispositivo que comprenden dicho primer o segundo cliente de sincronización, respectivamente, para ajustar el procesamiento del contenido de dicho primer y/o segundo flujo multimedia, respectivamente.
  2. 2. Método según la reivindicación 1, en donde dichos uno o más marcadores comprenden un identificador de marcador para identificar marcadores asociados con partes de contenido marcado de dicho primero y segundo flujo multimedia, comprendiendo dicho método:
    la comparación de un primer identificador de marcador, asociado con dicha primera parte de contenido marcada, con un segundo identificador de marcador asociado con dicha segunda parte de contenido marcada.
  3. 3. Método según la reivindicación 2, que comprende:
    si dicho primer identificador de marcador es idéntico a dicho segundo identificador de marcador, la determinación de una diferencia de temporización sobre la base de dicha primera y segunda información de temporización; y/o
    si dicho primer identificador de marcador no es idéntico a dicho segundo identificador de marcador, la determinación de una diferencia de temporización sobre la base de dicha primera y segunda información de temporización, y una relación temporal entre dicho primer marcador, identificado por dicho primer identificador de marcador, y dicho segundo marcador, identificado por dicho segundo identificador de marcador.
  4. 4. Método según cualquiera de las reivindicaciones 1 a 3, que comprende:
    dicho primer cliente de sincronización que transmite dicha primera información de temporización a una función de sincronización, comprendiendo dicha primera información de temporización un primer identificador de marcador que identifica dicho primer marcador;
    la transmisión de una demanda para dicha segunda información de temporización a dicho segundo cliente de sincronización, comprendiendo dicha demanda dicho primer identificador de marcador;
    en respuesta a dicha demanda, la transmisión, por dicho segundo cliente de sincronización, de dicha segunda información de temporización a dicha función de sincronización.
  5. 5. Método según cualquiera de las reivindicaciones 1 a 4, en donde dichos uno o más marcadores se transmiten en uno o más mensajes de señalización asociados con al menos uno de dichos primero y/o segundo flujo multimedia.
  6. 6. Método según la reivindicación 5, en donde dichos uno o más mensajes de señalización comprenden uno o más mensajes RTCP o SIP.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
  7. 7. Método según la reivindicación 5 o 6, en donde dichos uno o más mensajes de señalización comprenden una marca temporal RTP y/o una marca temporal NTP y/o un tipo de PTS.
  8. 8. Método según cualquiera de las reivindicaciones 1 a 7, en donde dichas primera y/o segunda partes de contenido marcado son un primer y/o segundo segmento de un primer y/o segundo flujo multimedia segmentado, respectivamente, identificándose cada uno de dichos segmentos por un identificador de segmento contenido en un fichero de declaración.
  9. 9. Método según la reivindicación 8, en donde dicho fichero de declaración comprende, además, información de localización, asociada con dichos identificadores de segmento para localizar uno o más servidores multimedia, configurados para transmitir segmentos identificados por dichos identificadores de segmento, y, información de marcador que comprende al menos un identificador de marcador, en donde dicho identificador de marcador está asociado con dicho identificador de segmento contenido en dicho fichero de declaración.
  10. 10. Método según cualquiera de las reivindicaciones 1 a 9, comprendiendo dicha primera y segunda información de temporización una hora de reloj en la que una parte de contenido marcada es procesada por un primer o segundo receptor asociado con dicho primer o segundo cliente de sincronización, respectivamente, estando dicha hora de reloj asociada con un tiempo de recepción, un tiempo de desempaquetado, un tiempo de decodificación o un tiempo de reproducción.
  11. 11. Método según cualquiera de las reivindicaciones 1 a 4, estando dichos uno o más marcadores insertados como una marca de agua en dicha parte de contenido.
  12. 12. Un dispositivo (204, 206, 702) que comprende un cliente de sincronización (706), configurado para recibir al menos un flujo multimedia que está asociado con al menos un marcador para marcar una parte de contenido de dicho flujo multimedia, estando dicho cliente de sincronización configurado para:
    la detección de al menos una parte de contenido marcada de dicho flujo multimedia;
    proporcionar un dispositivo (704) que comprende una función de sincronización según la reivindicación 14, con información de temporización asociada con dicho primer marcador detectado;
    la recepción de información de sincronización desde dicha función de sincronización para dar instrucciones a dicho cliente de sincronización para ajustar el procesamiento de dicho flujo multimedia.
  13. 13. Un dispositivo según la reivindicación 12, en donde dicha información de temporización comprende una primera hora de reloj y/o un identificador de marcador.
  14. 14. Un dispositivo servidor (202, 704) que comprende una función de sincronización (108, 728) que permite la sincronización inter-destinos según la reivindicación 1, estando configurada dicha función de sincronización para:
    la recepción o el suministro de primera información de temporización (230), asociada con un primer dispositivo que comprende un primer cliente de sincronización (208),
    estando asociada dicha primera información de temporización con una primera parte de contenido marcada de un primer flujo multimedia;
    la recepción o el suministro de una segunda información de temporización (240), asociada con un segundo dispositivo que comprende un segundo cliente de sincronización (212),
    estando asociada dicha segunda información de temporización con una segunda parte de contenido marcada de un segundo flujo multimedia;
    la determinación de una diferencia de temporización basada en dicha primera y segunda información de temporización; y
    la generación, sobre la base de dicha diferencia de temporización, de una información de sincronización (250) para dar instrucciones a dicho primero y/o segundo cliente de sincronización con el fin de ajustar el procesamiento de dicho primero y/o dicho segundo flujo multimedia, respectivamente.
  15. 15. Sistema para permitir la sincronización inter-destinos de procesamiento de un contenido de al menos un primero y segundo flujo multimedia, comprendiendo dicho sistema:
    un primer dispositivo que comprende un primer cliente de sincronización configurado para
    5
    10
    15
    20
    25
    30
    35
    - la detección de una primera parte de contenido marcada de un primer flujo multimedia
    - la asociación de dicha primera parte de contenido marcada con primera información de temporización y transmitir dicha primera información de temporización a un dispositivo que comprende una función de sincronización según la reivindicación 14, y/o la transmisión de una primera notificación de marcador a dicha función de sincronización
    un segundo dispositivo que comprende un segundo cliente de sincronización configurado para
    - la detección de una segunda parte de contenido marcada de un segundo flujo multimedia
    - la asociación de dicha segunda parte de contenido marcada con segunda información de temporización y transmitir dicha segunda información de temporización a dicho dispositivo que comprende una función de sincronización según la reivindicación 14, y/o la transmisión de una segunda notificación de marcador a dicho dispositivo que comprende una función de sincronización, configurada para
    - la recepción de dicha primera y/o segunda información de temporización y/o la derivación de dicha primera y/o segunda información de temporización desde dicha primera y/o segunda notificación de marcador recibida;
    - la determinación de una diferencia de temporización basada en dicha primera información de temporización y segunda información de temporización; y para la generación, sobre la base de dicha información de sincronización de diferencia de temporización, para dicho primero y/o segundo cliente de sincronización, para ajustar el procesamiento de dicho primero y/o segundo flujo multimedia, respectivamente.
  16. 16. Un producto de programa informático, puesto en práctica en un soporte de memorización no transitorio legible
    por ordenador, estando el producto de programa informático configurado para, cuando se ejecuta en un ordenador,
    realizar las etapas del método según una cualquiera de las reivindicaciones 1 a 11.
ES13712590.2T 2012-03-29 2013-03-29 Sincronización multimedia inter-destinos basada en marcadores Active ES2681049T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP12162241 2012-03-29
EP12162241 2012-03-29
PCT/EP2013/056826 WO2013144347A1 (en) 2012-03-29 2013-03-29 Marker-based inter-destination media synchronization

Publications (1)

Publication Number Publication Date
ES2681049T3 true ES2681049T3 (es) 2018-09-11

Family

ID=47998483

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13712590.2T Active ES2681049T3 (es) 2012-03-29 2013-03-29 Sincronización multimedia inter-destinos basada en marcadores

Country Status (7)

Country Link
US (1) US9832497B2 (es)
EP (2) EP3399764A1 (es)
ES (1) ES2681049T3 (es)
HU (1) HUE039778T2 (es)
PL (1) PL2832109T3 (es)
TR (1) TR201810487T4 (es)
WO (1) WO2013144347A1 (es)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2681049T3 (es) * 2012-03-29 2018-09-11 Koninklijke Kpn N.V. Sincronización multimedia inter-destinos basada en marcadores
US9553756B2 (en) * 2012-06-01 2017-01-24 Koninklijke Kpn N.V. Fingerprint-based inter-destination media synchronization
US9756369B2 (en) * 2013-06-19 2017-09-05 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for streaming media data segments of different lengths wherein the segment of different length comprising data not belonging to the actual segment and beginning with key frames or containing key frames only
WO2015004131A1 (en) * 2013-07-09 2015-01-15 Koninklijke Kpn N.V. Synchronized data processing between receivers
US11074394B2 (en) * 2013-07-10 2021-07-27 Comcast Cable Communications, Llc Adaptive content delivery
KR20150033827A (ko) * 2013-09-24 2015-04-02 삼성전자주식회사 영상표시장치, 서버 및 그 동작방법
US10108692B1 (en) * 2013-10-15 2018-10-23 Amazon Technologies, Inc. Data set distribution
EP2871848A1 (en) * 2013-11-12 2015-05-13 Koninklijke KPN N.V. Providing correction information for media synchronization
JP6320012B2 (ja) * 2013-12-04 2018-05-09 株式会社日立情報通信エンジニアリング 通信装置、通信プログラム、通信方法
EP3087747A4 (en) * 2013-12-23 2017-08-16 Lg Electronics Inc. Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks
US9723580B2 (en) * 2014-02-21 2017-08-01 Summit Semiconductor Llc Synchronization of audio channel timing
US10602468B2 (en) * 2014-02-21 2020-03-24 Summit Wireless Technologies, Inc. Software based audio timing and synchronization
US10582461B2 (en) 2014-02-21 2020-03-03 Summit Wireless Technologies, Inc. Software based audio timing and synchronization
US10504200B2 (en) 2014-03-13 2019-12-10 Verance Corporation Metadata acquisition using embedded watermarks
WO2015138798A1 (en) 2014-03-13 2015-09-17 Verance Corporation Interactive content acquisition using embedded codes
GB2518921B (en) * 2014-03-24 2016-02-17 Imagination Tech Ltd High definition timing synchronisation function
US9715900B2 (en) * 2014-05-15 2017-07-25 Showbox Ltd. Methods, circuits, devices, systems and associated computer executable code for composing composite content
US20170213567A1 (en) * 2014-07-31 2017-07-27 Koninklijke Kpn N.V. Noise suppression system and method
US9805434B2 (en) 2014-08-20 2017-10-31 Verance Corporation Content management based on dither-like watermark embedding
WO2016086047A1 (en) 2014-11-25 2016-06-02 Verance Corporation Enhanced metadata and content delivery using watermarks
US9602891B2 (en) 2014-12-18 2017-03-21 Verance Corporation Service signaling recovery for multimedia content using embedded watermarks
US11044386B1 (en) * 2014-12-18 2021-06-22 The Directv Group, Inc. Method and system for synchronizing playback of independent audio and video streams through a network
WO2016102224A1 (en) * 2014-12-22 2016-06-30 Koninklijke Kpn N.V. Quality of media synchronization
FR3031861B1 (fr) * 2015-01-16 2018-02-02 Tdf Procede et dispositif de commutation de services, programme d'ordinateur et support de stockage correspondants
US9838571B2 (en) 2015-04-10 2017-12-05 Gvbb Holdings S.A.R.L. Precision timing for broadcast network
US10666454B1 (en) * 2015-06-24 2020-05-26 Groupon, Inc. Apparatus, system, and method for providing simultaneous delivery of output communications
TWI620438B (zh) * 2015-08-12 2018-04-01 財團法人資訊工業策進會 校正直播節目中互動時間的方法、裝置與電腦可讀取儲存裝置
BR112018009903A8 (pt) 2015-11-17 2019-02-26 Net Insight Intellectual Property Ab sincronização de distribuição de vídeo
US10032475B2 (en) 2015-12-28 2018-07-24 Koninklijke Kpn N.V. Enhancing an audio recording
US10764473B2 (en) * 2016-01-14 2020-09-01 Disney Enterprises, Inc. Automatically synchronizing multiple real-time video sources
US10469885B2 (en) * 2016-03-22 2019-11-05 Arris Enterprises Llc Playback synchronization among adaptive bitrate streaming clients
SE541208C2 (en) * 2016-07-04 2019-04-30 Znipe Esports AB Methods and nodes for synchronized streaming of a first and a second data stream
US10148722B2 (en) 2016-07-04 2018-12-04 Znipe Esports AB Methods and nodes for synchronized streaming of a first and a second data stream
US11445001B2 (en) * 2016-10-03 2022-09-13 Avaya Inc. Synchronization of a media codec between network elements of a media communication session
US10425667B2 (en) * 2016-10-03 2019-09-24 Cisco Technology, Inc. Network layer transport of video characteristics for use by network function in a service function chain
US11611547B2 (en) 2016-11-08 2023-03-21 Dish Network L.L.C. User to user content authentication
EP3616398A4 (en) * 2017-04-24 2020-12-23 Phenix Real Time Solutions, Inc. METHOD AND APPARATUS FOR SYNCHRONIZING THE CONSUMPTION OF DATA AT A DISTANCE BY APPLICATIONS
US11303975B2 (en) 2017-06-05 2022-04-12 Comcast Cable Communications, Llc Content segment variant obfuscation
US11010825B2 (en) * 2017-07-16 2021-05-18 Auction Frontier Llc System and method for synchronized video logging and playback of auction activity
EP3573338A1 (en) * 2018-05-25 2019-11-27 Carrier Corporation Video device and network quality evaluation/diagnostic tool
CN108737905B (zh) * 2018-06-12 2021-04-13 中国联合网络通信集团有限公司 直播互动同步方法及架构
US11234049B2 (en) * 2019-06-24 2022-01-25 The Nielsen Company (Us), Llc Use of steganographically-encoded time information as basis to control implementation of dynamic content modification
US11212560B2 (en) * 2019-06-24 2021-12-28 The Nielsen Company (Us), Llc Use of steganographically-encoded time information as basis to establish a time offset, to facilitate taking content-related action
US11695722B2 (en) 2019-07-30 2023-07-04 Sling Media L.L.C. Devices, systems and processes for providing geo-located and content-to-comment synchronized user circles
CN112995759A (zh) * 2019-12-13 2021-06-18 腾讯科技(北京)有限公司 互动业务处理方法、系统、装置、设备及存储介质
US11838450B2 (en) 2020-02-26 2023-12-05 Dish Network L.L.C. Devices, systems and processes for facilitating watch parties
US11824751B2 (en) * 2020-04-21 2023-11-21 Grass Valley Canada System and method for controlling distribution of media content in a distributed system
US11722725B2 (en) * 2020-05-01 2023-08-08 Arris Enterprises Llc Method and system for synchronized viewing of content over multiple remote media play devices
US11606597B2 (en) * 2020-09-03 2023-03-14 Dish Network Technologies India Private Limited Devices, systems, and processes for facilitating live and recorded content watch parties
WO2022187876A1 (en) * 2021-03-04 2022-09-09 Mobii Systems (Pty) Ltd A method of providing a time-synchronized multi-stream data transmission
US11451872B1 (en) * 2021-05-27 2022-09-20 Sling TV L.L.C. System, device, and processes for intelligent start playback of program content
US20220394645A1 (en) * 2021-06-02 2022-12-08 Corning Research & Development Corporation Synchronization of frames in multiple streams in a wireless communications system (wcs)
US11758245B2 (en) 2021-07-15 2023-09-12 Dish Network L.L.C. Interactive media events
US11849171B2 (en) 2021-12-07 2023-12-19 Dish Network L.L.C. Deepfake content watch parties
US11974005B2 (en) 2021-12-07 2024-04-30 Dish Network L.L.C. Cell phone content watch parties
US11750865B1 (en) 2022-04-08 2023-09-05 CodeShop, B.V. Method and system for synchronization of adaptive streaming transcoder and packager outputs
US11973999B2 (en) 2022-08-19 2024-04-30 Dish Network L.L.C. User chosen watch parties
US11695815B1 (en) 2022-12-06 2023-07-04 CodeShop, B.V. Method and system for redundant media presentation generation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2632399A (en) 1998-02-27 1999-09-15 Ridgeway Systems And Software Limited Audio-video packet synchronisation at network gateway
US8190680B2 (en) * 2004-07-01 2012-05-29 Netgear, Inc. Method and system for synchronization of digital media playback
US7962640B2 (en) * 2007-06-29 2011-06-14 The Chinese University Of Hong Kong Systems and methods for universal real-time media transcoding
US8839340B2 (en) * 2010-01-27 2014-09-16 Koninklijke Kpn N.V. Method, system and device for synchronization of media streams
CN102948126B (zh) * 2010-06-18 2015-12-16 诺基亚公司 生成和处理流媒体体验质量度量的方法和装置
US20120030723A1 (en) * 2010-07-27 2012-02-02 Motorola, Inc. Method and apparatus for streaming video
ES2681049T3 (es) * 2012-03-29 2018-09-11 Koninklijke Kpn N.V. Sincronización multimedia inter-destinos basada en marcadores

Also Published As

Publication number Publication date
EP2832109A1 (en) 2015-02-04
EP2832109B8 (en) 2018-07-04
EP3399764A1 (en) 2018-11-07
US20150052571A1 (en) 2015-02-19
TR201810487T4 (tr) 2018-08-27
PL2832109T3 (pl) 2018-12-31
WO2013144347A1 (en) 2013-10-03
EP2832109B1 (en) 2018-05-16
HUE039778T2 (hu) 2019-02-28
US9832497B2 (en) 2017-11-28

Similar Documents

Publication Publication Date Title
ES2681049T3 (es) Sincronización multimedia inter-destinos basada en marcadores
JP7260687B2 (ja) 送信方法および送信装置
AU2016226206B2 (en) File format based streaming with dash formats based on LCT
US10397295B2 (en) Processing continuous multi-period content
US9973345B2 (en) Calculating and signaling segment availability times for segments of media data
ES2801698T3 (es) Sincronización de flujo modificado
ES2767288T3 (es) Transmisión en continuo de vídeo de baja latencia
ES2796873T3 (es) Correlacionar información de línea de tiempo entre flujos de medios
US11095929B2 (en) Video distribution synchronization
KR101927145B1 (ko) 다른 네트워크들을 통해 수신된 콘텐츠의 렌더링을 동기화하기 위한 디코더 및 이러한 디코더에서의 방법
US20150172348A1 (en) Method for sending respectively receiving a media stream
KR20170089863A (ko) 멀티미디어 및 파일 전송을 위한 전송 인터페이스