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
Application number
ES00945982T
Other languages
English (en)
Inventor
David Deleam
Balazs Kovesi
Jean-Pierre Petit
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Application granted granted Critical
Publication of ES2235910T3 publication Critical patent/ES2235910T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/64Hybrid switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5671Support of voice
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer 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.
Presentación general del campo de la invención
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.
Presentación del estado de la técnica Exposición del problema general
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".
El asincronismo bajo
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.
El asincronismo alto
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.
Descripción de los diferentes procedimientos existentes
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.
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.
Presentación de la invención
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.
Presentación de las figuras
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.
Descripción detallada de uno o varios modos de realizació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.
1. Presentación de la cadena de reproducción sonora de una aplicación clásica de transmisión
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".
2. Ausencia de muestras
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.
2.1. Pérdida de tramas, o tramas erróneas
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.
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".
2.2. Ausencia de muestras a restituir
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.
2.3. Acciones específicas en el caso de codificadores de palabra que utilizan la funcionalidad VAD/DTX/CNG
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).
3. Sobreabundancia de muestras a restituir
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.
3.2. Tratamiento de vaciado
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.
3.2. Umbrales de alarma
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.
3.3. Interacción con el primer tratamiento
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".
3.4. Concatenación de 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.
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.
ES00945982T 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. Expired - Lifetime ES2235910T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) 音声信号処理装置