Abstract:
A block request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server. A client device can be adapted to take advantage of the ingestion process. The client device might be configured to optimize use of resources, given the information available to it from the ingestion system. This may include configurations to determine the sequence, timing and construction of block requests based on monitoring buffer size and rate of change of buffer size, use of variable sized requests, mapping of block requests to underlying transport connections, flexible pipelining of requests, and/or use of whole file requests based on statistical considerations.
Abstract:
A block request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server. A client device can be adapted to take advantage of the ingestion process. The client device might be configured to optimize use of resources, given the information available to it from the ingestion system. This may include configurations to determine the sequence, timing and construction of block requests based on monitoring buffer size and rate of change of buffer size, use of variable sized requests, mapping of block requests to underlying transport connections, flexible pipelining of requests, and/or use of whole file requests based on statistical considerations.
Abstract:
A block-request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server, which might include a cache. A client device can be adapted to take advantage of the ingestion process as well as improvements that make for a better presentation independent of the ingestion process. The client devices and ingestion system can be coordinated to have a predefined mapping and template for making block requests to HTTP file names that a conventional file server can accept through the use of URL construction rules. Segment size might be specified in an approximate manner for more efficient organization.
Abstract:
A block request streaming system provides for improvements in the user experience and bandwidth efficiency of such systems, typically using an ingestion system that generates data in a form to be served by a conventional file server (HTTP, FTP, or the like), wherein the ingestion system intakes content and prepares it as files or data elements to be served by the file server. The system might include controlling the sequence, timing and construction of block requests, time based indexing, variable block sizing, optimal block partitioning, control of random access point placement, including across multiple presentation versions, dynamically updating presentation data, and/or efficiently presenting live content and time shifting.
Abstract:
En un sistema de comunicación en el que un dispositivo cliente recibe bloques de medios de uno o más sistemas de ingestión de medios, un procedimiento que comprende: identificar (126), en el dispositivo cliente, un tamaño de una memoria intermedia disponible (125) para almacenar bloques de medios recibidos antes de ser consumidos por una salida del dispositivo cliente (127, 128); determinar (126) una tasa de cambio del tamaño de la memoria intermedia disponible; y determinar (123), para una pluralidad de peticiones de bloques correspondientes a bloques de los medios consumidos por la salida del dispositivo cliente, un bloque a solicitar y una temporización de la petición, en el que tanto el bloque a solicitar como la temporización de la petición dependen del tamaño de la memoria intermedia disponible y de la tasa de cambio del tamaño de la memoria intermedia disponible, en el que la tasa de cambio del tamaño de la memoria intermedia disponible se mide mediante la relación entre la cantidad de medios recibidos en un período de tiempo determinado y la duración de dicho período de tiempo.
Abstract:
Un procedimiento para generar bloques de datos de medios para ser transmitidos electrónicamente, previa petición, a dispositivos cliente, comprendiendo el procedimiento: obtener (103) datos que representan los medios de una presentación, en el que la presentación es una presentación a lo largo del tiempo y tiene una velocidad de reproducción definida y las porciones de la presentación se pueden definir mediante intervalos de tiempo; almacenar (110) los datos que representan los medios de la presentación como una pluralidad de segmentos (510), en el que cada segmento (510) comprende una pluralidad de bloques (F, Blk) y datos de correspondencia almacenados; identificar, antes de la transmisión de un subconjunto de la pluralidad de bloques, correspondencias entre una pluralidad de intervalos de tiempo y una pluralidad de posiciones de los bloques dentro de los segmentos; generar, antes de la transmisión del subconjunto de la pluralidad de bloques, los datos de correspondencia almacenados (S) que representan al menos algunas de las correspondencias, de manera que un dispositivo cliente puede determinar a partir de los datos de correspondencia almacenados y un intervalo de tiempo deseado de la presentación a reproducir, qué subconjunto de la pluralidad de bloques solicitar.