ES2748426T3 - Procedimiento de presentación de flujos de velocidad adaptativa - Google Patents
Procedimiento de presentación de flujos de velocidad adaptativa Download PDFInfo
- Publication number
- ES2748426T3 ES2748426T3 ES12154559T ES12154559T ES2748426T3 ES 2748426 T3 ES2748426 T3 ES 2748426T3 ES 12154559 T ES12154559 T ES 12154559T ES 12154559 T ES12154559 T ES 12154559T ES 2748426 T3 ES2748426 T3 ES 2748426T3
- Authority
- ES
- Spain
- Prior art keywords
- files
- video
- playback
- time
- quality
- 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 title claims abstract description 58
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 230000008859 change Effects 0.000 claims abstract description 13
- 230000001174 ascending effect Effects 0.000 claims abstract 3
- 230000004044 response Effects 0.000 claims description 33
- 230000001934 delay Effects 0.000 claims description 4
- 230000003466 anti-cipated effect Effects 0.000 claims description 3
- 230000002459 sustained effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 108010076282 Factor IX Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44204—Monitoring of content usage, e.g. the number of times a movie has been viewed, copied or the amount which has been watched
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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
- H04N21/643—Communication protocols
-
- 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
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64746—Control signals issued by the network directed to the server or the client
- H04N21/64761—Control signals issued by the network directed to the server or the client directed to the server
- H04N21/64769—Control signals issued by the network directed to the server or the client directed to the server for rate control
-
- 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
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
- H04N21/64784—Data processing by the network
- H04N21/64792—Controlling the complexity of the content stream, e.g. by dropping packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
-
- 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/84—Generation or processing of descriptive data, e.g. content descriptors
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Un procedimiento de presentación de flujos de velocidad adaptativa, comprendiendo el procedimiento: transmitir mediante un reproductor multimedia (114) que opera en una estación de usuario final (104) un video desde un conjunto de uno o más servidores (116), en el que cada una de una pluralidad de diferentes copias del video está codificada a una respectiva velocidad de bits diferente y cada copia está codificada como múltiples archivos en el conjunto de servidores, en el que cada uno de los múltiples archivos encapsula, de manera independiente, una parte diferente del video para reproducción, en el que los múltiples archivos a lo largo de las diferentes copias producen las mismas partes del video en reproducción, cada uno de dichos archivos tiene un índice de tiempo que indica la posición del contenido en ese archivo con relación al comienzo del video, de modo que los archivos cuya reproducción es la misma parte del video para cada una de las diferentes copias tienen el mismo índice de tiempo con relación al comienzo del video, y en el que la transmisión comprende: solicitar mediante el reproductor multimedia (114) una pluralidad de archivos secuenciales de los archivos de una de las copias desde el conjunto de servidores en una o más conexiones del protocolo de control de transmisión (TCP) basado en los índices de tiempo, en el que cada archivo es solicitado de manera individual mediante una o más solicitudes HTTP respectivas en la una o más conexiones TCP; solicitar automáticamente mediante el reproductor multimedia (114) desde el conjunto de servidores (116) en la una o más conexiones TCP las partes subsiguientes del video, solicitando para cada dicha parte uno de los archivos de una de las copias dependiente de las determinaciones sucesivas del reproductor multimedia para cambiar la calidad de reproducción a una calidad superior o inferior de las diferentes copias, en el que cada archivo es solicitado de manera individual por una o más solicitudes HTTP respectivas en la una o más conexiones TCP, incluyendo dicha solicitud automática, generar de manera regular (706) un conjunto de uno o más factores indicativos de la capacidad actual para sostener la transmisión del video mediante el uso de los archivos de las diferentes copias, en el que el conjunto de uno o más factores se refiere al rendimiento de la red; y hacer las sucesivas determinaciones (710, 712) para cambiar la calidad de reproducción basado en, al menos, uno del conjunto de factores para obtener la reproducción continua del video mediante el uso de los archivos de una de las copias de calidad superior determinada como sostenible en ese momento; y presentar el video mediante la reproducción con el reproductor multimedia en la estación de usuario final de los archivos solicitados en el orden del tiempo de reproducción ascendente.
Description
DESCRIPCIÓN
Procedimiento de presentación de flujos de velocidad adaptativa
La presente invención se refiere a un procedimiento de presentación de flujos de velocidad adaptativa.
La internet se está convirtiendo rápidamente en el procedimiento preferido para distribuir archivos multimedia a los usuarios finales. Actualmente, es posible descargar música o video a las computadoras, a los teléfonos celulares o, prácticamente, a cualquier dispositivo con capacidad habilitada en red. Muchos reproductores portátiles de elementos multimedia están equipados con conexiones de red y habilitados para reproducir música o videos. Los archivos de música o videos (en adelante «archivos multimedia») se pueden almacenar de manera local en el reproductor de elementos multimedia o en la computadora, o se pueden transmitir o descargar desde un servidor.
«Elementos multimedia en flujo continuo (streaming)» se refiere a la tecnología que suministra contenido a una velocidad suficiente como para presentar los elementos multimedia a un usuario en tiempo real a medida que se reciben los datos. Los datos se pueden almacenar en la memoria de manera temporal hasta que se reproducen y posteriormente se pueden eliminar. El usuario tiene la inmediata satisfacción de ver el contenido solicitado sin esperar que el archivo multimedia se descargue por completo. Desafortunadamente, la calidad del audio/video que se puede recibir para la presentación en tiempo real está restringida por el ancho de banda disponible de la conexión de red del usuario. Streaming se puede utilizar para suministrar contenido a petición (grabado previamente) o desde difusiones en vivo.
De manera alternativa, los archivos multimedia se pueden descargar y almacenar en dispositivos de almacenamiento persistentes, como por ej., un disco duro o un almacenamiento óptico, para una posterior presentación. La descarga completa de los archivos multimedia puede tomar grandes cantidades de tiempo según la conexión de red. Una vez descargados, sin embargo, el contenido se puede ver de forma repetida en cualquier momento o en cualquier lugar. Los archivos multimedia preparados para descarga usualmente están codificados con un audio/video de calidad superior a los que se pueden suministrar en tiempo real. En general, a los usuarios no les gusta esta opción, ya que tienden a querer ver u oír el archivo multimedia de manera instantánea.
Streaming ofrece la ventaja del acceso inmediato al contenido pero actualmente sacrifica calidad en comparación con la descarga de un archivo del mismo contenido. Streaming proporciona, además, la oportunidad para el usuario de seleccionar diferente contenido para ver sobre una base adhoc, mientras que la descarga está, por definición, restringida para recibir una selección de contenido específico en su totalidad o de ningún modo. La descarga soporta, además, el rebobinado, el avance rápido y las operaciones de búsqueda directa, mientras que el streaming no puede soportar plenamente estas funciones. Streaming es, además, vulnerable a los fallos o a la congestión de la red.
Otra tecnología, conocida como «descargas progresivas», intenta combinar las fortalezas de las dos tecnologías anteriores. Cuando se inicia una descarga progresiva, comienza la descarga del archivo multimedia, y el reproductor de elementos multimedia espera para comenzar la reproducción hasta que haya suficiente archivo descargado, de modo que la reproducción pueda comenzar con la esperanza de que el recordatorio del archivo será descargado completamente antes de que la reproducción «se ponga al día». Este período de espera antes de la reproducción puede ser sustancial según las condiciones de la red y, por lo tanto, no es una solución completa o totalmente aceptable para el problema de la presentación de elementos multimedia en una red.
En general, existen tres desafíos básicos con respecto al transporte de datos que se transmiten a lo largo de la red como por ej., la internet que tiene una cantidad variada de pérdida de datos. El primer desafío es la confiabilidad. La mayoría de las soluciones de transmisión utilizan una conexión TCP, o un «circuito virtual» para transmitir datos. Una conexión TCP proporciona un mecanismo de entrega garantizado de modo que los datos que se envían desde un punto de conexión serán entregados en el destino, incluso si las partes se pierden y se vuelven a transmitir. Un corte en la continuidad de una conexión TCP puede tener serias consecuencias cuando los datos se deben entregar en tiempo real. Cuando un adaptador de red detecta retrasos o pérdidas en una conexión TCP, el adaptador «reduce la potencia» de los intentos de transmisión durante un momento y lentamente reanuda el paso de transmisión original. Este comportamiento es un intento de aliviar la congestión percibida. Dicha reducción de velocidad es perjudicial para la experiencia visual o auditiva del usuario y, por lo tanto, no es aceptable.
El segundo desafío para el transporte de datos es la eficiencia. La eficiencia se refiere a lo bien que utiliza el usuario el ancho de banda disponible para la entrega del flujo de contenido. Esta medida está directamente relacionada con la confiabilidad de la conexión TCP. Cuando la conexión TCP está sufriendo de problemas de confiabilidad da lugar a una pérdida de la utilización del ancho de banda. Algunas veces, la medida de la eficiencia varía repentinamente y puede impactar enormemente en la experiencia visual.
El tercer desafío es la latencia. La latencia es la medida del tiempo desde el punto de vista del cliente, del intervalo entre el momento en que se emite la solicitud y el momento en que comienzan a llegar los datos de respuesta. Este valor se ve afectado por la confiabilidad y la eficiencia de la conexión de red, y el tiempo de procesamiento requerido por el origen para preparar la respuesta. Un servidor ocupado o sobrecargado, por ejemplo, tomará más tiempo para procesar una solicitud. Como así también afecta el tiempo de partida de una solicitud particular, la latencia tiene un impacto significativo sobre el rendimiento de la red de TCP.
El documento EP 1298931 A2 divulga un procedimiento para transmitir contenido multimedia desde una pluralidad de copias del contenido multimedia, cada copia tiene diferentes parámetros de codificación que están almacenados en una pluralidad de servidores. Un cliente que recibe un flujo multimedia puede cambiar a una copia, correspondiente a una calidad diferente almacenada en un servidor diferente, especificando un rango de bytes del contenido multimedia almacenado en el servidor diferente para continuar recibiendo el flujo desde dicho servidor diferente.
El documento US 2002/0144276 A1 divulga un sistema y un procedimiento para entregar contenido transmitido sobre una red. Un usuario puede cambiar el flujo recibido especificando a un servidor un nivel de calidad deseado diferente y una posición de reproducción del archivo que está codificado en el nivel de calidad deseado, para recibir el flujo desde esta posición y hasta el final del archivo o hasta que otro nivel de calidad y posición sea solicitado por el cliente.
A partir de la discusión anterior, es evidente que existe una necesidad de un aparato, un sistema y un procedimiento que alivie los problemas de confiabilidad, eficiencia y latencia. Además, este tipo de aparato, sistema, y procedimiento ofrecería una vista instantánea junto con la capacidad de avance rápido, rebobinado, búsqueda directa y exploración de múltiples flujos. Ventajosamente, este aparato, sistema y procedimiento utilizaría múltiples conexiones entre una fuente y el destino, solicitando flujos de velocidad de bits variada según las condiciones de la red.
La presente invención busca responder a los problemas en la técnica que no han sido resueltos completamente por los sistemas de distribución digital de contenido multimedia actualmente disponibles.
Las realizaciones de la invención se describirán, de aquí en adelante, por medio de un ejemplo, con referencia a los dibujos que acompañan, en los cuales:
La figura 1 es un diagrama de bloque esquemático que ilustra un sistema para el cambio de la velocidad adaptativa del contenido de streaming;
La figura 2a es un diagrama de bloque esquemático que ilustra gráficamente un archivo de contenido;
La figura 2b es un diagrama de bloque esquemático que ilustra una pluralidad de flujos que tienen grados variables de calidad y ancho de banda;
La figura 2c es un diagrama de bloque esquemático que ilustra un flujo dividido en una pluralidad de pequeños flujos (streamlets);
La figura 3 es un diagrama de bloque esquemático que ilustra un módulo de contenido;
La figura 4 es un diagrama de bloque esquemático que ilustra gráficamente un módulo de cliente;
La figura 5 es un diagrama de flujo esquemático que ilustra un procedimiento para el procesamiento del contenido; La figura 6 es un diagrama de flujo esquemático que ilustra un procedimiento para la reproducción de una pluralidad de streamlets; y
La figura 7 es un diagrama de flujo esquemático que ilustra un procedimiento para solicitar streamlets dentro de un entorno de transmisión de contenido de velocidad adaptativa.
Muchas de las unidades funcionales que se describen en esta memoria descriptiva han sido marcadas como módulos, a fin de enfatizar más en particular su independencia de implementación. Por ejemplo, se puede implementar un módulo como un circuito de hardware que comprende circuitos VLSI habituales o arreglos de compuertas, semiconductores disponibles en el comercio como por ej., chips lógicos, transistores, y otros componentes discretos. Un módulo puede ser implementado en dispositivos de hardware programables como por ej., los arreglos de compuertas programables en el campo, la matriz lógica programable, los dispositivos lógicos programables, o similares.
Los módulos se pueden implementar, además, en software para la ejecución mediante varios tipos de procesadores. Un módulo identificado de código ejecutable puede comprender, por ejemplo, uno o más bloques físicos o lógicos de
instrucciones de computadora, los cuales pueden estar organizados, por ejemplo, en forma de un objeto, un procedimiento o una función. No obstante, los ejecutables de un módulo identificado no deben estar localizados físicamente, pero pueden comprender instrucciones dispares almacenadas en diferentes ubicaciones, las cuales, cuando se unen de manera lógica, comprenden el módulo y obtienen el propósito establecido para el módulo.
En verdad, un módulo de código ejecutable puede ser una única instrucción, o muchas instrucciones, y pueden, incluso, estar distribuidas en varios segmentos de códigos diferentes, entre diferentes programas y a lo largo de varios dispositivos de memoria. De manera similar, los datos operativos pueden estar identificados e ilustrados, en la presente memoria, dentro de módulos, y pueden estar representados mediante cualquier forma adecuada, y organizados dentro de un tipo adecuado de estructura de datos. Los datos operativos pueden ser recolectados como un conjunto de datos simples, o pueden estar distribuidos en diferentes ubicaciones en diferentes dispositivos de almacenamiento, y pueden existir, al menos parcialmente, simplemente como señales electrónicas en un sistema o en una red.
La referencia a un medio que soporta una señal puede tomar cualquier forma capaz de generar una señal, lo que origina una señal a ser generada, u origina la ejecución de un programa de instrucciones legibles por máquina en un aparato de procesamiento digital. Un medio que soporta una señal puede estar representado por una línea de transmisión, un disco compacto, un disco de video digital, una cinta magnética, un disco removible Bernoulli, un disco magnético, una tarjeta perforada, una memoria flash, circuitos integrados, u otro dispositivo de memoria de un aparato de procesamiento digital.
Más aún, los rasgos, las estructuras o las características que se describen en la invención se pueden combinar de cualquier manera adecuada en una o más realizaciones. En la siguiente descripción, se proporcionan numerosos detalles específicos, como por ej., ejemplos de programación, módulos de software, selecciones del usuario, transacciones de red, consultas de base de datos, estructuras de bases de datos, módulos de hardware, circuitos de hardware, chips de hardware, etc., para proporcionar un entendimiento completo de las realizaciones de la invención. En otros ejemplos, las estructuras, los materiales o las operaciones bien conocidas no se muestran ni se describen en detalle para evitar los aspectos ocultos de la invención.
La figura 1 es un diagrama de bloque esquemático que ilustra un sistema 200 para el cambio de la velocidad adaptativa dinámica del contenido de streaming; El sistema 100 comprende un servidor de contenido 102 y un usuario final 104. El servidor de contenido 102 y la estación del usuario final 104 pueden estar acoplados mediante una red de comunicaciones de datos. La red de comunicaciones de datos puede incluir la internet 106 y las conexiones 108 a la internet 106. De forma alternativa, el servidor de contenido 102 y el usuario final 104 pueden estar ubicados en una red de área local común, una red de área inalámbrica, una red de área local virtual, o similar. La estación de usuario final 104 puede comprender una computadora personal (PC), un sistema de entretenimiento configurado para comunicar mediante una red, o un dispositivo electrónico portátil configurado para presentar contenido.
El sistema 100 incluye, además, un editor 110 y una servidor web 116. El editor 110 puede ser un creador o distribuidor de contenido. Por ejemplo, si el contenido a ser transmitido fuera una transmisión de un programa de televisión, el editor 110 podría ser un canal de red de televisión o de cable como por ej., NBC# o MTV#. El contenido puede ser transferido en la internet 106 del servidor de contenido 102 donde el contenido es recibido mediante un módulo de contenido 112. El módulo de contenido 112 puede estar configurado para recibir, procesar y almacenar contenido. En una realización, al contenido procesado se accede mediante un módulo de cliente 114 que está configurado para reproducir el contenido en la estación de usuario final 104. En una realización adicional, el módulo de cliente 114 está configurado para recibir diferentes partes de un flujo de contenido desde una pluralidad de ubicaciones de manera simultánea. Por ejemplo, el módulo de cliente 114 puede solicitar y recibir contenido desde una cualquiera de la pluralidad de servidores web 116. La figura 2a es un diagrama de bloque esquemático que ilustra gráficamente un archivo de contenido 200. En una realización, el archivo de contenido 200 es distribuido mediante el editor 110. El archivo de contenido 200 puede comprender una transmisión de televisión, eventos deportivos, películas, música, conciertos, etc. El archivo de contenido 200 puede ser, además, contenido en vivo o contenido de archivo. El archivo de contenido 200 puede comprender video y audio no comprimido, o de manera alternativa, video o audio. Además, el archivo de contenido 200 puede estar comprimido. Ejemplos de un archivo de contenido comprimido 200 incluyen, pero sin estar limitados, contenido codificado DivX®, Windows Media Video 9®, Quicktime 6.5 Sorenson 3® o Quicktime 6.5/ MPEG-4®.
La figura 2b es un diagrama de bloque esquemático que ilustra una pluralidad de flujos 202 que tienen grados variables de calidad y ancho de banda; La pluralidad de flujos 202 comprende un flujo de baja calidad 204, un flujo de calidad media 206 y un flujo de calidad alta 208. Cada uno de los flujos 204, 206, 208 es una copia del archivo de contenido 200 que está codificado y comprimido a variadas velocidades de bits. Por ejemplo, el flujo de baja calidad 204 puede estar codificado y comprimido hasta una velocidad de bits de 100 kilobits por segundo (kbps), el flujo de calidad media 206 puede estar codificado y comprimido hasta un velocidad de bits de 200 kbps, y el flujo de calidad alta 208 puede estar codificado y comprimido hasta 600 kbps.
La figura 2c es un diagrama de bloque esquemático que ilustra un flujo 210 dividido en una pluralidad de streamlets 212. Como se utiliza en la presente memoria, streamlet se refiere a cualquier parte dimensionada del archivo de contenido 200. Cada streamlet 212 puede comprender una parte del contenido que está albergado en el flujo 210, encapsulado como un objeto multimedia independiente. El contenido en un streamlet 212 puede tener un único índice de tiempo con relación al inicio del contenido que está albergado en el flujo 210. En una realización, el contenido que está albergado en cada streamlet 212 tiene una duración de dos segundos. Por ejemplo, un streamlet 0 puede tener un índice de tiempo de 00:00 que representa el inicio de la reproducción del contenido, y el streamlet 1 puede tener un índice de tiempo de 00:02, etc. De forma alternativa, la duración de tiempo de los streamlets 212 puede ser cualquier duración más pequeña que la duración completa de reproducción del contenido en el flujo 210. Los streamlets 212 pueden estar divididos de acuerdo con el tamaño en lugar de un índice de tiempo.
La figura 3 es un diagrama de bloque esquemático que ilustra en mayor detalle el módulo de contenido 112. El módulo de contenido 112 puede comprender un módulo de flujo 302, un módulo de streamlet 304, un módulo codificador 306, una base de datos de streamlets 308 y el servidor web 116. En una realización, el módulo de flujo 302 está configurado para recibir el archivo de contenido 200 desde el editor 110 y generar la pluralidad de flujos 202 de variadas calidades. El archivo de contenido original 200 desde el editor puede ser digital en su forma y puede comprender contenido que tiene una velocidad de bits alta, como por ejemplo 2 mbps. El contenido puede ser transferido desde el editor 110 al módulo de contenido 112 en la internet 106. Dichas transferencias de datos son bien conocidas en la técnica y no requieren mayor discusión en la presente memoria. De forma alternativa, el contenido puede comprender una transmisión capturada.
La pluralidad de flujos 202 puede comprender el flujo de baja calidad 204, el flujo de calidad media 206 y el flujo de calidad alta 208. De forma alternativa, la pluralidad de flujos 202 puede comprender cualquier número de flujos que se considere necesarios para acomodar el ancho de banda del usuario final. El módulo de streamlet 304 puede estar configurado para recibir la pluralidad de flujos 202 desde el módulo de flujo y generar una pluralidad de flujos 312, cada flujo comprende una pluralidad de streamlets 212. Como se describe con referencia a la figura 2c cada streamlet 212 puede comprender una parte predefinida del flujo. El módulo codificador 306 está configurado para codificar cada streamlet de la pluralidad de flujos 312 y almacenar los streamlets en la base de datos de streamlets 308. El módulo de codificación 306 puede utilizar esquemas de codificación como por ej., DivX@, Windows Media Video 9®, Quicktime 6.5 Sorenson 3® o Quicktime 6.5/ MPEG-4 ®. De forma alternativa, se puede emplear un esquema de codificación personalizado.
El módulo de contenido 112 puede incluir, además, un módulo de metadatos 312 y una base de datos de metadatos 314. Los metadatos comprenden información de contenido que se puede buscar estática. Por ejemplo, los metadatos incluyen, pero sin estar limitados, fecha al aire del contenido, título, actrices, actores, extensión y nombre del episodio. Los metadatos son generados por el editor 110 y pueden estar configurados para definir un entorno de usuario final. El editor 100 puede definir un entorno de navegación del usuario final para el contenido que incluye menús, miniaturas, barras laterales, publicidad, etc. Además, el editor 110 puede definir funciones como por ej., avance rápido, rebobinado, pausa y reproducción que se pueden utilizar con el archivo de contenido 200. El módulo de metadatos 312 está configurado para recibir los metadatos desde el editor 110 y almacenar los metadatos en la base de datos de metadatos 314. En una realización adicional, el módulo de metadatos 312 está configurado para hacer interfaz con el módulo de cliente 114, lo que permite al módulo de cliente 114 buscar el contenido basado en, al menos, una de una pluralidad de criterios de metadatos. Además, los metadatos pueden ser generados por el módulo de contenido 112 a través de la definición manual de los procesos automatizados.
Una vez que los streamlets 212 han sido recibidos y procesados, el módulo de cliente 114 puede solicitar streamlets 212 mediante el uso de HTTP desde el servidor web 116. Dicho uso de las solicitudes iniciadas en el lateral del cliente no requiere configuración adicional de firewalls. Además, dado que el módulo de cliente 114 inicia la solicitud, el servidor web 116 solo debe recuperar y atender el streamlet solicitado. En una realización adicional, el módulo de cliente 114 puede estar configurado para recuperar los streamlets 212 desde una pluralidad de servidores web 310. Cada servidor web 116 puede estar ubicado en varias ubicaciones a lo largo de la internet 106. Los streamlets 212 son esencialmente archivos estáticos. Como tal, ningún servidor multimedia especializado o inteligencia del lado del servidor es necesaria para que el módulo de cliente 114 recupere los streamlets 212. Los streamlets 212 pueden ser atendidos por el servidor web 116 o almacenados por los servidores de caché de los proveedores de servicios de internet (ISP) o cualquier otro operador de infraestructura de red, y pueden ser atendidos por el servidor de caché. El uso de servidores de caché es bien conocido por los expertos en la técnica, y no se discutirá en detalle en la presente memoria. De este modo, se proporciona una solución muy expansible que no se encuentra entorpecida por cantidades masivas de solicitudes del módulo de cliente 114 hacia el servidor web 116 en cualquier ubicación específica.
La figura 4 es un diagrama de bloque esquemático que ilustra gráficamente un módulo de cliente 114. El módulo de cliente 114 puede comprender un módulo controlador del agente 402, un módulo de caché de streamlet 404 y un módulo controlador de la red 406. En una realización, el módulo controlador del agente 402 está configurado para hacer interfaz con un visor 408 y transmitir los streamlets 212 hacia el visor 408. En una realización adicional, el módulo de
cliente 114 puede comprender una pluralidad de módulos controladores del agente 402. Cada módulo controlador del agente 402 puede estar configurado para hacer interfaz con un visor 408. De forma alternativa, el módulo controlador del agente 402 puede estar configurado para hacer interfaz con una pluralidad de visores 408. El visor 408 puede ser un reproductor multimedia (que no se muestra) que opera en una PC o en un dispositivo electrónico manual.
El módulo controlador del agente 402 está configurado para seleccionar un nivel de calidad de los streamlets para transmitir hacia el visor 408. El módulo controlador del agente 402 solicita flujos de calidad inferiores y superiores basado en la observación continua de los intervalos de tiempo entre los sucesivos tiempos de recepción de cada streamlet solicitado. El procedimiento de solicitud de los flujos de calidad superiores o inferiores se discutirán en mayor detalle a continuación con referencia a la figura 7.
El módulo controlador del agente 402 puede estar configurado para recibir los comandos del usuario desde el visor 408. Estos comandos pueden incluir la reproducción, el avance rápido, el rebobinado, la pausa y la detención. En una realización, el módulo controlador del agente 402 solicita los streamlets 212 desde el módulo de caché del streamlet 404 y arregla los streamlets recibidos 212 en un módulo de almacenamiento provisional 409. El módulo de almacenamiento provisional 409 puede estar configurado para arreglar los streamlets 212 en el orden del ascenso del tiempo de reproducción. En la realización que se describe, los streamlets 212 están numerados 0, 1, 2, 3, 4, etc. Sin embargo, cada streamlet 212 puede estar identificado con un nombre de archivo único.
Además, el módulo controlador del agente 402 puede estar configurado para anticipar las solicitudes del streamlet 212 y solicitar previamente los streamlets 212. Al solicitar previamente los streamlets 212, el usuario puede avanzar rápido, omitir de manera aleatoria o retroceder a través del contenido, y no experimentar retraso en el almacenamiento en búfer. En una realización adicional, el módulo controlador del agente 402 puede solicitar los streamlets 212 que corresponden a los intervalos del índice de tiempo de 30 segundos dentro del tiempo de reproducción total del contenido. De forma alternativa, el módulo controlador del agente 402 puede solicitar streamlets en cualquier intervalo inferior a la extensión del índice de tiempo. Esto permite la capacidad de «inicio rápido» sin espera del almacenamiento en búfer cuando se inicia o se avanza rápido a través del archivo de contenido 200. El módulo controlador del agente 402 puede estar configurado para solicitar previamente los streamlets 212 correspondientes a los puntos del índice especificados dentro del contenido o dentro de otro contenido, anticipándose al usuario final 104 que está seleccionando contenido para ver.
El módulo de caché del streamlet 404 está configurado para recibir solicitudes de streamlet 212 desde el módulo controlador del agente 402. Al cabo de recibir una solicitud, el módulo de caché de streamlet 404 comprueba, en primer lugar, el caché de un streamlet 410 para verificar si el streamlet 212 está presente. En una realización adicional, el módulo de caché del streamlet 404 maneja las solicitudes del streamlet 212 desde una pluralidad de módulos controladores del agente 402. De forma alternativa, un módulo de caché del streamlet 404 se puede proporcionar para cada módulo controlador del agente 402. Si el streamlet solicitado 212 no está presente en el caché del streamlet 410, la solicitud es enviada al módulo controlador de la red 406. A fin de permitir las habilidades de avance rápido y rebobinado, el módulo de caché del streamlet 404 está configurado para almacenar la pluralidad de streamlets 212 en el caché del streamlet 410 durante un periodo de tiempo especificado después de que se ha visto el streamlet 212. No obstante, una vez que se han eliminado los streamlets 212, estos pueden ser solicitados nuevamente desde el servidor web 116.
El módulo controlador de la red 406 puede estar configurado para recibir las solicitudes de streamlets desde el módulo de caché del streamlet 404 y abrir una conexión hacia el servidor web 116 u otra base de datos del streamlet remota 212 (que no se muestra). El módulo controlador de la red 406 abre una conexión TCP/IP al servidor web 116 y genera una solicitud HTTP GET estándar para el streamlet solicitado 212. Al cabo de recibir el streamlet solicitado 212, el módulo controlador de la red 406 pasa el streamlet 212 hacia el módulo de caché del streamlet 404 donde es almacenado en el caché del streamlet 410. En una realización adicional, el módulo controlador de la red 406 está configurado para procesar y solicitar una pluralidad de streamlets 212 de manera simultánea. El módulo controlador de la red 406 puede estar configurado, además, para solicitar una pluralidad de streamlets, donde cada streamlet 212 es solicitado, posteriormente, en múltiples partes.
Las solicitudes de streamlet pueden comprender la solicitud de piezas de cualquier archivo de streamlets. Al dividir el streamlet 212 en piezas o partes más pequeñas permite, de manera beneficiosa, un aumento en el potencial de eficiencia, y además, elimina los problemas vinculados con múltiples solicitudes de streamlets completos que comparten el ancho de banda en cualquier momento dado. Esto se logra mediante el uso de conexiones TCP/IP paralelas para las piezas de los streamlets 212. En consecuencia, se solucionan los problemas de eficiencia y pérdida de red, y los streamlets llegan con una sincronización más útil y predecible.
El módulo de cliente 114 puede estar configurado para utilizar múltiples conexiones TCP entre el módulo de cliente 114 y el servidor web 116 o el caché web. La intervención de un caché puede ser transparente para el cliente o ser configurada por el cliente como un caché directo. Al solicitar más de un streamlet 212 a la vez de una manera que se
denomina «recupero paralelo», o más de una parte de un streamlet 212 a la vez, la eficiencia se incrementa significativamente y se elimina la latencia virtualmente. En una realización adicional, el módulo de cliente permite un máximo de tres solicitudes de streamlets 212 pendientes. El módulo de cliente 114 puede mantener conexiones TCP abiertas adicionales como de repuesto para estar disponibles en caso de que otra conexión falle. Las solicitudes de streamlet 212 rotan entre todas las conexiones abiertas para mantener la lógica del flujo TCP para cualquier conexión particular que pueda entrar en un modo de inicio lento o cerrado. Si el módulo controlador de la red 406 ha solicitado un streamlet 212 en múltiples partes, cada parte fue solicitada en conexiones TCP/IP mutuamente independientes, el módulo controlador de la red 406 vuelve a ensamblar las partes para presentar un streamlet 212 completo para ser utilizado por todos los otros componentes del módulo de cliente 114.
Cuando una conexión TCP se cae completamente, una nueva solicitud puede ser enviada en una conexión diferente para el mismo streamlet 212. Si una solicitud no es cumplida a tiempo, una solicitud redundante puede ser enviada en una conexión diferente para el mismo streamlet 212. Si la primera respuesta a la solicitud de streamlet llega antes de la respuesta a la solicitud redundante, la solicitud redundante puede ser abortada. Si la respuesta a la solicitud redundante llega antes de la respuesta a la primera solicitud, la primera solicitud puede ser abortada.
Varias solicitudes de streamlet 212 pueden ser enviadas en una única conexión TCP, y las respuestas fluyen hacia atrás en orden parejo a lo largo de la misma conexión. Esto elimina todo excepto la latencia de la primera solicitud. Dado que siempre se transmiten múltiples respuestas, la latencia de procesamiento de cada nueva respuesta de streamlet 212 después de la primera no es un factor en rendimiento. Esta técnica es conocida en la industria como «canalización». La canalización ofrece eficiencia en el procesamiento de respuesta a la solicitud eliminando la mayoría de los efectos de la latencia de la solicitud. Sin embargo, la canalización tiene serias vulnerabilidades. Los retrasos en la transmisión afectan todas las respuestas. Si la única conexión TCP falla, todas las solicitudes y respuestas pendientes se pierden. La canalización origina una dependencia en serie entre las solicitudes.
Múltiples conexiones TCP pueden ser abiertas entre el módulo de cliente 114 y el servidor web 116 para obtener los beneficios de la eficiencia de reducción de la latencia de la canalización mientras se mantiene la independencia de cada solicitud de streamlet 212. Varias solicitudes de streamlet 212 se pueden enviar de manera concurrente, siendo cada solicitud enviada en una conexión TCP mutuamente distinta. Esta técnica es etiquetada como «canalización virtual» y es una innovación de la presente invención. Múltiples respuestas pueden estar en tránsito de manera concurrente, asegurando que siempre se utilice un ancho de banda de comunicación entre el módulo de cliente 114 y el servidor web 116. La canalización virtual elimina las vulnerabilidades de la canalización tradicional. Un retraso en una respuesta o una falla completa de una respuesta no afecta la transmisión de otras respuestas porque cada respuesta ocupa una conexión TCP independiente. Cualquier ancho de banda de transmisión que no esté en uso por una de las respuestas múltiples (ya sea debido a retrasos o a la falla en la conexión TCP) puede ser utilizado por otras respuestas pendientes. Una única solicitud de streamlet 212 puede ser emitida para un streamlet 212 completo o se pueden emitir múltiples solicitudes, cada una para una parte diferente o una porción del streamlet. Si el streamlet es solicitado en varias partes, las partes se pueden volver a combinar mediante el streamlet del módulo de cliente 114.
A fin de mantener un balance apropiado entre la utilización del ancho de banda maximizado y el tiempo de respuesta, la emisión de nuevas solicitudes de streamlet debe ser cronometrada de modo que el servidor web 116 no transmita la respuesta antes de que el módulo de cliente 114 haya recibido completamente una respuesta a una de las solicitudes de streamlet previamente pendientes. Por ejemplo, si tres solicitudes de streamlet 212 están pendientes, el módulo de cliente 114 debe emitir la siguiente solicitud poco antes de que una de las tres respuestas sea totalmente recibida y «fuera del canal». En otras palabras, la sincronización de la solicitud es ajustada para mantener tres respuestas en tránsito. El uso compartido del ancho de banda entre cuatro respuestas disminuye el tiempo de respuesta neto de las otras tres respuestas. El ajuste de sincronización se puede calcular dinámicamente por observación, y la sincronización de la solicitud puede ser ajustada en consecuencia para mantener el balance apropiado de eficiencia y los tiempos de respuesta.
Los diagramas de flujo esquemáticos que siguen a continuación se establecen, en general, como diagramas de flujo lógicos. Como tal, el orden descrito y las etapas marcadas son indicativos de una realización del procedimiento presentado. Se pueden concebir otras etapas y procedimientos que son equivalentes en función, lógica o efecto para una o más etapas, o sus porciones, del procedimiento que se ilustra. Además, el formato y los símbolos empleados se proporcionan para explicar las etapas lógicas del procedimiento y se entiende que no limitan el alcance del procedimiento. Si bien se pueden emplear varios tipos de flechas y líneas en los diagramas de flujo, se entiende que no limitan el alcance del procedimiento correspondiente. En verdad, algunas flechas y otros conectores se pueden utilizar para indicar únicamente el flujo lógico del procedimiento. Por ejemplo, una flecha puede indicar un período de espera o de monitoreo de una duración no especificada entre las etapas enumeradas del procedimiento descrito. Además, el orden en el cual se produce un procedimiento particular puede o no adherir estrictamente al orden de las etapas correspondientes que se mostraron.
La figura 5 es un diagrama de flujo esquemático que ilustra un procedimiento 500 para el procesamiento del contenido. El procedimiento 500 comienza 502 y el módulo de contenido 112 recibe el contenido 504 desde el editor 110. Recibir contenido 504 puede comprender la recepción 504 de una copia digital del archivo de contenido 200 o la digitalización de una copia física del archivo de contenido 200. De forma alternativa, recibir 504 el contenido puede comprender capturar una transmisión de radio o de televisión. Una vez recibido 504, el módulo de flujo 302 genera 506 una pluralidad de flujos 202, cada flujo 202 tiene una calidad diferente. La calidad puede ser predefinida, o establecida automáticamente de acuerdo con el ancho de banda del usuario final, o en respuesta a las guías prediseñadas del editor.
El módulo del streamlet 304 recibe los flujos 202 y genera 508 una pluralidad de streamlets 212. Generar 508 streamlets comprende dividir el flujo 202 en una pluralidad de dos segundos streamlets 212. De forma alternativa, los streamlets pueden tener alguna longitud inferior o igual a la longitud del flujo 202. El módulo codificador 306 codifica 510 los streamlets de acuerdo con un algoritmo de compresión. En una realización adicional, el algoritmo comprende un códec privado como por ej. WMV9®. El módulo codificador 306 almacena 512 los streamlets codificados en la base de datos del streamlet 308. Una vez almacenados 512, el servidor web 116 puede atender 514 los streamlets. En una realización, atender 514 los streamlets comprende recibir solicitudes de streamlet desde el módulo de cliente 114, recuperar el streamlet solicitado desde la base de datos del streamlet 308, y posteriormente transmitir el streamlet al módulo de cliente 114. El procedimiento 500 finaliza 516.
La figura 6 es un diagrama de flujo esquemático que ilustra un procedimiento 600 para ver una pluralidad de streamlets. El método 600 comienza y un módulo controlador del agente 402 se proporciona 604 y se vincula con un visor 408 y está provisto con un módulo de almacenamiento provisional 409. El módulo controlador del agente 402 solicita 606, a continuación, un streamlet desde el módulo de caché del streamlet 404. De forma alternativa, el módulo controlador del agente 402 puede solicitar 606, de manera simultánea, una pluralidad de streamlets desde el módulo de caché del streamlet 404. Si el streamlet es almacenado 608 localmente en el caché del streamlet 410, el módulo de caché del streamlet 404 recupera 610 el streamlet y envía el streamlet al módulo controlador del agente 402. Al cabo de recuperar 610 o recibir un streamlet, el módulo controlador del agente 402 realiza 611 una determinación si debe o no cambiar a un flujo 202 de calidad superior o inferior. Esta determinación se describirá a continuación en mayor detalle con referencia a la figura 7.
El módulo de almacenamiento provisional 409 arregla 612 los streamlets en el orden apropiado, y el módulo controlador del agente 402 entrega 614 los streamlets al visor 408. En una realización adicional, la entrega 614 de streamlets al usuario final comprende la reproducción del video y/o los streamlets en el visor 408. Si los streamlets no se almacenan 608 localmente, la solicitud de streamlet pasa al módulo controlador de la red 406. El módulo controlador de la red 406 solicita 616, a continuación, el streamlet desde el servidor web 116. Una vez que el streamlet es recibido, el módulo controlador de la red 406 pasa el streamlet al módulo de caché del streamlet 404. El módulo de caché del streamlet 404 archiva 618 el streamlet. De forma alternativa, el módulo de caché del streamlet 404 archiva 618 el streamlet y pasa el streamlet al módulo controlador del agente 402 y el procedimiento 600 continúa desde la operación 610 como se describió anteriormente.
Con referencia ahora a la figura 7, se muestra un diagrama de flujo esquemático que ilustra un procedimiento 700 para solicitar streamlets dentro de un entorno de transmisión de contenido cambiando la velocidad adaptativa. El procedimiento 700 se puede utilizar en una realización como la operación 611 de la figura 6. El procedimiento 700 comienza y el módulo controlador del agente 402 recibe 704 un streamlet como se describió anteriormente con referencia a la figura 6. El módulo controlador del agente 402 monitorea 706 el tiempo de recepción del streamlet solicitado. En una realización, el módulo controlador del agente 402 monitorea los intervalos de tiempo 0 entre los tiempos de recepción sucesivos para cada respuesta al streamlet. El orden de las respuestas con relación al orden de sus correspondientes solicitudes no es relevante.
Dado que las características del comportamiento de la red fluctúan, algunas veces de forma bastante repentina, cualquier A dado puede variar sustancialmente uno de otro. A fin de compensar esta fluctuación, el módulo controlador del agente 402 calcula 708 una relación de rendimiento r a través de una ventana de muestras n para los streamlets de extensión de reproducción S. La relación de rendimiento r se calcula mediante el uso de la ecuación.
Debido al procesamiento del streamlet múltiple simultáneo, y a fin de juzgar mejor la tendencia central de la relación de rendimiento r, el módulo controlador del agente 402 puede calcular un medio geométrico, o de forma alternativa, un algoritmo promediado equivalente, a lo largo de una ventana de tamaño m, y obtener un factor de rendimiento 9.
La determinación de la política acerca de si se debe o no realizar el cambio ascendente 710 de la calidad de reproducción, comienza mediante la comparación tpcurrent con un umbral desencadenador ®up. Si ycurrent > ®up, entonces se puede considerar un cambio ascendente al siguiente flujo de calidad superior 716. En una realización, el umbral desencadenador ®up se determina mediante una combinación de factores que se relacionan con el margen anticipado de lectura actual (es decir, la cantidad de streamlets disponibles de manera contigua que han sido dispuestos de manera secuencial mediante el módulo de almacenamiento provisional 409 para la presentación en el índice de tiempo de reproducción actual), y un margen de seguridad mínimo. En una realización, el margen de seguridad mínimo puede ser 24 segundos. Cuánto más pequeño el margen anticipado de lectura, más debe el ®up desalentar el cambio ascendente hasta que se pueda establecer un margen anticipado de lectura más grande para soportar las interrupciones de la red. Si el módulo controlador del agente 402 puede sostener 716 la calidad del cambio ascendente, entonces el módulo controlador del agente 402 realizará el cambio ascendente 717 de la calidad, y posteriormente solicitará flujos de calidad más altos. La determinación con respecto a si el uso del flujo de calidad superior es sostenible 716 se realiza mediante la comparación de un estimado del factor de rendimiento del flujo de calidad superior, yhigher, con ®up. Si yhigher > ®up entonces el uso del flujo de calidad superior se considera sostenible. Si la decisión con respecto a si el flujo más alto es o no sostenible 716 es «no», el módulo controlador del agente 402 no intentará realizar el cambio ascendente 717 de la calidad del flujo. Si se ha alcanzado el final del flujo 714, el procedimiento 618 finaliza 716.
Si la decisión acerca de si se debe o no intentar el cambio ascendente 710 es «no», se toma la decisión acerca de si se debe o no realizar el cambio descendente 712. En una realización, un umbral desencadenador ®down se define de manera análoga a ®up. Si tpcurrent > ®down, entonces la calidad del flujo puede ser adecuada, y el módulo controlador del agente 402 no realizar el cambio descendente 718 de la calidad del flujo. No obstante, si tpcurrent <®down, el módulo controlador del agente 402 no realiza el cambio descendente 718 de la calidad del flujo. Si no se ha alcanzado el final del flujo 714, el módulo controlador del agente 402 comienza a solicitar y recibir streamlets de calidad inferior 704 y el procedimiento 618 comienza nuevamente. Por supuesto, las ecuaciones y los algoritmos que se describieron anteriormente son únicamente ilustrativos, y pueden ser reemplazado por soluciones alternativas de monitoreo del streamlet.
Claims (15)
1. Un procedimiento de presentación de flujos de velocidad adaptativa, comprendiendo el procedimiento:
transmitir mediante un reproductor multimedia (114) que opera en una estación de usuario final (104) un video desde un conjunto de uno o más servidores (116), en el que cada una de una pluralidad de diferentes copias del video está codificada a una respectiva velocidad de bits diferente y cada copia está codificada como múltiples archivos en el conjunto de servidores, en el que cada uno de los múltiples archivos encapsula, de manera independiente, una parte diferente del video para reproducción, en el que los múltiples archivos a lo largo de las diferentes copias producen las mismas partes del video en reproducción, cada uno de dichos archivos tiene un índice de tiempo que indica la posición del contenido en ese archivo con relación al comienzo del video, de modo que los archivos cuya reproducción es la misma parte del video para cada una de las diferentes copias tienen el mismo índice de tiempo con relación al comienzo del video, y en el que la transmisión comprende:
solicitar mediante el reproductor multimedia (114) una pluralidad de archivos secuenciales de los archivos de una de las copias desde el conjunto de servidores en una o más conexiones del protocolo de control de transmisión (TCP) basado en los índices de tiempo, en el que cada archivo es solicitado de manera individual mediante una o más solicitudes HTTP respectivas en la una o más conexiones TCP;
solicitar automáticamente mediante el reproductor multimedia (114) desde el conjunto de servidores (116) en la una o más conexiones TCP las partes subsiguientes del video, solicitando para cada dicha parte uno de los archivos de una de las copias dependiente de las determinaciones sucesivas del reproductor multimedia para cambiar la calidad de reproducción a una calidad superior o inferior de las diferentes copias, en el que cada archivo es solicitado de manera individual por una o más solicitudes HTTP respectivas en la una o más conexiones TCP, incluyendo dicha solicitud automática,
generar de manera regular (706) un conjunto de uno o más factores indicativos de la capacidad actual para sostener la transmisión del video mediante el uso de los archivos de las diferentes copias, en el que el conjunto de uno o más factores se refiere al rendimiento de la red; y
hacer las sucesivas determinaciones (710, 712) para cambiar la calidad de reproducción basado en, al menos, uno del conjunto de factores para obtener la reproducción continua del video mediante el uso de los archivos de una de las copias de calidad superior determinada como sostenible en ese momento; y
presentar el video mediante la reproducción con el reproductor multimedia en la estación de usuario final de los archivos solicitados en el orden del tiempo de reproducción ascendente.
2. Un procedimiento de acuerdo con la reivindicación 1, en el que dicha solicitud de la pluralidad de archivos secuenciales de los archivos incluye la solicitud de una pluralidad de conexiones TCP.
3. Un procedimiento de acuerdo con la reivindicación 1, en el que dicha realización de las sucesivas determinaciones para cambiar comprende:
un cambio ascendente a una copia de calidad superior de las diferentes copias cuando el, al menos, un factor es mayor que un primer umbral; y
determinar si la reproducción de calidad superior puede ser sostenida.
4. Un procedimiento de acuerdo con la reivindicación 3, en el que dicha realización de las sucesivas determinaciones para cambiar comprende el cambio descendente a una copia de calidad inferior de las diferentes copias cuando el, al menos, un factor es inferior a un segundo umbral.
5. Un procedimiento de acuerdo con la reivindicación 1, que, además, comprende:
recibir la entrada del usuario para habilitar una funcionalidad de una de avance rápido, salto aleatorio y rebobinado; y
solicitar los archivos del video en un índice de tiempo especificado que no es el siguiente tiempo secuencial en la reproducción actual.
6. Un procedimiento de acuerdo con la reivindicación 1,
en el que dicha solicitud de la pluralidad de archivos secuenciaesl de los archivos incluye la solicitud de los archivos de una copia de calidad baja de las diferentes copias para habilitar la reproducción instantánea del video, y en el que dicha solicitud automática incluye el cambio ascendente a una calidad superior de las diferentes copias.
7. Un procedimiento de acuerdo con la reivindicación 1, en el que dicha solicitud de la pluralidad de archivos secuenciales de los archivos incluye la solicitud de una pluralidad de archivos secuenciales de los archivos en las diferentes conexiones de una pluralidad de conexiones TCP.
8. Un procedimiento de acuerdo con la reivindicación 1, en el que dicha presentación comprende disponer de forma secuencial los archivos solicitados de las diferentes copias en el orden del tiempo de reproducción ascendente para la reproducción con el reproductor multimedia en la estación del usuario final.
9. Un procedimiento de acuerdo con la reivindicación 1, en el que dicha solicitud automática incluye la solicitud de subpartes de los archivos en las diferentes conexiones de una pluralidad de conexiones TCP, y en el que dicha presentación incluye volver a ensamblar los archivos de las subpartes recibidas.
10. Un procedimiento de acuerdo con la reivindicación 1, en el que el, al menos, uno del conjunto de factores es indicativo del ancho de banda disponible de una pluralidad de conexiones TCP.
11. Un procedimiento de acuerdo con la reivindicación 1, en el que el, al menos, uno del conjunto de factores es indicativo de la latencia de los archivos solicitados, en el que la latencia es una medida de tiempo entre el momento e que una de las solicitudes se emite y el momento en que los datos de respuesta de la solicitud comienzan a llegar a la estación de usuario final.
12. Un procedimiento de acuerdo con la reivindicación 1, en el que el, al menos, uno del conjunto de factores es indicativo de los intervalos de tiempo entre los tiempos de recepción sucesivos para cada respuesta a los archivos solicitados.
13. Un procedimiento de acuerdo con la reivindicación 1, en el que el, al menos, uno del conjunto de factores es indicativo de los retrasos o de las pérdidas en una o más de una pluralidad de conexiones TCP.
14. Un procedimiento de acuerdo con la reivindicación 1, en el que:
dicha generación de factores comprende:
monitorear los intervalos de tiempo entre los tiempos de recepción sucesivos para cada uno de los archivos solicitados;
calcular una relación de rendimiento actual a lo largo de una ventana actual de los intervalos de tiempo; y
calcular un promedio actual de la relación de rendimiento para obtener un factor de rendimiento actual del conjunto de factores;
dicha realización comprende, además:
comparar el factor de rendimiento actual con un conjunto de uno o más umbrales desencadenadores; y
determinar si realizar el cambio ascendente o el cambio descendente a una calidad superior o inferior de las diferentes copias basado en dicha comparación.
15. Un procedimiento de acuerdo con la reivindicación 1, en el que dicha realización comprende:
comparar un factor de rendimiento actual del conjunto de factores con un conjunto de uno o más umbrales desencadenadores, en el que el conjunto de uno o más umbrales desencadenadores está determinado por una combinación de dos del conjunto de factores con relación a un margen anticipado de lectura actual y un margen de seguridad mínimo, en el que el margen anticipado de lectura actual es una cantidad de archivos de video solicitados dispuestos en forma secuencial, disponibles de manera contigua, recibidos por el reproductor multimedia para la reproducción en un índice de tiempo de reproducción actual; y
determinar si realizar el cambio ascendente o el cambio descendente a una calidad superior o inferior de las diferentes copias basado en dicha comparación.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US56683104P | 2004-04-30 | 2004-04-30 | |
US11/116,783 US8868772B2 (en) | 2004-04-30 | 2005-04-28 | Apparatus, system, and method for adaptive-rate shifting of streaming content |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2748426T3 true ES2748426T3 (es) | 2020-03-16 |
Family
ID=35320874
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES05744015T Active ES2845901T3 (es) | 2004-04-30 | 2005-05-02 | Aparato, sistema y procedimiento de cambio de velocidad adaptativa de contenido de streaming |
ES12154559T Active ES2748426T3 (es) | 2004-04-30 | 2005-05-02 | Procedimiento de presentación de flujos de velocidad adaptativa |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES05744015T Active ES2845901T3 (es) | 2004-04-30 | 2005-05-02 | Aparato, sistema y procedimiento de cambio de velocidad adaptativa de contenido de streaming |
Country Status (11)
Country | Link |
---|---|
US (5) | US8868772B2 (es) |
EP (3) | EP3822805B1 (es) |
JP (1) | JP5320740B2 (es) |
KR (1) | KR101082642B1 (es) |
AU (1) | AU2005241481A1 (es) |
CA (1) | CA2564861C (es) |
DK (3) | DK1743249T3 (es) |
ES (2) | ES2845901T3 (es) |
FI (1) | FI3822805T3 (es) |
PT (3) | PT2479680T (es) |
WO (1) | WO2005109224A2 (es) |
Families Citing this family (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US8868772B2 (en) | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US7080173B2 (en) * | 2004-05-27 | 2006-07-18 | Microsoft Corporation | Reducing information reception delays |
US8621543B2 (en) * | 2004-12-08 | 2013-12-31 | Imagine Communications Ltd. | Distributed statistical multiplexing of multi-media |
US8683066B2 (en) * | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
US8370514B2 (en) | 2005-04-28 | 2013-02-05 | DISH Digital L.L.C. | System and method of minimizing network bandwidth retrieved from an external network |
US20060294128A1 (en) * | 2005-05-21 | 2006-12-28 | Kula Media Group | Enhanced methods for media processing and distribution |
EP1911200B1 (en) * | 2005-07-29 | 2009-01-07 | British Telecommunications Public Limited Company | Network information acquisition |
US9654301B2 (en) * | 2006-02-13 | 2017-05-16 | Vividas Technologies Pty Ltd | Method, system and software product for streaming content |
US7515710B2 (en) | 2006-03-14 | 2009-04-07 | Divx, Inc. | Federated digital rights management scheme including trusted systems |
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 |
US9432433B2 (en) * | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
WO2008002296A1 (en) | 2006-06-27 | 2008-01-03 | Thomson Licensing | Support for interactive playback devices for performance aware peer-to-peer video-on-demand service |
US20080040757A1 (en) * | 2006-07-31 | 2008-02-14 | David Romano | Video content streaming through a wireless access point |
WO2008028508A1 (en) * | 2006-09-07 | 2008-03-13 | Fujitsu Limited | Distributed computing and communications protocol |
US20170344703A1 (en) | 2006-12-29 | 2017-11-30 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US9602880B2 (en) | 2006-12-29 | 2017-03-21 | Kip Prod P1 Lp | Display inserts, overlays, and graphical user interfaces for multimedia systems |
US11316688B2 (en) | 2006-12-29 | 2022-04-26 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US9569587B2 (en) | 2006-12-29 | 2017-02-14 | Kip Prod Pi Lp | Multi-services application gateway and system employing the same |
WO2008082441A1 (en) | 2006-12-29 | 2008-07-10 | Prodea Systems, Inc. | Display inserts, overlays, and graphical user interfaces for multimedia systems |
US11783925B2 (en) | 2006-12-29 | 2023-10-10 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
WO2008086313A1 (en) | 2007-01-05 | 2008-07-17 | Divx, Inc. | Video distribution system including progressive playback |
US7865571B2 (en) * | 2007-01-08 | 2011-01-04 | Mspot, Inc. | Method and apparatus for transferring digital content from a personal computer to a mobile handset |
US7937451B2 (en) | 2007-01-08 | 2011-05-03 | Mspot, Inc. | Method and apparatus for transferring digital content from a computer to a mobile handset |
US7865572B2 (en) | 2007-01-08 | 2011-01-04 | Mspot, Inc. | Method and apparatus for transferring digital content from a personal computer to a mobile handset |
US9317179B2 (en) | 2007-01-08 | 2016-04-19 | Samsung Electronics Co., Ltd. | Method and apparatus for providing recommendations to a user of a cloud computing service |
EP2210187A4 (en) * | 2007-11-14 | 2011-09-07 | Ubstream Ltd | SYSTEM AND METHOD FOR ADAPTIVE COUNTER CHANGE IN VIDEO / AUDIOSTREAMING |
CN101861583B (zh) | 2007-11-16 | 2014-06-04 | 索尼克Ip股份有限公司 | 用于多媒体文件的分级及简化索引结构 |
CN101198016A (zh) * | 2007-12-05 | 2008-06-11 | 中兴通讯股份有限公司 | 交互式个人电视媒体交付系统的内容发布和存储方法 |
EP2075935A1 (en) * | 2007-12-31 | 2009-07-01 | Motorola, Inc. | A method and apparatus for providing uninterrupted media to a user |
US9832442B2 (en) | 2008-01-15 | 2017-11-28 | Echostar Technologies Llc | System and method of managing multiple video players executing on multiple devices |
US8190760B2 (en) * | 2008-01-15 | 2012-05-29 | Echostar Advanced Technologies L.L.C. | System and method of managing multiple video players |
US20090193338A1 (en) * | 2008-01-28 | 2009-07-30 | Trevor Fiatal | Reducing network and battery consumption during content delivery and playback |
US9100585B2 (en) * | 2008-10-28 | 2015-08-04 | Sony Computer Entertainment Inc. | Combined broadcast and backchannel delivery of streaming content |
CN105072454B (zh) | 2009-01-07 | 2019-04-19 | 索尼克Ip股份有限公司 | 针对在线内容的媒体指南的特定化、集中式、自动化创建 |
US9015335B1 (en) * | 2009-06-17 | 2015-04-21 | Amazon Technologies, Inc. | Server side stream switching |
WO2011022405A2 (en) | 2009-08-17 | 2011-02-24 | Akamai Technologies, Inc. | Method and system for http-based stream delivery |
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 |
US8484368B2 (en) * | 2009-10-02 | 2013-07-09 | Disney Enterprises, Inc. | Method and system for optimizing download and instantaneous viewing of media files |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
US9338523B2 (en) * | 2009-12-21 | 2016-05-10 | Echostar Technologies L.L.C. | Audio splitting with codec-enforced frame sizes |
US20110296048A1 (en) * | 2009-12-28 | 2011-12-01 | Akamai Technologies, Inc. | Method and system for stream handling using an intermediate format |
US9510029B2 (en) | 2010-02-11 | 2016-11-29 | Echostar Advanced Technologies L.L.C. | Systems and methods to provide trick play during streaming playback |
EP2362651A1 (en) | 2010-02-19 | 2011-08-31 | Thomson Licensing | Multipath delivery for adaptive streaming |
EP2360923A1 (en) | 2010-02-24 | 2011-08-24 | Thomson Licensing | Method for selectively requesting adaptive streaming content and a device implementing the method |
TWI510066B (zh) * | 2010-03-22 | 2015-11-21 | Echostar Technologies Llc | 用於安全串流媒體內容之系統和方法 |
EP2375680A1 (en) | 2010-04-01 | 2011-10-12 | Thomson Licensing | A method for recovering content streamed into chunk |
US8725947B2 (en) * | 2010-05-28 | 2014-05-13 | Microsoft Corporation | Cache control for adaptive stream player |
US9319448B2 (en) | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
US20130173760A1 (en) * | 2010-09-20 | 2013-07-04 | Humax Co., Ltd. | Processing method to be implemented upon the occurrence of an expression switch in http streaming |
US9479739B2 (en) * | 2010-10-04 | 2016-10-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatuses for adaptive control of streaming |
US20120114118A1 (en) * | 2010-11-05 | 2012-05-10 | Samsung Electronics Co., Ltd. | Key rotation in live adaptive streaming |
US20120117261A1 (en) * | 2010-11-05 | 2012-05-10 | Nokia Corporation | Method and Apparatus for Rate Adaptation for Adaptive HTTP Streaming |
US8880633B2 (en) | 2010-12-17 | 2014-11-04 | Akamai Technologies, Inc. | Proxy server with byte-based include interpreter |
US9247312B2 (en) * | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
EP2477397A1 (en) * | 2011-01-12 | 2012-07-18 | Nxp B.V. | Handling the initialization for HTTP streaming of multimedia files via parallel TCP connections |
CN108366070A (zh) * | 2011-03-16 | 2018-08-03 | 韩国电子通信研究院 | 用于提供媒体内容的方法和客户端 |
US8589996B2 (en) | 2011-03-16 | 2013-11-19 | Azuki Systems, Inc. | Method and system for federated over-the-top content delivery |
FR2975555A1 (fr) | 2011-05-18 | 2012-11-23 | Thomson Licensing | Methode d'adaptation dynamique du debit de reception et recepteur associe |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8787570B2 (en) | 2011-08-31 | 2014-07-22 | Sonic Ip, Inc. | Systems and methods for automatically genenrating top level index files |
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 |
US20150304249A1 (en) * | 2011-09-06 | 2015-10-22 | Andras Valkó | Device and Method for Progressive Media Download with Multiple Layers or Streams |
US8751679B2 (en) * | 2011-10-07 | 2014-06-10 | Ericsson Television Inc. | HTTP adaptive streaming server with automatic rate shaping |
US8897753B2 (en) | 2011-10-12 | 2014-11-25 | Motorola Mobility Llc | Method for retrieving content by a wireless communication device having first and second radio access interfaces, wireless communication device and communication system |
US9055136B2 (en) * | 2011-10-13 | 2015-06-09 | Qualcomm Incorporated | Controlling streaming delay in networks |
JP2013105367A (ja) * | 2011-11-15 | 2013-05-30 | Hitachi Ltd | シンクライアントシステムおよびサーバ装置 |
EP2791819B1 (en) | 2011-12-14 | 2017-11-01 | Level 3 Communications, LLC | Content delivery network |
EP2813056B1 (en) * | 2012-02-06 | 2019-11-27 | Nokia Solutions and Networks Oy | Customer experience management interaction with caching |
US9716856B2 (en) | 2012-03-07 | 2017-07-25 | Echostar Technologies L.L.C. | Adaptive bit rate transcode and caching for off air television programming delivery |
US20130311614A1 (en) * | 2012-05-21 | 2013-11-21 | Motorola Mobility, Inc. | Method for retrieving content and wireless communication device for performing same |
US9282348B2 (en) * | 2012-08-13 | 2016-03-08 | Disney Enterprises, Inc. | Content based partitioning of digital media content |
CN103702237A (zh) * | 2012-09-28 | 2014-04-02 | 北京大学 | Http流媒体的速率自适方法及装置 |
US20140297869A1 (en) * | 2012-10-11 | 2014-10-02 | Uplynk, LLC | Adaptive streaming cost management |
US20140108495A1 (en) * | 2012-10-11 | 2014-04-17 | Steven A. Benno | Adaptive streaming client |
US9306860B2 (en) * | 2012-10-18 | 2016-04-05 | Giraffic Technologies Ltd. | Congestion control method for dynamically maximizing communication link throughout |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US11956499B2 (en) | 2013-03-15 | 2024-04-09 | Sling TV L.L.C. | Automated replacement of stored digital content |
US9756100B2 (en) * | 2013-03-15 | 2017-09-05 | Echostar Technologies L.L.C. | Placeshifting of adaptive media streams |
US9866889B2 (en) | 2013-03-15 | 2018-01-09 | Echostar Technologies Llc | Asymmetric content delivery of media content |
US11564002B2 (en) | 2013-03-15 | 2023-01-24 | Sling TV L.L.C. | Automated replacement of video program content |
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 |
US11778257B2 (en) | 2013-03-15 | 2023-10-03 | Sling TV L.L.C. | Digital advertisement frequency correction |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9503491B2 (en) | 2013-03-15 | 2016-11-22 | Echostar Technologies L.L.C. | Playback stall avoidance in adaptive media streaming |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
WO2015004276A2 (en) | 2013-07-12 | 2015-01-15 | Canon Kabushiki Kaisha | Adaptive data streaming method with push messages control |
GB2551674B (en) * | 2013-07-12 | 2018-04-11 | Canon Kk | Adaptive data streaming method with push messages control |
EP3022883B1 (en) * | 2013-07-16 | 2017-05-03 | Bitmovin GmbH | Apparatus and method for cloud assisted adaptive streaming |
EP2833640A1 (en) * | 2013-08-02 | 2015-02-04 | British Telecommunications public limited company | Video caching |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
US9253231B2 (en) * | 2013-12-19 | 2016-02-02 | Verizon Patent And Licensing Inc. | Retrieving and caching adaptive bitrate stream segments based on network congestion |
US9996445B2 (en) * | 2014-01-17 | 2018-06-12 | International Business Machines Corporation | Computer flight recorder with active error detection |
US9596281B2 (en) * | 2014-03-18 | 2017-03-14 | Qualcomm Incorporated | Transport accelerator implementing request manager and connection manager functionality |
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 |
US10225298B2 (en) | 2015-01-06 | 2019-03-05 | Divx, Llc | Systems and methods for encoding and sharing content between devices |
US9979765B2 (en) | 2015-05-11 | 2018-05-22 | Apple Inc. | Adaptive connection switching |
US10047547B2 (en) | 2015-05-20 | 2018-08-14 | Pacific Lock Company | Locking link |
US20170041363A1 (en) * | 2015-08-03 | 2017-02-09 | Unroll, Inc. | System and Method for Assembling and Playing a Composite Audiovisual Program Using Single-Action Content Selection Gestures and Content Stream Generation |
US9602455B2 (en) * | 2015-08-07 | 2017-03-21 | Machine Zone, Inc. | Scalable, real-time messaging system |
GB201612356D0 (en) * | 2016-04-19 | 2016-08-31 | Cisco Tech Inc | Network monitoring and control system and method |
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 |
US10609178B2 (en) * | 2017-03-16 | 2020-03-31 | Ronaldo Cordero Navarro | Digital media and multimedia scheduling and delivery platform |
CN107480181B (zh) * | 2017-07-05 | 2020-11-24 | 百度在线网络技术(北京)有限公司 | 音频播放方法、装置、设备及服务器 |
US10616640B2 (en) | 2017-12-28 | 2020-04-07 | Sling TV L.L.C. | Over the top media integration with over the air broadcast media |
US10735804B2 (en) * | 2017-12-28 | 2020-08-04 | Rovi Guides, Inc. | Systems and methods for adaptively buffering media content at a digital video recorder |
US11838588B2 (en) * | 2017-12-29 | 2023-12-05 | Comcast Cable Communications, Llc | Performing trick plays of segmented video content |
US11463782B2 (en) | 2018-06-21 | 2022-10-04 | Dish Network L.L.C. | User device control of transmission parameters |
WO2020055333A1 (en) * | 2018-09-14 | 2020-03-19 | National University Of Singapore | Method and device for streaming content |
US20200296462A1 (en) | 2019-03-11 | 2020-09-17 | Wci One, Llc | Media content presentation |
US11108481B2 (en) | 2019-09-18 | 2021-08-31 | Sling Media L.L.C. | Over-the-air programming integration with over the top streaming services |
US11146839B1 (en) * | 2020-07-06 | 2021-10-12 | Comcast Cable Communications, Llc | Adaptive bitrate streaming |
US11611542B2 (en) | 2021-08-11 | 2023-03-21 | Dish Network Technologies India Private Limited | Secure media streaming communication via user datagram protocol |
US11627345B1 (en) | 2022-05-10 | 2023-04-11 | Dish Network Technologies India Private Limited | Buffer management for optimized processing in media pipeline |
CN116095092B (zh) * | 2023-04-11 | 2023-06-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种对等节点选择方法及装置 |
Family Cites Families (296)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1186028A (en) * | 1982-06-23 | 1985-04-23 | Microdesign Limited | Method and apparatus for scrambling and unscrambling data streams using encryption and decryption |
US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
AU657510B2 (en) * | 1991-05-24 | 1995-03-16 | Apple Inc. | Improved image encoding/decoding method and apparatus |
GB2265733A (en) * | 1992-03-26 | 1993-10-06 | Ibm | Buffering and computer display of video signals. |
US6604118B2 (en) * | 1998-07-31 | 2003-08-05 | Network Appliance, Inc. | File system image transfer |
AU3215295A (en) * | 1994-08-12 | 1996-03-14 | Neosoft, A.G. | Nonlinear digital communications system |
US5687095A (en) | 1994-11-01 | 1997-11-11 | Lucent Technologies Inc. | Video transmission rate matching for multimedia communication systems |
US7349976B1 (en) * | 1994-11-30 | 2008-03-25 | Realnetworks, Inc. | Audio-on-demand communication system |
WO1997022201A2 (en) * | 1995-12-12 | 1997-06-19 | The Board Of Trustees Of The University Of Illinois | Method and system for transmitting real-time video |
US5841432A (en) * | 1996-02-09 | 1998-11-24 | Carmel; Sharon | Method and system of building and transmitting a data file for real time play of multimedia, particularly animation, and a data file for real time play of multimedia applications |
US5768527A (en) * | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
JP3435295B2 (ja) * | 1996-09-30 | 2003-08-11 | 株式会社東芝 | 情報送信装置およびトラヒック制御装置、並びこれらを利用した帯域運用方法および呼受け付け方法 |
US20030093790A1 (en) | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US6366614B1 (en) * | 1996-10-11 | 2002-04-02 | Qualcomm Inc. | Adaptive rate control for digital video compression |
US6480541B1 (en) * | 1996-11-27 | 2002-11-12 | Realnetworks, Inc. | Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts |
US5953506A (en) * | 1996-12-17 | 1999-09-14 | Adaptive Media Technologies | Method and apparatus that provides a scalable media delivery system |
US6732183B1 (en) * | 1996-12-31 | 2004-05-04 | Broadware Technologies, Inc. | Video and audio streaming for multiple users |
US6449653B2 (en) * | 1997-03-25 | 2002-09-10 | Microsoft Corporation | Interleaved multiple multimedia stream for synchronized transmission over a computer network |
IL132060A0 (en) * | 1997-03-31 | 2001-03-19 | Broadband Associates | Method and system for providing a presentation on a network |
US6091775A (en) * | 1997-04-17 | 2000-07-18 | Sharp Kabushiki Kaisha | Video-coding device and video-decoding device |
JPH114225A (ja) * | 1997-06-11 | 1999-01-06 | Fuji Xerox Co Ltd | データ伝送装置およびデータ伝送方法 |
US6181711B1 (en) * | 1997-06-26 | 2001-01-30 | Cisco Systems, Inc. | System and method for transporting a compressed video and data bit stream over a communication channel |
US6091777A (en) * | 1997-09-18 | 2000-07-18 | Cubic Video Technologies, Inc. | Continuously adaptive digital video compression system and method for a web streamer |
US6845107B1 (en) | 1997-10-15 | 2005-01-18 | Sony Corporation | Video data multiplexer, video data multiplexing control method, method and apparatus for multiplexing encoded stream, and encoding method and apparatus |
EP0919952A1 (en) | 1997-11-28 | 1999-06-02 | Ecole Polytechnique Federale De Lausanne | Method for coding/decoding of a digital signal |
JP3844588B2 (ja) * | 1998-03-05 | 2006-11-15 | 富士通株式会社 | 情報管理システム、ローカルコンピュータ、及び情報取得プログラムを記録したコンピュータ読み取り可能な記録媒体 |
IL123819A (en) * | 1998-03-24 | 2001-09-13 | Geo Interactive Media Group Lt | Network media streaming |
US6195680B1 (en) * | 1998-07-23 | 2001-02-27 | International Business Machines Corporation | Client-based dynamic switching of streaming servers for fault-tolerance and load balancing |
US7558472B2 (en) | 2000-08-22 | 2009-07-07 | Tivo Inc. | Multimedia signal processing system |
US6574591B1 (en) * | 1998-07-31 | 2003-06-03 | Network Appliance, Inc. | File systems image transfer between dissimilar file systems |
US6622171B2 (en) * | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
EP0993163A1 (en) * | 1998-10-05 | 2000-04-12 | Backweb Technologies Ltd. | Distributed client-based data caching system and method |
US6510553B1 (en) * | 1998-10-26 | 2003-01-21 | Intel Corporation | Method of streaming video from multiple sources over a network |
US6850965B2 (en) | 1998-11-17 | 2005-02-01 | Arthur Douglas Allen | Method for connection acceptance and rapid determination of optimal multi-media content delivery over network |
US7334044B1 (en) | 1998-11-17 | 2008-02-19 | Burst.Com | Method for connection acceptance control and optimal multi-media content delivery over networks |
JP2000201343A (ja) | 1999-01-05 | 2000-07-18 | Toshiba Corp | 動画像デ―タ再生装置及び動画像デ―タ分割装置並びにプログラムを記録したコンピュ―タ読み取り可能な記録媒体 |
US6731600B1 (en) * | 1999-02-08 | 2004-05-04 | Realnetworks, Inc. | System and method for determining network conditions |
US6122660A (en) * | 1999-02-22 | 2000-09-19 | International Business Machines Corporation | Method for distributing digital TV signal and selection of content |
EP1039367A3 (en) | 1999-03-25 | 2002-02-06 | Seiko Epson Corporation | Printer controller, printer control method, and data storage medium carrying computer program means |
US6654806B2 (en) * | 1999-04-09 | 2003-11-25 | Sun Microsystems, Inc. | Method and apparatus for adaptably providing data to a network environment |
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 |
US6430604B1 (en) * | 1999-08-03 | 2002-08-06 | International Business Machines Corporation | Technique for enabling messaging systems to use alternative message delivery mechanisms |
US6859839B1 (en) | 1999-08-06 | 2005-02-22 | Wisconsin Alumni Research Foundation | Bandwidth reduction of on-demand streaming data using flexible merger hierarchies |
US6795863B1 (en) | 1999-08-10 | 2004-09-21 | Intline.Com, Inc. | System, device and method for combining streaming video with e-mail |
JP3580192B2 (ja) | 1999-09-24 | 2004-10-20 | 株式会社日立情報システムズ | 画像データ配信システムおよびそれに用いる記録媒体 |
US6449719B1 (en) * | 1999-11-09 | 2002-09-10 | Widevine Technologies, Inc. | Process and streaming server for encrypting a data stream |
US7523181B2 (en) | 1999-11-22 | 2009-04-21 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US6708213B1 (en) | 1999-12-06 | 2004-03-16 | Lucent Technologies Inc. | Method for streaming multimedia information over public networks |
US20020073167A1 (en) * | 1999-12-08 | 2002-06-13 | Powell Kyle E. | Internet content delivery acceleration system employing a hybrid content selection scheme |
US7389356B2 (en) * | 1999-12-15 | 2008-06-17 | Microsoft Corporation | Generalized differentiation methods and arrangements for adaptive multimedia communications |
US7051110B2 (en) * | 1999-12-20 | 2006-05-23 | Matsushita Electric Industrial Co., Ltd. | Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions |
US6721723B1 (en) | 1999-12-23 | 2004-04-13 | 1St Desk Systems, Inc. | Streaming metatree data structure for indexing information in a data base |
US20040220926A1 (en) | 2000-01-03 | 2004-11-04 | Interactual Technologies, Inc., A California Cpr[P | Personalization services for entities from multiple sources |
US7477688B1 (en) | 2000-01-26 | 2009-01-13 | Cisco Technology, Inc. | Methods for efficient bandwidth scaling of compressed video data |
AU2001251715A1 (en) | 2000-03-08 | 2001-09-17 | Streamcenter, Inc. | Apparatus and method for predictable and differentiated delivery of multimedia streaming on the internet |
US6552227B2 (en) * | 2000-03-14 | 2003-04-22 | Teva Pharmaceutical Industries Ltd. | Process for preparing (+)-cis-sertraline |
US6880017B1 (en) * | 2000-03-20 | 2005-04-12 | International Business Machines Corporation | System and method for providing an adaptive streaming flow control mechanism between the TCP and IP layers of the TCP/IP suite of protocols |
US7398312B1 (en) | 2000-03-29 | 2008-07-08 | Lucent Technologies Inc. | Method and system for caching streaming multimedia on the internet |
US7240100B1 (en) | 2000-04-14 | 2007-07-03 | Akamai Technologies, Inc. | Content delivery network (CDN) content server request handling mechanism with metadata framework support |
US6618752B1 (en) * | 2000-04-18 | 2003-09-09 | International Business Machines Corporation | Software and method for multicasting on a network |
US7124164B1 (en) | 2001-04-17 | 2006-10-17 | Chemtob Helen J | Method and apparatus for providing group interaction via communications networks |
US6976090B2 (en) | 2000-04-20 | 2005-12-13 | Actona Technologies Ltd. | Differentiated content and application delivery via internet |
US6757796B1 (en) | 2000-05-15 | 2004-06-29 | Lucent Technologies Inc. | Method and system for caching streaming live broadcasts transmitted over a network |
WO2001089160A1 (en) * | 2000-05-18 | 2001-11-22 | British Telecommunications Public Limited Company | Communications network |
US7032031B2 (en) | 2000-06-23 | 2006-04-18 | Cloudshield Technologies, Inc. | Edge adapter apparatus and method |
US6675199B1 (en) * | 2000-07-06 | 2004-01-06 | Microsoft | Identification of active server cluster controller |
US20050204385A1 (en) | 2000-07-24 | 2005-09-15 | Vivcom, Inc. | Processing and presentation of infomercials for audio-visual programs |
US7310678B2 (en) * | 2000-07-28 | 2007-12-18 | Kasenna, Inc. | System, server, and method for variable bit rate multimedia streaming |
US6801947B1 (en) | 2000-08-01 | 2004-10-05 | Nortel Networks Ltd | Method and apparatus for broadcasting media objects with guaranteed quality of service |
WO2002019249A2 (en) | 2000-09-01 | 2002-03-07 | Moxi Digital Inc. | System and method for intelligent buffering and bandwidth allocation |
US7194549B1 (en) | 2000-09-06 | 2007-03-20 | Vulcan Patents Llc | Multicast system using client forwarding |
GB2367219A (en) | 2000-09-20 | 2002-03-27 | Vintage Global | Streaming of media file data over a dynamically variable bandwidth channel |
US6486803B1 (en) * | 2000-09-22 | 2002-11-26 | Digital Fountain, Inc. | On demand encoding with a window |
EP1191793A3 (en) * | 2000-09-25 | 2008-01-23 | Monolith Co., Ltd. | Animation distributing method, animation distributing server and corresponding system |
US7051315B2 (en) | 2000-09-26 | 2006-05-23 | Appstream, Inc. | Network streaming of multi-application program code |
KR100345447B1 (ko) | 2000-09-27 | 2002-07-26 | 한국전자통신연구원 | 스트리밍 서비스를 위한 가변 비트율 처리 방법 |
WO2002030062A1 (en) * | 2000-10-03 | 2002-04-11 | U4Ea Technologies Limited | Allocating priority levels in a data flow |
WO2002039718A2 (en) * | 2000-10-19 | 2002-05-16 | Loudeye Technologies, Inc. | System and method for selective insertion of content into streaming media |
JP3699910B2 (ja) | 2000-10-31 | 2005-09-28 | 株式会社東芝 | データ伝送装置、データ伝送方法及びプログラム |
US7062567B2 (en) * | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US8566211B2 (en) * | 2000-11-22 | 2013-10-22 | Efficient Auctions, Llc | System and method for a dynamic auction with package bidding |
US20020073238A1 (en) | 2000-11-28 | 2002-06-13 | Eli Doron | System and method for media stream adaptation |
US20020091840A1 (en) * | 2000-11-28 | 2002-07-11 | Gregory Pulier | Real-time optimization of streaming media from a plurality of media sources |
US7631039B2 (en) * | 2000-12-01 | 2009-12-08 | Radvision Ltd. | Initiation and support of video conferencing using instant messaging |
US7133923B2 (en) * | 2000-12-11 | 2006-11-07 | Acme Packet, Inc. | System and method for assisting in controlling real-time transport protocol flow through multiple networks via screening |
US7308487B1 (en) | 2000-12-12 | 2007-12-11 | Igate Corp. | System and method for providing fault-tolerant remote controlled computing devices |
WO2002048966A1 (en) * | 2000-12-14 | 2002-06-20 | Rtimage Inc. | Three-dimensional image streaming system and method for medical images |
EP1215663A1 (en) * | 2000-12-15 | 2002-06-19 | BRITISH TELECOMMUNICATIONS public limited company | Encoding audio signals |
US6760772B2 (en) | 2000-12-15 | 2004-07-06 | Qualcomm, Inc. | Generating and implementing a communication protocol and interface for high data rate signal transfer |
GB0031157D0 (en) * | 2000-12-20 | 2001-01-31 | Ncr Int Inc | Streaming of data |
US6934875B2 (en) * | 2000-12-29 | 2005-08-23 | International Business Machines Corporation | Connection cache for highly available TCP systems with fail over connections |
US20020122491A1 (en) * | 2001-01-03 | 2002-09-05 | Marta Karczewicz | Video decoder architecture and method for using same |
NO315887B1 (no) * | 2001-01-04 | 2003-11-03 | Fast Search & Transfer As | Fremgangsmater ved overforing og soking av videoinformasjon |
US6961754B2 (en) * | 2001-01-12 | 2005-11-01 | Telefonaktiebolaget Lm Ericsson | Interactive access, manipulation, sharing and exchange of multimedia data |
US20020131496A1 (en) * | 2001-01-18 | 2002-09-19 | Vinod Vasudevan | System and method for adjusting bit rate and cost of delivery of digital data |
US7640362B2 (en) * | 2001-01-31 | 2009-12-29 | Interdigital Technology Corporation | Adaptive compression in an edge router |
US20020156912A1 (en) | 2001-02-15 | 2002-10-24 | Hurst John T. | Programming content distribution |
AU2002247257A1 (en) * | 2001-03-02 | 2002-09-19 | Kasenna, Inc. | Metadata enabled push-pull model for efficient low-latency video-content distribution over a network |
KR100554239B1 (ko) * | 2001-03-14 | 2006-02-22 | 노키아 코포레이션 | 사용자 및 클라이언트 아이덴티티 인스턴트 메시징 분리 |
US20020133547A1 (en) * | 2001-03-15 | 2002-09-19 | Coretex Limited | Method and system for real time net communication under the basis of documents |
US20020178138A1 (en) * | 2001-03-15 | 2002-11-28 | Semiconductor Components Industries, Llc | Synergistic directory-based information management system and method of using |
US20040117427A1 (en) | 2001-03-16 | 2004-06-17 | Anystream, Inc. | System and method for distributing streaming media |
US7046805B2 (en) * | 2001-03-20 | 2006-05-16 | Digeo, Inc. | System and method for efficiently storing and processing multimedia content |
US7089309B2 (en) * | 2001-03-21 | 2006-08-08 | Theplatform For Media, Inc. | Method and system for managing and distributing digital media |
CA2441630A1 (en) * | 2001-03-22 | 2002-10-03 | Internet Operator (Asia) Pte. Ltd. | Method and system for multi-provider competitive telecommunications services |
US6697072B2 (en) * | 2001-03-26 | 2004-02-24 | Intel Corporation | Method and system for controlling an avatar using computer vision |
US6766407B1 (en) * | 2001-03-27 | 2004-07-20 | Microsoft Corporation | Intelligent streaming framework |
EP1248431B1 (en) | 2001-03-27 | 2007-10-31 | Sony Deutschland GmbH | Method for achieving end-to-end quality of service negotiation for distributed multimedia applications |
US20020144276A1 (en) * | 2001-03-30 | 2002-10-03 | Jim Radford | Method for streamed data delivery over a communications network |
US6925501B2 (en) * | 2001-04-17 | 2005-08-02 | General Instrument Corporation | Multi-rate transcoder for digital streams |
US20020176418A1 (en) * | 2001-04-19 | 2002-11-28 | Russell Hunt | Systems and methods for producing files for streaming from a content file |
US20020194608A1 (en) * | 2001-04-26 | 2002-12-19 | Goldhor Richard S. | Method and apparatus for a playback enhancement system implementing a "Say Again" feature |
US20020174434A1 (en) * | 2001-05-18 | 2002-11-21 | Tsu-Chang Lee | Virtual broadband communication through bundling of a group of circuit switching and packet switching channels |
US20020184391A1 (en) * | 2001-06-05 | 2002-12-05 | Motorola, Inc. | Method and system for orderly communication of chat messages in a wirless network |
US20020188745A1 (en) * | 2001-06-11 | 2002-12-12 | Hughes David A. | Stacked stream for providing content to multiple types of client devices |
US6742082B1 (en) | 2001-06-12 | 2004-05-25 | Network Appliance | Pre-computing streaming media payload method and apparatus |
US7054911B1 (en) | 2001-06-12 | 2006-05-30 | Network Appliance, Inc. | Streaming media bitrate switching methods and apparatus |
US7478164B1 (en) * | 2001-06-12 | 2009-01-13 | Netapp, Inc. | Methods and apparatus for pacing delivery of streaming media data |
WO2003001825A1 (en) * | 2001-06-25 | 2003-01-03 | Ram Jethanand Balani | Method and device for effecting venue specific wireless communication |
JP2003005947A (ja) | 2001-06-25 | 2003-01-10 | Toshiba Corp | サーバ装置、携帯端末、コンテンツ配信方法、コンテンツ受信方法及びプログラム |
US6792449B2 (en) | 2001-06-28 | 2004-09-14 | Microsoft Corporation | Startup methods and apparatuses for use in streaming content |
US20030005455A1 (en) * | 2001-06-29 | 2003-01-02 | Bowers J. Rob | Aggregation of streaming media to improve network performance |
EP1402705B1 (en) | 2001-07-03 | 2005-01-05 | Telefonaktiebolaget LM Ericsson (publ) | Method and system for handling multiple registration |
WO2003009581A1 (en) | 2001-07-19 | 2003-01-30 | British Telecommunications Public Limited Company | Video stream switching |
US7154916B2 (en) * | 2001-07-26 | 2006-12-26 | The Directv Group, Inc. | Method for real-time insertion of auxiliary data packets into DSS bitstream in the presence of one or more service channels |
US7274659B2 (en) * | 2001-07-27 | 2007-09-25 | Western Digital Ventures, Inc. | Providing streaming media data |
CA2460332A1 (en) * | 2001-09-12 | 2003-04-10 | Opentv, Inc. | A method and apparatus for disconnected chat room lurking in an interactive television environment |
US7274661B2 (en) * | 2001-09-17 | 2007-09-25 | Altera Corporation | Flow control method for quality streaming of audio/video/media over packet networks |
US8042132B2 (en) * | 2002-03-15 | 2011-10-18 | Tvworks, Llc | System and method for construction, delivery and display of iTV content |
FI115418B (fi) | 2001-09-20 | 2005-04-29 | Oplayo Oy | Adaptiivinen mediavirta |
AU2002334720B8 (en) | 2001-09-26 | 2006-08-10 | Interact Devices, Inc. | System and method for communicating media signals |
US20030065803A1 (en) * | 2001-09-28 | 2003-04-03 | Koninklijke Philips Electronics N. V. | Intelligent delivery method for streamed content |
US20030081582A1 (en) * | 2001-10-25 | 2003-05-01 | Nikhil Jain | Aggregating multiple wireless communication channels for high data rate transfers |
KR100408525B1 (ko) | 2001-10-31 | 2003-12-06 | 삼성전자주식회사 | 네트워크에 적응적인 실시간 멀티미디어 스트리밍 시스템및 방법 |
AU2002363726A1 (en) | 2001-11-09 | 2003-05-26 | Musicmatch, Inc. | File splitting scalade coding and asynchronous transmission in streamed data transfer |
US7031700B1 (en) | 2001-11-14 | 2006-04-18 | Sprint Spectrum L.P. | Method and system for location-based group conference initiation |
US7093001B2 (en) | 2001-11-26 | 2006-08-15 | Microsoft Corporation | Methods and systems for adaptive delivery of multimedia contents |
US20030121047A1 (en) | 2001-12-20 | 2003-06-26 | Watson Paul T. | System and method for content transmission network selection |
US6789123B2 (en) * | 2001-12-28 | 2004-09-07 | Microsoft Corporation | System and method for delivery of dynamically scalable audio/video content over a network |
CA2471855C (en) * | 2002-01-11 | 2013-03-19 | Akamai Technologies, Inc. | Java application framework for use in a content delivery network (cdn) |
US20030151753A1 (en) * | 2002-02-08 | 2003-08-14 | Shipeng Li | Methods and apparatuses for use in switching between streaming video bitstreams |
US7412531B1 (en) | 2002-01-29 | 2008-08-12 | Blue Coat Systems, Inc. | Live stream archiving method and apparatus |
US7289509B2 (en) * | 2002-02-14 | 2007-10-30 | International Business Machines Corporation | Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (TCP/IP) connections |
EP1359722A1 (en) * | 2002-03-27 | 2003-11-05 | BRITISH TELECOMMUNICATIONS public limited company | Data streaming system and method |
EP1493093A4 (en) | 2002-04-10 | 2008-04-23 | Akamai Tech Inc | METHOD AND SYSTEM FOR IMPROVING REAL FLOW DELIVERY QUALITY USING THE PRE-RAFALE TECHNIQUE |
US7483487B2 (en) * | 2002-04-11 | 2009-01-27 | Microsoft Corporation | Streaming methods and systems |
US20030204602A1 (en) | 2002-04-26 | 2003-10-30 | Hudson Michael D. | Mediated multi-source peer content delivery network architecture |
US7133881B2 (en) * | 2002-04-29 | 2006-11-07 | Intel Corporation | Encoding and transferring media content onto removable storage |
US7657644B1 (en) | 2002-05-10 | 2010-02-02 | Netapp, Inc. | Methods and apparatus for streaming media multicast |
JP4192498B2 (ja) * | 2002-05-17 | 2008-12-10 | 日本電気株式会社 | コンテンツ転送方法、そのプログラム、そのシステム及びサーバ |
US20050223087A1 (en) | 2002-05-17 | 2005-10-06 | Koninklijke Philips Electronics N.V. | Quality driving streaming method and apparatus |
EP1365553A1 (en) * | 2002-05-23 | 2003-11-26 | Accenture Global Services GmbH | Method and device for instant messaging |
US7116894B1 (en) | 2002-05-24 | 2006-10-03 | Digeo, Inc. | System and method for digital multimedia stream conversion |
US20030233464A1 (en) * | 2002-06-10 | 2003-12-18 | Jonathan Walpole | Priority progress streaming for quality-adaptive transmission of data |
US20030236904A1 (en) | 2002-06-19 | 2003-12-25 | Jonathan Walpole | Priority progress multicast streaming for quality-adaptive transmission of data |
JP2004023732A (ja) | 2002-06-20 | 2004-01-22 | Matsushita Electric Ind Co Ltd | データ送信装置、データ受信装置、データ送信方法及びデータ受信方法 |
US7725557B2 (en) | 2002-06-24 | 2010-05-25 | Microsoft Corporation | Client-side caching of streaming media content |
AU2003241143A1 (en) | 2002-06-25 | 2004-01-06 | Quix Technologies Ltd. | Image processing using probabilistic local behavior assumptions |
US7818763B2 (en) * | 2002-06-25 | 2010-10-19 | Starz Entertainment, Llc | Video advertising |
US20040003101A1 (en) * | 2002-06-26 | 2004-01-01 | Roth David J. | Caching control for streaming media |
US7099954B2 (en) | 2002-06-27 | 2006-08-29 | Microsoft Corporation | Congestion control mechanism for streaming media |
CN1217543C (zh) | 2002-06-28 | 2005-08-31 | 国际商业机器公司 | 对等视频点播系统中的设备和方法 |
US7966374B2 (en) * | 2002-07-01 | 2011-06-21 | Profiliq Software Inc. | Adaptive media messaging, such as for rich media messages incorporating digital content |
US8090761B2 (en) * | 2002-07-12 | 2012-01-03 | Hewlett-Packard Development Company, L.P. | Storage and distribution of segmented media data |
US7111044B2 (en) | 2002-07-17 | 2006-09-19 | Fastmobile, Inc. | Method and system for displaying group chat sessions on wireless mobile terminals |
US7802008B2 (en) * | 2002-08-12 | 2010-09-21 | Matsushita Electric Industrial Co., Ltd. | Quality of service management in network gateways |
EP1395014B1 (en) | 2002-08-27 | 2006-06-14 | Matsushita Electric Industrial Co., Ltd. | A method of transmitting data streams with data segments of variable length |
AU2002339523A1 (en) * | 2002-09-06 | 2004-03-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and devices for controlling retransmissions in data streaming |
WO2004025405A2 (en) | 2002-09-10 | 2004-03-25 | Thomson Licensing S.A. | Video on demand server system and method |
US8245252B2 (en) * | 2002-09-10 | 2012-08-14 | Caption Tv, Inc. | System, method, and computer program product for selective replacement of objectionable program content with less-objectionable content |
KR100486713B1 (ko) | 2002-09-17 | 2005-05-03 | 삼성전자주식회사 | 멀티미디어 스트리밍 장치 및 방법 |
FI116498B (fi) * | 2002-09-23 | 2005-11-30 | Nokia Corp | Kaistanleveyden mukauttaminen |
US20040073934A1 (en) * | 2002-09-30 | 2004-04-15 | Sharp Laboratories Of America, Inc. | Streaming video for adaptive user instructions |
US7190670B2 (en) | 2002-10-04 | 2007-03-13 | Nokia Corporation | Method and apparatus for multimedia streaming in a limited bandwidth network with a bottleneck link |
US7643550B2 (en) * | 2002-10-09 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Method for presenting streaming media for an event |
FI116816B (fi) | 2002-10-14 | 2006-02-28 | Nokia Corp | Median suoratoisto |
US7136922B2 (en) | 2002-10-15 | 2006-11-14 | Akamai Technologies, Inc. | Method and system for providing on-demand content delivery for an origin server |
US7328243B2 (en) | 2002-10-31 | 2008-02-05 | Sun Microsystems, Inc. | Collaborative content coherence using mobile agents in peer-to-peer networks |
US7424514B2 (en) | 2002-11-08 | 2008-09-09 | The Regents Of The University Of Michigan | Peer-to-peer method and system for performing and managing backups in a network of nodes |
US7716312B2 (en) * | 2002-11-13 | 2010-05-11 | Avid Technology, Inc. | Method and system for transferring large data files over parallel connections |
ES2314259T3 (es) | 2002-11-18 | 2009-03-16 | British Telecommunications Public Limited Company | Transmision de video. |
SG111978A1 (en) | 2002-11-20 | 2005-06-29 | Victor Company Of Japan | An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control |
US20040103444A1 (en) | 2002-11-26 | 2004-05-27 | Neal Weinberg | Point to multi-point broadcast-quality Internet video broadcasting system with synchronized, simultaneous audience viewing and zero-latency |
US6874015B2 (en) | 2002-12-16 | 2005-03-29 | International Business Machines Corporation | Parallel CDN-based content delivery |
US7792982B2 (en) * | 2003-01-07 | 2010-09-07 | Microsoft Corporation | System and method for distributing streaming content through cooperative networking |
US6968387B2 (en) * | 2003-01-10 | 2005-11-22 | Realnetworks, Inc. | Stochastic adaptive streaming of content |
CN1195274C (zh) * | 2003-01-25 | 2005-03-30 | 华中科技大学 | 基于集群视频服务器的节目源分片分布式存储方法 |
US7260640B1 (en) | 2003-02-13 | 2007-08-21 | Unisys Corproation | System and method for providing an enhanced enterprise streaming media server capacity and performance |
JP2006525693A (ja) * | 2003-02-13 | 2006-11-09 | ノキア コーポレイション | マルチメディア・ストリーミングにおけるクライアント速度機能のシグナリング方法 |
US7336890B2 (en) * | 2003-02-19 | 2008-02-26 | Microsoft Corporation | Automatic detection and segmentation of music videos in an audio/video stream |
US20040168052A1 (en) | 2003-02-25 | 2004-08-26 | Clisham Allister B. | Electronic content communication system and method |
TW591952B (en) * | 2003-03-14 | 2004-06-11 | Cyberlink Corp | Intelligent video stream processing method and system thereof |
CN100536555C (zh) * | 2003-03-19 | 2009-09-02 | 松下电器产业株式会社 | 数据处理装置 |
US7257407B2 (en) * | 2003-03-26 | 2007-08-14 | Sony Corporation | System and method for dynamically allocating data rates and channels to clients in a wireless network |
GB0306973D0 (en) * | 2003-03-26 | 2003-04-30 | British Telecomm | Transmitting video |
US7324523B2 (en) * | 2003-03-26 | 2008-01-29 | Sony Corporation | System and method for dynamically allocating bandwidth to applications in a network based on utility functions |
US7526565B2 (en) * | 2003-04-03 | 2009-04-28 | International Business Machines Corporation | Multiple description hinting and switching for adaptive media services |
US20040196842A1 (en) * | 2003-04-04 | 2004-10-07 | Dobbins Kurt A. | Method and system for according preferred transport based on node identification |
US8321584B2 (en) * | 2003-04-04 | 2012-11-27 | Ellacoya Networks, Inc. | Method and apparatus for offering preferred transport within a broadband subscriber network |
US20040199604A1 (en) * | 2003-04-04 | 2004-10-07 | Dobbins Kurt A. | Method and system for tagging content for preferred transport |
US20040199472A1 (en) * | 2003-04-04 | 2004-10-07 | Dobbins Kurt A. | Method and apparatus for billing over a network |
US7313236B2 (en) | 2003-04-09 | 2007-12-25 | International Business Machines Corporation | Methods and apparatus for secure and adaptive delivery of multimedia content |
US7373416B2 (en) | 2003-04-24 | 2008-05-13 | Akamai Technologies, Inc. | Method and system for constraining server usage in a distributed network |
US7844727B2 (en) * | 2003-04-24 | 2010-11-30 | Nokia Corporation | Method and device for proactive rate adaptation signaling |
WO2004100010A1 (en) * | 2003-04-30 | 2004-11-18 | Iptv Systems, Llc | Secure, continuous, proxy-optimized, device-to-device data download reception system and method of use |
US7577750B2 (en) | 2003-05-23 | 2009-08-18 | Microsoft Corporation | Systems and methods for peer-to-peer collaboration to enhance multimedia streaming |
US20040260701A1 (en) | 2003-05-27 | 2004-12-23 | Juha Lehikoinen | System and method for weblog and sharing in a peer-to-peer environment |
US7797439B2 (en) | 2003-06-23 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | Cost-aware admission control for streaming media server |
US7274740B2 (en) | 2003-06-25 | 2007-09-25 | Sharp Laboratories Of America, Inc. | Wireless video transmission system |
US7328247B2 (en) | 2003-06-26 | 2008-02-05 | Barracuda Networks, Inc. | Self-contained instant messaging appliance |
US7054774B2 (en) | 2003-06-27 | 2006-05-30 | Microsoft Corporation | Midstream determination of varying bandwidth availability |
US7391717B2 (en) | 2003-06-30 | 2008-06-24 | Microsoft Corporation | Streaming of variable bit rate multimedia content |
US20050024487A1 (en) | 2003-07-31 | 2005-02-03 | William Chen | Video codec system with real-time complexity adaptation and region-of-interest coding |
US7941554B2 (en) | 2003-08-01 | 2011-05-10 | Microsoft Corporation | Sparse caching for streaming media |
US20050033855A1 (en) * | 2003-08-05 | 2005-02-10 | Ahmad Moradi | Method and apparatus for generating and marketing video e-mail and an intelligent video streaming server |
DE602004025490D1 (de) | 2003-08-21 | 2010-03-25 | Vidiator Entpr Inc | Metriken für die qualität der erfahrung (qoe) für drahtlose kommunikationsnetze |
US7408984B2 (en) * | 2003-09-17 | 2008-08-05 | International Business Machines Corporation | Method and system for multiple pass video coding |
US7363228B2 (en) * | 2003-09-18 | 2008-04-22 | Interactive Intelligence, Inc. | Speech recognition system and method |
US7349358B2 (en) | 2003-10-06 | 2008-03-25 | Kontiki, Inc. | Method and apparatus for optimizing content delivery on local subnets |
US20070008884A1 (en) * | 2003-10-08 | 2007-01-11 | Bob Tang | Immediate ready implementation of virtually congestion free guarantedd service capable network |
WO2005041533A1 (en) | 2003-10-15 | 2005-05-06 | Ntt Docomo, Inc. | Apparatus and method for controlling an operation of a plurality of communication layers |
CA2543427A1 (en) | 2003-10-22 | 2005-07-07 | Clearplay Inc. | Apparatus and method for blocking audio/visual programming and for muting audio |
US20050108414A1 (en) * | 2003-11-14 | 2005-05-19 | Taylor Thomas M. | System and method for transmitting data in computer systems using virtual streaming |
US7369610B2 (en) | 2003-12-01 | 2008-05-06 | Microsoft Corporation | Enhancement layer switching for scalable video coding |
US7272782B2 (en) | 2003-12-19 | 2007-09-18 | Backweb Technologies, Inc. | System and method for providing offline web application, page, and form access in a networked environment |
WO2005064945A1 (en) | 2003-12-22 | 2005-07-14 | Koninklijke Philips Electronics N.V. | Method of transmitting content with adaptation of encoding characteristics |
US7546355B2 (en) | 2004-01-16 | 2009-06-09 | Bloomberg Finance L.P. | Network architecture for data transmission |
US7400577B2 (en) | 2004-02-25 | 2008-07-15 | Microsoft Corporation | Methods and systems for streaming data |
US20050251832A1 (en) | 2004-03-09 | 2005-11-10 | Chiueh Tzi-Cker | Video acquisition and distribution over wireless networks |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US8868772B2 (en) | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
US20050254508A1 (en) | 2004-05-13 | 2005-11-17 | Nokia Corporation | Cooperation between packetized data bit-rate adaptation and data packet re-transmission |
US7176957B2 (en) | 2004-05-25 | 2007-02-13 | Seiko Epson Corporation | Local video loopback method for a multi-participant conference system using a back-channel video interface |
WO2006014547A2 (en) | 2004-07-02 | 2006-02-09 | Sky Kruse | Transmission of digital content based on configuration of recepient device |
US7593333B2 (en) | 2004-07-07 | 2009-09-22 | Microsoft Corporation | Efficient one-to-many content distribution in a peer-to-peer computer network |
EP1782166A4 (en) | 2004-07-09 | 2010-09-22 | Network Foundation Technologie | SYSTEMS FOR DISTRIBUTING DATA THROUGH A COMPUTER NETWORK AND METHOD FOR ARRANGING NODES FOR DISTRIBUTING DATA THROUGH A COMPUTER NETWORK |
US20060047779A1 (en) | 2004-07-12 | 2006-03-02 | Sharp Laboratories Of America, Inc. | HTTP agent-driven content negotiation for scalable video coding |
US7174385B2 (en) | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
US7738897B2 (en) | 2004-09-17 | 2010-06-15 | Nextel Communications Inc. | Broadcast dispatch chatroom |
US7640352B2 (en) | 2004-09-24 | 2009-12-29 | Microsoft Corporation | Methods and systems for presentation of media obtained from a media stream |
US20060206246A1 (en) | 2004-10-28 | 2006-09-14 | Walker Richard C | Second national / international management and security system for responsible global resourcing through technical management to brige cultural and economic desparity |
US8006279B2 (en) | 2004-12-10 | 2011-08-23 | Alcatel Lucent | Distributive system for marking and blocking video and audio content related to video and audio programs |
US7536469B2 (en) | 2004-12-10 | 2009-05-19 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates |
KR20060065482A (ko) | 2004-12-10 | 2006-06-14 | 마이크로소프트 코포레이션 | 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스 |
US8712243B2 (en) | 2004-12-17 | 2014-04-29 | Alcatel Lucent | Methods and apparatus for achieving multiple bit rates in passive optical networks |
US7761609B1 (en) | 2005-01-20 | 2010-07-20 | Oracle America, Inc. | Socket level packet scheduling for connectionless protocols |
KR100640810B1 (ko) | 2005-01-27 | 2006-11-06 | 엘지전자 주식회사 | 전자결제 기능을 갖는 이동 통신 단말기 및 그 방법 |
US20060184688A1 (en) | 2005-02-17 | 2006-08-17 | Nec Laboratories America, Inc. | System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources |
JP4643330B2 (ja) | 2005-03-28 | 2011-03-02 | ソニー株式会社 | 通信処理装置、データ通信システム、および通信処理方法、並びにコンピュータ・プログラム |
US20080120330A1 (en) | 2005-04-07 | 2008-05-22 | Iofy Corporation | System and Method for Linking User Generated Data Pertaining to Sequential Content |
US20080120342A1 (en) | 2005-04-07 | 2008-05-22 | Iofy Corporation | System and Method for Providing Data to be Used in a Presentation on a Device |
US20060236219A1 (en) | 2005-04-19 | 2006-10-19 | Microsoft Corporation | Media timeline processing infrastructure |
US8370514B2 (en) | 2005-04-28 | 2013-02-05 | DISH Digital L.L.C. | System and method of minimizing network bandwidth retrieved from an external network |
US8683066B2 (en) | 2007-08-06 | 2014-03-25 | DISH Digital L.L.C. | Apparatus, system, and method for multi-bitrate content streaming |
US20080263180A1 (en) | 2007-04-19 | 2008-10-23 | Hurst Mark B | Apparatus, system, and method for resilient content acquisition |
CA2506665A1 (en) | 2005-05-06 | 2006-11-06 | Iotum Inc. | Method of and system for telecommunication management |
FI20055226A0 (fi) | 2005-05-13 | 2005-05-13 | Nokia Corp | Menetelmä ja elementti palvelunohjaukseen |
JP2006343943A (ja) | 2005-06-08 | 2006-12-21 | Murata Mach Ltd | ファイルサーバ装置及び通信管理サーバ装置 |
US20070024705A1 (en) * | 2005-08-01 | 2007-02-01 | Richter Roger K | Systems and methods for video stream selection |
US20070030833A1 (en) | 2005-08-02 | 2007-02-08 | Pirzada Fahd B | Method for managing network content delivery using client application workload patterns and related systems |
US20070067480A1 (en) | 2005-09-19 | 2007-03-22 | Sharp Laboratories Of America, Inc. | Adaptive media playout by server media processing for robust streaming |
US20070078768A1 (en) | 2005-09-22 | 2007-04-05 | Chris Dawson | System and a method for capture and dissemination of digital media across a computer network |
US8132203B2 (en) | 2005-09-30 | 2012-03-06 | Microsoft Corporation | In-program content targeting |
EP1777969A1 (en) | 2005-10-10 | 2007-04-25 | BRITISH TELECOMMUNICATIONS public limited company | Adaptive video transmission with variable frame rate |
US8775655B2 (en) | 2005-10-21 | 2014-07-08 | Roxbeam Media Network Corporation | System and method for presenting streaming media content |
US9554093B2 (en) | 2006-02-27 | 2017-01-24 | Microsoft Technology Licensing, Llc | Automatically inserting advertisements into source video content playback streams |
US7555464B2 (en) | 2006-03-01 | 2009-06-30 | Sony Corporation | Multiple DRM management |
US7660906B1 (en) | 2006-03-27 | 2010-02-09 | Beyond Media, Llc | Data delivery system and method |
US8477658B2 (en) | 2006-04-25 | 2013-07-02 | The Hong Kong University Of Science And Technology | Intelligent peer-to-peer media streaming |
WO2007130695A2 (en) | 2006-05-05 | 2007-11-15 | Globstream, Inc. | Method and apparatus for streaming media to a plurality of adaptive client devices |
US7925781B1 (en) | 2006-05-26 | 2011-04-12 | The Hong Kong University Of Science And Technology | Distributed storage to support user interactivity in peer-to-peer video streaming |
US8311102B2 (en) | 2006-07-26 | 2012-11-13 | Microsoft Corporation | Bitstream switching in multiple bit-rate video streaming environments |
US9325786B2 (en) | 2006-07-27 | 2016-04-26 | The Hong Kong University Of Science And Technology | Peer-to-peer interactive media-on-demand |
KR100755789B1 (ko) * | 2006-07-31 | 2007-09-05 | 삼성전자주식회사 | 휴대용 단말기에서 화상통화 방법 및 장치 |
US20080056373A1 (en) * | 2006-08-29 | 2008-03-06 | Newlin John B | Method and system for dynamic frequency adjustment during video decoding |
KR20080020868A (ko) | 2006-09-01 | 2008-03-06 | 삼성전자주식회사 | 스트리밍 컨텐츠 기록과 재생에 관한 장치 및 방법 |
US20080091838A1 (en) | 2006-10-12 | 2008-04-17 | Sean Miceli | Multi-level congestion control for large scale video conferences |
US8380864B2 (en) * | 2006-12-27 | 2013-02-19 | Microsoft Corporation | Media stream slicing and processing load allocation for multi-user media systems |
US8578045B2 (en) | 2007-02-14 | 2013-11-05 | Microsoft Corporation | Adaptive bandwidth utilization |
US7788395B2 (en) | 2007-02-14 | 2010-08-31 | Microsoft Corporation | Adaptive media playback |
US8832290B2 (en) | 2007-02-23 | 2014-09-09 | Microsoft Corporation | Smart pre-fetching for peer assisted on-demand media |
US20080219151A1 (en) | 2007-03-07 | 2008-09-11 | Nokia Corporation | System and method for using a peer to peer mechanism to repair broadcast data in wireless digital broadcast networks |
US7657648B2 (en) | 2007-06-21 | 2010-02-02 | Microsoft Corporation | Hybrid tree/mesh overlay for data delivery |
US8037135B2 (en) | 2007-06-29 | 2011-10-11 | Microsoft Corporation | Automatic distributed downloading |
US20090049186A1 (en) | 2007-08-16 | 2009-02-19 | Sony Corporation, A Japanese Corporation | Method to facilitate trick-modes for streaming video |
US7873040B2 (en) | 2007-08-20 | 2011-01-18 | Stephen KARLSGODT | Internet radio player |
US9852219B2 (en) | 2007-08-20 | 2017-12-26 | Nokia Technologies Oy | Segmented metadata and indexes for streamed multimedia data |
US8078729B2 (en) | 2007-08-21 | 2011-12-13 | Ntt Docomo, Inc. | Media streaming with online caching and peer-to-peer forwarding |
WO2009065144A1 (en) | 2007-11-16 | 2009-05-22 | Divx, Inc. | Chunk header incorporating binary flags and correlated variable-length fields |
CN101861583B (zh) | 2007-11-16 | 2014-06-04 | 索尼克Ip股份有限公司 | 用于多媒体文件的分级及简化索引结构 |
US9060187B2 (en) | 2008-12-22 | 2015-06-16 | Netflix, Inc. | Bit rate stream switching |
US20100262711A1 (en) | 2009-04-09 | 2010-10-14 | Nokia Corporation | Systems, methods, and apparatuses for media file streaming |
JP5305453B2 (ja) | 2009-06-19 | 2013-10-02 | Necインフロンティア株式会社 | 無線lanの高速ローミングシステム、高速ローミング方法及び高速ローミングプログラム |
KR101401183B1 (ko) | 2009-12-11 | 2014-05-29 | 노키아 코포레이션 | 스트리밍 미디어 파일의 표현을 기술하고 타이밍하기 위한 장치 및 방법 |
WO2012161666A1 (en) | 2011-05-25 | 2012-11-29 | Thai Abs Company Limited | Compositions including polytetrafluoroethylene and processes for the preparation thereof |
-
2005
- 2005-04-28 US US11/116,783 patent/US8868772B2/en active Active
- 2005-05-02 WO PCT/US2005/015091 patent/WO2005109224A2/en active Search and Examination
- 2005-05-02 PT PT121545594T patent/PT2479680T/pt unknown
- 2005-05-02 EP EP20216568.4A patent/EP3822805B1/en active Active
- 2005-05-02 DK DK05744015.8T patent/DK1743249T3/da active
- 2005-05-02 ES ES05744015T patent/ES2845901T3/es active Active
- 2005-05-02 CA CA2564861A patent/CA2564861C/en active Active
- 2005-05-02 EP EP12154559.4A patent/EP2479680B1/en active Active
- 2005-05-02 DK DK20216568.4T patent/DK3822805T3/da active
- 2005-05-02 PT PT202165684T patent/PT3822805T/pt unknown
- 2005-05-02 EP EP05744015.8A patent/EP1743249B1/en active Active
- 2005-05-02 AU AU2005241481A patent/AU2005241481A1/en not_active Abandoned
- 2005-05-02 PT PT57440158T patent/PT1743249T/pt unknown
- 2005-05-02 ES ES12154559T patent/ES2748426T3/es active Active
- 2005-05-02 JP JP2007511070A patent/JP5320740B2/ja active Active
- 2005-05-02 FI FIEP20216568.4T patent/FI3822805T3/fi active
- 2005-05-02 DK DK12154559.4T patent/DK2479680T3/da active
-
2006
- 2006-11-30 KR KR1020067025274A patent/KR101082642B1/ko active IP Right Grant
-
2014
- 2014-10-16 US US14/516,303 patent/US9407564B2/en active Active
-
2016
- 2016-07-11 US US15/207,172 patent/US10225304B2/en active Active
-
2019
- 2019-03-04 US US16/291,343 patent/US10757156B2/en active Active
-
2020
- 2020-08-24 US US17/001,647 patent/US20200389510A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2748426T3 (es) | Procedimiento de presentación de flujos de velocidad adaptativa | |
US11711412B2 (en) | Apparatus, system, and method for multi-bitrate content streaming | |
US10659513B2 (en) | Apparatus, system, and method for multi-bitrate content streaming | |
US8935363B2 (en) | System and method for delivering multimedia content for playback through network | |
AU2011213730B2 (en) | Apparatus, system, and method for adaptive-rate shifting of streaming content | |
Onifade et al. | Guaranteed QoS for Selective Video Retransmission |