ES2746322T3 - Estimación del retardo del tono - Google Patents
Estimación del retardo del tono Download PDFInfo
- Publication number
- ES2746322T3 ES2746322T3 ES14729939T ES14729939T ES2746322T3 ES 2746322 T3 ES2746322 T3 ES 2746322T3 ES 14729939 T ES14729939 T ES 14729939T ES 14729939 T ES14729939 T ES 14729939T ES 2746322 T3 ES2746322 T3 ES 2746322T3
- Authority
- ES
- Spain
- Prior art keywords
- tone
- frame
- delay
- pitch
- samples
- 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 69
- 230000003044 adaptive effect Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 12
- 239000000543 intermediate Substances 0.000 description 68
- 230000006870 function Effects 0.000 description 37
- 239000000523 sample Substances 0.000 description 32
- 230000001934 delay Effects 0.000 description 27
- 238000013213 extrapolation Methods 0.000 description 27
- 230000005284 excitation Effects 0.000 description 24
- 230000000737 periodic effect Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 18
- 238000013459 approach Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000011084 recovery Methods 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
- 230000004044 response Effects 0.000 description 2
- 206010011878 Deafness Diseases 0.000 description 1
- 101000596016 Homo sapiens TLR adapter interacting with SLC15A4 on the lysosome Proteins 0.000 description 1
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 102100035166 TLR adapter interacting with SLC15A4 on the lysosome Human genes 0.000 description 1
- 238000005311 autocorrelation function Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012937 correction Methods 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
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification 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
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/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
- 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
- G10L19/125—Pitch excitation, e.g. pitch synchronous innovation CELP [PSI-CELP]
-
- 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
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/90—Pitch determination of speech signals
-
- 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
- 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/0003—Backward prediction of gain
-
- 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)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Mobile Radio Communication Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
Abstract
Aparato para la determinación de un retardo de tono estimado, que comprende: una interfaz (110) de entrada para recibir una pluralidad de valores de retardo de tono originales, y un estimador (120) de retardo de tono para estimar el retardo de tono estimado, en el que el estimador (120) de retardo de tono se configura 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, un valor de información de la pluralidad de valores de información se asigna a dicho valor de retardo de tono original, en el que el estimador (120) de retardo de tono se configura 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 ganancia de tono 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 retardo de tono originales, un valor de ganancia de tono de la pluralidad de valores de ganancia de tono se asigna a dicho valor de retardo de tono original, en el que el estimador de retardo de tono se configura para estimar el retardo de tono estimado mediante la minimización de una función de error, en el que el estimador de retardo de tono se configura para estimar el retardo de tono estimado mediante la determinación de dos parámetros a, b, mediante la minimización de la función de error en la que a es un número real, en la que b es un número real, en la que k es un número entero con k >= 2, y en la que P(i) es el valor de retardo de tono original i-ésimo, en la que gp(i) es el valor de ganancia de tono i30 ésimo que se está asignando al valor de retardo de tono i-ésimo P(i).
Description
DESCRIPCIÓN
Estimación del retardo del tono
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 según 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 [3g P09]); (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 [ITU07, 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 según 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 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- ]
distinto de SORDO. En el caso de una trama perdida, la diferencia ajr entre los retardos de tono flotantes se calcula según la siguiente fórmula:
A ^ r =
S f l - d f ~ 1] para i
- -1,.... —6
‘ (1)
d ~ i
En la fórmula (1), ü 'fr designa el retardo de tono de la última (es decir, la cuarta) subtrama de la trama anterior;
designa el retardo de tono de la tercera subtrama de la trama anterior; etc.
Según G.718, la suma de las diferencias A ] ” se calcula como
A A
Dado que los valores df pueden ser positivos o negativos, se suma la cantidad de inversiones de signo de dr y se indica la posición de la primera inversión mediante un parámetro que se mantiene en memoria.
El parámetro fcorr se encuentra mediante la siguiente expresión:
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 según la siguiente definición:
y una relación para esta diferencia máxima se calcula como sigue:
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 fcor2 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 A dfr se determina mediante la siguiente fórmula:
para eliminar las diferencias de tono relacionadas con la transición entre dos tramas.
Si f corr ^ 0,98 o si imax t 3, la diferencia de tono fraccional media A dfr se calcula como sigue:
y la máxima diferencia de tono flotante se reemplaza con este nuevo valor medio:
A l^mc
^ dfr = A dfr
(7)
Con esta nueva media de las diferencias de tono flotantes, la desviación normalizada fcorr2 se calcula como sigue:
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 dr 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 fcorr2 > 0,945, el tono extrapolado, dext, (el tono extrapolado también lleva la designación Text) se calcula como sigue:
- Si 0,945 < fcorr2 < 0,99 y A d rlf r 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
El parámetro imem de la fórmula depende de la posición de la primera inversión del signo de d r , 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:
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).
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 según:
P ' ( i ) = a + i ■ b
(9)
El valor de tono extrapolado para la primera subtrama en una trama perdida se define seguidamente como:
P ' { 5) = a + 5 ■ b
(10)
Para determinar los coeficientes a y b, se minimiza E, en el que el error E se define según:
Ajustando
se obtienen los valores de a y b:
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.
Según 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 según un enfoque de interpolación. Según este enfoque, el error E se define como:
Entonces, los coeficientes a y b pueden obtenerse calculando:
S E
Sa w 0 —
y 5b = ~ 0 u (14b)
Los retardos de tono para las cuatro últimas subtramas de la trama borrada pueden calcularse según:
P’{ 1) = o fc-1; P'( 2) = a 6-2
(14e)
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, Tr, puede definirse, por ejemplo, según:
Tr = [Tp 0,5] (15b)
La parte periódica se construye para una trama y para una trama adicional.
L
Por ejemplo, con M subtramas en una trama, la longitud de subtrama es: L_subtr = M .
en la que L es la longitud de la trama, también designada como Ltrama: 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) 8), 0 < i < M (17a) donde
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):
f tmp = p [0 ] ;
i = 1;
w h ile ( ftm p < L_fram e - p it_ m in ) {
s e c t = (s h o r t) ( f tm p *M /L _ fra m e )
ftm p = p [s e c t ] ;
i+ ;
>
d = ( s h o r t ) ( i* T c - f tm p ) ;
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 según lo siguiente:
La posición del último pulso T[n] en la parte periódica construida de la excitación que forma parte de la trama perdida
se determina mediante lo siguiente:
í N - 1 , T[N - 1}<L_ trama
n ~ { N - 2 , T [N - 1] > frama (18b) La posición estimada del último pulso P es:
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:
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:
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[i] Tc / 8 a T [i 1] - Tc / 4. Hay Nmin = n -1 regiones de energía mínima. Si Nmin = 1, entonces hay solamente una región de energía mínima y en dicha posición se insertan o suprimen d¡ff muestras.
Para Nmin > 1, se añade o retira 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 [i] y T [i+1] se halla mediante la siguiente relación recursiva:
Si R [i] < R [i -1], entonces los valores de R [i] y R [i -1 ] están intercambiados.
El documento US 6035271 A da a conocer un método y un aparato para extraer información de valor de tono del habla. El método selecciona al menos tres picos más altos de una función de autocorrelacción normalizada y produce una pluralidad de candidatos de frecuencia para la determinación del valor de tono. La pluralidad de candidatos de frecuencia se usa para identificar puntos estratégicos en valores de tono, y se usa además para realizar búsqueda tanto hacia adelante como hacia atrás cuando no se puede identificar fácilmente un punto estratégico.
El documento US 2012/072209 A1 da a conocer un dispositivo electrónico para estimar un retardo de tono. El dispositivo electrónico incluye un procesador e instrucciones ejecutables almacenadas en la memoria que es una comunicación electrónica con el procesador. El dispositivo electrónico obtiene una trama actual. El dispositivo electrónico también obtiene una señal residual basada en la trama actual.
El documento US 2013/041657 A1 da a conocer que un sistema y método pueden configurarse para analizar una información de audio derivada de una señal de audio. El sistema y método pueden rastrear el tono del sonido a través de la señal de audio. El rastreo de tono a través de la señal de audio puede tener en cuenta el cambio en tono mediante la determinación en tiempo individual ventanas de muestra en la duración de la señal un tono estimado y una representación de envoltura armónica en el tono estimado.
El documento US 6507814 B1 da a conocer un códec de habla multi-tasa que soporta una pluralidad de modos de tasa de bits de codificación mediante la selección de manera adaptiva de modos de tasa de bits de codificación para coincidir con las restricciones de canal de comunicación. En los modos decodificación de tasa de bits más alta, una
representación de habla precisa a través de CELP (predicción lineal excitada por código) y otros parámetros de modelado asociados se generan para una decodificación y reproducción de mayor calidad.
XINWEN MU ET AL, “A frame erasure concealment method based on tono and gain linear prediction for AMRWB codec”, CONSUMER ELECTRONICS (ICCE), 2011 IEEE INTERNATIONAL CONFERENCE ON, IEEE, (20110109), doi:10.1109/ICCE.2011.5722880, ISBN 978-1-4244-8711-0, páginas 815 - 816, da a conocer un método de ocultación de error para el códec AMR-WB, usando la restricción de búsqueda de excitación en el codificador y una predicción lineal del tono y ganancias del libro de códigos adaptivos y el libro de códigos innovador en el decodificador para mejorar la calidad del habla tras un borrado de la trama. Los resultados experimentales demuestran que el método propuesto logra una mejora del rendimiento con respecto a los métodos existentes. “G.729 based Embedded Variable bit-rate coder: An 8-32 kbit/s scalable wideband coder bitstream interoperable con G.729; G.729.1 (05/06)”, ITU-T STANDARD, INTERNATIONAL TELECOMMUNICATION UNION, GENEVA; CH, (20060529), n.° G.729.1 (05/06), páginas 1 - 100, da a conocer un codificador de velocidad de bits, variable, en particular, 8-32 kbit/s escalable.
El documento US 8255207 B2 da a conocer un método y dispositivo para ocultar borrados de trama provocados por tramas de una señal de sonido codificada borrada durante la transmisión desde un codificador hasta un decodificador y para la recuperación del decodificador tras los borrados de trama que comprenden, en el codificador, la determinación de los parámetros de ocultación/recuperación incluyendo al menos información de fase relacionada con las tramas de la señal de sonido codificada. Los parámetros de ocultación/recuperación determinados en el codificador se transmiten al decodificador y, en el decodificador, la ocultación del borrado de trama se realiza en respuesta a los parámetros de ocultación/recuperación recibidos.
“ITU-T G.718 - Frame error robust narrow-band and wideband embedded variable bit-rate coding de speech and audio from 8-32 kbit/s”, (20080630), URL: http://www.itu.int/rec/T-REC-G.718-200806-I, (20131112), da a conocer codificación de tasa de bits variable empotrada en banda ancha y banda estrecha robusta de error de trama.
MOHAMED CHIBANI ET AL, “Fast Recovery for a CELP-Like Habla Codec After a Frame Erasure”, IEEE TRANSACTIONS ON AUDIO, SPEECH AND LANGUAGE PROCESSING, IEEE SERVICE CENTER, NUEVA YORK, NY, USA, (20071101), vol. 15, n.° 8, doi:10.1109/TASL.2007.907332, ISSN 1558-7916, páginas 2485 -2495, da a conocer una técnica que se propone para mejorar la recuperación tras un borrado de trama. La técnica consiste en una búsqueda de excitación restringida en el codificador y un procedimiento de resincronización en el decodificador. La restricción apunta a la reducción de la contribución del libro de códigos adaptivo al hacer que el libro de códigos de innovación modele parcialmente la excitación del tono. Además, para las tramas altamente sonoras, la información relacionada con el tono contenida en la excitación de innovación se explota en el decodificador para acelerar la resincronización del libro de códigos adaptivo después de un borrado de trama. Cuando se aplica al códec de banda ancha multi-tasas adaptivo (AMR-WB), el método aporta una mejora significativa en el caso de borrado de tramas, a costa de una pérdida de calidad menor en comparación con el códec estándar a la misma tasa de bits. El método no necesita retardo adicional y tiene la ventaja de mantener una interoperabilidad completa entre el códec estándar y su versión modificada.
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 según la reivindicación 1, mediante un método según la reivindicación 6 y mediante un programa de ordenador según la reivindicación 7.
En un ejemplo, se describe un aparato para la determinación de un retardo de tono estimado. El aparato comprende una interfaz de entrada para recibir una pluralidad de valores de retardo de tono originales, y un estimador de retardo de tono para la estimación del retardo de tono estimado. El estimador de retardo de tono se configura 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, un valor de información de la pluralidad de valores de información se asigna a dicho valor de retardo de tono original.
Según un ejemplo, el estimador de retardo de tono 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 la pluralidad de valores de ganancia de tono 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 retardo de tono originales, un valor de ganancia de tono de la pluralidad de valores de ganancia de tono se asigna a dicho valor de retardo de tono original.
En un ejemplo particular, cada una de la pluralidad de valores de ganancia de tono puede, por ejemplo, ser una ganancia de libro de códigos adaptivo.
En un ejemplo, el estimador de retardo de tono puede estar configurado por ejemplo para estimar el retardo de tono estimado mediante la minimización de una función de error.
Según una realización de la invención, el estimador de retardo de tono se configura para estimar el retardo de tono estimado mediante la determinación de dos parámetros a, b, mediante la minimización de la función de error
en la que a es un número real, en la que b es un número real, en la que k es un número entero con k >2, y en la que P(i) es el valor de retardo de tono original /-ésimo, en la que gp(i) es el valor de ganancia de tono /-ésimo que se está asignando al valor de retardo de tono /-ésimo P(/).
En un ejemplo, el estimador de retardo de tono 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 función de error
en la que a es un número real, en la que b es un número real, en la que P(i) es el valor de retardo de tono original /-ésimo, en la que gp(i) es el valor de ganancia de tono /-ésimo que se está asignando al valor de retardo de tono / -ésimo P(/).
Según un ejemplo, el estimador de retardo de tono puede estar configurado por ejemplo para determinar el retardo de tono estimado p según p = a i+b.
En un ejemplo, el estimador de retardo de tono 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 retardo de tono originales, un valor de tiempo de la pluralidad de valores de tiempo se asigna a dicho valor de retardo de tono original.
Según un ejemplo, el estimador de retardo de tono puede estar configurado por ejemplo para estimar el retardo de tono estimado mediante la minimización de una función de error.
En un ejemplo, el estimador de retardo de tono 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 función de error
en la que a es un número real, en la que b es un número real, en la que k es un número entero con k >2, y en la que P(i) es el valor de retardo de tono original /-ésimo, en la que el tíempopasad0(l) es el valor de tiempo /-ésimo que se está asignando al valor de retardo de tono /-ésimo P(/).
Según un ejemplo, el estimador de retardo de tono 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 función de error
en la que a es un número real, en la que b es un número real, en la que P(í) es el valor de retardo de tono original iésimo, en la que el tiempopasad0(l) es el valor de tiempo i-ésimo que se está asignando al valor de retardo de tono iésimo P(/).
En un ejemplo, el estimador de retardo de tono se configura para determinar el retardo de tono estimado p según p = ai+b.
Además, se describe un método para la determinación de un retardo de tono estimado según un ejemplo. El método comprende:
- Recibir una pluralidad de valores de retardo de tono originales. Y:
- Estimar el retardo de tono estimado.
La estimación del retardo de tono estimado se realiza 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, un valor de información de la pluralidad de valores de información se asigna a dicho valor de retardo de tono original.
Además, un programa de ordenador para la implementación del método descrito anteriormente cuando se ejecuta en un ordenador o se proporciona un procesador de señales.
Además, se proporciona un aparato para la reconstrucción de una trama que comprende una señal de habla como una trama reconstruida, estando dicha trama reconstruida asociada con una o más tramas disponibles, siendo dicha una 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 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. El aparato comprende una unidad de determinación para la determinación de una diferencia de número de muestra 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 a ser reconstruido. Además, el aparato comprende un reconstructor de trama para la reconstrucción de la trama reconstruida mediante la reconstrucción, en función de la diferencia de número de muestra y en función de las muestras de dicho uno de los uno o más ciclos de tono disponibles, el primer ciclo de tono a ser reconstruido como un primer ciclo de tono reconstruido. El reconstructor de trama se configura 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 completa 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.
Según un ejemplo, la unidad de determinación puede estar configurado por ejemplo para determinar una diferencia de número de muestra para cada una de una pluralidad de ciclos de tono a ser reconstruido, de manera tal que la diferencia de número de muestra de cada uno de los ciclos de tono indica una diferencia entre el número de muestras de dicho uno de los uno o más ciclos de tono disponibles y un número de muestras de dicho ciclo de tono a ser reconstruido. El reconstructor de trama puede estar configurado por ejemplo para reconstruir cada ciclo de tono de la pluralidad de ciclos de tono a ser reconstruido en función de la diferencia de número de muestra de dicho ciclo de tono a ser reconstruido 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.
En un ejemplo, el reconstructor de trama puede estar configurado por ejemplo para generar una trama intermedia en función de dicho uno de los del uno o más ciclos de tono disponibles. El reconstructor de trama puede estar configurado por ejemplo para modificar la trama intermedia para obtener la trama reconstruida.
Según un ejemplo, la unidad de determinación puede estar configurado por ejemplo para determinar un valor de diferencia de trama (d; s) indicando cómo deben retirarse muchas muestras de la trama intermedia o cómo deben añadirse muchas muestras a la trama intermedia. Además, el reconstructor de trama puede estar configurado por ejemplo para retirar primeras muestras de la trama intermedia para obtener la trama reconstruida, cuando el valor de diferencia de trama indica que las primeras muestras deben retirarse de la trama. Además, el reconstructor de trama puede estar configurado por ejemplo para añadir segundas muestras a la trama intermedia para obtener la trama reconstruida, cuando el valor de diferencia de trama (d; s) indica que las segundas muestras deben añadirse a la trama.
En un ejemplo, el reconstructor de trama puede estar configurado por ejemplo para retirar las primeras muestras de la trama intermedia cuando el valor de diferencia de trama indica que las primeras muestras deben retirarse de la trama, de manera tal que el número de primeras muestras que se retiran de la trama intermedia se indica por el valor de diferencia de trama. Además, el reconstructor de trama puede estar configurado por ejemplo para añadir las segundas muestras a la trama intermedia cuando el valor de diferencia de trama indica que las segundas muestras deben añadirse a la trama, de manera tal que el número de segundas muestras que se añaden a la trama intermedia se indica por el valor de diferencia de trama.
Según un ejemplo, la unidad de determinación puede estar configurada por ejemplo para determinar el número de diferencia de trama s de manera tal que la fórmula:
M —l
*=£&>[<]- r , o ¿ r
í = 0 r
Se mantiene cierto, en el que L indica un número de muestras de la trama reconstruida, en la que M indica un número de subtramas de la trama reconstruida, en la que Tr indica una longitud de periodo de tono redondeado de dicho uno de los uno o más ciclos de tono disponibles, y en la que p[i] indica una longitud de periodo de tono de un ciclo de tono reconstruido de la subtrama i-ésima de la trama reconstruida.
En un ejemplo, el reconstructor de trama puede, por ejemplo, adaptarse para generar una trama intermedia en función de dicho uno de los uno o más ciclos de tono disponibles. Además, el reconstructor de trama puede, por ejemplo, adaptarse para generar la trama intermedia de manera tal que la trama intermedia comprende un primer ciclo de tono intermedio parcial, uno o más ciclos de tono intermedios adicionales, y un segundo ciclo de tono intermedio parcial. Además, el primer ciclo de tono intermedio parcial puede, por ejemplo, depender de una o más de las muestras de dicho uno de los 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 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. Además, la unidad de determinación puede estar configurado por ejemplo para determinar un número de diferencia de porción de inicio que indica cómo muchas muestras deben retirarse o añadirse del primer ciclo de tono intermedio parcial, y en el que el reconstructor de trama se configura para retirar una o más primeras muestras del primer ciclo de tono intermedio parcial, o se configura 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 porción de inicio. Además, la unidad de determinación puede estar configurado por ejemplo para determinar para cada uno de los ciclos de tono intermedios adicionales un número de diferencia de ciclo de tono que indica cómo muchas muestras deben retirarse o añadirse de dicho uno de los ciclos de tono intermedios adicionales. Además, el reconstructor de trama puede estar configurado por ejemplo para retirar una o más segundas muestras de dicho uno de los ciclos de tono intermedios adicionales, o se configura 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. Además, la unidad de determinación puede estar configurado por ejemplo para determinar un número de diferencia de porción final que indica cómo muchas muestras deben retirarse o añadirse del segundo ciclo de tono intermedio parcial, y en el que el reconstructor de trama se configura para retirar una o más terceras muestras del segundo ciclo de tono intermedio parcial, o se configura 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 porción final.
Según un ejemplo, el reconstructor de trama puede estar configurado por ejemplo para generar una trama intermedia en función de dicho uno de los del uno o más ciclos de tono disponibles. Además, la unidad de determinación puede, por ejemplo, adaptarse para determinar una o más porciones de señal de baja energía de la señal de habla comprendida por la trama intermedia, en el que cada una de la una o más porciones de señal de baja energía es una primera porción de señal de la señal de habla dentro de la trama intermedia, cuando la energía de la señal de habla es menor que en una segunda porción de señal de la señal de habla comprendida por la trama intermedia. Además, el reconstructor de trama puede estar configurado por ejemplo para retirar una o más muestras de al menos una de la una o más porciones de señal de baja energía de la señal de habla, o para añadir una o más muestras a al menos una de la una o más porciones de señal de baja energía de la señal de habla, para obtener la trama reconstruida.
En un ejemplo particular, el reconstructor de trama puede estar configurado por ejemplo para generar la trama intermedia, de manera tal que la trama intermedia comprende uno o más ciclos de tono reconstruidos, de manera tal que cada uno de los uno o más ciclos de tono reconstruidos depende de dicho uno de los del uno o más ciclos de tono disponibles. Además, la unidad de determinación puede estar configurado por ejemplo para determinar un número de muestras que debe retirarse de cada uno de los uno o más ciclos de tono reconstruidos. Además, la unidad de determinación puede estar configurado por ejemplo para determinar cada uno de la una o más porciones de señal de baja energía de manera tal que para cada una de la una o más porciones de señal 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 debe retirarse del uno de los uno o más ciclos de tono reconstruidos, en el que dicha porción de señal de baja energía se ubica dentro de dicho uno de los uno o más ciclos de tono reconstruidos.
En un ejemplo, la unidad de determinación puede estar configurada por ejemplo para determinar una posición de una o más pulsos de la señal de habla de la trama a ser reconstruida como trama reconstruida. Además, el reconstructor de trama puede estar configurado por ejemplo para reconstruir la trama reconstruida en función de la posición del uno o más pulsos de la señal de habla.
Según un ejemplo, la unidad de determinación puede estar configurado por ejemplo para determinar una posición de dos o más pulsos de la señal de habla de la trama a ser reconstruida como trama reconstruida, en el que 7J0] es la posición de uno de los dos o más pulsos de la señal de habla de la trama a ser reconstruida como trama reconstruida, y en el que la unidad de determinación se configura para determinar la posición (7[i]) de pulsos adicionales de los dos o más pulsos de la señal de habla según la fórmula:
en la que 7r indica una longitud redondeada de dicho uno de los uno o más ciclos de tono disponibles, y en la que i es un número entero.
Según un ejemplo, la unidad de determinación puede estar configurado por ejemplo para determinar un índice k del último pulso de la señal de habla de la trama a ser reconstruida como la trama reconstruida de manera tal que
en la que L indica un número de muestras de la trama reconstruida, en la que s indica el valor de diferencia de trama, en la que 7 [0] indica una posición de un pulso de la señal de habla de la trama a ser reconstruida como la trama reconstruida, que es diferente del último pulso de la señal de habla, y en la que 7r indica una longitud redondeada de dicho uno de los uno o más ciclos de tono disponibles.
En un ejemplo, la unidad de determinación puede estar configurado por ejemplo para reconstruir la trama a ser reconstruida como la trama reconstruida mediante la determinación de un parámetro 8, en el que 8 se define según la fórmula:
en la que la trama a ser reconstruida como la trama reconstruida comprende M subtramas, en la que 7p indica la longitud de dicho uno de los uno o más ciclos de tono disponibles, y en la que 7ext indica una longitud de uno de los ciclos de tono a ser reconstruido de la trama a ser reconstruida como la trama reconstruida.
Según un ejemplo, la unidad de determinación puede estar configurado por ejemplo para reconstruir la trama reconstruida mediante la determinación de una longitud redondeada 7r de dicho uno de los uno o más ciclos de tono disponibles en base a la fórmula:
en la que 7p indica la longitud de dicho uno de los uno o más ciclos de tono disponibles.
En un ejemplo, la unidad de determinación puede estar configurado por ejemplo para reconstruir la trama reconstruida mediante la aplicación de la fórmula:
en la que 7p indica la longitud de dicho uno de los uno o más ciclos de tono disponibles, en la que 7r indica una longitud redondeada de dicho uno de los uno o más ciclos de tono disponibles, en la que la trama a ser reconstruida como la trama reconstruida comprende M subtramas, en la que la trama a ser reconstruida como la trama reconstruida comprende L muestras, y en la que 8 es un número real 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 uno o más ciclos de tono a ser reconstruido.
Además, se proporciona un método para la reconstrucción de una trama que comprende una señal de habla como una trama reconstruida, estando dicha trama reconstruida asociada con una o más tramas disponibles, siendo dicha una 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 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. El método comprende:
- Determinar una diferencia de número de muestra ( v Ap ° ' ’ A ' ' ’ Ap k+l> t 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 a ser reconstruido. Y:
- Reconstruir la trama reconstruida mediante la reconstrucción, en función de la diferencia de número de muestra / á P ■ A ■ A p \
y en función de las muestras de dicho uno de los uno o más ciclos de tono disponibles, el primer ciclo de tono a ser reconstruido como un primer ciclo de tono reconstruido.
La reconstrucción de la trama reconstruida se realiza, 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 completa 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.
Además, un programa de ordenador para implementar el método descrito anteriormente cuando se ejecuta en un ordenador o se proporciona un procesador de señales.
Además, se proporciona un sistema para la reconstrucción de una trama que comprende una señal de habla. El sistema comprende un aparato para la determinación de un retardo de tono estimado según uno de los ejemplos descritos anteriormente o descritos a continuación, y un aparato para la reconstrucción de la trama, en el que el aparato para la reconstrucción de la trama se configura 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 habla.
En un ejemplo, la trama reconstruida puede, por ejemplo, estar asociada con una o más tramas disponibles, siendo dicha una 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 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. El aparato para la reconstrucción de la trama puede, por ejemplo, ser un aparato para la reconstrucción de una trama según uno de los ejemplos descritos anteriormente o descritos a continuación.
La presente invención se basa en el hallazgo de que la técnica anterior tiene inconvenientes significativos. Tanto G.718 (véase [ITU08a]) como G.729.1 (véase [ITU06b]) usan extrapolación de tono en el caso de una pérdida de trama. Esto es necesario, debido a que en el caso de una pérdida de trama, también se pierde el retardos de tono. Según G.718 y G.729.1, el tono se extrapola teniendo en cuenta la evolución del tono durante las últimas dos tramas. Sin embargo, el retardo de tono que se reconstruye por G.718 y G.729.1 no es muy preciso y, por ejemplo, a menudo da como resultado un retardo de tono reconstruido que difiere de manera significativa del retardo de tono real.
Las realizaciones de la presente invención proporcionan una reconstrucción de retardo de tono más precisa. Para este fin, en contraste a G.718 y G.729.1, algunos ejemplos tienen en cuenta la información en la confiabilidad de la información del tono.
Según la técnica anterior, la información del tono en el que se basa la extrapolación comprende los últimos ocho retardos de tono recibidos correctamente, para el cual el modo de codificación fue diferente de SORDA. Sin embargo, en la técnica anterior, la característica de voz podría ser bastante débil, indicada por una baja ganancia de tono (que corresponde a una baja ganancia de predicción). En la técnica anterior, en el caso de la extrapolación se basa en los retardos de tono que tienen diferentes ganancias de tono, la extrapolación no podrá generar resultados razonables o incluso fallar en absoluto y recurrirá a un simple enfoque de repetición de retardo de tono.
Ejemplos se basan en el hallazgo de que la razón para estas limitaciones de la técnica anterior es que en el lado del codificador, el retardo de tono se elige con respecto a maximizar la ganancia de tono con el fin de maximizar la ganancia de codificación del libro de códigos adaptivo, pero que, en el caso de que la característica del habla es débil, el retardo de tono no podría indicar la frecuencia fundamental de manera precisa, puesto que el ruido en la señal de habla provoca la estimación del retardo de tono para volverse imprecisa.
Por tanto, durante la ocultación, según los ejemplos, la aplicación de la extrapolación de retardo de tono se pondera en función de la confiabilidad de los retardos recibidos anteriormente usados para esta extrapolación.
Según algunos ejemplos, puede emplearse la ganancia pasada del libro de códigos adaptivos (ganancia de tono) como una medida de confiabilidad.
Según algunos ejemplos adicionales ponderación según qué tan lejos en el pasado, se recibieron los retardos de tono, se usa como una medida de confiabilidad. Por ejemplo, se colocan pesos altos para retardos más recientes y se colocan menos pesos para retardos que se recibieron hace más tiempo.
Según ejemplos, se proporcionan conceptos de predicción de tono ponderado. A diferencia de la técnica anterior, la predicción de tono proporcionado de la presente invención usa una medida de para cada uno de los retardos de tono se basa en, hacer el resultado de predicción mucho más valido y estable. Particularmente, según la invención, la ganancia de tono se usa como un indicador para la confiabilidad. Alternativa o adicionalmente, según algunos ejemplos útiles para entender la invención, el tiempo que se ha pasado tras la recepción correcta del retardo de tono puede, por ejemplo, usarse como un indicador.
En cuanto a la resincronización de pulsos, una de las limitaciones de la técnica anterior en cuanto a la resincronización de pulsos glotales es, que la extrapolación del tono no se tiene en cuenta, cuántos pulsos (ciclos de tono) se deben construir en la trama ocultada.
Según la técnica anterior, se realiza la extrapolación del tono de manera tal que solo se esperan los cambios en el tono en los bordes de las subtramas.
Según los ejemplos, cuando se realiza la resincronización de pulsos glotales, se pueden tener en cuenta los cambios de tono que son diferentes de los cambios de tono continuos.
G.718 y G.729.1 tienen los siguientes inconvenientes:
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, según la técnica anterior, se verifica, si T [N - 1], que en la ubicación del pulso Nesim° 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, según la técnica anterior, no se añaden ni se retiran muestras antes del primer pulso y después del último puso. 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).
Los ejemplos están basados en el hallazgo de que los pulsos T [k] = P - diff y T [n] = P - d no son iguales cuando:
En este caso diff = Tc - d y la cantidad de muestras eliminadas será d iff 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, los ejemplos están basados 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, los ejemplos están basados 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, los ejemplos están basados 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 retiran 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. Los ejemplos están basados en el hallazgo de que esto sucede por cuanto no se retiran 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.
Según los ejemplos, se proporcionan conceptos mejorados para la resincronización de pulsos. Los ejemplos 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]). Los ejemplos proporcionados son adecuados para señales con un tono constante, como también para señales con un tono cambiante.
Entre otras, según los ejemplos, se proporcionan tres técnicas:
Según una primera técnica proporcionada por un ejemplo, 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.
Según una segunda técnica proporcionada por otro ejemplo, 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.
Según una tercera técnica proporcionada por otro ejemplo, no es necesaria una búsqueda de pulsos. Según 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.
Adicional o alternativamente, algunos ejemplos proporcionan los siguientes cambios a las técnicas anteriormente descritas, así como 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 pulso 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 y ejemplos adicionales útiles para entender la invención con mayor detalle con referencia a las figuras, en las que:
La figura 1 ilustra un aparato para determinar un retardo de tono estimado según un ejemplo;
la figura 2a ilustra un aparato para reconstruir una trama que comprende una señal de voz en forma de una trama reconstruida según un ejemplo;
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 según un ejemplo; 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 según un ejemplo; 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; que ilustra adicionalmente Ao a A3.
La figura 1 ilustra un aparato para determinar un retardo de tono estimado según un ejemplo. El aparato comprende una interfaz 110 de entrada para recibir una pluralidad de valores de retardo de tono originales, y un estimador 120 del retardo de tono para estimar el retardo de tono estimado. El estimador 120 del retardo de tono 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.
Según un ejemplo, el estimador 120 de retardo de tono 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 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 120 del retardo de tono puede estar configurado para por ejemplo estimar el retardo de tono estimado mediante la minimización de una función de error.
Según una realización de la invención, el estimador 120 de retardo de tono se configura para estimar el retardo de tono estimado mediante la determinación de dos parámetros a, b, mediante la minimización de la función de error
en la que a es un número real, en la que b es un número real, en la que k es un número entero con k >2, y en la que P(i) es el valor de retardo de tono original i-ésimo, en la que gp(¡) es el valor de ganancia de tono /-ésimo que se está asignando al valor de retardo de tono i-ésimo P(/).
En un ejemplo según la invención, el estimador 120 del retardo de tono 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:
en la que a es un número real, en la que b es un número real, en la que P(i) es el valor de retardo de tono original iésimo, en la 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(i).
Según un ejemplo, el estimador 120 del retardo de tono puede estar configurado, por ejemplo, para determinar el retardo de tono estimado p según p = a ■ i b.
En un ejemplo, el estimador 120 del retardo de tono 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.
Según un ejemplo, el estimador 120 del retardo de tono 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 120 del retardo de tono 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:
en la que a es un número real, en la que b es un número real, en la que k es un número entero con un valor k > 2, y en la que P(i) es el valor de retardo de tono original i-ésimo, en la que tiempoPasado(i) es el valor de tiempo i-ésimo que se asigna al valor de retardo de tono i -ésimo P(i).
Según un ejemplo, el estimador 120 del retardo de tono 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:
4
e r r = ^ tiempo pasado (i) -( ( a + b ■ i ) - P ( i ) f
i= 0 ,
en la que a es un número real, en la que b es un número real, en la que P(i) es el valor de retardo de tono original iésimo, en la que el 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 120 del retardo de tono está configurado para determinar el retardo de tono estimado p según 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 según la ganancia de tono, haciéndose referencia a las fórmulas (20) a (22c). Según 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 según:
39
Z n=0 x(n) y (n)
g P 39
nZ=0 y(n) y (n) con la condición de que 0 < ° 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) según:
y n T 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 según:
63
Z x(n (n)
Cr
n =
r
0
L ) y k
C
=
63
Z y k (n) y k (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 según:
63
Z x(n) y (n)
n=0
s p 63 Z y (n) y (n)
n=0 en el que 0 < s p < 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, según un ejemplo 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. En un ejemplo, 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:
Algunos ejemplos proporcionan mejoras inventivas significativas de la estrategia de predicción del patrón de G.718. 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, según
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).
Algunos ejemplos proporcionan mejoras inventivas significativas de la estrategia de predicción del patrón de G.729.1. El algoritmo utilizado en G.729.1 para predecir el tono (Véase [ITU06b] por detalles acerca de G.729.1) se modifica según los efectos a efectos de utilizar la predicción ponderada.
Según algunos ejemplos según la invención, el objetivo consiste es minimizar la siguiente función de error:
en el que gp(¡) contiene las ganancias de tono de subtramas pasadas y P(i) contiene los correspondientes retardos de tono.
En la fórmula de la invención (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, se proporcionan ecuaciones según los ejemplos, que describen cómo derivar los factores a y b, que podrían utilizarse para predecir el retardo de tono según: 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:
La técnica anterior que no da a conocer emplear la ponderación inventiva proporcionada. En particular, la técnica anterior no emplea el factor de ponderación gp(i).
Por tanto, en la técnica anterior que no emplea un factor de ponderación gp(i), 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:
(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(i), los valores de a y b serían:
a
Según un ejemplo particular, A, B, C, D; E, F, G, H, I, J y K puede tener por ejemplo los siguientes valores:
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 según los 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.
El eje de las abscisas designa el número de subtrama. La línea 1010 continua muestra el retardo de tono del codificador que está empotrado en una corriente de bits, y que se pierde en el área 1030 del segmento gris. 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 1010 continua ilustra el retardo de tono, mientras que las líneas 1021, 1022, 1023 punteadas 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 1030 del segmento gris, 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 1012 de línea continua. Puede verse claramente que mediante la utilización de la predicción de tono provista (figura 11, porción 1013 de línea continua) 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).
Para superar los inconvenientes de la técnica anterior, algunos ejemplos aplican una ponderación de tiempo en los retardos de tono, antes de realizar la predicción de tono. La aplicación de una ponderación de tiempo puede efectuarse mediante la minimización de esta función de error:
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.
Según algunos ejemplos, en tal caso puede emplearse la fórmula (21a) para derivar a y b.
Para obtener la primera subtrama predicha, algunos ejemplos 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 según:
P (5 ) = a + 5 ■ b (23b)
Por ejemplo, si
tiempopasado = [1/51/41/31/21]
(ponderación de tiempo según retardo de subtrama), esto resultaría en lo siguiente:
A continuación, se describen ejemplos 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 según un ejemplo. Dicha 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 210 de determinación para determinar una diferencia de número de muestras ( Ap 0 ; A- 1 ; Ap k+ l) 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 reconstrucción, en función de la diferen Ap Acia del número de muestras ( 0 ; 1 ; Ap 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 220 de tramas 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 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 222 de voz que comprende los pulsos 211, 212, 213, 214, 215, 216, 217.
Una primera porción de la señal 222 de voz está comprendida por una trama n-1. Una segunda porción de la señal 222 de voz está comprendida por una trama n. Una tercera porción de la señal 222 de voz 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 201 de tono. Los pulsos 212 y 213 definen el ciclo 202 de tono. Los pulsos 213 y 214 definen el ciclo 203 de tono, 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 201 de tono de la trama n-1. Por otra parte, el receptor está consciente de los pulsos 216 y 217 y del ciclo 206 de tono 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.
Según algunos ejemplos, 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 201 de tono 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 los ejemplos, 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 201 de tono (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 algunos ejemplos, las muestras copiadas son modificadas.
Mediante el copiado cíclicamente de manera repetitiva 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 202, 203, 204 y 205 de tono) se diferencia de la magnitud del ciclo de tono copiado disponibles (aquí: el ciclo 201 de tono).
Por ejemplo, en la figura 2b, la diferencia entre el ciclo 201 de tono y el ciclo 202 de tono está indicado por A1, la diferencia entre el ciclo 201 de tono y el ciclo 203 de tono está indicada por A2 , la diferencia entre el ciclo 201 de tono y el ciclo 204 de tono está indicada por A3 , y la diferencia entre el ciclo 201 de tono y el ciclo 205 de tono está indicada por A4.
En la figura 2b, puede verse que el ciclo 201 de tono de la trama n-1 es significativamente más grande que el ciclo 206 de tono. Por otra parte, los ciclos 202, 203, 204 y 205 de tono, que están comprendidos (parcial o totalmente) por la trama n y, cada uno de ellos es más pequeño que el ciclo 201 de tono y más grande que el ciclo 206 de tono. Por otra parte, los ciclos de tono más cercanos al ciclo de tono grande 201 (por ejemplo, el ciclo 202 de tono) son más grandes que los ciclos de tono (por ejemplo, el ciclo 205 de tono) que están más cercanos al ciclo 206 de tono pequeño.
En base a estos hallazgos el reconstructor 220 de tramas 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, según algunos ejemplos, 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 201 de tono) y un número de muestras de un primer ciclo de tono (por ejemplo, los ciclos 202, 203, 204, 205 de tono) que han de ser reconstruidos.
Por ejemplo, según un ejemplo, las muestras del ciclo 201 de tono 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 algunos ejemplos, es posible añadir muestras mediante la adición de muestras de amplitud cero al correspondiente ciclo de tono. En otros ejemplos, 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 ejemplos 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 ejemplos, 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.
Según un ejemplo, la unidad 210 de determinación de 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 220 de trama, 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 un ejemplo, el reconstructor 220 de trama, 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 220 de tramas puede estar configurado por ejemplo para modificar la trama intermedia de manera de obtener la trama reconstruida.
Según un ejemplo, la unidad 210 de determinación 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 220 de tramas 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 220 de tramas 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 un ejemplo, el reconstructor 220 de tramas 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 220 de trama puede estar configurado por ejemplo para añadir las segundas muestras a la trama intermedia cuando el valor de la 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. Según un ejemplo, la unidad 210 de determinación puede estar configurada, por ejemplo, para determinar el número de la diferencia de tramas s de manera tal que la fórmula:
M—1
s = J JCp[í]- T’-) r k
i=o
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.
En un ejemplo, el reconstructor 220 de trama puede estar adaptado por ejemplo 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 220 de trama puede estar adaptado por ejemplo 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 puede depender por ejemplo 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 210 de determinación puede estar configurada por ejemplo 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 220 de tramas 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 210 de determinación puede estar configurada por ejemplo 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 220 de tramas puede estar configurado por ejemplo 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 210 de determinación puede estar configurada por ejemplo 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 220 de tramas puede estar configurado por ejemplo 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.
Según un ejemplo, el reconstructor 220 de tramas 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 210 de determinación 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 220 de tramas 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 un ejemplo particular, el reconstructor 220 de tramas 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 210 de determinación 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 un ejemplo, la unidad 210 de determinación 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, el reconstructor 120 de tramas 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.
Según un ejemplo, la unidad 210 de determinación 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 T [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 210 de determinación estar configurada para determinar la posición (T[i]) de otros pulsos de los dos o más pulsos de la señal de voz según la fórmula:
T [i] = T [0] i 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 i es un número entero.
Según un ejemplo, la unidad 210 de determinación 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 un ejemplo, la unidad 210 de determinación 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 según 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.
Según un ejemplo, la unidad 210 de determinación 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 un ejemplo, la unidad 210 de determinación puede estar configurada por ejemplo para reconstruir la trama reconstruida mediante la aplicación de la siguiente fórmula:
en la 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 ejemplos con mayor detalle.
A continuación, un primer grupo de ejemplos de resincronización de pulso se describe con referencia a las fórmulas (25) -(63).
En tales ejemplos, 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 y 9, 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, los ejemplos descritos con referencia a las fórmulas (25) - (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 (último_tono).
Según los ejemplos, 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 su b fr
- Hay c T ciclos de tono en cada subtrama.
L su b fr
- Por lo tanto, para cada subtrama (Tc - p[i]) T c muestras deberían ser eliminadas.
Según algunos ejemplos, no se lleva a cabo ningún redondeo y se utiliza un tono fraccional. Entonces:
p[i] = Tc (i 1) 8
L subfr
- i 18
- Por lo tanto, para cada subtrama i, T„ muestras deberían ser eliminadas si 8 < 0 (o añadidas si 8 > 0).
L subfr m
.
d = - 8 y i=1 i
Por lo tanto, c (en el que M es el número de subtramas en una trama).
Según algunos otros ejemplos, 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:
Según un ejemplo, se proporciona un algoritmo para calcular d de acuerdo con:
ftmp = 0;
for (i=0;i <M;i++) {
ftmp =p [i] ;
>
d = (short)floor((M*T_c - ftmp)*(float)L_subfr/ T_c 0.5);
En otro ejemplo, la última línea del algoritmo se reemplaza por:
d = (short)floor (L_frame - ftmp * (float) L_subfr / T_c 0,5);
Según los ejemplos el último pulso T[n] se encuentra según:
Según un ejemplo, se emplea una fórmula para calcular N. Esta fórmula se obtiene a partir de la fórmula (26) según:
y el último pulso tiene seguidamente el índice N -1.
Según 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 (T[k]) determina el número de ciclos de tono completos k, en el que se retiran (o se añaden) las muestras.
La figura 12 ilustra una posición del último pulso T[2] antes de la retirada de d muestras. En cuanto a los ejemplos descritos con respecto a las fórmulas (25) -(63), el signo 1210 de referencia 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, T[k] se halla dentro de L_trama d muestras y k se determina por lo tanto mediante la siguiente expresión:
k _ i | T[i] < Ltrama + d < T [i 1] (28)
A partir de la fórmula (17) y de la formula (28), se deduce que
T[0] kTc < Ltrama + d < T[0] (k 1) Tc (29)
Es decir:
De la fórmula (30) se deduce que:
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 trama oculta que no es SORDA.
Seguidamente se describe un caso con por lo menos dos (k > 1) con referencia las fórmulas (32) -(46).
Supongamos que en cada ciclo de tono i-ésimo entre pulsos, se eliminarán Ai muestras, en el que Ai se define como:
A¿ = A (i
—
1)
a,
1 < i < k
(32)
en la 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:
Supongamos que Ak+1 muestras serán eliminadas después del último pulso, en el que Ak+1 se define como:
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 Ai 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+i 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 los ejemplos descritos con referencia las fórmulas (25) -(63), el signo 1210 de referencia designa d.
El número total de muestras a ser eliminadas, d, se relacione seguidamente con A¡ como sigue:
fc+i
A partir de las fórmulas (32) -(35), es posible obtener d como sigue:
La fórmula (36) es equivalente a:
Supongamos que el último ciclo de tono completo de una trama oculta tiene una longitud p[M -1], es decir:
A A' — -^ c ~ ^ .3 / - J. (38)
A partir de las fórmulas (32) y (38) se deduce que:
A = T C- p [M - 1] - ( k - 1) a (39) Por otra parte, de las fórmulas (37) y (39), se deduce que:
La fórmula (40) es equivalente a:
A partir las fórmulas (17) y (41), se deduce que:
La fórmula (42) es equivalente a:
Por otra parte, de la fórmula (43), se deduce que:
La fórmula (44) es equivalente a:
Además, la fórmula, (45) es equivalente a:
Según los ejemplos, 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 un ejemplo, las muestras se retiran o añaden en las regiones de mínima energía.
Según los ejemplos, el número de muestras a ser eliminadas puede ser redondeado, por ejemplo, mediante:
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:
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:
En tal caso, el número total de muestras a ser eliminadas está dado por la siguiente expresión:
^ -V> T A l (49)
A partir de las fórmulas (47) a (49), se deduce que:
La fórmula (50) es equivalente a:
dTc = A ( L d ) - aT [0]
(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 partir de la fórmula (52), se deduce que:
Además, a partir de las fórmulas (51) y (53), se deduce que:
La fórmula (54) es equivalente a:
Hay LA - aj muestras a ser eliminadas o adicionadas en la región de mínima energía antes del pulso y d - L A - muestras después del pulso.
A continuación, se describe un concepto simplificado según los ejemplos, que no requiere una búsqueda de (la ubicación de) los pulsos, y haciéndose referencia a las fórmulas (56) -(63).
t [i] 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:
k í
^ í [ ¿ ]
< L <
^
t[i
i = O z=0 (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 deduce que
kTc < L d < {k l ) T c (57)
Se deduce que:
L d ; L d— 1 < k <
Tn Tr
(58)
Además, se deduce que
Según los ejemplos, puede suponerse un cambio lineal en el retardo de tono:
En los ejemplos, (fc 1) A muestras son eliminadas en el ciclo de tono k-ésimo.
Según los ejemplos, en la parte del ciclo de tono k-ésimo, que permanece en la trama después de eliminar las muestras,
L-\-d— kTc
T¡ {k
+ 1) A
muestras son eliminadas.
Por lo tanto, el número total de las muestras eliminadas es:
La fórmula (60) es equivalente a:
Además, la fórmula (61) es equivalente a:
Por otra parte, la formula (62) es equivalente a:
. 2c¡T c
A =
(k + 1) (2L + 2d - kTc
(63)
Según los ejemplos, (£ 1) 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 (Te + A ) ,Te, T c, (Te — A ) , {Tc — 2A ) (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.
Según los ejemplos, 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 f(fc l ) A ] 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 Pésimo (0 < i < k), copiar las muestras de los ciclos de tono i - 1esim° des lazar LAJ + L¿¿-iJ muestras a la región de energía mínima .
esta etapa k -1 veces.
4. Para la búsqueda del ciclo de tono késimo para la nueva región mínima en el ciclo de tono (k - 1)esim° 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 - i ) ésim° trasladar
muestras a la región de energía mínima.
Si deben añadirse muestras, puede utilizarse el procedimiento equivalente tomando en cuenta que d < 0 y A < 0 y que adicionamos en total |d| muestras, es decir se añaden (& 1)|A| en el ciclo késimo 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 ejemplos de resincronización de pulsos con referencia las fórmulas (64) -(113). Estos ejemplos del primer grupo 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 ejemplos de resincronización de pulsos no se definen a continuación, los ejemplos de la presente invención pueden emplear las definiciones provistas por estos parámetros con respecto al primer grupo de ejemplos de la resincronización de pulsos definidos en lo que precede (Véanse las
fórmulas (25) -(63)).
Algunas de las fórmulas (64) a (113) del segundo grupo de ejemplos de resincronización pueden redefinir algunos de los parámetros utilizados con respecto al primer grupo de ejemplos de resincronización de pulsos. En este caso, las definiciones redefinidas provistas rigen para los segundos ejemplos de resincronización de pulsos.
Como se describe en lo que precede, según algunos ejemplos, 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 = Ltrama.
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 [i] = T [0] i T r.
Según los ejemplos, 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 [k]).
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:
en el que
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 un ejemplo, 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.
Según los ejemplos, 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.
Según algunos ejemplos, 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 según los ejemplos, haciéndose referencia a las fórmulas (66) a (69).
Según algunas realizaciones, la diferencia, s, puede calcularse por ejemplo en base a los siguientes principios:
En cada subtrama i, deberían añadirse p[¡] -T r muestras para cada ciclo de tono (de longitud (si p[¡] -Tr > 0); (o Tr- p[i] muestras deberían eliminarse si p[i] - Tr < 0).
L subfr L
Hay M T.r ciclo de tono en cada subtrama.
( p [ i ] - T r ) - = -Por lo tanto, en la subtrama i-ésima deberían eliminarse MTr muestras.
Por lo tanto, en armonía con la fórmula (64), según un ejemplo, puede calcularse s por ejemplo según formula (66):
La fórmula (66) es equivalente a:
en el que la fórmula (67) es equivalente a:
y en el que la fórmula (68) es equivalente a:
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 según los ejemplos, haciéndose referencia a las fórmulas (70) -(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).
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 los ejemplos descritos con referencia a las fórmulas (64) -(113), el signo 1210 de referencia 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 retiran 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:
k = i | T[ i ] < L - s < T [ i 1] (70)
A partir de las fórmulas (15b) y (70), se deduce que
730] + kTr < L - s < 7 |0 | (fc 1 )Tr (71)
Es decir
Según un ejemplo, es posible determinar k en base a la fórmula (72) como sigue:
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 según los ejemplos, 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:
y en la que a es una variable desconocida que puede expresarse por ejemplo en términos de las variables conocida.
Además, puede suponerse por ejemplo que se eliminarán (o añadirán) A P muestras antes del primer pulso, en el que Ap 0 se d .e _fine como:
Por otra parte, puede suponerse por ejemplo que Ap
k-1 muestras después del último pulso serán eliminadas (o A P
añadidas), en el que “ k+-i se define como:
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.
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 la que k = 2. La figura 13 ilustra una representación esquemática de muestras eliminadas en cada ciclo de tono. En cuanto a los ejemplos descritos con referencia a las fórmulas (64) a (113), el signo 1210 de referencia designa |s|.
El número total de muestras a ser eliminadas (o añadidas), s, está relacionado con Ai según:
A partir de las fórmulas (74) a (77) se deduce que:
La fórmula (78) es equivalente a:
Además, la fórmula (79) es equivalente a:
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
(82)
Según los ejemplos, 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 partir de la fórmula (74) y de la fórmula (83), se deduce que:
A partir de la fórmula (82) y de la formula (84), se deduce que:
(85)
La fórmula (85) es equivalente a:
Además, la fórmula (86) es equivalente a:
Por otra parte, la fórmula (87) es equivalente a:
A partir de las fórmulas (16b) y (88), se deduce que:
La fórmula (89) es equivalente a:
Además, la fórmula (90) es equivalente a:
Por otra parte, la fórmula (91) es equivalente a:
Además, la fórmula (92) es equivalente a:
A partir de la fórmula (93), se deduce que:
Por lo tanto, por ejemplo, en base a la fórmula (94), según los ejemplos:
- 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.
Según algunos ejemplos, 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 deduce que:
La fórmula (95) es equivalente a:
Además, a partir de las fórmulas (84) y(94), se deduce que:
La fórmula (97) es equivalente a:
Según un ejemplo, el número de muestras a ser eliminadas después del último pulso puede calcularse en base a la fórmula (97) según:
k
A L i = M - < - 2 A;
Í= 1 (99)
han de ser añadidas o eliminadas.
Debido a razones de complejidad, en algunos ejemplos, se desea añadir o eliminar un número entero de muestras y por lo tanto, en tales ejemplos “ A p o, “ A i y “ Ap * i pueden, por ejemplo redondearse. En otros ejemplos, 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 según los ejemplos, haciéndose referencia a las fórmulas (100) a (113).
Según los ejemplos, 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.
Según los ejemplos, 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):
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):
construida del src_exc de excitación.
Obtener el índice del último pulso en el dst_exc de trama resincronizada en base a la fórmula (73):
Calcular a - el delta de las muestras a ser añadidas o eliminadas entre ciclos consecutivos en base a la fórmula (94):
\Jr - Text\(L - s) - |5 |r r
(k l ){T\0\ ^ T r)
(104)
Calcular el número de muestras a ser añadidas o eliminadas antes del primer pulso en base a la fórmula (96):
- 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 ¿ = K ] (106)
F = A g-A J, (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):
- 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:
(110)
Si debido al F añadido para algún 1sucede que A¿> A[_1 ^ 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:
A, { A'k,A rkl
A'max= m ^ax A [ = &k> k ^ Í í 1
i l Ak+1,Ah fc< Afc+i (112)
- Hallar la ubicación del segmento de mínima energía entre los primeros dos pulsos en src_exc, que tiene una longitud ^ A m f ax. Para cada segmento de energía mínima consecutivo entre dos pulsos, la posición se calcula mediante:
- SÍ ^m inW ^ entonces calcular la ubicación del segmento de mínima energía antes del primer pulso en src_exc para lo cual se utiliza = Pmin [1 ~ Tr En caso contrario hallar la ubicación del segmento de mínima energía pm t n [ ° ] antes del primer pulso en src_exc, que tiene una longitud ^0.
- Si Pmin[ 1] + 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 Pminlk + 1] = Pminl1] kTr ^n caso contrario hallar la ubicación del segmento de mínima energía Pmin[k + 1] después del último pulso en src_exc, que tiene una longitud ^fe+i. - 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. Pmin[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 “ i muestras en la ubicación Pmin[¡] para 0 < i < k 1 a\ src_exc de la señal y almacenarla en dst_exc, en caso contrario si s 0 eliminar “ i muestras en la ubicación Pmin[¡] para 0 < i < k + 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 retiran.
La figura 2c ilustra un sistema para reconstruir una trama que comprende una señal de voz según un ejemplo. El sistema comprende un aparato 10 para determinar un retardo de tono estimado según uno de los ejemplos anteriormente descritos, 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 un ejemplo, 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 según uno de los ejemplos anteriormente descritos.
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 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 según 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.
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.
En otras palabras, una realización del método inventivo es por tanto 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 2002427 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, It U-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, Mayo 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 (csacelp), 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.
[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.
[VJGS12] Tommy Vaillancourt, Milan Jelinek, Philippe Gournay, and Redwan Salami, Method and device for efficient frame erasure concealment in speech codees, documento US 8.255.207 B2, 2012.
Claims (5)
- REIVINDICACIONESi. Aparato para la determinación de un retardo de tono estimado, que comprende:una interfaz (110) de entrada para recibir una pluralidad de valores de retardo de tono originales, y un estimador (120) de retardo de tono para estimar el retardo de tono estimado,en el que el estimador (120) de retardo de tono se configura 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, un valor de información de la pluralidad de valores de información se asigna a dicho valor de retardo de tono original,en el que el estimador (120) de retardo de tono se configura 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 ganancia de tono 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 retardo de tono originales, un valor de ganancia de tono de la pluralidad de valores de ganancia de tono se asigna a dicho valor de retardo de tono original, en el que el estimador de retardo de tono se configura para estimar el retardo de tono estimado mediante la minimización de una función de error, en el que el estimador de retardo de tono se configura para estimar el retardo de tono estimado mediante la determinación de dos parámetros a, b, mediante la minimización de la función de erroren la que a es un número real, en la que b es un número real, en la que k es un número entero con k >2, y en la que P(i) es el valor de retardo de tono original i-ésimo, en la 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(i).
- 2. Aparato según la reivindicación 1, en el que cada una de la pluralidad de valores de ganancia de tono es una ganancia de libro de códigos adaptivo.
- 3. Aparato según la reivindicación 1, en el que k = 4.
- 4. Sistema para la reconstrucción de una trama que comprende una señal de habla, comprendiendo el sistema:un aparato según la reivindicación 1 para la determinación de un retardo de tono estimado, yun aparato para la reconstrucción de la trama, en el que el aparato para la reconstrucción de la trama se configura para reconstruir la trama en función del retardo de tono estimado,en el que el retardo de tono estimado es un retardo de tono de la señal de habla.
- 5. Sistema para la reconstrucción de una trama según la reivindicación 4,en el que la trama reconstruida se asocia con una o más tramas disponibles, dicha una o más tramas disponibles estando al menos una de una o más tramas anteriores de la trama reconstruida y una o más tramas posteriores de 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, yen el que el aparato para la reconstrucción de la trama comprendeuna unidad (210) de determinación para la determinación de una diferencia de número de muestra 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 a ser reconstruido, yun reconstructor (220) de trama para la reconstrucción de la trama reconstruida mediante la reconstrucción, en función de la diferencia de número de muestra y en función de las muestras de dicho uno de los uno o más ciclos de tono disponibles, el primer ciclo de tono a ser reconstruido como un primer ciclo de tono reconstruido, en el que el reconstructor (220) de trama se configura 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 completa 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 la unidad (210) de determinación se configura para determinar la diferencia de número de muestra en función del retardo de tono estimado.Método para la determinación de un retardo de tono estimado, que comprende:recibir una pluralidad de valores de retardo de tono originales, yestimar el retardo de tono estimado,en el que la estimación del retardo de tono estimado se realiza 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, un valor de información de la pluralidad de valores de información se asigna a dicho valor de retardo de tono original,en el que la estimación del retardo de tono estimado se realiza en función de la pluralidad de valores de retardo de tono originales y en función de una pluralidad de valores de ganancia de tono 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 retardo de tono originales, un valor de ganancia de tono de la pluralidad de valores de ganancia de tono se asigna a dicho valor de retardo de tono original, en el que la estimación del retardo de tono estimado se realiza mediante la minimización de una función de error, en el que la estimación del retardo de tono estimado se realiza mediante la determinación de dos parámetros a, b, mediante la minimización de la función de erroren la que a es un número real, en la que b es un número real, en la que k es un número entero con k >2, y en la que P(i) es el valor de retardo de tono original i-ésimo, en la que gp(¡) es el valor de ganancia de tono iésimo que se está asignando al valor de retardo de tono i-ésimo P(i).Programa de ordenador adaptado para implementar el método según la reivindicación 6 cuando se ejecuta en un ordenador o procesador de señal.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13173157 | 2013-06-21 | ||
EP14166990 | 2014-05-05 | ||
PCT/EP2014/062589 WO2014202539A1 (en) | 2013-06-21 | 2014-06-16 | Apparatus and method for improved concealment of the adaptive codebook in acelp-like concealment employing improved pitch lag estimation |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2746322T3 true ES2746322T3 (es) | 2020-03-05 |
Family
ID=50942300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14729939T Active ES2746322T3 (es) | 2013-06-21 | 2014-06-16 | Estimación del retardo del tono |
Country Status (18)
Country | Link |
---|---|
US (3) | US10381011B2 (es) |
EP (3) | EP3540731B1 (es) |
JP (4) | JP6482540B2 (es) |
KR (2) | KR20180042468A (es) |
CN (2) | CN111862998A (es) |
AU (2) | AU2014283393A1 (es) |
BR (2) | BR112015031181A2 (es) |
CA (1) | CA2915805C (es) |
ES (1) | ES2746322T3 (es) |
HK (1) | HK1224427A1 (es) |
MX (1) | MX371425B (es) |
MY (1) | MY177559A (es) |
PL (1) | PL3011554T3 (es) |
PT (1) | PT3011554T (es) |
RU (1) | RU2665253C2 (es) |
SG (1) | SG11201510463WA (es) |
TW (2) | TWI613642B (es) |
WO (1) | WO2014202539A1 (es) |
Families Citing this family (7)
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. |
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 |
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 |
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 |
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. |
KR102192998B1 (ko) | 2016-03-07 | 2020-12-18 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 상이한 주파수 대역에 대한 상이한 감쇠 인자에 따라 은닉된 오디오 프레임을 페이드 아웃하는 에러 은닉 유닛, 오디오 디코더, 및 관련 방법과 컴퓨터 프로그램 |
Family Cites Families (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5179594A (en) * | 1991-06-12 | 1993-01-12 | Motorola, Inc. | Efficient calculation of autocorrelation coefficients for CELP vocoder adaptive codebook |
US5187745A (en) * | 1991-06-27 | 1993-02-16 | Motorola, Inc. | Efficient codebook search for CELP vocoders |
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. |
US5792072A (en) * | 1994-06-06 | 1998-08-11 | University Of Washington | System and method for measuring acoustic reflectance |
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 |
US5699485A (en) * | 1995-06-07 | 1997-12-16 | Lucent Technologies Inc. | Pitch delay modification during frame erasures |
US5946650A (en) * | 1997-06-19 | 1999-08-31 | Tritech Microelectronics, Ltd. | Efficient pitch estimation method |
US6449590B1 (en) | 1998-08-24 | 2002-09-10 | Conexant Systems, Inc. | Speech encoder using warping in long term preprocessing |
US7072832B1 (en) * | 1998-08-24 | 2006-07-04 | Mindspeed Technologies, Inc. | System for speech encoding having an adaptive encoding arrangement |
US6556966B1 (en) * | 1998-08-24 | 2003-04-29 | Conexant Systems, Inc. | Codebook structure for changeable pulse multimode speech coding |
US6507814B1 (en) * | 1998-08-24 | 2003-01-14 | Conexant Systems, Inc. | Pitch determination using speech classification and prior pitch estimation |
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 |
US6584438B1 (en) * | 2000-04-24 | 2003-06-24 | Qualcomm Incorporated | Frame erasure compensation method in a variable rate speech coder |
EP1796083B1 (en) * | 2000-04-24 | 2009-01-07 | Qualcomm Incorporated | Method and apparatus for predictively quantizing voiced speech |
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 |
JP2003140699A (ja) * | 2001-11-07 | 2003-05-16 | Fujitsu Ltd | 音声復号化装置 |
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 |
US7613607B2 (en) * | 2003-12-18 | 2009-11-03 | Nokia Corporation | Audio enhancement in coded domain |
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 |
US8725501B2 (en) * | 2004-07-20 | 2014-05-13 | Panasonic Corporation | Audio decoding device and compensation frame generation method |
US7860710B2 (en) * | 2004-09-22 | 2010-12-28 | Texas Instruments Incorporated | Methods, devices and systems for improved codebook search for voice codecs |
UA90506C2 (ru) | 2005-03-11 | 2010-05-11 | Квелкомм Инкорпорейтед | Изменение масштаба времени кадров в вокодере с помощью изменения остатка |
BRPI0607646B1 (pt) * | 2005-04-01 | 2021-05-25 | Qualcomm Incorporated | Método e equipamento para encodificação por divisão de banda de sinais de fala |
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 |
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 |
US8415911B2 (en) * | 2009-07-17 | 2013-04-09 | Johnson Electric S.A. | Power tool with a DC brush motor and with a second power source |
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 |
WO2013184667A1 (en) * | 2012-06-05 | 2013-12-12 | Rank Miner, Inc. | System, method and apparatus for voice analytics of recorded audio |
CN103714821A (zh) | 2012-09-28 | 2014-04-09 | 杜比实验室特许公司 | 基于位置的混合域数据包丢失隐藏 |
CN103272418B (zh) | 2013-05-28 | 2015-08-05 | 佛山市金凯地过滤设备有限公司 | 一种压滤机 |
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. |
-
2014
- 2014-06-16 MX MX2015017833A patent/MX371425B/es active IP Right Grant
- 2014-06-16 PT PT147299390T patent/PT3011554T/pt unknown
- 2014-06-16 AU AU2014283393A patent/AU2014283393A1/en not_active Abandoned
- 2014-06-16 EP EP19172360.0A patent/EP3540731B1/en active Active
- 2014-06-16 SG SG11201510463WA patent/SG11201510463WA/en unknown
- 2014-06-16 CN CN202010573105.1A patent/CN111862998A/zh active Pending
- 2014-06-16 KR KR1020187010994A patent/KR20180042468A/ko not_active Application Discontinuation
- 2014-06-16 WO PCT/EP2014/062589 patent/WO2014202539A1/en active Application Filing
- 2014-06-16 CA CA2915805A patent/CA2915805C/en active Active
- 2014-06-16 JP JP2016520421A patent/JP6482540B2/ja active Active
- 2014-06-16 ES ES14729939T patent/ES2746322T3/es active Active
- 2014-06-16 RU RU2016101599A patent/RU2665253C2/ru active
- 2014-06-16 KR KR1020167001881A patent/KR102120073B1/ko active IP Right Grant
- 2014-06-16 EP EP24167537.0A patent/EP4375993A3/en active Pending
- 2014-06-16 BR BR112015031181A patent/BR112015031181A2/pt not_active IP Right Cessation
- 2014-06-16 BR BR112015031824-0A patent/BR112015031824B1/pt active IP Right Grant
- 2014-06-16 CN CN201480035427.3A patent/CN105408954B/zh active Active
- 2014-06-16 EP EP14729939.0A patent/EP3011554B1/en active Active
- 2014-06-16 PL PL14729939T patent/PL3011554T3/pl unknown
- 2014-06-16 MY MYPI2015002993A patent/MY177559A/en unknown
- 2014-06-20 TW TW103121374A patent/TWI613642B/zh active
- 2014-06-20 TW TW106123342A patent/TWI711033B/zh active
-
2015
- 2015-12-21 US US14/977,224 patent/US10381011B2/en active Active
-
2016
- 2016-10-27 HK HK16112359.2A patent/HK1224427A1/zh unknown
-
2018
- 2018-01-10 AU AU2018200208A patent/AU2018200208B2/en active Active
- 2018-12-06 JP JP2018228601A patent/JP7202161B2/ja active Active
-
2019
- 2019-06-18 US US16/445,052 patent/US11410663B2/en active Active
-
2021
- 2021-03-24 JP JP2021049334A patent/JP2021103325A/ja active Pending
-
2022
- 2022-06-30 US US17/810,132 patent/US20220343924A1/en active Pending
-
2023
- 2023-03-15 JP JP2023040193A patent/JP2023072050A/ja active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2746322T3 (es) | Estimación del retardo del tono | |
ES2671006T3 (es) | Reconstrucción de una trama de voz | |
JP5019479B2 (ja) | ボコーダにおけるフレームの位相整合のための方法および装置 | |
ES2527697T3 (es) | Corrección directa de errores en la codificación vocal | |
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 |