ES2233603T3 - Dispositivo de recepcion de paquetes de datos. - Google Patents
Dispositivo de recepcion de paquetes de datos.Info
- Publication number
- ES2233603T3 ES2233603T3 ES01903848T ES01903848T ES2233603T3 ES 2233603 T3 ES2233603 T3 ES 2233603T3 ES 01903848 T ES01903848 T ES 01903848T ES 01903848 T ES01903848 T ES 01903848T ES 2233603 T3 ES2233603 T3 ES 2233603T3
- Authority
- ES
- Spain
- Prior art keywords
- samples
- transfer
- signal
- packages
- package
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6472—Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6481—Speech, voice
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6489—Buffer Management, Threshold setting, Scheduling, Shaping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Seal Device For Vehicle (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
Dispositivo de recepción de paquetes de datos, cada uno de los cuales contiene información de codificación de una señal en tiempo real y un encabezamiento que comporta una información de fecha del paquete en relación con el reloj de muestreo de la señal, que comprende: - medios de memorización de muestras (11): - medios de tratamiento de los paquetes (8) para registrar, en los medios de memorización, una fila de espera de muestras de señal obtenidas a partir de los paquetes recibidos de manera asíncrona, estando ordenadas las muestras de la fila de espera conforme a las informaciones de fechado contenidas en los paquetes; - medios de transferencia de muestras (12) para formar, al ritmo de un reloj local, un flujo de muestras síncrono (U¿) que representa la señal en tiempo real, sucesivamente transferidas por bloques desde la fila de espera, caracterizado porque: - medios de regulación (10) para controlar los medios de transferencia, de manera que limitan las variaciones del número de muestras de la fila de espera, insertando o suprimiendo muestras en el flujo síncrono con respecto a los que se han leído en la fila de espera, en función de la evolución del número de muestras registradas por los medios de tratamiento de paquetes en las muestras de memorización en el curso de periodos definidos con respecto a dicho reloj local, siendo el número de muestras insertadas o suprimidas en la fila de espera en el curso de la transferencia de cada bloque sensiblemente más reducido que el número de muestras obtenidas a partir de un paquete.
Description
Dispositivo de recepción de paquetes de
datos.
La presente invención se refiere a las
transmisiones en forma de paquetes de señales en tiempo real.
Las señales en cuestión pueden ser en especial
señales fónicas. La transmisión numérica de una señal fónica
requiere un muestreo de una señal a nivel de un dispositivo de toma
de sonido o, más generalmente, a nivel de un emisor. En una
aplicación en tiempo real, por ejemplo, para telefonía, el reloj del
receptor está sincronizado con el del emisor, con la finalidad de
evitar los problemas de desviación temporal. Estas consideraciones
se aplican igualmente a otros tipos de señales en tiempo real, por
ejemplo, señales de vídeo.
Se han desarrollado protocolos que permiten
transmitir señales en tiempo real en redes de programas. En el caso
de las redes que funcionan según el protocolo IP ("Internet
Protocol"), se trata en especial del protocolo RTP ("Real Time
Protocol"), que funciona con el protocolo UDP ("User Datagram
Protocol") en capa de transporte.
Cada paquete RTP contiene un encabezamiento que
comporta un número de secuencia del paquete y una información de
fechado del paquete en relación con el reloj de muestreo de la
señal. Esta información facilita una fecha de una parte de señal
codificada en la parte útil del paquete, expresada en número de
ciclos del reloj de muestreo de la señal, o de otro reloj
sincronizado con éste. El número de secuencia permite reconstituir
la secuencia de los paquetes emitidos si no han sido recibidos en
orden y detectar paquetes faltantes. Si falta la recepción de uno o
varios paquetes consecutivos, la información de fechado permite
determinar el número de muestras de señal que faltan y, por lo
tanto, el número de muestras de substitución a insertar en el flujo
de señal en tiempo real reconstituido. La información de datación o
fecha puede ser utilizada para sincronizar el receptor.
La sincronización requiere habitualmente una
regulación de la frecuencia del reloj local del receptor, lo que
requiere circuitos que sería deseable poder evitar, particularmente
cuando el dispositivo que recibe los paquetes los retransmite de
manera sincronizada hacia otras unidades.
La Patente US-A-5
623 483 describe un receptor de paquetes que lleva una señal en
tiempo real, que puede eliminar o añadir periódicamente un paquete
con la finalidad de compensar desviaciones del reloj con respecto al
emisor. Una eliminación o inserción de este tipo de un paquete
provoca una degradación perceptible de la señal en tiempo real.
La solicitud de Patente
EP-A-0 743 773 describe un
decodificador de palabras que recibe tramos de señal codificada por
un método predictivo (CELP, "code excited linear prédiction")
con la finalidad de reducir el caudal de transmisión entre el
codificador y el decodificador. En función del número de tramos
acumulados en un tampón de recepción, el decodificador puede
modificar el tratamiento de la trama corriente con la finalidad de
compensar desviaciones de reloj con respecto al codificador. Esta
modificación puede consistir en suprimir o añadir subtramas CELP o
incluso muestras de la señal decodificada. Manipular de este modo la
señal en función del número de tramas llegadas en el tampón de
entrada hace el decodificador muy sensible al ritmo de llegada de
las tramas. Si éste es irregular, lo que ocurre frecuentemente con
redes de datagramas del tipo IP o análogo, el decodificador genera
numerosas correcciones no pertinentes puesto que éstas no son
debidas a una desviación de frecuencia de reloj.
La presente invención tiene como objetivo dar
respuesta eficaz a las necesidades indicadas.
La presente invención propone, por lo tanto, un
dispositivo de recepción de paquetes de datos conteniendo cada uno
de ellos informaciones de codificación de una señal en tiempo real y
un encabezamiento que presenta una información de fechas del paquete
en relación con un reloj de muestreado de la señal, que
comprende:
- -
- medios de memorización de las muestras;
- -
- medios de tratamiento de los paquetes para registrar, en los medios de memorización, una fila de espera de muestras de señal obtenidas a partir de paquetes recibidos de manera asíncrona, estando ordenadas las muestras de la fila de espera de acuerdo con las informaciones de fecha contenidas en los paquetes;
- -
- medios de transferencia de muestra para formar, según el ritmo de un reloj local, un flujo de muestras síncrono que representa la señal en tiempo real, transferidos sucesivamente por bloques desde la fila de espera;
- -
- medios de regulación para controlar los medios de transferencia de manera que se limiten las variaciones del número de muestras de la fila de espera, insertando o suprimiendo muestras en el flujo síncrono con referencia a las que se han leído en la fila de espera, en función de la evolución del número de muestras registradas por los medios de tratamiento de paquetes en los medios de memorización en el curso de los períodos detenidos de manera relativa a dicho reloj local, siendo el número de muestras insertadas o suprimidas en la fila de espera en el curso de transferencia de cada bloque sensiblemente más reducido que el número de muestras obtenidas a partir de un paquete.
Con las frecuencias de muestreado habituales, la
supresión o añadidura de una muestra de señal de audio es casi
inaudible. El dispositivo según la invención lo aprovecha para
regular el flujo de muestras restituido de manera síncrona con el
reloj local, sin tener que depender de la frecuencia de este reloj.
Esta regulación se efectúa observando el llenado de los medios de
memorización de muestras, con la finalidad de suprimir algunas
muestras cuando se registra un exceso de muestras como respuesta a
la recepción de los paquetes, y para añadir cuando por el contrario
los medios de memorización de muestras tienen tendencia a vaciarse.
La observación del número de muestras registradas se efectúa después
del tratamiento de los paquetes recibidos, lo que evita tener que
modificar este tratamiento. Esto permite, además, realizar la
regulación de manera más fina, en función de un número de muestras y
no en función del número de paquetes recibidos, el cual fluctúa en
razón de la recepción asíncrona de los paquetes.
Las muestras son añadidas, preferentemente, o
suprimidas de manera aislada. No obstante, podrían ser añadidas o
suprimidas por grupos pequeños, a condición de que las dimensiones
de estos grupos sea muy reducida con respecto al número de muestras
resultante del tratamiento de un paquete, con la finalidad de que la
manipulación continúe siendo poco perceptible.
Otras particularidades y ventajas de la presente
invención aparecerán en la descripción adjunta de los ejemplos de
realización no limitativos, haciendo referencia a los dibujos
adjuntos, en los cuales:
- la figura 1 es un esquema sinóptico de un
sistema de transmisión que presenta un dispositivo de recepción
según la invención;
- las figuras 2 y 3 son organigramas de
procedimientos aplicados por el dispositivo de recepción de la
figura 1, respectivamente, en la recepción de un paquete y en la
transferencia de un bloque de muestras del flujo de salida;
- la figura 4 es un esquema sinóptico de otro
sistema de transmisión que presenta un dispositivo de recepción
según la invención.
La figura 1 muestra un dispositivo emisor (1) y
un dispositivo receptor (2) que comunican con intermedio de una red
(3) de tipo IP.
En el ejemplo considerado, el emisor (1) presenta
un codificador de audio (4), que trata una señal de palabra
muestreada a una frecuencia F_{e}, por ejemplo, de 8 kHz. La
frecuencia de muestreado utilizada por el codificador (4) es
generada por división de frecuencia a partir de un oscilador de
cuarzo (5) cuya frecuencia nominal es, por ejemplo, de 2,048
MHz.
En el ejemplo de la figura 1, el codificador de
palabra (4) es un codificador G.711 normalizado por la Unión
Internacional de Telecomunicaciones (UIT). Este codificador facilita
muestras en tiempo real codificadas en MIC (modulación por impulsos
codificados, o PCM, ley A o ley \mu), estando codificada cada
muestra sobre un octeto (caudal de 64 kbit/s).
El flujo de salida \phi del codificador (4) es
suministrado a un interfaz (6) del emisor (1), que inserta las
muestras codificadas en los paquetes RTP emitidos en datagramas IP
sobre la red (3) con destino del receptor (2).
De manera clásica, cada datagrama emitido
presenta un encabezamiento IP, seguido de un encabezamiento UDP y un
encabezamiento RTP. El encabezamiento IP indica en especial la
dirección IP del emisor (1) y la del receptor (2). El encabezamiento
UDP indica un número de puerta lógica UDP del emisor (1), afectado
al codificador (4) y un número de puerta UDP correspondiente del
receptor (2). El encabezamiento RTP contiene un número de secuencia
NP del paquete, codificado en 16 bits, y una información TS de
fechado del paquete. La información de fechado TS, codificada en 32
bits corresponde al rango de la primera muestra del paquete en el
flujo de salida \phi del codificador (4), módulo 2^{32}. Después
de los encabezamientos, la parte útil del paquete RTP comprende N
muestras de la señal MIC codificada, correspondiendo a Nx125 \mus
de palabra.
En la realización considerada anteriormente a
título ilustrativo, el número N es constante, por ejemplo N = 40, y
el emisor (1) no pone en práctica un mecanismo de supresión de
silencio (que consiste en no transmitir, o transmitir a un caudal
más bajo, cuando no se ha detectado actividad vocal en la señal de
palabra tratada por el codificador -4-). En este caso particular,
los datos TS y NP son redundantes puesto que se encuentran en una
relación fija N. Como consecuencia, es equivalente para el receptor
(2) fundarse sobre la información de fechado TS o sobre el número de
secuencia NP.
El receptor (2) comprende igualmente un interfaz
(8) con la red IP (3) para tratar los datagramas IP recibidos desde
el emisor (1) y extraer de los mismos las muestras de señal.
En la arquitectura representada en la figura 1,
el interfaz (8) está conectado al bus (9) de un microprocesador
(10), al cual están conectados también una memoria RAM (11) y un
dispositivo síncrono (12) que recibe un flujo de muestras
\phi'.
El dispositivo síncrono (12) puede ser en
especial un decodificador G.711 asociado a un dispositivo de
restitución del sonido para restituir la palabra en tiempo real al
usuario. Igualmente, puede ser un dispositivo de interfaz con un
enlace síncrono sobre el cual se remiten las muestras G.711.
El dispositivo síncrono (12) está pilotado por un
oscilador de cuarzo (13), cuya frecuencia nominal de oscilación
puede ser idéntica a la del oscilador (5) del emisor, con la
finalidad de tener en cuenta las muestras de señal a la frecuencia
F_{e}. Teniendo en cuenta las tolerancias de los elementos de
cuarzo habitualmente utilizados (aproximadamente 30 ppm sobre la
frecuencia de oscilación) y de la gama de temperatura a la que
pueden estar sometidos, cada frecuencia de oscilación puede
presentar un desplazamiento que llega hasta 120 Hz con respecto a la
frecuencia nominal de 2,048 MHz. La desviación máxima entre el
emisor y el receptor es entonces, aproximadamente, de 240 Hz/2,048
Mhz, lo que representa un desplazamiento de una muestra de señal
aproximadamente cada 8.500 muestras. Si se deja acumular este
desplazamiento se producirán perturbaciones en la señal restituida
por el receptor. Se prevén, por lo tanto, medidas compensadoras.
La memoria RAM sirve para contener una fila de
espera de paquetes recibidos de manera asíncrona en el interfaz (8)
antes de ser transferidas de manera síncrona hacia el dispositivo
(12). La memoria (11) presenta L direcciones numeradas de 0 a
L-1, pudiendo contener cada una un octeto. A título
de ejemplo, L = 8.000, lo que representa una capacidad de un segundo
de palabra.
El interfaz (8) y el dispositivo (12) son
unidades periféricas con respecto al procesador (10) que las
controla para que efectúen ciclos de acceso directo en memoria (DMA,
"Direct Memory Access") para escribir y leer, respectivamente,
muestras en la memoria (11).
El procesador (10) controla el interfaz (8) para
que efectúe ciclos de escritura DMA en la memoria (11),
comprendiendo cada ciclo, por ejemplo, la escritura de L octetos a
partir del lugar 0 hasta el lugar L-1. Estos ciclos
DMA se suceden de manera tal que las escrituras en la memoria (11)
se efectúan de manera circular.
El interfaz (8) aplica un procedimiento para
constituir la fila de espera, es decir, poner los paquetes en el
orden de los números de secuencia, y escribir sus muestras en la
memoria de los paquetes (11). Si se reciben paquetes demasiado
tarde, el interfaz (8) los suprime. Además, los paquetes que no se
han recibido en tiempo útil son sustituidos por paquetes de
sustitución (por ejemplo, repetición del paquete anterior o paquete
de silencio).
La figura 2 muestra un ejemplo de un
procedimiento de este tipo que se puede ejecutar por el interfaz (8)
con recepción de un paquete RTP que lleva el número de secuencia NP.
En este ejemplo, el interfaz (8) presenta una memoria tampón que
tiene Q lugares capaces de memorizar cada uno de ellos los octetos
de datos de un paquete, es decir, la capacidad de NxQ octetos. En
las indicaciones de la figura 2:
- -
- NS indica el número de secuencia del siguiente paquete que se debe escribir en la memoria (11) (NS = 0 en el inicio);
- -
- occ(i) es un bit que indica para 0 \leq i < Q, si el paquete de número de secuencia NS+i ha llegado (occ(i) = 1) o no (en la iniciación, occ(i) = 0 para 0 \leq i < Q);
- -
- la Lista (i) contiene, para 0 \leq i < Q, un entero comprendido entre 0 y Q-1 que designa el emplazamiento de la memoria tampón en la que están registradas las muestras del paquete NS +i si occ(i) = 1 (en el inicio, Lista (i) = i para 0 \leq i < Q);
- -
- \alpha es un entero igual al número de paquetes recibidos en espera de transferencia hacia la memoria (11) (en el inicio, \alpha = 0);
- -
- TDATA indica los N octetos del último paquete transferido en la memoria (11), almacenados en un registro para formar los eventuales paquetes de sustitución (en el inicio, se pueden tomar octetos nulos en TDATA, lo que corresponde a un paquete de silencio);
- -
- q designa un emplazamiento disponible en la memoria tampón para escribir los N octetos del siguiente paquete recibido (en la iniciación, q = 0).
En la recepción del paquete NP, los N octetos de
datos del paquete son escritos en el emplazamiento q de la memoria
tampón, y la variable \delta se toma igual a la separación
NP-NS entre el número de secuencia del paquete
recibido y el número de secuencia del paquete siguiente a transferir
(etapa -20- de la figura 2).
Si \delta < 0 (prueba -21-), el paquete es
recibido demasiado tarde para ser transferido en la memoria (11), de
manera que se suprime. El procedimiento de la figura 2 se termina
entonces volviendo a espera de recepción del paquete siguiente, que
será escrito por encima del paquete suprimido en el
emplazamiento
q.
q.
El paquete puede ser tenido en cuenta cuando
\delta \geq 0 en la prueba (21). Entonces el entero \alpha es
incrementado en una unidad en la etapa (22).
Si \delta < Q (prueba -23-), las variables
occ(\delta) y Lista (\delta) reciben, respectivamente,
los valores 1 y q en la etapa (24) para identificar el emplazamiento
del paquete NS+\delta. Después de la etapa (24), la variable
\alpha es comparada a Q en la etapa (25). Si \alpha < Q, la
memoria tampón no está saturada, de manera que ningún paquete es
transferido hacia la memoria (11). En este caso, el procedimiento
pasa a las etapas (26) a (28) para cambiar el valor del indicador q.
Estas etapas (26) a (28), que terminan el procedimiento del
procedimiento 2, consisten simplemente en elegir para el indicador q
una Lista (i) tal que 0 \leq i < Q y occ(i) = 0.
Si \delta \geq Q en la prueba (23), o si
\alpha \geq Q en la prueba (25), el interfaz (8) transfiere uno
o varios paquetes hacia la memoria (11). En el ejemplo de la figura
2, esto se efectúa en un bucle (30-37) inicializado
por i = 0 en la etapa (30).
Si el paquete de rango
NP-\delta+i ha sido bien recibido (occ(i)=1
en la prueba -31-), los N octetos de este paquete son leídos en el
emplazamiento de Lista(i), cargados en el registro TDATA en
la etapa (32), y después son transferidos en modalidad DMA hacia la
memoria (11) en la etapa (33). Además, el bit occ(i) es
llevado a 0, y el entero \alpha es disminuido en una unidad.
Si el paquete de rango
NP-\delta+i no ha sido recibido (occ(i)=0
en la prueba -31-) se transfiere un paquete de sustitución
correspondiente a los N octetos del registro TDATA hacia la memoria
(11) en la etapa (34), y el entero \alpha es disminuido en una
unidad, sin descender por debajo del valor base \alpha = 1. Los N
octetos TDATA son puestos a cero a continuación en la etapa (35).
Con este método, el paquete de sustitución del rango NS corresponde
a la repetición del paquete NS-1 si éste ha sido
correctamente recibido, y a un paquete de silencio en caso
contrario.
Después de la etapa (33) o (35), el número de
secuencia NS es incrementado en una unidad en la etapa (36), y el
índice i es igualmente incrementado, módulo Q. A la salida de la
etapa (36), si NP > NS+Q-1 (prueba -37-), el
procedimiento vuelve a la etapa (31) para transferir otro paquete
hacia la memoria (11). En caso contrario, se efectúa un desfasado en
las tablas de Lista y occ para su puesta al día, en un bucle
(38-41). En la inicialización (38) de este bucle, j
= 0 y el índice i conserva el valor que tenía a la salida de la
última iteración del bucle (30-37). En la etapa
(39), los valores Lista (i) y occ(i) son transferidos en
Lista(j) y occ(j). Si j < Q-1
(prueba -40-), la etapa siguiente (41) consiste en incrementar j
unidades, así como i módulo Q. Cuando j = Q-1, en la
prueba (40), el desfasado de las tablas Lista y occ se ha terminado,
y \delta es comparado a Q en la etapa (42). Si \delta < Q, el
tratamiento consecutivo a la recepción del paquete NP se termina por
la puesta al día del indicador q en las etapas (26) a (28)
precitadas. Si \delta \geq Q, esta puesta al día del indicador q
está precedida en la etapa (43) por la escritura de los valores
respectivos 1 y q en las variables occ(Q-1) y
Lista (Q-1).
La lectura de las muestras de señal en la memoria
(11), que forma el flujo de señal \Phi' se efectúa igualmente en
los ciclos de transferencia DMA, efectuados por el dispositivo
síncrono (12) bajo el control del procesador (10). En el curso de
cada ciclo, el dispositivo (12) transfiere un bloque de M octetos
leídos en la memoria (11) a su cadencia de muestras deducida de la
frecuencia de oscilación del cuarzo (13). El contador de dirección
de lectura es incrementado en una unidad (módulo L) para cada
muestra leída, de manera que la memoria (11) es leída igualmente con
un direccionado circular. Al final de la transferencia DMA de cada
bloque, el dispositivo (12) dirige al procesador (10) una señal de
interrupción. Como respuesta a esta señal, el procesador (10)
inicializa el ciclo siguiente de transferencia DMA y facilita las
órdenes correspondientes al dispositivo (12).
El procedimiento aplicado por el procesador (10)
para controlar estos ciclos de transferencia DMA puede ser conforme
al mostrado en la figura 3. En las notaciones de la figura 3:
- -
- NS_{0} designa el número de paquetes que, una vez que han sido escritos en la memoria (11), provocan el inicio de la transferencia de muestras hacia el dispositivo síncrono (12);
- -
- P es un indicador que designa la dirección de inicio de la transferencia DMA efectuada por el dispositivo síncrono (12) bajo el control del procesador (10);
- -
- M designa el número de octetos de un bloque de muestras transferido en el curso de un ciclo DMA por el dispositivo (12);
- -
- t designa el número de octetos que han sido registrados en la memoria (11) hasta el momento en el que el procesador (10) inicia un ciclo de transferencia DMA hacia el dispositivo síncrono (12);
- -
- \Delta es un entero que mide la desviación a recuperar entre los números de muestras escritos y leídos en la memoria (11): cuando \Delta > 0, hay un exceso de muestras en la memoria (11) con respecto a las transferidas en el flujo \Phi', y cuando \Delta < 0, hay más bien un déficit de muestras registradas en la memoria (11).
El procedimiento representado en la figura 3 es
puesto en marcha cuando se han descrito NS_{0} paquetes en la
memoria (11) (prueba -50-) lo que el procesador (10) puede verificar
consultando el valor corriente de la variable NS del procedimiento
según la figura 2, o con referencia a la dirección de escritura
corriente en la memoria (11) por el interfaz (8). Las variables P y
\Delta son inicializadas entonces a 0 en la etapa (51).
En la etapa (52), el procesador (10) controla un
ciclo de lectura en modalidad DMA por el dispositivo síncrono (12),
para que sea transferido en el flujo \Phi' un bloque de M octetos
a partir de la dirección P módulo L. En la etapa siguiente (53), el
indicador de dirección P es aumentado en M unidades, módulo L y la
variable t recibe el valor N.NS, correspondiendo a la dirección en
la memoria (11) del siguiente octeto que se ha descrito por el
interfaz (8). Esta etapa (53) termina el tratamiento efectuado por
el procesador (10) con respecto al bloque corriente del flujo
\Phi'.
El procesador (10) espera a continuación la
recepción de la señal de interrupción por la cual el dispositivo
síncrono (12) indica que ha terminado la transferencia del bloque
corriente (etapa -54-).
A la recepción de esta señal de interrupción, el
procesador (10) determina en la etapa (56) el número de octetos que
el interfaz (8) ha escrito en la memoria (11) durante la lectura del
último bloque de M muestras (comprendiendo en ellas los paquetes de
sustitución). Este número \Delta es igual a
N.NS-t, con el nuevo valor corriente del número de
secuencia NS (o con la nueva dirección de acceso DMA por el interfaz
(8), igual a N.NS). En la etapa (57), la desviación \Delta es
actualizada añadiéndole la cantidad d-M que
represente el aumento (o la reducción si d-M<0)
de la fila de espera durante la transferencia del bloque
anterior.
Si el nuevo valor de \Delta es inferior a un
umbral negativo o nulo -\Deltamax (prueba -58-), el indicador de
inicio de transferencia DMA desde la memoria (11) es reducido en Z
octetos, es decir, que el número P es disminuido en Z unidades
módulo L, y la desviación \Delta es aumentada en Z unidades en la
etapa (59). Si el nuevo valor de \Delta es superior al umbral
+\Deltamax (prueba -60-), el indicador de inicio de transferencia
DMA desde la memoria (11) es avanzado en Z unidades, es decir, que
el número P es aumentado en Z unidades módulo L, y la separación
\Delta es disminuida en Z unidades en la etapa (61). Cuando
-\Deltamax\leq\Delta\leq\Deltamax, o después de la etapa
(59) ó (61), el procesador (10) realiza la etapa (52) antes citada
para controlar la transferencia DMA de un bloque de M octetos a
partir de la dirección P módulo L. El valor del umbral \Deltamax
puede ser nulo.
Si el reloj de emisión y el reloj de recepción
son síncronos, y si los paquetes de RTP han sido recibidos con un
intervalo temporal inferior a la dimensión de la zona tampón del
interfaz (8), la separación \Delta sigue siendo siempre nula, y la
formación del flujo síncrono \Phi' resulta de las transferencias
DMA sucesivas de bloques de M octetos a partir de direcciones
regularmente separadas.
Si existe una desviación entre los relojes de
emisión y de recepción, habrá ciclos de transferencia DMA en la
salida de los cuales \Delta<-\Deltamax ó
\Delta>\Deltamax.
Cuando \Delta<-\Deltamax (no se han
recibido suficientes paquetes con respecto a la cadencia de flujo
\Phi'), las últimas Z muestras son repetidas al principio del
bloque siguiente, lo que será difícilmente audible si Z es un número
pequeño.
Cuando \Delta>+\Deltamax, la memoria (11)
tiende a llenarse con mayor rapidez de lo que se vacía, y el
desplazamiento del indicador P en la etapa (61) provoca la supresión
de Z muestras en el flujo \Phi' para compensar esta
desviación.
En la realización preferente, se toma Z = 1.
Se puede tomar M = L, consistiendo entonces la
transferencia DMA para el dispositivo (12) en leer la totalidad de
la memoria (11). Se debe observar que el número M no es
necesariamente constante. Se podría tomar, por ejemplo, M = L + Z
cuando \Delta<-\Deltamax y M = L-Z cuando
\Delta>\Deltamax. En este último caso, las Z muestras
duplicadas o suprimidas se encuentran al inicio del próximo bloque
transferido si el indicador P es gestionado, tal como indica en la
figura 3, o al final de este bloque si se toma sistemáticamente P =
0.
La realización anterior se basa en paquetes de
dimensión constante (N octetos), sin mecanismo de supresión de
silencio. En este caso, la información de fechado TS contenida en
cada paquete RTP es redundante con el número de secuencias NP
(puesto que TS = N.NP), lo que explica que sólo NP haya sido tomado
en cuenta en el ejemplo descrito anteriormente. Si la dimensión de
los paquetes es variable y/o si un mecanismo de supresión de
silencio ha sido utilizado por el emisor, las direcciones de
escritura en la memoria (11) por el interfaz (8), y por lo tanto,
las diferencias d medidas para regular el flujo \Phi' son
determinadas simplemente sobre la base de las informaciones TS
obtenidas en los paquetes recibidos.
En la variante de realización representada en la
figura 4, la señal numérica contenida en los paquetes RTP no
consiste directamente en muestras de señal en tiempo real, sino que
representa tramas de señal codificadas, generadas por un
codificador. Estas tramas pueden ser producidas por un codificador
("vocodeur") normalizado por la UIT, G.729 en el ejemplo
representado (o también G.723, etc.). El codificador (4') del emisor
(1) dispone de muestras de señal en tiempo real, numerado de manera
síncrona con un reloj de muestra obtenido por división de la
frecuencia de oscilación del cuarzo (5), y las transforma en tramas
codificadas síncronas con este reloj. La numeración de la señal
puede haber sido efectuada a nivel del emisor con un reloj salido
del oscilador (5) (caso en el que el emisor (1) es un terminal de
telefonía sobre IP, por ejemplo) o puede haber sido efectuada por un
convertidor alejado, estando sincronizados los relojes de muestra en
el convertidor y del codificador (4') (caso en el que el emisor (1)
forma un interfaz entre una red IP y un enlace numérico síncrono,
por ejemplo).
A nivel del dispositivo receptor (2), el interfaz
IP (8) transfiere la parte útil de los paquetes RTP de la misma
manera que anteriormente en una memoria (11A) que contiene tramas
codificadas. En función del llenado de esta memoria (11A), el
procesador (10) controla la decodificación de las tramas memorizadas
para reconstituir muestras de la señal en tiempo real transferidas
en otra memoria (11B). Esta decodificación es efectuada de manera
asíncrona, por el propio procesador (10) o por un decodificador
G.729 periférico (15) conectado al bus (9). El dispositivo síncrono
(12) puede leer entonces las puestas de señal en la memoria (11B) de
la misma manera que anteriormente. Más bien que ser simplemente
recopiadas, las tramas de sustitución pueden ser determinadas, de
manera conocida en sí misma, por una interpoblación de los
parámetros del codificador efectuada por el decodificador.
El proceso de regulación anteriormente descrito
es puramente lógico, lo que evita tener un circuito especial para
adecuarse a la frecuencia del oscilador (13) del dispositivo
síncrono (12). La regulación del flujo \Phi', que evita las
desviaciones temporales con respecto al flujo \Phi formado a nivel
del emisor (1), resulta de una medición de la cantidad de señal
recibida (comprendiendo los paquetes de sustitución) en el curso de
períodos definidos con respecto al reloj local generado por el
oscilador (13). Cada uno de estos periodos corresponde a la
transferencia DMA de un bloque hacia el dispositivo (12).
Como variante, cada uno de dichos períodos podría
corresponder a la transferencia DMA de un número dado K de bloques,
lo que permite hacer la media de las fluctuaciones del número d de
muestras registradas por el interfaz (8) en la memoria (11) en el
curso de los períodos definidos con respecto al reloj local, debidos
al carácter irregular de la recepción de los datagramas IP (en el
ejemplo anterior, K = 1).
Claims (7)
1. Dispositivo de recepción de paquetes de datos,
cada uno de los cuales contiene información de codificación de una
señal en tiempo real y un encabezamiento que comporta una
información de fecha del paquete en relación con el reloj de
muestreo de la señal, que comprende:
- -
- medios
de memorización de
\hbox{muestras (11):}
- -
- medios de tratamiento de los paquetes (8) para registrar, en los medios de memorización, una fila de espera de muestras de señal obtenidas a partir de los paquetes recibidos de manera asíncrona, estando ordenadas las muestras de la fila de espera conforme a las informaciones de fechado contenidas en los paquetes;
- -
- medios de transferencia de muestras (12) para formar, al ritmo de un reloj local, un flujo de muestras síncrono (\Phi') que representa la señal en tiempo real, sucesivamente transferidas por bloques desde la fila de espera,
caracterizado porque:
- -
- medios de regulación (10) para controlar los medios de transferencia, de manera que limitan las variaciones del número de muestras de la fila de espera, insertando o suprimiendo muestras en el flujo síncrono con respecto a los que se han leído en la fila de espera, en función de la evolución del número de muestras registradas por los medios de tratamiento de paquetes en las muestras de memorización en el curso de periodos definidos con respecto a dicho reloj local, siendo el número de muestras insertadas o suprimidas en la fila de espera en el curso de la transferencia de cada bloque sensiblemente más reducido que el número de muestras obtenidas a partir de un paquete.
2. Dispositivo, según la reivindicación 1, en el
que los medios de regulación comprenden un procesador (10), y en el
que los medios de tratamiento de paquetes (8) y los medios de
transferencia (12) están dispuestos para acceder a los medios de
memorización (11) en modalidad de acceso directo en la memoria, bajo
el control de dicho procesador.
3. Dispositivo, según la reivindicación 2, en el
que dichos períodos definidos con respecto al reloj local
corresponden a la lectura, por los medios de transferencia (12), de
un número determinado de bloques de muestras en los medios de
memorización (11), en forma de acceso directo en la memoria bajo el
control del procesador (10).
4. Dispositivo, según la reivindicación 2 ó 3, en
el que la inserción o la supresión de muestras en la fila de espera
por el procesador (10) representa un desfase de dirección de inicio
de lectura en modalidad de acceso directo en memoria por los medios
de transferencia (12).
5. Dispositivo, según la reivindicación 2 ó 3, en
el que la inserción o la supresión de muestras en la fila de espera
por el procesador (10) comporta la regulación del número de muestras
leídas en forma de acceso directo en la memoria por los medios de
transferencia (12).
6. Dispositivo, según cualquiera de las
reivindicaciones anteriores, en el que el número de muestras
insertadas o suprimidas en la fila de espera por los medios de
regulación (10) en el curso de la transferencia de cada bloque es de
0 ó 1.
7. Dispositivo, según cualquiera de las
reivindicaciones anteriores, en el que el encabezamiento de cada
paquete comporta un número de secuencia del paquete, y en el que los
medios de tratamiento de paquetes (8) están dispuestos para analizar
los números de secuencia contenidos en los paquetes recibidos con la
finalidad de ordenar las muestras de la fila de espera, en base a
los números de secuencia, insertar las muestras de sustitución en la
fila de espera para compensar paquetes no recibidos en tiempo útil y
suprimir paquetes recibidos de forma tardía.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0000016A FR2803466B1 (fr) | 2000-01-03 | 2000-01-03 | Dispositif de reception de paquets |
FR0000016 | 2000-01-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2233603T3 true ES2233603T3 (es) | 2005-06-16 |
Family
ID=8845579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES01903848T Expired - Lifetime ES2233603T3 (es) | 2000-01-03 | 2001-01-02 | Dispositivo de recepcion de paquetes de datos. |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1245099B1 (es) |
AT (1) | ATE284106T1 (es) |
AU (1) | AU3182101A (es) |
DE (1) | DE60107533T2 (es) |
ES (1) | ES2233603T3 (es) |
FR (1) | FR2803466B1 (es) |
WO (1) | WO2001050692A1 (es) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10201310A1 (de) * | 2002-01-15 | 2003-07-24 | Siemens Ag | Verfahren und System zur Datenumsetzung |
EP2129170B1 (en) | 2008-05-30 | 2012-02-29 | Oticon A/S | Low latency, high quality link for audio transmission |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623483A (en) * | 1995-05-11 | 1997-04-22 | Lucent Technologies Inc. | Synchronization system for networked multimedia streams |
US5699481A (en) * | 1995-05-18 | 1997-12-16 | Rockwell International Corporation | Timing recovery scheme for packet speech in multiplexing environment of voice with data applications |
-
2000
- 2000-01-03 FR FR0000016A patent/FR2803466B1/fr not_active Expired - Fee Related
-
2001
- 2001-01-02 ES ES01903848T patent/ES2233603T3/es not_active Expired - Lifetime
- 2001-01-02 WO PCT/FR2001/000003 patent/WO2001050692A1/fr active IP Right Grant
- 2001-01-02 AU AU31821/01A patent/AU3182101A/en not_active Abandoned
- 2001-01-02 AT AT01903848T patent/ATE284106T1/de not_active IP Right Cessation
- 2001-01-02 DE DE60107533T patent/DE60107533T2/de not_active Expired - Lifetime
- 2001-01-02 EP EP01903848A patent/EP1245099B1/fr not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
ATE284106T1 (de) | 2004-12-15 |
EP1245099A1 (fr) | 2002-10-02 |
FR2803466A1 (fr) | 2001-07-06 |
FR2803466B1 (fr) | 2003-07-04 |
DE60107533D1 (de) | 2005-01-05 |
EP1245099B1 (fr) | 2004-12-01 |
AU3182101A (en) | 2001-07-16 |
DE60107533T2 (de) | 2005-12-15 |
WO2001050692A1 (fr) | 2001-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2254134T3 (es) | Metodo y aparato para la comunicacion de datos isocronos. | |
ES2226226T3 (es) | Disposicion de sincronizacion para una señal de video comprimida. | |
JPS61281648A (ja) | 多重アクセス動作を有するデイジタル通信におけるランダム・アクセス動作用のコ−ダ・パケツト化器 | |
TW463506B (en) | A method for storing digital audio and/or video programs | |
CN2927563Y (zh) | 运动图像分发系统和运动图像分发服务器 | |
KR100373942B1 (ko) | 신호처리시스템 | |
HU229538B1 (en) | A method and device for encoding, transferring and decoding a non-pcm bitstream a digital versatile disc device and a multi-channel reproduction apparatus | |
JP5065254B2 (ja) | 順方向エラー訂正コードをデコードするためのシステム及び方法 | |
DE60331415D1 (de) | Zeitscheibenzeichengabe für das digitale Breitband-Rundsenden | |
EP0564627A1 (en) | METHOD FOR PROCESSING DATA TRANSMISSION FRAME OF VARIABLE LENGTH WITH A CHANNEL CONTROL AND FOR WRITING THE FRAME IN A CYCLIC Buffer. | |
JP2007221326A (ja) | 伝送レート調整装置および伝送レート調整方法 | |
JPH0343813B2 (es) | ||
US4472803A (en) | Digital transmitting system | |
ES2233603T3 (es) | Dispositivo de recepcion de paquetes de datos. | |
RU2007108072A (ru) | Способ сохранения сообщений в памяти сообщений и соответствующая память сообщений | |
JP2930339B2 (ja) | データ伝送装置及び該装置用の送信及び受信機部 | |
JPS61198988A (ja) | 画像符号化伝送装置 | |
CA2224808A1 (en) | Method of re-sending incorrectly transmitted data | |
TWI246058B (en) | Program recording/reproducing method and aparatus | |
GB1567796A (en) | Regeneration of asynchronous data characters | |
CN107613320B (zh) | 一种传输流复用的插包控制方法及系统 | |
JP2001274762A (ja) | 多重化装置 | |
JP4815780B2 (ja) | オーバーサンプリングシステム、デコードlsi、およびオーバーサンプリング方法 | |
ES2235910T3 (es) | Procedimiento para la gestion de la descodificacion y de la restitucion de una señal sonora en un sistema de transmision asincrona. | |
JPH052834A (ja) | マルチメデイア情報蓄積方法及び装置 |