ES2255991T3 - Metodo y aparato para generacion de numero aleatorios de velocidad un octavo para codificadores de voz. - Google Patents

Metodo y aparato para generacion de numero aleatorios de velocidad un octavo para codificadores de voz.

Info

Publication number
ES2255991T3
ES2255991T3 ES00914512T ES00914512T ES2255991T3 ES 2255991 T3 ES2255991 T3 ES 2255991T3 ES 00914512 T ES00914512 T ES 00914512T ES 00914512 T ES00914512 T ES 00914512T ES 2255991 T3 ES2255991 T3 ES 2255991T3
Authority
ES
Spain
Prior art keywords
random
voice
values
variables
variable
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
ES00914512T
Other languages
English (en)
Inventor
Chienchung Chang
Tao Shen
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2255991T3 publication Critical patent/ES2255991T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/012Comfort noise or silence coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

Un método de codificación de tramas de silencio que comprende los pasos de: generación de valores de una primera variable aleatoria; almacenamiento de valores de una segunda variable aleatoria, comprendiendo la segunda variable aleatoria una transformada inversa de una función de distribución acumulativa de la primera variable aleatoria; y codificación (10, 16, 100) de tramas de silencio con los valores de la primera y segunda variables aleatorias; y regeneración (14, 20, 200) de tramas de silencio con los valores de la primera y segunda variables aleatorias, donde: dicho almacenamiento comprende el almacenamiento de los valores de la segunda variable aleatoria en una tabla de búsqueda que se direcciona por medio de los valores de la primera variable aleatoria.

Description

Método y aparato para generación de números aleatorios de velocidad un octavo para codificadores de voz.
Antecedentes de la invención I. Ámbito de la invención
La presente invención pertenece genéricamente al campo del proceso de voz, y más específicamente a un método y un aparato para generación de números aleatorios de velocidad un octavo para codificadores de voz.
II. Antecedentes
La transmisión de voz por técnicas digitales se ha generalizado, particularmente en aplicaciones de larga distancia y radioteléfono digital. Esto, a su vez, ha producido interés en determinar la menor cantidad de información que se puede enviar sobre un canal mientras se mantiene la calidad percibida de la voz reconstruida. Si la voz se transmite simplemente por muestreo y digitalización, se requiere una velocidad de datos del orden de sesenta y cuatro kilobits por segundo (kbps) para lograr una calidad de voz de teléfono analógico convencional. Sin embargo, mediante el uso del análisis de voz, seguido por la adecuada codificación, transmisión, y resintetización en el receptor, se puede lograr una reducción importante en la velocidad de datos.
Los dispositivos que emplean técnicas para comprimir voz extrayendo parámetros que la relacionan con el modelo de humano de generación de voz se llaman codificadores de voz. Un codificador de voz divide la señal de voz entrante en bloques de tiempo, o tramas de análisis. Los codificadores de voz típicamente comprenden un codificador y un decodificador o un codec. El codificador analiza la trama de voz entrante para extraer ciertos parámetros relevantes, y entonces cuantifica los parámetros en representación binaria, es decir, en un conjunto de bits o un paquete de datos binarios. Los paquetes de datos se transmiten entonces sobre el canal de comunicación a un receptor y un decodificador. El decodificador procesa los paquetes de datos, los descuantifica para producir los parámetros, y luego resintetiza las tramas de voz usando los parámetros descuantificados.
La función del codificador de voz es comprimir la señal digitalizada de voz en una señal de baja velocidad de bit quitando todas las redundancias naturales inherentes a la voz. La compresión digital se logra representando la trama de voz entrante con un conjunto de parámetros y empleando cuantificación para representar los parámetros con un conjunto de bits. Si la trama de voz entrante tiene un número de bits N_{i} y el paquete de datos producido por el codificador de voz tiene un número de bits N_{o}, el factor de compresión logrado por el codificador de voz es C_{r} = N_{i}/N_{o}. El reto es mantener alta calidad de voz de la voz decodificada al tiempo que se logra el factor de compresión objetivo. El rendimiento de un codificador de voz depende de (1) cuan bien funciona el modelo de voz, o la combinación del proceso de síntesis y análisis descritos arriba, y (2) cuan bien se realiza el proceso de cuantificación de parámetros a la velocidad de bit objetivo de N_{o} bits por trama. La meta del modelo de voz es por tanto capturar la esencia de la señal de voz, o la calidad de voz objetivo, con un conjunto pequeño de parámetros para cada
trama.
Un bien conocido codificador de voz es el codificador Lineal Predictivo Activado por Código (CELP) descrito en L. B. Rabiner & R.W. Schafer, Procesamiento Digital de Señales de Voz 396-453 (1978). En un codificador CELP, las correlaciones a corto plazo, o redundancias, en la señal de voz son eliminadas mediante análisis predictivo lineal (LP), que encuentra los coeficientes de un filtro formante a corto plazo. Aplicando el filtro de predicción a corto plazo a la trama entrante de voz se genera una señal residuo LP, que es adicionalmente modelada y cuantificada con parámetros de filtro de predicción a largo plazo y un subsiguiente libro de claves estocástico. Por tanto, la codificación CELP divide la tarea de codificación de la forma de onda de voz en el dominio del tiempo en tareas separadas de codificar los coeficientes de filtro LP a corto plazo y codificar el residuo LP. Un ejemplar de codificador CELP de velocidad variable se describe en la Patente de EE.UU. No. 5,414,796, que se asigna al cesionario de la presente la invención. También se describe un vocodificador de velocidad variable en la patente U.S. No. 5,657,420.
En los codificadores convencionales de voz, la ausencia de voz o el silencio se codifica frecuentemente a velocidad un octavo (a diferencia de la velocidad plena, mitad, o un cuarto en un codificador de voz de velocidad variable) en vez de simple ente no codificarse. Para codificar el silencio a velocidad un octavo, se mide la energía de la trama actual de voz, se cuantifica, y se transmite al decodificador. en El lado decodificador se reproduce después un ruido de comfort (para el oyente) con la energía equivalente. El ruido se modela comúnmente como ruido gaussiano blanco. Hay varios métodos para generar ruido gaussiano aleatorio en un procesador digital de señal (DSP), incluyendo, p. ej., usando el teorema central del límite con dos variables aleatorias estadísticamente independientes, idénticamente distribuidas con probabilidad distribución uniforme. Sin embargo, debe realizarse un cálculo intensivo, incluyendo transformaciones u operaciones matemáticas no lineales como calcular las raíces cuadradas de las variables aleatorias, transformaciones de seno y coseno, funciones logarítmicas, etc. Estas operaciones requieren alta capacidad de memoria y son sumamente intensivas en cálculo. Por ejemplo, el cálculo del seno y el coseno de una función requiere calcula una expansión en serie de Taylor de la función. Por tanto, hay una necesidad de un de codificación y decodificación que reduzca las necesidades de memoria y los requerimientos computacionales.
Resumen de la invención
La presente invención va dirigida a un método de codificación y decodificación que reduce las necesidades de memoria y los requerimientos computacionales. Consiguientemente, un codificador de voz incluye convenientemente un generador de números aleatorios configurado para generar valores de una primera variable aleatoria; un medio de almacenamiento acoplado al generador de números aleatorios, conteniendo el medio de almacenamiento valores de una segunda variable aleatoria, comprendiendo la segunda variable aleatoria una transformada inversa de una función de distribución acumulativa de la primera variable aleatoria; y un codec acoplado al generador de números aleatorios, estando el codec configurado para codificar tramas entrantes de silencio con los valores de la primera y segunda variables aleatorias y para regenerar las tramas de silencio con los valores de la primera y segunda variables
aleatorias.
En un de aspecto de la invención, un método de codificación de tramas de silencio ventajosamente incluye generar valores de una primera variable aleatoria; almacenar valores de una segunda variable aleatoria, la segunda variable aleatoria comprendiendo una transformada inversa de una función de distribución acumulativa de la primera variable aleatoria; codificación de tramas de silencio con los valores de la primera y segunda variables aleatorias; y regeneración de las tramas de silencio con los valores de la primera y segunda variables aleatorias, donde los valores de la segunda variable aleatoria se almacenan en una tabla de búsqueda que se direcciona mediante los valores de la primera variable aleatoria.
En otro aspecto de la invención, un codificador de voz ventajosamente incluye medios para generar valores de una primera variable aleatoria; medios para almacenar valores de una segunda variable aleatoria, comprendiendo la segunda variable aleatoria una transformada inversa de una función de distribución acumulativa de la primera variable aleatoria; y medios para codificación de tramas de silencio con los valores de la primera y segunda variables aleatorias; y medios para regenerar las tramas de silencio con los valores de la primera y segunda variables aleatorias, donde los medios para almacenar comprenden una tabla de búsqueda que se direcciona mediante los valores de la primera variable aleatoria.
Breve descripción de los dibujos
La Fig. 1 es un diagrama de bloques de un canal de comunicación terminado en cada extremo por codificadores de voz.
La Fig. 2 es un diagrama de bloques de un codificador.
La Fig. 3 es un diagrama de bloques de un decodificador.
La Fig. 4 es un diagrama de flujo que ilustra un proceso de decisión de codificación de voz.
La Fig. 5 es un gráfico de una función de densidad de probabilidad de una variable aleatoria en función de la variable aleatoria.
La Fig. 6 es un gráfico de una función de distribución acumulativa de una variable aleatoria en función de la variable aleatoria.
La Fig. 7 es una tabla de datos gaussianos para una tabla de búsqueda.
Descripción detallada de las realizaciones preferidas
En la Fig. 1 un primer codificador 10 recibe muestras de voz digitalizada s(n) y codifica las muestras s(n) para su transmisión sobre un medio de transmisión 12, o canal de comunicación 12, a un primer decodificador 14. El decodificador 14 decodifica las muestras de voz codificadas y sintetiza una señal de voz de salida s_{SYNTH}(n). Para la transmisión en la dirección opuesta, un segundo codificador 16 codifica muestras de voz digitalizada s(n), que se transmiten sobre un canal de comunicación 18. Un segundo decodificador 20 recibe y decodifica las muestras de voz codificadas, generando una señal de salida de voz sintetizada s_{SYNTH}(n).
Las muestras de voz s(n) representan señales de voz que se han digitalizado y cuantificado de conformidad con cualquiera de los diversos métodos conocidos en la técnica incluyendo, p. ej., modulación de código de impulso (PCM), ley \mu o ley A comprimida expandida. Como es conocido en la técnica, la muestras de voz s(n) se organizan en tramas de datos entrantes donde cada trama comprende un número predeterminado de muestras de voz digitalizada s(n). En una realización ejemplar, se emplea un valor de muestreo de 8 kHz, comprendiendo cada trama de 20 ms 160 muestras. En las realizaciones descritas más adelante, el valor de transmisión de datos puede variarse convenientemente sobre la base de trama a trama desde 13.2 kbps (valor total) a 6.2 kbps (valor medio) a 2.6 kbps (valor cuarto) a 1 kbps (valor octavo). Variar la velocidad de transmisión de datos es ventajoso porque se puede emplear selectivamente una velocidad de bit inferior para tramas que contienen relativamente menos información de voz. Como se entenderá por aquellos con experiencia en la técnica, pueden usarse otras velocidades de muestreo, tamaños de trama, y velocidades de transmisión de datos.
El primer codificador 10 y el segundo decodificador 20 juntos comprenden un primer codificador de voz, o codec de voz. Igualmente, el segundo codificador 16 y el primer decodificador 14 juntos comprenden un segundo codificador de voz. Se entiende por aquellos con experiencia en la técnica que esos codificadores de voz pueden implementarse con un procesador digital de señal (DSP), un circuito integrado de aplicación específica (ASIC), lógica de puertas discretas, microprogramación, o cualquier módulo convencional de software programable y un microprocesador. El módulo de software podría residir en memoria RAM, memoria flash, registros, o cualquier otra forma de medio grabable de almacenamiento conocido en la técnica. Alternativamente, cualquier procesador convencional, controlador, o máquina de estados podría sustituirse por el microprocesador. La patente US No. 5,727,123, asignada al cesionario de la presente invención, y la patente US No. 5,784,532, asignada al cesionario de la presente invención, describen ASICs ejemplares diseñados específicamente para codificación de voz.
En la Fig. 2 un codificador 100 que puede usarse en un codificador de voz incluye un módulo de decisión de modo 102, un módulo de estimación de tono 104, un módulo de análisis LP 106, un filtro de análisis LP 108, un módulo de cuantificación LP 110, y un módulo de cuantificación de residuo 112. Se proporcionan tramas de voz entrantes s(n) al módulo de decisión de modo 102, al módulo de estimación de tono 104, al módulo de análisis LP 106, y al filtro de análisis LP 108. El módulo de decisión de modo 102 produce un índice de modo I_{M} y un modo M basados en la periodicidad de cada trama de voz entrante s(n). En la patente U.S. No. 5,911,128, titulada "Método y aparato para realización de vocodificacion a velocidad reducida y velocidad variable", asignada al cesionario de la presente invención, se describen diversos métodos para clasificar tramas de voz según su periodicidad. Tales métodos se incorporan también en los Estándares Provisionales de la Asociación de Industrias de Telecomunicación TIA/EIA IS - 127 y TIA/EIA IS - 733.
El módulo de estimación de tono 104 produce un índice de tono I_{P} y un valor de retardo P_{0} basados en cada trama de voz entrante s(n). El módulo de análisis LP 106 realiza análisis predictivo lineal sobre cada trama de voz entrante s(n) para generar un parámetro LP a. El parámetro LP a se proporciona al módulo de cuantificación LP 110. El módulo de cuantificación LP 110 también recibe el modo M. El módulo de cuantificación LP 110 produce un índice LP I_{LP} y un parámetro cuantificado LP â. El filtro de análisis LP 108 recibe el parámetro cuantificado LP â además de la trama de voz entrante s(n). El filtro de análisis LP 108 genera una señal de residuo LP R[n], que representa el error entre las tramas de voz entrantes s(n) y la voz reconstruida basándose en los parámetros pronosticados lineales cuantificados â. â. El residuo LP R[n], el modo M, y el parámetro cuantificado LP â se proporcionan al módulo de cuantificación de residuo 112. Basado en estos valores, el módulo de cuantificación de residuo 112 produce un índice de residuo I_{R} y una señal de residuo cuantificada \hat{R}.
En la Fig. 3 un decodificador 200 que puede usarse en un codificador de voz incluye un módulo de decodificación de parámetro LP 202, un módulo de decodificación de residuo 204, un módulo de decodificación de modo 206, y un filtro de síntesis LP 208. El módulo de decodificación de modo 206 recibe y decodifica un índice de modo I_{M}, generando a partir del mismo un modo M. El módulo de decodificación de parámetro LP 202 recibe el modo M y un índice LP I_{LP}. El módulo de decodificación de parámetro LP 202 decodifica los valores recibidos para producir un parámetro cuantificado LP â. El módulo de decodificación de residuo 204 recibe un índice de residuo I_{R}, un índice de tono I_{P}, y el índice de modo I_{M}. El módulo de decodificación de residuo 204 decodifica los valores recibidos para generar una señal cuantificada de residuo \hat{R}[n]. La señal cuantificada de residuo \hat{R}[n] y el parámetro cuantificado LP â se proporcionan al filtro de síntesis LP 208, que a partir de ahí sintetiza una señal de voz de salida decodificada \hat{s}[n].
El funcionamiento e implementación de los diversos módulos del codificador 100 de la Fig. 2 y del decodificador 200 de la Fig. 3 se conocen en la técnica y se describen en la antes citada patente U.S. No. 5,414,796 y en L.B. Rabiner & R.W. Schafer, Procesamiento Digital de Señales de Voz 396-453 (1978).
Como se ilustra en el diagrama de flujo de la Fig. 4, un codificador de voz según una realización, sigue un conjunto de pasos en el procesamiento de muestras de voz para transmisión. El codificador de voz (no mostrado) puede ser un codificador lineal predictivo activado por código (CELP) de 8 kilobits por segundo (kbps) o un codificador CELP de 13 kbps, como el vocodificador de velocidad variable descrito en la antes citada patente U.S. No. 5,414,796. En la alternativa, el codificador de voz puede ser un codificador de velocidad variable perfeccionado (ERVC) de acceso múltiple por división de código (CDMA).
En el paso 300 el codificador de voz recibe muestras digitales de una señal de voz en tramas sucesivas. Tras recibir una trama determinada, el codificador de voz continua hasta el paso 302. En el paso 302 el codificador de voz detecta la energía de la trama. La energía es una medida de la actividad vocal de la trama. La detección de voz se realiza sumando los cuadrados de las amplitudes de las muestras digitalizadas de voz y comparando la energía resultante con un valor umbral. En una realización, el valor de umbral se adapta basándose en el nivel cambiante de ruido de fondo. Un detector de actividad de voz de umbral variable ejemplar se describe en la antes citada patente U.S. No. 5,414,796. Algunos sonidos sordos de voz pueden ser muestras de energía sumamente baja que pueden ser codificados erróneamente como ruido de fondo. Para impedir esto, la inclinación espectral de muestras de baja energía puede usarse para distinguir la voz sorda del ruido de fondo, como se describe en la antes citada patente U.S. No. 5,414,796.
Después de detectar la energía de la trama, el codificador de voz continúa hasta el paso 304. En el paso 304 el codificador de voz determina si la energía detectada de trama es suficiente para clasificar la trama como las que contienen información de voz. Si la energía detectada de trama cae por debajo de un nivel umbral predefinido, el codificador de voz continúa hasta el paso 306. En el paso 306 el codificador de voz codifica la trama como ruido de fondo (es decir, sin voz, o silencio). En una realización, la trama de ruido de fondo se codifica a una velocidad 1/8, o 1 kbps. Si en el paso 304 la energía detectada de trama alcanza o excede el nivel de umbral predefinido, la trama se clasifica como voz y el codificador de voz continúa hasta el paso 308.
En el paso 308 el codificador de voz determina si la trama es voz sorda, es decir, el codificador de voz examina la periodicidad de la trama. Los diversos métodos conocidos de determinación de periodicidad incluyen, p. ej., el uso de cruces por cero y el uso de funciones de autocorrelación normalizadas (NACFs). En particular, el uso de cruces por cero y de NACFs para detectar la periodicidad se describe en la antes citada patente U.S. No. 5,911,128. Además, los anteriores métodos usados para distinguir voz hablada de voz sorda se incorporan en los Estándares Provisionales de la Asociación de Industrias de Telecomunicación TIA/EIA IS - 127 y TIA/EIA IS - 733. Si se determina que la trama es voz sorda en el paso 308, el codificador de voz continúa hasta el paso 310. En el paso 310 el codificador de voz codifica la trama como voz sorda. En una realización, las tramas de voz sorda son codificadas a velocidad un cuarto, o 2.6 kbps. Si en el paso 308 la trama no es determinada como voz sorda, el codificador de voz continúa hasta el paso 312.
En el paso 312 el codificador de voz determina si la trama es voz transicional, usando los métodos de detección de periodicidad que se conocen en la técnica, como los descritos en, p. ej., la antes citada patente U.S. No. 5,911,128. Si la trama se determina que es voz transicional, el codificador de voz continúa hasta el paso 314. En el paso 314 la trama se codifica como voz de transición (es decir, transición desde voz sorda a voz hablada). En una realización, la trama de voz de transición se codifica a velocidad plena, o 13.2 kbps.
Si en el paso 312 el codificador de voz determina que la trama no es voz transicional, el codificador de voz continúa hasta el paso 316. En el paso 316 el codificador de voz codifica la trama como voz hablada. En una realización las tramas de voz pueden ser codificadas a velocidad total, o 13.2 kbps.
En una realización, el codificador de voz usa una tabla de búsqueda (LUT) (no mostrada) en el paso 306 para codificar tramas de silencio a velocidad 1/8. En la Fig. 7 se ilustran datos a modo de ejemplo para una LUT de acuerdo con una realización específica en forma de tabla. La LUT puede implementarse favorablemente con una memoria ROM, pero en vez de esta puede ser un medio de almacenamiento implementado con cualquier forma convencional de memoria no volátil. Una variable aleatoria gaussiana una media de cero y una varianza de uno se genera ventajosamente para codificar las tramas de silencio. En una realización específica, el codificador de voz se implementa como parte de un procesador digital de señal. Las instrucciones de microprogramación son usadas por el codificador de voz para generar la variable aleatoria y para acceder a la LUT. En realizaciones alternativas, podría usarse un módulo de software contenido en memoria RAM para generar la variable aleatoria y para acceder la LUT. Alternativamente, podría generarse la variable aleatoria con componentes discretos de hardware como registros y FIFO.
Como se muestra en la Fig. 5, una función de densidad de probabilidad (pdf) f_{X}(x) de una variable aleatoria gaussiana X es una curva en forma de campana centrada alrededor de la media m con unadesviación estándar \sigma y varianza \sigma^{2}. La pdf gaussiana f_{X}(x) satisface la siguiente ecuación:
f_{x}(X) = \frac{1}{\sqrt{2\Pi\sigma^{2}}} \ e^{- \tfrac{(x-m)^{2}}{2\sigma^{2}}}
La función de distribución acumulativa (cdf) F_{X}(x) se define como la probabilidad de que la variable aleatoria X sea menor que o igual que un valor particular X en un momento determinado. Por consiguiente,
10
Como se muestra en la Fig. 6, la cdf F_{X}(x) se aproxima a uno según la variable aleatoria x se aproxima a infinito, y se aproxima a cero según x se acerca al infinito negativo. Una segunda variable aleatoria, Y, que es igual a F_{X}(X), es una variable aleatoria que está uniformemente distribuida entre cero y uno independientemente de la distribución de X, en el supuesto que X sea una variable aleatoria gaussiana con media cero y varianza uno. Tomando la transformación inversa de Y se produce X = F^{-1}(Y).
En los codificadores de voz convencionales un par de funciones gaussianas estadísticamente independientes, U y V, cada una con una media de cero y una varianza de uno, se calculan a partir de un par de variables aleatorias estadísticamente independientes W y Z de acuerdo con las ecuaciones siguientes:
U = \sqrt{-21nW}
\;
cos2\Pi Z
V = \sqrt{-21nW}
\;
sen2\Pi Z
Las variables aleatorias W y Z son estadísticamente independientes, idénticamente distribuidas, y uniformemente distribuidas entre cero y uno. Sin embargo, los cálculos de arriba requieren los cálculos de seno y coseno (que requieren el cálculo de una expansión en serie Taylor), cálculos logarítmicos y de raíz cuadrada. Estos cálculos necesitan capacidades de proceso relativamente grandes y requerimientos de memoria. Por ejemplo, este codificador de voz convencional se define en la Norma Interina TIA/ EIA IS - 127, "Codec de Velocidad Variable Perfeccionado, Opción 3 de Servicio de Voz para Sistemas Digitales de Espectro Expandido de Banda Ancha". El codec de voz definido consume una cantidad relativamente grande de potencia computacional en la plataforma para velocidad un octavo de codificación y decodificación.
En la realización descrita, se usa una LUT para eliminar la necesidad de realizar los anteriores cálculos. Como Y = F_{X}(X), la transformación inversa dicta que X = F^{-1}(Y). Como se afirmó más arriba, X puede ser cualquier distribución. La LUT se basa convenientemente sobre la cdf de una variable aleatoria gaussiana con media de cero y varianza de uno, como se representa en la Fig. 7. En una realización particular, Y se cuantifica en 256 niveles entre cero y uno porque Y está uniformemente distribuida entre cero y uno. Se genera un número aleatorio entre cero y uno para producir los valores de Y. Los números aleatorios gaussianos correspondientes, X, se calculan por adelantado de acuerdo con la ecuación de transformación inversa y se almacenan en la LUT. La LUT, que se direcciona mediante los valores de Y, se usa para transformar cuantifica los valores de Y cuantificados en valores X.
En una realización, la cuantificación de Y entre cero y uno en 256 niveles emplea una LUT cuyo tamaño es reducido por la mitad. Como comprenderán aquellos con experiencia en la técnica , la reducción por la mitad en el tamaño de la LUT es posible a causa de la antisimetría de la cdf, F_{X}(x), alrededor F_{X}(x) = 0.5. En otras palabras, F_{X}(m+x) = 0.5 - F_{X}(m-x), donde m es la media de F_{X}(x), de forma que F^{-1}(y+0.5) = - F^{-1}(- y+0.5). En una realización alternativa, el tamaño de la LUT no es reducido a la mitad, sino que a cambio se aumenta la resolución (es decir, se reduce el error de cuantificación ).
Por tanto, se ha descrito un aparato y un método novedosos para generación de números aleatorios de velocidad un octavo para codificadores de voz . Aquellos con experiencia en la técnica comprenderán que los diversos bloques lógicos y pasos de algoritmo ilustrativos descritos en relación con las realizaciones aquí descritas pueden implementarse o realizarse con un procesador digital de señal (DSP), un circuito integrado de aplicación específica (ASIC), lógica de puerta discreta de transistor o, componentes discretos electrónicos tales como, p. ej., registros y FIFO, un procesador que ejecuta un conjunto de instrucciones de microprogramación, o cualquier módulo de software convencional programable y un procesador. El procesador puede ser convenientemente un microprocesador, pero en la alternativa, el procesador puede ser cualquier procesador, controlador, microcontrolador, o máquina de estados convencional. El módulo de software puede residir en memoria RAM, memoria flash, registros, o cualquier otra forma de medio de almacenamiento grabable conocido en la técnica. Aquellos con experiencia apreciarán además que los datos, instrucciones, comandos, señales de información, símbolos de bit, y chips, que pudieran referenciarse a lo largo de la anterior descripción son representados ventajosamente por voltajes, corrientes, ondas electromagnéticas, partículas o campos magnéticos, partículas o campos ópticos, o cualquier combinación de los mismos.
Por tanto se han mostrado y descrito realizaciones preferidas de la presente invención. Resultará evidente sin embargo a aquellos con experiencia en la técnica, que pueden hacerse numerosas alteraciones a las realizaciones aquí reveladas sin apartarse del alcance de la invención. Por lo tanto, la presente invención no está limitada excepto de acuerdo con las reivindicaciones siguientes.

Claims (8)

1. Un método de codificación de tramas de silencio que comprende los pasos de:
generación de valores de una primera variable aleatoria;
almacenamiento de valores de una segunda variable aleatoria, comprendiendo la segunda variable aleatoria una transformada inversa de una función de distribución acumulativa de la primera variable aleatoria; y
codificación (10,16,100) de tramas de silencio con los valores de la primera y segunda variables aleatorias; y
regeneración (14,20,200) de tramas de silencio con los valores de la primera y segunda variables aleatorias, donde:
dicho almacenamiento comprende el almacenamiento de los valores de la segunda variable aleatoria en una tabla de búsqueda que se direcciona por medio de los valores de la primera variable aleatoria.
2. El método de la reivindicación 1, donde la codificación (10,16,100) se realiza a un valor de 1 kbps.
3. El método de la reivindicación 1, donde: un primer par de variables aleatorias que incluye a la segunda variable aleatoria es generada cada una a partir de un segundo par de variables aleatorias que incluye la primera variable aleatoria; las variables de cada par son estadísticamente independientes una de la otra; las variables del primer par son variables aleatorias gaussianas ; y las variables del segundo par se distribuyen uniformemente entre cero y uno.
4. Un codificador de voz que comprende:
medios para generación de valores de un primera variable aleatoria;
medios para almacenamiento de valores de una segunda variable aleatoria, la segunda variable aleatoria comprende una transformada inversa de una función de distribución acumulativa de la primera variable aleatoria; y
medios (10,16,100) para codificación de tramas de silencio con los valores de la primera y segunda variables aleatorias; y
medios (14,20,200) para regeneración de las tramas de silencio con los valores de la primera y segunda variables aleatorias, donde:
los medios para almacenamiento comprenden una tabla de búsqueda que es direccionada por medio de los valores de la primera variable aleatoria.
5. El codificador de voz de la reivindicación 4, donde los medios (10,16,100) para codificación se configuran para codificación de las tramas de silencio a 1 kbps.
6. El codificador de voz de la reivindicación 4, donde el codificador de voz es un codificador de velocidad variable perfeccionado.
7. El codificador de voz de la reivindicación 4, donde:
un primer par de variables aleatorias que incluyen a la segunda variable aleatoria es cada una generada a partir de un segundo par de variables aleatorias que incluyen a la primera variable aleatoria;
las variables de cada par son estadísticamente independientes una de otra;
las variables del primer par son variables aleatorias gaussianas;
y las variables del segundo par se distribuyen uniformemente entre cero y uno.
8. El codificador de voz de cualquiera de las reivindicaciones 4 a 7, comprendiendo un codec (10,14,16,20,100,200) que comprende dichos medios (10,16,100) para codificación y dicho medios (14,20,200) para regeneración.
ES00914512T 1999-02-08 2000-02-04 Metodo y aparato para generacion de numero aleatorios de velocidad un octavo para codificadores de voz. Expired - Lifetime ES2255991T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/248,516 US6226607B1 (en) 1999-02-08 1999-02-08 Method and apparatus for eighth-rate random number generation for speech coders
US248516 1999-02-08

Publications (1)

Publication Number Publication Date
ES2255991T3 true ES2255991T3 (es) 2006-07-16

Family

ID=22939494

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00914512T Expired - Lifetime ES2255991T3 (es) 1999-02-08 2000-02-04 Metodo y aparato para generacion de numero aleatorios de velocidad un octavo para codificadores de voz.

Country Status (11)

Country Link
US (2) US6226607B1 (es)
EP (1) EP1159739B1 (es)
JP (1) JP2002536694A (es)
KR (1) KR20010093324A (es)
CN (1) CN1144177C (es)
AT (1) ATE309599T1 (es)
AU (1) AU3589200A (es)
DE (1) DE60023851T2 (es)
ES (1) ES2255991T3 (es)
HK (1) HK1041740B (es)
WO (1) WO2000046796A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7161931B1 (en) * 1999-09-20 2007-01-09 Broadcom Corporation Voice and data exchange over a packet based network
US20070110042A1 (en) * 1999-12-09 2007-05-17 Henry Li Voice and data exchange over a packet based network
US6754624B2 (en) * 2001-02-13 2004-06-22 Qualcomm, Inc. Codebook re-ordering to reduce undesired packet generation
US20050234712A1 (en) * 2001-05-28 2005-10-20 Yongqiang Dong Providing shorter uniform frame lengths in dynamic time warping for voice conversion
US7292550B2 (en) * 2003-03-27 2007-11-06 Kyocera Wireless Corp. System and method for minimizing voice packet loss during a wireless communications device candidate frequency search (CFS)
US7469209B2 (en) * 2003-08-14 2008-12-23 Dilithium Networks Pty Ltd. Method and apparatus for frame classification and rate determination in voice transcoders for telecommunications
US7613606B2 (en) * 2003-10-02 2009-11-03 Nokia Corporation Speech codecs
US7536298B2 (en) * 2004-03-15 2009-05-19 Intel Corporation Method of comfort noise generation for speech communication
EP1768106B8 (en) * 2004-07-23 2017-07-19 III Holdings 12, LLC Audio encoding device and audio encoding method
EP2246845A1 (en) * 2009-04-21 2010-11-03 Siemens Medical Instruments Pte. Ltd. Method and acoustic signal processing device for estimating linear predictive coding coefficients
KR101104985B1 (ko) * 2009-11-06 2012-01-16 양창근 난수 생성 방법 및 시스템
US20110191129A1 (en) * 2010-02-04 2011-08-04 Netzer Moriya Random Number Generator Generating Random Numbers According to an Arbitrary Probability Density Function
US10594687B2 (en) 2013-05-14 2020-03-17 Kara Partners Llc Technologies for enhancing computer security
US12028333B2 (en) 2013-05-14 2024-07-02 Kara Partners Llc Systems and methods for variable-length encoding and decoding for enhancing computer systems
US10057250B2 (en) 2013-05-14 2018-08-21 Kara Partners Llc Technologies for enhancing computer security
US9454653B1 (en) 2014-05-14 2016-09-27 Brian Penny Technologies for enhancing computer security
CN110619881B (zh) * 2019-09-20 2022-04-15 北京百瑞互联技术有限公司 一种语音编码方法、装置及设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307441A (en) * 1989-11-29 1994-04-26 Comsat Corporation Wear-toll quality 4.8 kbps speech codec
CA2483322C (en) * 1991-06-11 2008-09-23 Qualcomm Incorporated Error masking in a variable rate vocoder
TW271524B (es) * 1994-08-05 1996-03-01 Qualcomm Inc
US5794199A (en) 1996-01-29 1998-08-11 Texas Instruments Incorporated Method and system for improved discontinuous speech transmission
JP3575967B2 (ja) 1996-12-02 2004-10-13 沖電気工業株式会社 音声通信システムおよび音声通信方法
US6041297A (en) * 1997-03-10 2000-03-21 At&T Corp Vocoder for coding speech by using a correlation between spectral magnitudes and candidate excitations

Also Published As

Publication number Publication date
AU3589200A (en) 2000-08-25
HK1041740A1 (en) 2002-07-19
CN1144177C (zh) 2004-03-31
EP1159739B1 (en) 2005-11-09
US20010007974A1 (en) 2001-07-12
US6226607B1 (en) 2001-05-01
KR20010093324A (ko) 2001-10-27
CN1339151A (zh) 2002-03-06
ATE309599T1 (de) 2005-11-15
HK1041740B (zh) 2004-12-31
EP1159739A1 (en) 2001-12-05
DE60023851T2 (de) 2006-08-10
JP2002536694A (ja) 2002-10-29
DE60023851D1 (de) 2005-12-15
WO2000046796A9 (en) 2001-10-11
WO2000046796A1 (en) 2000-08-10

Similar Documents

Publication Publication Date Title
ES2255991T3 (es) Metodo y aparato para generacion de numero aleatorios de velocidad un octavo para codificadores de voz.
ES2269112T3 (es) Codificador de voz multimodal en bucle cerrado de dominio mixto.
RU2351907C2 (ru) Способ осуществления взаимодействия между адаптивным многоскоростным широкополосным кодеком (amr-wb-кодеком) и многорежимным широкополосным кодеком с переменной скоростью в битах (vbr-wb-кодеком)
JP5543405B2 (ja) フレームエラーに対する感度を低減する符号化体系パターンを使用する予測音声コーダ
JP4927257B2 (ja) 可変レートスピーチ符号化
EP1340223B1 (en) Method and apparatus for robust speech classification
ES2302754T3 (es) Procedimiento y aparato para codificacion de habla sorda.
ES2238860T3 (es) Codificacion a baja velocidad de bit de segmentos de voz sordos.
KR20080103113A (ko) 신호 인코딩
ES2253226T3 (es) Codigo interpolativo multipulso de tramas de voz.
US6754624B2 (en) Codebook re-ordering to reduce undesired packet generation
ES2297578T3 (es) Procedimiento y aparato para submuestrear informacion del espectro de fase.
AU2002235538A1 (en) Method and apparatus for reducing undesired packet generation
Fazel et al. Switched lattice-based quantization of LSF parameters