ES2329199T3 - Aparato para busqueda en el libro de codificacion fijo. - Google Patents

Aparato para busqueda en el libro de codificacion fijo. Download PDF

Info

Publication number
ES2329199T3
ES2329199T3 ES08005996T ES08005996T ES2329199T3 ES 2329199 T3 ES2329199 T3 ES 2329199T3 ES 08005996 T ES08005996 T ES 08005996T ES 08005996 T ES08005996 T ES 08005996T ES 2329199 T3 ES2329199 T3 ES 2329199T3
Authority
ES
Spain
Prior art keywords
vector
coding
book
matrix
impulse response
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
Application number
ES08005996T
Other languages
English (en)
Inventor
Hiroyuki Ehara
Koji Yoshida
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Application granted granted Critical
Publication of ES2329199T3 publication Critical patent/ES2329199T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

Un aparato de búsqueda del libro de codificación fijo (150) que comprende: una sección de operación de convolución (151) adaptada para realizar la convolución de una respuesta de impulso de un filtro de síntesis ponderado perceptivamente con un vector de respuesta de impulso que tiene valores distintos de cero en tiempos negativos, para generar un segundo vector de respuesta de impulso (h) que tiene valores distintos de cero en tiempos negativos; una sección de generación de la matriz (152) adaptada para generar una matriz de convolución del tipo de Toeplitz (H'') usando el segundo vector de respuesta de impulso generado por la sección de operación de convolución; una sección de búsqueda adaptada para realizar una búsqueda en el libro de codificación fijo maximizando un término usando la matriz de convolución del tipo de Toeplitz; y en el que una longitud temporal de los elementos en tiempos negativos del segundo vector de respuesta de impulso es más corta que una longitud temporal de los elementos en tiempos no negativos del segundo vector de respuesta de impulso.

Description

Aparato para búsqueda en el libro de codificación fijo.
Antecedentes de la invención Campo de la invención
La presente invención se refiere a un aparato para búsqueda en un libro de codificación fijo para usarlo en el momento de la codificación por medio de un aparato de codificación de voz que realiza la Predicción Lineal de Excitación por Códigos (CELP, del inglés "Code excited linear prediction") de las señales de voz.
Descripción de la técnica relacionada
Dado que el procesamiento de la búsqueda en el libro de codificación fijo en un aparato de codificación de voz del tipo CELP representa generalmente la mayor carga de procesamiento en el proceso de la codificación de voz, se han desarrollado convencionalmente varias configuraciones del libro de codificación fijo y de los métodos de busca de un libro de codificación fijo.
Los libros de codificación fijos que usan un libro de codificación algebraico, lo que se adopta ampliamente en los códecs de normas internacionales tales como las recomendaciones ITU-T G.729 y G.723.1 o la norma 3GPP AMR, o similares, reducen relativamente la carga de procesamiento para la búsqueda (véase, por ejemplo, los documentos no de patente 1 a 3). Con estos libros de codificación fijos, a través de hacer escaso el número de pulsos generados desde el libro de codificación algebraico, puede reducirse la carga de procesamiento requerida para la búsqueda en el libro de codificación fijo. Sin embargo, dado que hay un límite en las características de la señal que puede representarse por medio de la excitación de pulsos escasos, hay casos en los que surge un problema en la calidad de la codificación. Para tratar este problema, se ha propuesto una técnica por medio de la cual se aplica un filtro para caracterizar al pulso de excitación generado desde el libro de codificación algebraico (véase el documento no de patente 4, por
ejemplo).
Documento no de patente 1: Recomendación ITU-T G.729, "Coding of Speech at 8 kbit/s using Conjugate-structure Algebraic-Code-Excited Linear-Prediction (CS-ACELP)", marzo de 1996.
Documento no de patente 2: Recomendación ITU-T G.723.1, "Dual Rate Speech Coder for Multimedia Communications Transmitting at 5.3 and 6.3 kbit/s", marzo de 1996.
Documento no de patente 3: 3GPP TS 26.090, "AMR speech codec; Trans-coding functions" V4.0.0, marzo de 2001.
Documento no de patente 4: R. Hagen y otros, "Removal of sparse-excitation artifacts in CELP", IEEE ICASSP '98, páginas 145 a 148, 1998.
Sin embargo, en el caso de que el filtro aplicado al pulso de excitación no pueda representarse por una matriz de Toeplitz triangular inferior (por ejemplo, en el caso de un filtro que tenga valores en los tiempos negativos en casos tales como el del procesamiento de convolución cíclico como se describe en el documento no de patente 4), se requieren una memoria y unas cargas de cálculo extra para las operaciones de matriz.
Sumario de la invención
Es por tanto un objeto de la presente invención proporcionar un aparato de codificación de voz que minimice el aumento en las cargas de cálculo, incluso si el filtro aplicado al pulso de excitación tiene la característica de que no puede ser representado por una matriz triangular inferior, y realizar una búsqueda casi óptima en el libro de codificación fijo.
La presente invención alcanza el objetivo mencionado anteriormente usando un aparato de búsqueda en el libro de codificación fijo como se indica en la reivindicación independiente 1.
De acuerdo con la presente invención, la función de transferencia del filtro aplicado al pulso de excitación que no puede representarse por la matriz de Toeplitz se aproxima mediante una matriz creada mediante el corte de algunos elementos de fila de una matriz de Toeplitz triangular inferior, de forma que se pueda realizar el procesamiento de la codificación de las señales de voz con casi los mismos requisitos de memoria y cargas de cálculo que en el caso de un filtro causal representado por una matriz de Toeplitz triangular inferior.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques que muestra un aparato de generación del vector del libro de codificación fijo de un aparato de codificación de voz de acuerdo con una realización de la presente invención;
La Figura 2 es un diagrama de bloques que muestra un ejemplo de un aparato de búsqueda en el libro de codificación fijo de un aparato de codificación de voz de acuerdo con una realización de la presente invención; y
La Figura 3 es un diagrama de bloques que muestra un ejemplo de un aparato de codificación de voz de acuerdo con una realización de la presente invención.
Descripción detallada de la realización preferida
Las características de la presente invención incluyen una configuración para realizar la búsqueda en el libro de codificación fijo usando una matriz creada mediante el truncado de una matriz de tipo Toeplitz triangular inferior por la eliminación de algunos elementos de fila.
De aquí en adelante, se dará una descripción detallada sobre la realización de la presente invención con referencia a los dibujos adjuntos.
Realización
La Figura 1 es un diagrama de bloques que muestra una configuración de un aparato de generación del vector del libro de codificación fijo 100 de un aparato de codificación de voz de acuerdo con una realización de la presente invención. En la presente realización, el aparato de generación del vector del libro de codificación fijo 100 se usa como un libro de codificación fijo de un aparato de codificación de voz del tipo CELP para ser montado y empleado en un aparato terminal de comunicaciones tal como un teléfono móvil, o similar.
El aparato de generación del vector del libro de codificación fijo 100 tiene un libro de codificación algebraico 101 y una sección de operación de convolución 102.
El libro de codificación algebraico 101 genera el vector de excitación de pulso c_{k} formado mediante la disposición de los pulsos de excitación en una forma algebraica en las posiciones designadas por índice k del libro de codificación que se han introducido, y obtiene el vector de excitación de pulsos generado para la sección de operación de convolución 102. La estructura del libro de codificación algebraico puede tomar cualquier forma. Por ejemplo, puede tomar la forma descrita en la recomendación ITU-T G.729.
La sección de operación de convolución 102 realiza la convolución de un vector de respuesta de impulso, que se introduce por separado y que tiene uno o más valores distintos de cero en los tiempos negativos, con el vector de excitación de pulsos introducido desde el libro de codificación algebraico 101, y obtiene un vector, que es el resultado de la convolución, como un vector del libro de codificación fijo. El vector de respuesta de impulso que tiene uno más valores en los tiempos negativos puede tomar cualquier configuración. Sin embargo, una configuración preferible del vector tiene el elemento de amplitud más grande en el punto de tiempo 0, y la mayor parte de la energía de todo el vector se concentra en el punto de tiempo 0. También, es preferible que la longitud del vector de la parte no causal (esto es, los elementos del vector en los tiempos negativos) sea más corta que la parte causal que incluye el punto de tiempo 0 (esto es, los elementos del vector en los tiempos distintos de cero no negativos). El vector de respuesta de impulso que tiene uno o más valores distintos de cero en los tiempos negativos puede almacenarse por adelantado en una memoria como vector fijo, o puede ser también un vector variable que se determina mediante el cálculo cuando es necesario. De aquí en adelante, en la presente realización, se dará una descripción completa de un ejemplo donde una respuesta de impulso que tiene uno o más valores distintos de cero en tiempos negativos, tiene valores desde el tiempo "-m" (en otras palabras, todos los valores son 0 antes del tiempo "-m").
En la Figura 1, la señal s de síntesis ponderada perceptivamente, que se obtiene pasando el vector de excitación de pulso c_{k} generado desde el libro de codificación fijo por referencia al índice k introducido del libro de codificación fijo, a través del filtro de convolución F (correspondiente a la sección de operación de convolución 102 de la Figura 1) y un filtro H de síntesis ponderado perceptivamente no ilustrado, puede escribirse como la siguiente ecuación (1):
\vskip1.000000\baselineskip
1
100
2
Aquí, h(n), donde n = 0, \cdot\cdot\cdot, N-1, muestra la respuesta de impulso del filtro de síntesis ponderada perceptivamente, f(n), donde n = -m, \cdot\cdot\cdot, N-1, muestra la respuesta de impulso del filtro no causal (esto es, la respuesta de impulso que tiene uno o más valores distintos de cero en tiempos negativos), y c_{k}(n), donde n = 0, \cdot\cdot\cdot, N-1, muestra el vector de excitación de pulso designado por el índice k, respectivamente.
La búsqueda en el libro de codificación fijo se realiza encontrando la k que maximiza la siguiente ecuación (2). En la ecuación (2) c_{k} es el producto escalar (o la correlación cruzada) de la señal s de síntesis ponderada perceptivamente obtenida por el paso del vector de excitación de pulso (vector del libro de codificación fijo) c_{k} designado por el índice k a través del filtro F de convolución y del filtro H de síntesis ponderada perceptivamente, y el vector objetivo x que será descrito a continuación, y E_{k} es la energía de la señal s de síntesis ponderada perceptivamente obtenida pasando a través del filtro F de convolución y del filtro H de síntesis ponderada perceptivamente (esto es, |s|^{2}).
3
x se denomina vector objetivo en la codificación de voz CELP y se obtiene eliminando la respuesta a entrada cero del filtro de síntesis ponderada perceptivamente de una señal de voz de entrada ponderada perceptivamente. La señal de voz de entrada ponderada perceptivamente es una señal obtenida mediante la aplicación del filtro ponderado perceptivamente a la señal de voz de entrada que es el objeto de la codificación. El filtro ponderado perceptivamente es un filtro todo polos o del tipo polo cero configurado mediante el uso de coeficientes predictivos lineales obtenidos generalmente llevando a cabo un análisis de predicción lineal de la señal de voz de entrada, y se usa ampliamente en los aparatos de codificación de voz de tipo CELP. El filtro de síntesis ponderada perceptivamente es un filtro en el que el filtro de predicción lineal configurado mediante el uso de coeficientes de predicción lineal cuantificados por el aparato de codificación de voz de tipo CELP (esto es, el filtro de síntesis) y el filtro ponderado perceptivamente anteriormente descrito se conectan en cascada. Aunque estos componentes no se ilustran en la presente realización, son comunes en los aparatos de codificación de voz de tipo CELP. Por ejemplo, se describen en la recomendación ITU-T G.729 como "vector objetivo", "filtro de síntesis ponderado" y "respuesta con entrada nula del filtro de síntesis ponderado". El sufijo "t" presenta la matriz transpuesta.
Sin embargo, como puede comprenderse a partir de la ecuación (1), la matriz H'', que realiza la convolución de la respuesta de impulso del filtro de síntesis ponderado perceptivamente con la respuesta de impulso que tiene uno o más valores distintos de cero en los tiempos negativos, no es una matriz de Toeplitz. Dado que las primeras m columnas de la matriz H'' se calculan usando columnas en las que se truncan parte o todos los componentes no causales de la respuesta de impulso sobre la que se realiza la convolución, son distintos a los componentes de las columnas posteriores a la columna (m+1) que se calculan usando todos los componentes no causales de la respuesta de impulso sobre la que se realiza la convolución, y por tanto la matriz H'' no es una matriz de Toeplitz. Por esta razón, deben calcularse m tipos de respuestas de impulso, desde h^{(1)} a h^{(m)}, y almacenarse por separado, lo que da como resultado un aumento en los requerimientos de carga de cálculo y memoria para el cálculo de d y \Phi.
Aquí, la ecuación (2) se aproxima mediante al ecuación (3).
\vskip1.000000\baselineskip
4
\vskip1.000000\baselineskip
Aquí, d'^{t} se muestra por medio de la siguiente ecuación (4).
\vskip1.000000\baselineskip
5
\vskip1.000000\baselineskip
En otras palabras, d'(i) se muestra mediante la siguiente ecuación (5).
\vskip1.000000\baselineskip
6
\vskip1.000000\baselineskip
Aquí, x(n) muestra el n-ésimo elemento del vector objetivo (n = 0, 1, \cdot\cdot\cdot, N-1; siendo N la longitud del marco o sub marco que es la unidad de tiempo para la codificación de la señal de excitación), h^{(0)}(n) indica el elemento n (n = -m, 0, \cdot\cdot\cdot, N-1) del vector obtenido mediante la convolución de la respuesta de impulso que tiene uno o más valores en los tiempos negativos con una respuesta de impulso del filtro ponderado perceptivamente, respectivamente. El vector objetivo es un vector que se emplea comúnmente en la codificación CELP y se obtiene mediante la eliminación de la respuesta a entrada cero del filtro de síntesis ponderado perceptivamente a partir de la señal de voz de entrada ponderada perceptivamente. h^{(0)}(n) es un vector obtenido mediante la aplicación de un filtro no causal (respuesta de impulso f(n), n = -m, \cdot\cdot\cdot, 0, \cdot\cdot\cdot, N-1) a la respuesta de impulso h(n) (n = 0, 1, \cdot\cdot\cdot, N-1) del filtro de síntesis ponderado perceptivamente, y se muestra mediante la siguiente ecuación (6). h^{(0)}(n) también se convierte en la respuesta de impulso de un filtro no causal (n = -m, \cdot\cdot\cdot, 0, \cdot\cdot\cdot, N-1).
\vskip1.000000\baselineskip
7
\newpage
También, la matriz \Phi' se indica mediante la siguiente ecuación (7).
8
\vskip1.000000\baselineskip
En otras palabras, cada elemento \varphi'(i, j) de la matriz \Phi' se indica mediante la siguiente ecuación (8).
9
Más específicamente, la matriz H'' se convierte en la matriz H' mediante la aproximación del elemento de la columna p-ésimo h^{(p)}(n), p = 1 a m, con otro elemento de columna h^{(0)}(n). Esta matriz H' es una matriz de Toeplitz, en la que se han truncado los elementos de fila de una matriz de tipo Toeplitz triangular inferior. Incluso si se introduce tal aproximación, cuando la energía de los elementos no causales (componentes en los tiempos negativos) es suficientemente pequeña cuando se compara con la energía de los elementos causales (componentes en los tiempos no negativos, en otras palabras, en los tiempos positivos, incluyendo el tiempo 0) en el vector de respuesta de impulso que tiene uno o más valores en los tiempos negativos, la influencia de la aproximación es insignificante. También, dado que la aproximación se introduce solo en los elementos de la primera columna a la columna m-ésima de la matriz H'' (aquí m es la longitud de los elementos no causales), cuanto más corto se hace m más insignificante se convierte la influencia de la aproximación.
Por otro lado, hay una gran diferencia entre la matriz \Phi' y la matriz \Phi en las cargas de cálculo cuando se las calcula, esto es, aparece una gran diferencia dependiendo de si se usa o no se usa la aproximación de la ecuación (3). Por ejemplo, en comparación con el caso de la determinación de la matriz \Phi_{0} = H^{t} H (H es la matriz de Toeplitz triangular inferior que convoluciona la respuesta de impulso del filtro ponderado perceptivamente en la ecuación (1)) en un libro de codificación algebraico común que realiza la convolución de la respuesta de impulso que no tiene valores en los tiempos negativos, las operaciones m veces de producto-suma básicamente aumentan la carga de cálculo en el cálculo de la matriz \Phi' mediante el uso de la aproximación de la ecuación (3), como se entiende a partir de la ecuación (8). También, como se realiza con el código C de la recomendación ITU-T G.729, \varphi'(i, j) puede calcularse recursivamente para los elementos donde (j-i) es constante (por ejemplo, \varphi'(N-2, N-1), \varphi'(N-3, N-2), \cdot\cdot\cdot, \varphi'(0, 1)). Esta característica especial realiza cálculos eficientes de los elementos de la matriz \Phi', lo que significa que las operaciones m veces de producto-suma no se añaden siempre a los elementos de cálculo de la matriz \Phi'.
Por otro lado, en el cálculo de la matriz \Phi, en el que no se usa la aproximación de la ecuación (3), se necesita realizar cálculos de correlación únicos para el cálculo de los elementos \varphi(p, k) = \varphi(k, p), donde p = 0, \cdot\cdot\cdot, m, k = 0, \cdot\cdot\cdot, N-1. Esto es, los vectores de respuesta de impulso usados para estos cálculos difieren de los vectores de respuesta de impulso usados para los cálculos de otros elementos de la matriz \Phi (en otras palabras ha de determinarse, no la correlación de h^{(0)} y h^{(0)}, sino la correlación de h^{(0)} y h^{(p)}, p = 1 a m). Estos elementos son elementos cuyos resultados de cálculo se obtienen hacia el final de la determinación recursiva. En otras palabras, se pierde la ventaja de que "los elementos pueden determinarse recursivamente, y por tanto los elementos de la matriz \Phi pueden calcularse de modo eficiente", como se ha descrito anteriormente. Esto significa que la cantidad de operaciones aumenta aproximadamente en proporción al número de elementos no causales del vector de respuesta de impulso que tiene uno o más valores en los tiempos negativos (por ejemplo, la cantidad de operaciones casi se dobla incluso en el caso de que m = 1).
La Figura 2 es un diagrama de bloques que muestra un ejemplo de un aparato 150 de búsqueda del libro de codificación fijo que realiza el método de búsqueda del libro de codificación fijo anteriormente descrito.
El vector de respuesta de impulso que tiene uno o más valores en los tiempos negativos y el vector de respuesta de impulso del filtro de síntesis ponderado perceptivamente se introducen en la sección de operación de convolución 151. La sección de operación de convolución 151 calcula h^{(0)}(n) por medio de la ecuación (6), y obtiene el resultado para la sección de generación de la matriz 152.
La sección de generación de la matriz 152 genera la matriz H' usando h^{(0)}(n), introducida por la sección de operación de convolución 151, y obtiene el resultado para la sección de operación de convolución 153.
La sección de operación de convolución 153 realiza la convolución del elemento h^{(0)}(n) de la matriz H' introducido por la sección de generación de la matriz 152 con un vector excitación de pulso c_{k} introducido por el libro de codificación algebraico 101, y obtiene el resultado para el sumador 154.
El sumador 154 calcula una señal diferencial de la señal de síntesis ponderada perceptivamente introducida desde la sección de operación de convolución 153 y un vector objetivo que se introduce por separado, y obtiene el resultado para la sección de minimización del error 155.
La sección de minimización del error 155 especifica el índice k del libro de codificación para la generación del vector de excitación de pulso c_{k} en el que la energía de la señal diferencial introducida desde el sumador 154 se hace mínima.
La Figura 3 es un diagrama de bloques que muestra una configuración de un aparato de codificación de voz del tipo CELP genérico 200 que se dota con el aparato de generación del vector del libro de codificación fijo 100 mostrado en la Figura 1, como una sección de generación del vector del libro de codificación fijo 100a.
La señal de voz de entrada se introduce en la sección de pre-procesamiento 201. La sección de pre-procesamiento 201 realiza el pre-procesamiento de forma que elimina los componentes de corriente continua, y obtiene la señal procesada para la sección de análisis de predicción lineal 202 y el sumador 203.
La sección de análisis de predicción lineal 202 realiza el análisis de predicción lineal de la señal introducida desde la sección de pre-procesamiento 201, y obtiene los coeficientes de predicción lineal, que son el resultado del análisis, para la sección de cuantificación LPC 204 y para el filtro ponderado perceptivamente 205.
El sumador 203 calcula una señal diferencial de la señal de voz de entrada, que se obtiene tras el pre-procesamiento y que se introduce desde la sección de pre-procesamiento 201, y una señal de voz de síntesis introducida desde el filtro de síntesis 206, y obtiene el resultado para el filtro ponderado perceptivamente 205.
La sección de cuantificación LPC 204 realiza la cuantificación y el procesamiento de la codificación de los coeficientes de predicción lineal introducidos desde la sección de análisis de predicción lineal 202, y obtiene respectivamente la LPC cuantificada para el filtro de síntesis 206, y los resultados de codificación para la sección de generación del flujo de bits 212.
El filtro ponderado perceptivamente 205 es un filtro del tipo polo cero que se configura usando los coeficientes de predicción lineales introducidos desde la sección de análisis de predicción lineal 202, y realiza el procesamiento del filtrado de la señal diferencial de la señal de voz de entrada, que se obtiene tras el pre-procesamiento y se introduce desde el sumador 203, y la señal de síntesis de voz, y obtiene el resultado para la sección de minimización del error 207.
El filtro de síntesis 206 es un filtro de predicción lineal construido mediante el uso de coeficientes de predicción lineal cuantificados introducidos por la sección de cuantificación LPC 204 y recibe como entrada una señal controladora desde el sumador 211, realiza el procesamiento de la síntesis de predicción lineal, y obtiene la señal de voz de síntesis resultante para el sumador 203.
La sección de minimización del error 207 decide los parámetros relacionados con la ganancia con respecto a la sección de generación del vector del libro de codificación adaptable 208, la sección de generación del vector del libro de codificación fijo 100a, el vector del libro de codificación adaptable y el vector del libro de codificación fijo, de forma que la energía de la señal introducida por el filtro ponderado perceptivamente 205 se hace mínima, y obtiene estos resultados de codificación para la sección de generación de flujo de bits 212. En este diagrama de bloques, los parámetros relativos a la ganancia se supone que son cuantificados y dan como resultado la obtención de una información codificada dentro de la sección de minimización del error 207. Sin embargo, una sección de cuantificación de la ganancia puede estar fuera de la sección de minimización del error 207.
La sección de generación del vector del libro de codificación adaptable 208 tiene un libro de codificación adaptable que almacena en la memoria intermedia las señales controladoras introducidas desde el sumador 211 en el pasado, genera un vector de libro de codificación adaptable y obtiene el resultado para el amplificador 209. El vector del libro de codificación adaptable se especifica de acuerdo con las instrucciones de la sección de minimización del error 207.
El amplificador 209 multiplica la ganancia del libro de codificación adaptable introducida desde la sección de minimización del error 207 por el vector del libro de codificación adaptable introducido desde la sección de generación del vector del libro de codificación adaptable 208 y obtiene el resultado para el sumador 211.
La sección de generación del vector del libro de codificación fijo 100a tiene la misma configuración que la del aparato de generación del vector del libro de codificación fijo 100 mostrado en la Figura 1, y recibe como entrada información relativa al índice del libro de codificación y la respuesta de impulso del filtro no causal desde la sección de mini-
mización del error 207, genera un vector del libro de codificación fijo y obtiene el resultado para el amplificador 210.
El amplificador 210 multiplica la ganancia del libro de codificación fijo introducida desde la sección de minimización del error 207 por el vector del libro de codificación fijo introducido desde la sección de generación del vector del libro de codificación fijo 100a y obtiene el resultado para el sumador 211.
El sumador 211 suma la ganancia multiplicada del vector del libro de codificación adaptable y el vector del libro de codificación fijo, que se introduce desde los amplificadores 209 y 210, y obtiene el resultado, como una señal controladora del filtro, para el filtro de síntesis 206.
La sección de generación del flujo de bits 212 recibe como entrada el resultado de la codificación de los coeficientes de predicción lineal (esto es, LPC del inglés, "Linear Prediction Coefficients") introducidos por la sección de cuantificación LPC 204, y recibe los resultados de codificación del vector del libro de codificación adaptable y del vector del libro de codificación fijo y la información de ganancias para ellos, que se ha introducido desde la sección de minimización del error 207, y las convierte en un flujo de bits y obtiene el flujo de bits.
Cuando se deciden los parámetros del vector del libro de codificación fijo en la sección de minimización del error 207, se ha usado el método de búsqueda del libro de codificación fijo descrito anteriormente, y se ha usado un dispositivo tal como el descrito en la Figura 2 como el aparato real de búsqueda del libro de codificación fijo.
De esta forma, en la presente realización, en el caso de que se aplique un filtro que tiene una respuesta de impulso característica de que tiene uno o más valores en tiempos negativos (generalmente denominado filtro no causal) a un vector de excitación generado desde un libro de codificación algebraico, la matriz correspondiente a la función de transferencia del bloque de procesamiento en el que el filtro no causal y el filtro de síntesis ponderado perceptivamente se conectan en cascada se aproxima por una matriz de Toeplitz triangular inferior en la que los elementos de la matriz se truncan sólo por el número de filas de la longitud de la parte no causal. Esta aproximación hace posible suprimir un aumento en las cargas de cálculo requeridas para la búsqueda en el libro de codificación algebraico. También, en el caso de que el número de elementos no causales sea menor que el número de elementos causales, y/o si la energía de los elementos no causales es menor que la energía de los elementos causales, puede suprimirse la influencia de la aproximación anteriormente mencionada sobre la calidad de la codificación.
La presente realización puede modificarse o usarse como se describe a continuación.
El número de componentes causales en la respuesta de impulso del filtro no causal puede limitarse a un número especificado dentro de un rango en el que es mayor el número de componentes no causales.
En la presente realización, se ha dado una descripción sólo sobre el procesamiento en el momento de la búsqueda del libro de codificación fijo.
En el aparato de codificación de voz del tipo CELP, la cuantificación de la ganancia se realiza normalmente tras la búsqueda del libro de codificación fijo.
Dado que el vector del libro de codificación de excitación fijo que ha pasado a través del filtro de síntesis ponderado perceptivamente (esto es, la señal de síntesis obtenida mediante el paso del vector del libro de codificación de excitación fijo seleccionado a través del filtro de síntesis ponderado perceptivamente) se requiere en este momento, es común calcular este "vector del libro de codificación de excitación fijo que ha pasado a través del filtro de síntesis ponderado perceptivamente" después de que se acabe la búsqueda del libro de codificación fijo. La matriz de convolución de la respuesta de impulso a usarse en este momento no es la matriz de convolución de respuesta de impulso H^{(0)} por aproximación, que se ha usado en el momento de la búsqueda, sino, preferiblemente, la matriz H'' en la que sólo los elementos de las primeras m columnas (= a el caso en que el número de elementos no causales es m) difieren de los otros elementos.
También, en la presente realización, se ha descrito que la longitud del vector en la parte no causal (esto es, los elementos del vector en los tiempos negativos) es preferiblemente más corto que la parte no causal que incluye el tiempo 0 (esto es, los elementos del vector en los tiempos no negativos). Sin embargo, la longitud de la parte no causal se fija en menor que N/2 (N es la longitud del vector de excitación de pulso).
En lo anterior, se ha dado una descripción de la realización de la presente invención.
El aparato de búsqueda del libro de codificación fijo y el aparato de codificación de voz de acuerdo con la presente invención no se limitan a la realización descrita anteriormente, y pueden modificarse y realizarse de varias maneras.
El aparato de búsqueda del libro de codificación fijo y el aparato de codificación de voz de acuerdo con la presente invención pueden montarse en un aparato terminal de comunicaciones y en un aparato de estación base en un sistema de comunicaciones móviles, y esto hace posible proporcionar una comunicación del aparato terminal, del aparato de la estación base y el sistema de comunicaciones móviles que tienen los mismos efectos operativos que los descritos anteriormente.
También, aunque se ha descrito aquí un ejemplo de un caso donde la presente invención se configura sobre un equipo, la presente invención puede realizarse también por medio de programación. Por ejemplo, el algoritmo del método de búsqueda del libro de codificación fijo y el método de codificación de voz de acuerdo con la presente invención pueden describirse mediante un lenguaje de programación, y almacenando este programa en una memoria y ejecutando el programa por medio de una sección de procesamiento de información, es posible implementar las mismas funciones que las del aparato de búsqueda del libro de codificación fijo y del aparato de codificación de voz de la presente invención.
Los términos "libro de codificación fijo" y "libro de codificación adaptable" usados en la realización anteriormente descrita pueden denominarse también como "libro de codificación de excitación fijo" y "libro de codificación de excitación adaptable".
Cada bloque de función utilizado en la descripción de cada una de las realizaciones mencionadas anteriormente puede implementarse típicamente como un LSI formado por un circuito integrado. Éstos pueden ser chips individuales o parcial o totalmente contenidos en un chip único.
Se adoptó aquí "LSI" pero puede denominarse también como "IC", "sistema LSI", "súper LSI" o "ultra LSI" dependiendo de los diferentes grados de integración.
Adicionalmente, el método de la integración del circuito no se limita a los LSI, y es posible también la implementación usando circuitos especializados o procesadores de propósito general. Tras la fabricación del LSI, es posible también la utilización de un FPGA (del inglés, "Field Programmable Gate Array"; "Matriz de Puertas Programable en Campo") o de un procesador reconfigurable donde las conexiones que los ajustes de las células de un circuito dentro de un LSI pueden reconfigurarse.
Adicionalmente, si surge una tecnología de circuitos integrados para reemplazar a los LSI como resultado de los avances de la tecnología de semiconductores o como una derivación de otra tecnología, es posible naturalmente también realizar la integración del bloque funcional usando esta tecnología. Es posible también la aplicación en biotecnología.
El aparato de búsqueda del libro de codificación fijo de la presente invención tienen el efecto de que, en el aparato de codificación de voz del tipo CELP que busca un libro de codificación algebraico como un libro de codificación fijo, es posible añadir las características del filtro no causal al vector de excitación de pulso generado desde el libro de codificación algebraico, sin un aumento en el tamaño de la memoria ni una gran carga de cálculo, y es útil en la búsqueda del libro de codificación fijo del aparato de codificación de voz empleado en los aparatos de terminales de comunicación tales como teléfonos móviles donde el tamaño de memoria disponible está limitado y donde la comunicación por radio se realiza forzadamente a baja velocidad.

Claims (2)

1. Un aparato de búsqueda del libro de codificación fijo (150) que comprende:
una sección de operación de convolución (151) adaptada para realizar la convolución de una respuesta de impulso de un filtro de síntesis ponderado perceptivamente con un vector de respuesta de impulso que tiene valores distintos de cero en tiempos negativos, para generar un segundo vector de respuesta de impulso (h) que tiene valores distintos de cero en tiempos negativos;
una sección de generación de la matriz (152) adaptada para generar una matriz de convolución del tipo de Toeplitz (H') usando el segundo vector de respuesta de impulso generado por la sección de operación de convolución;
una sección de búsqueda adaptada para realizar una búsqueda en el libro de codificación fijo maximizando un término usando la matriz de convolución del tipo de Toeplitz; y
en el que una longitud temporal de los elementos en tiempos negativos del segundo vector de respuesta de impulso es más corta que una longitud temporal de los elementos en tiempos no negativos del segundo vector de respuesta de impulso.
2. El aparato de búsqueda del libro de codificación fijo de la reivindicación 1, en el que el segundo vector de respuesta de impulso comprende un elemento distinto de cero en tiempos negativos.
ES08005996T 2006-03-10 2007-03-12 Aparato para busqueda en el libro de codificacion fijo. Active ES2329199T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2006-65399 2006-03-10
JP2006065399 2006-03-10
JP2007027408A JP3981399B1 (ja) 2006-03-10 2007-02-06 固定符号帳探索装置および固定符号帳探索方法
JP2007-27408 2007-02-06

Publications (1)

Publication Number Publication Date
ES2329199T3 true ES2329199T3 (es) 2009-11-23

Family

ID=37891857

Family Applications (3)

Application Number Title Priority Date Filing Date
ES08005995T Active ES2329198T3 (es) 2006-03-10 2007-03-12 Aparato para busqueda en el libro de codificacion fijo.
ES08005996T Active ES2329199T3 (es) 2006-03-10 2007-03-12 Aparato para busqueda en el libro de codificacion fijo.
ES07103936T Active ES2308765T3 (es) 2006-03-10 2007-03-12 Aparato y metodo para busqueda en un libro de codificacion fijo.

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES08005995T Active ES2329198T3 (es) 2006-03-10 2007-03-12 Aparato para busqueda en el libro de codificacion fijo.

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES07103936T Active ES2308765T3 (es) 2006-03-10 2007-03-12 Aparato y metodo para busqueda en un libro de codificacion fijo.

Country Status (15)

Country Link
US (4) US7519533B2 (es)
EP (4) EP1833047B1 (es)
JP (1) JP3981399B1 (es)
KR (4) KR101359167B1 (es)
CN (4) CN102201239B (es)
AT (1) ATE400048T1 (es)
AU (1) AU2007225879B2 (es)
BR (1) BRPI0708742A2 (es)
CA (1) CA2642804C (es)
DE (3) DE602007001862D1 (es)
ES (3) ES2329198T3 (es)
MX (1) MX2008011338A (es)
RU (2) RU2425428C2 (es)
WO (1) WO2007105587A1 (es)
ZA (1) ZA200807703B (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352254B2 (en) * 2005-12-09 2013-01-08 Panasonic Corporation Fixed code book search device and fixed code book search method
WO2007129726A1 (ja) * 2006-05-10 2007-11-15 Panasonic Corporation 音声符号化装置及び音声符号化方法
US8473288B2 (en) 2008-06-19 2013-06-25 Panasonic Corporation Quantizer, encoder, and the methods thereof
EP3244405B1 (en) * 2011-03-04 2019-06-19 Telefonaktiebolaget LM Ericsson (publ) Audio decoder with post-quantization gain correction
GB201115048D0 (en) * 2011-08-31 2011-10-19 Univ Bristol Channel signature modulation
CN103456309B (zh) * 2012-05-31 2016-04-20 展讯通信(上海)有限公司 语音编码器及其代数码表搜索方法和装置
EP3444818B1 (en) 2012-10-05 2023-04-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. An apparatus for encoding a speech signal employing acelp in the autocorrelation domain
CN111052111A (zh) * 2017-09-14 2020-04-21 三菱电机株式会社 运算电路、运算方法以及程序
CN109446413B (zh) * 2018-09-25 2021-06-01 上海交通大学 基于物品关联关系的序列化推荐方法
CN116052700B (zh) * 2022-07-29 2023-09-29 荣耀终端有限公司 声音编解码方法以及相关装置、系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
CA1337217C (en) * 1987-08-28 1995-10-03 Daniel Kenneth Freeman Speech coding
CA2010830C (en) 1990-02-23 1996-06-25 Jean-Pierre Adoul Dynamic codebook for efficient speech coding based on algebraic codes
US5701392A (en) 1990-02-23 1997-12-23 Universite De Sherbrooke Depth-first algebraic-codebook search for fast coding of speech
US5754976A (en) 1990-02-23 1998-05-19 Universite De Sherbrooke Algebraic codebook with signal-selected pulse amplitude/position combinations for fast coding of speech
US5734789A (en) * 1992-06-01 1998-03-31 Hughes Electronics Voiced, unvoiced or noise modes in a CELP vocoder
IT1264766B1 (it) * 1993-04-09 1996-10-04 Sip Codificatore della voce utilizzante tecniche di analisi con un'eccitazione a impulsi.
FR2729245B1 (fr) 1995-01-06 1997-04-11 Lamblin Claude Procede de codage de parole a prediction lineaire et excitation par codes algebriques
US5732389A (en) * 1995-06-07 1998-03-24 Lucent Technologies Inc. Voiced/unvoiced classification of speech for excitation codebook selection in celp speech decoding during frame erasures
US5751901A (en) * 1996-07-31 1998-05-12 Qualcomm Incorporated Method for searching an excitation codebook in a code excited linear prediction (CELP) coder
US6055496A (en) * 1997-03-19 2000-04-25 Nokia Mobile Phones, Ltd. Vector quantization in celp speech coder
JP3276356B2 (ja) 1998-03-31 2002-04-22 松下電器産業株式会社 Celp型音声符号化装置及びcelp型音声符号化方法
CN1242379C (zh) * 1999-08-23 2006-02-15 松下电器产业株式会社 音频编码装置
US6826527B1 (en) * 1999-11-23 2004-11-30 Texas Instruments Incorporated Concealment of frame erasures and method
US7606703B2 (en) * 2000-11-15 2009-10-20 Texas Instruments Incorporated Layered celp system and method with varying perceptual filter or short-term postfilter strengths
CA2327041A1 (en) * 2000-11-22 2002-05-22 Voiceage Corporation A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals
SE521693C3 (sv) * 2001-03-30 2004-02-04 Ericsson Telefon Ab L M En metod och anordning för brusundertryckning
US6766289B2 (en) * 2001-06-04 2004-07-20 Qualcomm Incorporated Fast code-vector searching
DE10140507A1 (de) 2001-08-17 2003-02-27 Philips Corp Intellectual Pty Verfahren für die algebraische Codebook-Suche eines Sprachsignalkodierers
JP4108317B2 (ja) * 2001-11-13 2008-06-25 日本電気株式会社 符号変換方法及び装置とプログラム並びに記憶媒体
US6829579B2 (en) 2002-01-08 2004-12-07 Dilithium Networks, Inc. Transcoding method and system between CELP-based speech codes
US7363218B2 (en) * 2002-10-25 2008-04-22 Dilithium Networks Pty. Ltd. Method and apparatus for fast CELP parameter mapping
KR100463559B1 (ko) 2002-11-11 2004-12-29 한국전자통신연구원 대수 코드북을 이용하는 켈프 보코더의 코드북 검색방법
US7024358B2 (en) * 2003-03-15 2006-04-04 Mindspeed Technologies, Inc. Recovering an erased voice frame with time warping
KR100556831B1 (ko) * 2003-03-25 2006-03-10 한국전자통신연구원 전역 펄스 교체를 통한 고정 코드북 검색 방법
CN1240050C (zh) * 2003-12-03 2006-02-01 北京首信股份有限公司 一种用于语音编码的固定码本快速搜索方法
JP4605445B2 (ja) 2004-08-24 2011-01-05 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
SG123639A1 (en) * 2004-12-31 2006-07-26 St Microelectronics Asia A system and method for supporting dual speech codecs
JP2007027408A (ja) 2005-07-15 2007-02-01 Sony Corp 電子部品の吸着ノズル機構

Also Published As

Publication number Publication date
US20070213977A1 (en) 2007-09-13
KR101359147B1 (ko) 2014-02-05
CN102194462B (zh) 2013-02-27
DE602007001862D1 (de) 2009-09-17
KR100806470B1 (ko) 2008-02-21
EP1942488A3 (en) 2008-07-23
DE602007001861D1 (de) 2009-09-17
DE602007000030D1 (de) 2008-08-14
JP2007272196A (ja) 2007-10-18
RU2425428C2 (ru) 2011-07-27
CN102194462A (zh) 2011-09-21
AU2007225879B2 (en) 2011-03-24
EP1942489B1 (en) 2009-08-05
CN102194461A (zh) 2011-09-21
CN102194461B (zh) 2013-01-23
ATE400048T1 (de) 2008-07-15
EP1833047B1 (en) 2008-07-02
EP1942488B1 (en) 2009-08-05
US20090228267A1 (en) 2009-09-10
BRPI0708742A2 (pt) 2011-06-28
RU2008136401A (ru) 2010-03-20
KR20080101875A (ko) 2008-11-21
EP1942488A2 (en) 2008-07-09
CN101371299B (zh) 2011-08-17
WO2007105587A1 (ja) 2007-09-20
CA2642804C (en) 2015-06-09
CN102201239B (zh) 2014-01-01
US7957962B2 (en) 2011-06-07
EP1833047A1 (en) 2007-09-12
KR20120032036A (ko) 2012-04-04
US7519533B2 (en) 2009-04-14
US20110202336A1 (en) 2011-08-18
KR101359203B1 (ko) 2014-02-05
CA2642804A1 (en) 2007-09-20
US20090228266A1 (en) 2009-09-10
KR101359167B1 (ko) 2014-02-06
JP3981399B1 (ja) 2007-09-26
CN102201239A (zh) 2011-09-28
US8452590B2 (en) 2013-05-28
CN101371299A (zh) 2009-02-18
ES2329198T3 (es) 2009-11-23
EP1942489A1 (en) 2008-07-09
RU2458412C1 (ru) 2012-08-10
ES2308765T3 (es) 2008-12-01
KR20120032037A (ko) 2012-04-04
KR20070092678A (ko) 2007-09-13
EP2113912A1 (en) 2009-11-04
US7949521B2 (en) 2011-05-24
ZA200807703B (en) 2009-07-29
EP2113912B1 (en) 2018-08-01
AU2007225879A1 (en) 2007-09-20
MX2008011338A (es) 2008-09-12

Similar Documents

Publication Publication Date Title
ES2329199T3 (es) Aparato para busqueda en el libro de codificacion fijo.
RU2462770C2 (ru) Устройство кодирования и способ кодирования
US20100057446A1 (en) Encoding device and encoding method
JP5159318B2 (ja) 固定符号帳探索装置および固定符号帳探索方法
US20100049508A1 (en) Audio encoding device and audio encoding method
US20150317992A1 (en) Vector quantization of algebraic codebook with high-pass characteristic for polarity selection
JP3092436B2 (ja) 音声符号化装置
AU2011247874B2 (en) Fixed codebook searching apparatus and fixed codebook searching method
AU2011202622B2 (en) Fixed codebook searching apparatus and fixed codebook searching method
ZA200903292B (en) Fixed codebook searching device and fixed codebook searching method