ES2899920T3 - Preservación de tasa de bits y de segmentación para la presentación de contenido - Google Patents

Preservación de tasa de bits y de segmentación para la presentación de contenido Download PDF

Info

Publication number
ES2899920T3
ES2899920T3 ES18853974T ES18853974T ES2899920T3 ES 2899920 T3 ES2899920 T3 ES 2899920T3 ES 18853974 T ES18853974 T ES 18853974T ES 18853974 T ES18853974 T ES 18853974T ES 2899920 T3 ES2899920 T3 ES 2899920T3
Authority
ES
Spain
Prior art keywords
playback
content
content portion
new
new content
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
ES18853974T
Other languages
English (en)
Inventor
Amarendra N Gogoi
Sanjay Kumar Gupta
Ravikant Swami
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.)
OpenTV Inc
Original Assignee
OpenTV Inc
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 OpenTV Inc filed Critical OpenTV Inc
Application granted granted Critical
Publication of ES2899920T3 publication Critical patent/ES2899920T3/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • 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
    • 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
    • H04L65/764Media network packet handling at 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/80Responding to QoS
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un método realizado mediante un receptor (102) digital, el método que comprende: provocar una reproducción (302) de una primera porción de contenido a una primera tasa de bits; recibir (306) una selección de una nueva porción de contenido para la reproducción durante la reproducción de la primera porción de contenido; en respuesta a la recepción de la selección, hacer una transición a una nueva porción de contenido iniciando la reproducción de la nueva porción de contenido utilizando la primera tasa de bits utilizada para la reproducción de la primera porción de contenido para mantener (308) la primera tasa de bits para la reproducción de la nueva porción de contenido; y si la nueva porción de contenido no puede ser reproducida para mantener la reproducción a una primera tasa de bits, reducir la primera tasa de bits.

Description

DESCRIPCIÓN
Preservación de tasa de bits y de segmentación para la presentación de contenido
Campo
La presente divulgación se refiere en general a máquinas configuradas para el campo técnico de máquinas de propósito especial que optimiza un proceso de cambio de contenido (por ejemplo, un cambio de canal) incluyendo variantes informatizadas de dichas máquinas de propósito especial y mejoras para dichas variantes y a las tecnologías mediante las cuales dichas máquinas de propósito especial llegan a mejorar en comparación con otras máquinas de propósito especial que facilitan la optimización de cambios de contenido. En particular, la presente divulgación aborda sistemas y métodos para preservar una tasa de bits de descarga y una segmentación de reproducción de contenido durante un proceso de cambio de contenido.
El documento WO 2015/044870 divulga un método de gestión de canales adyacentes en un entorno de retransmisión adaptativa en el cual cuando un dispositivo de cliente requiere un contenido de medios asociados con un canal, el dispositivo de cliente reproduce el contenido de medios y cuando el usuario del dispositivo de cliente cambia el canal a un nuevo canal, se reproduce un nuevo contenido de medios asociado con el nuevo canal.
Resumen
La presente invención proporciona un método realizado por un receptor digital y un sistema tal y como se define en las reivindicaciones adjuntas.
Antecedentes
Convencionalmente, durante un cambio de contenido (por ejemplo, provocada por un cambio de canal o una selección de una porción de contenido diferente), sucede un retardo ya que cierta información se obtiene antes de que la nueva porción de contenido (por ejemplo, un programa, una película, un espectáculo) se presente y se muestre. Adicionalmente, para un contenido de retransmisión de tasa de bits adaptativa, el contenido normalmente comienza retransmitiéndose o descargándose a una tasa de bits baja (o la más baja) antes de que aumente lentamente la tasa de bits hasta que se logre una tasa de bits óptima. Esto tiene como resultado que el vídeo o las imágenes iniciales estén granuladas. Además, el retardo puede aumentarse por una necesidad de constituir una segmentación de reproducción de contenido cada vez que sucede un cambio de contenido.
Breve descripción de los dibujos
Varios de los dibujos adjuntos meramente ilustran modos de realización de ejemplo de la presente invención y no se pueden considerar como limitativos de su alcance.
La figura 1 ilustra un entorno de ejemplo para optimizar los cambios de contenido;
La figura 2 es un diagrama de bloques que ilustra un modo de realización de ejemplo de componentes dentro de un receptor digital de acuerdo con un modo de realización de ejemplo.
La figura 3 es un diagrama de flujo de un método para la optimización de un proceso de cambio de contenido de acuerdo con modos de realización de ejemplo.
La figura 4 es un diagrama de flujo de un método para la preservación de una segmentación de entrega de contenido de acuerdo con modos de realización de ejemplo.
La figura 5 es una representación esquemática de una máquina en forma de ejemplo de un sistema informático dentro del cual se pueden ejecutar un conjunto de instrucciones para provocar que la máquina realice cualquiera de la una cualquiera o más metodologías expuestas en el presente documento, de acuerdo con un modo de realización de ejemplo.
Descripción detallada
La descripción siguiente incluye sistemas, métodos, técnicas, secuencias de instrucción y productos de programa de máquina informática que implementan modos de realización ilustrativos de la presente materia inventiva. En la siguiente descripción, con propósitos de explicación, se establecen numerosos detalles específicos para proporcionar una comprensión de diversos modos de realización de la materia inventiva. Será evidente, sin embargo, para los expertos en la técnica, que se pueden llevar a la práctica modos de realización de la materia inventiva sin alguno u otros de estos detalles específicos. En general, instrucciones, ejemplos, protocolos, estructuras y técnicas bien conocidas no se han mostrado en detalle. Los ejemplos meramente tipifican variaciones posibles. A menos que se indique de forma explícita lo contrario, las estructuras (por ejemplo, componentes estructurales tales como módulos) son opcionales y pueden combinarse o subdividirse y las operaciones (por ejemplo, en un procedimiento, algoritmo u otra función) pueden variar en secuencia o pueden combinarse o subdividirse.
Modos de realización de ejemplos descritos en el presente documento proporcionan sistemas y métodos para la optimización de cambio de contenido o variaciones en el contenido que se está viendo, tal como a través de un cambio de canal o selección de una porción de contenido diferente de una lista de observación. En algunos modos de realización, el sistema utiliza un contenido de navegación (por ejemplo, la manera en que el usuario está interactuando con una aplicación) para identificar el contenido de un interés (potencial) para un espectador. El sistema entonces recopila previamente metadatos con el contenido de interés desde un proveedor de contenidos y almacena los metadatos en el caché local. Los metadatos comprenden condiciones previas para presentar y mostrar una porción de contenido que incluye un conjunto mínimo de datos que un sistema puede obtener sin tener que desencriptar el contenido. Los metadatos recopilados previamente se pueden utilizar, en modos de realización de ejemplo, para determinar si se ha de preservar al menos una porción de una segmentación de reproducción de contenido (también referida en el presente documento como una “segmentación de entrega de contenido” o simplemente una “segmentación”).
Convencionalmente, una misma porción de contenido es dividida en segmentos (por ejemplo, segmentos de 10 segundos) y cada segmento está disponible en varias tasas de bits. Una tasa de bits baja puede ser granulada, mientras que una tasa de bits alta normalmente tendrá una calidad de imagen mejor. Normalmente, cuando se inicia la reproducción de una nueva porción de contenido, el sistema no sabe la calidad del ancho de banda de red. Como resultado, para iniciar la reproducción tan rápido como sea posible, los sistemas convencionales se inician con una tasa de bits lo más baja. Por tanto, cada vez que un usuario cambia de un contenido al siguiente contenido, la reproducción comenzará con la tasa de bits más baja y aumentará lentamente o mejorará de acuerdo con la capacidad de la red. Por el contrario, modos de realización de ejemplo, preservan una tasa de bits previa cuando se cambia a una nueva porción de contenido. Es decir, cuando el usuario selecciona una nueva porción de contenido para reproducir (por ejemplo, cambiando de una porción de contenido previa o una nueva porción de contenido), modos de realización de ejemplo mantienen o preservan una tasa de bits (determinada de forma heurística) utilizada para retransmitir o descargar la porción de contenido previa cuando se inicia la reproducción de una nueva porción de contenido. Esto permite comenzar la reproducción tan rápidamente como sea posible mientras que también se proporciona una calidad de imagen mejor desde el inicio.
Además, en sistemas convencionales, un cambio o transición en el contenido normalmente provoca que se deconstruya una segmentación de entrega de contenido previa (por ejemplo, recursos propios adquiridos y liberados). Posteriormente, se crea una nueva segmentación para la nueva porción de contenido (por ejemplo, se adquieren nuevos recursos). Por el contrario, modos de realización de ejemplo pueden mantener o preservar una porción (o una totalidad) de segmentación de entrega de contenido (por ejemplo, comprendiendo un elemento Fuente, un demultiplexor (“demux”), un decodificador de video y un decodificador de audio) utilizada para obtener la nueva porción de contenido previa en lugar de reconstruir una segmentación (por ejemplo, destruyendo la segmentación de entrega de contenido y construyendo una nueva segmentación de entrega de contenido). La preservación de la segmentación también permite la reproducción de un nuevo contenido tan rápido como sea posible.
Como resultado, una o más de las metodologías descritas en el presente documento facilitan la resolución del problema técnico de la optimización del cambio de contenido (por ejemplo, reduciendo el tiempo para un cambio en un canal o la carga de un nuevo contenido) independientemente del canal de distribución si el contenido se está difundiendo (por ejemplo, IPTV y multidistribución) o de libre transmisión (OTT). Las metodologías incluyen provocar la reproducción, mediante un receptor digital, de una primera porción de contenido y la recepción de una selección de una nueva porción de contenido para la reproducción durante la reproducción de la primera porción de contenido. En respuesta a la recepción de la selección, el receptor digital mantiene una tasa de bits utilizada para la reproducción de la primera porción de contenido para iniciar la reproducción de la nueva porción de contenido. Las metodologías además incluyen determinar si se ha de preservar al menos una porción de una segmentación de reproducción cuando se cambia a la reproducción de la nueva porción de contenido. En algunos modos de realización, la preservación de al menos una porción de la segmentación de reproducción comprende la determinación de si se ha de readaptar un decodificador de audio y un decodificador de video de la segmentación cuando se cambia a la reproducción de una nueva porción de contenido. Por consiguiente, una o más de las metodologías expuestas en el presente documento mejora la latencia durante cambios de contenido a la vez que mantiene la calidad de imagen. Se ha de observar que los cambios de contenido incluyen una selección de una porción de contenido para la visualización (por ejemplo, desde una página de acceso de contenido tal como una cuadrícula de favoritos o a través de una guía de programación) así como cambios de canal (por ejemplo, cambios de canales lineales).
Con referencia la figura 1, se muestra un modo de realización de un entorno 100 de ejemplo que permite la optimización de cambios de contenido (por ejemplo, reduciendo la latencia durante los cambios de canal o la selección de una porción de contenido para la visualización). En modos de realización de ejemplo, un receptor 102 digital de un usuario proporciona acceso a un contenido digital y gestiona las operaciones de cambio de contenido.
En un modo de realización, el receptor 102 digital es un decodificador. El receptor 102 digital se conecta a un dispositivo 104 de visualización (por ejemplo, una televisión o un monitor) en el cual el usuario puede ver el contenido digital. En algunos modos de realización, el receptor 102 digital (por ejemplo, operaciones del receptor 102 digital) se puede combinar con el dispositivo 104 de visualización (por ejemplo, una televisión inteligente, una tableta o un teléfono inteligente). Los componentes del receptor 102 digital utilizados para realizar operaciones de modos de realización de ejemplo se expondrán con más detalle en conexión con la figura 2 posteriormente.
En algunos modos de realización, el receptor 102 digital accede (por ejemplo, extrae, recibe, obtiene) contenido a través de una red 106 desde un servidor 108 de red de distribución de contenido (CDN). El servidor 108 de CDN puede obtener un contenido de uno o más proveedores 110 (por ejemplo, servidores de proveedores 110 de contenido). En modos de realización de ejemplo, el servidor 108 de CDN puede asociarse con un servicio de una tercera parte (por ejemplo, Netflix, Hulu, YouTube, Amazon) que almacena y proporciona contenido, tal como, por ejemplo pero no limitado a, contenido de libre transmisión (OTT), contenido de video bajo demanda (VOD), contenido de Internet o contenido difundido al receptor 102 digital a través de la red 106. El contenido comprende texto, imágenes, audio y/o contenido de video (por ejemplo, películas, espectáculos de televisión, videos) y en algunos modos de realización comprende contenido en directo (por ejemplo, en tiempo real). En algunos modos de realización, los proveedores 110 de contenido proporcionan contenido, mediante la red 106 directamente al receptor 102 digital para mostrarlo en el dispositivo 104 de visualización.
En una o más porciones de la red 106 puede haber una red ad hoc, una intranet, una extranet, una red privada virtual (VPN), una red de área local (LAN), una LAN inalámbrica (WLAN), una red de área amplia (WAN), una WAN inalámbrica (WWAN), una red de área metropolitana (MAN) una porción de Internet, una porción de la red telefónica conmutada pública (PSTN), una red de telefonía celular, una red inalámbrica, una red Wi-Fi, una red WiMax, una red de satélite, una red de cable una red de difusión otro tipo de red o una combinación de dos o más de dichas redes. Una cualquiera o más porciones de la red 106 pueden comunicar información a través de un medio de transmisión o de señal. Tal y como se utiliza en el presente documento, un “medio de transmisión” se refiere a cualquier medio intangible (por ejemplo transitorio) que es capaz de comunicar (por ejemplo transmitir) instrucciones para la ejecución mediante una máquina (por ejemplo, mediante uno o más procesadores de dicha máquina) e incluye señales de comunicación digitales o analógicas u otros medios intangibles para facilitar la comunicación de dicho software.
Se ha de observar que el entorno 100 mostrado en la figura 1 es meramente un ejemplo. Por ejemplo, cualquier número de servidores 108 de CDN y proveedores 110 de contenido se pueden implementar dentro del entorno 100. Adicionalmente, algunos componentes del entorno 100 pueden combinarse. Por ejemplo, las funciones del receptor 102 digital se pueden implementar dentro del dispositivo 104 de visualización para formar un dispositivo único, tal como una televisión inteligente, una tableta, un teléfono inteligente o cualquier otro dispositivo que sea capaz de obtener, presentar y visualizar contenido. Además, las funciones descritas en el presente documento para cualquier sistema o máquina únicos se pueden subdividir entre múltiples sistemas o máquinas.
Cualquiera de los sistemas o máquinas (por ejemplo, bases de datos, dispositivos, servidores) mostrados o asociados con la figura 1 pueden incluir o de otro modo implementarse en un ordenador de propósito general (por ejemplo, especializado o de otro modo no genérico) que haya sido modificado (por ejemplo, configurado o programado mediante software, tal como uno o más módulos de software de una aplicación, un sistema operativo, un soporte lógico inalterable, un soporte intermedio u otro programa) para realizar una o más de las funciones descritas en el presente documento para ese sistema o máquina. Por ejemplo, un sistema informático de propósito especial capaz de implementar una cualquiera o más de las metodologías descritas en el presente documento se expone posteriormente con respecto a la figura 5 y dicho ordenador de propósito especial puede ser por consiguiente un medio para realizar una cualquiera o más de las metodologías expuestas en el presente documento. Dentro del campo técnico de dichos ordenadores de propósito especial, un ordenador de propósito especial que ha sido modificado por las estructuras expuestas en el presente documento para realizar las funciones expuestas en el presente documento se mejora técnicamente en comparación con los otros ordenadores de propósito especial que adolecen de las estructuras expuestas en el presente documento o que de otro modo son incapaces de realizar las funciones expuestas en el presente documento. Por consiguiente, una máquina de propósito especial configurada de acuerdo con los sistemas y métodos expuestos en el presente documento proporciona una mejora en la tecnología de máquinas de propósito especial similares.
La figura 2 es un diagrama de bloques que ilustra un modo de realización de ejemplo de componentes dentro del receptor 102 digital de acuerdo con un modo de realización de ejemplo. En modos de realización de ejemplo, el receptor 102 digital gestiona el acceso al contenido retransmitido a través de la red 106. En particular, el receptor 102 digital recopila previamente metadatos, preserva una tasa de bits utilizada para la reproducción (por ejemplo, una retransmisión o descarga) de una porción de contenido previo cuando se inicializa la reproducción de una nueva porción de contenido y preserva al menos una porción de una segmentación de entrega de contenido. Para permitir estas operaciones, el receptor 102 digital comprende un reproductor 202, una segmentación 204 de entrega de contenido (también referida como “segmentación”), un gestor 206 de caché y un caché 208 todos los cuales pueden estar configurados para comunicarse entre sí (por ejemplo, sobre un bus, una memoria compartida o un conmutador). El receptor 102 digital comprende otros componentes (no mostrados) que no son pertinentes para las operaciones de modo de realización de ejemplo.
El reproductor 202 está configurado para gestionar la segmentación 204. En modos de realización de ejemplo, el reproductor 204 inicia (por ejemplo, construye) la segmentación 204 cuando una primera porción de contenido es seleccionada para su visualización. Una segmentación diferente se puede construir para cada tipo de contenido. Por ejemplo, el reproductor 202 construye una segmentación HTTP de retransmisión en vivo (HLS) para un contenido HLS y construye una segmentación de retransmisión adaptativa dinámica sobre HTTP (DASH) para un contenido DASH. El reproductor 204 también decide si mantiene al menos una porción de la segmentación 204 o construye una nueva segmentación cuando se produce un cambio de contenido (por ejemplo, un cambio de canal o una selección de un nuevo contenido para su visualización). Un método de ejemplo para gestionar la preservación de la segmentación se expone con mayor detalle en conexión con la figura 4 posteriormente.
La segmentación 204 está construida mediante el reproductor 202 adquiriendo recursos apropiados para obtener y procesar datos de contenido para la reproducción del contenido seleccionado. Los recursos de la segmentación 204 comprenden un elemento 212 fuente, un demultiplexor (“demux”) 214, un decodificador 216 de audio y un decodificador 218 de video. El elemento 212 fuente gestiona la descarga de datos de contenido para la porción de contenido seleccionado. El elemento 212 fuente también gestiona la adaptación de tasa de bits en el receptor 102 digital. De forma específica, el elemento 212 fuente recuerda una última tasa de bits que se utilizó para la reproducción de una porción de contenido actual/previa y continúa usando esa tasa de bits para la reproducción del nuevo contenido. Como tal, si la tasa de bits es alta, el elemento 212 fuente comenzará con la misma tasa de bits alta para el nuevo contenido. Si el nuevo contenido no puede ser reproducido a esa tasa de bits, entonces el elemento 212 fuente descenderá la tasa de bits. Por ejemplo, si la descarga del contenido toma menos tiempo del anticipado, hay un ancho de banda sobrante y la tasa de bits se puede aumentar. A la inversa, si la descarga está tomando más tiempo del anticipado, entonces disminuye la tasa de bits. Como tal, modos de realización de ejemplo, comenzarán la reproducción del nuevo contenido en la tasa de bits previa/última en lugar de comenzar a una tasa de bits más baja o la más baja (y que aumenta lentamente).
El demux demultiplexa los datos de contenido obtenidos del servidor 108 de CDN o del proveedor 110 de contenido para obtener una señal de audio y una señal de video. La señal de audio es transmitida al decodificador 216 de audio para el procesamiento, mientras que la señal de video es transmitida al decodificador 218 para el procesamiento. Los resultados de los decodificadores 216 y 218 de audio y video son emitidos (por ejemplo transmitidos) al dispositivo 104 de visualización para la presentación al usuario.
El gestor 206 de caché gestiona la recopilación previa de los metadatos para el contenido que se puede seleccionar potencialmente para la reproducción. En algunos modos de realización, el gestor 206 de caché predice el contenido que el usuario puede estar interesado en ver. Por ejemplo, un usuario puede estar navegando en una lista lineal de canales o programas (por ejemplo, una guía de programación electrónica; “EPG”) en una dirección particular (por ejemplo, hacia arriba o hacia abajo). En este modo de realización, el gestor 206 de caché predice un conjunto de contenido siguiente basándose en la dirección de navegación en la lista lineal. En otro ejemplo, el usuario puede estar viendo un catálogo de video bajo demanda (VOD) o una lista de observación de un usuario. Si el usuario requiere información o navegar en una selección para una porción de contenido, el gestor 206 de caché utiliza esto como una predicción de que la porción de contenido es del interés del usuario. De forma alternativa, el gestor de caché puede considerar todas (o algunas) porciones de contenido en una porción visible del catálogo o lista de observación como contenido de interés. En cualquiera de los casos, el gestor 206 de caché recopila previamente los metadatos para el contenido de interés y almacena los datos recopilados previamente en el caché 208. Los metadatos pueden comprender, por ejemplo, uno o más localizadores de recursos uniformes (URL) donde los trozos de contenido están disponibles, URL para diferentes tasas de bits, datos de licencia (por ejemplo, dónde obtener una licencia) e información de códec. La información de códec se utilizará por el reproductor 202 para determinar si se ha de preservar al menos una porción de la segmentación 204, tal y como se expondrá adicionalmente posteriormente. Si el usuario posteriormente selecciona contenido del cual se han recopilado previamente ya los metadatos, entonces los metadatos pueden ser accedidos desde el caché 208 en lugar de tener que ser recuperados de la red 106 desde el servidor 108 de CDN o el proveedor 110 de contenido después de la selección. Esto ayudará a la reducción de la latencia en la reproducción.
Una cualquiera o más de los componentes (por ejemplo, módulos, decodificadores, fuentes) descritos en el presente documento se pueden implementar utilizando sólo hardware (por ejemplo, uno o más procesadores de una máquina) o una combinación de hardware y software. Por ejemplo, cualquier componente descrito en el presente documento puede incluir físicamente una disposición de uno o más de los procesadores o configurar un procesador (por ejemplo, entre uno o más procesadores de una máquina) para realizar las operaciones descritas en el presente documento para ese módulo. Por consiguiente, diferentes componentes descritos en el presente documento pueden incluir y configurar diferentes disposiciones de los procesadores en diferentes puntos en el tiempo o una única disposición de los procesadores en diferentes puntos de tiempo. Cada componente descrito en el presente documento es un ejemplo de unos medios para realizar las operaciones descritas en el presente documento para ese componente. Además, cualquiera o más de estos componentes se pueden combinar en un único componente y las funciones descritas en el presente documento para un único componente se pueden subdividir entre múltiples componentes. Además, de acuerdo con varios modos de realización de ejemplo, los componentes descritos en el presente documento como se implementan dentro de una máquina, base de datos o dispositivo únicos se pueden distribuir a través de máquinas, bases de datos o dispositivos múltiples.
La figura 3 es un diagrama de flujo de un método 300 de ejemplo para optimizar el cambio de contenido de acuerdo con modos de realización de ejemplo. En los modos de realización de ejemplo, el método 300 es realizado en parte o en su totalidad por componentes del receptor 102 digital. Por consiguiente, el método 300 es descrito a modo de ejemplo con referencia al receptor 102 digital. Sin embargo, se apreciará que al menos alguna de las operaciones del método 300 puede desplegarse en varias otras configuraciones de hardware o realizarse por componentes similares que residen en cualquier lugar en el entorno 100. Por lo tanto, el método 300 no está destinado a estar limitado al receptor 102 digital.
En la operación 302, una primera porción de contenido se hace que se reproduzca mediante el dispositivo 104 de visualización. En modos de realización de ejemplo, el reproductor 202 construye la segmentación 204 para obtener y procesar los datos de contenido para la primera porción de contenido. En particular, el reproductor 202 adquiere el elemento 212 fuente, el demux 214, el decodificador 216 de audio y el decodificador 218 de video para formar la segmentación 204. El contenido de datos es procesado por la segmentación 204 y presentado en el dispositivo 104 de visualización.
En la operación 304, los metadatos para un conjunto de uno o más contenidos de interés son recopilados previamente. En modos de realización de ejemplo, el gestor 206 de caché predice el contenido de interés de un usuario y recopila previamente los metadatos para el contenido de interés. Los datos recopilados previamente son después almacenados en el caché 208. Los metadatos pueden comprender, pero no están limitados a, una o más URL donde los trozos de contenido están disponibles, una o más URL para diferentes tasas de bits, datos de licencia (por ejemplo, de donde se obtiene una licencia) e información de códec.
En la operación 306, el reproductor 202 recibe una indicación para cambiar a una nueva porción de contenido para la reproducción. La indicación puede recibirse desde un dispositivo de control del usuario (por ejemplo, un mando a distancia). En algunos modos de realización, el usuario puede desplazarse a través de una EPG o estar viendo un catálogo o lista de observación, y selecciona una nueva porción de contenido para visualizar.
En la operación 308, el receptor 102 digital mantiene la tasa de bits cuando se cambia la reproducción a la nueva porción de contenido. En modos de realización de ejemplo, cuando se hace una transición de reproducción desde una operación de reproducción en marcha a una nueva operación de reproducción, el elemento 212 fuente utiliza una tasa de bits heurística derivada para la reproducción de la primera porción de contenido para la reproducción de la nueva porción de contenido. Por tanto, el elemento 212 fuente intenta mantener o preservar la tasa de bits para la reproducción en oposición a comenzar una nueva reproducción desde la tasa de bits más baja posible. Si la nueva porción de contenido no se puede entregar a la tasa de bits, entonces el elemento 212 descenderá la tasa de bits. Como tales, los modos de realización de ejemplo, iniciarán la descarga del nuevo contenido a la tasa de bits previa/anterior en lugar de comenzar a una tasa de bits más baja o la más baja (y aumentando la lentamente). Esto permite la reproducción de un nuevo contenido a una tasa de bits más óptima de forma instantánea en lugar de tener que volver a computar de forma heurística la tasa de bits óptima comenzando desde la tasa de bits lo más baja posible. Convencionalmente, la derivación de la tasa de bits óptima normalmente requiere la descarga de varios segmentos o trozos de datos de contenido lo que resulta en una mejora gradual de la calidad de imagen. Sin embargo, modos de realización de ejemplo que utilizan la tasa de bits heurística derivada previa mantienen el mismo nivel de calidad de imagen que la de reproducciones previas desde el primer momento de reproducción del nuevo contenido.
En la operación 310, un proceso de preservación de segmentación se realiza para determinar si se mantiene al menos una porción de la segmentación utilizada para reproducir la primera porción de contenido para el uso con la reproducción de la nueva porción de contenido. Además, si la segmentación se va a mantener o preservar, se hace una determinación de si todos los recursos de la segmentación deberían preservarse o únicamente una porción de la segmentación preservada (por ejemplo, únicamente alguno de los recursos se mantienen y otros son liberados). El proceso de preservación de segmentación se expondrá con más detalle en conexión con la figura 4.
La figura 4 es un diagrama de flujo de un método 400 de ejemplo para preservar una segmentación de entrega de contenido de acuerdo con modos de realización de ejemplo. En modos de realización de ejemplo, el método 400 se realiza en parte o en su totalidad mediante el reproductor 202 con respecto a las fuentes de la segmentación 204. Por consiguiente, el método 400 se describe a modo de ejemplo con referencia al reproductor 202 y a la segmentación 204. Sin embargo, se apreciará que al menos alguna de las operaciones del método 400 se puede desplegar en varias configuraciones de hardware distintas o se pueden realizar mediante componentes similares que residen en cualquier lugar en el entorno 100. Por lo tanto, el método 400 no está destinado a estar limitado al reproductor 202 y a la segmentación 204.
En la operación 402, en respuesta a la recepción de la indicación para cambiar la reproducción al nuevo contenido, el gestor 206 de caché accede a los metadatos recopilados anteriormente almacenados en el caché 208 para el nuevo contenido. Los metadatos recopilados previamente para el nuevo contenido pueden comprender una o más URL donde el nuevo contenido está disponible, una o más URL para tasas de bits diferentes asociadas con el nuevo contenido, datos de licencia para el nuevo contenido e información de códec para el nuevo contenido. Los metadatos recopilados previamente pueden también indicar si el nuevo contenido es de un mismo tipo que la primera porción de contenido. Por ejemplo, la primera porción de contenido y el nuevo contenido ambos pueden estar en un formato HTTP de retransmisión en vivo (HLS) o ambos estar en un formato de retransmisión adaptativa dinámica sobre HTTP (DASH).
En la operación 404, el reproductor 202 determina si la primera porción de contenido y el nuevo contenido son del mismo tipo de contenido. Si la primera porción de contenido y el nuevo contenido no son del mismo tipo (por ejemplo, la primera porción de contenido está en formato HLS y el nuevo contenido está en formato DASH), entonces los recursos de la segmentación 204 (por ejemplo, el elemento 212 fuente, el demux 214, el decodificador 216 de video y el decodificador 218 de audio) son liberados en la operación 406. La liberación de todos los recursos de la segmentación 204 deconstruye esencialmente la segmentación 204. El reproductor 202 entonces crea una nueva segmentación mediante la adquisición de otros recursos que se pueden aplicar al tipo de contenido del nuevo contenido.
Si en la operación 404 el reproductor 202 determina que la primera porción de contenido y el nuevo contenido son del mismo tipo de contenido (por ejemplo, ambos están en formato HLS), entonces en la operación 408, se detecta la información de códec para el nuevo contenido. En modos de realización de ejemplo, el reproductor 202 examina los metadatos recopilados previamente para el nuevo contenido para la información de códec. La información de códec indica tipos de decodificadores necesarios para el nuevo contenido.
En la operación 410, se hace una determinación por el reproductor 202 de si los tipos de decodificadores necesarios para el nuevo contenido son los mismos que los decodificadores actuales en la segmentación 204 para la primera porción de contenido. Si los tipos de decodificadores necesarios son los mismos, entonces en la operación 412 se preserva toda la segmentación 204. En otras palabras, los recursos de la segmentación 204 se mantienen y se continúan por el usuario para reproducir el nuevo contenido.
Sin embargo, si en la operación 410 el reproductor 202 determina que el nuevo contenido necesita diferentes decodificadores, entonces en la operación 414, los decodificadores (por ejemplo, el decodificador 216 de audio y el decodificador 208 de video) son liberados. Posteriormente, en la operación 416, la porción restante de la segmentación 204 (por ejemplo, el elemento 212 fuente y el demux 214) es preservada o mantenida. En estos modos de realización, el reproductor 202 adquiere un nuevo conjunto de decodificadores (por ejemplo, un nuevo decodificador de audio y un nuevo decodificador de vídeo) que se pueden aplicar al nuevo contenido y añade un nuevo conjunto de decodificadores a la porción preservada de la segmentación 204.
Aunque se exponen modos de realización de ejemplo con respecto a la segmentación y a la preservación de tasa de bits aplicables a tanto DASH como a HLS, modos de realización de ejemplo para la preservación de la tasa de bits y la segmentación se pueden aplicar para cualquier tipo de contenido que es adaptativo en su naturaleza (por ejemplo, en donde la tasa de bits de contenido puede cambiar basándose en el ancho de banda).
La figura 5 es un diagrama de bloques que ilustra componentes de una máquina 500, de acuerdo con algunos modos de realización de ejemplo, capaz de leer instrucciones 524 de un medio 522 de almacenamiento por máquina (por ejemplo, un medio de almacenamiento por máquina no transitorio, un medio de almacenamiento legible por máquina, un medio de almacenamiento legible por ordenador o cualquier combinación adecuada de los mismos) y realizar una cualquiera o más de las metodologías expuestas en el presente documento en su totalidad o en parte. De forma específica, la figura 5 muestra la máquina 500 en forma de ejemplo de un dispositivo informático (por ejemplo, un ordenador) dentro del cual se pueden ejecutar las instrucciones 524 (por ejemplo, software, un programa, una aplicación, un subprograma, una app u otro código ejecutable) para provocar que la máquina 500 realice una cualquiera o más de las metodologías expuestas en el presente documento en su totalidad o en parte. Por ejemplo, las instrucciones 524 pueden provocar que la máquina 500 ejecute los diagramas de flujo de las figuras 3 y 4. Las instrucciones 524 pueden transformar la máquina 500 no programada general en una máquina particular (por ejemplo, una máquina configurada de forma especial) programada para llevar a cabo las funciones descritas e ilustradas de la manera descrita.
En modos de realización alternativos, la máquina 500 funciona como un dispositivo autónomo o puede conectarse (por ejemplo, conectar en red) a otras máquinas. La máquina 500 puede ser un ordenador servidor, un ordenador cliente o un ordenador personal (PC), una tableta, un ordenador portátil un ordenador portátil pequeño, un decodificador (por ejemplo, STB), un asistente digital personal (PDA), un teléfono móvil, un teléfono inteligente, un dispositivo web, un router de red, un conmutador de red, un puente de red, un adaptador eléctrico o cualquier máquina 500 capaz de ejecutar las instrucciones 524, de forma secuencial o de otro modo, que especifica acciones que se van a tomar por esa máquina 500. Además, aunque sólo se ilustra una única máquina 500, el término “máquina” también se considerará que incluye una colección de máquinas que ejecuten de forma individual o de forma conjunta las instrucciones 524 para realizar una cualquiera o más de las metodologías expuestas en el presente documento.
La máquina 500 incluye un procesador 502 (por ejemplo, una unidad de procesamiento central (CPU), una unidad de procesamiento de gráficos (GPU), un procesador de señal digital (DSP), un circuito integrado de aplicación específica (ASIC), un circuito integrado de radio frecuencia (RFIC) o cualquier combinación adecuada de los mismos) una memoria 504 principal y una memoria 506 estática, que están configuradas para comunicarse entre sí a través de un bus 508. El procesador 502 puede contener microcircuitos que se pueden configurar de forma temporal o permanente mediante alguna o todas las instrucciones 524 de tal manera que el procesador 502 se puede configurar para realizar una cualquiera o más de las metodologías descritas en el presente documento, en su totalidad o en parte. Por ejemplo, un conjunto de uno o más microcircuitos del procesador 502 se puede configurar para ejecutar uno o más módulos (por ejemplo, módulos de software) descritos en el presente documento.
La máquina 500 puede incluir además una pantalla 510 de gráficos (por ejemplo, un panel de pantalla de plasma (PDP), una pantalla de diodo emisor de luz (LED) una pantalla de cristal líquido (LCD), un proyector, un tubo de rayos catódicos (CRT) o cualquier otra pantalla capaz de mostrar gráficos o video). La máquina 500 puede también incluir un dispositivo 512 de entrada alfanumérico (por ejemplo, un teclado o teclado numérico) un dispositivo 514 de control de cursor (por ejemplo, un ratón, un panel táctil, una bola de seguimiento, una palanca de mando, un sensor de movimiento, un dispositivo de seguimiento del ojo u otro instrumento de señalización), una unidad 516 de almacenamiento, un dispositivo 518 de generación de señal (por ejemplo, una tarjeta de sonido, un amplificador, un altavoz, una clavija de auriculares o cualquier combinación de los mismos) y un dispositivo 520 de interfaz de red. La unidad 516 de almacenamiento incluye un medio 522 de almacenamiento por máquina (por ejemplo, un medio de almacenamiento legible por máquina tangible) en el cual se almacenan las instrucciones 524 que implementan uno cualquiera o más de las metodologías o funciones descritas en el presente documento. Las instrucciones 524 también pueden residir, completamente o a al menos parcialmente, dentro de la memoria 504 principal, dentro del procesador 502 (por ejemplo, dentro de la memoria caché del procesador) o de ambos, antes o durante la ejecución del mismo mediante la máquina 500. Por consiguiente, la memoria 504 principal y el procesador 502 se pueden considerar medios 522 de almacenamiento por máquina (por ejemplo, medios de almacenamiento por máquina tangible si no transitorios).
En algunos modos de realización de ejemplo, la máquina 500 puede ser un dispositivo informático portátil y puede tener uno o más componentes de entrada adicionales (por ejemplo, sensores o medidores). Ejemplos de dichos componentes de entrada incluyen un componente de entrada de imagen (por ejemplo, una o más cámaras), un componente de entrada de audio (por ejemplo, un micrófono), un componente de entrada de dirección (por ejemplo, una brújula), un componente de entrada de ubicación (por ejemplo, un receptor de sistema de posicionamiento global (GPS)), un componente de orientación (por ejemplo un giroscopio), un componente de detección del movimiento (por ejemplo, uno o más acelerómetros), un componente de detección de altitud (por ejemplo, un altímetro) y un componente de detección de gas (por ejemplo, un sensor de gas). Las entradas recogidas por uno cualquiera o más de estos componentes de entrada pueden ser accesibles y estar disponibles para el uso por cualquiera de los módulos descritos en el presente documento.
Instrucciones ejecutables y medio de almacenamiento por máquina
Las diversas memorias (es decir, 504, 506, y/o la memoria del(de los) procesador(es) 502) y/o la unidad 516 de almacenamiento pueden almacenar uno o más conjuntos de instrucciones y estructuras de datos (por ejemplo, software) 524 que implementan o se utilizan por una cualquiera o más de las metodologías o funciones descritas en el presente documento. Estas instrucciones, cuando se ejecutan mediante el(los) procesador(es) 502 provoca que varias operaciones implementen los modos de realización divulgados.
Tal como se utiliza en el presente documento, los términos “medio de almacenamiento por máquina”, “medio de almacenamiento por dispositivo”, “medio de almacenamiento informático” (referidos colectivamente como un “medio 522 de almacenamiento por máquina”) significan la misma cosa y pueden utilizarse de forma intercambiable en esta divulgación. Los términos se refieren a dispositivos de almacenamiento únicos o múltiples y/o a medios (por ejemplo, una base de datos centralizada o distribuida y/o cachés y servidores asociados) que almacenan instrucciones ejecutables y/o datos, así como sistemas de almacenamiento basados en la nube o redes de almacenamiento que incluyen aparatos o dispositivos de almacenamiento múltiples. El término se considerará por consiguiente que incluye, pero no está limitado a, memorias en estado sólido y medios ópticos y magnéticos, incluyendo una memoria interna o externa para procesadores. Ejemplos específicos de medios de almacenamiento por máquina, medios de almacenamiento informático y/o medios 522 de almacenamiento por dispositivo incluyen una memoria no volátil, que incluye a modo de ejemplo dispositivos de memoria semiconductores, por ejemplo, una memoria de sólo lectura programable borrable (EPROM), una memoria de sólo lectura programable eléctricamente borrable (EEPROM), FPGA y dispositivos de memoria flash; discos magnéticos tales como discos duros internos y discos extraíbles; discos magneto-ópticos; y discos de CD-ROM y DVD-ROM. Los términos medios de almacenamiento por máquina, medios de almacenamiento informático y medios 522 de almacenamiento por dispositivo excluyen de forma específica ondas portadoras, señales de datos moduladas y otros de dichos medios, al menos algunos de los cuales están cubiertos bajo el término “medio de señal” expuesto posteriormente.
Medio de señal
El término “medio de señal” o “medio de transmisión” se considerará que incluye cualquier forma de señal de datos modulada, onda portadora y así sucesivamente. El término “señal de datos modulada” significa una señal que tiene una o más de sus características configuradas o cambiadas de tal manera que codifica información sobre la señal. Medio legible por ordenador
Los términos “medio legible por máquina”, “medio legible por ordenador” y “medio legible por dispositivo” significan la misma cosa y pueden utilizarse de forma intercambiable en esta divulgación. Los términos se definen para incluir tanto medios de almacenamiento por máquina como medios de señal. Por tanto, los términos incluyen tanto dispositivos/medios de almacenamiento como ondas portadoras/señales de datos moduladas.
Las instrucciones 524 pueden además transmitirse o recibirse sobre una red 526 de comunicaciones que utiliza un medio de transmisión a través del dispositivo 520 de interfaz de red y que utiliza uno cualquiera de diversos protocolos de trasferencia bien conocidos (por ejemplo, HTTP). Ejemplos de redes 526 de comunicación incluyen una red de área local (LAN), una red de área amplia (WAN), Internet, redes de telefonía móvil, redes de servicios de telefonía convencional (POTS) y redes de datos inalámbricas (por ejemplo, redes Wi-Fi, LTE y WiMAX). El término “medio de transmisión” se considerará que incluye cualquier medio intangible que es capaz de almacenar, codificar o transportar instrucciones 524 para la ejecución mediante la máquina 500 e incluye señales de comunicaciones analógicas o digitales u otro medio intangible para facilitar la comunicación de dicho software.
A lo largo de esta memoria descriptiva, los casos plurales pueden implementar componentes, operaciones o estructuras descritas como un caso único. Aunque se ilustran operaciones individuales de uno o más métodos y se describen como operaciones separadas, una o más de las operaciones individuales se puede realizar de forma concurrente y nada requiere que las operaciones se realicen en el orden ilustrado. Las estructuras y funcionalidad presentadas como componentes separados en configuraciones de ejemplo pueden implementarse como una estructura o componente combinados. De forma similar, las estructuras y funcionalidad presentadas como un componente único pueden implementarse como componentes separados. Estas y otras variaciones, modificaciones, adiciones y mejoras caen dentro del alcance de la materia del presente documento.
Ciertos modos de realización se describen en el presente documento incluyendo lógica o diversos componentes, módulos, o mecanismos. Los módulos pueden constituir o bien módulos de software (por ejemplo, un código implementado en un medio 522 de almacenamiento por máquina en una señal de transmisión) o módulos de hardware. Un “módulo de hardware” es una unidad tangible capaz de realizar ciertas operaciones y puede configurarse o disponerse de una cierta manera física. En varios modos de realización de ejemplo, uno o más sistemas informáticos (por ejemplo, un sistema informático autónomo, un sistema informático de cliente o un sistema informático de servidor) o uno o más módulos de hardware de un sistema informático (por ejemplo, un procesador 502 o un grupo de procesadores 502) puede configurarse mediante software (por ejemplo, una aplicación o porción de aplicación) como un módulo de hardware que funcione para realizar ciertas operaciones como se describe en el presente documento.
En algunos modos de realización, un módulo de hardware puede implementarse de forma mecánica, de forma electrónica o cualquier combinación adecuada de las mismas. Por ejemplo, un módulo de hardware puede incluir una circuitería dedicada o una lógica que se configure de forma permanente para realizar ciertas operaciones. Por ejemplo, un módulo de hardware puede ser un procesador de propósito especial, tal como una matriz de puertas programables en campo (FPGA) o un ASIC. Un módulo de hardware también puede incluir una lógica programable o una circuitería que se configura de forma temporal mediante software para realizar ciertas operaciones. Por ejemplo, un módulo de hardware puede incluir un software englobado dentro de un procesador de propósito general u otro procesador programable. Se apreciará que la decisión de implementar un módulo de hardware de forma mecánica, en una circuitería dedicada y permanentemente configurada, o en una circuitería temporalmente configurada (por ejemplo, configurada por software) puede estar influida por consideraciones de coste y de tiempo.
Por consiguiente, la frase “módulo de hardware” debería entenderse que engloba una entidad tangible, que es una entidad que se construye de forma física, configurada de forma permanente (por ejemplo, cableada) o configurada de forma temporal (por ejemplo, programada) para funcionar de una cierta manera o para realizar ciertas operaciones descritas en este documento. Tal y como se utiliza en el presente documento, un “módulo implementado por hardware” se refiere a un módulo de hardware. Considerando modos de realización en los cuales los módulos de hardware se configuran de forma temporal (por ejemplo, programados), cada uno de los módulos de hardware no necesita ser configurado o instanciado en un caso cualquiera en el tiempo. Por ejemplo, cuando el módulo de hardware comprende un procesador de propósito general configurado por software para convertirse en un procesador de propósito especial, el procesador de propósito general puede configurarse como procesadores de propósito especial respectivamente diferentes (por ejemplo, comprendiendo diferentes módulos de hardware) en diferentes momentos. El software puede por consiguiente configurar un procesador, por ejemplo, para constituir un módulo de hardware particular en un caso de tiempo y para constituir un módulo de hardware diferente en un caso de tiempo diferente.
Las diversas operaciones de métodos de ejemplo descritos en el presente documento pueden realizarse, al menos parcialmente, mediante uno o más procesadores que están configurados de forma temporal (por ejemplo, mediante software) o configurados de forma permanente para realizar las operaciones relevantes. Estén configurados de forma temporal o de forma permanente, dichos procesadores pueden constituir módulos implementados por procesador que funcionan para realizar una o más operaciones o funciones descritas en el presente documento. Tal y como se utiliza en el presente documento, el “módulo implementado por procesador” se refiere a un módulo de hardware implementado utilizando uno o más procesadores.
De forma similar, los métodos descritos en el presente documento pueden implementarse al menos parcialmente por procesador, un procesador que es un ejemplo de hardware. Por ejemplo, al menos algunas de las operaciones de un método se pueden realizar mediante uno o más procesadores o módulos implementados por procesador.
Algunas porciones de la materia expuesta en el presente documento se pueden presentar en términos de algoritmos y representaciones simbólicas de operaciones en datos almacenados como bits o señales digitales binarias dentro de una memoria de máquina (por ejemplo, una memoria de ordenador). Dichos algoritmos o representaciones simbólicas son ejemplos de técnicas utilizadas por los expertos en la técnica de procesamiento de datos para trasladar la sustancia de su trabajo a otros expertos en la técnica. Tal y como se utiliza en el presente documento, un “algoritmo” es una secuencia de operaciones autoconsistente o un procesamiento similar que lleva a un resultado deseado. En este contexto, los algoritmos y operaciones incluyen una manipulación física de cantidades físicas. Normalmente, pero no de forma necesaria, dichas cantidades pueden tomar la forma de señales eléctricas, magnéticas o señales ópticas capaces de ser almacenadas, accedidas, trasferidas, combinadas, comparadas o de otro modo manipuladas por una máquina. Es conveniente a veces, principalmente por razones de uso común, referirse a dichas señales utilizando palabras tales como “datos”, “contenido”, “bits”, “valores”, “elementos”, “símbolos”, “caracteres”, “términos”, “números”, “numerales”, o similares. Estas palabras, sin embargo, son meramente etiquetas convenientes y van a estar asociadas a cantidades físicas apropiadas.
A menos que se establezca de forma específica de otro modo, las exposiciones en el presente documento que utilizan palabras tales como “procesamiento”, “computación”, “cálculo”, “determinación”, “presentación”, “visualización” o similares pueden referirse a acciones o procesos de una máquina (por ejemplo un ordenador) que manipulan o trasforman datos representados como cantidades físicas (por ejemplo, electrónicas, magnéticas u ópticas) dentro de una o más memorias (por ejemplo, una memoria volátil, una memoria no volátil o cualquier combinación adecuada de las mismas, registros, u otros componentes de máquina que reciben, almacenan, transmiten o muestran información. Además, a menos que se establezca de forma específica de otro modo, los términos “un/uno/una” se utilizan en el presente documento, como es común en los documentos de patente, para incluir uno o más de un caso. Finalmente, tal y como se utiliza en el presente documento, la conjunción “o” se refiere a un “o” no exclusivo a menos que se establezca de forma específica de otro modo.
Aunque una visión general de la materia inventiva se ha descrito con referencia a los modos de realización de ejemplo específicos, se pueden hacer varias modificaciones y cambios a estos modos de realización sin alejarse del alcance más amplio de modos de realización de la presente invención. Por ejemplo, varios modos de realización o características de la misma se pueden mezclar o hacer coincidir o hacerse opcionales por un experto medio en la técnica. Dichos modos de realización de la materia inventiva se pueden referir en el presente documento, de forma individual o de forma colectiva, mediante el término “invención” meramente por conveniencia y sin pretender limitar de forma involuntaria el alcance de esta solicitud a una invención o concepto inventivo único si más de uno, de hecho, se divulga.
Los modos de realización ilustrados en el presente documento se cree que están descritos en detalle suficiente para permitir a los expertos en la técnica llevar a la práctica las enseñanzas divulgadas. Otros modos de realización pueden utilizarse y derivarse de los mismos, de tal manera que pueden hacerse sustituciones estructurales ilógicas y cambios sin alejarse del alcance de esta divulgación. La descripción detallada, por lo tanto, no se debe considerar en un sentido limitativo y el alcance de los diversos modos de realización se define únicamente por las reivindicaciones adjuntas.
Además, casos plurales pueden proporcionarse para recursos, operaciones o estructuras descritas en el presente documento como un caso único. De forma adicional, límites entre varios recursos, operaciones, módulos, motores y almacenes de datos son de algún modo arbitrarios y operaciones particulares se ilustran en un contexto de configuraciones ilustrativas específicas. Otras asignaciones de funcionalidad se contemplan y pueden caer dentro del alcance de diversos modos de realización de la presente invención. En general, estructuras y funcionalidad presentadas como recursos separados en las configuraciones de ejemplo se pueden implementar como una estructura o recurso combinado. De forma similar, estructuras y funcionalidad presentadas como un recurso único pueden implementarse como recursos separados. La memoria descriptiva y los dibujos por consiguiente se han de contemplar en un sentido ilustrativo en lugar de en un sentido restrictivo.

Claims (8)

REIVINDICACIONES
1. Un método realizado mediante un receptor (102) digital, el método que comprende:
provocar una reproducción (302) de una primera porción de contenido a una primera tasa de bits;
recibir (306) una selección de una nueva porción de contenido para la reproducción durante la reproducción de la primera porción de contenido;
en respuesta a la recepción de la selección, hacer una transición a una nueva porción de contenido iniciando la reproducción de la nueva porción de contenido utilizando la primera tasa de bits utilizada para la reproducción de la primera porción de contenido para mantener (308) la primera tasa de bits para la reproducción de la nueva porción de contenido; y
si la nueva porción de contenido no puede ser reproducida para mantener la reproducción a una primera tasa de bits, reducir la primera tasa de bits.
2. El método de la reivindicación 1, en donde si la descarga de la nueva porción de contenido para la reproducción toma menos tiempo que el anticipado, la primera tasa de bits aumenta y si la descarga de la nueva porción de contenido para la reproducción toma más tiempo que el anticipado, la primera tasa de bits se reduce.
3. El método de la reivindicación 1 o la reivindicación 2, que además comprende, cuando la primera tasa de bits es mantenida:
determinar (404) si la nueva porción de contenido es un mismo tipo de contenido que la primera porción de contenido; y
basándose en que la nueva porción de contenido es el mismo tipo de contenido que la primera porción de contenido, determinar (408, 410, 412, 414, 416) si se ha de preservar al menos una porción de una segmentación de reproducción utilizada para reproducir la primera porción de contenido, la segmentación de reproducción que comprende un elemento fuente para gestionar la descarga de los datos de contenido para la nueva porción de contenido, un demultiplexor, un decodificador de audio y un decodificador de video, la preservación de al menos la porción de la segmentación de reproducción que comprende preservar uno o más de, el elemento de fuente, el demultiplexor, el decodificador de audio o el decodificador de video.
4. El método de la reivindicación 3, en donde la determinación de si se ha de preservar comprende:
detectar (408) una información de códec para la nueva porción de contenido, la información de códec que indica tipos de decodificadores necesarios para el nuevo contenido; y
determinar si el decodificador de audio y el decodificador de video en la segmentación son de los tipos indicados por la información de códec.
5. El método de la reivindicación 4, que además comprende preservar (412) la segmentación completa en respuesta a que el decodificador de audio y el decodificador de video en la segmentación de reproducción son de los tipos indicados por la información de códec.
6. El método de la reivindicación 4 o la reivindicación 5, que además comprende:
liberar (414) el decodificador de audio y el decodificador de video en la segmentación de reproducción en respuesta a que el decodificador de audio y el decodificador de video en la segmentación de reproducción son diferentes que los tipos indicados por la información de códec; y
obtener un nuevo decodificador de audio y un nuevo decodificador de video basándose en la información de códec.
7. Un sistema que comprende:
uno o más procesadores (502) de hardware; y
un dispositivo (504) de almacenamiento que almacena instrucciones que configuran el uno o más procesadores (502) de hardware para llevar a cabo el método de cualquiera de las reivindicaciones anteriores.
8. Un medio legible por máquina que porta instrucciones, que cuando se ejecutan por uno o más procesadores de hardware de una máquina, provoca que la máquina lleve a cabo el método de una cualquiera de las reivindicaciones 1 a 6.
ES18853974T 2017-09-08 2018-08-14 Preservación de tasa de bits y de segmentación para la presentación de contenido Active ES2899920T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201741031917 2017-09-08
PCT/US2018/046723 WO2019050660A1 (en) 2017-09-08 2018-08-14 MAINTAINING BIT RATE AND PIPELINE FOR CONTENT PRESENTATION

Publications (1)

Publication Number Publication Date
ES2899920T3 true ES2899920T3 (es) 2022-03-15

Family

ID=65634196

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18853974T Active ES2899920T3 (es) 2017-09-08 2018-08-14 Preservación de tasa de bits y de segmentación para la presentación de contenido

Country Status (8)

Country Link
US (3) US11184652B2 (es)
EP (2) EP3965466B1 (es)
CN (1) CN111194565B (es)
BR (1) BR112020004566A2 (es)
DK (1) DK3679738T3 (es)
ES (1) ES2899920T3 (es)
TW (1) TWI826387B (es)
WO (1) WO2019050660A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160323351A1 (en) * 2015-04-29 2016-11-03 Box, Inc. Low latency and low defect media file transcoding using optimized storage, retrieval, partitioning, and delivery techniques
TWI826387B (zh) 2017-09-08 2023-12-21 美商開放電視股份有限公司 用於內容呈現之位元率及管線保留技術

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111526A1 (en) * 2002-12-10 2004-06-10 Baldwin James Armand Compositing MPEG video streams for combined image display
US7818444B2 (en) * 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
WO2006047727A2 (en) * 2004-10-27 2006-05-04 Eg Technology, Inc. Optimal rate allocation for a group of channels
EP1775953A1 (en) * 2005-10-14 2007-04-18 Universiteit Gent Switching between digital video streams using buffering of second digital video stream
US9009234B2 (en) * 2007-02-06 2015-04-14 Software Ag Complex event processing system having multiple redundant event processing engines
US7991904B2 (en) * 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US20100091888A1 (en) * 2008-10-13 2010-04-15 General Instrument Corporation Multi-Rate Encoder with GOP Alignment
US9106544B2 (en) * 2008-11-12 2015-08-11 Google Technology Holdings LLC Multi-rate statistical multiplexing
US9060187B2 (en) * 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
AU2010247117B2 (en) * 2009-05-13 2013-08-15 Nds Limited Splicing system
US20100329354A1 (en) * 2009-06-29 2010-12-30 Broadcom Corporation Systems and methods for achieving optimal digital video channel change performance
US8386621B2 (en) * 2010-03-12 2013-02-26 Netflix, Inc. Parallel streaming
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
US9774923B2 (en) * 2010-05-28 2017-09-26 Verizon Patent And Licensing Inc. Bandwidth management and advertisement insertion in media content delivery systems and methods
US20110296047A1 (en) * 2010-06-01 2011-12-01 Sony Corporation Method and apparatus for seamless playback of media
CA2817367A1 (en) * 2010-11-18 2012-05-24 Aereo, Inc. System and method for providing network access to antenna feeds
US9021537B2 (en) * 2010-12-09 2015-04-28 Netflix, Inc. Pre-buffering audio streams
US8532171B1 (en) * 2010-12-23 2013-09-10 Juniper Networks, Inc. Multiple stream adaptive bit rate system
US9020039B2 (en) * 2011-01-06 2015-04-28 Sonic Ip, Inc. Systems and methods for encoding alternative streams of video for use in adaptive bitrate streaming
JP5617781B2 (ja) * 2011-07-13 2014-11-05 パナソニック株式会社 制御装置、制御システムおよび制御方法
EP3340575A1 (en) * 2011-12-06 2018-06-27 EchoStar Technologies L.L.C. Remote storage digital video recorder and related operating methods
US8887215B2 (en) * 2012-06-11 2014-11-11 Rgb Networks, Inc. Targeted high-value content in HTTP streaming video on demand
US9125073B2 (en) * 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
US9244678B1 (en) * 2012-10-08 2016-01-26 Audible, Inc. Managing content versions
US9800634B2 (en) * 2013-05-28 2017-10-24 Cisco Technology, Inc. Pull-based media system
JP2016522621A (ja) * 2013-07-15 2016-07-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ダイナミックアダプティブストリーミング・オーバー・ハイパーテキストトランスファープロトコルにおけるリモート要素のジャストインタイムデリファレンス
US9386308B2 (en) * 2013-07-16 2016-07-05 Cisco Technology, Inc. Quality optimization with buffer and horizon constraints in adaptive streaming
US10097604B2 (en) * 2013-08-01 2018-10-09 Spotify Ab System and method for selecting a transition point for transitioning between media streams
NO2835982T3 (es) * 2013-08-06 2018-05-19
US20150052236A1 (en) * 2013-08-14 2015-02-19 Cisco Technology, Inc. Load based target alteration in streaming environments
US9444856B2 (en) * 2013-09-25 2016-09-13 Ericsson Ab System and method for managing adjacent channels in an adaptive streaming environment
US20150089073A1 (en) * 2013-09-25 2015-03-26 Ericsson Television Inc System and method for effectuating fast channel change in an adpative streaming environment
US9699236B2 (en) * 2013-12-17 2017-07-04 At&T Intellectual Property I, L.P. System and method of adaptive bit-rate streaming
US9386067B2 (en) * 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US20150281303A1 (en) * 2014-03-26 2015-10-01 Mohamed Yousef Adaptive media streaming
GB2524958A (en) * 2014-04-03 2015-10-14 Orbital Multi Media Holdings Corp Data flow control method
US20160112707A1 (en) * 2014-10-15 2016-04-21 Intel Corporation Policy-based image encoding
WO2016064728A1 (en) * 2014-10-22 2016-04-28 Arris Enterprises, Inc. Adaptive bitrate streaming latency reduction
KR102288087B1 (ko) * 2014-11-25 2021-08-10 엘지전자 주식회사 멀티미디어 디바이스 및 그 제어 방법
US9716917B2 (en) * 2014-12-12 2017-07-25 Samsung Electronics Co., Ltd. Method and apparatus for processing content recording in network
WO2016099356A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and content management module for managing content in a content distribution network
US20160191594A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Context aware streaming media technologies, devices, systems, and methods utilizing the same
US10218981B2 (en) * 2015-02-11 2019-02-26 Wowza Media Systems, LLC Clip generation based on multiple encodings of a media stream
US9774914B2 (en) * 2015-08-25 2017-09-26 Wowza Media Systems, LLC Scheduling video content from multiple sources for presentation via a streaming video channel
US9942290B2 (en) * 2015-09-09 2018-04-10 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using HTTP download segment recovery in a shared progressive ABR download pipe
US10506006B2 (en) * 2015-09-09 2019-12-10 Vantrix Corporation Method and system for flow-rate regulation in a content-controlled streaming network
US9826261B2 (en) * 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a dedicated bandwidth pipe
US11108670B2 (en) * 2015-09-09 2021-08-31 Vantrix Corporation Streaming network adapted to content selection
US9826262B2 (en) * 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a shared progressive ABR download pipe
US9654815B2 (en) * 2015-09-18 2017-05-16 Arris Enterprises, Inc. Advertising detection in adaptive bitrate streaming
EP3371978B1 (en) * 2015-11-06 2021-06-30 Koninklijke KPN N.V. Contiguous streaming of media stream
WO2017117264A1 (en) * 2015-12-29 2017-07-06 Echostar Technologies L.L.C Remote storage digital video recorder streaming and related methods
US20170220283A1 (en) * 2016-01-29 2017-08-03 Microsoft Technology Licensing, Llc Reducing memory usage by a decoder during a format change
US9800819B2 (en) * 2016-02-19 2017-10-24 Sony Corporation Methodologies and apparatus for reducing delays when receiving, processing, or switching content
EP3507977A4 (en) * 2016-08-30 2020-06-24 Sonic IP, Inc. SYSTEMS AND METHODS FOR ENCODING AND PLAYING 360-DEGREE VIEW VIDEO CONTENT
WO2018086713A1 (en) * 2016-11-14 2018-05-17 Telefonaktiebolaget Lm Ericsson (Publ) Initial bitrate selection for a video delivery session
US10812559B2 (en) * 2017-01-18 2020-10-20 Amazon Technologies, Inc. Just-in-time variable adaptive encoding and delivery of media content
US10498795B2 (en) * 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US11019126B2 (en) * 2017-06-23 2021-05-25 Nokia Solutions And Networks Oy Quality-of-experience for adaptive bitrate streaming
TWI826387B (zh) 2017-09-08 2023-12-21 美商開放電視股份有限公司 用於內容呈現之位元率及管線保留技術

Also Published As

Publication number Publication date
US11825139B2 (en) 2023-11-21
BR112020004566A2 (pt) 2020-09-08
US20200267428A1 (en) 2020-08-20
US11184652B2 (en) 2021-11-23
EP3679738A4 (en) 2020-11-04
EP3965466A1 (en) 2022-03-09
EP3679738A1 (en) 2020-07-15
EP3679738B1 (en) 2021-10-27
CN111194565A (zh) 2020-05-22
TWI826387B (zh) 2023-12-21
US20240107090A1 (en) 2024-03-28
WO2019050660A1 (en) 2019-03-14
TW202415077A (zh) 2024-04-01
EP3965466C0 (en) 2023-06-07
US20220070510A1 (en) 2022-03-03
TW201931861A (zh) 2019-08-01
DK3679738T3 (da) 2021-11-22
CN111194565B (zh) 2023-07-21
EP3965466B1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
US11240545B2 (en) Displaying non-time bound content in a time bound grid
US11595725B2 (en) Content recommendations using personas
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
ES2748209T3 (es) Sistemas, métodos y medios para la entrega de contenido
ES2910460T3 (es) Cola de contenido inteligente desde un dispositivo secundario
ES2769539T3 (es) Transmisión de petición de bloques mejorada usando plantillas y reglas de construcción de url
ES2734257T3 (es) Sistema mejorado de transmisión de petición de bloques mediante señalización o creación de bloques
US20240107090A1 (en) Bitrate and pipeline preservation for content presentation
WO2012170902A1 (en) Video and site analytics
WO2012170906A1 (en) Video aware paths
US11190845B2 (en) End-of-show con lent display trigger
KR102578024B1 (ko) 광고 표시 방법, 광고 표시 장치, 광고 표시 프로그램
US10943177B2 (en) Channel change optimization using probabilistic modeling
US20180343479A1 (en) Universal optimized content change
BR112020011166A2 (pt) definição de audiência para programas de mídia em programação linear ao vivo
US20160088334A1 (en) Automatic suggestion for switching broadcast media content to on-demand media content
US20160269457A1 (en) Time-shifted playback for over-the-top linear streaming
US20190028739A1 (en) Content rating system implementation using license rotation
CN117354581A (zh) 全景视频播放方法、装置、电子设备以及存储介质
CN117676273A (zh) 视频处理方法、装置及服务器