ES2730894T3 - Actualizaciones de archivo de manifiesto para la emisión en continuo de red de datos de vídeo codificados - Google Patents
Actualizaciones de archivo de manifiesto para la emisión en continuo de red de datos de vídeo codificados Download PDFInfo
- Publication number
- ES2730894T3 ES2730894T3 ES11746404T ES11746404T ES2730894T3 ES 2730894 T3 ES2730894 T3 ES 2730894T3 ES 11746404 T ES11746404 T ES 11746404T ES 11746404 T ES11746404 T ES 11746404T ES 2730894 T3 ES2730894 T3 ES 2730894T3
- Authority
- ES
- Spain
- Prior art keywords
- data
- segment
- manifest file
- client device
- representation
- 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
- 238000000034 method Methods 0.000 claims abstract description 114
- 230000004044 response Effects 0.000 claims description 26
- 238000011084 recovery Methods 0.000 claims description 3
- 239000012634 fragment Substances 0.000 description 78
- 230000000875 corresponding effect Effects 0.000 description 48
- 238000002360 preparation method Methods 0.000 description 36
- 230000002123 temporal effect Effects 0.000 description 32
- 238000003860 storage Methods 0.000 description 24
- 238000005538 encapsulation Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 14
- 238000009877 rendering Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000009826 distribution Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 10
- 230000011664 signaling Effects 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 7
- 230000002441 reversible effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 238000012797 qualification Methods 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000012092 media component Substances 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 241000234282 Allium Species 0.000 description 1
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013442 quality metrics Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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
- 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/764—Media network packet handling at 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/70—Media network packetisation
-
- 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/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/756—Media network packet handling adapting media to device capabilities
-
- 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
-
- 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/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
-
- 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/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Un procedimiento de recuperación de datos multimedia, comprendiendo el procedimiento: recuperar datos (366A) de un primer segmento (362A) de una representación (360) de contenido multimedia (150, 350) de acuerdo con datos de una copia de un archivo de manifiesto (66, 102, 352) almacenada por un dispositivo cliente (40), en el que los datos del primer segmento corresponden a un período del contenido multimedia; recuperar una parte de un segundo segmento (362D) de la representación de acuerdo con el archivo de manifiesto, en el que unos datos (366D) del segundo segmento corresponden al período al que corresponden los datos del primer segmento, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto está por actualizar (364, 364B); actualizar la copia del archivo de manifiesto almacenada por el dispositivo cliente basándose en la indicación (364, 364B) de que el archivo de manifiesto está por actualizar, indicando el archivo de manifiesto actualizado segmentos adicionales del período al que corresponde el primer segmento; y recuperar datos de medios del segundo segmento y los segmentos adicionales de acuerdo con el archivo de manifiesto actualizado.
Description
DESCRIPCIÓN
Actualizaciones de archivo de manifiesto para la emisión en continuo de red de datos de vídeo codificados
CAMPO TÉCNICO
[0001] La presente divulgación se refiere al almacenamiento y transporte de datos multimedia codificados.
ANTECEDENTES
[0002] Las capacidades de vídeo digital pueden incorporarse a una amplia gama de dispositivos, incluidos televisores digitales, sistemas de radiodifusión digital directa, sistemas de radiodifusión inalámbrica, asistentes digitales personales (PDA), ordenadores portátiles o de sobremesa, cámaras digitales, dispositivos de grabación digital, reproductores de medios digitales, dispositivos de videojuegos, consolas de videojuegos, teléfonos celulares o de radio por satélite, dispositivos de videoconferencia y similares. Los dispositivos de vídeo digitales implementan técnicas de compresión de vídeo, tales como las descritas en las normas definidas por MPEG-2, MPEG-4, ITU-T H.263 o ITU-T H.264/MPEG-4, Parte 10, Codificación de Vídeo Avanzada (AVC) y ampliaciones de dichas normas, para transmitir y recibir información de vídeo digital de manera más eficaz.
[0003] Las técnicas de compresión de vídeo realizan predicción espacial y/o predicción temporal para reducir o eliminar la redundancia inherente a las secuencias de vídeo. Para la codificación de vídeo basada en bloques, una trama o un sector de vídeo pueden dividirse en macrobloques. Cada macrobloque se puede dividir aún más. Los macrobloques de una trama o un sector intracodificados (I) se codifican mediante predicción espacial con respecto a unos macrobloques vecinos. Los macrobloques de una trama o sector intercodificados (P o B) pueden usar predicción espacial con respecto a unos macrobloques vecinos de la misma trama o sector, o predicción temporal con respecto a otras tramas de referencia.
[0004] Una vez que se han codificado los datos de vídeo, los datos de vídeo pueden agruparse en paquetes para su transmisión o almacenamiento. Los datos de vídeo pueden reunirse en un archivo de vídeo que se ajustan a cualquiera de una variedad de normas, tales como el formato de archivos de medios base de la Organización Internacional de Normalización (ISO) y ampliaciones del mismo, tales como la ITU-T H.264/AVC. Dichos datos de vídeo en paquetes se pueden transportar en una variedad de formas, tales como la transmisión a través de una red informática usando emisión en continuo de red.
[0005] En el documento “Media presentation description in HTTP streaming" [“Descripción de presentación de medios en emisión en continuo HTTP”] de Telefon AB LM Ericsson y ST-Ericsson SA, 3GPPSA4#57; S4-100080, se divulga la actualización de descripciones de presentación de medios (MPD), con dos formas diferentes para que el cliente conozca las actualizaciones MPD: 1) sondeo tipo RSS, donde el cliente de medios realiza con frecuencia sondeos sobre nuevas actualizaciones MPD; y 2) notificaciones automáticas de servidor, donde el servidor avisa al cliente de medios sobre una actualización MPD.
[0006] En el documento “An MPD delta file for HTTP streaming"[“Archivo delta MPD para emisión en continuo HTTP”] de Research in Motion UK Limited, 3GPP TSG-SA4 reunión n.° 59, S4-100453, se divulga una propuesta para añadir un elemento a la MPD para indicar la compatibilidad con los archivos delta, y en un ejemplo que se divulga en ese documento, un archivo delta se pone a disposición del cliente en el servidor al mismo tiempo que se actualiza la MPD, de modo que el cliente solo tiene que descargar el archivo delta en lugar de la MPD completa.
RESUMEN
[0007] En general, la presente divulgación describe técnicas para mejorar la emisión en continuo de datos de medios a través de una red. Estas técnicas incluyen la compatibilidad para modos de reproducción no estándar, como avance rápido, retroceso y búsqueda dentro de contenido de medios emitido en continuo a través de una red. Estas técnicas también incluyen la compatibilidad para grupos de representaciones, tales como la señalización de características comunes para un grupo de representaciones, así como de características individuales de las representaciones. Por otro lado, las técnicas incluyen proporcionar información para actualizar archivos de manifiesto para contenido multimedia emitido en continuo. Las técnicas también incluyen proporcionar datos de medios para anuncios dirigidos como períodos externos para contenido de medios. Estas técnicas incluyen además proporcionar e interpretar informes de calidad de experiencia de un dispositivo cliente para un proveedor de servicios. Además, estas técnicas incluyen señalizar datos de perfil a los que se ajusta un archivo de manifiesto de contenido de medios.
[0008] La presente invención se expone en las reivindicaciones adjuntas. De acuerdo con un primer aspecto a modo de ejemplo, se proporciona un procedimiento de recuperación de datos multimedia, comprendiendo el procedimiento:
recuperar datos de un primer segmento de una representación de contenido multimedia de acuerdo con datos de una copia de un archivo de manifiesto almacenada por un dispositivo cliente, en el que los datos del primer segmento corresponden a un período del contenido multimedia; recuperar una parte de un segundo segmento de la representación de acuerdo con el archivo de manifiesto, en el que unos datos del segundo segmento corresponden al período al que corresponden los datos del primer segmento, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto se debe actualizar; actualizar la copia del archivo de manifiesto almacenada por el dispositivo cliente basándose en la indicación de que el archivo de manifiesto se debe actualizar; y recuperar datos de medios del segundo segmento de acuerdo con el archivo de manifiesto actualizado.
[0009] De acuerdo con un segundo aspecto a modo de ejemplo, se proporciona un procedimiento de envío de información para datos multimedia, comprendiendo el procedimiento: enviar datos de un archivo de manifiesto de contenido multimedia a un dispositivo cliente, en el que el archivo de manifiesto incluye información indicativa de un primer segmento de una representación del contenido multimedia, en el que unos datos del primer segmento corresponden a un período del contenido multimedia; enviar al menos una parte del primer segmento de la representación al dispositivo cliente como respuesta a una petición del dispositivo cliente, en el que la parte del primer segmento indica que el archivo de manifiesto se debe actualizar, en el que una versión actualizada del archivo de manifiesto incluye información indicativa de un segundo segmento diferente de la representación, en el que unos datos del segundo segmento corresponden al período al que corresponden los datos del primer segmento; y enviar, como respuesta a una petición recibida desde el dispositivo cliente y formada de acuerdo con el archivo de manifiesto actualizado, datos del segundo segmento al dispositivo cliente.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0010]
La FIG. 1 es un diagrama de bloques que ilustra un ejemplo de sistema que implementa técnicas para emitir en continuo datos de medios a través de una red.
La FIG. 2 es un diagrama conceptual que ilustra elementos de un ejemplo de contenido multimedia.
La FIG.3 es un diagrama de bloques que ilustra elementos de un ejemplo de archivo de vídeo, que puede corresponder a un segmento de una representación de contenido multimedia.
La FIG. 4 es un diagrama conceptual que ilustra un ejemplo de contenido multimedia que incluye una descripción de presentación de medios (MPD) y diversos grupos de representaciones.
La FIG. 5 es un diagrama conceptual que ilustra otro ejemplo de contenido multimedia, en el que los datos de MPD se dividen en diversas partes para diversos grupos de representaciones.
La FIG. 6 es un diagrama conceptual que ilustra otro ejemplo de contenido multimedia que puede usarse para admitir modos de reproducción no estándar.
La FIG. 7 es un diagrama conceptual que ilustra otro ejemplo de contenido multimedia en el que unos segmentos pueden incluir cajas de actualización MPD para indicar que una MPD del contenido multimedia se debe actualizar.
La FIG. 8 es un diagrama de flujo que ilustra un ejemplo de procedimiento para proporcionar indicaciones de grupos de representaciones mediante un dispositivo servidor, y para seleccionar grupos de representaciones mediante un dispositivo cliente, así como una representación individual dentro del grupo de representaciones seleccionado.
La FIG. 9 es un diagrama de flujo que ilustra un ejemplo de procedimiento para proporcionar datos representativos de un modo de reproducción no estándar mediante un dispositivo servidor, y para usar los datos mediante un dispositivo cliente para recuperar y reproducir en modo de reproducción no estándar datos de contenido multimedia.
La FIG. 10 es un diagrama de flujo que ilustra un ejemplo de procedimiento para proporcionar, mediante un dispositivo servidor, indicaciones de que un archivo de manifiesto, tal como una MPD, se debe actualizar, y para actualizar una MPD mediante un dispositivo cliente.
La FIG. 11 es un diagrama de flujo que ilustra un ejemplo de procedimiento para crear y usar datos de un documento de informe de calidad de experiencia (QoE).
DESCRIPCIÓN DETALLADA
[0011] En general, la presente divulgación describe unas técnicas para la emisión en continuo de datos multimedia, tales como datos de audio y vídeo, a través de una red. Las técnicas de la presente divulgación se pueden usar junto con la emisión en continuo adaptativa dinámica por HTTP (DASH). La presente divulgación describe diversas técnicas que pueden realizarse junto con la emisión en continuo de red, cualquiera o la totalidad de las cuales pueden implementarse solas o en cualquier combinación. Como se describe con mayor detalle a continuación, diversos dispositivos que realizan la emisión en continuo de red pueden estar configurados para implementar las técnicas de la presente divulgación.
[0012] De acuerdo con la técnica DASH y otras similares para emitir en continuo datos a través de una red, un contenido multimedia (tal como una película u otro contenido de audio/vídeo, que también puede incluir superposiciones de texto u otros datos) puede codificarse de una variedad de formas y con una variedad de características. Un dispositivo de preparación de contenido puede formar múltiples representaciones del mismo contenido multimedia. Cada representación puede corresponder a un conjunto particular de características, tales como unas características de codificación y renderización, para proporcionar datos usables por una variedad de dispositivos cliente diferentes con diversas capacidades de codificación y renderización. Además, las representaciones que tienen diversas velocidades de bits pueden permitir la adaptación de ancho de banda. Es decir, un dispositivo cliente puede determinar una cantidad de ancho de banda que está disponible actualmente y seleccionar una representación basándose en la cantidad de ancho de banda disponible, junto con unas capacidades de codificación y renderización del dispositivo cliente.
[0013] En algunos ejemplos, un dispositivo de preparación de contenido puede indicar que un conjunto de representaciones tiene un conjunto de características comunes. El dispositivo de preparación de contenido puede indicar, a continuación, que las representaciones del conjunto forman un grupo de representaciones, en la medida en que las representaciones del conjunto se pueden usar para adaptación de ancho de banda. Es decir, las representaciones del conjunto pueden diferir en la velocidad de bits, pero por otro lado compartir sustancialmente las mismas características. De esta manera, un dispositivo cliente puede determinar diversos conjuntos de características comunes para unos grupos de representaciones de contenido multimedia, y seleccionar un grupo de representaciones basándose en unas capacidades de codificación y renderización del dispositivo cliente. A continuación, el dispositivo cliente puede cambiar de forma adaptativa entre representaciones del grupo de representaciones seleccionado basándose en la disponibilidad de ancho de banda.
[0014] El dispositivo de preparación de contenido también puede proporcionar ubicaciones de red separadas para diferentes partes de un archivo de manifiesto, como un archivo de descripción de presentación de medios (MPD) en un formato prescrito por el 3GPP (Proyecto de Asociación de Tercera Generación). Es decir, diferentes partes del archivo de manifiesto pueden ser independientemente direccionables, por ejemplo, mediante diversos identificadores de recursos uniformes (URI), tales como localizadores de recursos uniformes (URL). Una parte inicial del archivo de manifiesto puede incluir un URI, un URL u otro identificador de ubicación de otra parte del archivo de manifiesto. Por ejemplo, una primera parte del archivo de manifiesto puede incluir descripciones de características comunes de grupos de representaciones, como se ha analizado anteriormente.
[0015] Cada uno de los grupos de representaciones puede estar asociado con una parte diferente respectiva del archivo de manifiesto, que puede incluir datos indicativos de ubicaciones de datos de medios de representaciones en el grupo de representaciones respectivo. De esta manera, un dispositivo cliente puede recibir la primera parte del archivo de manifiesto, seleccionar un grupo de representaciones apropiado, recuperar otra parte del archivo de manifiesto para el grupo de representaciones seleccionado, seleccionar una representación del grupo seleccionado y usar la otra parte del archivo de manifiesto para recuperar los datos de la representación seleccionada. Por otro lado, el dispositivo cliente puede adaptarse para cambiar el ancho de banda de red usando la otra parte del archivo de manifiesto, es decir, la parte específica del grupo de representaciones seleccionado.
[0016] De forma adicional o alternativa, una parte de un archivo de manifiesto puede referirse a otra parte del archivo de manifiesto para otros propósitos. Es decir, una parte del archivo de manifiesto puede dirigir un dispositivo cliente hacia otra parte del archivo de manifiesto para insertar datos de medios de un período remoto en una película durante la reproducción. El período remoto puede corresponder a un anuncio, en algunos ejemplos. Estas técnicas se pueden usar para publicidad dirigida, en algunos ejemplos. Un dispositivo cliente puede proporcionar información de usuario, tal como un identificador de usuario, preferencias de usuario para anuncios y/o información demográfica de usuario, a un dispositivo servidor, que puede seleccionar una parte del archivo de manifiesto basándose en la información de usuario. Por lo tanto, cuando está desreferenciada, una parte externa del archivo de manifiesto puede incorporarse al archivo de manifiesto original, por ejemplo, mediante el dispositivo cliente. El dispositivo servidor puede proporcionar una ubicación de la parte del archivo de manifiesto asociada con el contenido de medios de publicidad dirigida al dispositivo cliente. El dispositivo cliente a continuación puede recuperar y presentar datos del contenido de medios de publicidad dirigida antes de recuperar
datos de una representación particular de un período de contenido multimedia solicitado. De esta manera, una primera parte de un archivo de manifiesto para contenido multimedia puede referirse a una segunda parte del archivo de manifiesto.
[0017] En algunos casos, un usuario puede desear no reproducir datos de vídeo de principio a fin, sino de una manera diferente. Por ejemplo, un usuario puede desear reproducir datos de vídeo en unos modos de avance rápido o retroceso, o comenzar desde un punto de reproducción particular. Dichos modos de reproducción de vídeo, que son modos distintos a la reproducción de principio a fin, pueden denominarse “modos de reproducción no estándar”. Debido a que en los modos de reproducción no estándar no se reproducirán finalmente todos los datos de vídeo, no es necesario recuperar todos los datos de vídeo. La presente divulgación proporciona técnicas para admitir modos de reproducción no estándar también. Por ejemplo, un dispositivo de preparación de contenido puede proporcionar indicaciones de ubicaciones de intervalo de bytes de tramas en los datos de vídeo usados para los modos de reproducción no estándar, tales como unas imágenes de actualización de descodificador instantánea (IDR). En general, las imágenes IDR se pueden descodificar sin hacer referencia a los datos de ninguna trama externa a las propias imágenes IDR. Las tramas o los sectores de imágenes IDR en general se codifican en un modo de intrapredicción, para evitar dependencias de otras tramas o sectores. De esta manera, el dispositivo cliente puede recuperar información indicativa de ubicaciones de imágenes IDR para descargar solo datos para las imágenes IDR para su uso en la visualización de datos de vídeo en un modo de reproducción no estándar, como el avance rápido. También se pueden incluir otros datos en la subsecuencia temporal. Los datos se pueden disponer en orden de codificación, de modo que los datos usados como referencia aparecen antes que (y en una secuencia de bytes continua con) los datos de referenciación. Por ejemplo, una trama I puede preceder a una trama P, que puede preceder a una o más tramas B, cualquiera o la totalidad de las cuales puede preceder a otras tramas B que pueden referirse a la trama B anterior de forma jerárquica.
[0018] En algunos ejemplos, un archivo de manifiesto, tal como una MPD, puede requerir actualizaciones ocasionales. La presente divulgación también proporciona técnicas para señalizar y recibir indicaciones de que una MPD requiere una actualización. En particular, un dispositivo de preparación de contenido puede incluir datos en segmentos de representaciones que indican que una MPD correspondiente requiere una actualización. Estos datos pueden corresponder a un elemento inicial de un segmento, que puede indicar las actualizaciones que se deben aplicar a la MPD y/o ubicaciones desde las cuales un dispositivo cliente puede recuperar las actualizaciones para la MPD. Las actualizaciones pueden comprender una MPD completamente nueva o actualizaciones progresivas relativas a una MPD anterior para el contenido multimedia.
[0019] La presente divulgación incluye además técnicas para proporcionar retroalimentación de dispositivos cliente a un dispositivo servidor y/o un dispositivo de preparación de contenido. La retroalimentación puede corresponder, por ejemplo, a información indicativa de datos que se han recuperado para contenido multimedia. Un administrador u otro usuario del dispositivo de preparación de contenido y/o servidor puede usar dicha información en una variedad de maneras. Por ejemplo, el usuario puede configurar una red de distribución de contenido (CDN) para almacenar en memoria caché datos de las representaciones a las que se accede con más frecuencia en dispositivos proxy de la CDN, tales como encaminadores u otros dispositivos. En otro ejemplo, el usuario puede determinar las representaciones a las que se accede con más frecuencia para determinar si determinadas representaciones deberían añadirse a, o eliminarse de, el contenido multimedia actual, y/o cómo codificar representaciones de contenido multimedia futuro.
[0020] Los archivos de vídeo, tales como los segmentos de representaciones de contenido de medios, pueden ajustarse a los datos de vídeo encapsulados de acuerdo con cualquiera de entre el formato de archivo de medios base ISO, el formato de archivo de codificación de vídeo escalable (SVC), el formato de archivo de codificación de vídeo avanzada (AVC), el formato de archivo del Proyecto de Asociación de Tercera Generación (3GPP) y/o el formato de archivo de codificación de vídeo multivista (MVC) u otros formatos de archivo de vídeo similares.
[0021] El formato de archivo de medios base ISO está diseñado para contener información de medios temporizada para una presentación en un formato flexible y extensible que facilite el intercambio, la gestión, la edición y la presentación de los medios. El formato de archivo de medios base ISO (ISO/IEC 14496-12:2004) se especifica en el documento MPEG-4 Parte 12, que define una estructura general para los archivos de medios basados en el tiempo. El formato de archivo de medios base ISO se usa como base para otros formatos de archivos de la familia, tal como el soporte definido del formato de archivo AVC (ISO/IEC 14496-15) para la compresión de vídeo H.264/MPEG-4 AVC, el formato de archivo 3GPP, el formato de archivo SVC y el formato de archivo MVC. El formato de archivo 3GPP y el formato de archivo MVC son ampliaciones del formato de archivo AVC. El formato de archivo de medios base ISO contiene la información de temporización, estructura y medios para secuencias temporizadas de datos de medios, tales como presentaciones audiovisuales. La estructura de archivo puede ser orientada a objetos. Un archivo puede descomponerse en objetos básicos de una manera muy sencilla, y la estructura de los objetos está implícita en su tipo.
[0022] Los archivos que se ajustan al formato de archivo de medios base ISO (y ampliaciones del mismo) pueden estar formados como una serie de objetos, denominados “cajas”. Los datos en el formato de archivo de medios base ISO pueden
estar contenidos en cajas, de modo que no es necesario que haya otros datos dentro del archivo y no es necesario que haya datos fuera de las cajas dentro del archivo. Esto incluye cualquier firma inicial requerida por el formato de archivo específico. Una “caja” puede ser un componente esencial orientado a objetos definido por un identificador y una longitud de tipo único. Típicamente, una presentación está contenida en un archivo y la presentación de medios es independiente. El contenedor de película (caja de película) puede contener los metadatos de los medios, y las tramas de audio y vídeo pueden estar contenidos en el contenedor de datos de medios y podrían estar en otros archivos.
[0023] Una representación (secuencia de movimiento) puede estar contenida en varios archivos, a veces denominados segmentos. La información de temporización y tramas (posición y tamaño) se encuentra en general en el archivo de medios base ISO, y los archivos complementarios pueden usar esencialmente cualquier formato. Esta presentación puede ser “local” para el sistema que contiene la presentación, o puede proporcionarse a través de una red u otro mecanismo de distribución de flujos.
[0024] Se puede usar una pista de metadatos opcional para etiquetar cada pista con la “característica interesante” que tiene, para la cual su valor puede diferir de otros miembros del grupo (por ejemplo, su velocidad de bits, tamaño de pantalla o idioma). Algunas muestras de una pista pueden tener características especiales o pueden identificarse individualmente. Un ejemplo de la característica es el punto de sincronización (a menudo una trama I de vídeo). Estos puntos pueden identificarse mediante una tabla especial en cada pista. De manera más general, la naturaleza de las dependencias entre muestras de pistas también se puede documentar usando metadatos. Los metadatos se pueden estructurar como una secuencia de muestras de formato de archivo, igual que una pista de vídeo. Dicha pista puede denominarse pista de metadatos. Cada muestra de metadatos se puede estructurar como una declaración de metadatos. Hay diversos tipos de declaraciones, correspondientes a las diversas preguntas que se pueden formular sobre la muestra de formato de archivo correspondiente o sus muestras constitutivas.
[0025] Cuando se distribuyen medios a través de un protocolo de emisión en continuo, puede ser necesario transformar los medios respecto de la forma en que se representan en el archivo. Un ejemplo de lo anterior se obtiene cuando los medios se transmiten a través del Protocolo de T ransporte en Tiempo Real (RTP). En el archivo, por ejemplo, cada trama de vídeo se almacena de forma contigua como una muestra de formato de archivo. En RTP, se deben obedecer unas reglas de paquetización específicas del códec usado para colocar estas tramas en paquetes RTP. Un servidor de emisión en continuo puede estar configurado para calcular dicha paquetización en tiempo de ejecución. Sin embargo, hay respaldo para la asistencia de los servidores de emisión en continuo.
[0026] Las técnicas de la presente divulgación pueden ser aplicables a los protocolos de emisión en continuo de red, tales como emisión en continuo HTTP, por ejemplo, de acuerdo con la emisión en continuo adaptativa dinámica por HTTP (DASH). En la emisión en continuo HTTP, las operaciones usadas frecuentemente incluyen GET y GET parcial. La operación GET recupera un archivo completo asociado a un localizador de recursos uniforme (URL) o a otro identificador, por ejemplo, un URI. La operación GET parcial recibe un intervalo de bytes como parámetro de entrada y recupera un número continuo de bytes de un archivo correspondiente al intervalo de bytes recibido. Por tanto, se pueden proporcionar fragmentos de película para emisión en continuo HTTP, porque una operación GET parcial puede obtener uno o más fragmentos de película individuales. Debe observarse que, en un fragmento de película, puede haber varios fragmentos de pista de diferentes pistas. En la emisión en continuo HTTP, una representación de medios puede ser una recopilación de datos estructurada que es accesible para el cliente. El cliente puede solicitar y descargar información de datos de medios para presentar un servicio de emisión en continuo a un usuario.
[0027] En el ejemplo de emisión en continuo de datos 3GPP usando emisión en continuo HTTP, puede haber múltiples representaciones para datos de vídeo y/o audio de contenido multimedia. El manifiesto de dichas representaciones se puede definir en una estructura de datos de descripción de presentación de medios (MPD). Una representación de medios puede corresponder a una recopilación de datos estructurada que es accesible para un dispositivo cliente de emisión en continuo HTTP. El dispositivo cliente de emisión en continuo HTTP puede solicitar y descargar información de datos de medios para presentar un servicio de emisión en continuo a un usuario del dispositivo cliente. Una representación de medios se puede describir en la estructura de datos de MPD.
[0028] Un contenido multimedia puede contener una secuencia de uno o más períodos. Los períodos pueden definirse mediante un elemento Period en la MPD. Cada período puede tener un atributo start en la MPD. La MPD puede incluir un atributo start y un atributo availableStartTime para cada período. Para servicios en directo, la suma del atributo start del período y el atributo de la MPD availableStartTime puede especificar el tiempo de disponibilidad del periodo en formato UTC, en particular, el primer segmento de medios de cada representación en el período correspondiente. Para servicios a la carta, el atributo start del primer período puede ser 0. Para cualquier otro período, el atributo start puede especificar un desplazamiento temporal entre la hora de inicio del período correspondiente con respecto a la hora de inicio del primer periodo. Cada período puede extenderse hasta el inicio del siguiente período o hasta el final de la presentación de medios
en el caso del último período. Las horas de inicio de período pueden ser precisas. Pueden reflejar la temporización real resultante de la reproducción de los medios de todos los periodos anteriores.
[0029] Cada período puede contener una o más representaciones para el mismo contenido de medios. Una representación puede ser una de entre un número de versiones codificadas alternativas de datos de audio o vídeo. Las representaciones pueden diferir en diversas características, tales como los tipos de codificación, por ejemplo, la velocidad de bits, la resolución y/o el códec para los datos de vídeo y la velocidad de bits, el idioma y/o el códec para los datos de audio. El término representación se puede usar para referirse a una sección de datos de audio o vídeo codificados correspondientes a un período particular del contenido multimedia y codificados de una forma particular.
[0030] Las representaciones de un período particular se pueden asignar a un grupo, que puede indicarse mediante un atributo group en la MPD. Las representaciones del mismo grupo se consideran en general alternativas mutuas. Por ejemplo, cada representación de datos de vídeo para un período particular se puede asignar al mismo grupo, de modo que se puede seleccionar cualquiera de las representaciones para la descodificación para visualizar datos de vídeo del contenido multimedia para el período correspondiente. El contenido de medios dentro de un período se puede representar mediante una representación del grupo 0, si está presente, o la combinación de como máximo una representación de cada grupo distinto de cero, en algunos ejemplos. Los datos de temporización para cada representación de un período pueden expresarse con respecto a la hora de inicio del período.
[0031] Una representación puede incluir uno o más segmentos. Cada representación puede incluir un segmento de inicialización, o cada segmento de una representación puede ser autoinicializador. Cuando esté presente, el segmento de inicialización puede contener información de inicialización para acceder a la representación. En general, el segmento de inicialización no contiene datos de medios. Un segmento puede referenciarse de forma exclusiva mediante un identificador, tal como un identificador de recursos uniformes (URL). La MPD puede proporcionar los identificadores para cada segmento. En algunos ejemplos, la MPD también puede proporcionar intervalos de bytes en forma de un atributo range, que puede corresponder a los datos para un segmento dentro de un archivo accesible mediante el URL o el URI.
[0032] Cada representación también puede incluir uno o más componentes de medios, donde cada componente de medios puede corresponder a una versión codificada de un tipo de medios individual, tal como audio, vídeo o texto temporizado (por ejemplo, para subtítulos ocultos). Los componentes de medios pueden tener continuidad temporal entre los límites de segmentos de medios consecutivos dentro de una representación.
[0033] La FIG. 1 es un diagrama de bloques que ilustra un ejemplo de sistema 10 que implementa técnicas para emisión continua de datos de medios a través de una red. En este ejemplo, el sistema 10 incluye un dispositivo de preparación de contenido 20, un dispositivo servidor 60 y un dispositivo cliente 40. El dispositivo cliente 40 y el dispositivo servidor 60 están acoplados de forma comunicativa mediante la red 74, que puede comprender Internet. En algunos ejemplos, el dispositivo de preparación de contenido 20 y el dispositivo servidor 60 también pueden estar acoplados mediante la red 74 u otra red, o pueden estar directamente acoplados de forma comunicativa. En algunos ejemplos, el dispositivo de preparación de contenido 20 y el dispositivo servidor 60 pueden comprender el mismo dispositivo.
[0034] El dispositivo de preparación de contenido 20, en el ejemplo de la FIG. 1, comprende una fuente de audio 22 y una fuente de vídeo 24. La fuente de audio 22 puede comprender, por ejemplo, un micrófono que genera señales eléctricas representativas de unos datos de audio captados que el codificador de audio 26 va a codificar. De forma alternativa, la fuente de audio 22 puede comprender un medio de almacenamiento que almacene datos de audio previamente grabados, un generador de datos de audio, tal como un sintetizador informatizado, o cualquier otra fuente de datos de audio. La fuente de vídeo 24 puede comprender una cámara de vídeo que genera datos de vídeo que el codificador de vídeo 28 va a codificar, un medio de almacenamiento codificado con datos de vídeo grabados previamente, una unidad de generación de datos de vídeo, tal como una fuente de gráficos de ordenador, o cualquier otra fuente de datos de vídeo. El dispositivo de preparación de contenido 20 no está necesariamente acoplado de forma comunicativa al dispositivo servidor 60 en todos los ejemplos, pero puede almacenar contenido multimedia en un medio separado que es leído por el dispositivo servidor 60.
[0035] Los datos de audio y vídeo sin procesar pueden comprender datos analógicos o digitales. Los datos analógicos se pueden digitalizar antes de que el codificador de audio 26 y/o el codificador de vídeo 28 los codifique. La fuente de audio 22 puede obtener datos de audio de un participante hablante mientras el participante hablante está hablando, y la fuente de vídeo 24 puede obtener simultáneamente datos de vídeo del participante hablante. En otros ejemplos, la fuente de audio 22 puede comprender un medio de almacenamiento legible por ordenador que comprende datos de audio almacenados, y la fuente de vídeo 24 puede comprender un medio de almacenamiento legible por ordenador que comprende datos de vídeo almacenados. De esta manera, las técnicas descritas en la presente divulgación pueden aplicarse a datos de audio y vídeo en directo de emisión en continuo y tiempo real, o a datos de audio y vídeo archivados y pregrabados.
[0036] Las tramas de audio que corresponden a tramas de vídeo son en general tramas de audio que contienen datos de audio que la fuente de audio 22 ha captado al mismo tiempo que los datos de vídeo captados por la fuente de vídeo 24 que están contenidos dentro de las tramas de vídeo. Por ejemplo, mientras un participante hablante en general genera datos de audio al hablar, la fuente de audio 22 capta los datos de audio y la fuente de vídeo 24 capta los datos de vídeo del participante hablante al mismo tiempo, es decir, mientras la fuente de audio 22 está captando los datos de audio. Por lo tanto, una trama de audio puede corresponder temporalmente a una o más tramas de vídeo particulares. En consecuencia, una trama de audio correspondiente a una trama de vídeo corresponde en general a una situación en la que los datos de audio y los datos de vídeo se captaron al mismo tiempo, y para la que una trama de audio y una trama de vídeo comprenden, respectivamente, los datos de audio y los datos de vídeo que se captaron al mismo tiempo.
[0037] En algunos ejemplos, el codificador de audio 26 puede codificar un sello de tiempo en cada trama de audio codificada que representa una hora a la que se han grabado los datos de audio para la trama de audio codificada y, de manera similar, el codificador de vídeo 28 puede codificar un sello de tiempo en cada trama de vídeo codificada que representa una hora a la que se han grabado los datos de vídeo para la trama de vídeo codificada. En dichos ejemplos, una trama de audio correspondiente a una trama de vídeo puede comprender una trama de audio que comprende un sello de tiempo y una trama de vídeo que comprende el mismo sello de tiempo. El dispositivo de preparación de contenido 20 puede incluir un reloj interno a partir del cual el codificador de audio 26 y/o el codificador de vídeo 28 pueden generar los sellos de tiempo, o que la fuente de audio 22 y la fuente de vídeo 24 pueden usar para asociar datos de audio y vídeo, respectivamente, a un sello de tiempo.
[0038] En algunos ejemplos, la fuente de audio 22 puede enviar datos al codificador de audio 26, correspondientes a una hora a la que se han grabado los datos de audio, y la fuente de vídeo 24 puede enviar datos al codificador de vídeo 28, correspondientes a una hora a la que se han grabado los datos de vídeo. En algunos ejemplos, el codificador de audio 26 puede codificar un identificador de secuencia en los datos de audio codificados para indicar un orden temporal relativo de los datos de audio codificados, pero sin indicar necesariamente una hora absoluta a la cual se han grabado los datos de audio y, de manera similar, el codificador de vídeo 28 también puede usar identificadores de secuencia para indicar un orden temporal relativo de los datos de vídeo codificados. De manera similar, en algunos ejemplos, un identificador de secuencia se puede asociar o correlacionar de algún modo con un sello de tiempo.
[0039] El codificador de audio 26 en general genera un flujo de datos de audio codificados, mientras que el codificador de vídeo 28 genera un flujo de datos de vídeo codificados. Cada flujo de datos individual (ya sea de audio o vídeo) puede denominarse flujo elemental. Un flujo elemental es un componente único codificado digitalmente (y posiblemente comprimido) de una representación. Por ejemplo, la parte de vídeo o audio codificada de la representación puede ser un flujo elemental. Un flujo elemental se puede convertir en un flujo elemental paquetizado (PES) antes de encapsularse dentro de un archivo de vídeo. Dentro de la misma representación, se puede usar un ID de flujo para diferenciar unos de otros los paquetes PES que pertenecen a un flujo elemental. La unidad básica de datos de un flujo elemental es un paquete de flujo elemental paquetizado (PES). Por tanto, los datos de vídeo codificados corresponden en general a flujos de vídeo elementales. De manera similar, los datos de audio corresponden a uno o más flujos elementales respectivos.
[0040] Como ocurre con muchas normas de codificación de vídeo, la norma H.264/AVC define la sintaxis, la semántica y el proceso de descodificación para flujos de bits sin errores, cualquiera de los cuales se ajusta a un determinado perfil o nivel. La norma H.264/AVC no especifica el codificador, pero el codificador se encarga de la tarea de garantizar que los flujos de bits generados sigan la norma para un descodificador. En el contexto de una norma de codificación de vídeo, un “perfil” corresponde a un subconjunto de algoritmos, características o herramientas y restricciones que se les aplican. Como se define en la norma H.264, por ejemplo, un “perfil” es un subconjunto de toda la sintaxis del flujo de bits que la norma H.264 especifica. Un “nivel” corresponde a las limitaciones del consumo de recursos del descodificador, tales como, por ejemplo, la memoria y el cálculo del descodificador, que se refieren a la resolución de las imágenes, la velocidad de bits y la velocidad de procesamiento de los macrobloques (MB). Un perfil se puede señalizar con un valor profile_idc (indicador de perfil), mientras que un nivel se puede señalizar con un valor level_idc (indicador de nivel).
[0041] La norma H.264, por ejemplo, reconoce que, dentro de los límites impuestos por la sintaxis de un perfil dado, todavía es posible requerir una gran variación en el rendimiento de los codificadores y descodificadores, dependiendo de los valores tomados por los elementos sintácticos en el flujo de bits, tales como el tamaño especificado de las imágenes descodificadas. La norma H.264 reconoce además que, en muchas aplicaciones, no es ni práctico ni económico implementar un descodificador capaz de ocuparse de todos los usos hipotéticos de la sintaxis dentro de un perfil particular. En consecuencia, la norma H.264 define un “nivel” como un conjunto especificado de restricciones impuestas a los valores de los elementos sintácticos en el flujo de bits. Estas restricciones pueden ser simples limitaciones de valores. De forma alternativa, estas restricciones pueden adoptar la forma de restricciones sobre combinaciones aritméticas de valores (por ejemplo, el ancho de imagen multiplicado por la altura de imagen multiplicada por el número de imágenes descodificadas
por segundo). La norma H.264 contempla además que unas implementaciones individuales puedan admitir un nivel diferente para cada perfil admitido.
[0042] Un descodificador que se ajusta a un perfil ordinariamente admite todas las características definidas en el perfil. Por ejemplo, como característica de codificación, la codificación de imágenes B no está admitida en el perfil de base de la norma H.264/AVC, pero está admitida en otros perfiles de la H.264/AVC. Un descodificador que se ajusta a un nivel debería ser capaz de descodificar cualquier flujo de bits que no requiere recursos más allá de las limitaciones definidas en el nivel. Las definiciones de perfiles y niveles pueden ser útiles para la interpretabilidad. Por ejemplo, durante la transmisión de vídeo, se pueden negociar y acordar un par de definiciones de perfil y nivel para una sesión de transmisión completa. Más específicamente, en la norma H.264/AVC, un nivel puede definir, por ejemplo, unas limitaciones en el número de macrobloques que se necesita procesar, el tamaño de memoria intermedia de imágenes descodificadas (DPB), el tamaño de memoria intermedia de imágenes codificadas (CPB), el intervalo de vectores de movimiento vertical, el número máximo de vectores de movimiento por cada dos MB consecutivos y si un bloque B puede tener particiones de submacrobloque inferiores a 8x8 píxeles. De esta manera, un descodificador puede determinar si el descodificador es capaz de descodificar correctamente el flujo de bits.
[0043] Las normas de compresión de vídeo, tales como ITU-T H.261, H.262, H.263, MPEG-1, MPEG-2 y H.264/MPEG-4 parte 10, y la próxima norma de Codificación de Vídeo de Alta Eficiencia (HEVC), usan la predicción temporal con compensación de movimiento para reducir la redundancia temporal. El codificador, tal como el codificador de vídeo 28, puede usar una predicción con compensación de movimiento a partir de algunas imágenes previamente codificadas (también denominadas tramas en el presente documento) para predecir las imágenes codificadas actuales de acuerdo con unos vectores de movimiento. Existen tres tipos de imagen principales en la codificación de vídeo típica. Estas son las imágenes intracodificadas (“imágenes I” o “tramas I”), imágenes predichas (“imágenes P” o “tramas P”) e imágenes predichas bidireccionales (“imágenes B” o “tramas B”). Las imágenes P pueden usar la imagen de referencia antes de la imagen actual en orden temporal. En una imagen B, cada bloque de la imagen B puede predecirse a partir de una o dos imágenes de referencia. Estas imágenes de referencia podrían estar situadas antes o después de la imagen actual en orden temporal.
[0044] Los conjuntos de parámetros en general contienen información de cabecera de capa de secuencia en unos conjuntos de parámetros de secuencia (SPS), y la información de cabecera de capa de imagen que cambia ocasionalmente en unos conjuntos de parámetros de imagen (PPS). Con los conjuntos de parámetros, esta información que cambia ocasionalmente no necesita repetirse para cada secuencia o imagen, de ahí que pueda aumentarse la eficacia de codificación. Además, el uso de conjuntos de parámetros puede permitir una transmisión fuera de banda de información de cabecera, evitando la necesidad de transmisiones redundantes para lograr resistencia a los errores. En una transmisión fuera de banda, las unidades NAL de conjuntos de parámetros se transmiten por un canal diferente al de las otras unidades NAL.
[0045] En el ejemplo de la FIG. 1, la unidad de encapsulación 30 del dispositivo de preparación de contenido 20 recibe flujos elementales que comprenden datos de vídeo codificados desde el codificador de vídeo 28 y flujos elementales que comprenden datos de audio codificados desde el codificador de audio 26. En algunos ejemplos, el codificador de vídeo 28 y el codificador de audio 26 pueden incluir cada uno paquetizadores para formar paquetes PES a partir de datos codificados. En otros ejemplos, el codificador de vídeo 28 y el codificador de audio 26 pueden interactuar cada uno con los paquetizadores respectivos para formar paquetes PES a partir de datos codificados. En otros ejemplos más, la unidad de encapsulación 30 puede incluir paquetizadores para formar paquetes PES a partir de datos de audio y de vídeo codificados.
[0046] El codificador de vídeo 28 puede codificar datos de vídeo de contenido multimedia en una variedad de formas, para generar diferentes representaciones del contenido multimedia a varias velocidades de bits y con diversas características, tales como resoluciones de píxeles, velocidades de tramas, conformidad con diversas normas de codificación, conformidad con diversos perfiles y/o niveles de perfiles para diversas normas de codificación, representaciones que tienen una o múltiples vistas (por ejemplo, para reproducción bidimensional o tridimensional), u otras de dichas características. Una representación, como se usa en la presente divulgación, puede comprender una combinación de datos de audio y datos de vídeo, por ejemplo, uno o más flujos elementales de audio y uno o más flujos elementales de vídeo. Cada paquete PES incluye un stream_id que identifica el flujo elemental al que pertenece el paquete PES. La unidad de encapsulación 30 es responsable de agrupar flujos elementales en archivos de vídeo de diversas representaciones.
[0047] La unidad de encapsulación 30 recibe paquetes PES para flujos elementales de una representación desde el codificador de audio 26 y el codificador de vídeo 28 y forma unas correspondientes unidades de capa de abstracción de red (NAL) a partir de los paquetes PES. En el ejemplo de la norma H.264/AVC (Codificación de Vídeo Avanzada), los segmentos de vídeo codificados están organizados en unidades NAL, que proporcionan una representación de vídeo “apta
para redes” que cubre aplicaciones tales como la videotelefonía, el almacenamiento, la radiodifusión o la emisión en continuo. Las unidades NAL se pueden clasificar en unidades NAL de Capa de Codificación de Vídeo (VCL) y unidades no VCL NAL. Las unidades VCL pueden contener el motor de compresión central y pueden incluir datos de nivel de bloque, macrobloque y/o sector. Otras unidades NAL pueden ser unidades no VCL nAl . En algunos ejemplos, una imagen codificada a una hora concreta, normalmente presentada como una imagen codificada primaria, puede estar contenida en una unidad de acceso, que puede incluir una o más unidades NAL.
[0048] Las unidades no VCL NAL pueden incluir unidades NAL de conjuntos de parámetros y unidades SEI NAL, entre otras. Los conjuntos de parámetros pueden contener información de cabecera de nivel de secuencia (en conjuntos de parámetros de secuencia (SPS)) y la información de cabecera de nivel de imagen que cambia ocasionalmente (en conjuntos de parámetros de imagen (PPS)). Con los conjuntos de parámetros (por ejemplo, PPS y SPS), no es necesario repetir la información que cambia ocasionalmente para cada secuencia o imagen, por lo que la eficacia de la codificación puede aumentarse. Además, el uso de conjuntos de parámetros puede permitir la transmisión fuera de banda de la información de cabecera importante, evitando la necesidad de transmisiones redundantes para resistencia a errores. En unos ejemplos de transmisión fuera de banda, las unidades NAL de conjuntos de parámetros pueden transmitirse en un canal diferente al de otras unidades NAL, tales como las unidades SEI NAL.
[0049] La información de mejora complementaria (SEI) puede contener información que no es necesaria para descodificar las muestras de imágenes codificadas a partir de unidades VCL NAL, pero puede ayudar en los procesos relacionados con la descodificación, visualización, resistencia a errores y otros propósitos. Los mensajes SEI pueden estar contenidos en unidades no VCL NAL. Los mensajes SEI son la parte normativa de algunas especificaciones estándar y, por lo tanto, no siempre son obligatorios para la implementación de descodificador compatible con las normas. Los mensajes SEI pueden ser mensajes SEI de nivel de secuencia o mensajes SEI de nivel de imagen. Parte de la información de nivel de secuencia puede estar contenida en mensajes SEI, tal como los mensajes SEI de información de escalabilidad en el ejemplo de la SVC y los mensajes SEI de información de escalabilidad de vistas en la MVC. Estos ejemplos de mensajes SEI pueden transmitir información, por ejemplo, sobre extracción de puntos de operación y características de los puntos de operación. Además, la unidad de encapsulación 30 puede formar un archivo de manifiesto, tal como una descripción de presentación de medios (MPD) que describe las características de las representaciones. La unidad de encapsulación 30 puede formatear la MPD de acuerdo con el lenguaje de marcado extensible (XML).
[0050] La unidad de encapsulación 30 puede proporcionar datos para una o más representaciones de contenido multimedia, junto con el archivo de manifiesto (por ejemplo, la MPD), a la interfaz de salida 32. La interfaz de salida 32 puede comprender una interfaz de red o una interfaz para escribir en un medio de almacenamiento, tal como una interfaz de bus serie universal (USB), un escritor o grabador de CD o DVD, una interfaz con unos medios de almacenamiento magnéticos o flash, u otras interfaces para almacenar o transmitir datos de medios. La unidad de encapsulación 30 puede proporcionar datos de cada una de las representaciones de contenido multimedia a la interfaz de salida 32, que puede enviar los datos al dispositivo servidor 60 a través de una transmisión de red o unos medios de almacenamiento. En el ejemplo de la FIG. 1, el dispositivo servidor 60 incluye un medio de almacenamiento 62 que almacena diversos contenidos multimedia 64, cada uno de los cuales incluye un respectivo archivo de manifiesto 66 y una o más representaciones 68A a 68N (representaciones 68). De acuerdo con las técnicas de la presente divulgación, unas partes del archivo de manifiesto 66 pueden almacenarse en ubicaciones separadas, por ejemplo, ubicaciones del medio de almacenamiento 62 u otro medio de almacenamiento, potencialmente de otro dispositivo de la red 74 tal como un dispositivo proxy.
[0051] En algunos ejemplos, las representaciones 68 se pueden dividir en conjuntos de representaciones. Es decir, diversos subconjuntos de representaciones 68 pueden incluir respectivos conjuntos comunes de características, tales como códec, perfil y nivel, resolución, número de vistas, formato de archivo para segmentos, información de tipo de texto que puede identificar un idioma u otras características del texto que se va a visualizar con la representación y/o datos de audio que se van a descodificar y presentar, por ejemplo, mediante unos altavoces, información de ángulo de cámara que puede describir un ángulo de cámara o una perspectiva de cámara de mundo real de una escena para representaciones del grupo de representaciones, información de calificación que describe la idoneidad del contenido para audiencias particulares, o similares.
[0052] El archivo de manifiesto 66 puede incluir datos indicativos de los subconjuntos de representaciones 68 correspondientes a grupos de representaciones particulares, así como características comunes para los grupos de representaciones. El archivo de manifiesto 66 también puede incluir datos representativos de características individuales, tales como velocidades de bits, para representaciones individuales de grupos de representaciones. De esta manera, un grupo de representaciones puede permitir una adaptación simplificada de un ancho de banda de red. Las representaciones de un grupo de representaciones pueden indicarse usando elementos hijo de un elemento del grupo de representaciones del archivo de manifiesto 66.
[0053] El archivo de manifiesto 66 también puede (es decir, de forma adicional o alternativa) señalizar información de modo de reproducción no estándar para una o más de las representaciones 68. En algunos ejemplos, una o más de las representaciones 68 pueden incluir una subsecuencia temporal respectiva para admitir el modo de reproducción no estándar. Un modo de reproducción no estándar en general corresponde a un modo de reproducción para una representación en la que los datos de la representación no se reproducen de principio a fin, sino que, en su lugar, pueden comenzar en una ubicación temporal especificada (por ejemplo, para permitir la búsqueda hasta una ubicación temporal particular), u omitir una o más tramas en la dirección temporal directa o inversa (p. ej., avance rápido o retroceso).
[0054] Para permitir modos de reproducción no estándar, el contenido multimedia 64 puede incluir información representativa de ubicaciones de datos para subsecuencias temporales de representaciones correspondientes 68. En algunos ejemplos, el archivo de manifiesto 66 puede incluir información representativa de ubicaciones de datos para las subsecuencias temporales. En otros ejemplos, las propias representaciones 68 pueden incluir la información representativa de las ubicaciones de los datos para las subsecuencias temporales. Todavía en otros ejemplos, tanto las representaciones 68 como el archivo de manifiesto 66 pueden incluir información representativa de ubicaciones de datos para las subsecuencias temporales.
[0055] En algunos ejemplos, el dispositivo de preparación de contenido 20 puede preparar contenido de medios a medida que el contenido de medios se está grabando, por ejemplo, para servicios en directo. La unidad de encapsulación 30 puede, en algunos casos, necesitar actualizar periódicamente un archivo de manifiesto para el contenido de medios. La unidad de encapsulación 30 puede incluso actualizar el archivo de manifiesto dentro de un período particular del contenido de medios. De acuerdo con las técnicas de la presente divulgación, la unidad de encapsulación 30 puede formar segmentos de una representación que incluyen datos que indican que el archivo de manifiesto se debe actualizar. La unidad de encapsulación 30 podría proporcionar las actualizaciones en los propios segmentos o en una ubicación separada desde la cual los dispositivos cliente, como el dispositivo cliente 40, podrían recuperar las actualizaciones del archivo de manifiesto. De esta manera, cuando el archivo de manifiesto 66 necesita actualizarse dentro de un período particular de contenido multimedia 64, la unidad de encapsulación 30 puede formar un segmento de una o más de las representaciones 68 que indican que el archivo de manifiesto 66 se debe actualizar.
[0056] En algunos ejemplos, el archivo de manifiesto 66 puede incluir datos para insertar datos de un período remoto en un contenido multimedia 64 durante la reproducción. Por ejemplo, en lugar de codificar anuncios dentro del contenido multimedia 64, el dispositivo de preparación de contenido 20 puede preparar uno o más contenidos de medios de publicidad separados que se deben incorporar al contenido multimedia 64 durante la reproducción. El dispositivo cliente 40 puede, en algunos ejemplos, proporcionar información específica de usuario, de modo que los anuncios pueden dirigirse a un usuario del dispositivo cliente 40, de modo que un usuario del dispositivo cliente 40 recibe anuncios que son más preferibles e informativos para el usuario. Como respuesta a un conjunto de información de usuario, el dispositivo servidor 60 puede proporcionar una parte de publicidad dirigida del archivo de manifiesto al dispositivo cliente 40, lo que puede hacer que el dispositivo cliente 40 recupere datos del contenido multimedia de publicidad dirigida. De esta manera, dos o más espectadores del mismo contenido multimedia 64 pueden recibir diferentes anuncios dirigidos, de modo que los anuncios son más pertinentes y útiles para los usuarios.
[0057] El dispositivo servidor 60 incluye una unidad de procesamiento de peticiones 70 y una interfaz de red 72. En algunos ejemplos, el dispositivo servidor 60 puede incluir una pluralidad de interfaces de red. Además, cualquiera o la totalidad de las características del dispositivo servidor 60 pueden implementarse en otros dispositivos de una red de distribución de contenido, tales como encaminadores, puentes, dispositivos proxy, conmutadores u otros dispositivos. En algunos ejemplos, unos dispositivos intermedios de una red de distribución de contenido pueden almacenar en memoria caché datos de contenido multimedia 64, e incluir componentes que se ajustan sustancialmente a los del dispositivo servidor 60. En general, la interfaz de red 72 está configurada para enviar y recibir datos a través de la red 74.
[0058] La unidad de procesamiento de peticiones 70 está configurada para recibir peticiones de red desde dispositivos cliente, tales como el dispositivo cliente 40, de datos del medio de almacenamiento 72. Por ejemplo, la unidad de procesamiento de peticiones 70 puede implementar el Protocolo de Transferencia de Hipertexto (HTTP) versión 1.1, como se describe en el documento RFC 2616, “Hypertext Transfer Protocol - HTTP/1.1" [“Protocolo de transferencia de hipertexto - HTTP/1.1”], por R. Fielding et al., Network Working Group, IETF, junio de 1999. Es decir, la unidad de procesamiento de peticiones 70 puede estar configurada para recibir peticiones HTTP GET o GET parciales y proporcionar datos de contenido multimedia 64 como respuesta a las peticiones. Las peticiones pueden especificar un segmento de una de las representaciones 68, por ejemplo, usando un URL del segmento. En algunos ejemplos, las peticiones también pueden especificar uno o más intervalos de bytes del segmento, comprendiendo por tanto peticiones GET parciales. La unidad de procesamiento de peticiones 70 puede estar configurada además para atender peticiones HTTP HEAD para proporcionar datos de cabecera de un segmento de una de las representaciones 68. En cualquier caso, la unidad de procesamiento de peticiones 70 puede estar configurada para procesar las peticiones para proporcionar los datos solicitados a un dispositivo solicitante, tal como el dispositivo cliente 40.
[0059] Como se ilustra en el ejemplo de la FIG. 1, el contenido multimedia 64 incluye el archivo de manifiesto 66, que puede corresponder a una descripción de presentación de medios (MPD). El archivo de manifiesto 66 puede contener descripciones de diferentes representaciones 68 alternativas (por ejemplo, servicios de vídeo con diferentes calidades), y la descripción puede incluir, por ejemplo, información de códec, un valor de perfil, un valor de nivel, una velocidad de bits y otras características descriptivas de las representaciones 68. El dispositivo cliente 40 puede recuperar la MPD de una presentación de medios para determinar cómo acceder a segmentos de las representaciones 68.
[0060] En particular, una aplicación web 52 puede recuperar datos de configuración (no mostrados) del dispositivo cliente 40 para determinar las capacidades de descodificación del descodificador de vídeo 48 y las capacidades de renderización de la salida de vídeo 44. Los datos de configuración también pueden incluir cualquiera o la totalidad de las preferencias de idioma seleccionadas por un usuario del dispositivo cliente 40, una o más perspectivas de cámara correspondientes a las preferencias de profundidad establecidas por el usuario del dispositivo cliente 40 y/o una preferencia de calificación seleccionada por el usuario del dispositivo cliente 40. La aplicación web 52 puede comprender, por ejemplo, un navegador web o un cliente de medios configurados para presentar peticiones HTTP GET y GET parciales. La aplicación web 52 puede corresponder a instrucciones de software ejecutadas por uno o más procesadores o unidades de procesamiento (no mostrados) del dispositivo cliente 40. En algunos ejemplos, la totalidad o unas partes de la funcionalidad descrita con respecto a la aplicación web 52 se pueden implementar en hardware, o en una combinación de hardware, software y/o firmware, donde se puede proporcionar el hardware necesario para ejecutar las instrucciones para software o firmware.
[0061] La aplicación web 52 puede comparar las capacidades de descodificación y renderización del dispositivo cliente 40 con las características de las representaciones 68 indicadas por la información del archivo de manifiesto 66. La aplicación web 52 puede recuperar inicialmente al menos una parte del archivo de manifiesto 66 para determinar las características de las representaciones 68. Por ejemplo, la aplicación web 52 puede solicitar una parte del archivo de manifiesto 66 que describe las características de uno o más grupos de representaciones, de acuerdo con las técnicas de la presente divulgación. La aplicación web 52 puede seleccionar un subconjunto de representaciones 68 (por ejemplo, un grupo de representaciones) que tiene características que las capacidades de codificación y renderización del dispositivo cliente 40 pueden satisfacer. La aplicación web 52 a continuación puede determinar las velocidades de bits para las representaciones del grupo de representaciones, determinar una cantidad de ancho de banda de red actualmente disponible y recuperar segmentos de una de las representaciones que tiene una velocidad de bits que el ancho de banda de la red puede satisfacer.
[0062] En general, las representaciones de velocidades de bits más altas pueden facilitar una reproducción de vídeo de mayor calidad, mientras que las representaciones de velocidades de bits más bajas pueden proporcionar una reproducción de vídeo de calidad suficiente cuando el ancho de banda de red disponible disminuye. En consecuencia, cuando el ancho de banda de red disponible es relativamente alto, la aplicación web 52 puede recuperar datos de representaciones de velocidades de bits relativamente altas, mientras que, cuando el ancho de banda de red disponible es bajo, la aplicación web 52 puede recuperar datos de representaciones de velocidades de bits relativamente bajas. De esta manera, el dispositivo cliente 40 puede emitir en continuo datos multimedia a través de la red 74 mientras se adapta también a la disponibilidad cambiante de ancho de banda de red de la red 74.
[0063] Como se ha indicado anteriormente, en algunos ejemplos, el dispositivo cliente 40 puede proporcionar información de usuario a, por ejemplo, el dispositivo servidor 60 o a otros dispositivos de una red de distribución de contenido. La aplicación web 52, por ejemplo, puede recopilar un identificador de usuario, unas preferencias de usuario y/o información demográfica del usuario, y proporcionar dicha información de usuario al dispositivo servidor 60. La aplicación web 52 puede recibir a continuación un archivo de manifiesto asociado con el contenido de medios de publicidad dirigida, para usarlo para insertar datos del contenido de medios de publicidad dirigida en los datos de medios del contenido de medios solicitado durante la reproducción.
[0064] A veces, un usuario del dispositivo cliente 40 puede interactuar con un navegador web 52 usando las interfaces de usuario del dispositivo cliente 40, tal como un teclado, un ratón, un lápiz, una interfaz de pantalla táctil, unos botones, u otras interfaces, para solicitar que una seleccionada de las representaciones 68 se reproduzca en un modo de reproducción no estándar. Por ejemplo, el usuario puede seleccionar una ubicación temporal particular desde la cual comenzar la reproducción, o saltar a, o buscar, una ubicación temporal particular. En otro ejemplo, el usuario puede elegir realizar un avance rápido o retroceso de la representación.
[0065] Como respuesta a dichas peticiones de un usuario, la aplicación web 52 puede determinar si una de las representaciones 68 incluye una subsecuencia temporal, para realizar el modo de reproducción no estándar solicitado. En un ejemplo, un usuario puede elegir reproducir datos de vídeo en un modo de avance rápido. En lugar de recuperar todos los datos de los segmentos de una representación, la aplicación web 52 puede determinar las ubicaciones de los datos
de la representación correspondientes a una subsecuencia temporal de la representación. Los datos de la subsecuencia temporal pueden corresponder, por ejemplo, a un conjunto de imágenes de actualización de descodificador instantánea (IDR) de la representación.
[0066] Puede haber una duración temporal aproximada entre las imágenes IDR de una representación, por ejemplo, 2 segundos, 10 segundos u otras duraciones temporales aproximadas. Por otro lado, las imágenes IDR pueden codificarse en un modo de intrapredicción y, por lo tanto, la aplicación web 52 no necesita recuperar datos distintos a las imágenes IDR. La aplicación web 52 puede hacer que las imágenes IDR se visualicen a la misma velocidad de tramas a la que, por otro lado, se visualizarían los datos de vídeo de la representación. Sin embargo, debido a que se pueden saltar muchas tramas de datos entre imágenes IDR, los datos de vídeo resultantes pueden reproducirse a una velocidad de tramas incrementada, logrando así el modo de reproducción no estándar deseado.
[0067] La aplicación web 52 puede determinar las ubicaciones de los datos para la subsecuencia temporal usando diversas técnicas. En algunos ejemplos, la aplicación web 52 puede analizar datos del archivo de manifiesto 66 para determinar las ubicaciones de las imágenes IDR. Las ubicaciones de las imágenes IDR pueden indicarse usando intervalos de bytes dentro de segmentos de una representación particular. En otros ejemplos, una caja particular de segmentos de representaciones, tal como una caja de índice de subfragmento (también denominada caja de índice de subsegmento), puede proporcionar indicaciones de las ubicaciones de los datos para la subsecuencia temporal. Por ejemplo, la caja de índice de subfragmento puede incluir datos representativos de intervalos de bytes para imágenes IDR dentro de un segmento correspondiente. En otros ejemplos más, tanto el archivo de manifiesto 66 como las representaciones 68 pueden incluir información usada por la aplicación web 52 para recuperar datos para una subsecuencia temporal. En cualquier caso, la aplicación web 52 puede determinar los intervalos de bytes de las imágenes IDR en los segmentos para crear peticiones GET parciales para las imágenes IDR, y evitar recuperar datos que no se usarían para descodificar ni visualizar.
[0068] En algunos ejemplos, la unidad de encapsulación 30 puede formar segmentos de modo que las imágenes IDR sean contiguas dentro de los segmentos. Es decir, la unidad de encapsulación 30 puede asegurar que los bytes de los segmentos correspondientes a las imágenes IDR son contiguos, sin bytes intermedios para otros tipos de imágenes. De esta manera, la aplicación web 52 solo necesita especificar un único intervalo de bytes de segmentos de una representación para recuperar datos para una subsecuencia temporal de la representación. En algunos ejemplos, también se pueden usar imágenes de actualización de descodificador abierta (ODR) para realizar modos de reproducción no estándar.
[0069] En algunos ejemplos, la aplicación web 52 puede determinar que una parte de un segmento recibido indica que se debe actualizar un archivo de manifiesto. La aplicación web 52 puede estar configurada para analizar una parte particular de cada segmento, tal como una parte de cabecera u otra parte inicial del segmento, para determinar si el segmento indica que el archivo de manifiesto se debe actualizar. Cuando un segmento indica que el archivo de manifiesto se debe actualizar, la aplicación web 52 puede actualizar una copia almacenada localmente del archivo de manifiesto, ya sea usando datos del segmento o recuperando datos para actualizar el archivo de manifiesto desde una ubicación remota, por ejemplo, desde un servidor 60. Después de actualizar el archivo de manifiesto, la aplicación web 52 puede presentar futuras peticiones de datos de representaciones 68 basándose en datos del archivo de manifiesto actualizado.
[0070] Como un ejemplo, el dispositivo de preparación de contenido 20 puede codificar datos de medios en directo, tal como un acontecimiento deportivo en directo, un acontecimiento político u otro acontecimiento de interés periodístico que típicamente se transmite en directo o casi en directo, en lugar de pregrabarse. En dichos casos, a los segmentos correspondientes a los datos de medios hasta una hora determinada se les pueden asignar identificadores, como unos URL, incluidos en un archivo de manifiesto inicial. Sin embargo, después de que haya transcurrido un período de tiempo, se pueden codificar los segmentos posteriores a la hora particular y se puede asignar a estos unos identificadores, tales como unos URL. La unidad de encapsulación 30 del dispositivo de preparación de contenido 20 puede proporcionar los URL para los segmentos posteriores a la hora particular a un archivo de manifiesto actualizado. En consecuencia, para determinar cómo recuperar los segmentos posteriores a la hora particular, el dispositivo cliente 40 puede recibir información indicativa del archivo de manifiesto actualizado, a fin de crear peticiones para recuperar los segmentos posteriores a la hora particular.
[0071] En algunos ejemplos, un segmento puede indicar si ese es el último segmento de una representación. Cuando un segmento es el último segmento de una representación, es posible que deba recuperarse un nuevo archivo de manifiesto para determinar unas representaciones de un período subsiguiente del contenido multimedia correspondiente. En consecuencia, cuando la aplicación web 52 determina que un segmento es el último segmento de una representación en un período del contenido multimedia, la aplicación web 52 puede recuperar un archivo de manifiesto actualizado para el contenido multimedia, por ejemplo, una versión actualizada del archivo de manifiesto 66 de contenido multimedia 64.
[0072] En algunos ejemplos, el dispositivo cliente 40 puede mantener una estructura de datos indicativa de unas representaciones particulares 68 de las cuales el dispositivo cliente 40 ha solicitado datos para contenido multimedia 64. El dispositivo cliente 40 también puede mantener indicaciones de qué se ha reproducido exactamente y a qué hora. Es decir, la estructura de datos puede proporcionar información representativa de las horas de inicio y fin tanto en tiempo real (o de “reloj”) como en tiempo de presentación. La estructura de datos puede proporcionar además información representativa de una hora de puesta en marcha inicial y el inicio de una reproducción. Después de terminar la reproducción de contenido multimedia 64, el dispositivo cliente 40 puede enviar la estructura de datos al dispositivo servidor 60 y/o al dispositivo de preparación de contenido 20. El dispositivo servidor 60 y/o el dispositivo de preparación de contenido 20 pueden usar la información recibida desde el dispositivo cliente 40 para determinar formas más óptimas de mejorar la calidad de la experiencia, tales como reducir las pausas durante la reproducción.
[0073] La interfaz de red 54 puede recibir y proporcionar datos de segmentos de una representación seleccionada a la aplicación web 52, que a su vez puede proporcionar los segmentos a la unidad de desencapsulación 50. La unidad de desencapsulación 50 puede desencapsular elementos de un archivo de vídeo en flujos PES constituyentes, despaquetizar los flujos PES para recuperar datos codificados y enviar los datos codificados al descodificador de audio 46 o bien al descodificador de vídeo 48, dependiendo de si los datos codificados forman parte de un flujo de audio o vídeo, por ejemplo, como se indica en las cabeceras de paquetes PES del flujo. El descodificador de audio 46 descodifica datos de audio codificados y envía los datos de audio descodificados a la salida de audio 42, mientras que el descodificador de vídeo 48 descodifica datos de vídeo codificados y envía los datos de vídeo descodificados, que pueden incluir una pluralidad de vistas de un flujo, a la salida de vídeo 44.
[0074] El codificador de vídeo 28, el descodificador de vídeo 48, el codificador de audio 26, el descodificador de audio 46, la unidad de encapsulación 30, la aplicación web 52 y la unidad de desencapsulación 50 pueden implementarse, cada uno, como cualquiera de entre una variedad de circuitos de procesamiento adecuados, según corresponda, tales como uno o más microprocesadores, procesadores de señales digitales (DSP), circuitos integrados específicos de la aplicación (ASIC), matrices de puertas programables in situ (FPGA), circuitos de lógica discreta, software, hardware, firmware o cualquier combinación de los mismos. Tanto el codificador de vídeo 28 como el descodificador de vídeo 48 pueden estar incluidos en uno o más codificadores o descodificadores, ambos de los cuales pueden estar integrados como parte de un codificador/descodificador (CÓDEC) de vídeo combinado. Asimismo, cada uno del codificador de audio 26 y del descodificador de audio 46 puede estar incluido en uno o más codificadores o descodificadores, ambos de los cuales pueden estar integrados como parte de un códec combinado. Un aparato que incluye un codificador de vídeo 28, un descodificador de vídeo 48, un codificador de audio 26, un descodificador de audio 46, una unidad de encapsulación 30, una aplicación web 52 y/o una unidad de desencapsulación 50 puede comprender un circuito integrado, un microprocesador y/o un dispositivo de comunicación inalámbrica, tal como un teléfono celular.
[0075] La FIG. 2 es un diagrama conceptual que ilustra elementos de un ejemplo de contenido multimedia 100. Un contenido multimedia 100 puede corresponder a un contenido multimedia 64 (f Ig . 1) o a otro contenido multimedia almacenado en la memoria 62. En el ejemplo de la FIG. 2, el contenido multimedia 100 incluye una descripción de presentación de medios (MPD) 102 y una pluralidad de representaciones 110-120. La representación 110 incluye datos de cabecera 112 y segmentos 114A-114N (segmentos 114) opcionales, mientras que la representación 120 incluye datos de cabecera 122 y segmentos 124A-124N (segmentos 124) opcionales. La letra N se usa para designar el último fragmento de película en cada una de las representaciones 110, 120, por comodidad. En algunos ejemplos, puede haber diferentes números de fragmentos de película entre representaciones 110, 120.
[0076] La MPD 102 puede comprender una estructura de datos separada de las representaciones 110-120. La MPD 102 puede corresponder al archivo de manifiesto 66 de la FIG. 1. Asimismo, las representaciones 110-120 pueden corresponder a las representaciones 68 de la FIG. 1. En general, la MPD 102 puede incluir datos que describen en general características de las representaciones 110-120, tales como unas características de codificación y renderización, unos grupos de representaciones, un perfil al que corresponde la MPD 102, información de tipo de texto, información de ángulo de cámara, información de calificación, información de modo de reproducción no estándar (por ejemplo, información indicativa de representaciones que incluyen subsecuencias temporales) y/o información para recuperar períodos remotos (por ejemplo, para la inserción de publicidad dirigida en el contenido de medios durante la reproducción). Los períodos remotos también pueden denominarse períodos externos. Las FIG. 4-7, analizadas con mayor detalle a continuación, ilustran diversos ejemplos de contenido multimedia con diversos elementos incluidos en uno o ambos de una MPD y/o unas representaciones (por ejemplo, dentro de segmentos de representaciones o datos de cabecera de representaciones). Cualquiera o la totalidad de las MPD de las FIG. 4-7 pueden corresponder sustancialmente a la MPD 102 de la FIG. 2.
[0077] Los datos de cabecera 112, cuando están presentes, pueden describir características de los segmentos 114, por ejemplo, ubicaciones temporales de puntos de acceso aleatorio, cuál de los segmentos 114 incluye puntos de acceso aleatorio, desplazamientos en bytes con respecto a puntos de acceso aleatorio dentro de los segmentos 114, localizadores de recursos uniformes (URL) de los segmentos 114 u otros aspectos de los segmentos 114. Los datos de cabecera 122,
cuando están presentes, pueden describir características similares para los segmentos 124. De forma adicional o alternativa, dichas características pueden estar completamente incluidas dentro de la MPD 102.
[0078] Los segmentos 114 incluyen una o más muestras de vídeo codificadas, cada una de las cuales puede incluir tramas o sectores de datos de vídeo. Cada una de las muestras de vídeo codificadas de los segmentos 114 puede tener características similares, por ejemplo, requisitos de altura, anchura y ancho de banda. Dichas características pueden describirse mediante datos de la MPD 102, aunque dichos datos no se ilustran en el ejemplo de la FIG. 2. La MPD 102 puede incluir características como las descritas en la especificación 3GPP, con la adición de cualquier información o toda la información señalizada descrita en la presente divulgación.
[0079] Cada uno de los segmentos 114, 124 puede estar asociado con un único identificador de recursos uniforme (URI), por ejemplo, un localizador de recursos uniforme (URL). Por tanto, cada uno de los segmentos 114, 124 puede ser independientemente recuperable usando un protocolo de red de emisión en continuo, tal como el DASH. De esta manera, un dispositivo de destino, tal como el dispositivo cliente 40, puede usar una petición HTTP Get para recuperar segmentos 114 o 124. En algunos ejemplos, el dispositivo cliente 40 puede usar peticiones HTTP GET parciales para recuperar intervalos de bytes específicos de los segmentos 114 o 124.
[0080] Como se ha indicado anteriormente, la MPD 102 puede ajustarse a un perfil MPD particular. La MPD 102 puede incluir información indicativa de un tipo de extensión multipropósito de correo Internet (MIME) para MPD 102 y/o contenido multimedia 100. Sin embargo, los tipos MIME en general no indican qué códec se necesita para presentar contenido multimedia. En general, se supone que, si un dispositivo puede recuperar una MPD para contenido multimedia, tal como la MPD 102, entonces el dispositivo puede reproducir datos del contenido multimedia correspondientes a la MPD. Sin embargo, esta suposición puede no ser siempre segura. Por lo tanto, en algunos ejemplos, la MPD 102 puede incluir información indicativa de un perfil al que la MPD 102 corresponde.
[0081] Puede haber un número relativamente pequeño de perfiles a los que las MPD pueden corresponder. Los perfiles pueden admitirse por niveles para abordar las capacidades, de forma similar a la manera en que la norma H.264/AVC incluye perfiles y niveles para codificación de vídeo. Los perfiles MPD pueden disponerse como capas de cebolla, en la medida en que un perfil superior puede incluir todas las características de todos los perfiles inferiores. Puede haber un proceso de registro en una autoridad de registro para registrar diversos perfiles. En algunos ejemplos, un dispositivo cliente, tal como el dispositivo cliente 40, puede estar configurado para recuperar información indicativa del perfil para la MPD, tal como la MPD 102, antes de recuperar otros datos de la MPD, tales como las características de las representaciones 110-120 señalizadas por la MPD 102. De esta manera, el perfil para la MPD 102 puede señalizarse antes de que se proporcione acceso a la MPD 102.
[0082] Se puede proporcionar un identificador de perfil en texto sin formato (por ejemplo, como un nombre sin formato), o un nombre de dominio inverso. Una autoridad de registro, tal como el 3GPP u otra autoridad de registro, puede conservar los nombres sin formato. Un perfil puede considerarse una reivindicación y un permiso, en la medida en que el perfil puede reivindicar que un contenido multimedia correspondiente se ajusta al perfil y da permiso a un lector (por ejemplo, un dispositivo cliente) que implementa ese perfil para leer la MPD, interpreta qué reconoce y hace caso omiso del material que no entiende.
[0083] Los perfiles pueden describir características tales como, por ejemplo, características de MPD 102, uso de la red, formato(s) de medios, códec(s) usado(s), formatos de protección y/o medidas cuantitativas tales como velocidades de bits, tamaños de pantalla y similares. De esta manera, el perfil de MPD 102 puede proporcionar información indicativa de qué códecs tienen que admitirse con el fin de recuperar datos de MPD 102 y/o contenido multimedia 100. Los perfiles también se pueden describir como “puntos de ajuste”. Los perfiles con los que cumple una MPD pueden indicarse en un atributo “Profiles” de la MPD. Por tanto, un dispositivo cliente puede estar configurado para recuperar una parte de la MPD 102 que incluye información relacionada con el atributo “Profiles” antes de recuperar datos adicionales de la MPD 102. De forma alternativa, los perfiles se pueden indicar como un parámetro en el tipo MIME de la MPD. Por ejemplo, los perfiles “X, Y y Z” se pueden señalizar de la siguiente manera:
video/vnd.mpeg.mpd;profiles="X,Y,Z".
[0084] En algunos ejemplos, la MPD 102 puede referirse a datos de períodos externos (también denominados períodos remotos). Un período corresponde en general a una sección temporal particular de contenido multimedia. Cada período puede incluir una o más representaciones, tales como las representaciones 110-120. Sin embargo, se puede insertar un período externo dentro o entre períodos de contenido multimedia 100. El período externo puede incluir datos multimedia además de datos multimedia del contenido multimedia. Por ejemplo, los periodos externos pueden incluir datos de publicidad.
[0085] Los períodos pueden definirse por su duración, es decir, la hora de inicio del período puede depender de la duración del período anterior. Un dispositivo cliente puede correlacionar periodos externos con una estructura MPD. Para los servicios en directo, la concatenación de MPD puede lograrse mediante una creación dinámica de la MPD en el servidor, tal como el dispositivo servidor 60, con procedimientos de actualización apropiados. También se pueden usar otras tecnologías web. Los URL para períodos definidos externamente pueden procesarse en tiempo real para generar un nuevo período que contiene anuncios dirigidos a un usuario del dispositivo cliente 40. El dispositivo cliente 40 puede facilitar información adicional con la petición que puede usarse para dirigir publicidad, por ejemplo, un identificador de usuario, unas preferencias de usuario, información demográfica de usuario u otra información.
[0086] La Tabla 1 siguiente ilustra un ejemplo de conjunto de información que se puede proporcionar en la MPD 102 para describir uno o más Períodos de contenido multimedia e indicar la presencia de períodos externos:
TABLA 1 - Información de Período MPD
[0087] De esta manera, el elemento período de la MPD 102 puede referirse a periodos externos (o remotos), por ejemplo, usando periodListURI. Para contenido a la carta, las indicaciones de duraciones de período pueden ser más útiles para dispositivos cliente, tales como el dispositivo cliente 40, que las horas de inicio para admitir períodos externos. Una MPD puede incluir una secuencia de períodos, donde los períodos pueden ser internos o externos. El uso de dichos períodos remotos, junto con información específica de usuario, puede permitir la publicidad dirigida al usuario. El dispositivo servidor 60 y/o el dispositivo de preparación de contenido 20 pueden estar configurados para generar dinámicamente unas MPD separadas para cada usuario o para cada dispositivo cliente. El dispositivo cliente 40, u otro dispositivo, puede concatenar la reproducción de un anuncio dirigido y un servicio en directo, por ejemplo, usando la MPD creada dinámicamente.
[0088] De esta manera, las técnicas de la presente divulgación pueden admitir situaciones en las que un proveedor de servicios ofrece contenido a la carta a través de 3GPP AHS. El contenido puede incluir varias escenas, y entre cada escena, se puede añadir un anuncio. El anuncio puede diferir para cada usuario. Es decir, se puede añadir publicidad dirigida. Además, cada anuncio puede tener una duración diferente. Del mismo modo, un proveedor de servicios puede ofrecer un servicio en directo particular (por ejemplo, un servicio gratuito). Al acceder al servicio en directo, el proveedor de servicios puede añadir un anuncio que puede o no estar dirigido a un usuario. La duración del anuncio puede diferir, dependiendo de la hora de acceso, la ubicación de acceso, el usuario y similares. El dispositivo servidor 60 puede estar configurado para proporcionar solo el URL del servicio en directo una vez terminado el anuncio, para asegurar que se vea el anuncio.
[0089] La FIG. 3 es un diagrama de bloques que ilustra elementos de un ejemplo de archivo de vídeo 150, que puede corresponder a un segmento de una representación, tal como uno de los segmentos 114, 124 de la FIG. 2. Cada uno de los segmentos 114, 124 puede incluir datos que se ajustan sustancialmente a la disposición de datos ilustrada en el ejemplo de la FIG.3. Del mismo modo, los segmentos de las FIG.4-7 analizados a continuación también pueden ajustarse sustancialmente a la estructura del archivo de vídeo 150. Como se ha descrito anteriormente, los archivos de vídeo de acuerdo con el formato de archivo de medios base ISO y ampliaciones del mismo almacenan datos en una serie de objetos, denominados “cajas”. En el ejemplo de la FIG. 3, el archivo de vídeo 150 incluye una caja de tipo de archivo (FTYP) 152, una caja de película (MOOV) 154, unas cajas de fragmento de película (MOOF) 162 y una caja de acceso aleatorio de fragmento de película (MFRA) 164.
[0090] La caja de tipo de archivo (FTYP) 152 describe en general un tipo de archivo para el archivo de vídeo 150. La caja de tipo de archivo 152 puede incluir datos que identifican una especificación que describe un mejor uso para el archivo de vídeo 150. La caja de tipo de archivo 152 puede estar situada antes de la caja MOOV 154, de las cajas de fragmento de película 162 y de la caja MFRA 164.
[0091] En algunos ejemplos, un segmento, tal como el archivo de vídeo 150, puede incluir una caja de actualización de MPD (no mostrada) antes de la caja FTYP 152. La caja de actualización de MPD puede incluir información que indica que se debe actualizar una MPD correspondiente a una representación que incluye el archivo de vídeo 150, junto con información para actualizar la MPD. Por ejemplo, la caja de actualización de MPD puede proporcionar un URI o URL para un recurso que se debe usar para actualizar la MPD. En otro ejemplo, la caja de actualización de MPD puede incluir datos para actualizar la MPD. En algunos ejemplos, la caja de actualización de MPD puede seguir inmediatamente a una caja de tipo de segmento (STYP) (no mostrada) del archivo de vídeo 150, donde la caja STYP puede definir un tipo de segmento para el archivo de vídeo 150. La FIG. 7, que se analiza con mayor detalle a continuación, proporciona información adicional con respecto a la caja de actualización de MPD.
[0092] La caja MOOV 154, en el ejemplo de la FIG. 3, incluye la caja de cabecera de película (MVHD) 156, la caja de pista (TRAK) 158 y una o más cajas de extensión de película (MVEX) 160. En general, la caja MVHD 156 puede describir características generales del archivo de vídeo 150. Por ejemplo, la caja MVHD 156 puede incluir datos que indican cuándo se ha creado originariamente el archivo de vídeo 150, cuándo se ha modificado por última vez el archivo de vídeo 150, una escala de tiempo para el archivo de vídeo 150, una duración de reproducción para el archivo de vídeo 150 u otros datos que describen en general el archivo de vídeo 150.
[0093] La caja TRAK 158 puede incluir datos para una pista del archivo de vídeo 150. La caja TRAK 158 puede incluir una caja de cabecera de pista (TKHD) que describe características de la pista correspondiente a la caja TRAK 158. En algunos ejemplos, la caja TRAK 158 puede incluir imágenes de vídeo codificadas, mientras que, en otros ejemplos, las imágenes de vídeo codificadas de la pista pueden estar incluidas en fragmentos de película 162, a los que los datos de la caja TRAK 158 pueden hacer referencia.
[0094] En algunos ejemplos, el archivo de vídeo 150 puede incluir más de una pista. En consecuencia, la caja MOOV 154 puede incluir un número de cajas TRAK igual al número de pistas del archivo de vídeo 150. La caja TRAK 158 puede describir características de una pista correspondiente del archivo de vídeo 150. Por ejemplo, la caja TRAK 158 puede indicar información temporal y/o espacial para la pista correspondiente. Una caja TRAK similar a la caja TRAK 158 de la caja MOOV 154 puede describir características de una pista de conjunto de parámetros, cuando la unidad de encapsulación 30 (FIG. 1) incluye una pista de conjunto de parámetros en un archivo de vídeo, tal como el archivo de vídeo 150. La unidad de encapsulación 30 puede señalizar la presencia de mensajes SEI de nivel de secuencia en la pista de conjunto de parámetros dentro de la caja TRAK que describe la pista de conjunto de parámetros.
[0095] Las cajas MVEX 160 pueden describir características de unos fragmentos de película 162 correspondientes, por ejemplo, para señalizar que el archivo de vídeo 150 incluye fragmentos de película 162, además de datos de vídeo incluidos en la caja MOOV 154, si los hubiera. En el contexto de los datos de vídeo de emisión en continuo, las imágenes de vídeo codificadas pueden estar incluidas en fragmentos de película 162 en lugar de en una caja MOOV 154. En consecuencia, todas las muestras de vídeo codificadas pueden estar incluidas en fragmentos de película 162, en lugar de en una caja MOOV 154.
[0096] La caja MOOV 154 puede incluir un número de cajas MVEX 160 igual al número de fragmentos de película 162 en el archivo de vídeo 150. Cada una de las cajas MVEX 160 puede describir características de uno correspondiente de los fragmentos de película 162. Por ejemplo, cada caja MVEX puede incluir una caja de cabecera de extensión de película (MEHD) que describe una duración temporal para el correspondiente uno de los fragmentos de película 162.
[0097] Como se ha indicado anteriormente, la unidad de encapsulación 30 puede almacenar un conjunto de datos de secuencia en una muestra de vídeo que no incluye datos de vídeo codificados reales. Una muestra de vídeo puede corresponder en general a una unidad de acceso, que es una representación de una imagen codificada a una hora concreta específica. En el contexto de la AVC, la imagen codificada incluye una o más unidades VCL NAL que contienen la información para crear todos los píxeles de la unidad de acceso y otras unidades no VCL NAL asociadas, tales como unos mensajes SEI. En consecuencia, la unidad de encapsulación 30 puede incluir un conjunto de datos de secuencia, que puede incluir mensajes SEI de nivel de secuencia, en uno de los fragmentos de película 162. La unidad de encapsulación 30 puede señalizar además la presencia de un conjunto de datos de secuencia y/o unos mensajes SEI de nivel de secuencia que están presentes en uno de los fragmentos de película 162 dentro de la una de las cajas MVEX 160 correspondiente al uno de los fragmentos de película 162.
[0098] Los fragmentos de película 162 pueden incluir una o más imágenes de vídeo codificadas. En algunos ejemplos, los fragmentos de película 162 pueden incluir uno o más grupos de imágenes (GOP), cada uno de los cuales puede incluir un número de imágenes de vídeo codificadas, por ejemplo, tramas o imágenes. Además, como se ha descrito anteriormente, los fragmentos de película 162 pueden incluir conjuntos de datos de secuencia en algunos ejemplos. Cada uno de los fragmentos de película 162 puede incluir una caja de cabecera de fragmento de película (MFHD, no mostrada
en la FIG.3). La caja MFHD puede describir características del fragmento de película correspondiente, tal como un número de secuencia para el fragmento de película. Los fragmentos de película 162 pueden estar incluidos por orden de número de secuencia en el archivo de vídeo 150.
[0099] La caja MFRA 164 puede describir los puntos de acceso aleatorio de los fragmentos de película 162 del archivo de vídeo 150. Esto puede ayudar a realizar modos de reproducción no estándar, tales como los que realizan búsquedas en ubicaciones temporales particulares dentro del archivo de vídeo 150. La caja MFRA 164 es opcional en general y no es necesario incluirla en los archivos de vídeo, en algunos ejemplos. Del mismo modo, un dispositivo cliente, tal como un dispositivo cliente 40, no necesariamente tiene que hacer referencia a una caja MFRA 164 para descodificar y visualizar correctamente los datos de vídeo del archivo de vídeo 150. La caja MFRA 164 puede incluir un número de cajas de acceso aleatorio de fragmento de pista (TFRA) (no mostradas) igual al número de pistas del archivo de vídeo 150 o, en algunos ejemplos, igual al número de pistas de medios (por ejemplo, pistas sin indicación) del archivo de vídeo 150.
[0100] En algunos ejemplos, los fragmentos de película 162 pueden incluir una o más imágenes IDR y/u ODR. Del mismo modo, la caja MFRA 164 puede proporcionar indicaciones de ubicaciones dentro del archivo de vídeo 150 de las imágenes IDR y o Dr . En consecuencia, se puede formar una subsecuencia temporal del archivo de vídeo 150 a partir de imágenes IDR y ODR del archivo de vídeo 150. La subsecuencia temporal también puede incluir otras imágenes, como tramas P y/o tramas B que dependen de imágenes IDR y/u ODR. Las tramas y/o los sectores de la subsecuencia temporal pueden estar dispuestos dentro de los segmentos, de modo que las tramas/sectores de la subsecuencia temporal que dependen de otras tramas/sectores de la subsecuencia puedan descodificarse correctamente. Por ejemplo, en la disposición jerárquica de los datos, los datos usados para la predicción para otros datos también pueden estar incluidos en la subsecuencia temporal. Por otro lado, los datos pueden estar dispuestos en una subsecuencia continua, de modo que se puede especificar un solo intervalo de bytes en una petición GET parcial para recuperar todos los datos de un segmento particular usado para la subsecuencia temporal. Un dispositivo cliente, tal como el dispositivo cliente 40, puede extraer una subsecuencia temporal del archivo de vídeo 150 determinando intervalos de bytes de fragmentos de película 162 (o partes de fragmentos de película 162) correspondientes a imágenes IDR y/u ODR. Como se explica con mayor detalle a continuación, los archivos de vídeo tales como el archivo de vídeo 150 pueden incluir una caja de índice de subfragmento y/o una caja de fragmento de subpista, cualquiera de las cuales o ambas pueden incluir datos para extraer una subsecuencia temporal del archivo de vídeo 150.
[0101] La FIG. 4 es un diagrama conceptual que ilustra un ejemplo de contenido multimedia 200 que incluye una MPD 202 y unos grupos de representaciones 210-220. Un contenido multimedia 200 puede corresponder a un contenido multimedia 64 (FIG. 1) o a otro contenido multimedia almacenado en la memoria 62. En este ejemplo, las representaciones de contenido multimedia 200 están dispuestas por grupo de representaciones. Es decir, las representaciones con un conjunto común de características pueden formarse como un grupo de representaciones, que permite una adaptación de ancho de banda de red simplificada.
[0102] En este ejemplo, la MPD 202 incluye unas características de representación comunes 204A que incluyen información que describe unas características comunes del grupo de representaciones 210 y unas características de representación comunes 204B que describen unas características comunes del grupo de representaciones 220. Las características comunes pueden incluir características de codificación y/o renderización de las representaciones, tales como un códec, perfil y nivel de códec a los que se ajustan las representaciones del grupo de representaciones, resolución de píxeles, velocidad de tramas u otras características de las representaciones.
[0103] De acuerdo con las técnicas de la presente divulgación, las características pueden incluir un valor de tipo de texto, un valor de ángulo de cámara y/o un valor de calificación además de las características analizadas anteriormente. El valor del tipo de texto puede describir unas características del texto que se debe visualizar con los datos de vídeo (por ejemplo, texto de subtítulos ocultos). El valor de tipo de texto puede describir, por ejemplo, un idioma del texto, una ubicación en la pantalla en la que se debe visualizar el texto, la fuente y/o el tamaño del texto u otras características del texto.
[0104] El valor de ángulo de cámara puede describir una posición de cámara horizontal real para una cámara usada (ya sea de forma física o conceptual) para generar datos de vídeo codificados de representaciones correspondientes. Usando los ángulos de cámara, un dispositivo cliente puede seleccionar datos de dos o más representaciones que se deben visualizar sustancialmente de forma simultánea, por ejemplo, para producir un efecto de reproducción de vídeo tridimensional. Las ubicaciones de cámara horizontales reales pueden permitir al dispositivo cliente seleccionar representaciones para aumentar o disminuir la cantidad relativa de profundidad en la reproducción tridimensional de los datos de vídeo.
[0105] La calificación puede describir la idoneidad del contenido para audiencias particulares. Por ejemplo, en Estados Unidos, la Asociación Cinematográfica de Estados Unidos define unas calificaciones que incluyen G, PG, PG-13, R y NC17. En otro ejemplo, en Reino Unido, el Consejo Británico de Clasificación Cinematográfica define unas calificaciones que incluyen U, PG, 12A, 12, 15, 18 y R18. En otro ejemplo más, en la República de China (Taiwán), las categorías de películas incluyen una categoría de audiencias generales una categoría protegida, una categoría de orientación parental y una categoría restringida.
[0106] Al proporcionar características comunes 204 de los grupos de representaciones respectivos, por ejemplo, los grupos de representaciones 210-220, un dispositivo cliente (por ejemplo, el dispositivo cliente 40) puede seleccionar uno apropiado de los grupos de representaciones 210-220, basándose al menos en parte en las correspondientes características de representación comunes 204. En el ejemplo de la FIG. 4, la MPD 202 también incluye unas características de representación individuales 206A, 206B, 208A y 208B, que corresponden respectivamente a las representaciones 212A, 212B, 222A, 222B. Las características de representación individuales 206A, 206B, 208A y 208B pueden incluir información representativa de las características de las representaciones 212A, 212B, 222A, 222B no indicadas por las características de representación comunes 204. Por ejemplo, las características de representación individuales 206A, 206B, 208A y 208B pueden incluir información representativa de las velocidades de bits para unas respectivas de las representaciones 212A, 212B, 222A, 222B.
[0107] Las representaciones de un grupo de representaciones pueden considerarse mutuamente excluyentes, ya que pueden representar el mismo contenido (el mismo vídeo, el mismo idioma de audio, etc.) con codificación diferente u otros parámetros. La MPD 202 puede proporcionar información para seleccionar uno de los grupos de representaciones 210 220, por ejemplo, las características de representación comunes 204. Esta información puede incluir información indicativa de si un cliente puede descodificar y renderizar una representación dada. De esta manera, el dispositivo cliente puede dejar de tomar en consideración las representaciones de consideración que el dispositivo cliente es incapaz de descodificar y/o renderizar. En consecuencia, el dispositivo cliente 40 puede seleccionar un grupo de representaciones adecuado que puede descodificarse y renderizarse y, a continuación, seleccionar una representación del grupo basándose, por ejemplo, en la disponibilidad de ancho de banda de red.
[0108] El dispositivo cliente 40 también puede estar configurado con las preferencias del usuario, por ejemplo, para calificación, idioma y/o profundidad. En consecuencia, el dispositivo cliente 40 también puede seleccionar uno o más grupos de representaciones de modo que los grupos seleccionados se ajusten a las preferencias de usuario. El dispositivo cliente 40 puede seleccionar, a continuación, un subconjunto de grupos de representaciones disponibles que se pueden reproducir simultáneamente. Cuando el dispositivo cliente 40 solo es capaz de visualizar una vista, el dispositivo cliente 40 puede elegir recuperar datos solo de una representación. Por otro lado, cuando el dispositivo cliente 40 tiene capacidad de visión estéreo o multivisión, el dispositivo cliente 40 puede recuperar datos de dos o más representaciones.
[0109] Después de seleccionar uno o más grupos de representaciones, el dispositivo cliente 40 puede seleccionar representaciones de los grupos de representaciones basándose, por ejemplo, en el ancho de banda de red disponible. Cuando el ancho de banda de red disponible cambia (por ejemplo, aumenta o disminuye), el dispositivo cliente 40 puede ajustar las selecciones de representaciones de los grupos de representaciones para adaptarse a las condiciones cambiantes del ancho de banda de red. Por supuesto, el dispositivo cliente 40 también puede cambiar selecciones de representaciones si las preferencias del usuario o las capacidades del dispositivo (por ejemplo, las capacidades de descodificación y renderización) cambian.
[0110] Las características de representación comunes 204 pueden corresponder a elementos XML RepresentationGroup de la MPD 202, en algunos ejemplos. Las características de representación individuales pueden corresponder a subelementos de elementos RepresentationGroup correspondientes de la MPD 202, en algunos ejemplos.
[0111] Agrupando características comunes de las representaciones, se pueden lograr diversas optimizaciones. Por ejemplo, muchas representaciones pueden tener los mismos valores para diversos parámetros. Por lo tanto, la señalización individual de características en la MPD puede dar por resultado una duplicación sustancial en la MPD al señalizar características individualmente. Muchos dispositivos cliente están configurados para descartar la mayor parte de la MPD que se recibe. Por consiguiente, podría haber optimización en la parte de la MPD que el dispositivo cliente recibe. Por otro lado, si se descarta un grupo de representaciones, es posible que el dispositivo cliente no tenga necesidad de acceder a la información actualmente presente en la MPD (los URL, etc.) para la representación o el grupo de representaciones descartados. El dispositivo cliente también puede evitar actualizaciones innecesarias de los URL, que tienden a actualizarse con frecuencia, por ejemplo, durante la emisión en continuo y en tiempo real de red de datos de vídeo para acontecimientos en directo. Incluso si se eliminaran las redundancias en la MPD, el dispositivo cliente 40 seguiría teniendo que analizar la MPD completa después de la recepción y la reconstrucción, lo que podría desperdiciar una cantidad significativa de tiempo de computación.
[0112] La FIG. 5 es un diagrama conceptual que ilustra otro ejemplo de contenido multimedia 250, en el que los datos de MPD se dividen en diversas partes para diversos grupos de representaciones. Un contenido multimedia 250 puede
corresponder a un contenido multimedia 64 (FIG. 1) o a otro contenido multimedia almacenado en la memoria 62. En particular, un archivo de manifiesto para contenido multimedia 250 incluye luna parte de MPD 252, que en general incluye datos relacionados con unos grupos de representaciones. En este ejemplo, la parte de MPD 252 incluye datos de grupo de representaciones 254A y 254B (datos de grupo de representaciones 254), que corresponden a unos grupos de representaciones respectivos 270-280, ilustrados mediante flechas que apuntan desde los datos de grupo de representaciones 254 hasta los grupos de representaciones respectivos 270-280.
[0113] En este ejemplo, los datos del grupo de representaciones 254A incluyen características comunes del grupo de representaciones 256A y una ubicación de la parte de MPD para el grupo de representaciones 258A. Es decir, la ubicación de la parte de MPD para el grupo de representaciones 258A indica la ubicación de la parte de MPD para el grupo de representaciones 260A. La ubicación de la parte de MPD para el grupo de representaciones 258A puede corresponder, por ejemplo, a un URI o URL de la parte de MPD para el grupo de representaciones 260A. De manera similar, los datos de grupo de representaciones 254B incluyen características comunes del grupo de representaciones 256B y una ubicación de la parte de MPD para el grupo de representaciones 258B, correspondiente a la parte de MPD para el grupo de representaciones 260B.
[0114] La parte de MPD para el grupo de representaciones 260A incluye información representativa de características de unas representaciones específicas 272A, 272B (representaciones 272) del grupo de representaciones 270. De manera similar, la parte de MPD para el grupo de representaciones 260B incluye información representativa de unas características de unas representaciones específicas 282A, 282B (representaciones 282) del grupo de representaciones 280.
[0115] De esta manera, un dispositivo cliente, tal como el dispositivo cliente 40, puede determinar un grupo de representaciones apropiado desde el cual se pueden recuperar datos, sin recibir datos de señalización específicos de representación para representaciones que el dispositivo cliente 40 no recuperaría, descodificaría ni visualizaría. En consecuencia, el dispositivo cliente 40 puede evitar recuperar más datos de la cuenta que, por otro lado, acabarían descartándose. En particular, después de seleccionar uno o más grupos de representaciones que incluyen representaciones que el dispositivo cliente 40 puede descodificar y renderizar, el dispositivo cliente 40 puede recuperar solo las partes de MPD para los grupos de representaciones seleccionados, sin recuperar las partes de MPD para grupos de representaciones que el dispositivo cliente 40 no podrían descodificar y/o renderizar adecuadamente.
[0116] Los datos de contenido multimedia 250 en general pueden corresponder sustancialmente a unos elementos respectivos de contenido multimedia 200. Sin embargo, el contenido multimedia 250 puede simplificar la descarga jerárquica de datos de MPD para el contenido multimedia 250 por los dispositivos cliente. Por ejemplo, en lugar de recuperar un archivo de manifiesto completo, que puede incluir datos de señalización para todas las representaciones, un dispositivo cliente puede simplemente determinar uno o más grupos de representaciones y, a continuación, recuperar las partes de MPD correspondientes a esos grupos de representaciones, sin recuperar las partes de MPD correspondientes a otros grupos de representaciones que el dispositivo cliente no recuperaría (por ejemplo, porque el dispositivo cliente no admite procedimientos de descodificación y/o de renderizado para descodificar y visualizar las representaciones). De esta manera, los datos de contenido multimedia 250 pueden mitigar ineficacias de descarga y análisis innecesarios.
[0117] La Tabla 2 siguiente proporciona un ejemplo de elemento que se puede añadir a una MPD, tal como la MPD 202 de la FIG. 4 y/o una parte de MPD 252 de la FIG. 5, que describe las características de los grupos de representaciones. Las características de representación comunes 204 (FIG.4) y/o las características comunes del grupo de representaciones 256 pueden formatearse de acuerdo con la estructura de la Tabla 2.
TABLA 2
[0118] El XML siguiente proporciona ejemplos de elementos de Grupo de Representaciones de una estructura de datos de MPD:
<RepresentationGroup annotation="ex0" annotation2=”exl,,>
<representationListURI="http://www.example.con/representationsl.xml/>
</RepresentationGroup>
<RepresentationGroup annotation=''ex2" annotation2="ex3”>
<representationListURI=''http://www.example.con/representations2.xml/>
</RepresentationGroup>
[0119] La tabla 3 siguiente proporciona un ejemplo de conjunto de datos que pueden incluirse para representaciones. Estos datos pueden proporcionarse para representaciones individuales en algunos ejemplos, mientras que en otros ejemplos, la totalidad o una parte de los datos pueden proporcionarse para grupos de representaciones, de acuerdo con, por ejemplo, la tabla 2 anterior.
TABLA 3
[0120] En algunos ejemplos, los datos para grupos de representaciones y los datos para las representaciones individuales de dichos grupos pueden presentarse en una MPD, tal como la MPD 202, con una relación jerárquica. Es decir, las representaciones individuales pueden señalizarse como elementos hijo a un elemento del grupo de representaciones correspondiente, por ejemplo, la MPD 202. Del mismo modo, para la parte de MPD 252 y las partes de MPD para los grupos de representaciones 260, las características de representación individuales 262, 264 pueden corresponder a elementos hijo de las características comunes del grupo de representaciones 256.
[0121] La FIG. 6 es un diagrama conceptual que ilustra otro ejemplo de contenido multimedia 300 que se puede usar para admitir modos de reproducción no estándar. Un contenido multimedia 300 puede corresponder a un contenido multimedia 64 (FIG. 1) o a otro contenido multimedia almacenado en la memoria 62. En este ejemplo, la MPD 302 incluye información de representación 304, que puede incluir información de subsecuencia temporal 306. La información de representación 304 incluye características de representación 310, en este ejemplo. La representación 310 incluye unos segmentos 312A-312D (segmentos 312). En este ejemplo, cada uno de los segmentos 312 incluye una caja de índice de subfragmento respectiva 314 y datos de punto de acceso aleatorio (RAP) 316. En otros ejemplos, algunos segmentos pueden no incluir puntos de acceso aleatorio, mientras que algunos segmentos pueden incluir múltiples puntos de acceso aleatorio. Los puntos de acceso aleatorio pueden incluir imágenes IDR u ODR.
[0122] El dispositivo cliente 40 puede extraer una subsecuencia temporal de la representación 310. Por ejemplo, el dispositivo cliente 40 puede extraer cada uno de los RAP 316 para formar una subsecuencia temporal de representación 310. De forma alternativa, el dispositivo cliente 40 puede recuperar un subconjunto de RAP 316, como los RAP 316A y 316C, o 316A y 316D. Al recuperar y reproducir solo los puntos de acceso aleatorio 316 (o subconjuntos de los mismos),
el dispositivo cliente 40 puede reproducir la representación 310 en un modo de reproducción no estándar, por ejemplo, avance rápido o retroceso. De manera similar, el dispositivo cliente 40 puede saltarse o buscar uno particular de los puntos de acceso aleatorio 316 para comenzar la reproducción desde una posición temporal solicitada.
[0123] El contenido multimedia puede incluir cualquiera o ambas de la información de la subsecuencia temporal 306 y/o las cajas SFIX 314 para indicar información para modos de reproducción no estándar. La información de subsecuencia temporal 306 puede incluir un elemento de “modo de reproducción no estándar” de la MPD 302, como el que se define en la Tabla 4 siguiente:
TABLA 4
[0124] En el ejemplo de la Tabla 4, el elemento de modo de reproducción no estándar incluye un elemento de subsecuencia temporal que especifica que una representación correspondiente contiene una subsecuencia temporal a la que se puede acceder mediante intervalos de bytes usando la información de las cajas de índice de subfragmento 314. Los RAP 316 pueden corresponder a partes de fragmentos de película, tales como los fragmentos de película 162 ilustrados en la FIG. 3.
[0125] Las cajas de índice de subfragmento 314 pueden describir en general ubicaciones de intervalos de bytes de los puntos de acceso aleatorio 316 de los segmentos correspondientes 312. En general, las cajas de índice de subfragmento 314 pueden aparecer después de una caja de índice de segmento (SIDX) (no mostrada en la FIG. 6) de los segmentos 312, y proporcionar tamaños de prefijo de fragmento de película para fragmentos de película a los que se hace referencia en la caja de índice de segmento inmediatamente anterior. La Tabla 5 siguiente proporciona las propiedades de un ejemplo de caja SFIX.
TABLA 5 - Propiedades de la Caja de Índice de Subfragmento
[0126] El seudocódigo siguiente proporciona un ejemplo de sintaxis para las Cajas de Índice de Subfragmento 314:
aligned(8) class SubFragmentlndexBox
extends FullBox('strf', 0, 0) {
unsigned int(32) fragment_count;
unsigned int(8) sub_fragment_count;
for(i=0; i < fragment_count; i++)
for(j=0; j < sub_fragment_count-1; j++)
unsigned int(32) prefix_size;
>
[0127] La descripción siguiente proporciona un ejemplo de conjunto de semánticas para la sintaxis descrita anteriormente:
fragment_count especifica el número de fragmentos para los cuales se especifica información de subfragmento en esta caja. Debe ser igual al número de referencias de fragmento de la caja de índice de segmento inmediatamente anterior.
sub_fragment_count especifica el número de subfragmentos por fragmento
prefix_size especifica el tamaño del prefijo del fragmento i ocupado por el subfragmento j.
[0128] De forma adicional o alternativa, se puede incluir una caja de fragmento de subpista en los segmentos 312. Mientras que la caja de índice de subfragmento puede proporcionar información de sintaxis que el dispositivo cliente 40 puede recuperar junto con una caja de índice de segmento antes de solicitar datos de medios, la caja de índice de subfragmento puede proporcionar información para el dispositivo cliente 40 para crear peticiones de intervalos de bytes que se dirigen a subconjuntos de datos de fragmentos, por ejemplo, subcapas temporales.
[0129] La caja de fragmento de subpista puede especificar un reordenamiento de los datos de muestra del fragmento de pista, de tal modo que las muestras de cada fragmento de subpista preceden a todas las muestras que aparecen solo en fragmentos de subpista superiores. Las muestras de un fragmento de subpista que no aparecen en ningún fragmento de subpista inferior pueden colocarse de forma contigua en el archivo (por ejemplo, uno correspondiente de los segmentos 312) en el mismo orden en que aparecen en la caja de pista en ejecución. Esto puede permitir que las muestras se almacenen en el orden de la capa de escalabilidad temporal dentro del fragmento de pista. Cuando esta caja está presente, puede haber solo una caja de pista en ejecución.
[0130] La Tabla 6 describe las propiedades de la caja de fragmento de subpista:
TABLA 6 - Propiedades de la Caja de Fragmento de Subpista
[0131] El seudocódigo siguiente ilustra un ejemplo de sintaxis para la caja de fragmento de subpista:
aligned(8) class SubTrackFragBox
extends FullBox('strf, 0, 0) {
unsigned int(8) sub_track_count;
unsigned int(16) sample_count[sub_track_count-l];
for(i=0; i < sub_track_count; i++)
{
for (j=0; j < sample_count[i]; j++)
bit(l) cur_sub_trak_flag;
}
reserved_trailing_bits;
}
[0132] La descripción siguiente proporciona un ejemplo de semántica para el ejemplo de sintaxis de la caja de fragmento de subpista descrito anteriormente:
sub_track_count indica el número de fragmentos de subpista; cuando esta caja está presente, sub_track_count puede ser igual o mayor que 2.
sample_count[i] indica el número de muestras del fragmento de subpista con un índice de i+1. Las muestras de un fragmento de subpista se consideran miembros de todos los fragmentos de subpista con valores de índice más pequeños. El número de muestras del fragmento de subpista 0 es equivalente al número de ceros de la primera cadena de bits del siguiente bucle. El número de muestras del fragmento de subpista con un índice de sub_track_count-1, que es sample_count [sub_track_count-1], es igual al número de muestras del Fragmento de Pista.
cur_sub_track_flag igual a 1 en la iteración i del bucle externo indica que una muestra pertenece a un fragmento de subpista con un índice de i+1. Este valor igual a 0 en la iteración del bucle externo indica que una muestra pertenece a un fragmento de subpista con un índice más pequeño que i+1. Nota: Es decir, la primera iteración del bucle contiene indicadores sample_count[0] que indican las posiciones de las muestras en el fragmento de subpista 1 que no están también en el fragmento de subpista 0. La segunda iteración del bucle contiene indicadores sample_count[1] que indican las posiciones de las muestras en el fragmento de subpista 2 y que no están también en el fragmento de subpista 1, etc. sample_count[sub_track_count-1] se considera igual al número de muestras del Fragmento de Pista.
[0133] Los modos de reproducción no estándar pueden aplicarse a una variedad de situaciones diferentes. Por ejemplo, los modos de reproducción no estándar se pueden usar para hacer una pausa en un servicio temporalmente, reanudar el servicio después de una pausa, retroceder durante un período de tiempo y/o avanzar rápidamente para pasar a una posición temporal deseada (por ejemplo, después de que se interrumpa la reproducción o para buscar una posición temporal deseada particular).
[0134] Los modos de reproducción no estándar admitidas que usan subsecuencias temporales pueden proporcionar un número de ventajas. Por ejemplo, las subsecuencias temporales pueden admitir diversas velocidades de tramas de manera relativamente fácil. Del mismo modo, la representación que incluye una subsecuencia temporal se puede usar para una reproducción regular, ya que la representación no está limitada a la subsecuencia temporal. Además, la codificación con subsecuencias temporales puede ser muy eficiente. Las subsecuencias temporales tampoco requieren nuevos perfiles o niveles de codificación, pueden reusar las representaciones regulares, evitar la complejidad de cliente adicional, habilitar suministro de contenido simple, proporcionar ancho de banda, memoria caché y eficiencia de almacenamiento, proporcionar flexibilidad a la implementación del cliente para optimizar la experiencia del usuario, ser comunes entre diferentes operaciones de modo de reproducción no estándar, y pueden ser aplicables a un amplio espectro de implementaciones de cliente, y pueden proporcionar una experiencia de usuario relativamente buena en términos de demora de puesta en marcha después de la búsqueda, así como buenas velocidades de tramas, capacidad de reacción y otras de dichas métricas.
[0135] La FIG. 7 es un diagrama conceptual que ilustra otro ejemplo de contenido multimedia 350 en el que los segmentos 362A-362D pueden incluir cajas de actualización de MPD 364 para indicar que la MPD 352 se debe actualizar. Un contenido multimedia 350 puede corresponder a un contenido multimedia 64 (FIG. 1) o a otro contenido multimedia almacenado en la memoria 62. En general, la MPD 352 incluye información de representación 354 para la representación 360, tal como las características de la representación 360 y los URI o URL de los segmentos 362 de la representación 360. En algunos casos, la representación 360 se puede formar a partir de contenido en directo, por ejemplo, un acontecimiento deportivo, y por lo tanto, los URI de los segmentos 362 podrían no estar determinados de antemano. Por lo tanto, cuando se forman los segmentos de representación 360, uno o más de los segmentos pueden incluir cajas de actualización de MPD para indicar que la MPD 352 se debe actualizar.
[0136] Por ejemplo, en la FIG. 7, el segmento 362A incluye la caja de actualización de MPD 364 y los datos de segmento 366A. Los datos de segmento 366A pueden formarse en general de acuerdo con el archivo de vídeo 150 (FIG. 3). Sin embargo, el segmento 362A también incluye la caja de actualización de MPD 364A. De esta manera, el dispositivo cliente 40 puede actualizar la MPD 352 basándose en los datos de la caja de actualización de MPD 364A. La caja de actualización de MPD 364A puede incluir actualizaciones de la MPD 352, o puede incluir un URI o URL de una actualización para la MPD 352. Deberá entenderse que los datos de las cajas de actualización de MPD 364 no están necesariamente incluidos en cajas explícitas. Por ejemplo, los datos que se ajustan sustancialmente a los datos de las cajas de actualización de MPD 364 pueden estar incluidos en otras cajas de segmentos 362, o en una parte de cabecera de los segmentos 362. De esta manera, una “parte” de los segmentos 362 que incluye información de actualización de MPD puede corresponder a una parte de cabecera, una caja de actualización de MPD similar a las cajas de actualización de MPD 364, o datos incluidos en una o más cajas de segmentos 362 diferentes.
[0137] De esta manera, después de recuperar los datos del segmento 362A, el dispositivo cliente 40 puede analizar la caja de actualización de MPD 364A para actualizar la MPD 352. El dispositivo cliente 40 a continuación puede usar la versión actualizada de la MPD 352 para recuperar los segmentos 362B y 362C. Los segmentos 362B y 362C incluyen unos datos de segmento 366B, 366C, que de nuevo pueden formatearse de acuerdo con el archivo de vídeo 150 de la FIG. 3. El dispositivo cliente 40 también puede recuperar datos del segmento 362D. En este ejemplo, el segmento 362D incluye la caja de actualización de MPD 364B, que el dispositivo cliente 40 puede usar para realizar otra actualización de MPD 352, de una manera que se ajusta sustancialmente a la primera actualización. En consecuencia, para recibir segmentos más allá del segmento 362D de la representación 360, el dispositivo cliente 40 puede usar la versión recientemente actualizada de la MPD 352, basándose en las actualizaciones realizadas con respecto a los datos de la caja de actualización de MPD 364B.
[0138] Una caja de actualización de MPD, tal como las cajas de actualización de MPD 364A, 364B, puede incluir propiedades de acuerdo con la Tabla 7 siguiente:
TABLA 7 - Propiedades de la Caja de Actualización de MPD
[0139] La sintaxis siguiente se puede usar para definir una caja de actualización de MPD, en algunos ejemplos:
aligned(8) class MPDUpdateBox
extends FullBox('mupe') {
unsigned int(3) mpd_information_flags;
unsigned int(l) new_location_flag;
unsigned int(28) latest_mpd_update_time;
/// The following are optional fields
string mpd_location
}
[0140] A continuación, se proporciona un ejemplo de conjunto de semánticas para el ejemplo de sintaxis de caja de actualización de MPD:
Los indicadores de información mpd contienen la O lógica de cero o más de los siguientes:
0X00 actualización de Descripción de Presentación de Medios ahora
0X01 actualización de Descripción de Presentación de Medios próxima
0x02 Fin-de-presentación
0x03-0x07 reservados
new_location_flag si se establece en 1, entonces la nueva Descripción de Presentación de Medios está disponible en una nueva ubicación especificada en la ubicación de mpd.
latest_mpd_update_time especifica la hora en ms para cuando la actualización de MPD es necesaria en relación con la hora de emisión de la MPD de la última MPD. El cliente puede elegir actualizar la MPD en cualquier momento desde el actual.
mpd_location está presente si y solo si se establece new_location_flag y proporciona un Localizador de Recursos Uniforme para la nueva Descripción de Presentación de Medios.
[0141] De esta manera, la señalización en banda de nivel de segmento se puede usar para indicar actualizaciones de MPD 302. Las actualizaciones pueden proporcionarse en los límites del segmento, en algunos ejemplos. Es decir, las cajas de actualización de MPD 364 pueden aparecer solo al principio o al final de los segmentos respectivos, en diversos ejemplos. En algunos ejemplos, si surge algún problema de ancho de banda de las actualizaciones de MPD, el dispositivo servidor 60 (FIG. 1) puede ofrecer unas MPD para determinadas capacidades del dispositivo, de modo que solo se actualizan estas partes. Por otro lado, un elemento MPD de la MPD 302 puede proporcionar una hora de publicación en
tiempo de reloj de la MPD 302. Esto puede proporcionar una hora de publicación de MPD única, que puede proporcionar un identificador único para la MPD e indicar cuándo se ha emitido la MPD. También puede proporcionar un anclaje para los procedimientos de actualización. Además, el dispositivo servidor 60 y/o el dispositivo de preparación de contenido 20 pueden optimizar actualizaciones de MPD usando estructuras jerárquicas, por ejemplo, para actualizar solo partes de la MPD 302 que requieren actualizaciones, sin cambiar otras partes de la MPD 302 que no necesitan actualización.
[0142] La inserción de publicidad, tal como la inserción de publicidad dirigida, también se puede realizar usando cajas de actualización de MPD similares a las de la FIG. 7. Es decir, se puede proporcionar una caja de actualización de MPD para dirigir el dispositivo cliente 40 para recuperar datos del contenido multimedia de publicidad. Esto puede ocurrir durante tiempos de espera u otras acciones en acontecimientos deportivos que retrasan el juego, y de igual manera, en los tiempos de espera o retardos por acciones que generan interés para reproducción de vídeo. Debido a que dichos acontecimientos pueden ocurrir de manera un tanto aleatoria, los tiempos en los que se van a insertar los anuncios podrían no conocerse a priori.
[0143] La actualización de la MPD 302 puede ser factible de manera asíncrona con la distribución de segmentos. El dispositivo servidor 60 puede proporcionar garantías al dispositivo cliente 40 de que una MPD no se actualizará durante una cantidad de tiempo determinado. Sin embargo, el dispositivo servidor 60 no necesita señalizar explícitamente cuándo se actualiza la MPD antes de un período mínimo de actualización. Difícilmente se puede lograr una reproducción completamente sincrónica, ya que los dispositivos cliente pueden intervenir en diferentes casos de actualización de MPD. Por lo tanto, los clientes pueden experimentar un desplazamiento. El dispositivo de servidor 60 y/o el dispositivo de preparación de contenido 20 pueden permitir visión en diferido.
[0144] La FIG. 8 es un diagrama de flujo que ilustra un ejemplo de procedimiento para proporcionar indicaciones de grupos de representaciones mediante un dispositivo servidor, y para seleccionar grupos de representaciones mediante un dispositivo cliente, así como una representación individual dentro del grupo de representaciones seleccionado. Aunque el procedimiento de la FIG.8 se describe con respecto al dispositivo servidor 60 y al dispositivo cliente 40, debería entenderse que otros dispositivos pueden implementar técnicas similares a las del procedimiento de la FIG. 8. Por ejemplo, el dispositivo de preparación de contenido 20 o uno o más dispositivos de red de una red de distribución de contenido pueden realizar algunas o la totalidad de las funciones atribuidas al dispositivo servidor 60.
[0145] El dispositivo servidor 60 puede obtener inicialmente (por ejemplo, crear o recibir desde el dispositivo de preparación de contenido 20) datos para un conjunto de representaciones de contenido multimedia, donde las representaciones del conjunto tienen una o más características comunes, así como un archivo de manifiesto para el contenido multimedia. El conjunto de representaciones puede corresponder a un grupo de representaciones. El dispositivo servidor 60 puede proporcionar indicaciones de grupos de representaciones al dispositivo cliente 40 (400). Por ejemplo, el dispositivo servidor 60 puede proporcionar la Mp D 202 (FIG. 4) o la parte de MpD 252 (FIG. 5) al dispositivo cliente 40. Otros ejemplos de MPD de las FIG. 2, 6 y 7 también pueden incluir indicaciones de grupos de representaciones, tales como elementos XML de grupo de representaciones. En cualquier caso, el dispositivo cliente 40 puede recibir información que describe características de grupo de representaciones (402), por ejemplo, del archivo MPD o la parte del archivo MPD recibido desde el dispositivo servidor 60.
[0146] El dispositivo cliente 40 puede analizar a continuación las características de grupo de representaciones para eliminar grupos de representaciones que el dispositivo cliente 40 no puede o no elegiría recuperar, descodificar o renderizar. Por ejemplo, el dispositivo cliente 40 puede comparar las capacidades de descodificación y renderización con las características de los grupos de representaciones para determinar grupos de representaciones inapropiados. En otro ejemplo, el dispositivo cliente 40 puede comparar las preferencias del usuario en cuanto al idioma, la calificación y la cantidad de profundidad (por ejemplo, como las proporcionadas por dos o más vistas que tienen ángulos de cámara particulares), para eliminar grupos de representaciones no deseados. El dispositivo cliente 40 puede seleccionar a continuación un grupo de representaciones apropiado basándose al menos en parte en las capacidades de descodificación y renderización del dispositivo cliente 40 (404). Por supuesto, debe entenderse que esta selección también podría hacerse (de forma adicional o alternativa) basándose en las preferencias del usuario, como se ha analizado anteriormente. De esta manera, el dispositivo cliente 40 puede seleccionar un conjunto de representaciones basándose en unas características comunes para el conjunto de representaciones.
[0147] Después de seleccionar un grupo de representaciones, el dispositivo cliente 40 puede solicitar datos para una parte de MPD que describe específicamente las representaciones del grupo de representaciones. Como respuesta, el dispositivo servidor 60 puede proporcionar indicaciones de velocidades de bits de representación, entre otras características de representación individuales, en el grupo de representaciones seleccionado al dispositivo cliente 40 (406). Por ejemplo, el dispositivo servidor 60 puede enviar datos para una específica de las partes de MpD para los grupos de representaciones 260 (FIG. 5) al dispositivo cliente 40. En otros ejemplos, el dispositivo cliente 40 puede haber recibido ya una MPD completa para el contenido multimedia (por ejemplo, la MPD 202 de la FIG. 4), pero puede analizar en
particular unas partes de la MPD que corresponden específicamente al grupo de representaciones seleccionado. De esta manera, en algunos ejemplos, la etapa 406 de la FIG. 8 puede producirse antes que la etapa 402 y/o que la etapa 404.
[0148] En cualquier caso, después de recibir las características específicas de las representaciones del grupo de representaciones seleccionado, que incluyen las velocidades de bits para las representaciones (408), el dispositivo cliente 40 puede determinar una cantidad disponible actualmente de ancho de banda de red (410). El dispositivo cliente 40 puede seleccionar a continuación una representación del grupo de representaciones (412) seleccionado, de modo que la representación seleccionada tiene una velocidad de bits que se puede acomodar a la cantidad determinada de ancho de banda de red disponible actualmente. Las velocidades de bits de las representaciones representan ejemplos de características de codificación de las representaciones individuales del grupo de representaciones. El dispositivo cliente 40 puede solicitar a continuación datos de la representación seleccionada (414). Por ejemplo, el dispositivo cliente 40 puede crear (por ejemplo, generar y enviar) una petición HTTP GET para solicitar un segmento de la representación seleccionada. De forma alternativa, el dispositivo cliente 40 puede crear una petición HTTP GET parcial que especifica un intervalo de bytes de un segmento de la representación seleccionada. En cualquier caso, el dispositivo cliente 40 puede presentar la petición al dispositivo servidor 60.
[0149] El dispositivo servidor 60 puede recibir la petición y, como respuesta, enviar los datos solicitados al dispositivo cliente 40 (416). Por ejemplo, la unidad de procesamiento de peticiones 70 puede determinar una dirección de red del dispositivo cliente 40 a partir de los datos de la petición recibida, por ejemplo, una dirección de protocolo de Internet (IP) de origen y un puerto de origen de la petición recibida. La unidad de procesamiento de peticiones 70 puede formar paquetes de red que incluyen los datos solicitados y enviar los datos solicitados al dispositivo cliente 40, por ejemplo, con destino a la dirección IP determinada del dispositivo cliente 40.
[0150] Después de recibir los datos solicitados, el dispositivo cliente 40 puede empezar a descodificar y a visualizar los datos recibidos (418). Mientras recibe los datos solicitados, el dispositivo cliente 40 puede continuar analizando el ancho de banda de red disponible actualmente y enviando peticiones de representaciones que tienen velocidades de bits que pueden acomodarse a la cantidad de ancho de banda de red (410-414) disponible actualmente. Si la cantidad de ancho de banda de red cambia, el dispositivo cliente 40 puede cambiar de forma adaptativa a una representación diferente del grupo de representaciones seleccionado. Por ejemplo, el dispositivo cliente 40 puede determinar un segmento en una nueva representación correspondiente a la ubicación temporal del último segmento solicitado de una representación anterior del grupo de representaciones y, a continuación, solicitar el segmento determinado (o una parte del mismo) de la nueva representación.
[0151] En algunos ejemplos, el dispositivo servidor 60 puede proporcionar una MPD correspondiente a una inserción de publicidad dirigida al dispositivo cliente 40 durante el procedimiento de la FIG. 8. La MPD puede hacer que el dispositivo cliente 40 recupere datos multimedia de publicidad dirigida a un usuario del dispositivo cliente 40. En algunos ejemplos, el dispositivo cliente 40 puede proporcionar además información de usuario al dispositivo servidor 60 para dirigir los datos de medios de publicidad al usuario del dispositivo cliente 40. La información de usuario puede incluir preferencias de usuario, información de identificación de usuario (tal como un ID de usuario), información demográfica de usuario u otra información similar. La inserción de publicidad dirigida puede tener lugar, por ejemplo, antes de la etapa 400 de la FIG. 8, o después de la etapa 418 y antes de seleccionar una representación subsiguiente, por ejemplo, para un período subsiguiente del contenido multimedia.
[0152] De esta manera, el procedimiento de la FIG. 8 representa un ejemplo de procedimiento que incluye analizar al menos una parte de un archivo de manifiesto para contenido multimedia, en el que la parte del archivo de manifiesto incluye información indicativa de conjuntos de representaciones del contenido multimedia e información indicativa de características comunes para cada uno de los conjuntos de representaciones, seleccionar uno de los conjuntos de representaciones basándose en las características comunes para el uno de los conjuntos de representaciones, seleccionar una de las representaciones del uno seleccionado de los conjuntos de representaciones basándose en una o más características de codificación de la una de las representaciones del uno de los conjuntos, y generar una petición de datos de una de la una de las representaciones basándose en la selección.
[0153] Asimismo, el procedimiento de la FIG.8 representa un ejemplo de procedimiento que incluye obtener un conjunto de representaciones de contenido multimedia que tiene una o más características comunes, en el que cada una de las representaciones del conjunto tiene características de codificación individuales separadas de las características comunes, obtener un archivo de manifiesto para el contenido multimedia, en el que el archivo de manifiesto incluye información indicativa de las representaciones del conjunto, información indicativa de las características comunes para el conjunto de representaciones e información indicativa de las características de codificación para cada una de las representaciones del conjunto, y enviar al menos una parte del archivo de manifiesto a un dispositivo cliente.
[0154] La FIG.9 es un diagrama de flujo que ilustra un ejemplo de procedimiento para proporcionar datos representativos de un modo de reproducción no estándar mediante un dispositivo servidor, y para usar los datos mediante un dispositivo cliente para recuperar y reproducir en modo de reproducción no estándar datos de contenido multimedia. Aunque el procedimiento de la FIG.9 se describe con respecto al dispositivo servidor 60 y al dispositivo cliente 40, debería entenderse que otros dispositivos pueden implementar técnicas similares a las del procedimiento de la FIG. 9. Por ejemplo, el dispositivo de preparación de contenido 20 o uno o más dispositivos de red de una red de distribución de contenido pueden realizar algunas o la totalidad de las funciones atribuidas al dispositivo servidor 60. Por otro lado, la selección de un modo de reproducción no estándar puede realizarse junto con la selección de un grupo de representaciones y una representación del grupo de representaciones, como se describe con respecto a la FIG. 8 anterior.
[0155] El dispositivo servidor 60 puede obtener inicialmente (por ejemplo, crear o recibir desde el dispositivo de preparación de contenido 20) datos para una o más representaciones de contenido multimedia, donde al menos una de las representaciones incluye una subsecuencia temporal, así como un archivo de manifiesto para el contenido multimedia. El archivo de manifiesto puede indicar que la representación incluye una subsecuencia temporal. El dispositivo servidor 60 puede proporcionar indicaciones de representaciones de contenido multimedia, por ejemplo, características de las representaciones (430) al dispositivo cliente 40. Además, el dispositivo servidor 60 puede proporcionar indicaciones de subsecuencias temporales de una o más de las representaciones (432). Es decir, el dispositivo servidor 60 puede proporcionar información en un archivo MPD para el contenido multimedia, que indica que hay subsecuencias temporales disponibles para una o más representaciones del contenido multimedia. Por ejemplo, el dispositivo servidor 60 puede proporcionar al menos una parte de una MPD que incluye un elemento de modo de reproducción no estándar que tiene un subelemento de subsecuencia temporal al dispositivo cliente 40, como se ha descrito con respecto a la FIG. 6 anterior.
[0156] El dispositivo cliente 40 puede seleccionar una representación basándose en las características de las representaciones del contenido multimedia (434). Aunque el dispositivo cliente 40 no tiene que seleccionar necesariamente una representación con una subsecuencia temporal, para propósitos de análisis ilustrativo de estas técnicas, se supone que, a modo de ejemplo, el dispositivo cliente 40 selecciona una representación para la cual está disponible una subsecuencia temporal. El dispositivo cliente 40 puede recibir a continuación una petición para usar un modo de reproducción no estándar (436). Por ejemplo, el dispositivo cliente 40 puede recibir una selección de una ubicación temporal particular desde la cual puede comenzar a reproducir, por ejemplo, desde un usuario del dispositivo cliente 40. De forma alternativa, el dispositivo cliente 40 puede recibir una petición de avance rápido o retroceso de los datos de vídeo.
[0157] Como respuesta a la petición de uso del modo de reproducción no estándar, el dispositivo cliente 40 puede determinar si está disponible una subsecuencia temporal para la representación, y de ser así, solicitar datos para recuperar al menos una parte de la subsecuencia temporal (438). El dispositivo servidor 60 puede responder a la petición proporcionando indicaciones de ubicaciones de datos para la subsecuencia temporal al dispositivo cliente 40 (440). En algunos ejemplos, una parte de la MPD para el contenido multimedia puede indicar ubicaciones de los datos para la subsecuencia temporal. En otros ejemplos, el dispositivo cliente 40 puede solicitar cajas de índice de subfragmento y/o cajas de fragmento de subpista de unos segmentos de la representación correspondiente.
[0158] En cualquier caso, el dispositivo cliente 40 puede usar los datos recibidos, que incluyen información indicativa de ubicaciones de datos para la subsecuencia temporal, para solicitar datos de la subsecuencia temporal de las ubicaciones especificadas (442). Por ejemplo, el dispositivo cliente 40 puede determinar ubicaciones (p. ej., los URL de segmentos y, posiblemente, los intervalos de bytes de los segmentos) que incluyen puntos de acceso aleatorio IDR y/o puntos de acceso aleatorio ODR. El dispositivo cliente 40 a continuación puede crear peticiones HTTP GET o GET parciales de datos de la subsecuencia temporal, a fin de reproducir datos de vídeo de acuerdo con el modo de reproducción no estándar.
[0159] Después de recibir las peticiones HTTP GET y/o GET parciales desde el dispositivo cliente 40, el dispositivo servidor 60 puede proporcionar los datos solicitados al dispositivo cliente 40 (444). Por ejemplo, el dispositivo servidor 60 puede enviar segmentos como respuesta a peticiones HTTP GET o fragmentos de medios de los segmentos (o partes de fragmentos de medios) como respuesta a peticiones HTTP GET parciales. Después de recibir los datos solicitados, el dispositivo cliente 40 puede descodificar y visualizar los datos recibidos (446). Del mismo modo, el dispositivo cliente 40 puede continuar solicitando datos de la representación (o una representación diferente si la cantidad de ancho de banda de red disponible cambia).
[0160] De esta manera, el procedimiento de la FIG. 9 representa un ejemplo de procedimiento que incluye analizar información de un archivo de manifiesto para contenido multimedia, en el que la información del archivo de manifiesto indica que al menos una representación del contenido multimedia incluye una subsecuencia temporal, determinar una o más ubicaciones de datos para la subsecuencia temporal y presentar una o más peticiones de datos para la subsecuencia temporal.
[0161] Asimismo, el procedimiento de la FIG. 9 representa un ejemplo de procedimiento que incluye obtener datos para al menos una representación de contenido multimedia que incluye una subsecuencia temporal, obtener datos para un archivo de manifiesto para el contenido multimedia, en el que una información del archivo de manifiesto indica que la al menos una representación del contenido multimedia incluye la subsecuencia temporal, y enviar al menos una parte del archivo de manifiesto a un dispositivo cliente.
[0162] La FIG. 10 es un diagrama de flujo que ilustra un ejemplo de procedimiento para proporcionar, mediante un dispositivo servidor, indicaciones de que un archivo de manifiesto, tal como una MPD, se debe actualizar, y para actualizar una MPD mediante un dispositivo cliente. Aunque el procedimiento de la FIG. 10 se describe con respecto al dispositivo servidor 60 y al dispositivo cliente 40, debería entenderse que otros dispositivos pueden implementar técnicas similares a las del procedimiento de la FIG. 10. Por ejemplo, el dispositivo de preparación de contenido 20 o uno o más dispositivos de red de una red de distribución de contenido pueden realizar algunas o la totalidad de las funciones atribuidas al dispositivo servidor 60. Además, la actualización de una MPD puede realizarse junto con la selección de un modo de reproducción no estándar y/o la selección de un grupo de representaciones y una representación del grupo de representaciones, como se describe con respecto a las FIG. 8 y 9 anteriores.
[0163] En algunos ejemplos, el dispositivo de preparación de contenido 20 puede codificar y encapsular datos de vídeo codificado captado durante un acontecimiento en directo, tal como un acontecimiento deportivo. De esta manera, el dispositivo cliente 40 puede recuperar datos codificados del acontecimiento casi en tiempo real a medida que se produce el acontecimiento. Inicialmente, el dispositivo servidor 60 puede recibir una o más representaciones de contenido multimedia correspondiente al acontecimiento en directo y proporcionar indicaciones de características para representaciones del contenido multimedia en una MPD (460). La MPD solo puede describir características y ubicaciones de segmentos hasta una ubicación temporal particular del contenido multimedia, debido a que el contenido multimedia se forma a medida que el acontecimiento se filma en directo.
[0164] El dispositivo cliente 40 puede usar la información de la MPD para seleccionar una representación (462). Usando la MPD actual, el dispositivo cliente 40 puede solicitar segmentos de la representación seleccionada, por ejemplo, hasta la ubicación temporal. Como respuesta, el dispositivo servidor 60 puede enviar los segmentos solicitados. Sin embargo, además, el dispositivo servidor 60 puede enviar un segmento que incluye una caja de actualización de MPD u otra información que indica que la MPD se debe actualizar a partir de ese segmento (466).
[0165] Como respuesta, el dispositivo cliente 40 puede descodificar y visualizar datos de uno o más de los segmentos recibidos (468). El dispositivo cliente 40 también puede recibir la información que indica que la MPD se debe actualizar (470). Por ejemplo, el dispositivo cliente 40 puede recibir el último segmento antes de la ubicación temporal a la que la MPD ya no se aplica. El dispositivo cliente 40 puede determinar que el último segmento incluye una caja de actualización de MPD, similar a las cajas de actualización de MPD descritas con respecto a la FIG. 7.
[0166] Usando la caja de actualización, el dispositivo cliente 40 puede solicitar actualizaciones de la MPD (472). Por ejemplo, el dispositivo cliente 40 puede determinar una ubicación de red de actualizaciones para la MPD y solicitar las actualizaciones desde la ubicación determinada. El dispositivo servidor 60 u otro dispositivo que almacena actualizaciones de la MPD (por ejemplo, el dispositivo de preparación de contenido 20) puede enviar información indicativa de las actualizaciones de la MPD (474), que el dispositivo cliente 40 puede usar para actualizar la MPD (476). De forma alternativa, en algunos ejemplos, la caja de actualización de MPD puede incluir información indicativa de las propias actualizaciones de MPD, en cuyo caso el dispositivo cliente 40 puede actualizar la MPD usando la información de la caja de actualización de MPD. En cualquier caso, el dispositivo cliente 40 a continuación puede solicitar segmentos posteriores a la ubicación temporal a la que la MPD anterior ya no se aplica, usando la versión actualizada de la MPD (478). El dispositivo cliente 40 y el dispositivo servidor 60 pueden continuar realizando etapas similares hasta que el dispositivo cliente 40 termina de reproducir el contenido multimedia.
[0167] En algunos ejemplos, se pueden usar técnicas similares al procedimiento de la FIG. 10 para realizar la inserción de publicidad dirigida. Por ejemplo, una MPD actualizada puede incluir una parte que corresponde al contenido de medios de publicidad. Se puede requerir que el dispositivo cliente 40 recupere y reproduzca datos del contenido de medios de publicidad, basándose en la MPD actualizada, a fin de recibir datos de uno o más segmentos del contenido de medios de publicidad, que pueden incluir otra MPD actualizada para recuperar datos de medios subsiguientes del contenido de medios deseado.
[0168] De esta manera, el procedimiento de la FIG. 10 representa un ejemplo de procedimiento que incluye recuperar datos de un primer segmento de una representación de contenido multimedia de acuerdo con unos datos de una copia de un archivo de manifiesto almacenada por un dispositivo cliente, recuperar una parte de un segundo segmento de la representación de acuerdo con el archivo de manifiesto, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto se debe
actualizar, actualizar la copia del archivo de manifiesto almacenada por el dispositivo cliente basándose en la indicación de que el archivo de manifiesto se debe actualizar, y recuperar datos de medios del segundo segmento de acuerdo con el archivo de manifiesto actualizado.
[0169] Asimismo, el procedimiento de la FIG. 10 representa un ejemplo de procedimiento que incluye enviar datos de un archivo de manifiesto de contenido multimedia a un dispositivo cliente, en el que el archivo de manifiesto incluye información indicativa de un primer segmento de una representación del contenido multimedia, enviar al menos una parte del primer segmento de la representación al dispositivo cliente como respuesta a una petición del dispositivo cliente, en el que la parte del primer segmento indica que el archivo de manifiesto se debe actualizar, en el que una versión actualizada del archivo de manifiesto incluye información indicativa de un segundo segmento diferente de la representación, y enviar, como respuesta a una petición recibida desde el dispositivo cliente y formada de acuerdo con el archivo manifiesto actualizado, datos del segundo segmento al dispositivo cliente.
[0170] La FIG. 11 es un diagrama de flujo que ilustra un ejemplo de procedimiento para crear y usar datos de un documento de informe de calidad de experiencia (QoE). Aunque el procedimiento de la FIG. 11 se describe con respecto al dispositivo servidor 60 y al dispositivo cliente 40, debería entenderse que otros dispositivos pueden implementar técnicas similares a las del procedimiento de la FIG. 11. Por ejemplo, el dispositivo de preparación de contenido 20 o uno o más dispositivos de red de una red de distribución de contenido pueden realizar algunas o la totalidad de las funciones atribuidas al dispositivo servidor 60. Por otro lado, la provisión de un informe de QoE al dispositivo servidor 60 y/o al dispositivo de preparación de contenido 20 puede realizarse junto con cualquiera o la totalidad de la actualización de una MPD, la selección de un modo de reproducción no estándar y/o la selección de un grupo de representaciones y una representación del grupo de representaciones, como se describe con respecto a las FIG. 8, 9 y 10 anteriores.
[0171] Inicialmente, el dispositivo servidor 60 puede proporcionar indicaciones de las características de representaciones de contenido multimedia de una MPD al dispositivo cliente 40 (500). Como se ha analizado anteriormente, el dispositivo cliente 40 puede seleccionar una representación (502), por ejemplo, basándose en las capacidades de descodificación y/o renderización del dispositivo cliente 40, las preferencias de usuario, el ancho de banda de red disponible y/u otras características de las representaciones del contenido multimedia. El dispositivo cliente 40 puede solicitar a continuación uno o más segmentos de la representación seleccionada (504).
[0172] El dispositivo servidor 60 puede enviar los segmentos solicitados al dispositivo cliente 40 (506). Después de recibir los datos solicitados, el dispositivo cliente 40 puede descodificar y visualizar los datos recibidos (508). El dispositivo cliente 40 puede determinar a continuación si se han recibido todos los datos de vídeo (510). Si el último segmento de la representación (o el contenido multimedia en general) no se ha recibido (rama “NO” de 510), el dispositivo cliente 40 puede evaluar nuevamente una cantidad de ancho de banda de red disponible actualmente y seleccionar una representación basándose en este análisis (502) y solicitar segmentos de la representación (504).
[0173] En general, el dispositivo cliente 40 puede almacenar en memoria intermedia los datos e intentar evitar el desbordamiento o subdesbordamiento de la memoria intermedia solicitando datos del contenido multimedia de una representación que puede acomodarse al ancho de banda de red disponible actualmente. Sin embargo, a veces, puede producirse un desbordamiento o un subdesbordamiento de la memoria intermedia, por ejemplo, si las características de codificación reales del contenido multimedia no han coincidido con las características de codificación señalizadas o si no ha habido suficientes datos para que el dispositivo cliente 40 realizara una selección adecuada. Otros factores también pueden dar por resultado una reducción de la calidad de experiencia para un usuario del dispositivo cliente 40. Por lo tanto, una vez que el último segmento de la representación (o contenido multimedia) se ha recibido y descodificado correctamente (rama “SÍ” de 510), el dispositivo cliente 40 puede proporcionar un informe de calidad de experiencia (QoE) al dispositivo servidor 60.
[0174] Por ejemplo, el dispositivo cliente 40 puede crear el informe para incluir indicaciones de segmentos y representaciones seleccionadas (512). El dispositivo cliente 40 también puede registrar incidencias de desbordamiento/subdesbordamiento de memoria intermedia, que pueden dar como resultado pausas en la reproducción de medios. El dispositivo cliente 40 puede formar un informe que incluye una secuencia de elementos PeriodReport, que representan los períodos que se han reproducido. Un elemento de período puede incluir una secuencia de elementos RepresentationReport, cada uno de los cuales representa una reproducción continua de una parte de una representación y proporciona los tiempos de inicio y final tanto en tiempo real como en tiempo de presentación. El informe también puede incluir la hora de puesta en marcha inicial, que es la hora de la petición de usuario para ver el contenido y el inicio de la reproducción. De esta manera, el documento del informe puede comprender un documento electrónico con formato de lenguaje de marcado extensible (XML) indicativo de representaciones del contenido multimedia de las cuales el dispositivo cliente ha recuperado datos de medios del contenido multimedia.
[0175] El dispositivo cliente 40 puede proporcionar el informe al dispositivo servidor 60 u otro dispositivo de una red de distribución de contenido, como el dispositivo de preparación de contenido 20 o un dispositivo de recopilación de informes dedicado. De esta manera, el dispositivo servidor 60 puede recibir las indicaciones de los segmentos y las representaciones recibidas por el dispositivo cliente 40 (514). El dispositivo servidor 60 puede proporcionar a continuación las indicaciones para, por ejemplo, el dispositivo de preparación de contenido 20 u otro dispositivo asociado con un proveedor de servicios o un ensamblador de medios para mejorar la preparación del contenido (516). A partir de la información proporcionada por el dispositivo cliente 40, un proveedor de servicios puede determinar con exactitud qué se ha reproducido, cuándo se han realizado pausas en la reproducción y cuándo se ha cambiado entre las representaciones. De forma alternativa o adicional, el dispositivo cliente 40 puede proporcionar información resumida en forma de duración de reproducción total y de número de períodos de reproducción distintos y continuos para cada representación, junto con el número de pausas y la media y la varianza de las duraciones de las pausas.
[0176] Usando estos datos, el proveedor de servicios puede analizar la calidad de la información de la experiencia para un nuevo contenido multimedia para emitir en continuo mediante emisión en continuo HTTP adaptativa. El proveedor de servicios puede hacer que un número de representaciones diferentes a velocidades de bits diferentes estén disponibles, y proporcionar una infraestructura de servicio HTTP para alojar los archivos de medios y, a continuación, recopilar la retroalimentación para determinar la calidad de las experiencias de visión de los usuarios. El proveedor de servicios puede usar estos datos para mejorar la calidad del servicio para este o un futuro alojamiento de contenido de medios. Las métricas de calidad de experiencia pueden referirse a la visión real experimentada por un usuario y pueden ser independientes de los algoritmos de cliente usados para planificar las peticiones HTTP, decisiones de selección de representación y similares. De esta manera, el proveedor de servicios puede obtener una imagen relativamente precisa de la calidad de la experiencia de visión del usuario para una sesión de visión específica.
[0177] De esta manera, el procedimiento de la FIG. 11 representa un ejemplo de procedimiento que incluye crear un documento que incluye información indicativa de representaciones de contenido multimedia de las cuales se han recuperado los datos de medios, y enviar el documento creado a un servidor a partir del cual se han recuperado los datos de medios. El procedimiento de la FIG. 11 también representa un ejemplo de procedimiento que incluye recibir información indicativa de datos recuperados por un dispositivo cliente, que comprende recibir un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia de las cuales el dispositivo cliente ha recuperado datos de medios del contenido multimedia.
[0178] En uno o más ejemplos, las funciones descritas pueden implementarse en hardware, software, firmware o cualquier combinación de los mismos. Si se implementan en software, las funciones pueden almacenarse en, o transmitirse por, un medio legible por ordenador, como una o más instrucciones o código, y ejecutarse mediante una unidad de procesamiento basada en hardware. Los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador, que corresponden a unos medios tangibles tal como unos medios de almacenamiento de datos o medios de comunicación que incluyen cualquier medio que facilita la transferencia de un programa informático de un lugar a otro, por ejemplo, de acuerdo con un protocolo de comunicación. De esta manera, los medios legibles por ordenador pueden corresponder en general a (1) unos medios de almacenamiento legibles por ordenador tangibles que son no transitorios o (2) un medio de comunicación tal como una señal o una onda portadora. Los medios de almacenamiento de datos pueden ser unos medios disponibles cualesquiera a los que se puede acceder desde uno o más ordenadores o uno o más procesadores para recuperar instrucciones, código y/o estructuras de datos para la implementación de las técnicas descritas en la presente divulgación. Un producto de programa informático puede incluir un medio legible por ordenador.
[0179] A modo de ejemplo, y no de limitación, dichos medios de almacenamiento legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro tipo de almacenamiento de disco óptico, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, memoria flash o cualquier otro medio que pueda usarse para almacenar un código de programa deseado en forma de instrucciones o estructuras de datos y al que pueda accederse mediante un ordenador. Además, cualquier conexión recibe debidamente la denominación de medio legible por ordenador. Por ejemplo, si las instrucciones se transmiten desde una página web, un servidor u otra fuente remota usando un cable coaxial, un cable de fibra óptica, un par trenzado, una línea de abonado digital (DSL) o unas tecnologías inalámbricas tales como infrarrojos, radio y microondas, entonces el cable coaxial, el cable de fibra óptica, el par trenzado, la DSL o las tecnologías inalámbricas tales como infrarrojos, radio y microondas se incluyen en la definición de medio. Sin embargo, debería entenderse que los medios de almacenamiento legibles por ordenador y los medios de almacenamiento de datos no incluyen conexiones, ondas portadoras, señales u otros medios transitorios, sino que, en cambio, están orientados a medios de almacenamiento tangibles no transitorios. Los discos, como se usan en el presente documento, incluyen discos compactos (CD), discos láser, discos ópticos, discos versátiles digitales (DVD), discos flexibles y discos Blu-ray, de los cuales los discos flexibles habitualmente reproducen los datos magnéticamente, mientras que el resto de discos reproducen los datos ópticamente con láseres. Las combinaciones de los anteriores también deberían incluirse dentro del alcance de los medios legibles por ordenador.
[0180] Las instrucciones pueden ser ejecutadas por uno o más procesadores, tales como uno o más procesadores de señales digitales (DSP), microprocesadores de propósito general, circuitos integrados específicos de la aplicación (ASIC), matrices de puertas programables in situ (f Pg A) u otros circuitos de lógica integrada o discreta equivalentes. En consecuencia, el término “procesador”, como se usa en el presente documento, se puede referir a cualquiera de las estructuras anteriores o a cualquier otra estructura adecuada para la implementación de las técnicas descritas en el presente documento. Además, en algunos aspectos, la funcionalidad descrita en el presente documento se puede proporcionar dentro de módulos de hardware y/o software dedicados, configurados para la codificación y la descodificación, o incorporados en un códec combinado. Además, las técnicas se podrían implementar totalmente en uno o más circuitos o elementos lógicos.
[0181] Las técnicas de la presente divulgación se pueden implementar en una amplia variedad de dispositivos o aparatos, incluidos un terminal inalámbrico, un circuito integrado (CI) o un conjunto de CI (por ejemplo, un conjunto de chips). Aunque en la presente divulgación se describen diversos componentes, módulos o unidades para destacar aspectos funcionales de los dispositivos configurados para realizar las técnicas divulgadas, no se requiere necesariamente su realización mediante diferentes unidades de hardware. En su lugar, como se ha descrito anteriormente, diversas unidades se pueden combinar en una unidad de hardware de códec o proporcionar mediante un grupo de unidades de hardware interoperativas, incluidos uno o más procesadores como los descritos anteriormente, conjuntamente con software y/o firmware adecuados.
[0182] Las siguientes cláusulas son solo descripciones a modo de ejemplo, en tanto que la presente invención se define únicamente en las reivindicaciones adjuntas. Otros ejemplos pueden definirse por medio de las siguientes cláusulas numeradas, donde las características preferidas de la presente invención se exponen en cláusulas dependientes:
1. Un procedimiento de recuperación de datos multimedia, comprendiendo el procedimiento:
recuperar datos de un primer segmento de una representación de contenido multimedia de acuerdo con datos de una copia de un archivo de manifiesto almacenado por un dispositivo cliente;
recuperar una parte de un segundo segmento de la representación de acuerdo con el archivo de manifiesto, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto se debe actualizar;
actualizar la copia del archivo de manifiesto almacenado por el dispositivo cliente basándose en la indicación de que el archivo de manifiesto se debe actualizar; y
recuperar datos de medios del segundo segmento de acuerdo con el archivo de manifiesto actualizado.
2. El procedimiento de la cláusula 1, en el que la actualización del archivo de manifiesto comprende actualizar el archivo de manifiesto usando datos de la parte del segundo segmento.
3. El procedimiento de la cláusula 1, en el que actualizar el archivo de manifiesto comprende recuperar datos para actualizar el archivo de manifiesto desde una ubicación indicada en la parte del segundo segmento.
4. El procedimiento de la cláusula 1, en el que actualizar el archivo de manifiesto comprende:
determinar uno o más elementos del archivo de manifiesto que se deben actualizar; y
actualizar solo el uno o más elementos determinados del archivo de manifiesto.
5. El procedimiento de la cláusula 1, que comprende además:
recuperar datos de medios de una segunda representación diferente del contenido multimedia; y
enviar información indicativa de los datos recuperados de la primera representación y la segunda representación.
6. El procedimiento de la cláusula 5, que comprende además:
crear un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia, incluidas la primera y la segunda representaciones, de las cuales se han recuperado datos de medios,
en el que enviar la información indicativa de los datos recuperados comprende enviar el documento creado a un servidor a partir del cual se han recuperado los datos de medios.
7. Un dispositivo para recuperar datos multimedia, comprendiendo el dispositivo uno o más procesadores configurados para recuperar datos de un primer segmento de una representación de contenido multimedia de acuerdo con datos de una copia de un archivo de manifiesto almacenado por el dispositivo, recuperar una parte de un segundo segmento de la
representación de acuerdo con el archivo de manifiesto, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto se debe actualizar, actualizar la copia del archivo de manifiesto almacenada por el dispositivo basándose en la indicación de que el archivo de manifiesto se debe actualizar, y recuperar datos de medios del segundo segmento de acuerdo con el archivo de manifiesto actualizado.
8. El dispositivo de la cláusula 7, en el que para actualizar el archivo de manifiesto, el uno o más procesadores están configurados para actualizar el archivo de manifiesto usando datos de la parte del segundo segmento.
9. El dispositivo de la cláusula 7, en el que para actualizar el archivo de manifiesto, el uno o más procesadores están configurados para recuperar datos para actualizar el archivo de manifiesto desde una ubicación indicada en la parte del segundo segmento.
10. El dispositivo de la cláusula 7, en el que para actualizar el archivo de manifiesto, el uno o más procesadores están configurados para determinar uno o más elementos del archivo de manifiesto que se deben actualizar, y actualizar solo el uno o más elementos determinados del archivo de manifiesto.
11. El dispositivo de la cláusula 7, en el que el uno o más procesadores están configurados además para recuperar datos de medios de una segunda representación diferente del contenido multimedia, y enviar información indicativa de los datos recuperados de la primera representación y la segunda representación.
12. El dispositivo de la cláusula 11, en el que el uno o más procesadores están configurados además para crear un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia, incluidas la primera y la segunda representaciones, de las cuales se han recuperado datos de medios, y en el que para enviar información indicativa de los datos recuperados, el uno o más procesadores están configurados para enviar el documento creado a un servidor del cual se han recuperado los datos de medios.
13. El dispositivo de la cláusula 7, en el que el dispositivo comprende al menos uno de:
un circuito integrado;
un microprocesador; y
un dispositivo de comunicación inalámbrica que incluye el uno o más procesadores.
14. Un dispositivo para recuperar datos multimedia, comprendiendo el dispositivo:
medios para recuperar datos de un primer segmento de una representación de contenido multimedia de acuerdo con datos de una copia de un archivo manifiesto almacenada por el dispositivo;
medios para recuperar una parte de un segundo segmento de la representación de acuerdo con el archivo de manifiesto, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto se debe actualizar;
medios para actualizar la copia del archivo de manifiesto almacenada por el dispositivo basándose en la indicación de que el archivo de manifiesto se debe actualizar; y
medios para recuperar datos de medios del segundo segmento de acuerdo con el archivo de manifiesto actualizado.
15. El dispositivo de la cláusula 14, en el que actualizar el archivo de manifiesto comprende actualizar el archivo de manifiesto usando datos de la parte del segundo segmento.
16. El dispositivo de la cláusula 1, en el que actualizar el archivo de manifiesto comprende recuperar datos para actualizar el archivo de manifiesto desde una ubicación indicada en la parte del segundo segmento.
17. El dispositivo de la cláusula 14, en el que los medios para actualizar el archivo de manifiesto comprenden:
medios para determinar uno o más elementos del archivo de manifiesto que se deben actualizar; y
medios para actualizar solo el uno o más elementos determinados del archivo de manifiesto.
18. El dispositivo de la cláusula 14, que comprende además:
medios para recuperar datos de medios de una segunda representación diferente del contenido multimedia; y medios para enviar información indicativa de los datos recuperados de la primera representación y la segunda representación.
19. El dispositivo de la cláusula 18, que comprende además:
medios para crear un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia, incluidas la primera y la segunda representaciones, de las que se han recuperado datos de medios,
en el que los medios para enviar la información indicativa de los datos recuperados comprenden medios para enviar el documento creado a un servidor a partir del cual se han recuperado los datos de medios.
20. Un producto de programa informático que comprende un medio legible por ordenador que tiene almacenadas en él instrucciones que, cuando se ejecutan, hacen que un procesador de un dispositivo para recuperar datos multimedia: recupere datos de un primer segmento de una representación de contenido multimedia de acuerdo con datos de una copia de un archivo de manifiesto almacenada por el dispositivo;
recupere una parte de un segundo segmento de la representación de acuerdo con el archivo de manifiesto, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto se debe actualizar;
actualice la copia del archivo de manifiesto almacenada por el dispositivo basándose en la indicación de que el archivo de manifiesto se debe actualizar; y
recupere datos de medios del segundo segmento de acuerdo con el archivo de manifiesto actualizado.
21. El producto de programa informático de la cláusula 20, en el que las instrucciones que hacen que el procesador actualice el archivo de manifiesto comprenden instrucciones que hacen que el procesador actualice el archivo de manifiesto usando datos de la parte del segundo segmento.
22. El producto de programa informático de la cláusula 20, en el que las instrucciones que hacen que el procesador actualice el archivo de manifiesto comprenden instrucciones que hacen que el procesador recupere datos para actualizar el archivo de manifiesto desde una ubicación indicada en la parte del segundo segmento.
23. El producto de programa informático de la cláusula 20, en el que las instrucciones que hacen que el procesador actualice el archivo de manifiesto comprenden instrucciones que hacen que el procesador:
determine uno o más elementos del archivo de manifiesto que se deben actualizar; y
actualice solo el uno o más elementos determinados del archivo de manifiesto.
24. El producto de programa informático de la cláusula 20, que comprende además instrucciones que hacen que el procesador:
recupere datos de medios de una segunda representación diferente del contenido multimedia; y
envíe información indicativa de los datos recuperados de la primera representación y la segunda representación.
25. El producto de programa informático de la cláusula 24, que comprende además instrucciones que hacen que el procesador:
cree un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de las representaciones del contenido multimedia, incluidas la primera y la segunda representaciones, de las cuales se han recuperado datos de medios,
en el que las instrucciones que hacen que el procesador envíe la información indicativa de los datos recuperados comprenden instrucciones que hacen que el procesador envíe el documento creado a un servidor a partir del cual se han recuperado los datos de medios.
26. Un procedimiento de envío de información para datos multimedia, comprendiendo el procedimiento:
enviar datos de un archivo de manifiesto de contenido multimedia a un dispositivo cliente, en el que el archivo de manifiesto incluye información indicativa de un primer segmento de una representación del contenido multimedia; enviar al menos una parte del primer segmento de la representación al dispositivo cliente como respuesta a una petición del dispositivo cliente, en el que la parte del primer segmento indica que el archivo de manifiesto se debe actualizar, en el que una versión actualizada del archivo de manifiesto el archivo incluye información indicativa de un segundo segmento diferente de la representación; y
enviar, como respuesta a una petición recibida desde el dispositivo cliente y formada de acuerdo con el archivo de manifiesto actualizado, datos del segundo segmento al dispositivo cliente.
27. El procedimiento de la cláusula 26, en el que la parte del primer segmento incluye información indicativa de las actualizaciones del archivo de manifiesto.
28. El procedimiento de la cláusula 26, en el que la parte del primer segmento incluye información indicativa de una ubicación de datos indicativa de actualizaciones del archivo de manifiesto.
29. El procedimiento de la cláusula 26, que comprende además recibir información indicativa de datos del contenido multimedia recuperados por el dispositivo cliente.
30. El procedimiento de la cláusula 29, en el que recibir la información indicativa de los datos recuperados por el dispositivo cliente comprende recibir un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia de las cuales el dispositivo cliente ha recuperado datos de medios del contenido multimedia.
31. Un dispositivo para enviar información para datos multimedia, comprendiendo el dispositivo uno o más procesadores configurados para enviar datos de un archivo de manifiesto de contenido multimedia a un dispositivo cliente, en el que el archivo de manifiesto incluye información indicativa de un primer segmento de una representación del contenido multimedia, enviar al menos una parte del primer segmento de la representación al dispositivo cliente como respuesta a una petición del dispositivo cliente, en el que la parte del primer segmento indica que el archivo de manifiesto se debe actualizar, en el que una versión actualizada del archivo de manifiesto incluye información indicativa de un segundo segmento diferente de la representación, y enviar, como respuesta a una petición recibida desde el dispositivo cliente y formada de acuerdo con el archivo de manifiesto actualizado, datos del segundo segmento al dispositivo cliente.
32. El dispositivo de la cláusula 31, en el que la parte del primer segmento incluye información indicativa de actualizaciones del archivo de manifiesto.
33. El dispositivo de la cláusula 31, en el que la parte del primer segmento incluye información indicativa de una ubicación de datos indicativa de actualizaciones del archivo de manifiesto.
34. El dispositivo de la cláusula 31, en el que el uno o más procesadores están configurados para recibir información indicativa de datos del contenido multimedia recuperados por el dispositivo cliente.
35. El dispositivo de la cláusula 34, en el que la información indicativa de los datos recuperados por el dispositivo cliente comprende recibir un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia de las cuales el dispositivo cliente ha recuperado datos de medios del contenido multimedia.
36. El dispositivo de la cláusula 31, en el que el dispositivo comprende al menos uno de:
un circuito integrado;
un microprocesador; y
un dispositivo de comunicación inalámbrica que incluye el uno o más procesadores.
37. Un dispositivo para enviar información para datos multimedia, comprendiendo el dispositivo:
medios para enviar datos de un archivo de manifiesto de contenido multimedia a un dispositivo cliente, en el que el archivo de manifiesto incluye información indicativa de un primer segmento de una representación del contenido multimedia;
medios para enviar al menos una parte del primer segmento de la representación al dispositivo cliente como respuesta a una petición del dispositivo cliente, en el que la parte del primer segmento indica que el archivo de manifiesto se debe actualizar, en el que una versión actualizada del archivo de manifiesto incluye información indicativa de un segundo segmento diferente de la representación; y
medios para enviar, como respuesta a una petición recibida desde el dispositivo cliente y formada de acuerdo con el archivo de manifiesto actualizado, datos del segundo segmento al dispositivo cliente.
38. El dispositivo de la cláusula 37, en el que la parte del primer segmento incluye información indicativa de actualizaciones del archivo de manifiesto.
39. El dispositivo de la cláusula 37, en el que la parte del primer segmento incluye información indicativa de una ubicación de datos indicativa de actualizaciones del archivo de manifiesto.
40. El dispositivo de la cláusula 37, que comprende además medios para recibir información indicativa de datos del contenido multimedia recuperados por el dispositivo cliente.
41. El dispositivo de la cláusula 40, en el que los medios para recibir la información indicativa de los datos recuperados por el dispositivo cliente comprenden medios para recibir un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia de las cuales el dispositivo cliente ha recuperado datos de medios del contenido multimedia.
42. Un producto de programa informático que comprende un medio legible por ordenador que tiene almacenadas en él instrucciones que, cuando se ejecutan, hacen que un procesador de un dispositivo para enviar información para datos multimedia:
envíe datos de un archivo de manifiesto de contenido multimedia a un dispositivo cliente, en el que el archivo de manifiesto incluye información indicativa de un primer segmento de una representación del contenido multimedia; envíe al menos una parte del primer segmento de la representación al dispositivo cliente como respuesta a una petición del dispositivo cliente, en el que la parte del primer segmento indica que el archivo de manifiesto se debe actualizar, en el que una versión actualizada del archivo de manifiesto incluye información indicativa de un segundo segmento diferente de la representación; y
envíe, como respuesta a una petición recibida desde el dispositivo cliente y formada de acuerdo con el archivo de manifiesto actualizado, datos del segundo segmento al dispositivo cliente.
43. El producto de programa informático de la cláusula 42, en el que la parte del primer segmento incluye información indicativa de unas actualizaciones del archivo de manifiesto.
44. El producto de programa informático de la cláusula 42, en el que la parte del primer segmento incluye información indicativa de una ubicación de datos indicativa de actualizaciones del archivo de manifiesto.
45. El producto de programa informático de la cláusula 42, que comprende además instrucciones que hacen que el procesador reciba información indicativa de datos del contenido multimedia recuperados por el dispositivo cliente.
46. El producto de programa informático de la cláusula 45, en el que las instrucciones que hacen que el procesador reciba la información indicativa de los datos recuperados por el dispositivo cliente comprenden instrucciones que hacen que el procesador reciba un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia del cual el dispositivo cliente ha recuperado datos de medios del contenido multimedia.
Claims (15)
1. Un procedimiento de recuperación de datos multimedia, comprendiendo el procedimiento:
recuperar datos (366A) de un primer segmento (362A) de una representación (360) de contenido multimedia (150, 350) de acuerdo con datos de una copia de un archivo de manifiesto (66, 102, 352) almacenada por un dispositivo cliente (40), en el que los datos del primer segmento corresponden a un período del contenido multimedia; recuperar una parte de un segundo segmento (362D) de la representación de acuerdo con el archivo de manifiesto, en el que unos datos (366D) del segundo segmento corresponden al período al que corresponden los datos del primer segmento, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto está por actualizar (364, 364B); actualizar la copia del archivo de manifiesto almacenada por el dispositivo cliente basándose en la indicación (364, 364B) de que el archivo de manifiesto está por actualizar, indicando el archivo de manifiesto actualizado segmentos adicionales del período al que corresponde el primer segmento; y
recuperar datos de medios del segundo segmento y los segmentos adicionales de acuerdo con el archivo de manifiesto actualizado.
2. El procedimiento de la reivindicación 1, en el que actualizar el archivo de manifiesto (66, 102, 352) comprende actualizar el archivo de manifiesto usando datos de la parte del segundo segmento (362D).
3. El procedimiento de la reivindicación 1, en el que actualizar el archivo de manifiesto (66, 102, 352) comprende recuperar datos para actualizar el archivo de manifiesto desde una ubicación indicada en la parte del segundo segmento (362D).
4. El procedimiento de la reivindicación 1, en el que actualizar el archivo de manifiesto (66, 102, 352) comprende:
determinar uno o más elementos del archivo de manifiesto que está por actualizar; y
actualizar solo el uno o más elementos determinados del archivo de manifiesto.
5. El procedimiento de la reivindicación 1, que comprende además:
recuperar datos de medios de una segunda representación diferente del contenido multimedia (362D); y enviar información indicativa de los datos recuperados de la primera representación y la segunda representación.
6. El procedimiento de la reivindicación 5, que comprende además:
crear un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia, incluuendo la primera y la segunda representaciones, de las que se han recuperado datos de medios,
en el que enviar la información indicativa de los datos recuperados comprende enviar el documento creado a un servidor desde el cual se han recuperado los datos de medios.
7. Un procedimiento de envío de información para datos multimedia, comprendiendo el procedimiento:
enviar datos (366A) de un archivo de manifiesto (66, 102, 352) de contenido multimedia (150, 350) a un dispositivo cliente (40), en el que el archivo de manifiesto incluye información indicativa de un primer segmento (362A) de una representación del contenido multimedia, en el que datos del primer segmento corresponden a un período del contenido multimedia;
enviar al menos una parte del primer segmento de la representación al dispositivo cliente en respuesta a una petición del dispositivo cliente, en el que la parte del primer segmento indica que el archivo de manifiesto está por actualizar, en el que una versión actualizada del archivo de manifiesto incluye información (364, 364B) indicativa de un segundo segmento diferente (362D) de la representación, en el que datos (366D) del segundo segmento corresponden al período al que corresponden los datos del primer segmento, indicando la versión actualizada del archivo de manifiesto segmentos adicionales del período al que corresponde el primer segmento; y
enviar, en respuesta a una petición recibida desde el dispositivo cliente y formada de acuerdo con el archivo de manifiesto actualizado, datos del segundo segmento y los segmentos adicionales al dispositivo cliente.
8. El procedimiento de la reivindicación 7, en el que la parte del primer segmento incluye información indicativa de actualizaciones del archivo de manifiesto o información indicativa de una ubicación de datos indicativa de actualizaciones del archivo de manifiesto.
9. El procedimiento de la reivindicación 7, que comprende además recibir información indicativa de datos del contenido multimedia recuperados por el dispositivo cliente.
10. El procedimiento de la reivindicación 9, en el que recibir la información indicativa de los datos recuperados por el dispositivo cliente comprende recibir un documento electrónico con formato de lenguaje de marcado extensible que incluye información indicativa de representaciones del contenido multimedia de las que el dispositivo cliente ha recuperado datos de medios del contenido multimedia.
11. Un medio legible por ordenador que tiene instrucciones almacenadas en él que, cuando se ejecutan, hacen que un procesador realice el procedimiento de cualquiera de las reivindicaciones 1 a 10.
12. Un dispositivo para recuperar datos multimedia, comprendiendo el dispositivo:
medios para recuperar datos (366A) de un primer segmento (362A) de una representación (360) de contenido multimedia (150, 350) de acuerdo con datos de una copia de un archivo de manifiesto (66, 102, 352) almacenada por un dispositivo cliente (40), en el que los datos del primer segmento corresponden a un período del contenido multimedia;
medios para recuperar una parte de un segundo segmento (362D) de la representación de acuerdo con el archivo de manifiesto, en el que datos (366D) del segundo segmento corresponden al período al que corresponden los datos del primer segmento, en el que el segundo segmento aparece después del primer segmento en la representación, y en el que la parte del segundo segmento indica que el archivo de manifiesto está por actualizar (364, 364B);
medios para actualizar la copia del archivo de manifiesto almacenada por el dispositivo cliente basándose en la indicación (364, 364B) de que el archivo de manifiesto está por actualizar, indicando el archivo de manifiesto actualizado segmentos adicionales del período al que corresponde el primer segmento; y
medios para recuperar datos de medios del segundo segmento y los segmentos adicionales de acuerdo con el archivo de manifiesto actualizado.
13. El dispositivo de la reivindicación 12 que comprende medios para llevar a cabo un procedimiento de acuerdo con cualquiera de las reivindicaciones 2 a 6.
14. Un dispositivo para enviar información para datos multimedia, comprendiendo el dispositivo:
medios para enviar datos (366A) de un archivo de manifiesto (66, 102, 352) de contenido multimedia (150, 350) a un dispositivo cliente (40), en el que el archivo de manifiesto incluye información indicativa de un primer segmento (362A) de una representación del contenido multimedia, en el que datos del primer segmento corresponden a un período del contenido multimedia;
medios para enviar al menos una parte del primer segmento de la representación al dispositivo cliente como respuesta a una petición del dispositivo cliente, en el que la parte del primer segmento indica que el archivo de manifiesto está por actualizar, en el que una versión actualizada del archivo de manifiesto incluye información (364, 364B) indicativa de un segundo segmento diferente (362D) de la representación, en el que datos (366D) del segundo segmento corresponden al período al que corresponden los datos del primer segmento, indicando la versión actualizada del archivo de manifiesto segmentos adicionales del período al que corresponde el primer segmento; y
medios para enviar, en respuesta a una petición recibida desde el dispositivo cliente y formada de acuerdo con el archivo de manifiesto actualizado, datos del segundo segmento y los segmentos adicionales al dispositivo cliente.
15. El dispositivo de la reivindicación 14 que comprende medios para llevar a cabo un procedimiento de acuerdo con cualquiera de las reivindicaciones 8 a 10.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37239910P | 2010-08-10 | 2010-08-10 | |
US13/205,574 US8806050B2 (en) | 2010-08-10 | 2011-08-08 | Manifest file updates for network streaming of coded multimedia data |
PCT/US2011/047128 WO2012021543A1 (en) | 2010-08-10 | 2011-08-09 | Manifest file updates for network streaming of coded video data |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2730894T3 true ES2730894T3 (es) | 2019-11-13 |
Family
ID=44509694
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11746402T Active ES2726772T3 (es) | 2010-08-10 | 2011-08-09 | Grupos de representación de medios para transmisión continua en red de datos de vídeo codificados |
ES11746404T Active ES2730894T3 (es) | 2010-08-10 | 2011-08-09 | Actualizaciones de archivo de manifiesto para la emisión en continuo de red de datos de vídeo codificados |
ES11748529T Active ES2730896T3 (es) | 2010-08-10 | 2011-08-09 | Modos de reproducción no estándar para la emisión en continuo de red de datos de vídeo codificados |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11746402T Active ES2726772T3 (es) | 2010-08-10 | 2011-08-09 | Grupos de representación de medios para transmisión continua en red de datos de vídeo codificados |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES11748529T Active ES2730896T3 (es) | 2010-08-10 | 2011-08-09 | Modos de reproducción no estándar para la emisión en continuo de red de datos de vídeo codificados |
Country Status (23)
Country | Link |
---|---|
US (3) | US8806050B2 (es) |
EP (3) | EP2604015B1 (es) |
JP (5) | JP2013538506A (es) |
KR (4) | KR101542310B1 (es) |
CN (3) | CN103081433B (es) |
AR (3) | AR082612A1 (es) |
AU (2) | AU2011289511B2 (es) |
BR (2) | BR112013002686B1 (es) |
CA (2) | CA2807157C (es) |
DK (2) | DK2604014T3 (es) |
ES (3) | ES2726772T3 (es) |
HK (2) | HK1181576A1 (es) |
HU (3) | HUE044172T2 (es) |
IL (2) | IL224449A (es) |
MY (2) | MY155946A (es) |
PL (1) | PL2604014T3 (es) |
PT (1) | PT2604014T (es) |
RU (2) | RU2558615C2 (es) |
SG (3) | SG187636A1 (es) |
SI (2) | SI2604014T1 (es) |
TW (3) | TWI479882B (es) |
UA (2) | UA107125C2 (es) |
WO (3) | WO2012021538A1 (es) |
Families Citing this family (272)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307487B1 (en) * | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US9240810B2 (en) * | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
JP4546246B2 (ja) | 2002-10-05 | 2010-09-15 | デジタル ファウンテン, インコーポレイテッド | 連鎖的暗号化反応の系統的記号化および復号化 |
CN1954501B (zh) | 2003-10-06 | 2010-06-16 | 数字方敦股份有限公司 | 通过通信信道接收从源发射的数据的方法 |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
CN103124182B (zh) * | 2004-05-07 | 2017-05-10 | 数字方敦股份有限公司 | 文件下载和流系统 |
US10862994B1 (en) * | 2006-11-15 | 2020-12-08 | Conviva Inc. | Facilitating client decisions |
CN101686107B (zh) | 2006-02-13 | 2014-08-13 | 数字方敦股份有限公司 | 使用可变fec开销和保护周期的流送和缓冲 |
US9270414B2 (en) * | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US7515710B2 (en) | 2006-03-14 | 2009-04-07 | Divx, Inc. | Federated digital rights management scheme including trusted systems |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9386064B2 (en) * | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US20100211690A1 (en) * | 2009-02-13 | 2010-08-19 | Digital Fountain, Inc. | Block partitioning for a data stream |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9264780B1 (en) | 2006-11-15 | 2016-02-16 | Conviva Inc. | Managing synchronized data requests in a content delivery network |
US8751605B1 (en) | 2006-11-15 | 2014-06-10 | Conviva Inc. | Accounting for network traffic |
US8874725B1 (en) | 2006-11-15 | 2014-10-28 | Conviva Inc. | Monitoring the performance of a content player |
ES2935410T3 (es) | 2007-01-05 | 2023-03-06 | Divx Llc | Sistema de distribución de vídeo que incluye reproducción progresiva |
EP2203836A4 (en) | 2007-09-12 | 2014-11-05 | Digital Fountain Inc | GENERATING AND COMMUNICATING SOURCE IDENTIFICATION INFORMATION TO ENABLE RELIABLE COMMUNICATIONS |
KR20100106327A (ko) | 2007-11-16 | 2010-10-01 | 디브이엑스, 인크. | 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조 |
US9026668B2 (en) | 2012-05-26 | 2015-05-05 | Free Stream Media Corp. | Real-time and retargeted advertising on multiple screens of a user watching television |
US10334324B2 (en) | 2008-11-26 | 2019-06-25 | Free Stream Media Corp. | Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device |
US10631068B2 (en) | 2008-11-26 | 2020-04-21 | Free Stream Media Corp. | Content exposure attribution based on renderings of related content across multiple devices |
US10880340B2 (en) | 2008-11-26 | 2020-12-29 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US9519772B2 (en) | 2008-11-26 | 2016-12-13 | Free Stream Media Corp. | Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device |
US10977693B2 (en) | 2008-11-26 | 2021-04-13 | Free Stream Media Corp. | Association of content identifier of audio-visual data with additional data through capture infrastructure |
US9386356B2 (en) | 2008-11-26 | 2016-07-05 | Free Stream Media Corp. | Targeting with television audience data across multiple screens |
US9986279B2 (en) | 2008-11-26 | 2018-05-29 | Free Stream Media Corp. | Discovery, access control, and communication with networked services |
US8180891B1 (en) | 2008-11-26 | 2012-05-15 | Free Stream Media Corp. | Discovery, access control, and communication with networked services from within a security sandbox |
US10419541B2 (en) | 2008-11-26 | 2019-09-17 | Free Stream Media Corp. | Remotely control devices over a network without authentication or registration |
US9961388B2 (en) | 2008-11-26 | 2018-05-01 | David Harrison | Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements |
US10567823B2 (en) | 2008-11-26 | 2020-02-18 | Free Stream Media Corp. | Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device |
US9154942B2 (en) | 2008-11-26 | 2015-10-06 | Free Stream Media Corp. | Zero configuration communication between a browser and a networked media device |
US9281847B2 (en) * | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US8909806B2 (en) * | 2009-03-16 | 2014-12-09 | Microsoft Corporation | Delivering cacheable streaming media presentations |
US8402494B1 (en) | 2009-03-23 | 2013-03-19 | Conviva Inc. | Switching content |
US9203913B1 (en) * | 2009-07-20 | 2015-12-01 | Conviva Inc. | Monitoring the performance of a content player |
US8566393B2 (en) | 2009-08-10 | 2013-10-22 | Seawell Networks Inc. | Methods and systems for scalable video chunking |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
US9917874B2 (en) * | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US8930991B2 (en) * | 2009-11-19 | 2015-01-06 | Gregory Philpott | System and method for delivering content to mobile devices |
WO2011068668A1 (en) | 2009-12-04 | 2011-06-09 | Divx, Llc | Elementary bitstream cryptographic material transport systems and methods |
AU2011205819B2 (en) | 2010-01-18 | 2015-03-05 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for supporting playout of content |
KR101777348B1 (ko) * | 2010-02-23 | 2017-09-11 | 삼성전자주식회사 | 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치 |
WO2011132883A2 (ko) * | 2010-04-19 | 2011-10-27 | 엘지전자 주식회사 | 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치 |
KR101702562B1 (ko) | 2010-06-18 | 2017-02-03 | 삼성전자 주식회사 | 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치 |
US9485546B2 (en) | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
KR20120034550A (ko) | 2010-07-20 | 2012-04-12 | 한국전자통신연구원 | 스트리밍 컨텐츠 제공 장치 및 방법 |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
KR20120060134A (ko) * | 2010-08-16 | 2012-06-11 | 삼성전자주식회사 | 광고 재생 방법 및 장치 |
US9317622B1 (en) * | 2010-08-17 | 2016-04-19 | Amazon Technologies, Inc. | Methods and systems for fragmenting and recombining content structured language data content to reduce latency of processing and rendering operations |
CN102130936B (zh) | 2010-08-17 | 2013-10-09 | 华为技术有限公司 | 一种在动态http流传输方案中支持时移回看的方法和装置 |
KR101737325B1 (ko) * | 2010-08-19 | 2017-05-22 | 삼성전자주식회사 | 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치 |
CN106330905B (zh) * | 2010-09-01 | 2020-12-01 | 艾迪尔哈布股份有限公司 | 内容提供方法和接收提供的内容的方法 |
US9467493B2 (en) | 2010-09-06 | 2016-10-11 | Electronics And Telecommunication Research Institute | Apparatus and method for providing streaming content |
CN102148851B (zh) * | 2010-09-30 | 2014-09-17 | 华为技术有限公司 | 一种在动态http流传输中应用父母控制的方法和装置 |
EP2625867A1 (en) * | 2010-10-05 | 2013-08-14 | Telefonaktiebolaget L M Ericsson (publ) | A client, a content creator entity and methods thereof for media streaming |
KR101206698B1 (ko) * | 2010-10-06 | 2012-11-30 | 한국항공대학교산학협력단 | 스트리밍 콘텐츠 제공 장치 및 방법 |
US9986009B2 (en) * | 2010-10-06 | 2018-05-29 | Electronics And Telecommunications Research Institute | Apparatus and method for providing streaming content |
CA2816621A1 (en) * | 2010-11-02 | 2012-05-10 | Lg Electronics Inc. | Method for adaptive streaming that transmits/receives media content according to a network bandwidth and device for adaptive streaming using the same |
CN103299600B (zh) * | 2011-01-04 | 2016-08-10 | 汤姆逊许可公司 | 用于传输直播媒体内容的装置和方法 |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
WO2012093202A1 (en) * | 2011-01-07 | 2012-07-12 | Nokia Corporation | Method and apparatus for signaling presentation |
JP5529177B2 (ja) | 2011-01-19 | 2014-06-25 | ネイバー ビジネス プラットフォーム コーポレーション | P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
KR101803970B1 (ko) * | 2011-03-16 | 2017-12-28 | 삼성전자주식회사 | 컨텐트를 구성하는 장치 및 방법 |
EP2924990A1 (en) * | 2011-03-16 | 2015-09-30 | Electronics and Telecommunications Research Institute | Apparatus and method for providing streaming content using representations |
US9112948B1 (en) | 2011-03-18 | 2015-08-18 | Amazon Technologies, Inc. | System and method for assignment and switching of content sources for a streaming content session |
US9215268B1 (en) | 2011-03-18 | 2015-12-15 | Amazon Technologies, Inc. | System and method for selection and switching of content sources for a streaming content session |
US20120311076A1 (en) * | 2011-05-31 | 2012-12-06 | Cisco Technology, Inc. | System and method to support different uniform resource locator formats for content on different network elements |
CN107529708B (zh) | 2011-06-16 | 2019-05-07 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
US8812662B2 (en) | 2011-06-29 | 2014-08-19 | Sonic Ip, Inc. | Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content |
CN103650451B (zh) * | 2011-07-07 | 2016-10-19 | 瑞典爱立信有限公司 | 网络容量优化的自适应http流播 |
US8925021B2 (en) | 2011-07-11 | 2014-12-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for trick play in over-the-top video delivery |
UA114674C2 (uk) | 2011-07-15 | 2017-07-10 | ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі | Ініціалізація контексту в ентропійному кодуванні |
US9955195B2 (en) | 2011-08-30 | 2018-04-24 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8799647B2 (en) | 2011-08-31 | 2014-08-05 | Sonic Ip, Inc. | Systems and methods for application identification |
US8787570B2 (en) | 2011-08-31 | 2014-07-22 | Sonic Ip, Inc. | Systems and methods for automatically genenrating top level index files |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
WO2013058684A1 (en) * | 2011-10-17 | 2013-04-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method for adaptive streaming, local storing and post-storing quality increase of a content file |
US10003817B2 (en) | 2011-11-07 | 2018-06-19 | Microsoft Technology Licensing, Llc | Signaling of state information for a decoded picture buffer and reference picture lists |
KR101922552B1 (ko) * | 2011-12-06 | 2018-11-29 | 삼성전자주식회사 | 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치 |
US8976814B2 (en) * | 2011-12-09 | 2015-03-10 | General Electric Company | Method of transporting data from sending node to destination node |
KR101719998B1 (ko) * | 2011-12-12 | 2017-03-27 | 엘지전자 주식회사 | 미디어 컨텐트를 수신하는 장치 및 방법 |
WO2013090280A2 (en) * | 2011-12-15 | 2013-06-20 | Dolby Laboratories Licensing Corporation | Bandwidth adaptation for dynamic adaptive transferring of multimedia |
US8977704B2 (en) * | 2011-12-29 | 2015-03-10 | Nokia Corporation | Method and apparatus for flexible caching of delivered media |
WO2013098317A1 (en) * | 2011-12-29 | 2013-07-04 | Koninklijke Kpn N.V. | Network-initiated content streaming control |
US20130179199A1 (en) | 2012-01-06 | 2013-07-11 | Rovi Corp. | Systems and methods for granting access to digital content using electronic tickets and ticket tokens |
US10218756B2 (en) | 2012-01-06 | 2019-02-26 | Comcast Cable Communications, Llc | Streamlined delivery of video content |
US8850054B2 (en) * | 2012-01-17 | 2014-09-30 | International Business Machines Corporation | Hypertext transfer protocol live streaming |
US9401968B2 (en) | 2012-01-20 | 2016-07-26 | Nokia Techologies Oy | Method and apparatus for enabling pre-fetching of media |
US20130246578A1 (en) * | 2012-03-16 | 2013-09-19 | Cisco Technology, Inc. | Adaptive Bit Rate Optimizations When Joining Single Profile Multicast Streams |
US20130243079A1 (en) * | 2012-03-19 | 2013-09-19 | Nokia Siemens Networks Oy | Storage and processing savings when adapting video bit rate to link speed |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
CN104185996B (zh) * | 2012-04-05 | 2017-07-21 | 华为技术有限公司 | 用于基于iso基媒体文件格式的自适应流媒体的安全异步事件通知的系统和方法 |
US9438883B2 (en) * | 2012-04-09 | 2016-09-06 | Intel Corporation | Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content |
US9613042B1 (en) | 2012-04-09 | 2017-04-04 | Conviva Inc. | Dynamic generation of video manifest files |
US9712887B2 (en) * | 2012-04-12 | 2017-07-18 | Arris Canada, Inc. | Methods and systems for real-time transmuxing of streaming media content |
WO2013155611A1 (en) | 2012-04-18 | 2013-10-24 | Mdialog Corporation | Method and system for inserting content into streaming media at arbitrary time points |
US9628531B2 (en) * | 2012-04-25 | 2017-04-18 | Futurewei Technologies, Inc. | Systems and methods for controlling client behavior in adaptive streaming |
WO2013163477A1 (en) * | 2012-04-25 | 2013-10-31 | Huawei Technologies Co., Ltd. | Systems and methods for segment integrity and authenticity for adaptive streaming |
EP3340634B1 (en) | 2012-04-26 | 2020-02-12 | Huawei Technologies Co., Ltd. | System and method for signaling segment encryption and key derivation for adaptive streaming |
KR101501344B1 (ko) * | 2012-05-02 | 2015-03-10 | 삼성전자주식회사 | 멀티미디어 서비스 송수신 방법 및 장치 |
US9185470B2 (en) * | 2012-05-03 | 2015-11-10 | Nuance Communications, Inc. | Remote processing of content |
US20130311668A1 (en) * | 2012-05-15 | 2013-11-21 | Shahid Akhtar | Methods And Systems For Providing Fairness And Stability To Video Streams |
US9241166B2 (en) * | 2012-06-11 | 2016-01-19 | Qualcomm Incorporated | Technique for adapting device tasks based on the available device resources |
US9674247B1 (en) * | 2012-06-21 | 2017-06-06 | Google Inc. | Generating manifest files for digital media items |
BR122015005194A2 (pt) * | 2012-06-28 | 2019-08-20 | Ericsson Ab | Método e sistema para inserção de anúncio em entrega de mídia ao vivo over the top |
EP2680527A1 (en) * | 2012-06-28 | 2014-01-01 | Alcatel-Lucent | Adaptive streaming aware node, encoder and client enabling smooth quality transition |
KR20140002447A (ko) * | 2012-06-29 | 2014-01-08 | 삼성전자주식회사 | 멀티미디어 시스템에서 적응적 미디어 구조 송수신 방법 및 장치 |
JP6064249B2 (ja) * | 2012-07-09 | 2017-01-25 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | 動的適応ストリーミングオーバーハイパーテキスト転送プロトコルクライアント挙動フレームワークおよびセッション管理の実装 |
US10616297B2 (en) * | 2012-07-09 | 2020-04-07 | Futurewei Technologies, Inc. | Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol |
US8495675B1 (en) * | 2012-07-30 | 2013-07-23 | Mdialog Corporation | Method and system for dynamically inserting content into streaming media |
US9125073B2 (en) | 2012-08-03 | 2015-09-01 | Intel Corporation | Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file |
CN109413447B (zh) | 2012-08-22 | 2021-03-30 | 华为技术有限公司 | Mpeg-2传输流中的iso-bmff事件盒承载 |
US9215269B2 (en) * | 2012-08-23 | 2015-12-15 | Amazon Technologies, Inc. | Predictive caching for content |
US9936267B2 (en) | 2012-08-31 | 2018-04-03 | Divx Cf Holdings Llc | System and method for decreasing an initial buffering period of an adaptive streaming system |
US9246965B1 (en) | 2012-09-05 | 2016-01-26 | Conviva Inc. | Source assignment based on network partitioning |
US10182096B1 (en) | 2012-09-05 | 2019-01-15 | Conviva Inc. | Virtual resource locator |
US9554133B2 (en) * | 2012-09-18 | 2017-01-24 | Vid Scale, Inc. | Method and apparatus for region of interest video coding using tiles and tile groups |
US9479774B2 (en) * | 2012-09-24 | 2016-10-25 | Qualcomm Incorporated | Buffering period and recovery point supplemental enhancement information messages |
US9313500B2 (en) * | 2012-09-30 | 2016-04-12 | Microsoft Technology Licensing, Llc | Conditional signalling of reference picture list modification information |
EP2717562A3 (en) * | 2012-10-04 | 2014-10-01 | Samsung Electronics Co., Ltd | Apparatus for reproducing recording medium and method thereof |
ITTO20120901A1 (it) * | 2012-10-15 | 2014-04-16 | Rai Radiotelevisione Italiana | Procedimento di codifica e decodifica di un video digitale e relativi dispositivi di codifica e decodifica |
US10033777B2 (en) * | 2012-10-19 | 2018-07-24 | Interdigital Patent Holdings, Inc. | Multi-hypothesis rate adaptation for HTTP streaming |
US9712585B2 (en) | 2012-11-13 | 2017-07-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Processing of multimedia data |
US9813664B1 (en) * | 2012-11-29 | 2017-11-07 | Discovery Communications, Llc | Method and system for creating media content |
US9143543B2 (en) * | 2012-11-30 | 2015-09-22 | Google Technology Holdings LLC | Method and system for multi-streaming multimedia data |
US9128892B2 (en) * | 2012-12-10 | 2015-09-08 | Netflix, Inc. | Managing content on an ISP cache |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
WO2014107703A1 (en) * | 2013-01-07 | 2014-07-10 | Akamai Technologies, Inc. | Connected-media end user experience using an overlay network |
US20140199044A1 (en) | 2013-01-15 | 2014-07-17 | Qualcomm Incorporated | Supporting transport diversity and time-shifted buffers for media streaming over a network |
CN104904224A (zh) * | 2013-01-18 | 2015-09-09 | 索尼公司 | 内容服务器、内容分发方法、内容分发系统、客户端设备及内容获取方法 |
WO2014113710A1 (en) * | 2013-01-18 | 2014-07-24 | Huawei Technologies. Co., Ltd | Method and apparatus for performing adaptive streaming on media contents |
US9961415B2 (en) | 2013-01-24 | 2018-05-01 | Google Llc | Method and system for identifying events in a streaming media program |
US9832492B2 (en) * | 2013-01-29 | 2017-11-28 | Espial Group Inc. | Distribution of adaptive bit rate video streaming via hyper-text transfer protocol |
EP2954653B1 (en) * | 2013-02-06 | 2018-11-28 | Telefonaktiebolaget LM Ericsson (publ) | Technique for detecting an encoder functionality issue |
CN105339922B (zh) | 2013-02-12 | 2018-10-12 | 爱立信股份有限公司 | 个人过顶网络视频记录器 |
US10142390B2 (en) * | 2013-02-15 | 2018-11-27 | Nec Corporation | Method and system for providing content in content delivery networks |
US20140281002A1 (en) * | 2013-03-14 | 2014-09-18 | General Instrument Corporation | Devices, systems, and methods for managing and adjusting adaptive streaming traffic |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9578333B2 (en) | 2013-03-15 | 2017-02-21 | Qualcomm Incorporated | Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames |
WO2014172654A1 (en) | 2013-04-19 | 2014-10-23 | Huawei Technologies Co., Ltd. | Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol |
US9338209B1 (en) * | 2013-04-23 | 2016-05-10 | Cisco Technology, Inc. | Use of metadata for aiding adaptive streaming clients |
CN104125516B (zh) * | 2013-04-24 | 2018-09-28 | 华为技术有限公司 | 媒体文件接收、媒体文件发送方法和装置及系统 |
US9654758B2 (en) * | 2013-04-26 | 2017-05-16 | Microsoft Technology Licensing, Llc | Synchronizing external data to video playback |
EP2883201A4 (en) * | 2013-05-02 | 2016-03-09 | This Technology Inc | METHOD AND SYSTEM FOR EFFICIENT DIRECTORY MANIPULATION |
US9973559B2 (en) * | 2013-05-29 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Systems and methods for presenting content streams to a client device |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9100687B2 (en) | 2013-05-31 | 2015-08-04 | Sonic Ip, Inc. | Playback synchronization across playback devices |
US9380099B2 (en) | 2013-05-31 | 2016-06-28 | Sonic Ip, Inc. | Synchronizing multiple over the top streaming clients |
US9444863B2 (en) | 2013-06-06 | 2016-09-13 | Intel Corporation | Manager for DASH media streaming |
US8762564B1 (en) * | 2013-07-10 | 2014-06-24 | Mdialog Corporation | Method and system for dynamically selecting, assembling and inserting content into stream media |
CN105532013B (zh) * | 2013-07-12 | 2018-12-28 | 佳能株式会社 | 利用推送消息控制的自适应数据流传输方法 |
CN105379294A (zh) * | 2013-07-15 | 2016-03-02 | 华为技术有限公司 | 基于超文本传输协议的动态自适应流媒体中的远程元素的即时性间接引用 |
CN105230024B (zh) * | 2013-07-19 | 2019-05-24 | 华为技术有限公司 | 一种媒体表示自适应方法、装置及计算机存储介质 |
WO2015013720A1 (en) * | 2013-07-26 | 2015-01-29 | Futurewei Technologies Inc. | Spatial adaptation in adaptive streaming |
JP6327809B2 (ja) * | 2013-08-20 | 2018-05-23 | キヤノン株式会社 | 受信装置、制御方法及びプログラム |
US9124947B2 (en) | 2013-09-04 | 2015-09-01 | Arris Enterprises, Inc. | Averting ad skipping in adaptive bit rate systems |
US9258747B2 (en) * | 2013-09-17 | 2016-02-09 | Intel IP Corporation | User equipment and methods for fast handover failure recovery in 3GPP LTE network |
US9955203B2 (en) * | 2013-09-24 | 2018-04-24 | Ericsson Ab | Recording device and method for efficient network personal video recorder manipulation through adaptive bit rate streaming |
US10749761B1 (en) | 2013-09-27 | 2020-08-18 | Amazon Technologies, Inc. | Unique user session tracking in adaptive bitrate video delivery |
US20150095450A1 (en) * | 2013-09-30 | 2015-04-02 | Qualcomm Incorporated | Utilizing multiple switchable adaptation sets for streaming media data |
US9270721B2 (en) | 2013-10-08 | 2016-02-23 | Qualcomm Incorporated | Switching between adaptation sets during media streaming |
US9648348B2 (en) * | 2013-10-23 | 2017-05-09 | Qualcomm Incorporated | Multi-layer video file format designs |
WO2015081218A1 (en) | 2013-11-27 | 2015-06-04 | Interdigital Patent Holdings, Inc. | Media presentation description |
KR101462557B1 (ko) * | 2013-12-20 | 2014-11-27 | 연세대학교 산학협력단 | Dash에서 레프리젠테이션을 재구성하는 방법 |
EP2890075B1 (en) * | 2013-12-26 | 2016-12-14 | Telefonica Digital España, S.L.U. | A method and a system for smooth streaming of media content in a distributed content delivery network |
US9386067B2 (en) | 2013-12-30 | 2016-07-05 | Sonic Ip, Inc. | Systems and methods for playing adaptive bitrate streaming content by multicast |
US10476930B2 (en) * | 2014-01-06 | 2019-11-12 | Intel IP Corporation | Client/server signaling commands for dash |
KR102154800B1 (ko) * | 2014-01-10 | 2020-09-10 | 삼성전자주식회사 | 전자 장치의 데이터 스트리밍 방법 및 그 전자 장치 |
JP2015136057A (ja) * | 2014-01-17 | 2015-07-27 | ソニー株式会社 | 通信装置、通信データ生成方法、および通信データ処理方法 |
WO2015119455A1 (en) | 2014-02-10 | 2015-08-13 | Lg Electronics Inc. | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
US9900362B2 (en) | 2014-02-11 | 2018-02-20 | Kiswe Mobile Inc. | Methods and apparatus for reducing latency shift in switching between distinct content streams |
JP2017517221A (ja) * | 2014-03-20 | 2017-06-22 | サムスン エレクトロニクス カンパニー リミテッド | Httpストリーミングを使用するdashストリーミングのための方法及び装置 |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
CA2944773A1 (en) * | 2014-04-11 | 2015-10-15 | Sony Corporation | Reception apparatus, reception method, transmission apparatus, and transmission method |
US9544388B1 (en) | 2014-05-09 | 2017-01-10 | Amazon Technologies, Inc. | Client-side predictive caching for content |
US20150350622A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Packed i-frames |
US11869038B2 (en) * | 2014-06-24 | 2024-01-09 | Arris Enterprises Llc | Tracking ad preferences in adaptive bit rate systems |
EP3163570A4 (en) * | 2014-06-30 | 2018-02-14 | Sony Corporation | Information processor and information-processing method |
MX2016016817A (es) * | 2014-07-07 | 2017-03-27 | Sony Corp | Dispositivo de recepcion, metodo de recepcion, dispositivo de transmision y metodo de transmision. |
MX2016015022A (es) | 2014-08-07 | 2018-03-12 | Sonic Ip Inc | Sistemas y metodos para proteger corrientes de bits elementales que incorporan tejas codificadas independientemente. |
US9973345B2 (en) * | 2014-09-10 | 2018-05-15 | Qualcomm Incorporated | Calculating and signaling segment availability times for segments of media data |
US9894130B2 (en) * | 2014-09-23 | 2018-02-13 | Intel Corporation | Video quality enhancement |
US9681185B2 (en) * | 2014-11-04 | 2017-06-13 | Spot Trender Inc. | Content utilization paramerization |
BR112017010575A2 (pt) * | 2014-11-26 | 2018-02-14 | Sony Corp | dispositivos e métodos de transmissão e de recepção. |
US20160155477A1 (en) * | 2014-12-01 | 2016-06-02 | Microsoft Corporation | Identifying Media Types |
US20160164943A1 (en) * | 2014-12-05 | 2016-06-09 | Qualcomm Incorporated | Transport interface for multimedia and file transport |
US10305955B1 (en) | 2014-12-08 | 2019-05-28 | Conviva Inc. | Streaming decision in the cloud |
US10178043B1 (en) * | 2014-12-08 | 2019-01-08 | Conviva Inc. | Dynamic bitrate range selection in the cloud for optimized video streaming |
US11778014B2 (en) * | 2014-12-12 | 2023-10-03 | Arris Enterprises Llc | Throttling content download in adaptive HTTP live streaming |
JP2016116065A (ja) * | 2014-12-15 | 2016-06-23 | 日本放送協会 | 受信機、送信機、及びコンテンツの受信方法 |
US9414130B2 (en) * | 2014-12-15 | 2016-08-09 | At&T Intellectual Property, L.P. | Interactive content overlay |
CN104484185B (zh) * | 2014-12-30 | 2018-03-20 | 深圳市大疆创新科技有限公司 | 固件生成系统及方法 |
CN107111477B (zh) | 2015-01-06 | 2021-05-14 | 帝威视有限公司 | 用于编码内容和在设备之间共享内容的系统和方法 |
US10270823B2 (en) * | 2015-02-10 | 2019-04-23 | Qualcomm Incorporated | Low latency video streaming |
EP3627337A1 (en) | 2015-02-27 | 2020-03-25 | DivX, LLC | Systems and methods for frame duplication and frame extension in live video encoding and streaming |
US10749930B2 (en) | 2015-03-02 | 2020-08-18 | Qualcomm Incorporated | Indication for partial segment |
US10412138B2 (en) | 2015-03-02 | 2019-09-10 | Qualcomm Incorporated | Indication for partial segment |
US10659507B2 (en) * | 2015-03-02 | 2020-05-19 | Qualcomm Incorporated | Indication for partial segment |
US9326046B1 (en) | 2015-03-19 | 2016-04-26 | Amazon Technologies, Inc. | Uninterrupted playback of video streams using lower quality cached files |
WO2017004196A1 (en) | 2015-06-29 | 2017-01-05 | Vid Scale, Inc. | Dash caching proxy application |
KR102014800B1 (ko) * | 2015-07-06 | 2019-08-27 | 엘지전자 주식회사 | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 |
US10652603B2 (en) * | 2015-07-09 | 2020-05-12 | Triton Us Vp Acquision Co. | Transitioning between broadcast and unicast streams |
US10693936B2 (en) | 2015-08-25 | 2020-06-23 | Qualcomm Incorporated | Transporting coded audio data |
KR102586630B1 (ko) * | 2015-08-28 | 2023-10-11 | 소니그룹주식회사 | 수신 장치, 송신 장치, 및 데이터 처리 방법 |
US11336928B1 (en) | 2015-09-24 | 2022-05-17 | Amazon Technologies, Inc. | Predictive caching of identical starting sequences in content |
EP3360332A1 (en) * | 2015-10-08 | 2018-08-15 | Tradecast B.V. | Client and method for playing a sequence of video streams, and corresponding server and computer program product |
WO2017063189A1 (en) | 2015-10-16 | 2017-04-20 | Qualcomm Incorporated | Deadline signaling for streaming of media data |
US10516891B2 (en) * | 2015-11-20 | 2019-12-24 | Intel Corporation | Method and system of reference frame caching for video coding |
EP3179688A1 (en) | 2015-12-11 | 2017-06-14 | Koninklijke KPN N.V. | Updating part of a manifest file on the basis of patches |
US9998746B2 (en) * | 2016-02-10 | 2018-06-12 | Amazon Technologies, Inc. | Video decoder memory optimization |
KR20180109890A (ko) * | 2016-02-12 | 2018-10-08 | 소니 주식회사 | 정보 처리 장치 및 정보 처리 방법 |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
RU2632128C1 (ru) | 2016-04-04 | 2017-10-02 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система загрузки фрагментов изображения на клиентское устройство |
US11038938B2 (en) * | 2016-04-25 | 2021-06-15 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing alternative content |
CN105898625B (zh) * | 2016-04-29 | 2020-03-17 | 腾讯科技(深圳)有限公司 | 一种播放处理方法及终端设备 |
US10129574B2 (en) | 2016-05-24 | 2018-11-13 | Divx, Llc | Systems and methods for providing variable speeds in a trick-play mode |
US10231001B2 (en) | 2016-05-24 | 2019-03-12 | Divx, Llc | Systems and methods for providing audio content during trick-play playback |
US10116719B1 (en) | 2016-06-03 | 2018-10-30 | Amazon Technologies, Inc. | Customized dash manifest |
JP6669403B2 (ja) * | 2016-06-03 | 2020-03-18 | キヤノン株式会社 | 通信装置、通信制御方法および通信システム |
US10432690B1 (en) | 2016-06-03 | 2019-10-01 | Amazon Technologies, Inc. | Manifest partitioning |
US10104143B1 (en) * | 2016-06-03 | 2018-10-16 | Amazon Technologies, Inc. | Manifest segmentation |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10812558B1 (en) * | 2016-06-27 | 2020-10-20 | Amazon Technologies, Inc. | Controller to synchronize encoding of streaming content |
US10652625B1 (en) | 2016-06-27 | 2020-05-12 | Amazon Technologies, Inc. | Synchronization of multiple encoders for streaming content |
US10652292B1 (en) * | 2016-06-28 | 2020-05-12 | Amazon Technologies, Inc. | Synchronization of multiple encoders for streaming content |
US10389785B2 (en) * | 2016-07-17 | 2019-08-20 | Wei-Chung Chang | Method for adaptively streaming an audio/visual material |
US10367865B2 (en) * | 2016-07-28 | 2019-07-30 | Verizon Digital Media Services Inc. | Encodingless transmuxing |
WO2018028985A1 (en) | 2016-08-11 | 2018-02-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Improved adaptive bit rate streaming of live content with manifest update push notification or long poll |
EP3497831B1 (en) | 2016-08-11 | 2021-09-01 | Telefonaktiebolaget LM Ericsson (publ) | Improved adaptive bit rate streaming of live content |
RU2745113C2 (ru) * | 2016-09-30 | 2021-03-22 | Лайвстриминг Свиден АБ | Буферизация воспроизведения в системе распределения контента, транслируемого в прямом эфире |
US10553029B1 (en) | 2016-09-30 | 2020-02-04 | Amazon Technologies, Inc. | Using reference-only decoding of non-viewed sections of a projected video |
US10412412B1 (en) * | 2016-09-30 | 2019-09-10 | Amazon Technologies, Inc. | Using reference-only decoding of non-viewed sections of a projected video |
US10063902B2 (en) | 2016-12-22 | 2018-08-28 | Cisco Technology, Inc. | ABR network profile selection engine |
US10476943B2 (en) * | 2016-12-30 | 2019-11-12 | Facebook, Inc. | Customizing manifest file for enhancing media streaming |
US10440085B2 (en) | 2016-12-30 | 2019-10-08 | Facebook, Inc. | Effectively fetch media content for enhancing media streaming |
WO2018122402A1 (en) * | 2017-01-02 | 2018-07-05 | Koninklijke Kpn N.V. | Selectively updating a dynamic manifest file |
US10609356B1 (en) | 2017-01-23 | 2020-03-31 | Amazon Technologies, Inc. | Using a temporal enhancement layer to encode and decode stereoscopic video content |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
GB2595029B (en) * | 2017-04-21 | 2022-02-09 | Zenimax Media Inc | Systems and methods for rendering & pre-encoded load estimation based encoder hinting |
US10887645B2 (en) * | 2017-07-13 | 2021-01-05 | Qualcomm Incorporated | Processing media data using file tracks for web content |
US10587883B2 (en) * | 2017-07-14 | 2020-03-10 | Qualcomm Incorporated | Region-wise packing, content coverage, and signaling frame packing for media content |
CN110971564B (zh) * | 2018-09-28 | 2021-03-30 | 华为技术有限公司 | 传输媒体数据的方法、客户端和服务器 |
US11381867B2 (en) | 2019-01-08 | 2022-07-05 | Qualcomm Incorporated | Multiple decoder interface for streamed media data |
US11757965B2 (en) | 2019-02-19 | 2023-09-12 | Apple Inc. | Low latency streaming media |
ES2974683T3 (es) | 2019-03-21 | 2024-07-01 | Divx Llc | Sistemas y métodos para enjambres multimedia |
US11831879B2 (en) * | 2019-09-20 | 2023-11-28 | Comcast Cable Communications, Llc | Methods, systems, and apparatuses for enhanced adaptive bitrate segmentation |
US11564018B2 (en) * | 2019-10-02 | 2023-01-24 | Qualcomm Incorporated | Random access at resync points of dash segments |
US11647252B2 (en) * | 2020-02-28 | 2023-05-09 | Hulu, LLC | Identification of elements in a group for dynamic element replacement |
EP4111698A4 (en) * | 2020-02-28 | 2024-03-13 | Hulu, LLC | CLIENT-BASED REMOTE ELEMENT RESOLUTION STORAGE |
US11166055B2 (en) | 2020-03-31 | 2021-11-02 | Viacom International Inc. | Fast video stream startup |
EP3958579A1 (en) * | 2020-08-17 | 2022-02-23 | THEO Technologies | A media decoder for decoding streamed media and a method therefor |
US11880921B2 (en) | 2022-01-27 | 2024-01-23 | Cobalt Inc. | System and method for multimedia presentation |
Family Cites Families (563)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3909721A (en) | 1972-01-31 | 1975-09-30 | Signatron | Signal processing system |
US4365338A (en) | 1980-06-27 | 1982-12-21 | Harris Corporation | Technique for high rate digital transmission over a dynamic dispersive channel |
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US4589112A (en) | 1984-01-26 | 1986-05-13 | International Business Machines Corporation | System for multiple error detection with single and double bit error correction |
US4901319A (en) | 1988-03-18 | 1990-02-13 | General Electric Company | Transmission system with adaptive interleaving |
GB8815978D0 (en) | 1988-07-05 | 1988-08-10 | British Telecomm | Method & apparatus for encoding decoding & transmitting data in compressed form |
US5136592A (en) | 1989-06-28 | 1992-08-04 | Digital Equipment Corporation | Error detection and correction system for long burst errors |
US5421031A (en) | 1989-08-23 | 1995-05-30 | Delta Beta Pty. Ltd. | Program transmission optimisation |
US7594250B2 (en) | 1992-04-02 | 2009-09-22 | Debey Henry C | Method and system of program transmission optimization using a redundant transmission sequence |
US5701582A (en) | 1989-08-23 | 1997-12-23 | Delta Beta Pty. Ltd. | Method and apparatus for efficient transmissions of programs |
US5329369A (en) | 1990-06-01 | 1994-07-12 | Thomson Consumer Electronics, Inc. | Asymmetric picture compression |
US5455823A (en) | 1990-11-06 | 1995-10-03 | Radio Satellite Corporation | Integrated communications terminal |
US5164963A (en) | 1990-11-07 | 1992-11-17 | At&T Bell Laboratories | Coding for digital transmission |
US5465318A (en) | 1991-03-28 | 1995-11-07 | Kurzweil Applied Intelligence, Inc. | Method for generating a speech recognition model for a non-vocabulary utterance |
US5379297A (en) | 1992-04-09 | 1995-01-03 | Network Equipment Technologies, Inc. | Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode |
EP0543070A1 (en) | 1991-11-21 | 1993-05-26 | International Business Machines Corporation | Coding system and method using quaternary codes |
US6850252B1 (en) | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US5371532A (en) | 1992-05-15 | 1994-12-06 | Bell Communications Research, Inc. | Communications architecture and method for distributing information services |
US5425050A (en) | 1992-10-23 | 1995-06-13 | Massachusetts Institute Of Technology | Television transmission system using spread spectrum and orthogonal frequency-division multiplex |
US5372532A (en) | 1993-01-26 | 1994-12-13 | Robertson, Jr.; George W. | Swivel head cap connector |
EP0613249A1 (en) | 1993-02-12 | 1994-08-31 | Altera Corporation | Custom look-up table with reduced number of architecture bits |
DE4316297C1 (de) | 1993-05-14 | 1994-04-07 | Fraunhofer Ges Forschung | Frequenzanalyseverfahren |
AU665716B2 (en) | 1993-07-05 | 1996-01-11 | Mitsubishi Denki Kabushiki Kaisha | A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame |
US5590405A (en) | 1993-10-29 | 1996-12-31 | Lucent Technologies Inc. | Communication technique employing variable information transmission |
JP2576776B2 (ja) | 1993-11-10 | 1997-01-29 | 日本電気株式会社 | パケット伝送方法・パケット伝送装置 |
US5517508A (en) | 1994-01-26 | 1996-05-14 | Sony Corporation | Method and apparatus for detection and error correction of packetized digital data |
CA2140850C (en) | 1994-02-24 | 1999-09-21 | Howard Paul Katseff | Networked system for display of multimedia presentations |
US5566208A (en) | 1994-03-17 | 1996-10-15 | Philips Electronics North America Corp. | Encoder buffer having an effective size which varies automatically with the channel bit-rate |
US5432787A (en) | 1994-03-24 | 1995-07-11 | Loral Aerospace Corporation | Packet data transmission system with adaptive data recovery method |
US5757415A (en) | 1994-05-26 | 1998-05-26 | Sony Corporation | On-demand data transmission by dividing input data into blocks and each block into sub-blocks such that the sub-blocks are re-arranged for storage to data storage means |
US5802394A (en) | 1994-06-06 | 1998-09-01 | Starlight Networks, Inc. | Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof |
US5739864A (en) | 1994-08-24 | 1998-04-14 | Macrovision Corporation | Apparatus for inserting blanked formatted fingerprint data (source ID, time/date) in to a video signal |
US5568614A (en) | 1994-07-29 | 1996-10-22 | International Business Machines Corporation | Data streaming between peer subsystems of a computer system |
US5668948A (en) | 1994-09-08 | 1997-09-16 | International Business Machines Corporation | Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports |
US5926205A (en) | 1994-10-19 | 1999-07-20 | Imedia Corporation | Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program |
US5659614A (en) | 1994-11-28 | 1997-08-19 | Bailey, Iii; John E. | Method and system for creating and storing a backup copy of file data stored on a computer |
US5617541A (en) | 1994-12-21 | 1997-04-01 | International Computer Science Institute | System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets |
JP3614907B2 (ja) | 1994-12-28 | 2005-01-26 | 株式会社東芝 | データ再送制御方法及びデータ再送制御システム |
EP0823153A4 (en) | 1995-04-27 | 1999-10-20 | Stevens Inst Technology | HIGH INTEGRITY TRANSPORT METHOD FOR TIME-CRITICAL MULTIMEDIA NETWORK APPLICATIONS |
US5835165A (en) | 1995-06-07 | 1998-11-10 | Lsi Logic Corporation | Reduction of false locking code words in concatenated decoders |
US5805825A (en) | 1995-07-26 | 1998-09-08 | Intel Corporation | Method for semi-reliable, unidirectional broadcast information services |
US6079041A (en) | 1995-08-04 | 2000-06-20 | Sanyo Electric Co., Ltd. | Digital modulation circuit and digital demodulation circuit |
US5754563A (en) | 1995-09-11 | 1998-05-19 | Ecc Technologies, Inc. | Byte-parallel system for implementing reed-solomon error-correcting codes |
CA2233298C (en) * | 1995-09-29 | 2007-06-05 | Remmers Bauchemie Gmbh | Wood-protecting agent |
KR0170298B1 (ko) | 1995-10-10 | 1999-04-15 | 김광호 | 디지탈 비디오 테이프의 기록 방법 |
US5751336A (en) | 1995-10-12 | 1998-05-12 | International Business Machines Corporation | Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems |
JP3305183B2 (ja) | 1996-01-12 | 2002-07-22 | 株式会社東芝 | ディジタル放送受信端末装置 |
US6012159A (en) | 1996-01-17 | 2000-01-04 | Kencast, Inc. | Method and system for error-free data transfer |
US5852565A (en) | 1996-01-30 | 1998-12-22 | Demografx | Temporal and resolution layering in advanced television |
US5936659A (en) | 1996-01-31 | 1999-08-10 | Telcordia Technologies, Inc. | Method for video delivery using pyramid broadcasting |
US5903775A (en) | 1996-06-06 | 1999-05-11 | International Business Machines Corporation | Method for the sequential transmission of compressed video information at varying data rates |
US5745504A (en) | 1996-06-25 | 1998-04-28 | Telefonaktiebolaget Lm Ericsson | Bit error resilient variable length code |
US5940863A (en) | 1996-07-26 | 1999-08-17 | Zenith Electronics Corporation | Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators |
US5936949A (en) | 1996-09-05 | 1999-08-10 | Netro Corporation | Wireless ATM metropolitan area network |
KR100261706B1 (ko) | 1996-12-17 | 2000-07-15 | 가나이 쓰도무 | 디지탈방송신호의 수신장치와 수신 및 기록재생장치 |
US6011590A (en) | 1997-01-03 | 2000-01-04 | Ncr Corporation | Method of transmitting compressed information to minimize buffer space |
US6141053A (en) | 1997-01-03 | 2000-10-31 | Saukkonen; Jukka I. | Method of optimizing bandwidth for transmitting compressed video data streams |
US6044485A (en) | 1997-01-03 | 2000-03-28 | Ericsson Inc. | Transmitter method and transmission system using adaptive coding based on channel characteristics |
EP0854650A3 (en) | 1997-01-17 | 2001-05-02 | NOKIA TECHNOLOGY GmbH | Method for addressing a service in digital video broadcasting |
US5946357A (en) | 1997-01-17 | 1999-08-31 | Telefonaktiebolaget L M Ericsson | Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal |
US5983383A (en) | 1997-01-17 | 1999-11-09 | Qualcom Incorporated | Method and apparatus for transmitting and receiving concatenated code data |
US6014706A (en) | 1997-01-30 | 2000-01-11 | Microsoft Corporation | Methods and apparatus for implementing control functions in a streamed video display system |
KR20000075982A (ko) | 1997-03-07 | 2000-12-26 | 다카노 야스아키 | 디지탈 방송 수신기 및 디스플레이 장치 |
US6115420A (en) | 1997-03-14 | 2000-09-05 | Microsoft Corporation | Digital video signal encoder and encoding method |
DE19716011A1 (de) | 1997-04-17 | 1998-10-22 | Abb Research Ltd | Verfahren und Vorrichtung zur Informationsübertragung über Stromversorgungsleitungen |
US6226259B1 (en) | 1997-04-29 | 2001-05-01 | Canon Kabushiki Kaisha | Device and method for transmitting information device and method for processing information |
US5970098A (en) | 1997-05-02 | 1999-10-19 | Globespan Technologies, Inc. | Multilevel encoder |
US5844636A (en) | 1997-05-13 | 1998-12-01 | Hughes Electronics Corporation | Method and apparatus for receiving and recording digital packet data |
JPH1141211A (ja) | 1997-05-19 | 1999-02-12 | Sanyo Electric Co Ltd | ディジタル変調回路と変調方法、ディジタル復調回路と復調方法 |
JP4110593B2 (ja) | 1997-05-19 | 2008-07-02 | ソニー株式会社 | 信号記録方法及び信号記録装置 |
EP0933768A4 (en) | 1997-05-19 | 2000-10-04 | Sanyo Electric Co | DIGITAL MODULATION AND DEMODULATION |
US6128649A (en) | 1997-06-02 | 2000-10-03 | Nortel Networks Limited | Dynamic selection of media streams for display |
US6081907A (en) | 1997-06-09 | 2000-06-27 | Microsoft Corporation | Data delivery system and method for delivering data and redundant information over a unidirectional network |
US5917852A (en) | 1997-06-11 | 1999-06-29 | L-3 Communications Corporation | Data scrambling system and method and communications system incorporating same |
KR100240869B1 (ko) | 1997-06-25 | 2000-01-15 | 윤종용 | 이중 다이버서티 시스템을 위한 데이터 전송 방법 |
US5933056A (en) | 1997-07-15 | 1999-08-03 | Exar Corporation | Single pole current mode common-mode feedback circuit |
US6175944B1 (en) | 1997-07-15 | 2001-01-16 | Lucent Technologies Inc. | Methods and apparatus for packetizing data for transmission through an erasure broadcast channel |
US6047069A (en) | 1997-07-17 | 2000-04-04 | Hewlett-Packard Company | Method and apparatus for preserving error correction capabilities during data encryption/decryption |
US6904110B2 (en) | 1997-07-31 | 2005-06-07 | Francois Trans | Channel equalization system and method |
US6178536B1 (en) | 1997-08-14 | 2001-01-23 | International Business Machines Corporation | Coding scheme for file backup and systems based thereon |
FR2767940A1 (fr) | 1997-08-29 | 1999-02-26 | Canon Kk | Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre |
EP0903955A1 (en) | 1997-09-04 | 1999-03-24 | STMicroelectronics S.r.l. | Modular architecture PET decoder for ATM networks |
US6088330A (en) | 1997-09-09 | 2000-07-11 | Bruck; Joshua | Reliable array of distributed computing nodes |
US6134596A (en) | 1997-09-18 | 2000-10-17 | Microsoft Corporation | Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates |
US6272658B1 (en) | 1997-10-27 | 2001-08-07 | Kencast, Inc. | Method and system for reliable broadcasting of data files and streams |
US6195777B1 (en) | 1997-11-06 | 2001-02-27 | Compaq Computer Corporation | Loss resilient code with double heavy tailed series of redundant layers |
US6081909A (en) | 1997-11-06 | 2000-06-27 | Digital Equipment Corporation | Irregularly graphed encoding technique |
US6073250A (en) | 1997-11-06 | 2000-06-06 | Luby; Michael G. | Loss resilient decoding technique |
US6081918A (en) | 1997-11-06 | 2000-06-27 | Spielman; Daniel A. | Loss resilient code with cascading series of redundant layers |
US6163870A (en) | 1997-11-06 | 2000-12-19 | Compaq Computer Corporation | Message encoding with irregular graphing |
JP3472115B2 (ja) | 1997-11-25 | 2003-12-02 | Kddi株式会社 | マルチチャンネルを用いるビデオデータ伝送方法及びその装置 |
US5870412A (en) | 1997-12-12 | 1999-02-09 | 3Com Corporation | Forward error correction system for packet based real time media |
US6243846B1 (en) | 1997-12-12 | 2001-06-05 | 3Com Corporation | Forward error correction system for packet based data and real time media, using cross-wise parity calculation |
US6849803B1 (en) | 1998-01-15 | 2005-02-01 | Arlington Industries, Inc. | Electrical connector |
US6097320A (en) | 1998-01-20 | 2000-08-01 | Silicon Systems, Inc. | Encoder/decoder system with suppressed error propagation |
US6226301B1 (en) | 1998-02-19 | 2001-05-01 | Nokia Mobile Phones Ltd | Method and apparatus for segmentation and assembly of data frames for retransmission in a telecommunications system |
US6141788A (en) | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
US6278716B1 (en) | 1998-03-23 | 2001-08-21 | University Of Massachusetts | Multicast with proactive forward error correction |
WO1999052282A1 (en) | 1998-04-02 | 1999-10-14 | Sarnoff Corporation | Bursty data transmission of compressed video data |
US6185265B1 (en) | 1998-04-07 | 2001-02-06 | Worldspace Management Corp. | System for time division multiplexing broadcast channels with R-1/2 or R-3/4 convolutional coding for satellite transmission via on-board baseband processing payload or transparent payload |
US6067646A (en) | 1998-04-17 | 2000-05-23 | Ameritech Corporation | Method and system for adaptive interleaving |
US6018359A (en) | 1998-04-24 | 2000-01-25 | Massachusetts Institute Of Technology | System and method for multicast video-on-demand delivery system |
US6445717B1 (en) | 1998-05-01 | 2002-09-03 | Niwot Networks, Inc. | System for recovering lost information in a data stream |
US6421387B1 (en) | 1998-05-15 | 2002-07-16 | North Carolina State University | Methods and systems for forward error correction based loss recovery for interactive video transmission |
US6937618B1 (en) | 1998-05-20 | 2005-08-30 | Sony Corporation | Separating device and method and signal receiving device and method |
US6333926B1 (en) | 1998-08-11 | 2001-12-25 | Nortel Networks Limited | Multiple user CDMA basestation modem |
CN1342354A (zh) | 1998-09-04 | 2002-03-27 | 美国电报电话公司 | 在一种多天线装置中组合信道编码和空间一分块编码 |
US6415326B1 (en) | 1998-09-15 | 2002-07-02 | Microsoft Corporation | Timeline correlation between multiple timeline-altered media streams |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US6320520B1 (en) | 1998-09-23 | 2001-11-20 | Digital Fountain | Information additive group code generator and decoder for communications systems |
US7243285B2 (en) | 1998-09-23 | 2007-07-10 | Digital Fountain, Inc. | Systems and methods for broadcasting information additive codes |
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6704370B1 (en) | 1998-10-09 | 2004-03-09 | Nortel Networks Limited | Interleaving methodology and apparatus for CDMA |
IT1303735B1 (it) | 1998-11-11 | 2001-02-23 | Falorni Italia Farmaceutici S | Acidi ialuronici reticolati e loro usi medici. |
US6408128B1 (en) | 1998-11-12 | 2002-06-18 | Max Abecassis | Replaying with supplementary information a segment of a video |
US7157314B2 (en) | 1998-11-16 | 2007-01-02 | Sandisk Corporation | Vertically stacked field programmable nonvolatile memory and method of fabrication |
JP2000151426A (ja) | 1998-11-17 | 2000-05-30 | Toshiba Corp | インターリーブ・デインターリーブ回路 |
US6166544A (en) | 1998-11-25 | 2000-12-26 | General Electric Company | MR imaging system with interactive image contrast control |
US6876623B1 (en) | 1998-12-02 | 2005-04-05 | Agere Systems Inc. | Tuning scheme for code division multiplex broadcasting system |
PL192020B1 (pl) | 1998-12-03 | 2006-08-31 | Fraunhofer Ges Forschung | Sposób i urządzenie do nadawania informacji oraz sposób i urządzenie do odbierania informacji |
US6637031B1 (en) | 1998-12-04 | 2003-10-21 | Microsoft Corporation | Multimedia presentation latency minimization |
US6496980B1 (en) | 1998-12-07 | 2002-12-17 | Intel Corporation | Method of providing replay on demand for streaming digital multimedia |
US6223324B1 (en) | 1999-01-05 | 2001-04-24 | Agere Systems Guardian Corp. | Multiple program unequal error protection for digital audio broadcasting and other applications |
JP3926499B2 (ja) | 1999-01-22 | 2007-06-06 | 株式会社日立国際電気 | 畳み込み符号軟判定復号方式の受信装置 |
US6618451B1 (en) | 1999-02-13 | 2003-09-09 | Altocom Inc | Efficient reduced state maximum likelihood sequence estimator |
US6041001A (en) | 1999-02-25 | 2000-03-21 | Lexar Media, Inc. | Method of increasing data reliability of a flash memory device without compromising compatibility |
AU2827400A (en) | 1999-03-03 | 2000-09-21 | Sony Corporation | Transmitter, receiver, transmitter/receiver system, transmission method and reception method |
US6466698B1 (en) | 1999-03-25 | 2002-10-15 | The United States Of America As Represented By The Secretary Of The Navy | Efficient embedded image and video compression system using lifted wavelets |
JP3256517B2 (ja) | 1999-04-06 | 2002-02-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 符号化回路、回路、パリティ生成方法及び記憶媒体 |
US6609223B1 (en) | 1999-04-06 | 2003-08-19 | Kencast, Inc. | Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter |
US6535920B1 (en) | 1999-04-06 | 2003-03-18 | Microsoft Corporation | Analyzing, indexing and seeking of streaming information |
US6804202B1 (en) | 1999-04-08 | 2004-10-12 | Lg Information And Communications, Ltd. | Radio protocol for mobile communication system and method |
US7885340B2 (en) | 1999-04-27 | 2011-02-08 | Realnetworks, Inc. | System and method for generating multiple synchronized encoded representations of media data |
FI113124B (fi) | 1999-04-29 | 2004-02-27 | Nokia Corp | Tiedonsiirto |
MY130203A (en) | 1999-05-06 | 2007-06-29 | Sony Corp | Methods and apparatus for data processing, methods and apparatus for data reproducing and recording media |
KR100416996B1 (ko) | 1999-05-10 | 2004-02-05 | 삼성전자주식회사 | 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법 |
US6154452A (en) | 1999-05-26 | 2000-11-28 | Xm Satellite Radio Inc. | Method and apparatus for continuous cross-channel interleaving |
US6229824B1 (en) | 1999-05-26 | 2001-05-08 | Xm Satellite Radio Inc. | Method and apparatus for concatenated convolutional endcoding and interleaving |
AU5140200A (en) | 1999-05-26 | 2000-12-18 | Enounce, Incorporated | Method and apparatus for controlling time-scale modification during multi-media broadcasts |
JP2000353969A (ja) | 1999-06-11 | 2000-12-19 | Sony Corp | デジタル音声放送の受信機 |
US6577599B1 (en) | 1999-06-30 | 2003-06-10 | Sun Microsystems, Inc. | Small-scale reliable multicasting |
IL141800A0 (en) | 1999-07-06 | 2002-03-10 | Samsung Electronics Co Ltd | Rate matching device and method for a data communication system |
US6643332B1 (en) | 1999-07-09 | 2003-11-04 | Lsi Logic Corporation | Method and apparatus for multi-level coding of digital signals |
US6279072B1 (en) | 1999-07-22 | 2001-08-21 | Micron Technology, Inc. | Reconfigurable memory with selectable error correction storage |
JP3451221B2 (ja) | 1999-07-22 | 2003-09-29 | 日本無線株式会社 | 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体 |
US6453440B1 (en) | 1999-08-04 | 2002-09-17 | Sun Microsystems, Inc. | System and method for detecting double-bit errors and for correcting errors due to component failures |
JP2001060934A (ja) | 1999-08-20 | 2001-03-06 | Matsushita Electric Ind Co Ltd | Ofdm通信装置 |
US6430233B1 (en) | 1999-08-30 | 2002-08-06 | Hughes Electronics Corporation | Single-LNB satellite data receiver |
US6332163B1 (en) | 1999-09-01 | 2001-12-18 | Accenture, Llp | Method for providing communication services over a computer network system |
JP4284774B2 (ja) | 1999-09-07 | 2009-06-24 | ソニー株式会社 | 送信装置、受信装置、通信システム、送信方法及び通信方法 |
JP2001094625A (ja) | 1999-09-27 | 2001-04-06 | Canon Inc | データ通信装置、データ通信方法及び記憶媒体 |
US7529806B1 (en) | 1999-11-04 | 2009-05-05 | Koninklijke Philips Electronics N.V. | Partitioning of MP3 content file for emulating streaming |
EP1131930B1 (en) | 1999-09-27 | 2007-01-17 | Koninklijke Philips Electronics N.V. | Partitioning of file for emulating streaming |
US20050160272A1 (en) | 1999-10-28 | 2005-07-21 | Timecertain, Llc | System and method for providing trusted time in content of digital data files |
US6523147B1 (en) | 1999-11-11 | 2003-02-18 | Ibiquity Digital Corporation | Method and apparatus for forward error correction coding for an AM in-band on-channel digital audio broadcasting system |
US6748441B1 (en) | 1999-12-02 | 2004-06-08 | Microsoft Corporation | Data carousel receiving and caching |
US6678855B1 (en) | 1999-12-02 | 2004-01-13 | Microsoft Corporation | Selecting K in a data transmission carousel using (N,K) forward error correction |
US6798791B1 (en) | 1999-12-16 | 2004-09-28 | Agere Systems Inc | Cluster frame synchronization scheme for a satellite digital audio radio system |
US6487692B1 (en) | 1999-12-21 | 2002-11-26 | Lsi Logic Corporation | Reed-Solomon decoder |
US20020009137A1 (en) | 2000-02-01 | 2002-01-24 | Nelson John E. | Three-dimensional video broadcasting system |
US6965636B1 (en) | 2000-02-01 | 2005-11-15 | 2Wire, Inc. | System and method for block error correction in packet-based digital communications |
WO2001058130A2 (en) | 2000-02-03 | 2001-08-09 | Bandwiz, Inc. | Coding method |
IL140504A0 (en) | 2000-02-03 | 2002-02-10 | Bandwiz Inc | Broadcast system |
US7304990B2 (en) | 2000-02-03 | 2007-12-04 | Bandwiz Inc. | Method of encoding and transmitting data over a communication medium through division and segmentation |
US6765866B1 (en) | 2000-02-29 | 2004-07-20 | Mosaid Technologies, Inc. | Link aggregation |
DE10009443A1 (de) | 2000-02-29 | 2001-08-30 | Philips Corp Intellectual Pty | Empfänger und Verfahren zum Detektieren und Dekodieren eines DQPSK-modulierten und kanalkodierten Empfangssignals |
US6384750B1 (en) | 2000-03-23 | 2002-05-07 | Mosaid Technologies, Inc. | Multi-stage lookup for translating between signals of different bit lengths |
US6510177B1 (en) | 2000-03-24 | 2003-01-21 | Microsoft Corporation | System and method for layered video coding enhancement |
JP2001274776A (ja) | 2000-03-24 | 2001-10-05 | Toshiba Corp | 情報データ伝送システムとその送信装置及び受信装置 |
WO2001076077A2 (en) | 2000-03-31 | 2001-10-11 | Ted Szymanski | Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link |
US6473010B1 (en) | 2000-04-04 | 2002-10-29 | Marvell International, Ltd. | Method and apparatus for determining error correction code failure rate for iterative decoding algorithms |
US8572646B2 (en) | 2000-04-07 | 2013-10-29 | Visible World Inc. | System and method for simultaneous broadcast for personalized messages |
AU2001251353A1 (en) | 2000-04-08 | 2001-10-23 | Sun Microsystems, Inc. | Streaming a single media track to multiple clients |
US6631172B1 (en) | 2000-05-01 | 2003-10-07 | Lucent Technologies Inc. | Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels |
US6742154B1 (en) | 2000-05-25 | 2004-05-25 | Ciena Corporation | Forward error correction codes for digital optical network optimization |
US6694476B1 (en) | 2000-06-02 | 2004-02-17 | Vitesse Semiconductor Corporation | Reed-solomon encoder and decoder |
US6738942B1 (en) | 2000-06-02 | 2004-05-18 | Vitesse Semiconductor Corporation | Product code based forward error correction system |
US7373413B1 (en) | 2000-06-28 | 2008-05-13 | Cisco Technology, Inc. | Devices and methods for minimizing start up delay in transmission of streaming media |
GB2366159B (en) | 2000-08-10 | 2003-10-08 | Mitel Corp | Combination reed-solomon and turbo coding |
US6834342B2 (en) | 2000-08-16 | 2004-12-21 | Eecad, Inc. | Method and system for secure communication over unstable public connections |
KR100447162B1 (ko) | 2000-08-19 | 2004-09-04 | 엘지전자 주식회사 | 래디오 링크 콘트롤(rlc)에서 프로토콜 데이터 유닛(pdu) 정보의 길이 지시자(li) 처리방법 |
JP2002073625A (ja) | 2000-08-24 | 2002-03-12 | Nippon Hoso Kyokai <Nhk> | 放送番組に同期した情報提供の方法、サーバ及び媒体 |
US7340664B2 (en) | 2000-09-20 | 2008-03-04 | Lsi Logic Corporation | Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving |
US7031257B1 (en) | 2000-09-22 | 2006-04-18 | Lucent Technologies Inc. | Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol |
US6486803B1 (en) | 2000-09-22 | 2002-11-26 | Digital Fountain, Inc. | On demand encoding with a window |
US7151754B1 (en) | 2000-09-22 | 2006-12-19 | Lucent Technologies Inc. | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
US7490344B2 (en) | 2000-09-29 | 2009-02-10 | Visible World, Inc. | System and method for seamless switching |
US6411223B1 (en) | 2000-10-18 | 2002-06-25 | Digital Fountain, Inc. | Generating high weight encoding symbols using a basis |
US7613183B1 (en) | 2000-10-31 | 2009-11-03 | Foundry Networks, Inc. | System and method for router data aggregation and delivery |
US6694478B1 (en) | 2000-11-07 | 2004-02-17 | Agere Systems Inc. | Low delay channel codes for correcting bursts of lost packets |
US6732325B1 (en) | 2000-11-08 | 2004-05-04 | Digeo, Inc. | Error-correction with limited working storage |
US20020133247A1 (en) | 2000-11-11 | 2002-09-19 | Smith Robert D. | System and method for seamlessly switching between media streams |
US7072971B2 (en) | 2000-11-13 | 2006-07-04 | Digital Foundation, Inc. | Scheduling of multiple files for serving on a server |
US7240358B2 (en) | 2000-12-08 | 2007-07-03 | Digital Fountain, Inc. | Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources |
CN1243442C (zh) | 2000-12-15 | 2006-02-22 | 英国电讯有限公司 | 音频和/或视频资料的传输和接收 |
WO2002049343A1 (en) | 2000-12-15 | 2002-06-20 | British Telecommunications Public Limited Company | Transmission and reception of audio and/or video material |
US6850736B2 (en) | 2000-12-21 | 2005-02-01 | Tropian, Inc. | Method and apparatus for reception quality indication in wireless communication |
US7143433B1 (en) | 2000-12-27 | 2006-11-28 | Infovalve Computing Inc. | Video distribution system using dynamic segmenting of video data files |
US20020085013A1 (en) | 2000-12-29 | 2002-07-04 | Lippincott Louis A. | Scan synchronized dual frame buffer graphics subsystem |
NO315887B1 (no) | 2001-01-04 | 2003-11-03 | Fast Search & Transfer As | Fremgangsmater ved overforing og soking av videoinformasjon |
US20080059532A1 (en) | 2001-01-18 | 2008-03-06 | Kazmi Syed N | Method and system for managing digital content, including streaming media |
FI118830B (fi) | 2001-02-08 | 2008-03-31 | Nokia Corp | Tietovirran toisto |
US6868083B2 (en) | 2001-02-16 | 2005-03-15 | Hewlett-Packard Development Company, L.P. | Method and system for packet communication employing path diversity |
US20020129159A1 (en) | 2001-03-09 | 2002-09-12 | Michael Luby | Multi-output packet server with independent streams |
KR100464360B1 (ko) | 2001-03-30 | 2005-01-03 | 삼성전자주식회사 | 고속 패킷 데이터 전송 이동통신시스템에서 패킷 데이터채널에 대한 효율적인 에너지 분배 장치 및 방법 |
US20020143953A1 (en) | 2001-04-03 | 2002-10-03 | International Business Machines Corporation | Automatic affinity within networks performing workload balancing |
US6785836B2 (en) | 2001-04-11 | 2004-08-31 | Broadcom Corporation | In-place data transformation for fault-tolerant disk storage systems |
US6820221B2 (en) | 2001-04-13 | 2004-11-16 | Hewlett-Packard Development Company, L.P. | System and method for detecting process and network failures in a distributed system |
US7010052B2 (en) | 2001-04-16 | 2006-03-07 | The Ohio University | Apparatus and method of CTCM encoding and decoding for a digital communication system |
US7035468B2 (en) | 2001-04-20 | 2006-04-25 | Front Porch Digital Inc. | Methods and apparatus for archiving, indexing and accessing audio and video data |
TWI246841B (en) | 2001-04-22 | 2006-01-01 | Koninkl Philips Electronics Nv | Digital transmission system and method for transmitting digital signals |
US20020191116A1 (en) | 2001-04-24 | 2002-12-19 | Damien Kessler | System and data format for providing seamless stream switching in a digital video recorder |
US20020194608A1 (en) | 2001-04-26 | 2002-12-19 | Goldhor Richard S. | Method and apparatus for a playback enhancement system implementing a "Say Again" feature |
US6497479B1 (en) | 2001-04-27 | 2002-12-24 | Hewlett-Packard Company | Higher organic inks with good reliability and drytime |
US7962482B2 (en) | 2001-05-16 | 2011-06-14 | Pandora Media, Inc. | Methods and systems for utilizing contextual feedback to generate and modify playlists |
US6633856B2 (en) | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
US7076478B2 (en) | 2001-06-26 | 2006-07-11 | Microsoft Corporation | Wrapper playlists on streaming media services |
US6745364B2 (en) | 2001-06-28 | 2004-06-01 | Microsoft Corporation | Negotiated/dynamic error correction for streamed media |
JP2003018568A (ja) | 2001-06-29 | 2003-01-17 | Matsushita Electric Ind Co Ltd | 再生システム、サーバ装置及び再生装置 |
JP2003022232A (ja) | 2001-07-06 | 2003-01-24 | Fujitsu Ltd | コンテンツデータ転送システム |
JP2003019012A (ja) | 2001-07-09 | 2003-01-21 | Akira Okabe | 発光ステッキ |
US6895547B2 (en) | 2001-07-11 | 2005-05-17 | International Business Machines Corporation | Method and apparatus for low density parity check encoding of data |
US6928603B1 (en) | 2001-07-19 | 2005-08-09 | Adaptix, Inc. | System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system |
US6961890B2 (en) | 2001-08-16 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Dynamic variable-length error correction code |
US7110412B2 (en) | 2001-09-18 | 2006-09-19 | Sbc Technology Resources, Inc. | Method and system to transport high-quality video signals |
FI115418B (fi) | 2001-09-20 | 2005-04-29 | Oplayo Oy | Adaptiivinen mediavirta |
US6990624B2 (en) | 2001-10-12 | 2006-01-24 | Agere Systems Inc. | High speed syndrome-based FEC encoder and decoder and system using same |
US7480703B2 (en) | 2001-11-09 | 2009-01-20 | Sony Corporation | System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user |
US7003712B2 (en) | 2001-11-29 | 2006-02-21 | Emin Martinian | Apparatus and method for adaptive, multimode decoding |
US7363354B2 (en) | 2001-11-29 | 2008-04-22 | Nokia Corporation | System and method for identifying and accessing network services |
JP2003174489A (ja) | 2001-12-05 | 2003-06-20 | Ntt Docomo Inc | ストリーミング配信装置、ストリーミング配信方法 |
CN1316398C (zh) * | 2001-12-15 | 2007-05-16 | 汤姆森特许公司 | 基于客户端或网络环境调整视频流的系统和方法 |
FI114527B (fi) | 2002-01-23 | 2004-10-29 | Nokia Corp | Kuvakehysten ryhmittely videokoodauksessa |
CN1288915C (zh) | 2002-01-23 | 2006-12-06 | 诺基亚有限公司 | 视频序列的编码和解码方法及相关的视频编码器和解码器 |
US7483489B2 (en) | 2002-01-30 | 2009-01-27 | Nxp B.V. | Streaming multimedia data over a network having a variable bandwith |
WO2003071440A1 (en) | 2002-02-15 | 2003-08-28 | Digital Fountain, Inc. | System and method for reliably communicating the content of a live data stream |
JP4126928B2 (ja) | 2002-02-28 | 2008-07-30 | 日本電気株式会社 | プロキシサーバ及びプロキシ制御プログラム |
JP4116470B2 (ja) | 2002-03-06 | 2008-07-09 | ヒューレット・パッカード・カンパニー | メディア・ストリーミング配信システム |
FR2837332A1 (fr) | 2002-03-15 | 2003-09-19 | Thomson Licensing Sa | Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants |
JP2005522965A (ja) | 2002-04-15 | 2005-07-28 | ノキア コーポレイション | 通信局のrlp論理層 |
US6677864B2 (en) | 2002-04-18 | 2004-01-13 | Telefonaktiebolaget L.M. Ericsson | Method for multicast over wireless networks |
JP3689063B2 (ja) | 2002-04-19 | 2005-08-31 | 松下電器産業株式会社 | データ受信装置及びデータ配信システム |
JP3629008B2 (ja) | 2002-04-19 | 2005-03-16 | 松下電器産業株式会社 | データ受信装置及びデータ配信システム |
WO2003092305A1 (en) | 2002-04-25 | 2003-11-06 | Sharp Kabushiki Kaisha | Image encodder, image decoder, record medium, and image recorder |
US20030204602A1 (en) | 2002-04-26 | 2003-10-30 | Hudson Michael D. | Mediated multi-source peer content delivery network architecture |
US7177658B2 (en) | 2002-05-06 | 2007-02-13 | Qualcomm, Incorporated | Multi-media broadcast and multicast service (MBMS) in a wireless communications system |
US7200388B2 (en) | 2002-05-31 | 2007-04-03 | Nokia Corporation | Fragmented delivery of multimedia |
IL165278A0 (en) | 2002-06-04 | 2005-12-18 | Qualcomm Inc | System for multimedia rendering in a portable device |
AR039964A1 (es) * | 2002-06-04 | 2005-03-09 | Qualcomm Inc | Metodo y sistema para emitir un contenido de multimedia en un dispositivo portatil y un medio legible por computadora |
US20040083015A1 (en) | 2002-06-04 | 2004-04-29 | Srinivas Patwari | System for multimedia rendering in a portable device |
AU2002368007A1 (en) | 2002-06-11 | 2003-12-22 | Telefonaktiebolaget Lm Ericsson (Publ) | Generation of mixed media streams |
EP2278719B1 (en) | 2002-06-11 | 2013-12-18 | Digital Fountain, Inc. | Decoding of chain reaction codes through inactivation |
US6956875B2 (en) | 2002-06-19 | 2005-10-18 | Atlinks Usa, Inc. | Technique for communicating variable bit rate data over a constant bit rate link |
JP4154569B2 (ja) | 2002-07-10 | 2008-09-24 | 日本電気株式会社 | 画像圧縮伸長装置 |
JP4120461B2 (ja) | 2002-07-12 | 2008-07-16 | 住友電気工業株式会社 | 伝送データ生成方法及び伝送データ生成装置 |
CA2492751C (en) | 2002-07-16 | 2012-06-12 | Nokia Corporation | A method for random access and gradual picture refresh in video coding |
JPWO2004019521A1 (ja) | 2002-07-31 | 2005-12-15 | シャープ株式会社 | データ通信装置、その間欠通信方法、その方法を記載するプログラム、及びそのプログラムを記録する記録媒体 |
JP2004070712A (ja) | 2002-08-07 | 2004-03-04 | Nippon Telegr & Teleph Corp <Ntt> | データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム |
EP1529389B1 (en) | 2002-08-13 | 2016-03-16 | Nokia Technologies Oy | Symbol interleaving |
US6985459B2 (en) | 2002-08-21 | 2006-01-10 | Qualcomm Incorporated | Early transmission and playout of packets in wireless communication systems |
WO2004030273A1 (ja) | 2002-09-27 | 2004-04-08 | Fujitsu Limited | データ配信方法、システム、伝送方法及びプログラム |
JP3534742B1 (ja) | 2002-10-03 | 2004-06-07 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像復号方法、動画像復号装置、及び動画像復号プログラム |
JP4546246B2 (ja) | 2002-10-05 | 2010-09-15 | デジタル ファウンテン, インコーポレイテッド | 連鎖的暗号化反応の系統的記号化および復号化 |
JP2004135013A (ja) | 2002-10-10 | 2004-04-30 | Matsushita Electric Ind Co Ltd | 伝送装置及び伝送方法 |
FI116816B (fi) | 2002-10-14 | 2006-02-28 | Nokia Corp | Median suoratoisto |
US8320301B2 (en) | 2002-10-25 | 2012-11-27 | Qualcomm Incorporated | MIMO WLAN system |
US7289451B2 (en) | 2002-10-25 | 2007-10-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Delay trading between communication links |
EP1559229A1 (en) | 2002-10-30 | 2005-08-03 | Koninklijke Philips Electronics N.V. | Adaptative forward error control scheme |
JP2004165922A (ja) | 2002-11-12 | 2004-06-10 | Sony Corp | 情報処理装置および方法、並びにプログラム |
ATE410029T1 (de) | 2002-11-18 | 2008-10-15 | British Telecomm | Videoübertragung |
GB0226872D0 (en) | 2002-11-18 | 2002-12-24 | British Telecomm | Video transmission |
JP3935419B2 (ja) | 2002-11-19 | 2007-06-20 | Kddi株式会社 | 動画像符号化ビットレート選択方式 |
KR100502609B1 (ko) | 2002-11-21 | 2005-07-20 | 한국전자통신연구원 | Ldpc 코드를 이용한 부호화기 및 부호화 방법 |
US7086718B2 (en) | 2002-11-23 | 2006-08-08 | Silverbrook Research Pty Ltd | Thermal ink jet printhead with high nozzle areal density |
JP2004192140A (ja) | 2002-12-09 | 2004-07-08 | Sony Corp | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム |
JP2004193992A (ja) | 2002-12-11 | 2004-07-08 | Sony Corp | 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム |
US8135073B2 (en) | 2002-12-19 | 2012-03-13 | Trident Microsystems (Far East) Ltd | Enhancing video images depending on prior image enhancements |
US7164882B2 (en) | 2002-12-24 | 2007-01-16 | Poltorak Alexander I | Apparatus and method for facilitating a purchase using information provided on a media playing device |
US7293222B2 (en) | 2003-01-29 | 2007-11-06 | Digital Fountain, Inc. | Systems and processes for fast encoding of hamming codes |
US7756002B2 (en) | 2003-01-30 | 2010-07-13 | Texas Instruments Incorporated | Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer |
US7525994B2 (en) | 2003-01-30 | 2009-04-28 | Avaya Inc. | Packet data flow identification for multiplexing |
US7231404B2 (en) | 2003-01-31 | 2007-06-12 | Nokia Corporation | Datacast file transmission with meta-data retention |
US7062272B2 (en) | 2003-02-18 | 2006-06-13 | Qualcomm Incorporated | Method and apparatus to track count of broadcast content recipients in a wireless telephone network |
EP1455504B1 (en) | 2003-03-07 | 2014-11-12 | Samsung Electronics Co., Ltd. | Apparatus and method for processing audio signal and computer readable recording medium storing computer program for the method |
JP4173755B2 (ja) | 2003-03-24 | 2008-10-29 | 富士通株式会社 | データ伝送サーバ |
US7610487B2 (en) | 2003-03-27 | 2009-10-27 | Microsoft Corporation | Human input security codes |
US7266147B2 (en) | 2003-03-31 | 2007-09-04 | Sharp Laboratories Of America, Inc. | Hypothetical reference decoder |
US7408486B2 (en) | 2003-04-21 | 2008-08-05 | Qbit Corporation | System and method for using a microlet-based modem |
JP2004343701A (ja) | 2003-04-21 | 2004-12-02 | Matsushita Electric Ind Co Ltd | データ受信再生装置、データ受信再生方法及びデータ受信再生処理プログラム |
JP4379779B2 (ja) | 2003-04-28 | 2009-12-09 | Kddi株式会社 | 映像配信方式 |
US20050041736A1 (en) | 2003-05-07 | 2005-02-24 | Bernie Butler-Smith | Stereoscopic television signal processing method, transmission system and viewer enhancements |
KR100492567B1 (ko) | 2003-05-13 | 2005-06-03 | 엘지전자 주식회사 | 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법 |
US7113773B2 (en) | 2003-05-16 | 2006-09-26 | Qualcomm Incorporated | Reliable reception of broadcast/multicast content |
JP2004348824A (ja) | 2003-05-21 | 2004-12-09 | Toshiba Corp | Eccエンコード方法、eccエンコード装置 |
EP1632081B1 (en) | 2003-05-23 | 2016-08-17 | Kirusa, Inc. | A method and system for communicating a data file over a network and teleconferencing over a telephony network |
JP2004362099A (ja) | 2003-06-03 | 2004-12-24 | Sony Corp | サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
JP2006514806A (ja) | 2003-06-07 | 2006-05-11 | サムスン エレクトロニクス カンパニー リミテッド | マルチメディアデータの提供装置及びその提供方法並びにその方法を記録した記録媒体 |
KR101003413B1 (ko) | 2003-06-12 | 2010-12-23 | 엘지전자 주식회사 | 이동통신 단말기의 전송데이터 압축/해제 방법 |
US7603689B2 (en) | 2003-06-13 | 2009-10-13 | Microsoft Corporation | Fast start-up for digital video streams |
RU2265960C2 (ru) | 2003-06-16 | 2005-12-10 | Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" | Способ передачи информации с использованием адаптивного перемежения |
US7391717B2 (en) | 2003-06-30 | 2008-06-24 | Microsoft Corporation | Streaming of variable bit rate multimedia content |
US20050004997A1 (en) | 2003-07-01 | 2005-01-06 | Nokia Corporation | Progressive downloading of timed multimedia content |
US8149939B2 (en) | 2003-07-07 | 2012-04-03 | Samsung Electronics Co., Ltd. | System of robust DTV signal transmissions that legacy DTV receivers will disregard |
US7254754B2 (en) | 2003-07-14 | 2007-08-07 | International Business Machines Corporation | Raid 3+3 |
KR100532450B1 (ko) | 2003-07-16 | 2005-11-30 | 삼성전자주식회사 | 에러에 대해 강인한 특성을 가지는 데이터 기록 방법,이에 적합한 데이터 재생 방법, 그리고 이에 적합한 장치들 |
US20050028067A1 (en) | 2003-07-31 | 2005-02-03 | Weirauch Charles R. | Data with multiple sets of error correction codes |
US8694869B2 (en) | 2003-08-21 | 2014-04-08 | QUALCIMM Incorporated | Methods for forward error correction coding above a radio link control layer and related apparatus |
IL157885A0 (en) | 2003-09-11 | 2004-03-28 | Bamboo Mediacasting Ltd | Iterative forward error correction |
IL157886A0 (en) | 2003-09-11 | 2009-02-11 | Bamboo Mediacasting Ltd | Secure multicast transmission |
JP4183586B2 (ja) | 2003-09-12 | 2008-11-19 | 三洋電機株式会社 | 映像表示装置 |
US7555006B2 (en) | 2003-09-15 | 2009-06-30 | The Directv Group, Inc. | Method and system for adaptive transcoding and transrating in a video network |
KR100608715B1 (ko) | 2003-09-27 | 2006-08-04 | 엘지전자 주식회사 | QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법 |
DE60307852D1 (de) | 2003-09-30 | 2006-10-05 | Ericsson Telefon Ab L M | In-place Entschachtelung von Daten |
US7559004B1 (en) | 2003-10-01 | 2009-07-07 | Sandisk Corporation | Dynamic redundant area configuration in a non-volatile memory system |
CN1954501B (zh) | 2003-10-06 | 2010-06-16 | 数字方敦股份有限公司 | 通过通信信道接收从源发射的数据的方法 |
US7614071B2 (en) | 2003-10-10 | 2009-11-03 | Microsoft Corporation | Architecture for distributed sending of media data |
US7516232B2 (en) | 2003-10-10 | 2009-04-07 | Microsoft Corporation | Media organization for distributed sending of media data |
ATE479142T1 (de) | 2003-10-14 | 2010-09-15 | Panasonic Corp | Datenumsetzer |
US7650036B2 (en) | 2003-10-16 | 2010-01-19 | Sharp Laboratories Of America, Inc. | System and method for three-dimensional video coding |
US7168030B2 (en) | 2003-10-17 | 2007-01-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Turbo code decoder with parity information update |
EP1528808A3 (en) | 2003-10-27 | 2008-03-26 | Matsushita Electric Industrial Co., Ltd. | Apparatus for receiving a broadcast signal |
JP2005136546A (ja) | 2003-10-29 | 2005-05-26 | Sony Corp | 送信装置および方法、記録媒体、並びにプログラム |
DE602004011445T2 (de) | 2003-11-03 | 2009-01-15 | Broadcom Corp., Irvine | FEC-Dekodierung mit dynamischen Parametern |
US20050102371A1 (en) | 2003-11-07 | 2005-05-12 | Emre Aksu | Streaming from a server to a client |
CN101582698B (zh) | 2003-12-01 | 2014-02-12 | 数字方敦股份有限公司 | 使用基于子码元的代码来保护数据不被删除 |
US7428669B2 (en) | 2003-12-07 | 2008-09-23 | Adaptive Spectrum And Signal Alignment, Inc. | Adaptive FEC codeword management |
US7574706B2 (en) | 2003-12-15 | 2009-08-11 | Microsoft Corporation | System and method for managing and communicating software updates |
US7590118B2 (en) | 2003-12-23 | 2009-09-15 | Agere Systems Inc. | Frame aggregation format |
JP4536383B2 (ja) | 2004-01-16 | 2010-09-01 | 株式会社エヌ・ティ・ティ・ドコモ | データ受信装置およびデータ受信方法 |
KR100770902B1 (ko) | 2004-01-20 | 2007-10-26 | 삼성전자주식회사 | 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법 |
KR100834750B1 (ko) | 2004-01-29 | 2008-06-05 | 삼성전자주식회사 | 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법 |
JP4321284B2 (ja) | 2004-02-03 | 2009-08-26 | 株式会社デンソー | ストリーミングデータ送信装置、および情報配信システム |
US7599294B2 (en) | 2004-02-13 | 2009-10-06 | Nokia Corporation | Identification and re-transmission of missing parts |
KR100596705B1 (ko) | 2004-03-04 | 2006-07-04 | 삼성전자주식회사 | 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템 |
KR100586883B1 (ko) | 2004-03-04 | 2006-06-08 | 삼성전자주식회사 | 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법 |
US7609653B2 (en) | 2004-03-08 | 2009-10-27 | Microsoft Corporation | Resolving partial media topologies |
WO2005094020A1 (en) | 2004-03-19 | 2005-10-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Higher layer packet framing using rlp |
US7240236B2 (en) | 2004-03-23 | 2007-07-03 | Archivas, Inc. | Fixed content distributed data storage using permutation ring encoding |
JP4433287B2 (ja) | 2004-03-25 | 2010-03-17 | ソニー株式会社 | 受信装置および方法、並びにプログラム |
US8842175B2 (en) | 2004-03-26 | 2014-09-23 | Broadcom Corporation | Anticipatory video signal reception and processing |
US20050216472A1 (en) | 2004-03-29 | 2005-09-29 | David Leon | Efficient multicast/broadcast distribution of formatted data |
JP2007531199A (ja) | 2004-03-30 | 2007-11-01 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ディスクベースのマルチメディアコンテンツのための改良されたトリックモード実行をサポートするシステムおよび方法 |
TW200534875A (en) | 2004-04-23 | 2005-11-01 | Lonza Ag | Personal care compositions and concentrates for making the same |
FR2869744A1 (fr) | 2004-04-29 | 2005-11-04 | Thomson Licensing Sa | Methode de transmission de paquets de donnees numeriques et appareil implementant la methode |
US8868772B2 (en) | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
CN103124182B (zh) | 2004-05-07 | 2017-05-10 | 数字方敦股份有限公司 | 文件下载和流系统 |
US7633970B2 (en) | 2004-05-07 | 2009-12-15 | Agere Systems Inc. | MAC header compression for use with frame aggregation |
US20050254526A1 (en) | 2004-05-12 | 2005-11-17 | Nokia Corporation | Parameter sets update in streaming applications |
US20050254575A1 (en) | 2004-05-12 | 2005-11-17 | Nokia Corporation | Multiple interoperability points for scalable media coding and transmission |
US20060037057A1 (en) | 2004-05-24 | 2006-02-16 | Sharp Laboratories Of America, Inc. | Method and system of enabling trick play modes using HTTP GET |
US8331445B2 (en) | 2004-06-01 | 2012-12-11 | Qualcomm Incorporated | Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques |
US20070110074A1 (en) | 2004-06-04 | 2007-05-17 | Bob Bradley | System and Method for Synchronizing Media Presentation at Multiple Recipients |
US7492828B2 (en) | 2004-06-18 | 2009-02-17 | Qualcomm Incorporated | Time synchronization using spectral estimation in a communication system |
US7139660B2 (en) | 2004-07-14 | 2006-11-21 | General Motors Corporation | System and method for changing motor vehicle personalization settings |
US8112531B2 (en) | 2004-07-14 | 2012-02-07 | Nokia Corporation | Grouping of session objects |
US8544043B2 (en) | 2004-07-21 | 2013-09-24 | Qualcomm Incorporated | Methods and apparatus for providing content information to content servers |
JP2006033763A (ja) | 2004-07-21 | 2006-02-02 | Toshiba Corp | 電子機器及び通信制御方法 |
US7409626B1 (en) | 2004-07-28 | 2008-08-05 | Ikanos Communications Inc | Method and apparatus for determining codeword interleaver parameters |
US7376150B2 (en) | 2004-07-30 | 2008-05-20 | Nokia Corporation | Point-to-point repair response mechanism for point-to-multipoint transmission systems |
US7590922B2 (en) | 2004-07-30 | 2009-09-15 | Nokia Corporation | Point-to-point repair request mechanism for point-to-multipoint transmission systems |
US7930184B2 (en) | 2004-08-04 | 2011-04-19 | Dts, Inc. | Multi-channel audio coding/decoding of random access points and transients |
US7721184B2 (en) | 2004-08-11 | 2010-05-18 | Digital Fountain, Inc. | Method and apparatus for fast encoding of data symbols according to half-weight codes |
JP4405875B2 (ja) | 2004-08-25 | 2010-01-27 | 富士通株式会社 | エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体 |
JP2006074335A (ja) | 2004-09-01 | 2006-03-16 | Nippon Telegr & Teleph Corp <Ntt> | 伝送方法、伝送システム及び伝送装置 |
JP4576936B2 (ja) | 2004-09-02 | 2010-11-10 | ソニー株式会社 | 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム |
JP2006115104A (ja) | 2004-10-13 | 2006-04-27 | Daiichikosho Co Ltd | 高能率符号化された時系列情報をパケット化してリアルタイム・ストリーミング送信し受信再生する方法および装置 |
US7529984B2 (en) | 2004-11-16 | 2009-05-05 | Infineon Technologies Ag | Seamless change of depth of a general convolutional interleaver during transmission without loss of data |
US7751324B2 (en) | 2004-11-19 | 2010-07-06 | Nokia Corporation | Packet stream arrangement in multimedia transmission |
BRPI0518304A2 (pt) | 2004-11-22 | 2008-11-11 | Thomson Res Funding Corp | mÉtodo e aparelho para mudar canal em sistema dsl |
BRPI0516632A (pt) | 2004-12-02 | 2008-09-16 | Thomson Licensing | correção de erros antecipada e adaptativa |
KR20060065482A (ko) | 2004-12-10 | 2006-06-14 | 마이크로소프트 코포레이션 | 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스 |
JP2006174032A (ja) | 2004-12-15 | 2006-06-29 | Sanyo Electric Co Ltd | 画像データ伝送システム、画像データ受信装置及び画像データ送信装置 |
JP2006174045A (ja) | 2004-12-15 | 2006-06-29 | Ntt Communications Kk | 画像配信装置、プログラム及び方法 |
US7398454B2 (en) | 2004-12-21 | 2008-07-08 | Tyco Telecommunications (Us) Inc. | System and method for forward error correction decoding using soft information |
JP4391409B2 (ja) | 2004-12-24 | 2009-12-24 | 株式会社第一興商 | 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置 |
JP2008530835A (ja) | 2005-02-08 | 2008-08-07 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | パケット交換ネットワーク上のオンデマンドマルチチャネルストリーミングセッション |
US7925097B2 (en) | 2005-02-18 | 2011-04-12 | Sanyo Electric Co., Ltd. | Image display method, image coding apparatus, and image decoding apparatus |
US7822139B2 (en) | 2005-03-02 | 2010-10-26 | Rohde & Schwarz Gmbh & Co. Kg | Apparatus, systems, methods and computer products for providing a virtual enhanced training sequence |
EP1856911A4 (en) | 2005-03-07 | 2010-02-24 | Ericsson Telefon Ab L M | SWITCHING MULTIMEDIA CHANNELS |
US8028322B2 (en) | 2005-03-14 | 2011-09-27 | Time Warner Cable Inc. | Method and apparatus for network content download and recording |
US7418649B2 (en) | 2005-03-15 | 2008-08-26 | Microsoft Corporation | Efficient implementation of reed-solomon erasure resilient codes in high-rate applications |
US7219289B2 (en) | 2005-03-15 | 2007-05-15 | Tandberg Data Corporation | Multiply redundant raid system and XOR-efficient method and apparatus for implementing the same |
US7450064B2 (en) | 2005-03-22 | 2008-11-11 | Qualcomm, Incorporated | Methods and systems for deriving seed position of a subscriber station in support of unassisted GPS-type position determination in a wireless communication system |
JP4487028B2 (ja) | 2005-03-31 | 2010-06-23 | ブラザー工業株式会社 | 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム |
US7715842B2 (en) | 2005-04-09 | 2010-05-11 | Lg Electronics Inc. | Supporting handover of mobile terminal |
JP2008536420A (ja) | 2005-04-13 | 2008-09-04 | ノキア コーポレイション | スケーラビリティ情報の符号化、格納およびシグナリング |
JP4515319B2 (ja) | 2005-04-27 | 2010-07-28 | 株式会社日立製作所 | コンピュータシステム |
US8683066B2 (en) | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
US7961700B2 (en) | 2005-04-28 | 2011-06-14 | Qualcomm Incorporated | Multi-carrier operation in data transmission systems |
JP2006319743A (ja) | 2005-05-13 | 2006-11-24 | Toshiba Corp | 受信装置 |
US8228994B2 (en) | 2005-05-20 | 2012-07-24 | Microsoft Corporation | Multi-view video coding based on temporal and view decomposition |
MX2007014744A (es) | 2005-05-24 | 2008-02-14 | Nokia Corp | Metodo y aparatos para transmision/recepcion jerarquica en transmision digital. |
US7676735B2 (en) | 2005-06-10 | 2010-03-09 | Digital Fountain Inc. | Forward error-correcting (FEC) coding and streaming |
US7644335B2 (en) | 2005-06-10 | 2010-01-05 | Qualcomm Incorporated | In-place transformations with applications to encoding and decoding various classes of codes |
JP2007013436A (ja) | 2005-06-29 | 2007-01-18 | Toshiba Corp | 符号化ストリーム再生装置 |
US20070006274A1 (en) | 2005-06-30 | 2007-01-04 | Toni Paila | Transmission and reception of session packets |
JP2007013675A (ja) | 2005-06-30 | 2007-01-18 | Sanyo Electric Co Ltd | ストリーミング配信システム及びサーバ |
US7725593B2 (en) | 2005-07-15 | 2010-05-25 | Sony Corporation | Scalable video coding (SVC) file format |
US20070022215A1 (en) | 2005-07-19 | 2007-01-25 | Singer David W | Method and apparatus for media data transmission |
JP2007036666A (ja) | 2005-07-27 | 2007-02-08 | Onkyo Corp | コンテンツ配信システム、クライアント及びクライアントプログラム |
JP3996631B2 (ja) | 2005-09-09 | 2007-10-24 | 松下電器産業株式会社 | 画像処理方法、画像記録方法、画像処理装置および画像ファイルフォーマット |
US7924913B2 (en) | 2005-09-15 | 2011-04-12 | Microsoft Corporation | Non-realtime data transcoding of multimedia content |
US20070067480A1 (en) | 2005-09-19 | 2007-03-22 | Sharp Laboratories Of America, Inc. | Adaptive media playout by server media processing for robust streaming |
US8879857B2 (en) | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Redundant data encoding methods and device |
US20070078876A1 (en) | 2005-09-30 | 2007-04-05 | Yahoo! Inc. | Generating a stream of media data containing portions of media files using location tags |
CA2562212C (en) | 2005-10-05 | 2012-07-10 | Lg Electronics Inc. | Method of processing traffic information and digital broadcast system |
US7164370B1 (en) | 2005-10-06 | 2007-01-16 | Analog Devices, Inc. | System and method for decoding data compressed in accordance with dictionary-based compression schemes |
CN101317460A (zh) | 2005-10-11 | 2008-12-03 | 诺基亚公司 | 用于有效的可伸缩流适配的系统和方法 |
CN100442858C (zh) | 2005-10-11 | 2008-12-10 | 华为技术有限公司 | 分组网络中多媒体实时传输的唇同步方法及其装置 |
US7720096B2 (en) | 2005-10-13 | 2010-05-18 | Microsoft Corporation | RTP payload format for VC-1 |
MY159176A (en) | 2005-10-19 | 2016-12-30 | Thomson Licensing | Multi-view video coding using scalable video coding |
JP4727401B2 (ja) | 2005-12-02 | 2011-07-20 | 日本電信電話株式会社 | 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法 |
FR2894421B1 (fr) | 2005-12-07 | 2008-01-18 | Canon Kk | Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique |
KR100759823B1 (ko) | 2005-12-08 | 2007-09-18 | 한국전자통신연구원 | 제로 복귀 신호 발생 장치 및 그 방법 |
JP4456064B2 (ja) | 2005-12-21 | 2010-04-28 | 日本電信電話株式会社 | パケット送信装置、受信装置、システム、およびプログラム |
US20070157267A1 (en) | 2005-12-30 | 2007-07-05 | Intel Corporation | Techniques to improve time seek operations |
EP1969857B1 (en) | 2006-01-05 | 2012-03-28 | Telefonaktiebolaget LM Ericsson (publ) | Media container file management |
US8214516B2 (en) | 2006-01-06 | 2012-07-03 | Google Inc. | Dynamic media serving infrastructure |
KR101029854B1 (ko) | 2006-01-11 | 2011-04-15 | 노키아 코포레이션 | 스케일러블 비디오 코딩에서 픽쳐들의 역방향-호환 집합 |
KR100943914B1 (ko) | 2006-01-12 | 2010-03-03 | 엘지전자 주식회사 | 다시점 비디오의 처리 방법 및 장치 |
WO2007086654A1 (en) | 2006-01-25 | 2007-08-02 | Lg Electronics Inc. | Digital broadcasting system and method of processing data |
RU2290768C1 (ru) | 2006-01-30 | 2006-12-27 | Общество с ограниченной ответственностью "Трафиклэнд" | Система медиавещания в инфраструктуре оператора мобильной связи |
US8990153B2 (en) | 2006-02-07 | 2015-03-24 | Dot Hill Systems Corporation | Pull data replication model |
EP1985022B1 (en) | 2006-02-08 | 2011-06-08 | Thomson Licensing | Decoding of raptor codes |
CN101686107B (zh) | 2006-02-13 | 2014-08-13 | 数字方敦股份有限公司 | 使用可变fec开销和保护周期的流送和缓冲 |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US20070200949A1 (en) | 2006-02-21 | 2007-08-30 | Qualcomm Incorporated | Rapid tuning in multimedia applications |
JP2007228205A (ja) | 2006-02-23 | 2007-09-06 | Funai Electric Co Ltd | ネットワークサーバ |
US8320450B2 (en) | 2006-03-29 | 2012-11-27 | Vidyo, Inc. | System and method for transcoding between scalable and non-scalable video codecs |
US20080010153A1 (en) | 2006-04-24 | 2008-01-10 | Pugh-O'connor Archie | Computer network provided digital content under an advertising and revenue sharing basis, such as music provided via the internet with time-shifted advertisements presented by a client resident application |
US20090100496A1 (en) | 2006-04-24 | 2009-04-16 | Andreas Bechtolsheim | Media server system |
US7640353B2 (en) | 2006-04-27 | 2009-12-29 | Microsoft Corporation | Guided random seek support for media streaming |
WO2007134196A2 (en) | 2006-05-10 | 2007-11-22 | Digital Fountain, Inc. | Code generator and decoder using hybrid codes |
US7525993B2 (en) | 2006-05-24 | 2009-04-28 | Newport Media, Inc. | Robust transmission system and method for mobile television applications |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US20100211690A1 (en) | 2009-02-13 | 2010-08-19 | Digital Fountain, Inc. | Block partitioning for a data stream |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
JP2008011404A (ja) | 2006-06-30 | 2008-01-17 | Toshiba Corp | コンテンツ処理装置及びコンテンツ処理方法 |
JP4392004B2 (ja) | 2006-07-03 | 2009-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | パケット回復のための符号化および復号化技術 |
EP2302869A3 (en) | 2006-07-20 | 2013-05-22 | SanDisk Technologies Inc. | An improved audio visual player apparatus and system and method of content distribution using the same |
US7711797B1 (en) | 2006-07-31 | 2010-05-04 | Juniper Networks, Inc. | Optimizing batch size for prefetching data over wide area networks |
US8209736B2 (en) | 2006-08-23 | 2012-06-26 | Mediatek Inc. | Systems and methods for managing television (TV) signals |
US20080066136A1 (en) | 2006-08-24 | 2008-03-13 | International Business Machines Corporation | System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues |
RU2435235C2 (ru) | 2006-08-24 | 2011-11-27 | Нокиа Корпорейшн | Система и способ указания взаимосвязей треков в мультимедийном файле |
JP2008109637A (ja) | 2006-09-25 | 2008-05-08 | Toshiba Corp | 動画像符号化装置及びその方法 |
US8428013B2 (en) | 2006-10-30 | 2013-04-23 | Lg Electronics Inc. | Method of performing random access in a wireless communcation system |
JP2008118221A (ja) | 2006-10-31 | 2008-05-22 | Toshiba Corp | 復号装置及び復号方法 |
WO2008054100A1 (en) | 2006-11-01 | 2008-05-08 | Electronics And Telecommunications Research Institute | Method and apparatus for decoding metadata used for playing stereoscopic contents |
IN2014MN01853A (es) | 2006-11-14 | 2015-07-03 | Qualcomm Inc | |
US8027328B2 (en) | 2006-12-26 | 2011-09-27 | Alcatel Lucent | Header compression in a wireless communication network |
ES2935410T3 (es) | 2007-01-05 | 2023-03-06 | Divx Llc | Sistema de distribución de vídeo que incluye reproducción progresiva |
US20080168516A1 (en) | 2007-01-08 | 2008-07-10 | Christopher Lance Flick | Facilitating Random Access In Streaming Content |
RU2009127603A (ru) | 2007-01-09 | 2011-02-20 | Нокиа Корпорейшн (Fi) | Способ поддержки контроля версий файлов при исправлении файлов в mbms |
WO2008084876A1 (en) | 2007-01-11 | 2008-07-17 | Panasonic Corporation | Method for trick playing on streamed and encrypted multimedia |
US20080172430A1 (en) | 2007-01-11 | 2008-07-17 | Andrew Thomas Thorstensen | Fragmentation Compression Management |
US9344362B2 (en) | 2007-01-12 | 2016-05-17 | University-Industry Cooperation Group Of Kyung Hee University | Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPV6 label switching using the format |
KR20080066408A (ko) | 2007-01-12 | 2008-07-16 | 삼성전자주식회사 | 3차원 영상 처리 장치 및 방법 |
US8126062B2 (en) | 2007-01-16 | 2012-02-28 | Cisco Technology, Inc. | Per multi-block partition breakpoint determining for hybrid variable length coding |
US7721003B2 (en) | 2007-02-02 | 2010-05-18 | International Business Machines Corporation | System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client |
US7805456B2 (en) | 2007-02-05 | 2010-09-28 | Microsoft Corporation | Query pattern to enable type flow of element types |
CN100551043C (zh) * | 2007-02-08 | 2009-10-14 | 华为技术有限公司 | 一种快进快退播放视频数据的方法和流媒体服务器 |
US20080192818A1 (en) | 2007-02-09 | 2008-08-14 | Dipietro Donald Vincent | Systems and methods for securing media |
US20080232357A1 (en) | 2007-03-19 | 2008-09-25 | Legend Silicon Corp. | Ls digital fountain code |
JP4838191B2 (ja) | 2007-05-08 | 2011-12-14 | シャープ株式会社 | ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体 |
JP2008283571A (ja) | 2007-05-11 | 2008-11-20 | Ntt Docomo Inc | コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法 |
US8275002B2 (en) | 2007-05-14 | 2012-09-25 | Samsung Electronics Co., Ltd. | Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for effectively accessing broadcasting service |
WO2008144004A1 (en) | 2007-05-16 | 2008-11-27 | Thomson Licensing | Apparatus and method for encoding and decoding signals |
FR2917262A1 (fr) | 2007-06-05 | 2008-12-12 | Thomson Licensing Sas | Dispositif et procede de codage d'un contenu video sous la forme d'un flux scalable. |
US8487982B2 (en) | 2007-06-07 | 2013-07-16 | Reald Inc. | Stereoplexing for film and video applications |
EP2501137A3 (en) | 2007-06-11 | 2012-12-12 | Samsung Electronics Co., Ltd. | Method and apparatus for generating header information of stereoscopic image |
CN101690118B (zh) | 2007-06-20 | 2013-08-28 | 艾利森电话股份有限公司 | 用于改进的媒体会话管理的方法和设备 |
CN101690229A (zh) | 2007-06-26 | 2010-03-31 | 诺基亚公司 | 用于指示时间层切换点的系统和方法 |
US7917702B2 (en) | 2007-07-10 | 2011-03-29 | Qualcomm Incorporated | Data prefetch throttle |
US8156164B2 (en) | 2007-07-11 | 2012-04-10 | International Business Machines Corporation | Concurrent directory update in a cluster file system |
JP2009027598A (ja) | 2007-07-23 | 2009-02-05 | Hitachi Ltd | 映像配信サーバおよび映像配信方法 |
US8327403B1 (en) | 2007-09-07 | 2012-12-04 | United Video Properties, Inc. | Systems and methods for providing remote program ordering on a user device via a web server |
EP2203836A4 (en) | 2007-09-12 | 2014-11-05 | Digital Fountain Inc | GENERATING AND COMMUNICATING SOURCE IDENTIFICATION INFORMATION TO ENABLE RELIABLE COMMUNICATIONS |
US8233532B2 (en) | 2007-09-21 | 2012-07-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal |
US8346959B2 (en) | 2007-09-28 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Client-controlled adaptive streaming |
EP2046044B1 (en) | 2007-10-01 | 2017-01-18 | Cabot Communications Ltd | A method and apparatus for streaming digital media content and a communication system |
EP2181541B1 (en) | 2007-10-09 | 2018-12-05 | Samsung Electronics Co., Ltd. | Apparatus and method for generating mac pdu in a mobile communication system |
US8706907B2 (en) | 2007-10-19 | 2014-04-22 | Voxer Ip Llc | Telecommunication and multimedia management method and apparatus |
WO2009054907A2 (en) | 2007-10-19 | 2009-04-30 | Swarmcast, Inc. | Media playback point seeking using data range requests |
US7895629B1 (en) | 2007-11-07 | 2011-02-22 | At&T Mobility Ii Llc | Video service buffer management in a mobile rate control enabled network |
US20090125636A1 (en) | 2007-11-13 | 2009-05-14 | Qiong Li | Payload allocation methods for scalable multimedia servers |
WO2009065526A1 (en) * | 2007-11-23 | 2009-05-28 | Media Patents S.L. | A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems |
US8543720B2 (en) | 2007-12-05 | 2013-09-24 | Google Inc. | Dynamic bit rate scaling |
TWI355168B (en) | 2007-12-07 | 2011-12-21 | Univ Nat Chiao Tung | Application classification method in network traff |
JP5385598B2 (ja) | 2007-12-17 | 2014-01-08 | キヤノン株式会社 | 画像処理装置及び画像管理サーバ装置及びそれらの制御方法及びプログラム |
US9313245B2 (en) | 2007-12-24 | 2016-04-12 | Qualcomm Incorporated | Adaptive streaming for on demand wireless services |
KR101506217B1 (ko) | 2008-01-31 | 2015-03-26 | 삼성전자주식회사 | 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치 |
EP2086237B1 (en) | 2008-02-04 | 2012-06-27 | Alcatel Lucent | Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions |
US8151174B2 (en) | 2008-02-13 | 2012-04-03 | Sunrise IP, LLC | Block modulus coding (BMC) systems and methods for block coding with non-binary modulus |
US20090219985A1 (en) | 2008-02-28 | 2009-09-03 | Vasanth Swaminathan | Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File |
US7984097B2 (en) | 2008-03-18 | 2011-07-19 | Media Patents, S.L. | Methods for transmitting multimedia files and advertisements |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US20090257508A1 (en) | 2008-04-10 | 2009-10-15 | Gaurav Aggarwal | Method and system for enabling video trick modes |
EP2263341B1 (en) | 2008-04-14 | 2018-09-19 | Amazon Technologies, Inc. | Method and apparatus for performing random access procedures |
WO2009127961A1 (en) | 2008-04-16 | 2009-10-22 | Nokia Corporation | Decoding order recovery in session multiplexing |
US8855199B2 (en) | 2008-04-21 | 2014-10-07 | Nokia Corporation | Method and device for video coding and decoding |
MX2010012117A (es) | 2008-05-07 | 2010-12-01 | Digital Fountain Inc | Manipulacion de canal rapida y proteccion de corriente de alta calidad sobre un canal de difusion. |
US7979570B2 (en) | 2008-05-12 | 2011-07-12 | Swarmcast, Inc. | Live media delivery over a packet-based computer network |
JP5022301B2 (ja) | 2008-05-19 | 2012-09-12 | 株式会社エヌ・ティ・ティ・ドコモ | プロキシサーバおよび通信中継プログラム、並びに通信中継方法 |
CN101287107B (zh) | 2008-05-29 | 2010-10-13 | 腾讯科技(深圳)有限公司 | 媒体文件的点播方法、系统和设备 |
US7860996B2 (en) | 2008-05-30 | 2010-12-28 | Microsoft Corporation | Media streaming with seamless ad insertion |
US8775566B2 (en) | 2008-06-21 | 2014-07-08 | Microsoft Corporation | File format for media distribution and presentation |
US8387150B2 (en) | 2008-06-27 | 2013-02-26 | Microsoft Corporation | Segmented media content rights management |
US8468426B2 (en) | 2008-07-02 | 2013-06-18 | Apple Inc. | Multimedia-aware quality-of-service and error correction provisioning |
US8539092B2 (en) | 2008-07-09 | 2013-09-17 | Apple Inc. | Video streaming using multiple channels |
US20100153578A1 (en) | 2008-07-16 | 2010-06-17 | Nokia Corporation | Method and Apparatus for Peer to Peer Streaming |
US8638796B2 (en) | 2008-08-22 | 2014-01-28 | Cisco Technology, Inc. | Re-ordering segments of a large number of segmented service flows |
KR101019634B1 (ko) | 2008-09-04 | 2011-03-07 | 에스케이 텔레콤주식회사 | 미디어 전송 시스템 및 방법 |
CN102144401B (zh) | 2008-09-05 | 2014-05-14 | 汤姆逊许可证公司 | 用于动态播放列表修改的方法和系统 |
US8325796B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
US8265140B2 (en) | 2008-09-30 | 2012-09-11 | Microsoft Corporation | Fine-grained client-side control of scalable media delivery |
JP5163415B2 (ja) * | 2008-10-07 | 2013-03-13 | 富士通株式会社 | 階層型変調方法、階層型復調方法、階層型変調を行う送信装置、階層型復調を行う受信装置 |
US8370520B2 (en) | 2008-11-24 | 2013-02-05 | Juniper Networks, Inc. | Adaptive network content delivery system |
US8099476B2 (en) | 2008-12-31 | 2012-01-17 | Apple Inc. | Updatable real-time or near real-time streaming |
MX2011006973A (es) | 2008-12-31 | 2011-12-06 | Apple Inc | Transmision de flujos de datos en tiempo real o en tiempo casi real. |
US8743906B2 (en) | 2009-01-23 | 2014-06-03 | Akamai Technologies, Inc. | Scalable seamless digital video stream splicing |
US9036714B2 (en) | 2009-01-26 | 2015-05-19 | Thomson Licensing | Frame packing for video coding |
KR101405019B1 (ko) | 2009-01-29 | 2014-06-11 | 돌비 레버러토리즈 라이쎈싱 코오포레이션 | 다중 이미지들,예를 들면 스테레오스코픽을 서브―샘플링 및 인터리빙하기 위한 방법들 및 디바이스들 |
US8909806B2 (en) | 2009-03-16 | 2014-12-09 | Microsoft Corporation | Delivering cacheable streaming media presentations |
US8621044B2 (en) | 2009-03-16 | 2013-12-31 | Microsoft Corporation | Smooth, stateless client media streaming |
EP2420068A4 (en) | 2009-04-13 | 2012-08-08 | Reald Inc | ENCRYPTION, DECOMPOSITION AND DISTRIBUTION OF STEREOSCOPIC VIDEO CONTENT WITH REINFORCED RESOLUTION |
US9807468B2 (en) | 2009-06-16 | 2017-10-31 | Microsoft Technology Licensing, Llc | Byte range caching |
US8903895B2 (en) | 2009-07-22 | 2014-12-02 | Xinlab, Inc. | Method of streaming media to heterogeneous client devices |
US8355433B2 (en) | 2009-08-18 | 2013-01-15 | Netflix, Inc. | Encoding video streams for adaptive video streaming |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US20120151302A1 (en) | 2010-12-10 | 2012-06-14 | Qualcomm Incorporated | Broadcast multimedia storage and access using page maps when asymmetric memory is used |
KR101598247B1 (ko) | 2009-09-02 | 2016-02-26 | 애플 인크. | 무선 시스템들의 mac 패킷 데이터 유닛 구성 |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US20110096828A1 (en) | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
US9438861B2 (en) | 2009-10-06 | 2016-09-06 | Microsoft Technology Licensing, Llc | Integrating continuous and sparse streaming data |
JP2011087103A (ja) | 2009-10-15 | 2011-04-28 | Sony Corp | コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供 |
PL2497267T3 (pl) | 2009-11-03 | 2015-02-27 | Ericsson Telefon Ab L M | Strumieniowanie z opcjonalną rozgłoszeniową transmisją segmentów danych |
RU2622621C2 (ru) | 2009-11-04 | 2017-06-16 | Амотек Ко., Лтд. | Система и способ для потоковой передачи воспроизводимого контента |
KR101786051B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
KR101786050B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 전송 방법 및 장치 |
CN101729857A (zh) | 2009-11-24 | 2010-06-09 | 中兴通讯股份有限公司 | 一种接入视频服务的方法及视频播放系统 |
US8510375B2 (en) | 2009-12-11 | 2013-08-13 | Nokia Corporation | Apparatus and methods for time mapping media segments in streaming media files |
JP5996439B2 (ja) | 2010-02-19 | 2016-09-21 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | Httpストリーミングにおける表現切り替えのための方法及び装置 |
JP5824465B2 (ja) | 2010-02-19 | 2015-11-25 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Httpストリーミングにおける適応のための方法と装置 |
WO2011112052A2 (ko) | 2010-03-11 | 2011-09-15 | 한국전자통신연구원 | Mimo 시스템에서 데이터를 송수신하는 방법 및 장치 |
US9497290B2 (en) | 2010-06-14 | 2016-11-15 | Blackberry Limited | Media presentation description delta file for HTTP streaming |
EP2585947A1 (en) * | 2010-06-23 | 2013-05-01 | Telefónica, S.A. | A method for indexing multimedia information |
US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
KR20120010089A (ko) | 2010-07-20 | 2012-02-02 | 삼성전자주식회사 | Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치 |
US9131033B2 (en) | 2010-07-20 | 2015-09-08 | Qualcomm Incoporated | Providing sequence data sets for streaming video data |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US8711933B2 (en) | 2010-08-09 | 2014-04-29 | Sony Computer Entertainment Inc. | Random access point (RAP) formation using intra refreshing technique in video coding |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
KR101737325B1 (ko) | 2010-08-19 | 2017-05-22 | 삼성전자주식회사 | 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치 |
US8615023B2 (en) | 2010-10-27 | 2013-12-24 | Electronics And Telecommunications Research Institute | Apparatus and method for transmitting/receiving data in communication system |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
-
2011
- 2011-08-08 US US13/205,574 patent/US8806050B2/en active Active
- 2011-08-08 US US13/205,565 patent/US9319448B2/en active Active
- 2011-08-08 US US13/205,559 patent/US9456015B2/en active Active
- 2011-08-09 WO PCT/US2011/047121 patent/WO2012021538A1/en active Application Filing
- 2011-08-09 AU AU2011289511A patent/AU2011289511B2/en active Active
- 2011-08-09 CA CA2807157A patent/CA2807157C/en active Active
- 2011-08-09 ES ES11746402T patent/ES2726772T3/es active Active
- 2011-08-09 KR KR1020137006119A patent/KR101542310B1/ko active IP Right Grant
- 2011-08-09 TW TW100128448A patent/TWI479882B/zh active
- 2011-08-09 EP EP11746404.0A patent/EP2604015B1/en active Active
- 2011-08-09 ES ES11746404T patent/ES2730894T3/es active Active
- 2011-08-09 TW TW100128446A patent/TWI501630B/zh active
- 2011-08-09 EP EP11746402.4A patent/EP2604014B1/en active Active
- 2011-08-09 ES ES11748529T patent/ES2730896T3/es active Active
- 2011-08-09 SI SI201131692T patent/SI2604014T1/sl unknown
- 2011-08-09 JP JP2013524180A patent/JP2013538506A/ja not_active Withdrawn
- 2011-08-09 CN CN201180039099.0A patent/CN103081433B/zh active Active
- 2011-08-09 PT PT11746402T patent/PT2604014T/pt unknown
- 2011-08-09 AU AU2011289514A patent/AU2011289514B2/en active Active
- 2011-08-09 MY MYPI2013000396A patent/MY155946A/en unknown
- 2011-08-09 PL PL11746402T patent/PL2604014T3/pl unknown
- 2011-08-09 CN CN201180039093.3A patent/CN103069769B/zh active Active
- 2011-08-09 HU HUE11746404 patent/HUE044172T2/hu unknown
- 2011-08-09 EP EP11748529.2A patent/EP2604016B1/en active Active
- 2011-08-09 HU HUE11748529A patent/HUE044114T2/hu unknown
- 2011-08-09 BR BR112013002686-3A patent/BR112013002686B1/pt active IP Right Grant
- 2011-08-09 SI SI201131696T patent/SI2604016T1/sl unknown
- 2011-08-09 RU RU2013110060/08A patent/RU2558615C2/ru active
- 2011-08-09 RU RU2013110285/08A patent/RU2571375C2/ru active
- 2011-08-09 MY MYPI2013000395A patent/MY156640A/en unknown
- 2011-08-09 JP JP2013524181A patent/JP5612211B2/ja active Active
- 2011-08-09 SG SG2013006952A patent/SG187636A1/en unknown
- 2011-08-09 AR ARP110102898A patent/AR082612A1/es active IP Right Grant
- 2011-08-09 AR ARP110102902A patent/AR082616A1/es active IP Right Grant
- 2011-08-09 CN CN201180039437.0A patent/CN103141069B/zh active Active
- 2011-08-09 HU HUE11746402A patent/HUE044113T2/hu unknown
- 2011-08-09 DK DK11746402.4T patent/DK2604014T3/da active
- 2011-08-09 TW TW100128447A patent/TWI458313B/zh active
- 2011-08-09 JP JP2013524184A patent/JP5559432B2/ja active Active
- 2011-08-09 WO PCT/US2011/047125 patent/WO2012021540A1/en active Application Filing
- 2011-08-09 SG SG10201505779QA patent/SG10201505779QA/en unknown
- 2011-08-09 AR ARP110102900A patent/AR082614A1/es active IP Right Grant
- 2011-08-09 KR KR1020137006120A patent/KR101442999B1/ko active IP Right Grant
- 2011-08-09 WO PCT/US2011/047128 patent/WO2012021543A1/en active Application Filing
- 2011-08-09 BR BR112013002692-8A patent/BR112013002692B1/pt active IP Right Grant
- 2011-08-09 DK DK11748529.2T patent/DK2604016T3/da active
- 2011-08-09 KR KR1020157020151A patent/KR101709030B1/ko active IP Right Grant
- 2011-08-09 SG SG2013007026A patent/SG187638A1/en unknown
- 2011-08-09 CA CA2807156A patent/CA2807156C/en active Active
- 2011-08-09 KR KR1020137006118A patent/KR20130042611A/ko active Application Filing
- 2011-09-08 UA UAA201302836A patent/UA107125C2/ru unknown
- 2011-09-08 UA UAA201302837A patent/UA107394C2/ru unknown
-
2013
- 2013-01-28 IL IL224449A patent/IL224449A/en active IP Right Grant
- 2013-01-29 IL IL224476A patent/IL224476A/en active IP Right Grant
- 2013-07-26 HK HK13108751.7A patent/HK1181576A1/zh unknown
- 2013-07-26 HK HK13108752.6A patent/HK1181577A1/xx unknown
-
2014
- 2014-06-05 JP JP2014116878A patent/JP2014209752A/ja active Pending
-
2015
- 2015-01-23 JP JP2015011413A patent/JP5932070B2/ja active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2730894T3 (es) | Actualizaciones de archivo de manifiesto para la emisión en continuo de red de datos de vídeo codificados | |
ES2854936T3 (es) | Recuperación y acceso a trozos de segmento para transmisión de medios | |
ES2788901T3 (es) | Procesamiento de contenido multiperiodo continuo | |
BR112020015214A2 (pt) | inserção dinâmica de anúncio condicional |