MX2012002087A - Codificacion de flujos de video para flujos de video adaptativo. - Google Patents
Codificacion de flujos de video para flujos de video adaptativo.Info
- Publication number
- MX2012002087A MX2012002087A MX2012002087A MX2012002087A MX2012002087A MX 2012002087 A MX2012002087 A MX 2012002087A MX 2012002087 A MX2012002087 A MX 2012002087A MX 2012002087 A MX2012002087 A MX 2012002087A MX 2012002087 A MX2012002087 A MX 2012002087A
- Authority
- MX
- Mexico
- Prior art keywords
- gop
- sequence
- video stream
- data packets
- gops
- Prior art date
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 19
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims description 55
- 230000010363 phase shift Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 13
- 239000000945 filler Substances 0.000 description 9
- 238000004806 packaging method and process Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23611—Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
-
- 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/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2362—Generation or processing of Service Information [SI]
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
-
- 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/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
- H04N21/23895—Multiplex stream processing, e.g. multiplex stream encrypting involving multiplex stream encryption
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Una modalidad de la invención establece un servidor de codificación que incluye componentes configurados para codificar un flujo de video asociado con un título de contenido para flujo adaptativo. El flujo de video es primero procesado por un codificador VC1 para generar un flujo de video codificado que comprende GOP múltiple, cada GOP incluye un marco clave y que tiene un desfase de reproducción diferente. El flujo de video codificado es luego empacado de tal manera que los GOP se almacenan en paquetes de datos del flujo codificado empacado. Un generador SI-II genera un SHI asociado con un flujo codificado empacado que incluye un punto de conmutación asociado con cada GOP. Cada punto de conmutación incluye un desfase de reproducción asociado con el GOP correspondiente y el paquete de datos que almacena el cuadro clave del correspondiente GOP. El SHI asociado con múltiples flujos de video codificados empacados asociados con el mismo título de contenido y codificado a diferentes velocidades de bit de reproducción tiene puntos de conmutación correspondientes.
Description
CODIFICACIÓN DE FLUJOS DE VIDEO PARA FLUJOS DE VIDEO
ADAPTATIVO
REFERENCIA CRUZADA A SOLICITUDES RELACIONADAS
Esta solicitud reivindica el beneficio de la solicitud de patente estadounidense Serie número 12/543,328, presentada en Agosto 18, 2009, la cual se incorpora aquí mediante referencia .
ANTECEDENTES DE LA INVENCIÓN CAMPO DE LA INVENCIÓN
La presente invención se relaciona de manera general con un medio digital y, más específicamente, con codificación de flujos de video para flujo de video adaptativo.
DESCRIPCIÓN DE LA TÉCNICA RELACIONADA.
Los sistemas de distribución de contenido digital convencionales usualmente incluyen un servidor de contenido, un reproductor de contenido, y una red de comunicaciones que conecta el servidor de contenido a un reproductor de contenido. El servidor de contenido se configura para almacenar archivos con contenido digital que corresponden a los diferentes títulos de contenido que se pueden bajar del servidor de contenido al reproductor de contenido. Cada archivo de contenido digital típicamente incluye un flujo de video codificado a una velocidad de bit preproducción particular así como también a un flujo de audio. Como se entiende bien, un flujo de video codificado a una velocidad de bit de reproducción alta es de mayor tamaño que un flujo de video codificado a una velocidad de bit de reproducción más baja.
El reproductor de contenido se configura para bajar y reproducir un archivo con contenido digital que corresponda a un título de contenido específico en respuesta a un usuario que selecciona el título de contenido para reproducción. Bajar el archivo con contenido digital típicamente involucra una técnica conocida en el arte como "flujo", por medio del cual el servidor de contenido transmite secuencialmente el archivo con contenido digital que corresponde al título de contenido seleccionado al reproductor de contenido. El reproductor de contenido reproduce entonces el flujo de video y el flujo de audio incluido en el archivo con contenido digital como porciones de aquellos flujos que se vuelven disponibles. Antes de iniciar las bajada del archivo con contenido digital, el reproductor de contenido puede medir el ancho de banda disponible del servidor de contenido y seleccionar archivo con contenido digital que tenga un flujo de video codificado a una velocidad de bit que pueda ser soportado por el ancho de banda disponible medido. En la medida en que la red de comunicaciones pueda suministrar un ancho de banda adecuado para bajar el archivo con contenido digital seleccionado, mientras se satisfacen los requisitos de velocidad de bit, la reproducción del archivo con contenido digital bajado ocurre satisfactoriamente.
En la práctica, sin embargo, el ancho de banda disponible en la red de comunicaciones cambia constantemente en la medida en que los diferentes dispositivos conectados a la red de comunicaciones efectúa tareas independientes. Para maximizar la calidad de reproducción de cara a cambiar la disponibilidad del ancho de banda, se puede implementar la técnica de flujo adaptativo. En el flujo adaptativo, si el ancho de banda disponible en la red de comunicaciones se incrementa, entonces el reproductor de contenido baja un archivo con contenido diferente que corresponde al título de contenido seleccionado que incluye un flujo de video codificado a una mayor velocidad de bit de reproducción. De manera similar, si el ancho de banda disponible en la red de comunicaciones disminuye, entonces el reproductor de contenido puede bajar un archivo con contenido diferente que corresponde al título de contenido seleccionado que incluye un flujo de video codificado a una velocidad de bit de reproducción inferior.
Cuando se cambia de bajar un flujo de video corriente a bajar un flujo de video nuevo, el reproductor de contenido requiere que coincida el cuadro de video en el nuevo flujo de video que corresponda al cuadro de video en el flujo de video corriente que se es reproducido en el momento del cambio. Para hacer coincidir los cuadros de video, el reproductor de video típicamente busca de manera secuencial un nuevo flujo de video para localizar el marco de video que coincida con el cuadro de video relevante en el flujo de video corriente. Un inconveniente de esta aproximación es que la operación de búsqueda puede consumir mucho tiempo, originando de esta manera una interrupción en la bajada del flujo de video que afecta la experiencia visual del usuario.
Como se ilustró anteriormente, lo que se requiere en la técnica es un mecanismo que codifique el flujo de video que permita conmutar entre los flujos de video que reducen la incidencia de la interrupción de producción con relación a las técnicas anteriores .
RESUMEN DE LA INVENCIÓN
Una modalidad de la presente invención establece un método para codificar un flujo de video asociado con un título de contenido para un flujo de video adaptativo. El método incluye las etapas de aplicar un códec de video al flujo de video a una velocidad de bit de reproducción específica para generar una secuencia de grupos de fotografías (GOP) , en donde cada GOP se asocia con un intervalo de tiempo de reproducción y un desfase de reproducción diferente e incluye un cuadro clave y unos o más cuadros de datos de video que aplican un formato de sistema avanzado a la secuencia de los GOP para generar uno más paquetes de datos que incluyan la secuencias de los GOP, que genera un índice de cabecera de secuencia para la secuencia de los GOP que incluye un primer punto de conmutación que corresponde a un primer GOP en la secuencia de los GOP, en donde el primer punto de conmutación especifica el desfase de reproducción asociado con el primer GOP y un primer paquete de datos que incluye un primer cuadro clave incluido en el primer GOP, y combinar el índice de cabecera de secuencia con uno o más paquetes de datos para generar un flujo de video codificado .
Una ventaja del método descrito es que el reproductor de contenido puede conmutar eficientemente un flujo de video codificado asociado con un título de contenido específico y que tiene una velocidad de bit de reproducción específica a otro flujo de video codificado asociado con el mismo título de contenido y que tiene diferente velocidad de bit de reproducción al identificar el punto de conmutación apropiado en el índice de cabecera de secuencia asociado con el nuevo flujo de video codificado.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Figura 1 ilustra un sistema de distribución de contenido configurado para implementar uno o más aspectos de la invención;
Figura 2 es una ilustración más detallada de un servidor de codificación de la Figura 1, de acuerdo con una modalidad de la invención;
Figura 3 es un diagrama conceptual que ilustra las diferentes etapas codificadas de un flujo de video procesado por el servidor de codificación de la Figura 2 de acuerdo con una modalidad de la invención;
Figura 4 es una ilustración más detallada del índice de cabecera de secuencia de la Figura 3, de acuerdo con una modalidad de la invención;
Figura 5 es un diagrama de flujo de las etapas del método para codificar un flujo de video para un flujo de video adaptativo, de acuerdo con una modalidad de la invención; y
Figura 6 es un diagrama de flujo de las etapas del método para codificar y encriptar un flujo de video para el flujo de video adaptativo, de acuerdo con otra modalidad de la invención.
DESCRIPCIÓN DETALLADA
En la siguiente descripción, se establecen numerosos detalles específicos para suministrar un entendimiento más completo de la presente invención. Sin embargo, será evidente para un experto en la técnica que la presente invención se puede llevar a la práctica sin uno o más de estos detalles específicos. En otros casos, no se han descrito características bien conocidas con el fin de evitar oscurecer la presente invención.
La Figura 1 ilustra un sistema de distribución de contenido 100 configurado para implementar uno o más aspectos de la invención. Como se muestra, el sistema de distribución de contenido 100 incluye un servidor de codificación 102, una red de comunicaciones 104, y una red de distribución de contenido (CDN) 106 y un reproductor de contenido 108.
La red de comunicaciones 104 incluye una pluralidad de sistemas de comunicaciones de red, tales como enrutadores y conmutadores, configurados para facilitar la comunicación de datos entre el servidor de codificación 102, en CDN 106 y el reproductor de contenido 108. Las personas expertas en la técnica reconocerán que muchas técnicas técnicamente factibles existen para construir la red de comunicación 104, incluyendo tecnologías practicadas para desplegar la bien conocida red de comunicaciones de Internet.
El servidor de codificación 102 es un sistema de computadora configurado para codificar los flujos de video asociados con los archivos con contenido digital para flujo adaptativo. El flujo de trabajo de codificación para codificar los flujos de video para el flujo adaptativo se describen con mayor detalle adelante con respecto a las Figuras 2 y 3. El sistema de distribución de contenido 100 puede incluir uno o más servidores de codificación 102, donde cada servidor de codificación 102 se configura para efectuar todas las funciones necesarias para codificar los flujos de video o cuando cada servidor de codificación 112 configura para efectuar una función particular necesaria para codificar los flujos de video. Los archivos con contenido digital que incluyen los flujos de video codificados son recuperados por el CDN 106 por vía de la red de comunicaciones 104 para distribución al reproductor de contenido 108.
El CDN 106 comprende uno o más sistemas de computadora configurados para servir las solicitudes de bajada para los archivos con contenido digital de reproductor de contenido 108. Los archivos con contenido digital pueden residir en un sistema de almacenamiento masivo accesible al sistema de computadora. El sistema de almacenamiento masivo puede incluir, sin limitación, almacenamiento anexo directo, almacenamiento de archivos anexos a la red, o almacenamiento a nivel de bloque anexos a la red. Los archivos con contenido digital se pueden formatear y almacenar sobre un sistema de almacenamiento masivo utilizando cualquier técnica técnicamente factible. Un protocolo de transferencia de datos, tal como el bien conocido protocolo de transferencia de hipertexto (HTTP) , se puede utilizar para bajar los archivos con contenido digital el servidor de contenido 106 o al reproductor de contenido 108.
El reproductor de contenido 108 puede comprender un sistema de computadora, un decodificador, un dispositivo móvil tal como un teléfono móvil, o cualquier otra plataforma de cómputo técnicamente factible que tenga conectividad de red y que este acoplado o incluya un dispositivo de exhibición y un dispositivo de parlante para presentar cuadros de video, y generar salida acústica, respectivamente. El reproductor de contenido 108 se configura para flujo adaptativo, es decir, para bajar unidades de un flujo de video codificado con una velocidad de bit de reproducción específica, y conmutar unidades de bajada de un flujo de video codificado a una velocidad de bit de producción específica, y conmutar a unidades de bajada posteriores de un flujo de video codificado a una diferente velocidad de reproducción sobre las condiciones de ancho de banda prevalecientes dentro de la red de comunicaciones 104. De acuerdo con la disponibilidad del ancho de banda dentro de la red de comunicaciones 104 se vuelve limitada, el reproductor de contenido 108 puede seleccionar un flujo de video codificado a una velocidad de bit de reproducción más baja. De acuerdo con la disponibilidad de los incrementos del ancho de banda, se puede seleccionar un flujo de video codificado a una velocidad de bit de reproducción mayor.
Aunque, en la descripción anterior, el sistema de distribución de contenido 100 se muestra con un reproductor de contenido 108 y uno CDN 106, la persona experta reconocerá que la arquitectura de la Figura 1 contempla solamente una modalidad de ejemplo de la invención. Otras modalidades pueden incluir cualquier número de reproductores de contenido 108 y/o CDN 106. Así, la Figura 1 de ninguna manera pretende limitar el alcance de la presente invención de ninguna forma.
La Figura 2 es una ilustración más detalladla del servidor de codificación 102 de la Figura 1, de acuerdo con una modalidad de la invención. Como se muestra, el servidor de codificación 102 incluye una unidad de procesamiento central (CPU) 202, un disco del sistema 204, una interfaz de dispositivos de entrada/salida (I/O) 206 una interfaz de red 208, una interconexión 210 y una memoria del sistema 212.
La CPU 202 se configura para recuperar y ejecutar las instrucciones de programación almacenadas en la memoria del sistema 212. De manera similar, la CPU 202 se configura para almacenar los datos de aplicación y recuperar los datos de aplicación de la memoria del sistema 212. La interconexión 210 se configura para facilitar la transmisión de datos, tal como las instrucciones de programación y los datos de aplicación, entre la CPU 202, el disco del sistema 204, la interfaz de los dispositivos I/O 206, la interfaz de red 208, y la memoria del sistema 212. La interfaz de los dispositivos I/O 206 se configuran para recibir los datos de entrada desde los dispositivos I/O 222 y transmitir los datos de entrada de la CPU 202 por vía de la interconexión 210. Por ejemplo, los dispositivos 1/0 222 pueden comprender uno o más botones, un teclado, un ratón u otro dispositivo de apuntamiento. La interfaz de los dispositivos 1/0 206 también se configura para recibir datos de salida provenientes de la CPU 202 por vía de la interconexión 210 y transmitir los datos de salida a los dispositivos I/O 222. El disco del sistema 204, tal como una unidad de disco duro o una unidad de almacenamiento de memoria flash, o similar se configura para almacenar datos no volátiles tales como los flujos de video codificados. Los flujos de video codificados se pueden entonces recuperar mediante el CDN 106 por vía de la red de comunicaciones 104. La interfaz de la red 218 se acopla a la CPU 202 por vía de la interconexión 210 y se configura para transmitir y recibir paquetes de datos por vía de la red de comunicaciones 104. En una modalidad, la interfaz de red 208 se configura para operar en cumplimiento con el bien conocido estándar Ethernet .
La memoria del sistema 212 incluye componentes de software que incluyen instrucciones para codificar uno o más flujos de video asociados con un título de contenido específico para el flujo adaptativo. Como se muestra, estos componentes de software incluyen un codificador VCl 214, una herramienta de empaque de formato de sistemas avanzado (ASF) 216, una herramienta de relleno 218 y un generador de índice de cabecera de secuencia (SHI) 220.
El codificador de VCl ejecuta operaciones de codificación para codificar un flujo de video a una velocidad de bit de reproducción especifica de tal manera que el flujo de video codificado cumple con el estándar del códec de video VCl y se configura para flujo adaptativo. En una modalidad alternativa, el flujo de video se puede codificar para cumplir con un códec de video diferente estándar tal como el MPEG o el H.264. Un flujo de video codificado generado mediante el codificador VCl 214 incluye una secuencia de grupos de fotos (GOP) , cada GOP comprende múltiples cuadros de datos de video. Cuando se codifica el flujo de video, el codificador VCl 214 codifica el flujo de video de acuerdo con tres configuraciones incluidas en el códec de video VCl estándar. Primero, la configuración del punto de entrada cerrado se posibilita para asegurar que cada GOP en el flujo de video codificado sea independiente de otros GOP en el flujo de video codificado. Segundo, la configuración de modo de salida de cabecera de secuencia se posibilita de tal manera que un cuadro clave que incluye una cabecera de secuencia se inserta al inicio de cada GOP. La cabecera de secuencia incluida en el cuadro clave del GOP especifica, entre otra información, un código de inicio de cabecera de secuencia que se puede utilizar para localizar el cuadro clave dentro del flujo de video codificado y la resolución y la relación de aspecto de los cuadros de los datos video en el GOP. Tercero, la configuración GOP adaptativa se deshabilita para asegurar que cada GOP esté asociado con el mismo intervalo de tiempo de reproducción y un diferente desfase de reproducción. El desfase de reproducción asociado con un GOP se determina con base en la localización de GOP en la secuencia de os GOP incluida en el flujo de video codificado, Por ejemplo, en un flujo de video codificado donde cada GOP tiene un intervalo de tiempo de reproducción de tres segundos, el primer GOP en el flujo de video codificado tendría un desfase de reproducción de cero segundos, un segundo GOP en el flujo de video codificado tendría un desfase de reproducción de tres segundos y así sucesivamente. Una vez codificado, el codificador VC1 214 transmite el flujo de video codificado a la herramienta de empaque ASF para procesamiento adicional.
La herramienta de empaque ASF 216 empaca el flujo de video codificado recibido del codificador VCl 214 en un flujo de video codificado que cumple con el formato de sistemas avanzado (ASF) , que se puede bajar y procesar para reproducción mediante múltiples tipos de reproductores de contenido que cumplen con los estándares, que incluyen reproductor de contenidos 108. El flujo de video codificado que cumple con el ASF incluye un objeto de datos y una cabecera ASF. El objeto de datos almacena los GOP en uno o más paquetes de datos del mismo tamaño. En razón a que el tamaño de los paquetes de datos puede no coincidir con el tamaño de los GOP, un paquete de datos específico puede incluir cuadros de datos de video asociado con dos o más GOP. La cabecera ASF incluye información asociada con el flujo de video codificado que cumple con el ASF, de tal manera que el tamaño y el número de los paquetes de datos, necesario por un reproductor de contenido, tal como el reproductor de contenido 108, para procesar el flujo de video codificado que cumple con el ASF para reproducción.
El flujo de video codificado que cumple con el ASF es luego procesado mediante la herramienta de relleno 218. La herramienta de relleno 218 inserta relleno en el objeto de datos del flujo de video codificado que cumple con el ASF para asegurar que el cuadro clave asociado con cada GOP se localiza al inicio de los diferentes paquetes de datos dentro del objeto de datos. Como se describe adelante, al linear los cuadros claves con diferentes paquetes de datos le permite al generador SHI 220 definir los puntos de conmutación para el flujo de video codificado que cumple con el ASF, posibilitando así que los recolectores de contenido conmuten entre múltiples flujos de video codificados que cumplen con el ASF de manera eficiente. La herramienta de relleno 218 permite entonces el flujo de video codificado que cumple con el ASF al generador SHI 220.
El generador SHI 220 genera un índice de cabecera de secuencia asociado con el flujo de video codificado que cumple con el ASF. Para generar el índice de cabecera de secuencia el generador SHI 220 busca primero el objeto de datos del flujo de video codificado que cumple con el ASF para los cuadros clave asociados con los diferentes GOP incluidos en el objeto de los datos. Los cuadros claves se pueden localizar mediante el generador SHI 220 con base en los códigos de inicio de secuencia especificados en la cabecera de secuencia incluidos en los cuadros clave. Para los GOP asociados con cada uno de los cuadros clave identificados, el generador SHI 220 define un punto de conmutación dentro de un índice de cabecera de secuencia que almacena (i) un número de paquete de datos que identifica que el paquete de datos que incluye el cuadro clave asociado con el GOP (ii) el desfase de reproducción asociado con el GOP . De nuevo, el desfase de reproducción asociado con el GOP se determina con base en la ubicación del GOP en la secuencia de los GOP inclui9dos en el flujo de video codificado.
El servidor de codificación 102 puede generar múltiples flujos de video codificados que cumplen el ASF asociados con el mismo título de contenido y codificados a diferentes velocidades de bit de reproducción de la manera descrita anteriormente. El proceso de codificación descrito aquí asegura que, a través de los diferentes flujos de video codificados que cumplen con el ASF los GOP están asociados con el mismo intervalo de tiempo de reproducción y que los correspondientes GOP a través de los diferentes flujos de video codificados que cumplen con el ASF están asociados con los mismos desfases de reproducción. Por lo tanto cada punto de conmutación definido en una cabecera de secuencia incluida en uno de los flujos de video codificados que cumplen con el ASF asociados con un título de contenido específico tiene un punto de conmutación correspondiente definido en una cabecera de secuencia incluida en cada uno de los flujos de video codificados que cumplen con el ASF asociados con el mismo título de contenido.
Con base en los índices de la cabecera de secuencia incluida en los flujos de video codificado se cumplen con el ASF asociados con el mismo título de contenido, el reproductor de contenido puede conmutar eficientemente entre los flujos de video codificados que cumplen con el ASF al identificar los puntos de conmutación apropiados en los índices de cabecera de secuencia. Cuando la conmutación entre el flujo de video codificado que cumple con el ASF que se reproduce corrientemente y un nuevo flujo de video codificado que cumple con el ASF, un reproductor de contenido, tal como el reproductor de contenido 108, busca el índice de cabecera de secuencias incluido en el nuevo flujo de video codificado que cumple con el ASF para localizar el punto de conmutación particular que especifica el desfase de reproducción asociado con el siguiente GOP a ser reproducido. El reproductor de contenido puede entonces conmutar al nuevo flujo de video codificado que cumple con la ASF y bajar el GOP almacenado en el paquete de datos especificado en el punto de conmutación particular para reproducción. Por ejemplo, para los flujos de video codificados que cumplen con el ASF donde cada GOP estuviera asociado con un intervalo de tiempo de reproducción de tres segundos, si el primer GOP asociado con el desfase de reproducción de cero segundos fuera habitualmente reproducido, entonces el siguiente GOP a ser reproducido estaría asociado con el desfase de reproducción de tres segundos. En tal escenario, el reproductor de contenido busca que la cabecera de secuencia asociada con el nuevo flujo codificado para el punto de conmutación particular que especifica un desfase de reproducción de tres segundos. Una vez localizado el punto de conmutación particular, el reproductor de contenido bajaría el GOP almacenado en el paquete de datos especificado en el punto de conmutación para reproducción .
En una modalidad alternativa, el relleno no se inserta en el objeto de datos del flujo de video codificado, y por lo tanto, los cuadros clave de los diferentes GOP no se alinean necesariamente con los nuevos paquetes de datos. En tal modalidad, el índice de cabecera de secuencia específica el paquete de datos que incluye un cuadro clave específico, y el reproductor de contenido busca a través del paquete de datos un nuevo cuadro clave. Sin el relleno, el tamaño del flujo de video codificado se reduce y, por lo tanto, el flujo de video codificado se puede bajar más rápido mediante el reproductor de contenido .
En otra modalidad alternativa, la herramienta de empaque de ASF 216 asegura que el tamaño de los paquetes de datos a través de los múltiples flujos de video codificados asociados con el mismo título de contenido tienen el mismo tamaño. En razón a que el ASF de estándar requiere que el tamaño de los paquetes de datos en un flujo de video codificado único sea el mismo, asegurando que los paquetes de datos a través de los múltiples flujos de video codificados tengan el mismo tamaño le permite a los reproductores de contenido empalmar los paquetes de datos de múltiples flujos de video codificados en un el flujo de video codificado único.
La Figura 3 es un diagrama conceptual que ilustra las diferentes etapas codificadas del flujo de video procesado por el servidor de codificación 102 de la Figura 2, de acuerdo con una modalidad de la invención. El flujo de video 302 es un flujo de video de mezzanine asociado con un título de contenido específico tal como los distribuye un distribuidor de flujo de video una vez que se adquieren los derechos al título de contenido específico. El flujo de contenido 302 comprende una serie de cuadros secuenciales de datos de video, tal como el cuadro 304 y el cuadro 306.
El flujo de video 302 es codificado por el codificador VC1 214 para generar el flujo de video codificado 308. Como se describió previamente aquí, el codificador VC1 214 codifica el flujo de video de mezzanine a una velocidad de bit de reproducción específica, El flujo de video codificado 308 se divide en múltiples GOP, tal como el GOP 318 y el GOP 320. Cada GOP incluye un cuadro clave que incluye una cabecera de secuencia, tal como el cuadro clave 310 en el GOP 318 y el cuadro clave 314 en el GOP 320. Además, cada GOP dentro del flujo de video codificado 308 se asocia con el mismo intervalo de tiempo de reproducción y un diferente desfase de reproducción. Por ejemplo, si el intervalo de tiempo de reproducción es de tres segundos, entonces el GOP 318 se asocia con el desfase de reproducción de cero segundos, mientras que el GOP 320 se asocia con un desfase de reproducción de seis segundos.
El flujo de video codificado 308 es luego procesado mediante la herramienta de empaque de ASF 216 para generar un flujo de video codificado que cumple con el ASF 322. Como se muestra, el flujo de video codificado que cumple con el ASF 322 incluye una cabecera de ASF 324, unos paquetes de datos del mismo tamaño que incluyen el objeto de datos, tal como el paquete de datos 1 y el paquete de datos 7, y un índice ASF 326. De nuevo, la cabecera ASF 324 incluye la información asociada con el flujo de video codificado que cumple con el ASF 322, tal como el tamaño y número de paquetes de datos. El índice ASF 326 incluye la información de índice asociada con el flujo de video codificado que cumple con el ASF 322, y los paquetes de datos dentro del objeto de datos almacenan los GOP. Como se describió previamente aquí, en razón a que el tamaño de los paquetes de datos no necesariamente coincide con el tamaño de los GOP, un GOP se puede almacenar en diferentes paquetes de datos. Por ejemplo, como se muestra, el GOP 318 se almacena en el paquete de datos 1, el paquete de datos 2 y parcialmente en el paquete de datos 3.
El flujo de video codificado que cumple con el ASF 322 es luego procesado por la herramienta de relleno 218. De nuevo, la herramienta de relleno 218 inserta relleno en el objeto de datos del flujo de video codificado que cumple con el ASF 322 para asegurar que el cuadro clave asociado con cada GOP se localice al inicio de cada paquete de datos diferente con el objeto de datos. Por ejemplo, la herramienta de relleno 218 inserta el relleno 334 del paquete de datos 3 después de que el GOP 318 de tal manera que el cuadro clave 316 del GOP 323 se alinea con un nuevo paquete de datos, es decir, el paquete de datos 4. De manera similar, la herramienta de relleno 218 inserta el relleno 336 en el paquete de datos 5 después del GOP 323 de tal manera que el cuadro clave 314 del GOP 320 se alinea con un nuevo paquete de datos, es decir, el paquete de datos 6.
Una vez que el objeto de datos del flujo de video codificado que cumple con el ASF 322 es rellenado el generador SHI 220 genera un índice de cabecera de secuencia 338 asociado con el flujo de video codificado que cumple con el ASF 322. Para el GOP asociado con cada uno de los cuadros clave identificados, el generador SHI 220 define un punto de conmutación dentro del índice de cabecera de secuencia 338 que almacena (i) el número de paquetes de datos que identifica el paquete de datos que incluye el cuadro clave asociado con el GOP y (ii) el desfase de reproducción asociado con el GOP. El índice de cabecera de secuencia 338 se describe con mayor detalle adelante en conjunto con la Figura 4. Una vez generado, el generador SHI 220 inserta el índice de cabecera de secuencia 338 en la cabecera ASF 324 del flujo de video codificado que cumple con el ASF 322.
La Figura 4 es la ilustración más detallada del índice de cabecera de secuencia de la Figura 3, de acuerdo con una modalidad de la invención. Como se muestra, el índice de cabecera de secuencia incluye uno o más puntos de conmutación, tal como el punto de conmutación 408 y el punto de conmutación 410, y cada punto de conmutación incluye una porción de índice 402, una porción de desfase 404, y una porción de paquete de datos. Cada punto de conmutación se asocia con un GOP específico que inicia en un desfase de reproducción particular especificado en la porción de desfase del punto de conmutación, donde el cuadro clave de Aquel GOP se localiza dentro de un paquete de datos particular especificado en la porción de paquetes de datos 406 del punto de conmutación. Por ejemplo, el punto de conmutación 408 se asocia con el GOP 318, y la porción de desfase 404 del punto de conmutación 408 indica que el desfase de reproducción para GOP 318 es de cero segundos (es decir, el primer GOP en el flujo de video) y la porción del paquete de datos 406 indica que el cuadro clave 310 del GOP 318 se localiza en el paquete de datos 1.
La Figura 5 es un diagrama de flujo de las etapas del método para codificar un flujo de video para el flujo de video adaptativo, de acuerdo con una modalidad de la invención. Aunque las etapas del método se describen en conjunto con los sistemas para las Figuras 1-4, las personas expertas en la técnica entenderán que cualquier sistema configurado para efectuar las etapas del método, en cualquier orden, está dentro del alcance de la invención.
El método 500 inicia en la etapa 502 en donde el codificador VCl 214 ejecuta operaciones de codificación en un flujo de video de mezzanine para generar un flujo de video codificado a una velocidad de reproducción específica. Un flujo de video codificado generado por el codificador VCl 214 incluye una secuencia de grupos de fotografías (GOP) , cada GOP comprende múltiples cuadros de datos de video y un cuadro clave que incluye una cabecera de secuencia. Cada GOP se asocia con el mismo intervalo de tiempo de reproducción y un diferente desfase de reproducción. De nuevo, el desfase de reproducción asociado con un GOP se determina con base en la localización del GOP en la secuencia de los GOP incluidos en el flujo de video codificado.
En la etapa 504, la herramienta de empaque de ASF 216 procesa el flujo de video codificado para generar el flujo de video codificado que cumple con el ASF. Como se describió previamente aquí, el flujo de video codificado que cumple con el ASF incluye una cabecera de ASF, un objeto de datos que incluye unos paquetes de datos del mismo tamaño y, opcionalmente , un índice ASF. La cabecera ASF y el índice ASF almacena la información relacionada con el flujo de videos codificados que cumplen con el ASF tal como el tamaño de los paquetes de datos y los índices de los paquetes de datos. El objeto de datos almacena los GOP del flujo de video codificado en los paquetes de datos.
En la etapa 506, la herramienta de relleno 218 inserta el relleno en el objeto de datos del flujo de video codificado que cumple con el ASF para asegurar que el cuadro clave asociado con cada GOP se localice al inicio de los diferentes paquetes de datos dentro del objeto de datos. La herramienta de relleno 218 transmite entonces el flujo de video codificado que cumple con el ASF al generador CHI 220.
En la etapa 508, el generador SHI 220 busca el objeto de datos del flujo de video codificado que cumple con el ASF para los cuadros clave asociados con los diferentes GOP incluidos en el objeto de datos. Los cuadros claves se pueden localizar mediante el generador SHI 220 con base en los códigos de inicio de secuencia especificados en las cabeceras de secuencia incluidos en los cuadros clave. En la etapa 510, el generador SHI 220 genera un índice de cabecera de secuencia asociado con un flujo de video codificado que cumple con el ASF con base en las localizaciones de los cuadros clave. Para el GOP asociado con cada uno de los cuadros clave identificados, el generador SHI 220 define un punto de conmutación dentro de un índice de cabecera que almacena (i) un número de paquetes de datos que identifica el paquete de datos que incluye el cuadro clave asociado con el GOP y (ii) el desfase de reproducción asociado con el GOP. En la etapa 512, el generador SHI 220 inserta el índice de cabecera de secuencia en la cabecera ASF del flujo de video codificado que cumple con el ASF.
En una modalidad alternativa, el flujo de video que es procesado por el servidor de codificación 102 se puede encriptar utilizando una técnica de encriptación de manejo de derechos digitales (DRM) durante el proceso de codificación. En las implementaciones DRM, en razón a que los códigos de inicio de cabecera de secuencia que identifican los cuadros clave en los GOP en un flujo de video codificado también están encriptados, si fuera empleada la técnica descrita anteriormente, el generador SHI 220 terminaría buscando los cuadros clave con base en los códigos de inicio de la cabecera de secuencia post-encriptación, y así, no podría generar un índice de cabecera de secuencias asociado con el flujo de video codificado. Para manejar este matiz de las implementaciones DRM, la técnica descrita adelante en conjunto con la Figura 6 se puede utilizar como una alternativa a la técnica descrita anteriormente.
La Figura 6 es un diagrama de flujo de las etapas del método para codificar y encriptar un flujo de video para flujo de video adaptativo, de acuerdo con otra modalidad de la invención. Aunque las etapas del método se describen en conjunto con los sistemas para las Figuras 1-4, las personas expertas en la técnica entenderán que cualquier sistema configurado para que todas las etapas del método, en cualquier orden, están dentro del alcance de la invención.
El método 600 inicia en la etapa 602, donde el codificador VCl 214 ejecuta operaciones de codificación en un flujo de video de mezzanine para generar un flujo de video codificado a una velocidad de bit de reproducción específica. Un flujo de video codificado generado por el codificador VCl 214 incluye una secuencia de grupos de fotografías (GOP) , cada GOP comprende múltiples cuadros de datos de video y un cuadro clave que incluye una cabecera de secuencia. Cada GOP se asocia con el mismo intervalo de tiempo de reproducción y un diferente desfase de reproducción.
En la etapa 604, la herramienta de empaque ASF 216 procesa el flujo de video codificado para generar un flujo de video codificado que cumple con el ASF. Como se describió previamente aquí, el flujo de video codificado que cumple con el ASF incluye una cabecera ASF, un objeto de datos que incluye paquetes de datos del mismo tamaño y, opcionalmente , un índice ASF. El objeto de datos almacena los GOP del flujo de video codificado en los paquetes de datos.
La etapa 606, el generador SHI 220 busca los objetos de datos del flujo de video codificado que cumple con el ASF para los cuadros claves asociados con los diferentes GOP incluidos en el objeto de datos. Los cuadros clave se pueden localizar mediante el generador SHI 220 con base en los códigos de inicio de secuencia especificados en las cabeceras de secuencia incluidas en los cuadros clave. La etapa 608, el generador CHI 220 genera un índice de cabecera de secuencia asociado con el flujo de video codificado que cumple con el ASF con base en las localizaciones de los cuadros clave. Para el GOP asociado con cada uno de los cuadros clave identificados, el generador SHI 220 define un punto de conmutación dentro de un índice de cabecera de secuencia que almacena (i) un número de paquetes de datos que identifica en el paquete de datos que incluye el cuadro clave asociado con el GOP y (ii) el desfase de reproducción asociado con el GOP. En la etapa 610, el generados SHI 220 inserta el índice de cabecera de secuencia en la cabecera ASF del flujo de video codificado que cumple con el ASF.
En la etapa 612, el servidor de codificación 102 encripta el flujo de video codificado que cumple con el ASF utilizando la técnica de encriptación de DRM , tal como el PlayRead DRM o el Windows Media DRM (WMDRM) . Como es bien conocido, encriptar un flujo de video que utiliza una técnica de encriptación de DRM puede cambiar el tamaño de los cuadros de datos de video almacenados en cada GOP. Así, las localizaciones de los cuadros clave dentro del flujo de video codificado que cumple con el ASF pueden cambiar post-encriptación .
En la etapa 614, el generador SHI 220 localiza cada cuadro clave en el flujo de video codificado que cumple con el ASF con base en el desfase de reproducción correspondiente almacenado en el índice de cabecera de secuencia. De nuevo, durante la encriptación, la localización del cuadro clave puede cambiar, pero el desfase de reproducción asociado con el GOP que incluye el cuadro clave no cambia, permitiéndole de esta manera al generador SHI 220 localizar de manera precisa el cuadro clave con base en el desfase de reproducción .
En la etapa 616, la herramienta de relleno 218 inserta relleno en el objeto de datos del flujo de video codificado que cumple con el ASF para asegurar que el cuadro clave asociado con cada GOP se localice al inicio de los diferentes paquetes de datos dentro del objeto de datos. En la etapa 616, el generador SHI 220 modifica el índice de cabecera de secuencia almacenado en la cabecera ASF del flujo de video codificado que cumple con el ASF con base en el relleno insertado en el objeto de datos del flujo de video codificado que cumple con el ASF encriptado. Específicamente, el generador SHI 220 modifica los identificadores de paquete de datos almacenados en el índice de cabecera de secuencia para especificar el paquete de datos que almacena el cuadro clave.
De esta forma, el generador SHI 220 puede generar el índice de cabecera de secuencia asociado con el flujo de video codificado que cumple con el ASF antes de la encriptación DRM. En razón a que los desfases de reproducción asociados con los GOP permanecen iguales durante la encriptación, el generador SHI 220 puede modificar el índice de cabecera de secuencia con base en las nuevas localizaciones de los cuadros clave incluidos en los GOP post-encriptación . Como resultado, un reproductor de contenido puede conmutar eficientemente entre los flujo de video codificados que cumplen con los ASF encriptados con el mismo título de contenido al identificar los puntos de conmutación apropiados en los índices de cabecera de secuencia incluidos en los flujo de video codificados que cumplen con los ASF encriptados .
En otra modalidad alternativa, cuando se encripta un flujo de video que utiliza encriptacion WMDRM, la técnica de encriptacion establecida en la Figura 1 se puede implementar. Una vez que se genera el índice de cabecera de secuencia asociado con el flujo de video codificado que cumple con el ASF, el flujo de video codificado que cumple con el ASF se puede encriptar utilizando la encriptacion WMDRM. En razón a que la técnica de encriptacion WMDRM no cambia las localizaciones de los cuadros claves en el flujo de video encriptado, el índice de cabecera de secuencia no requiere ser reajustado después de la encriptacion WMDRM. Como las personas expertas en la técnica lo reconocerán, la técnica de la Figura 6 también se puede utilizar en las implementaciones
WMDRM.
En suma, un servidor de codificación codifica un flujo de video asociado con un título de contenido para identificar los puntos de conmutación que son específicos en un índice de cabecera de secuencia incluida en el flujo de video codificado. Los puntos de conmutación de dos o más flujos de video que corresponden al mismo título de contenido y codificados a diferentes velocidades de bit de reproducción ocurren en los mismos intervalos de tiempo de reproducción a través de cada uno de los dos o más flujos de video.
Cuando se codifica un flujo de video particular, el codificador VC1 dentro del servidor de codificación procesa primero el flujo de video para generar un flujo de video codificado que se divide en uno o más grupos de fotografías (GOP) de los datos de video. Cada GOP incluye una cabecera de secuencias seguida por múltiples cuadros de datos de video. En la cabecera de secuencia específica la resolución y la relación de aspecto de los cuadros de los datos de video, y los cuadros de los datos de video dentro del GOP están asociados con un intervalo de tiempo de reproducción particular que inicia en un desfase de reproducción específico .
Una vez que se genera el flujo de video codificado, la herramienta de empaque de ASF dentro del servidor de codificación empaca el flujo de video codificado en un flujo de video codificado que cumple con el ASF. El flujo de video codificado que cumple con el ASF incluye una cabecera ASF y un objeto de datos. La cabecera ASF incluye una información asociada con el flujo de video codificado, tal como el tamaño y el número de paquetes de datos, necesario para que un reproductor de contenido procese el flujo de video codificado para reproducción. El objeto de datos almacena los GOP en uno o más paquetes de datos.
La herramienta de empaque de ASF transmite el flujo de video codificado que cumple con el ASF a la herramienta de relleno dentro del servidor de codificación. La herramienta de relleno inserta el relleno en el objeto de datos del flujo de video codificado que cumple con el ASF para alinear la cabecera de secuencia de cada GOP con un nuevo paquete de datos dentro de un objeto de datos. Una vez que se inserta el relleno en el objeto de datos, el generador de índice de cabecera de secuencia (SHI) dentro del servidor de codificación genera un SHI asociado con el flujo de video codificado que cumple con el ASF. Para cada GOP en el flujo de video codificado que cumple con el ASF, el SHI especifica el paquete de datos que incluye la cabecera de secuencia del GOP y el desfase de reproducción que corresponde al GOP. El generador SHI inserta entonces el SHI en la cabecera ASF del flujo de video codificado que cumple con el ASF.
Cuando se codifican dos o más flujos de video asociados con el mismo título de contenido, el servidor de codificación 102 genera dos o más flujos de video codificados que cumplen con el ASF codificados a diferentes velocidades de bit de reproducción de la manera descrita anteriormente. De manera importante, a través de los dos o más flujos de video codificados que cumple con el ASF, los correspondientes GOP están asociados con el mismo intervalo de tiempo y los mismos desfases de reproducción. Por lo tanto, cada punto de conmutación definido en la cabecera de secuencia incluida en un flujo de video codificado que cumple con el ASF asociado con un título de contenido específico tiene un punto de conmutación correspondiente que define una cabecera de secuencia incluido en un diferente flujo de video codificado que cumple con el ASF asociado con el mismo título de contenido.
Una ventaja de la técnica descrita es que el reproductor de contenido puede conmutar eficientemente de un flujo de video codificado asociado con un título de contenido específico y que tiene una velocidad de bit de reproducción específica a otro flujo de video codificado asociado con el mismo título de contenido y que tiene una velocidad de bit de reproducción diferente al identificar el punto de conmutación apropiado en el índice de cabecera de secuencia asociado con el nuevo flujo de video codificado. En razón a que el reproductor de contenido no tiene que buscar el cuadro apropiado de los datos de video incluidos en el flujo de video codificado para reproducción, la incidencia de la interrupción de reproducción cuando se conmuta entre los flujos de video codificados se reduce. Otra ventaja de la técnica descrita es que los flujos de video codificados generados por el servidor de codificación son cumplidores del ASF y, por lo tanto, se pueden bajar y procesar para reproducción en cualquier reproductor de contenido que cumpla con los estándares.
Aunque lo anterior está dirigido a modalidades de la presente invención, otras modalidades y modalidades adicionales de la presente invención se pueden proveer sin apartarse del alcance básico de la misma. Por ejemplo, aspectos de la presente invención se pueden implementar en hardware o software o en combinación de hardware y software. Una modalidad de la presente invención se puede implementar como un producto de programa para uso con un sistema de computadora. El o los programas del producto del programa define las funciones de las modalidades (que incluyen los métodos descritos aquí) y que pueden estar contenidos en una variedad de medios de almacenamiento leíbles por computadora. Los medios de almacenamiento legibles por computadora ilustrativos incluyen, pero no están limitados a: (i) medio de almacenamiento no escribibles (por ejemplo dispositivos de memoria de solo lectura dentro de una computadora tal como unos discos de CD ROM legibles mediante una unidad de CD ROM, una memoria flash, chips ROM o cualquier tipo de memoria semiconductora no volátil de estado sólido) en la cual se almacena de manera permanente la información; y (ii) medios de almacenamiento escribibles (por ejemplo discos flopy dentro de una unidad de disquete o una unidad de disco duro o cualquier tipo de memoria semiconductora de acceso aleatorio de estado sólido ) en la cual se almacena la información de manera alterable. Tal medio de almacenamiento legible por computadora, cuando lleva instrucciones legibles por computadora que dirigen las funciones de la presente invención, son modalidades de la presente invención.
En vista de lo anterior, el alcance de la presente invención se determina mediante las reivindicaciones que siguen .
almacena de manera permanente la información; y (ii) medios de almacenamiento escribibles (por ejemplo discos flopy dentro de una unidad de disquete o una unidad de disco duro o cualquier tipo de memoria semiconductora de acceso aleatorio de estado sólido ) en la cual se almacena la información de manera alterable. Tal medio de almacenamiento legible por computadora, cuando lleva instrucciones legibles por computadora que dirigen las funciones de la presente invención, son modalidades de la presente invención.
En vista de lo anterior, el alcance de la presente invención se determina mediante las reivindicaciones que siguen .
Claims (21)
1. .Un método implementado por computadora que codifica una corriente de video asociada con un título de contenido para flujo de video adaptativo, el método comprende: aplicar un codee de video a un flujo de video a una velocidad de bit de reproducción específica para generar una secuencias de grupos de fotografías (GOP) , en donde cada GOP se asocia con un intervalo de tiempo de reproducción y diferente desfase de reproducción e incluye un cuadro clave y uno o más cuadros de datos de video,- aplicar un formato de sistema avanzado a la secuencia de los GOP para generar uno o más paquetes de datos que incluyen la secuencia de los GOP; generar un índice de cabecera de secuencia para la secuencia de los GOP que incluye un primer punto de conmutación que corresponde a un primer GOP en la secuencia de los GOP, en donde el primer punto de conmutación específicos el desfase de reproducción asociado con el primer GOP y un primer paquete de datos que incluye un primer cuadro clave incluido en el primer GOP; y combinar el índice de cabecera de frecuencia con el uno o más paquetes de datos para generar un flujo de video codificado .
2. El método de la reivindicación 1, en donde el primer cuadro clave incluye un código de inicio de cabecera de secuencia y una cabecera de secuencia que almacena la información asociada con el primer GOP.
3. El método de la reivindicación 2, en donde la etapa de generar un índice de cabecera de secuencia comprende buscar los uno o más paquetes de datos para el código de inicio de la cabecera de secuencia incluido en el primer cuadro clave para identificar el primer paquete de datos.
4. El método de la reivindicación 1, que comprende además la etapa de rellenar el uno o más paquetes de datos para alinear cada cuadro clave incluido en la secuencia de los GOP con un paquete de datos diferente.
5. El método de la reivindicación 1, que comprende además la etapa de encriptar los uno o más paquetes de datos con base en la técnica de encriptación de manejo de derechos digitales (DRM) para generar uno o más paquetes de datos encriptados .
6. El método de la reivindicación 5, en donde la técnica de encriptación DRM comprende una técnica de encriptación Windows Media DRM.
7. El método de la reivindicación 5, que comprende además las etapas de: con base en el desfase de reproducción especificado en el primer punto de conmutación, determinar que el primer paquete de datos encriptado almacena el primer cuadro clave, en donde el primer paquete de datos y el primer paquete de datos encriptado son paquetes de datos diferentes; y modificar el primer punto de conmutación incluido en el índice de cabecera de secuencia para especificar que el primer paquete de datos encriptado almacena el primer cuadro clave .
8. El método de la reivindicación 7, que comprende además la etapa de rellenar uno o más paquetes de datos encriptados para alinear cada cuadro clave incluido en la secuencia de los GOP con un paquete de datos diferente.
9. El método de la reivindicación 1, en donde cada GOP en la secuencia de los GOP es independiente de los otros GOP en la secuencia de los GOP.
10. El método de la reivindicación 1, que comprender además las etapas de : aplicar el códec de video a un segundo flujo de video a una segunda velocidad de bit de reproducción para generar unas segundas secuencias de grupos de fotografías (GOP) , en donde cada GOP se asocia con intervalo de tiempos de reproducción y un diferente desfase de reproducción e incluye un cuadro clave y uno o más cuadros de datos de video; aplicar el formato de sistema avanzado a la segunda secuencia de los GOP para generar uno o más paquetes de otros paquetes de datos que incluye la segunda secuencia de los GOP; generar un segundo índice de cabecera en secuencia para la segunda secuencia de los GOP que incluye un segundo punto de conmutación que corresponde al segundo GOP en la segunda secuencia de los GOP, en donde el segundo punto de secuencia específica el desfase de reproducción asociado con el segundo GOP y un segundo paquete de datos incluido en el uno o más de los otros- paquetes de datos, y en donde el segundo paquete de datos incluye un segundo cuadro clave incluido en el segundo GOP; y combinar el segundo índice de cabecera de secuencia con el uno más de los otros paquetes de datos para generar un segundo flujo del video codificado; en donde el desfase de reproducción asociado con el segundo GOP es igual al desfase de reproducción asociado con el primer GOP, y en donde el segundo punto de conmutación corresponde al primer punto de conmutación.
11. Un medio legible por computadora para almacenar instrucciones que, cuando se ejecutan mediante un procesador, originan que el procesador codifique un flujo de video asociado con un título de contenido para un flujo de video adaptativo, al efectuar las etapas de: aplicar un códec de video a un flujo de video a una velocidad de bit de reproducción específica para generar una secuencia de grupos de fotografías (GOP) , en donde cada GOP se asocia con un intervalo de tiempo de reproducción y un desfase de reproducción diferente e incluye un cuadro clave y uno o más cuadros de datos de video; aplicar un formato de sistema ' avanzado a la secuencia de los GOP para generar uno o más paquetes de datos que incluyen la secuencia de os GOP; generar un índice de cabecera de secuencia para la secuencia de los GOP que incluye un primer punto de conmutación que corresponde a un primer GPO en la secuencia de los GOP, en donde el primer punto de conmutación especifica el desfase de reproducción asicada con el primer GOP y un primer paquete de datos que incluye un primer cuadro clave incluido en el primer GOP; y combinar el índice de cabecera de secuencia con e uno o más paquetes de datos para generar un flujo de video codificado .
12. El medio legible por computadora de la reivindicación 11, en donde el primer cuadro clave incluye un código de inicio de cabecera de secuencia y una cabecera de secuencia y una cabecera de secuencia que almacena la información asociada con el primer GOP .
13. El medio legible por computadora de la reivindicación 12, en donde la etapa de generar el índice de cabecera de secuencia comprende buscar el uno o más paquetes de datos para el código de inicio de cabecera de secuencia incluido en el primer cuadro clave para identificar el primer paquete de datos.
14. El medio legible por computadora de la reivindicación 11, que comprende además la etapa de rellenar el uno o más paquetes de datos para alinear cada cuadro clave incluido en la secuencia de los GOP con un diferente paquete de datos .
15. El medio legible por computadora de la reivindicación 11, que comprende además la etapa de encriptar el uno o más paquetes de datos con base en la técnica de encriptación de manejo de derechos digitales (DRM) para generar uno o más paquetes de datos encriptados .
16. El medio legible por computadora de la reivindicación 15, en donde la técnica de encriptación DRM comprende una técnica de encriptación Windows Media DRM.
17. El medio legible por computadora de la reivindicación 15, que comprende además las etapas de: con base en el desfase de reproducción especificado en el primer punto de conmutación, determinar que el primer paquete de datos encriptado almacena el primer cuadro clave, en donde el primer paquete de datos y el primer paquete de datos encriptados son paquete de datos diferentes ; y modificar el primer punto de conmutación incluido en el índice de cabecera de secuencia para especificar que el primer paquete de datos encriptado almacena el primer cuadro clave .
18. El medio legible por computadora de la reivindicación 17, que comprende además las etapas de rellenar el uno o más paquetes de datos encriptados para alinear cada cuadro clave incluido en la secuencia de los GOP con un paquete de datos diferente.
19. El medio legible por computadora de la reivindicación 11, en donde cada GOP en la secuencia de los GOP es independiente de los otros GOP en la secuencia de los GOP .
20. El medio legible por computadora de la reivindicación 11, que comprende además las etapas de: aplicar un códec de video a un segundo flujo de video a una segunda velocidad de bit de reproducción para generar una segunda secuencia de grupos de fotografías (GOP) , en donde cada GOP se asocia con el intervalo de tiempo de reproducción y un diferente desfase de reproducción e incluye un cuadro clave y uno o más cuadros de datos de video; aplicar un formato de sistema avanzado a la segunda secuencia de los GOP para generar uno más de los otros paquetes de datos que incluye la segunda secuencia de los GOP; generar un segundo índice de cabecera de secuencia para la segunda secuencia de los GOP que incluye un segundo punto de conmutación que corresponde a u segundo GOP en la segunda secuencia de los GOP, en donde el segundo punto de conmutación específica el desfase de reproducción asociado con el segundo GOP y un segundo paquete de datos incluido en el uno o más de los otros paquetes de datos, y en donde el segundo paquete de datos incluye un segundo cuadro clave incluido en el segundo GOP; y combinar el segundo índice de cabecera de secuencia con el uno o más de los otros paquetes de datos para generar un segundo flujo de video codificado, en donde el desfase de reproducción asociado con el segundo GOP es igual al desfase de reproducción asociado con el primer GOP, y en donde el segundo punto de conmutación corresponde al primer punto de conmutación .
21. Un sistema de computadora, que comprende: un procesador; una memoria que almacena instrucciones que cuando se ejecutan mediante un procesador se configuran para: aplicar un códec de video a un flujo de video a una velocidad de bit de reproducción específica para generar una secuencia de grupos de fotografías (GOP) , en donde cada GOP se asocia con un intervalo de tiempo de reproducción y un desfase de reproducción diferente e incluye un cuadro clave y uno o más cuadros de datos de video, aplicar un formato de sistema avanzado a la secuencia de los GOP para generar uno o más paquetes de datos que incluyen la secuencia de los GOP, generar un índice de cabecera de secuencia para la secuencia de los GOP que incluye un primer punto de conmutación que corresponde al primer GOP en la secuencia de los GOP, en donde el primer punto de conmutación especifica el desfase de reproducción asociado con el primer GOP y un primer paquete de datos que incluye un primer cuadro clave incluido en el primer GOP, y combinar el índice de cabecera de secuencia con el uno o más paquetes de datos para generar un flujo de video codificado .
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/543,328 US8355433B2 (en) | 2009-08-18 | 2009-08-18 | Encoding video streams for adaptive video streaming |
PCT/US2010/045805 WO2011022432A1 (en) | 2009-08-18 | 2010-08-17 | Encoding video streams for adaptive video streaming |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2012002087A true MX2012002087A (es) | 2012-06-12 |
Family
ID=43607311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2012002087A MX2012002087A (es) | 2009-08-18 | 2010-08-17 | Codificacion de flujos de video para flujos de video adaptativo. |
Country Status (10)
Country | Link |
---|---|
US (1) | US8355433B2 (es) |
EP (1) | EP2467956B1 (es) |
JP (1) | JP5499314B2 (es) |
BR (1) | BR112012003843B1 (es) |
CA (1) | CA2771187C (es) |
CL (1) | CL2012000416A1 (es) |
CO (1) | CO6612207A2 (es) |
IN (1) | IN2012DN02232A (es) |
MX (1) | MX2012002087A (es) |
WO (1) | WO2011022432A1 (es) |
Families Citing this family (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
JP4546246B2 (ja) | 2002-10-05 | 2010-09-15 | デジタル ファウンテン, インコーポレイテッド | 連鎖的暗号化反応の系統的記号化および復号化 |
EP2722995B1 (en) | 2003-10-06 | 2023-04-19 | QUALCOMM Incorporated | Soft-Decision Decoding of Multi-Stage Chain Reaction Codes |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
KR101161193B1 (ko) | 2004-05-07 | 2012-07-02 | 디지털 파운튼, 인크. | 파일 다운로드 및 스트리밍 시스템 |
US7721184B2 (en) * | 2004-08-11 | 2010-05-18 | Digital Fountain, Inc. | Method and apparatus for fast encoding of data symbols according to half-weight codes |
JP5550834B2 (ja) * | 2006-02-13 | 2014-07-16 | デジタル ファウンテン, インコーポレイテッド | 可変fecオーバヘッド及び保護期間を利用したストリーミング及びバッファリング |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
JP5200204B2 (ja) | 2006-03-14 | 2013-06-05 | ディブエックス リミテッド ライアビリティー カンパニー | 高信頼性システムを含む連合型デジタル権限管理機構 |
US7971129B2 (en) | 2006-05-10 | 2011-06-28 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
RU2010114256A (ru) | 2007-09-12 | 2011-10-20 | Диджитал Фаунтин, Инк. (Us) | Формирование и передача исходной идентификационной информации для обеспечения надежного обмена данными |
US8268107B2 (en) | 2007-09-21 | 2012-09-18 | The Boeing Company | Fly away caul plate |
WO2009065137A1 (en) | 2007-11-16 | 2009-05-22 | Divx, Inc. | Hierarchical and reduced index structures for multimedia files |
US8997161B2 (en) | 2008-01-02 | 2015-03-31 | Sonic Ip, Inc. | Application enhancement tracks |
CA2749170C (en) | 2009-01-07 | 2016-06-21 | Divx, Inc. | Singular, collective and automated creation of a media guide for online content |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
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 |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
US9237178B2 (en) * | 2010-02-03 | 2016-01-12 | Futurewei Technologies, Inc. | Combined binary string for signaling byte range of media fragments in adaptive streaming |
WO2011102792A1 (en) | 2010-02-19 | 2011-08-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for adaption in http streaming |
US9485546B2 (en) | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
US9446261B2 (en) * | 2010-09-29 | 2016-09-20 | Verizon Patent And Licensing Inc. | Billing system for video provisioning system |
BR112013016607A2 (pt) * | 2010-12-30 | 2017-09-26 | Thomson Licensing | método de processamento de um conteúdo de vídeo que permite a adaptação a diversos tipos de dispositivos de exibição |
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 |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US8958375B2 (en) | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9363522B2 (en) | 2011-04-28 | 2016-06-07 | Warner Bros. Entertainment, Inc. | Region-of-interest encoding enhancements for variable-bitrate mezzanine compression |
KR101840008B1 (ko) * | 2011-06-24 | 2018-05-04 | 에스케이플래닛 주식회사 | 고화질 비디오 스트리밍 서비스 방법 및 시스템 |
US8948249B2 (en) * | 2011-08-19 | 2015-02-03 | Google Technology Holdings LLC | Encoder-aided segmentation for adaptive streaming |
US8818171B2 (en) | 2011-08-30 | 2014-08-26 | Kourosh Soroushian | Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
CN103875248B (zh) | 2011-08-30 | 2018-09-07 | 帝威视有限公司 | 用于编码和流处理通过使用多个最大比特率级别编码的视频的系统和方法 |
US9253233B2 (en) * | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8935425B2 (en) * | 2011-10-05 | 2015-01-13 | Qualcomm Incorporated | Switching between representations during network streaming of coded multimedia data |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
WO2013070802A1 (en) * | 2011-11-07 | 2013-05-16 | Finitiv Corporation | System and method for indexing and annotation of video content |
US8918908B2 (en) | 2012-01-06 | 2014-12-23 | Sonic Ip, Inc. | Systems and methods for accessing digital content using electronic tickets and ticket tokens |
US9166864B1 (en) * | 2012-01-18 | 2015-10-20 | Google Inc. | Adaptive streaming for legacy media frameworks |
WO2013127426A1 (en) * | 2012-02-27 | 2013-09-06 | Telefonaktiebolaget L M Ericsson (Publ) | An improved method and apparatus for video content distribution |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
US8826429B2 (en) | 2012-04-02 | 2014-09-02 | The Boeing Company | Information security management |
US9532080B2 (en) | 2012-05-31 | 2016-12-27 | Sonic Ip, Inc. | Systems and methods for the reuse of encoding information in encoding alternative streams of video data |
US9354799B2 (en) | 2012-06-13 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods for adaptive streaming systems with interactive video timelines |
CN103516731B (zh) * | 2012-06-15 | 2017-04-19 | 华为技术有限公司 | 一种缓存服务器的服务方法、缓存服务器及系统 |
US9197685B2 (en) | 2012-06-28 | 2015-11-24 | Sonic Ip, Inc. | Systems and methods for fast video startup using trick play streams |
US9143812B2 (en) | 2012-06-29 | 2015-09-22 | Sonic Ip, Inc. | Adaptive streaming of multimedia |
US10452715B2 (en) | 2012-06-30 | 2019-10-22 | Divx, Llc | Systems and methods for compressing geotagged video |
WO2014015110A1 (en) | 2012-07-18 | 2014-01-23 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution |
US8997254B2 (en) | 2012-09-28 | 2015-03-31 | Sonic Ip, Inc. | Systems and methods for fast startup streaming of encrypted multimedia content |
US8914836B2 (en) | 2012-09-28 | 2014-12-16 | Sonic Ip, Inc. | Systems, methods, and computer program products for load adaptive streaming |
US9727321B2 (en) * | 2012-10-11 | 2017-08-08 | Netflix, Inc. | System and method for managing playback of streaming digital content |
US10708335B2 (en) | 2012-11-16 | 2020-07-07 | Time Warner Cable Enterprises Llc | Situation-dependent dynamic bit rate encoding and distribution of content |
US9813325B2 (en) * | 2012-12-27 | 2017-11-07 | Comcast Cable Communications, Llc | Information stream management |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9264475B2 (en) | 2012-12-31 | 2016-02-16 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
CN104937583B (zh) * | 2013-01-18 | 2018-09-28 | 华为技术有限公司 | 一种对媒体内容进行自适应的方法和装置 |
US9357210B2 (en) | 2013-02-28 | 2016-05-31 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams for adaptive bitrate streaming |
US9350990B2 (en) | 2013-02-28 | 2016-05-24 | Sonic Ip, Inc. | Systems and methods of encoding multiple video streams with adaptive quantization for adaptive bitrate streaming |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
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 |
CN109889888B (zh) * | 2013-06-05 | 2022-04-01 | 太阳专利托管公司 | 再现方法、装置及生成方法、装置 |
US9967305B2 (en) | 2013-06-28 | 2018-05-08 | Divx, Llc | Systems, methods, and media for streaming media content |
WO2015012813A1 (en) * | 2013-07-23 | 2015-01-29 | Intel Corporation | Improved techniques for streaming video quality analysis |
ITMI20131710A1 (it) * | 2013-10-15 | 2015-04-16 | Sky Italia S R L | "sistema di cloud encoding" |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
US20150189365A1 (en) * | 2013-12-26 | 2015-07-02 | Thomson Licensing | Method and apparatus for generating a recording index |
CN104869103B (zh) * | 2014-02-24 | 2018-05-18 | 华为终端(东莞)有限公司 | 查找多媒体文件的方法、终端设备和服务器 |
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 |
US10804958B2 (en) * | 2015-02-24 | 2020-10-13 | Comcast Cable Communications, Llc | Multi-bitrate video with dynamic blocks |
US10499070B2 (en) * | 2015-09-11 | 2019-12-03 | Facebook, Inc. | Key frame placement for distributed video encoding |
US9426543B1 (en) * | 2015-12-18 | 2016-08-23 | Vuclip (Singapore) Pte. Ltd. | Server-based video stitching |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
US10873775B2 (en) * | 2017-06-12 | 2020-12-22 | Netflix, Inc. | Staggered key frame video encoding |
CN109788372B (zh) * | 2019-01-24 | 2021-06-08 | 维沃移动通信有限公司 | 一种流媒体的播放方法及相关装置 |
US11509949B2 (en) | 2019-09-13 | 2022-11-22 | Disney Enterprises, Inc. | Packager for segmenter fluidity |
US11128688B2 (en) | 2019-10-16 | 2021-09-21 | Disney Enterprises, Inc. | Transcoder conditioning for segment fluidity |
CN115119009B (zh) * | 2022-06-29 | 2023-09-01 | 北京奇艺世纪科技有限公司 | 视频对齐方法、视频编码方法、装置及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623424A (en) * | 1995-05-08 | 1997-04-22 | Kabushiki Kaisha Toshiba | Rate-controlled digital video editing method and system which controls bit allocation of a video encoder by varying quantization levels |
JP3060919B2 (ja) * | 1995-11-16 | 2000-07-10 | 松下電器産業株式会社 | 圧縮動画像復号・表示装置および圧縮動画像簡易編集装置 |
US6453114B2 (en) * | 1997-02-18 | 2002-09-17 | Thomson Licensing Sa | Random picture decoding |
US7302490B1 (en) * | 2000-05-03 | 2007-11-27 | Microsoft Corporation | Media file format to support switching between multiple timeline-altered media streams |
US7274661B2 (en) * | 2001-09-17 | 2007-09-25 | Altera Corporation | Flow control method for quality streaming of audio/video/media over packet networks |
US7263129B2 (en) * | 2002-08-29 | 2007-08-28 | Sony Corporation | Predictive encoding and data decoding control |
US7924921B2 (en) * | 2003-09-07 | 2011-04-12 | Microsoft Corporation | Signaling coding and display options in entry point headers |
US7519274B2 (en) * | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US7706384B2 (en) * | 2007-04-20 | 2010-04-27 | Sharp Laboratories Of America, Inc. | Packet scheduling with quality-aware frame dropping for video streaming |
US8561116B2 (en) * | 2007-09-26 | 2013-10-15 | Charles A. Hasek | Methods and apparatus for content caching in a video network |
WO2009075766A2 (en) * | 2007-12-05 | 2009-06-18 | Swarmcast, Inc. | Dynamic bit rate scaling |
-
2009
- 2009-08-18 US US12/543,328 patent/US8355433B2/en active Active
-
2010
- 2010-08-17 MX MX2012002087A patent/MX2012002087A/es active IP Right Grant
- 2010-08-17 CA CA2771187A patent/CA2771187C/en active Active
- 2010-08-17 BR BR112012003843-5A patent/BR112012003843B1/pt active IP Right Grant
- 2010-08-17 EP EP10810513.1A patent/EP2467956B1/en active Active
- 2010-08-17 JP JP2012525650A patent/JP5499314B2/ja active Active
- 2010-08-17 WO PCT/US2010/045805 patent/WO2011022432A1/en active Application Filing
- 2010-08-17 IN IN2232DEN2012 patent/IN2012DN02232A/en unknown
-
2012
- 2012-02-17 CL CL2012000416A patent/CL2012000416A1/es unknown
- 2012-02-20 CO CO12029435A patent/CO6612207A2/es not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
IN2012DN02232A (es) | 2015-08-21 |
CL2012000416A1 (es) | 2012-08-24 |
CA2771187C (en) | 2017-02-28 |
EP2467956A4 (en) | 2013-02-13 |
JP2013502836A (ja) | 2013-01-24 |
BR112012003843B1 (pt) | 2021-07-27 |
EP2467956A1 (en) | 2012-06-27 |
US8355433B2 (en) | 2013-01-15 |
BR112012003843A2 (pt) | 2016-03-22 |
US20110268178A1 (en) | 2011-11-03 |
JP5499314B2 (ja) | 2014-05-21 |
WO2011022432A1 (en) | 2011-02-24 |
CO6612207A2 (es) | 2013-02-01 |
EP2467956B1 (en) | 2015-09-30 |
CA2771187A1 (en) | 2011-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
MX2012002087A (es) | Codificacion de flujos de video para flujos de video adaptativo. | |
US10123059B2 (en) | Fast start of streaming digital media playback with deferred license retrieval | |
US10225588B2 (en) | Playback devices and methods for playing back alternative streams of content protected using a common set of cryptographic keys | |
EP3473005B1 (en) | Systems and methods for encoding video content | |
CN1764974B (zh) | 存储多媒体数据的存储介质和再现多媒体数据的方法和设备 | |
US20120246335A1 (en) | Method, terminal, and server for implementing fast playout | |
US20070050517A1 (en) | Content editing apparatus and content reproducing apparatus | |
US8682139B2 (en) | L-cut stream startup | |
US9961124B2 (en) | High picture quality video streaming service method and system | |
JP7035093B2 (ja) | スタガードキーフレームビデオ符号化 | |
EP3295335A1 (en) | Selective download of alternate media files | |
US20130124699A1 (en) | Apparatus and method for transceiving a streaming service | |
EP3171606B1 (en) | Information processing device and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |