ES2807884T3

Adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol

Abstract

A playback device (20) configured to perform adaptive bit rate streaming, the playback device comprising a processor configured, through a client application, to request a top-level index file and container files through a network; where the client application additionally configures the processor to: begin playback by retrieving the top-level index file that identifies a plurality of container files containing the streams available to the playback device for use in adaptive bit rate streaming, where the available streams include a plurality of alternative video streams, Each of the alternate video streams (32) is the same source video content encoded at a different bit rate and is stored in a separate container file as a plurality of video portions, each video portion is encoded as at minus a closed group of snapshots starting with a Decoder Instant Regeneration (IDR) frame, and each container file includes information regarding the encoding of the video contained within the container file and an index to the encoded media within the container file and the top-level index file indicates the portions of each container file that contain this information; selecting one or more streams including one of the plurality of alternative video streams to be used in media playback based on the at least one retrieved portion of the top-level index file; using the top-level index file to request the portions of the container file that include the information regarding the encoding of the video contained within the container file and the index, to the media encoded within the container file; configuring a video decoder to play the encoded video using the retrieved information regarding the encoding of the video; retrieving encoded media from the container file of the selected alternate video stream using the index information requested from the encoded media within the container file; playing the retrieved video portions of the selected alternate video stream using the decoder; and when a change in streaming conditions is detected, selecting a new alternate video stream that is more appropriate for the streaming conditions than the previously selected alternate video stream.

ES2807884T3, drawing sheet 1
Sheet 1 of 13

Term

5.2 yearsto projected expiry

Projected expiry 22 December 2031, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

13 claims: 1 independent, 12 dependent

  1. 1
    ES 2 807 884 T3 REIVINDICACIONES 1. Un dispositivo de reproducción (20) configurado para realizar difusión en continuo de tasa de bits adaptativa, comprendiendo el dispositivo de reproducción un procesador configurado, a través de una aplicación cliente, para solicitar un archivo de índice de nivel superior y archivos contenedores a través de una red; en donde la aplicación de cliente configura adicionalmente el procesador para:comenzar la reproducción recuperando el archivo de índice de nivel superior que identifica una pluralidad de archivos contenedores que contienen los flujos disponibles para el dispositivo de reproducción para su uso en difusión en continuo de tasa de bits adaptativa, en donde los flujos disponibles incluyen una pluralidad de flujos de video alternativos, cada uno de los flujos de video alternativos (32) es el mismo contenido de video de origen codificado a una tasa de bits diferente y se almacena en un archivo contenedor separado como una pluralidad de porciones de video, cada porción de video se codifica como al menos un grupo cerrado de instantáneas que comienzan con un fotograma de Regeneración Instantánea de Decodificador (IDR), y cada archivo contenedor incluye información con respecto a la codificación del video contenido dentro del archivo contenedor y un índice a los medios codificados dentro del archivo contenedor y el archivo de índice de nivel superior indica las porciones de cada archivo contenedor que contienen esta información;seleccionar uno o más flujos que incluyen uno de la pluralidad de flujos de video alternativos a utilizar en la reproducción de medios basándose en la al menos una porción recuperada del archivo de índice de nivel superior;usar el archivo de índice de nivel superior para solicitar las porciones del archivo contenedor que incluyen la información con respecto a la codificación del video contenido dentro del archivo contenedor y el índice, a los medios codificados dentro del archivo contenedor;configurar un decodificador de video para reproducir el video codificado usando la información recuperada con respecto a la codificación del video;recuperar medios codificados del archivo contenedor del flujo de video alternativo seleccionado usando la información de índice solicitada a los medios codificados dentro del archivo contenedor;reproducir las porciones de video recuperadas del flujo de video alternativo seleccionado usando el decodificador;y cuando se detecta un cambio en las condiciones de difusión en continuo, seleccionar un nuevo flujo de video alternativo que sea más apropiado para las condiciones de difusión en continuo que el flujo de video alternativo anteriormente seleccionado.
  2. 2
    El dispositivo de reproducción (20) de la reivindicación 1, en el que la porción recuperada del archivo contenedor del flujo de video alternativo seleccionado que contiene el índice a los medios codificados dentro del archivo contenedor incluye suficiente información de índice para difundir en continuo la totalidad del flujo de video alternativo seleccionado.
  3. 3
    El dispositivo de reproducción (20) de la reivindicación 1, en el que la aplicación de cliente configura adicionalmente el procesador para solicitar toda la información de índice para el flujo de menor tasa de bits de la pluralidad de flujos de video alternativos antes del comienzo de la reproducción.
  4. 4
    El dispositivo de reproducción (20) de la reivindicación 1, en el que al menos uno de los flujos disponibles para reproducir es un flujo de pistas de reproducción no estándar en el que el contenido de video de origen se codifica a una menor tasa de fotogramas que las tasas de fotogramas de la pluralidad de flujos de video alternativos y el dispositivo de reproducción realiza una función de reproducción no estándar usando el flujo de pistas de reproducción no estándar.
  5. 5
    El dispositivo de reproducción (20) de la reivindicación 4, en el que el dispositivo de reproducción soporta diferentes tasas de búsqueda visual acelerada.
  6. 6
    El dispositivo de reproducción (20) de la reivindicación 1, en el que los parámetros de codificación utilizados para decodificar el video codificado incluyen al menos un parámetro de codificación seleccionado del grupo que consiste en tasa de fotogramas, altura de fotograma, anchura de fotograma, relación de aspecto de muestra, tasa de bits máxima y tamaño mínimo de memoria intermedia.
  7. 7
    El dispositivo de reproducción (20) de la reivindicación 1, en el que el dispositivo de reproducción solicita un archivo de índice de nivel superior y archivos contenedores a través de la red usando un protocolo sin estado.
  8. 8
    El dispositivo de reproducción (20) de la reivindicación 1, en el que la pluralidad de flujos de video alternativos se codifican con diferentes resoluciones y/o diferentes tasas de fotogramas.
  9. 9
    El dispositivo de reproducción (20) de la reivindicación 1, en el que el archivo de índice de nivel superior es un ES 2 807 884 T3 archivo SMIL.
  10. 10
    El dispositivo de reproducción (20) de la reivindicación 9, en el que el archivo SMIL comprende una lista de URI que describe cada uno de los flujos y los archivos contenedores que contienen los flujos.
  11. 11
    El dispositivo de reproducción (20) de la reivindicación 9, en el que el archivo SMIL comprende un elemento de PARAM de header-request que especifica el tamaño de una sección de encabezamiento del archivo contenedor que contiene un flujo. 10
  12. 12
    El dispositivo de reproducción (20) de la reivindicación 1, en el que los archivos contenedores son archivos contenedores Matroska, en donde preferentemente cada archivo contenedor Matroska contiene un único flujo.
  13. 13
    El dispositivo de reproducción (20) de la reivindicación 1, en el que al menos dos de los flujos alternativos de video codificado se codifican en la misma relación de aspecto de visualización, pero con diferentes resoluciones usando 15 diferentes relaciones de aspecto de muestra.
Independent claims13