ES2314259T3 - Transmision de video. - Google Patents
Transmision de video. Download PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims description 56
- 238000000034 method Methods 0.000 claims abstract description 38
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 20
- 230000006835 compression Effects 0.000 claims abstract description 12
- 238000007906 compression Methods 0.000 claims abstract description 12
- 230000008859 change Effects 0.000 claims description 49
- 230000007704 transition Effects 0.000 claims description 10
- 238000011002 quantification Methods 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 2
- 239000000872 buffer Substances 0.000 description 35
- 238000004364 calculation method Methods 0.000 description 12
- 230000036316 preload Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000002699 waste material Substances 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 239000002689 soil Substances 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000008713 feedback mechanism Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- 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/44016—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 splicing one content stream with another content stream, e.g. for substituting a video clip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
- H04L47/365—Dynamic adaptation of the packet size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/23424—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing 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/234345—Processing 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
-
- 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/60—Network 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/63—Control 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/633—Control signals issued by server directed to the network components or client
- H04N21/6338—Control 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:
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:
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:
En este momento, el receptor necesita disponer
de todos los bits para todas las tramas hasta la trama k
inclusive, es decir:
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:
Si este resultado debe alcanzarse sin la
transmisión de bits de precarga p, entonces debe
cumplirse:
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
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:
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:
o en el caso
general,
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.
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:
- \quad
- seleccionando la mayor de las dos.
- IV.
- Para los segmentos anteriores i = 2, ..., M-1:
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
\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
\vskip1.000000\baselineskip
- III.
- A continuación, la tasa para el siguiente segmento puede calcularse como
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
- \quad
- seleccionando la menor de las dos, con
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
- IV.
- Este procedimiento se repite utilizando la fórmula general, m=M-3,..., 0:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
- \quad
- seleccionando la menor de las dos.
Y
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
\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
\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
- (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.
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
- \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:
\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
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)
Como antes, b_{0} puede obtenerse mediante la
primera tasa de 4977 bits por intervalo de trama.
\newpage
(b)
- \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
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:
- \quad
- b_{0} = 16548 bits;
- \quad
- b_{0} puede establecerse mediante 7426 bits por intervalo de trama.
\vskip1.000000\baselineskip
(b)
- \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:
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
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.
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.
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)
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)
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 |
-
2003
- 2003-11-18 AU AU2003283600A patent/AU2003283600A1/en not_active Abandoned
- 2003-11-18 DE DE60323860T patent/DE60323860D1/de not_active Expired - Lifetime
- 2003-11-18 JP JP2004570305A patent/JP4087852B2/ja not_active Expired - Fee Related
- 2003-11-18 EP EP03775577A patent/EP1563689B1/en not_active Expired - Lifetime
- 2003-11-18 US US10/534,468 patent/US7760801B2/en active Active
- 2003-11-18 ES ES03775577T patent/ES2314259T3/es not_active Expired - Lifetime
- 2003-11-18 KR KR1020057008950A patent/KR101044213B1/ko active IP Right Grant
- 2003-11-18 AT AT03775577T patent/ATE410029T1/de not_active IP Right Cessation
- 2003-11-18 WO PCT/GB2003/004996 patent/WO2004047455A1/en active IP Right Grant
- 2003-11-18 CA CA002505853A patent/CA2505853A1/en not_active Abandoned
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) | 画像通信システム,画像配信システム,サーバ装置,画像通信方法,画像配信システム制御プログラムおよびそのプログラム記録媒体 |