ES2896803T3 - Transmisión con tasa de bits adaptativa mejorada de contenido en vivo - Google Patents

Transmisión con tasa de bits adaptativa mejorada de contenido en vivo Download PDF

Info

Publication number
ES2896803T3
ES2896803T3 ES17745318T ES17745318T ES2896803T3 ES 2896803 T3 ES2896803 T3 ES 2896803T3 ES 17745318 T ES17745318 T ES 17745318T ES 17745318 T ES17745318 T ES 17745318T ES 2896803 T3 ES2896803 T3 ES 2896803T3
Authority
ES
Spain
Prior art keywords
manifest
client device
file
hint
update
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
ES17745318T
Other languages
English (en)
Inventor
Anthony Jones
Chris Phillips
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Application granted granted Critical
Publication of ES2896803T3 publication Critical patent/ES2896803T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0017Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement
    • H04L1/0018Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy where the mode-switching is based on Quality of Service requirement based on latency requirement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Un dispositivo cliente (150) preparado para recibir una transmisión con tasa de bits adaptativa en vivo de una transmisión de vídeo, teniendo el dispositivo cliente (150) medios configurados: para recibir un archivo de manifiesto, identificando el archivo de manifiesto uno o más segmentos de la transmisión con tasa de bits adaptativa en vivo codificados con una o más tasas de bits; para solicitar y recibir un segmento identificado en el archivo de manifiesto recibido; para recibir una sugerencia (389) de actualización de manifiesto, incluyendo la sugerencia (389) de actualización de manifiesto una indicación de un momento en el que se actualizará el archivo de manifiesto; y para solicitar un archivo (386) de manifiesto actualizado en un momento indicado por la sugerencia (389) de actualización de manifiesto.

Description

DESCRIPCIÓN
Transmisión con tasa de bits adaptativa mejorada de contenido en vivo
Campo técnico
La presente solicitud se refiere a un dispositivo cliente, un método en un dispositivo cliente, un servidor, un método en un servidor, un codificador, un método para hacer funcionar un codificador, un empaquetador, un método para hacer funcionar un empaquetador, un aparato para recibir una transmisión con tasa de bits adaptativa en vivo, un aparato para suministrar una transmisión con tasa de bits adaptativa en vivo y un medio legible por ordenador.
Antecedentes
La transmisión con tasa de bits adaptativa (ABR, por sus siglas en inglés) se ha convertido en una tecnología importante para suministrar contenido de vídeo a través de una conexión a Internet. Esta tecnología tiene en cuenta una variación en el ancho de banda que es típica de una conexión doméstica a Internet. Esta variación puede deberse a un conflicto local con otros dispositivos y usuarios presentes en el hogar que utilicen la misma conexión de módem para otros fines. Una causa adicional de la variación en el ancho de banda disponible es un conflicto de bucle local donde el ancho de banda entre una pluralidad de módems en un vecindario deba compartirse entre una pluralidad respectiva de hogares.
La transmisión ABR tiene en cuenta una variación en el ancho de banda midiendo el ancho de banda disponible entre un dispositivo de transmisión y un servidor que envíe el contenido de vídeo transmitido y proporcionando la transmisión de vídeo a una tasa de bits que maximice el uso del ancho de banda disponible. Para lograr esto, un servidor que use ABR hará que el vídeo transmitido esté disponible en una serie de segmentos, estando cada segmento disponible en múltiples versiones y estando cada versión codificada con una tasa de bits diferente. El cliente de transmisión ABR en el dispositivo de transmisión selecciona luego los segmentos apropiados. Las tasas de bits disponibles normalmente son fijas.
Para permitir que el cliente de transmisión ABR identifique y recupere los segmentos apropiados de la transmisión ABR, el servidor pone un archivo de manifiesto a disposición de los clientes de transmisión ABR. El archivo de manifiesto enumera los segmentos de la transmisión de vídeo que el servidor tiene disponibles para descargar. Un cliente de transmisión debe descargar primero el archivo de manifiesto antes de poder identificar qué segmentos descargar. El cliente de transmisión solicita luego los segmentos apropiados y una vez que los recibe puede comenzar a decodificar y presentar el contenido. La transmisión con tasa de bits adaptativa (ABR) mediante transmisión adaptativa a través de HTTP (HTTP Adaptive Streaming (HAS)) se utiliza cada vez más como formato para el funcionamiento en vivo. Es decir, suministro de contenido de vídeo en vivo. El contenido en vivo puede definirse como "no pregrabado". El contenido en vivo puede considerarse contenido que se genera y se distribuye de manera sustancialmente inmediata a un dispositivo cliente. La transmisión adaptativa a través de HTTP se desarrolló originalmente con el contenido bajo demanda en mente, donde se conocen todos los segmentos antes de que comience la transmisión. Esto significa que todos los manifiestos, que describen los segmentos de un contenido, están disponibles para que un cliente los descargue cuando comience la transmisión de ese contenido. Cuando un cliente solicita un manifiesto relacionado con el contenido bajo demanda, ese manifiesto estará disponible para ese cliente.
Básicamente, cuando la transmisión ABR se aplica a contenido en vivo, los segmentos se generan solo poco antes de que el cliente los reciba. Como tales, los archivos de manifiesto deben crearse a medida que se crean los segmentos relacionados con el contenido en vivo. Si un cliente solicita un archivo de manifiesto actualizado antes de que se haya creado, no recibirá el archivo y tendrá que volver a solicitarlo poco tiempo después. Sin embargo, el cliente no tiene forma de saber cuándo estará disponible el archivo de manifiesto actualizado. Por ejemplo, en el funcionamiento en vivo, los archivos de manifiesto HAS se actualizan cada vez que está disponible un nuevo segmento completo de datos multimedia. Es poco probable que el intervalo de tiempo entre los nuevos segmentos que van estando disponibles sea constante, ya que dependerá del contenido y la complejidad de la codificación.
Para encontrar un manifiesto actualizado, el cliente sondea el servidor para descargar el manifiesto actual del servidor. Si un sondeo llega inmediatamente antes de que se actualice el manifiesto, de modo que el sondeo pierda por poco la actualización, entonces el cliente tendrá que esperar hasta el siguiente sondeo para recibir el nuevo manifiesto. Esto da como resultado una latencia significativa y variable entre la disponibilidad de nuevos segmentos de medios y el momento en que el cliente los conoce. Esta latencia puede ser de hasta un intervalo de sondeo completo (por lo general, varios segundos). Esto, a su vez, conduce a un almacenamiento en memoria intermedia más difícil y, en presencia de congestión o un ancho de banda limitado, puede provocar que la reproducción del cliente se detenga o cambie excesivamente de tasa de bits. Cuando los tamaños de los segmentos son muy variables (por ejemplo, debido a la publicidad), los deterioros son aún más significativos.
Un sondeo más frecuente por parte de los clientes reduciría cualquier retardo entre la puesta a disposición de un manifiesto y su descarga por parte de un cliente, pero esto daría lugar a un aumento de la sobrecarga de señalización que sería particularmente problemático para los servidores de transmisión que tienen una gran cantidad de usuarios simultáneos. Se conoce, por ejemplo, por la solicitud de patente estadounidense publicada US 2016/0112484 A1, para un dispositivo cliente, la realización de un seguimiento de un flujo de datos durante la reproducción en cuanto a actualizaciones del manifiesto.
El manifiesto actualizado probablemente incluirá segmentos que se enumeraban en el manifiesto anterior, por lo que se denomina acertadamente actualización. Sin embargo, en la práctica, es un archivo nuevo, por lo que el manifiesto actualizado se puede denominar nuevo archivo de manifiesto o nuevo manifiesto. En la presente memoria se denominará manifiesto actualizado.
Compendio
La invención se describe mediante las reivindicaciones adjuntas y está relacionada con un dispositivo cliente, un método para un dispositivo cliente, un servidor, un método para un servidor y un medio legible por ordenador.
Las realizaciones descritas en las mismas y relacionadas con un codificador, un método para hacer funcionar un codificador, un empaquetador, un método para hacer funcionar un empaquetador, un aparato para recibir una transmisión con tasa de bits adaptativa en vivo y un aparato para suministrar una transmisión con tasa de bits adaptativa en vivo no forman parte del objeto reivindicado, pero son útiles para comprender la invención.
Se proporciona un dispositivo cliente preparado para recibir una transmisión con tasa de bits adaptativa en vivo, estando el dispositivo cliente preparado además para: solicitar un archivo de manifiesto; y solicitar una sugerencia de actualización de manifiesto. El dispositivo cliente está preparado además para recibir una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
La sugerencia de actualización de manifiesto indica al dispositivo cliente cuándo puede esperar que se produzca una actualización del manifiesto. El dispositivo cliente usa esta sugerencia para elegir el momento para solicitar un archivo de manifiesto actualizado. Al operar de esta manera, es menos probable que el dispositivo cliente solicite un archivo de manifiesto antes de tiempo; tales solicitudes son una sobrecarga de señalización innecesaria. Además, el dispositivo cliente descargará consecuentemente un archivo de manifiesto actualizado inmediatamente después de que se ponga a disposición, lo que permitirá un mejor almacenamiento en memoria intermedia y una reproducción más fluida del contenido en vivo recibido a través del servicio de transmisión.
El momento indicado por la sugerencia de actualización de manifiesto puede ser un intervalo de tiempo o un momento específico mencionado en la sugerencia de actualización de manifiesto, más un retardo. El retardo puede ser seleccionado por el dispositivo cliente.
Puede haber un retardo sistemático entre la creación del nuevo manifiesto por parte del servidor desde el cual el dispositivo cliente recibe la transmisión con tasa de bits adaptativa en vivo y su disponibilidad para su descarga por parte del dispositivo cliente. Tal retardo sistemático puede surgir debido a que aparezca un segmento más corto en la transmisión. Puede producirse un punto de empalme en la transmisión de contenido en un punto que requiera un segmento más corto de lo habitual. Por ejemplo: considérese un codificador configurado para generar segmentos de 10 segundos; se recibe un aviso de punto de empalme que da como resultado que el codificador genere un segmento más corto, tal como 4 segundos. El cliente ha estado sondeando a intervalos de 10 segundos en el momento adecuado. El segmento más corto significa que ahora el sondeo tiene un desplazamiento tanto de la generación del segmento como de cuándo se crea el manifiesto actualizado.
La sugerencia de actualización de manifiesto descrita en la presente memoria permite al cliente mantenerse sincronizado con el segmentador incluso cuando cambian las longitudes de los segmentos.
Un punto de empalme puede indicarse mediante un mensaje SCTE 35. ANSI/SCTE 352013 es un estándar conjunto de ANSI/Society of Cable and Telecommunications Engineers que describe la inserción en línea de tonos de señal en flujos de transporte mpeg. Se utiliza en la radiodifusión para insertar un anuncio local o un segmento de noticias en una transmisión de radiodifusión nacional.
La transmisión con tasa de bits adaptativa en vivo contiene contenido en vivo. El contenido en vivo es el contenido que se recibe en el sistema de transmisión poco antes de enviarse a los clientes. Puede producirse un retardo, como resultado del tiempo necesario para procesar los datos entrantes a un formato listo para la transmisión con tasa de bits adaptativa en vivo. La transmisión con tasa de bits adaptativa en vivo puede comprender contenido de vídeo.
La sugerencia de actualización de manifiesto puede estar incluida en el archivo de manifiesto. En tal disposición, el dispositivo cliente está preparado para recibir una transmisión con tasa de bits adaptativa en vivo, estando el dispositivo cliente preparado además para: solicitar un archivo de manifiesto; recibir una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
Se proporciona un método en un dispositivo cliente preparado para recibir una transmisión con tasa de bits adaptativa en vivo, comprendiendo el método: solicitar un archivo de manifiesto; y solicitar una sugerencia de actualización de manifiesto. El método comprende además recibir una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
La sugerencia de actualización de manifiesto indica al dispositivo cliente cuándo puede esperar que se produzca una actualización del manifiesto. El dispositivo cliente usa esta sugerencia para programar el momento de solicitar un archivo de manifiesto actualizado. Al operar de esta manera, es menos probable que el dispositivo cliente solicite un archivo de manifiesto antes de tiempo; tales solicitudes prematuras son una sobrecarga de señalización innecesaria. Además, el dispositivo cliente descargará consecuentemente un archivo de manifiesto actualizado inmediatamente después de que se ponga a disposición, lo que permitirá un mejor almacenamiento en memoria intermedia y una reproducción más fluida del contenido en vivo recibido a través del servicio de transmisión.
El momento indicado por la sugerencia de actualización de manifiesto puede ser un intervalo de tiempo o un momento específico mencionado en la sugerencia de actualización de manifiesto, más un retardo. El método puede comprender además seleccionar el retardo.
Puede haber un retardo sistemático entre la creación del nuevo manifiesto por parte del servidor desde el cual el dispositivo cliente recibe la transmisión con tasa de bits adaptativa en vivo y su disponibilidad para su descarga por parte del dispositivo cliente.
Se proporciona un servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo, estando el servidor preparado para: recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrárselos a al menos un dispositivo cliente; y calcular el tamaño de un segmento que se esté generando antes de que se complete el segmento. El servidor está además preparado para crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño calculado del siguiente segmento; y enviar el archivo de sugerencia de actualización de manifiesto en respuesta a una solicitud del mismo procedente de un dispositivo cliente.
Un servidor que codifica contenido en vivo para suministrarlo mediante transmisión con tasa de bits adaptativa determinará el tamaño de un segmento al principio de la codificación de tal segmento. La longitud del segmento determina cuándo estará listo para ser descargado por un dispositivo cliente y, en consecuencia, cuándo se actualizará el archivo de manifiesto para que refleje que el segmento está listo para su descarga. En consecuencia, el servidor puede generar un archivo de sugerencia de actualización de manifiesto antes de que el nuevo archivo de manifiesto esté disponible, proporcionando el archivo de sugerencia de actualización de manifiesto una indicación útil a los dispositivos cliente de cuándo se actualizará el archivo de manifiesto.
El servidor puede estar preparado para: recibir una solicitud de un archivo de manifiesto desde el dispositivo cliente; y enviar el archivo de manifiesto actual al dispositivo cliente.
Posteriormente a la distribución del archivo de sugerencia de actualización de manifiesto, el servidor recibirá una solicitud para el archivo de manifiesto actualizado, pudiendo esa solicitud ser programada por el dispositivo cliente para que llegue al servidor en un momento poco posterior a que el archivo de manifiesto se haya actualizado, determinándose ese momento a partir de la indicación dada en el archivo de sugerencia de actualización de manifiesto. En respuesta a tal solicitud, el servidor envía el archivo de manifiesto actualmente disponible al dispositivo cliente.
Se proporciona un método para hacer funcionar un servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo, comprendiendo el método: recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrárselos a al menos un dispositivo cliente; y calcular el tamaño de un segmento que se esté generando antes de que se complete el segmento. El método comprende además: crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño calculado del siguiente segmento; y enviar el archivo de sugerencia de actualización de manifiesto en respuesta a una solicitud del mismo procedente de un dispositivo cliente.
Un servidor que codifica contenido en vivo para suministrarlo mediante transmisión con tasa de bits adaptativa determinará el tamaño de un segmento al principio de la codificación de tal segmento. La longitud del segmento determina cuándo estará listo para ser descargado por un dispositivo cliente y, en consecuencia, cuándo se actualizará el archivo de manifiesto para que refleje que el segmento está listo para su descarga. El servidor puede generar un archivo de sugerencia de actualización de manifiesto antes de que el nuevo archivo de manifiesto esté disponible, proporcionando el archivo de sugerencia de actualización de manifiesto una indicación útil a los dispositivos cliente de cuándo se actualizará el archivo de manifiesto.
El método puede comprender además: recibir una solicitud de un archivo de manifiesto desde el dispositivo cliente; y enviar el archivo de manifiesto actual al dispositivo cliente.
Posteriormente a la distribución del archivo de sugerencia de actualización de manifiesto, el servidor recibirá una solicitud para el archivo de manifiesto actualizado, pudiendo esa solicitud ser programada por el dispositivo cliente para que llegue al servidor en un momento poco posterior a que el archivo de manifiesto se haya actualizado, determinándose ese momento a partir de la indicación dada en el archivo de sugerencia de actualización de manifiesto. En respuesta a tal solicitud, el servidor envía el archivo de manifiesto actualmente disponible al dispositivo cliente.
Se proporciona un codificador preparado para: recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrárselos a al menos un cliente; y dar salida al tamaño de un segmento que se esté generando una vez que esté determinado y antes de que se complete el segmento.
Un servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo puede comprender un codificador y un empaquetador. El codificador está preparado para codificar la transmisión de contenido entrante. Debido al almacenamiento en memoria intermedia dentro del codificador, el codificador tiene conocimiento del tamaño del segmento antes de que se haya generado el segmento. Por lo tanto, el codificador puede emitir una notificación de cuán grande será el siguiente segmento antes de que se genere ese segmento. Esa indicación se utiliza para generar un archivo de sugerencia de actualización de manifiesto para indicar a los dispositivos cliente cuándo se actualizará el archivo de manifiesto.
Se proporciona un método para hacer funcionar un codificador, comprendiendo el método: recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrárselos a al menos un cliente; y dar salida al tamaño de un segmento que se esté generando una vez que esté determinado y antes de que se complete el segmento.
Se proporciona un empaquetador preparado para: recibir segmentos con tasa de bits adaptativa desde un codificador de tasa de bits adaptativa y empaquetarlos para suministrarlos; recibir una indicación del tamaño del siguiente segmento desde el codificador de tasa de bits adaptativa; y crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño del siguiente segmento.
Un servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo puede comprender un codificador y un empaquetador. El empaquetador es responsable de crear segmentos descargables a partir de la salida del codificador y de actualizar el archivo de manifiesto que enumera los segmentos disponibles. El empaquetador actualizará el próximo momento de actualización del manifiesto en el Archivo de Sugerencia de Actualización de Manifiesto Siguiente en respuesta a la indicación del tamaño del siguiente segmento, recibiéndose esa indicación desde el codificador. El empaquetador puede ser un empaquetador de tasa de bits adaptativa. El empaquetador recibe el tamaño del siguiente segmento antes de ese siguiente segmento.
Se proporciona además un método para hacer funcionar un empaquetador, comprendiendo el método: recibir segmentos con tasa de bits adaptativa desde un codificador de tasa de bits adaptativa y empaquetarlos para suministrarlos; recibir una indicación del tamaño del siguiente segmento desde el codificador de tasa de bits adaptativa; y crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño del siguiente segmento. El empaquetador recibe el tamaño del siguiente segmento antes de ese siguiente segmento.
Se proporciona además un aparato para recibir una transmisión con tasa de bits adaptativa en vivo que comprende un procesador y una memoria, conteniendo dicha memoria instrucciones ejecutables por dicho procesador, por lo que dicho aparato está operativo para: solicitar un archivo de manifiesto; y solicitar una sugerencia de actualización de manifiesto. El aparato está además operativo para recibir una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
Se proporciona además un aparato para suministrar una transmisión con tasa de bits adaptativa en vivo que comprende un procesador y una memoria, conteniendo dicha memoria instrucciones ejecutables por dicho procesador, por lo que dicho aparato está operativo para: recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrárselos a al menos un dispositivo cliente; y calcular el tamaño de un segmento que se esté generando antes de que se complete el segmento. El aparato también está operativo para crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño del siguiente segmento; y enviar el archivo de sugerencia de actualización de manifiesto en respuesta a una solicitud del mismo procedente de un dispositivo cliente.
Se proporciona además un aparato para recibir una transmisión con tasa de bits adaptativa en vivo que comprende un procesador y una memoria, conteniendo dicha memoria instrucciones ejecutables por dicho procesador, por lo que dicho aparato comprende: un módulo para solicitar un archivo de manifiesto; y un módulo para solicitar una sugerencia de actualización de manifiesto. El aparato comprende además un módulo para recibir una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y un módulo para solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
El momento indicado por la sugerencia de actualización de manifiesto puede ser un intervalo de tiempo o un momento específico mencionado en la sugerencia de actualización de manifiesto, más un retardo. El retardo puede ser seleccionado por el dispositivo cliente. La transmisión con tasa de bits adaptativa en vivo contiene contenido en vivo.
Se proporciona además un aparato para suministrar una transmisión con tasa de bits adaptativa en vivo que comprende un procesador y una memoria, conteniendo dicha memoria instrucciones ejecutables por dicho procesador, por lo que dicho aparato comprende: un módulo para recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrárselos a al menos un dispositivo cliente; y un módulo para calcular el tamaño de un segmento que se esté generando antes de que se complete el segmento. El aparato comprende además un módulo para crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño del siguiente segmento; y un módulo para enviar el archivo de sugerencia de actualización de manifiesto en respuesta a una solicitud del mismo desde un dispositivo cliente.
Se proporciona además un medio legible por ordenador, que lleva instrucciones que, cuando se ejecutan mediante lógica informática, hacen que dicha lógica informática lleve a cabo cualquiera de los métodos definidos en la presente memoria.
Breve descripción de los dibujos
Ahora se describirán un método y un aparato para mejorar la transmisión con tasa de bits adaptativa de contenido en vivo, solo a modo de ejemplo, con referencia a los dibujos adjuntos, en los que:
la Figura 1 ilustra un sistema de transmisión con tasa de bits adaptativa (ABR) conocido;
la Figura 2 muestra una vista más detallada de cómo se crea la transmisión ABR;
la Figura 3 muestra cómo se genera un archivo de sugerencia de manifiesto dentro de un sistema que genera transmisiones ABR;
la Figura 4 ilustra un método en un dispositivo cliente preparado para recibir una transmisión con tasa de bits adaptativa en vivo;
la Figura 5 ilustra un método para hacer funcionar un servidor;
la Figura 6 ilustra el funcionamiento de un codificador ABR como se describe en la presente memoria;
la Figura 7 ilustra el funcionamiento de un empaquetador ABR presentado en la presente memoria;
la Figura 8 ilustra un aparato para recibir una transmisión con tasa de bits adaptativa en vivo; y
la Figura 9 ilustra un aparato para suministrar una transmisión con tasa de bits adaptativa en vivo.
Descripción detallada
La Figura 1 ilustra un sistema de transmisión con tasa de bits adaptativa (ABR) conocido. El sistema comprende un servidor 100 de origen, un servidor HTTP 120, que puede o no estar ubicado físicamente junto al servidor 100 de origen, y un dispositivo cliente 150. El servidor 100 de origen crea un conjunto de segmentos 102 que se ponen a disposición del dispositivo cliente 150 a través del servidor http 120. Para que el dispositivo cliente 150 sepa qué segmentos están disponibles, el servidor 100 de origen crea un manifiesto 110.
En funcionamiento, el dispositivo cliente 150 envía una consulta al servidor HTTP 120, solicitando la consulta una transmisión de contenido en vivo concreta. El servidor HTTP 120 recupera un archivo 110b de manifiesto del servidor 100 de origen y se lo suministra al dispositivo cliente. El dispositivo cliente lee el archivo 110b de manifiesto, identifica el segmento que necesita y envía una solicitud para este segmento al servidor HTTP 120. El servidor HTTP 120 recupera el segmento solicitado 102b del servidor 100 de origen y se lo suministra al dispositivo cliente 150.
Ese segmento comprenderá quizás 10 segundos de contenido de vídeo. Antes de que ese segmento de contenido de vídeo deje de reproducirse, el dispositivo cliente debe haber recibido un segmento posterior. Para ubicar el segmento posterior, el dispositivo cliente requiere un manifiesto actualizado que refleje los nuevos segmentos disponibles. El dispositivo cliente 150 sondea el servidor HTTP 120 para descargar el manifiesto actual. Si un sondeo llega inmediatamente antes de que se actualice el manifiesto, el sondeo pierde por poco la actualización y entonces el dispositivo cliente 150 tendrá que esperar hasta el siguiente sondeo para recibir el nuevo manifiesto. Esto da como resultado una latencia significativa y variable entre la disponibilidad de nuevos segmentos de medios y el momento en que el dispositivo cliente 150 los conoce. Esta latencia puede ser de hasta un intervalo de sondeo completo (por lo general, varios segundos). Esto, a su vez, conduce a un almacenamiento en memoria intermedia más difícil y, en presencia de congestión o ancho de banda limitado, puede provocar que la reproducción del cliente se detenga o cambie excesivamente de tasa de bits. Cuando los tamaños de los segmentos son muy variables (por ejemplo, debido a la inserción de anuncios), los deterioros son aún más significativos.
En la práctica, el dispositivo cliente puede intentar mantener una memoria intermedia de varios segmentos, quizás tres segmentos de 10 segundos. En ese caso, el dispositivo cliente intentará descargar el cuarto segmento mientras se reproduce el primero para poder descargar el quinto segmento mientras se reproduce el segundo, y así sucesivamente.
La Figura 2 muestra una vista más detallada de cómo se crea la transmisión ABR. Aquí se muestran las partes que integran un servidor 200 de origen. Cabe señalar que, en la práctica, estas partes integrantes pueden estar repartidas entre cualquier número de máquinas físicas e incluso ubicaciones geográficas. El servidor 200 de origen comprende un codificador ABR 210 en vivo, un empaquetador ABR 220, un almacenamiento 230 en red y un servidor HTTP 240. El empaquetador ABR 220 comprende un generador 224 de manifiestos que genera y gestiona los archivos de manifiesto para la transmisión ABR.
En funcionamiento, el codificador ABR 210 en vivo recibe una transmisión 280 de vídeo en vivo. El codificador ABR 210 en vivo codifica simultáneamente la transmisión de vídeo con una pluralidad de tasas de bits diferentes. El codificador ABR 210 en vivo da salida a una pluralidad de transmisiones codificadas 282 de vídeo, cada una codificada con una tasa de bits diferente. Las transmisiones codificadas 282 de vídeo se reciben en el empaquetador ABR 220. El empaquetador ABR 220 divide cada transmisión 282 de vídeo en fragmentos y los empaqueta para generar segmentos ABR 284 adecuados para que un cliente ABR los descargue en un dispositivo cliente 150. El empaquetador ABR 220 además comprende un generador 224 de manifiestos que genera el o los archivos 286 de manifiesto que describen los segmentos 284.
Tanto los archivos 286 de manifiesto como los segmentos 284 se almacenan en un componente 230 de almacenamiento, que puede ser un almacenamiento en red o una red de distribución de contenido (CDN, por sus siglas en inglés). Finalmente, un servidor HTTP 240 permite que el servidor 200 se comunique con al menos un dispositivo cliente 150. En tal disposición, un dispositivo cliente 150 debe sondear periódicamente el servidor 240 para ver si está disponible un nuevo manifiesto.
Para abordar los problemas descritos anteriormente, se proporciona un sistema en el que se genera un archivo de sugerencia de actualización de manifiesto. El archivo de sugerencia de actualización de manifiesto proporciona una notificación de un momento de actualización futura del manifiesto basado en el conocimiento proporcionado por un componente situado corriente arriba dentro del codificador. El proceso de codificación está modificado de tal modo que se da salida a un archivo de sugerencia de actualización de manifiesto antes de que se genere un nuevo manifiesto. El archivo de sugerencia de actualización de manifiesto le da a un dispositivo cliente una indicación de cuándo se actualizará el manifiesto y esto permite que el dispositivo cliente solicite el manifiesto al servidor poco después de que se haya actualizado el manifiesto.
La sugerencia de actualización de manifiesto indica al dispositivo cliente cuándo puede esperar que se produzca una actualización del manifiesto. El dispositivo cliente usa esta sugerencia para programar el momento de solicitar un archivo de manifiesto actualizado. Al operar de esta manera, es menos probable que el dispositivo cliente solicite un archivo de manifiesto antes de tiempo; tales solicitudes prematuras son una sobrecarga de señalización innecesaria. Además, el dispositivo cliente descargará consecuentemente un archivo de manifiesto actualizado inmediatamente después de que se ponga a disposición, lo que permitirá un mejor almacenamiento en memoria intermedia y una reproducción más fluida del contenido en vivo recibido a través del servicio de transmisión.
Para la notificación de actualización futura, un transcodificador de origen que actúa como entrada al segmentador (y, por lo tanto, proporciona la fuente en tiempo real de los segmentos de medios) envía una notificación avanzada de cuándo insertará un punto límite en la transmisión multimedia (que es utilizado por el segmentador para dividir la transmisión en archivos de segmento). Por lo general, existe un retardo significativo en una operación de transcodificación, por lo que es posible proporcionar una notificación varios segundos antes del momento en que el segmentador se habría dado cuenta. Luego, el segmentador inserta una entrada de notificación de actualización futura en el manifiesto, que indica la hora de reloj a la que se puede esperar la próxima actualización. Esto permite que un dispositivo cliente obtenga la actualización de una manera más precisa y oportuna, evitando la posibilidad de sondear en relación con un manifiesto justo antes de que éste se actualice (y, en consecuencia, tener que esperar al siguiente intervalo de sondeo antes de tener conocimiento de la actualización).
La Figura 3 muestra cómo se genera un archivo de sugerencia de manifiesto dentro de un sistema que genera transmisiones ABR. Aquí, el servidor 300 de origen comprende un codificador ABR 310 en vivo, un empaquetador ABR 320, un almacenamiento 330 en red y un servidor HTTP 340. Cabe señalar que, en la práctica, estas partes integrantes pueden estar repartidas entre cualquier número de máquinas físicas e incluso ubicaciones geográficas.
El codificador ABR 310 en vivo comprende un generador 312 de sugerencias de actualización de manifiesto. El empaquetador ABR 320 comprende un generador 324 de manifiestos y un controlador 326 de actualizaciones de manifiesto. El controlador 326 de actualizaciones de manifiesto genera y gestiona los archivos de manifiesto para la transmisión ABR. El controlador 326 de actualizaciones de manifiesto recibe señales del generador 312 de sugerencias de actualización de manifiesto y envía un archivo 388 de sugerencia de actualización de manifiesto al componente 330 de almacenamiento.
En funcionamiento, el codificador ABR 310 en vivo recibe una transmisión 380 de vídeo en vivo. El codificador ABR 310 en vivo codifica simultáneamente la transmisión de vídeo con una pluralidad de tasas de bits diferentes. El codificador ABR 310 en vivo da salida a una pluralidad de transmisiones codificadas 282 de vídeo, cada una codificada con una tasa de bits diferente. Dentro del codificador ABR 310 en vivo, el generador 312 de sugerencias de actualización de manifiesto genera una sugerencia 381 que se basa en el siguiente tamaño de segmento o un punto de empalme de inserción de anuncios en la transmisión entrante.
Las transmisiones codificadas 282 de vídeo se reciben en el empaquetador ABR 220. El empaquetador ABR 220 divide cada transmisión 282 de vídeo en fragmentos y los empaqueta para generar segmentos ABR 284 adecuados para que los descargue un cliente ABR en un dispositivo cliente 150. El empaquetador ABR 220 además comprende un generador 224 de manifiestos que genera el o los archivos 286 de manifiesto que describen los segmentos 284.
El empaquetador ABR 320 también recibe la sugerencia 381. El controlador 326 de actualizaciones de manifiesto presente dentro del empaquetador ABR 320 se suscribe al generador 312 de sugerencias de actualización de manifiesto y recibe un mensaje 381 tan pronto como el codificador ABR 310 en vivo determina el tamaño del siguiente segmento. Debido al almacenamiento en memoria intermedia dentro del codificador ABR 310 en vivo, el codificador ABR 310 en vivo tiene conocimiento del tamaño del segmento antes de que se genere el segmento. Este conocimiento se transmite del codificador ABR 310 en vivo al empaquetador ABR 320 en forma de una sugerencia o mensaje 381. El controlador 326 de actualizaciones de manifiesto presente dentro del empaquetador ABR 320 actualiza el siguiente momento de actualización de manifiesto en el Archivo de Sugerencia de Actualización de Manifiesto Siguiente 389.
Los archivos 386 de manifiesto, los segmentos 384 y el Archivo de Sugerencia de Actualización de Manifiesto Siguiente 389 se almacenan en un componente 330 de almacenamiento, que puede ser un almacenamiento en red o una red de distribución de contenido (CDN). Finalmente, un servidor HTTP 340 permite que el servidor 300 se comunique con al menos un dispositivo cliente 350. Cuando el dispositivo cliente 350 solicita un manifiesto actualizado, al mismo tiempo solicitará el Archivo de Sugerencia de Actualización de Manifiesto Siguiente 389 para determinar cuándo enviar su siguiente solicitud para el manifiesto posterior.
Se proporciona además un dispositivo cliente preparado para recibir una transmisión con tasa de bits adaptativa en vivo, estando el dispositivo cliente preparado además para: solicitar un archivo de manifiesto; y solicitar una sugerencia de actualización de manifiesto. El dispositivo cliente está preparado además para recibir una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
La sugerencia de actualización de manifiesto se puede incluir en un manifiesto. Un archivo de manifiesto puede incluir una indicación de cuándo estará disponible otro archivo de manifiesto futuro. En tal situación, el dispositivo cliente está preparado para recibir una transmisión con tasa de bits adaptativa en vivo y para solicitar un archivo de manifiesto. El dispositivo cliente está además preparado para leer una sugerencia de actualización de manifiesto del archivo de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y el dispositivo cliente está preparado para solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
La sugerencia de actualización de manifiesto indica al dispositivo cliente cuándo puede esperar que se produzca una actualización del manifiesto. El dispositivo cliente usa esta sugerencia para programar el momento de solicitar un archivo de manifiesto actualizado. Al operar de esta manera, es menos probable que el dispositivo cliente solicite un archivo de manifiesto antes de tiempo; tales solicitudes son una sobrecarga de señalización innecesaria. Además, el dispositivo cliente descargará consecuentemente un archivo de manifiesto actualizado inmediatamente después de que se ponga a disposición, lo que permitirá un mejor almacenamiento en memoria intermedia y una reproducción más fluida del contenido en vivo recibido a través del servicio de transmisión.
El momento indicado por la sugerencia de actualización de manifiesto puede ser un intervalo de tiempo o un momento específico mencionado en la sugerencia de actualización de manifiesto, más un retardo. El retardo puede ser seleccionado por el dispositivo cliente.
Puede haber un retardo sistemático entre la creación del nuevo manifiesto por parte del servidor desde el cual el dispositivo cliente recibe la transmisión con tasa de bits adaptativa en vivo y su disponibilidad para su descarga por parte del dispositivo cliente. Tal retardo sistemático puede surgir debido a que aparezca un segmento más corto en la transmisión. Puede producirse un punto de empalme en la transmisión de contenido en un punto que requiera un segmento más corto de lo habitual. Por ejemplo: considérese un codificador configurado para generar segmentos de 10 segundos; se recibe un aviso de punto de empalme que da como resultado que el codificador genere un segmento más corto, tal como 4 segundos. El cliente ha estado sondeando a intervalos de 10 segundos en el momento adecuado. El segmento más corto significa que ahora el sondeo tiene un desplazamiento tanto de la generación del segmento como de cuándo se crea el manifiesto actualizado.
La sugerencia de actualización de manifiesto descrita en la presente memoria permite al cliente mantenerse sincronizado con el segmentador incluso cuando cambian las longitudes de los segmentos.
Un punto de empalme puede indicarse mediante un mensaje SCTE 35. ANSI/SCTE 352013 es un estándar conjunto de ANSI/Society of Cable and Telecommunications Engineers que describe la inserción en línea de tonos de señal en flujos de transporte mpeg. Se utiliza en la radiodifusión para insertar un anuncio local o un segmento de noticias en una transmisión de radiodifusión nacional.
La figura 4 ilustra un método en un dispositivo cliente preparado para recibir una transmisión con tasa de bits adaptativa en vivo, comprendiendo el método: solicitar 420 un archivo de manifiesto; y solicitar una sugerencia 430 de actualización de manifiesto. El método comprende además recibir 440 una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y solicitar 470 un archivo de manifiesto actualizado en un momento indicado (450, 460) por la sugerencia de actualización de manifiesto.
La Figura 4 también muestra el inicio 410 por parte del dispositivo cliente de la transmisión ABR en vivo. Además, la Figura 4 ofrece un ejemplo de cómo se solicita 470 el archivo de manifiesto actualizado en el momento indicado en el archivo de sugerencia de actualización de manifiesto. Aquí, el dispositivo cliente espera 450 hasta que se determina 460 que la hora indicada en un reloj interno es la misma que la hora indicada en el archivo de sugerencia de actualización de manifiesto. Luego, el dispositivo cliente solicita 470 el manifiesto actualizado.
La sugerencia de actualización de manifiesto indica al dispositivo cliente cuándo puede esperar que se produzca una actualización del manifiesto. El dispositivo cliente usa esta sugerencia para programar el momento de solicitar un archivo de manifiesto actualizado. Al operar de esta manera, es menos probable que el dispositivo cliente solicite un archivo de manifiesto antes de tiempo; tales solicitudes son una sobrecarga de señalización innecesaria. Además, el dispositivo cliente descargará consecuentemente un archivo de manifiesto actualizado inmediatamente después de que se ponga a disposición, lo que permitirá un mejor almacenamiento en memoria intermedia y una reproducción más fluida del contenido en vivo recibido a través del servicio de transmisión.
La sugerencia de actualización de manifiesto puede incluirse en un archivo de manifiesto y, por lo tanto, el dispositivo cliente la puede recuperar cuando recupera un archivo de manifiesto, sin la necesidad de una solicitud por separado.
El momento indicado por la sugerencia de actualización de manifiesto puede ser un intervalo de tiempo o un momento específico mencionado en la sugerencia de actualización de manifiesto, más un retardo. El método puede comprender además seleccionar el retardo.
Puede haber un retardo sistemático entre la creación del nuevo manifiesto por parte del servidor desde el cual el dispositivo cliente recibe la transmisión con tasa de bits adaptativa en vivo y su disponibilidad para su descarga por parte del dispositivo cliente.
Se proporciona un servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo, estando el servidor preparado para: recibir una trasmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrarlos a al menos un dispositivo cliente; y calcular el tamaño de un segmento que se esté generando antes de que se complete el segmento. El servidor está además preparado para crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño calculado del siguiente segmento; y enviar el archivo de sugerencia de actualización de manifiesto en respuesta a una solicitud del mismo procedente de un dispositivo cliente.
Un servidor que codifica contenido en vivo para suministrarlo mediante transmisión con tasa de bits adaptativa determinará el tamaño de un segmento al principio de la codificación de tal segmento. La longitud del segmento determina cuándo estará listo para ser descargado por un dispositivo cliente y, en consecuencia, cuándo se actualizará el archivo de manifiesto para que refleje que el segmento está listo para su descarga. En consecuencia, el servidor puede generar un archivo de sugerencia de actualización de manifiesto antes de que el nuevo archivo de manifiesto esté disponible, proporcionando el archivo de sugerencia de actualización de manifiesto una indicación útil a los dispositivos cliente de cuándo se actualizará el archivo de manifiesto.
El servidor puede estar preparado para: recibir una solicitud de un archivo de manifiesto desde el dispositivo cliente; y enviar el archivo de manifiesto actual al dispositivo cliente.
Posteriormente a la distribución del archivo de sugerencia de actualización de manifiesto, el servidor recibirá una solicitud para el archivo de manifiesto actualizado, pudiendo esa solicitud ser programada por el dispositivo cliente para que llegue al servidor en un momento poco posterior a que el archivo de manifiesto se haya actualizado, determinándose ese momento a partir de la indicación dada en el archivo de sugerencia de actualización de manifiesto. En respuesta a tal solicitud, el servidor envía el archivo de manifiesto actualmente disponible al dispositivo cliente.
La Figura 5 ilustra un método para hacer funcionar un servidor, estando el servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo, comprendiendo el método: recibir 510 una transmisión de vídeo y generar 520 segmentos con tasa de bits adaptativa para suministrarlos a al menos un dispositivo cliente; y calcular 530 el tamaño de un segmento que se esté generando antes de que se complete el segmento. El método comprende además: crear 540 un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño calculado del siguiente segmento; y enviar 550 el archivo de sugerencia de actualización de manifiesto en respuesta a una solicitud del mismo procedente de un dispositivo cliente.
Un servidor que codifica contenido en vivo para suministrarlo mediante transmisión con tasa de bits adaptativa determinará el tamaño de un segmento al principio de la codificación de tal segmento. La longitud del segmento determina cuándo estará listo para ser descargado por un dispositivo cliente y, en consecuencia, cuándo se actualizará el archivo de manifiesto para que refleje que el segmento está listo para su descarga. En consecuencia, el servidor puede generar un archivo de sugerencia de actualización de manifiesto antes de que el nuevo archivo de manifiesto esté disponible, proporcionando el archivo de sugerencia de actualización de manifiesto una indicación útil a los dispositivos cliente de cuándo se actualizará el archivo de manifiesto.
El método puede comprender además: recibir una solicitud de un archivo de manifiesto desde el dispositivo cliente; y enviar el archivo de manifiesto actual al dispositivo cliente.
Posteriormente a la distribución del archivo de sugerencia de actualización de manifiesto, el servidor recibirá una solicitud para el archivo de manifiesto actualizado, pudiendo esa solicitud ser programada por el dispositivo cliente para que llegue al servidor en un momento poco posterior a que el archivo de manifiesto se haya actualizado, determinándose ese momento a partir de la indicación dada en el archivo de sugerencia de actualización de manifiesto. En respuesta a tal solicitud, el servidor envía el archivo de manifiesto actualmente disponible al dispositivo cliente.
Se proporciona un codificador preparado para: recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrarlos a al menos un cliente; y dar salida al tamaño de un segmento que se esté generando una vez que esté determinado y antes de que se complete el segmento.
Un servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo puede comprender un codificador y un empaquetador. El codificador está preparado para codificar la transmisión de contenido entrante. Debido al almacenamiento en memoria intermedia dentro del codificador, el codificador tiene conocimiento del tamaño del segmento antes de que se haya generado el segmento. Por lo tanto, el codificador puede emitir una notificación de cuán grande será el siguiente segmento antes de que se genere ese segmento. Esa indicación se utiliza para generar un archivo de sugerencia de actualización de manifiesto para indicar a los dispositivos cliente cuándo se actualizará el archivo de manifiesto.
Se proporciona un método para hacer funcionar un codificador, comprendiendo el método: recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrarlos a al menos un cliente; y dar salida al tamaño de un segmento que se esté generando una vez que esté determinado y antes de que se complete el segmento.
La Figura 6 ilustra el funcionamiento de un codificador ABR como se describe en la presente memoria. El codificador ABR codifica 610 vídeo. El codificador determina 620 si ha recibido un mensaje SCTE 35. Si el codificador no ha recibido un mensaje SCTE 35, envía un mensaje de actualización del mensaje de actualización de manifiesto siguiente. Si el codificador ha recibido un mensaje SCTE 35, entonces el codificador ABR calcula 640 el tamaño del siguiente segmento, en segundos, y envía 650 un mensaje de actualización del mensaje de actualización de manifiesto siguiente.
Se proporciona un empaquetador preparado para: recibir segmentos con tasa de bits adaptativa desde un codificador de tasa de bits adaptativa y empaquetarlos para suministrarlos; recibir una indicación del tamaño del siguiente segmento desde el codificador de tasa de bits adaptativa; y crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño del siguiente segmento.
Un servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo puede comprender un codificador y un empaquetador. El empaquetador es responsable de crear segmentos descargables a partir de la salida del codificador y de actualizar el archivo de manifiesto que enumera los segmentos disponibles. El empaquetador actualizará el momento de actualización de manifiesto siguiente en el Archivo de Sugerencia de Actualización de Manifiesto Siguiente en respuesta a la indicación del tamaño del siguiente segmento, recibiéndose esa indicación del codificador. El empaquetador puede ser un empaquetador de tasa de bits adaptativa. El empaquetador recibe el tamaño del siguiente segmento antes de ese siguiente segmento.
Se proporciona además un método para hacer funcionar un empaquetador, comprendiendo el método: recibir segmentos con tasa de bits adaptativa desde un codificador de tasa de bits adaptativa y empaquetarlos para suministrarlos; recibir una indicación del tamaño del siguiente segmento desde el codificador de tasa de bits adaptativa; y crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño del siguiente segmento. El empaquetador recibe el tamaño del siguiente segmento antes de ese siguiente segmento.
La Figura 7 ilustra el funcionamiento de un empaquetador ABR presentado en la presente memoria. El empaquetador ABR se suscribe 710 a los mensajes de sugerencia emitidos por el codificador ABR. Cuando el empaquetador ABR recibe 720 un mensaje de actualización del codificador ABR, el empaquetador escribe 730 un nuevo archivo de sugerencia de actualización de manifiesto siguiente.
La Figura 8 ilustra un aparato para recibir una transmisión con tasa de bits adaptativa en vivo. El aparato comprende un procesador 820 y una memoria 825, conteniendo dicha memoria instrucciones ejecutables por dicho procesador, por lo que dicho aparato está operativo para recibir un manifiesto de segmentos de los que está compuesta la transmisión con tasa de bits adaptativa en vivo. El aparato también está operativo para solicitar un archivo de manifiesto; y solicitar una sugerencia de actualización de manifiesto. El aparato está además operativo para recibir una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
El aparato de la Figura 8 comprende además una salida 830 para enviar contenido a un usuario. La salida 830 puede comprender, por ejemplo, una pantalla, un altavoz, una toma de auriculares o un puerto HDMI. El aparato comprende además un transmisor 840 para enviar información a una red, y un receptor 850 para recibir información de una red. El transmisor 840 y el receptor 850 pueden utilizar protocolos de comunicación alámbrica o inalámbrica.
La Figura 9 ilustra un aparato para suministrar una transmisión con tasa de bits adaptativa en vivo. El aparato comprende un procesador 920 y una memoria 925, conteniendo dicha memoria instrucciones ejecutables por dicho procesador 920, por lo que dicho aparato está operativo para: recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrarlos a al menos un dispositivo cliente; y calcular el tamaño de un segmento que se esté generando antes de que se complete el segmento. El aparato está además operativo para crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño del siguiente segmento; y enviar el archivo de sugerencia de actualización de manifiesto en respuesta a una solicitud del mismo procedente de un dispositivo cliente.
El aparato de la Figura 9 comprende además un transmisor 940 para enviar información a una red, y un receptor 950 para recibir información de una red. El transmisor 940 y el receptor 950 pueden utilizar protocolos de comunicación alámbrica o inalámbrica.
Se proporciona además un aparato para recibir una transmisión con tasa de bits adaptativa en vivo que comprende un procesador y una memoria, conteniendo dicha memoria instrucciones ejecutables por dicho procesador, por lo que dicho aparato comprende: un módulo para solicitar un archivo de manifiesto; y un módulo para solicitar una sugerencia de actualización de manifiesto. El aparato comprende además un módulo para recibir una sugerencia de actualización de manifiesto, incluyendo la sugerencia de actualización de manifiesto una indicación de cuándo se actualizará el manifiesto; y un módulo para solicitar un archivo de manifiesto actualizado en un momento indicado por la sugerencia de actualización de manifiesto.
El momento indicado por la sugerencia de actualización de manifiesto puede ser un intervalo de tiempo o un momento específico mencionado en la sugerencia de actualización de manifiesto, más un retardo. El retardo puede ser seleccionado por el dispositivo cliente. La transmisión con tasa de bits adaptativa en vivo contiene contenido en vivo.
Se proporciona además un aparato para suministrar una transmisión con tasa de bits adaptativa en vivo que comprende un procesador y una memoria, conteniendo dicha memoria instrucciones ejecutables por dicho procesador, por lo que dicho aparato comprende: un módulo para recibir una transmisión de vídeo y generar segmentos con tasa de bits adaptativa para suministrarlos a al menos un dispositivo cliente; y un módulo para calcular el tamaño de un segmento que se esté generando antes de que se complete el segmento. El aparato comprende además un módulo para crear un archivo de sugerencia de actualización de manifiesto sobre la base del tamaño del siguiente segmento; y un módulo para enviar el archivo de sugerencia de actualización de manifiesto en respuesta a una solicitud del mismo procedente de un dispositivo cliente.
Se proporciona además un medio legible por ordenador, que lleva instrucciones que, cuando se ejecutan mediante lógica informática, hacen que dicha lógica informática lleve a cabo cualquiera de los métodos definidos en la presente memoria.
La transmisión con tasa de bits adaptativa en vivo contiene contenido en vivo. El contenido en vivo es el contenido que se recibe en el sistema de transmisión poco antes de enviarse a los clientes, resultando cualquier retardo del tiempo necesario para procesar los datos entrantes a un formato listo para la transmisión con tasa de bits adaptativa en vivo. La transmisión con tasa de bits adaptativa en vivo puede comprender contenido de vídeo.
Resultará evidente para el experto en la técnica que el orden y el contenido exactos de las acciones llevadas a cabo en el método descrito en la presente memoria pueden alterarse de acuerdo con los requisitos de un conjunto concreto de parámetros de ejecución. Por consiguiente, el orden en el que se describen y/o reivindican las acciones no debe interpretarse como una limitación estricta del orden en el que se han de realizar las acciones.
Cabe señalar que las realizaciones mencionadas anteriormente ilustran más que limitan la invención, y que los expertos en la técnica podrán diseñar muchas realizaciones alternativas sin apartarse del alcance de las reivindicaciones adjuntas. La expresión "que comprende" no excluye la presencia de elementos o etapas distintos a los enumerados en una reivindicación, "un" o "una" no excluyen una pluralidad, y un solo procesador u otra unidad puede cumplir las funciones de varias unidades enumeradas en las reivindicaciones. Ningún signo de referencia en las reivindicaciones se interpretará en el sentido de que limita su alcance.
El dispositivo cliente puede ser un aparato de usuario. El dispositivo cliente puede ser cualquier tipo de ordenador personal, tal como una televisión, una televisión inteligente, un módulo de conexión, una consola de juegos, un ordenador personal de cine en casa, una tableta, un teléfono inteligente, un ordenador portátil o incluso un ordenador de sobremesa.
Aunque se han dado ejemplos en el contexto de Transmisión Adaptativa a través de HTTP, estos ejemplos no pretenden ser el límite del sistema de transmisión al que se pueden aplicar el método y el aparato divulgados. Los principios divulgados en la presente memoria se pueden aplicar a cualquier sistema de transmisión que utilice un archivo de descripción. Por ejemplo, este método y este aparato se pueden aplicar a Apple™ HTTP Live Streaming y Microsoft™ Smooth Streaming.

Claims (16)

REIVINDICACIONES
1. Un dispositivo cliente (150) preparado para recibir una transmisión con tasa de bits adaptativa en vivo de una transmisión de vídeo, teniendo el dispositivo cliente (150) medios configurados:
para recibir un archivo de manifiesto, identificando el archivo de manifiesto uno o más segmentos de la transmisión con tasa de bits adaptativa en vivo codificados con una o más tasas de bits;
para solicitar y recibir un segmento identificado en el archivo de manifiesto recibido;
para recibir una sugerencia (389) de actualización de manifiesto, incluyendo la sugerencia (389) de actualización de manifiesto una indicación de un momento en el que se actualizará el archivo de manifiesto; y
para solicitar un archivo (386) de manifiesto actualizado en un momento indicado por la sugerencia (389) de actualización de manifiesto.
2. El dispositivo cliente (150) de la reivindicación 1, en donde la sugerencia (389) de actualización de manifiesto recibida está contenida en el archivo de manifiesto recibido.
3. El dispositivo cliente (150) de la reivindicación 1, estando configurado el dispositivo cliente (150) para solicitar la sugerencia (389) de actualización de manifiesto.
4. El dispositivo cliente (150) de una cualquiera de las reivindicaciones 1 a 3, en donde el momento indicado por la sugerencia (389) de actualización de manifiesto recibida es un intervalo de tiempo o un momento específico indicado en la sugerencia (389) de actualización de manifiesto, más un retardo.
5. El dispositivo cliente (150) de la reivindicación 4, que está configurado para seleccionar el retardo.
6. Un método para un dispositivo cliente (150), comprendiendo el método:
recibir un archivo de manifiesto, identificando el archivo de manifiesto uno o más segmentos de una transmisión con tasa de bits adaptativa en vivo de una transmisión de vídeo codificados con una o más tasas de bits;
solicitar y recibir un segmento identificado en el archivo de manifiesto recibido;
recibir una sugerencia (389) de actualización de manifiesto, incluyendo la sugerencia (389) de actualización de manifiesto una indicación de cuándo se actualizará el archivo de manifiesto; y
solicitar un archivo (386) de manifiesto actualizado en un momento indicado por la sugerencia (389) de actualización de manifiesto.
7. El método de la reivindicación 6, en donde la sugerencia (389) de actualización de manifiesto recibida está contenida en el archivo de manifiesto recibido.
8. El método de la reivindicación 6, que comprende solicitar la sugerencia (389) de actualización de manifiesto.
9. El método de una cualquiera de las reivindicaciones 6 a 8, en donde el momento indicado por la sugerencia (389) de actualización de manifiesto recibida es un intervalo de tiempo o un momento específico identificado en la sugerencia (389) de actualización de manifiesto, más un retardo.
10. El método de la reivindicación 9, que comprende seleccionar el retardo.
11. Un servidor, preparado para suministrar una transmisión con tasa de bits adaptativa en vivo, teniendo el servidor medios configurados:
para recibir una transmisión (380) de vídeo;
para determinar el tamaño de un siguiente segmento de la transmisión de vídeo recibida que se ha de generar; para generar una sugerencia (389) de actualización de manifiesto, de acuerdo con el tamaño determinado del siguiente segmento, que incluya una indicación de un momento en el que se actualizará un archivo de manifiesto;
para enviar la sugerencia (389) de actualización de manifiesto a un dispositivo cliente;
para generar segmentos (384) con tasa de bits adaptativa del tamaño determinado; y
para crear un archivo (386) de manifiesto actualizado correspondiente para suministrárselo, a petición, al dispositivo cliente.
12. El servidor de la reivindicación 11, que está configurado:
para insertar la sugerencia de actualización de manifiesto en un archivo de manifiesto actual.
13. El servidor de la reivindicación 11, que está configurado:
para recibir una solicitud de una sugerencia de actualización de manifiesto desde el dispositivo cliente; y para enviar la sugerencia de actualización de manifiesto al dispositivo cliente.
14. Un método para hacer funcionar un servidor, estando el servidor preparado para suministrar una transmisión con tasa de bits adaptativa en vivo, comprendiendo el método:
recibir una transmisión (380) de vídeo;
calcular el tamaño de un siguiente segmento de la transmisión de vídeo recibida que se ha de generar antes de que se complete el siguiente segmento;
crear una sugerencia (389) de actualización de manifiesto sobre la base del tamaño calculado del siguiente segmento;
enviar la sugerencia (389) de actualización de manifiesto a un dispositivo cliente;
generar segmentos (384) con tasa de bits adaptativa del tamaño calculado para suministrárselos a un dispositivo cliente; y
generar un archivo (386) de manifiesto actualizado correspondiente para suministrárselo, a petición, al dispositivo cliente.
15. El método de la reivindicación 14, que comprende:
insertar la sugerencia de actualización de manifiesto en un archivo de manifiesto actual.
16. Un medio legible por ordenador, que lleva instrucciones que, cuando se ejecutan mediante lógica informática, hacen que dicha lógica informática lleve a cabo cualquiera de los métodos definidos por las reivindicaciones 6 a 10, 14 y 15.
ES17745318T 2016-08-11 2017-07-26 Transmisión con tasa de bits adaptativa mejorada de contenido en vivo Active ES2896803T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662373576P 2016-08-11 2016-08-11
PCT/EP2017/068868 WO2018028986A1 (en) 2016-08-11 2017-07-26 Improved adaptive bit rate streaming of live content

Publications (1)

Publication Number Publication Date
ES2896803T3 true ES2896803T3 (es) 2022-02-25

Family

ID=59416690

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17745318T Active ES2896803T3 (es) 2016-08-11 2017-07-26 Transmisión con tasa de bits adaptativa mejorada de contenido en vivo

Country Status (5)

Country Link
US (3) US10911508B2 (es)
EP (2) EP3930234B1 (es)
DK (1) DK3497831T3 (es)
ES (1) ES2896803T3 (es)
WO (1) WO2018028986A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3930234B1 (en) 2016-08-11 2023-09-06 Telefonaktiebolaget LM Ericsson (publ) Improved adaptive bit rate streaming of live content
EP3497909B1 (en) * 2016-08-11 2022-06-01 Telefonaktiebolaget LM Ericsson (publ) Improved adaptive bit rate streaming of live content with manifest update push notification or long poll
US10397286B2 (en) * 2017-05-05 2019-08-27 At&T Intellectual Property I, L.P. Estimating network data streaming rate
US11259098B2 (en) 2019-08-15 2022-02-22 AMC Network Entertainment LLC Monitoring segmentation messages of video streams
US11930254B2 (en) * 2020-04-07 2024-03-12 Tencent America LLC Patchable remote element for data manipulation
US11202122B1 (en) * 2020-11-17 2021-12-14 Sling Media Pvt. Ltd. Stale variant handling for adaptive media player

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015816A1 (en) * 2002-10-29 2005-01-20 Actv, Inc System and method of providing triggered event commands via digital program insertion splicing
US8312079B2 (en) 2009-09-22 2012-11-13 Thwapr, Inc. Adaptive rendering for mobile media sharing
US9497290B2 (en) 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
US9456015B2 (en) * 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
EP2636201B1 (en) 2010-11-02 2019-02-27 Telefonaktiebolaget LM Ericsson (publ) Methods and devices for media description delivery
US20120207088A1 (en) * 2011-02-11 2012-08-16 Interdigital Patent Holdings, Inc. Method and apparatus for updating metadata
US8489760B2 (en) * 2011-03-31 2013-07-16 Juniper Networks, Inc. Media file storage format and adaptive delivery system
WO2013022309A1 (ko) 2011-08-10 2013-02-14 엘지전자 주식회사 방송 서비스 전송 방법, 그 수신 방법 및 방송 서비스 수신 장치
US8751679B2 (en) * 2011-10-07 2014-06-10 Ericsson Television Inc. HTTP adaptive streaming server with automatic rate shaping
US8949307B2 (en) 2011-11-15 2015-02-03 Google Inc. Cloud-to-device messaging for application activation and reporting
US8234350B1 (en) * 2011-12-19 2012-07-31 Seachange International, Inc. Systems and methods for generating targeted manifest files
HUE036024T2 (hu) * 2011-12-29 2018-06-28 Koninklijke Kpn Nv Hálózat által kezdeményezett tartalomtovábbítás vezérlése
US20130312046A1 (en) * 2012-05-15 2013-11-21 Mark Robertson Smart stream delivery server, system and methods for assembling a mix of services to be delivered to a subscriber's premises
US9537920B2 (en) * 2012-05-18 2017-01-03 Google Technology Holdings LLC Enforcement of trick-play disablement in adaptive bit rate video content delivery
US9128892B2 (en) 2012-12-10 2015-09-08 Netflix, Inc. Managing content on an ISP cache
KR101803621B1 (ko) * 2012-12-21 2017-12-28 코닌클리즈케 케이피엔 엔.브이. 저 지연 스트리밍
WO2014121857A1 (en) * 2013-02-06 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Technique for detecting an encoder functionality issue
US9654528B1 (en) * 2013-03-11 2017-05-16 Google Inc. Dynamic bitrate selection for streaming media
US8949912B2 (en) 2013-03-12 2015-02-03 Centurylink Intellectual Property Llc ABR live to VOD system and method
WO2014152047A2 (en) 2013-03-15 2014-09-25 General Instrument Corporation Enhanced playlist definition and delivery for fast channel change with http adaptive streaming
US9674251B2 (en) 2013-06-17 2017-06-06 Qualcomm Incorporated Mediating content delivery via one or more services
US9124947B2 (en) * 2013-09-04 2015-09-01 Arris Enterprises, Inc. Averting ad skipping in adaptive bit rate systems
US10015222B2 (en) * 2013-09-26 2018-07-03 Arris Canada, Inc. Systems and methods for selective retrieval of adaptive bitrate streaming media
US9253231B2 (en) * 2013-12-19 2016-02-02 Verizon Patent And Licensing Inc. Retrieving and caching adaptive bitrate stream segments based on network congestion
US10123087B1 (en) * 2014-03-12 2018-11-06 Cox Communications, Inc. Channel block switching
US9888047B2 (en) * 2014-04-03 2018-02-06 Cisco Technology, Inc. Efficient on-demand generation of ABR manifests
US10148713B2 (en) * 2014-10-21 2018-12-04 Adobe Systems Incorporated Live manifest update
US9509742B2 (en) * 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10142386B2 (en) * 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US10084838B2 (en) * 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US9674564B2 (en) 2014-12-15 2017-06-06 Arris Enterprises, Inc. System and methods for multicast delivery of internet protocol video content
KR101827277B1 (ko) 2015-03-01 2018-02-08 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10432688B2 (en) * 2015-03-13 2019-10-01 Telefonaktiebolaget Lm Ericsson (Publ) System and method for optimized delivery of live ABR media
WO2016153326A1 (ko) 2015-03-26 2016-09-29 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US9641578B2 (en) * 2015-04-02 2017-05-02 Arris Enterprises, Inc. Minimizing unicast bandwidth in an adaptive bit rate system
US9276983B2 (en) * 2015-05-01 2016-03-01 Amazon Technologies, Inc. Content delivery network video content invalidation through adaptive bitrate manifest manipulation
US10070174B2 (en) * 2015-06-05 2018-09-04 Apple Inc. Movie package file format to persist HLS onto disk
MX2017015855A (es) * 2015-06-09 2018-06-06 Arris Entpr Llc Sincronizacion de cliente de video de transmision por secuencias en vivo http (hls).
US10476926B2 (en) * 2015-06-12 2019-11-12 Telefonaktiebolaget Lm Ericsson (Publ) System and method for managing ABR bitrate delivery responsive to video buffer characteristics of a client
US10277928B1 (en) * 2015-10-06 2019-04-30 Amazon Technologies, Inc. Dynamic manifests for media content playback
US20170123713A1 (en) * 2015-10-30 2017-05-04 Imagine Communications Corp. Device and process for data storage and read/write efficiency
EP3179688A1 (en) 2015-12-11 2017-06-14 Koninklijke KPN N.V. Updating part of a manifest file on the basis of patches
US10009659B2 (en) * 2016-03-31 2018-06-26 Disney Enterprises, Inc. System and method for hybrid push-based streaming
US10178171B2 (en) 2016-04-21 2019-01-08 Samsung Electronics Company, Ltd. Content management system for distribution of content
US20170310752A1 (en) 2016-04-21 2017-10-26 Samsung Electronics Company, Ltd. Utilizing a Content Delivery Network as a Notification System
US10820063B2 (en) * 2016-06-10 2020-10-27 Arris Enterprises Llc Manifest customization in adaptive bitrate streaming
US10313408B2 (en) 2016-06-22 2019-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Client-assisted time-shift live media and advertisement content play for learned ABR video white spot coverage in a streaming network
US10313721B1 (en) * 2016-06-22 2019-06-04 Amazon Technologies, Inc. Live streaming media content using on-demand manifests
US10516715B2 (en) 2016-06-22 2019-12-24 Telefonaktiebolaget Lm Ericsson (Publ) Network-controlled time-shift live media and advertisement content play for learned ABR video white spot coverage in a streaming network
US10277929B1 (en) * 2016-06-22 2019-04-30 Amazon Technologies, Inc. Live streaming media content using on-demand manifests
GB2552220B (en) * 2016-07-15 2018-09-05 Openwave Mobility Inc A method for detecting a live adaptive BIT rate stream
EP3930234B1 (en) 2016-08-11 2023-09-06 Telefonaktiebolaget LM Ericsson (publ) Improved adaptive bit rate streaming of live content
EP3497909B1 (en) * 2016-08-11 2022-06-01 Telefonaktiebolaget LM Ericsson (publ) Improved adaptive bit rate streaming of live content with manifest update push notification or long poll
US11297357B2 (en) 2016-12-30 2022-04-05 Google Llc Systems and methods for interrupting streaming content provided via an inviolate manifest protocol
US20190342356A1 (en) 2017-01-02 2019-11-07 Koninklijke Kpn N.V. Selectively updating a dynamic manifest file
US10972515B2 (en) 2017-07-31 2021-04-06 Verizon Digital Media Services Inc. Server assisted live stream failover
US10820066B2 (en) 2018-06-20 2020-10-27 Cisco Technology, Inc. Reconciling ABR segments across redundant sites
US11277665B2 (en) * 2018-08-13 2022-03-15 Comcast Cable Communications, Llc Using manifest files to determine events in content items

Also Published As

Publication number Publication date
EP3930234C0 (en) 2023-09-06
EP3497831B1 (en) 2021-09-01
US20210211480A1 (en) 2021-07-08
DK3497831T3 (da) 2021-10-04
EP3497831A1 (en) 2019-06-19
EP3930234A1 (en) 2021-12-29
US10911508B2 (en) 2021-02-02
US20220182433A1 (en) 2022-06-09
WO2018028986A1 (en) 2018-02-15
US20190222622A1 (en) 2019-07-18
US11778012B2 (en) 2023-10-03
US11283849B2 (en) 2022-03-22
EP3930234B1 (en) 2023-09-06

Similar Documents

Publication Publication Date Title
ES2896803T3 (es) Transmisión con tasa de bits adaptativa mejorada de contenido en vivo
ES2842589T3 (es) Transmisión de flujos por multidifusión
ES2734293T3 (es) Transmisión de petición de bloques mejorada mediante partición de bloques o controles de petición para mejorar el manejo del lado del cliente
ES2769539T3 (es) Transmisión de petición de bloques mejorada usando plantillas y reglas de construcción de url
ES2769541T3 (es) Transmisión de solicitud de bloque mejorada usando http cooperativa paralela y corrección de errores hacia adelante
ES2734257T3 (es) Sistema mejorado de transmisión de petición de bloques mediante señalización o creación de bloques
ES2710702T3 (es) Temporización en vivo para la transmisión continua dinámica adaptativa sobre el HTTP (DASH)
ES2665302T3 (es) Métodos y sistemas para transmisión de datos
ES2944705T3 (es) Procedimiento y aparato para transmitir y recibir contenido basado en mecanismo de Streaming adaptativa
ES2788901T3 (es) Procesamiento de contenido multiperiodo continuo
ES2711374T3 (es) Transmisión de petición de bloques mejorada mediante codificación escalable
ES2748209T3 (es) Sistemas, métodos y medios para la entrega de contenido
ES2768979T3 (es) Sistema y método para la duplicación de fotogramas y la ampliación de fotogramas en codificación y envío por flujo continuo de vídeo en directo
CN107852534B (zh) 在广播流和单播流之间转换
US20170041372A1 (en) Content insertion in streaming media content
BR112015032851B1 (pt) Dispositivos e métodos de transmissão e de recepção
JP2009159644A (ja) 計時されるマルチメディアコンテンツの漸進的ダウンローディング
ES2764224T3 (es) Robusto funcionamiento en vivo de DASH
JP6436772B2 (ja) 受信ビットレートの動的適応方法および関連する受信機
ES2894240T3 (es) Método para iniciar una transmisión de un contenido de generación de flujo suministrado a un dispositivo cliente y punto de acceso para implementar este método
Durak et al. Evaluating the performance of Apple’s low-latency HLS
KR20120030969A (ko) Http 스트리밍에서 표현 스위칭시 처리 방법
KR20110139525A (ko) 무선 통신 시스템에서 멀티미디어 컨텐츠의 랜덤 액세스 방법 및 장치
ES2386518T3 (es) Método y aparato para recibir contenidos
ES2791332T3 (es) Sistema, método y dispositivos para transmisión de baja latencia