ES2390596T3 - Codificador de vídeo - Google Patents
Codificador de vídeo Download PDFInfo
- 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
Links
- 239000000872 buffer Substances 0.000 claims abstract description 139
- 238000000034 method Methods 0.000 claims abstract description 9
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 208000028659 discharge Diseases 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 229920001690 polydopamine Polymers 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/44004—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- 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/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2401—Monitoring 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
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:
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)
- REIVINDICACIONES1. 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 quese 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; yse 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
2003
- 2003-03-31 US US10/404,947 patent/US7266147B2/en not_active Ceased
-
2004
- 2004-03-26 EP EP04723847A patent/EP1611747B1/en not_active Expired - Lifetime
- 2004-03-26 CN CN2004800075271A patent/CN1826812B/zh not_active Expired - Lifetime
- 2004-03-26 WO PCT/JP2004/004374 patent/WO2004088988A1/en active IP Right Grant
- 2004-03-26 AT AT04723847T patent/ATE390019T1/de not_active IP Right Cessation
- 2004-03-26 JP JP2005518546A patent/JP2006519517A/ja active Pending
- 2004-03-26 EP EP07000483A patent/EP1791369B1/en not_active Expired - Lifetime
- 2004-03-26 CN CN201010198922.XA patent/CN101854552B/zh not_active Expired - Lifetime
- 2004-03-26 PT PT04723847T patent/PT1611747E/pt unknown
- 2004-03-26 DE DE602004027847T patent/DE602004027847D1/de not_active Expired - Lifetime
- 2004-03-26 EP EP10162205A patent/EP2209319B1/en not_active Expired - Lifetime
- 2004-03-26 PT PT07000483T patent/PT1791369E/pt unknown
- 2004-03-26 ES ES10162205T patent/ES2390596T3/es not_active Expired - Lifetime
- 2004-03-26 CN CN201010199014.2A patent/CN101854553B/zh not_active Expired - Lifetime
- 2004-03-26 PT PT10162205T patent/PT2209319E/pt unknown
- 2004-03-26 PL PL10162205T patent/PL2209319T3/pl unknown
- 2004-03-26 ES ES07000483T patent/ES2348075T3/es not_active Expired - Lifetime
- 2004-03-26 DE DE602004012540T patent/DE602004012540T2/de not_active Expired - Lifetime
- 2004-03-26 AT AT07000483T patent/ATE472228T1/de not_active IP Right Cessation
- 2004-03-26 ES ES04723847T patent/ES2300757T3/es not_active Expired - Lifetime
-
2007
- 2007-03-07 JP JP2007057153A patent/JP5025289B2/ja not_active Expired - Lifetime
-
2009
- 2009-09-03 US US12/553,836 patent/USRE43062E1/en active Active
-
2010
- 2010-03-11 JP JP2010053952A patent/JP5444047B2/ja not_active Expired - Lifetime
- 2010-12-17 HK HK10111836.3A patent/HK1145413A1/xx not_active IP Right Cessation
-
2011
- 2011-02-10 HK HK11101310.8A patent/HK1147374A1/xx not_active IP Right Cessation
- 2011-10-28 US US13/284,683 patent/USRE45983E1/en active Active
-
2012
- 2012-02-09 JP JP2012025690A patent/JP5536811B2/ja not_active Expired - Lifetime
-
2015
- 2015-12-15 US US14/970,087 patent/USRE48953E1/en active Active
Also Published As
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 |