ES2390596T3 - Codificador de vídeo - Google Patents

Codificador de vídeo Download PDF

Info

Publication number
ES2390596T3
ES2390596T3 ES10162205T ES10162205T ES2390596T3 ES 2390596 T3 ES2390596 T3 ES 2390596T3 ES 10162205 T ES10162205 T ES 10162205T ES 10162205 T ES10162205 T ES 10162205T ES 2390596 T3 ES2390596 T3 ES 2390596T3
Authority
ES
Spain
Prior art keywords
buffer
video
access point
decoder
multiple values
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES10162205T
Other languages
English (en)
Inventor
Sachin Govind Deshpande
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Application granted granted Critical
Publication of ES2390596T3 publication Critical patent/ES2390596T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer

Abstract

Método de codificación de vídeo que comprende: definir un primer conjunto de múltiples valores (Ri1) característicos de una velocidad binaria de transmisión para un primer punto de acceso en un punto de comienzo de una secuencia de vídeo; definir un segundo conjunto de múltiples valores (Bi1) característicos de un tamaño de memoria tampón para dicho primer punto de acceso; definir un tercer conjunto de múltiples valores (Di1) característicos de un retardo hasta que se presenta una secuencia de vídeo para dicho primer punto de acceso; definir un cuarto conjunto de múltiples valores (Ri2) característicos de una velocidad binaria de transmisión para otro punto de acceso localizado después de dicho primer punto de acceso y a continuación; definir un quinto conjunto de múltiples valores (Bi2) característicos de un tamaño de memoria tampón para dicho otro punto de acceso; definir un sexto conjunto de múltiples valores (Di2) característicos de un retardo hasta que se presenta una secuencia de vídeo para dicho otro punto de acceso; en el que se seleccionan un valor de dicho primer conjunto de múltiples valores, un valor de dicho segundo conjunto de múltiples valores, y un valor de dicho tercer conjunto de múltiples valores tal que dicha secuencia de vídeo está libre de una condición de desbordamiento de memoria tampón en dicho primer punto de acceso; y se seleccionan un valor de dicho cuarto conjunto de múltiples valores, un valor de dicho quinto conjunto de múltiples valores, y un valor de dicho sexto conjunto de múltiples valores tal que dicha secuencia de vídeo está libre de una condición de desbordamiento de memoria tampón en dicho otro punto de acceso.

Description

Codificador de vídeo
Antecedentes de la invención
La presente invención se refiere a un descodificador hipotético de referencia.
Un sistema de vídeo digital incluye un transmisor y un receptor que ensambla vídeo que consta de audio, imágenes y componentes auxiliares para una presentación coordinada al usuario. El sistema transmisor incluye subsistemas para recibir y comprimir los datos fuente digitales (los flujos de datos elementales o de aplicación, que representan el audio, vídeo y componentes de datos auxiliares de un programa); multiplexar los datos procedentes de diversos flujos de datos elementales en un solo flujo de bits de transporte; y transmitir los datos al receptor. En el receptor, el flujo de bits de transporte es desmultiplexado en sus flujos de datos elementales constitutivos. Los flujos de datos elementales son descodificados, y los flujos de datos de audio y vídeo son distribuidos como elementos de programa sincronizados, al subsistema de presentación del receptor, para su visualización como partes de un programa coordinado.
En muchos estándares de codificación de vídeo, un flujo de bits compatible con el descodificador es descodificado mediante un descodificador hipotético que está conectado conceptualmente a la salida de un codificador, y consiste en una memoria tampón de descodificador, un descodificador y una unidad de visualización. Este descodificador virtual se conoce como descodificador hipotético de referencia (HRD, hypothetical reference decoder) en H.263, y como verificador de memoria tampón de vídeo (VBV, video buffering verifier) en MPEG-2. El codificador crea un flujo de bits de tal forma que la memoria tampón del descodificador hipotético no produce un desbordamiento ni un subdesbordamiento.
Como resultado, la cantidad de datos que puede solicitarse al receptor que almacene en memoria tampón, puede exceder su capacidad (una condición desbordamiento de memoria), o sus capacidades de caudal de tráfico. Alternativamente el receptor puede no recibir, en una unidad de acceso de datos, todos los datos a tiempo para la descodificación y la presentación sincronizada, lo que en un instante concreto tiene como resultado que se pierde datos en los flujos de datos de audio y vídeo, así como un funcionamiento inconsistente (una condición de subdesbordamiento de memoria).
En las descodificadores hipotéticos de referencia existentes, el flujo de bits de vídeo se recibe a una velocidad binaria constante, dada (usualmente la velocidad promedio en bits/segundo del flujo), y se almacena en la memoria tampón del descodificador hasta que el llenado alcanza un nivel deseado. Tal nivel deseado se denota como el llenado inicial de memoria tampón del descodificador, y es directamente proporcional al retardo de transmisión o de puesta funcionamiento (memoria tampón). En este punto, el descodificador retira instantáneamente los bits para la primera imagen de vídeo de la secuencia, descodifica los bits y muestra la imagen. Los bits de las siguientes imágenes son también retirados, descodificados, y visualizados instantáneamente en los subsiguientes intervalos temporales.
Las descodificadores hipotéticos tradicionales funcionan a velocidad binaria, memoria tampón y retardo inicial fijos. Sin embargo, en muchas de las aplicaciones de vídeo actuales (por ejemplo, emisión de vídeo en tiempo real a través de Internet o de redes ATM) el ancho de banda disponible varía de acuerdo con la ruta de acceso de la red (por ejemplo, dependiendo de como el usuario conecte con la red: por módem, ISDN, DLS, cable, etc.) y también fluctúa con el tiempo de acuerdo con las condiciones de la red ( por ejemplo congestión, número de usuarios conectados, etc.). Además, los flujos de bits de vídeo son distribuidos a una variedad de dispositivos con diferentes capacidades de memoria tampón (por ejemplo microteléfonos, PDAs, PCs, módulos de conexión, reproductores de tipo DVD, etc.), y son creados para escenarios con diferentes requisitos de retardo (por ejemplo emisión directa de bajo retardo, descarga progresiva, etc.). Como resultado, estas aplicaciones necesitan un descodificador hipotético de referencia más flexible, que pueda descodificar un flujo de bits a diferentes velocidades binarias máximas, y con diferentes tamaños de memoria tampón y retardos de puesta en funcionamiento.
Jordi Ribas-Corbera y Philip A. Chou, en un documento titulado "A Generalized Hypothetical Reference Decoder For H.26L", el 4 de septiembre de 2001 propusieron el descodificador hipotético de referencia modificado. El descodificador funciona de acuerdo con N conjuntos de velocidad y parámetros de memoria tampón para un flujo de bits dado. Cada conjunto caracteriza lo que se conoce como un modelo de cubeta con goteo (leaky bucket) y contiene tres valores (R, B, F), donde R es la velocidad binaria de transmisión, B es el tamaño memoria tampón y F es el llenado inicial de memoria tampón del descodificador (F/R es el retardo de memoria tampón inicial o de puesta en funcionamiento). Un codificador puede crear un flujo de bits de vídeo que esté contenido en ciertas cubetas con goteo deseadas N, o puede simplemente computar los N conjuntos de parámetros después de que ha sido generado el flujo de bits. El descodificador hipotético de referencia puede interpolar entre los parámetros de cubeta con goteo, y puede funcionar a cualquier velocidad binaria, memoria tampón o retardo, máximos, deseados. Por ejemplo, dada una velocidad de transmisión máxima R' el descodificador de referencia puede seleccionar la memoria tampón y el retardo mínimos (de acuerdo con los datos disponibles de la cubeta con goteo) con los que será posible descodificar el flujo de bits sin sufrir desbordamiento o subdesbordamiento de la memoria tampón. A la inversa, para un tamaño dado de memoria tampón B', el descodificador hipotético puede seleccionar y operar en la mínima velocidad de transmisión máxima requerida.
5 Hay beneficios en el uso de tal descodificador hipotético de referencia generalizado. Por ejemplo, un proveedor de contenidos puede crear un flujo de bits una vez, y un servidor puede distribuirlo a múltiples dispositivos de diferentes capacidades, utilizando una variedad de canales de velocidades máximas de transmisión, diferentes. O bien un servidor y un terminal pueden negociar la mejor cubeta con goteo para las condiciones de red dadas - por ejemplo, la que produzca el mínimo retardo de puesta en funcionamiento (memoria tampón), o la que requiera la menor velocidad máxima de transmisión para el tamaño de datos de la memoria tampón del dispositivo.
Como se describe en el documento VCEG-58, secciones 2.1 – 2.4, una cubeta con goteo es un modelo para el estado (o llenado) de una memoria tampón de codificador o de descodificador, en función del tiempo. Los llenados de la memoria tampón del codificador y del descodificador son mutuamente complementarios. Un modelo de cubeta
15 con goteo está caracterizado por tres parámetros (R, B, F), donde:
R es la velocidad binaria máxima (en bits por segundo) a la que entran los bits en la memoria tampón del descodificador. En escenarios de velocidad binaria constante, R es a menudo la velocidad binaria del canal y la velocidad binaria promedio del videoclip.
B es el tamaño de la cubeta o memoria tampón del descodificador (en bits) que suaviza las fluctuaciones de la velocidad binaria de vídeo. Este tamaño de memoria tampón no puede ser mayor que la memoria tampón física del dispositivo descodificador.
25 F es el llenado inicial de memoria tampón del descodificador (también en bits) antes de que el descodificador comience a retirar bits desde la memoria tampón. F y R determinan el retardo inicial o de puesta funcionamiento D, donde D = F / R segundos.
En un modelo de cubeta con goteo, los bits entran en la memoria tampón a la velocidad R, hasta que el nivel de llenado es F (es decir, durante D segundos), y a continuación se retira instantáneamente b0 bits para la primera imagen. Los bits siguen entrando en la memoria tampón a la velocidad R, y el descodificador retira b1, b2, ..., bn-1 bits para las siguientes imágenes, en ciertos momentos datos, típicamente (pero no necesariamente) cada 1/M segundos, donde M es la frecuencia de imagen del vídeo. La figura 1 ilustra el llenado de la memoria tampón del descodificador a lo largo del tiempo, de un flujo de bits que es modulado en una cubeta con goteo, de parámetros
35 (R, B, F).
Sea Bi el llenado de la memoria tampón del descodificador inmediatamente antes de retirar bi bits en el instante ti. Un modelo genérico de cubeta con goteo funciona de acuerdo con las siguientes ecuaciones:
Típicamente, ti+1, ti = 1/M segundos, donde M es la frecuencia de imagen (normalmente en imágenes/segundo) para el flujo de bits.
45 Un modelo de cubeta con goteo con parámetros (R, R, F) contiene un flujo de bits, si no hay subdesbordamiento de la memoria tampón del descodificador. Debido a que los llenados de las memorias tampón del codificador y del descodificador son complementarios entre sí, esto es equivalente a la ausencia de desbordamiento de la memoria tampón del codificador. Sin embargo, se permite que la memoria tampón (la cubeta con goteo) del codificador se vacíe, o equivalentemente que la memoria tampón del descodificador se llene, momento en el cual no se transmite más bits desde la memoria tampón del codificador a la memoria tampón del descodificador. Así, la memoria tampón del descodificador detiene la recepción de bits cuando está llena, razón por la cual está incluido el operador min en la ecuación (1). Una memoria tampón de descodificador llena, significa simplemente que la memoria tampón del codificador está vacía.
55 Pueden realizarse las siguientes observaciones.
Un flujo de vídeo dado puede contenerse en muchas cubetas con goteo. Por ejemplo, si un flujo de vídeo está contenido en una cubeta con goteo con parámetros (R, B, F), estará también contenido en una cubeta con goteo con una memoria tampón mayor (R, B', F), B' >B, o en una cubeta con goteo con una velocidad de transmisión máxima superior (R', B, F), R' >R.
Para cualquier velocidad binaria R' el sistema puede siempre encontrar un tamaño de memoria tampón que contenga el flujo de bits de vídeo (limitado en el tiempo). En el peor de los casos (R' próximo a 0), será necesario que el tamaño de la memoria tampón sea tan grande como el propio flujo de bits. Dicho de otra forma, un flujo de bits de vídeo puede ser transmitido a cualquier frecuencia (independientemente de la
5 velocidad binaria promedio del clip), siempre que el tamaño de la memoria tampón sea lo suficientemente grande.
Se asume que el sistema fija la relación F = a B para todas las cubetas con goteo, donde a es alguna fracción deseada del llenado inicial de la memoria tampón. Para cada valor de la velocidad binaria máxima R, el sistema puede hallar el tamaño mínimo de memoria tampón Bmin que contenga el flujo de bits, utilizando la ecuación (1). En la figura 2 se muestra la representación de la curva de valores R - B.
Por inspección, la curva de (Rmin, Bmin) para cualquier flujo de bits (como el de la figura 2) es lineal a tramos, y convexa. Por lo tanto si se proporciona N puntos de la curva, el descodificador puede interpolar linealmente los
15 valores para llegar a algunos puntos (Rinterp, Binterp) que son ligeramente, pero con seguridad, mayores que (Rmin, Bmin). De este modo se puede reducir el tamaño de la memoria tampón, y por consiguiente también el retardo, en un orden de magnitud en relación con una sola cubeta con goteo que contenga el flujo de bits en su frecuencia promedio. Alternativamente, para el mismo retardo se puede reducir la frecuencia de transmisión máxima mediante un factor cuatro, o posiblemente incluso mejorar la relación señal frente a ruido en varios dB.
Verificador de Memoria Tampón de Vídeo MPEG (VBV)
El verificador de memoria tampón de vídeo MPEG (VBV) puede funcionar en dos modos: velocidad binaria constante (CBR, constant bit rate) y velocidad binaria variable (VBR, variable bit rate). MPEG-1 solo soporta el modo CBR,
25 mientras que MPEG-2 soporta ambos nodos.
El VBV funciona en modo CBR cuando el flujo de bits está contenido en un modelo de cubeta con goteo de parámetros (R, B, F) y:
R = Rmax = velocidad binaria promedio del flujo.
El valor de B es almacenado en el parámetro sintáctico tamaño_de_memoria_tampón_vbv, utilizando una unidad especial de tamaño (a saber, unidades de 16 x 1024 bits).
35 El valor de F/R es almacenado en el elemento sintáctico retardo_vbv, asociado con la primera imagen de vídeo en la secuencia, utilizando una unidad especial de tiempo (a saber, número de períodos de un reloj de 90 kHz).
El llenado de la memoria tampón del descodificador sigue las siguientes ecuaciones:
El codificador tiene que asegurar que Bi - bi es siempre mayor o igual que cero, siendo a la vez Bi es siempre menor
o igual que B. En otras palabras, el codificador asegura que la memoria tampón del descodificador no presente un desbordamiento ni un subdesbordamiento.
45 El VBV funciona en modo VBR cuando el flujo de bits está limitado en un modelo de cubeta con goteo de parámetros (R, B, F) y:
R = Rmax = pico de la frecuencia máxima. Rmax es mayor que la frecuencia promedio del flujo de bits.
F = B, es decir la memoria tampón se llena inicialmente.
El valor de R está representado en el parámetro sintáctico tamaño_de_memoria_tampón_vbv, como en el caso de CBR. 55 El llenado de la memoria tampón del descodificador sigue las siguientes ecuaciones:
El codificador asegura que Bi – bi es siempre mayor o igual que cero. Es decir, el codificador debe asegurar que en la memoria tampón del descodificador no presenta subdesbordamiento. Sin embargo, en este caso de VBR el codificador no necesita asegurar que la memoria tampón del descodificador no presenta desbordamiento. Si la memoria tampón del descodificador se llena, entonces se asume que la memoria tampón del codificador está vacía y por tanto se deja de transmitir bits desde la memoria tampón del codificador a la memoria tampón del descodificador.
El modo VBR es útil para dispositivos que pueden leer datos hasta la frecuencia máxima Rmax. Por ejemplo, un DVD incluye clips de VBR en los que Rmax es aproximadamente 10 Mb/s, lo que corresponde a la máxima velocidad de lectura de la unidad de disco, incluso aunque la frecuencia promedio del flujo de vídeo DVD sea de solo unos 4 Mb/s.
En referencia la figura 3A y a la figura 3B, se muestra gráficos de llenado de la memoria tampón del descodificador, para algunos flujos de bits operativos en modo CBR y VBR.
En líneas generales, el modo CBR puede considerarse un caso especial de VBR donde se tiene que Rmax es la frecuencia promedio del clip.
Descodificador Hipotético de Referencia (HRD) H.263
El modelo hipotético de referencia para H.263 es similar al modo CBR del VBV de MPEG discutido previamente, excepto por lo siguiente.
El descodificador inspecciona el llenado de la memoria tampón en ciertos intervalos temporales, y descodifica una imagen tan pronto estén disponibles todos los bits para la imagen. Este enfoque tiene como resultado un par de beneficios: (a) el retardo se minimiza debido a que F es usualmente solo un poco mayor que el número de bits para la primera imagen, y (b) si es común el salto de imágenes, el decodificador simplemente espera hasta la siguiente imagen disponible. Lo segundo se habilita también en el modo de bajo retardo del VBV de MPEG.
La comprobación del desbordamiento de la memoria tampón se realiza después de que los bits para una imagen son retirados de la memoria tampón. Esto relaja la limitación de enviar grandes imágenes I una vez cada cierto tiempo, pero hay un valor máximo para la imagen mayor.
El HRD de H.263 puede esencialmente ser mapeado a un tipo de modelo de cubeta con goteo, de bajo retardo.
Limitaciones de los Descodificadores Hipotéticos de Referencia Previos
Los descodificadores hipotéticos de referencia existentes previamente, funcionan en un solo punto (R, B) de la curva de la figura 2. Como resultado, estos descodificadores tienen los siguientes inconvenientes:
si la velocidad binaria disponible en el canal R' es menor que la disponible en R (por ejemplo, esto es común en la emisión en tiempo real por Internet y en la descarga progresiva, o cuando se requiere transmitir un clip VBR en MPEG a una frecuencia inferior al máximo), estrictamente hablando el descodificador hipotético no sería capaz de descodificar el flujo de bits.
Si el ancho de banda disponible R' es mayor que R (por ejemplo, esto es común también para la emisión en tiempo real por Internet, así como para la reproducción local), los descodificadores hipotéticos previos podrían funcionar en el modo VBR y descodificarían el flujo de bits. Sin embargo, si hubiera disponible más información sobre la curva Frecuencia - Memoria Tampón, se reduciría significativamente el tamaño de memoria tampón y el retardo asociado de puesta en funcionamiento, requerido para descodificar el flujo de bits.
Si el tamaño físico de la memoria tampón en un dispositivo descodificador es menor que R, el dispositivo no será capaz de descodificar tal flujo de bits.
Si el tamaño de memoria tampón es mayor que B, el dispositivo será capaz de descodificar el flujo de bits pero el retardo de puesta en funcionamiento será el mismo.
De forma más general, un flujo de bits que se ha generado de acuerdo con una cubeta con goteo (R, B, F) usualmente no será susceptible de ser distribuido a través de diferentes redes de velocidad binaria menor que R, y a una variedad de dispositivos con tamaños de memoria tampón menores que B. Además, no será minimizado el retardo de puesta en funcionamiento.
Descodificador Hipotético de Referencia Generalizado (GHRD)
Un descodificador hipotético de referencia generalizado (GHRD) puede funcionar dada la información de N modelos de cubeta con goteo,
cada uno de los cuales contiene el flujo de bits. Sin perder generalidad, asumimos que estas cubetas con goteo están ordenadas desde la menor a la mayor velocidad binaria, es decir que Ri < Ri + 1. Asumimos también que el codificador computa estos modelos de cubeta de goteo correctamente, y por lo tanto Bi < Bi + 1.
15 El valor deseado de N puede ser seleccionado mediante el codificador. Si N = 1, el GHRD es esencialmente equivalente al VBV del MPEG. El codificador puede elegir: (a) preseleccionar valores de cubeta con goteo y codificar el flujo de bits con un control de velocidad, asegurando que se satisface la totalidad de las limitaciones de cubeta de goteo, (b) codificar el flujo de bits y después utilizar la ecuación (1) para computar un conjunto de cubetas con goteo que contiene el flujo de bits a N diferentes valores de R, o (c) hacer ambas cosas. El primer enfoque (a) puede aplicarse a transmisión en directo o bajo demanda, mientras que (b) o (c) aplican sólo a transmisión bajo demanda.
El número N de cubetas con goteo y los parámetros de cubeta con goteo (4), son insertados en el flujo de bits. De este modo, el descodificador puede determinar qué cubeta con goteo desea utilizar, conociendo la velocidad binaria
25 máxima disponible para esta, y/o su tamaño físico de memoria tampón. Los modelos de cubeta con goteo en (4), así como todos los modelos linealmente interpolados o extrapolados, son de uso viable. La figura 4 ilustra un conjunto de N modelos de cubeta con goteo, y sus valores interpolados o extrapolados (R, B).
El tamaño de memoria tampón interpolado B entre puntos k y k + 1, sigue la línea recta:
Análogamente, el llenado inicial de la memoria tampón del descodificador F puede interpolarse linealmente:
35 La cubeta con goteo resultante con parámetros (R, B, F) contiene el flujo de bits, debido al que el tamaño mínimo de memoria tampón Bmin es convexo tanto en R como en F, es decir el tamaño mínimo de memoria tampón Bmin correspondiente a cualquier combinación convexa (R, F) = a (Rk, Fk) + (1 - a) (Rk+1, Fk+1), 0 < a < 1, es menor o igual que B = a Bk + (1 - a) Bk + 1.
Se observa que si R es mayor que RN, la cubeta con goteo (R, BN, FN) contendrá también el flujo de bits, y por lo tanto BN y FN son el tamaño de memoria tampón y el llenado inicial de la memoria tampón del descodificador, recomendados cuando R > = RN. Si R es menor que Rl puede provocarse el límite superior B = B + (Rl – R) T (y la vez se puede fijar F = B), donde T es la duración temporal del flujo en segundos. Estos valores (R, B) fuera del rango de los N puntos, se muestran también en la figura 4.
45 El documento Working Draft Number 2, revisión 0 (WD-2), del Joint Video Team de ISO/IEC MPEG y ITU-T VCEG, incorpora muchos de los conceptos del descodificador hipotético de referencia propuesto por Jordi Ribas-Cobera et al., de Microsoft Corporation, incorporado aquí como referencia. El documento WD-2 es similar al descodificador propuesto por Jordi Ribas-Cobera et al., de Microsoft Corporation, aunque la sintaxis está algo modificada. Además, WD-2 describe un algoritmo a modo de ejemplo para computar B, y F para una frecuencia dada R.
La publicación de aplicación de patente de EE.UU. número US 2003/0 053 416 A, describe el uso de dos modelos de cubeta con goteo. El primer conjunto de parámetros de cubeta con goteo, permitiría la transmisión del vídeo sobre un canal con velocidad binaria constante, con un retardo de unos 22,5 segundos. El segundo conjunto de
55 parámetros de cubeta con goteo permitiría la transmisión del vídeo sobre una red compartida, con una velocidad máxima de 2500 kbps, o permitiría la reproducción local desde un CD 2x, con un retardo de unos 0,9 segundos.
Resumen de la invención
De acuerdo con un aspecto de la presente invención, se proporciona un método de codificación de vídeo que comprende definir un primer conjunto de múltiples valores característicos de una velocidad binaria de transmisión para un primer punto de acceso en un punto de comienzo de una secuencia de vídeo; definir un segundo conjunto de múltiples valores característicos de un tamaño de memoria tampón para dicho primer punto de acceso; definir un tercer conjunto de múltiples valores característicos de un retardo hasta que se presenta una secuencia de vídeo para dicho primer punto de acceso; definir un cuarto conjunto de múltiples valores característicos de una velocidad binaria de transmisión para otro punto de acceso localizado después de dicho primer punto de acceso y a continuación; definir un quinto conjunto de múltiples valores característicos de un tamaño de memoria tampón para dicho otro punto de acceso; definir un sexto conjunto de múltiples valores característicos de un retardo hasta que se presenta una secuencia de vídeo para dicho otro punto de acceso en el que se seleccionan un valor de dicho primer conjunto de múltiples valores, un valor de dicho segundo conjunto de múltiples valores, y un valor de dicho tercer conjunto de múltiples valores tal que dicha secuencia de vídeo está libre de una condición de desbordamiento de memoria tampón en dicho primer punto de acceso; y se seleccionan un valor de dicho cuarto conjunto de múltiples valores, un valor de dicho quinto conjunto de múltiples valores, y dicho sexto conjunto de múltiples valores tal que dicha secuencia de vídeo está libre de una condición de desbordamiento de memoria tampón en dicho otro punto de acceso.
Características preferidas de la invención se exponen en las reivindicaciones dependientes
Breve descripción de los dibujos
La figura 1 ilustra un llenado de memoria tampón del descodificador.
La figura 2 ilustra una curva R - B.
las figuras 3A y 3B son representaciones del llenado de la memoria tampón del descodificador, para algunos flujos de bits operativos respectivamente en modos CBR y VBR.
La figura 4 ilustra un conjunto de N modelos de cubeta con goteo, y sus valores interpolados o extrapolados (R, B).
La figura 5 ilustra el almacenamiento inicial en memoria tampón Bj del descodificador, para cualquier punto que el usuario busque cuando la velocidad es Rj.
La figura 6 ilustra conjuntos de (R, B, F) definidos en modo avance, para el flujo de vídeo concreto.
La figura 7 ilustra el llenado inicial de memoria tampón (en bits) para un segmento de vídeo.
La figura 8 ilustra el criterio de selección en un conjunto de 10 puntos para la figura 7.
La figura 9 ilustra criterios de selección.
La figura 10 ilustra reducciones en el retardo.
Descripción detallada de la realización preferida
Como se ha descrito previamente, el estándar JVT (WD-2) permite el almacenamiento de (N >= 1) cubetas con goteo, valores (R1, B1, F1), ..., (RN, BN, FN) que están contenidos en el flujo de bits. Estos valores pueden ser almacenados en el encabezado. Utilizando Fi como el llenado inicial de la memoria tampón y Bi como el tamaño de la memoria tampón, garantiza que la memoria tampón del descodificador no presentará subdesbordamiento cuando el flujo de entrada entre a la velocidad Ri. Este será el caso si el usuario desea presentar el vídeo codificado de principio a fin. En una típica aplicación de vídeo bajo demanda, el usuario puede querer buscar diferentes partes del flujo de vídeo. El punto que el usuario desea buscar puede ser aludido como el punto de acceso. Durante el proceso de recepción de datos de vídeo y construcción de imágenes de vídeo, la cantidad de datos en la memoria tampón fluctúa. Tras su consideración, el presente inventor llega a la comprensión de que si el valor Fi de llenado inicial de la memoria tampón (cuando la velocidad del canal es Ri) se utiliza antes de comenzar a descodificar el vídeo desde el punto de acceso, entonces es posible que el descodificador presente un subdesbordamiento. Por ejemplo en el punto de acceso o algo después, la cantidad de bits necesarios para la reconstrucción de vídeo puede ser mayor que los bits que hay actualmente en la memoria tampón, lo que tiene como resultado un subdesbordamiento y la imposibilidad de presentar imágenes de vídeo de forma oportuna. Igualmente, puede demostrarse que en un flujo de vídeo el valor de llenado inicial de memoria tampón, necesario para asegurarse de que no hay subdesbordamiento en el descodificador, varía en función del punto que busca el usuario. Este valor está limitado por el Bi. Por consiguiente, la combinación de B y F proporcionados para toda la secuencia de vídeo, probablemente no será apropiada si se utiliza para un punto intermedio en el vídeo, teniendo como resultado un subdesbordamiento y por tanto congelando las imágenes.
Basándose en este potencial de subdesbordamiento no comprendido previamente, el presente inventor llega entonces a la constatación de que si se define solo un conjunto de valores de R, B y F para un segmento de vídeo completo, entonces el sistema debería esperar hasta que la memoria tampón B para la correspondiente velocidad R esté llena, o sustancialmente llena (o llena por encima del 90%), para comenzar a descodificar imágenes cuando un usuario salta a un punto de acceso. De este modo el llenado inicial de la memoria tampón estará al máximo, y por lo tanto no existe el potencial de subdesbordamiento durante la subsiguiente descodificación que comience desde el punto de acceso. Esto puede conseguirse sin ningún cambio adicional en el flujo de bits existente, y por lo tanto sin impacto sobre los sistemas existentes. Por consiguiente, el descodificador utilizaría el valor del almacenamiento inicial en memoria tampón Bj, para cualquier punto que busque el usuario, cuando la velocidad es Rj, como se muestra en la figura 5. Sin embargo, desgraciadamente en ocasiones esto tiene como resultado un retardo significativo hasta que se presenta las imágenes, después de seleccionar una localización diferente (por ejemplo, un punto de acceso) desde la que presentar el vídeo.
El llenado inicial de memoria tampón (F) puede análogamente caracterizarse como un retardo hasta que se presenta la secuencia de vídeo. El retardo es de naturaleza temporal, estando relacionado con el tiempo necesario para conseguir el llenado inicial de memoria tampón (F). El retardo y/o F pueden asociarse con todo el vídeo o con los puntos de acceso. Análogamente, debe entenderse que el retardo puede sustituirse por F en todas las realizaciones aquí descritas (por ejemplo (R, B, retardo)). Un valor concreto para el retardo puede calcularse como retardo = F/R, utilizando una unidad especial de tiempo (unidades de reloj de 90 kHz).
Para reducir el retardo potencial, el presente inventor llegó a la comprensión de que puede definirse conjuntos de (R, B, F) para un flujo de vídeo concreto, en cada punto de acceso. En referencia a la figura 6, estos conjuntos de (R, B, F) se definen preferentemente en modo avance, para el flujo de vídeo concreto. Por ejemplo, el conjunto de valores (R, B, F) puede computarse de la forma existente previamente para el flujo de vídeo como un todo, además el conjunto de valores F para los mismos valores (R, B) que los de todo el flujo de vídeo, puede computarse de la forma existente previamente para el flujo de vídeo, con respecto al flujo de vídeo desde la posición "2" en avance, etcétera. El mismo proceso puede utilizarse para los restantes puntos de acceso. Los puntos de acceso pueden ser cualquier imagen dentro de la secuencia de vídeo, imágenes I de la secuencia, imágenes B de la secuencia, o imágenes P de la secuencia (se utiliza típicamente imágenes I, B y P en la decodificación de vídeo basada en MPEG). Por consiguiente, el usuario puede seleccionar uno de los puntos de acceso, y a continuación utilizar el respectivo Fij para el llenado inicial deseado (asumiendo que la memoria tampón Bi y la velocidad Ri permanecen invariables), o en otro caso un conjunto de dos o más de Ri, Bi, Fij.
El índice "i" representa cada cubeta con goteo, y el índice "j" representa cada punto de acceso aleatorio. Asumiendo que la memoria tampón Bi y la velocidad Ri permanecen invariables, en el encabezado se almacena el conjunto múltiple de valores (Bi, Ri, Fi1), donde i = 1, 2, ..., N y Fi1 representa el llenado inicial de la memoria tampón. Después, en el punto de acceso j se almacena Fij, donde j = 2, 3, ... Por otra parte, asumiendo que la memoria tampón Bi y la velocidad Ri serán modificadas en cada punto de acceso j, puede almacenarse múltiples conjuntos de valores de (Rij, Bij, Fij) en cada punto de acceso. El beneficio del primer caso es que ahorra en la cantidad de datos, puesto que sólo se ha almacenado un conjunto múltiple de Fij en cada punto de acceso, y el beneficio del último caso es que puede ajustar el conjunto de valores de forma más apropiada para cada punto de acceso. Cuando se utiliza el retardo (D) hasta que se presenta la secuencia de vídeo, en lugar del llenado inicial de la memoria tampón (F), es posible realizar la invención actual mediante sustituir Fij con Dij. En este caso Dij representa el valor del retardo. Así, cuando se asume que la memoria tampón Bi y la velocidad Ri permanecen invariables, se almacena (Bi, Ri, Dil) en el encabezado y se almacena Dij en cada punto de acceso j. Cuando se asume que la memoria tampón Bi y la velocidad Ri cambian en cada punto de acceso j, puede almacenarse un conjunto múltiple de valores (Bij, Rij, Dij) en el punto de acceso.
Los conjuntos de valores R, B, F para cada punto de acceso, pueden estar localizados en cualquier localización apropiada, tal como por ejemplo al comienzo de la secuencia de vídeo, junto con conjuntos de valores (R, B, F) para todo el flujo de vídeo, o antes de cada punto de acceso lo que evita la necesidad de un índice; o estar almacenados de forma externa al propio flujo de vídeo, lo que es especialmente adecuado para un entorno de servidor/cliente.
Esta técnica puede caracterizarse mediante el siguiente modelo:
(R1, B1, F1, M1, f11, t11, ..., fM11, tM11) ..., (RN, BN, FN, MN, f1N, t1N, ..., fMNN, tMNN),
donde fkj denota el valor inicial de llenado de la memoria tampón a la velocidad Rj en el punto de acceso tkj (marca temporal). Los valores de Mj pueden proporcionarse como un parámetro de entrada, o pueden ser seleccionados automáticamente. Por ejemplo, Mj puede incluir las siguientes opciones:
(a)
Mj puede ajustarse al valor igual al número de puntos de acceso. De este modo los valores de fkj puede almacenarse para cada punto de acceso, a cada velocidad Rj (bien al comienzo del flujo de vídeo, dentro del flujo de vídeo, distribuido a través del flujo de vídeo, o con cualquier otra localización).
(b)
Mj puede fijarse igual a cero, sino se desea soporte de búsqueda.
(c)
Puede seleccionarse automáticamente Mj valores para cada velocidad Rj (se describe más abajo).
Para un Rj dado, el sistema puede utilizar un llenado inicial de memoria tampón igual a fjk si el usuario busca un punto de acceso tkj. Esto ocurre cuando el usuario selecciona comenzar en un punto de acceso, o bien cuando el sistema ajusta la selección del usuario a uno de los puntos de acceso.
Se hace notar que en el caso de que se utiliza una velocidad binaria variable (en flujo de bits), preferentemente el valor de llenado inicial de la memoria tampón (o retardo) es diferente al tamaño de memoria tampón (o el retardo calculado por el tamaño de memoria tampón), aunque puede ser el mismo. En el caso de una velocidad binaria variable en VBV de MPEG-2, la memoria tampón se rellena hasta que está llena, es decir F = B (el valor de B está representado por tamaño_de_memoria_tampón_de_vbv).
En la presente invención, el valor de llenado inicial del tamaño de la memoria tampón, puede escogerse apropiadamente en cada punto de acceso aleatorio, para evitar cualquier subdesbordamiento o desbordamiento de la memoria tampón. Cuando se usa el retardo hasta que se presenta la secuencia de vídeo, en lugar del llenado de la memoria tampón, el valor del retardo se escoge apropiadamente en cada punto de acceso aleatorio, para evitar cualquier subdesbordamiento o desbordamiento de la memoria tampón. Generalmente, esto significa que en cada punto de acceso aleatorio se consigue un retardo menor que llenando del todo la memoria tampón VBV. Por lo tanto, la determinación del valor de llenado de la memoria tampón (o el retardo) que es menor que el tamaño de la memoria tampón (o el retardo calculado por el tamaño de la memoria tampón) mediante la presente invención, tiene la ventaja de un retardo reducido, puesto que se requiere almacenar menos datos en la memoria tampón antes del comienzo de la descodificación, que en el arte previo.
Si el sistema permite al usuario saltar a cualquier imagen del vídeo, a modo de un punto de acceso, entonces se necesitaría proporcionar el conjunto de datos de descodificación para todas y cada una de las imágenes. En el caso de que fuera permisible, el conjunto de datos resultantes sería excesivamente grande y consumiría una cantidad significativa de la velocidad binaria disponible para los datos. Un enfoque más razonable sería limitar al usuario a puntos de acceso específicos dentro del flujo de vídeo, tal como cada segundo, cada 10 segundos, cada minuto, etcétera. Aun siendo una mejora, el conjunto de datos resultante puede seguir siendo algo extenso, teniendo como resultado excesivos datos para dispositivos con ancho de banda limitado, tales como dispositivos de comunicación móvil.
En el caso de que el usuario seleccione una posición que sea uno de los puntos de acceso con un conjunto de datos asociado, entonces el llenado inicial de memoria tampón puede ser igual a max(fkj, f(k + 1)j) para un tiempo entre tkj y t(k + 1)j, especialmente si los puntos de acceso se seleccionan adecuadamente. De este modo se garantiza que el sistema tiene un conjunto de valores que estará libre de tener como resultado una condición de subdesbordamiento,
o en otro caso reduce la probabilidad de una condición de subdesbordamiento como se explicará más abajo.
Se hace referencia a la figura 7, para seleccionar un conjunto de valores que asegure que no se produce condición de subdesbordamiento (o en otro caso, que se reduce) cuando se ha utilizado el criterio de selección aludido arriba. La figura 7 ilustra el llenado inicial de la memoria tampón (en bits) para un segmento de vídeo, donde se calcula en llenado inicial de la memoria tampón en avance, para incrementos de 10 segundos. Después, el sistema selecciona preferentemente un punto de acceso en el comienzo de la secuencia de vídeo, y un punto de acceso al término del segmento de vídeo. Entre el comienzo y al final del segmento de vídeo, el sistema selecciona los máximos locales para su inclusión como puntos de acceso. Además, el sistema puede seleccionar los mínimos locales para su inclusión como puntos de acceso. Preferentemente, si se desea un conjunto limitado de puntos de acceso el sistema selecciona primero los máximos locales y después los mínimos locales, lo que ayuda a asegurar que no se produce subdesbordamiento. A continuación, si se desea el sistema puede seleccionar además puntos intermedios.
Basándose en el criterio de selección, puede seleccionarse un conjunto de 10 puntos para la figura 7, como se indica en la figura 8. En referencia la figura 9, los 10 puntos seleccionados se muestran mediante la curva a trazos. Los valores resultantes de llenado inicial de la memoria tampón en todos los puntos de acceso, se muestran mediante la curva continua. La curva continua ilustra un conjunto "seguro" de valores para todos los puntos de acceso en el vídeo, de forma que la memoria tampón del descodificador no presente subdesbordamiento. Si se ha producido fluctuaciones extremas en la velocidad binaria del flujo de bits actual, que no se detectaron en el procesamiento, tales como picos abruptos, entonces es posible que se tenga un subdesbordamiento, aunque normalmente es improbable. Los valores óptimos de llenado inicial de la memoria tampón en todos los puntos de acceso, se muestran mediante una curva a trazos y puntos. Se consigue una reducción significativa en el retardo temporal de almacenamiento en memoria tampón, en contraste con requerir una memoria tampón llena cuando se accede a un punto de acceso, como se ilustra en la figura 10.
Además, si la velocidad binaria y el tamaño de memoria tampón permanecen iguales mientras se selecciona un punto de acceso diferente, entonces simplemente necesita proporcionarse o determinarse de otro modo el llenado modificado de la memoria tampón, F.

Claims (4)

  1. REIVINDICACIONES
    1. Método de codificación de vídeo que comprende:
    definir un primer conjunto de múltiples valores (Ri1) característicos de una velocidad binaria de transmisión para un primer punto de acceso en un punto de comienzo de una secuencia de vídeo;
    definir un segundo conjunto de múltiples valores (Bi1) característicos de un tamaño de memoria tampón para dicho primer punto de acceso;
    definir un tercer conjunto de múltiples valores (Di1) característicos de un retardo hasta que se presenta una secuencia de vídeo para dicho primer punto de acceso;
    definir un cuarto conjunto de múltiples valores (Ri2) característicos de una velocidad binaria de transmisión para otro punto de acceso localizado después de dicho primer punto de acceso y a continuación;
    definir un quinto conjunto de múltiples valores (Bi2) característicos de un tamaño de memoria tampón para dicho otro punto de acceso;
    definir un sexto conjunto de múltiples valores (Di2) característicos de un retardo hasta que se presenta una secuencia de vídeo para dicho otro punto de acceso; en el que
    se seleccionan un valor de dicho primer conjunto de múltiples valores, un valor de dicho segundo conjunto de múltiples valores, y un valor de dicho tercer conjunto de múltiples valores tal que dicha secuencia de vídeo está libre de una condición de desbordamiento de memoria tampón en dicho primer punto de acceso; y
    se seleccionan un valor de dicho cuarto conjunto de múltiples valores, un valor de dicho quinto conjunto de múltiples valores, y un valor de dicho sexto conjunto de múltiples valores tal que dicha secuencia de vídeo está libre de una condición de desbordamiento de memoria tampón en dicho otro punto de acceso.
  2. 2.
    Método de codificación de vídeo según la reivindicación 1, en el que dicho primer conjunto: de múltiples valores (Ri1), dicho segundo conjunto de múltiples valores (Bi1), y dicho tercer conjunto de múltiples valores (Di1) definen al menos un modelo de cubeta con goteo para una memoria tampón de un decodificador hipotético de referencia.
  3. 3.
    Método de codificación de vídeo según la reivindicación 2, en el que dicho modelo de cubeta con goteo usa una velocidad binaria fija.
  4. 4.
    Método de codificación de vídeo según la reivindicación 2, en el que dicho modelo de cubeta con goteo usa una velocidad binaria variable.
ES10162205T 2003-03-31 2004-03-26 Codificador de vídeo Expired - Lifetime ES2390596T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US404947 2003-03-31
US10/404,947 US7266147B2 (en) 2003-03-31 2003-03-31 Hypothetical reference decoder

Publications (1)

Publication Number Publication Date
ES2390596T3 true ES2390596T3 (es) 2012-11-14

Family

ID=32990219

Family Applications (3)

Application Number Title Priority Date Filing Date
ES10162205T Expired - Lifetime ES2390596T3 (es) 2003-03-31 2004-03-26 Codificador de vídeo
ES07000483T Expired - Lifetime ES2348075T3 (es) 2003-03-31 2004-03-26 Codificador de vídeo y método de codificación de vídeo.
ES04723847T Expired - Lifetime ES2300757T3 (es) 2003-03-31 2004-03-26 Codificador de video y metodo de codificacion de video.

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES07000483T Expired - Lifetime ES2348075T3 (es) 2003-03-31 2004-03-26 Codificador de vídeo y método de codificación de vídeo.
ES04723847T Expired - Lifetime ES2300757T3 (es) 2003-03-31 2004-03-26 Codificador de video y metodo de codificacion de video.

Country Status (11)

Country Link
US (4) US7266147B2 (es)
EP (3) EP1611747B1 (es)
JP (4) JP2006519517A (es)
CN (3) CN1826812B (es)
AT (2) ATE390019T1 (es)
DE (2) DE602004027847D1 (es)
ES (3) ES2390596T3 (es)
HK (2) HK1145413A1 (es)
PL (1) PL2209319T3 (es)
PT (3) PT1611747E (es)
WO (1) WO2004088988A1 (es)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage 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
US6909383B2 (en) 2002-10-05 2005-06-21 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US7908130B2 (en) * 2002-12-12 2011-03-15 Ixia Modelling aggregate transport layer network traffic behaviour with feedback containing packet loss information
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7054774B2 (en) * 2003-06-27 2006-05-30 Microsoft Corporation Midstream determination of varying bandwidth availability
US7979886B2 (en) * 2003-10-17 2011-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Container format for multimedia presentations
US8683535B2 (en) * 2004-03-26 2014-03-25 Broadcom Corporation Fast channel change
US8842175B2 (en) 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
US7162533B2 (en) * 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
KR101161193B1 (ko) 2004-05-07 2012-07-02 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
US20060143678A1 (en) * 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
US7543073B2 (en) * 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
KR20060065482A (ko) * 2004-12-10 2006-06-14 마이크로소프트 코포레이션 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스
CA2603883A1 (en) * 2005-04-07 2006-10-12 Nokia Corporation Buffering in streaming delivery
EP1985021A4 (en) 2006-02-13 2013-05-29 Digital Fountain Inc CONTINUOUS TRANSMISSION AND BUFFER DELIVERY USING CONTINUOUS MONITORING OVERVIEW AND PERIODS OF PROTECTION
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
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
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
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
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
CN101299808B (zh) * 2007-04-30 2011-11-16 北京希格玛和芯微电子技术有限公司 一种实时图像数据传输方法及装置
WO2009036378A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
JP5171413B2 (ja) * 2008-06-16 2013-03-27 三菱電機株式会社 コンテンツ送信装置、コンテンツ受信装置及びコンテンツ送信方法
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
EP2534643A4 (en) * 2010-02-11 2016-01-06 Nokia Technologies Oy METHOD AND APPARATUS FOR PROVIDING MULTIFIL VIDEO DECODING
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
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
US8825886B2 (en) 2010-07-28 2014-09-02 Hong Kong Applied Science and Technology Research Institute Company Limited System and method for evaluating network transport effects on delivery of media content
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
ES2621231T3 (es) 2011-04-12 2017-07-03 Sun Patent Trust Método de codificación de video de movimiento, aparato de codificación de video de movimiento, método de decodificación de video de movimiento, aparato de decodificación de video de movimiento y aparato de codificación/decodificación de video de movimiento
ES2959874T3 (es) 2011-05-24 2024-02-28 Sun Patent Trust Procedimiento de codificación de imágenes, aparato de codificación de imágenes, procedimiento de decodificación de imágenes, aparato de decodificación de imágenes
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
PL2717575T3 (pl) 2011-05-27 2019-03-29 Sun Patent Trust Sposób dekodowania obrazów i urządzenie do dekodowania obrazów
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
JP5937589B2 (ja) 2011-05-31 2016-06-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 動画像復号化方法、および動画像復号化装置
EP2728878B1 (en) 2011-06-30 2020-02-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
MX341415B (es) 2011-08-03 2016-08-19 Panasonic Ip Corp America Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video.
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9420307B2 (en) 2011-09-23 2016-08-16 Qualcomm Incorporated Coding reference pictures for a reference picture set
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
CA2850595C (en) 2011-10-19 2020-09-08 Panasonic Corporation Picture coding method, picture coding apparatus, picture decoding method, and picture decoding apparatus
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
KR20130058584A (ko) 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
RU2713854C2 (ru) * 2012-04-23 2020-02-07 Сан Пэтент Траст Способ кодирования, способ декодирования, устройство кодирования, устройство декодирования и устройство кодирования и декодирования
JP5994367B2 (ja) * 2012-04-27 2016-09-21 富士通株式会社 動画像符号化装置、動画像符号化方法
US10110890B2 (en) 2012-07-02 2018-10-23 Sony Corporation Video coding system with low delay and method of operation thereof
US20140003534A1 (en) 2012-07-02 2014-01-02 Sony Corporation Video coding system with temporal scalability and method of operation thereof
US9912941B2 (en) 2012-07-02 2018-03-06 Sony Corporation Video coding system with temporal layers and method of operation thereof
JP6094126B2 (ja) * 2012-10-01 2017-03-15 富士通株式会社 動画像復号装置
CN109905726B (zh) * 2013-03-15 2021-06-04 构造数据有限责任公司 实时电视广告检测的系统和方法
WO2014196113A1 (ja) * 2013-06-06 2014-12-11 日本電気株式会社 時系列データ符号化装置、方法およびプログラム、並びに時系列データ再符号化装置、方法およびプログラム
JP6146471B2 (ja) * 2013-07-26 2017-06-14 富士通株式会社 符号化装置、符号化方法、および符号化プログラム
CN105594215B (zh) * 2013-10-11 2019-04-23 夏普株式会社 颜色信息和色度信令
EP3078023B1 (en) * 2013-12-02 2019-12-25 Dolby International AB Method for bitrate signaling and bitstream format enabling such method
US9813719B2 (en) * 2014-06-18 2017-11-07 Qualcomm Incorporated Signaling HRD parameters for bitstream partitions
US10979747B2 (en) * 2017-12-21 2021-04-13 Arris Enterprises Llc Statistical multiplexing system for variable bit rate encoding with constant bit rate encoder
MX2021013535A (es) * 2019-05-06 2022-01-31 Huawei Tech Co Ltd Señalización de punto de recuperación en codificación de video.
EP4026328A4 (en) * 2019-09-24 2022-10-19 Huawei Technologies Co., Ltd. HRD COMPLIANCE TESTING ON AN OLS
US11483227B2 (en) 2020-10-13 2022-10-25 Keysight Technologies, Inc. Methods, systems and computer readable media for active queue management
US11483228B2 (en) 2021-01-29 2022-10-25 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using an emulated data center environment
US11405302B1 (en) 2021-03-11 2022-08-02 Keysight Technologies, Inc. Methods, systems, and computer readable media for network testing using configurable test infrastructure
US11388081B1 (en) 2021-03-30 2022-07-12 Keysight Technologies, Inc. Methods, systems, and computer readable media for impairment testing using an impairment device
US11765068B2 (en) 2021-12-22 2023-09-19 Keysight Technologies, Inc. Methods, systems, and computer readable media for programmable data plane processor based traffic impairment

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02272851A (ja) * 1989-04-14 1990-11-07 Oki Electric Ind Co Ltd 画像パケット組立方式及び分解方式
US5159447A (en) * 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
US5287182A (en) * 1992-07-02 1994-02-15 At&T Bell Laboratories Timing recovery for variable bit-rate video on asynchronous transfer mode (ATM) networks
US5365552A (en) * 1992-11-16 1994-11-15 Intel Corporation Buffer fullness indicator
US5481543A (en) 1993-03-16 1996-01-02 Sony Corporation Rational input buffer arrangements for auxiliary information in video and audio signal processing systems
JPH07107429A (ja) * 1993-10-05 1995-04-21 Matsushita Electric Ind Co Ltd 画像信号の記録装置及び画像信号の再生装置
US5398072A (en) * 1993-10-25 1995-03-14 Lsi Logic Corporation Management of channel buffer in video decoders
US6055270A (en) * 1994-04-20 2000-04-25 Thomson Cosumer Electronics, Inc. Multiplexer system using constant bit rate encoders
CA2146801C (en) * 1994-05-27 1999-11-02 Barin Geoffry Haskell Timing recovery for variable bit-rate video on asynchronous transfer mode (atm) networks
US5534944A (en) * 1994-07-15 1996-07-09 Matsushita Electric Corporation Of America Method of splicing MPEG encoded video
IT1266945B1 (it) * 1994-09-29 1997-01-21 Cselt Centro Studi Lab Telecom Procedimento di multiplazione per flussi di segnali audiovisivi codificati secondo lo standard mpeg1.
JP3058028B2 (ja) * 1994-10-31 2000-07-04 三菱電機株式会社 画像符号化データ再符号化装置
US5629736A (en) 1994-11-01 1997-05-13 Lucent Technologies Inc. Coded domain picture composition for multimedia communications systems
US5543853A (en) * 1995-01-19 1996-08-06 At&T Corp. Encoder/decoder buffer control for variable bit-rate channel
US5533021A (en) 1995-02-03 1996-07-02 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of multimedia data
US5652749A (en) 1995-02-03 1997-07-29 International Business Machines Corporation Apparatus and method for segmentation and time synchronization of the transmission of a multiple program multimedia data stream
US5619341A (en) * 1995-02-23 1997-04-08 Motorola, Inc. Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system
US5877812A (en) * 1995-11-21 1999-03-02 Imedia Corporation Method and apparatus for increasing channel utilization for digital video transmission
US5686964A (en) * 1995-12-04 1997-11-11 Tabatabai; Ali Bit rate control mechanism for digital image and video data compression
DE69627031T2 (de) * 1996-01-08 2003-12-04 Ibm Dateiprozessor für die verteilung von multimedia-dateien
EP0841820A3 (en) * 1996-11-08 2005-11-09 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding, multiplexing and transmitting a video signal
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
US6023296A (en) * 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
US6188703B1 (en) * 1997-08-01 2001-02-13 International Business Machines Corp. Multiplexer for multiple media streams
US6397251B1 (en) * 1997-09-02 2002-05-28 International Business Machines Corporation File server for multimedia file distribution
US6366704B1 (en) * 1997-12-01 2002-04-02 Sharp Laboratories Of America, Inc. Method and apparatus for a delay-adaptive rate control scheme for the frame layer
US6301428B1 (en) * 1997-12-09 2001-10-09 Lsi Logic Corporation Compressed video editor with transition buffer matcher
JP4232209B2 (ja) * 1998-01-19 2009-03-04 ソニー株式会社 圧縮画像データの編集装置及び圧縮画像データの編集方法
US6269120B1 (en) * 1998-03-23 2001-07-31 International Business Machines Corporation Method of precise buffer management for MPEG video splicing
US6289129B1 (en) * 1998-06-19 2001-09-11 Motorola, Inc. Video rate buffer for use with push dataflow
US6912251B1 (en) * 1998-09-25 2005-06-28 Sarnoff Corporation Frame-accurate seamless splicing of information streams
ES2259827T3 (es) * 1998-10-13 2006-10-16 Matsushita Electric Industrial Co., Ltd. Regulacion de los requisitos de calculo y de memoria de un tren de bits comprimido en un decodificador de video.
JP3438613B2 (ja) * 1998-10-20 2003-08-18 三菱電機株式会社 符号化データ切替装置および符号化データ切替方法
US6272566B1 (en) 1998-11-18 2001-08-07 International Business Machines Corporation System for maintaining proper buffering within video play list
US6637031B1 (en) * 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6389072B1 (en) * 1998-12-23 2002-05-14 U.S. Philips Corp. Motion analysis based buffer regulation scheme
IL129345A (en) * 1999-04-06 2004-05-12 Broadcom Corp Video encoding and video/audio/data multiplexing device
US6909743B1 (en) * 1999-04-14 2005-06-21 Sarnoff Corporation Method for generating and processing transition streams
US6587506B1 (en) * 1999-11-02 2003-07-01 Matsushita Electric Industrial Co., Ltd. Video editing apparatus, video editing method, and data storage medium for a video editing program
US7292782B2 (en) 2000-09-27 2007-11-06 Victor Company Of Japan, Limited MPEG picture data recording apparatus, MPEG picture data recording method, MPEG picture data recording medium, MPEG picture data generating apparatus, MPEG picture data reproducing apparatus, and MPEG picture data reproducing method
JP3721972B2 (ja) * 2000-09-27 2005-11-30 日本ビクター株式会社 Mpeg画像データ記録方法
KR20020064925A (ko) * 2000-10-10 2002-08-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 디지털 비디오 기록을 위한 비디오 비트율 제어 방법 및장치
US6763067B2 (en) * 2000-10-10 2004-07-13 Sarnoff Corporation Rate control for bitstream re-encoding
US6907481B2 (en) * 2001-03-06 2005-06-14 Ati Technologies, Inc. System for bit-rate controlled digital stream playback and method thereof
US7646816B2 (en) 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
JP2003092752A (ja) * 2001-09-19 2003-03-28 Mitsubishi Electric Corp 多重化装置、多重化方法、画像復号装置、画像復号方法
KR100468726B1 (ko) * 2002-04-18 2005-01-29 삼성전자주식회사 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
WO2004006446A2 (en) * 2002-07-02 2004-01-15 Conexant Systems, Inc. Hypothetical reference decoder for compressed image and video
US7266147B2 (en) * 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7380028B2 (en) * 2003-06-13 2008-05-27 Microsoft Corporation Robust delivery of video data
US8345754B2 (en) * 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
US9654533B2 (en) * 2013-01-17 2017-05-16 Electronics And Telecommunications Research Institute Method of adaptively delivering media based on reception status information from media client and apparatus using the same

Also Published As

Publication number Publication date
JP2012135009A (ja) 2012-07-12
JP5536811B2 (ja) 2014-07-02
HK1147374A1 (en) 2011-08-05
CN1826812A (zh) 2006-08-30
USRE43062E1 (en) 2012-01-03
EP2209319A3 (en) 2011-01-26
ATE390019T1 (de) 2008-04-15
CN101854553B (zh) 2014-12-31
PT1611747E (pt) 2008-04-11
EP1611747A1 (en) 2006-01-04
JP2006519517A (ja) 2006-08-24
USRE48953E1 (en) 2022-03-01
JP5025289B2 (ja) 2012-09-12
PT1791369E (pt) 2010-08-09
EP1791369B1 (en) 2010-06-23
ES2300757T3 (es) 2008-06-16
US7266147B2 (en) 2007-09-04
EP2209319B1 (en) 2012-07-04
ATE472228T1 (de) 2010-07-15
EP1611747A4 (en) 2006-06-14
JP2007189731A (ja) 2007-07-26
CN1826812B (zh) 2010-07-28
US20040190606A1 (en) 2004-09-30
PL2209319T3 (pl) 2012-11-30
CN101854552B (zh) 2017-05-17
DE602004027847D1 (de) 2010-08-05
EP1791369A3 (en) 2007-06-27
HK1145413A1 (en) 2011-04-15
DE602004012540D1 (de) 2008-04-30
WO2004088988A1 (en) 2004-10-14
CN101854553A (zh) 2010-10-06
EP1611747B1 (en) 2008-03-19
PT2209319E (pt) 2012-09-11
JP2010166600A (ja) 2010-07-29
ES2348075T3 (es) 2010-11-29
JP5444047B2 (ja) 2014-03-19
USRE45983E1 (en) 2016-04-19
DE602004012540T2 (de) 2009-04-23
EP1791369A2 (en) 2007-05-30
CN101854552A (zh) 2010-10-06
EP2209319A2 (en) 2010-07-21

Similar Documents

Publication Publication Date Title
ES2390596T3 (es) Codificador de vídeo
ES2623635T3 (es) Decodificador de referencia generalizado de procesamiento de imagen o video
ES2331111T3 (es) Transmision y recepcion de datos en tiempo real.
US10972772B2 (en) Variable bit video streams for adaptive streaming
ES2956362T3 (es) Procesador de datos y transporte de datos de control del usuario a decodificadores de audio y renderizadores
US9232243B2 (en) Audio and video streaming for media effects
US20140347989A1 (en) Video Service Buffer Management in a Mobile Rate Control Enabled Network
US9060189B2 (en) Multiplexed video streaming
JP2001518268A (ja) タイミング制約を有する可変速度ビットストリームを多重化するための受信器モデルの使用
ES2746184T3 (es) Distribución de tasa de bits mejorada
BRPI0306317B1 (pt) sistema e método de servidor de vídeo sob demanda
KR20020026250A (ko) 비디오 신호 인코딩 및 버퍼 관리
BRPI0904441A2 (pt) método e aparelho para a recepção de conteúdo
KR101038645B1 (ko) 스트리밍 시스템의 언더플로우/오버플로우 방지 방법 및 그시스템
Ribas-Corbera et al. A flexible decoder buffer model for JVT video coding
ES2364873T3 (es) Sistema y procedimiento de adaptación de flujos de contenidos de video a la variabilidad de las condiciones de transmisión de una red radiotelefónica y a la dinámica del contenido de la fuente de video.
US9467719B2 (en) System and method for the transmission of data and streams containing video data Dvideo in a channel with given bitrate