ES2606552T3 - 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 PDFInfo
- Publication number
- ES2606552T3 ES2606552T3 ES14703994.5T ES14703994T ES2606552T3 ES 2606552 T3 ES2606552 T3 ES 2606552T3 ES 14703994 T ES14703994 T ES 14703994T ES 2606552 T3 ES2606552 T3 ES 2606552T3
- Authority
- ES
- Spain
- Prior art keywords
- url
- query
- mpd
- continuous flow
- client
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26258—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/47217—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
- H04N21/6547—Transmission by server directed to the client comprising parameters, e.g. for client setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8352—Generation of protective data, e.g. certificates involving content or source identification data, e.g. Unique Material Identifier [UMID]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
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; 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
5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Insercion y adicion de parametros 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 portatiles y aparatos moviles. El proveedor de contenidos multimedia puede soportar una pluralidad de codificadores y/o descodificadores (codecs) multimedia, reproductores multimedia, velocidades de transmision de cuadros de video, resoluciones espaciales, velocidades de transmision de bits, formatos de video, o combinaciones de los mismos. Un contenido multimedia se puede convertir de una representacion fuente a otras representaciones distintas para resultar adecuado a los diferentes dispositivos de usuario.
Un contenido multimedia puede comprender una Descripcion de presentacion 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 caractensticas. Como comprende un experto en la tecnica, el contenido multimedia puede estar dividido en diversas jerarqmas que incluyen pertados, conjuntos de adaptacion (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 basandose dinamicamente en una variedad de factores, tales como las condiciones de red, la capacidad del dispositivo y la eleccion del usuario. El flujo continuo adaptativo puede incluir diversas tecnologfas o estandares implementados o que estan en desarrollo, tales como el Flujo continuo adaptativo dinamico sobre Protocolo de transferencia de hipertexto (HTTP) (DASH), el Flujo continuo en directo de HTTP (HLS) o el flujo continuo uniforme de Servicios de informacion de internet (IIS). Por ejemplo, el dispositivo de usuario puede seleccionar un segmento con la calidad mas alta posible (p. ej., resolucion o velocidad de transmision de bits) que se puede descargar a tiempo para su reproduccion, sin causar sucesos de perdida de velocidad o de volver a almacenar en memoria intermedia en la reproduccion. Asf, el dispositivo de usuario puede adaptar sin discontinuidad su reproduccion 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 imagenes en movimiento (MPEG). Algunas soluciones existentes, tales como los mecanismos de insercion de parametros de URL en la especificacion de plantillas de URL en el estandar DASH, pueden soportar la especificacion de parametros para la insercion (o sustitucion) de parametros de URL con tipos sencillos. Asf, es deseable expandir la capacidad de insercion de parametros de URL, p. ej., para incluir mas tipos de parametros.
Los documentos WO 2012/011743 A2 y US 2013/124749 A1 describen un metodo y un aparato para un servicio de flujo continuo adaptativo de Protocolo de transferencia de hipertexto (HTTP) usando metadatas de contenido. Los metadatos pueden incluir un atributo minBufferTime que indica una cantidad minima de contenido multimedia inicialmente almacenado en memoria intermedia. Un terminal puede recibir contenido desde un servidor antes de la reproduccion del contenido, y puede almacenar en memoria intermedia el contenido de, al menos, la cantidad minima.
Raphael Troncy et al.: "Media Fragments URI 1.0 (basic)", 25 de septiembre de 2012 (), paginas 1-20, XP055110428, describe la especificacion Media Fragments 1.0 (basic). Especifica la sintaxis para construir los URI de fragmentos multimedia y explica como gestionar los mismos cuando se usan sobre el protocolo HTTP. La sintaxis esta basada en la especificacion 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
En una realizacion, la invencion incluye un metodo implementado por un dispositivo de cliente para el flujo continuo de contenidos multimedia, comprendiendo el metodo: obtener una Descripcion de presentacion multimedia (MPD) para el contenido multimedia, en el que la MPD comprende una plantilla de Localizador uniforme de recursos (URL) para la construccion de unos URL; insertar uno o mas parametros 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 mas parametros se especifican para ser insertados en el tramo de cadena de consultas del URL basandose en la plantilla de URL, siendo dinamicos dichos uno o mas valores de parametro, y el dispositivo de cliente recopila y proporciona dichos uno o mas valores de parametro; enviar una peticion multimedia que comprende el URL a un servidor de flujo continuo, y recibir uno o mas segmentos de un contenido multimedia desde el servidor de flujo continuo en respuesta a la peticion multimedia.
En otra realizacion, la invencion 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 basandose en la plantilla de URL, en el que el URL comprende un tramo de
5
10
15
20
25
30
35
40
45
50
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 mas parametros de consulta, siendo dinamicos dichos uno o mas valores de parametro, y el aparato recopila y proporciona dichos uno o mas valores de parametro, y un transmisor acoplado al procesador y configurado para transmitir una peticion para el contenido multimedia a un servidor de flujo continuo, en el que la peticion comprende el URL construido, en el que el receptor esta configurado para recibir uno o mas segmentos del contenido multimedia desde el servidor de flujo continuo en respuesta a la peticion multimedia.
Aun en otra realizacion, la invencion incluye un metodo implementado por un servidor de red para el flujo continuo de contenidos multimedia, comprendiendo el metodo; generar una MPD para el contenido multimedia, en el que la MPD comprende una plantilla de URL que especifica dichos uno o mas parametros de consulta a incluir en el tramo de cadena de consultas del URL; enviar la MPD al cliente de flujo continuo; 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 mas parametros de consulta, en el que dichos uno o mas valores de parametro son dinamicos, y el dispositivo de cliente recopila y proporciona dichos uno o mas valores de parametro; determinar uno o mas segmentos de un contenido multimedia para usar con el cliente de flujo continuo basandose en, al menos, uno de los parametros de consulta recibidos, y enviar dichos uno o mas segmentos al cliente de flujo continuo.
Estas y otras caractensticas se comprenderan mas claramente a partir de la siguiente descripcion detallada tomada en union con los dibujos y las reivindicaciones que se acompanan.
Breve descripcion de los dibujos
Para una comprension mas completa de esta invencion, se hace referencia a continuacion a la siguiente descripcion breve, tomada en relacion con los dibujos que se acompanan y la descripcion detallada, en la que numeros de referencia semejantes representan partes semejantes.
La figura 1 es un diagrama esquematico de una realizacion de un sistema de Flujo continuo adaptativo gestionado por servidor (SMAS).
La figura 2 ilustra una implementacion, a modo de ejemplo, de un parametro de consulta como un elemento de parametro de URL.
La figura 3 ilustra una plantilla de URL, a modo de ejemplo, que puede comprender diversos parametros.
La figura 4 ilustra una plantilla de URL, a modo de ejemplo, que comprende un valor estatico.
La figura 5 ilustra una plantilla de URL, a modo de ejemplo, en la que un parametro de ancho de banda es un parametro de peticion 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 parametro 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 basandose en un URL de MPD.
La figura 8 ilustra una MPD, a modo de ejemplo, que se puede usar para la insercion de anuncios y/o la resolucion en directo de parametros.
Las figuras 9A, 9B y 9D ilustran unas MPD, a modo de ejemplo, para permitir la realimentacion del cliente mediante parametros.
La figura 9C ilustra una descripcion de parametros, a modo de ejemplo, que esta codificada por un Lenguaje de descripcion de aplicaciones web (WADL).
La figura 10 es un diagrama de flujo de una realizacion de un metodo implementado por un dispositivo de cliente.
La figura 11 es un diagrama de flujo de una realizacion de un metodo implementado por un servidor de red.
La figura 12 es un diagrama esquematico de una realizacion de un dispositivo de red.
Descripcion detallada
Se puede comprender desde el principio que, aunque se proporciona en lo que sigue una implementacion ilustrativa de una o mas realizaciones, los sistemas y/o metodos descritos se pueden implementar usando cualquier numero de tecnicas, bien conocidas actualmente o existentes. La invencion puede que no este limitada, de modo alguno, a las implementaciones ilustrativas, los dibujos y las tecnicas ilustradas en lo que sigue, incluyendo los disenos y las
5
10
15
20
25
30
35
40
45
50
55
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 invencion ensena realizaciones para construir un URL de segmentos multimedia insertando parametros en un tramo de cadena de consultas del uRl, en lugar de sustituyendo parametros en el tramo de trayectoria del URL. Se puede especificar informacion de parametros de URL para permitir la insercion (o sustitucion) de parametros de URL tanto estatica como dinamica. Se pueden insertar diversos tipos de parametros, incluyendo parametros desde otros espacios de nombres, parametros opcionales y obligatorios y/o parametros de peticion de consulta. Se pueden aplicar tambien reglas de procesamiento para construir los uRl basandose en informacion especificada de parametros de URL. La insercion de parametros 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 que representacion 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 esquematico de una realizacion de un sistema SMAS 100, que puede comprender uno o mas 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 mas servidores y clientes, pero no se muestran). El cliente de flujo continuo 130 puede obtener (a traves 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 video, audio, texto, o combinaciones de las mismas. El contenido multimedia puede contener cualquier tipo aplicable de informacion, tal como pelfculas, musica y/o publicaciones electronicas, etc. El sistema de flujo continuo 100 puede implementar cualquier esquema o metodo adecuado de suministro de contenidos, tal como un esquema DASH. El cliente de flujo continuo 130 puede ser una aplicacion 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 preparacion multimedia de flujo continuo puede generar o preparar contenidos multimedia. La unidad de preparacion 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 distribucion de contenidos (CDN). El contenido multimedia puede ser generado por el proveedor de contenidos y transmitido a continuacion a un nodo CDN. El contenido multimedia en el servidor de flujo continuo 110 puede comprender una MPD y una pluralidad de segmentos. Notese 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 modulo) logica de adaptacion 112, un analizador sintactico de peticiones 114, una funcion de suministro 116 y un contenido multimedia 120. El contenido multimedia 120 puede comprender uno o mas penodos, y cada penodo puede comprender una pluralidad de representaciones disponibles. Por ejemplo, en un primer penodo, una representacion 122 puede comprender multiples segmentos, y otra representacion 124 puede comprender tambien multiples segmentos. Un segundo penodo 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 funcion de supervision 134 y un motor multimedia 136.
Durante el funcionamiento del sistema de flujo continuo 100, el servidor de flujo continuo 110 puede usar la funcion de suministro 116 para suministrar una MPD al cliente de flujo continuo 130 (notese que la MPD se puede suministrar tambien desde otro servidor). La MPD se puede suministrar usando un HTTP, un correo electronico, un dispositivo portatil USB, una difusion, o cualquier otro medio de transporte. Analizando sintacticamente la MPD, el cliente de flujo continuo 130 puede enterarse de informacion relativa al contenido multimedia, tal como la temporizacion del programa, la disponibilidad del contenido multimedia, los tipos de multimedia, las resoluciones, los anchos de banda mmimo y maximo, la existencia de diversas alternativas codificadas de componentes multimedia, las caractensticas de accesibilidad y la Gestion de derechos digitales (DRM) requerida, la localizacion de cada componente multimedia en la red y otra caractenstica del contenido multimedia. La MPD puede comprender ademas una plantilla de URL, basandose 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 mas peticiones de HTTP 140 al servidor de flujo continuo 110 para el contenido multimedia 120. Espedficamente, las peticiones de HTTP 140 pueden comprender un URL que contiene informacion proporcionada por el cliente de flujo continuo 130 (p. ej., el ancho de banda, la capacidad del dispositivo, tal como el tamano de pantalla, el tamano de memoria, etc.). En una realizacion, el URL comprende parametros 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 mas parametros de consulta, y multiples parametros de consulta pueden estar separados por el sfmbolo “&”.
5
10
15
20
25
30
35
40
45
50
55
60
Se puede insertar cualquier tipo de parametros relevantes en la cadena de consultas, tales como parametros de adaptacion que pueden ser requeridos u opcionales. En el caso de un parametro 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 1l0 la resolucion de un video, el cliente de flujo continuo puede indicar todavfa alguna informacion del dispositivo de cliente, tal como el tamano de pantalla o la resolucion de pantalla (que se incluye como un parametro de consulta). El servidor de flujo continuo 110 puede usar a continuacion esta informacion para decidir una representacion o unos segmentos relevantes para el cliente 130.
Despues de que el servidor de flujo continuo 110 recibe las peticiones de HTTP 140, el analizador sintactico de peticiones 114 puede analizar sintacticamente las peticiones de HTTP 140 y enviar a continuacion informacion relevante a la unidad logica de adaptacion 112. La unidad logica de adaptacion 112 puede permitir que el servidor de flujo continuo controle o gestione el proceso de flujo continuo multimedia (por esta razon, el sistema de flujo continuo 100 se denomina un SMAS). En una realizacion, la unidad logica de adaptacion 112 usa informacion contenida en las peticiones de HTTP 140 para tomar diversas decisiones, p. ej., para determinar o seleccionar que representacion y/o que segmento o segmentos proporcionar al cliente de flujo continuo 130. La unidad logica de adaptacion 112 puede usar cualquier logica adecuada de toma de decisiones. En comparacion 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 logica de adaptacion 112 toma decisiones en el interior del servidor de flujo continuo 110. Ademas, 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 podna supuestamente seguir pidiendo segmentos de mayor calidad incluso aunque su ancho de banda fuera insuficiente, p. ej., en un intento de conseguir mas ancho de banda a partir de un proveedor de red).
Despues de determinar que segmento o segmentos servir al cliente de flujo continuo 130, el servidor de flujo continuo 110 puede usar la funcion de suministro 116 para suministrar los segmentos al cliente de flujo continuo 130 enviando respuestas de HTTP 142. Notese que la MPD y los segmentos se pueden suministrar tambien usando diferentes funciones de suministro, y notese ademas 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 continuacion al motor multimedia 136 para la reproduccion de dichos segmentos. Ademas, la funcion de supervision 134 puede supervisar las condiciones del cliente de flujo continuo 130 (p. ej., el ancho de banda, el codigo o testigo de autenticacion, los parametros de dispositivo, etc.) continua o intermitentemente, y proporcionar las condiciones al motor de acceso 132. Las condiciones se pueden insertar como parametros de consulta de un URL, de manera que una siguiente peticion de HTTP puede reflejar las condiciones del cliente de flujo continuo 130.
Una conexion 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 traves de Internet, una red movil 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 domestica y estar conectados al mismo encaminador (“router”) de Fidelidad inalambrica (WiFi).
En una realizacion, terceras partes en una red pueden proporcionar tambien informacion relativa al cliente de flujo continuo para ayudar a mejorar el proceso de flujo continuo. Al proporcionar la gestion de servidor y asistencia de red al DASH, diversos tipos de parametros, tales como metrica DASH, parametros QoS y parametros de descripcion del entorno de reproduccion se pueden insertar como parametros de consulta y enviar al servidor de flujo continuo. Por ejemplo, AMAZON puede proporcionar informacion indicando que un cliente es un socio principal, y un servidor de flujo continuo (p. ej., AT&T) puede proporcionar al cliente mas ancho de banda debido a la afiliacion principal.
A fin de asegurar la comprension semantica de los parametros 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 parametros tienen que estar bien definidos, p. ej., usando parametros en los esquemas actuales de construccion de plantillas de URL en el DASH. Dependiendo de la naturaleza de uso de los parametros, pueden provenir tambien de estandares existentes, tales como el Lenguaje de marcado de asercion de seguridad (SAML), p. ej., para testigos relacionados de seguridad, o la Adaptacion de elementos digitales (DIA) de MPEG-21, p. ej., para definiciones del entorno de usuario.
En una realizacion, existen diversos atributos que puede tener una solucion a partir de un Experimento central (CE) sobre un DASH. En primer lugar, no solamente se pueden soportar parametros de tipo sencillo, sino tambien unos con estructuras semejantes a elementos XML. En segundo lugar, el uso de parametros puede estar senalado para la insercion URL o la cadena de consultas URL (adicional). En tercer lugar, se pueden soportar parametros a partir de espacios de nombres no DASH. En cuarto lugar, puede ser posible indicar si se pueden requerir (por defecto) parametros o son de uso opcional. En quinto lugar, puede ser posible especificar el alcance de los parametros para
5
10
15
20
25
30
35
40
45
50
55
los segmentos multimedia a los que se aplican a diferentes niveles estructurales dentro de una MPD. Esta descripcion ensena un modo de especificar parametros que se pueden insertar en los URL parametrizados, o hacer pasar con los URL como parametros de la cadena de consultas, y las realizaciones en esta invencion pueden estar disenadas para cumplir los requisitos anteriores.
Esta invencion presenta un nuevo elemento, que puede estar indicado como URLParameter, para captar informacion 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 implementacion 200, a modo de ejemplo, de un parametro de consulta como un elemento "URLParameter". En la implementacion 200, el elemento "URLParameter" comprende multiples atributos que incluyen una identificacion 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 tecnica, son posibles otras formas o metodos de implementacion para realizar el elemento "URLParameter" dentro de los principios descritos en la presente memoria.
La identificacion 210 del parametro puede ser un parametro 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 parametro 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 (estatico) conocido del parametro. Puede ser el valor real para reemplazar el testigo $id cuando se usa como parte de un URL parametrizado, o un “value” (el tramo despues de “=”) cuando se usa para una cadena de consultas. Si esta informacion se esta perdiendo, significa que este valor de parametro es dinamico y puede que tenga que ser recopilado y proporcionado por un cliente de flujo continuo cuando construye el URL. Notese 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 parametro. Se puede usar cualquier espacio de nombres adecuado (p. ej., DASH o Adaptacion de elementos digitales (DIA) de MPEG-21). Cuando se omite, el espacio de nombres por defecto puede estar disenado para dar a entender DASH.
El atributo de cadena de consultas 240 puede ser opcional y puede indicar si el objetivo de este parametro es para la insercion o para la cadena de consultas (adicional). Cuando se omite, por defecto se puede establecer para la insercion.
El requisito de uso 250 puede ser un atributo opcional senalado como “required” que indica si se requiere (es decir, obligatorio) este parametro o es opcional. Se debena requerir un parametro para la insercion, mientras que un parametro para la cadena de consultas que puede ser opcional puede que no se tenga que anadir al URL. Esto proporciona flexibilidad para admitir clientes que no son capaces de proporcionar ningun valor a este parametro o servidores que son capaces de procesar los URL sin este parametro. Cuando se omite, por defecto puede ser que se requiera el parametro.
En la implementacion 200, la semantica de los atributos @id, @value y @namespace puede ser directa para que el experto en la tecnica la entienda. El atributo @queryString adquiere un valor Booleano, con “false” para indicar que el parametro es para la insercion 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 parametro es para la insercion URL. El atributo @required adquiere tambien un valor Booleano, con “false” para indicar que el parametro es opcional y “true” para indicar que se requiere el parametro.
El elemento "URLParameter" se puede colocar opcionalmente en uno o mas niveles, incluyendo la MPD, el penodo, el conjunto de adaptacion y los niveles de representacion. El elemento "URLParameter" se puede aplicar a todos los segmentos multimedia dentro de su alcance. Si se desea, el elemento "URLParameter" puede estar disenado 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 realizacion, para cada URL de segmentos multimedia o cada plantilla de URL en su alcance, el cliente puede verificar primero “required” para ver si este parametro se requiere o es opcional, y decide si lo procesara si es opcional. En segundo lugar, si el cliente decide procesar el parametro, el cliente puede recopilar un valor de parametro a partir de “value”, segun el espacio de nombres proporcionado por “namespace”. Este valor ya puede ser proporcionado por el propio “value” o mediante algun mecanismo fuera de banda, dependiendo de la semantica de parametro desde el espacio de nombres. En tercer lugar, el cliente puede verificar la “queryString” del parametro, para decidir si el parametro es para la insercion 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 insercion URL, el cliente puede encontrar una sustitucion en el “id” que concuerda con el URL, y reemplazar el testigo $id correcto por el valor de parametro. 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.
5
10
15
20
25
30
35
40
45
50
Algunas realizaciones, a modo de ejemplo, se dan en lo que sigue para ilustrar la especificacion de parametros ensenada 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 parametros que incluyen un numero de representacion (RepNumber) 310, un numero 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 continuacion el URL a un servidor de flujo continuo para pedir segmentos de un contenido multimedia.
Suponiendo que los valores de los parametros son: RepNumber = 1, SegNumber =2 y AvailableBandwidth = 80000. En una realizacion, 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 parametro de ancho de banda (bw=80000) 330 se inserta como un parametro 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 esta separado de la trayectoria por un signo de interrogacion (?). 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".
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 concision, las descripciones adicionales se concentraran en aspectos que son diferentes o que estan aun por describir (lo mismo se aplica a otras plantillas). La plantilla de URL 400 comprende diversos parametros que incluyen un numero de representacion (RepNumber), un numero 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 ademas un parametro 410 con un valor estatico. El valor estatico puede estar definido por un servidor de flujo continuo y proporcionado al cliente. Como un ejemplo, el parametro 410 esta indicado como “shorthand” y tiene un valor estatico de "thisIsAReallyLongPath".
Suponiendo que los valores de los parametros son: RepNumber = 1, SegNumber = 2 y AvailableBandwidth = 80000. En una realizacion, 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 parametro de ancho de banda (bw=80000) se inserta como un parametro de consulta en el tramo de cadena de consultas del URL. Ademas, el valor del parametro 410 se inserta como un parametro 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 parametro de ancho de banda 510 es un parametro de peticion de consulta (indicado por queryRequest="true"). A diferencia de las plantillas de URL 300 y
400, que enumeran AvailableBandwidth como un parametro de sustitucion (indicado por dos signos de dolar "$__$"),
la plantilla de URL 500 usa AvailableBandwidth como un parametro de peticion de consulta.
Suponiendo que los valores de los parametros siguen siendo: RepNumber = 1, SegNumber = 2 y AvailableBandwidth = 80000. En una realizacion, 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 parametro de ancho de banda (bw=80000) puede ser determinado por el cliente de flujo continuo (p. ej., usando la funcion de supervision 134), e insertado a continuacion como un parametro de consulta en el tramo de cadena de consultas del URL.
Con el objetivo de ilustrar, se pueden usar como ejemplo parametros de Descripcion 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 parametro de espacio de nombres 612 con valor "urn:mpeg:mpeg21:2003:01-DIA-NS".
Suponiendo que los valores de los parametros son: RepNumber = 1, SegNumber = 2 y AvailableBandwidth = <AvailableBandwidth maximum="256000" average="80000"/>. En una realizacion, 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 parametro de ancho de banda es un intervalo en vez de un valor fijo. Ademas, los caracteres especiales en el parametro de ancho de banda se codifican y se insertan a continuacion como un parametro de consulta en el tramo de cadena de consultas del URL.
En una realizacion para DASH, los parametros de sustitucion enumerados en la Tabla 1 se pueden poner a disposicion de un cliente DASH en la etapa de construccion del URL.
Tabla 1
- $<Identificador>$
- Parametro de sustitucion Formato
- $$
- Es una secuencia de escape, es decir,"$$" se reemplaza por un unico “$”. no aplicable
- $RepresentationID$
- Este identificador se sustituye por el valor del atributo Representation@id de la Representacion que contiene. La etiqueta de formato no estara presente.
- $Number$
- Este identificador se sustituye por el numero del Segmento correspondiente. La etiqueta de formato puede estar presente. Si no esta presente ninguna etiqueta de formato, se usara una etiqueta de formato por defecto con anchura=1.
- $Bandwidth$
- Este identificador se sustituye por el valor del atributo Representation@bandwidth. La etiqueta de formato puede estar presente. Si no esta presente ninguna etiqueta de formato, se usara una etiqueta de formato por defecto con anchura=1.
- $Time$
- Este identificador se sustituye por el valor del atributo SegmentTimeline@t para el Segmento al que se esta accediendo. Se puede usar o $Number$ o $Time$, pero no ambos al mismo tiempo. La etiqueta de formato puede estar presente. Si no esta presente ninguna etiqueta de formato, se usara una etiqueta de formato por defecto con anchura=1.
- $querypart$
- Este identificador se sustituye por la parte de consulta de la cadena de consultas computarizada (UrlQueryString). La etiqueta de formato no estara presente.
- $fragmentpart$
- Este identificador se sustituye por la parte de fragmento de la cadena de consultas computarizada (UrlQueryString). La etiqueta de formato no estara presente.
- $query:param$
- Este identificador se sustituye por el valor del parametro param si este parametro esta presente en la parte de consulta de la cadena de consultas computarizada (UrlQueryString). La etiqueta de formato no estara presente.
- $fragment:param$
- Este identificador se sustituye por el valor del parametro param si este parametro esta presente en la parte de fragmento de la cadena de consultas computarizada (UrlQueryString). La etiqueta de formato no estara presente.
5 El experto en la tecnica comprendera el significado de los parametros de sustitucion en la Tabla 1. En particular, los ultimos cuatro parametros de sustitucion enumerados en la Tabla 1 pueden ser nuevos parametros introducidos en la presente memoria.
5
10
15
20
25
En una realizacion para la DASH, se puede constituir un elemento de Cadena de consultas URL (UrlQueryString) como la siguiente Tabla 2.
Tabla 2
- Nombre de elemento o atributo
- Uso Descripcion
- UrlQueryString
- proporciona informacion de la cadena de consultas URL.
- @useMPDUrlQuery
- O (booleano) especifica si la cadena de consultas a usar es la que esta presente en el URL de MPD.
- @QueryString
- O (cadena) proporciona una cadena de consultas a usar en la construccion de los URL de segmentos multimedia.
- @OptionalQueryString
- O (cadena) proporciona una cadena de consultas cuyo uso en la construccion de los URL de segmentos multimedia es opcional.
- @xlink:href
- O especifica una referencia a una cadena de consultas externa
- @xlink:actuate
- OD por defecto: a Peticion especifica las instrucciones de procesamiento, que pueden ser "onLoad" u "onRequest". Este atributo no estara presente si no esta presente el atributo @xlink:href.
Leyenda:
Para los atributos: M=Obligatorio, O=Opcional, OD=Opcional con valor por defecto, CM=Obligatorio condicionalmente. Para los elementos: <minOccurs>...<maxOccurs> (N=sin relacionar).
Notese que las condiciones se mantienen solamente sin usarxlink:href. Si se usan enlaces, entonces, todos los atributos son “opcionales” y <minOccurs=0>.
Los elementos estan en negrita; los atributos no estan en negrita y van precedidos con una @.
El experto en la tecnica comprendera el significado de los elementos o atributos en la Tabla 2. En una realizacion, el elemento UrlQueryString puede aparecer, como maximo, una vez en los niveles de penodo, conjunto de adaptacion y presentacion.
El UrlQueryString en la Tabla 2 describe como 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 esta presente, el atributo @OptionalQueryString cuando esta presente o la resolucion @xlink cuando esta presente.
La cadena de consultas URL se puede construir concatenando cadenas de consultas, si estan presentes y disponibles (especialmente para @OptionalQueryString), que resulta de @useMPDUrlQuery, @mpdQueryString, @OptionalQueryString y @xlink:href.
Cuando existen dos o mas casos de UrlQueryString dentro de una MPD, la cadena de consultas URL final utilizada en el nivel de representacion mas interior puede ser una concatenacion de las cadenas de consultas URL correspondientes de los casos en sus ordenes de aparicion en la jerarqma de la MPD.
Notese que se puede usar la senalizacion de parametros “basic” (@queryString = "a=X&b=Y"), asf como la senalizacion dependiente del Nombre de recursos uniforme (URN) (@queryString = "a=$urn:XYZ&b=$urn:ABC"). En este ultimo 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 parametro incluyen una localizacion del Sistema de posicionamiento global (GPS), o un ancho de banda medido, en los que el cliente tiene que proporcionar la realimentacion mediante parametros de URL. El signo “$” se anade antes del esquema URN para notificar que se espera una computacion.
5
10
15
20
25
30
35
40
45
50
55
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 descripcion da a conocer varios casos de uso, a modo de ejemplo, pero se debena comprender que estos ejemplos no son limitativos.
La figura 7 ilustra una MPD 700, a modo de ejemplo, que se puede usar para la personalizacion de los URL de segmentos multimedia basandose en un URL de MpD. Con la especificacion DASH actual, la personalizacion de los URL de segmentos multimedia por cliente puede requerir personalizar las MPD, lo que significa la creacion de una MPD espedfica por cliente. Este caso de uso en la figura 7 describe la personalizacion de los URL de segmentos multimedia basandose en el URL de MPD, de manera que es suficiente una unica MPD. Un intento es permitir la transmision de un testigo desde el URL de MPD hasta los URL de segmentos multimedia.
Se supone que la MPD 700 esta 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
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 representacion de video con ancho de banda = 250 es
http://a.com/250000/Seg1.mp4v?token=abcdeXYZ.
Durante el curso de un contenido multimedia, puede haber sucesos dinamicos que pueden ser inesperados (p. ej., tiempos muertos adicionales durante un partido de baloncesto). Durante estos sucesos, se puede insertar publicidad (anuncios) u otra informacion en el contenido multimedia. La figura 8 ilustra una MPD 800, a modo de ejemplo, que se puede usar para la insercion de anuncios y/o la resolucion en directo de parametros. En este caso de uso, se pueden usar parametros de consulta para activar la insercion de anuncios. El anuncio puede no ser conocido en el momento que se genera la MPD. Asf, se propone permitir la resolucion en el momento necesario de algunos parametros. 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 dinamicos que son inesperadas en el momento de generar la MPD original.
Asf, 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 periodicas programadas. El xlink se puede resolver a peticion, y la cadena de consultas resultante es "xlinkparam=somevalue". Entonces, el primer URL de segmentos multimedia de la representacion de video con ancho de banda de 250 kbps es “
http://a.com/250000/Seg1.mp4v?xlinkparam=somevalue”.
http://a.com/250000/Seg1.mp4v?xlinkparam=somevalue”.
Otro caso potencial de uso es permitir la realimentacion del cliente mediante parametros. Los parametros de consulta pueden ser un modo para que el cliente DASH proporcione realimentacion al servidor, tal como el ancho de banda medido, la localizacion GPS, etc. La figura 9A ilustra una MPD 900, a modo de ejemplo, para permitir la realimentacion del cliente mediante parametros -1 y la figura 9B ilustra una MPD 950, a modo de ejemplo, para permitir la realimentacion del cliente mediante parametros -2.
Los casos de uso en las figuras 9A y 9B suponen que "urn:prmDef-1" hace referencia a una descripcion de parametros 970, a modo de ejemplo, mostrada en la figura 9C, que esta codificada por un Lenguaje de descripcion de aplicaciones web (WADL). Ademas, el caso de uso en la figura 9A supone que la MPD 900 esta disponible en el URL “
http://a.com/x.mpd?pd=$urn:prmDef-1”.
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 localizacion GPS en este caso) en el URL de segmentos multimedia, que se parecena 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 senalizado y puede proporcionar, por consiguiente, el valor medido de ancho de banda, que conduce a
http://a.com/Seg1.mp4v?bandwith=500000.
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 representacion de video con ancho de banda de 250 kbps es
http://a.com/250000/Seg1.mp4v?parameter1=EFG¶meter2=XYZ.
http://a.com/250000/Seg1.mp4v?parameter1=EFG¶meter2=XYZ.
Se debena 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 codigo de autenticacion (o un testigo de seguridad). Basandose en la plantilla de URL, el cliente de flujo continuo puede que tenga que acceder al codigo de autenticacion y verificar su propia identidad con el servidor de flujo continuo antes de que se le permita obtener cualquier segmento. El codigo de autenticacion 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 codigo de autenticacion se puede enviar al servidor como un
5
10
15
20
25
30
35
40
45
50
55
parametro de consulta insertado en la cadena de consultas. El codigo o testigo que pasa desde el cliente hasta el servidor puede permitir una mejor gestion de sesiones.
En otro caso de uso, a modo de ejemplo, el servidor de flujo continuo puede forzar la emision de un contenido particular, tal como un anuncio, durante un cierto penodo de tiempo. En este caso, el cliente de flujo continuo puede suministrar una prueba de emision 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 emision 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 podna pedir justamente el siguiente penodo cuando detectara que un segmento es un penodo de anuncios. Usando los mecanismos de insercion de parametros descritos en la presente memoria, el servidor puede pedir una prueba al cliente de que se ha emitido el penodo de anuncios. La prueba se proporciona como un parametro 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 adaptacion espacial dentro de una vista de campo completo. Durante el flujo continuo de un video de alta resolucion, el cliente puede hacer zoom en una cierta zona/angulo (p. ej., para concentrase en un jugador particular o la canasta en un partido de baloncesto). En este caso, una Zona de interes (ROI) y/o un angulo de vision pueden ser proporcionados por el cliente como parametros de consulta. Por consiguiente, el servidor de flujo continuo puede proporcionar uno o mas segmentos que representan una senal de video especificada por, al menos, uno de la ROI y el angulo de vision. Tal capacidad puede enriquecer las experiencias del usuario.
La figura 10 es un diagrama de flujo de una realizacion de un metodo 1000, que se puede implementar por un dispositivo de cliente (p. ej., el cliente de flujo continuo 130). El metodo 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 construccion de los URL. En la etapa 1020, el dispositivo de cliente puede insertar uno o mas parametros 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 realizacion, dichos uno o mas parametros se insertan en el tramo de cadena de consultas del URL basandose en la plantilla de URL. Dichos uno o mas parametros de consulta pueden ser cualquier tipo de parametros relevantes, tales como un codigo de autenticacion del cliente, un testigo de autorizacion (tal como a partir del OAuth (Estandar abierto para autorizacion), el SAML (Lenguaje de marcado de asercion de seguridad SAML de OASIS) y la GAA (Arquitectura de autenticacion generica 3GPP)), mostrando una prueba que el dispositivo de cliente ha acabado de reproducir una longitud de un contenido de emision forzada, una ROI, el consumo electrico del cliente, o un angulo de vision, o un URL para adquirir, obtener o recuperar uno o mas de estos parametros, o combinaciones de los mismos.
En la etapa 1030, el dispositivo de cliente puede enviar una peticion 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 mas segmentos del contenido multimedia desde el servidor de flujo continuo en respuesta a la peticion multimedia. Espedficamente, el servidor de flujo continuo puede determinar los segmentos en respuesta a la peticion multimedia y basandose, al menos en parte, en los parametros de consulta.
Se debena comprender que el metodo 1000 sirve como una realizacion, a modo de ejemplo, asf, se pueden usar alternativas para modificar el metodo 1000 y se pueden incorporar etapas adicionales segun sea necesario. Por ejemplo, el dispositivo de cliente puede supervisar las condiciones de red y/o las condiciones de funcionamiento del dispositivo durante la reproduccion del contenido multimedia, y una de las condiciones de red puede ser un ancho de banda disponible para el dispositivo de cliente durante la reproduccion del contenido multimedia. Ademas, el ancho de banda se puede especificar como uno de los parametros de consulta insertados en la etapa 1020.
La figura 11 es un diagrama de flujo de una realizacion de un metodo 1100, que se puede implementar por un servidor de red (p. ej., el servidor de flujo continuo 110) que actua como servidor para el flujo continuo de contenidos multimedia. El metodo 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 mas parametros 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 traves de una conexion 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 mas parametros de consulta. En la etapa 1140, el servidor de red puede determinar uno o mas segmentos de un contenido multimedia para usar con el cliente de flujo continuo basandose en, al menos, uno de los parametros de consulta recibidos. En la etapa 1150, el servidor de red puede enviar dichos uno o mas segmentos al cliente de flujo continuo.
Se debena comprender que el metodo 1100 sirve como una realizacion, a modo de ejemplo, asf, se puede modificar segun 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.
5
10
15
20
25
30
35
40
45
50
55
60
La figura 12 es un diagrama esquematico de una realizacion de un sistema informatico 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 mas 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 ademas uno o mas 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 ademas una unidad logica o procesador 1220 acoplado al receptor 1212 y configurado para procesar los segmentos o determinar de otro modo a que componentes de red enviar dichos segmentos.
El procesador 1220 se puede implementar usando hardware o una combinacion de hardware y software. El procesador 1220 se puede implementar como uno o mas chips de Unidad de procesador central (CPU), nucleos (p. ej., un procesador de multiples nucleos), Matrices de puertas programables por campo (FPGA), Circuitos integrados de aplicacion espedfica (ASIC) y/o Procesadores de senales digitales (DSP). El procesador 1220 puede estar configurado para implementar cualquiera de los modulos o unidades funcionales descritos en la presente memoria, tales como la unidad logica de adaptacion 112, el analizador sintactico de peticiones 114, la funcion de suministro 116, el motor de acceso 132, el motor multimedia 136, la funcion de supervision 134, un reproductor multimedia 1221 o cualquier otro componente funcional conocido por el experto en la tecnica, o cualquier combinacion de los mismos. El reproductor multimedia 1221 puede ser una aplicacion que se ejecuta en el procesador 1220 y que esta configurada para reproducir segmentos multimedia descodificados.
El dispositivo de red 1200 puede comprender ademas, 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 tambien en un unico archivo.
En la practica, puede existir trafico bidireccional procesado por el dispositivo de red 1200, asf, 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 estan acoplados a transceptores (Rx/Tx). Uno o mas del procesador 1220, la memoria 1222, el receptor 1212 y el transmisor 1232 pueden estar configurados tambien para implementar o soportar, al menos parcialmente, cualquiera de las implementaciones y los metodos descritos anteriormente, tales como la implementacion 200, el metodo 1000 y el metodo 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 maquina o aparato particular (p. ej., un encaminador de red que tiene la funcionalidad ensenada por la presente descripcion). Las instrucciones ejecutables se pueden almacenar en la memoria 1222 y cargar en el procesador 1220 para su ejecucion.
Es fundamental para las tecnicas de ingeniena electrica y de ingeniena informatica que la funcionalidad que se puede implementar cargando software ejecutable en un ordenador se pueda convertir en una implementacion de hardware por reglas de diseno bien conocidas. Las decisiones entre implementar un concepto en software frente a hardware dependen habitualmente de consideraciones de estabilidad del diseno y la cantidad de unidades a producir, en lugar de cualquier cuestion implicada al trasladarse del dominio del software al dominio del hardware. Generalmente, se puede preferir que sea implementado en software un diseno que aun esta sometido a cambios frecuentes, puesto que reformar una implementacion de hardware es mas caro que reformar un diseno de software. Generalmente, un diseno estable, que se producira en gran volumen, se puede preferir que sea implementado en hardware, por ejemplo en un ASIC, puesto que para las tiradas de gran produccion la implementacion de hardware puede ser mas barata que la implementacion de software. A menudo, un diseno se puede desarrollar y ensayar en forma de software y transformar posteriormente, por reglas de diseno bien conocidas, en una implementacion equivalente de hardware en un circuito integrado de aplicacion espedfica que cablea ffsicamente las instrucciones del software. De la misma manera, como una maquina controlada por un nuevo ASIC es una maquina o aparato particular, igualmente un ordenador que ha sido programado y/o cargado con instrucciones ejecutables se puede ver como una maquina o aparato particular.
Cualquier procesamiento de la presente invencion se puede implementar haciendo que un procesador (p. ej., un procesador de multiples nucleos de uso general) ejecute un programa informatico. En este caso, un producto de programa informatico 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 informatico 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 magnetico (tales como discos flexibles, cintas
5
10
15
20
25
30
35
40
45
50
magneticas, unidades de disco duro, etc.), medios de almacenamiento optico-magnetico (p. ej., discos magnetoopticos), discos compactos de solo lectura (CD-ROM), discos compactos grabables (CD-R), discos compactos que se pueden reescribir (CD-R/W), discos versatiles digitales (DVD), discos Blu-ray (marca registrada) (BD), y memorias semiconductoras (tales como ROM de mascara, ROM programable (PROM), PROM que puede borrarse), ROM flash y Memoria de acceso aleatorio (RAM)). El producto de programa informatico se puede proporcionar tambien 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 senales electricas, senales opticas y ondas electromagneticas. Los soportes legibles por ordenador transitorios pueden suministrar el programa a un ordenador a traves de una lmea de comunicacion alambrica (p. ej., cables electricos y fibras opticas) o una lmea de comunicacion inalambrica.
Se describe, al menos, una realizacion, y estan dentro del alcance de la invencion las variaciones, combinaciones y/o modificaciones de la realizacion o realizaciones y/o las caractensticas de la realizacion o realizaciones llevadas a cabo por un experto en la tecnica. Las realizaciones alternativas que resultan de integrar, omitir y/o combinar las caractensticas de la realizacion o realizaciones estan tambien dentro del alcance de la invencion. En caso de que se indiquen expresamente limitaciones o intervalos numericos, se puede comprender que tales limitaciones o intervalos expresos incluyen limitaciones o intervalos iterativos de magnitud semejante que estan 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 numerico con un lfmite inferior, R1, y un lfmite superior, Ru, se describe espedficamente cualquier numero que esta comprendido dentro del intervalo. En particular, se describen espedficamente los siguientes numeros dentro del intervalo: R = R1 + k * (Ru - R1), en el que k es una variable que vana 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. Ademas, se describe espedficamente tambien cualquier intervalo numerico definido por dos numeros R, como se define en lo anterior. El uso del termino “aproximadamente” significa +/- 10% del numero posterior, a menos que se indique de otro modo. El uso del termino “opcionalmente”, con respecto a cualquier elemento de una reivindicacion, significa que se requiere el elemento, o alternativamente, no se requiere el elemento, estando ambas alternativas dentro del alcance de la reivindicacion. El uso de terminos mas amplios, tales como comprende, incluye y que tiene, se pueden entender que proporciona soporte para terminos mas restringidos, tales como que consiste en, que consiste esencialmente en y constituido sustancialmente por. Por consiguiente, el alcance de proteccion no esta limitado por la descripcion establecida anteriormente, sino que esta 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 descripcion adicional en la memoria descriptiva y las reivindicaciones son una o varias realizaciones de la presente invencion. La mencion de una referencia en la descripcion no es una admision de que es tecnica anterior, especialmente cualquier referencia que tenga una fecha de publicacion posterior a la fecha de prioridad de esta solicitud. La descripcion de todas las patentes, las solicitudes de patente y las publicaciones citadas en la descripcion proporcionan detalles a modo de ejemplo, procedimentales o de otro tipo suplementarios a dicha descripcion.
Aunque se han proporcionado varias realizaciones en la presente invencion, se puede comprender que los sistemas y metodos descritos se podnan realizar de muchas formas espedficas distintas sin salirse del alcance de la presente invencion. Los presentes ejemplos se han de considerar ilustrativos y no restrictivos, y la intencion 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 caractensticas.
Ademas, tecnicas, sistemas, subsistemas y metodos descritos e ilustrados en las diversas realizaciones como discretos o independientes se pueden combinar o integrar con otros sistemas, modulos, tecnicas o metodos sin salirse del alcance de la presente invencion. Otros elementos mostrados o descritos como acoplados o directamente acoplados o en comunicacion entre sf pueden estar indirectamente acoplados o en comunicacion mediante alguna interfaz, dispositivo, o componente intermedio bien de modo electrico, mecanico o de otro modo. Otros ejemplos de cambios, sustituciones y modificaciones pueden ser determinados por un experto en la tecnica y se pueden realizar sin salirse del alcance descrito en la presente memoria.
Claims (17)
- 5101520253035404550REIVINDICACIONES1. Un metodo implementado por un dispositivo de cliente para el flujo continuo de contenidos multimedia, comprendiendo el metodo:obtener (1010) una Descripcion de presentacion multimedia, MPD, para el contenido multimedia, en el que la MPD comprende una plantilla de Localizador uniforme de recursos, URL, para la construccion de unos URL;insertar (1020) uno o mas parametros 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 mas parametros se especifican para ser insertados en el tramo de cadena de consultas del URL basandose en la plantilla de URL, siendo dinamicos dichos uno o mas valores de parametro, y el dispositivo de cliente recopila y proporciona dichos uno o mas valores de parametro;enviar (1030) una peticion multimedia que comprende el URL a un servidor de flujo continuo; yrecibir (1040) uno o mas segmentos de un contenido multimedia desde el servidor de flujo continuo en respuesta a la peticion multimedia.
- 2. El metodo segun la reivindicacion 1, que comprende ademas supervisar las condiciones de red del dispositivo de cliente durante la reproduccion del contenido multimedia, en el que dichos uno o mas parametros de consulta comprenden, al menos, una de las condiciones de red.
- 3. El metodo segun la reivindicacion 2, en el que el servidor de contenidos determina dichos uno o mas segmentos basandose, al menos en parte, en dichos uno o mas parametros de consulta, en el que una de las condiciones de red es un ancho de banda disponible para el dispositivo de cliente durante la reproduccion del contenido multimedia, y en el que el ancho de banda se especifica como uno de los parametros de consulta insertados.
- 4. El metodo segun la reivindicacion 1, en el que dichos uno o mas parametros de consulta comprenden un codigo de autenticacion proporcionado por el dispositivo de cliente, y en el que recibir dichos uno o mas segmentos ocurre tras la verificacion de la identidad del dispositivo de cliente.
- 5. El metodo segun la reivindicacion 1, en el que dichos uno o mas parametros de consulta comprenden una prueba que muestra que el dispositivo de cliente ha acabado de reproducir una longitud de un contenido de emision forzada, y en el que recibir dichos uno o mas segmentos ocurre solamente tras la verificacion de la prueba mediante el servidor de flujo continuo.
- 6. El metodo segun la reivindicacion 1, en el que dichos uno o mas parametros de consulta comprenden, al menos, uno de una Zona de interes, ROI, y un angulo de vision proporcionados por el dispositivo de cliente, y en el que dichos uno o mas segmentos representan una senal de video especificada por, al menos, uno de la ROI y el angulo de vision.
- 7. Un aparato, que comprende:un receptor configurado para recibir una Descripcion de presentacion 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 basandose 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 mas parametros de consulta, siendo dinamicos dichos uno o mas valores de parametro, y el aparato recopila y proporciona dichos uno o mas valores de parametro; yun transmisor acoplado al procesador y configurado para transmitir una peticion para el contenido multimedia a un servidor de flujo continuo, en el que la peticion comprende el URL construido;en el que el receptor esta configurado para recibir uno o mas segmentos del contenido multimedia desde el servidor de flujo continuo en respuesta a la peticion multimedia.
- 8. El aparato segun la reivindicacion 7, en el que el procesador esta configurado ademas para supervisar las condiciones de red del aparato durante la reproduccion del contenido multimedia.
- 9. El aparato segun la reivindicacion 8, en el que una de las condiciones de red es un ancho de banda disponible para el aparato durante la reproduccion del contenido multimedia, y en el que el ancho de banda esta insertado en el URL como uno de los parametros de consulta.
- 10. El aparato segun la reivindicacion 8, en el que dichos uno o mas parametros de consulta comprenden un codigo de autenticacion accesible para el procesador, y en el que recibir dichos uno o mas segmentos ocurre tras la verificacion de la identidad del aparato.5101520253035
- 11. El aparato segun la reivindicacion 8, en el que dichos uno o mas parametros de consulta comprenden una prueba que muestra que el procesador ha acabado de reproducir una longitud de un contenido de emision forzada, y en el que recibir dichos uno o mas segmentos ocurre solamente tras la verificacion de la prueba mediante el servidor de flujo continuo.
- 12. El aparato segun la reivindicacion 8, en el que dichos uno o mas parametros de consulta comprenden, al menos, uno de una Zona de interes, ROI, y un angulo de vision proporcionados por un usuario que utiliza el aparato, y en el que dichos uno o mas segmentos representan una senal de video especificada por, al menos, uno de la ROl y el angulo de vision.
- 13. El aparato segun la reivindicacion 7, en el que la peticion es una peticion de Protocolo de transferencia de hipertexto, HTTP, y en el que la MPD y los segmentos se adaptan, todos, al Flujo continuo adaptativo dinamico sobre HTTP, DASH.
- 14. Un metodo implementado por un servidor de red para el flujo continuo de contenidos multimedia, comprendiendo el metodo:generar (1110) una Descripcion de presentacion multimedia, MPD, para el contenido multimedia, en el que la MPD comprende una plantilla de Localizador uniforme de recursos, URL, que especifica uno o mas parametros de consulta a incluir en el tramo de cadena de consultas de un URL;enviar (1120) la MPD a un cliente de flujo continuo;recibir (1130) un 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 mas parametros de consulta, en el que dichos uno o mas valores de parametro son dinamicos, y el cliente de flujo continuo recopila y proporciona dichos uno o mas valores de parametro;determinar (1140) uno o mas segmentos de un contenido multimedia para usar con el cliente de flujo continuo basandose en, al menos, uno de los parametros de consulta recibidos; yenviar (1150) dichos uno o mas segmentos al cliente de flujo continuo.
- 15. El metodo segun la reivindicacion 14, en el que la plantilla de URL comprende un elemento de parametro de URL que especifica un parametro de consulta en dichos uno o mas parametros de consulta, y en el que el elemento de parametro de URL comprende una identificacion del parametro de consulta.
- 16. El metodo segun la reivindicacion 14, en el que la plantilla de URL comprende un elemento de parametro de URL que especifica un parametro de consulta en dichos uno o mas parametros de consulta, en el que el elemento de parametro de URL especifica un espacio de nombres, y en el que el parametro de consulta procede de una entidad con el espacio de nombres.
- 17. El metodo segun la reivindicacion 14, que comprende ademas:actualizar la MPD durante el flujo continuo del contenido multimedia al cliente de flujo continuo, en el que la MPD actualizada refleja sucesos dinamicos que son inesperados en el momento de generar la MPD; yenviar la MPD actualizada al cliente de flujo continuo.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361753347P | 2013-01-16 | 2013-01-16 | |
US201361753347P | 2013-01-16 | ||
PCT/US2014/011920 WO2014113604A1 (en) | 2013-01-16 | 2014-01-16 | Url parameter insertion and addition in adaptive streaming |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2606552T3 true ES2606552T3 (es) | 2017-03-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 Before (1)
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 |
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 (39)
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 |
MX2016006798A (es) * | 2013-11-27 | 2016-11-28 | Interdigital Patent Holdings Inc | Descripcion de medios de presentacion. |
WO2015121342A1 (en) * | 2014-02-13 | 2015-08-20 | Koninklijke Kpn N.V. | Requesting multiple chunks from a network node on the basis of a single request message |
US20150261753A1 (en) * | 2014-03-13 | 2015-09-17 | Verance Corporation | Metadata acquisition using embedded codes |
WO2015138798A1 (en) | 2014-03-13 | 2015-09-17 | Verance Corporation | Interactive content 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 | 서울대학교산학협력단 | 영상제공시스템 및 영상제공방법 |
US10798144B2 (en) | 2015-06-18 | 2020-10-06 | 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 |
US11165841B2 (en) * | 2016-10-18 | 2021-11-02 | Expway | Method for transmitting content to mobile user devices |
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 | 北京开广信息技术有限公司 | 媒体流的实时接收方法及客户端 |
WO2021009597A1 (en) | 2019-07-12 | 2021-01-21 | Carrier Corporation | A system and a method for streaming videos by creating object urls at client |
CN114747225B (zh) * | 2019-12-11 | 2024-03-01 | 谷歌有限责任公司 | 用于选择流送媒体内容项的格式的方法、***和介质 |
US11470136B2 (en) | 2020-10-07 | 2022-10-11 | Tencent America LLC | URL customization using the session-based dash operations |
US12028345B2 (en) | 2021-05-19 | 2024-07-02 | Bank Of America Corporation | Information security system and method for identifying trusted machines for machine-to-machine (M2M) security and validation |
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 |
US12034789B2 (en) * | 2022-04-19 | 2024-07-09 | Tencent America LLC | Extensible request signaling for adaptive streaming parameterization |
Family Cites Families (29)
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 | 삼성전자 주식회사 | 데이터 전송 방법 및 장치 |
WO2011087449A1 (en) * | 2010-01-18 | 2011-07-21 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and arrangements for http media stream distribution |
EP2362651A1 (en) | 2010-02-19 | 2011-08-31 | Thomson Licensing | Multipath delivery for adaptive streaming |
JPWO2012011450A1 (ja) | 2010-07-20 | 2013-09-09 | シャープ株式会社 | コンテンツ配信装置、コンテンツ再生装置、コンテンツ配信装置の制御方法、および、コンテンツ再生装置の制御方法 |
KR20120034550A (ko) | 2010-07-20 | 2012-04-12 | 한국전자통신연구원 | 스트리밍 컨텐츠 제공 장치 및 방법 |
WO2012011490A1 (ja) | 2010-07-20 | 2012-01-26 | シャープ株式会社 | コンテンツ取得装置、コンテンツ送信装置、コンテンツ送受信システム、データ構造、制御方法、制御プログラム、及び記録媒体 |
US9986009B2 (en) | 2010-10-06 | 2018-05-29 | 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 |
US9860572B2 (en) * | 2011-06-08 | 2018-01-02 | Koninklijke Kpn N.V. | Spatially segmented content delivery |
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 | 삼성전자주식회사 | 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치 |
US10397294B2 (en) * | 2011-12-15 | 2019-08-27 | 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 |
EP2850845A1 (en) | 2012-07-09 | 2015-03-25 | Huawei Technologies Co., Ltd. | Dynamic adaptive streaming over http client behavior framework and implementation of session management |
WO2014008637A1 (en) * | 2012-07-11 | 2014-01-16 | Nokia Corporation | 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 |
CN105075276B (zh) * | 2013-01-11 | 2019-04-16 | 瑞典爱立信有限公司 | 在广播通信网络中操作客户端设备和服务器设备的技术 |
US20140201368A1 (en) * | 2013-01-15 | 2014-07-17 | Samsung Electronics Co., Ltd. | Method and apparatus for enforcing behavior of dash or other clients |
-
2014
- 2014-01-16 ES ES16167696T patent/ES2744216T3/es active Active
- 2014-01-16 WO PCT/US2014/011920 patent/WO2014113604A1/en active Application Filing
- 2014-01-16 EP EP16167696.0A patent/EP3073712B1/en active Active
- 2014-01-16 CN CN201810198669.4A patent/CN108540834B/zh active Active
- 2014-01-16 EP EP14703994.5A patent/EP2904764B1/en active Active
- 2014-01-16 KR KR1020167032050A patent/KR101692685B1/ko active IP Right Grant
- 2014-01-16 KR KR1020157013257A patent/KR20150077461A/ko not_active IP Right Cessation
- 2014-01-16 CN CN201480002577.4A patent/CN104956645B/zh active Active
- 2014-01-16 US US14/157,306 patent/US9749375B2/en active Active
- 2014-01-16 JP JP2015552688A patent/JP6173485B2/ja active Active
- 2014-01-16 ES ES14703994.5T patent/ES2606552T3/es active Active
-
2016
- 2016-10-07 US US15/288,747 patent/US10148714B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9749375B2 (en) | 2017-08-29 |
EP3073712A1 (en) | 2016-09-28 |
CN104956645A (zh) | 2015-09-30 |
KR20160134880A (ko) | 2016-11-23 |
EP3073712B1 (en) | 2019-06-19 |
US20170026437A1 (en) | 2017-01-26 |
JP2016511954A (ja) | 2016-04-21 |
WO2014113604A1 (en) | 2014-07-24 |
US20140201335A1 (en) | 2014-07-17 |
JP6173485B2 (ja) | 2017-08-02 |
KR20150077461A (ko) | 2015-07-07 |
KR101692685B1 (ko) | 2017-01-03 |
ES2744216T3 (es) | 2020-02-24 |
EP2904764A1 (en) | 2015-08-12 |
CN108540834A (zh) | 2018-09-14 |
EP2904764B1 (en) | 2016-09-21 |
CN108540834B (zh) | 2021-04-20 |
CN104956645B (zh) | 2018-04-27 |
US10148714B2 (en) | 2018-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2606552T3 (es) | Inserción y adición de parámetros de URL en flujo continuo adaptativo | |
JP6064249B2 (ja) | 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装 | |
US20230209109A1 (en) | Systems and methods for generalized http headers in dynamic adaptive streaming over http (dash) | |
ES2848116T3 (es) | Transmisión basada en formato de archivo con formatos DASH basados en LCT | |
ES2645101T3 (es) | Autentificación de URL de contenidos para dash | |
ES2870552T3 (es) | Procedimiento y aparato para transmitir y recibir contenido basado en mecanismo de Streaming adaptativa | |
US20160373462A1 (en) | Template Uniform Resource Locator Signing | |
US10904642B2 (en) | Methods and apparatus for updating media presentation data | |
US20150121484A1 (en) | System and method for signaling and verifying url signatures for both url authentication and url-based content access authorization in adaptive streaming | |
US20140096271A1 (en) | Segment Authentication for Dynamic Adaptive Streaming | |
KR20170015912A (ko) | 매니페스트 속성을 이용하여 미디어 자산을 필터링하는 시스템 | |
JP2013500658A (ja) | モバイル装置のためのメディアコンテンツをスイッチングする方法 | |
US10230781B2 (en) | Client behavior control in adaptive streaming | |
EP3092780B1 (en) | Signaling and handling of forensic marking for adaptive streaming | |
Alliance | Technical Specification Version 5.0 |