ES2671006T3 - Reconstrucción de una trama de voz - Google Patents
Reconstrucción de una trama de voz Download PDFInfo
- Publication number
- ES2671006T3 ES2671006T3 ES14730172.5T ES14730172T ES2671006T3 ES 2671006 T3 ES2671006 T3 ES 2671006T3 ES 14730172 T ES14730172 T ES 14730172T ES 2671006 T3 ES2671006 T3 ES 2671006T3
- Authority
- ES
- Spain
- Prior art keywords
- tone
- frame
- samples
- reconstructed
- cycle
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 59
- 230000008859 change Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000543 intermediate Substances 0.000 claims 49
- 230000000737 periodic effect Effects 0.000 description 29
- 230000005284 excitation Effects 0.000 description 24
- 239000000523 sample Substances 0.000 description 20
- 238000013213 extrapolation Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 18
- 230000001934 delay Effects 0.000 description 18
- 230000003044 adaptive effect Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000013459 approach Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 238000010276 construction Methods 0.000 description 6
- 238000007667 floating Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 241000543381 Cliftonia monophylla Species 0.000 description 1
- 206010011878 Deafness Diseases 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000005303 weighing Methods 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/005—Correction of errors induced by the transmission channel, if related to the coding algorithm
-
- 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
-
- 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/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/10—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
- G10L19/107—Sparse pulse excitation, e.g. by using algebraic codebook
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0002—Codebook adaptations
-
- 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
- G10L2019/0001—Codebooks
- G10L2019/0007—Codebook element generation
- G10L2019/0008—Algebraic codebooks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Mobile Radio Communication Systems (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
Un aparato para reconstruir una trama que comprende una senal de voz como una trama reconstruida, estando dicha trama reconstruida asociada con una o mas tramas disponibles, siendo dichas una o mas tramas disponibles por lo menos una de una o mas tramas que preceden a la trama reconstruida y una o mas tramas que suceden a la trama reconstruida, en el que la una o mas tramas disponibles comprenden uno o mas ciclos de tono como uno o mas ciclos de tono disponibles, en el que el aparato comprende: una unidad de determinacion (210) para determinar una diferencia de numeros de muestras que indica una diferencia entre un numero de muestras de uno de los uno o mas ciclos de tono disponibles y un numero de muestras de un primer ciclo de tono que debe ser reconstruido; y un reconstructor de tramas (220) para reconstruir la trama reconstruida mediante la reconstruccion, en funcion de la diferencia de numeros de muestras y en funcion de las muestras de dicho uno de los uno o mas ciclos de tramas disponibles, el primer ciclo de tono para ser reconstruido como un primer ciclo de tono reconstruido; en el que el reconstructor de tramas (220) esta configurado para reconstruir la trama reconstruida, de manera tal que la trama reconstruida comprende por completo o parcialmente el primer ciclo de tono reconstruido, de manera tal que la trama reconstruida comprende por completo o parcialmente un segundo ciclo de tono reconstruido, y de manera tal que el numero de muestras del primer ciclo de tono reconstruido difiere de un numero de muestras del segundo ciclo de tono reconstruido, en el que el reconstructor de tramas (220) esta adaptado para generar una trama intermedia en funcion de dicho uno del uno o mas ciclos de tono disponibles, en el que el reconstructor de tramas (220) esta adaptado para generar la trama intermedia de modo que la trama intermedia comprende un primer ciclo de tono intermedio parcial, uno o mas ciclos de tono intermedios, y un segundo ciclo de tono intermedio parcial, en el que dicho ciclo de tono intermedio parcial depende de una o mas de las muestras de dicho uno del uno o mas ciclos de tono disponibles, en el que cada uno del uno o mas ciclos de tono intermedios adicionales depende de todas las muestras de dicho uno del uno o mas ciclos de tono disponibles, y en el que segundo ciclo de tono intermedio parcial depende de una o mas de las muestras de dicho uno del uno o mas ciclos de tono disponibles, 30 en el que la unidad de determinacion (210) esta configurada para determinar un numero de diferencia de porcion de inicio que indica cuantas muestras deben eliminarse o anadirse del primer ciclo de tono intermedio parcial, y en el que el reconstructor de tramas (220) esta configurado para eliminar una o mas muestras del primer ciclo de tono intermedio parcial, o esta configurado para anadir una o mas primeras muestras al primer ciclo de tono parcial dependiendo del numero de diferencia de la porcion de inicio, en el que la unidad de determinacion (210) esta configurada para determinar para cada uno de los ciclos de tono intermedios adicionales un numero de diferencia de ciclo de tono que indica cuantas muestras deben eliminarse o anadirse de dicho uno de los ciclos de tono intermedios adicionales, y en el que el reconstructor de tramas (220) esta configurado para eliminar una o mas segundas muestras de dicho uno de los ciclos de tono intermedios adicionales, o esta configurado para anadir una o mas segundas muestras a dicho uno de los ciclos de tono intermedios adicionales dependiendo de dicho numero de diferencia de ciclo de tono, y en el que la unidad de determinacion (210) esta configurada para determinar un numero de diferencia de porcion de extremo que indica cuantas muestras deben eliminarse o anadirse del segundo ciclo de tono intermedio parcial, y en el que el reconstructor de tramas (220) esta configurado para eliminar una o mas terceras muestras del segundo ciclo de tono intermedio parcial, o esta configurado para anadir una o mas terceras muestras al segundo ciclo de tono parcial dependiendo del numero de diferencia de la porcion de extremo.
Description
5
10
15
20
25
30
35
40
45
50
55
Reconstrucción de una trama de voz DESCRIPCIÓN
La presente invención se refiere al procesamiento de señales de audio, en particular, al procesamiento del habla, y más particularmente, a un aparato y a un método para mejorar la ocultación del libro de códigos adaptativo en la ocultación similar a ACELP (ACELP = Predicción Lineal Excitada por Código Algebraico).
El procesamiento de señales de audio se hace cada vez más importante. En el campo del procesamiento de las señales de audio, las técnicas de ocultación juegan un papel importante. Cuando una trama se pierde o se daña, la información perdida de la trama perdida o dañada tiene que ser reemplazada. En el procesamiento de las señales del habla, en particular, cuando se consideran códecs de voz de ACELP o similares a ACELP; la información de tono es muy importante. Se necesitan técnicas para la predicción de tono y para la resincronización del pulso.
En cuanto a la reconstrucción del tono, existen diferentes técnicas de extrapolación de tono en la técnica anterior.
Una de estas técnicas es una técnica basada en la repetición. La mayor parte de los códecs del estado de la técnica aplica un enfoque simple de ocultación basada en repetición, lo que significa que el último periodo de tono recibido correctamente antes que se repita la pérdida de paquetes, hasta que llegue una trama buena y sea posible decodificar nueva información de tono a partir de la corriente de bits. O bien, se aplica una lógica de estabilidad del tono de acuerdo con la cual se elige un valor de tono que se ha recibido algún tiempo más antes de la pérdida de paquetes. Los códecs que siguen el enfoque basado en la repetición son, por ejemplo, el G.719 (ver [ITU08b, 8.6]), G.729 (ver [ITU12, 4.4]), AMR (ver [3GP12a, 6.2.3.1], [ITU03]), AMR-WB (ver [3GP12b, 6.2.3.4.2]) y AMR-WB + (ACELP y TCX20 (ocultación similar a ACELP) (ver [3Gp09]); (AmR = Coeficiente Múltiples Adaptativos, AMR-WB = Ancho de Banda de Coeficientes Múltiples Adaptativo).
Otra técnica para la reconstrucción del tono de la técnica anterior es la derivación de tono a partir del dominio de tiempo. Para algunos códecs, el tono es necesario para la ocultación, pero no está integrado en el flujo de bits. Por ello, el tono se calcula en base a la señal del dominio de tiempo de la trama anterior con el fin de calcular el periodo de tono, que luego se mantiene constante durante la ocultación. Un códec que sigue este enfoque es, por ejemplo, el G.722, véase, en particular G.722 Apéndice 3 (ver [ITU06a, III.6.6 y III.6.7]) y G.722 Apéndice 4 (ver [ItUü7, IV. 6.1.2.5]).
Otra técnica para la reconstrucción del tono de la técnica anterior se basa en la extrapolación. Algunos códecs del estado de la técnica aplican enfoques de extrapolación y ejecutan algoritmos específicos para cambiar el tono de acuerdo con las estimaciones de tono extrapoladas durante la pérdida de paquetes. Estos enfoques se describirán con mayor detenimiento a continuación con referencia a G.718 y G.729.1.
Inicialmente se considera G.718 (véase [ITU08a]). Una estimación del tono futuro se lleva a cabo mediante extrapolación para apoyar el módulo de resincronización de pulsos glotales. Esta información acerca del posible valor futuro del tono se utiliza para sincronizar los pulsos glotales de la excitación oculta.
La extrapolación del tono se lleva a cabo solamente si la última trama buena no era SORDA. La extrapolación del tono de G.718 se basa en la suposición de que el codificador tiene un contorno de tono suave. Dicha extrapolación
se realiza en base a los retardos de tono
d{l
dfr
de las últimas siete subtramas antes del borrado.
En G.718, se lleva a cabo una actualización de la historia de los valores de tono flotantes después de cada trama recibida correctamente. Para este propósito, los valores de tono se actualizan solamente si el modo de núcleo es
A[ i
distinto de SORDO. En el caso de una trama perdida, la diferencia dfr entre los retardos de tono flotantes se calcula de acuerdo con la siguiente fórmula:
(1)
df1
En la fórmula (1), f designa el retardo de tono de la última (es decir, la cuarta) subtrama de la trama anterior;
d
[-2]
fr
designa el retardo de tono de la tercera subtrama de la trama anterior; etc.
De acuerdo con G.718, la suma de las diferencias
A
[i]
dfr
se calcula como:
5
10
15
20
25
30
35
40
SA
(2)
A1
Dado que los valores dfr pueden ser positivos o negativos, se suma la cantidad de inversiones de signo de y se indica la posición de la primera inversión mediante un parámetro que se mantiene en memoria.
A
[i]
dfr
El parámetro fcorr se encuentra mediante la siguiente expresión:
(3)
donde dmax = 231 es el retardo de tono máximo considerado.
In G.718, se encuentra una posición imax, que indica la máxima diferencia absoluta de acuerdo con la siguiente definición:
í itiíii — J |
y una relación para esta diferencia máxima se calcula como sigue:
(4)
Si esta relación es igual o superior a 5, entonces el tono de la cuarta subtrama de la última trama correctamente recibida se utiliza para todas las subtramas a ser ocultas. Si esta relación es superior o 5, esto significa que el algoritmo no es lo suficientemente seguro para extrapolar el tono, y la resincronización de pulso glotal no se efectuará.
Si rmax es inferior a 5, entonces se lleva a cabo un procesamiento adicional para lograr la mejor extrapolación posible. Se utilizan tres métodos diferentes para extrapolar el tono futuro. Para elegir entre los posibles algoritmos de extrapolación de tono, se calcula un parámetro de desviación fcorr2. que depende del factor fcorr y de la posición de la máxima variación de tono imax. Sin embargo, inicialmente se modifica la diferencia de tono flotante media a efectos de eliminar diferencias de tono demasiado grandes de la media:
Si fcorr < 0,98 y si imax = 3, entonces la diferencia de tono fraccional media fórmula:
A dfr
se determina mediante la siguiente
para eliminar las diferencias de tono relacionadas con la transición entre dos tramas.
A dfr
Si fcorr ^ 0.98 o si imax £ 3, la diferencia de tono fraccional media se calcula como sigue:
va —
^dfr
y la máxima diferencia de tono flotante se reemplaza con este nuevo valor medio:
5
10
15
20
25
30
35
_ A
'■ - (7)
Con esta nueva media de las diferencias de tono flotantes, la desviación normalizada fcorr2 se calcula como sigue:
(8)
en el que ISf es igual a 4 en el primer caso y es igual a 6 en el segundo caso.
En función de este nuevo parámetro, se efectúa una elección entre los tres métodos para extrapolar el tono futuro:
A
- Si dfr cambia de signo más de dos veces (esto indica una elevada variación de tono), la primera inversión de signo se halla en la última trama buena (para i < 3), y fcon2 > 0,945, el tono extrapolado, dext, (el tono extrapolado también lleva la designación Text) se calcula como sigue:
— 4
Arir
- Si 0,945 < fcorr2 < 0, 99 y Jr cambia de signo por lo menos una vez, la media ponderada de las diferencias fraccionales de tono se emplea para extrapolar el tono. La ponderación, fw, de la diferencia media está relacionada con la desviación normalizada, fcorr2, y la posición de la primera inversión de signo se define como sigue:
A f
El parámetro imem de la fórmula depende de la posición de la primera inversión del signo de dr, de manera tal que imem = 0 si la primera inversión del signo tuvo lugar entre las dos últimas subtramas de la trama perdida, de manera tal que imem = 1 si la primera inversión de signo tuvo lugar entre las subtramas segunda y tercera de la trama perdida. Si la primera inversión de signo está cercana al extremo de la última trama buena, esto significa que la variación de tono fue menos estable justo antes de la trama pérdida. Por lo tanto, el factor de ponderación aplicado a la media estará cercano a 0 y el tono extrapolado dext estará cercano al tono de la cuarta subtrama de la última trama buena:
- En caso contrario, se considera que la evolución del tono es estable y se determina el tono extrapolado dext como sigue:
<ljr ^ + 4 * Adfr
Después de este procesamiento, el retardo de tono está limitado entre 34 y 231 (los valores designan los retardos de tono permitidos máximo y mínimo).
f if-xt = redondeado
5
10
15
20
25
30
35
40
45
50
Seguidamente se considera otro ejemplo de técnicas de reconstrucción de tono basadas en extrapolación, G.729.1 (véase [ITU06b]).
El G.729.1 incluye un enfoque de extrapolación de tono (Véase [Gao]), en el caso en que no pueda decodificarse información directa de ocultamiento de error (por ejemplo, información de fase). Esto sucede si se pierden dos tramas consecutivas (una supertrama consiste en cuatro tramas que pueden ser sea ACELP o TCX20). También hay tramas TCX40 o TCX80 posibles y también todas sus combinaciones.
Cuando se pierden una o más tramas en una región sonora, la información de tono anterior siempre se utiliza para reconstruir la trama perdida actual. La precisión del tono estimado actual puede influir directamente en la alineación de fase con respecto a la señal original, y es fundamental para la calidad de la reconstrucción de la trama actual perdida y la trama recibida después de la trama perdida. Usando varios retardos de tono en lugar de simplemente copiar el retraso de tono anterior se traduciría en una estimación de tono estadísticamente mejor. En el codificador G.729.1, la extrapolación de tono para FEC (FEC = corrección directa de errores) consiste en una extrapolación lineal basado en los últimos cinco valores de tono. Los últimos cinco valores de tono son: P(i), para i = 0, 1, 2, 3, 4, en el que P(4) es el valor de tono más reciente. El modelo de extrapolación se define de acuerdo con:
(9)
El valor de tono extrapolado para la primera subtrama en una trama perdida se define seguidamente como:
(10)
Para determinar los coeficientes a y b, se minimiza E, en el que el error E se define de acuerdo con:
(11)
Ajustando
se obtienen los valores de a y b:
(12)
(13)
A continuación, se describe un concepto de ocultamiento por borrado de trama para el códec AMR-WB como se presenta en [MCZ11]. Este concepto de ocultamiento por borrado de trama se basa en la predicción lineal de tono y ganancia. En dicho documento se propone un enfoque de inter/extrapolación de tono lineal en el caso de una pérdida de trama, basada en un Criterio de Mínimos Cuadrados Medios.
De acuerdo con este concepto de ocultación por borrado de trama, en el decodificador, cuando el tipo de la última trama válida antes de la trama borrada (la trama pasada) es el mismo que para la temprana después de la trama borrada (la trama futura), se define el tono P(i), en el que: i = -N,-N + 1, ..., 0, 1, ..., N + 4, N + 5, y donde N es el número de subtramas pasadas y futuras de la trama borrada. P(1), P(2), P(3), P(4) son los tonos de cuatro subtramas en la trama borrada, P(0), P(-1), ..., P(-N ) son los tonos de las últimas subtramas, y P(5), P(6), ..., P(N + 5) son los tonos de las futuras subtramas. Se emplea un modelo de predicción lineal P(i) = a + b • i. Para i = 1, 2, 3, 4; P'(1), P'(2), P'(3), P'(4) son los tonos predichos para la trama borrada. El Criterio MmS (MMS = Mínimo Cuadrado Medio) es tomado en cuenta para obtener los valores de los dos coeficientes predichos a y b de acuerdo con un enfoque de interpolación. De acuerdo con este enfoque, el error E se define como:
5
10
15
20
25
30
35
40
45
Entonces, los coeficientes a y b pueden obtenerse calculando:
SE
5a
0
y
(14b)
(14a)
a —
' O N-H5
52 pw>+ 52 pw
. J = — Ar £=u
(37+1) ■ f 4 jV3 + 36jV = +1 i )7jV -11
■ ( ATfl+9JT* + 36-jV +1 j
(14c)
y
b =
O Jf+ft
52 **(*)+£
d = -Ar í=3
I-IÜTjV-S&jV- -JjV^
(14d)
Los retardos de tono para las cuatro últimas subtramas de la trama borrada pueden calcularse de acuerdo con:
F'(l)= a + b 1: Pr{2)= a-h^ 2 r’¡3)= a + b 3: P'(4)= a - h 4
Se ha descubierto que N = 4 provee el mejor resultado. N = 4 significa que en la interpolación se utilizan cinco subtramas pasadas y cinco subtramas futuras.
Sin embargo, cuando el tipo de las tramas pasadas es diferente del tipo de las tramas futuras, por ejemplo, cuando la trama pasada tiene voz, pero la trama futura no tiene voz, se utilizan solamente los tonos con voz de las tramas pasadas o futuras para predecir los tonos de la trama borrada, empleándose el enfoque de extrapolación anteriormente descrito.
Seguidamente se considera la resincronización de pulsos en la técnica anterior, en particular con referencia a G.718 y G.729.1. En [VJGS12] se describe un enfoque para la resincronización de pulsos
Se empieza por describir la construcción de la parte periódica de la excitación.
Para una ocultación de tramas borradas que siguen a una trama recibida correctamente que no sea SORDA, la parte periódica de la excitación se construye mediante la repetición del último periodo de tono filtrado de bajo pase de la trama anterior.
La construcción de la parte periódica se realiza utilizando una copia simple de un segmento filtrado de pase bajo de la señal de excitación tomada en el extremo de la trama anterior.
La longitud del periodo de tono se redondea al número entero más cercano:
Tc = redondeo (último_tono) (15a)
Considerando que la longitud del último periodo de tono es Tp, entonces la longitud del segmento que se copia, T, puede definirse, por ejemplo, de acuerdo con:
Tr = [Tp + 0,5] (15b)
La parte periódica se construye para una trama y para una trama adicional.
5
10
15
20
25
30
35
40
45
L_
Por ejemplo, con M subtramas en una trama, la longitud de subtrama es: L_subtr = M . en el que L es la longitud de la trama, también designada como Lama- L = Ltrama.
La figura 3 ilustra una parte periódica construida de una señal de voz.
T [0] es la ubicación del primer pulso máximo en la en la parte periódica construida de la excitación. Las posiciones de los otros pulsos están dadas por:
T [i] = T [0] + i Tc (16a)
correspondiente a:
T [i] = T [0] + i Tr (16b)
Después de la construcción de la parte periódica de la excitación, se realiza la resincronización de pulso glotal para corregir la diferencia entre la posición estimada de destino del último pulso en la trama perdida (P), y su posición real en la parte periódica construida de la excitación (T[k]).
La evolución de retardo de tono se extrapola sobre la base de los retardos de tono de las últimas siete subtramas antes de la trama perdida. Los retardos de tono en cada subtrama son:
p [i] = redondeo (Tc + (i + 1) S), 0 < i < M (17a)
donde
S
T - T
Text Tc
M
(17b)
y Text (también designado como dext) es el tono extrapolado como se describió anteriormente para dext-
La diferencia, designada como d, entre la suma del número total de muestras dentro de ciclos de tono con el tono constante (Tc) y la suma del número total de muestras dentro de ciclos de tono con el tono en evolución, p[i], se encuentra dentro de una longitud de trama. No existe descripción en la documentación acerca de cómo encontrar d.
En el código de fuente de G.718 (Véase [ITU08a]), d se halla utilizando el siguiente algoritmo (en el que M es el número de subtramas en una trama):
ftop = p[0] i
i - i;
while (ftmp < L_fraiDC - pit_min) {
seet = (aüort) (ftxp*fl/L_iraii©);
ítmp += p[sect];
i++;
>
d = Coliort) (i+Tc - ftmp);
La cantidad de pulsos en la parte periódica construida dentro de una longitud de trama más el primer pulso en la trama futura es N. No hay ninguna descripción en la documentación acerca de cómo N.
En el código de fuente de G.718 (Véase [ITU08a]), se puede encontrar N de acuerdo con lo siguiente:
(18a)
La posición del último pulso T [n] en la parte periódica construida de la excitación que forma parte de la trama
5
10
15
20
25
30
35
40
45
50
55
perdida se determina mediante lo siguiente:
A' — 1 h 7' |A' — 1] < L__ rra,™ V - 2 f T p\T — 1] > L Items
La posición estimada del último pulso P es:
(18b)
-' — ^ í . + (19a)
La posición actual de la posición del último pulso T [k] es la posición del pulso en la parte periódica construida de la excitación (inclusive la búsqueda del primer pulso después de la trama actual) más cercana a la posición estimada teórica P:
: : ; " ' (19b)
La resincronización de pulsos glotales se lleva a cabo mediante la adición o retirada de muestras en las regiones de mínima energía de los ciclos de tono completos. La cantidad de muestras a ser añadida o eliminada se determina mediante la siguiente diferencia:
(19c)
Las regiones de energía mínima se determinan mediante una ventana deslizante de cinco muestras. La posición de energía mínima se ajusta en el centro de la ventana en la cual la energía está en un mínimo. La búsqueda se lleva a cabo entre dos pulsos de tono desde T[/] + Tc / 8 a T[i + 1] - Tc / 4. Hay Nmin = n - 1 regiones de energía mínima.
Si Nm/n = 1, entonces hay solamente una región de energía mínima y en dicha posición se insertan o suprimen d/f f muestras.
Para Nm/n > 1, se añade o remueve una cantidad menor de muestras al inicio y más hacia el extremo de la trama. El número de muestras a ser eliminadas o añadidas entre los pulsos T [/] y T[/+1] se halla mediante la siguiente relación recursiva:
/í¡¿; í*±Ül/-V «[i]') „ / =
' ' (19d)
Si R [/] < R [/ - 1], entonces los valores de R [/] y R [/ - 1] están intercambiados.
El documento US8255207 B2 describe una técnica para la resincronización de la excitación oculta obtenida mediante la repetición de ciclos de tono de la trama previa. El error en la posición del pulso del último pulso oculto en la trama se encuentra y las muestras que necesitan ser añadidas o borradas se distribuyen a través de los ciclos de tono en la trama.
El documento MOHAMED CHIBANI ET AL: “Fast Recovery of a CELP-Like Speech Codec After a Frame Erasure”, IEEE TRANSACTIONS ON AUDIO, SPEECH AND LANGUAGE PROCESSING, vol. 15, n.° 8, 1 de noviembre de 2007 (2007-11-01), páginas 2485-2495, describe otra técnica para la reconstrucción de tramas borradas, con la cual se distribuye compensación de desplazamiento sobre todos los ciclos de tono en la trama actual.
El objeto de la presente invención es proporcionar conceptos mejorados para el procesamiento de las señales de audio, en particular, para proveer conceptos mejorados para el procesamiento del habla, y más particularmente para proveer conceptos mejorados de ocultación.
El objeto de la presente invención se logra mediante un aparato de acuerdo con la reivindicación 1, mediante un método de acuerdo con la reivindicación 11 y mediante un programa de ordenador de acuerdo con la reivindicación 12. Otras realizaciones de acuerdo con la invención se definen en las reivindicaciones dependientes.
Las realizaciones de la presente invención están basadas en el hallazgo de que G.718 y G.729.1 tienen los siguientes inconvenientes:
5
10
15
20
25
30
35
40
45
50
55
60
En primer lugar, en la técnica anterior, cuando se calcula d, su supone que hay un número entero de ciclos de tono dentro de la trama. Dado que d define la ubicación del último puso en la trama oculta, la posición de la última trama no será correcta, cuando exista un número no entero de ciclos de tono dentro de la trama. . Esto se describe en las Figuras 6 y 7. La Figura 6 ilustra una señal de voz antes de una retirada de las muestras. La Figura 7 ilustra la señal de voz después de la retirada de las muestras. Por otra parte, el algoritmo utilizado por la técnica anterior para el cálculo de d es ineficiente.
Por otra parte, el cálculo de la técnica anterior requiere la cantidad de pulsos N en la parte periódica construida de la excitación. Esto agrega una complicidad de cálculo, no necesaria.
Además, en la técnica anterior, el cálculo de la cantidad de pulsos N en la parte periódica construida de la excitación no tiene en cuenta la ubicación del primer pulso.
Las señales presentadas en las Figuras 4 y 5 tienen el mismo período de tono de longitud Tc.
La Figura 4 ilustra una señal de voz que tiene tres pulsos dentro de una trama.
En cambio, la Figura 5 ilustra una señal de voz que tiene solamente dos pulsos dentro de una trama
Estos ejemplos ilustrados por las Figuras 4 y 5 muestran que la cantidad de pulsos es función de la posición del primer pulso
Por otra parte, de acuerdo con la técnica anterior, se verifica, si T [N - 1], que en la ubicación del pulso Nesimo en la parte periódica construida de la excitación se halla dentro de la longitud de la trama, aún si por definición N incluye el primer pulso en la trama siguiente.
Por otra parte, de acuerdo con la técnica anterior, no se añaden ni remueven muestras antes del primer pulso y después del último puso. Las realizaciones de la presente invención están basadas en el hallazgo de que esto conduce al inconveniente de que podría haber un súbito cambio en la longitud del primer ciclo de tono completo, y además, esto conduce además al inconveniente de que la longitud del ciclo de tono después de último pulso podría ser mayor que la longitud del último ciclo de tono completo antes del último pulso, aun cuando el retardo de tono está disminuyendo (véanse las Figuras 6 y 7).
Las realizaciones están basadas en el descubrimiento de que los pulsos T[k] = P - dif f y T[n] = P - d no son iguales cuando:
.*> m
'Is.
:2 . En este caso diff= Tc - d y la cantidad de muestras eliminadas será dif f en lugar de d.
- T[k] se halla en la trama futura y se lo lleva a la trama actual solamente después de eliminar d muestras.
- T [n] es movido a la trama futura después de añadir -d muestras (d < 0).
Esto conducirá a una posición errónea de los pulsos en la trama oculta.
Además, las realizaciones están basadas en el hallazgo de que en la técnica anterior el valor máximo de d se limita al mínimo valor permitido para el retardo de tono codificado. Esto es una restricción que limita la presentación de otros problemas, pero también limita los cambios posibles en el tono y por lo tanto limita la resincronización de pulsos.
Por otra parte, las realizaciones están basadas en el hallazgo de que, en la técnica anterior, la parte periódica se construye utilizando un retardo de tono número entero, y esto crea un corrimiento de frecuencia de las armónicas y una significativa degradación en la ocultación de las señales tonales con un tono constante. Esta degradación puede observarse en la Figura 8, en el que la Figura 8 ilustra una representación en tiempo y frecuencia de una señal de voz que se está resincronizando cuando se utiliza un retardo de tono redondeado.
Por otra parte, las realizaciones están basadas en el hallazgo de que la mayoría de los problemas de la técnica anterior se presenta en situaciones ilustradas en los ejemplos descritos en las Figuras 6 y 7, en el que se remueven d muestras. Aquí se tiene en cuenta que no hay restricción acerca del valor máximo de d, para que el problema sea más fácilmente visible. El problema también se presenta cuando hay un límite para d, pero no es tan obviamente visible. En lugar de seguir incrementando el tono, se obtendrá un incremento súbito seguido por una súbita disminución del tono. Las realizaciones están basadas en el descubrimiento de que esto sucede por cuanto no se remueven muestras antes y después del último puso, indirectamente también causado por el hecho de no tomarse en cuenta que el pulso se mueve dentro de la trama después de la retirada de d muestras. En este ejemplo también hay un cálculo erróneo de N.
5
10
15
20
25
30
35
40
45
50
55
60
De acuerdo con realizaciones, se proporcionan conceptos mejorados para la resincronización de pulsos. Las realizaciones proporcionan la ocultación de señales monofónicas, que incluyen el habla, y que se comparan de manera ventajosa con las técnicas existentes descritas en las G.718 (Véase [ITU08a]) y G.729.1 (Véase [ITU06b]). Las realizaciones proporcionadas son adecuadas para señales con un tono constante, como también para señales con un tono cambiante.
Entre otras, se proporcionan tres técnicas:
De acuerdo con una primera técnica, se proporciona un concepto de búsqueda de pulsos, por el hecho de que a diferencia con G.718 y G.729.1, se toma en cuenta la ubicación del primer pulso en el cálculo del número de pulsos en la parte periódica construida, designado como N.
De acuerdo con una segunda técnica, se proporciona un algoritmo para buscar pulsos por el hecho de que, a diferencia con G.718 y G.729.1, no hay necesidad de tener en cuenta el número de pulsos en la parte periódica construida, designado como N, que tenga en cuenta la ubicación del primer pulso, y que de manera indirecta calcula el último índice de pulso en la trama oculta, designado como k.
De acuerdo con una tercera técnica, no es necesaria una búsqueda de pulsos. De acuerdo con esta tercera técnica, se combina una construcción de la parte periódica con la retirada o adición de las muestras, con lo cual se logra una menor complejidad que las técnicas anteriores. Algunas realizaciones se proporcionan los siguientes cambios a las técnicas anteriormente descritas, así como también para las técnicas de G.718 y G.729.1:
- La parte fraccional del retardo de tono puede utilizarse por ejemplo para construir la parte periódica para señales con un tono constante.
- El corrimiento de la ubicación prevista del último puso en la trama oculta puede calcularse por ejemplo para un número no número entero de ciclos de trama dentro de la trama.
- Las muestras pueden ser añadidas o retiradas también antes del primer pulso y después del último pulso.
- Las muestras pueden ser también añadidas o retiradas si hay solamente un solo pulso.
- El número de muestras a ser eliminadas o añadidas puede variar por ejemplo linealmente, siguiendo el cambio
lineal predicho en el tono.
A continuación, se describen realizaciones de la presente invención con mayor detalle, y con referencia las figuras, en las que:
La Figura 1 ilustra un aparato para determinar un retardo de tono estimado;
La Figura 2a ilustra un aparato para reconstruir una trama que comprende una señal de voz en forma de una trama reconstruida;
La Figura 2b ilustra una señal de voz que comprende una pluralidad de pulso;
La Figura 2c ilustra un sistema para reconstruir una trama que comprende una señal de voz;
La Figura 3 ilustra una parte periódica construida de una señal de voz;
La Figura 4 ilustra una señal de voz que tiene tres pulsos dentro de una trama;
La Figura 5 ilustra una señal de voz que tiene dos pulsos dentro de una trama;
La Figura 6 ilustra una señal de voz antes de una retirada de muestras;
La Figura 7 ilustra la señal de voz de la Figura 6 después de la retirada de muestras;
La Figura 8 ilustra una representación en tiempo y frecuencia de una señal de voz que se está resincronizando mediante la utilización de un retardo de tono redondeado;
La Figura 9 ilustra una representación en tiempo y frecuencia de una señal de voz que se está resincronizando utilizando un retardo de tono no redondeado con la parte fraccional;
La Figura 10 ilustra un diagrama de retardo de tono, en el que el retardo de tono se reconstruye empleando conceptos del estado de la técnica ;
La Figura 11 ilustra un diagrama de retardo de todo, en el que el retardo de tono se reconstruye;
La Figura 12 ilustra una señal de voz antes de la retirada de las muestras ; y La Figura 13 ilustra la señal de voz de la Figura 12; adicionalmente ilustra Ao a A3.
La Figura 1 ilustra un aparato para determinar un retardo de tono estimado. El aparato comprende una interfaz de entrada 110 para recibir una pluralidad de valores de retardo de tono originales, y un estimador del retardo de tono 120 para estimar el retardo de tono estimado. El estimador del retardo de tono 120 está configurado para estimar el retardo de tono estimado en función de una pluralidad de valores de retardo de tono originales y en función de una pluralidad de valores de información, en el que, para cada valor de retardo de tono original de la pluralidad de valores de retardo de tono originales, se asigna un valor de información de la pluralidad de valores de información a dicho un valor de retardo de tono original.
De acuerdo con un ejemplo, el estimado de retardo de tono 120 puede estar configurado por ejemplo para estimar el retardo de tono estimado en función de la pluralidad de valores de retardo de tiempo originales y en función de una
5
10
15
20
25
30
35
40
45
50
55
pluralidad de valores de ganancia de tono en calidad de pluralidad de valores de información, en el que para cada valor de tono de retardo de tono original de la pluralidad de valores de retardo de tono originales, se asigna un valor de ganancia de la pluralidad de valores de ganancia de tono a dicho un valor de retardo de tono original.
En un ejemplo particular, cada uno de entre la pluralidad de valores de ganancia de tono puede ser por ejemplo una ganancia del libro de código adaptativo.
En un ejemplo, el estimador del retardo de tono 120 puede estar configurado para por ejemplo estimar el retardo de tono estimado mediante la minimización de una función de error.
De acuerdo con un ejemplo, el estimador del retardo de tono 120 puede estar configurado por ejemplo para estimar el retardo de tono estimado mediante la determinación de dos parámetros, a, b, mediante la minimización de la siguiente función de error:
k
err = ^
« ■((<. + !>■ i)-P(¿))2
en el que a es un número real, en el que b es un número real, en el que k es un número entero con un valor k > 2, y en el que P(i) es el valor de retardo de tono original i-ésimo, en el que gp(/) es el valor de ganancia de tono i-ésimo que se está asignando al valor de retardo de tono i-ésimo P(/).
En un ejemplo, el estimador del retardo de tono 120 puede estar configurado por ejemplo para estimar el retardo de tono estimado mediante la determinación de dos parámetros a, b, para lo cual se minimiza la siguiente función de error:
4
eir =£,,,,(>> •((!l-I>.«)-PÍ¡))2
i=0 ,
en el que a es un número real, en el que b es un número real, en el que P(i) es el valor de retardo de tono original, en el que gp(i) es el valor de ganancia de tono i-ésimo que se está asignando al valor de retardo de tono i-ésimo P(/).
De acuerdo con un ejemplo, el estimador del retardo de tono 120 puede estar configurado, por ejemplo, para determinar el retardo de tono estimado p de acuerdo con p = a ■ / + b.
En un ejemplo, el estimador del retardo de tono 120 puede estar configurado por ejemplo para estimar el retardo de tono estimado en función de la pluralidad de valores de retardo de tono originales y en función de una pluralidad de valores de tiempo como la pluralidad de valores de información, en el que para cada valor de retardo de tono original de la pluralidad de valores de tono originales, se asigna un valor de tiempo de la pluralidad del valor del tiempo a dicho un valor de retardo de tono original.
De acuerdo con un ejemplo, el estimador del retardo de tono 120 puede estar configurado para estimar el retardo de tono estimado mediante la minimización de una función de error.
En un ejemplo, el estimador del retardo de tono 120 puede estar configurado por ejemplo para estimar el retardo de tono estimado mediante la determinación de dos parámetros a, b, en base a la minimización de la siguiente función de error:
í-
l’ít = ¿
'=0 fempo pasado {i) • ((a + b • i) - P(/))2
en el que a es un número real, en el que b es un número real, en el que k es un número entero con un valor k > 2, y en el que P(i) es el valor de retardo de tono original /-ésimo, en el que t/mepassed(/) es el valor de tiempo /-ésimo que se asigna al valor de retardo de tono / -ésimo P(/).
De acuerdo con un ejemplo, el estimador del retardo de tono 120 puede estar configurado por ejemplo para estimar el retardo de tono estimado mediante la determinación de dos parámetros a, b, por medio de la minimización de la siguiente función de error:
5
10
15
20
25
30
35
40
en el que a es un número real, en el que b es un número real, en el que P(i) es el valor de retardo de tono original i- ésimo, en el que tiempopasado(i) es el valor de tiempo i-ésimo que se asigna al valor de retardo de tono i-ésimo P(i).
En un ejemplo, el estimador del retardo de tono 120 está configurado para determinar el retardo de tono estimado p de acuerdo con p = a ■ i + b.
A continuación se describen ejemplos que proporcionan una predicción ponderada del tono, haciéndose referencia a las fórmulas (20) a (24b).
En primer lugar, se describen ejemplos de predicción de tono ponderados en las que se emplea la ponderación de acuerdo con la ganancia de tono, haciéndose referencia a las fórmulas (20) a (22c). De acuerdo con algunos de estos ejemplos, para superar el inconveniente de la técnica interior, los retardos de tono se ponderan con la ganancia de tono a efectos de llevar a cabo la predicción de tono.
En algunos ejemplos, la ganancia de tono puede ser la ganancia del libro de código adaptativo gp como se define en la norma G.729 (Véase [ITU12], en particular en el capítulo 3.7.3, más particularmente en la fórmula (43)). En G.729, la ganancia del libro de código adaptativo se determina de acuerdo con:
Sp
39
Zx(n) y(n)
n=0___________
39
Z y(n) y(n)
n=0
con la condición de que 0 <
S p
< 1,2
En este caso, x(n) es la señal objetivo y se obtiene y(n) mediante la convolución de v(n) con h(n) de acuerdo con:
n
yn >Z v(i)h(n - i) n = 0 39
i=0
en el que v(n) es el vector del libro del código adaptativo, y en el que y(n) es el vector del libro de código adaptativo filtrado, y en el que h(n - i) es una respuesta de impulso de un filtro de síntesis ponderado, como se define en G.729 (Véase [ITU12]).
De manera similar, en algunos ejemplos, la ganancia de tono puede ser la ganancia del libro del código adaptativo gp como se define en la norma G.718 (Véase [ITU08a], en particular en el capítulo 6.8.4.1.4.1, más particularmente en la fórmula (170)). En G.718, la ganancia del libro del código adaptativo se determina de acuerdo con:
63
Zx(n) yk(n)
n=0
CCL = 63
Z yk(n) yk(n)
n=0
en el que x(n) es la señal objetivo y yk(n) es la excitación filtrada anterior en el retardo k.
Por ejemplo, véase [ITU08a], capítulo 6.8.4.1.4.1, fórmula (171), para una definición de cómo podría definirse yk(n).
Similarmente, en algunos ejemplos, la ganancia de tono puede ser la ganancia del libro de código adaptativo gp definida en la norma AMR (Véase [3GP12b]), en el que la ganancia del libro de código adaptativo gp como tono de ganancia se define de acuerdo con:
5
10
15
20
25
30
35
40
45
50
Sp
Z xW y(n)
n=o___________
63
Z y(n) y(n) S
n=0 en el que 0 < Sp < 1,2
en el que y(n) es un vector del libro del código adaptativo filtrado.
En algunos ejemplos particulares, los retardos de tono pueden ser por ejemplo ponderados con la ganancia de tono, por ejemplo, antes de llevarse a cabo la predicción del tono.
Para esta finalidad, es posible introducir una memoria intermedia de longitud 8 que contenga las ganancias de tono, que son tomadas en las mismas subtramas que los retardos de tono. La memoria intermedia puede por ejemplo utilizado ser actualizada utilizando las mismas reglas exactas que la actualización de los retardos de tono. Una posible realización consiste en actualizar ambas memorias intermedias (que contienen retardos de tono y ganancias de tono de las últimas ocho subtramas) al final de cada trama, independientemente de si esta trama estaba exenta de errores o era propensa a errores.
Hay dos estrategias de predicción diferentes conocidas de la técnica anterior, que pueden ser reforzadas para utilizar la predicción ponderada de tono:
En el G.718, en el caso de una pérdida de paquete, las memorias intermedias pueden ser multiplicadas entre sí o de a elementos, a efectos de ponderar el retardo de tono con un elevado factor si la ganancia de tono asociada es elevada, y para ponderarlo con un factor bajo si la ganancia de tono asociada es baja. Después de esto, de acuerdo con G.718, se lleva a cabo la predicción de tono de la manera usual (Véase [ITU08a, capítulo 7.11.1.3] para mayores detalles para G.718).
El algoritmo utilizado en G.729.1 para predecir el tono (Véase [ITU06b] por detalles acerca de G.729.1) se modifica de acuerdo con realizaciones a efectos de utilizar la predicción ponderada.
De acuerdo con algunos ejemplos, el objetivo consiste en minimizar la siguiente función de error:
(20)
en el que gp(i) contiene las ganancias de tono de subtramas pasadas y P(i) contiene los correspondientes retardos de tono.
En (20), gp(i) representa el factor de ponderación. En el ejemplo anterior, cada gp(i) representa una ganancia de tono de una de las subtramas anteriores.
Seguidamente, ecuaciones describen cómo derivar los factores a y b, que podrían utilizarse para predecir el retardo de tono de acuerdo con: a + i ■ b, en el que i es el número de subtramas de la subtrama a ser predicha.
Por ejemplo, para obtener la primera subtrama predicha sobre la base de la predicción de las últimas cinco subtramas P(0), ..., P(4), el valor de tono predicho P(5) sería:
P(5) = a + 5 ■ b .
A efectos de derivar los coeficientes a y b, la función de error puede derivarse por ejemplo y puede ajustarse en cero:
(21a)
En la técnica anterior, la derivación de la función de error y el ajuste de la derivada de la función de error en 0 daría el siguiente resultado:
5
10
15
20
25
30
35
40
(21b)
(Véase [ITU06b, 7.6.5]).
En cambio, si se utiliza el enfoque de predicción ponderada de los ejemplos previstos, por ejemplo, el enfoque de predicción ponderado de la fórmula (20) con el factor de ponderación gp(/), los valores de a y b serían:
(22a)
(22b)
A, B, C, D; E, F, G, H, I, J y K puede tener por ejemplo los siguientes valores:
A = -I- Jíte -I- \QPi ■ ■P(’l)
£ = (-i- ítyi i "^(3)
£■' =
& = ^ffp\ LJjjh — — i TJpí) ' ^[1]
L = - Qypvffm ~ IvkiíJp! - ) ■ -^(0}
t' = ¡Vfv + + 4skJ&m ■ PÍ4)
G = ((ffjCí + -ff?| + ' W}
H = i ~ ^fin rJpt ~ ífpi ífpí ■*" Í3fi "* )¡h>)' ^ I-!
¿ - ^SriSpn - UnUpi +■ ífr.ffrI) ■ -^(1)
J - 3^poí;ki - ^t!p,,í/p2 - flpjSfp,) ■ ^(0)
' |,;.: ■■■■ !'.- ■■■■ ■. ■ ! . ■. (22c)
Las Figuras 10 y 11 muestran una superior performance de la extrapolación de tono propuesta.
En este caso, la Figura 10 ilustra un diagrama de retardo de tono, en el que el retardo de tono se reconstruye utilizando conceptos del estado de la técnica. En cambio, en la Figura 11, se ilustra un diagrama de retardo de tono en el que el retardo de tono se reconstruye de acuerdo con algunos ejemplos.
En particular, la Figura 10 ilustra la performance de las normas de la técnica anterior G.718 y G.729.1, mientras que la Figura 11 ilustra la performance del concepto proporcionado por un ejemplo alternativo.
El eje de las abscisas designa el número de subtrama. La línea continua 1010 muestra el retardo de tono del codificador que está empotrado en una corriente de bits, y que se pierde en el área del segmento gris 1030. El eje de ordenadas izquierdo representa un eje de retardos de tono. El eje de ordenadas a la derecha representa un eje de ganancia de tono. La línea continua 1010 ilustra el retardo de tono, mientras que las líneas punteadas 1021, 1022, 1023 ilustran la ganancia de tono. El rectángulo 1030 representa la pérdida de trama. Debido a la pérdida de trama que tuvo lugar en el área del segmento gris 1030, la información acerca del retardo de tono y de la ganancia de tono en esta área no está disponible en el lado del codificador y ha de ser reconstruida.
En la Figura 10, el retardo de tono que se oculta mediante la norma G.718 se ilustra mediante la porción de línea de puntos y trazos 1011. El retardo de tono que se está ocultando mediante la norma G.729.1 se ilustra mediante la porción de línea continua 1012. Puede verse claramente que mediante la utilización de la predicción de tono provista (Figura 11, porción de línea continua 1013) corresponde esencialmente al retardo de tono del codificador perdido y es por lo tanto ventajoso con respecto a las técnicas de G.718 y G.729.1.
A continuación se describen ejemplos en los que se utiliza la ponderación en función del tiempo transcurrido, con referencia a las fórmulas (23a) a (24b).
La aplicación de una ponderación de tiempo puede efectuarse mediante la minimización de esta función de error:
5
10
15
20
25
30
35
40
45
50
i.rr - hempu fj) ■ {(ft + b- i) - H i))"
(23a)
en el que tiempopasado(i) representa la inversa de la cantidad de tiempo que ha transcurrido después de haberse recibido correctamente el retardo de tono y P(i) contiene los correspondientes retardos de tono.
Algunos ejemplos pueden, por ejemplo, aplicar ponderaciones elevadas a retardos más recientes y ponderaciones menores a retardos que se han recuperado tiempo atrás.
De acuerdo con algunos ejemplos, en tal caso puede emplearse la fórmula (21a) para derivar a y b.
Para obtener la primera subtrama predicha, algunas realizaciones pueden por ejemplo llevar a cabo la predicción sobre la base de las cinco últimas subtramas, P(0)... P(4). Por ejemplo, el valor de tono predicho P(5) puede seguidamente obtenerse de acuerdo con:
Pió) = ü + ó - b (23b)
Por ejemplo, si
tiempopasado = [1/5 1/4 1/3 1/2 1]
(ponderación de tiempo de acuerdo con retardo de subtrama), esto resultaría en lo siguiente:
= - Pt-1) + 1.4LÜ7 ■ P(5) + - P{‘>) + aamr - /*{ 1} T .MHÍ7 - f ftt)
f +ÜÜT1OT- r, ii +(j.yni7 ■ n:¡>- O OSCiri) p&\ - i.tBíff r, ]. - i,2s:¡h- piu;
............................. fot)
A continuación, se describen realizaciones que proporcionan la resincronización de pulsos.
En la Figura 2a se ilustra un aparato para reconstruir una trama, que comprende una señal de voz como una trama reconstruida de acuerdo con una realización. Dice trama reconstruida está asociada con una o más tramas disponibles, siendo dichas una o más tramas disponibles por lo menos una de las una o más tramas anteriores de la trama reconstruida y una o más tramas subsiguientes de la trama reconstruida, en el que la una o más tramas disponibles comprenden uno o más ciclos de tono en forma de uno o más ciclo de tono disponibles.
El aparato comprende una unidad de determinación 210 para determinar una diferencia de número de muestras Ap A- Ap
( 0; 1 ; k+1) que indica una diferencia entre un número de muestras de uno de los uno o más ciclos de tono
disponibles y un número de muestras de un primer ciclo de tonos a ser reconstruido.
Por otra parte, el aparato comprende un reconstructor de tramas para reconstruir la trama reconstruida mediante la
Ap A. Ap
reconstrucción, en función de la diferencia del número de muestras ( 0 ; 1 ; k+1) y en función de las muestras de
dicho uno de los uno o más ciclos de trama disponibles, del primer ciclo de tono a ser reconstruido como primer ciclo de tono reconstruido.
El reconstructor de tramas 220 está configurado para reconstruir la trama reconstruida, de manera tal que la trama reconstruida comprende completa o parcialmente el primer ciclo de tono reconstruido, de manera tal que la trama reconstruida comprende completamente o parcialmente un segundo ciclo de tono reconstruido, y de manera tal que el número de muestras del primer ciclo de tono reconstruido difiere de un número de muestras del segundo ciclo de tono reconstruido.
La reconstrucción de un ciclo de tono se lleva a cabo reconstruyendo alguna o la totalidad de las muestras del ciclo de tono que ha de ser reconstruido. Si el ciclo de tono a ser reconstruido está completamente comprendido por una trama que se ha perdido, entonces puede ser necesario reconstruir la totalidad de la muestra del ciclo de tono. Si el ciclo de tono a ser reconstruido está solo parcialmente comprendido por la trama que se ha perdido, y si algunas de las muestras del ciclo de tono están disponibles, por ejemplo, ya que están comprendidas por otra trama entonces puede ser por ejemplo suficiente reconstruir solamente las muestras del ciclo de tono que están comprendidos por la
5
10
15
20
25
30
35
40
45
50
55
60
trama que se ha perdido para reconstruir el ciclo de tono.
La Figura 2b ilustra la funcionalidad del aparato de la Figura 2a. En particular, la Figura 2b ilustra una señal de voz 222 que comprendo los pulsos 211,212, 213, 214, 215, 216, 217.
Una primera porción de la señal de voz 222 está comprendida por una trama n-1. Una segunda porción de la señal de voz 222 está comprendida por una trama n. Una tercera porción de la señal de voz 222 está comprendida por la trama n+1.
En la Figura 2b, la trama m-1 precede a la trama n y la trama n+1 sucede a la trama n. Esto significa que la trama n- 1 comprende una porción de la señal de voz que tuvo lugar anteriormente en el tiempo en comparación con la porción de la señal de voz de la trama n; y la trama n+1 comprende una porción de la señal de voz que tuvo lugar más tarde en el tiempo en comparación con la porción de la señal de voz de la trama n.
En el ejemplo de la Figura 2b se supone que la trama n se perdió o está dañada y por lo tanto, solo las tramas anteriores a la trama n ("tramas anteriores") y las tramas que suceden a la trama n ("tramas sucesivas") están disponibles ("tramas disponibles").
Un ciclo de tono puede, por ejemplo, definirse como sigue: un ciclo de tono se inicia con uno de los pulsos de 211, 212, 213, etc. y termina con el pulso inmediatamente posterior en la señal de voz. Por ejemplo, los pulsos 211 y 212 definen el ciclo de tono 201. Los pulsos 212 y 213 definen el ciclo de tono 202. Los pulsos 213 y 214 definen el ciclo de tono 203, etc.
Como alternativa pueden considerarse otras definiciones de ciclo de tono, bien conocidas por una persona experta en la materia, que emplean, por ejemplo, otros puntos de inicio y de fin del ciclo de tono.
En el ejemplo de la Figura 2b, la trama n no se encuentra disponible en un receptor o está dañada. Por lo tanto, el receptor está consciente de los pulsos 211 y 212 y del ciclo de tono 201 de la trama n-1. Por otra parte, el receptor está consciente de los pulsos 216 y 217 y del ciclo de tono 206 de la trama n+1. Sin embargo, la trama n que comprende los pulsos 213, 214 y 215, que comprende completamente los ciclos de tono 203 y 204 y que comprende parcialmente los ciclos de tono 202 y 205, tiene que ser reconstruido.
De acuerdo con algunas realizaciones, la trama n se puede reconstruir en función de por lo menos un ciclo de tono (“ciclos de tono disponibles") de las tramas disponibles (por ejemplo, la trama anterior n-1 o la siguiente trama n+1). Por ejemplo, las muestras del ciclo de tono 201 de la trama n-1 pueden, por ejemplo, ser cíclicamente copiadas varias veces para reconstruir las muestras de la trama perdida o dañada. Mediante el copiado repetido cíclico de las muestras del ciclo de tono, el ciclo de tono en sí mismo se copia, por ejemplo, si el ciclo de tono es c, entonces
muestra (x + i ■ c) = muestra(x) ; siendo i un número entero.
En realizaciones, se copian las muestras desde el final de la trama n-1. La longitud de la porción de la trama n-ésima que se copia es igual a la longitud del ciclo de tono 201 (o casi igual). Pero las muestras de tanto 201 como 202 se utilizan para copiar. Esto puede ser considerado de manera especialmente cuidadosa cuando hay un solo pulso en la trama n-1-ésima.
En algunas realizaciones, las muestras copiadas son modificadas.
La presente invención se basa, además, en el hallazgo de que mediante el copiado cíclicamente repetitivo de las muestras de un ciclo de tono, los pulsos 213, 214, 215 de la trama perdida n se mueven a posiciones equivocadas, cuando el tamaño de los ciclos de tono que están compuestos (completamente o parcialmente) por la trama perdida (n) (ciclos de tono 202, 203, 204 y 205) se diferencia de la magnitud del ciclo de tono copiado disponibles (aquí: el ciclo de tono 201).
Por ejemplo, en la Figura 2b, la diferencia entre el ciclo de tono 201 y el ciclo de tono 202 está indicado por A1, la diferencia entre el ciclo de tono 201 y el ciclo de tono 203 está indicada por A2, la diferencia entre el ciclo de tono 201 y el ciclo de tono 204 está indicada por A3, y la diferencia entre el ciclo de tono 201 y el ciclo de tono 205 está indicada por A4.
En la Figura 2b, puede verse que el ciclo de tono 201 de la trama n-1 es significativamente más grande que el ciclo de tono 206. Por otra parte, los ciclos de tono 202, 203, 204 y 205, que están comprendidos (parcial o totalmente) por la trama n y, cada uno de ellos es más pequeño que el ciclo de tono 201 y más grande que el siglo de tono 206. Por otra parte, los ciclos de tono más cercanos al ciclo de tono grande 201 (por ejemplo, el ciclo de tono 202) son más grandes que los ciclos de tono (por ejemplo, el ciclo de tono 205) que están más cercanos al ciclo de tono pequeño 206.
5
10
15
20
25
30
35
40
45
50
55
60
En base a estos hallazgos de la presente invención, de acuerdo con realizaciones, el reconstructor de tramas 220 está configurado para reconstruir la trama reconstruida de manera tal que el número de muestras del primer ciclo de tono reconstruido decir de un número de muestras de un segundo ciclo de tono reconstruido que está parcial o totalmente comprendido por la trama reconstruida.
Por ejemplo, de acuerdo con algunas realizaciones, la reconstrucción de la trama depende de una diferencia de número de muestras que indica una diferencia entre el número de muestras de uno de los uno más en ciclos de tono disponibles (por ejemplo, el ciclo de tono 201) y un número de muestras de un primer ciclo de tono (por ejemplo, los ciclos de tono 202, 203, 204, 205) que han de ser reconstruidos.
Por ejemplo, de acuerdo con una realización, las muestras del ciclo de tono 201 pueden ser por ejemplo copiadas de manera cíclicamente repetida.
Seguidamente, la diferencia en el número de muestras indica cuántas muestras serán suprimidas de la copia cíclicamente repetida correspondiente al primer ciclo de tono a ser reconstruido, o cuántas muestras han de ser añadidas a la copia cíclicamente repetida correspondiente al primer ciclo de tono a ser reconstruido
En la Figura 2b, cada número de muestras indica cuántas muestras serán suprimidas de la copia cíclicamente repetida. Sin embargo, en otros ejemplos, el número de muestras puede indicar cuántas muestras serán añadidas a la copia cíclicamente repetida. Por ejemplo, en algunas realizaciones, es posible añadir muestras mediante la adición de muestras de amplitud cero al correspondiente ciclo de tono. En otras realizaciones, es posible añadir muestras al ciclo de tono mediante el copiado de otras muestras del ciclo de tono, por ejemplo, mediante el copiado de muestras que son vecinas a las posiciones de las muestras a ser añadidas.
Aunque anteriormente se han descrito realizaciones en las que las muestras de un ciclo de trama de una trama que precede a la trama perdida o dañada han sido copiadas de manera cíclicamente repetitiva, en otras realizaciones, las muestras de un ciclo de tono de una trama que sigue a la trama perdida o dañada son copiadas de manera cíclicamente repetida a efectos de reconstruir la trama perdida. Rigen de manera análoga los mismos principios descritos anteriormente y a continuación.
Es posible determinar una diferencia de número de muestras de este tipo para cada ciclo de tono a ser reconstruido. Seguidamente, la diferencia del número de muestras de cada ciclo de tono indica cuántas muestras serán suprimidas de la copia cíclicamente repetida correspondiente al de tono correspondiente a ser reconstruido, o cuántas muestras serán añadidas a la copia cíclicamente repetida correspondiente al ciclo de tono correspondiente a ser reconstruido.
De acuerdo con una realización, la unidad de determinación de 210 puede estar configurada por ejemplo para determinar una diferencia en el número de muestras para cada uno de entre una pluralidad de ciclos de tono a ser reconstruidos, de manera tal que la diferencia en el número de muestras de cada uno de los ciclos de tono indica una diferencia entre la cantidad de muestras de dicho uno de los uno o más ciclos de tono disponibles y una cantidad de muestras de dicho ciclo de tono a ser reconstruido. El reconstructor de trama 220, puede estar configurado por ejemplo para reconstruir cada ciclo de tono de entre la pluralidad de ciclos de tono a ser reconstruidos en función de la diferencia en el número de muestras de dicho ciclo de tono a ser reconstruido y en función de la muestra de dicho uno de los uno o más ciclos de tono disponibles, a efectos de reconstruir la trama reconstruida.
En una realización, el reconstructor de trama 220, puede estar configurado por ejemplo para generar una trama intermedia en función de dicho uno de los uno o más ciclo de tono disponibles. El reconstructor de tramas 220 puede estar configurado por ejemplo para modificar la trama intermedia de manera de obtener la trama reconstruida.
De acuerdo con una realización, la unidad de determinación 210 puede estar configurada por ejemplo para determinar un valor de la diferencia de las tramas (d; s) que indica cuántas muestras han de ser eliminadas de la trama intermedia o cuántas muestras han de ser añadidas a la trama intermedia. Por otra parte, el reconstructor de tramas 220 puede estar configurado, por ejemplo, para eliminar primeras muestras de la trama intermedia de maneras de obtener la trama reconstruida, cuando el valor de la diferencia de tramas indica que las primeras muestras han de ser eliminadas de la trama. Por otra parte, el reconstructor de tramas 220 puede estar configurado por ejemplo para añadir segundas muestras a la trama intermedia de manera de obtener la trama reconstruida, cuando el valor de la diferencia de tramas (d; s) indica que las segundas muestras serán añadidas a la trama.
En una realización, el reconstructor de tramas 220 puede estar configurado por ejemplo para eliminar las primeras muestras de la trama intermedia cuando el valor de la diferencia de las tramas indica que las primeras muestras serán eliminadas de la trama, de manera tal que el número de primeras muestras que son eliminadas de la trama intermedia está indicado por el valor de la diferencia de tramas. Por otra parte, el reconstructor de tramo 220 puede estar configurado por ejemplo para añadir las segundas muestras a la trama intermedia cuando el valor de la
5
10
15
20
25
30
35
40
45
50
55
60
diferencia de tramas indica que las segundas muestras serán añadidas a la trama, de manera tal que el número de segundas muestras que son añadidas a la trama intermedia está indicado por el valor de la diferencia de tramas.
De acuerdo con una realización, la unidad de determinación 210 puede estar configurada, por ejemplo, para determinar el número de la diferencia de tramas s de manera tal que la fórmula:
mantenga su validez en el que L indica un número de muestras de la trama reconstruida, en el que M indica un número de subtramas de la trama reconstruida, en el que Tr indica una longitud de período de tono de dicho uno de los uno o más ciclos de tono disponibles, y en el que p[i] indica una longitud de período de tono de un ciclo de tono reconstruido de la subtrama i-ésima de la trama reconstruida.
De acuerdo con la invención, el reconstructor de trama 220 está adaptado para generar una trama intermedia en función de dicho uno de los uno o más ciclos de tono disponibles. Por otra parte, el reconstructor de trama 220 está adaptado para generar la trama intermedia de manera tal que la trama intermedia comprenda un primer ciclo de tono intermedio parcial, uno o más ciclos de tono intermedio adicionales, y un segundo ciclo de tono intermedio parcial. Por otra parte, el primer ciclo de tono intermedio parcial depende de una o más de las muestras de dicho uno o más ciclos de tono disponibles, en el que cada uno de los uno o más ciclos de tonos intermedios adicionales depende de la totalidad de las muestras de dicho uno de los uno o más ciclos de tono disponibles, y en el que el segundo ciclo de tono intermedio parcial depende de una o más de las muestras de dicho uno de los uno o más ciclos de tono disponibles adicionales. Por otra parte, la unidad de determinación 210 está configurada para determinar un número de diferencia de porción inicial que indique cuántas muestras han de ser eliminadas de o añadidas en el primer ciclo de tono intermedio parcial, y en el que el reconstructor de tramas 220 está configurado para eliminar una o más primeras muestras del primer ciclo de tono intermedio parcial, o está configurado para añadir una o más primeras muestras al primer ciclo de tono intermedio parcial en función del número de diferencia de la porción inicial. Además, la unidad de determinación 210 está configurada para determinar para cada uno de los ciclos de tonos intermedios adicionales un número de diferencia de ciclo de tono que indique cuántas muestras han de ser eliminadas o añadidas en dicho uno de los ciclos de tono intermedios adicionales. Además, el reconstructor de tramas 220 está configurado para eliminar una o más segundas muestras de dicho uno de los ciclos de tonos intermedios adicionales, o está configurado para añadir una o más segundas muestras a dicho uno de los ciclos de tono intermedios adicionales en función de dicho número de diferencia de ciclo de tono. Por otra parte, la unidad de determinación 210 está configurada para determinar un número de diferencia de porción extrema que indique cuántas muestras han de ser eliminadas o añadidas en el ciclo de tono intermedio parcial, y en el que el reconstructor de tramas 220 está configurado para eliminar una o más terceras muestras del segundo ciclo de tono intermedio parcial, o está configurado para añadir una o más terceras muestras al segundo ciclo de tono intermedio parcial en función del número de diferencia de porciones extremas.
De acuerdo con una realización, el reconstructor de tramas 220 puede estar configurado por ejemplo para generar una trama intermedia en función de dicho uno de los uno o más el ciclo de tono disponibles. Por otra parte, la unidad de determinación 210 puede estar adaptada por ejemplo para determinar una o más porciones de señales de baja energía de la señal de voz comprendida por la trama intermedia, en el que cada una de las porciones de señal de baja energía es una primera porción de voz dentro de la trama intermedia, en el que la energía de la señal de voz es inferior a la de una segunda porción de señal de la señal de voz comprendida por la trama intermedia. Por otra parte, el reconstructor de tramas 220 puede estar configurado por ejemplo para eliminar una o más muestras desde por lo menos una no de las una o más porciones de baja energía entre porciones de señales de baja energía de la señal de voz, o para añadir una o más muestras a por lo menos una de las una o más porciones de señales de baja energía de la señal de voz, de manera obtener la trama reconstruida.
En una realización particular, el reconstructor de tramas 220 puede estar configurado por ejemplo para generar la trama intermedia, de manera tal que la trama intermedia comprenda uno o más ciclos de tono reconstruidos, de manera tal que cada uno de los uno o más ciclos de tono reconstruidos dependa de dicho uno de los uno o más ciclos de tono disponibles. Por otra parte, la unidad de determinación puede por ejemplo estar configurada para determinar un número de muestras que han de ser eliminadas de cada uno de los uno o más ciclos de todo reconstruidos. Por otra parte, la unidad de determinación 210 puede estar configurada por ejemplo para determinar cada una de las una o más porciones de señal de baja energía de manera tal que para cada una de las porciones de señales de baja energía un número de muestras de dicha porción de señal de baja energía depende del número de muestras que han de ser eliminadas de uno de los uno o más ciclos de tono reconstruidos, en el que dicha porción de señal de baja energía está situada dentro de dicho uno de los uno o más ciclos de tono reconstruidos.
En una realización, la unidad de determinación 210 puede estar configurada por ejemplo para determinar una posición de uno o más pulsos de la señal de voz de la trama a ser reconstruida como trama reconstruida. Además,
5
10
15
20
25
30
35
40
45
50
55
el reconstructor de tramas 120 puede por ejemplo está configurado para reconstruir la trama reconstruida en función de la posición de los uno o más pulsos de la señal de voz.
De acuerdo con una realización, la unidad de determinación 210 puede estar configurada por ejemplo para determinar una posición de dos o más pulsos de la señal de voz de la trama a ser reconstruida como trama reconstruida, en el que 7[0] es la posición de uno de los dos o más pulsos de la señal de voz de la trama ser reconstruida como trama reconstruida, y en el que la unidad de determinación 210 estar configurada para determinar la posición (T[/]) de otros pulsos de los dos o más pulsos de la señal de voz de acuerdo con la fórmula:
T [/] = T [0] + / Tr
en el que Tr indica una longitud redondeada de dicho uno de los uno o más ciclos de tono disponibles, y en el que / es un número entero.
De acuerdo con una realización, la unidad de determinación 210 puede estar configurada para determinar un índice k del último pulso de la señal de voz de la trama a ser reconstruida como la trama reconstruida de manera tal que
en el que L indica un número de muestras de la trama reconstruida, en el que s indica el valor de la diferencia de tramas, en el que T [0] indica una posición de un pulso de la señal de voz de la trama a ser reconstruida como la trama reconstruida, que es diferente del último pulso de la señal de voz, y en el que Tr indica una longitud redondeada de dicho uno de los uno o más ciclos de tono disponibles.
En una realización, la unidad de determinación 210 puede estar configurada por ejemplo para reconstruir la trama a
ser reconstruida como la trama reconstruida mediante la determinación de un parámetro ^ , en el que ^ se define de acuerdo con la fórmula:
en el que la trama a ser reconstruida como la trama reconstruida comprende M subtramas, en el que Tp indica la longitud de dicho uno de los uno o más ciclos de tono disponibles, y en el que Text indica una longitud de uno de los ciclos de tono a ser reconstruidos de la trama a ser reconstruida como trama reconstruida.
De acuerdo con una realización, la unidad de determinación 210 puede estar configurada por ejemplo para reconstruir la trama reconstruida mediante la determinación de una longitud redondeada Tr de dicho uno de los uno o más ciclos de tono disponibles en base a la siguiente fórmula:
Tr = [Tp + 0,5]
en el que Tp indica la longitud de dicho uno de los uno o más ciclos de tono disponibles.
En una realización, la unidad de determinación 210 puede estar configurada por ejemplo para reconstruir la trama reconstruida mediante la aplicación de la siguiente fórmula:
en el que Tp indica la longitud de dicho uno de los uno o más ciclos de tono disponibles, en el que Tr indica una longitud redondeado de dicho uno de los uno o más ciclos de tono disponibles, en el que la trama a ser reconstruida como trama reconstruida comprende M subtramas, en el que la trama ser reconstruida como la trama reconstruida
comprende L muestras, y en el que ^ es un número real i que indica una diferencia entre un número de muestras de dicho uno de los uno o más ciclos de tono disponibles y un número de muestras de uno de los uno o más ciclos de tono a ser reconstruidos.
Seguidamente se describen realizaciones con mayor detalle.
A continuación, un primer grupo de realizaciones de resincronización de pulso se describe con referencia a las
5
10
15
20
25
30
35
40
45
fórmulas (25) a (63).
En tales realizaciones, si no hay un cambio de tono, se utiliza el último retardo de tono sin redondeo, preservándose la parte fraccional. La parte periódica se construían mediante el tono no número entero e interpolación, por ejemplo, en [MTTA90]. Esto reducirá el corrimiento o desplazamiento de frecuencia de las armónicas, en comparación con la utilización del retardo de tono redondeado, con lo cual se mejora de manera significativa la ocultación de las señales tonales o de voz con tono constante.
La ventaja se ilustra en las Figuras 8 y9, en el que la señal representativa de tono con pérdidas de trama se oculta mediante retardo de tono fraccional respectivamente redondeado y no redondeado. En este caso, la Figura 8 ilustra una representación en tiempo y frecuencia de una señal de voz que se está resincronizando mediante un retardo de tono redondo. La Figura 9 ilustra una representación en tiempo frecuencia de una señal de voz que se está resincronizando mediante un retardo de tono no redondeado con la parte fraccional.
Habrá una mayor complicidad de cálculo cuando se utiliza la parte funcional del tono. Esto no debería influir sobre la complejidad del caso por cuanto no hay necesidad de la resincronización de pulso glotal.
Si no hay un cambio de tono predicho entonces no hay necesidad del procesamiento que se explica a continuación.
Si se predice un cambio de tono, las realizaciones descritas con anterioridad y con referencia a las fórmulas (25) a (63) proporcionan conceptos para determinar d, siendo la diferencia entre la suma del número total de muestras dentro de los ciclos de tono con el tono constante (Tc) y la suma del número total de muestras dentro de los ciclos de tono con el tono en evolución p[i],
A continuación se define Tc como en la fórmula (15a): Tc = redondeo (últimojtono).
De acuerdo con realizaciones, la diferencia d puede determinarse mediante un algoritmo más rápido y más preciso (enfoque de algoritmo rápido para determinar d ) como se describe a continuación.
Un algoritmo de este tipo puede basarse por ejemplo en los principios siguientes:
- En cada subtrama i: Tc - p[i] muestras para cada ciclo de tono (de longitud Tc) deberían ser eliminadas (o
p[i] - Tc añadido si Tc - p[i] < 0).
L _subfr T
- Hay c ciclos de tono en cada subtrama.
L _subfr
T
- Por lo tanto, para cada subtrama (Tc - p[i]) c muestras deberían ser eliminadas.
De acuerdo con algunas realizaciones, no se lleva a cabo ningún redondeo y se utiliza un tono fraccional. Entonces:
- P[i] = Tc + (i + 1)° .
- i +1 ° L -subfr
T
- Por lo tanto, para cada subtrama i, lc muestras deberían ser eliminadas si ° < 0 (o añadidas si
° > 0).
d = -°-
- Por lo tanto,
_subfr
Tc
EM .
t=il
(en el que M es el número de subtramas en una trama).
De acuerdo con algunas otras realizaciones, se lleva a cabo un redondeo. Para el tono número entero (M es el número de subtramas en una trama), d se define como sigue:
De acuerdo con una realización, se proporciona un algoritmo para calcular d de manera acorde:
5
10
15
20
25
30
35
40
45
50
ftmp ■ 0;
for (1=0;i <M;i++) {
ftmp -<-= p[i];
>
d ■ (short)floor((M*T_c - ftmp)*(float)L_subfr/ T_c +0.E);
En otra realización, la última línea del algoritmo se reemplaza con
d = (short)floor (L_frame - ftmp * (float) L_subfr / T_c + 0,5);
De acuerdo con realizaciones el último pulso T[n] se encuentra de acuerdo con:
m+->T,. < L_ trama A IjPjO + (f ^--1} T¿ > L__ iranís
(26)
De acuerdo con una realización, se emplea una fórmula para calcular N. Esta fórmula se obtiene a partir de la fórmula (26) de acuerdo con:
(27)
y el último pulso tiene seguidamente el índice N - 1.
De acuerdo con esta fórmula, es posible calcular N para los ejemplos ilustrados por las Figuras 4 y 5.
A continuación se describe un concepto sin búsqueda explícita del último pulso, pero que toma en cuenta las posiciones de los pulsos. Un concepto de este tipo no necesita N, el último índice de pulso en la parte periódica construida.
La posición real del último pulso en la parte periódica construida de la excitación (7[k]) determina el número de ciclos de tono completos k, en el que se remueven (o se añaden) las muestras.
La Figura 12 ilustra una posición del último pulso 7[2] antes de la retirada de d muestras. En cuanto a las realizaciones descritas con respecto a las fórmulas (25) - (63), el signo de referencia 1210 designa d.
En el ejemplo de la Figura 12, el índice del último pulso k es 2 y hay dos ciclos de tono completos desde las cuales deberían eliminarse las muestras.
Después de eliminar d desde la señal de longitud L_trama + d, no hay muestras de la señal original más allá de L_trama + d muestras. Por lo tanto, 7[k] se halla dentro de L_trama + d muestras y k se determina por lo tanto mediante la siguiente expresión:
k = i | 7[i] < Ltrama + d < T [i + 1]
A partir de la fórmula (17) y de la formula (28), se desprende que 7[0] + kTc < Ltrama + d < 7[0] + (k + 1) Tc
Es decir:
(28)
(29)
(30)
De la fórmula (30) se desprende que:
(31)
En un códec que utiliza por ejemplo tramas de por lo menos 20 ms y, en el que la frecuencia fundamental más baja del habla es por ejemplo de por lo menos 40 Hz, en la mayoría de los casos existe por lo menos un pulso en la
5
10
15
20
25
30
35
40
45
trama oculta que no es SORDA.
Seguidamente se describe un caso con por lo menos dos (k > 1) con referencia las fórmulas (32) a (46). Supongamos que en cada ciclo de tono /-ésimo entre pulsos, se eliminarán A, muestras, en el que A,- se define como:
Aj = A + (í — 1) íl, 1 í i k ^32)
en el que a es una variable desconocida que debe expresarse en términos de las variables conocidas.
Supongamos que serán eliminadas t Ao muestras antes del primer pulso, en el que Ao se define como:
m
(33)
A0= (A -a)
Supongamos que Ak+i muestras serán eliminadas después del último pulso, en el que Ak+i se define como:
L-d - T[k]
Ajt+i — (A + Ara)
(34)
Las dos suposiciones últimas armonizan con la fórmula (32) que tiene en cuenta la longitud de los ciclos de tono parciales primero y segundo.
Cada uno de los valores de A, es una diferencia en el número de muestras. Por otra parte, Ao es una diferencia en el número de muestras. Además, Ak+1 es una diferencia en el número de muestras.
La Figura 13 ilustra la señal de voz de la Figura 12, y adicionalmente ilustra Ao a A3. El número de muestras a ser eliminadas en cada ciclo de tono se representa esquemáticamente en el ejemplo de la Figura 13, en el que k = 2. En cuanto a las realizaciones descritas con referencia las fórmulas (25) - (63), el signo de referencia 1210 designa d.
El número total de muestras a ser eliminadas, d, se relacione seguidamente con A, como sigue:
t+3
(35)
A partir de las fórmulas (32) a (35), es posible obtener d como sigue:
. VT[D| . L+d-Tk-\ .
d — (A - a) ——I- f A 4- kti)-------—---------S- (A -I- (t — 1) tí J
Tc
La fórmula (36) es equivalente a:
, ,fn>: l + í-rife)
4=1
(36)
V Tc
■+■ k
)+"(*
£ + _ r[A:j T[G| + A- (fc - 1)
Tc Tc 2
Supongamos que el último ciclo de tono completo de una trama oculta tiene una longitud p[M - 1], es decir:
Ak =TC- p[M — 1] (38)
A partir de las fórmulas (32) y (38) se desprende que:
A = Tc — p[AÍ — 1] — (fe — 1) a (39)
Por otra parte, de las fórmulas (37) y (39), se desprende que:
(37)
d = {Tc - p[M - lj -MI -k-)a) (H- + h ) +
(40)
La fórmula (40) es equivalente a:
r.rf()' H ,,, L-t-d-tM
+ ti n i — k.) —- + (i - k)---------—--------------
(41)
10 A partir las fórmulas (17) y (41), se desprende que:
* ft -,[* -1], *+* +» U® +
(42)
5
15
La fórmula (42) es equivalente a:
¿Tc = (T, - p[M - 1]) (L + J) +
4-ü í -kT[Q] ±L + d- T[A] + í^LJilTo
20
Por otra parte, de la fórmula (43), se desprende que:
tlTc-iTc-itjM -n)(L+<l)
" -fcT[0] + L + ti - T[A] + ^^-[TC
La fórmula (44) es equivalente a:
(43)
(44)
_ p[M - 1] [L + d) - TCL
~ L — d - (k + 1) T\Q] - kTc + Tc
25
Además, la fórmula, (45) es equivalente a:
_ p[M - 1] (L + d) - TCL ~ L-d-(k + 1)T[0] - ^±Mre
(45)
(46)
30 De acuerdo con realizaciones, se calcula ahora en base a las fórmulas (32)-(34), (39) y (46), cuántas muestras han de ser eliminadas o añadidas antes del primer pulso, y/o entre y/o después del último pulso.
En una realización, las muestras se remueven o añaden en las regiones de mínima energía.
35 De acuerdo con realizaciones, el número de muestras a ser eliminadas puede ser redondeado, por ejemplo, mediante:
5
10
15
20
25
30
35
40
Seguidamente se describe un caso con un pulso (k = 0) con referencia a las fórmulas (47) a (55).
Si hay exactamente un solo pulso en la trama oculta, entonces Ao muestras habrán de ser eliminadas antes del
pulso:
m
Ao = (A - a)
(47)
en el que A y a son variables desconocidas que han de expresarse en términos de las variables conocidas. Ai han de ser eliminadas después del pulso, en el que:
Ai = A
L + ú - X[0)
■' (48)
En tal caso, el número total de muestras a ser eliminadas está dado por la siguiente expresión:
d = Aq + Ai
A partir de las fórmulas (47) a (49), se desprende que:
(49)
La fórmula (50) es equivalente a:
dTc = A (L + ti) — ®T[Ü]
(51)
Su supone que la relación entre el ciclo de tono antes del pulso y el ciclo de tono después del pulso es la mismo que la relación entre el retardo de tono en la última subtrama y la primera subtrama en la trama previamente recibida:
A — o p[—4
A partir de la fórmula (52), se desprende que
a = A ^1
Además, a partir de las fórmulas (51) y (53), se desprende que:
La fórmula (54) es equivalente a:
5
10
15
20
25
30
35
40
45
(55)
muestras a ser eliminadas o adicionadas en la región de mínima energía antes del pulso y muestras después del pulso.
A continuación, se describe un concepto simplificado de acuerdo con realizaciones, que no requiere una búsqueda de (la ubicación de) los pulsos, y haciéndose referencia a las fórmulas (56) a (63).
t [/] designa la longitud del ciclo de tono i-ésimo. Después de eliminar d muestras de la señal, se obtienen k ciclos de tono conflictos y un ciclo de tono parcial (hasta completo).
Por lo tanto:
Hay \A
d- [A - a\
h-i fc
■=: ^=’ (56)
Dado que se obtienen ciclos de tono de longitud t [i] a partir del ciclo de tono de longitud Tc después de eliminar algunas muestras, y dado que el número total de muestras eliminadas es d, se desprende que
(57)
Se desprende que:
L + d Tc
- 1 < k <
L+d
T 1 a
(58)
Además, se desprende que
(59)
De acuerdo con realizaciones, puede suponerse un cambio lineal en el retardo de tono:
ÜS[í( = Tt - (ÍÉ+l)At 0< i< k
En realizaciones, ■' ■ 11 muestras son eliminadas en el ciclo de tono k-ésimo que permanece en la trama después de eliminar las muestras, en la parte del ciclo de tono k-ésimo, que permanece en la trama después de eliminar las muestras,
muestras
son eliminadas.
Por lo tanto, el número total de las muestras eliminadas es:
(*+i)A+|>sir,ft
'' (60)
La fórmula (60) es equivalente a:
5
10
15
20
25
30
35
40
45
50
Además, la fórmula (61) es equivalente a:
(61)
(62)
Por otra parte, la formula (62) es equivalente a:
(63)
De acuerdo con realizaciones, (* + U A muestras son eliminadas en la posición de la mínima energía. No hay necesidad de conocer la ubicación de los pulsos, ya que la búsqueda de la posición de energía mínima se efectúa en la memoria intermedia circular que contiene un ciclo de tono.
Si la posición de energía mínima es después del primer pulso y si no han de revolverse muestras antes del primer pulso, esto se podría presentarse una situación en la cual el retardo de tono evoluciona como
(Tc + d)^. Tc, (Tc-A)ATc-2±)
(2 ciclos de tono en la última trama recibida y tres ciclos de tono en la trama oculta). Por lo tanto, habría una discontinuidad. Una discontinuidad similar puede surgir después del último pulso, pero no en el mismo momento cuando sucede antes del primer pulso.
Por otra parte, la región de energía mínima aparecería más probablemente después del primer pulso, si el pulso es más cercano al inicio de la trama oculta. Si el primer pulso el más cercano al inicio de la trama oculta es más probable que el último ciclo de tono en la última trama recibida sea más grande que Tc. A efectos de reducir la posibilidad de una discontinuidad en el cambio de tono, debería utilizarse la ponderación para dar ventaja en las regiones mínimas más cercanas al inicio o al fin del ciclo de tono.
De acuerdo con realizaciones, se describe una implementación de los conceptos provistos, que implementa una o más o la totalidad de las siguientes etapas de método:
1. Almacenar, en una memoria intermedia temporal B, Tc muestras filtradas de bajo pase desde el final de la última trama recibida, buscando en paralelo la región de energía mínima. La memoria intermedia temporal se considera como una memoria intermedia circular cuando se está buscando la región de energía mínima (esto puede significar que la región de energía mínima puede consistir en unas pocas muestras del inicio y unas pocas muestras del final del siglo de tono). La región de energía mínima puede, por ejemplo, ser la ubicación del
mínimo para la ventana deslizante de longitud rt*-1» ai muestras. Puede utilizarse por ejemplo la ponderación que puede dar por ejemplo una ventaja a las regiones mínimas más cercanas al inicio del ciclo de tono.
2. Copiar las muestras de la memoria intermedia temporal B en la trama, desplazar LAJ
muestras a la región de
energía mínima seguido. Por lo tanto, se crea un ciclo de tono con una longitud t [0], Ajustar = A — |_AJ
3. Para el ciclo de tono i-ésimo (0 < i < k), copiar las muestras de los ciclos de tono (i - 1)ésimo, desplazar
|_AJ +■ |A-iJ muestras a la región de energía mínima . Ajustar Repetir esta etapa k - 1 veces.
Si = - Líi-iJ + A - [AJ
4. Para la búsqueda del ciclo de tono kesimo para la nueva región mínima en el ciclo de tono (k - 1)esimo mediante la ponderación de dar ventaja a las regiones mínimas más cercanas al final del ciclo de tono. Seguidamente copiar las muestras del ciclo de tono (k - 1 )esimo, trasladar
A -1- = ¿_ |fe2¿j
muestras a la región de energía mínima.
5
10
15
20
25
30
35
40
45
50
55
Si deben añadirse muestras, puede utilizarse el procedimiento equivalente tomando en cuenta que d < 0y A < 0 y
que adicionamos en total |d| muestras, es decir se añaden ' t I) -i en el ciclo kesimo en la posición de la mínima energía.
El tono fraccional puede ser utilizado a nivel de subtrama para derivar d como se describió en lo que precede en cuanto al “enfoque del algoritmo rápido para determinar d” que como de alguna manera se utilizan las longitudes de los ciclos de tono aproximados.
Seguidamente se describe un segundo grupo de realizaciones de resincronización de pulsos con referencia las fórmulas (64) a (113). Estas realizaciones emplean la definición de la fórmula (15b),
Tr = [Tp + 0,5]
en el que la longitud del último período de tono es Tp, y la longitud del segmento que se copia es Tr.
Si algunos parámetros utilizados por el segundo grupo de realizaciones de resincronización de pulsos no se definen a continuación, las realizaciones de la presente invención pueden emplear las definiciones provistas por estos parámetros con respecto al primer grupo de formas de la resincronización de pulsos definidos en lo que precede (Véanse las fórmulas (25) a (63)).
Algunas de las fórmulas (64) a (113) del segundo grupo de realizaciones de resincronización pueden redefinir algunos de los parámetros utilizados con respecto al primer grupo de realizaciones de resincronización de pulsos. En este caso, las definiciones redefinidas provistas rigen para las segundas realizaciones de resincronización de pulsos.
Como se describe en lo que precede, de acuerdo con algunas realizaciones, la parte periódica puede por ejemplo construirse para una trama y una subtrama adicional, en el que la longitud de la trama se designa como L = Ltama-
L_
Por ejemplo, con M subtramas en una trama, la longitud de la subtrama es L_subtr = M .
Como ya se describió, T [0] es la ubicación del primer pulso máximo en la parte periódica construida de la excitación. Las posiciones de los otros pulsos están dadas por:
T [/] = T [0] + i Tr .
De acuerdo con realizaciones, y en función de la construcción de la parte periódica de la excitación, después de la construcción de la parte periódica de la excitación, se lleva a cabo la resincronización de pulso glotal para corregir la diferencia entre la posición teórica estimada del último pulso en la trama perdida (P), y su posición real en la parte periódica construida de la excitación (T [^]).
La posición teórica estimada del último pulso en la trama perdida (P) puede por ejemplo determinarse de manera indirecta mediante la estimación de la evolución del retardo de tono. La evolución del retardo tono es por ejemplo extrapolado en base a los retardos de tono de las últimas siete subtramas antes de la trama perdida. Los retardos de tono en evolución en cada subtrama son:
p[i] = Tp + (i + l)8,0<i<M
en el que
T - T
^ ext p
M (65)
y Text es el tono extrapolado e i es el índice de subtrama. La extrapolación de tono puede efectuarse por ejemplo utilizando el ajuste lineal ponderado el método de G.718 o el método de G.729.1 o cualquier otro método para la interpolación del tono, que por ejemplo tenga en cuenta una o más tramas futuras. La extrapolación de tono también puede ser no lineal. En una realización, Text puede determinarse de la misma manera cómo se define Text en lo que precede.
La diferencia dentro de una longitud de trama entre la suma del número total de muestras con ciclos de tono con el tono en evolución (p[i]) y la suma del número total de muestras con ciclos de tono con el tono constante (Tp) se designa como s.
5
10
15
20
25
30
35
40
45
De acuerdo con realizaciones, si Text > Tp entonces s muestras deberían ser añadidas a una trama, y si Text < Tp entonces -s muestras deberían ser eliminadas de una trama. Después de añadir o eliminar |s| muestras, el último pulso en la trama oculta estará en la posición teórica estimada (P).
Si Text = Tp, no hay necesidad de añadir ni eliminar muestras dentro de una trama.
De acuerdo con algunas realizaciones, la resincronización de pulso glotal se efectúa adicionando o removiendo muestras en las regiones de energía mínima de todos los ciclos de tono.
A continuación, se describe el parámetro de cálculo s de acuerdo con las realizaciones, haciéndose referencia a las fórmulas (66) a (69).
De acuerdo con algunas realizaciones, la diferencia, s, puede calcularse por ejemplo en base a los siguientes principios:
- - En cada subtrama /, deberían añadirse p[¡] - Tr muestras para cada ciclo de tono (de longitud Tr) (si p[¡] - Tr
- > 0); (o Tr - p[i] muestras deberían eliminarse si p[i] - L subfr L
- Tr < 0).
- T MT - Hay r r ciclo de tono en cada subtrama.
- - Por lo tanto, en la subtrama /-ésima deberían eliminarse
- [p[i]~Tr) — muestras.
Por lo tanto, en armonía con la fórmula (64), de acuerdo con una realización, es posible calcular s por ejemplo de acuerdo con formula (66):
(66)
La fórmula (66) es equivalente a:
(67)
en el que la fórmula (67) es equivalente a:
(68)
y en el que la fórmula (68) es equivalente a:
(69)
Obsérvese que s es positivo si Text > Tp y deberían añadirse muestras, y que s es negativo si Text < Tp y deberían eliminarse muestras. Por lo tanto, el número de muestras a ser eliminadas o añadidas pueden designarse como |s|.
Seguidamente se describe el cálculo del índice del último pulso de acuerdo con realizaciones, haciéndose referencia a las fórmulas (70) a (73).
La posición real del último pulso en la parte periódica construida de la excitación (T[k]) determina el número de ciclos de tono completos k, en el que las muestras son eliminadas (o añadidas).
5
10
15
20
25
30
35
40
45
50
En la Figura 12 se ilustra una señal de voz antes de la retirada de muestras.
El ejemplo ilustrado en la Figura 12, el índice del último pulso k es 2 y hay dos ciclos de tono completos de los cuales han de eliminarse las muestras. En cuanto a las realizaciones descritas con referencia a las fórmulas (64) - (113), el signo de referencia 1210 designa |s|.
Después de eliminar |s| de la señal de longitud L - s, en el que L = L_trama, o después de añadir |s| muestras a la señal de longitud L - s, no hay muestras de la señal original más allá de las L - s muestras. Debe ser evidente que s es positivo si se han de añadir muestras y que s es negativo si han de eliminarse muestras. Por lo tanto, L - s < L si se añaden muestras y L - s > L sin se remueven muestras. Por lo tanto, T [k] ha de estar dentro de L - s muestras y k se determina por lo tanto mediante la siguiente expresión:
fr=íin¿]<L-s<ní + i] (70)
A partir de las fórmulas (15b) y (70), se desprende que
r|o| + Jtrr < l - s ^ rioi + [t +- i)Tr
(71)
Es decir
(72)
De acuerdo con una realización, es posible determinar k en base a la fórmula (72) como sigue:
(73)
Por ejemplo, en un códec que emplea tramas de por ejemplo por lo menos 20 ms, y empleándose una frecuencia fundamental más baja del habla de por lo menos 40 Hz, en la mayoría de los casos existe un pulso en la trama oculta distinta de SORDA.
A continuación, se describe el cálculo del número de muestras a ser eliminadas en la región mínimas de acuerdo con realizaciones, haciéndose referencia a las fórmulas (74) a (99).
Puede suponerse por ejemplo que Ai muestras en cada ciclo de tono i-ésimo entre pulsos serán eliminadas (o añadidas) en el que Ai' se define como:
- - ■ ■ (74) y en el que a es una variable desconocida que puede expresarse por ejemplo en términos de las variables conocida.
A p
Además, puede suponerse por ejemplo que se eliminarán (o añadirán) 0 muestras antes del primer pulso, en el
Ap0 d f
que 0 se define como:
T\0\
no]
(75) p
í;-i muestras después del último pulso serán eliminadas (o
, L-s-Uk] _____L-S-T[k]
A£+1- i------------= (A + Ar«}-
Tr
Tt
(76)
Las dos últimas oposiciones concuerdan con la fórmula (74) que tiene en cuenta la longitud de los ciclos de tono parciales primero y segundo.
5
10
15
20
25
30
35
40
45
El número de muestras a ser eliminadas (o añadidas) en cada ciclo de tono se ha representado esquemáticamente en la Figura 13, en el que k = 2. La Figura 13 ilustra una representación esquemática de muestras eliminadas en cada ciclo de tono. En cuanto a las realizaciones descritas con referencia a las fórmulas (64) a (113), el signo de referencia 1210 designa |s|.
El número total de muestras a ser eliminadas (o añadidas), s, está relacionado con A de acuerdo con:
(77)
A partir de las fórmulas (74) a (77) se desprende que:
(78)
La fórmula (78) es equivalente a:
w-#-«2™ + B+1*íi-aS
er Jr
+ fcA -I- fl V(í — 1)
Además, la fórmula (79) es equivalente a:
, t[ú] fcCfc-i)
\s\ = - a) + ka)--------------+ a------—1
(79)
(80)
Por otra parte, la fórmula (80) es equivalente:
Además, tomar en cuenta la fórmula (16b) en la fórmula (81) es equivalente a:
(81)
(82)
De acuerdo con realizaciones, puede suponerse que el número de muestras a ser eliminadas (o añadidas) en el ciclo de tono completo después del último pulso está dado por :
A*4i=|rT-p[tf- iJI = |Tr-Tm|
A partir de la fórmula (74) y de la fórmula (83), se desprende que:
\Tt — rext| — ka
A partir de la fórmula (82) y de la formula (84), se desprende que:
(83)
(84)
1*1
= (iTr - Tíiti - [—) + - —-r-----------—+—r-J
(85)
La fórmula (85) es equivalente a:
5
10
15
20
25
30
35
40
45
Además, la fórmula (86) es equivalente a:
, ,/L-ís / rlJtl T[ 0]
kl = p-r-r„|(—)+^-i—+^—)
Por otra parte, la fórmula (87) es equivalente a:
(JtfJt - L>
-mu-no] + 2 -t,
0
A partir de las fórmulas (16b) y (88), se desprende que:
\*\\Tr
La fórmula (89) es equivalente a:
Tr = |Tr - Text\(L - s) +- ü Í-*T[Ü] - - T|0) +^L-i2rrJ
|s|rr = ITr - T-^KL - s) + a (-(ir + 1)T[0] _Mͱ3Í rr)
Además, la fórmula (90) es equivalente a:
\s\Tr - \Tr -Tmí\{L- s) f l)T[Q\
Por otra parte, la fórmula (91) es equivalente a:
U\Tr - |Tr - T^ICL-í) = —(É + l)a (t[0] + Ítt}
Además, la fórmula (92) es equivalente a:
ITt - Tcxi\(L - s) - \s\Tt ={k + 1 )fl (t[0] + jTv)
A partir de la fórmula (93), se desprende que:
(88)
(89)
(90)
(92)
(93)
Por lo tanto, por ejemplo, en base a la fórmula (94), de acuerdo con realizaciones:
- se calcula cuántas muestras han de ser eliminadas y/o añadidas antes del primer pulso; y/o
- se calcula cuántas muestras han de ser eliminadas y/o entre pulsos; y/o
- se calcula cuántas muestras han de ser eliminadas y/o añadidas después del último pulso.
De acuerdo con algunas realizaciones, las muestras pueden ser por ejemplo, eliminadas o añadidas en las regiones
de energía mínima.
A partir de las fórmulas (85) y (94) se desprende que:
„ río] r[D]
¿5 = {í-a)-LL= {|Tr - Trxt I - ka-a)-L±
5
10
15
20
25
30
35
40
45
50
La fórmula (95) es equivalente a:
(96)
Además, a partir de las fórmulas (84) y(94), se desprende que:
La fórmula (97) es equivalente a:
(97)
' I- ' 1 ' ■ 1 ' ' (98)
De acuerdo con una realización, el número de muestras a ser eliminadas después del último pulso puede calcularse en base a la fórmula (97) de acuerdo con:
(99)
Cabe observar que, de acuerdo con realizaciones, ^o, A¿ y son positivos y que el signo de s determina si las muestras han de ser añadidas o eliminadas.
Debido a razones de complejidad, en algunas realizaciones, se desea añadir o eliminar un número entero de
Ap A Ap
muestras y por lo tanto, en tales realizaciones “o, “i y “fc+i pueden, por ejemplo redondearse. En otras realizaciones, pueden utilizarse otros conceptos basados en la interpolación de longitud de onda, a título alternativo o adicional, para evitar el redondeo, pero con una mayor complejidad.
A continuación, se describe un algoritmo para la resincronización de pulsos de acuerdo con realizaciones, haciéndose referencia a las fórmulas (100) a (113).
De acuerdo con realizaciones, los parámetros de entrada de un algoritmo de este tipo pueden ser, por ejemplo:
L - longitud de la trama M - número de subtramas
Tp - longitud del ciclo de tono al final de la última trama recibida Text - longitud del ciclo de tono al final de la trama oculta
src_exc - señal de excitación de entrada que fue creada mediante el copiado del último ciclo de tono de bajo paso filtrado de la señal de excitación desde el extremo de la última trama recibida, como descrito en lo que precede. dst_exc - señal de excitación de salida creada a partir de src_exc mediante la utilización del algoritmo descrito en el presente documento para la resincronización del pulso.
De acuerdo con realizaciones, un algoritmo de este tipo puede comprender una o más o la totalidad de las etapas siguientes:
- Calcular cambio de tono por subtrama en base a la fórmula (65):
s = T&I'~Tr
■■ (100)
- Calcular el tono de inicio redondeado en base a la fórmula (15b):
Tr = [Tp + 0,5] (101)
- Calcular el número de muestras a ser añadidas (a ser eliminadas si negativo) en base a la fórmula (69):
5
10
15
20
25
30
35
40
45
Encontrar la ubicación del primer pulso máximo construida del src exc de excitación.
entre las primeras 1r muestras en la parte periódica
Obtener el índice del último pulso en el dst_exc de trama resincronizada en base a la fórmula (73):
\L - s - T[G]
í =
Tr
■- i
(103)
- Calcular a - (94):
el delta de las muestras a ser añadidas o eliminadas entre ciclos consecutivos en base a la fórmula
d =
ITV - 7^1(1 ■ .t}-M7V
(fr + i}(T[Q]+£rr)
(104)
Calcular el número de muestras a ser añadidas o eliminadas antes del primer pulso en base a la fórmula (96):
TTüI
(105)
Redondear hacia abajo el número de muestras a ser añadidas o eliminadas antes del primer pulso y mantener en memoria la parte fraccional:
A¿=[¿5J
(106)
(107)
- Para cada región entre 2 pulsos, calcular el número de muestras a ser añadidas o eliminadas en base a la fórmula (98):
irr -T«t| - (k +1 - ¿)flrl ^ i < k
(108)
Redondear hacia abajo del número de muestras a ser añadidas o eliminadas entre 2 pulsos, tomando en cuenta la parte fraccional remanente del redondeo anterior:
1^- 1 r ■ (109)
F = áf-¿i (110)
Si debido al ^ añadido para algún [ sucede que ^í-i , conmutar los valores para y ^i-l.
Calcular el número de muestras a ser añadidas o eliminadas después del primer pulso en base a la fórmula (99):
Seguidamente, calcular el número máximo de muestras a ser añadidas o eliminadas entre las regiones de mínima energía:
¿;nnr=maxi:
I
Aj¿ír + l lí< ¿Á:+1
(112)
Hallar la ubicación del segmento de mínima energía “min L-*-J entre los primeros dos pulsos en src_exc, que
5
10
15
20
25
30
35
40
45
50
55
60
A'
tiene una longitud “max. Para cada segmento de energía mínima consecutivo entre dos pulsos, la posición se calcula mediante:
(113)
- Si entonces calcular la ubicación del segmento de mínima energía antes del primer pulso en
src_exc para lo cual se utiliza ^híbI^I — — En caso contrario hallar la ubicación del segmento de
mínima energía antes del primer pulso en src_exc, que tiene una longitud ^0.
- sí *W1] I kTr<L-s en tal caso calcular la ubicación del segmento de mínima energía después del último pulso en src_exc para lo cual se utiliza ^juíhÍ^ + 1] = fnuittlI + En caso contrario hallar la ubicación del segmento de mínima energía I H después del último pulso en src_exc, que tiene una
longitud
- Si habrá más de un pulso en la señal de excitación oculta dst_exc, t que es si k es igual a 0, limitar la búsqueda de Pmin[ 1 ] a L - s. Pm,n[1] seguidamente apunta a la ubicación del segmento de mínima energía después
del último pulso en src_exc.
- Si s > 0 añadir A' muestras en la ubicación Pm¡n[¡) para 0 -- i £ k + 1 al src_exc de la señal y almacenarla en
dst_exc, en caso contrario si s < U eliminar “i muestras en la ubicación Pm¡n[i] para ® í (í * +1 del src_exc de la señal y almacenar en dst_exc. Hay k + 2 en el que las regiones se añaden o remueven.
La Figura 2 ilustra un sistema para reconstruir una trama que comprende una señal de voz de acuerdo con una realización. El sistema comprende un aparato 10 para determinar un retardo de tono estimado de acuerdo con una de las realizaciones anteriormente descritas, y un aparato 200 para reconstruir la trama, en el que el aparato para reconstruir la trama está configurado para reconstruir la trama en función del retardo de tono estimado. El retardo de tono estimado es un retardo de tono de la señal de voz.
En una realización, la trama reconstruida puede estar por ejemplo asociada con una o más tramas disponibles, siendo una o más tramas disponibles por lo menos una de una o más trama que preceden a la trama reconstruida y una o más tramas que siguen a la trama reconstruida, en el que la una o más tramas disponibles comprenden uno o más ciclos de tono en forma de uno o más de ciclos de tono disponibles. El aparato 200 para reconstruir la trama puede ser por ejemplo un aparato para reconstruir una trama de acuerdo con una de las realizaciones anteriormente descritas.
Aunque algunos aspectos han sido descritos en el contexto de un aparato, es evidente que estos aspectos también representan una descripción del método correspondiente, en el que un recuadro o dispositivo corresponde a una etapa de método o a un rasgo de una etapa del método. De manera análoga, los aspectos descritos en el contexto de una etapa de método también representan una descripción de un recuadro, ítem o rasgo, correspondientes de un aparato correspondiente.
La señal descompuesta inventiva puede ser almacenada en un medio de almacenamiento digital, o puede ser transmitida en un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión alámbrico tal como Internet.
En función de determinados requerimientos para la implementación, las realizaciones de la invención pueden ser implementadas en hardware o en software. La implementación puede llevarse a cabo mediante un medio de almacenamiento digital, por ejemplo, un disquete, un DVD, un CD, un ROM; un PROM, un EPROM, un EEPROM, o una memoria flash, que tienen señales de control electrónicamente legibles almacenadas en ellos, que cooperan (o que son capaces de cooperar) con un sistema de ordenador programable de manera tal que el respectivo método se lleve a cabo.
Algunas realizaciones de acuerdo con la invención comprenden un portador de datos no transitorio que tiene señales de control electrónicamente legibles, que son capaces de cooperar con un sistema de ordenador programable, de manera tal que se lleve a cabo uno de los métodos descritos en el presente documento.
En términos generales, las realizaciones de la presente invención pueden implementarse como un producto programa de ordenador con un código de programa, siendo el código del programa operativo para llevar a cabo uno de los métodos cuando el producto programa de ordenador es ejecutado en un ordenador. El código de programa puede por ejemplo almacenarse en un portador legible por máquina.
5
10
15
20
25
30
35
40
45
50
55
60
Otras realizaciones comprenden el programa de ordenador para llevar a cabo uno de los métodos descritos en el presente documento, almacenado en un portador legible por máquina.
Por lo tanto, y, en otras palabras, una realización del método inventivo consiste en un programa de ordenador que tiene un código de programa para llevar a cabo uno de los métodos descritos en el presente documento, cuando el programa de ordenador se ejecuta en un ordenador.
Por lo tanto, otra realización de los métodos inventivos consiste en un portador de datos (o en un medio de almacenamiento digital, o en un medio legible por ordenador) que comprende, grabado en él, el programa de ordenador para llevar a cabo uno de los métodos descritos en el presente documento.
Por lo tanto, otra realización del método inventivo consiste en una corriente de datos o en una secuencia de señales que representa el programa de ordenador para llevar a cabo uno de los métodos descritos en el presente documento. La corriente de datos o la secuencia de señales pueden estar configuradas por ejemplo para ser transferida por intermedio de una conexión para la comunicación de datos, por ejemplo, por intermedio de Internet.
Otra realización comprende un medio de procesamiento, por ejemplo, un ordenador, o un dispositivo lógico programable, configurado o adaptado para llevar a cabo uno de los métodos descritos en el presente documento.
Otra realización comprende un ordenador que tiene instalado en el mismo el programa de ordenador para llevar a cabo uno de los métodos descritos en el presente documento.
En algunas realizaciones, puede utilizarse un dispositivo lógico programable (por ejemplo, una matriz de puerta de campo programable) para llevar a cabo algunas de las funcionalidades, o todas ellas, de los métodos descritos en el presente documento. En algunas realizaciones, una matriz de puerta de campo programable puede cooperar con un microprocesador a efectos de llevar a cabo uno de los métodos descritos en el presente documento. En términos generales es preferible que los métodos sean llevados a cabo mediante cualquier aparato de hardware.
Las realizaciones anteriormente descritas son meramente ilustrativas de los principios de la presente invención. Se da por entendido que a la persona con pericia en la técnica le serán evidentes modificaciones y variaciones en cuanto a las disposiciones y detalles descritos en el presente documento. Por ello la finalidad es la que la invención quede limitada solamente por los alcances de las reivindicaciones de patente pendientes y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones en el presente documento.
Referencias
[3GP09] 3GPP; Technical Specification Group Services and System Aspects, Extended adaptive multi-rate - wideband (AMR-WB+) codec, 3GPP TS 26.290, 3rd Generation Partnership Project, 2009.
[3GP12a], Adaptive multi-rate (AMR) speech codec; error concealment of lost frames (release 11), 3GPP TS 26.091, 3rd Generation Partnership Project, Sep 2012.
[3GP12b], Speech codec speech processing functions; adaptive multi-rate - wideband (AMRWB) speech codec; error concealment of erroneous or lost frames, 3GPP TS 26.191, 3rd Generation Partnership Project, Sep 2012.
[Gao] Yang Gao, Pitch prediction for packet loss concealment, patente europea 2 002 427 B1.
[ITU03] ITU-T, Wideband coding of speech at around 16 kbit/s using adaptive multi-rate wideband (amr-wb), Recommendation ITU-T G.722.2, Telecommunication Standardization Sector of ITU, Jul 2003.
[ITU06a], G.722 Appendix III: A high-complexity algorithm for packet loss concealment for G.722, ITU-T Recommendation, iTu-T, Nov 2006.
[ITU06b], G.729.1: G.729-based embedded variable bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable with g.729, Recommendation ITU-T G.729.1, Telecommunication Standardization Sector of ITU, May 2006.
[ITU07], G.722 Appendix IV: A low-complexity algorithm for packet loss concealment with G.722, ITU-T Recommendation, iTu-T, Ag 2007.
[ITU08a], G.718: Frame error robust narrow-band and wideband embedded variable bit-rate coding of speech and audio from 8-32 kbit/s, Recommendation ITU-T G.718, Telecommunication Standardization Sector of ITU, Jun 2008.
[ITU08b], G.719: Low-complexity, full-band audio coding for high-quality, conversational applications, Recommendation ITU-T G.719, Telecommunication Standardization Sector of ITU, Jun 2008.
[ITU12], G.729: Coding of speech at 8 kbit/s using conjugate-structure algebraic-code-excited linear prediction 5 (cs-acelp), Recommendation ITU-T G.729, Telecommunication Standardization Sector of ITU, Junio 2012.
[MCZ11] Xinwen Mu, Hexin Chen, y Yan Zhao, A frame erasure concealment method based on pitch and gain linear prediction for AMR-WB codec, Consumer Electronics (ICCE), 2011 IEEE International Conference on, Enero 2011, páginas 815-816.
10
[MTTA90] J.S. Marques, I. Trancoso, J.M. Tribolet, and L.B. Almeida, Improved pitch prediction with fractional delays in celp coding, Acoustics, Speech, and Signal Processing, 1990. ICASSP-90., 1990 International Conference on, 1990, páginas 665-668 vol.2.
15 [VJGS12] Tommy Vaillancourt, Milan Jelinek, Philippe Gournay, and Redwan Salami, Method and device for efficient frame erasure concealment in speech codecs, US 8,255,207 B2, 2012.
Claims (12)
- 51015202530354045505560REIVINDICACIONES1. Un aparato para reconstruir una trama que comprende una señal de voz como una trama reconstruida, estando dicha trama reconstruida asociada con una o más tramas disponibles, siendo dichas una o más tramas disponibles por lo menos una de una o más tramas que preceden a la trama reconstruida y una o más tramas que suceden a la trama reconstruida, en el que la una o más tramas disponibles comprenden uno o más ciclos de tono como uno o más ciclos de tono disponibles, en el que el aparato comprende:una unidad de determinación (210) para determinar una diferencia de números de muestras que indica una diferencia entre un número de muestras de uno de los uno o más ciclos de tono disponibles y un número de muestras de un primer ciclo de tono que debe ser reconstruido; yun reconstructor de tramas (220) para reconstruir la trama reconstruida mediante la reconstrucción, en función de la diferencia de números de muestras y en función de las muestras de dicho uno de los uno o más ciclos de tramas disponibles, el primer ciclo de tono para ser reconstruido como un primer ciclo de tono reconstruido; en el que el reconstructor de tramas (220) está configurado para reconstruir la trama reconstruida, de manera tal que la trama reconstruida comprende por completo o parcialmente el primer ciclo de tono reconstruido, de manera tal que la trama reconstruida comprende por completo o parcialmente un segundo ciclo de tono reconstruido, y de manera tal que el número de muestras del primer ciclo de tono reconstruido difiere de un número de muestras del segundo ciclo de tono reconstruido,en el que el reconstructor de tramas (220) está adaptado para generar una trama intermedia en función de dicho uno del uno o más ciclos de tono disponibles,en el que el reconstructor de tramas (220) está adaptado para generar la trama intermedia de modo que la trama intermedia comprende un primer ciclo de tono intermedio parcial, uno o más ciclos de tono intermedios, y un segundo ciclo de tono intermedio parcial,en el que dicho ciclo de tono intermedio parcial depende de una o más de las muestras de dicho uno del uno o más ciclos de tono disponibles, en el que cada uno del uno o más ciclos de tono intermedios adicionales depende de todas las muestras de dicho uno del uno o más ciclos de tono disponibles, y en el que segundo ciclo de tono intermedio parcial depende de una o más de las muestras de dicho uno del uno o más ciclos de tono disponibles,en el que la unidad de determinación (210) está configurada para determinar un número de diferencia de porción de inicio que indica cuántas muestras deben eliminarse o añadirse del primer ciclo de tono intermedio parcial, y en el que el reconstructor de tramas (220) está configurado para eliminar una o más muestras del primer ciclo de tono intermedio parcial, o está configurado para añadir una o más primeras muestras al primer ciclo de tono parcial dependiendo del número de diferencia de la porción de inicio,en el que la unidad de determinación (210) está configurada para determinar para cada uno de los ciclos de tono intermedios adicionales un número de diferencia de ciclo de tono que indica cuántas muestras deben eliminarse o añadirse de dicho uno de los ciclos de tono intermedios adicionales, y en el que el reconstructor de tramas (220) está configurado para eliminar una o más segundas muestras de dicho uno de los ciclos de tono intermedios adicionales, o está configurado para añadir una o más segundas muestras a dicho uno de los ciclos de tono intermedios adicionales dependiendo de dicho número de diferencia de ciclo de tono, y en el que la unidad de determinación (210) está configurada para determinar un número de diferencia de porción de extremo que indica cuántas muestras deben eliminarse o añadirse del segundo ciclo de tono intermedio parcial, y en el que el reconstructor de tramas (220) está configurado para eliminar una o más terceras muestras del segundo ciclo de tono intermedio parcial, o está configurado para añadir una o más terceras muestras al segundo ciclo de tono parcial dependiendo del número de diferencia de la porción de extremo.
- 2. Un aparato de acuerdo con la reivindicación 1,en el que la unidad de determinación (210) está configurada para determinar una diferencia en el número de muestras para cada uno de una pluralidad de ciclos de tono a reconstruir, de manera tal que la diferencia en el número de muestras de cada uno de los ciclos de tono indica una diferencia entre el número de muestras de dicho uno de uno o más ciclos de tono disponibles y un número de muestras de dicho ciclo de tono que debe ser reconstruido; yen el que el reconstructor de tramas (220) está configurado para reconstruir cada ciclo de tono de la pluralidad de ciclos de tono a reconstruir en función de la diferencia en el número de muestras de dicho ciclo de tono a reconstruir y en función de las muestras de dicho uno de los uno o más ciclos de tono disponibles, para reconstruir la trama reconstruida.
- 3. Un aparato de acuerdo con la reivindicación 1 o 2,en el que la unidad de determinación (210) está configurada para determinar una posición de uno o más pulsos de la señal de voz de la trama a reconstruir como trama reconstruida, en el que cada uno del uno o más pulsos indica un inicio o un final de un ciclo de tono; yen el que el reconstructor de tramas (220) está configurado para reconstruir la trama reconstruida en función de la posición del uno o más pulsos de la señal de voz.510152025303540455055
- 4. Un aparato de acuerdo con una de las reivindicaciones anteriores,en el que la unidad de determinación (210) está configurada para determinar un índice k de un último pulso de la señal de voz de la trama a reconstruir como la trama reconstruida de manera tal queen el que L indica un número de muestras de la trama reconstruida,en el que s indica el valor de diferencia de tramas, que indica cuántas muestras se han de eliminar de la trama intermedia o cuántas muestras se han de añadir a la trama intermedia,en el que T [0] indica una posición de un pulso de la señal de voz de la trama a reconstruir como la trama reconstruida, que es diferente del último pulso de la señal de voz, en el que cada uno de dicho pulso y del último pulso indica un inicio o un final de un ciclo de tono, yen el que Tr indica una longitud redondeada de dicho uno de los uno o más ciclos de tono disponibles.
- 5. Un aparato de acuerdo con una de las reivindicaciones anteriores,en el que la unidad de determinación (210) está configurada para determinar una longitud redondeada Tr de dicho uno de los uno o más ciclos de tono disponibles en base a la fórmula:
imagen1 Tr = [Tp + 0,5]en el que Tp indica la longitud de dicho uno de los uno o más ciclos de tono disponibles. - 6. Un aparato de acuerdo con una de las reivindicaciones anteriores,en el que la unidad de determinación (210) está configurada para determinar un valor de diferencia de trama s que indica cuántas muestras se deben eliminar de la trama intermedia o cuántas muestras se deben añadir a la trama intermedia mediante la aplicación de la fórmula:
imagen2 en el que Tp indica la longitud de dicho uno los uno o más ciclos de tono disponibles, en el que Tr indica una longitud redondeada de dicho uno de los uno o más ciclos de tono disponibles,en el que la trama a reconstruir como la trama reconstruida comprende M subtramas, en el que la trama a reconstruir como la trama reconstruida comprende L muestras, yen el que S es un número real que indica una diferencia entre un número de muestras de dicho uno de los uno omás ciclos de tono disponibles y un número de muestras de uno de uno o más ciclos de tono a reconstruir. - 7. Un aparato de acuerdo con una de las reivindicaciones anteriores,en el que el aparato está configurado para reconstruir la trama a reconstruir como la trama reconstruida, determinando un parámetro S que indica un cambio de tono por subtrama, en el que S se define de acuerdo con la fórmula:
imagen3 en el que la trama a reconstruir como la trama reconstruida comprende M subtramas, en el que Tp indica la longitud de dicho uno de los uno o más ciclos de tono disponibles, y en el que Text indica una longitud de uno de los ciclos de tono a ser reconstruido de la trama a ser reconstruida como la trama reconstruida. - 8. Un aparato de acuerdo con la reivindicación 1,en el que el reconstructor de tramas (220) está adaptado para generar la trama intermedia de modo que la trama intermedia comprende el primer ciclo de tono intermedio parcial, más de un ciclo de tono intermedio adicional como el uno o más ciclos de tono intermedios adicionales, y el segundo ciclo de tono intermedio parcial, en el que el aparato está configurado para calcular el número de muestras A, para ser eliminadas o añadidas a cada uno de los uno o más ciclos intermedios adicionales basados en:|Tr - Text \ - (k + 1 - í)a, 1 < i < k510152025303540455055en el que Tr indica una longitud redondeada de dicho uno de los uno o más ciclos de tono disponibles,en el que Text indica una longitud de uno de los ciclos de tono a reconstruir de la trama a reconstruir como latrama reconstruida,en el que k indica un índice de un último pulso de la señal de voz de la trama a reconstruir como la trama reconstruida, en el que el último pulso indica un inicio o un final de un ciclo de tono, en el que i es un número entero, ydonde a es un número que indica un delta de las muestras que se añadirán o eliminarán entre ciclos de tono consecutivos.
- 9. Un aparato de acuerdo con la reivindicación 8,en el que el aparato está configurado para determinar el número a según|7V — Tejct|(L — s) — |^|7V-a =----------------------r------(k + i)(r[o] +|rr)en el que L indica un número de muestras de la trama reconstruida,en el que s indica un valor de diferencia de trama que indica cuántas muestras se deben eliminar de la trama intermedia o cuántas muestras se añaden a la trama intermedia,en el que T [0] indica una posición de un pulso de la señal de voz de la trama a reconstruir como la trama reconstruida, siendo diferente del último pulso de la señal de voz.
- 10. Un aparato de acuerdo con la reivindicación 9,en el que el aparato está configurado para calcular el número de muestras Ap0 a eliminar o añadir al primer ciclo de tono parcial basado en:_ no]A„ = QTr-Text\- (fc+ l)a)-£-iI ren el que el aparato está configurado para calcular el número de muestras Apk+i a eliminar o añadir al segundo ciclo de tono parcial basado en:kí=i .
- 11. Un método para reconstruir una trama que comprende una señal de voz como una trama reconstruida, estando dicha trama reconstruida asociada con una o más tramas disponibles, siendo dicha o más tramas disponibles al menos una de una o más tramas anteriores de la trama reconstruida y una o más tramas posteriores de la estructura reconstruida, en el que una o más tramas disponibles comprenden uno o más ciclos de tono como uno o más ciclos de tono disponibles, en el que el método comprende:determinar una diferencia de número de muestra que indique una diferencia entre un número de muestras de uno o más ciclos de tono disponibles y un número de muestras de un primer ciclo de tono a reconstruir, y reconstruir la trama reconstruida reconstruyendo, dependiendo de la diferencia de número de muestra y dependiendo de las muestras de dicho uno o más ciclos de tono disponibles, el primer ciclo de tono reconstruido como un primer ciclo de tono reconstruido,en el que la reconstrucción de la trama reconstruida se realiza de manera que la trama reconstruida comprenda total o parcialmente el primer ciclo de tono reconstruido, de modo que la trama reconstruida comprende total o parcialmente un segundo ciclo de tono reconstruido, y tal que el número de muestras del primer ciclo de tono reconstruido difiere de un número de muestras del segundo ciclo de tono reconstruido,en el que el método comprende además generar una trama intermedia que depende de dicho uno de los uno o más ciclos de tono disponibles,en el que la generación de la trama intermedia se realiza de modo que la trama intermedia comprende un primer ciclo de tono intermedio parcial, uno o más ciclos de tono intermedio adicional, y un segundo ciclo de tono intermedio parcial,en el que el primer ciclo de tono intermedio parcial depende de una o más de las muestras de dicho uno o más ciclos de tono disponibles, en el que cada uno de los uno o más ciclos de tono intermedios adicionales depende de todas las muestras de dicho uno de o más ciclos de tono disponibles, y en el que el segundo ciclo parcial de tono intermedio depende de una o más de las muestras de dicho uno o más ciclos de tono disponibles, en el que el método comprende además determinar un número de diferencia de porción de inicio que indicacuántas muestras deben eliminarse o añadirse del primer ciclo de tono intermedio parcial, y en el que el método comprende además eliminar una o más primeras muestras del primer ciclo de tono intermedio parcial, o está configurado para añadir una o más primeras muestras al primer ciclo de tono parcial dependiendo del número de diferencia de la porción de inicio,5 en el que el método comprende además determinar para cada uno de los ciclos de tono intermedios adicionales un número de diferencia de ciclo de tono que indica cuántas muestras deben eliminarse o añadirse de dicho uno de los ciclos de tono intermedios adicionales, y en el que el método comprende además eliminar una o más segundas muestras de dicho uno de los ciclos de tono intermedios adicionales, o está configurado para añadir una o más segundas muestras a dicho uno de los ciclos de tono intermedios adicionales dependiendo de dicho 10 número de diferencia de ciclo de tono, yen el que el método comprende además determinar un número de diferencia de porción de extremo que indica cuántas muestras deben eliminarse o añadirse del segundo ciclo de tono intermedio parcial, y en el que el método comprende además eliminar una o más terceras muestras del segundo ciclo de tono intermedio parcial, o está configurado para añadir una o más terceras muestras al segundo ciclo parcial de tono intermedio 15 dependiendo del número de diferencia de la porción final.
- 12. Un programa de ordenador adaptado para implementar el método de la reivindicación 11 cuando se ejecuta en un ordenador o procesador de señal.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13173157 | 2013-06-21 | ||
EP13173157 | 2013-06-21 | ||
EP14166995 | 2014-05-05 | ||
EP14166995 | 2014-05-15 | ||
PCT/EP2014/062578 WO2014202535A1 (en) | 2013-06-21 | 2014-06-16 | Apparatus and method for improved concealment of the adaptive codebook in acelp-like concealment employing improved pulse resynchronization |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2671006T3 true ES2671006T3 (es) | 2018-06-04 |
Family
ID=50942698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14730172.5T Active ES2671006T3 (es) | 2013-06-21 | 2014-06-16 | Reconstrucción de una trama de voz |
Country Status (19)
Country | Link |
---|---|
US (2) | US10013988B2 (es) |
EP (1) | EP3011555B1 (es) |
JP (1) | JP6153661B2 (es) |
KR (1) | KR101828186B1 (es) |
CN (2) | CN105453173B (es) |
AU (1) | AU2014283389B2 (es) |
BR (1) | BR112015031603B1 (es) |
CA (1) | CA2915791C (es) |
ES (1) | ES2671006T3 (es) |
HK (1) | HK1224426A1 (es) |
MX (1) | MX352092B (es) |
MY (1) | MY181845A (es) |
PL (1) | PL3011555T3 (es) |
PT (1) | PT3011555T (es) |
RU (1) | RU2666327C2 (es) |
SG (1) | SG11201510506RA (es) |
TR (1) | TR201808890T4 (es) |
TW (1) | TWI604438B (es) |
WO (1) | WO2014202535A1 (es) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL3011555T3 (pl) | 2013-06-21 | 2018-09-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Rekonstrukcja ramki sygnału mowy |
MX371425B (es) | 2013-06-21 | 2020-01-29 | Fraunhofer Ges Forschung | Aparato y metodo para la ocultacion mejorada del libro de codigo adaptativo en la ocultacion similar a acelp mediante la utilizacion de una estimacion mejorada del retardo de tono. |
PL3355305T3 (pl) | 2013-10-31 | 2020-04-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Dekoder audio i sposób dostarczania zdekodowanej informacji audio z wykorzystaniem maskowania błędów modyfikującego sygnał pobudzenia w dziedzinie czasu |
PL3288026T3 (pl) | 2013-10-31 | 2020-11-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Dekoder audio i sposób dostarczania zdekodowanej informacji audio z wykorzystaniem ukrywania błędów na bazie sygnału pobudzenia w dziedzinie czasu |
KR102192998B1 (ko) | 2016-03-07 | 2020-12-18 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 상이한 주파수 대역에 대한 상이한 감쇠 인자에 따라 은닉된 오디오 프레임을 페이드 아웃하는 에러 은닉 유닛, 오디오 디코더, 및 관련 방법과 컴퓨터 프로그램 |
MX2018010756A (es) | 2016-03-07 | 2019-01-14 | Fraunhofer Ges Forschung | Unidad de ocultamiento de error, decodificador de audio, y método relacionado y programa de computadora que usa características de una representación decodificada de una trama de audio decodificada apropiadamente. |
CA3016837C (en) | 2016-03-07 | 2021-09-28 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Hybrid concealment method: combination of frequency and time domain packet loss concealment in audio codecs |
EP3483886A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Selecting pitch lag |
EP3483882A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Controlling bandwidth in encoders and/or decoders |
EP3483880A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Temporal noise shaping |
EP3483884A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Signal filtering |
EP3483878A1 (en) * | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder supporting a set of different loss concealment tools |
WO2019091576A1 (en) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
EP3483879A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Analysis/synthesis windowing function for modulated lapped transformation |
WO2019091573A1 (en) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters |
EP3483883A1 (en) * | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio coding and decoding with selective postfiltering |
JP6962269B2 (ja) * | 2018-05-10 | 2021-11-05 | 日本電信電話株式会社 | ピッチ強調装置、その方法、およびプログラム |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5187745A (en) | 1991-06-27 | 1993-02-16 | Motorola, Inc. | Efficient codebook search for CELP vocoders |
US5179594A (en) | 1991-06-12 | 1993-01-12 | Motorola, Inc. | Efficient calculation of autocorrelation coefficients for CELP vocoder adaptive codebook |
US5621852A (en) | 1993-12-14 | 1997-04-15 | Interdigital Technology Corporation | Efficient codebook structure for code excited linear prediction coding |
KR960009530B1 (en) * | 1993-12-20 | 1996-07-20 | Korea Electronics Telecomm | Method for shortening processing time in pitch checking method for vocoder |
ES2177631T3 (es) * | 1994-02-01 | 2002-12-16 | Qualcomm Inc | Prediccion lineal excitada mediante tren de impulsos. |
US5781880A (en) | 1994-11-21 | 1998-07-14 | Rockwell International Corporation | Pitch lag estimation using frequency-domain lowpass filtering of the linear predictive coding (LPC) residual |
US5751905A (en) * | 1995-03-15 | 1998-05-12 | International Business Machines Corporation | Statistical acoustic processing method and apparatus for speech recognition using a toned phoneme system |
US6507814B1 (en) * | 1998-08-24 | 2003-01-14 | Conexant Systems, Inc. | Pitch determination using speech classification and prior pitch estimation |
US7072832B1 (en) | 1998-08-24 | 2006-07-04 | Mindspeed Technologies, Inc. | System for speech encoding having an adaptive encoding arrangement |
US6449590B1 (en) | 1998-08-24 | 2002-09-10 | Conexant Systems, Inc. | Speech encoder using warping in long term preprocessing |
US6456964B2 (en) | 1998-12-21 | 2002-09-24 | Qualcomm, Incorporated | Encoding of periodic speech using prototype waveforms |
US6782360B1 (en) | 1999-09-22 | 2004-08-24 | Mindspeed Technologies, Inc. | Gain quantization for a CELP speech coder |
EP1796083B1 (en) | 2000-04-24 | 2009-01-07 | Qualcomm Incorporated | Method and apparatus for predictively quantizing voiced speech |
US6584438B1 (en) | 2000-04-24 | 2003-06-24 | Qualcomm Incorporated | Frame erasure compensation method in a variable rate speech coder |
US6760698B2 (en) | 2000-09-15 | 2004-07-06 | Mindspeed Technologies Inc. | System for coding speech information using an adaptive codebook with enhanced variable resolution scheme |
SE519976C2 (sv) | 2000-09-15 | 2003-05-06 | Ericsson Telefon Ab L M | Kodning och avkodning av signaler från flera kanaler |
US7590525B2 (en) * | 2001-08-17 | 2009-09-15 | Broadcom Corporation | Frame erasure concealment for predictive speech coding based on extrapolation of speech waveform |
US7260524B2 (en) | 2002-03-12 | 2007-08-21 | Dilithium Networks Pty Limited | Method for adaptive codebook pitch-lag computation in audio transcoders |
CA2388439A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for efficient frame erasure concealment in linear predictive based speech codecs |
US6781880B2 (en) | 2002-07-19 | 2004-08-24 | Micron Technology, Inc. | Non-volatile memory erase circuitry |
US7137626B2 (en) * | 2002-07-29 | 2006-11-21 | Intel Corporation | Packet loss recovery |
WO2004034379A2 (en) * | 2002-10-11 | 2004-04-22 | Nokia Corporation | Methods and devices for source controlled variable bit-rate wideband speech coding |
CA2457988A1 (en) | 2004-02-18 | 2005-08-18 | Voiceage Corporation | Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization |
US7272567B2 (en) * | 2004-03-25 | 2007-09-18 | Zoran Fejzo | Scalable lossless audio codec and authoring tool |
US8725501B2 (en) * | 2004-07-20 | 2014-05-13 | Panasonic Corporation | Audio decoding device and compensation frame generation method |
UA90506C2 (ru) * | 2005-03-11 | 2010-05-11 | Квелкомм Инкорпорейтед | Изменение масштаба времени кадров в вокодере с помощью изменения остатка |
PL1875463T3 (pl) * | 2005-04-22 | 2019-03-29 | Qualcomm Incorporated | Układy, sposoby i urządzenie do wygładzania współczynnika wzmocnienia |
US7177804B2 (en) | 2005-05-31 | 2007-02-13 | Microsoft Corporation | Sub-band voice codec with multi-stage codebooks and redundant coding |
US8255207B2 (en) * | 2005-12-28 | 2012-08-28 | Voiceage Corporation | Method and device for efficient frame erasure concealment in speech codecs |
US7457746B2 (en) * | 2006-03-20 | 2008-11-25 | Mindspeed Technologies, Inc. | Pitch prediction for packet loss concealment |
CN1983909B (zh) * | 2006-06-08 | 2010-07-28 | 华为技术有限公司 | 一种丢帧隐藏装置和方法 |
US8812306B2 (en) * | 2006-07-12 | 2014-08-19 | Panasonic Intellectual Property Corporation Of America | Speech decoding and encoding apparatus for lost frame concealment using predetermined number of waveform samples peripheral to the lost frame |
US8532984B2 (en) * | 2006-07-31 | 2013-09-10 | Qualcomm Incorporated | Systems, methods, and apparatus for wideband encoding and decoding of active frames |
KR101040160B1 (ko) * | 2006-08-15 | 2011-06-09 | 브로드콤 코포레이션 | 패킷 손실 후의 제한되고 제어된 디코딩 |
FR2907586A1 (fr) * | 2006-10-20 | 2008-04-25 | France Telecom | Synthese de blocs perdus d'un signal audionumerique,avec correction de periode de pitch. |
BRPI0718300B1 (pt) * | 2006-10-24 | 2018-08-14 | Voiceage Corporation | Método e dispositivo para codificar quadros de transição em sinais de fala. |
CN101046964B (zh) * | 2007-04-13 | 2011-09-14 | 清华大学 | 基于重叠变换压缩编码的错误隐藏帧重建方法 |
JP5618826B2 (ja) * | 2007-06-14 | 2014-11-05 | ヴォイスエイジ・コーポレーション | Itu.t勧告g.711と相互運用可能なpcmコーデックにおいてフレーム消失を補償する装置および方法 |
JP4928366B2 (ja) | 2007-06-25 | 2012-05-09 | 日本電信電話株式会社 | ピッチ探索装置、パケット消失補償装置、それらの方法、プログラム及びその記録媒体 |
US8527265B2 (en) | 2007-10-22 | 2013-09-03 | Qualcomm Incorporated | Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs |
US8515767B2 (en) * | 2007-11-04 | 2013-08-20 | Qualcomm Incorporated | Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs |
CN101261833B (zh) * | 2008-01-24 | 2011-04-27 | 清华大学 | 一种使用正弦模型进行音频错误隐藏处理的方法 |
CN101335000B (zh) * | 2008-03-26 | 2010-04-21 | 华为技术有限公司 | 编码的方法及装置 |
WO2009150290A1 (en) * | 2008-06-13 | 2009-12-17 | Nokia Corporation | Method and apparatus for error concealment of encoded audio data |
US8768690B2 (en) * | 2008-06-20 | 2014-07-01 | Qualcomm Incorporated | Coding scheme selection for low-bit-rate applications |
US8428938B2 (en) * | 2009-06-04 | 2013-04-23 | Qualcomm Incorporated | Systems and methods for reconstructing an erased speech frame |
WO2011013983A2 (en) * | 2009-07-27 | 2011-02-03 | Lg Electronics Inc. | A method and an apparatus for processing an audio signal |
WO2011065741A2 (ko) | 2009-11-24 | 2011-06-03 | 엘지전자 주식회사 | 오디오 신호 처리 방법 및 장치 |
US8428936B2 (en) * | 2010-03-05 | 2013-04-23 | Motorola Mobility Llc | Decoder for audio signal including generic audio and speech frames |
EP4398248A3 (en) * | 2010-07-08 | 2024-07-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decoder using forward aliasing cancellation |
US9082416B2 (en) | 2010-09-16 | 2015-07-14 | Qualcomm Incorporated | Estimating a pitch lag |
CN103688306B (zh) * | 2011-05-16 | 2017-05-17 | 谷歌公司 | 对被编码为连续帧序列的音频信号进行解码的方法和装置 |
US8620646B2 (en) * | 2011-08-08 | 2013-12-31 | The Intellisis Corporation | System and method for tracking sound pitch across an audio signal using harmonic envelope |
CN103714821A (zh) * | 2012-09-28 | 2014-04-09 | 杜比实验室特许公司 | 基于位置的混合域数据包丢失隐藏 |
CN103117062B (zh) * | 2013-01-22 | 2014-09-17 | 武汉大学 | 语音解码器中帧差错隐藏的谱参数代替方法及系统 |
CN103272418B (zh) | 2013-05-28 | 2015-08-05 | 佛山市金凯地过滤设备有限公司 | 一种压滤机 |
MX371425B (es) | 2013-06-21 | 2020-01-29 | Fraunhofer Ges Forschung | Aparato y metodo para la ocultacion mejorada del libro de codigo adaptativo en la ocultacion similar a acelp mediante la utilizacion de una estimacion mejorada del retardo de tono. |
PL3011555T3 (pl) | 2013-06-21 | 2018-09-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Rekonstrukcja ramki sygnału mowy |
-
2014
- 2014-06-16 PL PL14730172T patent/PL3011555T3/pl unknown
- 2014-06-16 SG SG11201510506RA patent/SG11201510506RA/en unknown
- 2014-06-16 CA CA2915791A patent/CA2915791C/en active Active
- 2014-06-16 ES ES14730172.5T patent/ES2671006T3/es active Active
- 2014-06-16 AU AU2014283389A patent/AU2014283389B2/en active Active
- 2014-06-16 MX MX2015017125A patent/MX352092B/es active IP Right Grant
- 2014-06-16 WO PCT/EP2014/062578 patent/WO2014202535A1/en active Application Filing
- 2014-06-16 JP JP2016520420A patent/JP6153661B2/ja active Active
- 2014-06-16 KR KR1020167001882A patent/KR101828186B1/ko active IP Right Grant
- 2014-06-16 PT PT147301725T patent/PT3011555T/pt unknown
- 2014-06-16 CN CN201480035474.8A patent/CN105453173B/zh active Active
- 2014-06-16 BR BR112015031603-4A patent/BR112015031603B1/pt active IP Right Grant
- 2014-06-16 CN CN201910627552.8A patent/CN110931025B/zh active Active
- 2014-06-16 MY MYPI2015002994A patent/MY181845A/en unknown
- 2014-06-16 TR TR2018/08890T patent/TR201808890T4/tr unknown
- 2014-06-16 EP EP14730172.5A patent/EP3011555B1/en active Active
- 2014-06-16 RU RU2016101601A patent/RU2666327C2/ru active
- 2014-06-20 TW TW103121370A patent/TWI604438B/zh active
-
2015
- 2015-12-21 US US14/977,195 patent/US10013988B2/en active Active
-
2016
- 2016-10-27 HK HK16112358.3A patent/HK1224426A1/zh unknown
-
2018
- 2018-06-14 US US16/009,012 patent/US10643624B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2671006T3 (es) | Reconstrucción de una trama de voz | |
JP7202161B2 (ja) | 改善されたピッチラグ推定を採用するacelp型封じ込めにおける適応型コードブックの改善された封じ込めのための装置および方法 | |
JP6687599B2 (ja) | Fd/lpd遷移コンテキストにおけるフレーム喪失管理 | |
ES2378972T3 (es) | Atenuación de la sobresonorización, en particular para la generación de una excitación en un decodificador, en ausencia de información |