ES2314259T3 - Transmision de video. - Google Patents

Transmision de video. Download PDF

Info

Publication number
ES2314259T3
ES2314259T3 ES03775577T ES03775577T ES2314259T3 ES 2314259 T3 ES2314259 T3 ES 2314259T3 ES 03775577 T ES03775577 T ES 03775577T ES 03775577 T ES03775577 T ES 03775577T ES 2314259 T3 ES2314259 T3 ES 2314259T3
Authority
ES
Spain
Prior art keywords
sequence
segment
bits
rate
encoded
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
ES03775577T
Other languages
English (en)
Inventor
Mohammed Ghanbari
Kai Sun
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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
Priority claimed from GB0226872A external-priority patent/GB0226872D0/en
Priority claimed from GB0322767A external-priority patent/GB0322767D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of ES2314259T3 publication Critical patent/ES2314259T3/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/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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6338Control signals issued by server directed to the network components or client directed to network

Abstract

Procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, que comprende las etapas siguientes: (a) dividir (102) la secuencia en segmentos; (b) determinar (107) una tasa de bits (Rm) para cada segmento, no siendo dicha tasa de bits superior a la tasa de bits del segmento inmediatamente precedente y (c) transmitir (115) las señales a las tasas de bits determinadas; caracterizado porque la secuencia se divide en segmentos, de tal forma que el primer segmento es una parte situada al principio de la secuencia que contiene un número medio de bits codificados por trama (A i) que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y en el que cada segmento consecutivo es una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento precedente.

Description

Transmisión de vídeo.
La presente invención se refiere a la transmisión de señales de vídeo codificadas digitalmente (por ejemplo, a través de una red de telecomunicaciones) y, más particularmente, de señales de vídeo que se han codificado mediante un algoritmo de compresión.
La base lógica de los algoritmos de compresión consiste en explotar la redundancia inherente de la señal de vídeo original para reducir el número de bits que se necesita transmitir. Muchos de dichos algoritmos se definen en las normas internacionales, tales como las normas ITU H. 263 e ISO MPEG. En el documento de Ghanbari, M., Video Coding, an introduction to Standard codecs, IEE, Londres, 1999, se proporciona una reseña útil de dichos algoritmos.
Como es natural, el grado de redundancia (y por lo tanto la eficacia de compresión) varía con el contenido de la imagen, hecho que da por resultado un número variable de bits codificados por trama. Una opción consiste en transmitir los bits a medida que se generan, como en los denominados sistemas de tasa de bits variable (VBR) en los cuales la tasa de bits transmitidos varía considerablemente con el tiempo. Otra opción - la de los sistemas de tasa de bits constante (CBR) - consiste en emplear una memoria tampón tanto en el transmisor como en el receptor para eliminar estas fluctuaciones y transmitir desde la memoria tampón de transmisión hasta la memoria tampón de recepción a una velocidad constante. Los sistemas CBR utilizan un mecanismo de retroalimentación para variar la tasa de generación de los datos (por ejemplo, ajustando el nivel de detalle de la cuantificación utilizada o descartando tramas) y prevenir el desbordamiento de la memoria tampón. La utilización del almacenamiento en memoria tampón conlleva necesariamente la introducción de un retardo, el incremento de la latencia de inicio (LOS) - es decir, el usuario debe esperar a que la memoria tampón de recepción se llene hasta el nivel necesario para poder comenzar la decodificación y la presentación de las imágenes. El mecanismo de retroalimentación conlleva la reducción de la calidad de la imagen.
También se ha propuesto emplear un grado de almacenamiento en memoria tampón para reducir, aunque no eliminar por completo, las variaciones de la tasa de bits (véase, por ejemplo, el documento de Furini, M. y Towsley, D.F., "Real-Time Traffic transmissions over the Internet", IEEE Transactions on Multimedia, Vol. 3, nº 1, marzo de 2001).
Un factor importante a tener en cuenta cuando se transmite a través de una red de telecomunicaciones, y en particular a través de redes de paquetes tal como Internet, es el efecto de la congestión de la red, en el que la pérdida de paquetes y los retardos impredecibles pueden ocasionar problemas. Esto ha dado lugar a la presentación de propuestas de sistemas de reserva, en los que un transmisor puede solicitar a la red que asigne una tasa de bits garantizada específica para sus transmisiones durante un período de tiempo. Uno de dichos sistemas denominado "RSVP" se describe en el documento RFC 2205 del grupo Internet Engineering Task Force (IETF). No obstante, se pueden utilizar otros sistemas, tales como Expedited Forwarding of Differentiated Service o CR-LDP.
En el caso de la emisión de un vídeo que se está grabando actualmente, las características futuras de la corriente de bits que se está codificando se desconocen; en cambio, en un vídeo grabado dichas características sí se conocen. El hecho de que los sistemas de reserva permitan cambiar la cantidad de la tasa de bits reservada ofrece la posibilidad de decidir una política a seguir para reservar la cantidad de capacidad de red adecuada en cada momento, basándose en el conocimiento del material codificado. Una propuesta simple consiste en calcular la tasa de bits de pico (VBR, sin memoria tampón) y solicitarla para toda la duración de la transmisión, aunque debe tenerse en cuenta que esto significa desperdiciar la capacidad de la red, y por supuesto, que cuanto mayor es la capacidad solicitada mayor es la probabilidad que la red sea incapaz de facilitarla y, por consiguiente, que la petición de reserva sea rechazada. Otra propuesta simple, que reduce al mínimo la tasa de bits que se va a solicitar, consiste en calcular la tasa de bits media de toda la transmisión y solicitarla; no obstante, esto determina la necesidad de disponer de una memoria tampón de tamaño muy grande en el receptor y, todavía más importante (puesto que las grandes cantidades de almacenamiento actualmente son relativamente económicas), una gran LOS. En el documento de Furini y Towsley citado anteriormente, se da a conocer una modificación de la propuesta de tasa de pico. Este sistema comprende la determinación del punto de la secuencia de vídeo en el cual la tasa de pico alcanza un valor máximo, y la petición de esta tasa para el período de tiempo hasta ese instante. A continuación, se determina la tasa de pico máxima durante el resto de la secuencia, y se solicita esta tasa (inferior). El procedimiento continúa de la misma manera durante toda la secuencia. El documento también indica que puede aplicarse un grado de almacenamiento en memoria tampón, para reducir de ese modo las tasas de pico efectivas antes de aplicar el algoritmo de reserva. Aunque este sistema aumenta la eficacia de utilización de la red en comparación con el sistema de tasa de pico única, todavía se sigue desperdiciando mucha capacidad de red (es decir, que está reservada pero que no se utiliza), y evidentemente el beneficio es pequeño si la tasa de pico máxima se produce cerca del final de la secuencia. No obstante, un beneficio de este sistema es que la cantidad de capacidad de red solicitada desciende y, en particular, las peticiones de reserva nunca especifican una tasa de bits superior a la de las peticiones previas, reduciéndose de ese modo el riesgo de rechazo de la petición de reserva.
Según un aspecto de la presente invención, se proporciona un procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, que comprende las etapas siguientes:
(a)
dividir la secuencia en segmentos;
(b)
determinar una tasa de bits para cada segmento, no siendo dicha tasa de bits superior a la tasa de bits del segmento inmediatamente precedente y
(c)
transmitir las señales a las tasas de bits determinadas;
caracterizado porque la secuencia se divide en segmentos, de tal forma que el primer segmento es una parte situada al principio de la secuencia que contiene un número medio de bits codificados por trama (A_{j}) que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y porque cada elemento consecutivo es una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento precedente.
En otro aspecto, la presente invención proporciona un procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, en el que el vídeo de origen se ha codificado como una primera secuencia y una segunda secuencia que presentan respectivos índices de compresión diferentes, que comprende las etapas siguientes:
(a)
dividir por lo menos la primera o la segunda secuencia en segmentos, siendo el primer segmento la parte del principio de la secuencia que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y siendo cada segmento consecutivo una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento precedente;
(b)
seleccionar un punto de cambio en un límite entre dos segmentos determinados en la etapa (a);
(c)
si la primera secuencia no se ha analizado en la etapa (a), analizar la primera secuencia para dividirla en segmentos;
(d)
determinar la tasa de bits para el segmento o cada segmento desde la primera secuencia hasta el punto de cambio;
(e)
transmitir la señal desde la primera secuencia hasta el punto de cambio a la tasa o las tasas de bits determinadas; y
(f)
transmitir, utilizando el procedimiento del primer aspecto, de una secuencia modificada que comprende la segunda secuencia desde el punto de cambio en adelante.
En las reivindicaciones subordinadas adjuntas, se exponen otros aspectos de la presente invención.
A continuación, se describen algunas formas de realización de la presente invención a titulo de ejemplo, haciendo referencia a los dibujos adjuntos, en los cuales:
las figuras 1A a 3C representan gráficamente los resultados de las pruebas realizadas;
la figura 4 es un diagrama de bloques de una forma de aparato para implementar la presente invención;
la figura 5 es un diagrama de flujo que ilustra el funcionamiento del aparato de la figura 4 y
las figuras 6 a 10 son unos gráficos que representan los resultados de otras pruebas.
Se considerará, en el receptor, cierto segmento de tiempo arbitrario (pero igual al número total de períodos de trama) comprendido desde el tiempo t_{g}, en el que el receptor empieza a decodificar la trama g, hasta el tiempo t_{h}, en el que el receptor empieza a decodificar la trama h. La duración de este segmento es h - g. Se supondrá además que la tasa de transmisión durante este segmento es A bits/período de trama.
Obviamente, en el tiempo t_{g}, el receptor deberá haber recibido los bits para todas las tramas hasta la trama g inclusive, es decir:
100
siendo d_{j} el número de bits codificados generados por el codificador para la trama j.
No obstante, a continuación se supondrá que el receptor también ha recibido, antes del tiempo g, p bits adicionales, es decir, en total:
101
En cualquier momento de tiempo t_{k}(t_{g} \leq t_{k} \leq t_{h}), en el que el receptor empiece a decodificar la trama k, el receptor habrá recibido también (k - g)A bits y entonces:
102
En este momento, el receptor necesita disponer de todos los bits para todas las tramas hasta la trama k inclusive, es decir:
103
Puesto que el número de bits recibidos debe ser por lo menos igual al número necesario, la condición que debe satisfacerse para evitar el desbordamiento de la memoria tampón es:
104
Si este resultado debe alcanzarse sin la transmisión de bits de precarga p, entonces debe cumplirse:
105
Por lo tanto, la tasa transmitida A debe ser superior o igual al número medio de bits por trama generados durante las tramas g+1 a k, para cualquier valor de k(g + 1 \leq k \leq h), condición que se cumple si
106
La utilización de esta tasa significa que el número de bits (h-g)A transmitidos durante el segmento sobrepasará el número de bits generados para el segmento, a menos que se alcance el valor máximo para k = h, es decir, al final del segmento. Partiendo de la base de que la utilización continuada de la tasa de transmisión calculada de este modo, una vez que se ha pasado el valor máximo, parece suponer la utilización de una velocidad superior a la absolutamente necesaria, la primera versión de la presente invención descrita a continuación tiene como objetivo dividir los datos en segmentos, de tal manera que los valores máximos se produzcan siempre al final del segmento.
\newpage
El primer procedimiento que se va a describir es para la transmisión de material de vídeo almacenado que ya se ha codificado mediante un algoritmo de compresión, tal como el MPEG, a través de una red de paquetes, tal como Internet. Se presupone que la red dispone de medios para reservar capacidad de tasa de bits. Lo que se pretende es determinar la tasa de bits que se va a utilizar como una función del tiempo, para obtener de ese modo:
- una baja latencia de inicio;
- una baja tasa de bits transmitidos y
- una alta eficacia de transmisión (es decir, un menor desperdicio),
aunque, puesto que los requisitos anteriores son opuestos, cualquier solución deberá ser necesariamente una solución de compromiso.
En este ejemplo, se supone que no existe ninguna restricción sobre la tasa de bits que se puede elegir y que la tasa de bits utilizada para la transmisión y la tasa de bits reservada en la red son iguales.
Esta primera versión también está sujeta a una restricción, en la medida en que la tasa de bits solicitada no puede incrementarse nunca, es decir, es una función del tiempo que decrece monotónicamente. Como se ha indicado anteriormente, esto es deseable para reducir el riesgo de rechazo de la reserva.
Puesto que el hardware de almacenamiento de gran tamaño no resulta problemático para los usuarios actuales, en esta solución, la reducción del tamaño de la memoria tampón necesaria en el decodificador no constituye un tema de interés principal. No obstante, de hecho, el tamaño de memoria tampón necesario que resulta de este procedimiento también se reduce sumamente en comparación con el tamaño obtenido utilizando la tasa de bits media para realizar una transmisión de vídeo VBR. Aun en el peor de los casos, que raramente se produce en la práctica, el tamaño de memoria tampón necesario no será superior al que se requiere cuando se transmite una secuencia de vídeo VBR a la tasa de bits media.
El algoritmo siguiente determina la función de transmisión ("FOT") que se debe utilizar.
Se supone que existen N tramas en la secuencia de vídeo y que el número de bits codificados para cada trama es d_{0}, d_{1} ..., d_{N-1}, respectivamente.
Como se ha indicado anteriormente, el algoritmo está limitado en la medida en que la función de transmisión nunca puede incrementarse, sino solo decrecer.
Conceptualmente, se pueden producir cambios en la tasa de transmisión en cualquier intervalo de tramas de la FOT. En la práctica, puede imponerse un límite a la frecuencia a la que se puede cambiar la tasa, dependiendo de las restricciones del sistema de reserva particular que se está utilizando. No obstante, con una FOT que decrece monotónicamente, un retardo en el cambio de la tasa no da por resultado una pérdida de calidad (aunque supone desperdiciar capacidad de la red), ya que su único efecto es la reserva de más capacidad de la que realmente se necesita. La primera etapa del algoritmo tiene por finalidad hallar cuántos "escalones" presentará la FOT y cuando se producirá cada escalón.
En primer lugar, se define:
107
que representa la tasa de bits media de la secuencia de vídeo desde el inicio hasta la trama i inclusive. A continuación, se calculan A_{0}, A_{1}, ..., A_{N-1}, y a partir de éstas se calcula el valor de i que presenta la A_{i} más elevada. Si se supone que este valor es k_{0}, el borde del primer "escalón" se establece al final de la trama k_{0}, lo cual significa que, hasta el final de la trama k_{0}, la FOT necesita su tasa de transmisión más alta.
Una vez determinado el primer "escalón", la trama (k_{0}+1) se considera la "primera" trama para las tramas siguientes, y se calcula A_{i-1} ^{(1)} para i = k_{0+1}, k_{0+2}, ..., N-1. La fórmula que se aplica es:
108
o en el caso general,
109
Asimismo en este caso, se elige el valor más elevado como borde del segundo "escalón", al final de la trama k_{1}, siendo k_{1} el correspondiente valor de i. El procedimiento anterior se repite hasta que se llega al borde del último "escalón" en la trama N-1. En general, esto da por resultado M valores k_{m}, m = 0, ..., M-1 (siendo k_{M-1} siempre igual a N-1), que se puede considerar que dividen la secuencia de vídeo en M-1 segmentos, de los cuales el segmento 0 comprende las tramas 0 a k_{0}, y cada uno de los otros m segmentos comprende las tramas k_{m-1} +1 a k_{m}.
El propósito del segundo paso del algoritmo es el de elegir una tasa de transmisión adecuada para el "nivel" de cada "escalón". Teóricamente, en este caso, la tasa más baja que permite asegurar que se transmitan todos los bits necesarios antes de que finalice cada "escalón", aunque se carezca de bits de precarga, es la media de las tasas de bits de las tramas que componen el segmento. Una tasa inferior requerirá necesariamente disponer de bits de precarga y, en consecuencia, una LOS superior, mientras que las tasas más altas, podrán provocar un desperdicio de la capacidad de la red.
Asimismo, es de prever que las tasas más altas incrementen el riesgo de que la reserva de recursos resulte infructuosa.
Existen M segmentos, siendo m = 0,1, ..., M-1. Asimismo se establece lo siguiente:
S_{i} es la suma de los bits generados en el segmento i, es decir 110
R_{i} es la tasa de transmisión de la FOT en el segmento i (obsérvese que K_{0}=k_{0}+1) y
K_{i} es el número de tramas del segmento i, es decir, k_{i-}k_{i-1}.
En este caso, las tasas necesarias son simplemente las tasas medias R_{i}= S_{i} / K_{i}; i = 1,2, ..., M-1.
Este procedimiento también puede utilizarse para calcular la tasa R_{0} para el segmento 0, si se establece k_{-1} = -1.
Debe observarse que, en la codificación de vídeo MPEG, la primera trama siempre es una trama I que genera más bits que las tramas P o B. Por consiguiente, a menudo, los resultados ponen de manifiesto que el primer segmento solo comprende una trama y que la tasa de transmisión R_{0} es muy inferior a la tasa de transmisión R_{1}. Puesto que los usuarios pueden esperar fácilmente a que transcurra un intervalo de algunas tramas para obtener una mejor oportunidad para realizar con éxito una reserva de recursos, es preferible establecer la igualdad R_{0} = R_{1}.
En la tercera etapa, una vez que se ha determinado la FOT completa, puede calcularse el tamaño de memoria tampón que se necesita en el decodificador.
A continuación, se describe una segunda versión modificada, en la que la selección de las tasas está sujeta a una limitación. Por ejemplo, la limitación puede consistir en la necesidad de que la tasa sea de un número entero de bits por trama o, más generalmente, que sea una tasa de un grupo de tasas discretas. En el análisis, se utilizan los operadores de cuantificación definidos a continuación:
Q^{+}(X) significa la tasa más baja permitida que es superior o igual a X (también denominada tasa de "techo") y
Q^{-}(X) significa la tasa más alta permitida que es inferior o igual a X (también denominada tasa de "suelo").
A continuación, se describen dos opciones:
(a)
redondeo hacia arriba hasta la tasa de techo: en este caso, la tasa utilizada puede resultar más alta de lo que es estrictamente necesario para un segmento particular, hecho que puede brindar la oportunidad de utilizar una tasa inferior para el segmento siguiente y
(b)
redondeo hacia abajo hasta la tasa de suelo: en este caso, la tasa utilizada puede resultar más baja de lo que es necesario para un segmento particular, hecho que determina la necesidad de utilizar una tasa más alta para el segmento precedente.
Se considerará en primer lugar la opción de techo y se definirá el valor de techo de la "altura" del primer "escalón" de la FOT original como la "altura" del primer "escalón" delimitado en la nueva FOT. Debe observarse que, de esta forma, después del primer "escalón", se habrán transmitido más bits al receptor que la suma de bits de las tramas que pertenecen al "primer" escalón. Por lo tanto, cuando se delimita el segundo "escalón", debe excluirse el número de bits que pertenecen al "escalón" siguiente pero que se han transmitido en el "escalón" o los "escalones" anteriores, y recalcularse la tasa media del segundo "escalón". Si el valor de techo de la nueva tasa de bits media no es inferior al valor de techo de la tasa media del antiguo tercer "escalón", éste se define como la "altura" del segundo "escalón" delimitado. En caso contrario, se define el valor de techo de la tasa de bits media del antiguo tercer "escalón" como la "altura" del segundo "escalón" delimitado. Se sigue este procedimiento hasta que se fija la "altura" del último "escalón" delimitado. Puesto que siempre se adopta el valor de techo de cada "escalón", es posible que la transmisión de la corriente de vídeo VBR se realice con algunos intervalos de trama menos que la duración de la secuencia de vídeo. Con la simulación de la transmisión basada en la nueva FOT, el tiempo de duración de la FOT puede especificarse con exactitud. Una vez que se ha realizado la transmisión de la corriente de vídeo VBR, los recursos de red reservados pueden liberarse de inmediato. Por lo tanto, la utilización del 100% del ancho de banda sigue estando asegurada. Con la "altura" del primer "escalón" delimitado, la LOS puede recalcularse con precisión. Por último, a través de la simulación del procedimiento de transmisión, también puede fijarse el tamaño de memoria tampón necesario para prevenir el desbordamiento de esta.
El procedimiento adoptado tiene lugar de la forma indicada a continuación. La división en segmentos se realiza de la forma indicada anteriormente.
Aparte de las cantidades S_{i}, R_{i} y K_{i} definidas anteriormente, también se introduce R^{1}{}_{i}, un valor temporal para la tasa de transmisión en el segmento i.
I.
Cálculo de todas las tasas medias R^{1}{}_{i} = S_{i} / K_{i}, i = 0,1, ..., M-1,
II.
Establecimiento de la tasa para el segmento 0 como R_{0} = Q^{+}(R^{1}{}_{0}). (Debe tenerse en cuenta que si, como se ha indicado anteriormente, es deseable utilizar una tasa inferior para el primer segmento, en lugar de empezar por el segmento 0 se puede empezar por el segmento 1),
III.
Establecimiento de la tasa para el segmento 1 restando, antes de la cuantificación, los bits adicionales enviados durante el segmento anterior:
111
\quad
seleccionando la mayor de las dos.
IV.
Para los segmentos anteriores i = 2, ..., M-1:
112
seleccionando la mayor de las dos. Como es obvio, la segunda alternativa no se aplica para i = M-1.
En la tercera versión que se describe a continuación, se utilizan las tasas de "suelo". En este caso, el procesamiento debe realizarse en orden inverso, empezando por el último "escalón". Esto es necesario para que los bits que no pueden transmitirse en un segmento particular puedan pre-transmitirse en los segmentos previos. El procedimiento específico primero define el valor de suelo de la tasa de bits media del último "escalón" como la nueva tasa de transmisión del último "escalón" delimitado de la nueva FOT. Entonces, puede determinarse el número de bits que se necesitan para el último "escalón" delimitado pero que no se pueden transmitir. El "escalón" o los "escalones" previos deben asegurar que dicho número de bits adicionales se transmita antes de que se inicie el nuevo último "escalón" de la FOT. Por lo tanto, cuando se delimita el penúltimo "escalón", debe procurarse que este contenga los bits que necesita, más el número adicional de bits necesarios para el último "escalón". Por consiguiente, es necesario recalcular una nueva tasa de bits media para el penúltimo "escalón". Si el valor de suelo de la nueva tasa de bits media del penúltimo "escalón" no es superior al valor de suelo de la tasa media del antepenúltimo "escalón" de la FOT original, éste se define simplemente como la "altura" del nuevo penúltimo "escalón". En caso contrario, se define el valor de suelo de la tasa de bits media del antiguo antepenúltimo "escalón" como la "altura" del nuevo penúltimo "escalón". Siguiendo este procedimiento hasta el primer "escalón", la delimitación se completa y se obtiene la FOT delimitada. Como en el caso del valor de techo, con el número de bits precargados y la "altura" del primer "escalón" delimitado, puede recalcularse con precisión la LOS. Por último, mediante la simulación del procedimiento de transmisión, también puede fijarse el tamaño de memoria tampón necesario para prevenir el desbordamiento de ésta.
Como en el caso anterior, existen M segmentos m = 0,1,..., M-1. Asimismo, se establece lo siguiente:
S_{i} es la suma de los bits generados en el segmento i, es decir 113
R_{i} es la tasa de transmisión de la FOT en el segmento i;
K_{i} es el número de tramas del segmento i, es decir, k_{i-}k_{i-1} y
R^{1}{}_{i} es una tasa de transmisión temporal que se supone para el segmento i.
\vskip1.000000\baselineskip
I.
Cálculo de todas las tasas medias R^{1}{}_{i} = S_{i} / K_{i}, i = 0,1, ..., M-1,
II.
Establecimiento de la tasa de transmisión R_{M-1} para el segmento M-1 igual al valor de suelo de la tasa media para este segmento. Es decir,
\vskip1.000000\baselineskip
114
\vskip1.000000\baselineskip
II.
Cálculo del número de bits precargados, P_{M-1} que es necesario que estén presentes en la memoria tampón del receptor al principio del segmento M-1 para prevenir el subdesbordamiento en el segmento M-1.
\vskip1.000000\baselineskip
115
\vskip1.000000\baselineskip
III.
A continuación, la tasa para el siguiente segmento puede calcularse como
\vskip1.000000\baselineskip
116
\vskip1.000000\baselineskip
\quad
seleccionando la menor de las dos, con
\vskip1.000000\baselineskip
117
\vskip1.000000\baselineskip
IV.
Este procedimiento se repite utilizando la fórmula general, m=M-3,..., 0:
\vskip1.000000\baselineskip
118
\vskip1.000000\baselineskip
\quad
seleccionando la menor de las dos.
Y
119
Nuevamente, si se desea, esta iteración puede detenerse cuando m = 1 y cuando se utiliza R_{1} para el segmento 0.
Este procedimiento da por resultado un valor de P_{0} que es una precarga para el primer segmento y que es necesario transmitir en primer lugar. En realidad, es conveniente definir una precarga b_{0} que comprenda todos los bits que se transmiten antes de que el receptor empiece a decodificar la primera trama en t=0.
Suponiendo que R_{0} se calcule como se ha indicado anteriormente, entonces
\vskip1.000000\baselineskip
120
\vskip1.000000\baselineskip
No obstante, si se utiliza la tasa R_{1} para el segmento 0, entonces sólo pueden transmitirse (K_{0} -1)R_{1} bits entre t=0 y el final del segmento, siendo entonces la precarga total:
\vskip1.000000\baselineskip
121
\vskip1.000000\baselineskip
Si se supone que se utiliza R1, la latencia de inicio (LOS) es b_{0} / R_{1}.
A continuación, se hace referencia a la cuestión del tamaño de la memoria tampón. Indudablemente, con la presente FOT, se puede obtener una tasa de transmisión y una LOS razonable. La eficacia de transmisión de la red puede ser casi del 100% y requiere un tamaño de memoria tampón menor que el que se necesitaría utilizando directamente un ancho de banda de tasa media fijo. No obstante, en algunas situaciones, dicho tamaño todavía es mucho más grande de lo que se necesita debido a que se reserva el ancho de banda de la tasa de pico. En el sistema de reserva del ancho de banda de la tasa de pico, basta con que el tamaño de la memoria tampón del decodificador sea tan grande como el número de bits utilizados en la trama más complicada. No obstante, en el presente sistema, se necesita una memoria tampón de un tamaño superior a ese. Aunque en comparación con una tasa de bits media constante el presente sistema puede conseguir un tamaño de memoria tampón mucho menor en la mayoría de situaciones, debe admitirse que, en la peor situación, el tamaño de memoria tampón necesario para el presente sistema se aproxima al tamaño de memoria tampón necesario para una tasa de bits media constante. Dicha situación se produce cuando la A; más elevada aparece en las últimas tramas de la secuencia de vídeo. En tal situación, la presente curva de "descenso escalonado" prácticamente presenta un solo "escalón". Por lo tanto, no resulta suficientemente efectivo reducir al mínimo el tamaño de la memoria tampón a través de cambios "escalonados". A pesar de todo, dicha situación apenas se produce, debido a que cuanto más tarde aparecen los "bits de pico", menos es el efecto sobre A;. y, a menos que al final de la secuencia aparezcan de manera anormal algunas tramas excepcionalmente complicadas, no se producirá nunca. Sea cual sea la situación, la LOS nunca supondrá ningún problema en el presente sistema. Actualmente, se considera que disponer de hardware con una memoria un poco grande no debería ser problemático para el usuario. Lo que debería preocupar más a los usuarios es obtener una baja LOS y una buena eficacia de transmisión de la red.
Además, aun cuando los usuarios no puedan costearse la memoria tampón de gran tamaño que el presente sistema requiere, se puede hallar una solución de compromiso entre la eficacia de transmisión y el tamaño de memoria tampón necesaria en el decodificador. Con dicha solución de compromiso, el tamaño de memoria tampón necesario puede reducirse todavía más según las necesidades de los usuarios.
Aunque la descripción del algoritmo actual solo se basa en los bits por trama como unidad básica, resulta evidente que la unidad puede definirse como un GOP o un determinado número de imágenes o paquetes juntos. Independientemente de la unidad que se desee definir en este algoritmo, el principio es general y debe ser común.
A continuación, se describen algunos ejemplos de secuencias de codificación de vídeo de prueba, mediante el procedimiento de "suelo". En cada caso, se indican los valores de la función de transmisión f(t) o (R_{i}), el valor de b_{0} y una tasa de transmisión propuesta para b_{0}, (a) cuando se utiliza el algoritmo anterior, (b) cuando se utiliza el procedimiento de Furini y Towsley y (c) cuando se utiliza una única tasa de bits media.
\vskip1.000000\baselineskip
Ejemplo 1 JacknBox
(a)
Se codifica una secuencia de prueba (denominada JacknBox) de formato intermedio común (CIF) y 140 tramas de duración con un cuantificador fijo de tamaño de etapa 16 de conformidad con la norma H.263+, y se calcula la función FOT con el presente algoritmo.
122
En este documento, se define T_{i} como el tiempo en el que el decodificador presenta la trama i. Se define la unidad de medida de todas las tasas de medición de este documento como los bits por intervalo de trama b_{0} = 39824 bits, La tasa de transmisión propuesta para b_{0} es de 5100 bits por intervalo de trama.
(b)
Utilizando el procedimiento de Furini y Towsley, se obtiene
123
\quad
b_{0} = 39824 bits
En este sistema de transmisión, el valor b_{0} se obtiene mediante 39824 por intervalo de trama.
(c)
Con una tasa de bits media constante, la función será:
\quad
f(t) = 3669
\quad
b_{0} = 108488 bits;
\quad
b_{0} se alcanza mediante 3669 bits por intervalo de trama.
La figura 1 representa estos resultados en un gráfico.
Los resultados del análisis se indican en la tabla 1:
TABLA 1 JacknBox de 140 tramas según H.263+
1
\vskip1.000000\baselineskip
Con el presente sistema, también se ha codificado la misma secuencia de vídeo con un control de tasa para CBR. En este caso, la LOS sería de 29656/3735 = 7,94 tramas. No obstante, con el control de tasa para CBR normal se saltan 10 tramas, y el cálculo de bits que se proporciona es el mismo que el número medio de bits de la codificación VBR.
\vskip1.000000\baselineskip
Ejemplo 2 Programa de TV de 8400 tramas según H.263+
En esta prueba, se utiliza una secuencia QCIF (quarter-CIF) de programa de TV normal con 8400 tramas, codificada con un tamaño de paso de cuantificador fijo de 16 de conformidad con la norma H.263+. El tipo de imagen es IPPPP... con actualización forzada cada 132 tramas según la recomendación H.263+.
(a)
124
Como antes, b_{0} puede obtenerse mediante la primera tasa de 4977 bits por intervalo de trama.
\newpage
(b)
125
\quad
b_{0} = 13944 bits
\quad
b_{0} puede transmitirse a 29762 bits por intervalo de trama.
\vskip1.000000\baselineskip
(c)
Con una tasa de bits media constante, la FOT será:
\quad
f(t) = 3966
\quad
b_{0} = 3348584 bits;
\quad
b_{0} puede establecerse a 3669 bits por intervalo de trama.
La figura 2 representa las curvas de la FOT para un programa de TV de 8400 tramas con codificación H.263+.
Los resultados del análisis se indican en la tabla 2:
\vskip1.000000\baselineskip
TABLA 2 8400 tramas, codificación H.263+
2
Ejemplo 3 Secuencia QCIF de programa de TV de 8400 tramas codificada con MPEG4
Se codifica la misma secuencia QCIF de programa de TV de 8400 tramas mediante codificación MPEG4, con un tamaño de paso de cuantificador fijo de 10. El tipo de imagen es IBBPBBPBBPBB (N=12, M=3). Debe observarse que, con las imágenes B, la secuencia de codificación de las imágenes es diferente de la secuencia de presentación de las imágenes. Por consiguiente, las imágenes I o P relacionadas deben transmitirse antes de la imagen B. Se necesita cierta cantidad de preprocesamiento antes de utilizar el presente algoritmo.
(a)
Por último, la presente FOT es:
126
\quad
b_{0} = 16548 bits;
\quad
b_{0} puede establecerse mediante 7426 bits por intervalo de trama.
\vskip1.000000\baselineskip
(b)
127
\quad
b_{0} = 16040 bits;
\quad
b_{0} puede establecerse a 57472 bits por intervalo de trama.
\vskip1.000000\baselineskip
(c)
Con una tasa de bits media constante, la FOT será:
\quad
f(x) = 6825.
\quad
b_{0} = 2874758 bits;
\quad
b_{0} puede establecerse a 6825 bits por intervalo de trama.
La figura 3 representa las curvas de la FOT para un programa de TV de 8400 tramas con codificación MPEG4 (N=12, M=3).
Los resultados del análisis se indican en la tabla 3:
TABLA 3 8400 tramas, codificación MPEG4
3
A partir de los resultados experimentales anteriores, puede deducirse que la LOS se ha reducido en gran medida, mientras se sigue manteniendo el 100% de eficacia. Debe tenerse en cuenta, asimismo, que no se desperdicia ningún recurso de red. Lo único que todavía se puede mejorar es el tamaño ele memoria tampón necesario para el decodificador, que podría reducirse todavía más.
La figura 4 es un diagrama de bloques de un servidor operativo de conformidad con la presente invención. El servidor contiene los componentes de ordenador habituales, es decir, un procesador 10, una memoria 11, una memoria de disco 12, un teclado 13, una pantalla 14 y una interfaz de red 15 para la conexión con una red de telecomunicaciones 16. Las secuencias de vídeo disponibles para transmitir se almacenan en la memoria de disco 12 de una manera convencional, en forma de archivos codificados 20.
En la memoria de disco 12, también está almacenado un programa informático 21 para implementar el control de la operación del servidor. A continuación, se describe el funcionamiento de este programa, en el que se utiliza el procedimiento de "suelo", con referencia al diagrama de flujo representado en la figura 5.
Etapa 100
Desde un terminal remoto, se recibe una petición para la transmisión de una secuencia de vídeo deseada, por medio de la interfaz 15. Dicha petición comprende el nombre de archivo de uno de los archivos 20 que contiene la secuencia.
Etapa 101
El procesador 10 lee el archivo en cuestión en la memoria de disco 12 y determina el número de bits codificados d; del archivo para cada una de las N tramas de la secuencia almacenada, y almacena el valor de N y d_{j} (j=0,...,N-1) en la memoria 11.
Etapa 102
El procesador calcula k_{0}, ..., k_{M-1} de la forma descrita anteriormente y almacena M y k_{0}, ..., k_{M-1} en la memoria 11.
Etapa 103: cálculo de R^{1}i = para todos los valores de i
Etapa 104: establecimiento de R_{M-1} = Q - {R^{1}{}_{M-1}} y cálculo de P_{M-1}
Etapa 106: establecimiento de un puntero m = M-2
Etapa 107: cálculo de R_{m} y P_{m}
Etapa 109: decremento de m. Si m \geq 0, regreso a etapa 107
Etapa 111: cálculo de b_{0} = P_{0} + R_{0}
Etapa 112: cálculo de las duraciones de los segmentos - en esta implementación, la precarga y el segmento 0 se consideran un único segmento a efectos de transmisión. Por lo tanto
128
i=1...M-1
siendo \tau la longitud de un período de trama.
\vskip1.000000\baselineskip
Etapa 113: establecimiento de i en 0
Etapa 114: transmisión de una petición de reserva que especifica una tasa de R_{i} y una duración de por lo menos \tau_{i}
Etapa 115: transmisión de segmento i a una tasa R_{i} (precedido, cuando i = 0, por P_{0} bits de precarga)
Etapa 116: si se han transmitido todos los segmentos, parada; en caso contrario, incremento de i en la etapa 117 y retroceso a la etapa 114.
En algunos sistemas de reserva, tales como el sistema RSVP mencionado anteriormente, es necesario que el terminal de recepción formule una petición de reserva para adaptarse a la multidifusión. En tal caso, la etapa 113 se modifica para especificar la transmisión de un mensaje al terminal de recepción, en el que se indican R_{i} y \tau_{i}, y a continuación el terminal transmite la petición de reserva deseada a la red.
En algunas redes, los tiempos permitidos para cambiar la tasa reservada pueden estar sujetos a ciertas restricciones. No obstante, el sistema adoptado anteriormente es resistente ante dichos problemas, debido a que todas las peticiones de reserva, excepto la primera, solicitan una tasa inferior a la anterior. En consecuencia, el retardo en el procesamiento de dichas peticiones determina que la tasa reservada permanezca alta una vez que la tasa de transmisión se ha reducido. En este caso, la eficacia de utilización de la red desciende, pero la calidad de la transmisión no cambia.
Una segunda forma de realización de la presente invención analiza la posibilidad de cambiar la tasa de vídeo. En este caso, se generan dos (o más) corrientes de vídeo con diferentes calidades de imagen y, por lo tanto, diferentes tasas de datos. Habitualmente, estas secuencias pueden generarse utilizando niveles de detalle de cuantificación diferentes; es decir, en la corriente de baja calidad y baja tasa de datos, se utiliza un cuantificador de ajuste grueso y, en una secuencia de calidad más alta y tasa de datos más alta, se utiliza un cuantificador de ajuste menos grueso. La posibilidad de cambiar la tasa de vídeo resulta particularmente interesante en el presente contexto, en el que tal vez se produzca un fallo de reserva de tasa al principio de una transmisión, y en el que dicha situación puede remediarse enviando en primer lugar una corriente de calidad relativamente escasa y, a continuación, cambiando a una corriente de calidad superior cuando la naturaleza de la señal o las condiciones de la red lo permiten. No obstante, el sistema que se va a describir también es útil cuando se realiza el cambio de la tasa de vídeo por algún otro motivo.
Cuando se utiliza la codificación intertrama, el cambio entre dos corrientes diferentes puede ocasionar una alteración importante de la imagen, debido al mal seguimiento de los predoctores en el codificador y el decodificador. No obstante, este cambio puede realizarse sin dicha degradación de la calidad de la imagen, generando de vez en cuando tramas codificadas de transición que esencialmente codifican la diferencia entre la trama de la corriente de destino del cambio y la trama de la corriente de origen del cambio. Por lo tanto, la transmisión de las tramas de una primera corriente va seguida de una o más tramas de transición y, a continuación, de las tramas de la segunda corriente. La generación de dichas tramas de transición no es nueva; por este motivo, no se describe en mayor detalle. Puede hallarse una descripción de dicho sistema en la solicitud de patente internacional WO 98/26604 (y la correspondiente patente US nº 6.002.440). Otro sistema de este tipo, en el que se utilizan las denominadas "tramas SP", se describe en el documento de Marta Karczewicz y Ragip Kurceren titulado "A Proposal for SP-frames", VCEG-L-27, ITU-T Video Coding Experts Group Meeting, Eibsee, Alemania, 9-12 de enero de 2001, y el documento de Ragip Kurceren y Marta Karczewicz titulado "SP-frame demonstrations", VCEG-N42, ITU-T Video Coding Experts Group Meeting, Santa Barbara, CA, USA, 24-27 de septiembre de 2001.
En el contexto de la propuesta de la "FOT" descrita anteriormente, la cuestión del cambio entre dos corrientes plantea ciertas dudas que es necesario aclarar. Si en un punto de tiempo determinado se produce un cambio desde una primera corriente hasta una segunda corriente, entonces la memoria tampón del decodificador generalmente contiene tramas de la primera corriente que no son útiles para decodificar la segunda corriente. Por consiguiente, suponiendo que el decodificador vaya a iniciar de inmediato la decodificación de la segunda corriente, estas tramas no se utilizarán y supondrán un desperdicio de la capacidad de transmisión. Peor todavía, las tramas necesarias para decodificar la segunda corriente no estarán presentes en la memoria tampón. Teóricamente, esto se puede resolver recalculando la FOT de la segunda corriente, considerando que el principio de la parte de la segunda corriente que realmente se va a transmitir es el inicio de la corriente, aunque en la práctica esto puede dar por resultado un requisito de tasa de datos transmitidos extremadamente alta si se desea evitar la interrupción de las imágenes presentadas.
El problema del desperdicio de bits puede evitarse dejando que el decodificador continúe decodificando las tramas de la primera corriente que permanecen en la memoria tampón, mientras que la memoria tampón puede acumular durante este período algunas de las tramas que se necesitan para decodificar la segunda corriente (es decir, la trama o las tramas de transición y las tramas de la segunda corriente). A pesar de todo, el peligro de que el requisito de la tasa de bits transmitidos sea excesivo no desaparece.
Idealmente, el cambio de corriente de bits deberá producirse tan pronto como se disponga del ancho de banda. No obstante, debido a los problemas que se acaban de describir, esto no resulta práctico. Asimismo, si es necesario generar tramas de transición (que normalmente no se generan en cada trama, sino solo en puntos seleccionados), entonces deberá planificarse de antemano en qué puntos (los puntos de cambio) deben situarse dichas tramas.
Basándose en dichas cuestiones, se considera primero la posibilidad de cambiar en tiempos que coinciden con el "borde" de un "escalón" de la FOT. Una característica de este sistema es que, en el "borde" de cada "escalón", la memoria tampón del receptor no almacena ningún bit, puesto que todos los bits transmitidos se han decodificado como imágenes. Por lo tanto, si se desea cambiar en el "borde" de la corriente original, se deberán extraer todos los bits transmitidos de la memoria tampón del receptor y de ese modo no se desperdiciará ningún bit debido al cambio de la corriente de bits.
Aunque con el establecimiento de los puntos de cambio en los "bordes de escalón" de la corriente de bits original se puede impedir que no se desperdicien bits transmitidos, todavía surgirá un problema si el punto de cambio de la nueva corriente no se halla en un "borde de escalón". Esto se debe a que si el punto de cambio no está situado en un "borde de escalón" en la nueva corriente, tal vez sea necesario transmitir algunos bits preacumulados para la nueva corriente dentro de un espacio de tiempo muy corto para reproducir vídeo de manera continua en el receptor. Esto puede provocar una petición de reserva de tasa muy superior, tal vez superior incluso a la tasa de reserva que implica la nueva corriente. Si el punto de cambio de la nueva corriente de bits se halla en el centro de un "escalón", la falta de bits acumulados provoca una reserva de tasa elevada. Por lo tanto, idealmente, el punto de cambio de la nueva corriente de vídeo deberá hallarse también en los "bordes de escalón".
Según los análisis anteriores, puede parecer que la única oportunidad de disponer de los puntos de cambio óptimos para las dos corrientes se tiene cuando estas presentan los mismos "puntos de borde". De no ser así, o bien se desperdician bits, o bien se necesita una tasa de bits muy alta tras el cambio de corriente de bits. Afortunadamente, en posteriores investigaciones se ha comprobado que en realidad las curvas de FOT generadas a partir de cuantificadores diferentes presentan "bordes de escalón" situados en posiciones similares, aunque puede que no sean absolutamente iguales. Esto se debe a que, en una secuencia de vídeo, las imágenes complejas deben ocupar más bits que las normales, independientemente del cuantificador que se seleccione.
Este resultado se ha obtenido a través de algunos experimentos, en los que se ha seleccionado una secuencia de vídeo 140 CIF JacknBox.
En el primer experimento, se desea aclarar si unas corrientes de vídeo diferentes basadas en la misma secuencia de vídeo acercan o no sus "bordes de escalón" en las FOT. En la figura 6, se representa la similitud de las curvas de FOT basadas en diferentes cuantificadores. Las curvas corresponden a los tamaños de paso de cuantificador de 2, 3, 4, 10, 16 y 31 y se marcan como Q2, Q3, etc. Puede observarse que cuando se incrementa el tamaño de paso del cuantificador, la FOT va adquiriendo una forma cada vez más plana. No obstante, dichas corrientes siguen presentando los "bordes de escalón" casi al mismo tiempo. Además, debe observarse que, aunque similares, los puntos de "escalón" de FOT diferentes no son exactamente iguales. Las figuras 7 y 8 dan a conocer más detalles de curvas FOT diferentes en los "bordes de escalón". Aunque dichos puntos no son exactamente iguales, resulta poco perjudicial que el cambio de corriente de bits tenga lugar en un lugar aproximado. El siguiente experimento puede aclarar todavía más esta cuestión.
En el segundo experimento, se supone que se va a cambiar de la corriente de bits (corriente Q16) generada con un cuantificador fijo 16 a una segunda corriente de bits (corriente Q8) generada con un cuantificador fijo 8 en cada intervalo de trama. En la figura 9, se representan las curvas de reserva de cuando se cambia respectivamente la corriente de bits en las tramas 35, 42, 45, 49, 50 y 52. En la figura 10, se representa el número de bits desperdiciados cuando la corriente de bits se cambia en diferentes intervalos de trama. Las figuras 9 y 10 deberán ilustrar por sí solas la diferencia entre cambiar las corrientes en el punto de "borde" y cambiarlas en otros puntos. En la figura 9, puede observarse que, si los puntos de cambio están alejados de los "bordes de escalón", la tasa de transmisión necesaria es todavía más elevada que la tasa de transmisión necesaria originalmente para la corriente Q8. Esto es exactamente lo que sucedía en los análisis anteriores. En esta situación, es necesario conseguir la acumulación de bits necesaria en un plazo de tiempo corto para obtener una presentación adecuada tras el cambio de corriente de bits. Por lo tanto, la tasa de transmisión necesaria puede llegar a ser muy alta, resultando poco realista finalizar dicho cambio de corriente de bits. Por otro lado, si la corriente de bis se cambia cerca de los puntos de "borde", no se requiere una tasa de transmisión muy alta para lograr la acumulación de bits necesaria, porque cada "escalón" de la FOT es independiente. En la figura 10, también se puede observar que cambiar la corriente de bits cerca de los puntos de "borde" resulta más aconsejable. En la curva de la FOT, siempre es necesario preacumular algunos bits para las tramas siguientes. Si se aplica el cambio de corriente de bits, los bits preacumulados para la corriente original no tendrán ninguna utilidad, sino que se desperdiciarán.
En la figura 10, es fácil observar que cuando se cambia la corriente de bits solo en los "bordes de escalón" no se puede desperdiciar ningún bit. Cuanto más cerca se está de los "bordes de escalón", menos bits se desperdician. Tanto a partir de la figura 9 como de la figura 10, se verifica que los mejores puntos de cambio de la FOT son sus "bordes de escalón".
En cuanto a la cuestión del punto preciso que se debe elegir como punto de cambio para cambiar de una primera a una segunda corriente en la práctica, si los escalones de las dos corrientes coinciden, entonces, por supuesto, no existe ninguna ambigüedad. No obstante, si existe alguna diferencia en los tiempos, pueden emprenderse las siguientes acciones:
a)
elegir un escalón de la primera corriente (fácil de implementar);
b)
elegir un escalón de la segunda corriente (igualmente fácil de implementar);
c)
elegir el primero de los dos escalones (reduciendo al mínimo el desperdicio de bits);
d)
elegir el último de los dos escalones (evitando cualquier incremento del ancho de banda de reserva para la segunda corriente).
No obstante, en la práctica tiene poca relevancia qué opción se selecciona, puesto que las diferencias de rendimiento entre estas son bastante pequeñas. En realidad, si el punto de cambio elegido está desplazado algunas tramas respecto del "escalón", a menudo se puede obtener un rendimiento satisfactorio.
En vista de lo anterior, el procedimiento propuesto se realiza de la forma indicada a continuación (suponiendo que se elige la opción (a) indicada):
i)
cálculo de la FOT para la primera corriente;
ii)
elección de un punto de cambio que coincide con un escalón de esta FOT;
iii)
generación de una trama de transición;
iv)
cálculo de la FOT para la trama de transición más el resto de la segunda corriente;
v)
transmisión de la primera corriente hasta el punto de cambio y
vi)
transmisión de la trama de transición más el resto de la segunda corriente.
En caso de que se utilice la opción (b), (c) o (d), la etapa i) comprenderá el cálculo de la FOT de la segunda corriente también, y la etapa (ii) comprenderá la selección según la opción elegida. A pesar de todo, todavía es necesario recalcular la FOT para la segunda corriente en la etapa 4. Debe observarse también que el (re)cálculo de la etapa (iv) tendrá en cuenta automáticamente todas las correcciones necesarias debidas a la no coincidencia del punto de cambio con la etapa calculada originalmente para la segunda corriente o debidas a la utilización de las tasas de "techo" o "suelo" descritas anteriormente.
Evidentemente, es posible elegir más de un punto de cambio si así se desea; por ejemplo, para volver a cambiar a la primera corriente o para cambiar a una tercera corriente.
Aunque las cuestiones concernientes al cambio se han descrito dentro del contexto de los sistemas que están sujetos a la limitación de presentar una FOT que decrece monotónicamente, la presente propuesta de cambio también puede utilizarse cuando no se aplica esta limitación. Asimismo, esta propuesta también es útil cuando se realiza el cambio desde una corriente de alta calidad hasta una corriente de baja calidad.

Claims (15)

1. Procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, que comprende las etapas siguientes:
(a)
dividir (102) la secuencia en segmentos;
(b)
determinar (107) una tasa de bits (R_{m}) para cada segmento, no siendo dicha tasa de bits superior a la tasa de bits del segmento inmediatamente precedente y
(c)
transmitir (115) las señales a las tasas de bits determinadas;
caracterizado porque la secuencia se divide en segmentos, de tal forma que el primer segmento es una parte situada al principio de la secuencia que contiene un número medio de bits codificados por trama (A_{i}) que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y en el que cada segmento consecutivo es una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento
precedente.
2. Procedimiento para transmitir una secuencia digital de señales de vídeo que se han codificado mediante un algoritmo de compresión, de tal forma que el número de bits codificados por trama no es constante, en el que el vídeo de origen se ha codificado como una primera secuencia y una segunda secuencia que presentan respectivos índices de compresión diferentes, que comprende las etapas siguientes:
(a)
dividir por lo menos la primera y la segunda secuencias en segmentos, siendo el primer segmento la parte del principio de la secuencia que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible empezando por el principio de la secuencia, y siendo cada segmento consecutivo una parte situada inmediatamente a continuación del segmento precedente que contiene un número medio de bits codificados por trama que es superior o igual al número medio de bits codificados por trama de cualquier parte posible situada inmediatamente a continuación del segmento precedente;
(b)
seleccionar un punto de cambio en un límite entre dos segmentos determinados en la etapa (a);
(c)
si la primera secuencia no se ha analizado en la etapa (a), analizar la primera secuencia para dividirla en segmentos;
(d)
determinar la tasa de bits para el segmento o cada segmento desde la primera secuencia hasta el punto de cambio;
(e)
transmitir la señal desde la primera secuencia hasta el punto de cambio a la tasa o las tasas de bits determinadas; y
(f)
transmitir, mediante el procedimiento según la reivindicación 1, de una secuencia modificada que comprende la segunda secuencia desde el punto de cambio en adelante.
3. Procedimiento según la reivindicación 2, en el que, en la etapa (b) se selecciona un punto de cambio que se halla en el límite entre dos segmentos de la primera secuencia.
4. Procedimiento según la reivindicación 2, en el que, en la etapa (b), se selecciona un punto de cambio que se halla en el límite entre dos segmentos de la segunda secuencia.
5. Procedimiento según la reivindicación 2, en el que, en la etapa (a), tanto la primera como la segunda secuencia se dividen en segmentos, y en la etapa (b), se selecciona un punto de cambio que se halla en el límite entre dos segmentos tanto de la primera como de la segunda secuencias o, en caso de que los límites no coincidan, en el primero de los dos límites.
6. Procedimiento según la reivindicación 2, en el que, en la etapa (a), tanto la primera como la segunda secuencia se dividen en segmentos, y en la etapa (b), se selecciona un punto de cambio que se halla en el límite entre dos segmentos tanto de la primera como de la segunda secuencias o, en caso de que los límites no coincidan, en el último de los dos límites.
7. Procedimiento según cualquiera de las reivindicaciones 2 a 6, en el que se selecciona un punto de cambio que se encuentra a cuatro tramas del límite pertinente.
8. Procedimiento según la reivindicación 7, en el que se selecciona un punto de cambio que coincide con el límite pertinente.
9. Procedimiento según cualquiera de las reivindicaciones 2 a 8, en el que la primera secuencia se codifica a un índice de compresión superior al de la segunda secuencia.
10. Procedimiento según la reivindicación 9, en el que la primera secuencia se codifica utilizando una cuantificación más gruesa que la segunda secuencia.
11. Procedimiento según cualquiera de las reivindicaciones 2 a 10, en el que las secuencias se codifican mediante la codificación intertrama, y que comprende la generación en el punto de cambio de una secuencia de transición que comprende o empieza con una trama de la segunda secuencia codificada utilizando una trama decodificada de la primera secuencia como predictor, y en el que la secuencia modificada comprende la secuencia de transición seguida de tramas de la segunda secuencia.
12. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que la tasa de bits determinada para cada uno de por lo menos los últimos segmentos de la secuencia o una de las secuencias es un número de bits por período de trama igual al número medio de bits codificados por trama para dicho segmento.
13. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que la tasa de bits determinada para cada uno de por lo menos los últimos segmentos de la secuencia o una de las secuencias es un número de bits por período de trama igual al mayor de los siguientes valores:
(i)
la más baja de un conjunto de tasas de bits permitidas que es mayor o igual a una tasa nominal para el segmento, siendo dicha tasa nominal el número medio de bits codificados por trama para dicho segmento, menos cualquier reducción permitida como consecuencia de una tasa de bits determinada para la secuencia precedente que sobrepasa la tasa nominal para dicho segmento precedente; y
(ii)
la más baja de un conjunto de tasas de bits permitidas que es mayor o igual al número medio de bits codificados por trama para el segmento siguiente.
14. Procedimiento según cualquiera de las reivindicaciones anteriores, en el que la tasa de bits determinada para cada uno de por lo menos los últimos segmentos de la secuencia o una de las secuencias es un número de bits por período de trama igual al menor de los siguientes valores:
(i)
la más alta de un conjunto de tasas de bits permitidas que es menor o igual a una tasa nominal para el segmento, siendo dicha tasa nominal el número medio de bits codificados por trama para el segmento más cualquier incremento necesario como consecuencia de la tasa de bits determinada para la secuencia siguiente que es inferior a la tasa nominal para dicho segmento precedente y
(ii)
la más alta del conjunto de tasas de bits permitidas que es menor o igual al número medio de bits codificados por trama para el segmento precedente.
15. Procedimiento según cualquiera de las reivindicaciones anteriores, que comprende la transmisión, a una red de telecomunicaciones, de mandatos que solicitan la reserva de dichas tasas de bits determinadas.
ES03775577T 2002-11-18 2003-11-18 Transmision de video. Expired - Lifetime ES2314259T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB0226872A GB0226872D0 (en) 2002-11-18 2002-11-18 Video transmission
GB0226872 2002-11-18
GB0322767A GB0322767D0 (en) 2003-09-29 2003-09-29 Transmission of video
GB0322767 2003-09-29

Publications (1)

Publication Number Publication Date
ES2314259T3 true ES2314259T3 (es) 2009-03-16

Family

ID=32328068

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03775577T Expired - Lifetime ES2314259T3 (es) 2002-11-18 2003-11-18 Transmision de video.

Country Status (10)

Country Link
US (1) US7760801B2 (es)
EP (1) EP1563689B1 (es)
JP (1) JP4087852B2 (es)
KR (1) KR101044213B1 (es)
AT (1) ATE410029T1 (es)
AU (1) AU2003283600A1 (es)
CA (1) CA2505853A1 (es)
DE (1) DE60323860D1 (es)
ES (1) ES2314259T3 (es)
WO (1) WO2004047455A1 (es)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2357732B1 (en) 2002-10-05 2022-04-06 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
EP1665539B1 (en) 2003-10-06 2013-04-10 Digital Fountain, Inc. Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
WO2005112250A2 (en) 2004-05-07 2005-11-24 Digital Fountain, Inc. File download and streaming system
US8370514B2 (en) 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
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
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
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
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
BRPI0816680A2 (pt) 2007-09-12 2015-03-17 Qualcomm Inc Gerar e comunicar informações de identificação de origem pra habilitar comunicações confiáveis.
EP2101503A1 (en) * 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
EP2200319A1 (en) 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
EP2219342A1 (en) 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8838824B2 (en) * 2009-03-16 2014-09-16 Onmobile Global Limited Method and apparatus for delivery of adapted media
US8782267B2 (en) * 2009-05-29 2014-07-15 Comcast Cable Communications, Llc Methods, systems, devices, and computer-readable media for delivering additional content using a multicast streaming
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
US9510029B2 (en) 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
EP2408204A1 (en) 2010-07-12 2012-01-18 British Telecommunications public limited company Video streaming
EP2589223B1 (en) * 2010-06-30 2016-03-09 British Telecommunications Public Limited Company Video streaming
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
EP2426923A1 (en) 2010-09-02 2012-03-07 British Telecommunications Public Limited Company Adaptive streaming of video at different quality levels
EP2469774A1 (en) 2010-12-23 2012-06-27 British Telecommunications public limited company Video streaming over data networks
EP2469773A1 (en) 2010-12-23 2012-06-27 British Telecommunications public limited company A method for delivering video content encoded at one or more quality levels over a data network
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
EP2490447A1 (en) 2011-02-16 2012-08-22 British Telecommunications Public Limited Company Compact cumulative bit curves
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US20140181266A1 (en) * 2011-09-29 2014-06-26 Avvasi Inc. System, streaming media optimizer and methods for use therewith
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9160778B2 (en) 2011-10-26 2015-10-13 Nokia Solutions And Networks Oy Signaling enabling status feedback and selection by a network entity of portions of video information to be delivered via wireless transmission to a UE
KR101854469B1 (ko) * 2011-11-30 2018-05-04 삼성전자주식회사 오디오 컨텐츠의 비트레이트 판단장치 및 방법
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
CN104782124B (zh) * 2012-12-17 2018-09-07 英特尔公司 利用编码器硬件对视频内容进行预处理
US9349304B2 (en) * 2013-02-04 2016-05-24 Bose Corporation Demonstrating an active vibration isolation system
US11076187B2 (en) 2015-05-11 2021-07-27 Mediamelon, Inc. Systems and methods for performing quality based streaming
US10298985B2 (en) 2015-05-11 2019-05-21 Mediamelon, Inc. Systems and methods for performing quality based streaming

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5612900A (en) * 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US5991811A (en) * 1995-09-04 1999-11-23 Kabushiki Kaisha Toshiba Information transmission system utilizing both real-time data transmitted in a normal-in-time direction and in a retrospective-in-time direction
US6002440A (en) 1996-12-10 1999-12-14 British Telcommunications Public Limited Company Video coding
JP2001237828A (ja) * 2000-02-18 2001-08-31 Sony Corp データ伝送管理装置及び方法、データ伝送システム及びデータ伝送方法
US6522693B1 (en) * 2000-02-23 2003-02-18 International Business Machines Corporation System and method for reencoding segments of buffer constrained video streams
US6741648B2 (en) * 2000-11-10 2004-05-25 Nokia Corporation Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
US6937770B1 (en) * 2000-12-28 2005-08-30 Emc Corporation Adaptive bit rate control for rate reduction of MPEG coded video

Also Published As

Publication number Publication date
US20060045180A1 (en) 2006-03-02
EP1563689B1 (en) 2008-10-01
US7760801B2 (en) 2010-07-20
JP4087852B2 (ja) 2008-05-21
KR101044213B1 (ko) 2011-06-29
ATE410029T1 (de) 2008-10-15
CA2505853A1 (en) 2004-06-03
JP2006506926A (ja) 2006-02-23
KR20050086731A (ko) 2005-08-30
WO2004047455A1 (en) 2004-06-03
EP1563689A1 (en) 2005-08-17
AU2003283600A1 (en) 2004-06-15
DE60323860D1 (de) 2008-11-13

Similar Documents

Publication Publication Date Title
ES2314259T3 (es) Transmision de video.
US10972772B2 (en) Variable bit video streams for adaptive streaming
US7400678B2 (en) Methods in transmission and searching of video information
EP2649599B1 (en) Variable bit video streams for adaptive streaming
US8621532B2 (en) Method of transmitting layered video-coded information
US7240358B2 (en) Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
CN101690078B (zh) 多视频流传输中的带宽分配控制
CN100481956C (zh) 视频传输
US8955024B2 (en) Video streaming
EP1043877B1 (en) Method and apparatus for reducing start-up delay in data packet-based network streaming applications
KR101014451B1 (ko) 주문형 비디오 서버 시스템 및 방법
UA94811C2 (uk) Динамічне перемежовування потоків і доставка на основі підпотоків
JP2003525547A (ja) スケーラブルビデオをストリーミングするための方法及び装置
EP2058968A1 (en) Method and apparatus for FEC encoding and decoding
Hadar et al. PCRTT enhancement for off-line video smoothing
CN1765103A (zh) 在网络上的发送
US20080008190A1 (en) Method and apparatus for distributing statistical multiplex signals to handheld devices
KR100433508B1 (ko) 효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체
JP2023019370A (ja) レート制御サーバ、配信システム及びレート制御プログラム
CN114245178A (zh) 一种传输视频的方法、装置、设备和存储介质
Palawan Scalable video transportation using look ahead scheduling
Kabir et al. A CBR-streaming scheme for VBR-encoded videos
Chang et al. VBR Traffic Shaping for Streaming of Multimedia Transmission
JP2000078151A (ja) 配信システムおよび配信装置
JP2007243260A (ja) 画像通信システム,画像配信システム,サーバ装置,画像通信方法,画像配信システム制御プログラムおよびそのプログラム記録媒体