ES2790278T3 - Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y medio de grabación - Google Patents
Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y medio de grabación Download PDFInfo
- Publication number
- ES2790278T3 ES2790278T3 ES19157754T ES19157754T ES2790278T3 ES 2790278 T3 ES2790278 T3 ES 2790278T3 ES 19157754 T ES19157754 T ES 19157754T ES 19157754 T ES19157754 T ES 19157754T ES 2790278 T3 ES2790278 T3 ES 2790278T3
- Authority
- ES
- Spain
- Prior art keywords
- sequence
- period
- frequency domain
- variable
- periodic combined
- 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 title claims description 66
- 230000000737 periodic effect Effects 0.000 claims abstract description 220
- 230000003595 spectral effect Effects 0.000 claims abstract description 123
- 230000005236 sound signal Effects 0.000 claims abstract description 91
- 238000004364 calculation method Methods 0.000 description 43
- 241000209094 Oryza Species 0.000 description 37
- 235000007164 Oryza sativa Nutrition 0.000 description 37
- 235000009566 rice Nutrition 0.000 description 37
- 230000008569 process Effects 0.000 description 31
- 230000004048 modification Effects 0.000 description 17
- 238000012986 modification Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000010606 normalization Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—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 spectral analysis, e.g. transform vocoders or subband vocoders
-
- 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
-
- 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/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
-
- 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
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
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)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Un codificador (200, 300) que comprende: una parte de generación de envolvente combinada periódica (250) que está adaptada para generar una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal obtenido a partir de una señal de audio de entrada en un segmento de tiempo predeterminado y en un periodo del dominio de la frecuencia correspondiente a un código de periodo obtenido a partir de la señal de audio de entrada, una parte de cálculo del parámetro de codificación de longitud variable (260) que está adaptada para calcular un parámetro de codificación de longitud variable que depende de un valor de amplitud obtenido de una secuencia de envolvente combinada periódica; y una parte de codificación de longitud variable (270, 370) que está adaptada para usar un parámetro de codificación de longitud variable para codificar una secuencia del dominio de la frecuencia obtenida a partir de la señal de audio de entrada mediante codificación de longitud variable que depende de un valor de amplitud.
Description
DESCRIPCIÓN
Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y medio de grabación
[Sector técnico]
La presente invención se refiere a un codificador, un descodificador, un método de codificación, un método de descodificación, un programa de codificación, un programa de descodificación y un medio de grabación para codificar y descodificar señales de audio utilizando envolventes espectrales de las señales de audio.
[Antecedentes de la técnica]
Entre los métodos de codificación conocidos para señales de audio y voz de baja tasa de bits (por ejemplo, en el orden de entre 10 kbit/s y 20 kbit/s) está la codificación adaptativa para coeficientes de transformadas ortogonales, tales como la transformada de Fourier discreta (DFT, discrete Fourier transform) y la transformada de coseno discreta modificada (MDCT, modified discrete cosine transform). En la codificación de excitación codificada transformada (TCX, transform coded excitation) utilizada en la bibliografía no de patentes 1, por ejemplo, la influencia de las envolventes espectrales de amplitud es eliminada de una cadena de coeficientes X[1], ..., X[N], que es una representación en el dominio de la frecuencia de una señal de sonido de entrada, para obtener una secuencia (una cadena de coeficientes normalizados Xn[1], ..., Xn[N]), que a continuación es codificada mediante codificación de longitud variable. En este caso, N en los corchetes es un entero positivo.
Las envolventes espectrales de amplitud se pueden calcular como sigue. (Etapa 1) Se realiza un análisis de predicción lineal de una señal digital de audio de entrada en el dominio de tiempo (en adelante, denominada una señal de audio de entrada) en cada trama, que es un segmento de tiempo predeterminado, para obtener coeficientes predictivos lineales a1, ..., aP, donde P es un entero positivo que representa un orden de predicción. Por ejemplo, de acuerdo con un proceso de auto-regresión de orden P, que es un modelo de todo polos, una señal de audio de entrada x(t) en el punto de tiempo t se expresa mediante la fórmula (1) con valores pasados x(t - 1), ..., x(t - P) de la propia señal en los puntos de tiempo P pasados, un residuo de predicción e(t) y coeficientes predictivos lineales a1, ..., aP.
x(t) = otix(t - 1) ...+ apx(t - P) e(t) (1)
(Etapa 2) Los coeficientes predictivos lineales a1, ..., ap se cuantifican para obtener coeficientes predictivos lineales cuantificados Aa1, ..., AaP. Los coeficientes predictivos lineales cuantificados Aa1, ..., AaP se utilizan para obtener una secuencia de envolvente espectral de amplitud W[1], ..., W[N] de la señal de audio de entrada en N puntos. Por ejemplo, cada valor W[n] de la secuencia de envolvente espectral de amplitud se puede obtener de acuerdo con la fórmula (2), donde n es un entero, 1 < n < N, exp(---) es una función exponencial con una base de constante de Napier, j es una unidad imaginaria y a es una amplitud de señal de residuo de predicción.
Se debe observar que un superíndice escrito a la derecha de un símbolo sin corchetes representa exponenciación. Específicamente, a2 representa a al cuadrado. Si bien los símbolos tales como y "A" utilizados en la descripción se escriben normalmente sobre un carácter que sigue a cada uno de los símbolos, el símbolo está escrito inmediatamente antes del carácter debido a limitaciones de notación. En las fórmulas, estos símbolos están escritos en sus posiciones adecuadas, es decir, encima de los caracteres.
La bibliografía de patentes 1 se refiere a la codificación y la descodificación de una señal acústica. En la codificación, una secuencia de muestras del dominio de la frecuencia obtenida a partir de la señal acústica es dividida por una envolvente ponderada y, a continuación, dividida por una ganancia, el resultado obtenido es cuantificado y cada muestra es codificada con longitud variable. El error entre la muestra antes de la cuantificación y la muestra después de la cuantificación es cuantificado con información guardada en esta codificación de longitud variable. Esta cuantificación se realiza según una regla que especifica, de acuerdo con el número de bits guardados, muestras cuyos errores se tienen que cuantificar. En la descodificación, los códigos de longitud variable en una secuencia de entrada de códigos son descodificados para obtener una secuencia de muestras en el dominio de la frecuencia. Se descodifica además una señal de error según una regla que depende del número de bits de los códigos de longitud variable procedentes de la secuencia de muestras obtenida, la secuencia de muestras original se obtiene de acuerdo con información complementaria.
[Bibliografía de la técnica anterior]
[Bibliografía de patentes]
Bibliografía de patentes 1: solicitud de patente europea abierta a la inspección pública número EP 2 696 343.[BIBLIOGRAFÍA NO DE PATENTES]
Bibliografía no de patentes 1: Anthony Vetro, "MPEG Unified Speech and Audio Coding", Industry and Standards, IEEE MultiMedia, abril a junio de 2013.
[Compendio de la invención]
[Problemas a resolver mediante la invención]
Para permitir que el lado de descodificación en un códec de señal de audio obtenga información relacionada con una envolvente espectral, es necesario transmitir al lado de descodificación un código correspondiente a la envolvente espectral. Si una envolvente espectral se obtiene utilizando coeficientes predictivos lineales, tal como en la bibliografía no de patentes 1, el "código correspondiente a la envolvente espectral" que se tiene que transmitir al lado de descodificación es un "código correspondiente a coeficientes predictivos lineales", que tiene la ventaja de requerir solamente una cantidad de código pequeña. Por otra parte, la información relativa a una envolvente espectral obtenida utilizando coeficientes predictivos lineales puede tener una baja precisión de aproximación alrededor de los picos provocados por el periodo de tono de la señal de audio de entrada, lo que puede conducir a una baja eficiencia de codificación de la codificación de longitud variable de cadenas de coeficientes normalizados.
En vista del problema descrito anteriormente, la presente invención da a conocer un codificador y un descodificador que pueden reproducir una secuencia de envolvente en el dominio de la frecuencia, que proporciona una alta precisión de aproximación en torno a los picos provocados por el periodo de tono de una señal de audio, utilizando una cantidad de código pequeña.
[Medios para resolver los problemas]
El objetivo de la presente invención se consigue mediante las reivindicaciones independientes. Se definen realizaciones específicas en las reivindicaciones dependientes.
Un codificador acorde con la presente invención comprende una parte de generación de envolvente combinada periódica y una parte de codificación de longitud variable. La parte de generación de envolvente combinada periódica genera una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal obtenido a partir de una señal de audio de entrada en un segmento de tiempo predeterminado, y a un periodo del dominio de la frecuencia correspondiente a un código de periodo obtenido a partir de la señal de audio de entrada. La parte de codificación de longitud variable codifica una secuencia del dominio de la frecuencia obtenida a partir de la señal de audio de entrada, suponiendo que la amplitud de la señal de audio de entrada es mayor para una frecuencia con un valor mayor de la secuencia de envolvente combinada periódica. Un descodificador acorde con la presente invención comprende una parte de generación de envolvente combinada periódica y una parte de descodificación de longitud variable. La parte de generación de envolvente combinada periódica genera una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia, en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal, y a un periodo del dominio de la frecuencia correspondiente a un código de periodo. La parte de descodificación de longitud variable descodifica un código de longitud variable para obtener una secuencia del dominio de la frecuencia, suponiendo que la amplitud de la señal de audio es mayor para una frecuencia con un valor mayor de la secuencia de envolvente combinada periódica.
[Resultados de la invención]
El codificador y el descodificador acordes con la presente invención consiguen una alta eficiencia de la codificación de señales de audio debido a que el codificador y el descodificador realizan codificación y descodificación, respectivamente, que utilizan una cantidad pequeña de código para reproducir una secuencia de envolvente del dominio de la frecuencia que proporciona una elevada precisión de aproximación en torno a los picos provocados por el periodo de tono de una señal de audio de entrada.
[Breve descripción de los dibujos]
La figura 1 es un diagrama que muestra una configuración funcional a modo de ejemplo de un dispositivo de generación de secuencia de envolvente combinada periódica, de acuerdo con una primera realización;
la figura 2 es un diagrama que muestra un flujo de proceso en un dispositivo de generación de secuencia de envolvente combinada periódica, de acuerdo con la primera realización;
la figura 3 es un diagrama que muestra un ejemplo de una secuencia de envolvente periódica P[1], P[N]; la figura 4A es un diagrama que muestra un ejemplo para explicar diferencias entre secuencias generadas a partir de la misma señal de audio, y la forma de una curva producida interpolando una cadena de coeficientes X[1], ..., X[N];
la figura 4B es un diagrama que muestra un ejemplo para explicar diferencias entre secuencias generadas a partir de la misma señal de audio, y la forma de una curva producida interpolando una secuencia de envolvente periódica P[1], ..., P[N];
la figura 4C es un diagrama que muestra un ejemplo para explicar diferencias entre secuencias generadas a partir de la misma señal de audio, y la forma de una curva producida interpolando una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N];
la figura 4D es un diagrama que muestra un ejemplo para explicar diferencias entre secuencias generadas a partir de la misma señal de audio, y la forma de una curva producida interpolando una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N];
la figura 5 es un diagrama que muestra una configuración funcional de ejemplo de un codificador según una segunda realización;
la figura 6 es un diagrama que muestra un flujo de proceso en el codificador, de acuerdo con la segunda realización;
la figura 7 es un diagrama que muestra una configuración funcional a modo de ejemplo de un descodificador, según la segunda realización;
la figura 8 es un diagrama que muestra un flujo de proceso en el descodificador, de acuerdo con la segunda realización;
la figura 9 es un diagrama que muestra una configuración funcional de ejemplo de un codificador, según una tercera realización;
la figura 10 es un diagrama que muestra un flujo de proceso en el codificador, según la tercera realización; la figura 11 es un diagrama que muestra una configuración funcional a modo de ejemplo de un descodificador, según la tercera realización; y
la figura 12 es un diagrama que muestra un flujo de proceso en el descodificador, según la tercera realización.
[Descripción detallada de las realizaciones]
A continuación se describirán en detalle realizaciones de la presente invención. Se debe observar que los componentes que tienen las mismas funciones reciben los mismos numerales de referencia y se omitirá la descripción repetida de los mismos.
[Primera realización]
La figura 1 muestra una configuración funcional de ejemplo de un dispositivo de generación de secuencia de envolvente combinada periódica de acuerdo con la presente invención, y la figura 2 muestra un flujo de proceso en el dispositivo de generación de secuencia de envolvente combinada periódica de acuerdo con la presente invención. El dispositivo de generación de secuencia de envolvente combinada periódica 100 comprende una parte de cálculo de la secuencia de envolvente espectral 120, una parte de transformada del dominio de la frecuencia 110, una parte de análisis de la periodicidad 130, una parte de generación de secuencia de envolvente periódica 140 y una parte de generación de envolvente combinada periódica 150, toma como señal de audio de entrada x(t) una señal digital de audio de entrada del dominio del tiempo, y transforma una secuencia de envolvente espectral de amplitud en base a un componente de frecuencia de una cadena de coeficientes para generar una secuencia de envolvente combinada periódica.
<Parte de cálculo de la secuencia de envolvente espectral 120>
La parte de cálculo de la secuencia de envolvente espectral 120 calcula una secuencia de envolvente espectral de amplitud W[1], ..., W[N] de una señal de audio de entrada x(t) en base a una predicción lineal del dominio del tiempo de la señal de audio de entrada (S120). En este caso, N es un entero positivo. La parte de cálculo de la secuencia de envolvente espectral 120 realiza el cálculo utilizando la técnica convencional, como sigue.
(Etapa 1) El análisis de predicción lineal de una señal de audio de entrada se realiza en cada trama, que es un segmento de tiempo predeterminado, para obtener coeficientes predictivos lineales, donde P es un entero positivo que representa un orden de predicción. Por ejemplo, de acuerdo con un proceso de auto-regresión de orden P,
que es un modelo de todo polos, una señal de audio de entrada x(t) en el punto de tiempo t se expresa mediante la fórmula (1) con valores pasados x(t - 1), x(t - P) de la propia señal en los puntos de tiempo P pasados, un residuo de predicción e(t) y coeficientes predictivos lineales a1, ..., aP.
(Etapa 2) Los coeficientes predictivos lineales a1, ..., aP se utilizan para obtener una secuencia de envolvente espectral de amplitud W[1], ..., W[N] de la señal de audio de entrada en N puntos. Por ejemplo, cada valor W[n] de la secuencia de envolvente espectral de amplitud se puede obtener utilizando coeficientes predictivos lineales cuantificados Aa1, ..., AaP que corresponden a los coeficientes predictivos lineales a1, ..., aP, de acuerdo con la fórmula (2). Alternativamente, cada valor W[n] de la secuencia de envolvente espectral de amplitud se puede obtener utilizando coeficientes predictivos lineales a1, ..., aP, de acuerdo con la fórmula (2) en la que AaP se sustituye con aP.
<Parte de transformada del dominio de la frecuencia 110>
La parte de transformada del dominio de la frecuencia 110 transforma una señal de audio de entrada del dominio del tiempo en cada trama, que es un segmento de tiempo predeterminado, en una cadena de coeficientes X[1], ..., X[N] en N puntos en el dominio de la frecuencia y entrega la cadena de coeficientes X[1], ..., X[N] (S110). La transformada al dominio de la frecuencia se puede realizar mediante un método tal como una transformada de coseno discreta modificada (MDCT) o una transformada de Fourier discreta (DFT).
<Parte de análisis de la periodicidad 130>
La parte de análisis de la periodicidad 130 toma una entrada de una cadena de coeficientes X[1], ..., X[N], obtiene el periodo T de la cadena de coeficientes X[1], ..., X[N], y entrega el periodo T (S130).
El periodo T es información correspondiente al intervalo entre ocurrencias de un componente periódico en la cadena de coeficientes del dominio de la frecuencia obtenida a partir de la señal de audio de entrada, por ejemplo, la cadena de coeficientes X[1], ..., X[N] (intervalos en los que aparece periódicamente un valor grande). Aunque en adelante el periodo T se denomina en ocasiones el intervalo T, existen diferentes términos que hacen referencia al mismo concepto. T es un valor positivo y puede ser un entero o una fracción decimal (por ejemplo, 5,0, 5,25, 5,5, 5,75).
La parte de análisis de la periodicidad 130 puede tomar una entrada de una cadena de coeficientes X[1], ..., X[N], y puede asimismo obtener y entregar un indicador S del grado de periodicidad. En ese caso, el indicador S del grado de periodicidad se obtiene en base a la relación entre la energía de una parte del componente periódico de la cadena de coeficientes X[1], ..., X[N] y la energía de la otra parte de la cadena de coeficientes X[1], ..., X[N], por ejemplo. En este caso, el indicador S indica el grado de periodicidad de una cadena de muestra en el dominio de la frecuencia. Se debe observar que cuanto mayor es la magnitud del componente periódico, es decir cuánto mayores son las amplitudes de las muestras en múltiplos enteros del periodo T y de las muestras próximas a las muestras (del valor absoluto de las muestras), mayor es el "grado de periodicidad" de la cadena de muestra en el dominio de la frecuencia.
Se debe observar que la parte de análisis de la periodicidad 130 puede obtener el periodo en el dominio de tiempo a partir de una señal de audio de entrada del dominio del tiempo y puede transformar el periodo obtenido en el dominio del tiempo en un periodo en el dominio de la frecuencia para obtener el periodo T. Alternativamente, la parte de análisis de la periodicidad 130 puede transformar un periodo en el dominio del tiempo en un periodo en el dominio de la frecuencia y multiplicar el periodo del dominio de la frecuencia por una constante para obtener el periodo T, o puede obtener un valor cerca del periodo del dominio de la frecuencia multiplicado por la constante, como el periodo T. De manera similar, la parte de análisis de la periodicidad 130 puede obtener el indicador S del grado de periodicidad a partir de una señal de audio de entrada del dominio del tiempo, por ejemplo, en base a la magnitud de la correlación entre cadenas de señal diferentes temporalmente entre sí mediante un periodo en el dominio del tiempo.
En resumen, se puede elegir y utilizar cualquiera de varios métodos convencionales, para obtener el periodo T y el indicador S a partir de una señal de audio de entrada del dominio del tiempo o de una cadena de coeficientes del dominio de la frecuencia obtenida a partir de una señal de audio de entrada del dominio del tiempo.
<Parte de generación de secuencia de envolvente periódica 140>
La parte de generación de secuencia de envolvente periódica 140 toma una entrada del intervalo T y entrega una secuencia de envolvente periódica P[1], ..., P[N] S140. La secuencia de envolvente periódica P[1], ..., P[N] es una secuencia discreta del dominio de la frecuencia que tiene picos en periodos resultantes de un periodo de tono, es decir, una secuencia discreta correspondiente a un modelo armónico. La figura 3 muestra un ejemplo de una secuencia de envolvente periódica P[1], ..., P[N]. La secuencia de envolvente periódica P[1], ..., P[N] es una secuencia en la que solamente valores de una envolvente periódica correspondientes a índices que son valores enteros próximos a múltiplos enteros del intervalo T y un número predeterminado de los valores enteros precedentes y subsiguientes son valores positivos, y los valores de una envolvente periódica correspondiente a los otros índices son 0, como en la forma de onda mostrada en la figura 3. Los índices que son valores enteros
próximos a múltiplos enteros del intervalo T adoptan periódicamente el valor máximo (pico), y los valores de P[n] correspondientes a un número predeterminado de índices precedentes y subsiguientes a los índices disminuyen de forma monotónica según aumenta la distancia de los índices n desde los índices correspondientes a los picos.
1, 2, en el eje horizontal de la figura 3 representan índices de puntos de muestra discretos (en adelante, denominados "índices de frecuencia").
Por ejemplo, sea n una variable que representa un índice de frecuencia y t un índice de frecuencia correspondiente al valor máximo (pico), entonces la forma del pico se puede representar mediante la función Q(n) proporcionada a continuación. En este caso, el número de decimales del intervalo T es L y un intervalo T' es T' = T x 2l .
a ^
( n - r ) Q(n) = h • exp (
\ 2 PD 3)
/
h = 2.8 • (l.125 - exp(- 0.07
donde h representa la altura del pico y cuanto mayor es el intervalo T mayor es el pico. PD representa la anchura de la parte del pico, y cuanto mayor es el intervalo T mayor es la anchura.
Si U representa un entero positivo que indica un valor desde 1 hasta el número de picos (por ejemplo, 1 a 10 en el caso de la figura 3), v indica un entero mayor o igual que 1 (por ejemplo, de 1 a 3, etc.), suelo(-) indica una función que descarta la parte fraccionaria y devuelve un valor entero, entonces la secuencia de envolvente periódica P[n] se puede calcular, por ejemplo, como
En este caso, (U x T')/2L - v < n < (U x T')/2L v. Por ejemplo, en el caso de L = 2, T' = 80 cuando T = 20,00, T' = 81 cuando T = 20,25, T' = 82 cuando T = 20,50 y T' = 83 cuando T = 20,75. Se debe observar que la secuencia de envolvente periódica P[n] se puede calcular utilizando la función redondeo(-) que redondea un valor al entero más próximo y devuelve el valor entero, como
<Parte de generación de envolvente combinada periódica 150>
La parte de generación de envolvente combinada periódica 150 toma entradas de por lo menos una secuencia de envolvente periódica P[1], ..., P[N] y una secuencia de envolvente espectral de amplitud W[1], ..., W[N] y obtiene una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N] S150. Específicamente, la parte de generación de envolvente combinada periódica 150 obtiene una envolvente combinada periódica Wm[N], como la fórmula siguiente:
donde 5 es un valor determinado de tal modo que la forma de la envolvente combinada periódica Wm[N] y la forma de una secuencia de los valores absolutos de los coeficientes X[n] son similares entre sí, o 5 es un valor predeterminado.
Si la parte de generación de envolvente combinada periódica 150 determina 5 , de tal modo que la forma de la envolvente combinada periódica Wm[N] y la forma de la secuencia de los valores absolutos de los coeficientes X[n] son similares entre sí, la parte de generación de envolvente combinada periódica 150 puede asimismo tomar una entrada de una cadena de coeficientes X[1], ..., X[N] y puede entregar la 5 determinada y la secuencia de envolvente combinada periódica Wm[1], ..., Wm[N] en ese instante de tiempo. Por ejemplo, se puede elegir 5 que minimice E definido como la fórmula proporcionada a continuación, entre una serie de candidatos para 5 , por ejemplo dos candidatos, 0,4 y 0,8. En otras palabras, 5 se puede elegir de tal modo que la forma de la envolvente combinada periódica Wm[N] y la forma de la secuencia de los valores absolutos de los coeficientes X[n] sean similares entre sí.
S es un valor que determina en qué medida se tiene en cuenta la envolvente periódica P[n] en la envolvente combinada periódica Wm[N]. En otras palabras, S es un valor que determina la proporción de la mezcla entre la envolvente espectral de amplitud W[n] y la envolvente periódica P[n] en la envolvente combinada periódica Wm[N]. G en la fórmula (9) es el producto interno de la secuencia de los valores absolutos de los coeficientes X[n] en la cadena de coeficientes X[1], X[N] y la secuencia recíproca de la secuencia de envolvente combinada periódica. ~Wm[N] en la fórmula (8) es una envolvente combinada periódica normalizada obtenida normalizando cada valor Wm[N] en la envolvente combinada periódica con G. El producto interno de la cadena de coeficientes X[1], X[N] y la secuencia de envolvente combinada periódica normalizada ~Wm[1], ~Wm[N] es elevado a la potencia de 4 en la fórmula (7) para reducir inequívocamente el producto interno (distancia) obtenido por los coeficientes X[n] que tienen valores absolutos particularmente grandes. Esto significa que S se determina de tal modo que los coeficientes X[n] que tienen valores absolutos particularmente grandes en la cadena de coeficientes X[1], ..., X[N] y la envolvente combinada periódica Wm[N] son similares entre sí.
Si la parte de generación de envolvente combinada periódica 150 determina el número de candidatos para S de acuerdo con el grado de periodicidad, la parte de generación de envolvente combinada periódica 150 toma asimismo una entrada del indicador S del grado de periodicidad. Si el indicador S indica una trama que corresponde a alta periodicidad, la parte de generación de envolvente combinada periódica 150 puede elegir S que minimice E definido en la fórmula 7, de entre muchos candidatos para S; si el indicador S indica una trama que corresponde a baja periodicidad, la parte de generación de envolvente combinada periódica 150 puede elegir como S un valor predeterminado. Es decir, si la parte de generación de envolvente combinada periódica 150 determina el número de candidatos para S de acuerdo con el grado de periodicidad, la parte de generación de envolvente combinada periódica 150 puede aumentar el número de candidatos para S con el aumento del grado de periodicidad.
<Resultados de la primera realización de la invención>
Las figuras 4A-4D muestran ejemplos para explicar diferencias entre secuencias generadas a partir de la misma señal de audio. La figura 4A muestra la forma de una curva producida interpolando una cadena de coeficientes X[1], ..., X[N], la figura 4B muestra la forma de una curva producida interpolando una secuencia de envolvente periódica P[1], ..., P[N], la figura 4C muestra la forma de una curva producida interpolando una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] y la figura 4D muestra la forma de una curva producida interpolando una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N]. Tal como se muestra en las figuras 4A-4D, la secuencia de envolvente combinada periódica Wm[1], ..., Wm[N] tiene una forma que comprende picos periódicos que aparecen en la cadena de coeficientes X[1], ..., X[N], en comparación con la secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N]. La secuencia de envolvente combinada periódica Wm[1], ..., Wm[N] se puede generar utilizando información sobre un intervalo T o un intervalo T y un valor de S además de coeficientes predictivos lineales o coeficientes predictivos lineales cuantificados, que son información que representa una envolvente espectral. Por consiguiente, los picos de amplitud provocados por el periodo de tono de una señal de audio de entrada se pueden representar con un mayor grado de precisión simplemente añadiendo una pequeña cantidad de información a la información que representa una envolvente espectral de la señal de audio de entrada, en lugar de mediante una envolvente espectral obtenida utilizando coeficientes predictivos lineales. En otras palabras, la amplitud de la señal de audio de entrada se puede estimar con un mayor grado de precisión utilizando una cantidad pequeña de información compuesta de coeficientes predictivos lineales o coeficientes predictivos lineales cuantificados, y un intervalo T, o un intervalo T y un valor de S. Se debe observar que la envolvente espectral de amplitud suavizada ~W[n] es una envolvente expresada en la fórmula siguiente, donde y es una constante positiva menor o igual que 1 para despuntar (suavizar) los coeficientes espectrales de amplitud.
Si el dispositivo de generación de secuencia de envolvente combinada periódica según la presente invención se utiliza en un codificador y un descodificador, se introducen en el descodificador códigos (códigos de coeficientes predictivos lineales Cl) para identificar coeficientes predictivos lineales cuantificados AaP obtenidos procesando una parte diferente que el dispositivo de generación de secuencia de envolvente combinada periódica incluido en el codificador y un código para identificar un periodo T o un periodo de dominio del tiempo (un código de periodo Ct). Por lo tanto, entregando un código que indica información relativa a 5 del dispositivo de generación de secuencia de envolvente combinada periódica de la presente invención, puede asimismo ser generada por el dispositivo de generación de secuencia de envolvente combinada periódica en el lado del descodificador la misma secuencia de envolvente combinada periódica que una secuencia de envolvente combinada periódica generada por el dispositivo de generación de secuencia de envolvente combinada periódica en el lado del codificador. Por consiguiente, el aumento en la cantidad de código transmitido del codificador al descodificador es pequeño.
<Puntos clave de la primera realización de la invención>
El punto más importante del dispositivo de generación de secuencia de envolvente combinada periódica 100 según la primera realización es que la parte de generación de envolvente combinada periódica 150 transforma una secuencia de envolvente espectral de amplitud W[1], ..., W[N] en una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N] en base al componente periódico de una cadena de coeficientes X[1], ..., X[N]. En particular, el resultado descrito anteriormente se puede conseguir mejor cambiando en mayor medida los valores de las muestras en múltiplos enteros del intervalo T (periodo) en la secuencia de envolvente espectral de amplitud W[1], ..., W[N] y las muestras en la proximidad de las muestras cuando el grado de periodicidad de la cadena de coeficientes X[1], ..., X[N] es mayor, es decir, cuando la magnitud de un componente periódico es mayor. Las "muestras en la proximidad" son muestras indicadas por índices que son valores enteros en la proximidad de múltiplos enteros del intervalo T. "Proximidad" significa un rango determinado utilizando un método predeterminado, tal como las fórmulas (3) a (5), por ejemplo.
Además, cuanto mayor es el intervalo T entre ocurrencias de un componente periódico en la cadena de coeficientes X[1], ..., X[N] mayores son los valores de la secuencia de envolvente periódica P[1], ..., P[N] mostrada en las fórmulas (4) y (5), y mayor es el rango de muestras, es decir, más muestras en múltiplos enteros del intervalo T (periodo) y más muestras en la proximidad de dichas muestras tienen valores distintos de cero. En otras palabras, la parte de generación de envolvente combinada periódica 150 cambia en mayor medida los valores de las muestras de múltiplos enteros del intervalo T (periodo) y las muestras en la proximidad de dichas muestras en la secuencia de envolvente espectral de amplitud cuanto mayor es la longitud del intervalo T entre ocurrencias de un componente periódico en la cadena de coeficientes. Además, cuanto mayor es el intervalo T entre ocurrencias de un componente periódico en una cadena de coeficientes, la parte de generación de envolvente combinada periódica 150 cambia los valores de las muestras en un rango más extenso en una secuencia de envolvente espectral de amplitud, es decir, los valores de las muestras en múltiplos enteros del intervalo T (periodo), y en un número mayor de muestras en la proximidad de las muestras en múltiplos enteros del intervalo T. "Más muestras en la proximidad" significa que se incrementa el número de muestras en el rango correspondiente a la "proximidad" (un rango determinado utilizando un método predeterminado). Es decir, la parte de generación de envolvente combinada periódica 150 transforma la secuencia de envolvente espectral de amplitud de este modo para conseguir mejor el resultado descrito anteriormente.
Se debe observar que los ejemplos de usos efectivos de las características de la secuencia de envolvente combinada periódica que "representa picos de amplitud provocados por el periodo de tono de una señal de audio de entrada con un mayor grado de precisión" incluyen un codificador y un descodificador, que se mostrarán en las realizaciones segunda y tercera. Sin embargo, pueden existir ejemplos de usos de las características de la secuencia de envolvente combinada periódica diferentes a un codificador y un descodificador, tales como un dispositivo de reducción de ruido y un filtro posterior. De este modo se ha descrito el dispositivo de generación de secuencia de envolvente combinada periódica en la primera realización.
[Primera modificación] (un ejemplo en el que la periodicidad se analiza utilizando una cadena de coeficientes normalizados)
La figura 1 muestra asimismo un dispositivo de generación de secuencia de envolvente combinada periódica según una primera modificación. La figura 2 muestra asimismo un flujo de proceso en el dispositivo de generación de secuencia de envolvente combinada periódica según la primera modificación. El dispositivo de generación de secuencia de envolvente combinada periódica 101 es diferente del dispositivo de generación de secuencia de envolvente combinada periódica 100 en que el dispositivo de generación de secuencia de envolvente combinada periódica 101 comprende además una parte de normalización de la secuencia del dominio de la frecuencia 111 y en que el dispositivo de generación de secuencia de envolvente combinada periódica 101 comprende una parte de cálculo de la secuencia de envolvente espectral 121 y una parte de análisis de la periodicidad 131 que son diferentes a las del dispositivo de generación de secuencia de envolvente combinada periódica 100. Los otros componentes son iguales a los del dispositivo de generación de secuencia de envolvente combinada periódica 100. A continuación se describirán solamente las diferencias.
<Parte de cálculo de la secuencia de envolvente espectral 121>
La parte de cálculo de la secuencia de envolvente espectral 121 calcula una secuencia de envolvente espectral de amplitud suavizada ~W[1], ~W[N] además de una secuencia de envolvente espectral de amplitud W[1], W[N].
Específicamente, la parte de cálculo de la secuencia de envolvente espectral 121 lleva a cabo la siguiente etapa además de la etapa 1 y la etapa 2 mostradas en la descripción de la parte de cálculo de la secuencia de envolvente espectral 120.
(Etapa 3) Cada coeficiente predictivo lineal cuantificado AaP es multiplicado por yp para obtener coeficientes predictivos lineales suavizados cuantificados Aa1 y, Aa2Y2, ..., AaPYP. y es una constante positiva menor o igual que 1 para el suavizado. A continuación se obtiene una secuencia de envolvente espectral de amplitud suavizada ~W[1 ], ..., ~W[N] de acuerdo con la fórmula (10) S121. Igual que la parte de cálculo de la secuencia de envolvente espectral 120, la parte de cálculo de la secuencia de envolvente espectral 121 puede por supuesto utilizar coeficientes predictivos lineales aP en lugar de los coeficientes predictivos lineales cuantificados AaP.
<Parte de normalización de la secuencia del dominio de la frecuencia 111>
La parte de normalización de la secuencia del dominio de la frecuencia 111 divide cada coeficiente en una cadena de coeficientes X[1], ..., X[N] por un coeficiente en una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] para obtener una cadena de coeficientes normalizados Xn[1], ..., Xn[N]. Específicamente, para n = 1, ..., N,
se calcula para obtener una cadena de coeficientes normalizados Xn[1], ..., Xn[N] (S111).
<Parte de análisis de la periodicidad 131>
La parte de análisis de la periodicidad 131 toma una entrada de la cadena de coeficientes normalizados Xn[1], ..., Xn[N] y obtiene y entrega el periodo T de la cadena de coeficientes normalizados Xn[1], ..., Xn[N] S131. Es decir, el intervalo entre ocurrencias de un componente periódico de una cadena de coeficientes normalizados Xn[1], ... Xn[N], que es una cadena de coeficientes del dominio de la frecuencia, obtenida a partir de la señal de audio de entrada, se obtiene como el periodo T en esta modificación. La parte de análisis de la periodicidad 131 puede asimismo tomar una entrada de una cadena de coeficientes X[1], ..., X[N], y obtener y entregar un indicador S del grado de periodicidad.
Los otros procesos son los mismos que en el dispositivo de generación de secuencia de envolvente combinada periódica 100. Por consiguiente, se puede conseguir el mismo resultado que el de la primera realización. Se debe observar que la parte de generación de envolvente combinada periódica 150 del dispositivo de generación de secuencia de envolvente combinada periódica 101 puede utilizar una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] en lugar de una secuencia de envolvente espectral de amplitud W[1], ..., W[N]. En este caso, el cálculo se realiza de acuerdo con la siguiente fórmula, en lugar de la fórmula (6).
WM[n] = W [ n \ { \ S - P [ n ^ (12)
[Segunda modificación] (un ejemplo en el que la información se introduce desde una fuente externa)
Si se proporciona un dispositivo de generación de secuencia de envolvente combinada periódica acorde con la presente invención, en cada uno de un codificador y un descodificador, las partes de procesamiento comprendidas en el codificador y el descodificador diferentes al dispositivo de generación de secuencia de envolvente combinada periódica pueden obtener una cadena de coeficientes X[1], ..., X[N], una cadena de coeficientes normalizados Xn[1], ..., Xn[N], unos coeficientes predictivos lineales cuantificados Aap, coeficientes predictivos lineales suavizados cuantificados AapYp, una envolvente espectral de amplitud W[1], ..., W[N], una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N], un periodo T, un indicador S o similares. En tal caso, por lo menos alguna de la parte de transformada del dominio de la frecuencia, la parte de normalización del dominio de la frecuencia, la parte de cálculo de la secuencia de envolvente espectral y la parte de análisis de la periodicidad se puede omitir en el dispositivo de generación de secuencia de envolvente combinada periódica. En este caso, un código que identifica los coeficientes predictivos lineales cuantificados Aap (un código de coeficiente predictivo lineal CL), un código que identifica el periodo T o el periodo del dominio del tiempo (un código de periodo CT), un código que identifica el identificador S y similar, son entregados desde las partes de procesamiento diferentes al dispositivo de generación de secuencia de envolvente combinada periódica en el codificador e introducidos en el descodificador. Por consiguiente, en este caso, un código que identifica los coeficientes predictivos lineales cuantificados Aap (el código de coeficiente predictivo lineal Cl), el código que identifica el periodo T o el periodo del dominio del tiempo (el código de periodo Ct), el código que identifica el indicador S y similar, no tienen que ser entregados desde el dispositivo de generación de secuencia de
envolvente combinada periódica en el codificador.
Si un dispositivo de generación de secuencia de envolvente combinada periódica acorde con la presente invención se utiliza en un codificador y un descodificador, se tiene que permitir al codificador y al descodificador obtener la misma secuencia de envolvente combinada periódica. Por lo tanto, una secuencia de envolvente combinada periódica tiene que ser obtenida utilizando información que pueda ser identificada por un código emitido por el codificador e introducido en el descodificador. Por ejemplo, una parte de cálculo de la secuencia de envolvente espectral del dispositivo de generación de secuencia de envolvente combinada periódica utilizado en el codificador tiene que utilizar coeficientes predictivos lineales cuantificados correspondientes a un código de coeficiente predictivo lineal CL para obtener una secuencia de envolvente espectral de amplitud, mientras que una parte de cálculo de la secuencia de envolvente espectral del dispositivo de generación de secuencia de envolvente combinada periódica utilizado en el descodificador tiene que utilizar coeficientes predictivos lineales descodificados correspondientes al código de coeficiente predictivo lineal CL emitido desde el codificador e introducido en el descodificador, para obtener la secuencia de envolvente espectral de amplitud.
Se debe observar que si un codificador y un descodificador utilizan secuencias de envolvente combinada periódica, se pueden proporcionar en el codificador y el descodificador las partes de procesamiento necesarias en el dispositivo de generación de secuencia de envolvente combinada periódica, en lugar de proporcionar el dispositivo de generación de secuencia de envolvente combinada periódica en el interior del codificador y del descodificador, tal como se ha descrito anteriormente. Dichos codificador y descodificador se describirán en la descripción de la segunda realización.
[Segunda realización]
«C odificador»
La figura 5 muestra una configuración funcional de ejemplo de un codificador según la segunda realización, y la figura 6 muestra un flujo de proceso en el codificador según la segunda realización. El codificador 200 comprende una parte de cálculo de la secuencia de envolvente espectral 221, una parte de transformada del dominio de la frecuencia 110, una parte de normalización de la secuencia del dominio de la frecuencia 111, una parte de análisis de la periodicidad 230, una parte de generación de secuencia de envolvente periódica 140, una parte de generación de envolvente combinada periódica 250, una parte de cálculo del parámetro de codificación de longitud variable 260 y una parte de codificación de longitud variable 270. El codificador 200 toma como señal de audio de entrada x(t) una señal digital de audio de entrada del dominio del tiempo, y emite por lo menos un código Cl que representa coeficientes predictivos lineales cuantificados Aa1, ..., AaP, un código Ct de un intervalo T que representa el periodo de una cadena de coeficientes normalizados Xn[1], ..., Xn[N] y un código de longitud variable Cx generado mediante codificación de longitud variable de la cadena de coeficientes normalizados Xn[1], ..., Xn[N]. La parte de normalización de la secuencia del dominio de la frecuencia 111 es similar a las partes de normalización de la secuencia del dominio de la frecuencia 111 en la primera modificación de la primera realización. La parte de transformada del dominio de la frecuencia 110 y la parte de generación de secuencia de envolvente periódica 140 son iguales que las de la primera realización. A continuación se describirán los componentes que difieren de los componentes de la primera realización y de la primera modificación.
<Parte de cálculo de la secuencia de envolvente espectral 221 >
La parte de cálculo de la secuencia de envolvente espectral 221 calcula una secuencia de envolvente espectral de amplitud W[1], ..., W[N] y una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] de una señal de audio de entrada x(t) en base a la predicción lineal del dominio del tiempo de la señal de audio de entrada y obtiene asimismo un código Cl que representa coeficientes predictivos lineales cuantificados Aa1, ..., AaP obtenidos en el proceso de los cálculos (S221). En este caso, N es un entero positivo. La parte de cálculo de la secuencia de envolvente espectral 221 puede llevar a cabo el proceso siguiente.
(Etapa 1) El análisis de predicción lineal de la señal de audio de entrada en cada trama, que es un segmento de tiempo predeterminado, se realiza para obtener coeficientes predictivos lineales, donde P es un entero positivo que representa un orden de predicción. Por ejemplo, de acuerdo con un proceso de auto-regresión de orden P, que es un modelo de todo polos, una señal de audio de entrada x(t) en el punto de tiempo t se puede expresar mediante la fórmula (1) con valores pasados x(t - 1), ..., x(t - P) de la propia señal en los puntos de tiempo P pasados, un residuo de predicción e(t) y coeficientes predictivos lineales a1, ..., aP.
(Etapa 2) Los coeficientes predictivos lineales a1, ..., aP son codificados para obtener y entregar un código Cl y se obtienen coeficientes predictivos lineales cuantificados Aa1, ..., AaP que corresponden al código Cl. Los coeficientes predictivos lineales cuantificados Aa1, ..., AaP se utilizan para obtener una secuencia de envolvente espectral de amplitud W[1], ..., W[N] de la señal de audio de entrada en N puntos. Por ejemplo, cada valor W[n] de la secuencia de envolvente espectral de amplitud se puede obtener de acuerdo con la fórmula (2). Se debe observar que cualquier método para obtener un código Cl codificando cualesquiera coeficientes que se puedan transformar en coeficientes predictivos lineales puede ser utilizado para codificar los coeficientes predictivos lineales a1, ..., ap con el fin de obtener el código Cl, tal como un método que transforme coeficientes predictivos
lineales en un parámetro LSP y codifique el parámetro LSP para obtener un código Cl.
(Etapa 3) Cada coeficiente predictivo lineal cuantificado Aa P es multiplicado por Yp para obtener coeficientes predictivos lineales suavizados cuantificados Aa 1 y, Aa 2Y2, ..., Aa PY P. Y es una constante positiva predeterminada menor o igual que 1 para el suavizado. A continuación se obtiene una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] de acuerdo con la fórmula (10).
<Parte de análisis de la periodicidad 230>
La parte de análisis de la periodicidad 230 toma una entrada de una cadena de coeficientes normalizados Xn[1], ..., Xn[N], obtiene el intervalo T de la cadena de coeficientes normalizados Xn[1], ..., Xn[N] (los intervalos en los que aparece periódicamente un valor grande) y entrega el intervalo T y un código Ct que representa el intervalo T (S230). La parte de análisis de la periodicidad 230 obtiene asimismo y entrega un indicador S del grado de periodicidad (es decir, un indicador del grado de periodicidad de una cadena de muestra del dominio de la frecuencia), cuando se requiere. Adicionalmente, la parte de análisis de la periodicidad 230 obtiene y entrega asimismo un código Cs que representa el indicador S, cuando se requiere. Se debe observar que el indicador S y el intervalo T son los mismos que el indicador S y el intervalo T, respectivamente, generados por la parte de análisis de la periodicidad 131 de la primera modificación de la primera realización.
<Parte de generación de envolvente combinada periódica 250>
La parte de generación de envolvente combinada periódica 250 toma entradas de por lo menos una secuencia de envolvente periódica P[1], ..., P[N] y una secuencia de envolvente espectral de amplitud W[1], ..., W[N], obtiene una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N] y entrega una envolvente combinada periódica Wm[N]. Si la parte de generación de envolvente combinada periódica 250 selecciona cualquiera de un número predeterminado de valores candidatos como un valor 5 en lugar de un valor predeterminado, la parte de generación de envolvente combinada periódica 250 toma asimismo una entrada de cadena de coeficientes X[1], ..., X[N], elige como el valor 5 entre el número predeterminado de valores candidatos un valor candidato que hace similares entre sí la forma de una envolvente combinada periódica Wm[N] y la forma de una secuencia de los valores absolutos de coeficientes X[n], y entrega asimismo un código C5 que representa el valor 5 S250.
La envolvente combinada periódica Wm[N] y el valor 5 son los mismos que la envolvente combinada periódica Wm[N] y el valor 5 , respectivamente, de la primera realización. La envolvente combinada periódica Wm[N] se puede obtener de acuerdo con las fórmulas (6), ..., (9). Si la parte de generación de envolvente combinada periódica 250 determina el número de candidatos para 5 de acuerdo con el grado de periodicidad, la parte de generación de envolvente combinada periódica 250 puede asimismo tomar una entrada de un indicador S del grado de periodicidad. Cuando el indicador S de una trama es correspondiente a alta periodicidad, la parte de generación de envolvente combinada periódica 250 puede elegir 5 que minimice E definido por la fórmula (7), de entre el número grande de candidatos para 5 ; cuando el indicador S de una trama es correspondiente a baja periodicidad, la parte de generación de envolvente combinada periódica 250 puede elegir un valor predeterminado como 5. Obsérvese que si 5 es un valor predeterminado, no es necesario entregar un código C5 que represente el valor 5.
<Parte de cálculo del parámetro de codificación de longitud variable 260>
La parte de cálculo del parámetro de codificación de longitud variable 260 toma entradas de una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N], una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] y una cadena de coeficientes normalizados Xn[1], ..., Xn[N] y obtiene un parámetro de codificación de longitud variable rn S260. La parte de cálculo del parámetro de codificación de longitud variable 260 se caracteriza por calcular el parámetro de codificación de longitud variable rn en función de un valor de amplitud obtenido a partir de la secuencia de envolvente combinada periódica Wm[1], ..., Wm[N].
El parámetro de codificación de longitud variable identifica un rango de valores que pueden adoptar las amplitudes de una señal a codificar, es decir, las amplitudes de coeficientes en la cadena de coeficientes normalizados Xn[1], ..., Xn[N]. Por ejemplo, un parámetro de Rice en codificación de Rice es equivalente al parámetro de codificación de longitud variable; en codificación aritmética, el rango de valores que puede adoptar la amplitud de la señal a codificar es equivalente al parámetro de codificación de longitud variable.
Si se realiza codificación de longitud variable para cada muestra, se calcula un parámetro de codificación de longitud variable para cada coeficiente XN[n] en la cadena de coeficientes normalizados. Si se realiza codificación de longitud variable para cada conjunto de muestras (por ejemplo, cada conjunto de dos muestras), se calcula un parámetro de codificación de longitud variable para cada conjunto de muestras. En otras palabras, la parte de cálculo del parámetro de codificación de longitud variable 260 calcula el parámetro de codificación de longitud variable rn para cada cadena parcial de coeficientes normalizados que es una parte de la cadena de coeficientes normalizados. Se supone en este caso que existen una serie de cadenas parciales de coeficientes normalizados, y ninguno de los coeficientes de la cadena de coeficientes normalizados solapan entre la serie de cadenas parciales de coeficientes normalizados. A continuación se describirá un método para calcular el parámetro de codificación de longitud variable tomando un ejemplo en el que se realiza codificación de Rice para cada muestra.
(Etapa 1) Se calcula el logaritmo del promedio de las amplitudes de los coeficientes en la cadena de coeficientes normalizados Xn[1], Xn[N] como un parámetro de Rice de referencia sb (un parámetro de codificación de longitud variable de referencia), como sigue.
sb es codificado solamente una vez por trama, y transmitido a un descodificador 400 como un código Csb correspondiente al parámetro de Rice de referencia (el parámetro de codificación de longitud variable de referencia). Alternativamente, si el valor promedio de las amplitudes de la cadena de coeficientes normalizados Xn[1 ], ..., Xn[N] se puede estimar a partir de información adicional transmitida al descodificador 400, se puede determinar previamente un método para aproximar sb a partir del promedio estimado de las amplitudes, que es común al codificador 200 y al descodificador 400. Por ejemplo, en un caso de codificación en que se utilice adicionalmente un parámetro que representa la pendiente de una envolvente y un parámetro que representa la magnitud de una envolvente promedio para cada sub-banda, el promedio de las amplitudes se puede estimar a partir de información adicional transmitida al descodificador 400. En este caso, no es necesario codificar sb y no se tiene que entregar al descodificador 400 un código Csb correspondiente al parámetro de Rice de referencia.
(Etapa 2) Se calcula un umbral 0 de acuerdo con la fórmula siguiente.
0 es el logaritmo del promedio de amplitudes de valores obtenidos dividiendo cada valor Wm[N] en la secuencia de envolvente combinada periódica por cada valor ~W[n] en la secuencia de envolvente espectral de amplitud suavizada.
(Etapa 3) Cuanto mayor es |WM[N]/~W[n]| frente a 0, mayor se elige frente a sb el valor del parámetro de Rice rn para codificación de Rice de los coeficientes normalizados XN[n]. Cuanto menor es |WM[N]/~W[n]| frente a 0, menor frente a sb se elige el valor del parámetro de Rice rn para codificación de Rice de los coeficientes normalizados XN[n].
(Etapa 4) La etapa 3 se repite para todo n = 1,2, ..., N con el fin de obtener el valor del parámetro de Rice rn para cada XN[n].
<Parte de codificación de longitud variable 270>
La parte de codificación de longitud variable 270 codifica la cadena de coeficientes normalizados Xn[1], ..., Xn[N] mediante codificación de longitud variable utilizando los valores del parámetro de codificación de longitud variable rn calculados por la parte de cálculo del parámetro de codificación de longitud variable 260 y entrega un código de longitud variable Cx (S270). Por ejemplo, la parte de codificación de longitud variable 270 codifica la cadena de coeficientes normalizados Xn[1], ..., Xn[N] mediante codificación de Rice utilizando el parámetro de Rice rn obtenido por la parte de cálculo del parámetro de codificación de longitud variable 260 y entrega el código obtenido como un código de longitud variable CX. Los valores del parámetro de Rice rn calculado por la parte de cálculo del parámetro de codificación de longitud variable 260 son los valores del parámetro de codificación de longitud variable que dependen de los valores de amplitud de la secuencia de envolvente combinada periódica, y se obtienen valores mayores del parámetro de Rice rn para frecuencias con valores mayores de la secuencia de envolvente combinada periódica. La codificación de Rice es una de varias técnicas de codificación de longitud variable bien conocidas que dependen de valores de amplitud, y utiliza el parámetro de Rice rn para llevar a cabo codificación de longitud variable que depende de valores de amplitud. La secuencia de envolvente combinada periódica generada por la parte de generación de envolvente combinada periódica 250 representa una envolvente espectral de la señal de audio de entrada con un alto grado de precisión. Es decir, la parte de codificación de longitud variable 270 codifica la cadena de coeficientes normalizados Xn[1], ..., Xn[N] mediante codificación de longitud variable, en la hipótesis de que la amplitud de la cadena de coeficientes del dominio de la frecuencia X[1], ..., X[N] de la señal de audio de entrada es mayor para una frecuencia con un valor mayor de la secuencia de envolvente combinada periódica, en otras palabras, la parte de codificación de longitud variable 270 codifica la cadena de coeficientes normalizados Xn[1], ..., Xn[N] mediante codificación de longitud variable que depende del valor de la amplitud utilizando el parámetro de codificación de longitud variable. En este caso, el valor de la amplitud es un valor, tal como el valor de la amplitud promedio de la cadena de coeficientes a codificar, un valor de amplitud estimado de cada uno de los coeficientes incluidos en la cadena de coeficientes, o un valor estimado de una envolvente de la amplitud de la cadena de coeficientes.
El codificador 200 entrega el código Cl que representa los coeficientes de predicción lineal cuantificados Aai, Aap, el código Ct que representa el intervalo T y el código de longitud variable Cx generado mediante codificación de longitud variable de la cadena de coeficientes normalizados Xn[1], ..., Xn[N] que se han obtenido como resultado del proceso descrito anteriormente. El codificador 200 entrega asimismo el código Cs que representa el valor 5 y el código Csb que representa el parámetro de codificación de longitud variable de referencia sb, si es necesario. Los códigos emitidos por el codificador 200 son introducidos en el descodificador 400.
[Primera modificación del codificador] (un ejemplo en el que se introduce información desde una fuente externa) Se debe observar que el codificador puede comprender solamente la parte de generación de secuencia de envolvente periódica 140, la parte de generación de envolvente combinada periódica 250, la parte de cálculo del parámetro de codificación de longitud variable 260 y la parte de codificación de longitud variable 270, y puede tomar entradas de una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N], una cadena de coeficientes normalizados Xn[1], ..., Xn[N], un intervalo T y, si es necesario, una secuencia de envolvente espectral de amplitud W[1], ..., W[N] y, si es necesario, el indicador S, que se generan externamente al codificador, y puede entregar un código de longitud variable Cx .
[Segunda modificación del codificador] (un ejemplo en el que se obtiene un intervalo T a partir de una cadena de coeficientes X[n])
Aunque la parte de análisis de la periodicidad 230 descrita anteriormente toma una entrada de la cadena de coeficientes normalizados Xn[1], ..., Xn[N] para obtener el intervalo T, la parte de análisis de la periodicidad 230 puede tomar una entrada de una cadena de coeficientes X[1], ..., X[N] entregada desde la parte de transformada del dominio de la frecuencia 110 para obtener el intervalo T. En este caso, el intervalo T se obtiene del mismo modo que en la parte de análisis de la periodicidad 130 de la primera realización.
<<Descodificador>>
La figura 7 muestra una configuración funcional de ejemplo de un descodificador acorde con la segunda realización, y la figura 8 muestra un flujo de proceso en el descodificador acorde con la segunda realización. El descodificador 400 comprende una parte de cálculo de la secuencia de envolvente espectral 421, una parte de generación de secuencia de envolvente periódica 440, una parte de generación de envolvente combinada periódica 450, una parte de cálculo del parámetro de codificación de longitud variable 460, una parte de descodificación de longitud variable 470, una parte de desnormalización de la secuencia del dominio de la frecuencia 411 y una parte de transformada inversa del dominio de la frecuencia 410. El descodificador 400 recibe un código Cl que representa coeficientes predictivos lineales cuantificados Aa1, ..., AaP, un código Ct que representa un intervalo T y un código de longitud variable Cx generado mediante codificación de longitud variable de una cadena de coeficientes normalizados Xn[1], ..., Xn[N], y entrega una señal de audio. Se debe observar que el descodificador 400 recibe asimismo un código Cs que representa un valor 5, un código Csb que representa un parámetro de codificación de longitud variable de referencia sb y un código Cs que representa un indicador S, si es necesario. Los componentes se detallarán a continuación.
<Parte de cálculo de la secuencia de envolvente espectral 421 >
La parte de cálculo de la secuencia de envolvente espectral 421 toma una entrada de un código Cl y calcula una secuencia de envolvente espectral de amplitud W[1], ..., W[N] y una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] S421. Más específicamente, se puede llevar a cabo el proceso siguiente. (Etapa 1) El código Cl se descodifica para obtener coeficientes predictivos lineales descodificados Aa1, ..., AaP. (Etapa 2) Los coeficientes predictivos lineales descodificados Aa1, ..., AaP se utilizan para obtener una secuencia de envolvente espectral de amplitud W[1], ..., W[N] en N puntos. Por ejemplo, cada valor W[n] en la secuencia de envolvente espectral de amplitud se puede obtener de acuerdo con la fórmula (2).
(Etapa 3) Cada uno de los coeficientes predictivos lineales descodificados AaP es multiplicado por YP para obtener coeficientes predictivos lineales suavizados descodificados Aa1 y, Aa2Y2, ..., AapYp. En este caso, y es una constante positiva predeterminada menor o igual que 1, para el suavizado. A continuación se obtiene una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] de acuerdo con la fórmula (10).
<Parte de generación de secuencia de envolvente periódica 440>
La parte de generación de secuencia de envolvente periódica 440 toma una entrada de un código Ct que indica un intervalo T, y descodifica el código Ct para obtener el intervalo T. La parte de generación de secuencia de envolvente periódica 440 obtiene y entrega a continuación una secuencia de envolvente periódica P[1], ..., P[N] del mismo modo que lo hace la parte de generación de secuencia de envolvente periódica 140 del codificador 200 (S440).
<Parte de generación de envolvente combinada periódica 450>
La parte de generación de envolvente combinada periódica 450 toma entradas de una secuencia de envolvente periódica P[1], P[N], una secuencia de envolvente espectral de amplitud W[1], W[N], y códigos Cs y Cs. Sin embargo, los códigos Cs y Cs se introducen opcionalmente. La parte de generación de envolvente combinada periódica 450 descodifica el código Cs para obtener un valor 5. Sin embargo, si no se introduce el código Cs, no se lleva a cabo la descodificación del código Cs sino que en su lugar se adquiere un valor 5 almacenado previamente en la parte de generación de envolvente combinada periódica 450. Se debe observar que si se introduce el código CS, la parte de generación de envolvente combinada periódica 450 descodifica el código CS para obtener el indicador S. Si el indicador S obtenido de una trama es correspondiente a un alto grado de periodicidad, la parte de generación de envolvente combinada periódica 450 descodifica el código Cs para obtener un valor s ; si el indicador S obtenido de una trama es correspondiente a baja periodicidad, la parte de generación de envolvente combinada periódica 450 no descodifica el código Cs sino que adquiere en cambio un valor s almacenado previamente en la parte de generación de envolvente combinada periódica 450. La parte de generación de envolvente combinada periódica 450 obtiene a continuación una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N] de acuerdo con la fórmula (6) S450.
<Parte de cálculo del parámetro de codificación de longitud variable 460>
La parte de cálculo del parámetro de codificación de longitud variable 460 toma entradas de una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N], una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] y un código Csb para obtener un parámetro de codificación de longitud variable rn S460. Sin embargo, si el promedio de amplitudes se puede estimar a partir de información adicional transmitida al descodificador 400, se puede determinar previamente un método para aproximar sb a partir del valor de amplitud promedio estimado a partir de la información adicional. En tal caso, el código Csb no se introduce. A continuación se describirá un método para calcular el parámetro de codificación de longitud variable tomando un ejemplo en el que se realiza descodificación de Rice para cada muestra.
(Etapa 1) El código Csb se descodifica para obtener un parámetro de Rice de referencia sb (un parámetro de codificación de longitud variable de referencia). Si se ha determinado un método para aproximar sb a partir de un valor estimado del promedio de amplitudes que es común al codificador 200 y el descodificador 400, el parámetro de Rice sb se calcula utilizando el método.
(Etapa 2) Se calcula un umbral 0 de acuerdo con la fórmula (14).
(Etapa 3) Cuanto mayor es |WM[N]/~W[n]| frente a 0 , mayor se elige el valor de parámetro de Rice rn frente a sb, del mismo modo que lo hace la parte de cálculo del parámetro de codificación de longitud variable 260 del codificador 200. Cuanto menor es |WM[N]/~W[n]| frente a 0 , menor se elige el valor de parámetro de Rice rn frente a sb, del mismo modo que lo hace la parte de cálculo del parámetro de codificación de longitud variable 260 del codificador 200.
(Etapa 4) La etapa 3 se repite para todo n = 1,2, ..., N con el fin de obtener el valor del parámetro de Rice rn para cada XN[n].
<Parte de descodificación de longitud variable 470>
La parte de descodificación de longitud variable 470 descodifica un código de longitud variable Cx utilizando un parámetro de codificación de longitud variable rn calculado por la parte de cálculo del parámetro de codificación de longitud variable 460, obteniendo de ese modo una cadena de coeficientes normalizados descodificados aXn[1], ..., aXn[N] S470. Por ejemplo, la parte de descodificación de longitud variable 470 descodifica el código de longitud variable Cx utilizando el parámetro de Rice rn calculado por la parte de cálculo del parámetro de codificación de longitud variable 460, obteniendo de ese modo la cadena de coeficientes normalizados descodificados aXn[1], ..., aXn[N]. El método de descodificación utilizado por la parte de descodificación de longitud variable 470 corresponde al método de codificación utilizado por la parte de codificación de longitud variable 270.
<Parte de desnormalización de la secuencia del dominio de la frecuencia 411 >
La parte de desnormalización de la secuencia del dominio de la frecuencia 411 toma entradas de una cadena de coeficientes normalizados descodificados aXn[1], ..., aXn[N] y una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] para obtener y entregar una cadena de coeficientes descodificados aX[1], ..., aX[N] como
S411.
<Parte de transformada inversa del dominio de la frecuencia 410>
La parte de transformada inversa del dominio de la frecuencia 410 toma una entrada de una cadena de coeficientes descodificados aX[1], aX[N] y transforma la cadena de coeficientes descodificados aX[1], aX[N] en una señal de audio (en el dominio del tiempo) en cada trama, que es un segmento de tiempo predeterminado S410.
[Primera modificación del descodificador] (un ejemplo en el que se introduce información desde una fuente externa)
Un descodificador puede comprender la parte de generación de secuencia de envolvente periódica 440, la parte de generación de envolvente combinada periódica 450, la parte de cálculo del parámetro de codificación de longitud variable 460 y la parte de descodificación de longitud variable 470 solamente, puede tomar entradas de una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N], de una secuencia de envolvente espectral de amplitud W[1], ..., W[N] y de un intervalo T y, si es necesario, de un indicador S, que se obtienen externamente al descodificador, además de los códigos Cs y Csb que son introducidos en el descodificador si es necesario, y puede entregar una cadena de coeficientes normalizados Xn[1], ..., Xn[N], que puede ser multiplicada por la secuencia de envolvente espectral de amplitud suavizada externamente al descodificador para transformarla en una señal de audio del dominio del tiempo.
<Resultados de la segunda realización de la invención>
La codificación de longitud variable es un método de codificación que determina de forma adaptativa un código de acuerdo con el rango de valores que la amplitud de unos valores de entrada a codificar puede adoptar, mejorando de ese modo la eficiencia de la codificación. Aunque en la segunda realización se codifica una cadena de coeficientes normalizados Xn[1], ..., Xn[N], que es una cadena de coeficientes en el dominio de la frecuencia, la eficiencia de la propia codificación de longitud variable realizada por el codificador se puede aumentar utilizando un parámetro de codificación de longitud variable obtenido con mayor precisión utilizando información relativa a la amplitud de cada coeficiente incluido en la cadena de coeficientes a codificar. Sin embargo, para que el descodificador obtenga el parámetro de codificación de longitud variable, la información relativa a la amplitud de cada coeficiente incluido en la cadena de coeficientes a codificar tiene que ser transmitida con mayor precisión del codificador al descodificador, lo que en consecuencia tiene como resultado un aumento en la cantidad de código transmitido del codificador al descodificador.
Para reducir el aumento en la cantidad de código, es necesario un método para obtener un valor estimado de la amplitud de cada coeficiente incluido en la cadena de coeficientes a codificar a partir de un código con una cantidad de código pequeña. Dado que una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N] en la segunda realización aproxima una cadena de coeficientes X[1], ..., X[N] con un alto grado de precisión, |Wm[1]/~W[1]|, ..., |Wm[N]/~W[N]| pueden aproximar la envolvente de amplitud de Xn[1], Xn[2], ..., Xn[N], que son coeficientes a codificar mediante codificación de longitud variable, con un alto grado de precisión. En otras palabras, |Wm[1]/~W[1]|, ..., Wm[N]/~W[N]| es una secuencia en correlación positiva con la amplitud de los coeficientes a codificar.
La información necesaria para recuperar |Wm[1]/~W[1]|, |Wm[2]/~W[2]|, ..., |Wm[N]/~W[N]| en el lado del descodificador es
- Información que representa coeficientes de predicción lineal cuantificados Aa1, ..., AaP (código Cl).
- Información que indica el intervalo T (código CT)
- Información que indica el valor 5 (código Cs).
Es decir, con el codificador y el descodificador según la segunda realización, el descodificador puede reproducir envolventes que incluyen picos de amplitud provocados por el periodo de tono de una señal de audio de entrada introducida en el codificador con una cantidad pequeña de información, es decir solamente los códigos Cl, Ct y Cs.
Se debe observar que el codificador y el descodificador según la segunda realización se pueden utilizar en combinación con un codificador y un descodificador que realicen codificación/descodificación que involucra predicción lineal o predicción de tono en muchas situaciones. En dichas situaciones, los códigos CL y CT se transmiten desde el codificador que está en localización externa al codificador 200 y realiza codificación que involucra predicción lineal o predicción de tono, al descodificador que está en localización externa al descodificador 400 y realiza descodificación que involucra predicción lineal o predicción de tono. Por consiguiente, la información que se tiene que transmitir del codificador 200 al descodificador 400 para permitir que el lado del descodificador recupere envolventes que comprenden picos de amplitud provocados por el periodo de tono de una señal de audio de entrada introducida en el lado del codificador, son los códigos Cs. La cantidad de código de cada código Cs es pequeña (cada uno requiere aproximadamente 3 bits como mucho, e incluso 1 bit de Cs puede ser efectivo) y es menor que la cantidad total de código correspondiente a un parámetro de codificación de longitud variable para cada secuencia parcial incluida en la cadena de coeficientes normalizados a codificar.
El codificador y el descodificador según la segunda realización pueden por lo tanto mejorar la eficiencia de codificación con un aumento pequeño en la cantidad de código.
<Puntos clave de la segunda realización de la invención>
Considerando el codificador y el descodificador acordes con la segunda realización desde el punto de vista de conseguir el efecto descrito anteriormente, el codificador 200 puede estar caracterizado por que comprende: - una parte de generación de envolvente combinada periódica 250 que genera una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal obtenido a partir de una señal de audio de entrada en un segmento de tiempo predeterminado y un periodo del dominio de la frecuencia correspondiente a un código de periodo obtenido a partir de la señal de audio de entrada, y
- una parte de codificación de longitud variable 270 que codifica una secuencia del dominio de la frecuencia obtenida a partir de la señal de audio de entrada, suponiendo que la amplitud de la señal de audio de entrada es mayor para una frecuencia con un valor mayor de la secuencia de envolvente combinada periódica, y el descodificador 400 puede estar caracterizado por que comprende:
- una parte de generación de envolvente combinada periódica 450 que genera una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia, en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal y un periodo del dominio de la frecuencia correspondiente a un código de periodo, y
- una parte de descodificación de longitud variable 470 que descodifica un código de longitud variable para obtener una secuencia del dominio de la frecuencia, en la hipótesis de que la amplitud de la señal de audio es mayor para una frecuencia con un valor mayor de la secuencia de envolvente combinada periódica. Se debe observar que "en la hipótesis de que la amplitud de la señal de audio de entrada es mayor para una frecuencia con un valor mayor de la secuencia de envolvente combinada periódica" y "en la hipótesis de que la amplitud de la señal de audio es mayor para una frecuencia con un valor mayor de la secuencia de envolvente combinada periódica" representa que la secuencia de envolvente combinada periódica está caracterizada por tomar un valor grande a una frecuencia con una amplitud grande de la señal de audio de entrada o la señal de audio. Además, "obtenida a partir de la señal de audio de entrada" significa que la secuencia del dominio de la frecuencia se puede obtener a partir de la señal de audio de entrada o corresponde a la señal de audio de entrada. Por ejemplo, una cadena de coeficientes X[1], ..., X[N] y una cadena de coeficientes normalizados Xn[1], ..., Xn[N] son secuencias del dominio de la frecuencia obtenidas a partir de la señal de audio de entrada.
[Tercera realización]
«C odificador»
La figura 9 muestra una configuración funcional de ejemplo de un codificador según una tercera realización, y la figura 10 muestra un flujo de proceso en el codificador según la tercera realización. El codificador 300 comprende una parte de cálculo de la secuencia de envolvente espectral 221, una parte de transformada del dominio de la frecuencia 110, una parte de normalización de secuencia del dominio de la frecuencia 111, una parte de análisis de la periodicidad 330, una parte de generación de secuencia de envolvente periódica 140, una parte de generación de envolvente combinada periódica 250, una parte de cálculo del parámetro de codificación de longitud variable 260, una segunda parte de cálculo del parámetro de codificación de longitud variable 380 y una parte de codificación de longitud variable 370. El codificador 300 toma una señal digital de entrada de audio del dominio del tiempo como una señal de audio de entrada x(t) y entrega por lo menos un código Cl que representa coeficientes predictivos lineales cuantificados Aa1, ..., AaP, un código Ct de un intervalo T que representa un periodo de una cadena de coeficientes normalizados Xn[1], ..., Xn[N], un indicador S predeterminado del grado de periodicidad de una cadena de coeficientes X[1], ..., X[N] o la cadena de coeficientes normalizados Xn[1], ..., XN[N], un código CS que representa el indicador S y un código de longitud variable CX generado por codificación de longitud variable de la cadena de coeficientes normalizados Xn[1], ..., Xn[N]. La parte de normalización de la secuencia del dominio de la frecuencia 111 es igual que la parte de normalización de la secuencia del dominio de la frecuencia 111 de la primera modificación de la primera realización. La parte de transformada del dominio de la frecuencia 110 y la parte de generación de secuencia de envolvente periódica 140 son iguales que la parte de transformada del dominio de la frecuencia 110 y la parte de generación de secuencia de envolvente periódica 140, respectivamente, de la primera realización. La parte de cálculo de la secuencia de envolvente espectral de amplitud 221, la parte de generación de envolvente combinada periódica 250 y la parte de cálculo del parámetro de codificación de longitud variable 260 son iguales que la parte de cálculo de la secuencia de envolvente espectral de amplitud 221, la parte de generación de envolvente combinada periódica 250 y la parte de cálculo del parámetro de codificación de longitud variable 260, respectivamente, de la segunda realización. A continuación se describirán los componentes que difieren de los componentes de las realizaciones y modificaciones descritas anteriormente.
<Parte de análisis de la periodicidad 330>
La parte de análisis de la periodicidad 330 toma una entrada de una cadena de coeficientes normalizados Xn[1], ..., XN[N], obtiene un indicador S del grado de periodicidad de la cadena de coeficientes normalizados XN[1], ..., XN[N] y un intervalo T (intervalos en los que aparece periódicamente un valor grande) y entrega el indicador S, un código CS que representa el indicador S, el intervalo T y un código CT que representa el intervalo T (S330). Se debe observar que el indicador S y el intervalo T son iguales que los entregados desde la parte de análisis de la periodicidad 131 de la primera modificación de la primera realización.
En el codificador 300, si el indicador S está dentro de un rango predeterminado que indica alta periodicidad, la parte de cálculo del parámetro de codificación de longitud variable 260 calcula un parámetro de codificación de longitud variable rn; si el indicador S no está dentro del rango predeterminado que indica alta periodicidad, la segunda parte de cálculo del parámetro de codificación de longitud variable 380 calcula un parámetro de codificación de longitud variable rn S390. El "rango predeterminado que indica alta periodicidad" puede ser un rango de valores del indicador S que son mayores o iguales que un umbral predeterminado.
<Segunda parte de cálculo del parámetro de codificación de longitud variable 380>
La segunda parte de cálculo del parámetro de codificación de longitud variable 380 toma entradas de una secuencia de envolvente espectral de amplitud W[1], ..., W[N], una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] y una cadena de coeficientes normalizados Xn[1], ..., Xn[N], y obtiene un parámetro de codificación de longitud variable rn S380. Mientras que la parte de cálculo del parámetro de codificación de longitud variable 260 está caracterizada por calcular un parámetro de codificación de longitud variable rn en función de un valor de amplitud obtenido de una secuencia de envolvente combinada periódica Wm[1], ..., Wm[N], la segunda parte de cálculo del parámetro de codificación de longitud variable 380 se caracteriza por calcular un parámetro de codificación de longitud variable en función de un valor de amplitud obtenido de una secuencia de envolvente espectral de amplitud. A continuación se describirá un método para calcular el parámetro de codificación de longitud variable tomando un ejemplo en el que se realiza codificación de Rice para cada muestra.
(Etapa 1) Se calcula el logaritmo del promedio de las amplitudes de los coeficientes en la cadena de coeficientes normalizados Xn[1], ..., Xn[N] como un parámetro de Rice de referencia sb (un parámetro de codificación de longitud variable de referencia), según la fórmula (13). La etapa es igual que la etapa llevada a cabo por la parte de cálculo del parámetro de codificación de longitud variable 260.
(Etapa 2) Se calcula un umbral 0 de acuerdo con la fórmula siguiente.
0 es el logaritmo del promedio de amplitudes de los valores obtenidos dividiendo cada valor Wm[N] de la secuencia de envolvente espectral de amplitud por cada valor ~W[n] de la secuencia de envolvente espectral de amplitud suavizada.
(Etapa 3) Cuanto mayor es |WM[N]/~W[n]| frente a 0, mayor se elige frente a sb el valor del parámetro de Rice rn para codificación de Rice de los coeficientes normalizados XN[n]. Cuanto menor es |WM[N]/~W[n]| frente a 0, menor frente a sb se elige el valor del parámetro de Rice rn para codificación de Rice de los coeficientes normalizados XN[n].
(Etapa 4) La etapa 3 se repite para todo n = 1,2, ..., N con el fin de obtener el valor del parámetro de Rice rn para cada XN[n].
<Parte de codificación de longitud variable 370>
La parte de codificación de longitud variable 370 codifica la cadena de coeficientes normalizados Xn[1], ..., Xn[N] mediante codificación de longitud variable utilizando un parámetro de codificación de longitud variable rn y entrega un código de longitud variable CX (S370). Se debe observar que es si el indicador S está dentro del rango predeterminado que indica alta periodicidad, el parámetro de codificación de longitud variable rn es un parámetro de codificación de longitud variable rn calculado por la parte de cálculo del parámetro de codificación de longitud variable 260; si el indicador S no está dentro del rango predeterminado que indica alta periodicidad, el parámetro de codificación de longitud variable rn es un parámetro de codificación de longitud variable rn calculado por la segunda parte de cálculo del parámetro de codificación de longitud variable 380.
El codificador 300 entrega el código Cl que representa los coeficientes de predicción lineal cuantificados Aa1, ..., AaP, el código Cs que representa el indicador S del grado de periodicidad, el código Ct que representa el intervalo T y el código de longitud variable Cx generado mediante codificación de longitud variable de la cadena de
coeficientes normalizados Xn[1], Xn[N], que se han obtenido como resultado del proceso descrito anteriormente, y los transmite al lado de descodificación. El codificador 300 entrega asimismo el código Cs que representa el valor 5 y el código Csb que representa el parámetro de codificación de longitud variable de referencia sb, si es necesario, y los transmite al lado de descodificación.
[Primera modificación del codificador] (un ejemplo en el que se introduce información desde una fuente externa) Se debe observar que el codificador puede comprender solamente la parte de generación de secuencia de envolvente periódica 140, la parte de generación de envolvente combinada periódica 250, la parte de cálculo del parámetro de codificación de longitud variable 260, la segunda parte de cálculo del parámetro de codificación de longitud variable 380 y la parte de codificación de longitud variable 370, y puede tomar entradas de una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N], una cadena de coeficientes normalizados Xn[1], ..., Xn[N], y un intervalo T y, si es necesario, una secuencia de envolvente espectral de amplitud W[1], ..., W[N] y, si es necesario, el indicador S, que se generan externamente al codificador, y puede entregar un código de longitud variable CX.
[Segunda modificación del codificador] (un ejemplo en el que se obtiene un intervalo T a partir de una cadena de coeficientes X[n])
Aunque la parte de análisis de la periodicidad 330 descrita anteriormente toma una entrada de la cadena de coeficientes normalizados Xn[1], ..., Xn[N] para obtener el intervalo T, la parte de análisis de la periodicidad 330 puede tomar una entrada de una cadena de coeficientes X[1], ..., X[N] entregada desde la parte de transformada del dominio de la frecuencia 110 para obtener el intervalo T. En este caso, el intervalo T se obtiene del mismo modo que lo hace la parte de análisis de la periodicidad 130 de la primera realización.
<<Descodificador>>
La figura 11 muestra una configuración funcional de ejemplo de un descodificador acorde con la tercera realización, y la figura 12 muestra un flujo de proceso en el descodificador acorde con la tercera realización. El descodificador 500 comprende una parte de cálculo de la secuencia de envolvente espectral 421, una parte de descodificación de indicador 530, una parte de generación de secuencia de envolvente periódica 440, una parte de generación de envolvente combinada periódica 450, una parte de cálculo del parámetro de codificación de longitud variable 460, una segunda parte de cálculo del parámetro de codificación de longitud variable 580, una parte de descodificación de longitud variable 570, una parte de desnormalización de la secuencia del dominio de la frecuencia 411 y una parte de transformada inversa del dominio de la frecuencia 410. El descodificador 500 recibe un código Cl que representa coeficientes predictivos lineales cuantificados Aa1, ..., AaP, un código Cs que representa un indicador S, un código CT que representa un intervalo T y un código de longitud variable CX generado mediante codificación de longitud variable de una cadena de coeficientes normalizados Xn[1], ..., Xn[N], y entrega una señal de audio. Se debe observar que el descodificador 500 recibe asimismo un código Cs que representa un valor 5, y un código Csb que representa un parámetro de codificación de longitud variable de referencia sb, si es necesario. La parte de cálculo de la secuencia de envolvente espectral 421, la parte de generación de secuencia de envolvente periódica 440, la parte de generación de envolvente combinada periódica 450, la parte de cálculo del parámetro de codificación de longitud variable 460, la parte de desnormalización de la secuencia del dominio de la frecuencia 411 y una parte de transformada inversa del dominio de la frecuencia 410 son iguales que las de la segunda realización. A continuación se explicarán los componentes que difieren de los componentes de la segunda realización.
<Parte de descodificación de indicador 530>
La parte de descodificación de indicador 530 descodifica el código Cs para obtener el indicador S. En el descodificador 500, si el indicador S está dentro de un rango predeterminado que indica alta periodicidad, la parte de cálculo del parámetro de codificación de longitud variable 460 calcula un parámetro de codificación de longitud variable rn; si el indicador S no está dentro del rango predeterminado que indica alta periodicidad, la segunda parte de cálculo del parámetro de codificación de longitud variable 580 calcula un parámetro de codificación de longitud variable rn S590. Se debe observar que el "rango predeterminado que indica alta periodicidad" es el mismo rango que se establece en el codificador 300.
<Segunda parte de cálculo del parámetro de codificación de longitud variable 580>
La segunda parte de cálculo del parámetro de codificación de longitud variable 580 toma entradas de una secuencia de envolvente espectral de amplitud W[1], ..., W[N], una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N] y un código Csb, y obtiene un parámetro de codificación de longitud variable rn S580. Sin embargo, si el promedio de amplitudes se puede estimar a partir de información adicional transmitida al descodificador 500, se puede determinar previamente un método para aproximar sb a partir del promedio de las amplitudes estimado a partir de la información adicional. En tal caso, el código Csb no se introduce. A continuación se describirá un método para calcular el parámetro de codificación de longitud variable tomando un ejemplo en el que se realiza codificación de Rice para cada muestra.
(Etapa 1) El código Csb se descodifica para obtener un parámetro de Rice de referencia sb (un parámetro de codificación de longitud variable de referencia). Si se ha determinado un método para aproximar sb a partir de un valor estimado del amplitudes que es común al codificador 300 y el descodificador 500, el parámetro de Rice sb se calcula utilizando el método.
(Etapa 2) Se calcula un valor umbral 0 de acuerdo con la fórmula (16).
(Etapa 3) Cuanto mayor es |WM[N]/~W[n]| frente a 0, mayor se elige el valor de parámetro de Rice rn frente a sb, del mismo modo que lo hace la segunda parte de cálculo del parámetro de codificación de longitud variable 380 del codificador 300. Cuanto menor es |WM[N]/~W[n]| frente a 0, menor se elige el valor de parámetro de Rice rn frente a sb, del mismo modo que lo hace la segunda parte de cálculo del parámetro de codificación de longitud variable 380 del codificador 300.
(Etapa 4) La etapa 3 se repite para todo n = 1, 2, ..., N con el fin de obtener el parámetro de Rice rn para cada XN[n].
<Parte de descodificación de longitud variable 570>
La parte de descodificación de longitud variable 570 descodifica un código de longitud variable Cx utilizando el parámetro de codificación de longitud variable rn, obteniendo de ese modo una cadena de coeficientes normalizados descodificados aXn[1], ..., aXn[N] S570. Se debe observar que es si el indicador S está dentro del rango predeterminado que indica alta periodicidad, el parámetro de codificación de longitud variable rn es un parámetro de codificación de longitud variable rn calculado por la parte de cálculo del parámetro de codificación de longitud variable 460; si el indicador S no está dentro del rango que indica alta periodicidad, el parámetro de codificación de longitud variable rn es un parámetro de codificación de longitud variable rn calculado por la segunda parte de cálculo del parámetro de codificación de longitud variable 580.
[Primera modificación del descodificador] (un ejemplo en el que se introduce información desde una fuente externa)
Un descodificador puede comprender la parte de generación de secuencia de envolvente periódica 440, la parte de generación de envolvente combinada periódica 450, la parte de cálculo del parámetro de codificación de longitud variable 460, una segunda parte de cálculo del parámetro de codificación de longitud variable 580 y la parte de descodificación de longitud variable 570 solamente, puede tomar entradas de una secuencia de envolvente espectral de amplitud suavizada ~W[1], ..., ~W[N], de una secuencia de envolvente espectral de amplitud W[1], ..., W[N] y de un intervalo T y de un indicador S, que se obtienen externamente al descodificador, además de los códigos Cs y Csb que son introducidos en el descodificador si es necesario, y puede entregar una cadena de coeficientes normalizados Xn[1], ..., Xn[N], que puede a continuación ser multiplicada por la secuencia de envolvente espectral de amplitud suavizada externamente al descodificador para transformarla en una señal de audio del dominio del tiempo.
<Resultados de la tercera realización de la invención>
Si el grado de periodicidad de una señal de audio de entrada es bajo, los picos de amplitud provocados por el periodo de tono de la señal de audio de entrada son pequeños. Por lo tanto, cuando el grado de periodicidad de una señal de audio a codificar es alto, el codificador y el descodificador acordes con la tercera realización utilizan una secuencia de envolvente combinada periódica para obtener un parámetro de codificación de longitud variable; cuando el grado de periodicidad de la señal de audio a codificar no es alto, el codificador y el descodificador utilizan una secuencia de envolvente espectral de amplitud para obtener un parámetro de codificación de longitud variable. Por consiguiente, se puede utilizar un parámetro de codificación de longitud variable más apropiado para codificación de longitud variable, que tiene el resultado de mejorar la precisión de la codificación.
La primera a tercera realizaciones se han descrito con ejemplos en los que se utilizan secuencias de amplitud, tales como una secuencia de envolvente espectral de amplitud, una secuencia de envolvente espectral de amplitud suavizada y una secuencia de envolvente combinada periódica. Sin embargo, en lugar de secuencias de amplitud, se pueden utilizar como W[n], ~W[n] y WM[N] secuencias de potencia, es decir una secuencia de envolvente espectral de potencia, una secuencia de envolvente espectral de potencia suavizada, una secuencia de envolvente combinada periódica que es una secuencia de potencia.
[Programa y medio de grabación]
Los procesos descritos anteriormente se pueden realizar no sólo en la secuencia de tiempo que se ha escrito, sino asimismo en paralelo o individualmente, dependiendo del caudal de los dispositivos que lleven a cabo los procesos o de requisitos. Se comprenderá que se pueden realizar modificaciones a conveniencia.
Si las configuraciones descritas anteriormente son implementadas por un ordenador, el procesamiento de la función que necesita incluir cada dispositivo se describe en un programa. El programa se ejecuta en el ordenador
para implementar en el ordenador las funciones de procesamiento descritas anteriormente.
El programa que describe el proceso se puede grabar en un medio de grabación legible por ordenador. El medio de grabación legible por ordenador puede ser cualquier medio, tal como un dispositivo de grabación magnética, un disco óptico, un medio de grabación magnetoóptico y una memoria de semiconductor, por ejemplo.
El programa se puede distribuir, por ejemplo, mediante venta, transferencia o entregando medios de grabación portátiles en los que el programa está grabado, tales como DVD o CD-ROM. El programa puede estar almacenado en un dispositivo de almacenamiento de un servidor informático y transferirse desde el servidor informático a otros ordenadores sobre una red, distribuyéndose de ese modo el programa.
Un ordenador que ejecuta el programa almacena primero el programa grabado en un medio de grabación portátil o el programa transferido desde un servidor informático, a un dispositivo de almacenamiento del ordenador, por ejemplo. Cuando el ordenador ejecuta los procesos, el ordenador lee el programa almacenado en el medio de grabación del ordenador y ejecuta los procesos de acuerdo con el programa leído. En otro modo de ejecución del programa, el ordenador puede leer el programa directamente de un medio de grabación portátil y puede ejecutar los procesos según el programa, o puede también ejecutar los procesos según el programa cada vez que el programa es transferido del servidor informático al ordenador. Alternativamente, los procesos descritos anteriormente se pueden ejecutar utilizando un denominado servicio ASP (Application Service Provider, proveedor de servicios de aplicación) en el que el programa no es transferido desde un servidor informático al ordenador, sino que se implementan funciones de procesamiento solamente mediante instrucciones para ejecutar el programa y mediante la adquisición de los resultados de la ejecución. Se debe observar que el programa en este modo incluye información que se pone a disposición para utilizar en el proceso por un ordenador electrónico y es equivalente a un programa (tal como datos, que no son comandos directos para el ordenador pero tienen la naturaleza de definir el proceso llevado a cabo por el ordenador).
Mientras que en este modo un programa determinado se ejecuta en un ordenador para configurar el presente dispositivo, por lo menos parte de los procesos se pueden implementar por hardware.
[Descripción de numerales de referencia]
100, 101 dispositivo de generación de secuencia de envolvente combinada periódica
110 parte de transformada del dominio de la frecuencia
111 parte de normalización de secuencia del dominio de la frecuencia
120, 121, 221,421 parte de cálculo de secuencia de envolvente espectral
130, 131, 230, 330 parte de análisis de la periodicidad
140, 440 parte de generación de secuencia de envolvente periódica
150, 250, 450 parte de generación de envolvente combinada periódica
200, 300 codificador
260, 360, 460 parte de cálculo del parámetro de codificación de longitud variable
270, 370 parte de codificación de longitud variable
380, 580 segunda parte de cálculo del parámetro de codificación de longitud variable
400, 500 descodificador
410 parte de transformada inversa del dominio de la frecuencia
411 parte de desnormalización de la secuencia del dominio de la frecuencia
470, 570 parte de descodificación de longitud variable
530 parte de descodificación de indicador
Claims (16)
1. Un codificador (200, 300) que comprende:
una parte de generación de envolvente combinada periódica (250) que está adaptada para generar una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal obtenido a partir de una señal de audio de entrada en un segmento de tiempo predeterminado y en un periodo del dominio de la frecuencia correspondiente a un código de periodo obtenido a partir de la señal de audio de entrada,
una parte de cálculo del parámetro de codificación de longitud variable (260) que está adaptada para calcular un parámetro de codificación de longitud variable que depende de un valor de amplitud obtenido de una secuencia de envolvente combinada periódica; y
una parte de codificación de longitud variable (270, 370) que está adaptada para usar un parámetro de codificación de longitud variable para codificar una secuencia del dominio de la frecuencia obtenida a partir de la señal de audio de entrada mediante codificación de longitud variable que depende de un valor de amplitud.
2. El codificador según la reivindicación 1,
en el que la parte de generación de envolvente combinada periódica está adaptada para obtener, como una secuencia de envolvente combinada periódica, una secuencia que se puede obtener cambiando en mayor medida valores de muestras en múltiplos enteros de un periodo en el dominio de la frecuencia de la señal de audio de entrada en la secuencia de envolvente espectral y de muestras en la proximidad de los múltiplos enteros del periodo, cuanto mayor es la longitud de un periodo en el dominio de la frecuencia de la señal de audio de entrada.
3. El codificador según la reivindicación 1,
en el que la parte de generación de envolvente combinada periódica está adaptada para obtener, como una secuencia de envolvente combinada periódica, una secuencia que se obtiene cambiando valores de un mayor número de muestras en la proximidad de múltiplos enteros de un periodo en el dominio de la frecuencia de la señal de audio de entrada en la secuencia de envolvente espectral de amplitud, cuanto mayor es la longitud de un periodo en el dominio de la frecuencia de la señal de audio de entrada.
4. Un descodificador (400, 500) que comprende:
una parte de generación de envolvente combinada periódica (450) que está adaptada para generar una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia, en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal obtenida a partir de una señal de audio y a un periodo del dominio de la frecuencia correspondiente a un código de periodo obtenido a partir de una señal de audio;
una parte de cálculo del parámetro de codificación de longitud variable (460) que está adaptada para calcular un parámetro de codificación de longitud variable que depende de un valor de amplitud obtenido de una secuencia de envolvente combinada periódica; y
una parte de codificación de longitud variable (470, 570) que está adaptada para usar un parámetro de codificación de longitud variable para realizar la descodificación.
5. El descodificador según la reivindicación 4,
en el que la parte de generación de envolvente combinada periódica está adaptada para obtener, como una secuencia de envolvente combinada periódica, una secuencia que se puede obtener cambiando en mayor medida valores de muestras en múltiplos enteros de un periodo en el dominio de la frecuencia correspondiente al código de periodo en la secuencia de envolvente espectral y de muestras en la proximidad de los múltiplos enteros del periodo, cuanto mayor es la longitud de un periodo en el dominio de la frecuencia correspondiente al código de periodo.
6. El descodificador según la reivindicación 4,
en el que la parte de generación de envolvente combinada periódica está adaptada para obtener, como secuencia de envolvente combinada periódica, una secuencia que se obtiene cambiando valores de un mayor número de muestras en la proximidad de múltiplos enteros de un periodo en el dominio de la frecuencia correspondiente al código de periodo en la secuencia de envolvente espectral de amplitud, cuanto mayor es la longitud de un periodo en el dominio de la frecuencia correspondiente al código de periodo.
7. Un método de codificación que ejecuta:
una etapa de generación de envolvente combinada periódica (S250) que genera una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal obtenido a partir de una señal de audio de entrada en un segmento de tiempo predeterminado, y a un periodo del dominio de la frecuencia correspondiente a un código de periodo obtenido a partir de la señal de audio de entrada;
una etapa de cálculo de parámetro de codificación de longitud variable (S260) que calcula un parámetro de codificación de longitud variable que depende de un valor de amplitud obtenido de una secuencia de envolvente combinada periódica; y
una etapa de codificación de longitud variable (S270, S370) que usa un parámetro de codificación de longitud variable para codificar una secuencia del dominio de la frecuencia obtenida a partir de la señal de audio de entrada mediante codificación de longitud variable que depende de un valor de amplitud.
8. El método de codificación según la reivindicación 7,
en el que la etapa de generación de envolvente combinada periódica obtiene, como una secuencia de envolvente combinada periódica, una secuencia que se puede obtener cambiando en mayor medida valores de muestras en múltiplos enteros de un periodo en el dominio de la frecuencia de la señal de audio de entrada en la secuencia de envolvente espectral y de muestras en la proximidad de los múltiplos enteros del periodo, cuanto mayor es la longitud de un periodo en el dominio de la frecuencia de la señal de audio de entrada.
9. El método de codificación según la reivindicación 7,
en el que la etapa de generación de envolvente combinada periódica obtiene, como una secuencia de envolvente combinada periódica, una secuencia que se obtiene cambiando valores de un mayor número de muestras en la proximidad de múltiplos enteros de un periodo en el dominio de la frecuencia de la señal de audio de entrada en la secuencia de envolvente espectral de amplitud, cuanto mayor es la longitud de un periodo en el dominio de la frecuencia de la señal de audio de entrada.
10. Un método de descodificación que ejecuta:
una etapa de generación de envolvente combinada periódica (S450), que genera una secuencia de envolvente combinada periódica que es una secuencia del dominio de la frecuencia, en base a una secuencia de envolvente espectral que es una secuencia del dominio de la frecuencia correspondiente a un código de coeficiente predictivo lineal obtenida a partir de una señal de audio y a un periodo del dominio de la frecuencia correspondiente a un código de periodo obtenido a partir de una señal de audio;
una etapa de cálculo de parámetro de codificación de longitud variable (S460), que calcula un parámetro de codificación de longitud variable que depende de un valor de amplitud obtenido de una secuencia de envolvente combinada periódica; y
una etapa de descodificación de longitud variable (S470, S570) que usa un parámetro de codificación de longitud variable para realizar la descodificación.
11. El método de descodificación según la reivindicación 10,
en el que la etapa de generación de envolvente combinada periódica obtiene, como una secuencia de envolvente combinada periódica, una secuencia que se puede obtener cambiando en mayor medida valores de muestras en múltiplos enteros de un periodo en el dominio de la frecuencia correspondiente al código de periodo en la secuencia de envolvente espectral y de muestras en la proximidad de los múltiplos enteros del periodo, cuanto mayor es la longitud de un periodo en el dominio de la frecuencia correspondiente al código de periodo.
12. El método de descodificación según la reivindicación 10,
en el que la etapa de generación de envolvente combinada periódica obtiene, como secuencia de envolvente combinada periódica, una secuencia que se obtiene cambiando valores de un mayor número de muestras en la proximidad de múltiplos enteros de un periodo en el dominio de la frecuencia correspondiente al código de periodo en la secuencia de envolvente espectral de amplitud, cuanto mayor es la longitud de un periodo en el dominio de la frecuencia correspondiente al código de periodo.
13. Un programa de codificación adaptado para hacer que un ordenador funcione como el codificador según cualquiera de las reivindicaciones 1 a 3.
14. Un programa de descodificación adaptado para hacer que un ordenador funcione como el descodificador según cualquiera de las reivindicaciones 4 a 6.
15. Un medio de grabación legible por ordenador, en el que está grabado un programa de codificación adaptado
para hacer que un ordenador funcione como el codificador según cualquiera de las reivindicaciones 1 a 3.
16. Un medio de grabación legible por ordenador, en el que está grabado un programa de descodificación adaptado para hacer que un ordenador funcione como el descodificador según cualquiera de las reivindicaciones 4 a 6.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014094881 | 2014-05-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2790278T3 true ES2790278T3 (es) | 2020-10-27 |
Family
ID=54358434
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES20167431T Active ES2884626T3 (es) | 2014-05-01 | 2015-02-20 | Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y soporte de registro |
ES20167433T Active ES2883848T3 (es) | 2014-05-01 | 2015-02-20 | Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y soporte de registro |
ES19157754T Active ES2790278T3 (es) | 2014-05-01 | 2015-02-20 | Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y medio de grabación |
ES15785387T Active ES2732859T3 (es) | 2014-05-01 | 2015-02-20 | Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y medio de grabación |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES20167431T Active ES2884626T3 (es) | 2014-05-01 | 2015-02-20 | Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y soporte de registro |
ES20167433T Active ES2883848T3 (es) | 2014-05-01 | 2015-02-20 | Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y soporte de registro |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15785387T Active ES2732859T3 (es) | 2014-05-01 | 2015-02-20 | Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y medio de grabación |
Country Status (9)
Country | Link |
---|---|
US (4) | US10199046B2 (es) |
EP (4) | EP3696812B1 (es) |
JP (4) | JP6276845B2 (es) |
KR (3) | KR101839016B1 (es) |
CN (3) | CN112820304B (es) |
ES (4) | ES2884626T3 (es) |
PL (4) | PL3703051T3 (es) |
TR (1) | TR201909906T4 (es) |
WO (1) | WO2015166693A1 (es) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101826237B1 (ko) | 2014-03-24 | 2018-02-13 | 니폰 덴신 덴와 가부시끼가이샤 | 부호화 방법, 부호화 장치, 프로그램 및 기록 매체 |
KR102529747B1 (ko) * | 2016-05-23 | 2023-05-08 | 삼성에스디아이 주식회사 | 무선 충전 장치 및 방법 |
JP6766264B2 (ja) * | 2017-06-22 | 2020-10-07 | 日本電信電話株式会社 | 符号化装置、復号装置、符号化方法、復号方法、およびプログラム |
WO2019028883A1 (en) * | 2017-08-11 | 2019-02-14 | Lenovo (Beijing) Limited | ENCODING POWER RECEIVED FROM REFERENCE SIGNAL |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58168094A (ja) * | 1982-03-29 | 1983-10-04 | 藤崎 博也 | 音声分析処理方式 |
JPS5994795A (ja) * | 1982-11-22 | 1984-05-31 | 藤崎 博也 | 音声分析処理方式 |
JP2615862B2 (ja) * | 1988-06-14 | 1997-06-04 | 日本電気株式会社 | 音声符号化復号化方法とその装置 |
KR940002854B1 (ko) * | 1991-11-06 | 1994-04-04 | 한국전기통신공사 | 음성 합성시스팀의 음성단편 코딩 및 그의 피치조절 방법과 그의 유성음 합성장치 |
IT1277194B1 (it) * | 1995-06-28 | 1997-11-05 | Alcatel Italia | Metodo e relativi apparati di codifica e di decodifica di un segnale vocale campionato |
US6345145B1 (en) * | 1995-08-25 | 2002-02-05 | Sony Corporation | Signal recording/reproducing method and apparatus, signal record medium and signal transmission/reception method and apparatus |
JP3259759B2 (ja) * | 1996-07-22 | 2002-02-25 | 日本電気株式会社 | 音声信号伝送方法及び音声符号復号化システム |
FI964975A (fi) * | 1996-12-12 | 1998-06-13 | Nokia Mobile Phones Ltd | Menetelmä ja laite puheen koodaamiseksi |
DE69932786T2 (de) * | 1998-05-11 | 2007-08-16 | Koninklijke Philips Electronics N.V. | Tonhöhenerkennung |
US6377915B1 (en) * | 1999-03-17 | 2002-04-23 | Yrp Advanced Mobile Communication Systems Research Laboratories Co., Ltd. | Speech decoding using mix ratio table |
US20030187663A1 (en) * | 2002-03-28 | 2003-10-02 | Truman Michael Mead | Broadband frequency translation for high frequency regeneration |
JP4296753B2 (ja) * | 2002-05-20 | 2009-07-15 | ソニー株式会社 | 音響信号符号化方法及び装置、音響信号復号方法及び装置、並びにプログラム及び記録媒体 |
US20040002859A1 (en) * | 2002-06-26 | 2004-01-01 | Chi-Min Liu | Method and architecture of digital conding for transmitting and packing audio signals |
CN101552007B (zh) * | 2004-03-01 | 2013-06-05 | 杜比实验室特许公司 | 用于对编码音频信道和空间参数进行解码的方法和设备 |
CN101273404B (zh) * | 2005-09-30 | 2012-07-04 | 松下电器产业株式会社 | 语音编码装置以及语音编码方法 |
EP1989707A2 (fr) * | 2006-02-24 | 2008-11-12 | France Telecom | Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants |
US7761900B2 (en) * | 2006-08-02 | 2010-07-20 | Clarendon Foundation, Inc. | Distribution of content and advertisement |
US8239190B2 (en) * | 2006-08-22 | 2012-08-07 | Qualcomm Incorporated | Time-warping frames of wideband vocoder |
US7953595B2 (en) * | 2006-10-18 | 2011-05-31 | Polycom, Inc. | Dual-transform coding of audio signals |
CN101192408A (zh) * | 2006-11-24 | 2008-06-04 | 华为技术有限公司 | 选择导谱频率系数矢量量化的方法及装置 |
KR100868763B1 (ko) * | 2006-12-04 | 2008-11-13 | 삼성전자주식회사 | 오디오 신호의 중요 주파수 성분 추출 방법 및 장치와 이를이용한 오디오 신호의 부호화/복호화 방법 및 장치 |
US8688437B2 (en) * | 2006-12-26 | 2014-04-01 | Huawei Technologies Co., Ltd. | Packet loss concealment for speech coding |
JP5275612B2 (ja) * | 2007-07-18 | 2013-08-28 | 国立大学法人 和歌山大学 | 周期信号処理方法、周期信号変換方法および周期信号処理装置ならびに周期信号の分析方法 |
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 |
EP2214165A3 (en) * | 2009-01-30 | 2010-09-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method and computer program for manipulating an audio signal comprising a transient event |
US8463599B2 (en) * | 2009-02-04 | 2013-06-11 | Motorola Mobility Llc | Bandwidth extension method and apparatus for a modified discrete cosine transform audio coder |
US8665945B2 (en) * | 2009-03-10 | 2014-03-04 | Nippon Telegraph And Telephone Corporation | Encoding method, decoding method, encoding device, decoding device, program, and recording medium |
JP5223786B2 (ja) * | 2009-06-10 | 2013-06-26 | 富士通株式会社 | 音声帯域拡張装置、音声帯域拡張方法及び音声帯域拡張用コンピュータプログラムならびに電話機 |
US8670990B2 (en) * | 2009-08-03 | 2014-03-11 | Broadcom Corporation | Dynamic time scale modification for reduced bit rate audio coding |
US8892428B2 (en) * | 2010-01-14 | 2014-11-18 | Panasonic Intellectual Property Corporation Of America | Encoding apparatus, decoding apparatus, encoding method, and decoding method for adjusting a spectrum amplitude |
CN102194458B (zh) * | 2010-03-02 | 2013-02-27 | 中兴通讯股份有限公司 | 频带复制方法、装置及音频解码方法、系统 |
JP5694751B2 (ja) * | 2010-12-13 | 2015-04-01 | 日本電信電話株式会社 | 符号化方法、復号方法、符号化装置、復号装置、プログラム、記録媒体 |
RU2554554C2 (ru) * | 2011-01-25 | 2015-06-27 | Ниппон Телеграф Энд Телефон Корпорейшн | Способ кодирования, кодер, способ определения величины периодического признака, устройство определения величины периодического признака, программа и носитель записи |
JP5613781B2 (ja) * | 2011-02-16 | 2014-10-29 | 日本電信電話株式会社 | 符号化方法、復号方法、符号化装置、復号装置、プログラム及び記録媒体 |
RU2571561C2 (ru) * | 2011-04-05 | 2015-12-20 | Ниппон Телеграф Энд Телефон Корпорейшн | Способ кодирования, способ декодирования, кодер, декодер, программа и носитель записи |
US20130006644A1 (en) * | 2011-06-30 | 2013-01-03 | Zte Corporation | Method and device for spectral band replication, and method and system for audio decoding |
EP2887349B1 (en) * | 2012-10-01 | 2017-11-15 | Nippon Telegraph and Telephone Corporation | Coding method, coding device, program, and recording medium |
-
2015
- 2015-02-20 JP JP2016515878A patent/JP6276845B2/ja active Active
- 2015-02-20 EP EP20167433.0A patent/EP3696812B1/en active Active
- 2015-02-20 US US15/304,733 patent/US10199046B2/en active Active
- 2015-02-20 PL PL20167431T patent/PL3703051T3/pl unknown
- 2015-02-20 PL PL15785387T patent/PL3139380T3/pl unknown
- 2015-02-20 EP EP15785387.0A patent/EP3139380B1/en active Active
- 2015-02-20 CN CN202110081890.3A patent/CN112820304B/zh active Active
- 2015-02-20 KR KR1020167029792A patent/KR101839016B1/ko active IP Right Grant
- 2015-02-20 EP EP20167431.4A patent/EP3703051B1/en active Active
- 2015-02-20 WO PCT/JP2015/054717 patent/WO2015166693A1/ja active Application Filing
- 2015-02-20 TR TR2019/09906T patent/TR201909906T4/tr unknown
- 2015-02-20 ES ES20167431T patent/ES2884626T3/es active Active
- 2015-02-20 ES ES20167433T patent/ES2883848T3/es active Active
- 2015-02-20 ES ES19157754T patent/ES2790278T3/es active Active
- 2015-02-20 PL PL20167433T patent/PL3696812T3/pl unknown
- 2015-02-20 ES ES15785387T patent/ES2732859T3/es active Active
- 2015-02-20 KR KR1020187006878A patent/KR101861787B1/ko active IP Right Grant
- 2015-02-20 PL PL19157754T patent/PL3509063T3/pl unknown
- 2015-02-20 KR KR1020187006872A patent/KR101861781B1/ko active IP Right Grant
- 2015-02-20 CN CN201580022887.7A patent/CN106663437B/zh active Active
- 2015-02-20 EP EP19157754.3A patent/EP3509063B1/en active Active
- 2015-02-20 CN CN202110083487.4A patent/CN112820305B/zh active Active
-
2017
- 2017-09-12 JP JP2017174630A patent/JP6412993B2/ja active Active
-
2018
- 2018-10-01 JP JP2018186412A patent/JP6595684B2/ja active Active
- 2018-11-26 US US16/199,387 patent/US10629214B2/en active Active
- 2018-11-26 US US16/199,370 patent/US10607616B2/en active Active
-
2019
- 2019-09-26 JP JP2019175448A patent/JP6744471B2/ja active Active
-
2020
- 2020-02-12 US US16/788,539 patent/US11164589B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2617958T3 (es) | Codificación de una señal acústica | |
ES2790278T3 (es) | Codificador, descodificador, método de codificación, método de descodificación, programa de codificación, programa de descodificación y medio de grabación | |
US11501788B2 (en) | Periodic-combined-envelope-sequence generation device, periodic-combined-envelope-sequence generation method, periodic-combined-envelope-sequence generation program and recording medium | |
ES2689072T3 (es) | Codificación de una señal de audio | |
ES2661504T3 (es) | Método de codificación, codificador, programa y medio de grabación |