ES2235910T3 - Procedimiento para la gestion de la descodificacion y de la restitucion de una señal sonora en un sistema de transmision asincrona. - Google Patents
Procedimiento para la gestion de la descodificacion y de la restitucion de una señal sonora en un sistema de transmision asincrona.Info
- Publication number
- ES2235910T3 ES2235910T3 ES00945982T ES00945982T ES2235910T3 ES 2235910 T3 ES2235910 T3 ES 2235910T3 ES 00945982 T ES00945982 T ES 00945982T ES 00945982 T ES00945982 T ES 00945982T ES 2235910 T3 ES2235910 T3 ES 2235910T3
- Authority
- ES
- Spain
- Prior art keywords
- frames
- frame
- samples
- treatment
- filling
- 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
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- 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
-
- 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
- H04L2012/5638—Services, e.g. multimedia, GOS, QOS
- H04L2012/5671—Support of voice
-
- 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
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Time-Division Multiplex Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
Procedimiento para la gestión de la descodificación y de la restitución (14) de una señal sonora, en un sistema de transmisión asíncrona, según el cual se detecta una eventual sobreabundancia de llenado de una primera memoria tampón (11) y/o de una segunda memoria tampón (13) situada(s) a la entrada y/o a la salida de un bloque de descodificación (12) comparando el porcentaje de llenado con por lo menos un umbral, caracterizado porque, según el valor del porcentaje de llenado, - se realiza una detección de actividad vocal y se suprimen las tramas consideradas como no activas por esta detección, - se realiza un tratamiento de concatenación sobre dos tramas sucesivas, para compactarlas en una pseudotrama de longitud inferior a la de una trama, siendo la relación de reducción de la longitud de la pseudotrama con respecto a la longitud de las dos tramas superior o igual a dos.
Description
Procedimiento para la gestión de la
descodificación y de la restitución de una señal sonora en un
sistema de transmisión asincrona.
La presente invención se refiere a un
procedimiento de gestión del asincronismo de una transmisión
audio.
De manera general, la invención se refiere a los
sistemas de transmisión que utilizan unos codificadores de palabra
de caudal reducido, en los que las señales no transportan el reloj
de referencia del sistema de codificación de la fuente (frecuencia
de muestreo del codificador). Éste es el caso por ejemplo para las
transmisiones del tipo IP (protocolo de Internet) o también para las
transmisiones discontinuas, etc.
Un objetivo general de la invención es resolver
los problemas de producción de flujo continuo de palabra o de sonido
descodificados encontrados con dichos sistemas.
Tradicionalmente, las redes de comunicaciones
telefónicas y de vías sonoras han utilizado unos sistemas de
transmisión analógicos y de multiplexado por repartición en
frecuencia (grupo primario, modulación de amplitud y de frecuencia).
En estas condiciones, la señal de palabra (o de música; el término
palabra será utilizado de manera genérica en la continuación de este
documento) es convertida en señal eléctrica por un micrófono y es
esta señal analógica la que es filtrada y modulada para ser
presentada al receptor que la amplificará antes de presentarla al
sistema de restitución (auricular, altavoz, etc.).
Desde hace un cierto número de años, las técnicas
de transmisión y conmutación digital han reemplazando poco a poco a
las técnicas analógicas. En estos sistemas denominados MIC
(modulación por impulso o PCM en inglés para Pulse Code
Modulation), la señal de palabra es muestreada y convertida en
digital con la ayuda de un convertidor digital analógico (CNA en lo
sucesivo) mandado por una frecuencia de muestreo fija derivada de un
reloj maestro suministrado por la red y conocido también por el
sistema de recepción. Es el caso para los URA y URN (Unidad de
conexión de abonado analógica y digital) de la red de
telecomunicaciones. La señal digital recibida por el destinatario
(en el sentido amplio) es convertida en analógica con el fin de
poder ser escuchada con la ayuda de un convertidor digital analógico
(CNA en lo sucesivo) mandado por un reloj con la misma frecuencia
que el utilizado por el CAN de la fuente. En estas condiciones, el
sistema completo es perfectamente síncrono y es el caso generalmente
de los sistemas actuales de conmutación y de transmisión. Éstos
pueden incluir unos sistemas de reducción de caudal (por ejemplo
para la señal telefónica, pasar de 64 kbit/s a 32, 16 u 8 kbit/s).
Es la red (o los sistemas terminales como por ejemplo en el caso del
RNIS (IDSN en inglés)) quien se encarga de las operaciones de CAN,
de codificación, de descodificación (codificación y descodificación
tomadas aquí en el sentido de reducción de caudal) y de CNA. Los
relojes están siempre distribuidos y la cadena CAN, codificador de
palabra, transmisión y conmutación, descodificador de palabra y por
último CNA es perfectamente isocrono. No existen pérdidas o
repeticiones de muestras de palabra en el descodificador.
Las técnicas de transmisiones síncronas descritas
anteriormente necesitan la presencia de un reloj de referencia en
toda la red. Las técnicas de transmisión (de datos en un primer
tiempo) recurren cada vez más a unas técnicas asíncronas y por
paquetes (protocolo IP, ATM). En numerosas situaciones nuevas, el
descodificador ya no dispone de ninguna referencia referente a la
frecuencia de muestreo utilizada por el codificador y debe
reconstituir por sus propios medios un reloj de descodificación que
intenta seguir la referencia del codificador. La presente invención
es por tanto particularmente interesante para los sistemas de
telefonía sobre relés de trama ("FRAME RELAY" según la
terminología anglosajona), para la telefonía sobre ATM o para la
telefonía sobre IP. La técnica presentada puede ser fácilmente
utilizada en otros campos de transmisión de la palabra o de los
sonidos para los cuales no existe transmisión efectiva de la
referencia de reloj del codificador hacia el descodificador.
El problema general planteado por los sistemas de
transmisión a los cuales se aplica la invención es evitar el hecho
de que el descodificador de palabra o de sonido no posea referencia
de reloj ligada a la codificación de la fuente.
Se pueden distinguir a este respecto dos casos:
los que corresponden a un "asincronismo bajo" y los que
corresponden a un "asincronismo alto".
A título ilustrativo, se tratará caso de un
sistema de transmisión que comprende, como se ha ilustrado
esquemáticamente en la figura 1:
- una fuente de codificación 1 que comprende un
convertidor analógico digital mandado por un reloj de referencia de
frecuencia Fcan igual a 8 kHz (para fijar los elementos de cálculo
en la continuación de la presentación) y un codificador de palabra
(más o menos complejo y que reduce de forma más o menos importante
el caudal a transmitir);
- un sistema de transmisión asíncrona
(esquematizado por la conexión 2) que transmite las informaciones
producidas por la fuente de codificación utilizando su propio reloj
de transmisión y sus propios protocolos (por ejemplo, se puede
imaginar que el codificador de palabra produce un caudal de 8
kbit/s y que el sistema de transmisión está constituido por una
conexión de tipo asíncrono RS.232 a 9600 bit/s);
- un sistema de recepción y de descodificación 3
que recibe las informaciones transmitidas por la conexión asíncrona
(cuyo caudal debe ser evidentemente un poco más elevado que el
caudal bruto de codificación, por ejemplo 9600 bit/s en lugar de
8000 bit/s) y encargado de producir la señal después de una
descodificación (descompresión) y enviando la señal producida hacia
un convertidor digital analógico conectado a un transductor de tipo
altavoz, combinado telefónico, cascos o tarjeta de sonido instalada
en un PC.
Se comprende que puesto que el sistema de
recepción y de descodificación 3 no dispone de ninguna referencia de
reloj, debe utilizar una estrategia con el fin de evitar esta falta
de sincronización entre el codificador y el descodificador.
Cualquiera que sea la técnica de codificación
utilizada o el tipo de transmisión que no transporta directamente un
reloj, unos marcadores temporales en la trama transmitida o unas
indicaciones sobre los instantes de transmisión, se puede reducir el
problema mencionado anteriormente (haciendo abstracción del
codificador de palabra, del sistema de transmisión asíncrona y del
descodificador de palabra) a un sistema que comprende, como se
ilustra en la figura 2:
- un convertidor analógico digital (4) encargado
de convertir de analógico a digital unos sonidos o unas señales de
palabra a una frecuencia de muestreo fijada por un oscilador
local;
- un convertidor digital analógico 5 encargado de
reproducir los sonidos hacia un transductor apropiado al campo de
utilización interesado y que funciona sobre una frecuencia de
muestreo determinada por un oscilador local a priori con la
misma frecuencia pero que no está nunca exactamente a la misma
frecuencia para unos costes de realización tolerables (existen unas
fuentes de frecuencia muy estables y muy precisas pero deben ser
compensadas en temperatura y su coste es redhibitorio para unas
realizaciones industriales de gran volumen);
- un registro digital 6 en el que el convertidor
analógico 4 escribe con su frecuencia de muestreo (F_{CAN}),
siendo este registro leído con la frecuencia de muestreo (F_{CNA})
del sistema de reproducción por el convertidor digital analógico (el
CNA).
Se comprende que puesto que los dos relojes (de
frecuencias F_{CAN} y F_{CNA}) son diferentes, de vez en cuando
el CNA releerá dos veces la misma información (si F_{CNA} es
inferior a F_{CAN}) o en caso contrario (F_{CNA} es inferior a
F_{CAN}) una información será aplastada por el CAN antes de que el
CNA pueda releerla.
Los osciladores que se encuentran corrientemente
en el comercio están caracterizados por una precisión de
funcionamiento (en una cierta gama de temperatura).
Los osciladores a 50 ppm (partes por millón) son
bastante corrientes y sirven de base para el cálculo siguiente que
indicará la frecuencia de las pérdidas o de las repeticiones de
muestras para una frecuencia de muestreo de 8 kHz (el lector podrá
calcular fácilmente que para unas frecuencias de muestreo más
elevadas la frecuencia de los saltos y de las repeticiones se
obtiene en la relación de las frecuencias de muestreo; cuanto más
elevada sea la frecuencia de muestreo, más elevada será la
frecuencia de los saltos o repeticiones).
En las condiciones menos favorables, se dispone
de un CAN que funciona a 8000*(1+50.e-6) y de un CNA
que funciona a 8000*(I-50.e-6). En
este ejemplo particular, el periodo de los saltos (supresión de
muestras en el CNA puesto que Fcna es inferior a Fcan) se calcula
simplemente contando el número de periodo del CNA (periodo superior
al del CAN) que produce un valor igual a este periodo del CNA cuando
es multiplicado por la diferencia de los periodos.
Si Pcna es el periodo del CNA (aquí
1/8000*(I-50.e-6)) y Pcan el periodo
del CAN (aquí 1/8000*(I+50.e-6)); se debe por tanto
tener N*(Pcna-Pcan) = Pcna. N representa el número
de operaciones elementales que se desplazan de la diferencia de
periodos. Poniendo 50.e-6 = \in y aplicando las
reglas de simplificación corrientes para los pequeños números, se
obtiene N = I/(2* \in). En el presente ejemplo, esto da
inmediatamente el periodo de los saltos que será próximo a 1,25
segundos. Si se mejora la precisión de los osciladores locales está
mejorada (por ejemplo pasando de 50.e-6 a
5.e-6) entonces el periodo de los saltos aumentará
(aquí esto será cada 12,5 segundos).
Este fenómeno de "deslizamiento" de un reloj
con respecto a otro provocará, cuando se coloca en un sistema
completo de transmisión con descodificadores de audio que funcionan
sobre unas tramas de señal, unas ausencias de tramas de palabra
(ninguna trama a descodificar en el tiempo impartido para la
descodificación) o una superabundancia de tramas (dos tramas a
descodificar en lugar de una en el tiempo impartido). En efecto,
tomando el ejemplo de un codificador de palabra que funciona con
unas tramas de 30 ms a 8 kHz, o sea 240 muestras, al nivel del
receptor y más en particular del descodificador se espera recibir en
un intervalo temporal de 30 ms, una trama a descodificar, con el fin
de asegurar la continuidad de la reproducción de señal de palabra.
Ahora bien, si por ejemplo, Fcan es inferior a Fcna, se tendrá,
tomando las hipótesis anteriores, una ausencia de trama de muestras
a descodificar por el sistema de restitución sonora cada 240 * 1,25
= 300 segundos, y a la inversa dos tramas en lugar de una (o sea una
trama a "suprimir") a descodificar cada 300 segundos. En este
caso, el fenómeno molesto del salto o de la repetición de muestras
resulta verdaderamente muy desagradable puesto que es todo un bloque
de señal que se salta o se repite y necesita por tanto una gestión
adecuada.
Algunos tipos de transmisiones amplifican este
problema de asincronismo debido al fenómeno de "deslizamiento"
de los relojes explicado anteriormente. Es lo que se entiende aquí
por "asincronismo alto".
En efecto, cuando la transmisión no es perfecta e
introduce unas pérdidas de muestras o de tramas de muestras y
también cuando la transmisión genera una distorsión en la llegada de
las muestras, no ligadas al reloj de emisión o al reloj de
recepción, sino ligadas a otros mecanismos de la cadena de
transmisión que poseen su propio reloj, el sistema de recepción
puede entonces ser confrentado con la ausencia de varias tramas, o
con la sobreabundancia de varias tramas. Este es por ejemplo el caso
para redes de tipo IP con el fenómeno de pérdidas de paquetes y al
de la distorsión introducida cuando tiene lugar el encaminado de los
paquetes. Estos fenómenos perturbarán en gran medida la continuidad
de la reproducción acústica de la señal audio. En efecto, en el caso
de pérdidas de paquetes o de una distorsión que ha retardado uno o
varios paquetes, el sistema de reproducción se encontrará sin
ninguna muestra (o ninguna trama de muestras) a enviar al CNA para
asegurar la continuidad de la reproducción acústica. E inversamente,
en el caso de una fuerte distorsión, el sistema de restituciones
puede encontrarse de nuevo con muchas más tramas o muestras a enviar
al mismo tiempo al CNA. En efecto, en presencia de una fuerte
distorsión, la transmisión de las tramas de señal sonoras puede
efectuarse en forma de ráfagas, creando así fuertes fenómenos de
huecos y de sobreabundancia de tramas de muestras.
Se observará que cuando se utilizan codificadores
de palabra que funcionan con un sistema de transmisión del tipo
VAD/DTX/CNG (Voice Activity Detector/Discontinous
Transmision/Comfort Noise Generation según la terminología
anglosajona), se introduce también un mecanismo que es similar al
caso de la pérdida de paquete, puesto que en caso de silencio, el
emisor dejará de emitir unas tramas de muestras. En efecto, la
parada de emisión de muestras puede ser asimilada a nivel del
receptor al fenómeno de la pérdida del paquete o también al caso en
que el reloj del CAN es más rápido que el del CNA, lo que genera
como se ha mostrado anteriormente a unos huecos en la señal a nivel
del receptor.
"El asincronismo alto" se distingue por
tanto del "asincronismo bajo" implicando no únicamente unos
saltos y/o repeticiones de formas cíclicas, sino también unos huecos
en la señal y/o sobreabundancia de señal y esto de forma no cíclica
y múltiple.
Se conocen principalmente dos procedimientos para
evitar los inconvenientes debidos al hecho de que el descodificador
de palabra o de sonido no posee referencia de relojes.
El primero consiste simplemente en proceder como
se ha enunciado en los párrafos que describen "el asincronismo
bajo", es decir saltando o repitiendo unas muestras. El sistema
de descodificación produce unas muestras a un ritmo aproximadamente
igual al del codificador y las presenta al convertidor digital
analógico con este ritmo (los medios de realización de este sistema
de reconstrucción son conocidos por el experto en la materia). En
ciertos casos, por ejemplo en el caso de "asincronismo alto"
con transmisión en forma de tramas, en ausencia de muestras a tratar
se prefiere el envío de tramas de muestras nulas al CAN, a la
repetición de la trama precedente. Además, a la inversa cuando tiene
lugar un exceso de muestras, éstas no serán suprimidas directamente,
sino que una FIFO de cierto tamaño podrá ser utilizada para absorber
en parte la distorsión. Un llenado demasiado importante de esta FIFO
disparará un vaciado parcial o completo de esta FIFO creando así de
nuevo unos saltos en la reproducción
sonora.
sonora.
El segundo procedimiento, más elaborado y más
rendible, necesita la utilización de bucle de recuperación de reloj
material condicionada por el estado de llenado de una memoria tampón
de la señal a descodificar (o a transmitir como por ejemplo en los
AAL1 del ATM). Este procedimiento de condicionado intenta gracias al
bucle de recuperación de reloj recuperar la frecuencia de muestreo
de la fuente. El estado de llenado del buffer de recepción produce
una señal de mando con el fin de condicionar un bucle PLL (digital o
analógico).
El primer procedimiento presenta una extrema
simplicidad de realización pero tiene un gran defecto ligado a la
calidad de los sonidos reproducidos. En efecto, un salto o una
supresión cada 1,25 segundos puede resultar muy desagradable para la
escucha, es el caso de "asincronismo bajo", con corrección del
asincronismo a nivel de la muestra. Asimismo, en el caso de un
sistema que funciona con unas tramas de muestras, las repeticiones o
los huecos introducidos, así como las discontinuidades en la señal
por supresión de tramas amplifican la degradación de calidad hecha
muy perceptible y muy perturbadora para el oyente.
Además, con la utilización de una memoria primera
que entra/primera que sale (FIFO), se corre el riesgo de tomar un
retardo consecuente en la transmisión, lo que perjudica también la
calidad global de la comunicación.
El segundo procedimiento es, a su vez, mucho más
complejo y requiere un mecanismo de acondicionado de reloj y por
tanto un material específico. Por el contrario, el mismo asegura un
sincronismo parcial y evita por tanto los problemas de gestión de
asincronismo. Sin embargo, este procedimiento se adapta mal a unos
sistemas de transmisión discontinua, a unos sistemas con pérdidas de
tramas y también unos sistemas con fuerte distorsión. En estos
casos, la información de sincronización yano está disponible.
Además, este procedimiento no es previsible sobre unas plataformas
de terminales en las que el acondicionado de reloj no es posible,
como es en particular el caso con unos terminales de tipo PC por
ejemplo en el que el sistema de reproducción acústica utilizado
sería la tarjeta de sonido.
Se conoce ya por el documento WO/99 17 584 unas
descripciones que utilizan un procedimiento según el preámbulo de la
reivindicación 1, teniendo estos dispositivos solamente una memoria
tampón.
El documento
US-A-4 703 477 facilita la lectura
de informaciones vocales utilizando un procedimiento de puesta
extremo con extremo de tramas relativas a la misma información
vocal.
Un objetivo general de la invención es proponer
una solución a los problemas de continuidad de la reproducción de la
señal de palabra en presencia de una transmisión asíncrona, y esto
actuando a nivel del receptor, es decir al final de la cadena de
transmisión.
A este fin, la invención propone un procedimiento
según la reivindicación.
Un procedimiento de este tipo es simple de
realizar y asegura una garantía de calidad evitando incrementar
excesivamente el retardo de transmisión y gestionando eficazmente
los huecos en la señal de palabra. Además, no implica ningún
circuito de condicionado de hardware específico, y puede por tanto
adaptarse rápidamente a unas plataformas, terminales y redes
asíncronas diferentes.
Este procedimiento es ventajosamente completado
por las diferentes características siguientes tomadas solas o según
todas sus combinaciones técnicamente posibles:
- se utiliza una detección de actividad vocal y
se suprimen las tramas consideradas como no activas por esta
detección, cuando el porcentaje de llenado está comprendido entre un
primer y un segundo umbrales y se utiliza un tratamiento de
concatenación sobre dos tramas sucesivas, cuando el porcentaje de
llenado está comprendido entre un segundo y un tercer umbrales;
- el primer y el segundo umbrales están
confundidos;
- se detecta a la entrada o a la salida de un
bloque de descodificación que comprende una primera memoria tampón a
la entrada y/o a la salida una eventual trama que falta o que es
errónea o una eventual ausencia de muestras a restituir y se genera
una falsa trama que asegura la continuidad de la reproducción audio
cuando se detecta dicha trama que falta o que es errónea o dicha
ausencia de muestras a restituir;
- en el caso en que el bloque de descodificación
utiliza de forma cíclica su tratamiento de descodificación con
respecto al contenido de la primera memoria tampón, se utiliza con
la misma frecuencia cíclica la detección de una eventual trama que
falta o que es errónea o de una eventual ausencia de muestras a
restituir, interviniendo esta detección con suficiente antelación
con respecto al tratamiento de descodificación de manera que permita
una generación de falsa trama en el momento apropiado;
- no se genera falsa trama cuando interviene una
detección de trama que falta o que errónea sobre una trama para la
cual ha sido detectada ya una ausencia de muestras;
- en el caso en que el sistema es de un tipo que
puede parar voluntariamente de emitir unas tramas, se memoriza de
una trama a la otra el tipo de trama anteriormente generada y se
determina en función de esta información si es preciso generar unas
falsas tramas o unas tramas de silencio;
- en un tratamiento de concatenación de dos
tramas sucesivas se ponderan las muestras de manera que se preste
mayor importancia a las primeras muestras de la primera trama y a
las últimas muestras de la segunda;
- el (o los) umbral(es) es (o son)
adaptativo(s);
- un umbral depende del tiempo pasado con un
porcentaje de llenado superior a un umbral determinado.
La invención se refiere asimismo a un dispositivo
de restitución de una señal de palabra que comprende una primera
memoria tampón que recibe unas tramas codificadas, unos medios que
utilizan un tratamiento de descodificación sobre las tramas
memorizadas en dicha primera memoria tampón, una segunda memoria
tampón que recibe unas tramas descodificadas a la salida de los
medios de descodificación, unos medios de restitución sonora que
reciben las tramas a la salida de la segunda memoria tampón,
caracterizado porque comprende además unos medios para realizar el
procedimiento citado.
Como se comprenderá con la lectura de la
descripción siguiente, estos medios son esencialmente unos medios
informáticos.
Otras características y ventajas de la invención
se pondrán más claramente de manifiesto a partir de la descripción
siguiente que es puramente ilustrativa y no limitativa y que debe
ser leída haciendo referencia a los planos anexos en los que:
- la figura 1 es una representación esquemática
de una cadena de transmisión asíncrona;
- la figura 2 es un esquema que ilustra una
modelización de dicha cadena de transmisión;
- la figura 3 es un esquema de un dispositivo
de recepción;
- la figura 4 ilustra unas señales obtenidas
utilizando un tratamiento de concatenación propuesto según la
invención.
El procedimiento de gestión del asincronismo de
la transmisión propuesto por la invención utiliza dos tratamientos
que corresponden a la adopción de los dos fenómenos previamente
expuestos que son la ausencia de muestras y el exceso de
muestras.
Tal como se ha ilustrado en la figura 3, la
cadena de reproducción de la señal de palabra se descompone en tres
elementos:
- Un bloque 10 de espera de recepción de muestras
o de tramas que provienen de la red. Este bloque 10 contiene una
memoria 11 de tipo FIFO o memoria tampón de tipo circular (que se
denominará "FIFO 1" en lo sucesivo) que permite almacenar
temporalmente las tramas antes de su descodificación.
- Un bloque 12 de descodificación que toma las
tramas salidas del bloque 10, las descodifica, y las almacena a su
vez en una memoria FIFO 13 (que se denominará "FIFO 2" en lo
sucesivo).
- Un bloque de reproducción 14 que tomará las
tramas de muestras decodificadas, y las enviará al sistema de
reproducción sonora 15 cualquiera que sea éste.
Según los terminales y la organización de esta
cadena, la frecuencia de reloj de reproducción sonora (la del
convertidor digital analógico Fcna) no está forzosamente ligada
directamente a todos estos bloques. Estando el bloque 14 en conexión
directa con el sistema de reproducción, éste está directamente
ligado a la frecuencia Fcna. Los demás bloques pueden estar en
conexión más bien con la cadencia llegada de las tramas que
provienen de la red que con esta frecuencia Fcna. En efecto, tomando
el ejemplo de un terminal provisto de un sistema multitareas, y en
el que cada bloque sería efectuado por una tarea específica, las
tareas 10 y 12 podrían estar ligadas por tanto a la recepción de
tramas. La tarea 10 espera una trama de la red, ésta es a
continuación descodificada por la tarea 12 y puesta en la memoria
"FIFO 2".
En cuanto a la tarea 14 cadenciada por Fcna, la
misma enviará, extrayéndolas de la memoria "FIFO 2" unas
muestras en continuo al sistema de reproducción sonora.
Se observa por tanto que en caso "de
asincronismo alto o bajo", es la gestión de la memoria "FIFO
2" la que requerirá un cuidado particular. Asimismo, si la tarea
12 hubiera estado ligada fuertemente a la tarea 14, esta vez habría
sido la memoria "FIFO 1" la que habría requerido una atención
particular.
El mecanismo de acuerdo con el modo de
realización de la invención se presentará aplicando la gestión sobre
la memoria "FIFO 2", pero se verá en el curso de las
explicaciones cómo transponerlo mediante ciertas aplicaciones, a la
gestión de la memoria "FIFO 1".
Para asegurar una reproducción sonora continua en
caso de ausencia de muestras, se tratan en paralelo las dos fuentes
potenciales de ausencia de muestras a restituir. La primera
corresponde a la información de pérdidas de paquetes, y la segunda
corresponde a la información de ausencia de muestras a restituir
(por ejemplo "FIFO 2" vacío), mientras que es necesario enviar
las muestras al sistema de reproducción sonora.
El tratamiento de las pérdidas de tramas o las
tramas erróneas necesita disponer de un sistema de transmisión que
da acceso a la información sobre la pérdida de tramas o la recepción
de tramas erróneas. Este es a menudo el caso, en los sistemas de
transmisión.
Por ejemplo, para unas redes IP, es posible
utilizar el marcado de los paquetes de datos salido de la capa RTP,
que da el número exacto de muestras perdidas entre dos recepciones
de paquetes de códigos audio. Esta información de pérdidas de tramas
o en el caso IP de pérdida de paquetes (que contienen una o varias
tramas de palabra), no será generalmente conocida hasta la recepción
del paquete que siguen al o a los paquetes perdidos.
No existe necesariamente un interés en actuar,
mientras que una o varias tramas válidas pueden ser descodificadas.
De hecho, con los descodificadores de palabra de nueva generación
(codificadores CELP, codificadores por transformada, ...) con una
preocupación de asegurar un mantenimiento de la calidad de
reproducción acústica, es a menudo necesario asegurar un cierto
sincronismo entre el codificador y el descodificador. La pérdida de
este sincronismo codificador-descodificador puede
ser compensada utilizando unos algoritmos de corrección de pérdidas
de tramas ligadas al codificador de palabra utilizado. Estos
algoritmos están por ejemplo previstos en la norma de algunos
codificadores de palabra (por ejemplo: norma ITU G.723. 1). Con la
utilización de codificadores más simples, este mecanismo no es
forzosamente necesario.
Cuando se han perdido un gran número de tramas,
se puede limitar el número de "falsas" tramas de muestras a
generar para evitar llenar inútilmente la memoria "FIFO 2". El
objetivo del tratamiento de generación de falsas tramas es llenar
los huecos de manera que se asegure una continuidad de la señal,
pero también que se alisen las variables internas del descodificador
para evitar divergencias demasiado grandes cuando tiene lugar la
descodificación de la trama válida que sigue a las tramas inválidas
o perdidas, y evitar así una discontinuidad audible. Después de la
generación de algunas tramas se puede considerar las variables como
alisadas, y por tanto limitar esta generación de falsas tramas a un
pequeño número de tramas (por ejemplo 4 a 6), cuando se han perdido
un gran número de
tramas.
tramas.
Como se habrá comprendido, se condiciona así el
tratamiento con respecto a la información de pérdidas de tramas.
Un tratamiento similar es realizado con respecto
a la información de tramas llamadas "tramas no válidas". Esta
información es transmitida al descodificador por la parte de red del
receptor y esto suficientemente pronto para permitir la utilización
de un algoritmo de correcciones de tramas que teniendo en cuenta
esta trama no válida, permite asegurar una continuidad de la señal,
así como evitar otra fuente de ausencia de muestra en la memoria
"FIFO 2".
En resumen, este primer tratamiento corresponde
por tanto a la gestión de una información del tipo "n tramas
perdidas" o "trama recibida no válida" procedente de la capa
de red del receptor. Esta gestión se caracteriza porque utiliza un
algoritmo de corrección de pérdidas de tramas (denominado también en
este documento algoritmo de generación de "falsas" tramas).
Este primer tratamiento actúa por tanto a nivel de la tarea de
descodificación y alimenta la memoria "FIFO 2".
Este segundo tratamiento está ligado al reloj
salido de la tarea 14, es decir al reloj de frecuencia Fcna. En
efecto, como se ha indicado anteriormente, la memoria "FIFO 2"
(o "FIFO 1" si la tarea 12 está imbricada con la tarea 14)
puede no contener ya muestras mientras que es necesario proporcionar
muestras al sistema de restituciones sonoras. Conviene por tanto
proporcionar unas muestras a este sistema de restitución, y si es
posible, evitar restituir unos ceros (lo que degrada en gran manera
la señal sonora).
Este segundo tratamiento puede analizarse como un
bucle de retroacción sobre el descodificado de las tramas. Este
bucle dispara la llamada al algoritmo de correcciones de pérdidas de
tramas y debe por ello ser activado suficientemente pronto para
permitir la ejecución del algoritmo y el envío de las muestras al
sistema de restituciones sonoras. Según la plataforma, la llamada a
esta retroacción podrá ser diferente.
Este bucle puede ser utilizado de dos maneras que
se describirán ahora.
En el caso de un receptor monotarea (por ejemplo
sobre un DSP sin RTOS (Real Time Operating System según la
terminología anglosajona), la parte de descodificador audio está
completamente ligada al reloj del CNA (Fcna), y está por tanto de
forma permanente a la espera de una trama a descodificar de forma
cíclica. Por ejemplo, con un codificador de palabra que utiliza unas
tramas de 30 ms, se construyen unos bucles de espera de periodo
múltiplo de 30 ms.
Así, en el caso de un bucle de 30 ms, el
descodificador, cada 30 ms, estará en espera de una trama a
descodificar dispuesta en la memoria "FIFO 1" (lo que puede
corresponder justamente al paso de una trama de la capa de red a la
tarea 12). A la llegada de ésta, la descodifica y la coloca en la
memoria "FIFO 2" para el envío al CNA. El tratamiento de
retroacción será utilizado por constatación en T = TO + 30
ms-Tc de la ausencia de trama a descodificar en la
memoria "FIFO 1",
en la que TO = tiempo de inicio del bucle de
espera 30 ms,
y Tc = tiempo de ejecución del algoritmo de
generación de falsas tramas con un margen suplementario
correspondiente a las interrupciones y/o a los demás tratamientos
anexos que pueden tener lugar antes del final del bucle.
El tratamiento es por tanto utilizado con el tope
temporal de espera Tb (tiempo de bucle) - Tc (tiempo de cálculo +
margen).
En el caso de un receptor multitarea (caso de un
terminal PC por ejemplo), el tiempo no está gestionado de manera tan
precisa y por tanto un tratamiento un poco diferente debe ser
utilizado entonces. (Observación: este tratamiento resulta bastante
próximo al anterior, puesto que pretende también tener en cuenta el
tiempo Tc).
En dicho caso, sólo se dispone a menudo de bucles
de espera ligados a unos sucesos, por ejemplo el hecho de que unos
paquetes hayan sido recibidos por la red, o también el hecho de que
la memoria tampón "n" (que contiene una o varias tramas de
muestras) enviada anteriormente al sistema de restitución sonora ha
sido leída por el CNA, y está por tanto de nuevo disponible para un
nuevo envío al CNA.
Según la implantación y la necesidad de responder
rápidamente o no al suceso, es posible marcar una temporización
antes del llenado de esta memoria tampón para la reemisión hacia el
CNA. Esta temporización se elige de manera que deje el tiempo
suficiente para la ejecución del algoritmo de generación de
"falsas" tramas (si es necesario).
Después, en caso necesario al final de esta
temporización, el tratamiento verifica la presencia de suficientes
muestras en "FIFO 2" (observación: esto puede ser en "FIFO
1" si la gestión está dispuesta a este nivel), y en caso
contrario solicita la generación del número de falsas tramas
adecuado para llenar la memoria tampón "n".
En el caso en que el sistema es tal que es
preciso llenar "inmediatamente" la memoria tampón "n", el
control de la disponibilidad de muestras y la llamada eventual del
tratamiento de generación de "falsas tramas" son utilizados
directamente después de cada envío de la memoria tampón al CNA, con
el fin de que las muestras generadas estén ya en la memoria "FIFO
2" cuando tiene lugar el suceso memoria tampón "n"
"disponible".
Así, cualquiera que sea el receptor, el
tratamiento constata la ausencia de muestras a enviar al sistema de
restituciones sonoras utilizando un control de llenado de la memoria
tampón "FIFO 2" (o "FIFO 1" según la gestión de la cadena
de reproducción sonora) y activar el algoritmo de generación de
"falsas" tramas para generar las muestras que faltan.
Como se habrá comprendido, el segundo tratamiento
responde en principio al problema de "deslizamiento" de los
relojes, y más precisamente al caso en que el reloj de recepción
(Fcna) es más rápido que el reloj de emisión (Fcan). Interviene
también con respecto al fenómeno de pérdidas de tramas, puesto que
éste puede conducir a una ausencia de muestras a enviar al CNA antes
de que sea detectada la pérdida de tramas, no interviniendo esta
detección hasta la recepción de la trama siguiente a la pérdida.
Para ligar las acciones del primer y del segundo
tratamiento, se impide al primer tratamiento generar unas
"falsas" tramas cuando tiene lugar una detección de pérdidas de
tramas, si las tramas correspondientes acaban de ser generadas por
el segundo tratamiento.
Se utilizan a este fin unas banderas, así como
unos contadores que determinan el número de muestras generadas por
el segundo tratamiento.
Unos codificadores que utilizan un sistema
VAD/DTX/CNG pueden parar voluntariamente de emitir unas tramas; en
este caso, la ausencia de muestras no debe ser considerada
exactamente como una pérdida de tramas, sino como un momento de
silencio. El único medio de determinar si la trama a generar debe
ser silencio o corresponde a una trama perdida, es conocer el tipo
de la trama generada anteriormente (o sea trama de señal o trama
correspondiente a una trama perdida (FSF), o bien trama de
actualización del ruido (SID), o bien trama de silencio (NOT)). A
este fin, se memoriza el tipo de trama generada, y se determina
cuando tiene lugar la generación de tramas para ausencia de trama o
pérdida de trama, si es preciso generar falsas tramas salidas del
algoritmo de correcciones de pérdidas de tramas, (caso de la trama
precedente de tipo FSF), o tramas de silencio activando el
descodificador de manera adecuada (caso de la trama precedente SID o
NOT).
Para tratar el caso de sobreabundancia de
muestras a restituir, se utiliza un tratamiento de vaciado de las
tramas, con supresión parcial o completa de algunas tramas antes de
su eventual aceptación por el sistema de reproducción sonora.
Este tratamiento permite una memorización de las
tramas en las memorias tampones hasta algunos umbrales que disparan
unas acciones para limitar esta memorización y asumir retardo sobre
la cadena de comunicación que ella implica. Esta memorización
limitada permite en efecto tener en cuenta unos fenómenos de
distorsiones de recepción de trama en ráfaga y de deslizamiento de
reloj limitando al mismo tiempo el retardo de transmisión.
La acumulación de tramas es en principio
detectable al nivel de la memoria "FIFO 1", y después es
llevada a continuación a nivel de la memoria "FIFO 2".
El procedimiento propuesto gestiona la
información del llenado de una memoria tampón de referencia, es
decir "FIFO 1" o "FIFO 2" según la implantación de las
tareas 10, 12 y 14 (explicadas anteriormente) en el receptor. En
efecto, si las tareas 12 y 14 están ligadas, la información de
llenado que es utilizada por el procedimiento es la relativa a la
memoria "FIFO 1" que hace de tampón entre la red y el sistema
de reproducción sonora. De la misma manera, si las tareas 10 y 12
están ligadas, es la memoria "FIFO 2" que hace de tampón y por
tanto es su porcentaje de llenado el que es tomado en consideración
para el tratamiento de gestión.
El tratamiento se explicará ahora colocándose en
el segundo caso de la figura. El primer mismo se deduce del mismo de
forma inmediata por transposición.
Con el fin de conservar mejor una sincronización
entre el codificador y el descodificador y por tanto una restitución
sonora óptima, se elige descodificar todas las tramas que vienen de
la red. El tratamiento decide en función de la información de
llenado la acción ligada a la trama descodificada. Esta acción es
detallada a continuación. Para activar el tratamiento, se utilizan
unos umbrales de llenado. Estos umbrales definen unos niveles de
alarma de llenado de la "FIFO". Para actuar de manera lo menos
audible posible (es decir para limitar la degradación de calidad),
se eligen dos niveles de acción. Un primer nivel (nivel de alarma 1)
corresponde a un nivel no crítico de llenado excesivo (lejos del
llenado máximo tolerado), el segundo (nivel de alarma 2) corresponde
a una acción obligatoria sobre cada trama (medianamente próxima al
llenado máximo tolerado). Se ha definido un tercer nivel (nivel de
alarma 3), llamado de seguridad (para evitar desbordados de memoria,
u otro problema). Corresponde a un llenado próximo al máximo
tolerado. Este nivel de alarma de hecho no se alcanza nunca si las
acciones de los dos umbrales precedentes se realizan correctamente y
si los umbrales están correctamente definidos.
Cuando tiene lugar cada descodificación, la
información de llenado es comparada con los umbrales para conocer el
estado de la "FIFO" (en alarma o no), y en caso necesario, el
nivel de la alarma.
Si el estado obtenido no es un estado de alarma,
no se efectúa ninguna acción y la trama descodificada es almacenada
en "FIFO 2".
En el primer estado de alarma, se considera que
por lo menos el 50% de la señal salida de una conversación es
inútil; se suprimen por tanto, en este nivel de alarma, todas las
tramas que solamente presentan muy pocas informaciones. Para ello,
este tratamiento puede utilizar un DAV simple (DAV = Detector de
Actividad Vocal) que escruta todas las tramas de muestras después de
su descodificación y permite decidir su escritura o no en "FIFO
2". El tratamiento puede decidir también a partir de
informaciones directamente extraídas de la trama de códigos la
importancia o no de la información que contiene. En este estado de
alarma, cualquier trama considerada que sólo contiene ruido, no será
almacenada en "FIFO 2" para una futura restitución sonora.
En el segundo estado de alarma (nivel crítico),
es necesario actuar sobre cada trama para limitar muy fuertemente el
incremento del llenado de la memoria "FIFO 2". A este nivel el
tratamiento precedente (es decir el utilizado para el nivel de
alarma 1) permanece activo. Pero esta vez, está obligado a reducir
dos tramas consecutivas a una trama o menos. Por lo tanto, es
preciso tomar una decisión a partir de dos tramas de muestras no
"silenciosas" (en efecto, si una trama es "silenciosa", no
es simplemente escrita en "FIFO 2" (caso del estado de alarma 1
incluido en el estado de alarma 2)). La acción sobre dos tramas
consecutivas no es iniciada por tanto hasta que una trama es
detectada como no "silenciosa". Esta trama es en primer lugar
memorizada, y a continuación si la segunda trama es
"silenciosa", entonces es esta primera trama la que se escribe
en "FIFO 2".
En el caso en que las dos tramas contienen
informaciones importantes, conviene reemplazar estas dos tramas por
una sola minimizando la pérdida de información y la degradación de
calidad. Es esta trama resultante la que será almacenada en "FIFO
2". Cualquier solución eficaz que puede efectuar esta tarea
puede ser utilizada y activada en estas condiciones (segundo estado
de alarma, y dos tramas no "silenciosas"). Se presentan a
continuación dos ejemplos de algoritmos para efectuar esta
tarea.
Según una primera solución algorítmica, se
reemplazan las dos tramas extremo a extremo por una sola en la que
cada coeficiente x_{j} (con j comprendido entre 0 y
N-1 (N número de muestras por tramas)) toma el valor
(x_{i} + x_{i+1})/2 (con i comprendido entre 0 y
2*N-1, las x_{i} provenientes de las dos tramas
originales). Esta solución vuelve en cierto modo a realizar un
submuestreado alisado. La frecuencia de la señal restituida es
entonces doble sobre esta trama. Sin embargo, los inventores han
constatado que cuando el estado de alarma 2 no es muy frecuente,
esta solución es suficiente para mantener la calidad de la
reproducción sonora.
Según una segunda solución, se utiliza una
detección de la altura de la señal para compactar las dos tramas en
una pseudotrama de longitud inferior o igual a la de una trama. El
número de muestras contenidas en esta pseudotrama es determinado por
la información de frecuencia de fundamental ("pitch" según la
terminología anglosajona), pero de todas maneras es inferior o igual
a la longitud de una trama normal, estando de todas maneras próxima
a esta longitud de trama. El algoritmo utilizado permite asegurar
una continuidad de la señal de reproducción sin hueco audible, ni
doblamiento de frecuencia, dividiendo al mismo tiempo el almacenado
de la señal en un factor superior o igual a 2. Esto se explica con
mayor detalle en el párrafo 3.4 siguiente. Además, minimiza también
así la pérdida de informaciones sonoras, suprimiendo de hecho menos
del 50% de la información.
Se observará que en el caso en que el receptor
utiliza su tratamiento a partir de un análisis de "FIFO 1",
estando el descodificador directamente conectado al sistema de
reproducción sonora, debe generarse un número de muestras
suficientes, o bien en este caso asegurar la puesta a disposición de
por lo menos una trama de muestras en "FIFO 2". El algoritmo de
concatenación de tramas es entonces calibrado para generar siempre
un mínimo de muestras, pero por lo menos una trama. Otra solución
puede consistir también en activarlo varias veces en lugar de una
sola vez cuando es necesario para obtener un número de muestras
suficiente.
En el tercer nivel de alarma, normalmente nunca
alcanzado, ninguna trama es almacenada en "FIFO 2". Como
variante, el sistema puede decidir también efectuar un vaciado
brutal de una parte de la memoria tampón (esto podrá ser el caso, si
es la gestión de "FIFO 1" la que es activada).
Se observará también que según las redes y los
tipos de problemas de asincronismo, se puede elegir activar o no
algunos niveles de alarma. Por ejemplo en el caso de "asincronismo
bajo", los niveles de alarma 1 y 2 pueden ser agrupados, y la
solución simple de reemplazado de dos tramas por una sola puede
entonces ser el único tratamiento activo.
Se describirá ahora de forma más detallada los
umbrales de alarma y su gestión.
Como se ha explicado anteriormente, la memoria de
referencia se declara en estado de alarma 1, cuando su llenado es
superior al umbral 1; este estado permanece activo hasta que el
llenado resulta inferior al umbral 0. El estado 1 sigue por tanto en
funcionamiento en forma de histéresis.
La memoria es declarada en estado de alarma 2, si
el llenado resulta superior al umbral 2, y en estado de alarma 3 si
el llenado es superior al umbral 3. Se puede prever también una
gestión de estos estados de alarma por histéresis.
Los umbrales 0, 1 y 2 son adaptativos. El umbral
3 está directamente ligado al tamaño máximo tolerado es fijo. La
adaptación de estos umbrales es necesaria para asumir los diferentes
contextos de las comunicaciones y las fluctuaciones en el curso del
tiempo de ésta. En efecto, conviene poder permitir sin embargo más
retardo cuando hay mucha distorsión en la comunicación (resultando
siendo la adopción de retardo de la reproducción el mejor medio de
asegurar una calidad correcta en presencia de distorsión). En un
contexto de distorsión importante, conviene por tanto tener los
umbrales 0, 1 y 2 a unos niveles bastante elevados.
Para facilitar el tratamiento, la posición de los
umbrales puede corresponder a un número entero del tamaño de las
tramas intercambiadas entre las diferentes tareas del receptor. Sea
Tt este tamaño de tramas.
Los valores iniciales de estos umbrales pueden
por ejemplo ser los siguientes:
Umbral 0: | 5 x Tt |
Umbral 1: | 8 x Tt |
Umbral 2: | 12 x Tt |
Umbral 3: | 24 x Tt (valor fijo) |
Los umbrales 0, 1 y 2 podrán ser adaptados juntos
por paso de tamaño Tt. Los valores extremos admitidos pueden por
ejemplo ser de -1 a +8.
Así, por ejemplo, el umbral 1 puede tomar los
valores 7x, 8x, 9x, 10x, ... 16x Tt. La adaptación propiamente dicha
de los umbrales se realiza a partir de un criterio de adaptación que
es al tiempo pasado en estado de alarma. A este fin, un porcentaje
de estado de alarma es evaluado cada N segundos aproximadamente (por
ejemplo N = 10). Cuando este porcentaje es superior a un umbral dado
(5%) los umbrales de estado de alarma aumentan; cuando por el
contrario estos porcentajes son inferiores a un umbral mínimo
determinado (0,5%), los umbrales de alarma disminuyen. Para evitar
una oscilación demasiado grande del sistema debida a una adaptación
demasiado frecuente de los umbrales, se aplica una histéresis sobre
la decisión de adaptación. En efecto, los umbrales aumentan
realmente sólo un paso en presencia de dos opciones de aumento
consecutivas y disminuyen un paso en presencia de tres opciones de
disminución consecutivas. Transcurre por tanto un mínimo de 2*N
segundos entre dos incrementos de umbrales y 3*N segundos entre dos
decrementos de umbrales. El procedimiento de aumento de los umbrales
puede ser acelerado si un importante porcentaje de tramas está en
alarma. Un procedimiento acelerador consiste en incrementar
directamente los umbrales si por ejemplo el porcentaje de alarma es
superior al 50%.
Evidentemente, los valores de umbrales dados para
los porcentajes de alarma solamente se proporcionan a título
indicativo.
El primer tratamiento es el tratamiento que
dispara la generación de "falsas" tramas por pérdida de tramas
o tramas erróneas. En el caso de que el sistema está en alarma
(sobreabundancia de tramas), resulta inútil generar estas
"falsas" tramas que sólo agravarán el fenómeno de
sobreabundancia. Sin embargo, es importante para la calidad de la
reproducción acústica conservar una sincronización
codificador-descodificador informando al
descodificador de la pérdida de trama (lanzando por ejemplo, una o
dos generaciones de falsas tramas (pero no más)). El tercer
tratamiento actuará en estado de alarma sobre el primer tratamiento
para limitar en gran manera la generación de "falsas
tramas".
El tratamiento de concatenación tiene por
objetivo acortar la duración de una señal audio digital que contiene
palabra o música introduciendo la menor degradación audible posible.
Estando la frecuencia de muestreo determinada y fijada, se disminuye
el número de muestras que son enviadas al aparato de restitución de
sonido. Una solución evidente para acortar una secuencia de N
muestras es extraer M muestras regularmente separadas de la
secuencia en cuestión. Esto provoca el aumento de la frecuencia
fundamental que puede ser molesta al oído sobre todo cuando la
relación M/N es elevada. Además, se corre el riesgo de no respetar
el teorema de muestreo. El tratamiento presentado a continuación
permite acortar una secuencia audio sin modificar la frecuencia
fundamental y sin introducir una degradación audible debida a la
discontinuidad de la señal. Este tratamiento está basado en una
detección del valor del periodo "pitch". El número de las
muestras eliminadas por este algoritmo no puede ser elegido
libremente, es un múltiplo del valor del pitch P. Se puede sin
embargo definir el número mínimo de las muestras a eliminar
N_{emin} que debe verificar la relación N_{emin \ \leq} N/2.
Como en el marco del dispositivo de gestión del asincronismo de una
transmisión audio, el objetivo es suprimir por lo menos 50% de las
muestras. Se fija ventajosamente N_{emin} = N/2. Se supone también
que el valor máximo del pitch P es inferior a la longitud N de la
secuencia a acortar. El número N_{e} de las muestras eliminadas
por el algoritmo es entonces el múltiplo más pequeño del valor del
pitch P que es superior o igual a N_{emin} : N_{e} = kP, en la
que k es un entero positivo, N_{e} \geq N_{emin} >
N_{e}-P. La longitud de la señal de salida es
entonces N_{i} = N-N_{e}, anótese la señal de
entrada a acortar s(n), n = 1, ..., N es la señal de salida
s'(n), n = 1, ..., N_{t}. Para asegurar la continuidad de la señal
de salida, se realiza la fusión progresiva de las primeras y de las
últimas N_{r} muestras de la señal s(n): s'(n) =
s(N_{e} = n).w(n) +
s(n).(1-w(n)), n = 1, ... , N_{r},
en la que w(n) es una función de ponderación tal que 0 \leq
w(n) \leq 1, n =
1, ..., N_{r}, y w(n) \leq w(n + 1), n = 1, ..., N_{1}-1. Por ejemplo, w(n) puede ser simplemente la función lineal w(n) = n/N_{r}. Para una señal no vocalizada no se puede determinar el pitch, N_{e} puede ser fijado libremente.
1, ..., N_{r}, y w(n) \leq w(n + 1), n = 1, ..., N_{1}-1. Por ejemplo, w(n) puede ser simplemente la función lineal w(n) = n/N_{r}. Para una señal no vocalizada no se puede determinar el pitch, N_{e} puede ser fijado libremente.
La figura 4 que representa unas secuencias A, B,
C y D de señales ilustra la utilización del tratamiento en un
ejemplo concreto. La primera secuencia (A) muestra la porción de
señal s(n) de N=640 muestras a acortar en trazo seguido. El
objetivo es acortar esta secuencia por lo menos 320 muestras, sin
cambiar la frecuencia fundamental, y sin introducir una
discontinuidad u otras degradaciones audibles. El pitch de
s(n) varía lentamente, su valor es igual a 49 al principio de
la secuencia y 45 al final de la secuencia. El pitch detectado por
un procedimiento de correlación es P = 47. Así, s(n) será
acortado por k = 7 periodos, o sea N_{e} = kP = 7*47 = 329
muestras.
En este ejemplo se ha elegido la ponderación
lineal. Las secuencias B y C ilustran las dos porciones de señal de
longitud N_{t} = N-N_{e} = 311 ya ponderadas que
serán fusionadas a continuación. La fusión se efectúa sumando estas
dos señales. Sobre la secuencia C, se puede observar que causa de la
ligera variación del pitch, estas dos porciones de señal s(n)
están un poco desfasadas. Gracias a la técnica de fusión utilizada,
no se introduce una discontinuidad en la señal de salida s'(n)
(trazo seguido en la secuencia D). Se observa también en la
secuencia 4 que la señal acortada s'(n) permanece perfectamente en
fase con las señales que preceden y que siguen (línea a trazos en
las figuras 1 y 4).
Claims (11)
1. Procedimiento para la gestión de la
descodificación y de la restitución (14) de una señal sonora, en un
sistema de transmisión asíncrona, según el cual se detecta una
eventual sobreabundancia de llenado de una primera memoria tampón
(11) y/o de una segunda memoria tampón (13) situada(s) a la
entrada y/o a la salida de un bloque de descodificación (12)
comparando el porcentaje de llenado con por lo menos un umbral,
caracterizado porque, según el valor del porcentaje de
llenado,
- se realiza una detección de actividad vocal y
se suprimen las tramas consideradas como no activas por esta
detección,
- se realiza un tratamiento de concatenación
sobre dos tramas sucesivas, para compactarlas en una pseudotrama de
longitud inferior a la de una trama, siendo la relación de reducción
de la longitud de la pseudotrama con respecto a la longitud de las
dos tramas superior o igual a dos.
2. Procedimiento según la reivindicación 1,
caracterizado porque se realiza una detección de actividad
vocal y se suprimen las tramas consideradas como no activas por esta
detección, cuando el porcentaje de llenado está comprendido entre un
primer y un segundo umbral y porque se realiza un tratamiento de
concatenación sobre dos tramas sucesivas, cuando el porcentaje de
llenado está comprendido entre un segundo y un tercer umbrales.
3. Procedimiento según la reivindicación 2,
caracterizado porque el primer y el segundo umbrales están
confundidos.
4. Procedimiento según una de las
reivindicaciones anteriores, caracterizado porque se detecta
a la entrada o a la salida de un bloque de descodificación (12) que
comprende una primera memoria (11) tampón a la entrada y/o a la
salida una eventual trama que falta o que es errónea o una eventual
ausencia de muestras a restitutir y se genera una falsa trama que
asegura la continuidad de la reproducción audio cuando dicha trama
que falta o que es errónea o dicha ausencia de muestras a restituir
es detectada.
5. Procedimiento según la reivindicación 4,
caracterizado porque en el caso en que el bloque de
descodificación (12) utiliza de forma cíclica su tratamiento de
descodificación con respecto al contenido de la primera memoria
tampón (11), se realiza con la misma frecuencia cíclica que la
detección de una eventual trama que falta o errónea o de una
eventual ausencia de muestras a restituir, interviniendo esta
detección con antelación suficiente con respecto al tratamiento de
descodificación de manera que permita una generación de una falsa
trama en el momento apropiado.
6. Procedimiento según una de las
reivindicaciones 4 y 5, caracterizado porque no se genera
ninguna falsa trama cuando una detección de trama que falta o que es
errónea interviene sobre una trama para la que ha sido detectada una
ausencia de muestras.
7. Procedimiento según una de las
reivindicaciones 4 a 6, caracterizado porque en el caso en
que el sistema es de un tipo que puede parar voluntariamente de
emitir unas tramas, se memoriza de una trama a la otra el tipo de
trama generada anteriormente y se determina en función de esta
información si es preciso generar falsas tramas o unas tramas de
silencio.
8. Procedimiento según una de las
reivindicaciones anteriores, caracterizado porque en un
tratamiento de concatenación de dos tramas sucesivas se ponderan las
muestras de manera que se de más importancia a las primeras muestras
de la primera trama y a las últimas muestras de la segunda.
9. Procedimiento según una de las
reivindicaciones anteriores, caracterizado porque el (o los)
umbral(es) es (o son) adaptativo(s).
10. Procedimiento según la reivindicación 9,
caracterizado porque la adaptación de un umbral depende del
tiempo pasado con un porcentaje de llenado superior a un umbral
determinado.
11. Dispositivo de restitución de una señal de
palabra que comprende una primera memoria tampón (11) que recibe
unas tramas codificadas, unos medios que utilizan un tratamiento de
descodificación (12) sobre las tramas memorizadas en dicha primera
memoria tampón (11), una segunda memoria (13) tampón que recibe unas
tramas descodificadas a la salida de los medios de descodificación,
unos medios de restitución sonora (14) que reciben las tramas a la
salida de la segunda memoria tampón (13), caracterizado
porque comprende además unos medios apropiados para detectar una
eventual sobreabundancia de llenado de la primera y/o de la segunda
memoria tampón comparando el porcentaje de llenado con por lo menos
un umbral y unos medios que en función del valor del porcentaje de
llenado, realizan una detección de actividad vocal y suprimen las
tramas consideradas como no activas por esta detección y realizan un
tratamiento de concatenación sobre dos tramas sucesivas, para
compactarlas en una pseudotrama de longitud inferior a la de una
trama, siendo la relación de reducción de la pseudotrama con
respecto a la longitud de las dos tramas superior o igual a dos.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9908081 | 1999-06-24 | ||
FR9908081A FR2795548B1 (fr) | 1999-06-24 | 1999-06-24 | Procede pour la gestion du decodage et de la restitution d'un signal sonore dans un systeme de transmission asynchrone |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2235910T3 true ES2235910T3 (es) | 2005-07-16 |
Family
ID=9547255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES00945982T Expired - Lifetime ES2235910T3 (es) | 1999-06-24 | 2000-06-22 | Procedimiento para la gestion de la descodificacion y de la restitucion de una señal sonora en un sistema de transmision asincrona. |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1192833B1 (es) |
AT (1) | ATE287625T1 (es) |
DE (1) | DE60017565T2 (es) |
ES (1) | ES2235910T3 (es) |
FR (1) | FR2795548B1 (es) |
IL (2) | IL147263A0 (es) |
WO (1) | WO2001001727A1 (es) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI225392B (en) | 2002-01-11 | 2004-12-21 | Kwang-Ho Lee | Cushion for relieving fatigue and reforming sleeping position |
CN103115842B (zh) * | 2013-03-04 | 2015-05-13 | 江苏中烟工业有限责任公司 | 一种再造梗丝回填率的测定方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4703477A (en) * | 1986-02-28 | 1987-10-27 | American Telephone And Telegraph Company At&T Bell Laboratories | Packet information field data format |
US5825771A (en) * | 1994-11-10 | 1998-10-20 | Vocaltec Ltd. | Audio transceiver |
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 |
US5790538A (en) * | 1996-01-26 | 1998-08-04 | Telogy Networks, Inc. | System and method for voice Playout in an asynchronous packet network |
US6175871B1 (en) * | 1997-10-01 | 2001-01-16 | 3Com Corporation | Method and apparatus for real time communication over packet networks |
-
1999
- 1999-06-24 FR FR9908081A patent/FR2795548B1/fr not_active Expired - Fee Related
-
2000
- 2000-06-22 IL IL14726300A patent/IL147263A0/xx active IP Right Grant
- 2000-06-22 WO PCT/FR2000/001734 patent/WO2001001727A1/fr active IP Right Grant
- 2000-06-22 ES ES00945982T patent/ES2235910T3/es not_active Expired - Lifetime
- 2000-06-22 DE DE60017565T patent/DE60017565T2/de not_active Expired - Lifetime
- 2000-06-22 AT AT00945982T patent/ATE287625T1/de not_active IP Right Cessation
- 2000-06-22 EP EP00945982A patent/EP1192833B1/fr not_active Expired - Lifetime
-
2001
- 2001-12-24 IL IL147263A patent/IL147263A/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
FR2795548B1 (fr) | 2001-09-21 |
FR2795548A1 (fr) | 2000-12-29 |
EP1192833B1 (fr) | 2005-01-19 |
IL147263A (en) | 2006-12-10 |
EP1192833A1 (fr) | 2002-04-03 |
ATE287625T1 (de) | 2005-02-15 |
WO2001001727A1 (fr) | 2001-01-04 |
DE60017565D1 (de) | 2005-02-24 |
DE60017565T2 (de) | 2006-02-23 |
IL147263A0 (en) | 2002-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2287133T3 (es) | Configuracion y metodo relativo a la comunicacion del habla. | |
ES2342357T3 (es) | Transmision y recepcion de material de audio y/o video. | |
ES2266281T3 (es) | Metodo y sistema para ocultacion de error en tramas de voz en la decodificacion de voz. | |
KR101290425B1 (ko) | 소거된 스피치 프레임을 복원하는 시스템 및 방법 | |
ES2836220T3 (es) | Sistema y procedimiento de recuperación de errores de transmisión de paquetes basada en redundancia | |
ES2298261T3 (es) | Disimulacion de errores de transmision en una señal de audio. | |
ES2355039T3 (es) | Método y aparato destinados a una memoria temporal supresora de fluctuación en retardos adaptativa. | |
ES2325151T3 (es) | Sistema de comunicacion vocal y procedimiento para gestionar tramas perdidas. | |
KR101877699B1 (ko) | 지터-제거 버퍼 업데이트 | |
ES2642352T3 (es) | Control de búfer de fluctuación, decodificador de audio, método y programa informático | |
ES2573113T3 (es) | Dispositivos, procedimientos y producto de programa de ordenador para codificar y descodificar adaptativamente una señal con marcas de agua | |
JP2005534955A (ja) | 記憶した音声を圧縮する方法及びシステム | |
WO2005109401A1 (ja) | 音響信号のパケット通信方法、送信方法、受信方法、これらの装置およびプログラム | |
ES2390181T3 (es) | Procedimiento y aparato para procesar una señal de audio | |
JP5713296B2 (ja) | 信号ソースに関連付けられた少なくとも1つのパラメータを符号化するための装置および方法 | |
ES2340545T3 (es) | Control de escalado en el tiempo de una señal de audio. | |
TW200917764A (en) | System and method for providing AMR-WB DTX synchronization | |
ES2235910T3 (es) | Procedimiento para la gestion de la descodificacion y de la restitucion de una señal sonora en un sistema de transmision asincrona. | |
ES2526125T3 (es) | Procedimiento para hacer que una señal musical sea compatible con un códec de transmisión discontinua; y dispositivo para la implementación de dicho procedimiento | |
KR100332526B1 (ko) | 통신 매체를 통한 필요 오디오 정보의 전송 시스템 및 방법 | |
ES2286714T3 (es) | Ocultacion de errores en sistemas multicanales de audio. | |
RU2005115469A (ru) | Сигнализация внедренных данных | |
JPH0136119B2 (es) | ||
JP2713163B2 (ja) | 動画像符号化装置および動画像蓄積装置 | |
JP2002287800A (ja) | 音声信号処理装置 |