ES2725305T3 - Aparato y procedimiento para codificar una señal de audio usando una parte de anticipación alineada - Google Patents

Aparato y procedimiento para codificar una señal de audio usando una parte de anticipación alineada Download PDF

Info

Publication number
ES2725305T3
ES2725305T3 ES12707050T ES12707050T ES2725305T3 ES 2725305 T3 ES2725305 T3 ES 2725305T3 ES 12707050 T ES12707050 T ES 12707050T ES 12707050 T ES12707050 T ES 12707050T ES 2725305 T3 ES2725305 T3 ES 2725305T3
Authority
ES
Spain
Prior art keywords
coding
window
prediction
frame
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES12707050T
Other languages
English (en)
Inventor
Emmanuel Ravelli
Ralf Geiger
Markus Schnell
Guillaume Fuchs
Vesa Ruoppila
Tom Bäckström
Bernhard Grill
Christian Helmrich
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Application granted granted Critical
Publication of ES2725305T3 publication Critical patent/ES2725305T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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
    • G10L19/028Noise substitution, i.e. substituting non-tonal spectral components by noisy source
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10KSOUND-PRODUCING DEVICES; METHODS OR DEVICES FOR PROTECTING AGAINST, OR FOR DAMPING, NOISE OR OTHER ACOUSTIC WAVES IN GENERAL; ACOUSTICS NOT OTHERWISE PROVIDED FOR
    • G10K11/00Methods or devices for transmitting, conducting or directing sound in general; Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • G10K11/16Methods or devices for protecting against, or for damping, noise or other acoustic waves in general
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/012Comfort noise or silence coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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
    • G10L19/0212Speech 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 using orthogonal transformation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • G10L19/025Detection of transients or attacks for time/frequency resolution switching
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech 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
    • G10L19/03Spectral prediction for preventing pre-echo; Temporary noise shaping [TNS], e.g. in MPEG2 or MPEG4
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • G10L19/07Line spectrum pair [LSP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • G10L19/13Residual excited linear prediction [RELP]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

Un aparato para codificar una señal de audio que presenta un flujo de muestras de audio (100), que comprende: un dispositivo de división en ventanas (102) para aplicar una ventana de análisis de codificación por predicción (200) al flujo de muestras de audio con el fin de obtener datos divididos en ventanas para un análisis por predicción y para aplicar una ventana de análisis de codificación por transformada (204) al flujo de muestras de audio con el fin de obtener datos divididos en ventanas para un análisis por transformada, en el que la ventana de análisis de codificación por transformada está asociada a muestras de audio dentro de una trama actual de muestras de audio y a muestras de audio de una parte predefinida de una trama futura de muestras de audio que es una parte de anticipación de codificación por transformada (206), en el que la ventana de análisis de la codificación por predicción se asocia a al menos la parte de muestras de audio de la trama actual y a muestras de audio de una parte predefinida de la trama futura que es una parte de anticipación de codificación por predicción (208), en el que la parte de anticipación de codificación por transformada (206) y la parte de anticipación de codificación por predicción (208) son idénticas entre sí o son diferentes entre sí en menos del 20 % de la parte de anticipación de codificación por predicción (208) o en menos del 20 % de la parte de anticipación de codificación por transformada (206); y un procesador de codificación (104) para generar datos codificados por predicción para la trama actual usando datos divididos en ventanas para el análisis por predicción o para generar datos codificados por transformada para la trama actual usando datos divididos en ventanas para el análisis por transformada.

Description

DESCRIPCIÓN
Aparato y procedimiento para codificar una señal de audio usando una parte de anticipación alineada
[0001] La presente invención se refiere a codificación de audio y, en particular, a codificación de audio por conmutación, y de forma correspondiente a decodificadores de audio controlados, en particular adecuados para aplicaciones de bajo retardo.
[0002] Se conocen varios conceptos sobre codificadores de audio que dependen de códec conmutados. Un concepto conocido sobre codificación de audio es el denominado códec de banda ancha de múltiple velocidad extendido adaptativo o AMR-WB+ (Extended Adaptive Multi-Rate-Wideband), tal como se describe en 3GPP TS 26.290 B10.0.0 (2011-03). El códec de audio AMR-WB+ contiene todos los modos del códec de voz AMR-WB 1 a 9 y AMR-WB Va D y DTX. AMR-WB+ extiende el códec AMR-WB añadiendo TCX, extensión de banda ancha y estéreo.
[0003] Los procesos del códec de audio AMR-WB+ introducen tramas iguales a 2.048 muestras a una frecuencia de muestreo interna Fs. La frecuencia de muestreo interna se limita al intervalo de 12.800 a 38.400 Hz. Las tramas de 2.048 muestras se dividen en dos bandas de frecuencia iguales sometidas a muestreo crítico. Se obtienen así dos supertramas de 1.024 muestras correspondientes a bandas de baja frecuencia (LF, low frequency) y alta frecuencia (HF, high frequency). Cada supertrama se divide en cuatro tramas de 256 muestras. El muestreo a la velocidad de muestreo interna se obtiene usando un esquema de conversión de muestreo variable que remuestrea la señal de entrada.
[0004] A continuación, las señales de LF y HF se codifican usando dos enfoques diferentes: la señal LF se codifica y decodifica usando el codificador/decodificador “central”, basado en el modo ACELP y excitación codificada por transformada (TCX) conmutado. En el modo ACELP, se usa el códec AMR-WB estándar. La seña1HF se codifica con relativamente pocos bits (16 bits/trama) usando el procedimiento de extensión de ancho de banda (BWE, Bandwidth Extension). Los parámetros transmitidos desde el codificador al decodificador son los bits de selección de modo, los parámetros LF y los parámetros HF. Los parámetros para cada supertrama de 1.024 muestras se descomponen en cuatro paquetes de idéntico tamaño. Cuando la señal de entrada es estéreo, los canales izquierdo y derecho se combinan en señales mono para la codificación ACELP-TCX, mientras que la codificación estéreo recibe los dos canales de entrada. En el lado del decodificador, las bandas LF y HF se decodifican por separado, después de lo cual las bandas se combinan en un banco de filtro de síntesis. Si la salida se restringe a mono sólo, los parámetros estéreo se omiten y el decodificador actúa en modo mono. El códec AMR-WB+ aplica análisis LP para los modos ACELP y TCX cuando se codifica la señal LF. Los coeficientes LP se interpolan linealmente en cada subtrama de 64 muestras. La ventana de análisis LP es un medio coseno de 384 muestras de longitud. Para codificar la señal mono central se usa una codificación ACELP o TCX para cada trama. El modo de codificación se selecciona basado en un procedimiento de bucle cerrado de análisis-síntesis. Sólo se consideran tramas de 256 muestras para las tramas ACELP, mientras que las tramas de 256, 512 o 1.024 muestras son posibles en el modo TCX. La ventana usada para el análisis LPC en AMR-WB+ se ilustra en la fig. 5b. Se usa una ventana de análisis LPC simétrica con anticipación de 20 ms. Anticipación significa que, como se ilustra en la fig. 5b, la ventana de análisis LPC para la trama actual ilustrada en 500 no sólo se extiende dentro de la trama actual indicada entre 0 y 20 ms en la fig. 5b ilustrada por 502, sino que se extiende en la trama futura entre 20 y 40 ms. Esto significa que al usar esta ventana de análisis LPC, se necesita un retardo adicional de 20 ms, es decir, una trama futura completa. Por tanto, la parte de anticipación indicada en 504 en la fig. 5b contribuye al retardo sistemático asociado con el codificador AMR-WB+. Dicho de otro modo, deberá estar totalmente disponible una trama futura para que puedan calcularse los coeficientes del análisis LPC para la trama actual 502.
[0005] La fig. 5a ilustra un codificador adicional, denominado codificador AMR-WB y, en particular, la ventana de análisis LPC usada para calcular los coeficientes de análisis para la trama actual. Una vez más, la trama actual se extiende entre 0 y 20 ms y la trama futura se extiende entre 20 y 40 ms. A diferencia de la fig. 5b, la ventana de análisis LPC de AMR-WB indicada en 506 tiene una parte de anticipación 508 de 5 ms sólo, es decir, la separación de tiempo entre 20 ms y 25 ms. De este modo, el retardo introducido por el análisis LPC se reduce sustancialmente con respecto a la fig. 5a. Por otro lado, sin embargo, se ha descubierto que una parte mayor de anticipación para determinar los coeficientes LPC, es decir, una parte mayor de anticipación para la ventana de análisis LPC produce mejores coeficientes LPC y, por tanto, una menor energía en la señal residual y, por tanto, una velocidad binaria menor, ya que la predicción LPC se adapta mejor a la señal original.
[0006] Mientras las fig. 5a y 5b se refieren a codificadores que tienen sólo una única ventana de análisis para determinar los coeficientes LPC para una trama, la fig. 5c ilustra la situación para el codificador de voz G.718. La especificación G718 (06-2008) se refiere a sistemas de transmisión y sistemas y redes digitales de medios y, en particular, describe equipos de terminal digital y, en particular, una codificación de señales de voz y audio para dichos equipos. En particular, esta norma se refiere a codificación de voz y audio con velocidad binaria variable que incluye banda estrecha y banda ancha de 8-32 kbit/s robusta tal como se define en la recomendación ITU-T G718. La señal de entrada se procesa usando tramas de 20 ms. El retardo del códec depende de la velocidad de muestreo de entrada y de salida. Para una entrada de banda ancha y una salida de banda ancha, el retardo algorítmico total de esta codificación es 42,875 ms. Consiste en una trama de 20 ms, un retardo 1,875 ms de filtros de remuestreo de entrada y salida, 10 ms para la anticipación del codificador, 1 ms de retardo de posfiltrado y 10 ms en el decodificador para permitir la operación de superposición y suma de la codificación de transformada de capa superior. Para una entrada de banda estrecha y salida de banda estrecha no se usan capas superiores, sino que se usa el retardo del decodificador de 10 ms para mejorar el rendimiento de la codificación en presencia de borrados de trama y para señales de música. Si la salida se limita a la capa 2, el retardo de códec puede reducirse en 10 ms. La descripción del codificador es la siguiente. Las dos capas inferiores se aplican a una señal preacentuada sometida a muestreo a 12,8 kHz, y las tres capas superiores actúan en el dominio de la señal de entrada sometida a muestreo a 16 kHz. La capa de núcleo se basa en la tecnología de predicción lineal excitada por código (CELP, Code-Excited Linear Prediction), en la que la señal de voz es modelada por una señal de excitación que hace pasar por un filtro de síntesis de predicción lineal (LP, linear prediction) que representa la envolvente espectral. El filtro LP se cuantifica en el dominio de frecuencia espectral de inmitancia (ISF, Immitance Spectral Frequency) usando un enfoque de predicción-conmutación y cuantificación de vector de etapas múltiples. El análisis de altura de tono en bucle abierto se realiza mediante un algoritmo de rastreo de altura de tono para asegurar un contorno de altura de tono suave. Se comparan dos contornos de evolución de altura de tono concurrente y se selecciona el rastro que produce el contorno más suave que produce la estimación de altura de tono más robusta. El preprocesamiento de nivel de trama comprende un filtrado de paso alto, una conversión de muestreo a 12.800 muestras por segundo, una preacentuación, un análisis espectral, una detección de entradas de banda estrecha, una detección de actividad de voz, una estimación de ruido, reducción de ruido, análisis de predicción lineal, conversión de LP a ISF y una interpolación, una computación de señal de voz ponderada, un análisis de altura de tono en bucle abierto, una actualización de ruido de fondo, una clasificación de señal para una selección de modo de codificación y un ocultamiento de borrado de trama. La codificación de capa 1 que usa el tipo de codificador seleccionado comprende un modo de codificación sin voz, un modo de codificación con voz, un modo de codificación de transición, un modo de codificación genérica y una transmisión discontinua y generación de ruido de confort (DTX/CNG, Discontinuous Transmission and Comfort Noise Generation).
[0007] Un análisis de predicción a largo plazo o predicción lineal (LP) que usa el enfoque de autocorrelación determina los coeficientes del filtro de síntesis del modelo CELP. Sin embargo, en CELP la predicción a largo plazo es normalmente el “libro de códigos adaptativo” y por tanto es diferente de la predicción lineal. La predicción lineal puede, por tanto, considerarse más una predicción a corto plazo. La autocorrelación de la voz dividida en ventanas se convierte en coeficientes LP usando el algoritmo de Levinson-Durbin. A continuación, los coeficientes LPC se transforman en pares espectrales de inmitancia (ISP, Immitance Spectral Pairs) y en consecuencia en frecuencias espectrales de inmitancia (ISF, Immitance Spectral Frequencies) con fines de cuantificación e interpolación. Los coeficientes interpolados cuantificados y no cuantificados se convierten nuevamente al dominio LP para construir filtros de síntesis y ponderación para cada subtrama. En caso de codificación de una trama de señal activa, se estiman dos grupos de coeficientes LP en cada trama usando las dos ventanas de análisis LPC indicadas en 510 y 512 en la fig. 5c. La ventana 512 se denomina “ventana LPC de mitad de trama”, y la ventana 510 se denomina “ventana LPC de final de trama”. Se usa una parte de anticipación 514 de 10 ms para calcular la autocorrelación de final de trama. La estructura de la trama se ilustra en la fig. 5c. La trama se divide en cuatro subtramas, teniendo cada subtrama una longitud de 5 ms correspondiente a 64 muestras a velocidad de muestreo de 12,8 kHz. Las ventanas para el análisis de final de trama y para el análisis de mitad de trama se centran en la cuarta subtrama y la segunda subtrama, respectivamente tal como se ilustra en la fig. 5c. Para la división en ventanas se usa una ventana Hamming con longitud de 320 muestras. Los coeficientes se definen en G.718, Sección 6.4.1. El cálculo de autocorrelación se describe en la Sección 6.4.2. El algoritmo de Levinson-Durbin se describe en la Sección 6.4.3, la conversión de LP a ISP se describe en la Sección 6.4.4 y la conversión de ISP a LP se describe en la Sección 6.4.5.
[0008] Se investigan los parámetros de codificación de voz como el retardo de libro de códigos adaptativo y la ganancia, el índice de libro de código algebraico y la ganancia reduciendo al mínimo el error entre la señal de entrada y la señal sintetizada en el dominio ponderado perceptualmente. La ponderación perceptual se realiza filtrando la señal mediante un filtro de ponderación perceptual obtenido de los coeficientes del filtro LP. La señal ponderada en forma perceptual se usa también en el análisis de altura de tono en bucle abierto.
[0009] El codificador G.718 es un codificador de voz puro que tiene únicamente modo de codificación de solo voz. Por tanto, el codificador G.718 no es un codificador conmutado y, de este modo, este codificador no es ventajoso porque tiene únicamente un modo de codificación de solo voz dentro de la capa de núcleo. De este modo, se producen los problemas de calidad cuando este codificador se aplica a señales que no sean señales de voz, es decir, a señales de audio generales, para las cuales el modelo subyacente a la codificación CELP no es apropiado.
[0010] Un códec conmutado adicional es el denominado códec USAC, es decir, el códec de audio de voz unificada tal como se define en ISO/IEC CD 23003-3 con fecha del 24 de septiembre de 2010. La ventana de análisis LPC usada para este códec conmutado se indica en la fig. 5d en 516. Nuevamente, se supone una trama actual que se extiende entre 0 y 20 ms y, por tanto, se muestra que la parte de anticipación 618 de este códec es 20 ms, es decir, es significativamente mayor que la parte de anticipación de G.718. De este modo, aunque el codificador USAC proporciona una buena calidad de audio debido a su naturaleza conmutada, el retardo es considerable debido a la parte LPC de la ventana de análisis de anticipación 518 en la fig. 5d. La estructura general de USAC es la siguiente. Primero, existe un pre/posprocesamiento común que consiste en una unidad funcional de sonido envolvente MPEG (MPEGS) para gestionar procesamientos estéreo o de multicanales y una unidad mejorada SBR (eSBR) que gestiona la representación paramétrica de las frecuencias de audio mayores en la señal de entrada. A continuación, existen dos ramas, una consistente en una trayectoria de herramienta de codificación de audio avanzada (AAC, advanced audio coding) y la otra consistente en una trayectoria basada en codificación de predicción lineal (dominio LP o LPC), que a su vez presenta una representación en el dominio de frecuencias o una representación en el dominio de tiempo de la LPC residual. Todos los espectros transmitidos para las dos, AAC y LPC, se representan en el dominio MDCT que sigue al esquema de cuantificación y codificación aritmética. La representación en el dominio de tiempo usa un esquema de codificación por excitación ACELP. La herramienta ACELP proporciona una manera de representar de manera eficiente una señal de excitación en el dominio de tiempo combinando un predictor a largo plazo (palabra código adaptativa) con una secuencia de tipo pulso (palabra código de innovación). La excitación reconstruida se envía a través de un filtro de síntesis LP para formar una señal en el dominio de tiempo. La entrada a la herramienta ACELP comprende índices del libro de código adaptativo y de innovación, valores de ganancia de códigos adaptativos y de innovación, otros datos de control y coeficientes de filtro LPC inversamente cuantificados e interpolados. La salida de la herramienta ACELP es la señal de audio reconstruida en el dominio de tiempo.
[0011] La herramienta de decodificación TCX basada en MDCT se usa para cambiar la representación residual LP ponderada de un dominio MDCT de nuevo en la señal en el dominio de tiempo y envía la señal en el dominio de tiempo ponderada incluyendo el filtro de síntesis LP ponderado. La IMDCT puede configurarse de manera que soporte 256, 512 o 1.024 coeficientes espectrales. La entrada a la herramienta TCX comprende los espectros MDCT (inversamente cuantificados), y los coeficientes de filtro LPC inversamente cuantificados e interpolados. El envío de la herramienta TCX se encuentra en la señal de audio reconstruida en el dominio de tiempo.
[0012] La fig. 6 ilustra una situación en USAC, en la que se observan las ventanas de análisis LPC 516 para la trama actual y 520 para la trama pasada o última, y en la que, además, se ilustra una ventana TCX 522. La ventana TCX 522 está centrada en el centro de la trama actual que se extiende entre 0 y 20 ms y se extiende 10 ms en la trama pasada y 10 ms en la trama futura que se extiende entre 20 y 40 ms. De este modo, la ventana de análisis LPC 516 requiere una parte LPC de anticipación de entre 20 y 40 ms, es decir, 20 ms, mientras que la ventana de análisis TCX tiene además una parte de anticipación que se extiende entre 20 y 30 ms en la trama futura. Esto significa que el retardo introducido por la ventana de análisis USAC 516 es 20 ms, mientras que el retardo introducido en el codificador por la ventana TCX es 10 ms. De este modo, resulta claro que las partes de anticipación de los dos tipos de ventanas no están alineadas entre sí. Por tanto, aunque la ventana TCX 522 sólo introduce un retardo de 10 ms, el retardo completo del codificador es sin embargo de 20 ms debido a la ventana de análisis LPC 516. Por tanto, aunque existe una pequeña parte de anticipación para la ventana TCX, no reduce el retardo algorítmico total del codificador, ya que el retardo total se determina por la contribución más alta, es decir, es igual a 20 ms debido a la ventana de análisis LPC 516 que se extiende 20 ms en la trama futura, es decir, no sólo cubre la trama actual sino que además cubre la trama futura.
[0013] La publicación de la técnica anterior “Codificación de voz/audio universal que usa técnicas ACELP/TCX híbridas” B. Bessette y col., ICASSP 2005, páginas III-301 a III-304 describe un algoritmo de codificación de audio híbrido que integra una técnica de codificación basada en LP y una técnica de codificación por transformada más general. Los modos ACELP y TCX están integrados en el sentido de que los dos se basan en análisis LP y codificación de excitación. En ACELP, la excitación se codifica usando un libro de códigos disperso en el dominio de excitación, mientras que en TCX el libro de códigos está en el dominio objeto, o de señal ponderada. El análisis LP se realiza cada 20 ms, usando una ventana de medio seno situada en la parte central de la primera subtrama de 5 ms en la siguiente trama. Son posibles una trama TCX con 20 ms, una trama TCX con 40 ms o una TCX con 80 ms de longitud, en las que la duración de superposición en la parte derecha de la ventana que corresponde a una anticipación en la siguiente trama de la trama de 80 ms es igual a 128 muestras que corresponden a una duración de 10 ms a la vista de la velocidad de muestreo interna de 12,8 kHz en AMR-WB.
[0014] Un objetivo de la presente invención es proporcionar un concepto de codificación mejorado para la codificación o decodificación de audio que, por un lado, proporcione una buena calidad de audio y, por otro lado, produzca un retardo reducido.
[0015] Este objetivo se logra con un aparato para codificar una señal de audio según la reivindicación 1, un procedimiento para codificar una señal de audio según la reivindicación 15 o un programa informático según la reivindicación 16.
[0016] Según la presente invención, se aplica un esquema de códec de audio conmutado que tiene una rama de codificación por transformada y una rama de codificación por predicción. De manera importante, los dos tipos de ventanas, es decir, la ventana de análisis de codificación por predicción por un lado y la ventana de análisis de codificación por transformada por otro lado están alineados con respecto a su parte de anticipación para que la parte de anticipación de codificación por transformada y la parte de anticipación de codificación por predicción sean idénticas o sean diferentes entre sí en menos del 20 % de la parte de anticipación de codificación por predicción o en menos del 20 % de la parte de anticipación de codificación por transformada. Debe observarse que la ventana de análisis por predicción se usa no sólo en la rama de codificación por predicción, sino que en realidad se usa en las dos ramas. El análisis LPC se usa además para modelar el ruido en el dominio de transformada. Por tanto, dicho de otro modo, las partes de anticipación son idénticas o muy cercanas entre sí. Se asegura así que se obtenga un compromiso óptimo y que las características de calidad de audio o de retardo no se establezcan de manera subóptima. De este modo, para la codificación por predicción en la ventana de análisis se ha descubierto que el análisis LPC es mejor cuanto mayor es la parte de anticipación, pero, por otro lado, con una parte mayor de anticipación el retardo aumenta. Por otro lado, sucede lo mismo para la ventana TCX. Cuanto mayor es la parte de anticipación de la ventana TCX, mejor se reduce la velocidad binaria de TCX, ya que las ventanas TCX más largas producen en general menores velocidades binarias. Por tanto, a diferencia de la presente invención, las partes de anticipación son idénticas o muy cercanas entre sí y, en particular, con una diferencia entre sí de menos del 20 %. Por tanto, la parte de anticipación, que no se desea por motivos de retardo, por otro lado es usada de manera óptima por las dos ramas de codificación/decodificación.
[0017] Teniendo en cuenta lo anterior, la presente invención proporciona un concepto de codificación mejorado, por un lado con un bajo retardo cuando la parte de anticipación para las dos ventanas de análisis se establece como baja y, por otro lado, proporciona un concepto de codificación/decodificación con buenas características debido a que el retardo que debe ser introducido por razones de calidad de audio o de velocidades binarias es usado de manera óptima por las dos ramas de codificación y no sólo por una de las ramas de codificación.
[0018] Un aparato para codificar una señal de audio que tiene un flujo de muestras de audio comprende un aparato para la división en ventanas que aplica una ventana de análisis de codificación por predicción a un flujo de muestras de audio y obtener datos divididos en ventanas para un análisis por predicción y para aplicar una ventana de análisis de codificación por transformada a la serie de muestras de audio y obtener datos divididos en ventanas para un análisis por transformada. La ventana de análisis de codificación por transformada se asocia con muestras de audio de una trama actual de muestras de audio de una parte de anticipación predefinida de una trama futura de muestras de audio que es una parte de anticipación de codificación por transformada.
[0019] Además, la ventana de análisis de codificación por predicción se asocia con al menos una parte de muestras de audio de la trama actual y con muestras de audio de una parte predefinida de la trama futura que es una parte de anticipación de codificación por predicción.
[0020] La parte de anticipación de codificación por transformada y la parte de anticipación de codificación por predicción son idénticas entre sí o son diferentes entre sí en menos del 20 % de la parte de anticipación de codificación por predicción o en menos del 20 % de la parte de anticipación de codificación por transformada y por tanto son muy cercanas entre sí. El aparato comprende además un procesador de codificación para generar datos codificados por predicción para la trama actual usando los datos divididos en ventanas para el análisis por predicción o para generar datos codificados por transformada para la trama actual usando los datos divididos en ventanas para análisis por transformada.
[0021] Un decodificador de audio para decodificar una señal de audio codificada comprende un decodificador de parámetros por predicción para realizar una decodificación de datos para una trama codificada por predicción desde la señal de audio codificada y, para la segunda rama, un decodificador de parámetros por transformada para realizar una decodificación de datos para una trama codificada por transformada desde la señal de audio codificada.
[0022] El decodificador de parámetros por transformada se configura para realizar una transformada de tiempo espectral que es preferentemente una transformada afectada por solapamiento como MDCT o MDST o cualquier otra transformada, y para aplicar una ventana de síntesis a datos transformados y obtener datos para la trama actual y la trama futura. La ventana de síntesis aplicada por el decodificador de audio tiene una primera parte de superposición, una segunda parte de no superposición adyacente y una tercera parte de superposición adyacente, en la que la tercera parte de superposición se asocia con muestras de audio para la trama futura y la parte de no superposición se asocia con datos de la trama actual. Además, para tener una buena calidad de audio en el lado del decodificador, se aplica un aparato para la superposición-suma para superponer y sumar muestras de ventana de síntesis asociadas con la tercera parte de superposición de una ventana de síntesis para la trama actual y muestras sometidas a división de ventana de síntesis asociadas con la primera parte de superposición de una ventana de síntesis para la trama futura y obtener una primera parte de muestras de audio para la trama futura, en la que un resto de muestras de audio para la trama futura se somete a división de ventana de síntesis asociado con la segunda parte de no superposición de ventana de síntesis para la trama futura obtenida sin superposición-suma, cuando la trama actual y la trama futura comprenden datos codificados por transformada.
[0023] Las realizaciones preferidas de la presente invención se caracterizan por la característica de que la misma parte de anticipación para la rama de codificación por transformada tal como la rama TCX y la rama de codificación por predicción tal como la rama ACELP son idénticas entre sí de manera que los dos modos de codificación tienen la máxima parte de anticipación disponible bajo restricciones de retardo. Además, se prefiere que la superposición de la ventana TCX se restrinja a la parte de anticipación de manera que se facilite una conmutación desde el modo de codificación por transformada al modo de codificación por predicción de una trama a la trama siguiente sin problemas de direccionamiento de solapamiento.
[0024] Una razón adicional para restringir la superposición con la parte de anticipación es no introducir un retardo en el lado del decodificador. Si se tuviera una ventana TCX con 10 ms de anticipación, y por ejemplo 20 ms de superposición, se introducirían 10 ms más de retardo en el decodificador. Cuando se tiene una ventana TCX con 10 ms de anticipación y 10 ms de superposición, no se tiene un retardo adicional en el lado del decodificador. Una buena consecuencia de ello es una conmutación más fácil.
[0025] Por tanto, se prefiere que la segunda parte de no superposición de la ventana de análisis y por supuesto la ventana de síntesis se extienda hasta el final de la trama actual y la tercera parte de superposición sólo comienza con respecto a la trama futura. Además, la parte no de ceros de la ventana de análisis/síntesis TCX o codificación por transformada está alineada con el inicio de la trama de manera que, nuevamente, se disponga de una conmutación fácil y de baja eficiencia de un modo al otro.
[0026] Además, se prefiere que una trama completa consistente en una pluralidad de subtramas, tal como cuatro subtramas, se codifique totalmente en el modo de codificación por transformada (tal como modo TCX) o se codifique totalmente en el modo de codificación por predicción (tal como modo ACELP).
[0027] Además, se prefiere que no sólo se use una sola ventana de análisis LPC sino dos ventanas de análisis LPC diferentes, en la que una ventana de análisis LPC esté alineada con el centro de la cuarta subtrama y sea una ventana de análisis de trama final mientras que la otra ventana de análisis esté alineada con el centro de la segunda subtrama y sea una ventana de análisis de mitad de trama. Sin embargo, si el codificador se conmuta a codificación por transformada, se prefiere transmitir un solo dato de coeficiente LPC obtenido sólo del análisis LPC basado en la ventana de análisis LPC de trama final. Además, en el lado del decodificador, se prefiere no usar estos datos LPC directamente para la síntesis de codificación por transformada, y en particular una ponderación espectral de coeficientes TCX. En su lugar se prefiere interpolar los datos TCX obtenidos de la ventana de análisis LPC de la trama final de la trama actual con los datos obtenidos por la ventana de análisis LPC de la trama final de la trama pasada, es decir, la trama inmediata anterior en el tiempo a la trama actual. Al transmitir sólo un grupo de coeficientes LPC para una trama completa en el modo t Cx , se obtiene otra reducción de velocidad binaria en comparación con la transmisión de dos grupos de datos de coeficientes LPC para análisis de mitad de trama y de final de trama. Sin embargo, cuando el codificador conmuta a modo ACELP, los dos grupos de coeficientes LPC se transmiten del codificador al decodificador.
[0028] Además, se prefiere que la ventana de análisis LPC de mitad de trama finalice inmediatamente en el último límite de trama de la trama actual y además se extienda en la trama pasada. No se introduce ningún retardo, ya que la trama pasada ya está disponible y puede ser usada sin retardo.
[0029] Por otro lado, se prefiere que la ventana de análisis de final de trama comience en algún lugar dentro de la trama actual y no al inicio de la trama actual. Sin embargo, no resulta un problema, ya que, para formar la ponderación TCX, se establece un promedio del grupo de datos LPC de final de trama para la trama pasada y el grupo de datos LPC de final de trama para la trama actual de manera que, al final, todos los datos se utilicen para calcular los coeficientes LPC. De este modo, el inicio de la ventana de análisis de final de trama se encuentra preferentemente dentro de la parte de anticipación de la ventana de análisis de final de trama de la trama pasada.
[0030] En el lado del decodificador se obtiene una tara reducida importante para conmutar de un modo al otro. El motivo es que la parte de no superposición de la ventana de síntesis, que es preferentemente simétrica en sí misma, no se asocia a muestras de la trama actual sino a muestras de una trama futura, y por tanto sólo se extiende dentro de la parte de anticipación, es decir, sólo en la trama futura. De este modo, la ventana de síntesis es tal que sólo la primera parte de superposición preferentemente al comienzo inmediato de la trama actual se encuentra dentro de la trama actual y la segunda parte de no superposición se extiende desde el final de la primera parte de superposición al final de la trama actual y, por tanto, la segunda parte de superposición coincide con la parte de anticipación. Por tanto, cuando hay transición de TCX a ACELP, los datos que se obtienen debido a la parte de superposición de la ventana de síntesis simplemente se descartan y se sustituyen por datos de codificación por predicción disponibles desde el inicio de la trama futura fuera de la rama ACELP.
[0031] Por otro lado, cuando hay conmutación de ACELP a TCX, se aplica una ventana de transición específica que comienza inmediatamente en el principio de la trama actual, es decir, la trama inmediata posterior a la conmutación, con una parte de no superposición de manera que los datos no tengan que ser reconstruidos para encontrar “compañeros” de superposición. En su lugar, la parte de no superposición de la ventana de síntesis proporciona datos correctos sin necesidad de procedimientos de superposición ni superposición-suma en el decodificador. Sólo para las partes de superposición, es decir, la tercera parte de la ventana para la trama actual y la primera parte de la ventana para la trama siguiente, resulta de utilidad un procedimiento de superposición-suma y se aplica para tener, como en un MDCT directo, un proceso continuo de aparición gradual/desvanecimiento de un bloque a otro para obtener finalmente una buena calidad de audio sin aumentar la velocidad binaria debido a la naturaleza de muestreo crítica de MDCT que se conoce también en la técnica como cancelación de solapamiento en el dominio de tiempo (TDAC, Time Domain Aliasing Cancellation).
[0032] Además, el decodificador resulta útil porque, para un modo de codificación ACELP, se transmiten los datos LPC obtenidos de la ventana de mitad de la trama y la ventana de final de la trama en el codificador mientras que, para el modo de codificación TCX, sólo se usa un grupo de datos LPC obtenidos de la ventana de final de la trama. Para datos decodificados TCX ponderados en forma espectral, sin embargo, los datos LPC transmitidos no se usan tal cual, sino que los datos se promedian con los datos correspondientes a la ventana de análisis LPC de final de la trama obtenidos para la trama pasada.
[0033] Las realizaciones preferidas de la presente invención se describen a continuación con respecto a los dibujos adjuntos, en los que:
la fig. 1a ilustra un diagrama de bloques de un codificador de audio conmutado preferido;
la fig. 1 b ilustra un diagrama de bloques de un decodificador conmutado correspondiente;
la fig. 1c ilustra más detalles en el decodificador de parámetros por transformado ilustrado en la fig. 1b;
la fig. 1d ilustra más detalles en el modo de codificación por transformada del decodificador de la fig. 1a;
la fig. 2a ilustra una realización preferida para el dispositivo de división en ventanas aplicado en el codificador para análisis LPC por un lado y análisis de codificación por transformada por otro lado, y es una representación de la ventana de síntesis usada en el decodificador de codificación por transformada de la fig. 1b;
la fig. 2b ilustra una secuencia de ventana de ventanas de análisis LPC y ventanas TCX alineadas para un intervalo de tiempo de más de dos tramas;
la fig. 2c ilustra una situación para una transición de TCX a ACELP y una ventana de transición para una transición de ACELP a TCX;
la fig. 3a ilustra más detalles del codificador de la fig. 1a;
la fig. 3b ilustra un procedimiento de análisis-síntesis para decidir un modo de codificación para una trama;
la fig. 3c ilustra otra realización para decidir entre los modos para cada trama;
la fig. 4a ilustra el cálculo y el uso de datos LPC obtenidos usando dos ventanas de análisis LPC diferentes para una trama actual;
la fig. 4b ilustra el uso de datos LPC obtenidos por división en ventanas usando una ventana de análisis LPC para la rama TCX del codificador;
la fig. 5a ilustra ventanas de análisis LPC para AMR-WB;
la fig. 5d ilustra ventanas simétricas para AMR-WB+ con fines de análisis LPC;
la fig. 5c ilustra ventanas de análisis LPC para un codificador G.718;
la fig. 5d ilustra ventanas de análisis LPC tal como se usan en USAC; y
la fig. 6 ilustra una ventana TCX para una trama actual con respecto a una ventana de análisis LPC para la trama actual.
[0034] La fig. 1a ilustra un aparato para codificar una señal de audio con un flujo de muestras de audio. Las muestras de audio o datos de audio entran en el codificador en 100. Los datos de audio se introducen en un dispositivo de división en ventanas 102 para aplicar una ventana de análisis de codificación por predicción a un flujo de muestras de audio y obtener datos de división en ventanas para un análisis por predicción. El dispositivo de división en ventanas 102 se configura para aplicar una ventana de análisis de codificación por transformada al flujo de muestras de audio con el fin de obtener datos divididos en ventanas para un análisis por transformada. Dependiendo de la implementación, la ventana LPC no se aplica de forma directa a la señal original sino a una señal preacentuada (como en AMR-WB, AMR-WB+, G718 y UsAc ). Por otro lado la ventana TCX se aplica en la señal original directamente (como en USAC). Sin embargo, las dos ventanas pueden aplicarse a la misma señal o la ventana TCX puede aplicarse también a una señal de audio procesada obtenida de la señal original como, por ejemplo, por preacentuación u otra ponderación usada para mejorar la calidad o eficiencia de compresión.
[0035] La ventana de análisis de codificación por transformada se asocia con muestras de audio en una trama actual de muestras de audio y con muestras de audio de una parte predefinida de la trama futura de muestras de audio que es una parte de anticipación de codificación por transformada.
[0036] Además, la ventana de análisis de codificación por predicción se asocia con al menos una parte de muestras de audio de la trama actual y con muestras de audio de una parte predefinida de la trama futura que es una parte de anticipación de codificación por predicción.
[0037] Tal como se representa en el bloque 102, la parte de anticipación de codificación por transformada y la parte de anticipación de codificación por predicción están alineadas entre sí, lo que significa que estas partes son idénticas o muy cercanas entre sí, por ejemplo diferentes entre sí en menos del 20 % de la parte de anticipación de codificación por predicción o en menos del 20 % de la parte de anticipación de codificación por transformada.
Preferentemente, las partes de anticipación son idénticas o diferentes entre sí en menos del 5 % de la parte de anticipación de codificación por predicción o en menos del 5 % de la parte de anticipación de codificación por transformada.
[0038] El codificador comprende además un procesador de codificación 104 para generar datos codificados por predicción para la trama actual usando los datos de división en ventanas para el análisis por predicción o para generar datos codificados por transformada para la trama actual usando los datos de división en ventanas para el análisis por transformada.
[0039] Además, el codificador comprende preferentemente una interfaz de salida 106 para recibir, para una trama actual y, en realidad, para cada trama, datos LPC 108a y datos codificados por transformada (tales como datos TCX) o datos codificados por predicción (datos ACELP) en la línea 108b. El procesador de codificación 104 proporciona estas dos clases de datos y recibe, como entrada, datos divididos en ventanas para un análisis por predicción indicado en 110a y datos divididos en ventanas para un análisis por transformada indicado en 110b. Además, el aparato para codificar comprende un selector de modo de codificación o controlador 112 que recibe, como entrada, los datos de audio 100 y proporciona, como salida, datos de control para el procesador de codificación 104 por la línea de control 114a, o datos de control para la interfaz de salida 106 por la línea de control 114b.
[0040] La fig. 3a proporciona otros detalles en el procesador de codificación 104 y el dispositivo de división en ventanas 102. El dispositivo de división en ventanas 102 comprende preferentemente, como primer módulo, el LPC o dispositivo de división en ventanas de análisis de codificación por predicción 102a y, como segundo componente o módulo, el dispositivo de división en ventanas de codificación por transformada (tal como el dispositivo de división en ventanas TCX) 102b. Tal como indica la flecha 300, la ventana de análisis LPC y la ventana TCX están alineadas entre sí de manera que las partes de anticipación de las dos ventanas sean idénticas entre sí, lo que significa que las dos partes de anticipación se extienden hasta el mismo instante de tiempo en una trama futura. La rama superior en la fig. 3a del dispositivo de división en ventanas LPC 102a hacia delante a la derecha es una rama de codificación por predicción con un analizador LPC e interpolador 302, un filtro de ponderación perceptual o bloque de ponderación 304 y un calculador de parámetro de codificación por predicción 306 tal como un calculador de parámetros ACELP. Los datos de audio 100 se proporcionan al aparato LPC para la división en ventanas 102a y el bloque de ponderación perceptual 304. Además, los datos de audio se proporcionan al dispositivo de división en ventanas TCX, y la rama inferior de la salida del dispositivo de división en ventanas TCX a la derecha constituye una rama de codificación por transformada. Esta rama de codificación por transformada comprende un bloque de conversión en el dominio de tiempo-frecuencia 310, un bloque de ponderación espectral 312 y un bloque de codificación de procesamiento/cuantificación 314. El bloque de conversión en el dominio de tiempo-frecuencia 310 se implementa preferentemente como transformada de introducción de solapamiento tal como MDCT, MDST o cualquier otra transformada que tenga un número de valores de entrada mayor que el número de valores de salida. La conversión de tiempo-frecuencia tiene, como entrada, los datos divididos en ventanas enviados por TCX o, dicho de forma general, un dispositivo de división en ventanas de codificación por transformada 102b.
[0041] Aunque la fig. 3a indica, para rama de codificación por predicción, puede aplicarse también un procesamiento LPC con un algoritmo de codificación ACELP, otros codificadores de predicción como CELP o cualquier otro codificador en el dominio de tiempo conocidos en la técnica, si bien se prefiere el algoritmo ACELP debido por un lado a su calidad y por otro lado a su eficiencia.
[0042] Además, para la rama de codificación por transformada, se prefiere un procesamiento MDCT en particular en el bloque de conversión de tiempo-frecuencia 310, aunque se pueden aplicar asimismo otras transformadas en el dominio espectral.
[0043] Además, la fig. 3a ilustra una ponderación espectral 312 para transformar los valores espectrales del bloque 310 en un dominio LPC. Esta ponderación espectral 312 se realiza con datos de ponderación obtenidos de los datos de análisis LPC generados por el bloque 302 en la rama de codificación por predicción. Alternativamente, sin embargo, la transformada desde el dominio de tiempo al dominio LPC podría realizarse también en el dominio de tiempo. En este caso, se coloca un filtro de análisis LPC antes del dispositivo de división en ventanas TCX 102b para calcular los datos en el dominio de tiempo residuales por predicción. Sin embargo, se ha descubierto que la transformada desde el dominio de tiempo al dominio LPC se realiza preferentemente en el dominio espectral por ponderación espectral de datos codificados por transformada usando datos de análisis LPC transformados de datos LPC en factores de ponderación correspondientes en el dominio espectral como dominio MDCT. La fig. 3b ilustra la visión general para ilustrar una determinación de análisis-síntesis o de “bucle cerrado” del modo de codificación para cada trama. Para tal fin, el codificador ilustrado en la fig. 3c comprende un codificador de codificación de transformada completa y un decodificador correspondiente indicado en 104b y, además, comprende un codificador de codificación de predicción completa y un decodificador correspondiente indicado en 104a en la fig. 3c. Los dos bloques 104a, 104b reciben, como entrada, los datos de audio y realizan una operación completa de codificación/decodificación. A continuación se comparan los resultados de la operación de codificación/decodificación para las dos ramas de codificación 104a, 104b con la señal original y se determina la medición de calidad para determinar qué modo de codificación tiene mejor calidad. La medición de calidad puede ser un valor de SNR segmentado o de SNR segmentado promedio como se describe, por ejemplo, en la Sección 5.2.3 de 3GPP TS 26.290. Sin embargo, pueden aplicarse otras mediciones de calidad que tengan en cuenta la comparación del resultado de codificación/decodificación con la señal original.
[0044] Basándose en la medición de calidad de cada rama 104a, 104b para el elemento de decisión 112, el elemento de decisión decide si la trama actual examinada debe ser codificada usando ACELP o TCX. Con posterioridad a la decisión, existen varias formas de realizar la selección del modo de codificación. Una forma consiste en que el elemento de decisión 112 controla los bloques de codificación/decodificación 104a, 104b correspondientes, para simplemente enviar el resultado de codificación para la trama actual a la interfaz de salida 106, de manera que se asegura que para cierta trama, sólo se transmite un único resultado de codificación en la señal codificada de salida en 107.
[0045] Alternativamente, los dos dispositivos 104a, 104b podrían remitir su resultado de codificación a la interfaz de salida 106, y los dos resultados se almacenan en la interfaz de salida 106 hasta que el elemento de decisión controle la interfaz de salida a través de la línea 105 para enviar el resultado desde el bloque 104b o desde el bloque 104a.
[0046] La fig. 3b ilustra más detales sobre el concepto de la fig. 3c. En particular, el bloque 104a comprende un codificador ACELP completo y un decodificador ACELP completo y un comparador 112a. El comparador 112a proporciona una medición de calidad al comparador 112c. Lo mismo se aplica al comparador 112b, que tiene una medición de calidad debida a la comparación de la señal codificada TCX y decodificada de nuevo con la señal de audio original. Posteriormente, los dos comparadores 112a, 112b proporcionan sus mediciones de calidad al comparador final 112c. Dependiendo de qué medición de calidad sea mejor, el comparador se decide por una decisión CELP o TCX. La decisión puede refinarse introduciendo factores adicionales en la decisión.
[0047] Alternativamente, se puede llevar a cabo un modo en bucle abierto para determinar el modo de codificación para una trama actual basándose en el análisis de señal de los datos de audio para la trama actual. En este caso, el elemento de decisión 112 de la fig. 3c realiza un análisis de señal de datos de audio para la trama actual y controla un codificador ACELP o codificador TCX para codificar realmente la trama de audio actual. En esta situación, el codificador no necesita una decodificación completa, sino que sería suficiente una implementación de las etapas de codificación dentro del codificador. La clasificación de señal en bucle abierto y las decisiones de señal se describen, por ejemplo, en AMR-WB+ (3GPP TS 26.290).
[0048] La fig. 2a ilustra una implementación preferida del dispositivo de división en ventanas 102 y, en particular, las ventanas suministradas por el dispositivo de división en ventanas.
[0049] Preferentemente, la ventana de análisis de codificación por predicción para la trama actual está centrada en el centro de una cuarta subtrama y esta ventana se indica en 200. Además, se prefiere usar otra ventana de análisis LPC, es decir, una ventana de análisis LPC de mitad de trama indicada en 202 y centrada en el centro de la segunda subtrama de la trama actual. Además, la ventana de codificación por transformada como, por ejemplo, la ventana MDCT 204 se coloca con respecto a las dos ventanas de análisis LPC 200, 202 tal como se ilustra. En particular, la parte de anticipación 206 de la ventana de análisis tiene la misma longitud en tiempo de la parte de anticipación 208 de la ventana de análisis de codificación por predicción. Las dos partes de anticipación se extienden 10 ms en la trama futura. Además, se prefiere que la ventana de análisis de codificación por transformada no sólo tenga la parte de superposición 206, sino que tenga una parte de no superposición entre 10 y 20 ms 208 y la primera parte de superposición 210. Las partes de superposición 206 y 210 son tales que un dispositivo para la superposición-suma en un decodificador realiza un proceso de superposición-suma en la parte de superposición, pero no se necesita un procedimiento de superposición-suma para la parte de no superposición.
[0050] Preferentemente, la primera parte de superposición 210 comienza al principio de la trama, es decir, a cero ms y se extiende hasta el centro de la trama, es decir, 10 ms. Además, la parte de no superposición se extiende desde el final de la primera parte de la trama 210 hasta el final de la trama en 20 ms de manera que la segunda parte de superposición 206 coincida totalmente con la parte de anticipación. Esto tiene ventajas debido a la conmutación de un modo a otro. Desde un punto de vista del rendimiento de TCX, sería mejor usar una ventana de seno con superposición total (20 ms de superposición, como en USAC). Sin embargo, se necesitaría entonces una tecnología de cancelación de solapamiento directo para las transiciones entre TCX y ACELP. La cancelación de solapamiento directo se usa en USAC para cancelar el solapamiento introducido por las tramas TCX siguientes perdidas (reemplazadas por ACELP). La cancelación de solapamiento directo requiere una cantidad importante de bits y por tanto no es adecuada para una velocidad binaria constante y, en particular, un códec de baja velocidad binaria como realización preferida del códec que se describe. Por tanto, según las realizaciones de la invención, en vez de usar FAC, la superposición de ventana TCX se reduce y la ventana cambia hacia el futuro de manera que toda la parte de superposición 206 se coloca en la trama futura. Además, la ventana ilustrada en la fig. 2a para la codificación por transformada tiene sin embargo una máxima superposición para recibir una perfecta reconstrucción en la trama actual, cuando la trama siguiente es ACELP y sin usar cancelación de solapamiento directo. Esta superposición máxima se fija preferentemente en 10 ms que es la parte de anticipación disponible en el tiempo, es decir, 10 ms como se observa claramente en la fig. 2a.
[0051] Aunque la fig. 2a se ha descrito con respecto a un codificador, en el que la ventana 204 para codificación por transformada es una ventana de análisis, se observa que la ventana 204 representa además una ventana de síntesis para la decodificación por transformada. En una realización preferida, la ventana de análisis es idéntica a la ventana de síntesis, y las dos ventanas son simétricas en sí. Esto significa que las dos ventanas son simétricas en una línea central (horizontal). En otras aplicaciones, sin embargo, pueden usarse ventanas no simétricas, en las que la ventana de análisis tiene una forma diferente que la ventana de síntesis.
[0052] La fig. 2b ilustra una secuencia de ventanas sobre una parte de una trama pasada, una trama actual siguiente posteriormente, una trama futura que sigue a la trama actual y la siguiente trama futura que sigue a la trama futura.
[0053] Está claro que la parte de superposición-suma procesada por un procesador de superposición-suma ilustrado en 250 se extiende desde el inicio de cada trama hasta la mitad de cada trama, es decir, entre 20 y 30 ms para calcular los datos de la trama futura y entre 40 y 50 ms para calcular datos TCX para la trama futura siguiente o entre cero y 10 ms para calcular datos para la trama actual. Sin embargo, para calcular los datos en la segunda mitad de cada trama no se necesitan técnicas de superposición-suma y por tanto tampoco de cancelación de solapamiento directo. Este hecho se debe a que la ventana de síntesis tiene una parte de no superposición en la segunda mitad de cada trama.
[0054] Normalmente, la longitud de una ventana MDCT es dos veces la longitud de una trama. Así sucede también en la presente invención. Cuando, nuevamente, se considera la fig. 2a, sin embargo, está claro que la ventana de análisis/síntesis sólo se extiende de cero a 30 ms, pero la longitud completa de la ventana es 40 ms. Esta longitud completa es importante para proporcionar datos de entrada para la operación de plegado o no plegado correspondiente del cálculo MDCT. Con el fin de extender la ventana a una longitud total de 14 ms, se añaden 5 ms de valores cero entre -5 y 0 ms y se añaden 5 segundos de valores cero MDCT al final de la trama entre 30 y 35 ms. Sin embargo, estas partes adicionales que tienen sólo ceros no desempeñan ningún papel en cuanto a consideraciones de retardo, ya que para el codificador o decodificador se sabe que los últimos cinco ms de la ventana y los primeros cinco ms de la ventana son ceros, para que estos datos se encuentren ya presentes sin ningún retardo.
[0055] La fig. 2c ilustra las dos posibles transiciones. Sin embargo, para una transición de TCX a ACELP no se necesita un cuidado especial ya que cuando se supone con respecto a la fig. 2a que la trama futura es una trama ACELP, los datos del decodificador TCX de la última trama para la parte de anticipación 206 pueden simplemente eliminarse ya que la trama ACELP comienza inmediatamente al principio de la trama futura y, por tanto, no existe un hueco de datos. Los datos de ACELP son autoconsistentes y por tanto, un decodificador, cuando tiene una conmutación de TCX a ACELP, usa los datos calculados de TCX para la trama actual, descarta los datos obtenidos por el procesamiento de TCX para la trama futura y, en su lugar, usa los datos de la trama futura de la rama ACELP.
[0056] Sin embargo, cuando se realiza una transición de ACELP a TCX, se usa una ventana especial de transición ilustrada en la fig. 2c. Esta ventana comienza al principio de la trama de cero a 1, y tiene una parte de no superposición 220 y una parte de superposición al final indicada en 222 idéntica a la parte de superposición 206 de una ventana MDCT directa.
[0057] Además, esta ventana se rellena con ceros entre -12,5 ms y cero al principio de la ventana y entre 30 y 35,5 ms al final, es decir, después de la parte de anticipación 222. Se obtiene así una longitud de transformada aumentada. La longitud es 50 ms, pero la longitud de la ventana de análisis/síntesis directa tiene sólo 40 ms. Sin embargo, esto no disminuye la eficiencia ni aumenta la velocidad binaria, y esta transformada más larga es necesaria cuando se realiza una conmutación de ACELP a TCX. La ventana de transición usada en el decodificador correspondiente es idéntica a la ventana ilustrada en la fig. 2c.
[0058] A continuación se analiza con mayor detalle el decodificador. La fig. 1b ilustra un decodificador de audio para decodificar una señal de audio codificada. El decodificador de audio comprende un decodificador de parámetros por predicción 180, en el que el decodificador de parámetros por predicción se configura para realizar la decodificación de datos para una trama codificada por predicción desde la señal de audio codificada recibida en 181 e introducida en la interfaz 182. El decodificador comprende además un decodificador de parámetros por transformada 183 para realizar una decodificación de datos para una trama codificada por transformada a partir de la señal de audio codificada en la línea 181. El decodificador de parámetros por transformada se configura para realizar, preferentemente, una transformada en tiempo espectral afectada por solapamiento y para aplicar una ventana de síntesis a los datos transformados con el fin de obtener datos para la trama actual y la trama futura. La ventana de síntesis tiene una primera parte de superposición, una segunda parte adyacente de no superposición y una tercera parte adyacente de superposición tal como se ilustra en la fig. 2a, en las que la tercera parte adyacente de superposición sólo se asocia a muestras de audio para la trama futura y la parte de no superposición sólo se asocia a datos de la trama actual. Además, se proporciona un aparato para la superposición-suma 184 para superponer y agregar muestras de ventana de síntesis asociadas con la tercera parte de superposición de una ventana de síntesis para la trama actual y ventana de síntesis en las muestras asociadas con la primera parte de superposición de una ventana de síntesis para la trama futura y obtener una primera parte de muestras de audio para la trama futura. El resto de las muestras de audio para la trama futura son muestras sometidas a división en ventana de síntesis asociadas con la segunda parte de no superposición de la ventana de síntesis para la trama futura obtenidas sin aparato para la superposición-suma cuando la trama actual y la trama futura comprenden datos codificados por transformada. Sin embargo, cuando se realiza un cambio de una trama a la trama siguiente, resulta útil un combinador 185 para realizar una buena conmutación de un modo de codificación al otro modo de codificación para obtener finalmente los datos de audio decodificados en la salida del combinador 185.
[0059] La fig. 1c ilustra más detalles de la construcción del decodificador de parámetros por transformada 183.
[0060] El decodificador comprende una fase de procesamiento de decodificación 183a configurada para realizar todos los procesos necesarios para decodificar datos espectrales codificados tales como decodificación aritmética o decodificación de Huffman o generalmente, decodificación por entropía y una posterior descuantificación, relleno de ruido, etc., con el fin de obtener valores espectrales decodificados a la salida del bloque 183. Estos valores espectrales se introducen en un ponderador espectral 183b. El ponderador espectral 183b recibe los datos ponderados espectrales del calculador de datos ponderados LPC 183c, que son suministrados por datos LPC generados a partir del bloque de análisis por predicción del lado del codificador y recibidos, en el decodificador, por la interfaz de entrada 182. A continuación se realiza una transformada espectral inversa que comprende, como primera fase, preferentemente una transformada inversa DCT-IV 183d y un procesamiento posterior de no plegado y ventana de síntesis 183e, antes de que los datos para la trama futura, por ejemplo, sean sometidos al dispositivo de superposición-suma 184. El dispositivo de superposición-suma realiza la operación de superposición-suma cuando los datos para la trama futura siguiente están disponibles. Los bloques 183d y 183e en conjunto constituyen la transformada de tiempo espectral o, en la realización de la fig. 1c, una transformada inversa MDCT (MDCT-1) preferida.
[0061] En particular, el bloque 183d recibe datos para una trama de 20 ms, y aumenta el volumen de datos en la etapa de no plegado del bloque 183e en datos para 40 ms, es decir, el doble de datos de antes y, posteriormente, se aplica la ventana de síntesis que tiene una longitud de 40 ms (cuando las partes de ceros al inicio y al final de la ventana se suman conjuntamente) a estos 40 ms de datos. A continuación, a la salida del bloque 183e, los datos para el bloque actual y los datos dentro de la parte de anticipación para el bloque futuro se encuentran disponibles.
[0062] La fig. 1d ilustra el procesamiento correspondiente en el lado del codificador. Las características que se analizan en el contexto de la fig. 1d se implementan en el procesador de codificación 104 o por medio de bloques correspondientes en la fig. 3a. La conversión tiempo-frecuencia 310 en la fig. 3a preferentemente se implementa como MDCT y comprende una fase de división en ventanas y plegado 310a, en la que la operación de división en ventanas en el bloque 310a se implementa por medio del dispositivo de división en ventanas TCX 103d. De este modo, la primera operación real en el bloque 310 en la fig. 3a es la operación de plegado para llevar de nuevo 40 ms de datos de entrada a 20 ms de datos de la trama. A continuación, con los datos plegados que han recibido contribuciones de solapamiento, se realiza un DCT-IV tal como se ilustra en el bloque 310d. El bloque 302 (análisis LPC) proporciona datos LPC obtenidos del análisis usando la ventana LPC de final de trama a un bloque 302b (LPC a MDCT), y el bloque 302d genera factores de ponderación para realizar ponderaciones espectrales mediante un ponderador espectral 312. Preferentemente, 16 coeficientes LPC para una trama de 20 ms en el modo de codificación TCX se transforman en 16 factores de ponderación en el dominio MDCT, usando preferentemente oDFT (odd Discrete Fourier Transform, transformada de Fourier discreta impar). Para otros modos, como los modos NB con velocidad de muestreo de 8 kHz, el número de coeficientes LPC puede ser inferior a 10. Para otros modos con mayor velocidad de muestreo puede haber más de 16 coeficientes lPc . El resultado de esta oDFT son 16 valores de ponderación, y cada valor de ponderación se asocia a una banda de datos espectrales obtenidos por el bloque 310b. La ponderación espectral tiene lugar al dividir todos los valores espectrales MDCT para una banda por el mismo valor de ponderación asociado con esta banda de manera que se realice de forma muy eficiente esta operación de ponderación espectral en el bloque 312. De este modo, se dividen 16 bandas de valores MDCT cada una por el factor de ponderación correspondiente para enviar los valores espectrales ponderados en forma espectral que se procesan en el bloque 314 tal como se conoce en la técnica, es decir, por ejemplo, por cuantificación y codificación por entropía.
[0063] Por otra parte, en el lado del decodificador, la ponderación espectral correspondiente al bloque 312 en la fig. 1d será una multiplicación realizada por el ponderador espectral 183b ilustrado en la fig. 1c.
[0064] A continuación se analizan la fig. 4a y la fig. 4b para delinear el modo en que se usan los datos LPC generados por la ventana de análisis LPC o generados por las dos ventanas de análisis LPC ilustradas en la fig. 2 en el modo ACELP o en el modo TCX/MDCT.
[0065] Posteriormente a la aplicación de la ventana de análisis LPC, la computación de autocorrelación se realiza con los datos LPC divididos en ventanas. A continuación se aplica el algoritmo de Levinson-Durbin en la función de autocorrelación. Seguidamente, los 16 coeficientes LP para cada análisis LP, es decir, 16 coeficientes para la ventana de mitad de trama y 16 coeficientes para la ventana de final de trama se convierten en valores ISP. De este modo, las etapas del cálculo de autocorrelación a la conversión ISP se realizan, por ejemplo, en el bloque 400 de la fig. 4a.
[0066] A continuación, el cálculo continúa en el lado del codificador mediante cuantificación de los coeficientes ISP. Seguidamente los coeficientes ISP son nuevamente descuantificados y convertidos al dominio de coeficientes LP. De este modo, se obtienen los datos LPC, o dicho de otro modo, los 16 coeficientes LPC apenas diferentes a los coeficientes LPC obtenidos en el bloque 400 (debido a la cuantificación y recuantificación) que pueden ser usados directamente para la cuarta subtrama tal como se indica en la etapa 401. Sin embargo, para las demás subtramas se prefiere realizar varias interpolaciones tal como se establece, por ejemplo, en la sección 6.8.3 de Rec. ITU-T G.718 (06/2008). Los datos LPC para la tercera subtrama se calculan interpolando datos LPC de final de trama y mitad de trama ilustrados en el bloque 402. La interpolación preferida consiste en que cada dato correspondiente se divide por dos y se suman ambos, es decir, un promedio de los datos LPC de final de trama y mitad de trama. Para calcular los datos LPC para la segunda subtrama tal como se ilustra en el bloque 403 se realiza además una interpolación. En particular, se usa el 10 % de los valores de los datos LPC de final de trama de la última trama, el 80 % de los datos LPC de mitad de trama para la trama actual y el 10 % de los valores de datos LPC para el final de trama de la trama actual para calcular finalmente los datos LPC para la segunda subtrama.
[0067] Finalmente, los datos LPC para la primera subtrama se calculan, tal como se indica en el bloque 404, obteniendo un promedio entre los datos LPC de final de trama de la última trama y los datos LPC de mitad de trama de la trama actual.
[0068] Para realizar una codificación ACELP, los dos grupos de parámetros cuantificados LPC, es decir, del análisis de mitad de trama y el análisis de final de trama, se transmiten a un decodificador.
[0069] Basándose en los resultados para las subtramas individuales calculadas por los bloques 401 a 404, los cálculos ACELP se realizan tal como se indica en el bloque 405 con el fin de obtener los datos ACELP que se transmitirán al decodificador.
[0070] A continuación se describe la fig. 4b. De nuevo, en el bloque 400, se calculan datos LPC de mitad de trama y final de trama. Sin embargo, como existe el modo de codificación TCX, sólo se transmiten datos LPC de final de trama al decodificador y los datos LPC de mitad de trama no se transmiten al decodificador. En particular, no se transmiten los coeficientes LPC en sí al decodificador, sino que se transmiten los valores obtenidos después de la transformada ISP y la cuantificación. De este modo se prefiere que, como datos LPC, los valores cuantificados ISP obtenidos de datos de coeficientes LPC de final de trama se transmitan al decodificador.
[0071] Sin embargo, en el codificador se realizan los procedimientos de las etapas 406 a 408 para obtener factores de ponderación con el fin de ponderar datos espectrales MDCT de la trama actual. Para tal objeto, se interpolan los datos LPC de final de trama de la trama actual y los datos LPC de final de trama de la trama pasada. Sin embargo, se prefiere no interpolar datos de coeficientes LPC en sí porque proceden directamente del análisis LPC. En su lugar, se prefiere interpolar los valores ISP cuantificados y de nuevo descuantificados obtenidos de los coeficientes LPC correspondientes. De este modo, los datos LPC usados en el bloque 406 así como los datos LPC usados para otros cálculos en el bloque 401 a 404 siempre son datos ISP preferentemente cuantificados y nuevamente descuantificados obtenidos de los 16 coeficientes LPC originales por ventana de análisis LPC.
[0072] La interpolación en el bloque 406 es preferentemente un promediado puro, es decir, se suman los valores correspondientes y se dividen por dos. A continuación, en el bloque 407, los datos espectrales MDCT de la trama actual se ponderan usando los datos LPC interpolados y, en el bloque 408, se realiza un procesamiento adicional de los datos espectrales ponderados para obtener finalmente los datos espectrales codificados que se transmitirán desde el codificador a un decodificador. De este modo, los procedimientos realizados en el paso 407 corresponden al bloque 312, y el procedimiento realizado en el bloque 408 en la fig. 4d corresponde al bloque 314 en la fig. 4d. Las operaciones correspondientes se realizan en realidad en el lado del decodificador. Por tanto, son necesarias las mismas interpolaciones en el lado del decodificador para, por una parte, calcular los factores de ponderación espectrales o, por otra parte, calcular los coeficientes LPC para las subtramas individuales por interpolación. De este modo, la fig. 4a y fig. 4b son aplicables igualmente al lado del decodificador en lo que respecta a los procedimientos de los bloques 401 a 404 o 406 de la fig. 4b.
[0073] La presente invención resulta especialmente útil para implementaciones de códec de bajo retardo. Esto significa que los códec tienen un retardo algorítmico o sistemático inferior preferentemente a 45 ms y, en algunos casos, igual o menor incluso que 35 ms. No obstante, la parte de anticipación para el análisis LPC y TCX es necesaria para obtener una buena calidad de audio. Por tanto, se necesita un buen compromiso entre estos dos requisitos contradictorios. Se ha descubierto que el buen compromiso entre el retardo, por un lado, y la calidad, por otro, se obtiene mediante un codificador o decodificador de audio conmutado con una trama de 20 ms de longitud, pero se ha descubierto que los valores para tramas con longitudes entre 15 y 30 ms proporcionan resultados aceptables. Por otro lado, se ha descubierto que una parte de anticipación de 10 ms es aceptable en términos de retardo, pero los valores entre 5 ms y 20 ms son útiles dependiendo de la aplicación correspondiente. Además, se ha descubierto que la relación entre la parte de anticipación y la longitud de trama es útil cuando el valor es 0,5, aunque también son de utilidad otros valores comprendidos entre 0,4 y 0,6. Además, aunque la invención se ha descrito con ACELP por un lado y MDCT-TCX por otro lado, también son útiles otros algoritmos que operan en el dominio de tiempo tales como CELP o cualquier otra predicción así como algoritmos para formas de onda. En lo que respecta a TCX/MDCT, se pueden aplicar también otros algoritmos de codificación en el dominio de transformada tales como MDST o cualquier otro algoritmo basado en transformada.
[0074] Lo mismo sucede para la implementación específica de análisis LPC y cálculo LPC. Se prefiere basarse en los procedimientos que se han descrito anteriormente, si bien pueden usarse otros procedimientos para el cálculo/interpolación y análisis siempre que se basen en una ventana de análisis LPC.
[0075] Aunque algunos aspectos se han descrito en el contexto de un aparato, está claro que estos aspectos representan también una descripción del procedimiento correspondiente, en el que un bloque o dispositivo corresponde a una etapa de procedimiento o a una característica de una etapa de procedimiento. De forma análoga, los aspectos descritos en el contexto de una etapa de procedimiento representan también una descripción de un bloque correspondiente o elemento o característica de un aparato correspondiente.
[0076] Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede realizarse usando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tienen señales de control legibles electrónicamente almacenadas en los mismos, que cooperan (o son capaces de cooperar) con un sistema informático programable de manera que se lleve a cabo el procedimiento respectivo.
[0077] Algunas realizaciones según la invención comprenden un soporte de datos no transitorio que tiene señales de control legibles electrónicamente, que son capaces de cooperar con un sistema informático programable de manera que se lleve a cabo uno de los procedimientos descritos en la presente memoria.
[0078] Generalmente, las realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, siendo el código de programa operativo para realizar uno de los procedimientos cuando el producto de programa informático se ejecuta en un ordenador. El código de programa puede almacenarse por ejemplo en un soporte legible por máquina.
[0079] Otras realizaciones comprenden el programa informático para realizar uno de los procedimientos descritos en la presente memoria, almacenado en un soporte legible por máquina.
[0080] Dicho de otro modo, una realización del procedimiento de invención es, por tanto, un programa informático que tiene un código de programa para realizar uno de los procedimientos descritos en la presente memoria, cuando el programa informático se ejecuta en un ordenador.
[0081] Una realización adicional de los procedimientos de la invención es, por tanto, un soporte de datos (o un medio de almacenamiento digital o un medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para realizar uno de los procedimientos descritos en la presente memoria.
[0082] Una realización adicional del procedimiento de la invención es, por tanto, un tren de datos o una secuencia de señales que representa el programa informático para realizar uno de los procedimientos descritos en la presente memoria. El tren de datos o la secuencia de señales pueden configurarse por ejemplo de manera que sean transferidos por medio de una conexión de comunicación de datos, por ejemplo, por Internet.
[0083] Una realización adicional comprende un medio de procesamiento, por ejemplo un ordenador, o un dispositivo lógico programable, configurado o adaptado para realizar uno de los procedimientos descritos en la presente memoria.
[0084] Una realización adicional comprende un ordenador con un programa informático instalado en el mismo para realizar uno de los procedimientos descritos en la presente memoria.
[0085] En algunas realizaciones, puede usarse un dispositivo lógico programable (por ejemplo, una matriz de puertas programables de campo) para realizar algunas o todas las funcionalidades de los procedimientos descritos en la presente memoria. En algunas realizaciones, una matriz de puertas programables de campo puede cooperar con un microprocesador para realizar uno de los procedimientos descritos en la presente memoria. Generalmente, los procedimientos se realizan preferentemente mediante cualquier aparato de hardware.
[0086] Las realizaciones descritas anteriormente son meramente ilustrativas de los principios de la presente invención. Debe entenderse que para los expertos en la materia serán evidentes las modificaciones y variaciones de las disposiciones y los detalles descritos en la presente memoria. Se pretende, por tanto, estar limitado únicamente por el alcance de las reivindicaciones de patente y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones de la presente memoria.

Claims (16)

REIVINDICACIONES
1. Un aparato para codificar una señal de audio que presenta un flujo de muestras de audio (100), que comprende:
un dispositivo de división en ventanas (102) para aplicar una ventana de análisis de codificación por predicción (200) al flujo de muestras de audio con el fin de obtener datos divididos en ventanas para un análisis por predicción y para aplicar una ventana de análisis de codificación por transformada (204) al flujo de muestras de audio con el fin de obtener datos divididos en ventanas para un análisis por transformada,
en el que la ventana de análisis de codificación por transformada está asociada a muestras de audio dentro de una trama actual de muestras de audio y a muestras de audio de una parte predefinida de una trama futura de muestras de audio que es una parte de anticipación de codificación por transformada (206),
en el que la ventana de análisis de la codificación por predicción se asocia a al menos la parte de muestras de audio de la trama actual y a muestras de audio de una parte predefinida de la trama futura que es una parte de anticipación de codificación por predicción (208),
en el que la parte de anticipación de codificación por transformada (206) y la parte de anticipación de codificación por predicción (208) son idénticas entre sí o son diferentes entre sí en menos del 20 % de la parte de anticipación de codificación por predicción (208) o en menos del 20 % de la parte de anticipación de codificación por transformada (206); y
un procesador de codificación (104) para generar datos codificados por predicción para la trama actual usando datos divididos en ventanas para el análisis por predicción o para generar datos codificados por transformada para la trama actual usando datos divididos en ventanas para el análisis por transformada.
2. El aparato según la reivindicación 1, en el que la ventana de análisis de codificación por transformada (204) comprende una parte de no superposición que se extiende en la parte de anticipación de codificación por transformada (206).
3. El aparato según la reivindicación 1 o 2, en el que la ventana de análisis de la codificación por transformada (204) comprende una parte de superposición (210) adicional que comienza al principio de la trama actual y termina al principio de la parte de no superposición (208).
4. El aparato según la reivindicación 1, en el que el dispositivo de división en ventanas (102) se configura para usar sólo una ventana de inicio (220, 222) para la transición de codificación por predicción a codificación por transformada desde una trama a la trama siguiente, en el que la ventana de inicio no se usa para una transición de codificación por transformada a codificación por predicción de una trama a la trama siguiente.
5. El aparato según una de las reivindicaciones anteriores, que comprende además:
una interfaz de salida (106) para enviar una señal codificada para la trama actual; y
un selector de modo de codificación (112) para controlar el procesador de codificación (104) para enviar datos codificados por predicción o datos codificados por transformada para la trama actual,
en el que el selector de modo de codificación (112) se configura para conmutar sólo entre codificación por predicción o codificación por transformada para toda la trama de manera que la señal codificada para toda la trama contenga datos codificados por predicción o datos codificados por transformada.
6. El aparato según una de las reivindicaciones anteriores,
en el que el dispositivo de división en ventanas (102) usa, además de la ventana de análisis de codificación por predicción, una ventana de análisis de codificación por predicción (202) adicional que está asociada con muestras de audio que están colocadas al inicio de la trama actual, y en el que la ventana de análisis de codificación por predicción (200) no se asocia a muestras de audio que están colocadas al inicio de la trama actual.
7. El aparato según una de las reivindicaciones anteriores,
en el que la trama comprende una pluralidad de subtramas, en el que la ventana de análisis por predicción (200) está centrada en el centro de una subtrama, y en el que la ventana de análisis de codificación por transformada está centrada en un límite entre dos subtramas.
8. El aparato según la reivindicación 7,
en el que la ventana de análisis por predicción (200) está centrada en el centro de la última subtrama de la trama, en el que las demás ventanas de análisis (202) están centradas en el centro de la segunda subtrama de la trama actual, y en el que la ventana de análisis de codificación por transformada está centrada en el límite entre la tercera y la cuarta subtrama de la trama actual, en el que la trama actual está subdividida en cuatro subtramas.
9. El aparato según una de las reivindicaciones anteriores, en el que una ventana de análisis de codificación por predicción (202) adicional no tiene parte de anticipación en la trama futura y está asociada a muestras de la trama actual.
10. El aparato según una de las reivindicaciones anteriores, en el que la ventana de análisis de codificación por transformada comprende además un parte de ceros antes del inicio de la ventana y una parte de ceros posterior al final de la ventana de manera que la longitud total en el tiempo de la ventana de análisis de la codificación por transformada es dos veces la longitud en el tiempo de la trama actual.
11. El aparato según la reivindicación 10, en el que, para una transición del modo de codificación por predicción al modo de codificación por transformada de una trama a la trama siguiente, se usa una ventana de transición mediante el dispositivo de división en ventanas (102),
en el que la ventana de transición comprende una primera parte de no superposición que comienza al principio de la trama y una parte de superposición que comienza al final de la parte de no superposición y se extiende en la trama futura,
en el que la parte de superposición que se extiende en la trama futura tiene una longitud que es idéntica a la longitud de la parte de anticipación de codificación por transformada de la ventana de análisis.
12. El aparato según una de las reivindicaciones anteriores, en el que una longitud en el tiempo de la ventana de análisis de codificación por transformada es mayor que la longitud en el tiempo de la ventana de análisis de la codificación por predicción (200, 202).
13. El aparato según una de las reivindicaciones anteriores, que comprende además:
una interfaz de salida (106) para enviar una señal codificada para la trama actual; y
un selector de modo de codificación (112) para controlar el procesador de codificación (104) y enviar datos codificados por predicción o datos codificados por transformada para la trama actual,
en el que la ventana (102) se configura para usar una ventana de codificación por predicción adicional en la trama actual antes de la ventana de codificación por predicción, y
en el que el selector de modo de codificación (112) se configura para controlar el procesador de codificación (104) para enviar sólo datos de análisis de codificación por predicción obtenidos de la ventana de codificación por predicción, cuando los datos codificados por transformada se envían hacia la interfaz de salida y no para remitir datos de análisis de codificación por predicción obtenidos de la ventana de codificación por predicción adicional, y en el que el selector de modo de codificación (112) se configura para controlar el procesador de codificación (104) para remitir datos de análisis de codificación por predicción obtenidos de la ventana de codificación por predicción y para remitir datos de análisis de codificación por predicción obtenidos de la ventana de codificación por predicción adicional, en el que los datos codificados por predicción se envían hacia la interfaz de salida.
14. El aparato según una de las reivindicaciones anteriores, en el que el procesador de codificación (104) comprende:
un analizador de codificación por predicción (302) para obtener los datos de codificación por predicción para la trama actual de datos divididos en ventanas (100a) para un análisis por predicción;
una rama de codificación por predicción que comprende:
una fase de filtro (304) para calcular datos de filtro de muestras de audio para la trama actual usando datos de la codificación por predicción; y
un calculador de parámetros de codificación por predicción (306) para calcular parámetros de codificación por predicción para la trama actual; y
una rama de codificación por transformada que comprende:
un convertidor de tiempo-espectral (310) para convertir datos de la ventana para el algoritmo de codificación por transformada en una representación espectral;
un ponderador espectral (312) para ponderar datos espectrales usando datos ponderados obtenidos de datos de codificación por predicción para obtener datos espectrales ponderados; y
un procesador de datos espectrales (314) para procesamiento de datos ponderados espectrales para obtener datos codificados por transformada para la trama actual.
15. El procedimiento para codificar una señal de audio con un flujo de muestras de audio (100), que comprende:
la aplicación (102) de una ventana de análisis de codificación por predicción (200) al flujo de muestras de audio para obtener datos divididos en ventanas para un análisis por predicción y aplicar una ventana de análisis de codificación por transformada (204) al flujo de muestras de audio para obtener datos divididos en ventanas para un análisis por transformada,
en el que la ventana de análisis de la codificación por transformada se asocia a muestras de audio dentro de una trama actual de muestras de audio y a muestras de audio de una parte predefinida de una trama futura de muestras de audio que es una parte de anticipación de codificación por transformada (206),
en el que la ventana de análisis de la codificación por predicción se asocia a al menos la parte de muestras de audio de la trama actual y a muestras de audio de una parte predefinida de la trama futura que es una parte de anticipación de codificación por predicción (208),
en el que la parte de anticipación de codificación por transformada (206) y la parte de anticipación de codificación por predicción (208) son idénticas entre sí o son diferentes entre sí en menos del 20 % de la parte de anticipación de codificación por predicción (208) o en menos del 20 % de la parte de anticipación de codificación por transformada (206); y
la generación (104) de datos codificados por predicción para la trama actual usando datos divididos en ventanas para el análisis por predicción o la generación de datos codificados por transformada para la trama actual usando datos divididos en ventanas para el análisis por transformada.
16. Un programa informático que tiene un código de programa para realizar, cuando se ejecuta en un ordenador, el procedimiento de codificación de una señal de audio según la reivindicación 15.
ES12707050T 2011-02-14 2012-02-14 Aparato y procedimiento para codificar una señal de audio usando una parte de anticipación alineada Active ES2725305T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161442632P 2011-02-14 2011-02-14
PCT/EP2012/052450 WO2012110473A1 (en) 2011-02-14 2012-02-14 Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion

Publications (1)

Publication Number Publication Date
ES2725305T3 true ES2725305T3 (es) 2019-09-23

Family

ID=71943595

Family Applications (1)

Application Number Title Priority Date Filing Date
ES12707050T Active ES2725305T3 (es) 2011-02-14 2012-02-14 Aparato y procedimiento para codificar una señal de audio usando una parte de anticipación alineada

Country Status (19)

Country Link
US (1) US9047859B2 (es)
EP (3) EP3503098B1 (es)
JP (1) JP6110314B2 (es)
KR (2) KR101853352B1 (es)
CN (2) CN103503062B (es)
AR (3) AR085221A1 (es)
AU (1) AU2012217153B2 (es)
BR (1) BR112013020699B1 (es)
CA (1) CA2827272C (es)
ES (1) ES2725305T3 (es)
MX (1) MX2013009306A (es)
MY (1) MY160265A (es)
PL (1) PL2676265T3 (es)
PT (1) PT2676265T (es)
SG (1) SG192721A1 (es)
TR (1) TR201908598T4 (es)
TW (2) TWI479478B (es)
WO (1) WO2012110473A1 (es)
ZA (1) ZA201306839B (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972325B2 (en) * 2012-02-17 2018-05-15 Huawei Technologies Co., Ltd. System and method for mixed codebook excitation for speech coding
CA2884471C (en) * 2012-09-11 2016-12-20 Telefonaktiebolaget Lm Ericsson (Publ) Generation of comfort noise
US9129600B2 (en) * 2012-09-26 2015-09-08 Google Technology Holdings LLC Method and apparatus for encoding an audio signal
FR3011408A1 (fr) * 2013-09-30 2015-04-03 Orange Re-echantillonnage d'un signal audio pour un codage/decodage a bas retard
EP3000110B1 (en) * 2014-07-28 2016-12-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selection of one of a first encoding algorithm and a second encoding algorithm using harmonics reduction
FR3024582A1 (fr) * 2014-07-29 2016-02-05 Orange Gestion de la perte de trame dans un contexte de transition fd/lpd
FR3024581A1 (fr) 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd
KR102413692B1 (ko) * 2015-07-24 2022-06-27 삼성전자주식회사 음성 인식을 위한 음향 점수 계산 장치 및 방법, 음성 인식 장치 및 방법, 전자 장치
KR102192678B1 (ko) 2015-10-16 2020-12-17 삼성전자주식회사 음향 모델 입력 데이터의 정규화 장치 및 방법과, 음성 인식 장치
EP3284087B1 (en) 2016-01-22 2019-03-06 Fraunhofer Gesellschaft zur Förderung der Angewand Apparatuses and methods for encoding or decoding an audio multi-channel signal using spectral-domain resampling
US10249307B2 (en) * 2016-06-27 2019-04-02 Qualcomm Incorporated Audio decoding using intermediate sampling rate
EP3874495B1 (en) * 2018-10-29 2022-11-30 Dolby International AB Methods and apparatus for rate quality scalable coding with generative models
US11955138B2 (en) * 2019-03-15 2024-04-09 Advanced Micro Devices, Inc. Detecting voice regions in a non-stationary noisy environment

Family Cites Families (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3432822B2 (ja) 1991-06-11 2003-08-04 クゥアルコム・インコーポレイテッド 可変速度ボコーダ
US5408580A (en) 1992-09-21 1995-04-18 Aware, Inc. Audio compression system employing multi-rate signal analysis
BE1007617A3 (nl) 1993-10-11 1995-08-22 Philips Electronics Nv Transmissiesysteem met gebruik van verschillende codeerprincipes.
US5784532A (en) 1994-02-16 1998-07-21 Qualcomm Incorporated Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
CN1090409C (zh) 1994-10-06 2002-09-04 皇家菲利浦电子有限公司 采用不同编码原理的传送系统
US5537510A (en) 1994-12-30 1996-07-16 Daewoo Electronics Co., Ltd. Adaptive digital audio encoding apparatus and a bit allocation method thereof
SE506379C3 (sv) 1995-03-22 1998-01-19 Ericsson Telefon Ab L M Lpc-talkodare med kombinerad excitation
US5848391A (en) 1996-07-11 1998-12-08 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Method subband of coding and decoding audio signals using variable length windows
JP3259759B2 (ja) 1996-07-22 2002-02-25 日本電気株式会社 音声信号伝送方法及び音声符号復号化システム
JPH10124092A (ja) 1996-10-23 1998-05-15 Sony Corp 音声符号化方法及び装置、並びに可聴信号符号化方法及び装置
US5960389A (en) 1996-11-15 1999-09-28 Nokia Mobile Phones Limited Methods for generating comfort noise during discontinuous transmission
JPH10214100A (ja) 1997-01-31 1998-08-11 Sony Corp 音声合成方法
US6134518A (en) * 1997-03-04 2000-10-17 International Business Machines Corporation Digital audio signal coding using a CELP coder and a transform coder
JPH10276095A (ja) * 1997-03-28 1998-10-13 Toshiba Corp 符号化器及び復号化器
JP3223966B2 (ja) 1997-07-25 2001-10-29 日本電気株式会社 音声符号化/復号化装置
US6070137A (en) 1998-01-07 2000-05-30 Ericsson Inc. Integrated frequency-domain voice coding using an adaptive spectral enhancement filter
ES2247741T3 (es) * 1998-01-22 2006-03-01 Deutsche Telekom Ag Metodo para conmutacion controlada por señales entre esquemas de codificacion de audio.
GB9811019D0 (en) 1998-05-21 1998-07-22 Univ Surrey Speech coders
US7272556B1 (en) 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US6317117B1 (en) 1998-09-23 2001-11-13 Eugene Goff User interface for the control of an audio spectrum filter processor
US7124079B1 (en) 1998-11-23 2006-10-17 Telefonaktiebolaget Lm Ericsson (Publ) Speech coding with comfort noise variability feature for increased fidelity
FI114833B (fi) * 1999-01-08 2004-12-31 Nokia Corp Menetelmä, puhekooderi ja matkaviestin puheenkoodauskehysten muodostamiseksi
DE10084675T1 (de) 1999-06-07 2002-06-06 Ericsson Inc Verfahren und Vorrichtung zur Erzeugung von künstlichem Geräusch unter Verwendung von parametrischen Geräuschmodell-Masszahlen
JP4464484B2 (ja) 1999-06-15 2010-05-19 パナソニック株式会社 雑音信号符号化装置および音声信号符号化装置
US6236960B1 (en) 1999-08-06 2001-05-22 Motorola, Inc. Factorial packing method and apparatus for information coding
JP4907826B2 (ja) 2000-02-29 2012-04-04 クゥアルコム・インコーポレイテッド 閉ループのマルチモードの混合領域の線形予測音声コーダ
US6757654B1 (en) 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
JP2002118517A (ja) 2000-07-31 2002-04-19 Sony Corp 直交変換装置及び方法、逆直交変換装置及び方法、変換符号化装置及び方法、並びに復号装置及び方法
US6847929B2 (en) 2000-10-12 2005-01-25 Texas Instruments Incorporated Algebraic codebook system and method
CA2327041A1 (en) 2000-11-22 2002-05-22 Voiceage Corporation A method for indexing pulse positions and signs in algebraic codebooks for efficient coding of wideband signals
US7901873B2 (en) 2001-04-23 2011-03-08 Tcp Innovations Limited Methods for the diagnosis and treatment of bone disorders
US20020184009A1 (en) 2001-05-31 2002-12-05 Heikkinen Ari P. Method and apparatus for improved voicing determination in speech signals containing high levels of jitter
US20030120484A1 (en) 2001-06-12 2003-06-26 David Wong Method and system for generating colored comfort noise in the absence of silence insertion description packets
US6879955B2 (en) 2001-06-29 2005-04-12 Microsoft Corporation Signal modification based on continuous time warping for low bit rate CELP coding
US6941263B2 (en) 2001-06-29 2005-09-06 Microsoft Corporation Frequency domain postfiltering for quality enhancement of coded speech
KR100438175B1 (ko) 2001-10-23 2004-07-01 엘지전자 주식회사 코드북 검색방법
CA2388439A1 (en) 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
JP3646939B1 (ja) 2002-09-19 2005-05-11 松下電器産業株式会社 オーディオ復号装置およびオーディオ復号方法
US7343283B2 (en) * 2002-10-23 2008-03-11 Motorola, Inc. Method and apparatus for coding a noise-suppressed audio signal
US7363218B2 (en) 2002-10-25 2008-04-22 Dilithium Networks Pty. Ltd. Method and apparatus for fast CELP parameter mapping
KR100465316B1 (ko) 2002-11-18 2005-01-13 한국전자통신연구원 음성 부호화기 및 이를 이용한 음성 부호화 방법
JP4191503B2 (ja) * 2003-02-13 2008-12-03 日本電信電話株式会社 音声楽音信号符号化方法、復号化方法、符号化装置、復号化装置、符号化プログラム、および復号化プログラム
US7318035B2 (en) 2003-05-08 2008-01-08 Dolby Laboratories Licensing Corporation Audio coding systems and methods using spectral component coupling and spectral component regeneration
US20050091044A1 (en) 2003-10-23 2005-04-28 Nokia Corporation Method and system for pitch contour quantization in audio coding
RU2374703C2 (ru) 2003-10-30 2009-11-27 Конинклейке Филипс Электроникс Н.В. Кодирование или декодирование аудиосигнала
CA2457988A1 (en) * 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
FI118835B (fi) 2004-02-23 2008-03-31 Nokia Corp Koodausmallin valinta
EP1852851A1 (en) 2004-04-01 2007-11-07 Beijing Media Works Co., Ltd An enhanced audio encoding/decoding device and method
GB0408856D0 (en) 2004-04-21 2004-05-26 Nokia Corp Signal encoding
CA2566368A1 (en) 2004-05-17 2005-11-24 Nokia Corporation Audio encoding with different coding frame lengths
US7649988B2 (en) 2004-06-15 2010-01-19 Acoustic Technologies, Inc. Comfort noise generator using modified Doblinger noise estimate
US8160274B2 (en) 2006-02-07 2012-04-17 Bongiovi Acoustics Llc. System and method for digital signal processing
TWI253057B (en) 2004-12-27 2006-04-11 Quanta Comp Inc Search system and method thereof for searching code-vector of speech signal in speech encoder
US7519535B2 (en) 2005-01-31 2009-04-14 Qualcomm Incorporated Frame erasure concealment in voice communications
WO2006079350A1 (en) 2005-01-31 2006-08-03 Sonorit Aps Method for concatenating frames in communication system
US20070147518A1 (en) 2005-02-18 2007-06-28 Bruno Bessette Methods and devices for low-frequency emphasis during audio compression based on ACELP/TCX
US8155965B2 (en) 2005-03-11 2012-04-10 Qualcomm Incorporated Time warping frames inside the vocoder by modifying the residual
DE602006012637D1 (de) 2005-04-01 2010-04-15 Qualcomm Inc Vorrichtung und Verfahren für die Teilband-Sprachkodierung
EP1905002B1 (en) 2005-05-26 2013-05-22 LG Electronics Inc. Method and apparatus for decoding audio signal
US7707034B2 (en) 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
US7693708B2 (en) 2005-06-18 2010-04-06 Nokia Corporation System and method for adaptive transmission of comfort noise parameters during discontinuous speech transmission
KR100851970B1 (ko) 2005-07-15 2008-08-12 삼성전자주식회사 오디오 신호의 중요주파수 성분 추출방법 및 장치와 이를이용한 저비트율 오디오 신호 부호화/복호화 방법 및 장치
US7610197B2 (en) 2005-08-31 2009-10-27 Motorola, Inc. Method and apparatus for comfort noise generation in speech communication systems
US7720677B2 (en) * 2005-11-03 2010-05-18 Coding Technologies Ab Time warped modified transform coding of audio signals
US7536299B2 (en) 2005-12-19 2009-05-19 Dolby Laboratories Licensing Corporation Correlating and decorrelating transforms for multiple description coding systems
US8255207B2 (en) 2005-12-28 2012-08-28 Voiceage Corporation Method and device for efficient frame erasure concealment in speech codecs
CN101371296B (zh) 2006-01-18 2012-08-29 Lg电子株式会社 用于编码和解码信号的设备和方法
KR20080101872A (ko) 2006-01-18 2008-11-21 연세대학교 산학협력단 부호화/복호화 장치 및 방법
US8032369B2 (en) 2006-01-20 2011-10-04 Qualcomm Incorporated Arbitrary average data rates for variable rate coders
FR2897733A1 (fr) 2006-02-20 2007-08-24 France Telecom Procede de discrimination et d'attenuation fiabilisees des echos d'un signal numerique dans un decodeur et dispositif correspondant
US20070253577A1 (en) 2006-05-01 2007-11-01 Himax Technologies Limited Equalizer bank with interference reduction
US7873511B2 (en) * 2006-06-30 2011-01-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
JP4810335B2 (ja) 2006-07-06 2011-11-09 株式会社東芝 広帯域オーディオ信号符号化装置および広帯域オーディオ信号復号装置
US7933770B2 (en) 2006-07-14 2011-04-26 Siemens Audiologische Technik Gmbh Method and device for coding audio data based on vector quantisation
WO2008013788A2 (en) 2006-07-24 2008-01-31 Sony Corporation A hair motion compositor system and optimization techniques for use in a hair/fur pipeline
US7987089B2 (en) * 2006-07-31 2011-07-26 Qualcomm Incorporated Systems and methods for modifying a zero pad region of a windowed frame of an audio signal
DE102006049154B4 (de) 2006-10-18 2009-07-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung eines Informationssignals
RU2444071C2 (ru) 2006-12-12 2012-02-27 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Кодер, декодер и методы кодирования и декодирования сегментов данных, представляющих собой поток данных временной области
FR2911227A1 (fr) * 2007-01-05 2008-07-11 France Telecom Codage par transformee, utilisant des fenetres de ponderation et a faible retard
KR101379263B1 (ko) 2007-01-12 2014-03-28 삼성전자주식회사 대역폭 확장 복호화 방법 및 장치
FR2911426A1 (fr) 2007-01-15 2008-07-18 France Telecom Modification d'un signal de parole
JP4708446B2 (ja) 2007-03-02 2011-06-22 パナソニック株式会社 符号化装置、復号装置およびそれらの方法
JP2008261904A (ja) 2007-04-10 2008-10-30 Matsushita Electric Ind Co Ltd 符号化装置、復号化装置、符号化方法および復号化方法
US8630863B2 (en) * 2007-04-24 2014-01-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding audio/speech signal
CN101388210B (zh) 2007-09-15 2012-03-07 华为技术有限公司 编解码方法及编解码器
US9653088B2 (en) * 2007-06-13 2017-05-16 Qualcomm Incorporated Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding
KR101513028B1 (ko) * 2007-07-02 2015-04-17 엘지전자 주식회사 방송 수신기 및 방송신호 처리방법
US8185381B2 (en) * 2007-07-19 2012-05-22 Qualcomm Incorporated Unified filter bank for performing signal conversions
CN101110214B (zh) 2007-08-10 2011-08-17 北京理工大学 一种基于多描述格型矢量量化技术的语音编码方法
JP5140730B2 (ja) 2007-08-27 2013-02-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 切り換え可能な時間分解能を用いた低演算量のスペクトル分析/合成
US8566106B2 (en) 2007-09-11 2013-10-22 Voiceage Corporation Method and device for fast algebraic codebook search in speech and audio coding
US8576096B2 (en) * 2007-10-11 2013-11-05 Motorola Mobility Llc Apparatus and method for low complexity combinatorial coding of signals
CN101425292B (zh) 2007-11-02 2013-01-02 华为技术有限公司 一种音频信号的解码方法及装置
DE102007055830A1 (de) 2007-12-17 2009-06-18 Zf Friedrichshafen Ag Verfahren und Vorrichtung zum Betrieb eines Hybridantriebes eines Fahrzeuges
CN101483043A (zh) 2008-01-07 2009-07-15 中兴通讯股份有限公司 基于分类和排列组合的码本索引编码方法
CN101488344B (zh) 2008-01-16 2011-09-21 华为技术有限公司 一种量化噪声泄漏控制方法及装置
US8000487B2 (en) 2008-03-06 2011-08-16 Starkey Laboratories, Inc. Frequency translation by high-frequency spectral envelope warping in hearing assistance devices
EP2107556A1 (en) 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction
US8879643B2 (en) 2008-04-15 2014-11-04 Qualcomm Incorporated Data substitution scheme for oversampled data
US8768690B2 (en) 2008-06-20 2014-07-01 Qualcomm Incorporated Coding scheme selection for low-bit-rate applications
AU2009267518B2 (en) 2008-07-11 2012-08-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for encoding/decoding an audio signal using an aliasing switch scheme
BRPI0910784B1 (pt) * 2008-07-11 2022-02-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. Codificador e decodificador de áudio para estruturas de codificação de sinais de áudio amostrados
MY154452A (en) 2008-07-11 2015-06-15 Fraunhofer Ges Forschung An apparatus and a method for decoding an encoded audio signal
ES2657393T3 (es) * 2008-07-11 2018-03-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador y descodificador de audio para codificar y descodificar muestras de audio
CA2871268C (en) 2008-07-11 2015-11-03 Nikolaus Rettelbach Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program
ES2758799T3 (es) 2008-07-11 2020-05-06 Fraunhofer Ges Forschung Método y aparato para codificar y decodificar una señal de audio y programas informáticos
EP2144171B1 (en) * 2008-07-11 2018-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding and decoding frames of a sampled audio signal
US8352279B2 (en) 2008-09-06 2013-01-08 Huawei Technologies Co., Ltd. Efficient temporal envelope coding approach by prediction between low band signal and high band signal
WO2010031049A1 (en) 2008-09-15 2010-03-18 GH Innovation, Inc. Improving celp post-processing for music signals
US8798776B2 (en) 2008-09-30 2014-08-05 Dolby International Ab Transcoding of audio metadata
TWI520128B (zh) 2008-10-08 2016-02-01 弗勞恩霍夫爾協會 多解析度切換音訊編碼/解碼方案(一)
CN101770775B (zh) 2008-12-31 2011-06-22 华为技术有限公司 信号处理方法及装置
US8457975B2 (en) * 2009-01-28 2013-06-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio decoder, audio encoder, methods for decoding and encoding an audio signal and computer program
AR075199A1 (es) * 2009-01-28 2011-03-16 Fraunhofer Ges Forschung Codificador de audio decodificador de audio informacion de audio codificada metodos para la codificacion y decodificacion de una senal de audio y programa de computadora
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
KR101441474B1 (ko) 2009-02-16 2014-09-17 한국전자통신연구원 적응적 정현파 펄스 코딩을 이용한 오디오 신호의 인코딩 및 디코딩 방법 및 장치
ATE526662T1 (de) 2009-03-26 2011-10-15 Fraunhofer Ges Forschung Vorrichtung und verfahren zur änderung eines audiosignals
EP2446539B1 (en) 2009-06-23 2018-04-11 Voiceage Corporation Forward time-domain aliasing cancellation with application in weighted or original signal domain
CN101958119B (zh) 2009-07-16 2012-02-29 中兴通讯股份有限公司 一种改进的离散余弦变换域音频丢帧补偿器和补偿方法
BR112012009490B1 (pt) 2009-10-20 2020-12-01 Fraunhofer-Gesellschaft zur Föerderung der Angewandten Forschung E.V. ddecodificador de áudio multimodo e método de decodificação de áudio multimodo para fornecer uma representação decodificada do conteúdo de áudio com base em um fluxo de bits codificados e codificador de áudio multimodo para codificação de um conteúdo de áudio em um fluxo de bits codificados
ES2533098T3 (es) * 2009-10-20 2015-04-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador de señal de audio, decodificador de señal de audio, método para proveer una representación codificada de un contenido de audio, método para proveer una representación decodificada de un contenido de audio y programa de computación para su uso en aplicaciones de bajo retardo
CN102081927B (zh) 2009-11-27 2012-07-18 中兴通讯股份有限公司 一种可分层音频编码、解码方法及系统
US8423355B2 (en) * 2010-03-05 2013-04-16 Motorola Mobility Llc Encoder for audio signal including generic audio and speech frames
US8428936B2 (en) * 2010-03-05 2013-04-23 Motorola Mobility Llc Decoder for audio signal including generic audio and speech frames
WO2011147950A1 (en) 2010-05-28 2011-12-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low-delay unified speech and audio codec
PL4120248T3 (pl) * 2010-07-08 2024-05-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Dekoder wykorzystujący kasowanie aliasingu w przód

Also Published As

Publication number Publication date
EP3503098A1 (en) 2019-06-26
US20130332148A1 (en) 2013-12-12
EP2676265B1 (en) 2019-04-10
TW201301262A (zh) 2013-01-01
JP2014510305A (ja) 2014-04-24
PT2676265T (pt) 2019-07-10
RU2013141919A (ru) 2015-03-27
CN103503062B (zh) 2016-08-10
CA2827272C (en) 2016-09-06
AU2012217153A1 (en) 2013-10-10
AR102602A2 (es) 2017-03-15
ZA201306839B (en) 2014-05-28
CA2827272A1 (en) 2012-08-23
MX2013009306A (es) 2013-09-26
JP6110314B2 (ja) 2017-04-05
KR101698905B1 (ko) 2017-01-23
AU2012217153B2 (en) 2015-07-16
SG192721A1 (en) 2013-09-30
BR112013020699B1 (pt) 2021-08-17
KR101853352B1 (ko) 2018-06-14
BR112013020699A2 (pt) 2016-10-25
US9047859B2 (en) 2015-06-02
EP2676265A1 (en) 2013-12-25
CN105304090A (zh) 2016-02-03
AR085221A1 (es) 2013-09-18
WO2012110473A1 (en) 2012-08-23
TWI479478B (zh) 2015-04-01
CN103503062A (zh) 2014-01-08
KR20130133846A (ko) 2013-12-09
EP3503098C0 (en) 2023-08-30
EP4243017A3 (en) 2023-11-08
PL2676265T3 (pl) 2019-09-30
MY160265A (en) 2017-02-28
EP3503098B1 (en) 2023-08-30
KR20160039297A (ko) 2016-04-08
TW201506907A (zh) 2015-02-16
TR201908598T4 (tr) 2019-07-22
EP4243017A2 (en) 2023-09-13
CN105304090B (zh) 2019-04-09
AR098557A2 (es) 2016-06-01
TWI563498B (en) 2016-12-21

Similar Documents

Publication Publication Date Title
ES2725305T3 (es) Aparato y procedimiento para codificar una señal de audio usando una parte de anticipación alineada
AU2006252962B2 (en) Audio CODEC post-filter
EP2207166B1 (en) An audio decoding method and device
RU2586841C2 (ru) Многорежимный аудио кодировщик и celp кодирование, адаптированное к нему
EP3288026B1 (en) Audio decoder and method for providing a decoded audio information using an error concealment based on a time domain excitation signal
EP3063759B1 (en) Audio decoder and method for providing a decoded audio information using an error concealment modifying a time domain excitation signal
JP5914527B2 (ja) 過渡検出及び品質結果を使用してオーディオ信号の一部分を符号化する装置及び方法
WO2007073604A1 (en) Method and device for efficient frame erasure concealment in speech codecs
TW200912897A (en) Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding
ES2963367T3 (es) Aparato y procedimiento de decodificación de una señal de audio usando una parte de anticipación alineada
RU2574849C2 (ru) Устройство и способ для кодирования и декодирования аудиосигнала с использованием выровненной части опережающего просмотра