ES2744216T3 - Inserción y adición de parámetros de URL en flujo continuo adaptativo - Google Patents

Inserción y adición de parámetros de URL en flujo continuo adaptativo Download PDF

Info

Publication number
ES2744216T3
ES2744216T3 ES16167696T ES16167696T ES2744216T3 ES 2744216 T3 ES2744216 T3 ES 2744216T3 ES 16167696 T ES16167696 T ES 16167696T ES 16167696 T ES16167696 T ES 16167696T ES 2744216 T3 ES2744216 T3 ES 2744216T3
Authority
ES
Spain
Prior art keywords
url
query
client
segments
mpd
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
ES16167696T
Other languages
English (en)
Inventor
Xin Wang
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Application granted granted Critical
Publication of ES2744216T3 publication Critical patent/ES2744216T3/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/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/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/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/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8352Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Abstract

Un método implementado por un dispositivo de cliente para el flujo continuo de contenidos multimedia, comprendiendo el método: obtener (1010) una Descripción de presentación multimedia, MPD, para el contenido multimedia, en el que la MPD comprende una plantilla de Localizador uniforme de recursos, URL, para la construcción de unos URL; insertar (1020) uno o más parámetros de consulta en un tramo de cadena de consultas de un URL, en el que el tramo de cadena de consultas sigue un tramo de trayectoria del URL, en el que dichos uno o más parámetros se especifican para ser insertados en el tramo de cadena de consultas del URL basándose en la plantilla de URL, siendo dinámicos dichos uno o más valores de parámetro, y el dispositivo de cliente recopila y proporciona dichos uno o más valores de parámetro cuando construye el URL; enviar (1030) una petición multimedia que comprende el URL a un servidor de flujo continuo; y recibir (1040) uno o más segmentos de un contenido multimedia desde el servidor de flujo continuo en respuesta a la petición multimedia.

Description

DESCRIPCIÓN
Inserción y adición de parámetros de URL en flujo continuo adaptativo.
Antecedentes
Un proveedor o distribuidor de contenidos multimedia puede suministrar contenidos multimedia a diversos dispositivos de cliente, tales como televisiones, ordenadores portátiles y aparatos móviles. El proveedor de contenidos multimedia puede soportar una pluralidad de codificadores y/o descodificadores (códecs) multimedia, reproductores multimedia, velocidades de transmisión de cuadros de vídeo, resoluciones espaciales, velocidades de transmisión de bits, formatos de vídeo, o combinaciones de los mismos. Un contenido multimedia se puede convertir de una representación fuente a otras representaciones distintas para resultar adecuado a los diferentes dispositivos de usuario.
Un contenido multimedia puede comprender una Descripción de presentación multimedia (MPD) y una pluralidad de segmentos. La MPD puede ser un archivo de Lenguaje de marcado extensible (XML) que describe el contenido multimedia, tal como sus diversas representaciones, Localizadores uniformes de recursos (URL), y otras características. Como comprende un experto en la técnica, el contenido multimedia puede estar dividido en diversas jerarquías que incluyen períodos, conjuntos de adaptación (AS), representaciones y segmentos.
En flujo continuo adaptativo, cuando se suministra un contenido multimedia a un cliente o un dispositivo de usuario, el dispositivo de usuario puede seleccionar segmentos apropiados basándose dinámicamente en una variedad de factores, tales como las condiciones de red, la capacidad del dispositivo y la elección del usuario. El flujo continuo adaptativo puede incluir diversas tecnologías o estándares implementados o que están en desarrollo, tales como el Flujo continuo adaptativo dinámico sobre Protocolo de transferencia de hipertexto (HTTP) (DASH), el Flujo continuo en directo de HTTP (HLS) o el flujo continuo uniforme de Servicios de información de internet (IIS). Por ejemplo, el dispositivo de usuario puede seleccionar un segmento con la calidad más alta posible (p. ej., resolución o velocidad de transmisión de bits) que se puede descargar a tiempo para su reproducción, sin causar sucesos de pérdida de velocidad o de volver a almacenar en memoria intermedia en la reproducción. Así, el dispositivo de usuario puede adaptar sin discontinuidad su reproducción de contenidos multimedia a las condiciones de red cambiantes.
En flujo continuo adaptativo, puede existir la necesidad de especificar y construir los URL para acceder a segmentos multimedia de flujo continuo, a fin de proporcionar flexibilidad y reducir la complejidad de las MPD de flujo continuo, tales como las utilizadas en el DASH de Grupo de expertos de imágenes en movimiento (MPEG). Algunas soluciones existentes, tales como los mecanismos de inserción de parámetros de URL en la especificación de plantillas de URL en el estándar DASH, pueden soportar la especificación de parámetros para la inserción (o sustitución) de parámetros de URL con tipos sencillos. Así, es deseable expandir la capacidad de inserción de parámetros de URL, p. ej., para incluir más tipos de parámetros.
Los documentos WO 2012/011743 A2 y US 2013/124749 A1 describen un método y un aparato para un servicio de flujo continuo adaptativo de Protocolo de transferencia de hipertexto (HTTP) usando metadatos de contenido. Los metadatos pueden incluir un atributo minBufferTime que indica una cantidad mínima de contenido multimedia inicialmente almacenado en memoria intermedia. Un terminal puede recibir contenido desde un servidor antes de la reproducción del contenido, y puede almacenar en memoria intermedia el contenido de, al menos, la cantidad mínima.
Raphaél Troncy et al.: "Media Fragments URI 1.0 (basic)", 25 de septiembre de 2012 (25-09-2012), páginas 1-20, XP055110428, describe la especificación Media Fragments 1.0 (basic). Especifica la sintaxis para construir los URI de fragmentos multimedia y explica cómo gestionar los mismos cuando se usan sobre el protocolo HTTP. La sintaxis está basada en la especificación de pares de nombre-valor particulares que se pueden usar en peticiones de fragmentos URI y consultas URI para restringir un recurso multimedia a un cierto fragmento.
Compendio
La invención se define por el objeto de las reivindicaciones independientes 1,7, 14 y 23 anexadas.
En una realización, la invención incluye un método implementado por un dispositivo de cliente para el flujo continuo de contenidos multimedia, comprendiendo el método: obtener una Descripción de presentación multimedia (MPD) para el contenido multimedia, en el que la MPD comprende una plantilla de Localizador uniforme de recursos (URL) para la construcción de unos URL; insertar uno o más parámetros de consulta en un tramo de cadena de consultas de un URL, en el que el tramo de cadena de consultas sigue un tramo de trayectoria del URL, en el que dichos uno o más parámetros se especifican para ser insertados en el tramo de cadena de consultas del URL basándose en la plantilla de URL, siendo dinámicos dichos uno o más valores de parámetro, y el dispositivo de cliente recopila y proporciona dichos uno o más valores de parámetro cuando construye el URL; enviar una petición multimedia que comprende el URL a un servidor de flujo continuo, y recibir uno o más segmentos de un contenido multimedia desde el servidor de flujo continuo en respuesta a la petición multimedia.
En otra realización, la invención incluye un aparato que comprende un receptor configurado para recibir una MPD que comprende una plantilla de URL para un contenido multimedia, un procesador acoplado al receptor y configurado para construir un URL basándose en la plantilla de URL, en el que el URL comprende un tramo de trayectoria y un tramo de cadena de consultas que sigue el tramo de trayectoria, y en el que el tramo de cadena de consultas comprende uno o más parámetros de consulta, siendo dinámicos dichos uno o más valores de parámetro, y el aparato recopila y proporciona dichos uno o más valores de parámetro cuando construye el URL, y un transmisor acoplado al procesador y configurado para transmitir una petición para el contenido multimedia a un servidor de flujo continuo, en el que la petición comprende el URL construido, en el que el receptor está configurado para recibir uno o más segmentos del contenido multimedia desde el servidor de flujo continuo en respuesta a la petición multimedia.
Aún en otra realización, la invención incluye un método implementado por un servidor de red para el flujo continuo de contenidos multimedia, comprendiendo el método: recibir un URL desde un cliente de flujo continuo, en el que el URL comprende una trayectoria y una cadena de consultas que sigue la trayectoria, en el que la cadena de consultas comprende uno o más parámetros de consulta, en el que dichos uno o más valores de parámetro son dinámicos, y el cliente de flujo recopila y proporciona dichos uno o más valores de parámetro cuando construye el URL; determinar uno o más segmentos de un contenido multimedia para usar con el cliente de flujo continuo basándose en, al menos, uno de los parámetros de consulta recibidos, y enviar dichos uno o más segmentos al cliente de flujo continuo.
En incluso otra realización, la descripción incluye un aparato que comprende un receptor configurado para recibir un URL de un cliente de flujo continuo, en donde el URL comprende una trayectoria y una cadena de consultas que sigue la trayectoria, en donde la cadena de consultas comprende uno o más parámetros de consulta, el único o más valores de parámetro son dinámicos, y el único o más valores de parámetro se recogen y se proveen por el cliente de flujo continuo; un procesador acoplado al receptor y configurado para determinar uno o más segmentos de un contenido multimedia para su uso para el cliente de flujo continuo según al menos uno de los parámetros de consulta recibidos, y un transmisor acoplado al procesador y configurado para transmitir el único o más segmentos al cliente de flujo continuo.
Estas y otras características se comprenderán más claramente a partir de la siguiente descripción detallada tomada en unión con los dibujos y las reivindicaciones que se acompañan.
Breve descripción de los dibujos
Para una comprensión más completa de esta invención, se hace referencia a continuación a la siguiente descripción breve, tomada en relación con los dibujos que se acompañan y la descripción detallada, en la que números de referencia semejantes representan partes semejantes.
La figura 1 es un diagrama esquemático de una realización de un sistema de Flujo continuo adaptativo gestionado por servidor (SMAS).
La figura 2 ilustra una implementación, a modo de ejemplo, de un parámetro de consulta como un elemento de parámetro de URL.
La figura 3 ilustra una plantilla de URL, a modo de ejemplo, que puede comprender diversos parámetros.
La figura 4 ilustra una plantilla de URL, a modo de ejemplo, que comprende un valor estático.
La figura 5 ilustra una plantilla de URL, a modo de ejemplo, en la que un parámetro de ancho de banda es un parámetro de petición de consulta.
La figura 6A ilustra un elemento de ancho de banda, a modo de ejemplo, en un espacio de nombres, a modo de ejemplo.
La figura 6B ilustra una plantilla de URL, a modo de ejemplo, que comprende un parámetro de espacio de nombres con un valor, a modo de ejemplo.
La figura 7 ilustra una MPD, a modo de ejemplo, que se puede usar para personalizar los URL de segmentos multimedia basándose en un URL de MPD.
La figura 8 ilustra una MPD, a modo de ejemplo, que se puede usar para la inserción de anuncios y/o la resolución en directo de parámetros.
Las figuras 9A, 9B y 9D ilustran unas MPD, a modo de ejemplo, para permitir la realimentación del cliente mediante parámetros.
La figura 9C ilustra una descripción de parámetros, a modo de ejemplo, que está codificada por un Lenguaje de descripción de aplicaciones web (WADL).
La figura 10 es un diagrama de flujo de una realización de un método implementado por un dispositivo de cliente. La figura 11 es un diagrama de flujo de una realización de un método implementado por un servidor de red.
La figura 12 es un diagrama esquemático de una realización de un dispositivo de red.
Descripción detallada
Se puede comprender desde el principio que, aunque se proporciona en lo que sigue una implementación ilustrativa de una o más realizaciones, los sistemas y/o métodos descritos se pueden implementar usando cualquier número de técnicas, bien conocidas actualmente o existentes. La invención puede que no esté limitada, de modo alguno, a las implementaciones ilustrativas, los dibujos y las técnicas ilustradas en lo que sigue, incluyendo los diseños y las implementaciones, a modo de ejemplo, ilustrados y descritos en la presente memoria, pero se pueden modificar dentro del alcance de las reivindicaciones adjuntas, junto con su alcance completo de equivalentes.
La presente invención enseña realizaciones para construir un URL de segmentos multimedia insertando parámetros en un tramo de cadena de consultas del URL, en lugar de sustituyendo parámetros en el tramo de trayectoria del URL. Se puede especificar información de parámetros de URL para permitir la inserción (o sustitución) de parámetros de URL tanto estática como dinámica. Se pueden insertar diversos tipos de parámetros, incluyendo parámetros desde otros espacios de nombres, parámetros opcionales y obligatorios y/o parámetros de petición de consulta. Se pueden aplicar también reglas de procesamiento para construir los URL basándose en información especificada de parámetros de URL. La inserción de parámetros en el tramo de cadena de consultas puede permitir que un servidor de flujo continuo gestione o controle el flujo continuo adaptativo, p. ej., haciendo que el servidor, en lugar del cliente, determine qué representación y/o segmentos seleccionar para el flujo continuo de contenidos multimedia. El enfoque del Flujo continuo adaptativo gestionado por servidor (SMAS) puede ocasionar diversos beneficios, tales como mejorar la consistencia de las experiencias del cliente.
La figura 1 es un diagrama esquemático de una realización de un sistema SMAS 100, que puede comprender uno o más servidores y clientes de flujo continuo multimedia. Como un ejemplo, la figura 1 ilustra un servidor de flujo continuo 110 y un dispositivo de cliente de flujo continuo 130 (pueden estar presentes más servidores y clientes, pero no se muestran). El cliente de flujo continuo 130 puede obtener (a través de la descarga o el flujo continuo) contenidos multimedia desde el servidor de flujo continuo 110. Un contenido multimedia puede adoptar cualquier forma viable, tal como vídeo, audio, texto, o combinaciones de las mismas. El contenido multimedia puede contener cualquier tipo aplicable de información, tal como películas, música y/o publicaciones electrónicas, etc. El sistema de flujo continuo 100 puede implementar cualquier esquema o método adecuado de suministro de contenidos, tal como un esquema DASH. El cliente de flujo continuo 130 puede ser una aplicación o programa implementado en un sistema operativo de un dispositivo de usuario, o puede ser un cliente web al que se accede en una plataforma web. El servidor de flujo continuo 110 se puede implementar como cualquier tipo adecuado de servidor de red, tal como un servidor HTTP, en el que una unidad de preparación multimedia de flujo continuo puede generar o preparar contenidos multimedia. La unidad de preparación multimedia puede estar situada en el servidor HTTP o en otra parte (p. ej., en un proveedor de contenidos). El servidor de flujo continuo 110 puede ser parte de un proveedor de contenidos o puede ser un nodo en una Red de distribución de contenidos (CDN). El contenido multimedia puede ser generado por el proveedor de contenidos y transmitido a continuación a un nodo CDN. El contenido multimedia en el servidor de flujo continuo 110 puede comprender una MPD y una pluralidad de segmentos. Nótese que, si se desea, la MPD y los segmentos se pueden almacenar en servidores diferentes y enviar al cliente de flujo continuo desde servidores diferentes. Por ejemplo, una MPD se puede enviar al cliente de flujo continuo 130 desde el servidor de flujo continuo 110, mientras que los segmentos correspondientes se pueden enviar al cliente de flujo continuo 130 desde un servidor diferente de flujo continuo (no mostrado en la figura 1).
Como se muestra en la figura 1, el servidor de flujo continuo 110 comprende una unidad (o módulo) lógica de adaptación 112, un analizador sintáctico de peticiones 114, una función de suministro 116 y un contenido multimedia 120. El contenido multimedia 120 puede comprender uno o más períodos, y cada período puede comprender una pluralidad de representaciones disponibles. Por ejemplo, en un primer período, una representación 122 puede comprender múltiples segmentos, y otra representación 124 puede comprender también múltiples segmentos. Un segundo período puede ser similar. En el otro extremo del sistema de flujo continuo 100, el cliente de flujo continuo 130 comprende un motor de acceso 132, una unidad de función de supervisión 134 y un motor multimedia 136. Durante el funcionamiento del sistema de flujo continuo 100, el servidor de flujo continuo 110 puede usar la función de suministro 116 para suministrar una MPD al cliente de flujo continuo 130 (nótese que la MPD se puede suministrar también desde otro servidor). La MPD se puede suministrar usando un HTTP, un correo electrónico, un dispositivo portátil USB, una difusión, o cualquier otro medio de transporte. Analizando sintácticamente la MPD, el cliente de flujo continuo 130 puede enterarse de información relativa al contenido multimedia, tal como la temporización del programa, la disponibilidad del contenido multimedia, los tipos de multimedia, las resoluciones, los anchos de banda mínimo y máximo, la existencia de diversas alternativas codificadas de componentes multimedia, las características de accesibilidad y la Gestión de derechos digitales (DRM) requerida, la localización de cada componente multimedia en la red y otra característica del contenido multimedia. La MPD puede comprender además una plantilla de URL, basándose en que el cliente de flujo continuo 130 puede contrastar los URL para obtener segmentos.
A fin de acceder al contenido multimedia 120, el cliente de flujo continuo 130 puede enviar una o más peticiones de HTTP 140 al servidor de flujo continuo 110 para el contenido multimedia 120. Específicamente, las peticiones de HTTP 140 pueden comprender un URL que contiene información proporcionada por el cliente de flujo continuo 130 (p. ej., el ancho de banda, la capacidad del dispositivo, tal como el tamaño de pantalla, el tamaño de memoria, etc.). En una realización, el URL comprende parámetros insertados en un tramo de cadena de consultas del URL (en vez de un tramo de trayectoria del URL). El tramo de cadena de consultas puede comprender uno o más parámetros de consulta, y múltiples parámetros de consulta pueden estar separados por el símbolo “&”.
Se puede insertar cualquier tipo de parámetros relevantes en la cadena de consultas, tales como parámetros de adaptación que pueden ser requeridos u opcionales. En el caso de un parámetro opcional, por ejemplo, un servidor puede ignorar a veces las capacidades del cliente. Suponiendo que el cliente de flujo continuo 130 no puede indicar al servidor de flujo continuo 110 la resolución de un vídeo, el cliente de flujo continuo puede indicar todavía alguna información del dispositivo de cliente, tal como el tamaño de pantalla o la resolución de pantalla (que se incluye como un parámetro de consulta). El servidor de flujo continuo 110 puede usar a continuación esta información para decidir una representación o unos segmentos relevantes para el cliente 130.
Después de que el servidor de flujo continuo 110 recibe las peticiones de HTTP 140, el analizador sintáctico de peticiones 114 puede analizar sintácticamente las peticiones de HTTP 140 y enviar a continuación información relevante a la unidad lógica de adaptación 112. La unidad lógica de adaptación 112 puede permitir que el servidor de flujo continuo controle o gestione el proceso de flujo continuo multimedia (por esta razón, el sistema de flujo continuo 100 se denomina un SMAS). En una realización, la unidad lógica de adaptación 112 usa información contenida en las peticiones de HTTP 140 para tomar diversas decisiones, p. ej., para determinar o seleccionar qué representación y/o qué segmento o segmentos proporcionar al cliente de flujo continuo 130. La unidad lógica de adaptación 112 puede usar cualquier lógica adecuada de toma de decisiones. En comparación con el Flujo continuo adaptativo gestionado por el cliente (CMAS), el sistema SMAS 100 puede ser ventajoso por el hecho de que el servidor de flujo continuo 110 puede que no tenga que informar o revelar sus trayectorias de archivo al cliente de flujo continuo 130, dado que la unidad lógica de adaptación 112 toma decisiones en el interior del servidor de flujo continuo 110. Además, al proporcionar el control al servidor de flujo continuo 110 en vez de al cliente de flujo continuo 130 se puede mejorar la consistencia de las experiencias del usuario cuando se sirve el contenido multimedia 120. Por ejemplo, el servidor de flujo continuo 110 puede ofrecer la misma calidad de segmentos a clientes con el mismo ancho de banda (si el cliente tuviera el control del flujo continuo, el cliente podría supuestamente seguir pidiendo segmentos de mayor calidad incluso aunque su ancho de banda fuera insuficiente, p. ej., en un intento de conseguir más ancho de banda a partir de un proveedor de red).
Después de determinar qué segmento o segmentos servir al cliente de flujo continuo 130, el servidor de flujo continuo 110 puede usar la función de suministro 116 para suministrar los segmentos al cliente de flujo continuo 130 enviando respuestas de HTTP 142. Nótese que la MPD y los segmentos se pueden suministrar también usando diferentes funciones de suministro, y nótese además que el cliente de flujo continuo 130 puede obtener segmentos a partir de una pluralidad de servidores HTTP, p. ej., para maximizar el uso del ancho de banda de red. El motor de acceso 132 en el cliente de flujo continuo 130 puede renderizar los segmentos apropiadamente para proporcionar un servicio de flujo continuo al cliente de flujo continuo 130. El motor de acceso 132 puede procesar los segmentos multimedia y enviarlos a continuación al motor multimedia 136 para la reproducción de dichos segmentos. Además, la función de supervisión 134 puede supervisar las condiciones del cliente de flujo continuo 130 (p. ej., el ancho de banda, el código o testigo de autenticación, los parámetros de dispositivo, etc.) continua o intermitentemente, y proporcionar las condiciones al motor de acceso 132. Las condiciones se pueden insertar como parámetros de consulta de un URL, de manera que una siguiente petición de HTTP puede reflejar las condiciones del cliente de flujo continuo 130.
Una conexión de red entre el servidor de flujo continuo 110 y el cliente de flujo continuo 130 puede ser de cualquier tipo adecuado. Por ejemplo, el servidor de flujo continuo 110 y el cliente de flujo continuo 130 pueden estar conectados a través de Internet, una red móvil o una red privada (p. ej., una Intranet de empresa). Alternativamente, el servidor de flujo continuo 110 y el cliente de flujo continuo 130 pueden pertenecer a la misma red doméstica y estar conectados al mismo encaminador (“router”) de Fidelidad inalámbrica (WiFi).
En una realización, terceras partes en una red pueden proporcionar también información relativa al cliente de flujo continuo para ayudar a mejorar el proceso de flujo continuo. Al proporcionar la gestión de servidor y asistencia de red al DASH, diversos tipos de parámetros, tales como métrica DASH, parámetros QoS y parámetros de descripción del entorno de reproducción se pueden insertar como parámetros de consulta y enviar al servidor de flujo continuo. Por ejemplo, AMAZON puede proporcionar información indicando que un cliente es un socio principal, y un servidor de flujo continuo (p. ej., AT&T) puede proporcionar al cliente más ancho de banda debido a la afiliación principal.
A fin de asegurar la comprensión semántica de los parámetros que se han comunicado entre diversas partes, incluyendo los proveedores de MPD, los clientes de flujo continuo (p. ej., el cliente 130) y los servidores de segmentos multimedia (p. ej., el servidor 110), tales parámetros tienen que estar bien definidos, p. ej., usando parámetros en los esquemas actuales de construcción de plantillas de URL en el DASH. Dependiendo de la naturaleza de uso de los parámetros, pueden provenir también de estándares existentes, tales como el Lenguaje de marcado de aserción de seguridad (SAML), p. ej., para testigos relacionados de seguridad, o la Adaptación de elementos digitales (DIA) de MPEG-21, p. ej., para definiciones del entorno de usuario.
En una realización, existen diversos atributos que puede tener una solución a partir de un Experimento central (CE) sobre un DASH. En primer lugar, no solamente se pueden soportar parámetros de tipo sencillo, sino también unos con estructuras semejantes a elementos XML. En segundo lugar, el uso de parámetros puede estar señalado para la inserción URL o la cadena de consultas URL (adicional). En tercer lugar, se pueden soportar parámetros a partir de espacios de nombres no DASH. En cuarto lugar, puede ser posible indicar si se pueden requerir (por defecto) parámetros o son de uso opcional. En quinto lugar, puede ser posible especificar el alcance de los parámetros para los segmentos multimedia a los que se aplican a diferentes niveles estructurales dentro de una MPD. Esta descripción enseña un modo de especificar parámetros que se pueden insertar en los URL parametrizados, o hacer pasar con los URL como parámetros de la cadena de consultas, y las realizaciones en esta invención pueden estar diseñadas para cumplir los requisitos anteriores.
Esta invención presenta un nuevo elemento, que puede estar indicado como URLParameter, para captar información diversa relacionada con un cliente de flujo continuo. El elemento "URLParameter" se puede definir de varios modos en un esquema XML. La figura 2 ilustra una implementación 200, a modo de ejemplo, de un parámetro de consulta como un elemento "URLParameter". En la implementación 200, el elemento "URLParameter" comprende múltiples atributos que incluyen una identificación o identificador (id) 210, un valor 220, un espacio de nombres 230, un atributo de cadena de consultas 240 y un requisito de uso 250. Como comprende un experto en la técnica, son posibles otras formas o métodos de implementación para realizar el elemento "URLParameter" dentro de los principios descritos en la presente memoria.
La identificación 210 del parámetro puede ser un parámetro requerido utilizado como un testigo $id a reemplazar cuando se usa como parte de un URL parametrizado, o un “name” (el tramo antes de “=”) cuando el parámetro se puede usar para una cadena de consultas. Este nombre puede ser exclusivo con respecto al espacio de nombres 230.
El valor 220 puede ser un valor opcional para captar cualquier valor (estático) conocido del parámetro. Puede ser el valor real para reemplazar el testigo $id cuando se usa como parte de un URL parametrizado, o un “value” (el tramo después de “=”) cuando se usa para una cadena de consultas. Si esta información se está perdiendo, significa que este valor de parámetro es dinámico y puede que tenga que ser recopilado y proporcionado por un cliente de flujo continuo cuando construye el URL. Nótese que el valor real de este dato se tiene que codificar de modo que se pueda usar como parte de un URL o un URL con cadenas de consultas.
El espacio de nombres 230 puede ser un atributo opcional para cualquier entidad con el espacio de nombres del que procede el parámetro. Se puede usar cualquier espacio de nombres adecuado (p. ej., DASH o Adaptación de elementos digitales (DIA) de MPEG-21). Cuando se omite, el espacio de nombres por defecto puede estar diseñado para dar a entender DASH.
El atributo de cadena de consultas 240 puede ser opcional y puede indicar si el objetivo de este parámetro es para la inserción o para la cadena de consultas (adicional). Cuando se omite, por defecto se puede establecer para la inserción.
El requisito de uso 250 puede ser un atributo opcional señalado como “required” que indica si se requiere (es decir, obligatorio) este parámetro o es opcional. Se debería requerir un parámetro para la inserción, mientras que un parámetro para la cadena de consultas que puede ser opcional puede que no se tenga que añadir al URL. Esto proporciona flexibilidad para admitir clientes que no son capaces de proporcionar ningún valor a este parámetro o servidores que son capaces de procesar los URL sin este parámetro. Cuando se omite, por defecto puede ser que se requiera el parámetro.
En la implementación 200, la semántica de los atributos @id, @value y @namespace puede ser directa para que el experto en la técnica la entienda. El atributo @queryString adquiere un valor Booleano, con “false” para indicar que el parámetro es para la inserción URL y “true” para ser una cadena de consultas URL adicional. Cuando se omite, el valor por defecto de @queryString puede ser “false”, indicando que el parámetro es para la inserción URL. El atributo @required adquiere también un valor Booleano, con “false” para indicar que el parámetro es opcional y “true” para indicar que se requiere el parámetro.
El elemento "URLParameter" se puede colocar opcionalmente en uno o más niveles, incluyendo la MPD, el período, el conjunto de adaptación y los niveles de representación. El elemento "URLParameter" se puede aplicar a todos los segmentos multimedia dentro de su alcance. Si se desea, el elemento "URLParameter" puede estar diseñado para aplicarse a algunos (pero no a todos) de los segmentos multimedia dentro de su alcance.
En uso, un cliente de flujo continuo (p. ej., el cliente 130) puede implementar una regla de procesamiento para cada "URLParameter". En una realización, para cada URL de segmentos multimedia o cada plantilla de URL en su alcance, el cliente puede verificar primero “required” para ver si este parámetro se requiere o es opcional, y decide si lo procesará si es opcional. En segundo lugar, si el cliente decide procesar el parámetro, el cliente puede recopilar un valor de parámetro a partir de “value”, según el espacio de nombres proporcionado por “namespace”. Este valor ya puede ser proporcionado por el propio “value” o mediante algún mecanismo fuera de banda, dependiendo de la semántica de parámetro desde el espacio de nombres. En tercer lugar, el cliente puede verificar la “queryString” del parámetro, para decidir si el parámetro es para la inserción o la cadena de consultas cuando se coloca dentro del URL o la plantilla de URL. En cuarto lugar, si el objetivo es para la inserción URL, el cliente puede encontrar una sustitución en el “id” que concuerda con el URL, y reemplazar el testigo $id correcto por el valor de parámetro. En quinto lugar, si el objetivo es para la cadena de consultas URL, el cliente puede construir una cadena "id" "=" "value", y colocarla (p. ej., adjuntarla) como una cadena de consultas dentro del URL.
Algunas realizaciones, a modo de ejemplo, se dan en lo que sigue para ilustrar la especificación de parámetros enseñada en la presente memoria y su uso potencial en algunos casos de uso. La figura 3 ilustra una plantilla de URL 300, a modo de ejemplo, que puede comprender diversos parámetros que incluyen un número de representación (RepNumber) 310, un número de segmento (SegNumber) 320 y un ancho de banda de un cliente de flujo continuo (AvailableBandwidth) 330. Usando la plantilla de URL 300, el cliente de flujo continuo puede construir un URL y enviar a continuación el URL a un servidor de flujo continuo para pedir segmentos de un contenido multimedia.
Suponiendo que los valores de los parámetros son: RepNumber = 1, SegNumber =2 y AvailableBandwidth = 80000. En una realización, el cliente de flujo continuo puede usar la plantilla de URL 300 para construir el siguiente URL: http://cdn1.example.com/video/1_2.mp4v?bw=80000 (1)
En el URL (1), el parámetro de ancho de banda (bw=80000) 330 se inserta como un parámetro de consulta en el tramo de cadena de consultas del URL. El tramo de cadena de consultas sigue el tramo de trayectoria del URL y está separado de la trayectoria por un signo de interrogación (?). En el URL (1), el tramo de trayectoria es “http://cdn1.example.com/video/1_2.mp4v”, y el tramo de cadena de consultas es "bw=80000".
La figura 4 ilustra una plantilla de URL 400, a modo de ejemplo, que es similar a la plantilla de URL 300 en diversos aspectos. Por razones de concisión, las descripciones adicionales se concentrarán en aspectos que son diferentes o que están aún por describir (lo mismo se aplica a otras plantillas). La plantilla de URL 400 comprende diversos parámetros que incluyen un número de representación (RepNumber), un número de segmento (SegNumber) y un ancho de banda de un cliente de flujo continuo (AvailableBandwidth). A diferencia de la plantilla de URL 300, la plantilla de URL 400 comprende además un parámetro 410 con un valor estático. El valor estático puede estar definido por un servidor de flujo continuo y proporcionado al cliente. Como un ejemplo, el parámetro 410 está indicado como “shorthand” y tiene un valor estático de "thisIsAReallyLongPath".
Suponiendo que los valores de los parámetros son: RepNumber = 1, SegNumber = 2 y AvailableBandwidth = 80000. En una realización, usando la plantilla de URL 400, el cliente de flujo continuo puede construir el siguiente URL (2): http://cdn1.example.com/video/1_2_thisIsAReallyLongPath.mp4v?bw=80000 (2)
En el URL (2), el parámetro de ancho de banda (bw=80000) se inserta como un parámetro de consulta en el tramo de cadena de consultas del URL. Además, el valor del parámetro 410 se inserta como un parámetro de trayectoria en el tramo de trayectoria del URL.
La figura 5 ilustra una plantilla de URL 500, a modo de ejemplo, en la que un parámetro de ancho de banda 510 es un parámetro de petición de consulta (indicado por queryRequest="true"). A diferencia de las plantillas de URL 300 y 400, que enumeran AvailableBandwidth como un parámetro de sustitución (indicado por dos signos de dólar "$__$"), la plantilla de URL 500 usa AvailableBandwidth como un parámetro de petición de consulta.
Suponiendo que los valores de los parámetros siguen siendo: RepNumber = 1, SegNumber = 2 y AvailableBandwidth = 80000. En una realización, usando la plantilla de URL 500, el cliente de flujo continuo puede construir el siguiente URL (3):
http://cdn1.example.com/video/1_2.mp4v?AvailableBandwidth=80000 (3)
En el URL (3), el parámetro de ancho de banda (bw=80000) puede ser determinado por el cliente de flujo continuo (p. ej., usando la función de supervisión 134), e insertado a continuación como un parámetro de consulta en el tramo de cadena de consultas del URL.
Con el objetivo de ilustrar, se pueden usar como ejemplo parámetros de Descripción del entorno de usuario (UED) definidos por la DIA de MPEG-21. La figura 6A ilustra un elemento “AvailableBandwidth” 600, a modo de ejemplo, en el espacio de nombres DIA indicado como "urn:mpeg:mpeg21:2003:01-DIA-NS". La figura 6B ilustra una plantilla de URL 610, a modo de ejemplo, que comprende un parámetro de espacio de nombres 612 con valor "urn:mpeg:mpeg21:2003:01-DIA-NS".
Suponiendo que los valores de los parámetros son: RepNumber = 1, SegNumber = 2 y AvailableBandwidth = <AvailableBandwidth maximum="256000" average="80000"/>. En una realización, usando la plantilla de URL 610, el cliente de flujo continuo puede construir el siguiente URL:
http://cdn1.example.com/video/1_2.mp4v?AvailableBandwidth=%3CAvailableBandwidth%20maximum%3D%222560 00%22%20average%3D%2280000%22%2F%3E (4)
En el URL (4), el parámetro de ancho de banda es un intervalo en vez de un valor fijo. Además, los caracteres especiales en el parámetro de ancho de banda se codifican y se insertan a continuación como un parámetro de consulta en el tramo de cadena de consultas del URL.
En una realización para DASH, los parámetros de sustitución enumerados en la Tabla 1 se pueden poner a disposición de un cliente DASH en la etapa de construcción del URL.
Tabla 1
Figure imgf000008_0001
El experto en la técnica comprenderá el significado de los parámetros de sustitución en la Tabla 1. En particular, los últimos cuatro parámetros de sustitución enumerados en la Tabla 1 pueden ser nuevos parámetros introducidos en la presente memoria.
En una realización para la DASH, se puede constituir un elemento de Cadena de consultas URL (UrlQueryString) como la siguiente Tabla 2.
Tabla 2
Figure imgf000009_0001
Figure imgf000009_0002
El experto en la técnica comprenderá el significado de los elementos o atributos en la Tabla 2. En una realización, el elemento UrlQueryString puede aparecer, como máximo, una vez en los niveles de período, conjunto de adaptación y presentación.
El UrlQueryString en la Tabla 2 describe cómo construir una cadena de consultas URL, que pueden provenir de diversos lugares, incluyendo un URL de MPD cuando se establece el @useMPDUrlQuery, el atributo @QueryString cuando está presente, el atributo @OptionalQueryString cuando está presente o la resolución @xlink cuando está presente.
La cadena de consultas URL se puede construir concatenando cadenas de consultas, si están presentes y disponibles (especialmente para @OptionalQueryString), que resulta de @useMPDUrlQuery, @mpdQueryString, @OptionalQueryString y @xlink:href.
Cuando existen dos o más casos de UrlQueryString dentro de una MPD, la cadena de consultas URL final utilizada en el nivel de representación más interior puede ser una concatenación de las cadenas de consultas URL correspondientes de los casos en sus órdenes de aparición en la jerarquía de la MPD.
Nótese que se puede usar la señalización de parámetros “basic” (@queryString = "a=X&b=Y"), así como la señalización dependiente del Nombre de recursos uniforme (URN) (@queryString = "a=$urn:XYZ&b=$urn:ABC"). En este último caso, el cliente no puede ignorar los URN proporcionados y tiene que computarizar valores apropiados para los mismos. Los casos de uso sugeridos para tal parámetro incluyen una localización del Sistema de posicionamiento global (GPS), o un ancho de banda medido, en los que el cliente tiene que proporcionar la realimentación mediante parámetros de URL. El signo “$” se añade antes del esquema URN para notificar que se espera una computación.
Existen diversos casos de uso potenciales en un sistema de flujo continuo adaptativo (p. ej., el sistema 100), y las realizaciones descritas en la presente memoria se pueden aplicar a cualquiera de los casos de uso potenciales. Esta descripción da a conocer varios casos de uso, a modo de ejemplo, pero se debería comprender que estos ejemplos no son limitativos.
La figura 7 ilustra una MPD 700, a modo de ejemplo, que se puede usar para la personalización de los URL de segmentos multimedia basándose en un URL de MPD. Con la especificación DASH actual, la personalización de los URL de segmentos multimedia por cliente puede requerir personalizar las MPD, lo que significa la creación de una MPD específica por cliente. Este caso de uso en la figura 7 describe la personalización de los URL de segmentos multimedia basándose en el URL de MPD, de manera que es suficiente una única MPD. Un intento es permitir la transmisión de un testigo desde el URL de MPD hasta los URL de segmentos multimedia.
Se supone que la MPD 700 está disponible en el URL http://a.com/x.mpd?token=abcdeXYZ. El procesamiento de UrlQueryString conduce a una cadena de consultas, "token=abcdeXYZ". Entonces, el primer URL de segmentos multimedia de la representación de vídeo con ancho de banda = 250 es http://a.com/250000/Seg1.mp4v?token=abcdeXYZ.
Durante el curso de un contenido multimedia, puede haber sucesos dinámicos que pueden ser inesperados (p. ej., tiempos muertos adicionales durante un partido de baloncesto). Durante estos sucesos, se puede insertar publicidad (anuncios) u otra información en el contenido multimedia. La figura 8 ilustra una MPD 800, a modo de ejemplo, que se puede usar para la inserción de anuncios y/o la resolución en directo de parámetros. En este caso de uso, se pueden usar parámetros de consulta para activar la inserción de anuncios. El anuncio puede no ser conocido en el momento que se genera la MPD. Así, se propone permitir la resolución en el momento necesario de algunos parámetros. El servidor de flujo continuo puede actualizar una MPD original durante el flujo continuo del contenido multimedia al cliente de flujo continuo, y enviar la MPD actualizada a dicho cliente de flujo continuo. La MPD actualizada refleja los sucesos dinámicos que son inesperadas en el momento de generar la MPD original.
Así, las respuestas a peticiones de segmento enviadas por el servidor de flujo continuo pueden incluir actualizaciones de la MPD en el momento necesario. Este mecanismo puede, a veces, ser mejor que el transporte de sucesos dentro de banda y las actualizaciones periódicas programadas. El xlink se puede resolver a petición, y la cadena de consultas resultante es "xlinkparam=somevalue". Entonces, el primer URL de segmentos multimedia de la representación de vídeo con ancho de banda de 250 kbps es “http://a.com/250000/Seg1.mp4v?xlinkparam=somevalue”.
Otro caso potencial de uso es permitir la realimentación del cliente mediante parámetros. Los parámetros de consulta pueden ser un modo para que el cliente DASH proporcione realimentación al servidor, tal como el ancho de banda medido, la localización GPS, etc. La figura 9A ilustra una MPD 900, a modo de ejemplo, para permitir la realimentación del cliente mediante parámetros -1 y la figura 9B ilustra una MPD 950, a modo de ejemplo, para permitir la realimentación del cliente mediante parámetros -2.
Los casos de uso en las figuras 9A y 9B suponen que "urn:prmDef-1" hace referencia a una descripción de parámetros 970, a modo de ejemplo, mostrada en la figura 9C, que está codificada por un Lenguaje de descripción de aplicaciones web (WADL). Además, el caso de uso en la figura 9A supone que la MPD 900 está disponible en el URL “http://a.com/x.mpd?pd=$urn:prmDef-1”.
En la MPD 900, el procesamiento de UrlQueryString conduce a una cadena de consultas, "pd=$urn:prmDef-1". El cliente puede ser capaz de comprender el esquema “urn:prmDef-1” e insertar los valores apropiados (la localización GPS en este caso) en el URL de segmentos multimedia, que se parecería a http://a.com/250000/Seg1.mp4v?location=areaA.
En la MPD 950, el procesamiento de UrlQueryString conduce a una cadena de consultas, "a=$urn:SomeStandardizedBandwidthMeasurement". El cliente no puede ignorar el esquema señalizado y puede proporcionar, por consiguiente, el valor medido de ancho de banda, que conduce a http://a.com/Seg1.mp4v?bandwith=500000.
Otro caso similar de uso se ilustra por una MPD 970, como se muestra en la figura 9D. En la MPD 970, el procesamiento de elementos UrlQueryString a tres niveles conduce a una cadena de consultas "a=XYZ&b=EFG&c=RST". Entonces, un primer URL de segmentos multimedia de la representación de vídeo con ancho de banda de 250 kbps es http://a.com/250000/Seg1.mp4v?parameter1=EFG&parameter2=XYZ.
Se debería comprender que pueden existir muchos casos de uso potenciales distintos, en los que se pueden aplicar las realizaciones descritas en la presente memoria. Por ejemplo, un servidor de flujo continuo en una plantilla de URL puede pedir un código de autenticación (o un testigo de seguridad). Basándose en la plantilla de URL, el cliente de flujo continuo puede que tenga que acceder al código de autenticación y verificar su propia identidad con el servidor de flujo continuo antes de que se le permita obtener cualquier segmento. El código de autenticación puede ser generado por el cliente de flujo continuo, el servidor de flujo continuo o un servidor de terceras partes, y se puede almacenar de cualquier forma adecuada. El código de autenticación se puede enviar al servidor como un parámetro de consulta insertado en la cadena de consultas. El código o testigo que pasa desde el cliente hasta el servidor puede permitir una mejor gestión de sesiones.
En otro caso de uso, a modo de ejemplo, el servidor de flujo continuo puede forzar la emisión de un contenido particular, tal como un anuncio, durante un cierto período de tiempo. En este caso, el cliente de flujo continuo puede suministrar una prueba de emisión para que el servidor o para que una red verifique antes de cumplir las peticiones de segmento posteriores. La prueba puede ser generada por el cliente de flujo continuo y se puede almacenar de cualquier forma adecuada. El mecanismo de emisión forzada puede, a veces, ser mejor que un CMAS puro, p. ej., cuando el cliente no es de confianza. Por ejemplo, si el cliente tuviera el control del flujo continuo, el cliente podría pedir justamente el siguiente período cuando detectara que un segmento es un período de anuncios. Usando los mecanismos de inserción de parámetros descritos en la presente memoria, el servidor puede pedir una prueba al cliente de que se ha emitido el período de anuncios. La prueba se proporciona como un parámetro de consulta. El servidor retiene el contenido principal hasta que recibe la prueba.
En otro caso de uso, a modo de ejemplo, el servidor de flujo continuo puede cumplir la adaptación espacial dentro de una vista de campo completo. Durante el flujo continuo de un vídeo de alta resolución, el cliente puede hacer zoom en una cierta zona/ángulo (p. ej., para concentrase en un jugador particular o la canasta en un partido de baloncesto). En este caso, una Zona de interés (ROI) y/o un ángulo de visión pueden ser proporcionados por el cliente como parámetros de consulta. Por consiguiente, el servidor de flujo continuo puede proporcionar uno o más segmentos que representan una señal de vídeo especificada por, al menos, uno de la ROI y el ángulo de visión. Tal capacidad puede enriquecer las experiencias del usuario.
La figura 10 es un diagrama de flujo de una realización de un método 1000, que se puede implementar por un dispositivo de cliente (p. ej., el cliente de flujo continuo 130). El método 1000 comienza a partir de la etapa 1010, en la que el dispositivo de cliente puede obtener una MPD para un contenido multimedia. La MPD puede comprender una plantilla de URL para la construcción de los URL. En la etapa 1020, el dispositivo de cliente puede insertar uno o más parámetros de consulta en un tramo de cadena de consultas de un URL, en la que el tramo de cadena de consultas sigue un tramo de trayectoria del URL. En una realización, dichos uno o más parámetros se insertan en el tramo de cadena de consultas del URL basándose en la plantilla de URL. Dichos uno o más parámetros de consulta pueden ser cualquier tipo de parámetros relevantes, tales como un código de autenticación del cliente, un testigo de autorización (tal como a partir del OAuth (Estándar abierto para autorización), el SAML (Lenguaje de marcado de aserción de seguridad SAML de OASIS) y la GAA (Arquitectura de autenticación genérica 3GPP)), mostrando una prueba que el dispositivo de cliente ha acabado de reproducir una longitud de un contenido de emisión forzada, una ROI, el consumo eléctrico del cliente, o un ángulo de visión, o un URL para adquirir, obtener o recuperar uno o más de estos parámetros, o combinaciones de los mismos.
En la etapa 1030, el dispositivo de cliente puede enviar una petición multimedia que comprende el URL a un servidor de flujo continuo (p. ej., el servidor de flujo continuo 110). En la etapa 1040, el dispositivo de cliente puede recibir uno o más segmentos del contenido multimedia desde el servidor de flujo continuo en respuesta a la petición multimedia. Específicamente, el servidor de flujo continuo puede determinar los segmentos en respuesta a la petición multimedia y basándose, al menos en parte, en los parámetros de consulta.
Se debería comprender que el método 1000 sirve como una realización, a modo de ejemplo, así, se pueden usar alternativas para modificar el método 1000 y se pueden incorporar etapas adicionales según sea necesario. Por ejemplo, el dispositivo de cliente puede supervisar las condiciones de red y/o las condiciones de funcionamiento del dispositivo durante la reproducción del contenido multimedia, y una de las condiciones de red puede ser un ancho de banda disponible para el dispositivo de cliente durante la reproducción del contenido multimedia. Además, el ancho de banda se puede especificar como uno de los parámetros de consulta insertados en la etapa 1020.
La figura 11 es un diagrama de flujo de una realización de un método 1100, que se puede implementar por un servidor de red (p. ej., el servidor de flujo continuo 110) que actúa como servidor para el flujo continuo de contenidos multimedia. El método 1100 comienza en la etapa 1110, en la que el servidor de red puede generar una MPD para un contenido multimedia, en el que la MPD comprende una plantilla de URL que especifica uno o más parámetros de consulta a incluir en el tramo de cadena de consultas del URL. En la etapa 1120, el servidor de red puede enviar la MPD a un cliente de flujo continuo acoplado al servidor de red a través de una conexión de red.
En la etapa 1130, el servidor de red puede recibir un URL desde el cliente de flujo continuo, en la que el URL comprende una trayectoria y una cadena de consultas que sigue la trayectoria, en la que la cadena de consultas comprende uno o más parámetros de consulta. En la etapa 1140, el servidor de red puede determinar uno o más segmentos de un contenido multimedia para usar con el cliente de flujo continuo basándose en, al menos, uno de los parámetros de consulta recibidos. En la etapa 1150, el servidor de red puede enviar dichos uno o más segmentos al cliente de flujo continuo.
Se debería comprender que el método 1100 sirve como una realización, a modo de ejemplo, así, se puede modificar según sea necesario. Por ejemplo, como servidores de red diferentes pueden generar y/o almacenar la MPD y los segmentos correspondientes, se pueden saltar algunas etapas, tales como las etapas 1110 y 1120, cuando sea apropiado.
La figura 12 es un diagrama esquemático de una realización de un sistema informático o dispositivo de red 1200. El dispositivo de red 1200 se puede implementar como cualquier dispositivo adecuado, tal como un servidor de red, un servidor de flujo continuo (p. ej., el servidor de flujo continuo 110) o un dispositivo de cliente (p. ej., el dispositivo de cliente de flujo continuo 130) descrito en la presente memoria. El dispositivo de red 1200 puede ser capaz de recibir, procesar y transmitir mensajes, tales como peticiones y segmentos multimedia, hasta y desde una red. El dispositivo de red 1200 puede comprender uno o más puertos de entrada 1210 acoplados a un receptor 1212 (Rx), que puede estar configurado para recibir una MPD y/o unos segmentos desde otros componentes de red. El dispositivo de red 1200 puede comprender además uno o más puertos de salida 1230 acoplados a un transmisor (Tx) 1232, que puede estar configurado para transmitir una MPD y/o unos segmentos hasta otros componentes de red. El dispositivo de red 1200 puede comprender además una unidad lógica o procesador 1220 acoplado al receptor 1212 y configurado para procesar los segmentos o determinar de otro modo a qué componentes de red enviar dichos segmentos.
El procesador 1220 se puede implementar usando hardware o una combinación de hardware y software. El procesador 1220 se puede implementar como uno o más chips de Unidad de procesador central (CPU), núcleos (p. ej., un procesador de múltiples núcleos), Matrices de puertas programables por campo (FPGA), Circuitos integrados de aplicación específica (ASIC) y/o Procesadores de señales digitales (DSP). El procesador 1220 puede estar configurado para implementar cualquiera de los módulos o unidades funcionales descritos en la presente memoria, tales como la unidad lógica de adaptación 112, el analizador sintáctico de peticiones 114, la función de suministro 116, el motor de acceso 132, el motor multimedia 136, la función de supervisión 134, un reproductor multimedia 1221 o cualquier otro componente funcional conocido por el experto en la técnica, o cualquier combinación de los mismos. El reproductor multimedia 1221 puede ser una aplicación que se ejecuta en el procesador 1220 y que está configurada para reproducir segmentos multimedia descodificados.
El dispositivo de red 1200 puede comprender además, al menos, una memoria 1222. La memoria 1222 puede estar configurada para almacenar una MPD 1223 y unos segmentos 1224. La MPD 1223 y los segmentos 1224 pueden estar almacenados o empaquetados de diversas formas, como se ha descrito anteriormente. Por ejemplo, la MPD 1223 puede ser cualquiera de las MPD 700, 800, 900, 950 y 970. Como se muestra en la figura 12, los segmentos 1224 y el archivo MPD 1223 se almacenan como archivos independientes, pero se pueden almacenar también en un único archivo.
En la práctica, puede existir tráfico bidireccional procesado por el dispositivo de red 1200, así, algunos puertos pueden recibir y transmitir paquetes (p. ej., segmentos). En este sentido, los puertos de entrada 1210 y los puertos de salida 1230 pueden estar colocados o se pueden considerar funcionalidades diferentes de los mismos puertos que están acoplados a transceptores (Rx/Tx). Uno o más del procesador 1220, la memoria 1222, el receptor 1212 y el transmisor 1232 pueden estar configurados también para implementar o soportar, al menos parcialmente, cualquiera de las implementaciones y los métodos descritos anteriormente, tales como la implementación 200, el método 1000 y el método 1100.
Se comprende que, programando y/o cargando instrucciones ejecutables en el dispositivo de red 1200, se puede cambiar, al menos, uno del procesador 1220 y la memoria 1222. Como consecuencia, el dispositivo de red 1200 se puede transformar, en parte, en una máquina o aparato particular (p. ej., un encaminador de red que tiene la funcionalidad enseñada por la presente descripción). Las instrucciones ejecutables se pueden almacenar en la memoria 1222 y cargar en el procesador 1220 para su ejecución.
Es fundamental para las técnicas de ingeniería eléctrica y de ingeniería informática que la funcionalidad que se puede implementar cargando software ejecutable en un ordenador se pueda convertir en una implementación de hardware por reglas de diseño bien conocidas. Las decisiones entre implementar un concepto en software frente a hardware dependen habitualmente de consideraciones de estabilidad del diseño y la cantidad de unidades a producir, en lugar de cualquier cuestión implicada al trasladarse del dominio del software al dominio del hardware. Generalmente, se puede preferir que sea implementado en software un diseño que aún está sometido a cambios frecuentes, puesto que reformar una implementación de hardware es más caro que reformar un diseño de software. Generalmente, un diseño estable, que se producirá en gran volumen, se puede preferir que sea implementado en hardware, por ejemplo en un ASIC, puesto que para las tiradas de gran producción la implementación de hardware puede ser más barata que la implementación de software. A menudo, un diseño se puede desarrollar y ensayar en forma de software y transformar posteriormente, por reglas de diseño bien conocidas, en una implementación equivalente de hardware en un circuito integrado de aplicación específica que cablea físicamente las instrucciones del software. De la misma manera, como una máquina controlada por un nuevo ASIC es una máquina o aparato particular, igualmente un ordenador que ha sido programado y/o cargado con instrucciones ejecutables se puede ver como una máquina o aparato particular.
Cualquier procesamiento de la presente invención se puede implementar haciendo que un procesador (p. ej., un procesador de múltiples núcleos de uso general) ejecute un programa informático. En este caso, un producto de programa informático se puede proporcionar a un ordenador o un dispositivo de red usando cualquier tipo de soporte no transitorio legible por ordenador. El producto de programa informático se puede almacenar en un soporte no transitorio legible por ordenador en el ordenador o el dispositivo de red. Los soportes legibles por ordenador no transitorios incluyen cualquier tipo de soporte tangible de almacenamiento. Los ejemplos de soportes legibles por ordenador no transitorios incluyen medios de almacenamiento magnético (tales como discos flexibles, cintas magnéticas, unidades de disco duro, etc.), medios de almacenamiento óptico-magnético (p. ej., discos magnetoópticos), discos compactos de solo lectura (CD-ROM), discos compactos grabables (CD-R), discos compactos que se pueden reescribir (CD-R/W), discos versátiles digitales (DVD), discos Blu-ray (marca registrada) (BD), y memorias semiconductoras (tales como ROM de máscara, ROM programable (PROM), PROM que puede borrarse), ROM flash y Memoria de acceso aleatorio (RAM)). El producto de programa informático se puede proporcionar también a un ordenador o un dispositivo de red usando cualquier tipo de soporte transitorio legible por ordenador. Los ejemplos de soportes legibles por ordenador transitorios incluyen señales eléctricas, señales ópticas y ondas electromagnéticas. Los soportes legibles por ordenador transitorios pueden suministrar el programa a un ordenador a través de una línea de comunicación alámbrica (p. ej., cables eléctricos y fibras ópticas) o una línea de comunicación inalámbrica.
Se describe, al menos, una realización, y están dentro del alcance de la invención las variaciones, combinaciones y/o modificaciones de la realización o realizaciones y/o las características de la realización o realizaciones llevadas a cabo por un experto en la técnica. Las realizaciones alternativas que resultan de integrar, omitir y/o combinar las características de la realización o realizaciones están también dentro del alcance de la invención. En caso de que se indiquen expresamente limitaciones o intervalos numéricos, se puede comprender que tales limitaciones o intervalos expresos incluyen limitaciones o intervalos iterativos de magnitud semejante que están comprendidos dentro de las limitaciones o intervalos expresamente indicados (p. ej., desde aproximadamente 1 hasta aproximadamente 10 incluye 2, 3, 4, etc.; mayor que 0,10 incluye 0,11, 0,12, 0,13, etc.). Por ejemplo, cuando se describe un intervalo numérico con un límite inferior, R1, y un límite superior, Ru, se describe específicamente cualquier número que está comprendido dentro del intervalo. En particular, se describen específicamente los siguientes números dentro del intervalo: R = R1 k * (Ru - R1), en el que k es una variable que varía del 1 al 100 por cien con un incremento del 1 por ciento, es decir, k es el 1 por ciento, el 2 por ciento, el 3 por ciento, el 4 por ciento, el 5 por ciento, ..., el 50 por ciento, el 51 por ciento, el 52 por ciento, ..., el 95 por ciento, el 96 por ciento, el 97 por ciento, el 98 por ciento, el 99 por ciento o el 100 por cien. Además, se describe específicamente también cualquier intervalo numérico definido por dos números R, como se define en lo anterior. El uso del término “aproximadamente” significa /- 10% del número posterior, a menos que se indique de otro modo. El uso del término “opcionalmente”, con respecto a cualquier elemento de una reivindicación, significa que se requiere el elemento, o alternativamente, no se requiere el elemento, estando ambas alternativas dentro del alcance de la reivindicación. El uso de términos más amplios, tales como comprende, incluye y que tiene, se pueden entender que proporciona soporte para términos más restringidos, tales como que consiste en, que consiste esencialmente en y constituido sustancialmente por. Por consiguiente, el alcance de protección no está limitado por la descripción establecida anteriormente, sino que está definido por las reivindicaciones que siguen, incluyendo dicho alcance todos los equivalentes de la materia sustantiva de las reivindicaciones. Todas y cada una de las reivindicaciones se incorporan como descripción adicional en la memoria descriptiva y las reivindicaciones son una o varias realizaciones de la presente invención. La mención de una referencia en la descripción no es una admisión de que es técnica anterior, especialmente cualquier referencia que tenga una fecha de publicación posterior a la fecha de prioridad de esta solicitud. La descripción de todas las patentes, solicitudes de patente y publicaciones citadas en la descripción se incorporan a la presente memoria por referencia, en la medida en que proveen detalles a modo de ejemplo, de procedimiento u otros complementarios a la descripción.
Mientras varias realizaciones se han provisto en la presente descripción, puede comprenderse que los sistemas y métodos descritos pueden realizarse en muchas otras formas específicas sin apartarse del alcance de la presente descripción dentro el alcance de las reivindicaciones. Los presentes ejemplos se han de considerar ilustrativos y no restrictivos, y la intención no se debe limitar a los detalles proporcionados en la presente memoria. Por ejemplo, los diversos elementos o componentes se pueden combinar o integrar en otro sistema, o se pueden omitir, o no implementar, ciertas características.
Además, técnicas, sistemas, subsistemas y métodos descritos e ilustrados en las diversas realizaciones como discretos o independientes se pueden combinar o integrar con otros sistemas, módulos, técnicas o métodos sin salirse del alcance de la presente invención. Otros elementos mostrados o descritos como acoplados o directamente acoplados o en comunicación entre sí pueden estar indirectamente acoplados o en comunicación mediante alguna interfaz, dispositivo, o componente intermedio bien de modo eléctrico, mecánico o de otro modo. Otros ejemplos de cambios, sustituciones y modificaciones pueden ser determinados por un experto en la técnica y se pueden realizar sin salirse del alcance de las reivindicaciones.

Claims (24)

REIVINDICACIONES
1. Un método implementado por un dispositivo de cliente para el flujo continuo de contenidos multimedia, comprendiendo el método:
obtener (1010) una Descripción de presentación multimedia, MPD, para el contenido multimedia, en el que la MPD comprende una plantilla de Localizador uniforme de recursos, URL, para la construcción de unos URL;
insertar (1020) uno o más parámetros de consulta en un tramo de cadena de consultas de un URL, en el que el tramo de cadena de consultas sigue un tramo de trayectoria del URL, en el que dichos uno o más parámetros se especifican para ser insertados en el tramo de cadena de consultas del URL basándose en la plantilla de URL, siendo dinámicos dichos uno o más valores de parámetro, y el dispositivo de cliente recopila y proporciona dichos uno o más valores de parámetro cuando construye el URL;
enviar (1030) una petición multimedia que comprende el URL a un servidor de flujo continuo; y
recibir (1040) uno o más segmentos de un contenido multimedia desde el servidor de flujo continuo en respuesta a la petición multimedia.
2. El método según la reivindicación 1, que comprende además supervisar las condiciones de red del dispositivo de cliente durante la reproducción del contenido multimedia, en el que dichos uno o más parámetros de consulta comprenden, al menos, una de las condiciones de red.
3. El método según la reivindicación 2, en el que el servidor de contenidos determina dichos uno o más segmentos basándose, al menos en parte, en dichos uno o más parámetros de consulta, en el que una de las condiciones de red es un ancho de banda disponible para el dispositivo de cliente durante la reproducción del contenido multimedia, y en el que el ancho de banda se especifica como uno de los parámetros de consulta insertados.
4. El método según la reivindicación 1, en el que dichos uno o más parámetros de consulta comprenden un código de autenticación proporcionado por el dispositivo de cliente, y en el que recibir dichos uno o más segmentos ocurre tras la verificación de la identidad del dispositivo de cliente.
5. El método según la reivindicación 1, en el que dichos uno o más parámetros de consulta comprenden una prueba que muestra que el dispositivo de cliente ha acabado de reproducir una longitud de un contenido de emisión forzada, y en el que recibir dichos uno o más segmentos ocurre solamente tras la verificación de la prueba mediante el servidor de flujo continuo.
6. El método según la reivindicación 1, en el que dichos uno o más parámetros de consulta comprenden, al menos, uno de una Zona de interés, ROI, y un ángulo de visión proporcionados por el dispositivo de cliente, y en el que dichos uno o más segmentos representan una señal de vídeo especificada por, al menos, uno de la ROI y el ángulo de visión.
7. Un aparato, que comprende:
un receptor configurado para recibir una Descripción de presentación multimedia, MPD, que comprende una plantilla de Localizador uniforme de recursos, URL, para un contenido multimedia;
un procesador acoplado al receptor y configurado para construir un URL basándose en la plantilla de URL, en el que el URL comprende un tramo de trayectoria y un tramo de cadena de consultas que sigue el tramo de trayectoria, y en el que el tramo de cadena de consultas comprende uno o más parámetros de consulta, siendo dinámicos dichos uno o más valores de parámetro, y el aparato recopila y proporciona dichos uno o más valores de parámetro cuando construye el URL; y
un transmisor acoplado al procesador y configurado para transmitir una petición para el contenido multimedia a un servidor de flujo continuo, en el que la petición comprende el URL construido;
en el que el receptor está configurado para recibir uno o más segmentos del contenido multimedia desde el servidor de flujo continuo en respuesta a la petición multimedia.
8. El aparato según la reivindicación 7, en el que el procesador está configurado además para supervisar las condiciones de red del aparato durante la reproducción del contenido multimedia.
9. El aparato según la reivindicación 8, en el que una de las condiciones de red es un ancho de banda disponible para el aparato durante la reproducción del contenido multimedia, y en el que el ancho de banda está insertado en el URL como uno de los parámetros de consulta.
10. El aparato según la reivindicación 8, en el que dichos uno o más parámetros de consulta comprenden un código de autenticación accesible para el procesador, y en el que recibir dichos uno o más segmentos ocurre tras la verificación de la identidad del aparato.
11. El aparato según la reivindicación 8, en el que dichos uno o más parámetros de consulta comprenden una prueba que muestra que el procesador ha acabado de reproducir una longitud de un contenido de emisión forzada, y en el que recibir dichos uno o más segmentos ocurre solamente tras la verificación de la prueba mediante el servidor de flujo continuo.
12. El aparato según la reivindicación 8, en el que dichos uno o más parámetros de consulta comprenden, al menos, uno de una Zona de interés, ROI, y un ángulo de visión proporcionados por un usuario que utiliza el aparato, y en el que dichos uno o más segmentos representan una señal de vídeo especificada por, al menos, uno de la ROI y el ángulo de visión.
13. El aparato según la reivindicación 7, en el que la petición es una petición de Protocolo de transferencia de hipertexto, HTTP, y en el que la MPD y los segmentos se adaptan, todos, al Flujo continuo adaptativo dinámico sobre HTTP, DASH.
14. Un método implementado por un servidor de red para el flujo continuo de contenidos multimedia, comprendiendo el método:
enviar (1120) una Descripción de presentación multimedia, MPD, para el contenido multimedia, en el que la MPD comprende una plantilla de Localizador uniforme de recursos, URL, para construir los URL a un cliente de flujo continuo;
recibir (1130) un Localizador uniforme de recursos, URL, desde el cliente de flujo continuo, en el que el URL comprende una trayectoria y una cadena de consultas que sigue la trayectoria, en el que la cadena de consultas comprende dichos uno o más parámetros de consulta, en el que dichos uno o más valores de parámetro son dinámicos, y el cliente de flujo continuo recopila y proporciona dichos uno o más valores de parámetro cuando construye el URL;
determinar (1140) uno o más segmentos de un contenido multimedia para usar con el cliente de flujo continuo basándose en, al menos, uno de los parámetros de consulta recibidos; y
enviar (1150) dichos uno o más segmentos al cliente de flujo continuo.
15. El método de la reivindicación 14, que además comprende:
generar (1110) la descripción de presentación multimedia, MPD, para el contenido multimedia, en donde la MPD comprende la plantilla de URL que especifica el único o más parámetros de consulta que se incluirán en la porción de cadena de consultas del URL.
16. El método según la reivindicación 15, en el que la plantilla de URL comprende un elemento de parámetro de URL que especifica un parámetro de consulta en dichos uno o más parámetros de consulta, y en el que el elemento de parámetro de URL comprende una identificación del parámetro de consulta.
17. El método de la reivindicación 15, en donde la plantilla de URL comprende un elemento de parámetro de URL que especifica un parámetro de consulta en el único o más parámetros de consulta, y en donde el elemento de parámetro de URL especifica un valor estático del parámetro de consulta que es accesible por el servidor de red.
18. El método según la reivindicación 15, en el que la plantilla de URL comprende un elemento de parámetro de URL que especifica un parámetro de consulta en dichos uno o más parámetros de consulta, en el que el elemento de parámetro de URL especifica un espacio de nombres, y en el que el parámetro de consulta procede de una entidad con el espacio de nombres.
19. El método según la reivindicación 15, que comprende además:
actualizar la MPD durante el flujo continuo del contenido multimedia al cliente de flujo continuo, en el que la MPD actualizada refleja sucesos dinámicos que son inesperados en el momento de generar la MPD; y
enviar la MPD actualizada al cliente de flujo continuo.
20. El método de la reivindicación 14, en donde el único o más parámetros de consulta comprenden un código de autenticación provisto por el cliente de flujo continuo, y en donde el método además comprende verificar una identidad del cliente de flujo continuo mediante el uso del código de autenticación antes de enviar el único o más segmentos.
21. El método de la reivindicación 14, en donde el único o más parámetros de consulta comprenden una prueba de emisión provista por el cliente de flujo continuo, en donde el método además comprende usar la prueba de emisión para verificar que el cliente de flujo continuo haya finalizado la reproducción de un contenido de emisión forzada, y en donde el envío del único o más segmentos se retiene hasta la verificación de la prueba de emisión.
22. El método de la reivindicación 14, en donde el único o más parámetros de consulta comprenden un ancho de banda de red disponible al cliente de flujo continuo durante la reproducción de un contenido multimedia que comprende los segmentos, y en donde la determinación del único o más segmentos comprende seleccionar una representación, a la cual el único o más segmentos pertenecen, según el ancho de banda.
23. Un aparato que comprende:
un transmisor configurado para transmitir una descripción de presentación multimedia, MPD, para el contenido multimedia, en donde la MPD comprende una plantilla de localizador uniforme de recursos, URL, para la construcción de URL a un cliente de flujo continuo;
un receptor configurado para recibir un localizador uniforme de recursos, URL, del cliente de flujo continuo, en donde el URL comprende una trayectoria y una cadena de consultas que sigue la trayectoria, en donde la cadena de consultas comprende uno o más parámetros de consulta, el único o más valores de parámetro son dinámicos, y el único o más valores de parámetro se recogen y proveen por el cliente de flujo continuo;
un procesador acoplado al receptor y configurado para determinar uno o más segmentos del contenido multimedia para su uso para el cliente de flujo continuo según al menos uno de los parámetros de consulta recibidos; y el transmisor acoplado al procesador y configurado para transmitir el único o más segmentos al cliente de flujo continuo.
24. El aparato de la reivindicación 23, en donde el procesador se configura además para generar la descripción de presentación multimedia, MPD, para el contenido multimedia, en donde la MPD comprende la plantilla de URL que especifica el único o más parámetros de consulta que se incluirán en la porción de cadena de consultas del URL.
ES16167696T 2013-01-16 2014-01-16 Inserción y adición de parámetros de URL en flujo continuo adaptativo Active ES2744216T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201361753347P 2013-01-16 2013-01-16

Publications (1)

Publication Number Publication Date
ES2744216T3 true ES2744216T3 (es) 2020-02-24

Family

ID=50073472

Family Applications (2)

Application Number Title Priority Date Filing Date
ES16167696T Active ES2744216T3 (es) 2013-01-16 2014-01-16 Inserción y adición de parámetros de URL en flujo continuo adaptativo
ES14703994.5T Active ES2606552T3 (es) 2013-01-16 2014-01-16 Inserción y adición de parámetros de URL en flujo continuo adaptativo

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES14703994.5T Active ES2606552T3 (es) 2013-01-16 2014-01-16 Inserción y adición de parámetros de URL en flujo continuo adaptativo

Country Status (7)

Country Link
US (2) US9749375B2 (es)
EP (2) EP3073712B1 (es)
JP (1) JP6173485B2 (es)
KR (2) KR101692685B1 (es)
CN (2) CN108540834B (es)
ES (2) ES2744216T3 (es)
WO (1) WO2014113604A1 (es)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2996715A1 (fr) * 2012-10-09 2014-04-11 France Telecom Heritage de parametres d'identifiant universel de ressource (uri)
US9628528B2 (en) * 2013-07-19 2017-04-18 Electronics And Telecommunications Research Institute Apparatus and method for providing content
WO2015081218A1 (en) * 2013-11-27 2015-06-04 Interdigital Patent Holdings, Inc. Media presentation description
KR101924703B1 (ko) * 2014-02-13 2019-02-20 코닌클리즈케 케이피엔 엔.브이. 단일 메세지 요청에 기초하여 네트워크 노드로부터 다수의 청크 요청
CN106170988A (zh) 2014-03-13 2016-11-30 凡瑞斯公司 使用嵌入式代码的交互式内容获取
US20150261753A1 (en) * 2014-03-13 2015-09-17 Verance Corporation Metadata acquisition using embedded codes
JP6541309B2 (ja) * 2014-06-23 2019-07-10 キヤノン株式会社 送信装置、送信方法、及びプログラム
US10110657B2 (en) * 2014-07-03 2018-10-23 Telefonaktiebolaget Lm Ericsson (Publ) System and method for pushing live media content in an adaptive streaming environment
US9923942B2 (en) 2014-08-29 2018-03-20 The Nielsen Company (Us), Llc Using messaging associated with adaptive bitrate streaming to perform media monitoring for mobile platforms
CN104301743B (zh) * 2014-09-11 2018-02-23 华为技术有限公司 传输视频的方法、网关设备和视频传输系统
JP6476995B2 (ja) * 2015-02-24 2019-03-06 沖電気工業株式会社 中継装置、コンテンツ配信システム、中継方法およびプログラム
KR101622316B1 (ko) * 2015-03-13 2016-05-19 서울대학교산학협력단 영상제공시스템 및 영상제공방법
US10291681B2 (en) * 2015-06-18 2019-05-14 Ericsson Ab Directory limit based system and method for storing media segments
US10205991B2 (en) * 2015-07-27 2019-02-12 Sony Corporation Hidden replaceable media slots
US10257284B2 (en) * 2015-12-30 2019-04-09 Samsung Electronics Co., Ltd. Broadcasting local function templates to proximate mobile computing devices
CN105872724A (zh) * 2015-12-31 2016-08-17 乐视网信息技术(北京)股份有限公司 一种视频播放方法及装置
JP6624958B2 (ja) * 2016-02-03 2019-12-25 キヤノン株式会社 通信装置、通信システム、通信制御方法およびコンピュータプログラム
CN107040505B (zh) * 2016-02-04 2021-01-26 中兴通讯股份有限公司 媒体数据传输方法及装置
US10820063B2 (en) * 2016-06-10 2020-10-27 Arris Enterprises Llc Manifest customization in adaptive bitrate streaming
US10193944B2 (en) * 2016-06-17 2019-01-29 Q Technologies Inc. Systems and methods for multi-device media broadcasting or recording with active control
US10771969B2 (en) * 2016-07-11 2020-09-08 T-Mobile Usa, Inc. Voice control and telecommunications service integration
US10555172B2 (en) 2016-09-07 2020-02-04 T-Mobile Usa, Inc. Untrusted device access to services over a cellular network
CN109964471B (zh) * 2016-10-18 2022-03-22 埃克斯普韦公司 用于向移动用户设备发送内容的方法
US10440085B2 (en) 2016-12-30 2019-10-08 Facebook, Inc. Effectively fetch media content for enhancing media streaming
US10476943B2 (en) * 2016-12-30 2019-11-12 Facebook, Inc. Customizing manifest file for enhancing media streaming
CN107343028B (zh) * 2017-06-13 2020-10-27 江西山水光电科技股份有限公司 一种基于http协议的通信方法及系统
CN107295003B (zh) * 2017-07-17 2020-01-07 联动优势科技有限公司 一种数据传输方法、装置及系统
CN109495789B (zh) * 2017-09-13 2022-02-25 华为技术有限公司 媒体文件播放方法、设备及通信系统
CN108650183A (zh) * 2018-05-15 2018-10-12 南京邮电大学 一种基于Web动态路由匹配技术的无人机信息查询系统
CN110545492B (zh) * 2018-09-05 2020-07-31 北京开广信息技术有限公司 媒体流的实时递送方法及服务器
KR102258641B1 (ko) * 2018-12-31 2021-05-31 경희대학교 산학협력단 무선 통신망 기반 콘텐츠 리스트 및 사용자 정보를 이용한 콘텐츠 전송 방법 및 장치
US11012723B2 (en) * 2019-01-02 2021-05-18 Tencent America LLC Service descriptions for multimedia streaming
CN111654725B (zh) * 2019-03-04 2021-12-21 北京开广信息技术有限公司 媒体流的实时接收方法及客户端
US11622164B2 (en) 2019-07-12 2023-04-04 Carrier Corporation System and method for streaming video/s
JP7472286B2 (ja) 2019-12-11 2024-04-22 グーグル エルエルシー メディアコンテンツ項目をストリーミングするためのフォーマットを選択するための方法、システム、および媒体
US11470136B2 (en) 2020-10-07 2022-10-11 Tencent America LLC URL customization using the session-based dash operations
US20230336599A1 (en) * 2022-04-19 2023-10-19 Tencent America LLC Extensible Request Signaling for Adaptive Streaming Parameterization
US20230336603A1 (en) * 2022-04-19 2023-10-19 Tencent America LLC Processing model for dash client processing model to support handling of dash event updates

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003267975A1 (en) * 2002-06-27 2004-01-19 Piranha Media Distribution, Inc. Method and apparatus for the free licensing of digital media content
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US7552127B2 (en) * 2006-12-19 2009-06-23 International Business Machines Corporation System and method for providing platform-independent content services for users for content from content applications leveraging Atom, XLink, XML Query content management systems
CN101262604A (zh) * 2008-04-23 2008-09-10 哈尔滨工程大学 一种感兴趣区优先传输的可伸缩视频编码方法
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
KR101786050B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
DK2526671T3 (en) * 2010-01-18 2017-02-27 ERICSSON TELEFON AB L M (publ) METHODS AND DEVICES FOR HTTP MEDIA FLOW DISTRIBUTION
EP2362651A1 (en) 2010-02-19 2011-08-31 Thomson Licensing Multipath delivery for adaptive streaming
US20130117413A1 (en) 2010-07-20 2013-05-09 Sharp Kabushiki Kaisha Content distribution device, content playback device, content distribution system, method for controlling a content distribution device, control program, and recording medium
KR20120034550A (ko) 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
WO2012011490A1 (ja) 2010-07-20 2012-01-26 シャープ株式会社 コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体
US9369512B2 (en) 2010-10-06 2016-06-14 Electronics And Telecommunications Research Institute Apparatus and method for providing streaming content
US8849950B2 (en) 2011-04-07 2014-09-30 Qualcomm Incorporated Network streaming of video data using byte range requests
CN103583050B (zh) 2011-06-08 2018-09-14 皇家Kpn公司 空间分段的内容的递送
EP2557753A1 (en) * 2011-08-09 2013-02-13 Alcatel Lucent Method for streaming video content, edge node and client entity realizing such a method
US9253233B2 (en) * 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
KR101922552B1 (ko) * 2011-12-06 2018-11-29 삼성전자주식회사 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치
WO2013090280A2 (en) * 2011-12-15 2013-06-20 Dolby Laboratories Licensing Corporation Bandwidth adaptation for dynamic adaptive transferring of multimedia
US20150172348A1 (en) * 2012-01-17 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) Method for sending respectively receiving a media stream
US9712887B2 (en) * 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
JP6064249B2 (ja) * 2012-07-09 2017-01-25 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装
US20150172353A1 (en) * 2012-07-11 2015-06-18 Miska Hannuksela Method and apparatus for interacting with a media presentation description that describes a summary media presentation and an original media presentation
US9357272B2 (en) * 2012-08-03 2016-05-31 Intel Corporation Device orientation capability exchange signaling and server adaptation of multimedia content in response to device orientation
US20140052824A1 (en) * 2012-08-20 2014-02-20 Qualcomm Incorporated Conveying state information for streaming media
WO2014053160A1 (en) * 2012-10-01 2014-04-10 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and method relating to the streaming of content to one or more user devices
US9143543B2 (en) * 2012-11-30 2015-09-22 Google Technology Holdings LLC Method and system for multi-streaming multimedia data
WO2014108207A1 (en) * 2013-01-11 2014-07-17 Telefonaktiebolaget L M Ericsson (Publ) Technique for operating client and server devices in a broadcast communication network
US20140201368A1 (en) * 2013-01-15 2014-07-17 Samsung Electronics Co., Ltd. Method and apparatus for enforcing behavior of dash or other clients

Also Published As

Publication number Publication date
CN108540834B (zh) 2021-04-20
US9749375B2 (en) 2017-08-29
EP2904764B1 (en) 2016-09-21
EP3073712A1 (en) 2016-09-28
EP3073712B1 (en) 2019-06-19
US20140201335A1 (en) 2014-07-17
KR20160134880A (ko) 2016-11-23
ES2606552T3 (es) 2017-03-24
US10148714B2 (en) 2018-12-04
KR101692685B1 (ko) 2017-01-03
CN104956645B (zh) 2018-04-27
CN104956645A (zh) 2015-09-30
JP2016511954A (ja) 2016-04-21
WO2014113604A1 (en) 2014-07-24
US20170026437A1 (en) 2017-01-26
EP2904764A1 (en) 2015-08-12
KR20150077461A (ko) 2015-07-07
CN108540834A (zh) 2018-09-14
JP6173485B2 (ja) 2017-08-02

Similar Documents

Publication Publication Date Title
ES2744216T3 (es) Inserción y adición de parámetros de URL en flujo continuo adaptativo
KR101924987B1 (ko) 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
JP6064249B2 (ja) 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装
CN107454101B (zh) 用于下载和串流的内容存储和传输的系统和方法
ES2848116T3 (es) Transmisión basada en formato de archivo con formatos DASH basados en LCT
ES2870552T3 (es) Procedimiento y aparato para transmitir y recibir contenido basado en mecanismo de Streaming adaptativa
US20160373462A1 (en) Template Uniform Resource Locator Signing
US9438654B2 (en) Fragment interface into dynamic adaptive streaming over hypertext transfer protocol presentations
KR20170015912A (ko) 매니페스트 속성을 이용하여 미디어 자산을 필터링하는 시스템
CN106165435B (zh) 自适应流媒体中的客户端行为控制的方法、装置和服务器
US9843615B2 (en) Signaling and handling of forensic marking for adaptive streaming
KR20150083429A (ko) Dash를 사용하는 비디오 재생을 위한 비트 깊이 표현 방법
Alliance Technical Specification Version 5.0
Alliance Technical Specification Version 4.0
Pinto Mobile Context-Aware Multimedia Application