MX2011004153A - Fragmentacion dinamica de medios digitales. - Google Patents

Fragmentacion dinamica de medios digitales.

Info

Publication number
MX2011004153A
MX2011004153A MX2011004153A MX2011004153A MX2011004153A MX 2011004153 A MX2011004153 A MX 2011004153A MX 2011004153 A MX2011004153 A MX 2011004153A MX 2011004153 A MX2011004153 A MX 2011004153A MX 2011004153 A MX2011004153 A MX 2011004153A
Authority
MX
Mexico
Prior art keywords
manifest
request
client
file
file fragment
Prior art date
Application number
MX2011004153A
Other languages
English (en)
Inventor
Gurpratap Virdi
John A Bocharov
Geqiang Zhang
Vishal Sood
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MX2011004153A publication Critical patent/MX2011004153A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Se proporciona una fragmentación de medios. En primer lugar, se puede recibir una solicitud para una manifestación de un cliente. Después, en respuesta a la solicitud recibida para el manifiesto, el manifiesto puede enviarse a cliente. Enseguida, se puede recibir una solicitud del cliente para un fragmento de archivo. La solicitud puede indicar un tiempo de inicio y un tiempo de finalización correspondientes al fragmento de archivo. La solicitud puede estar en un formato definido por el manifiesto. Entonces se puede consultar una tabla de búsqueda para una primera ubicación de byte en un archivo de medios correspondiente al tiempo de inicio y una segunda ubicación de byte en el archivo de medios correspondiente al tiempo de finalización. Después, una porción del archivo de medios entre la primera ubicación de byte y la segunda ubicación de byte puede extraerse del archivo de medios. La porción puede comprender el fragmento de archivo. El fragmento de archivo puede ser enviado al cliente.

Description

FRAGMENTACION DINAMICA DE MEDIOS DIGITALES ANTECEDENTES La corriente de audio es un proceso para reproducir archivos de audio y/o video a partir del Internet. Se reproduce una pluralidad de archivos en un cliente de usuario final con el fin de llegar desde un servidor de contenido. Los archivos no se conservan en el cliente de usuario final, así debe sostenerse una conexión de red para mantenerse recibiendo los archivos. En otras palabras, con la corriente, los archivos se reciben constantemente por, y normalmente se presentan al, cliente de usuario final mientras los archivos se están entregando por un proveedor desde el servidor de contenido. La corriente confia en fragmentar físicamente un archivo de contenido en la pluralidad de archivos que comprenden fragmentos de corta duración en un disco. Sin embargo, este proceso de fragmentación crea miles de archivos por hora de contenido asociados con el archivo de contenido, haciendo a las bibliotecas de archivo de contenido resultantes difíciles de manejar debido al gran número de archivos.
BREVE DESCRIPCION DE LA INVENCION Esta breve descripción se proporciona para introducir una selección de conceptos en una forma simplificada que además se describe a continuación en la descripción detallada. Esta breve descripción no pretende identificar características clave o características esenciales del tema reclamado. Esta breve descripción tampoco pretende utilizarse para limitar el alcance del tema reclamado.
Puede proporcionarse fragmentación de medios. En primer lugar, una solicitud de un manifiesto puede recibirse de un cliente. Después, en respuesta a la solicitud recibida para el manifiesto, el manifiesto puede enviarse al cliente. Enseguida puede recibirse una solicitud del cliente para un fragmento de archivo. La solicitud puede indicar un tiempo de inicio y un tiempo de finalización correspondientes al fragmento de archivo. La solicitud puede estar en un formato definido por el manifiesto. Entonces una tabla de búsqueda puede consultarse para una primera ubicación de byte en un archivo de medios que corresponde al tiempo de inicio y una segunda ubicación de byte en el archivo de medios que corresponde al tiempo de finalización. Después, una porción del archivo de medios entre la primera ubicación de byte y la segunda ubicación de byte puede extraerse del archivo de medios. La porción puede comprender el fragmento de archivo. El fragmento de archivo puede enviarse al cliente.
Tanto la descripción general anterior como la siguiente descripción detallada proporcionan ejemplos y son simplemente explicativos. Por consiguiente, la descripción general anterior y la siguiente descripción detallada no deben considerarse restrictivas.
Además, pueden proporcionarse características o variaciones además de aquellas aquí establecidas. Por ejemplo, las modalidades pueden dirigirse a varias combinaciones de característica sub-combinaciones descritas en la descripción detallada.
BREVE DESCRIPCION DE LOS DIBUJOS Los dibujos anexos, que se incorporan en, y constituyen una parte de esta descripción, ilustran varias modalidades de la presente invención. En los dibujos: La Figura 1 es un diagrama de bloques de un ambiente operativo; La Figura 2 es un cuadro de flujo de un método para proporcionar fragmentación de medios; La Figura 3 ilustra un diseño de archivo para un manifiesto; y La Figura 4 es un diagrama de bloques de un sistema que incluye un dispositivo de cómputo.
DESCRIPCION DETALLADA La siguiente descripción detallada se refiere a los dibujos anexos. Cuando sea posible, se utilizan los mismos números de referencia en los dibujos y en la siguiente descripción para hacer referencia a elementos iguales o similares. Aunque las modalidades de la invención pueden describirse, son posibles modificaciones, adaptaciones, y otras implementaciones. Por ejemplo, pueden hacerse sustituciones, adiciones, o modificaciones a los elementos ilustrados en los dibujos, y los métodos aquí descritos pueden modificarse al sustituir, reordenar, o agregar etapas a los métodos descritos. Por consiguiente, la siguiente descripción detallada no limita la invención. A su vez, el alcance apropiado de la invención se define por las rei indicaciones anexas.
Se proporciona fragmentación dinámica de medios digitales para entrega, por ejemplo, descarga progresiva basada en HTTP. Consistente con modalidades de la presente invención, un formato de archivo, un formato de transmisión (por ejemplo, cables), y lógica de servidor pueden proporcionarse para entregar eficientemente fragmentos de corta duración para un archivo de medios que no está físicamente fragmentado en un disco. Los sistemas convencionales confían en archivos de fragmentación física involucrados en fragmentos de corta duración en el disco. Sin embargo, esto puede crear varios miles de archivos por hora de contenido, haciendo a las bibliotecas resultantes difíciles de manejar. Los fragmentos de corta duración (por ejemplo, en el cable) pueden permitir que los datos se guarden en memoria caché efectivamente por proxis (substitutos), influenciar el balance de carga para suministro de escalada, y proporcionar flexibilidad para algoritmos utilizados.
La Figura 1 es un diagrama de bloques de un ambiente operativo que incluye un sistema de fragmentación de medios 100. La fragmentación de medios 100 puede incluir un servidor 105, un cliente 110, y un archivo de medios 115. El archivo de medios 115 puede almacenarse en el servidor 105. El archivo de medios 115 puede incluir un encabezado 120, un primer fragmento 125, un segundo fragmento 130, un nvo. fragmento 135, y una tabla de búsqueda 140. El cliente 110 puede operarse por un usuario que desea ver contenido que corresponde al archivo de medios 115. El servidor 105 puede proporcionar el contenido correspondiente al archivo de medios 115 al cliente 110. El servidor 105 puede implementarse al utilizar un dispositivo de cómputo 400 y cliente 110 puede implementarse al utilizar otros dispositivos de cómputo 418 como se describe en más detalle a continuación en la Figura 4.
La Figura 2 es un cuadro de flujo que establece las etapas generales involucradas en un método 200 consistente con modalidades de la invención para proporcionar fragmentación de medios. El método 200 puede implementarse al utilizar el servidor 105, como se describió anteriormente. Se describirán con mayor detalle a continuación formas para implementar las etapas de métodos 200.
El método 200 puede comenzar en el bloque de inicio 205 y proceder a la etapa 210 en donde el servidor 105 puede recibir una solicitud del cliente 110 para un manifiesto 300 como se describe con respecto a la Figura 3. Por ejemplo, el manifiesto 300 puede especificar diferentes niveles de calidad 310 (por ejemplo, velocidades de bit agregado) de ese contenido correspondiente al archivo de medios 115 que puede dirigirse. También, el manifiesto 300 puede especificar pistas 315 que cada uno pueden corresponder al nivel de calidad. Los niveles de calidad 310 pueden comprender, pero no están limitados a, proporcionar fragmentos en las siguientes velocidades de bits: 1500 Kbps; 1000 Kbps; o 300 Kbps. También, las pistas 315 pueden comprender, pero no están limitadas a, audio, video, y subtítulos. Además, el manifiesto 300 puede describir una convención, por ejemplo, una convención de Localizador de Recurso Uniforme (URL). El cliente 110 puede utilizar esta convención cuando pide al servidor 105 fragmentos de archivo correspondientes al archivo de medios 115. La Figura 3 ilustra un ejemplo por un diseño de archivo para el manifiesto 300.
Desde la etapa 210, en donde el servidor 105 recibe la solicitud del manifiesto 300, el método 200 puede avanzar a la etapa 220 en donde el servidor 105 puede enviar, en respuesta a la solicitud recibida, el manifiesto 300 al cliente 110. Por ejemplo, como se mencionó anteriormente, el manifiesto 300 puede describir varios niveles de calidad disponibles para el cliente 110. Consecuentemente, el servidor 105 puede enviar al cliente 110 el manifiesto 300 que describe información (por ejemplo, archivo de medios 115) que está disponible en el servidor 105 y cómo el cliente 110 puede adquirir la información.
Una vez que el servidor 105 envía el manifiesto 300 al cliente 110 en la etapa 220, el método 200 pode continuar a la etapa 230 en donde el servidor 105 puede recibir del cliente 110 una solicitud para un fragmento de archivo. La solicitud puede estar en un formato definido por el manifiesto. Cuando se crea la solicitud, el cliente 110 puede tomar en cuenta la convención descrita por el manifiesto 300. Por ejemplo, el cliente 110 puede construir la solicitud en un formato URL. La solicitud puede tener en un nivel más alto, un nombre de un contenido que el usuario desea ver (por ejemplo, un nombre de película). En un siguiente nivel la solicitud puede indicar un nivel de velocidad de bits/calidad deseada (por ejemplo, 1500 Kbps). Y en un nivel subsecuente, la solicitud puede indicar una pista (por ejemplo, video). A un nivel subsecuente uniforme, la solicitud puede indicar un tiempo de inicio y un tiempo de finalización correspondientes al fragmento de archivo asociado con el contenido nombrado en la solicitud, por ejemplo.
El cliente 110 puede hacer solicitudes sucesivas correspondientes a las porciones sucesivas en tiempo del contenido. Además, el cliente 110 puede evaluar el ancho de banda disponible para el cliente 110 en una red (no mostrada) que conecta el cliente 110 al servidor 105. Basándose en el ancho de banda de evaluación, el cliente 110 puede aumentar o disminuir el nivel de velocidad de bits/calidad en las solicitudes. Por ejemplo, el cliente 110 puede construir una solicitud que pide un video a 1.5 Megabits de 0 segundos a 2 segundos de una película. Entonces, el cliente 110 puede construir una siguiente solicitud que pide video a 1.5 Megabits por segundo de 2 segundos en 4 segundos de la película. Después de determinar que existe un cuello de botella en el cliente de conexión de red 110 al servidor 105, el cliente 110 puede construir una solicitud subsecuente que pide video a 500 kilobits por segundo de 4 segundos a 6 segundos. El nivel de velocidad de bits/calidad puede reducirse debido al cuello de botella determinado.
Después de que el servidor 105 recibe la solicitud del fragmento de archivo en la etapa 230, el método 200 puede proceder a la etapa 240 en donde el servidor 105 puede consultar la tabla de revisión 140 para una primera ubicación de byte en el archivo de medios 115 correspondiente al tiempo de inicio y una segunda ubicación de byte en el archivo de medios 115 correspondiente al tiempo de finalización. Por ejemplo, el servidor 105 puede recibir una solicitud que pide video a 1.5 Megabits por segundo de 0 segundos a 2 segundos de una película particular. Desde el encabezado 120, el servidor 105 puede determinar que esta solicitud corresponde al archivo de medios 115. Entonces, el servidor 105 puede guardar en memoria caché la tabla de búsqueda 140 en una memoria en el servidor 105. El servidor 105 entonces puede consultar la tabla de búsqueda 140 con el tiempo de inicio (por ejemplo, 0 segundos) y el tiempo de finalización (por ejemplo, 2 segundos). En respuesta a la consulta, la tabla de búsqueda 140 puede regresar correspondientemente la primera ubicación de byte (por ejemplo, posición de byte 30,000) en el archivo de medios 115 del primer fragmento 125 y la segunda ubicación de byte (por ejemplo, posición de byte 60,000) en el archivo de medios 115 del primer fragmento 125.
Una vez que el servidor 105 consulta la tabla de búsqueda 140 en la etapa 240, el método 200 puede continuar a la etapa 250 en donde el servidor 105 puede extraer, del archivo de medios 115, una porción de archivo de medios 115 entre la primera ubicación de byte y la segunda ubicación de byte. La porción puede comprender un primer fragmento 125. Por ejemplo, en lugar de mantener datos correspondientes al primer fragmento 125, el segundo fragmento 130, y nvo. fragmento 135 como archivos completamente separados en el servidor 105, el servidor 105 puede buscar la ubicación de estos fragmentos en el archivo de medios contiguos 115 y entonces extraer los datos correspondientes a los fragmentos del archivo de medios 115 por solicitud.
Después de que el servidor 105 extrae la porción del archivo de medios 115 a la etapa 250, el método 200 puede proceder a la etapa 260 en donde el servidor 105 puede enviar los datos extraídos correspondientes al primer fragmento 125 y al cliente 110. Además, para solicitudes subsecuentes del cliente 110, el servidor 105 puede buscar ubicaciones de fragmentos correspondientes a las solicitudes subsecuentes en archivo de medios contiguo 115 y entonces extraer datos correspondientes a los fragmentos correspondientes del archivo de medios 115 por las solicitudes subsecuentes. Una vez que el servidor 105 envía el fragmento de archivo al cliente 110 en la etapa 260, el método 200 entonces puede terminar en la etapa 270.
Una modalidad consistente con la invención puede comprender un sistema para proporcionar fragmentación de medios. El sistema puede comprender un almacenamiento de memoria y una unidad de procesamiento acoplada al almacenamiento de memoria. La unidad de procesamiento puede ser operativa para recibir una solicitud para un manifiesto de un cliente y para enviar, en respuesta a la solicitud recibida para el manifiesto, el manifiesto al cliente. Además, la unidad de procesamiento puede ser operativa para recibir del cliente una solicitud para un fragmento de archivo. La solicitud puede indicar un tiempo de inicio y un tiempo de finalización correspondientes al fragmento de archivo. La solicitud puede estar en un formato definido por el manifiesto. Además, la unidad de procesamiento puede ser operativa para consultar una tabla de búsqueda para una primera ubicación de byte y en un archivo de medios correspondiente al tiempo de inicio y una segunda ubicación de byte en el archivo de medios correspondiente al tiempo de finalización. Además, la unidad de procesamiento puede ser ' operativa para extraer del archivo de medios, una porción del archivo de medios entre la primera ubicación de byte y la segunda ubicación de byte. La porción puede comprender el fragmento de archivo. También, la unidad de procesamiento puede ser operativa para enviar el fragmento de archivo al cliente.
Otra modalidad consistente con la invención puede comprender un sistema para proporcionar fragmentación de medios. El sistema puede comprender un almacenamiento de memoria y una unidad de procesamiento acoplada al almacenamiento de memoria. La unidad de procesamiento puede ser operativa para recibir una solicitud para un fragmento de archivo. La solicitud puede indicar un tiempo de inicio y un tiempo de finalización correspondientes al fragmento de archivo. La solicitud puede estar en un formato definido por un manifiesto. El manifiesto puede describir pistas disponibles correspondientes a niveles de calidad disponibles. La unidad de procesamiento además puede ser operativa para guardar en memoria caché una tabla de búsqueda en el almacenamiento de memoria de un servidor. Además, la unidad de procesamiento puede ser operativa para consultar la tabla de búsqueda guardada en memoria caché para una primera ubicación de byte en un archivo de medios correspondiente al tiempo de inicio y una segunda ubicación de byte en el archivo de medios que corresponde al tiempo de finalización. Además, la unidad de procesamiento puede ser operativa para extraer del archivo de medios, una porción del archivo de medios entre la primera ubicación de byte y la segunda ubicación de byte. La porción puede comprender el fragmento de archivo.
Incluso otra modalidad consistente con la invención puede comprender un sistema para proporcionar fragmentación de medios. El sistema puede comprender un almacenamiento de memoria y una unidad de procesamiento acoplada al almacenamiento de memoria. La unidad de procesamiento puede ser operativa para recibir una solicitud para un manifiesto desde un cliente y para enviar, en respuesta a la solicitud recibida para el manifiesto, el manifiesto al cliente. El manifiesto puede describir un formato y pistas disponibles correspondientes a los niveles de calidad disponibles. Además, la unidad de procesamiento puede ser operativa para recibir desde el cliente una solicitud para un fragmento de archivo. La solicitud puede indicar un tiempo de inicio y un tiempo de finalización correspondientes al fragmento de archivo. La solicitud puede estar en el formato definido por el manifiesto. La solicitud puede indicar una pista y un nivel de calidad correspondiente al fragmento de archivo. Además, la unidad de procesamiento pues ser operativa para guardar en memoria caché una tabla de búsqueda en el almacenamiento de memoria y para consultar la tabla de búsqueda guardada en memoria caché para una primera ubicación de byte en un archivo de medios correspondiente al tiempo de inicio y una segunda ubicación de byte en el archivo de medios correspondiente al tiempo de finalización. Además, la unidad de procesamiento puede ser operativa para extraer del archivo de medios, una porción del archivo de medios entre la primera ubicación de byte y la segunda ubicación de byte. La porción puede comprender el fragmento de archivo correspondiente a la pista indicada y el nivel de calidad. Además, la unidad de procesamiento puede ser operativa para enviar el fragmento de archivo al cliente.
La Figura 4 es un diagrama de bloques de un sistema que incluye un dispositivo de cómputo 400. Consistente con una modalidad de la invención, el almacenamiento de memoria antes mencionado y la unidad de procesamiento pueden implementarse en un dispositivo de cómputo, tal como el dispositivo de cómputo 400 de la Figura 4. Cualquier combinación adecuada de hardware, software, o firmware puede utilizarse para implementar el almacenamiento de memoria y la unidad de procesamiento. Por ejemplo, el almacenamiento de memoria a la unidad de procesamiento pueden implementarse con el dispositivo de cómputo 400 ó cualquier otro de los dispositivos de cómputo 418 (por ejemplo cliente 110), en combinación con el dispositivo de cómputo 400. El sistema, dispositivo, y otros sistemas, dispositivos, y procesadores, antes mencionados, son ejemplos, y otros sistemas, dispositivos y procesadores pueden comprender el almacenamiento de memoria antes mencionado y la unidad de procesamiento, consistente con modalidades de la invención. Además, el dispositivo de cómputo 400 puede comprender un ambiente operativo para el sistema 100 como se describió anteriormente. El sistema 100 puede operar en otros ambientes y no está limitado al dispositivo de cómputo 400.
Con referencia a la Figura 4, un sistema consistente con una modalidad de la invención puede incluir un dispositivo de cómputo, tal como un dispositivo de cómputo 400. En una configuración básica, el dispositivo de cómputo 400 puede incluir al menos una unidad de procesamiento 402 y una memoria de sistema 404. Dependiendo de la configuración y tipo de dispositivo de cómputo, la memoria de sistema 404 puede comprender, pero no está limitada a, volátil (por ejemplo memoria de acceso aleatorio (RAM)), no volátil (por ejemplo memoria de sólo lectura (ROM)), memorias flash, o cualquier combinación. La memoria de sistema 104 puede incluir el sistema operativo 405, uno o más módulos de programación 406, y puede incluir datos de programa 407 y archivo de medios 115. El sistema operativo 405, por ejemplo, puede ser adecuado para controlar la operación del dispositivo de cómputo 400. En una modalidad, los módulos de programación 406 pueden incluir, por ejemplo una aplicación de fragmentación 420. Además, las modalidades de la invención pueden practicarse en conjunto con una biblioteca de gráficos, otros sistemas operativos, o cualquier otro programa de aplicación y no está limitada a ninguna aplicación o sistema particular. Esta configuración básica se ilustra en la Figura 4 por esos componentes dentro de una línea punteada 408.
El dispositivo de cómputo 400 puede tener características o funcionalidad adicionales. Por ejemplo, el dispositivo de cómputo 400 también puede incluir dispositivos de almacenamiento de datos adicionales (removibles y/o no removíbles) tal como, por ejemplo, discos magnéticos, discos ópticos, o cinta. Tal almacenamiento adicional se ilustra en la Figura 4 por un almacenamiento removible 409 y un almacenamiento no removible 410. Los medios de almacenamiento por computadora pueden incluir medios volátiles y no volátiles, removibles y no removibles implementados en cualquier método o tecnología para almacenamiento de información, tal como instrucciones legibles por computadora, estructuras de datos, módulos de programa, u otros datos. La memoria de sistema 404, almacenamiento removible 409, y almacenamiento no removible 410 son todos ejemplos de medios de almacenamiento por computadora (es decir almacenamiento de memoria). Los medios de almacenamiento por computadora pueden incluir, pero no están ? 15 limitados a, RAM, ROM, memoria de sólo lectura eléctricamente borrable (EEPROM), memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medios que puede utilizarse para almacenar información y que pueden accederse por el dispositivo de cómputo 400. Cualquiera de tales medios de almacenamiento por computadora puede ser parte del dispositivo 400. El dispositivo de cómputo 400 también puede tener dispositivo(s) de entrada 412 tal como un teclado, un ratón, una pluma, un dispositivo de entrada de sonido, un dispositivo de entrada táctil, etc. El dispositivo(s) de salida 414 tal como una pantalla, bocinas, una impresora, etc., también puede incluirse. Los dispositivos antes mencionados son ejemplos y pueden utilizarse otros.
El dispositivo de cómputo 400 también puede contener una conexión de comunicación 416 que puede permitir al dispositivo 400 comunicarse con otros dispositivos de cómputo 418, tal como a través una red en un ambiente de cómputo distribuido, por ejemplo, intranet o Internet. La conexión de comunicación 416 es un ejemplo de medios de comunicación. Los medios de comunicación pueden representarse típicamente por instrucciones legibles por computadora, estructuras de datos, módulos de programa, u otros datos en una señal de datos modulada, tal como una onda portadora u otro mecanismo de transporte, e incluye cualquier medio de entrega de información. El término "señal de datos modulada" puede describir una señal que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la señal. A manera de ejemplo, y no de limitación, los medios de comunicación pueden incluir medios por cable tal como red por cable o conexión por cable directa, y medios inalámbricos tal como medios acústicos, de radiofrecuencia (RF), infrarrojos, y otros inalámbricos. El término medios legibles por computadora como si utiliza aquí puede incluir tanto medios de almacenamiento como medios de comunicación.
Como se mencionó anteriormente, un número de módulos de programa y archivos de datos puede almacenarse en la memoria de sistema 404, incluyendo el sistema operativo 405. Mientras se ejecuta en la unidad de procesamiento 402, los módulos de programación 406 (por ejemplo aplicación de fragmentación 420) pueden realizar procesos que incluyen, por ejemplo, una o más etapas del método 200 como se describió anteriormente. El proceso antes mencionado es un ejemplo, y la unidad de procesamiento 402 puede realizar otros procesos. Otros módulos de programación que pueden utilizarse de acuerdo con modalidades de la presente invención pueden incluir aplicaciones de correo electrónico y contactos, aplicaciones de procesamiento de palabras, aplicaciones de hoja de cálculo, aplicaciones de base de datos, aplicaciones de presentación de diapositivas, programas de aplicación de dibujo o asistidos por computadora, etc.
Generalmente, consistente con modalidades de la invención, los módulos de programa pueden incluir rutinas, programas, componentes, estructuras de datos, y otros tipos de estructuras que pueden realizar tareas particulares o que pueden implementar tipos de datos abstractos particulares. Además, las modalidades de la invención pueden practicarse con otras configuraciones de sistema de computadora, que incluyen dispositivos portátiles, sistemas de multiprocesador, electrónica a base de microprocesador o de consumidor programable, minicomputadoras, macrocomputadoras, y similares. Las modalidades de la invención también pueden practicarse en ambientes de cómputo distribuidos en donde las tareas se realizan por dispositivos de procesamiento remoto que están enlazados a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los módulos de programa pueden localizarse en dispositivos de almacenamiento de memoria local y remota.
Además, las modalidades de la invención pueden practicarse en un circuito eléctrico que comprende elementos electrónicos distintos, chips electrónicos empaquetados o integrados que contienen accesos lógicos, un circuito que utiliza un microprocesador, o en un chip individual que contiene elementos electrónicos o microprocesadores. Las modalidades de la invención también pueden practicarse al utilizar otras tecnologías capaces de realizar operaciones lógicas tal como, por ejemplo, Y, O, y NO, que incluyen pero no se limitan a tecnologías mecánicas, ópticas, fluidas y quantum. Además, las modalidades de la invención pueden practicarse dentro de una computadora de propósito general o en cualquier otro de los circuitos o sistemas.
Las modalidades de la invención, por ejemplo, pueden implementarse como un proceso de computadora (método), un sistema de cómputo, o como un artículo de fabricación, tal como un producto de programa de computadora o medios legibles por computadora. El producto de programa de computadora puede ser un medio de almacenamiento por computadora legible por un sistema de computadora y que codifica un programa de computadora de instrucciones para ejecutar un proceso de computadora. El producto de programa de computadora también puede ser una señal propagada en un portador legible por un sistema de cómputo y que codifica un programa de computadora y da instrucciones para ejecutar un proceso de computadora. Por consiguiente, la presente invención puede representarse en hardware y/o en software (que incluye firmware, software residente, micro-código, etc.). En otras palabras, las modalidades de la presente invención pueden tomar la forma de un producto de programa de computadora en un medios de almacenamiento útil por computadora o legible por computadora que tiene código de programa útil por computadora legible por computadora representado en el medio para usarse por o en conexión con un sistema de ejecución de instrucción. Un medio útil por computadora o legible por computadora puede ser cualquier medio que puede contener, almacenar, comunicar, propagar, o transportar el programa para uso por o en conexión con el sistema de ejecución de instrucción, aparato o dispositivo.
El medio útil por computadora o legible por computadora puede ser, por ejemplo pero no limitado a, un sistema, aparato, dispositivo, o medios de preparación electrónico, magnético, óptico, electromagnético, infrarrojo, o semiconductor. Ejemplos de medios legibles por computadora más específicos (una lista no exhaustiva), el medio legible por computadora puede incluir lo siguiente: una conexión eléctrica que tiene uno o más cables, un disquete de computadora portátil, una memoria de acceso aleatorio (RAM), una memoria de sólo lectura (ROM), una memoria sólo de lectura programable borrable (EPROM o memoria flash), una fibra óptica y una memoria sólo de lectura de disco compacto portátil (CD-ROM). Se debe notar que un medios útil por computadora o legible por computadora puede ser incluso un medios de papel u otro adecuado en el cual el primer programa, ya que el programa puede capturarse electrónicamente, a través de, por ejemplo, escaneo óptico del papel u otro medios, entonces recopilarse, interpretarse o de otra forma procesarse en una forma adecuada, si es necesario, y entonces almacenarse en una memoria de computadora.
Las modalidades de la presente invención, por ejemplo, se describieron anteriormente con referencia a diagramas de bloques y/o ilustraciones operativas de métodos, sistemas, y productos de programa de computadora de acuerdo con modalidades de la invención. Las funciones/actos notados en los bloques pueden ocurrir fuera del orden como se muestra en el cuadro de flujo. Por ejemplo, dos bloques mostrados en sucesión de hecho pueden ejecutarse substanciaimente de forma concurrente o los bloques algunas veces pueden ejecutarse en el orden inverso, dependiendo de la funcionalidad/actos involucrados.
Aunque se han descrito ciertas modalidades de la invención, pueden existir otras modalidades. Además, aunque modalidades de la presente invención se han descrito como estando asociadas con datos almacenados en memoria y otros medios de almacenamiento, los datos también pueden almacenarse en o leerse de otros tipos de medios elegibles por computadora, tales como dispositivos de almacenamiento secundario, como discos duros, discos flexibles, o un CD-ROM, una onda portadora de Internet, u otras formas de RAM o ROM. Además, las etapas de métodos descritos pueden modificarse en cualquier forma, incluyendo al reordenar etapas y/o insertar o eliminar etapas, sin apartarse de la invención.
Todos los derechos que incluyen derechos de autor en el código incluido aquí se conceden y son la propiedad del solicitante. El solicitante retiene y se reserva todos los derechos en el código aquí incluido, que otorga permiso para reproducir el material únicamente en conexión con reproducción de la patente otorgada y para ningún otro propósito.
Aunque la especificación incluye ejemplos, el alcance de la invención se indica por las siguientes reivindicaciones. Además, aunque la especificación se ha descrito en lenguaje específico a características estructurales y/o actos metodológicos, las reivindicaciones no están limitadas a las características o actos descritos anteriormente. En lugar de eso, las características y actos específicos descritos anteriormente se describen como ejemplo para modalidades de la invención.

Claims (1)

  1. REIVINDICACIONES 1. - Un método para proporcionar fragmentación de medios, el método comprende: recibir (210) una solicitud para un manifiesto (300) de un \ cliente (110); enviar (220), en respuesta a la solicitud recibida para el manifiesto (300), el manifiesto (300) al cliente (110); recibir (230) del cliente (110) una solicitud para un fragmento de archivo (125, 130, 135), la solicitud indicando un. tiempo de inicio y un tiempo de finalización que corresponden al fragmento de archivo (125, 130, 135), la solicitud estando en un formato definido por el manifiesto (300); consultar (240) una tabla de búsqueda (140) para una primera ubicación de byte en un archivo de medios (115) que corresponde al tiempo de inicio y una segunda ubicación de byte en el archivo de medios (115) que corresponde al tiempo de finalización; extraer (250) del archivo de medios (115) una porción del archivo de medios (115) entre la primera ubicación de byte y la segunda ubicación de byte, la porción comprende el fragmento de archivo (125, 130, 135); y enviar (260) el fragmento de archivo (125, 130, 135) al cliente (110). 2. - El método de acuerdo con la reivindicación 1, en donde enviar (220) el manifiesto (300) comprende enviar el manifiesto (300) que describe medios disponibles para el cliente (110). 3. - El método de acuerdo con la reivindicación 1, en donde enviar (220) el manifiesto (300) comprende enviar el manifiesto (300) que describe cómo la solicitud se va a formatear en un Localizador de Recurso Uniforme (URL). 4. - El método de acuerdo con la reivindicación 1, en donde enviar (220) el manifiesto (300) comprende enviar el manifiesto (300) indicando una pluralidad de títulos correspondientes a medios disponibles para el cliente (110). 5.- El método de acuerdo con la reivindicación 1, en donde enviar (220) el manifiesto (300) comprende 'enviar el manifiesto (300) que describe niveles de calidad disponibles (310) para el fragmento de archivo (125, 130, 135). 6.- El método de acuerdo con la reivindicación 1, en donde enviar (220) el manifiesto (300) comprende enviar el manifiesto (300) que describe niveles de calidad disponibles (310) para el fragmento de archivo (125, 130, 135), los niveles de calidad disponibles (310) proporcionan correspondientemente el fragmento (125, 130, 135) a las siguientes velocidades de bit: 1500 Kbps, 1000 Kbps, y 300 Kbps 7.- El método de acuerdo con la reivindicación 1, en donde enviar (220) el manifiesto (300) comprende enviar el manifiesto (300) que describe pistas disponibles (315) correspondientes a los niveles de calidad disponibles (310). 8.- El método de acuerdo con la reivindicación 1, en donde enviar (220) el manifiesto (300) comprende enviar el manifiesto (300) que describe pistas disponibles (315) correspondientes a los niveles de calidad disponibles (310), las pistas disponibles (315) comprenden al menos uno de los siguientes: audio, video, y subtítulos. 9.- El método de acuerdo con la reivindicación 1, en donde recibir (230) del cliente (110) la solicitud comprende recibir del cliente (110) la solicitud del fragmento de archivo (125, 130, 135), la solicitud indicando un nivel de calidad para el fragmento de archivo (125, 130, 135). 10.- El método de acuerdo con la reivindicación 1, en donde recibir (230) del cliente (110) la solicitud comprende recibir del cliente (110) la solicitud del fragmento de archivo (125, 130, 135), la s solicitud indicando un nivel de calidad para el fragmento de archivo (125, 130, 135), el nivel de calidad está basado en el ancho de banda disponible para el cliente (110) en una red. 11. - El método de acuerdo con la reivindicación 1, en donde recibir (230) del cliente (110) la solicitud comprende recibir del cliente (110) la solicitud para el fragmento de archivo (125, 130, 135), la solicitud indicando un nivel de calidad para el fragmento de archivo (125, 130, 135), el nivel de calidad está configurado para proporcionar el fragmento (125, 130, 135) en una de las siguientes velocidades de bit: 1500 Kbps, 1000 Kbps, y 300 Kbps 12. - El método de acuerdo con la reivindicación 1, en donde recibir (230) del cliente (110) la solicitud comprende recibir del cliente (110) la solicitud para el fragmento de archivo (125, 130, 135), la solicitud indicando una pista para el fragmento de archivo (125, 130, 135). 13. - El método de acuerdo con la reivindicación 1, en donde recibir (230) del cliente (110) la solicitud comprende recibir del cliente (110) la solicitud para el fragmento de archivo (125, 130, 135), la solicitud indicando una pista para el fragmento de archivo (125, 130, 135), la pista comprende uno de los siguientes: audio, video, y subtítulos. 14. - El método de acuerdo con la reivindicación 1, que además comprende guardar en memoria caché la tabla de búsqueda (140) en la memoria de un servidor (105), en donde consultar (240) la tabla de búsqueda (140) comprende consultar la tabla de búsqueda guardada en memoria caché (140). 15. - Un medios legible por computadora que almacena un grupo de instrucciones que cuando se ejecutan realizan un método para proporcionar fragmentación de medios, el método ejecutado por el grupo de instrucciones comprende: recibir (230) una solicitud de un fragmento de archivo (125, 130, 135), la solicitud indicando un tiempo de inicio y un tiempo de finalización correspondientes al fragmento de archivo (125, 130, 135), la solicitud estando en un formato definido por un manifiesto (300), el manifiesto (300) describe pistas disponibles (315) correspondientes a niveles de calidad disponibles (310); guardar en memoria caché una tabla de búsqueda (140) en la memoria de un servidor (105); consultar (240) la tabla de búsqueda guardada en memoria caché (140) para una primera ubicación de byte en un archivo de medios (115) que corresponde al tiempo de inicio y una segunda ubicación de byte en el archivo de medios (115) que corresponde al tiempo de finalización; y extraer (250) del archivo de medios (115) una porción del archivo de medios (115) entre la primera ubicación de byte y la segunda ubicación de byte, la porción comprende el fragmento de archivo (125, 130, 135). 16.- El medios legible por computadora de acuerdo con la reivindicación 15, que además comprende: recibir (210) una solicitud para el manifiesto (300) de un cliente (110); y enviar (220), en respuesta a la solicitud recibida para el manifiesto (300), el manifiesto (300) al cliente (110). 17.- El medios legible por computadora de acuerdo con la reivindicación 16, en donde enviar (220) el manifiesto (300) comprende enviar el manifiesto (300) que describe cómo la solicitud se va a formatear en un Localizador de Recurso Uniforme (URL). 18.- El medios legible por computadora de acuerdo con la reivindicación 15, en donde recibir (230) la solicitud comprende recibir la solicitud indicando una pista para el fragmento de archivo (125, 130, 135), la pista comprende uno de los siguientes: audio, video, y subtítulos, la solicitud indicando un nivel de calidad para el fragmento de archivo (125, 130, 135), el nivel de calidad estando configurado para proporcionar el fragmento (125, 130, 135) a una de las siguientes velocidades de bit: 1500 Kbps, 1000 Kbps, y 300 Kbps 19. - El medios legible por computadora de acuerdo con la reivindicación 15, que además comprende enviar (260) el fragmento de archivo (125, 130, 135) a un cliente (110) que solicitó el fragmento de archivo (125, 130, 135). 20. - Un sistema 100 para proporcionar fragmentación de medios, el sistema comprende: un almacenamiento de memoria (404, 409, 410); y una unidad de procesamiento (402) acoplada al almacenamiento de memoria (404, 409, 410), en donde la unidad de procesamiento (402) es operativa para: recibir (210) una solicitud para un manifiesto (300) de un cliente (110); enviar (220), en respuesta a la solicitud recibida para el manifiesto (300), el manifiesto (300) al cliente (110), el manifiesto (300) describiendo un formato y pistas disponibles (315) correspondientes a los niveles de calidad disponibles (310); recibir (230) del cliente (110) una solicitud de un fragmento de archivo (125, 130, 135), la solicitud indicando un tiempo de inicio y un tiempo de finalización correspondientes al fragmento de archivo (125, 130, 135), la solicitud estando en el formato definido por el manifiesto (300), la solicitud indicando una pista y un nivel de calidad correspondiente al fragmento de archivo (125, 130, 135); guardar en memoria caché una tabla de búsqueda (140) en el almacenamiento de memoria; consultar (240) la tabla de búsqueda guardada en memoria caché (140) para una primera ubicación de byte en un archivo de medios (115) correspondiente al tiempo de inicio y una segunda ubicación de byte en el archivo de medios (115) correspondiente al tiempo de finalización; extraer (250) del archivo de medios (115) una porción del archivo de medios (115) entre la primera ubicación de byte y la segunda ubicación de byte, la porción comprende el fragmento de archivo (125, 130, 135) correspondiente a la pista indicada y nivel de calidad; y enviar (260) el fragmento de archivo (125, 130, 135) al cliente (110).
MX2011004153A 2008-10-31 2009-10-16 Fragmentacion dinamica de medios digitales. MX2011004153A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/262,593 US8996547B2 (en) 2008-10-31 2008-10-31 Dynamic fragmentation of digital media
PCT/US2009/060984 WO2010051169A2 (en) 2008-10-31 2009-10-16 Dynamic fragmentation of digital media

Publications (1)

Publication Number Publication Date
MX2011004153A true MX2011004153A (es) 2011-05-23

Family

ID=42129508

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2011004153A MX2011004153A (es) 2008-10-31 2009-10-16 Fragmentacion dinamica de medios digitales.

Country Status (9)

Country Link
US (1) US8996547B2 (es)
EP (1) EP2350858A4 (es)
JP (1) JP2012507940A (es)
KR (1) KR101616147B1 (es)
CN (1) CN102203761B (es)
AU (1) AU2009309089B2 (es)
CA (1) CA2737108C (es)
MX (1) MX2011004153A (es)
WO (1) WO2010051169A2 (es)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7860996B2 (en) 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8838824B2 (en) * 2009-03-16 2014-09-16 Onmobile Global Limited Method and apparatus for delivery of adapted media
EP2417743B1 (en) * 2009-04-09 2019-06-05 Telefonaktiebolaget LM Ericsson (publ) Methods and arrangements for creating and handling media files
US10410222B2 (en) 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US9002881B2 (en) 2009-10-29 2015-04-07 Microsoft Technology Licensing, Llc Assembling streamed content for on-demand presentation
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20120114016A (ko) * 2011-04-06 2012-10-16 삼성전자주식회사 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
WO2013085920A2 (en) 2011-12-06 2013-06-13 DISH Digital L.L.C. Remote storage digital video recorder and related operating methods
US9049484B2 (en) 2011-12-06 2015-06-02 Echostar Technologies L.L.C. Efficient assignment of program copies in a network digital video recorder
US8627387B2 (en) 2011-12-22 2014-01-07 Telefonaktiebolaget L M Ericsson (Publ) Distributed method of indexing time and file size alignment
CN104255009B (zh) 2012-04-25 2018-04-20 华为技术有限公司 用于自适应流媒体的片段完整性和真实性的系统和方法
EP2680527A1 (en) * 2012-06-28 2014-01-01 Alcatel-Lucent Adaptive streaming aware node, encoder and client enabling smooth quality transition
JP6175749B2 (ja) * 2012-09-19 2017-08-09 沖電気工業株式会社 コンテンツ送信装置、プログラム及びコンテンツ送信方法
US8904457B2 (en) 2012-12-28 2014-12-02 Microsoft Corporation Archiving a live media presentation
WO2014106206A1 (en) 2012-12-28 2014-07-03 DISH Digital L.L.C. Adaptive multicast delivery of media streams
US9344472B2 (en) 2012-12-28 2016-05-17 Microsoft Technology Licensing, Llc Seamlessly playing a composite media presentation
US10104141B2 (en) 2012-12-31 2018-10-16 DISH Technologies L.L.C. Methods and apparatus for proactive multi-path routing
US10051025B2 (en) 2012-12-31 2018-08-14 DISH Technologies L.L.C. Method and apparatus for estimating packet loss
US10708319B2 (en) 2012-12-31 2020-07-07 Dish Technologies Llc Methods and apparatus for providing social viewing of media content
US10284908B2 (en) * 2013-02-26 2019-05-07 Comcast Cable Communications, Llc Providing multiple data transmissions
US8869218B2 (en) * 2013-03-15 2014-10-21 Wowza Media Systems, LLC On the fly transcoding of video on demand content for adaptive streaming
US9270721B2 (en) * 2013-10-08 2016-02-23 Qualcomm Incorporated Switching between adaptation sets during media streaming
ES2613978T3 (es) * 2013-12-26 2017-05-29 Telefonica Digital España, S.L.U. Un método y un sistema para la transmisión por secuencias suave de contenidos de medios en una red de entrega de contenidos distribuida
KR101560727B1 (ko) * 2014-04-07 2015-10-15 네이버 주식회사 멀티트랙 비디오 컨텐츠의 제공을 위한 멀티트랙 비디오 컨텐츠 서비스 방법 및 시스템
US9940333B2 (en) * 2015-03-27 2018-04-10 Airwatch Llc File format bundling
CN105451032A (zh) * 2015-11-19 2016-03-30 北京奇虎科技有限公司 下载视频的方法与装置
CA3010043C (en) 2015-12-29 2020-10-20 DISH Technologies L.L.C. Dynamic content delivery routing and related methods and systems
US10432690B1 (en) * 2016-06-03 2019-10-01 Amazon Technologies, Inc. Manifest partitioning
US10104143B1 (en) * 2016-06-03 2018-10-16 Amazon Technologies, Inc. Manifest segmentation
US10116719B1 (en) 2016-06-03 2018-10-30 Amazon Technologies, Inc. Customized dash manifest
US10937460B2 (en) * 2016-06-09 2021-03-02 Apple Inc. Media files and protocols supporting runtime dependent tracks
US10405054B2 (en) * 2016-08-17 2019-09-03 Nuovo Solutions Llc System and method of remotely determining QoE
US10965966B1 (en) * 2018-07-17 2021-03-30 Amazon Technologies, Inc. Dynamic content insertion
US20200089779A1 (en) * 2018-09-19 2020-03-19 Twitter, Inc. Progressive API Responses
CN109819306B (zh) * 2018-12-29 2022-11-04 花瓣云科技有限公司 一种媒体文件裁剪的方法、电子设备和服务器
CN112765377A (zh) * 2019-11-01 2021-05-07 微软技术许可有限责任公司 媒体流中的时段定位

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6130720A (en) 1997-02-10 2000-10-10 Matsushita Electric Industrial Co., Ltd. Method and apparatus for providing a variety of information from an information server
US6574625B1 (en) * 2000-09-12 2003-06-03 International Business Machines Corporation Real-time bookmarks
US7240358B2 (en) * 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
KR100908954B1 (ko) * 2000-12-15 2009-07-22 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 오디오 또는 비디오 자료의 전송방법 및 장치
US7337231B1 (en) * 2000-12-18 2008-02-26 Nortel Networks Limited Providing media on demand
US7043637B2 (en) * 2001-03-21 2006-05-09 Microsoft Corporation On-disk file format for a serverless distributed file system
US7373406B2 (en) * 2001-12-12 2008-05-13 Valve Corporation Method and system for effectively communicating file properties and directory structures in a distributed file system
WO2006066052A2 (en) * 2004-12-16 2006-06-22 Sonic Solutions Methods and systems for use in network management of content
KR20060082014A (ko) * 2005-01-11 2006-07-14 삼성전자주식회사 매니페스트 파일 자료구조, 이를 이용한 컨텐츠 다운로드방법 및 그 재생장치
US20070073878A1 (en) * 2005-09-23 2007-03-29 Qurio Holdings, Inc. System and method for lowering proxy bandwidth utilization
KR100724899B1 (ko) * 2005-11-22 2007-06-04 삼성전자주식회사 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템
US8214516B2 (en) * 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
JP4944484B2 (ja) * 2006-04-20 2012-05-30 キヤノン株式会社 再生装置、再生方法及びプログラム
US8504709B2 (en) * 2006-05-03 2013-08-06 Sony Corporation Adaptive streaming buffering
US20080126357A1 (en) * 2006-05-04 2008-05-29 Wambo, Inc. Distributed file storage and transmission system
WO2007130695A2 (en) * 2006-05-05 2007-11-15 Globstream, Inc. Method and apparatus for streaming media to a plurality of adaptive client devices
AU2008205545B2 (en) * 2007-01-17 2012-03-08 Intertrust Technologies Corporation Methods, systems, and apparatus for fragmented file sharing
US8914529B2 (en) * 2007-01-22 2014-12-16 Microsoft Corporation Dynamically adapting media content streaming and playback parameters for existing streaming and playback conditions
KR100815618B1 (ko) 2007-05-10 2008-03-24 주식회사 씬멀티미디어 이동통신 단말기에서 외부저장매체의 동영상 파일 재생장치및 방법
CN101083568A (zh) 2007-07-06 2007-12-05 中国人民解放军国防科学技术大学 一种流媒体服务器服务能力评测方法
US20090164902A1 (en) * 2007-12-19 2009-06-25 Dopetracks, Llc Multimedia player widget and one-click media recording and sharing
CN101217638B (zh) 2007-12-28 2012-10-24 深圳市迅雷网络技术有限公司 视频文件分段下载的方法、系统及装置

Also Published As

Publication number Publication date
KR101616147B1 (ko) 2016-04-28
US8996547B2 (en) 2015-03-31
EP2350858A2 (en) 2011-08-03
AU2009309089B2 (en) 2014-05-15
WO2010051169A3 (en) 2010-07-22
CA2737108A1 (en) 2010-05-06
KR20110079665A (ko) 2011-07-07
WO2010051169A2 (en) 2010-05-06
CA2737108C (en) 2016-09-13
JP2012507940A (ja) 2012-03-29
CN102203761A (zh) 2011-09-28
AU2009309089A1 (en) 2010-05-06
US20100114921A1 (en) 2010-05-06
EP2350858A4 (en) 2013-06-05
CN102203761B (zh) 2013-10-23

Similar Documents

Publication Publication Date Title
MX2011004153A (es) Fragmentacion dinamica de medios digitales.
JP6856747B2 (ja) コンテンツ部分をストリーミングするための要求ベースのエンコーディング
US10051013B2 (en) Method and apparatus for streaming multimedia content of server by using cache
US9602578B2 (en) Method and system for optimizing download and instantaneous viewing of media files
US7941554B2 (en) Sparse caching for streaming media
EP2890075B1 (en) A method and a system for smooth streaming of media content in a distributed content delivery network
US8850054B2 (en) Hypertext transfer protocol live streaming
US8706876B2 (en) Method and system for tunable distribution of content
US20120185566A1 (en) Server device, client device, information processing system, information processing method, and program
US20090089401A1 (en) Server-controlled distribution of media content
EP2420952A2 (en) System and method for protecting digital media content
US7886068B1 (en) Management of streaming media playlists
KR100507956B1 (ko) 멀티미디어 데이터 재생 방법 및 이를 위한 장치
KR102134250B1 (ko) 스트리밍 콘텐츠의 재생 방법 및 시스템
KR100509162B1 (ko) 피어 투 피어 기반의 코덱 공유 시스템 및 그 방법
KR100490410B1 (ko) 데이터 구조체 기반의 멀티미디어 문서 버퍼링 장치 및 방법
KR20090044320A (ko) P2p 방식에 의한 컨텐츠 파일 제공 시스템 및 방법

Legal Events

Date Code Title Description
FG Grant or registration
PD Change of proprietorship

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC