ES2332315T3 - Procedimiento y dispositivo para la señalizacion proactiva de la adaptacion de tasa de transmision. - Google Patents
Procedimiento y dispositivo para la señalizacion proactiva de la adaptacion de tasa de transmision. Download PDFInfo
- Publication number
- ES2332315T3 ES2332315T3 ES04729160T ES04729160T ES2332315T3 ES 2332315 T3 ES2332315 T3 ES 2332315T3 ES 04729160 T ES04729160 T ES 04729160T ES 04729160 T ES04729160 T ES 04729160T ES 2332315 T3 ES2332315 T3 ES 2332315T3
- Authority
- ES
- Spain
- Prior art keywords
- server
- transmission
- magnitude
- parameter
- client
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L12/5602—Bandwidth control in ATM Networks, e.g. leaky bucket
-
- 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/28—Flow control; Congestion control in relation to timing considerations
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
- Control Of Electric Motors In General (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Un procedimiento que comprende: definir, en un cliente en una red de flujos multimedia, al menos un parámetro para determinar una gama operativa de adaptación de tasa de transmisión, en el cual la red de flujos comprende un servidor configurado para proporcionar datos de flujos al cliente, teniendo el cliente un almacén temporal receptor configurado para compensar la diferencia entre la magnitud de la transmisión de datos por parte del servidor y la magnitud del empleo de datos por parte del cliente, a fin de permitir que el cliente tenga una cantidad suficiente de datos de flujos para reproducir de manera libre de perturbaciones, y en el cual el parámetro, o parámetros, se usa(n) para la adaptación de tasa de transmisión entre el servidor y el cliente, proporcionar al servidor información que indique al menos dicho(s) parámetro(s); adaptar en el servidor la cantidad de datos a una tasa de transmisión de recepción, sobre la base de dicho(s) parámetro(s), y ajustar en el cliente la variación del retardo de transferencia de paquetes sobre la base de dicha adaptación, caracterizado porque dicho(s) parámetro(s) comprende(n) una magnitud de desplazamiento mínimo, que indica una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien una magnitud de desplazamiento objetivo, que indica una magnitud de desplazamiento mayor que una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien un número que especifica una diferencia máxima entre el número de octetos que han sido enviados y el número de octetos que han sido muestreados, a fin de permitir que el servidor adapte una tasa de transmisión de muestreo a la tasa de transmisión en el servidor, sobre la base de dicho(s) parámetro(s).
Description
Procedimiento y dispositivo para la señalización
proactiva de la adaptación de tasa de transmisión.
La presente invención se refiere, en general, al
flujo multimedia y, más específicamente, a la adaptación de la tasa
de transferencia entre un servidor y un cliente en servicios de
flujo multimedia.
En un servicio de flujo multimeda, hay tres
participantes implicados: un servidor de flujos, un cliente de
flujos y un canal de transmisión, o una red subyacente.
Habitualmente, es el canal de transmisión el cuello de botella del
servicio, tanto en términos de caudal como en términos de fiabilidad
(es decir, si no se supone ninguna garantía de tasa de transmisión
de bits del caudal), pero las limitaciones del caudal también pueden
tener lugar en el cliente y/o en el servidor.
En un sistema de flujos en tiempo real, debido a
las características, dinámicamente cambiantes, del caudal del
canal, el cliente y el servidor, el suministro del flujo debe ser
adaptable, a fin de mantener una experiencia de reproducción en
tiempo real para el usuario. El servidor debería adaptar la tasa de
transmisión al caudal variable del sistema. Un ejemplo de tal
adaptación de tasa de transmisión puede hallarse en Haskell et
al (Patente Estadounidense Nº 5.565.924 "Encoder/Decoder
Buffer Control for Variable Channel" ["Control de almacén
temporal de codificador/descodificador para canal
variable"]).
El cliente del flujo proporciona almacenamiento
temporal receptor para almacenar los datos entrantes antes de
pasarlos al descodificador de medios, para su reproducción. El
almacén temporal receptor se utiliza para compensar la diferencia
entre la tasa de transmisión de codificación de origen (también
denominada la tasa de transmisión de muestreo) y la tasa de
transmisión de transmisión (almacenamiento temporal previo al
codificador). También se utiliza para compensar la variación del
retardo de transferencia de paquetes por el canal (almacenamiento
temporal de arritmia). En general, estas dos funciones se suponen
combinadas en un único almacén temporal receptor. Sin embargo,
también pueden implementarse con dos almacenes temporales distintos
en un receptor, aunque tal implementación no es óptima desde el
punto de vista del retardo. El almacenamiento temporal receptor
también puede allanar las inexactitudes de adaptación (es decir, si
el caudal del sistema no es correspondido exactamente por la salida
del servidor). Tal es también el caso en el documento
WO-A-01/37571.
Si el almacén temporal receptor se vacía (esto
es, infrallenado del almacén temporal), lo que significa que al
descodificador se le están acabando los datos para descodificar, el
cliente necesita detener temporalmente la reproducción y
realmacenar temporalmente los datos entrantes antes de continuar.
Por otra parte, si la tasa de transmisión de los datos entrantes es
mayor que la tasa de transmisión de reproducción, entonces puede
agotarse el espacio de almacenamiento temporal receptor (esto es,
desborde del almacén temporal), lo que puede dar como resultado la
pérdida de paquetes del almacén temporal, a fin de hacer sitio para
nuevos paquetes entrantes. Cuando se pierden los paquetes, se
degrada la calidad del vídeo. Para garantizar una reproducción
tersa e impecable, el almacén temporal receptor del cliente debería
mantenerse dentro de una cierta gama de llenado. A fin de
garantizar que el almacén temporal receptor no sufrirá infrallenado
o desborde, la tasa de transmisión de bits para la transmisión y el
muestreo en el servidor, y la de recepción y reproducción en el
cliente deben controlarse debidamente.
En las siguientes exposiciones, se describirá el
control de la tasa de transmisión de bits con referencia a los
gráficos de evolución de la tasa de transmisión de bits (sobre el
eje horizontal, el tiempo en segundos; en el eje vertical, la
cantidad acumulada de datos en octetos o bits), en los cuales se
definen las siguientes curvas:
- -
- La curva de reproducción, P(t), muestra la cantidad acumulada de datos que el descodificador ha procesado en cierto tiempo a partir del almacén temporal receptor;
- -
- La curva de muestreo, S(t), muestra el avance de la generación de datos como si el codificador de medios funcionase en tiempo real (es la contraparte de la curva de reproducción y, de hecho, es una versión de ella desplazada en el tiempo);
- -
- La curva de transmisión, T(t), muestra la cantidad acumulada de datos enviados por el servidor en un tiempo dado; y
- -
- La curva de recepción, R(t), muestra la cantidad acumulada de datos recibidos y colocados en el almacén temporal del cliente en un tiempo dado.
La diferencia entre dos curvas cualesquiera
define el retardo y el "tamaño del almacén temporal" entre esas
dos curvas. El control de la tasa de transmisión de bits estará
restringido por algunos límites de la diferencia entre dos curvas
(p. ej., el tamaño máximo del almacén temporal, o el retardo
máximo). Un típico gráfico de evolución de la tasa de transmisión
de bits se muestra en la Figura 1.
Al determinar la mejor disposición para la
cooperación entre servidor y cliente en el control de la tasa de
transmisión de bits, ha de considerarse lo siguiente:
A. Curva de muestreo - el control (es decir, la
selección del flujo de bits a transmitir) debería dejarse
completamente a cargo del servidor, porque:
- 1)
- Es sólo el servidor el que sabe de las características exactas de cada flujo de bits, p. ej., las posiciones de conmutación, la prioridad de las tramas, los tamaños de tramas futuras, y
- 2)
- podría no haber una tasa de transmisión de flujo de bits que se adapte a la tasa de transmisión de bits de la red, y el servidor podría efectuar algunos "trucos" (p. ej., ralear, acelerar o desacelerar).
\vskip1.000000\baselineskip
B. Curva de transmisión - el control (es decir,
la tasa de transmisión a la cual se transmite) también debería
dejarse al servidor (es decir, utilizando los informes del RTCP
(Protocolo de Control en Tiempo Real) o bien otra información de
ancho de banda del cliente) porque:
- 1)
- en general, es sólo el servidor el que puede medir la cantidad de datos en línea, y
- 2)
- podría haber una necesidad de adaptar la tasa de transmisión va a la curva de muestreo si el control de la curva de muestreo tiene flexibilidad limitada.
\vskip1.000000\baselineskip
El servidor debería mantener algunas
restricciones de tiempo real adaptando su curva de muestreo
S(t) a su curva de transmisión T(t). La
adaptación de la curva de muestreo a la curva de transmisión
garantiza que, con un almacenamiento temporal adecuado, el receptor
es capaz de reproducir los medios con sincronización correcta. En
todo instante temporal t, la curva de muestreo S(t) no
debería desviarse de la curva de transmisión T(t) en
una cantidad demasiado grande de octetos.
\vskip1.000000\baselineskip
Si el servidor funciona dentro de un límite,
según lo definido por las restricciones de tiempo real, el cliente
es responsable de proporcionar todo almacenamiento temporal
necesario para seguir al servidor dentro del límite. En ese caso,
el cliente tiene que compensar:
- 1)
- el almacenamiento temporal previo al descodificador para |S(t) - T(t)|, y
- 2)
- el almacenamiento temporal de arritmia para la variación {T(t)-R(t)} del retardo de transferencia.
\vskip1.000000\baselineskip
Además, el cliente debe tolerar cualquier
incongruencia entre la curva de reproducción y la curva de muestreo
(p. ej., la deriva del reloj o la ralentización de la reproducción
debido a un problema del sistema operativo de la plataforma del
cliente).
En un sistema de flujo multimedia, un transmisor
o servidor necesita, en todo instante temporal, decidir cómo
codificar (a qué tasa de transmisión) el siguiente paquete que
enviará, y decidir en qué tiempo enviarlo. En las operaciones
normales, el transmisor es capaz de mantener la reproducción en
tiempo real al utilizar el receptor sólo los informes del RTCP. El
Servicio de Flujo Conmutado por Paquetes (PSS) del Proyecto de
Colaboración de 3ª Generación (3GPP) define requisitos normativos de
almacenamiento temporal de vídeo, que están concebidos para
compensar las variaciones del retardo de codificación, y las
específicas del servidor, inherentes a la compresión y transmisión
VBR (Tasa de transmisión Variable de Bits) de vídeo (véase el
documento 3GPP TS 26.234 V5.1.0, "Transparent
End-to-End Packet Switched Streaming
Service (PSS); Protocols and Codecs (Release 5)" ["Servicio
Transparente de Flujo Conmutado por Paquetes (PSS) de Extremo a
Extremo; Protocolos y Códecs (Versión 5)"] de junio de 2002,
denominado en lo sucesivo TS 26.234). Cuando tanto el servidor como
el cliente del flujo cumplen los requisitos de almacenamiento
temporal, se garantiza que el cliente es capaz de reproducir el
flujo transmitido por el servidor sin violación del almacén temporal
del cliente (es decir, no habrá ni infrallenado ni desborde del
almacén temporal en el cliente), siempre que el flujo desde el
servidor se transmita por un canal de transmisión fiable, de
retardo constante. Sin embargo, esto ya no es posible en ciertas
circunstancias, tales como los traspasos, las retransmisiones o la
deriva del reloj. Como resultado de ello, el transmisor y el
receptor pueden adoptar acciones conflictivas entre sí, y puede
ocurrir una severa degradación en la experiencia del usuario.
En la tecnología anterior, un receptor modifica
su nivel de almacenamiento temporal mediante el uso de la tasa de
transmisión (submuestreando audio y/o vídeo) y la escala (aumento o
disminución multiplicativa de la tasa de transmisión de bits) de
los campos de cabecera del RTSP (Protocolo de Flujo en Tiempo Real).
Estas cabeceras se definen en el documento IETF RFC2326. El
receptor también puede hacer uso de comandos de conmutación de tasa
de transmisión de bits por parte del cliente, según se describe en
el documento "End-to-End bit rate
adaptation for PSS" ["Adaptación de la tasa de transmisión de
bits de extremo a extremo para el PSS"], 3GPP SA4 doc
S4-030024.
S4-030024.
La presente invención divide las
responsabilidades de la adaptación de tasa de transmisiones entre el
transmisor y el receptor, según lo siguiente:
El servidor es responsable de:
- -
- La adaptación de la tasa de transmisión de transmisión a la tasa de transmisión de recepción (es decir, el control de congestión).
- -
- La adaptación de la tasa de transmisión de muestreo a la tasa de transmisión (es decir, la gestión del desplazamiento y su mantenimiento dentro de la gama operativa de adaptación de tasa de transmisión).
\vskip1.000000\baselineskip
El receptor es responsable de:
- -
- Compensar la variación del retardo de transferencia de paquetes (es decir, la arritmia de red).
- -
- Fijar los parámetros de la gama operativa de adaptación de tasa de transmisión del servidor (es decir, la gama de desplazamiento).
\vskip1.000000\baselineskip
La gama operativa para la adaptación de tasa de
transmisión del servidor define los límites de la "programación
dinámica del servidor", especificando el desplazamiento mínimo y
máximo admisible para cualquier paquete que envíe el servidor. Los
parámetros de la gama operativa de adaptación de tasa de transmisión
del servidor se negocian entre el servidor y el receptor a fin de
minimizar las ocurrencias de infrallenado, desborde y degradación
de calidad en casos tales como los traspasos, la retransmisión y la
deriva del reloj.
Así, el primer aspecto de la presente invención
proporciona un procedimiento para controlar de manera adaptable el
nivel de un almacén temporal receptor en un cliente en una red de
flujo multimedia, comprendiendo la red de flujos un servidor para
proporcionar datos de flujos al cliente, en donde el almacén
temporal receptor se emplea para compensar la diferencia entre la
magnitud de la transmisión de datos por parte del servidor y la
magnitud del empleo de datos por parte del cliente, a fin de
permitir que el cliente tenga una cantidad suficiente de datos de
flujo para reproducir de manera libre de perturbaciones,
comprendiendo dicho procedimiento:
- definir en el cliente al menos un parámetro para determinar una gama operativa de adaptación de tasa de transmisiones, a fin de llevar a cabo la adaptación de la tasa de transmisión entre el servidor y el cliente;
- adaptar en el servidor una cantidad de datos a una tasa de transmisión de recepción, sobre la base de di- cho(s) parámetro(s); y
- ajustar en el cliente la variación del retardo de transferencia de paquetes sobre la base de dicha adaptación.
Según la presente invención, el parámetro, o
parámetros, comprende(n) una magnitud de desplazamiento
mínimo, que indica una diferencia entre el tiempo de muestreo y el
tiempo de transmisión de un paquete en el servidor, a fin de
permitir que el servidor lleve a cabo dicha adaptación sobre la base
de la magnitud de desplazamiento mínimo.
Según la presente invención, el parámetro, o
parámetros, comprende(n) una magnitud de desplazamiento
objetivo, que indica una magnitud de desplazamiento mayor que una
diferencia entre el tiempo de muestreo y el tiempo de transmisión
de un paquete en el servidor, a fin de permitir que el servidor
lleve a cabo dicha adaptación sobre la base de la magnitud de
desplazamiento deseado.
Según la presente invención, el parámetro, o
parámetros, comprende(n) un número que especifica una
diferencia máxima entre el número de octetos que han sido enviados
y el número de octetos que han sido muestreados, a fin de permitir
que el servidor lleve a cabo dicha adaptación.
Según la presente invención, dicha adaptación en
el servidor se lleva a cabo ajustando la tasa de transmisión, o la
tasa de transmisión de muestreo, o ambas.
Según la presente invención, el parámetro, o
parámetros, comprende(n) una magnitud de desplazamiento
temporal para impedir la perturbación de la reproducción en el
cliente.
Según la presente invención, el procedimiento
comprende adicionalmente la etapa de adaptar una tasa de transmisión
de muestreo a la tasa de transmisión en el servidor, sobre la base
de dicho(s) parámetro(s).
Según la presente invención, dos o más valores,
entre la magnitud de desplazamiento mínimo, la magnitud de
desplazamiento deseado, el número especificador y la señal de reloj,
se envían juntos al servidor.
El segundo aspecto de la presente invención
proporciona un sistema de flujo multimedia. El sistema
comprende:
- al menos un cliente; y
- un servidor para proporcionar datos de flujos al cliente, teniendo el cliente un almacén temporal receptor para compensar una diferencia entre la magnitud de la transmisión de datos por parte del servidor y la magnitud del empleo de datos por parte del cliente, a fin de permitir que el cliente tenga una cantidad suficiente de datos de flujos para reproducir, de manera libre de perturbaciones, en donde el cliente comprende:
- un mecanismo para definir al menos un parámetro para determinar una gama operativa de adaptación de tasa de transmisiones, a fin de permitir que el servidor adapte una cantidad de datos a una tasa de transmisión de recepción sobre la base de dicho(s) parámetro(s); y
- un mecanismo para ajustar una variación del retardo de transferencia de paquetes, sobre la base de dicha adaptación.
Según la presente invención, dicho(s)
parámetro(s) puede(n) incluir una magnitud de
desplazamiento mínimo, que indica una diferencia entre el tiempo de
muestreo y el tiempo de transmisión de un paquete en el servidor, a
fin de permitir que el servidor lleve a cabo dicha adaptación sobre
la base de la magnitud de desplazamiento mínimo; una magnitud de
desplazamiento deseado, que indica una magnitud de desplazamiento
mayor que una diferencia entre el tiempo de muestreo y el tiempo de
transmisión de un paquete en el servidor, a fin de permitir que el
servidor lleve a cabo dicha adaptación, sobre la base de la magnitud
de desplazamiento deseado; un número que especifica una diferencia
máxima entre el número de octetos que han sido enviados y el número
de octetos que han sido muestreados; y una magnitud de
desplazamiento temporal para impedir la perturbación de la
reproducción en el
cliente.
cliente.
Según la presente invención, el servidor
comprende un mecanismo de adaptación para adaptar una tasa de
transmisión de muestreo a una tasa de transmisión, sobre la base de
dicho(s) parámetro(s).
El tercer aspecto de la presente invención
proporciona un producto de software para su uso en un cliente en
una red de flujo multimedia, a fin de controlar de manera adaptable
el nivel de un almacén temporal receptor en el cliente,
comprendiendo la red de flujo multimedia un servidor capaz de
proporcionar datos de flujos al cliente, en donde el almacén
temporal receptor se utiliza para compensar la diferencia entre la
magnitud de la transmisión de datos por parte del servidor y la
magnitud del empleo de datos por parte del cliente, a fin de
permitir que el cliente tenga una cantidad suficiente de datos de
flujos para reproducir de manera libre de perturbaciones,
comprendiendo dicho producto de software:
- un código para definir al menos un parámetro para determinar una gama operativa de adaptación de tasa de transmisiones en el servidor, a fin de llevar a cabo la adaptación de tasa de transmisiones entre el servidor y el cliente; y
- un código para ajustar una variación del retardo de transferencia de paquetes sobre la base de dicha adaptación.
Según la presente invención, dicho(s)
parámetro(s) puede(n) incluir una magnitud de
desplazamiento mínimo, que indica una diferencia entre el tiempo de
muestreo y el tiempo de transmisión de un paquete en el servidor;
una magnitud de desplazamiento deseado, que indica una magnitud de
desplazamiento mayor que una diferencia entre el tiempo de muestreo
y el tiempo de transmisión de un paquete en el servidor; un número
que especifica una diferencia máxima entre el número de octetos que
han sido enviados y el número de octetos que han sido muestreados;
y una magnitud de desplazamiento temporal para impedir la
perturbación de la reproducción en el cliente.
El cuarto aspecto de la presente invención
proporciona un terminal en una red de flujo multimedia, con al
menos un servidor para proporcionar datos de flujos al terminal,
teniendo el terminal un almacén temporal receptor para compensar la
diferencia entre la magnitud de la transmisión de datos por parte
del servidor y la magnitud del empleo de datos por parte del
terminal, a fin de permitir que el terminal tenga una cantidad
suficiente de datos de flujos para reproducir de manera libre de
perturbaciones. El terminal comprende:
- un mecanismo para definir al menos un parámetro que determine una gama operativa de adaptación de tasa de transmisiones en el servidor, a fin de permitir que el servidor adapte la magnitud de la transmisión de datos a una tasa de transmisión de recepción, sobre la base de dicho(s) parámetro(s); y
- un mecanismo para ajustar una variación del retardo de transferencia de paquetes sobre la base de dicha adaptación.
Según la presente invención, el mecanismo de
definición comprende un programa de software con al menos un código
para definir dicho(s) parámetro(s), y el mecanismo de
ajuste comprende un programa de software con al menos un código
para ajustar la variación del retardo de transferencia de
paquetes.
El quinto aspecto de la presente invención
proporciona un elemento de red en la red de flujo multimedia, con
al menos un terminal que recibe datos de flujos desde el elemento de
red, teniendo el terminal un almacén temporal receptor para
compensar la diferencia entre la magnitud de la transmisión de datos
por parte del elemento de red y la magnitud del empleo de datos por
parte del terminal, a fin de permitir que el terminal tenga una
cantidad suficiente de datos de flujos para reproducir de forma
libre de perturbaciones. El elemento de red comprende:
- medios para recibir una solicitud desde el terminal, indicando la solicitud al menos un parámetro que determina una gama operativa de adaptación de tasa de transmisiones en el elemento de red; y
- un mecanismo para adaptar, sobre la base de dicho(s) parámetro(s), la magnitud de la transmisión de datos a una tasa de transmisión de recepción por parte del terminal, a fin de permitir que el terminal ajuste una variación del retardo de transferencia de paquetes sobre la base de dicha adaptación.
Según la presente invención, el mecanismo de
adaptación comprende un programa de software con al menos un código
para adaptar la magnitud de la transmisión de datos.
Según la presente invención, el programa de
software comprende un código para ajustar la tasa de transmisión de
transmisión, o la tasa de transmisión de muestreo, o ambas.
La presente invención será evidente al leer la
descripción, conjuntamente con las Figuras 1 a 3.
La Figura 1 es un gráfico que define parámetros
con respecto a curvas de muestreo y transmisión.
La Figura 2 es un gráfico que ilustra un
traspaso y su efecto sobre el nivel del almacén temporal receptor
para ciertos parámetros de desplazamiento.
La Figura 3 es un diagrama en bloques que
muestra un sistema de flujo multimedia con un dispositivo servidor
y un dispositivo cliente, que pueden llevar a cabo el procedimiento
de adaptación de tasa de transmisiones, según la presente
invención.
A fin de especificar cuál es el desplazamiento
mínimo y máximo que se permite para cada paquete que envía el
servidor, la presente invención define el "desplazamiento"
utilizando un modelo de adaptación de tasa de transmisiones según
lo siguiente.
La diferencia temporal \alpha entre la hora de
muestreo (es decir, el sello temporal) de los medios en un paquete
del RTP (Protocolo de Tiempo Real) y la hora de transmisión del
paquete (es decir, cuando es enviado por el servidor) se define
como el "desplazamiento". Remitiéndose a las curvas de muestreo
(S) y de transmisión (T), un desplazamiento \alpha puede
expresarse como T(t) = S(t+ \alpha).
El desplazamiento es un valor positivo cuando la
hora de muestreo del paquete es posterior a la hora de transmisión
del paquete.
El desplazamiento es un valor negativo cuando la
hora de muestreo del paquete es anterior a la hora de transmisión
del paquete.
Estando establecida la definición del
"desplazamiento", los parámetros de desplazamiento mínimo y
máximo se definen según lo siguiente.
Los parámetros de la gama operativa de
adaptación de tasa de transmisiones se definen según lo
siguiente.
Este parámetro define el desplazamiento más
pequeño que puede utilizar el transmisor. Da, a la hora t de
transmisión, la más antigua hora de muestreo admisible que puede
enviarse. Si este parámetro es \alpha_mín, el transmisor
debe estar enviando en el tiempo t un paquete cuya hora de muestreo
no sea anterior a t+\alpha_mín.
Al tener este límite máximo sobre la hora más
tardía en que pueden enviarse los paquetes, en comparación con su
hora de muestreo, la reproducción en tiempo real puede mantenerse en
el receptor. El receptor puede estimar la cantidad máxima de tiempo
que tiene para permitir la espera de paquetes a fin de evitar el
retardo de la reproducción (es decir, ningún infrallenado del
almacén temporal receptor).
El retardo inicial del almacenamiento temporal
receptor (es decir, previo a la ocupación) debe calcularse para
admitir el desplazamiento mínimo y, además, para compensar la
variación del retardo de transferencia de paquetes. Como ejemplo,
supongamos que el desplazamiento mínimo es de -2.000 ms. Esto
significa que, cuando el transmisor envía un paquete, la hora de
muestreo del paquete puede ser, a lo sumo, anterior en 2 segundos
en comparación con su hora de transmisión, pero no más. A fin de
evitar el infrallenado del almacén temporal receptor, el receptor
almacenaría inicialmente durante la máxima variación esperada del
retardo de transferencia de paquetes, más 2 segundos. Cuando menor
sea el valor (negativo), mayor la necesidad de almacenamiento
temporal inicial en el receptor.
Cuando el receptor detecta una deriva del reloj
(es decir, la desviación de la curva de reproducción del receptor
con respecto a la curva de muestreo mantenida en el transmisor), el
parámetro de desplazamiento mínimo puede modificarse para forzar al
servidor a seguir la curva de reproducción con las horas de
transmisión de paquetes. Por ejemplo, si el receptor es más veloz,
reproduciría datos a una tasa de transmisión mayor que aquella a la
que son muestreados. Esto llevaría, en última instancia, al
infrallenado del almacén temporal. Solicitando que el transmisor
aumente su desplazamiento mínimo, el infrallenado puede
evitarse.
Si el receptor es más lento que el transmisor,
el desplazamiento mínimo debería disminuirse. Si el receptor es más
veloz que el transmisor, debería aumentarse.
El valor inicial del desplazamiento mínimo sería
habitualmente negativo, pero el receptor puede modificarlo para que
también se torne positivo. Por ejemplo, en el caso de un receptor
más veloz (es decir, un reloj de reproducción más veloz), según
aumente el desplazamiento mínimo, puede hacerse positivo
eventualmente. Por ejemplo, si el valor inicial es de -2 segundos,
el transmisor puede solicitar posteriormente que el desplazamiento
sea de -1,9 segundos, luego de -1,7 segundos, etc.
Este parámetro define el desplazamiento que el
cliente desearía ver alcanzado por parte del transmisor. Si este
parámetro es \alpha_objetivo, el transmisor debería estar
enviando, en el tiempo t, un paquete cuya hora de muestreo sea
t+\alpha_objetivo.
El desplazamiento objetivo siempre debe ser
mayor que el desplazamiento mínimo anteriormente definido. Por
definición, si el transmisor envía un paquete según el
desplazamiento objetivo, obviamente también lo hace conforme al
desplazamiento mínimo.
El desplazamiento objetivo está concebido para
reducir la necesidad de disminuir la tasa de transmisión de
muestreo cuando la tasa de transmisión debe reducirse abruptamente
(p. ej., durante un traspaso), satisfaciendo a la vez las
restricciones de tiempo real (es decir, el desplazamiento mínimo).
En otras palabras, el desplazamiento mínimo está concebido para que
el transmisor envíe paquetes antes de lo estrictamente necesario
para satisfacer condiciones de tiempo real, cuando la tasa de
transmisión es lo bastante buena.
A fin de explicar mejor el empleo de este
segundo parámetro, supongamos que el transmisor funciona cerca del
desplazamiento mínimo. Supongamos ahora que la tasa de transmisión
disminuye significativamente (esto podría ser debido, p. ej., a
traspasos o retransmisiones del RTP que reducirían la tasa de
transmisión de bits disponible para el flujo original). A fin de
garantizar el desplazamiento mínimo (y, por ello, el tiempo real),
el transmisor también tendría que reducir marcadamente su tasa de
transmisión de muestreo. Esto causaría una reducción de la calidad,
ya que el transmisor, por ejemplo, puede verse forzado a saltear
tramas a fin de lograr la reducción de la tasa de transmisión de
muestreo.
En caso de que el transmisor funcione cerca del
desplazamiento objetivo, cuando la tasa de transmisión disminuye,
no es necesario que la reducción de la tasa de transmisión de
muestreo sea tan aguda como la reducción de la tasa de transmisión.
El transmisor que reduce la tasa de transmisión sin reducir la tasa
de transmisión de muestreo disminuirá el desplazamiento efectivo
por debajo del desplazamiento objetivo, pero aún puede mantenerse
el desplazamiento mínimo sin tener que reducir la tasa de
transmisión de muestreo tan drásticamente como la disminución
observada en la tasa de transmisión.
Después de haberse visto forzado a reducir su
desplazamiento, el servidor debería reconstruir su desplazamiento
objetivo cuando la tasa de transmisión vuelve a aumentar. A fin de
lograr el desplazamiento objetivo señalizado por el receptor, el
transmisor puede utilizar una combinación de aumento de la tasa de
transmisión y disminución de la tasa de transmisión de muestreo (o
disminución de la tasa de transmisión de transmisión y aumento de
la tasa de transmisión de muestreo), según las restricciones
actuales de la tasa de transmisión.
Al tener el desplazamiento objetivo definido de
esta manera, se elimina la necesidad de que el receptor
"ordene" al servidor que reduzca primero y aumente luego
nuevamente el desplazamiento al tratar una disminución drástica de
la tasa de transmisión. El mismo transmisor decide disminuir el
desplazamiento desde, pero luego aumenta nuevamente el
desplazamiento hacia, el desplazamiento objetivo que había sido
señalizado previamente por el receptor.
Por esta razón, este planteo puede decirse
proactivo. No es necesario que tenga lugar ninguna señalización (de
desplazamiento) en el tiempo en que disminuye la tasa de
transmisión.
Este parámetro define la máxima diferencia entre
el número de octetos que han sido enviados en el tiempo t y el
número de octetos que han sido muestreados hasta el tiempo t de
muestreo (es decir, la diferencia entre la curva de transmisión y
la curva de muestreo:
T(t)-S(t)). Este parámetro
limita el tamaño necesario del almacén temporal en el receptor,
para contener los paquetes que fueron recibidos como resultado de un
desplazamiento positivo, y para los cuales el receptor debe
esperar, por ello, su tiempo de reproducción. El objetivo de este
parámetro es impedir el desborde del almacén temporal.
Estos parámetros se ilustran en la Figura 1 con
un ejemplo de una curva de transmisión T(t) y una
curva de muestreo S(t).
\vskip1.000000\baselineskip
El servidor debe observar una estricta
conformidad con los parámetros del "desplazamiento mínimo" y
del "máximo número de octetos de envío anticipado". De esta
manera, el servidor intentará funcionar en condiciones de
transmisión normales, tan cerca del "desplazamiento objetivo"
como lo permitan sus capacidades y la codificación de medios
disponible.
Debido a la posible variación de la tasa de
transmisión de codificación de medios a lo largo del tiempo, el
"desplazamiento objetivo" no puede ser observado exactamente
por el servidor para todos los paquetes enviados. La desviación con
respecto al "desplazamiento objetivo" se deja al arbitrio del
servidor en condiciones de transmisión donde juzgara que el
estricto cumplimiento del "desplazamiento objetivo" daría como
resultado una degradación innecesaria de la calidad (véanse los
ejemplos de casos de uso más adelante). También queda para la
decisión, o capacidades, del servidor determinar cuán rápidamente se
recupera el "desplazamiento objetivo" después de tal
desviación.
En todo caso de conflicto entre los parámetros
de "desplazamiento objetivo" y "número máximo de octetos de
envío adelantado" (es decir, si mantener el desplazamiento
objetivo tendría como resultado superar el número máximo de octetos
de envío adelantado), éste último prevalece.
\vskip1.000000\baselineskip
La clave para mantener la reproducción
ininterrumpida es la gestión eficiente del nivel del almacén
temporal receptor. Esto puede lograrse teniendo un control, al
menos implícito o estimado, tanto sobre la curva de reproducción
como sobre la curva de recepción en el cliente. El cliente, por
definición, conoce y controla la planificación de
descodificación/reproducción. Al habilitar la introducción del
control del desplazamiento por parte del transmisor, se da al
cliente un control al menos estimado de la curva receptora y de su
relación con la curva de muestreo y, por ello, se le da el control
del nivel del almacén temporal receptor.
En consecuencia, el cliente escoge y solicita
los parámetros de desplazamiento considerando sus limitaciones de
almacenamiento temporal absoluto. En este modelo cooperativo de
adaptación de tasa de transmisiones, el receptor solicita sólo los
parámetros de desplazamiento y queda al criterio del transmisor cómo
adaptar su tasa de transmisión de codificación y/o tasa de
transmisión de transmisión al responder a la solicitud. Pueden
adaptarse bien la curva de transmisión, o bien la curva de muestreo,
o bien una combinación de ambas.
\vskip1.000000\baselineskip
Sin embargo, el control de la tasa de
transmisión de muestreo (es decir, la selección del flujo de bits
para su transmisión) se deja bajo el control del servidor
porque:
- -
- Es sólo el servidor quien sabe de las características exactas de cada flujo de bits, p. ej., las posiciones de conmutación, la prioridad de las tramas y los tamaños de tramas futuras.
- -
- Podría no haber una tasa de transmisión del flujo de bits que se corresponda con la tasa de transmisión de bits de la red, por lo que el servidor podría hacer algunos "trucos" (p. ej., ralear, acelerar o desacelerar) a fin de acomodar la tasa de transmisión del flujo de bits a la tasa de transmisión de bits de la red.
\vskip1.000000\baselineskip
El control de la tasa de transmisión (es decir,
la tasa de transmisión a la cual se transmite) también se deja bajo
el control del servidor (es decir, la utilización de informes RR del
RTCP) porque:
- -
- En el caso general, es sólo el servidor quien puede medir la cantidad de datos en camino.
- -
- Podría haber una necesidad de acoplar la tasa de transmisión con la tasa de transmisión de muestreo si el control de la tasa de transmisión de muestreo tiene flexibilidad limitada.
El transmisor está limitado al intentar efectuar
la adaptación por:
- -
- Modificación de la curva de transmisión: la curva de transmisión está restringida por la curva de recepción y, por ello, el transmisor puede no ser capaz de aumentarla. Podría aumentarla sólo si no estuviera utilizando previamente todo su ancho de banda disponible. Por ejemplo, un servidor puede estar utilizando el mecanismo TFRC (Control de Tasa de transmisión Amistoso del Protocolo de Control de Transmisión) (o recibiendo una información explícita de ancho de banda mediante señalización del receptor) para calcular su tasa de transmisión de transmisión admisible, y no incrementará su tasa de transmisión por encima de la tasa de transmisión que el TFRC (o el ancho de banda efectivo señalizado) tolera.
- -
- Modificación de la curva de muestreo: depende de la capacidad de adaptación de tasa de transmisión del transmisor. Por ejemplo, si en transmisor implementa la conmutación del flujo de bits, y si el servidor está transmitiendo a su mínimo (o máximo) flujo de bits, no podría reducir (o aumentar) adicionalmente la tasa de transmisión de muestreo.
\vskip1.000000\baselineskip
Según la presente invención, los parámetros de
la gama operativa de adaptación de tasa de transmisiones del
servidor se negocian entre el servidor y el receptor, a fin de
minimizar las ocurrencias de infrallenado, desborde y degradación
de la calidad en casos tales como los traspasos, la retransmisión y
la deriva del reloj.
En el caso de la transmisión de paquetes del
RTP, el receptor es capaz de escoger el número de retransmisiones
de paquetes que desea efectuar, y el retardo que tolerará para la
retransmisión.
En el caso de traspasos, el receptor puede
derivar, a partir del tipo de red de radio, por ejemplo, la longitud
de traspaso que espera y, por ello, el desplazamiento objetivo
requerido. El receptor sabe más del enlace de radio y también puede
detectar un traspaso entre sistemas y la necesidad de adaptar en
consecuencia los parámetros de desplazamiento del reloj.
El receptor puede compensar la deriva del reloj
con el transmisor, actualizando los parámetros de desplazamiento
del reloj.
\vskip1.000000\baselineskip
Antes de realizar una solicitud de
retransmisión, el receptor necesita, habitualmente, estimar si un
paquete retransmitido llegará antes de su hora de reproducción. Si
el paquete no llega, la retransmisión malgasta el ancho de banda
disponible.
El transmisor conoce la hora de muestreo de los
paquetes que deben programarse, al menos, con el desplazamiento
\alpha_mín, a fin de satisfacer las restricciones de tiempo
real en el receptor.
Un paquete de retransmisión no es, en este
aspecto, distinto a un paquete que se envía por primera vez. Dado
que el desplazamiento mínimo indica el umbral de infrallenado en el
receptor, el transmisor no debería retransmitir un paquete si su
sello temporal es anterior a t+\alpha_mín, donde t es la
hora actual.
La señalización del parámetro de desplazamiento,
de esta manera, hace que la retransmisión de paquetes sea más
eficiente, dejando que el transmisor no retransmita paquetes que no
llegarán al receptor antes de su hora de descodificación, y cuya
retransmisión malgastaría el ancho de banda disponible. El receptor
no necesita ser extremadamente conservador en su estimación de si
un paquete faltante podría ser recibido antes de su reproducción.
Una estimación errónea no tendrá ningún efecto (además de la
solicitud inútil), como si el servidor no retransmitiese el
paquete.
paquete.
El receptor también es capaz de equilibrar el
número de transmisiones que querría efectuar durante el
desplazamiento objetivo. Cuanto mayor sea el valor del
desplazamiento objetivo, más paquetes se enviarán por adelantado (y
mayor será el nivel del almacén temporal receptor) mientras las
condiciones de red sean buenas. Esto, a su vez, dará más tiempo
para retransmisiones cuando las condiciones de red empeoren.
Aquí el desplazamiento del reloj es nuevamente
proactivo. El receptor no necesita sincronizar la solicitud de
desplazamiento con la solicitud del RTCP.
\vskip1.000000\baselineskip
La señalización del desplazamiento temporal
puede utilizarse como una herramienta para impedir la perturbación
de la reproducción en el receptor, debido a un traspaso.
Supongamos que el receptor está conectado con
una red y que sabe que la duración esperada del traspaso para esta
red es T_{H}. Supongamos que el receptor establece que su
desplazamiento objetivo sea mayor, al menos en T_{H}, que el
desplazamiento mínimo, es decir, \alpha_objetivo >
\alpha_mín+T_{H}.
Antes del traspaso, el transmisor satisface el
desplazamiento objetivo enviando los paquetes temprano. Cuando el
transmisor detecta el traspaso, debería dejar de transmitir (y
evitar así la pérdida de paquetes debida al desborde del almacén
temporal de la red). Durante el traspaso, el reloj avanza, mientras
que no se envía ningún dato nuevo. Como consecuencia de ello, el
traspaso reduce el desplazamiento en la magnitud temporal
T_{H} (suponiendo que el traspaso haya durado exactamente
T_{H}). Como el transmisor estaba funcionando con el
desplazamiento objetivo antes del traspaso, el desplazamiento
después del traspaso será \alpha_objetivo -
T_{H}.
Este valor es aún más que el desplazamiento
mínimo \alpha_mín. Esto significa que aún se satisface la
condición de tiempo real y que no hubo infrallenado en el receptor.
Durante el traspaso, el receptor es capaz de reproducir los
paquetes que fueron enviados por el transmisor según el
desplazamiento objetivo, y sin una degradación significativa de la
calidad.
Después del traspaso, el transmisor reconstruirá
el desplazamiento objetivo según aumenta nuevamente su tasa de
transmisión. No se necesita ninguna nueva señalización.
El receptor señalizaría un nuevo parámetro de
desplazamiento sólo si quisiera aumentar su desplazamiento objetivo,
a fin de aumentar adicionalmente la duración del traspaso que puede
tolerar. Este podría ser el caso, en particular, si hay un traspaso
a una red de tipo distinto, con distinta duración esperada de
traspaso.
El transmisor, por supuesto, necesita poder
detectar el traspaso. El transmisor, normalmente, detectaría el
traspaso al no recibir paquetes de RTCP durante varios intervalos
del RTCP. A fin de que el transmisor pueda detectar el traspaso tan
pronto como sea posible, el receptor debería enviar un paquete
temprano de retroalimentación si el AVPF está disponible. El AVPF
es un perfil extendido para la retroalimentación basada en el
RTCP.
Si el receptor envía los parámetros por RTSP,
podría enviar una nueva solicitud después del traspaso (con los
mismos parámetros, o valores actualizados). Esto ayudaría al
transmisor a detectar más rápidamente que el traspaso ha acabado si
no está disponible la retroalimentación del RTCP.
El traspaso, y su efecto sobre el nivel del
almacén temporal, se ilustran en la Figura 2. En este ejemplo,
durante el traspaso, el nivel del almacén temporal disminuyó, pero
no hubo infrallenado. Después del traspaso, el transmisor
reconstruirá por sí mismo el valor objetivo inicial
\alpha_objetivo. Sin embargo, como el almacén temporal
casi se vació durante el traspaso, el receptor podría escoger
señalizar un valor objetivo mayor una vez que el traspaso ha
acabado. Esto puede ser porque el primer traspaso es más prolongado
de lo que el receptor esperaba inicialmente, y quiere asegurarse de
que puede brindar soporte a traspasos más prolongados en el futuro.
La señalización del nuevo valor objetivo, y su efecto sobre las
curvas, se muestran en la figura.
\vskip1.000000\baselineskip
Debido a la deriva del reloj entre el transmisor
y el receptor, o a otras razones cualesquiera (tales como un lento
sistema operativo de la plataforma del cliente), el transmisor puede
parecer demasiado lento o demasiado veloz para el receptor. La
deriva puede corregirse enviando nuevos parámetros de
desplazamiento.
Por ejemplo, en el caso de un receptor lento, el
receptor podría solicitar periódicamente una reducción del valor de
desplazamiento mínimo.
\vskip1.000000\baselineskip
Una nueva cabecera del RTSP puede definirse como
"Parámetros-Desplazamiento-3GPP".
Esta cabecera puede utilizarse en solicitudes del cliente para
señalizar los parámetros de desplazamiento solicitados por el
cliente.
Si la solicitud se aplica al URL (localizador
uniforme de recursos) del RTSP del nivel de sesión, el
desplazamiento debería aplicarse a todos los medios en la sesión.
Si la solicitud se aplica a un URL del RTSP del nivel de medio, el
desplazamiento debería aplicarse sólo a este medio. El transmisor
también utiliza los
"Parámetros-Desplazamiento-3GPP"
en su respuesta. Los parámetros pueden ser los parámetros
solicitados por el cliente. Sin embargo, el transmisor puede
devolver parámetros que sólo están lo más cerca posible de los
parámetros solicitados (debido a la capacidad limitada del
transmisor).
Esta nueva cabecera puede enviarse con cualquier
procedimiento del RTSP.
\newpage
La ABNF (Forma Normal de Backus Aumentada) para
esta cabecera del RTP se muestra a continuación:
La primera vez el cliente envía todos los
parámetros. En las siguientes solicitudes, el cliente puede enviar
sólo el parámetro, o parámetros, que solicita cambiar.
Si el cambio es aceptable, el servidor no
necesita enviar la cabecera si todos los parámetros han sido fijados
según lo solicitado por el receptor.
Si una nueva solicitud es recibida por el
servidor antes de que se complete la solicitud anterior, el servidor
debería cumplimentar la solicitud más reciente.
El transmisor también puede señalizar al
receptor, al comienzo de la sesión, los parámetros que el transmisor
prefiere utilizar. El receptor toma estos parámetros en cuenta al
escoger qué valores solicitar de los parámetros.
Aunque el procedimiento preferido para señalizar
los parámetros es con el RTSP, podría emplearse un protocolo de
transporte no fiable tal como el RTCP.
La Figura 3 es un diagrama en bloques que
ilustra un sistema 1 de flujo multimedia en una red de flujos según
la presente invención, en el cual se proporcionan medios para
señalizar parámetros que determinan la gama operativa de adaptación
de tasa de transmisiones para un elemento de red o servidor 10 de
flujos, según lo negociado entre un terminal o cliente 60 de flujos
con el servidor 10 de flujos.
El servidor 10 de flujos comprende un motor 20
de señalización a nivel de aplicación, un controlador 30 de tasa de
transmisión y un almacén temporal 40 del servidor. El cliente 60 de
flujos comprende un motor 70 de señalización a nivel de aplicación,
correspondiente a, y adaptado para comunicarse con, el motor 20 de
señalización a nivel de aplicación en el servidor 10 de flujos.
Comprende adicionalmente un almacén temporal 80 del cliente que, en
la realización de la invención ilustrada en la Figura 3, comprende
un almacén temporal 82 de arritmia y un almacén temporal 84 previo
a la descodificación, integrados como una única unidad. En otras
realizaciones de la invención, el cliente 60 de flujos puede
incluir un almacén temporal de arritmia y un almacén temporal
previo a la descodificación, que se implementan por separado. El
cliente de flujos comprende adicionalmente un descodificador 90 de
medios, un almacén temporal 100 posterior al descodificador, un
controlador 110 de almacén temporal y un dispositivo 120 de
visualización/reproducción.
Se muestra adicionalmente que el sistema
ilustrado en la Figura 3 comprende un "almacén temporal de
canal" 50 situado entre el servidor 10 de flujos y el cliente 60
de flujos, que representa el retardo variable de transferencia que
tiene lugar durante la transmisión de paquetes de datos desde el
servidor de flujos al cliente.
En el cliente 60 de flujos, los datos de medios
se reciben desde el canal de transmisión y se almacenan
temporalmente en el almacén temporal 80 del cliente. Los parámetros
del almacén temporal 84 previo al descodificador y el almacén
temporal 82 de arritmia son fijados por el controlador 110 de
almacenamiento temporal. Los parámetros se escogen como una
conjunción de los parámetros de almacenamiento temporal previo al
descodificador, recomendados para el servidor, y del almacenamiento
temporal adicional requerido, según lo estimado por el cliente. El
cliente estima lo que se necesita para tolerar la variación esperada
del retardo de transferencia de paquetes (es decir, la arritmia)
por el canal de transmisión disponible. Tal conjunción está
restringida por las máximas capacidades de almacenamiento temporal
del cliente. El descodificador 90 de medios extrae datos de medios
del almacén temporal del cliente y descodifica los datos de medios
de una manera adecuada para el tipo de medio en cuestión. Debería
apreciarse que los datos de medios, en general, comprenderán un
cierto número de distintos tipos de medios. Por ejemplo, si los
datos de medios transmitidos desde el servidor representan una
secuencia de vídeo, es probable que comprendan al menos un
componente de audio, además de los datos de vídeo. Por lo tanto,
debería comprenderse que el descodificador 90 de medios, según se
ilustra en la Figura 3, puede comprender efectivamente más de un
descodificador, por ejemplo, un descodificador de vídeo implementado
según un estándar específico de codificación de vídeo y un
descodificador de audio asociado. Según los datos de medios son
descodificados por el descodificador 90 de medios, se emiten al
almacén temporal 100 posterior al descodificador, donde se
almacenan temporalmente hasta su hora de reproducción programada,
tiempo en el cual se pasan desde el almacén temporal posterior al
descodificador al dispositivo 120 de visualización/reproducción,
bajo el control del controlador 110 de almacenamiento temporal.
Según la invención, el controlador 110 de
almacenamiento temporal está adaptado para proporcionar una
indicación del desplazamiento mínimo, el desplazamiento objetivo y
el número máximo de octetos de envío por adelantado al motor 70 de
señalización a nivel de aplicación. Estos parámetros están
determinados por un programa 116 de software, por ejemplo, sobre la
base de las limitaciones de almacenamiento temporal del cliente, la
programación de descodificación/reproducción, etc. El motor de
señalización a nivel de aplicación, a su vez, está adaptado para
transmitir una señal 300 que indica esos parámetros de adaptación de
tasa de transmisiones de gama operativa al servidor 10 de flujos.
Los parámetros se transmiten desde el cliente al servidor utilizando
el Protocolo de Flujo en Tiempo Real (RTSP), por ejemplo. La
cabecera del RTSP puede definirse como
"Parámetros-Desplazamiento-3GPP",
por ejemplo.
En la sede del servidor, el controlador 30 de
tasa de transmisión del servidor está disponible para adaptar la
tasa de transmisión de transmisión a la tasa de transmisión de
recepción, y para adaptar la tasa de transmisión de muestreo a la
tasa de transmisión, gestionando a la vez el desplazamiento y
manteniéndolo dentro de la gama de adaptación de tasa de
transmisiones. El servidor también tiene un reloj 32 de transmisión
para poner sellos temporales a los paquetes a transmitir al
cliente. El servidor, utilizando un programa 36 de software,
funciona ajustando la tasa de transmisión de datos transmitidos de
acuerdo a los parámetros recomendados por el cliente, variando la
tasa de transmisión de bits en el canal de transmisión, y teniendo
en cuenta los parámetros de desplazamiento recomendados del
cliente, buscando por ello evitar pausas en la reproducción en el
cliente, debidas al infrallenado del almacén temporal previo al
descodificador, o la pérdida de paquetes en el cliente debido al
desborde del almacén temporal.
El almacén temporal 40 del servidor almacena
paquetes de datos temporalmente, antes de que se transmitan desde
el servidor de flujos, por el canal de transmisión, hasta el cliente
60 de flujos. En un escenario de flujos "en vivo", donde los
paquetes de datos se muestrean en tiempo real, el almacén temporal
del servidor es efectivamente un almacén temporal físico donde se
colocan los paquetes de datos en tiempo de muestreo, y se extraen en
tiempo de transmisión. En un escenario de flujos
"precodificados", donde los paquetes de datos no se muestrean
en tiempo real, sino que se almacenan en un fichero precodificado y
se leen del fichero en tiempo de transmisión, el almacén temporal
del servidor es un almacén temporal virtual que representa la
diferencia entre la hora de muestreo (con referencia a un reloj de
muestreo iniciado en el servidor de flujos cuando se transmite el
primer paquete de datos del fichero precodificado) y la hora de
transmisión de los paquetes de datos.
El servidor también puede utilizar el motor 20
de señalización a nivel de aplicación para enviar al receptor, al
comienzo de la sesión, una señal 300 que indica los parámetros que
el servidor quiere utilizar. Teniendo en cuenta los parámetros
indicados por la señal 300, el receptor escoge los parámetros de la
gama operativa de adaptación de tasa de transmisiones del servidor.
Sobre la base de la capacidad del servidor, el servidor puede
utilizar la señal 300 para responder a la solicitud del cliente,
devolviendo los parámetros que el servidor puede utilizar para la
adaptación de tasa de transmisiones.
\vskip1.000000\baselineskip
Los procedimientos de la tecnología anterior
(cabeceras del RTSP y conmutación de la tasa de transmisión de
bits) tienen muchas limitaciones. Una de las limitaciones es que la
cabecera de TASA DE TRANSMISIÓN puede enviarse sólo en una
solicitud de REPRODUCCIÓN del RTSP.
- -
- La REPRODUCCIÓN no fue concebida para ser manipulada para el control del almacén temporal, sino más bien para traducir las solicitudes del usuario desde el cliente al servidor.
- -
- No puede esperarse que la respuesta a una nueva REPRODUCCIÓN con solicitud de Gama esté sincronizada con la posición efectiva de reproducción en el tiempo en que el servidor recibe la solicitud (es decir, es posible saltear o reenviar los datos).
- -
- La modificación de la tasa de transmisión, según lo solicitado por el cliente mediante la cabecera TASA DE TRANSMISIÓN del RTSP, a menudo puede no ser posible en absoluto, ya que la tasa de transmisión necesita adaptarse a la tasa de transmisión de bits disponible.
- -
- Funciona en el dominio de la tasa de transmisión de bits, que puede no ser directamente adaptada por el receptor al dominio temporal (es decir, la cantidad de tiempo que llevará al receptor reproducir nuevamente una cantidad dada de datos). Esto es debido a que la curva de muestreo, habitualmente, no es una línea recta.
- -
- Podría no haber una tasa de transmisión del flujo de bits que se adapte a la tasa de transmisión de bits en red.
- -
- El cliente no sabe cuánto en la disminución, o en el aumento, del nivel del almacén temporal del receptor, se debe a la variación de la tasa de transmisión de bits dentro del flujo de bits dado, o se debe a la acumulación de diferencias entre la tasa de transmisión media del flujo de datos y la tasa de transmisión.
- -
- Se producen conflictos entre las decisiones de modelación de curvas de muestreo en el transmisor y en el receptor, debido a que no hay separación de las tareas del servidor y del cliente. Esto debe contrastarse con la señalización del desplazamiento temporal, por lo cual hay una clara división de las responsabilidades del transmisor y del receptor. El receptor sólo modifica las restricciones en las curvas, mientras que el transmisor efectúa la modelación efectiva de las curvas a fin de satisfacer las restricciones.
La presente invención tiene las siguientes
ventajas:
- -
- El planteo se hace funcionar de una manera más proactiva. La idea es permitir que el servidor gestione el control de tasa de transmisión de una manera menos restrictiva y más flexible, solicitando el cliente una gama operativa antes que un punto operativo estricto.
- -
- La gama operativa solicitada de adaptación de tasa de transmisiones del servidor está ahora definida claramente y sin ambigüedad, simplificando una implementación de servidor conforme a la invención.
- -
- El sobregasto de señalización del planteo se reduce disminuyendo la frecuencia y tasa de transmisión requeridas (es decir, sincronizadas con el RTP) de la señalización del cliente al servidor.
- -
- La fiabilidad del transporte y el correcto encauzamiento de los mensajes de solicitud de la gama operativa de adaptación de tasa de transmisiones del cliente al servidor pueden resolverse mediante el empleo de la señalización del RTSP. Esto está en la misma línea (es decir, ya no contradice) que el requisito rebajado sobre la tasa de transmisión y la frecuencia de la señalización.
En resumen, la presente invención proporciona un
procedimiento y sistema para controlar de manera adaptable el nivel
de un almacén temporal receptor en un terminal o cliente en una red
de flujo multimedia. La red de flujo multimedia tiene un elemento o
servidor de red para proporcionar datos de flujos al cliente. El
servidor es responsable de adaptar la tasa de transmisión a la tasa
de transmisión de recepción o al control de congestión, y de
adaptar la tasa de transmisión de muestreo a la tasa de transmisión.
Así, el servidor gestiona el desplazamiento y lo mantiene dentro de
la gama operativa de adaptación de tasa de transmisiónes. El cliente
es responsable de compensar la variación del retardo de
transferencia de paquetes, que también se conoce como arritmia de
red. El cliente también es responsable de establecer parámetros de
la gama operativa de adaptación de tasa de transmisiones del
servidor. El cliente escoge y envía los parámetros de desplazamiento
al servidor, pero queda al criterio del servidor adaptar su tasa de
transmisión de codificación o su tasa de transmisión al responder a
los parámetros.
Aunque la invención ha sido descrita con
respecto a una o más realizaciones de la misma, aquellos versados
en la tecnología entenderán que lo precedente, y otros diversos
cambios, omisiones y desviaciones en la forma y detalle de la
misma, pueden efectuarse sin apartarse del alcance de la presente
invención.
Claims (22)
1. Un procedimiento que comprende:
- definir, en un cliente en una red de flujos multimedia, al menos un parámetro para determinar una gama operativa de adaptación de tasa de transmisión, en el cual la red de flujos comprende un servidor configurado para proporcionar datos de flujos al cliente, teniendo el cliente un almacén temporal receptor configurado para compensar la diferencia entre la magnitud de la transmisión de datos por parte del servidor y la magnitud del empleo de datos por parte del cliente, a fin de permitir que el cliente tenga una cantidad suficiente de datos de flujos para reproducir de manera libre de perturbaciones, y en el cual el parámetro, o parámetros, se usa(n) para la adaptación de tasa de transmisión entre el servidor y el cliente,
- proporcionar al servidor información que indique al menos dicho(s) parámetro(s);
- adaptar en el servidor la cantidad de datos a una tasa de transmisión de recepción, sobre la base de dicho(s) parámetro(s), y
- ajustar en el cliente la variación del retardo de transferencia de paquetes sobre la base de dicha adaptación, caracterizado porque dicho(s) parámetro(s) comprende(n)
- una magnitud de desplazamiento mínimo, que indica una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- una magnitud de desplazamiento objetivo, que indica una magnitud de desplazamiento mayor que una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- un número que especifica una diferencia máxima entre el número de octetos que han sido enviados y el número de octetos que han sido muestreados,
- a fin de permitir que el servidor adapte una tasa de transmisión de muestreo a la tasa de transmisión en el servidor, sobre la base de dicho(s) parámetro(s).
2. Un procedimiento según la reivindicación 1,
en el cual dicho(s) parámetro(s) comprende(n)
una magnitud de desplazamiento temporal para impedir la
perturbación de la reproducción en el cliente.
3. Un procedimiento según cualquiera de las
reivindicaciones 1 a 2, en el cual dicha adaptación comprende un
ajuste de una tasa de transmisión.
4. Un procedimiento según cualquiera de las
reivindicaciones 1 a 3, en el cual dicha adaptación comprende un
ajuste de una tasa de transmisión de muestreo.
5. Un procedimiento según cualquiera de las
reivindicaciones 1 a 4, en el cual dicha adaptación comprende un
ajuste tanto de una tasa de transmisión como de una tasa de
transmisión de muestreo.
6. Un procedimiento según la reivindicación 1,
en el cual dicho(s) parámetro(s)
comprende(n):
- una magnitud de desplazamiento temporal, y en el cual dos o más valores, entre la magnitud de desplazamiento mínimo, la magnitud de desplazamiento objetivo, el número especificador y la señal de reloj, se envían juntos al servidor.
7. Una red de flujos multimedia que
comprende:
- al menos un cliente; y
- un servidor para proporcionar datos de flujos al cliente, teniendo el cliente un almacén temporal receptor para compensar la diferencia entre la magnitud de la transmisión de datos por parte del servidor y la magnitud del empleo de datos por parte del cliente, a fin de permitir que el cliente tenga una cantidad suficiente de datos de flujos para reproducir de manera libre de perturbaciones, en la que el cliente comprende:
- un mecanismo para definir al menos un parámetro para determinar una gama operativa de adaptación de tasa de transmisiones, y para proporcionar información indicativa de dicho(s) parámetro(s) al servidor, a fin de permitir que el servidor adapte la magnitud de datos a una tasa de transmisión de recepción, sobre la base de dicho(s) parámetro(s); y
- un mecanismo para ajustar una variación del retardo de transferencia de paquetes sobre la base de dicha adaptación, caracterizado porque dicho(s) parámetro(s) comprende(n)
- una magnitud de desplazamiento mínimo que indica una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor; o bien
- una magnitud de desplazamiento objetivo que indica una magnitud de desplazamiento mayor que una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- un número que especifica una diferencia máxima entre el número de octetos que han sido enviados y el número de octetos que han sido muestreados,
- a fin de permitir que el servidor adapte una tasa de transmisión de muestreo a la tasa de transmisión en el servidor, sobre la base de dicho(s) parámetro(s).
8. Una red de flujos multimedia según la
reivindicación 7, en la cual dicho(s) parámetro(s)
comprende(n) una magnitud de desplazamiento temporal para
impedir la perturbación de la reproducción en el cliente.
9. Una red de flujos multimedia según cualquiera
de las reivindicaciones 7 a 8, en la cual el servidor comprende un
mecanismo de adaptación para ajustar una tasa de transmisión.
10. Una red de flujos multimedia según
cualquiera de las reivindicaciones 7 a 9, en la cual el servidor
comprende un mecanismo de adaptación para ajustar una tasa de
transmisión de muestreo.
11. Una red de flujos multimedia según
cualquiera de las reivindicaciones 7 a 10, en la cual el servidor
comprende un mecanismo de adaptación para ajustar tanto una tasa de
transmisión como una tasa de transmisión de muestreo.
12. Una red de flujo multimedia según cualquiera
de las reivindicaciones 7 a 11, en la cual el servidor comprende un
programa de software con al menos un código para llevar a cabo dicha
adaptación.
13. Un medio legible por ordenador integrado con
un programa de software, que comprende:
- un código de programación para definir, en un cliente de una red de flujos multimedia, al menos un parámetro, a fin de determinar una gama operativa de adaptación de tasa de transmisiones, en el cual la red de flujos comprende un servidor configurado para proporcionar datos de flujos al cliente, teniendo el cliente un almacén temporal receptor configurado para compensar la diferencia entre la magnitud de la transmisión de datos por parte del servidor y la magnitud del empleo de datos por parte del cliente, a fin de permitir que el cliente tenga una cantidad suficiente de datos de flujos para reproducir de manera libre de perturbaciones, en el que la información indicativa de dicho(s) parámetro(s) se proporciona al servidor a fin de permitir llevar a cabo la adaptación de tasa de transmisión entre el servidor y el cliente, en base de dicho(s) parámetro(s); y
- un código de programación para ajustar una variación del retardo de transferencia de paquetes en el cliente para la adaptación de tasa de transmisiones, caracterizado porque dicho(s) parámetro(s) comprende(n)
- una magnitud de desplazamiento mínimo que indica una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- una magnitud de desplazamiento objetivo, que indica una magnitud de desplazamiento mayor que una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- un número que especifica una diferencia máxima entre el número de octetos que han sido enviados y el número de octetos que han sido muestreados,
- a fin de permitir que el servidor adapte una tasa de transmisión de muestreo a la tasa de transmisión en el servidor, en base de dicho(s) parámetro(s).
14. El medio legible por ordenador según la
reivindicación 13, en el cual dicho(s) parámetro(s)
comprende(n) una magnitud de desplazamiento temporal para
impedir la perturbación de la reproducción en el cliente.
15. Un dispositivo que comprende:
- un almacén temporal para datos de flujos proporcionados por un servidor en una red de flujos multimedia, configurado para compensar la diferencia entre la magnitud de la transmisión de datos por parte de un servidor y la magnitud del empleo de datos en el dispositivo, de forma tal que una cantidad suficiente de datos de flujos pueda reproducirse de una manera libre de perturbaciones;
- un mecanismo para definir al menos un parámetro que determine una gama operativa de adaptación de tasa de transmisiones en el servidor, a fin de permitir que el servidor adapte la magnitud de transmisión de datos a una tasa de transmisión de recepción, sobre la base de dicho(s) parámetro(s); y por
- un mecanismo para ajustar una variación del retardo de transferencia de paquetes sobre la base de dicha adaptación, caracterizado porque dicho(s) parámetro(s) comprende(n)
- una magnitud de desplazamiento mínimo que indica una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- una magnitud de desplazamiento objetivo, que indica una magnitud de desplazamiento mayor que una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- un número que especifica una diferencia máxima entre el número de octetos que han sido enviados y el número de octetos que han sido muestreados,
- a fin de permitir que el servidor adapte una tasa de transmisión de muestreo a la tasa de transmisión en el servidor, en base de dicho(s) parámetro(s).
16. El dispositivo según la reivindicación 15,
en el cual dicho mecanismo de definición comprende un programa de
software con al menos un código para definir dicho(s)
parámetro(s).
17. El dispositivo según la reivindicación 15 o
16, en el cual dicho mecanismo de ajuste comprende un programa de
software con al menos un código para ajustar la variación del
retardo de transferencia de paquetes.
18. Un elemento de red en una red de flujo
multimedia, comprendiendo dicho elemento de red:
- medios para recibir una solicitud de un cliente, con un almacén temporal para datos de flujos proporcionado por el elemento de red, para compensar una diferencia entre la magnitud de la transmisión de datos por parte del elemento de red y la magnitud del empleo de datos por parte del cliente, a fin de que el cliente tenga una cantidad suficiente de datos de flujos para reproducir de manera libre de perturbaciones, indicando la solicitud al menos un parámetro que determina una gama operativa de adaptación de tasa de transmisiones en el elemento de red; y
- un mecanismo para adaptar, en base de dicho(s) parámetro(s), la magnitud de transmisión de datos a una tasa de transmisión de recepción por parte del terminal, a fin de permitir que el terminal ajuste una variación del retardo de transferencia de paquetes en base de dicha adaptación, caracterizado porque dicho(s) parámetro(s) comprende(n)
- una magnitud de desplazamiento mínimo que indica una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- una magnitud de desplazamiento objetivo que indica una magnitud de desplazamiento mayor que una diferencia entre el tiempo de muestreo y el tiempo de transmisión de un paquete en el servidor, o bien
- un número que especifica una diferencia máxima entre el número de octetos que han sido enviados y el número de octetos que han sido muestreados,
- a fin de permitir que el servidor adapte una tasa de transmisión de muestreo a la tasa de transmisión en el servidor, en base de dicho(s) parámetro(s).
19. Un elemento de red según la reivindicación
18, en el cual dicho mecanismo de adaptación comprende un programa
de software con al menos un código para adaptar la magnitud de
transmisión de datos.
20. Un elemento de red según la reivindicación
18, en el cual el programa de software comprende un código para
ajustar la tasa de transmisión.
21. Un elemento de red según la reivindicación
19 o 20, en el cual el programa de software comprende un código
para ajustar una tasa de transmisión de muestreo.
22. Un elemento de red según cualquiera de las
reivindicaciones 19 a 21, en el cual el programa de software
comprende un código para ajustar tanto una tasa de transmisión como
una tasa de transmisión de muestreo.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US46512003P | 2003-04-24 | 2003-04-24 | |
| US465120P | 2003-04-24 | ||
| US10/826,687 US7844727B2 (en) | 2003-04-24 | 2004-04-16 | Method and device for proactive rate adaptation signaling |
| US826687 | 2004-04-16 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2332315T3 true ES2332315T3 (es) | 2010-02-02 |
Family
ID=33423544
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES04729160T Expired - Lifetime ES2332315T3 (es) | 2003-04-24 | 2004-04-23 | Procedimiento y dispositivo para la señalizacion proactiva de la adaptacion de tasa de transmision. |
Country Status (13)
| Country | Link |
|---|---|
| US (1) | US7844727B2 (es) |
| EP (1) | EP1616267B1 (es) |
| JP (1) | JP4347883B2 (es) |
| KR (1) | KR20060011964A (es) |
| AT (1) | ATE446631T1 (es) |
| DE (1) | DE602004023710D1 (es) |
| DK (1) | DK1616267T3 (es) |
| ES (1) | ES2332315T3 (es) |
| MX (1) | MXPA05011247A (es) |
| MY (1) | MY140711A (es) |
| RU (1) | RU2367011C2 (es) |
| TW (1) | TWI266201B (es) |
| WO (1) | WO2004097660A1 (es) |
Families Citing this family (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1593046A2 (en) * | 2003-02-13 | 2005-11-09 | Nokia Corporation | Rate adaptation method and device in multimedia streaming |
| FR2857198B1 (fr) * | 2003-07-03 | 2005-08-26 | Canon Kk | Optimisation de qualite de service dans la distribution de flux de donnees numeriques |
| JP4183586B2 (ja) * | 2003-09-12 | 2008-11-19 | 三洋電機株式会社 | 映像表示装置 |
| US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
| US8868772B2 (en) * | 2004-04-30 | 2014-10-21 | Echostar Technologies L.L.C. | Apparatus, system, and method for adaptive-rate shifting of streaming content |
| US7571246B2 (en) * | 2004-07-29 | 2009-08-04 | Microsoft Corporation | Media transrating over a bandwidth-limited network |
| US7543073B2 (en) * | 2004-12-10 | 2009-06-02 | Microsoft Corporation | System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate |
| US20060143678A1 (en) * | 2004-12-10 | 2006-06-29 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model |
| US7536469B2 (en) * | 2004-12-10 | 2009-05-19 | Microsoft Corporation | System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates |
| KR20060065482A (ko) * | 2004-12-10 | 2006-06-14 | 마이크로소프트 코포레이션 | 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스 |
| TWI401918B (zh) * | 2005-02-03 | 2013-07-11 | Nokia Corp | 傳送指示接收器緩衝架構之緩衝參數信號的通訊方法 |
| US20060184697A1 (en) * | 2005-02-11 | 2006-08-17 | Microsoft Corporation | Detecting clock drift in networked devices through monitoring client buffer fullness |
| 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 |
| JP4274149B2 (ja) * | 2005-05-19 | 2009-06-03 | ソニー株式会社 | コンテンツ再生装置及びコンテンツ再生方法 |
| US7743183B2 (en) | 2005-05-23 | 2010-06-22 | Microsoft Corporation | Flow control for media streaming |
| US8214516B2 (en) * | 2006-01-06 | 2012-07-03 | Google Inc. | Dynamic media serving infrastructure |
| US7962637B2 (en) * | 2006-11-03 | 2011-06-14 | Apple Computer, Inc. | Dynamic adjustments of video streams |
| KR100899659B1 (ko) * | 2006-12-01 | 2009-05-27 | 한국전자통신연구원 | 패킷 스케줄러 및 패킷 스케줄링 방법 |
| RU2380839C2 (ru) * | 2007-03-21 | 2010-01-27 | Общество с ограниченной ответственностью "Линкстрим" | Способ адаптивного управления передачей потоковых медиаданных |
| FR2923118B1 (fr) * | 2007-10-30 | 2016-04-01 | Canon Kk | Procede, dispositif et programme d'ordinateur pour la gestion de la quantite de donnees emises par un dispositif d'emission |
| US8370622B1 (en) * | 2007-12-31 | 2013-02-05 | Rockstar Consortium Us Lp | Method and apparatus for increasing the output of a cryptographic system |
| US8305899B2 (en) * | 2008-05-28 | 2012-11-06 | Microsoft Corporation | Pull-based data transmission approach |
| KR20110045086A (ko) * | 2008-08-28 | 2011-05-03 | 쿄세라 코포레이션 | 무선 단말 및 통신 단말 |
| CA2759880C (en) * | 2009-03-23 | 2013-09-24 | Azuki Systems, Inc. | Method and system for efficient streaming video dynamic rate adaptation |
| KR20110065100A (ko) * | 2009-12-09 | 2011-06-15 | 삼성전자주식회사 | 멀티미디어 스트리밍 서비스를 지원하는 방법 및 장치 |
| WO2011102791A1 (en) * | 2010-02-19 | 2011-08-25 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for representation switching in http streaming |
| US9439100B2 (en) * | 2012-06-27 | 2016-09-06 | Aruba Networks, Inc. | System and method for dynamic rate adaptation based on real-time call quality metrics |
| US9131251B2 (en) * | 2012-09-20 | 2015-09-08 | Google Technology Holdings LLC | Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server |
| US9462021B2 (en) | 2012-09-24 | 2016-10-04 | Google Technology Holdings LLC | Methods and devices for efficient adaptive bitrate streaming |
| US9544344B2 (en) * | 2012-11-20 | 2017-01-10 | Google Technology Holdings LLC | Method and apparatus for streaming media content to client devices |
| US9137285B2 (en) * | 2013-10-21 | 2015-09-15 | Broadcom Corporation | Adaptive audio video (AV) stream processing |
| WO2017063189A1 (en) * | 2015-10-16 | 2017-04-20 | Qualcomm Incorporated | Deadline signaling for streaming of media data |
| KR102532645B1 (ko) * | 2016-09-20 | 2023-05-15 | 삼성전자 주식회사 | 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치 |
| US10741143B2 (en) * | 2017-11-28 | 2020-08-11 | Nvidia Corporation | Dynamic jitter and latency-tolerant rendering |
| US10691082B2 (en) * | 2017-12-05 | 2020-06-23 | Cisco Technology, Inc. | Dynamically adjusting sample rates based on performance of a machine-learning based model for performing a network assurance function in a network assurance system |
| US11350268B2 (en) * | 2018-05-18 | 2022-05-31 | Qualcomm Incorporated | End-to-end rate adaptation using RAN assisted rate adaptation |
| CN111246284B (zh) * | 2020-03-09 | 2021-05-25 | 深圳创维-Rgb电子有限公司 | 视频流播放方法、系统、终端及存储介质 |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5543853A (en) | 1995-01-19 | 1996-08-06 | At&T Corp. | Encoder/decoder buffer control for variable bit-rate channel |
| KR0176806B1 (ko) * | 1995-12-29 | 1999-05-01 | 구자홍 | 텔레비젼의 2화면 구성장치 |
| CA2243359A1 (en) * | 1996-01-31 | 1997-08-07 | Ipsilon Networks, Inc. | Improved method and apparatus for dynamically shifting between routing and switching packets in a transmission network |
| EP0810808B1 (en) * | 1996-05-29 | 2009-08-12 | Nippon Telegraph And Telephone Corporation | ATM cell transport equipment |
| US6175856B1 (en) * | 1996-09-30 | 2001-01-16 | Apple Computer, Inc. | Method and apparatus for dynamic selection of compression processing during teleconference call initiation |
| EP0847171A1 (en) | 1996-11-27 | 1998-06-10 | Sony Europa B.V. | Method and device for streaming data, including provision of write addresses |
| US6292834B1 (en) * | 1997-03-14 | 2001-09-18 | Microsoft Corporation | Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network |
| US5903673A (en) * | 1997-03-14 | 1999-05-11 | Microsoft Corporation | Digital video signal encoder and encoding method |
| US6157614A (en) * | 1997-10-22 | 2000-12-05 | Netro Corporation | Wireless ATM network with high quality of service scheduling |
| JP3734946B2 (ja) | 1997-12-15 | 2006-01-11 | 松下電器産業株式会社 | データ送出装置、データ受信装置及びデータ伝送装置 |
| JP3589851B2 (ja) * | 1998-02-20 | 2004-11-17 | 株式会社日立製作所 | パケット通信システム及びパケット通信装置 |
| US6643259B1 (en) | 1999-11-12 | 2003-11-04 | 3Com Corporation | Method for optimizing data transfer in a data network |
| US6700893B1 (en) | 1999-11-15 | 2004-03-02 | Koninklijke Philips Electronics N.V. | System and method for controlling the delay budget of a decoder buffer in a streaming data receiver |
| EP1182875A3 (en) * | 2000-07-06 | 2003-11-26 | Matsushita Electric Industrial Co., Ltd. | Streaming method and corresponding system |
| BR0112885A (pt) * | 2000-08-01 | 2003-07-01 | Unilever Nv | Processo para a produção de tecido ou fio têxtil tratado, e, produto de tratamento |
| US7346698B2 (en) | 2000-12-20 | 2008-03-18 | G. W. Hannaway & Associates | Webcasting method and system for time-based synchronization of multiple, independent media streams |
| DE10102154C2 (de) * | 2001-01-18 | 2003-02-13 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erzeugen eines skalierbaren Datenstroms und Verfahren und Vorrichtung zum Decodieren eines skalierbaren Datenstroms unter Berücksichtigung einer Bitsparkassenfunktion |
| KR100420601B1 (ko) | 2001-11-22 | 2004-03-02 | 에스케이 텔레콤주식회사 | 비디오 데이터 스트리밍 서비스 방법 |
| JP2003158543A (ja) * | 2001-11-22 | 2003-05-30 | Anritsu Corp | 中継装置及び中継方法 |
| EP1359722A1 (en) * | 2002-03-27 | 2003-11-05 | BRITISH TELECOMMUNICATIONS public limited company | Data streaming system and method |
| US7305483B2 (en) * | 2002-04-25 | 2007-12-04 | Yahoo! Inc. | Method for the real-time distribution of streaming data on a network |
| US7133925B2 (en) * | 2002-07-15 | 2006-11-07 | Hewlett-Packard Development Company, L.P. | System, method, and format thereof for scalable encoded media delivery |
| US20040057446A1 (en) * | 2002-07-16 | 2004-03-25 | Nokia Corporation | Method for enabling packet transfer delay compensation in multimedia streaming |
| SG111978A1 (en) * | 2002-11-20 | 2005-06-29 | Victor Company Of Japan | An mpeg-4 live unicast video streaming system in wireless network with end-to-end bitrate-based congestion control |
| US6968387B2 (en) * | 2003-01-10 | 2005-11-22 | Realnetworks, Inc. | Stochastic adaptive streaming of content |
-
2004
- 2004-04-16 US US10/826,687 patent/US7844727B2/en active Active
- 2004-04-21 TW TW093111047A patent/TWI266201B/zh not_active IP Right Cessation
- 2004-04-23 WO PCT/IB2004/001243 patent/WO2004097660A1/en active Application Filing
- 2004-04-23 ES ES04729160T patent/ES2332315T3/es not_active Expired - Lifetime
- 2004-04-23 DE DE602004023710T patent/DE602004023710D1/de not_active Expired - Lifetime
- 2004-04-23 DK DK04729160T patent/DK1616267T3/da active
- 2004-04-23 AT AT04729160T patent/ATE446631T1/de not_active IP Right Cessation
- 2004-04-23 KR KR1020057020082A patent/KR20060011964A/ko not_active Ceased
- 2004-04-23 MY MYPI20041504A patent/MY140711A/en unknown
- 2004-04-23 EP EP04729160A patent/EP1616267B1/en not_active Expired - Lifetime
- 2004-04-23 MX MXPA05011247A patent/MXPA05011247A/es active IP Right Grant
- 2004-04-23 RU RU2005136435/09A patent/RU2367011C2/ru active
- 2004-04-23 JP JP2006506514A patent/JP4347883B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20040267956A1 (en) | 2004-12-30 |
| TW200508883A (en) | 2005-03-01 |
| US7844727B2 (en) | 2010-11-30 |
| TWI266201B (en) | 2006-11-11 |
| RU2367011C2 (ru) | 2009-09-10 |
| RU2005136435A (ru) | 2006-06-10 |
| MXPA05011247A (es) | 2005-12-14 |
| ATE446631T1 (de) | 2009-11-15 |
| EP1616267A1 (en) | 2006-01-18 |
| DE602004023710D1 (de) | 2009-12-03 |
| MY140711A (en) | 2010-01-15 |
| KR20060011964A (ko) | 2006-02-06 |
| JP2006524452A (ja) | 2006-10-26 |
| DK1616267T3 (da) | 2010-01-04 |
| WO2004097660A1 (en) | 2004-11-11 |
| EP1616267A4 (en) | 2007-08-15 |
| EP1616267B1 (en) | 2009-10-21 |
| JP4347883B2 (ja) | 2009-10-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2332315T3 (es) | Procedimiento y dispositivo para la señalizacion proactiva de la adaptacion de tasa de transmision. | |
| US7558869B2 (en) | Rate adaptation method and device in multimedia streaming | |
| EP1606717B1 (en) | Method and device for multimedia streaming | |
| US8306058B2 (en) | Communication system and techniques for transmission from source to destination | |
| ES2325317T3 (es) | Metodo y dispositivos para controlar las retransmisiones en el flujo de datos. | |
| CN1625880B (zh) | 在具有可变带宽的网络上流式传输多媒体数据 | |
| JP4623616B2 (ja) | データ伝送方法および装置 | |
| EP1397899B1 (en) | Real-time packetization and retransmission in streaming applications | |
| US11949512B2 (en) | Retransmission of data in packet networks | |
| US20050201485A1 (en) | Transmission method using a virtual reception buffer to absorb fluctuation of the channel transmission rate | |
| US20110058554A1 (en) | Method and system for improving the quality of real-time data streaming | |
| US20050152397A1 (en) | Communication system and techniques for transmission from source to destination | |
| WO2003032643A2 (en) | Video data transmission method and apparatus | |
| US9641907B2 (en) | Image transmission system with finite retransmission and method thereof | |
| ZA200508487B (en) | Method and device for proactive rate adaptation signaling | |
| EP3410618A1 (en) | Received path delay mechanism |