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
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000001186 cumulative effect Effects 0.000 claims abstract description 8
- 238000005315 distribution function Methods 0.000 claims abstract description 6
- 230000008929 regeneration Effects 0.000 claims description 4
- 238000011069 regeneration method Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000011002 quantification Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 206010011878 Deafness Diseases 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 102100037651 AP-2 complex subunit sigma Human genes 0.000 description 2
- 101100234408 Danio rerio kif7 gene Proteins 0.000 description 2
- 101100221620 Drosophila melanogaster cos gene Proteins 0.000 description 2
- 101000806914 Homo sapiens AP-2 complex subunit sigma Proteins 0.000 description 2
- 101100202924 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) tsp-2 gene Proteins 0.000 description 2
- 101100398237 Xenopus tropicalis kif11 gene Proteins 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 206010002953 Aphonia Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000005311 autocorrelation function Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/012—Comfort noise or silence coding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable 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.
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.
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.
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.
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.
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.
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.
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,
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.
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)
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)
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 |
-
1999
- 1999-02-08 US US09/248,516 patent/US6226607B1/en not_active Expired - Lifetime
-
2000
- 2000-02-04 WO PCT/US2000/002901 patent/WO2000046796A1/en not_active Application Discontinuation
- 2000-02-04 JP JP2000597797A patent/JP2002536694A/ja active Pending
- 2000-02-04 KR KR1020017009877A patent/KR20010093324A/ko not_active Application Discontinuation
- 2000-02-04 AT AT00914512T patent/ATE309599T1/de not_active IP Right Cessation
- 2000-02-04 EP EP00914512A patent/EP1159739B1/en not_active Expired - Lifetime
- 2000-02-04 DE DE60023851T patent/DE60023851T2/de not_active Expired - Lifetime
- 2000-02-04 AU AU35892/00A patent/AU3589200A/en not_active Abandoned
- 2000-02-04 ES ES00914512T patent/ES2255991T3/es not_active Expired - Lifetime
- 2000-02-04 CN CNB008035474A patent/CN1144177C/zh not_active Expired - Fee Related
-
2001
- 2001-03-01 US US09/798,059 patent/US20010007974A1/en not_active Abandoned
-
2002
- 2002-05-07 HK HK02103453.2A patent/HK1041740B/zh not_active IP Right Cessation
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 |