ES2898281T3 - Control de ancho de banda en codificadores y/o decodificadores - Google Patents

Control de ancho de banda en codificadores y/o decodificadores Download PDF

Info

Publication number
ES2898281T3
ES2898281T3 ES18796674T ES18796674T ES2898281T3 ES 2898281 T3 ES2898281 T3 ES 2898281T3 ES 18796674 T ES18796674 T ES 18796674T ES 18796674 T ES18796674 T ES 18796674T ES 2898281 T3 ES2898281 T3 ES 2898281T3
Authority
ES
Spain
Prior art keywords
bandwidth
tools
encoder
decoder
subgroup
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
ES18796674T
Other languages
English (en)
Inventor
Markus Schnell
Emmanuel Ravelli
Conrad Benndorf
Tobias Albert
Manfred Lutzky
Adrian Tomasek
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 ES2898281T3 publication Critical patent/ES2898281T3/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/16Vocoder architecture
    • 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/0204Speech 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 subband decomposition
    • 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/032Quantisation or dequantisation of spectral components
    • G10L19/035Scalar quantisation
    • 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/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • 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
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • H03M7/3062Compressive sampling or sensing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3066Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6005Decoder aspects
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • 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/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/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/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/22Mode decision, i.e. based on audio signal content versus external parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Aparato codificador que comprende: una pluralidad de herramientas codificadoras en el dominio de la frecuencia, FD, para codificar una señal de audio, presentando la señal de audio una pluralidad de tramas y un detector y controlador de ancho de banda del codificador (39) configurado para seleccionar un ancho de banda para por lo menos un subgrupo (33, 36) de la pluralidad de herramientas codificadoras en FD, incluyendo el subgrupo (33, 36) menos herramientas codificadoras en FD que la pluralidad de herramientas codificadoras en FD, sobre la base de las características de la señal de audio de manera tal que por lo menos una de las herramientas codificadoras en FD del subgrupo (33, 36) tenga un ancho de banda diferente con respecto a por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo (33, 36).

Description

DESCRIPCIÓN
Control de ancho de banda en codificadores y/o decodificadores
1. Técnica anterior
Los presentes ejemplos se relacionan con codificadores y decodificadores y métodos para estos aparatos, en particular para señales de información, tales como señales de audio.
Los códecs de audio normales necesitan transmitir señales de música y voz de muy buena calidad. Dichos códecs de audio se utilizan, por ejemplo, en Bluetooth donde las señales de audio se transmiten desde el teléfono móvil a un auricular o audífono y viceversa.
La cuantización de partes del espectro a ceros con frecuencia da lugar a una degradación perceptual. Por lo tanto, es posible reemplazar las líneas espectrales cuantizadas a cero con ruido empleando una herramienta de relleno con ruido que opera en el dominio de la frecuencia (FD, por sus siglas en inglés).
El modelado de ruido temporal (TNS, por sus siglas en inglés) utiliza la predicción lineal de lazo abierto en el dominio de la frecuencia (FD). Este proceso de codificación/decodificación predictiva en la frecuencia adapta con eficacia la estructura temporal del ruido de cuantización a la de la señal temporal, empleando así de manera eficiente la señal para enmascarar los efectos del ruido. En la norma de Codificación Avanzada de Audio de MPEG2 (AAC, por sus siglas en inglés), actualmente se implementa el TNS definiendo un filtro correspondiente a una determinada banda de frecuencia, y luego conmutando a otro filtro para la banda de frecuencia adyacente cuando la estructura de la señal en la banda adyacente es diferente de la de la banda anterior.
Especialmente en caso de las señales de voz, el contenido de audio puede ser limitado en banda, lo que significa que el ancho de banda de audio contiene solo 4 kHz (banda estrecha, n B, por sus siglas en inglés), 8 kHz (banda ancha, WB, por sus siglas en inglés) o 16 kHz (banda super ancha, SWB, por sus siglas en inglés). Los códecs de audio tienen que detectar el ancho de banda de audio activo y controlar las herramientas de codificación de manera acorde. Como la detección del ancho de banda no es 100 % segura, pueden surgir dificultades técnicas.
Algunas herramientas de codificación de audio, por ejemplo modelado de ruido temporal (TNS) o relleno de ruido (NF, por sus siglas en inglés), pueden causar distorsiones molestas al operar en archivos de audio de banda limitada, por ejemplo, si la herramienta no está al tanto de la parte activa de la señal. Suponiendo que la señal de WB se codifica a 32 kHz, las herramientas podrían llenar el espectro superior (8-16 kHz) con ruido artificial.
La figura 1 muestra el ruido artificial generado por las herramientas sin guía: la línea 11 es la señal activa hasta la WB en tanto que la señal 12 es generada artificialmente por una herramienta paramétrica, por ejemplo mediante llenado de ruido, que no está al tanto del ancho de banda de audio activo.
Por lo tanto, las herramientas se deben limitar a operar solo en las regiones de frecuencia activa.
Algunos códecs como la AAC están configurados para enviar la información sobre el espectro activo por banda de factores de escala. Esta información se utiliza asimismo para controlar las herramientas de codificación. Esto otorga resultados precisos pero requiere la transmisión de una cantidad significativa de información lateral. Como la voz por lo general se transmite solo por NB, WB, SWB y FB, es preferible utilizar esta serie limitada de anchos de banda activos posibles para limitar la información lateral.
Es inevitable que un detector de ancho de banda devuelva resultados erróneos de vez en cuando. Por ejemplo, un detector puede ver el fundido de salida de una señal de música e interpretarlo como un caso de bajo ancho de banda. Para los códecs, que conmutan entre diferentes modos de ancho de banda (NB, WB, SWB, FB) de manera abrupta, por ejemplo el códec EVS 3GPP [1], esto da lugar a un agujero espectral rectangular. De manera abrupta significa que la operación de codificación completa se limita al ancho de banda detectado. Esta conmutación abrupta puede dar lugar a alteraciones audibles. La figura 2 esquematiza el agujero espectral 22 producido como resultado de una detección errónea.
La figura 2 ilustra un esbozo esquemático de la detección errónea del ancho de banda: todas las herramientas de codificación funcionan en un ancho de banda de audio más bajo, dando lugar a un agujero espectral rectangular 22.
Se necesita superar o reducir desventajas tales como las enumeradas precedentemente.
Eksler Vaclav et al. “Audio bandwidth detection in the EVS codec”, 2015 Conferencia mundial del IEEE sobre Procesamiento de señales e información (GLOBALSIP), IEEE, 14 de diciembre de 2015, páginas 488 a 492, da a conocer el uso de información de ancho de banda detectado para la selección de un modo de codificación/decodificación y no sugiere una configuración adicional de las herramientas de codificación/decodificación como una función del ancho de banda de señal.
En el documento US 2017/103769 A1, la división de la subbanda de un codificación se hace dependiendo del ancho de banda de señal pero no se da a conocer en el mismo el uso al mismo tiempo de dos grupos de herramientas de codificación/decodificación que tienen anchos de banda diferentes.
El documento US 2017/221495 A1 da a conocer cómo puede cambiar el tipo de cuantizador de un codificador de audio dependiendo del ancho de banda detectado de la señal de voz pero tampoco da a conocer el uso al mismo tiempo de dos grupos de herramientas de codificación/decodificación que tienen anchos de banda diferentes.
1.1 Referencias
[1] 3GPP EVS Codec,
http://www.3gpp.org/ftp//Specs/archive/26_series/26.445/26445-e10.zip, Sección 5.1.6 “Detección de ancho de banda”
2. Sumario de la invención
A continuación en el presente documento se hace referencia a una señal de información, que es una señal de audio. De conformidad con los ejemplos, se proporciona un aparato codificador que comprende:
- una pluralidad de herramientas codificadoras en el dominio de la frecuencia, FD, para codificar una señal de información, donde la señal de información presenta una pluralidad de tramas y
- un detector y controlador de ancho de banda del codificador configurado para seleccionar un ancho de banda para al menos un subgrupo de la pluralidad de herramientas codificadoras en FD, subgrupo que incluye menos herramientas codificadoras en FD que la pluralidad de herramientas codificadoras en f D, sobre la base de las características de la señal de información de manera que por lo menos una de las herramientas codificadoras en FD del subgrupo tenga un ancho de banda diferente con respecto a por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo.
En consecuencia, es posible evitar agujeros espectrales y a la vez mantener en caso de detección errónea del ancho de banda.
De conformidad con los ejemplos, por lo menos una herramienta codificadora en FD del subgrupo puede ser una herramienta de modelado de ruido temporal, TNS, y/o una herramienta estimadora de nivel de ruido.
De conformidad con los ejemplos, se elige por lo menos una herramienta codificadora en FD que no está en el subgrupo entre por lo menos una de las herramientas modelado espectral basado en codificación predictiva lineal, LPC por sus siglas en inglés, una herramienta de modelado de ruido espectral, SNS, un cuantizador espectral y un codificador residual.
De conformidad con los ejemplos, el detector y controlador de ancho de banda del codificador está configurado para seleccionar el ancho de banda de por lo menos una herramienta codificadora en FD del subgrupo entre por lo menos un primer ancho de banda común a por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo y un segundo ancho de banda diferente del ancho de banda de por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo.
De conformidad con los ejemplos, el detector y controlador de ancho de banda del codificador está configurado para seleccionar el ancho de banda de dicha por lo menos una de la pluralidad de herramientas codificadoras en FD sobre la base de por lo menos una estimación de energía de la señal de información.
De conformidad con los ejemplos, el detector y controlador de ancho de banda del codificador está configurado para comparar por lo menos una estimación de energía asociada a un ancho de banda de la señal de información con un umbral respectivo para controlar el ancho de banda para por lo menos una de la pluralidad de herramientas codificadoras en FD.
De conformidad con los ejemplos, por lo menos una de la pluralidad de herramientas codificadoras en FD del subgrupo comprende un TNS configurado para autocorrelacionar una señal de entrada de TNS dentro del ancho de banda elegido por el detector y controlador de ancho de banda de codificador.
De conformidad con los ejemplos, por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo está configurada para operar en ancho de banda total.
Por lo tanto, la selección del ancho de banda funciona solo para las herramientas del subgrupo (por ejemplo, TNS, herramienta estimadora de ruido).
De conformidad con los ejemplos, el detector y controlador de ancho de banda del codificador está configurado para seleccionar por lo menos un ancho de banda que está dentro del ancho de banda total en el cual está configurada para operar por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo.
De conformidad con los ejemplos, por lo menos una de las herramientas codificadoras restantes en FD de la pluralidad de herramientas codificadoras en Fd está configurada para operar en cadena abierta con respecto al ancho de banda elegido por el detector y controlador de ancho de banda del codificador.
De conformidad con los ejemplos, el detector y controlador de ancho de banda del codificador está configurado para seleccionar un ancho de banda entre un número finito de anchos de bandas y/o entre una serie de anchos de banda pre-definidos.
Por lo tanto, la elección es limitada y no hay necesidad de codificar parámetros demasiado complicados y/o largos. En los ejemplos, se puede utilizar un solo parámetro (por ejemplo, codificado en 0-3 bits) para el flujo de bits.
De conformidad con los ejemplos, el detector y controlador de ancho de banda del codificador está configurado para ejecutar una selección entre por lo menos uno o una combinación de: a 8 KHz, 16 KHz, 24 KHz, 32 KHz y 48 KHz, y/o NB, WB, SSWB, SWB, FB, etc.
De conformidad con los ejemplos, el detector y controlador de ancho de banda del codificador está configurado para controlar la señalización del ancho de banda a un decodificador.
Por lo tanto, también se puede controlar el ancho de banda de las señales procesadas por algunas herramientas en el decodificador (por ejemplo, usando el mismo ancho de banda).
De conformidad con los ejemplos, el aparato codificador está configurado para codificar un campo de datos de control que incluye una información con respecto al ancho de banda elegido.
De conformidad con los ejemplos, el aparato codificador está configurado para definir un campo de datos de control que incluye:
- 0 bits de datos correspondiente a un ancho de banda NB;
- 1 bit de datos correspondiente a un ancho de banda NB, WB;
- 2 bits de datos correspondientes a un ancho de banda NB, WB, SSWB;
- 2 bits de datos correspondientes a un ancho de banda NB, WB, SSWB, SWB;
- 3 bits de datos correspondientes a un ancho de banda FB NB, WB, SSWB, SWB.
De conformidad con los ejemplos, por lo menos una estimación de energía del aparato codificador se realiza de la siguiente manera:
Figure imgf000004_0001
donde X(k) son coeficientes de MDCT (o MDST...), NB es el número de bandas e lfs(n) son los índices asociados a la banda.
De conformidad con los ejemplos, el aparato codificador comprende una herramienta de TNS que puede estar configurada para realizar una operación de filtrado que incluye el cálculo de una función de autocorrelación. Una de las posibles funciones de autocorrelación puede tener la siguiente forma:
por cada k = 0..8
ro(k) , si n 2 = o s (s) = 0
r(k) y,sub_stop(f,s)-1-k
z n=sub_start(/,s) Xs(n)Xs(n+k)
z 2 s = 0 e(s) , de lo contrario
donde
r ( k ) = \ 1 , si k = 0
0 0 , de lo contrario
y
s u b_ s top (f,s )-1
e(s) = ^ Xs(n)2 en caso de s = 0..2
n = s u b _ s ta r t ( / , s )
donde X(k) son coeficientes de MDCT, sub_start(/,s) y sub_stop(/,s) están asociados al ancho de banda específico detectado por el detector y controlador de ancho de banda del codificador.
De conformidad con los ejemplos, el aparato codificador puede comprender una herramienta estimadora de ruido que puede estar configurada para estimar un nivel de ruido. Uno de los procedimientos empleados para esa estimación puede tener la siguiente forma
NE-1
¿k=0 IN
l nf = ne-1
Figure imgf000005_0001
^k=0
donde gg se refiere a la ganancia global, INF(k) a la identificación de las líneas espectrales sobre las cuales se ha de estimar el nivel de ruido y Xf(k) es la señal (por ejemplo, la MDCT o MDST u otro espectro en FD después del TNS).
En los ejemplos, INF(k) se puede obtener mediante:
1 si 24 < k < b w stop y X q(í) =- = 0 fo todos i = k - 3.. min(bw_stop,k 3)
lNF(k) = 0 o bien
Figure imgf000005_0002
si 24 < fc < bwstopvXQ(i) = = 0 para todos i = k — 3.. min(¿w_stop, k + 3)
o bien
donde bwstop depende del ancho de banda detectado por el detector y controlador de ancho de banda del codificador.
De conformidad con los ejemplos, se puede proporcionar un aparato decodificador que comprende una pluralidad de herramientas decodificadoras en FD para decodificar una señal de información codificada en un flujo de bits, donde:
las herramientas decodificadoras en FD se subdividen:
- en un subgrupo que comprende por lo menos una herramienta decodificadora en FD;
- en el resto de las herramientas decodificadoras en FD que comprenden por lo menos una herramienta decodificadora en FD;
donde el aparato decodificador está configurado de manera que por lo menos una de la pluralidad de herramientas decodificadoras del subgrupo realice el procesamiento de señales en un ancho de banda diferente con respecto a por lo menos una del resto de las herramientas decodificadoras en FD de la pluralidad de herramientas decodificadoras.
De conformidad con los ejemplos, el aparato decodificador puede comprender un controlador de ancho de banda configurado para elegir el ancho de banda sobre la base de la información de ancho de banda.
De conformidad con los ejemplos, el aparato decodificador puede ser uno en que el subgrupo comprende por lo menos una de una herramienta estimadora de ruido del decodificador y/o un decodificador con modelado de ruido temporal, TNS.
De conformidad con los ejemplos, por lo menos una del resto de las herramientas decodificadoras en FD es por lo menos una de una herramienta decodificadora de codificación predictiva lineal, LPC, herramienta decodificadora con modelador de ruido espectral, SNS, una herramienta de ganancia global del decodificador, una herramienta de modelado por MDCT o MDST.
De conformidad con los ejemplos, el aparato decodificador puede estar configurado para controlar el ancho de banda de por lo menos una de la pluralidad de herramientas decodificadoras que integran el subgrupo entre:
por lo menos un primer ancho de banda común a por lo menos una del resto de las herramientas decodificadoras en FD y
por lo menos un segundo ancho de banda diferente del primer ancho de banda.
De conformidad con los ejemplos, por lo menos una del resto de las herramientas decodificadoras en FD está configurada para operar en ancho de banda total.
De conformidad con los ejemplos, dicha por lo menos una del resto de las herramientas decodificadoras en FD está configurada para operar en cadena abierta con respecto al ancho de banda (por ejemplo, elegido por el controlador de ancho de banda).
De conformidad con los ejemplos, el controlador de ancho de banda está configurado para elegir un ancho de banda entre un número finito de anchos de bandas y/o entre una serie de anchos de banda predefinidos.
De conformidad con los ejemplos, el controlador de ancho de banda está configurado para realizar una elección entre por lo menos uno o una combinación de: a 8 KHz, 16 KHz, 24 KHz, 32 KHz y 48 KHz y/o NB, WB, SSWB, SWB, FB. De conformidad con los ejemplos, el decodificador puede comprender además una herramienta de llenado de ruido (46) configurada para aplicar un nivel de ruido usando índices. Una técnica para obtener los índices puede proporcionar, por ejemplo:
Figure imgf000006_0001
si 24 < k < b w stop y X q ( i ) = = 0 p a r a t o d o s i = k - 3.. m i n ( b w stop,k 3)
de lo contrario
donde bwstop se obtiene sobre la base de información de ancho de banda comprendida en el flujo de bits.
De conformidad con los ejemplos, el aparato decodificador puede comprender una herramienta decodificadora con TNS configurada para realizar por lo menos algunas de las siguientes operaciones:
s°(start_freq(0) - 1) = s1(start_freq(0) - 1) = — = s7(start_freq(0) - 1) = 0
para f = 0 a num_tns_filters-1 do
para n = start_freq(/) a stop_freq(f) - 1 do
t K(n) = Xj(n)
para k = 7 a 0 do
t k(n) = t k+1(n) - rcq(k)sk(n - 1)
s k+1(n) = rcq(k) tk(n) s k(n - 1)
X~s(n) = s°(n) = t°(n)
donde (n) es la salida del decodificador TNS y Xf(n) es la entrada del decodificador TNS, num_tns_filters, start_freq, stop_freq se obtienen sobre la base de información de ancho de banda incluida en el flujo de bits.
De conformidad con otros ejemplos, se proponen un método para codificar una señal de audio y un método para decodificar un flujo de bits como en las reivindicaciones independientes 31 y 32, respectivamente. Las herramientas codificadoras como TNS o llenado de ruido pueden generar un ruido artificial no deseado en las secciones silenciosas de las señales de banda limitada. Por lo tanto, habitualmente se incluyen los detectores de ancho de banda en cooperación para controlar el ancho de banda en el cual todas las herramientas codificadoras deberían funcionar. Como la detección de ancho de banda podría llevar a resultados inciertos, esa detección errónea podría dar lugar a distorsiones audibles tales como una limitación repentina del ancho de banda de audio.
Para superar el problema, en algunos ejemplos algunas herramientas, por ejemplo, el cuantizador, no son controladas por el detector de ancho de banda. En caso de detección errónea, el cuantizador puede codificar el espectro superior - aún con baja calidad - para compensar el problema.
3. Descripción de los dibujos
La figura 1 ilustra el ruido artificial generado por herramientas sin guía;
la figura 2 ilustra una vista esquemática de la detección errónea del ancho de banda;
las figuras 3 y 3a ilustran aparatos codificadores de acuerdo con los ejemplos;
las figuras 4 y 4a ilustran aparatos decodificadores de acuerdo con los ejemplos;
la figura 5 ilustra un esquema de un caso de una detección errónea del ancho de banda;
la figura 6a-6c ilustran métodos de acuerdo con los ejemplos;
la figura 7 ilustra un método de TNS en el codificador de acuerdo con un ejemplo;
las figuras 8a y 8b ilustran aparatos de acuerdo con los ejemplos.
4. Explicación de la invención
La invención descrita en este documento permite evitar la aparición de agujeros espectrales aun cuando el detector de ancho de banda devuelva un resultado erróneo. En particular, se pueden obtener conmutaciones de banda suaves para aplicaciones de audiocodificación.
Un aspecto clave es que las herramientas de codificación paramétrica, por ejemplo TNS y NF, pueden ser estrictamente controladas por el detector y controlador de ancho de banda 39, en tanto que el resto de la codificación, es decir el modelador espectral basado en LPC o el modelador de ruido espectral, SNS, el cuantizador espectral y el codificador residual, siguen funcionando en el ancho de banda total de audio hasta la frecuencia de Nyquist.
Las figuras 3 y 3a esbozan ejemplos de un aparato codificador 30 y 30a en que un detector y controlador de ancho de banda (BW) 39 estima el ancho de banda de audio en curso en la trama basándose en las energías derivadas de un espectro de MDCT o MDST (u otro espectro de FD).
Del lado del decodificador (figuras 4 y 4a), la información de ancho de banda guía para TNS y NF es extraída del flujo de bits y se controlan las herramientas de manera acorde.
Como resultado, se evita el ruido generado artificialmente en las regiones espectrales no activas debido al parámetro de ancho de banda utilizado para controlar las herramientas de codificación TNS y NF (herramientas no guiadas). Las herramientas funcionan solo en la parte activa del audio y, por lo tanto, no generan ruido artificial alguno.
Por otro lado, se puede reducir significativamente el efecto audible de las detecciones erróneas (falsa detección de ancho de banda), ya que el resto de las herramientas codificadoras, por ejemplo el cuantizador espectral, el modelador LPC o SNS (modelador de ruido espectral) y el codificador residual siguen funcionando hasta la frecuencia de Nyquist. En caso de detecciones erróneas, estas herramientas pueden codificar la frecuencia superior - por lo menos con algunas distorsiones más en comparación con una codificación regular - y, por lo tanto, evitan la impresión más severa de la caída repentina del ancho de banda de audio.
La figura 5 ilustra un nuevo esquema en caso de una detección errónea del ancho de banda: se cuantiza el agujero espectral de manera dispersa pero se evita una caída audible del ancho de banda.
En caso de que la región esbozada en la figura anterior contenga mayormente valores cero, no es necesario que el codificador aritmético los codifique, ya que la información sobre el último grupo de valores espectrales no cero se transmite como información lateral para el codificador aritmético. Esto significa que no se necesita sobrecarga alguna del codificador aritmético.
También se minimiza la información lateral necesaria para el ancho de banda transmitido. Debido al robusto comportamiento de conmutación, corresponde una señalización de los anchos de banda de audio de comunicaciones empleados típicamente, es decir NB, WB, SSWB y SWB.
Esta técnica también permite la construcción de detectores de ancho de banda menos complejos que no utilizan dependencias de las tramas y largas memorias historiales para obtener decisiones estables, véase el códec EVS [1] Sección 5.1.6. Esto significa que la nueva técnica permite que el detector y controlador de ancho de banda 39 reaccione muy rápidamente ante cualquier cambio de ancho de banda de audio.
En consecuencia, se utiliza una información de ancho de banda para controlar solo herramientas específicas de un códec (por ejemplo, códec de audio) manteniendo a la vez el resto de las herramientas en otro modo operativo (por ejemplo, ancho de banda total).
5. Ejemplos
5.1 La detección y el control del ancho de banda de las herramientas
Una señal de información (una señal de audio) se puede describir en el dominio del tiempo, TD, como una sucesión de muestras (por ejemplo, x(n)) adquiridas en diferentes instantes de tiempo discretos (n). Se puede realizar la representación TD de una pluralidad de tramas, cada una de las cuales está asociada a una pluralidad de muestras (por ejemplo, 2048 muestras por trama). En el dominio de la frecuencia, FD, una trama puede estar representada como una sucesión de bins (por ejemplo, X (k)), cada uno de los cuales está asociado a una frecuencia específica (donde cada frecuencia se asocia a un índice k).
Las figuras 3 y 3a muestran aparatos codificadores 30 y 30a, respectivamente, cada uno de los cuales comprende un detector y controlador de ancho de banda del codificador 39 que tiene capacidad para seleccionar un ancho de banda para algunas herramientas (un subgrupo en el codificador) del aparato codificador 30 o 30a, de manera que otras herramientas funcionan en un ancho de banda diferente. El detector y controlador de ancho de banda del codificador 39 también tiene capacidad para seleccionar el ancho de banda correspondiente a por lo menos algunas de las herramientas de un decodificador (un subgrupo en el decodificador). 39a se refiere a la selección de la información de ancho de banda provista por el detector y controlador de ancho de banda del codificador 39 a las herramientas del subgrupo (por ejemplo, 33, 36) y/o a un decodificador.
Cada uno de los aparatos codificadores 30 y 30a puede comprender una herramienta de transformada de coseno discreta modificada de bajo retardo, MDCT, 31 o una herramienta de transformada de seno discreta modificada de bajo retardo, MDST, 31 (o una herramienta basada en otra transformación, tal como una transformación solapada) que pueda convertir una representación de una señal de información (por ejemplo, una señal de audio) de un dominio del tiempo, TD, a un dominio de la frecuencia, FD (por ejemplo, para obtener coeficientes de MDCT, MDST o, más en general, coeficientes de FD).
El aparato codificador 30 puede comprender una herramienta de codificación predictiva lineal, LPC, 32 para realizar un análisis LPC en el FD.
El aparato codificador 30a puede comprender una herramienta de SNS 32a para realizar un análisis de SNS en el FD.
Cada uno de los aparatos codificadores 30 y 30a puede comprender una herramienta de modelado de ruido temporal, TNS, 33, para controlar la forma temporal del ruido dentro de cada ventana de la señal de información (por ejemplo, la salida de la herramienta de MDCT o MDST) en el FD.
Cada uno de los aparatos codificadores 30 y 30a puede comprender un cuantizador espectral 34 que procesa las señales en el FD. La señal de salida de la herramienta de TNS 33 puede ser cuantizada, por ejemplo, empleando la cuantización de escala de zona muerta más umbrales uniformes. Se puede elegir un índice de ganancia de tal manera que el número de bits necesarios para codificar la señal FD cuantizada se acerque en lo posible a un presupuesto de bits disponibles.
Cada uno de los aparatos codificadores 30 y 30a puede comprender un codificador 35 que procesa las señales en el FD, por ejemplo, para realizar la codificación entrópica, por ejemplo, a fin de comprimir un flujo de bits. El codificador 35 puede, por ejemplo, ejecutar la codificación residual y/o codificación aritmética.
Cada uno de los aparatos codificadores 30 y 30a puede comprender, por ejemplo, una herramienta estimadora de nivel de ruido 36, que procesa las señales en el FD, para estimar el ruido, cuantizarlo y/o transmitirlo en un flujo de bits.
En los ejemplos, la herramienta de estimación de nivel 36 puede estar ubicada antes o después del codificador 35.
Cada uno de los aparatos codificadores 30 y 30a puede comprender herramientas que procesan las señales en el dominio del tiempo, TD. Por ejemplo, el aparato codificador 30 o 30a puede comprender una herramienta de remuestreo 38a (por ejemplo, un submuestreador) y/o una herramienta de postfiltrado a largo plazo, LTPF, 38b, para controlar un LTPf activo en el TD en el decodificador.
Cada uno de los aparatos codificadores 30 y 30a puede comprender una herramienta multiplexadora de flujos de bits 37 para preparar un flujo de bits con datos obtenidos de las herramientas en TD y/o FD ubicadas antes de la misma. El flujo de bits puede comprender una representación digital de una señal de información junto con datos de control (que incluyen, por ejemplo, una información de ancho de banda para seleccionar el ancho de banda en algunas herramientas del decodificador) a utilizar en el decodificador. El flujo de bits puede estar comprimido o incluir porciones que están comprimidas.
Por lo tanto, cada uno de los aparatos codificadores 30 y 30a puede comprender herramientas en FD (por ejemplo, 31-36) y, en su caso, herramientas en TD (por ejemplo, 38a, 38b).
El detector y controlador de ancho de banda del codificador 39 puede controlar el ancho de banda de las herramientas en FD que constituyen un primer grupo (subgrupo), tal como la herramienta de modelado de ruido temporal, TNS, 33, y/o la herramienta estimadora de ruido 36. La herramienta de TNS 33 se puede usar para controlar el ruido de cuantización. Por lo tanto, el ancho de banda en el cual las herramientas en FD que no están en el subgrupo (tales como por lo menos una de la herramienta de LPC 32 y/o la herramienta de SNS 32a, el cuantizador de espectros 34 y el codificador 35) ejecutan el procesamiento de señales puede ser diferente del ancho de banda en el cual las herramientas del subgrupo (por ejemplo, 33, 36) ejecutan el procesamiento de señales. Por ejemplo, el ancho de banda para las herramientas en FD que no están en el subgrupo puede ser mayor, por ejemplo, puede ser un ancho de banda total.
En los ejemplos, el detector y controlador de ancho de banda del codificador 39 puede ser parte de un procesador de señales digitales que, por ejemplo, también implementa otras herramientas del aparato codificador.
Las figuras 4 y 4a muestran aparatos decodificadores 40 y 40a, respectivamente, cada uno de los cuales puede decodificar una representación digital de una señal de información codificada por el codificador 30 o 30a, por ejemplo. Cada uno de los aparatos decodificadores 40 y 40a puede comprender herramientas en FD y, en su caso, herramientas en TD.
Cada uno de los aparatos decodificadores 40 y 40a puede comprender una herramienta de multiplexación de flujos de bits 41 para obtener un flujo de bits (por ejemplo, mediante transmisión) procedente de un aparato codificador (por ejemplo, el aparato 30 o 30a). Por ejemplo, una salida del aparato codificador 30 o 30a puede ser proporcionada como una señal de entrada al aparato decodificador 40 o 40a.
Cada uno de los aparatos decodificadores 40 y 40a puede comprender un decodificador 42 que puede descomprimir datos, por ejemplo, en el flujo de bits. Se puede llevar a cabo la decodificación aritmética. Se puede llevar a cabo la decodificación residual.
Cada uno de los aparatos decodificadores 40 y 40a puede comprender una herramienta de llenado de ruido 43 que procesa señales en el FD.
Cada uno de los aparatos decodificadores 40 y 40a puede comprender una herramienta de ganancia global 44 que procesa señales en el FD.
Cada uno de los aparatos decodificadores 40 y 40a puede comprender una herramienta decodificadora con TNS 45 que procesa señales en el FD. Se puede describir brevemente el TNS de la siguiente manera. Del lado del codificador y antes de la cuantización, se filtra una señal en el dominio de la frecuencia (FD) usando predicción lineal, LP, a fin de aplanar la señal en el dominio del tiempo. Del lado del decodificador y después de la cuantización inversa, se vuelve a filtrar la señal en el dominio de la frecuencia usando el filtro de predicción inversa, para modelar el ruido de cuantización en el dominio del tiempo de tal manera que quede enmascarado por la señal.
Cada uno de los aparatos decodificadores 40 y 40a puede comprender una herramienta de modelado por MDCT o MDST 46 (se pueden emplear otros tipos de herramientas de modelado). Notablemente, la herramienta de modelado por MDCT o MDST 46 puede procesar señales aplicando factores de escala (o factores de escala cuantizados) obtenidos de la herramienta de SNS del codificador 32a o factores de ganancia calculados a partir de los coeficientes de filtro de LP decodificados (obtenidos de una herramienta decodificadora de LPC 47) transformados al espectro MDCT o MDST.
Cada uno de los aparatos decodificadores 40 y 40a puede comprender una herramienta de MDCT O MDST inversa de bajo retardo 48a para transformar representaciones de señales del FD al TD (se pueden emplear herramientas basadas en otros tipos de transformada inversa).
Cada uno de los aparatos decodificadores 40 y 40a puede comprender una herramienta LTPF 48b para ejecutar un postfiltrado en el TD, por ejemplo, sobre la base de los parámetros provistos por el componente 38b en el decodificador.
Cada uno de los aparatos decodificadores 40 y 40a puede comprender un controlador de ancho de banda del decodificador 49 configurado para seleccionar el ancho de banda de por lo menos una de las herramientas en el FD. En particular, se puede controlar el ancho de banda de un subgrupo (por ejemplo, formado por las herramientas 43 y 45) de tal manera que sea diferente del ancho de banda en el cual otras herramientas en el FD (42, 44, 46, 47) procesan las señales. El controlador de ancho de banda 49 puede ser ingresado con una señal 39a que ha sido preparada en el lado del codificador (por ejemplo, por el detector y controlador de ancho de banda 39) para indicar el ancho de banda seleccionado para al menos uno de los subgrupos (33, 36, 43, 45).
En los ejemplos, el controlador de ancho de banda del decodificador 49 puede ejecutar operaciones similares a las procesadas por el detector y controlador de ancho de banda del codificador 39. Sin embargo, en algunos ejemplos, el controlador de ancho de banda del decodificador 49 puede estar pensado para ser un componente que obtenga datos de control (por ejemplo, codificados en un flujo de bits) del detector y controlador de ancho de banda del codificador 39 y proporcione los datos de control (por ejemplo, información de ancho de banda) a las herramientas del subgrupo (por ejemplo, herramienta de llenado de ruido del decodificador 43 y/o herramienta decodificadora con TNS 45). En los ejemplos, el controlador 39 es un maestro y el controlador 49 es un esclavo. En los ejemplos, el controlador de ancho de banda del decodificador 49 puede ser una parte o sección de un procesador de señales digitales que, por ejemplo, también implementa otras herramientas del decodificador.
En general, los controladores de ancho de banda 39 y 49 pueden funcionar de manera tal que las herramientas en FD de los subgrupos (por ejemplo, 33 y 36 para el aparato codificador y/o 43 y 45 para el aparato decodificador) tengan la misma banda de frecuencias, en tanto que las otras herramientas en FD del decodificador y/o codificador tienen otra banda de frecuencia (por ejemplo, una banda más ancha).
De hecho se ha observado que, en consecuencia, es posible reducir las desventajas de la técnica anterior. Si bien en el caso de algunas herramientas en FD (por ejemplo, herramientas de TNS, herramientas de llenado de ruidos) puede ser preferible realizar en realidad una selección de banda, para otras herramientas en FD (por ejemplo, 32, 34, 35, 42, 44, 46, 47) puede ser preferible procesar las señales en una banda más ancha (por ejemplo, banda completa), En consecuencia, es posible evitar agujeros espectrales que estarían presentes en caso de una selección abrupta del ancho de banda para todas las herramientas (en particular cuando se selecciona una banda errónea).
En los ejemplos, el ancho de banda que se selecciona por el controlador de ancho de banda del decodificador 49 puede ser uno de un número finito de opciones (por ejemplo, un número finito de anchos de banda). En los ejemplos, es posible elegir entre banda estrecha NB (por ejemplo, 4KHz), banda super ancha WB (por ejemplo, 8KHz), banda semi-super ancha SSWB (por ejemplo, 12KHz), banda super ancha SWB (por ejemplo, 16KHz) o banda completa FB (por ejemplo, 20KHz).
La selección puede ser codificada en un campo de datos por el aparato codificador, de manera que el aparato decodificador sepa qué anchos de banda se han seleccionado (por ejemplo, de acuerdo con una selección efectuada por el detector y controlador de ancho de banda del codificador 39).
La figura 6a muestra un método 60. El método 60 puede comprender etapas que pueden ser ejecutadas, por lo menos en parte, por al menos uno de los controladores 39 y 49. El método 60 puede ser en forma de bucle a fin de realizar operaciones en conexión con cada trama de la señal de información.
En la etapa S61, se puede estimar una energía por banda (por ejemplo, mediante el detector y controlador de ancho de banda 39).
En la etapa S62, se puede detectar el ancho de banda (por ejemplo, por el detector y controlador de ancho de banda 39).
En la etapa S63, el ancho de banda detectado puede ser seleccionado para por lo menos una de la herramienta de TNS 33 y la herramienta de estimación de ruido 36: estas herramientas ejecutarán sus procesos en el ancho de banda detectado en S62.
Además o como alternativa, en la etapa S64 se pueden definir (y/o codificar) parámetros en el flujo de bits para ser almacenados y/o transmitidos y para ser utilizados por un decodificador. Entre los parámetros, se puede codificar una información de selección de ancho de banda (por ejemplo, 39a), de manera que el decodificador conocerá el ancho de banda detectado y seleccionado para el subgrupo (por ejemplo, TNS y llenado/estimación de ruido).
A continuación, se puede examinar una nueva trama de la señal de información. En consecuencia, el método 60 se puede ciclar pasando a S61. Por lo tanto, la decisión se debe realizar trama por trama.
Notablemente, de conformidad con el ancho de banda detectado, se puede codificar un número de bits diferente en el flujo de bits. En los ejemplos, si se detecta un ancho de banda de 8KHz (NB), no se codificará ningún bit en el flujo de bits. Sin embargo, el decodificador comprenderá que el ancho de banda es 8KHz.
Cada uno de los aparatos codificadores 30 y 30a de la figura 3 y 3a puede comprender:
- una pluralidad de herramientas codificadoras en el dominio de la frecuencia, FD, (31-36) para codificar una señal de información, donde la señal de información presenta una pluralidad de tramas y
- un detector y controlador de ancho de banda del codificador 39 configurado para seleccionar un ancho de banda (por ejemplo, en S63) para por lo menos un subgrupo (por ejemplo, herramienta de TNS 33, y herramienta estimadora de nivel de ruido 36) de la pluralidad de herramientas codificadoras en FD sobre la base de características de la señal de información de manera que por lo menos una (por ejemplo, 33, 36) de las herramientas codificadoras en FD del subgrupo tenga un ancho de banda diferente con respecto a por lo menos una de las herramientas codificadoras en Fd (por ejemplo, 31, 32, 34, 35) que no están en el subgrupo. En particular, el detector y controlador de ancho de banda del codificador 39 puede estar configurado para seleccionar el ancho de banda de por lo menos una herramienta codificadora en FD del subgrupo (33, 36) entre por lo menos un primer ancho de banda (por ejemplo, Frecuencia de Nyquist) común a por lo menos una (o más) de las herramientas codificadoras en FD que no están en el subgrupo y un segundo ancho de banda (por ejemplo, NB, WB, SSWB, SWB) diferente del ancho de banda de por lo menos una (o más) de las herramientas codificadoras en FD que no están en el subgrupo.
Por lo tanto, algunas herramientas pueden funcionar en anchos de banda diferentes entre sí y/o realizar el procesamiento de señales usando anchos de banda diferentes entre sí.
Las herramientas que no están en el subgrupo (por ejemplo, ganancia global, modelado de ruido espectral y demás) pueden funcionar en cadena abierta con respecto a la selección del ancho de banda.
En los ejemplos, el detector y controlador de ancho de banda del codificador 39 está configurado para seleccionar (por ejemplo, en S62) el ancho de banda de dicha por lo menos una de la pluralidad de herramientas codificadoras en FD (31-36) sobre la base de por lo menos una estimación de energía (por ejemplo, en S61) de la señal de información. El aparato decodificador 40 de la figura 4 comprende una pluralidad de herramientas decodificadoras en FD (43-48a) para decodificar una señal de información codificada en un flujo de bits, donde:
las herramientas decodificadoras en FD se dividen:
- en un subgrupo que comprende por lo menos una herramienta decodificadora en FD (por ejemplo, 43, 45);
- en el resto de las herramientas decodificadoras en FD que comprenden por lo menos una herramienta decodificadora en FD (por ejemplo, 44, 46, 48a);
donde el aparato decodificador 40 o 40a está configurado para elegir un ancho de banda para por lo menos una de la pluralidad de herramientas decodificadoras del subgrupo (por ejemplo, 43, 45) sobre la base de información de ancho de banda incluida en el flujo de bits de manera que por lo menos una de la pluralidad de herramientas decodificadoras del subgrupo (por ejemplo, 43, 45) realice el procesamiento de señales en un ancho de banda diferente con respecto a por lo menos una del resto de las herramientas decodificadoras en FD de la pluralidad de herramientas decodificadoras (por ejemplo, 44, 46, 48a).
La figura 6b ilustra un método 60b. El método 60b puede ser un método para codificar una señal de información de acuerdo con por lo menos una pluralidad de operaciones en el dominio de la frecuencia, FD, comprendiendo el método:
seleccionar un ancho de banda para un subgrupo de operaciones en FD (por ejemplo, S61b); ejecutar primeras operaciones de procesamiento de señales con el ancho de banda del subgrupo de operaciones en FD (por ejemplo, S62b);
ejecutar segundas operaciones de procesamiento de señales con un ancho de banda diferente para operaciones en FD que no están en el subgrupo (por ejemplo, S63b).
No es necesario, por ejemplo, realizar las etapas S61 b y S62b en este orden temporal. Por ejemplo, se puede realizar S62b antes de S61b. También se puede ejecutar S61b y S62b en paralelo (por ejemplo, usando técnicas de tiempo compartido o similares).
La figura 6c muestra un método 60c. El método 60c puede ser un método para decodificar un flujo de bits con una señal de información y datos de control (por ejemplo, 39a), comprendiendo el método una pluralidad de operaciones de procesamiento de señales en el dominio de la frecuencia, FD, comprendiendo el método:
elegir una selección de ancho de banda para un subgrupo de operaciones en FD sobre la base de los datos de control (S61c);
ejecutar primeras operaciones de procesamiento de señales con el ancho de banda del subgrupo de operaciones en FD (S62c);
ejecutar segundas operaciones de procesamiento de señales con un ancho de banda diferente para operaciones en FD que no están en el subgrupo (S63c).
No es necesario, por ejemplo, realizar las etapas S61c y S62c en este orden temporal. Por ejemplo, se puede realizar S62c antes de S61c. También se pueden realizar S61c y S62c en paralelo (por ejemplo, usando técnicas de tiempo compartido o similares).
De acuerdo con un ejemplo, el detector y controlador de ancho de banda del codificador 39 puede detectar la energía por banda, por ejemplo, utilizando una ecuación tal como:
¡fs(n+1)-1
X(k ) 2
EB(n) = 1 en caso de n = 0... NB — 1
k= Ifs(n) IfM 1) - Ifs(n)
donde X(k) son los coeficientes de MDCT o MDST (o cualquier otra representación de la señal en el FD), NB (por ejemplo, 64) es el número de bandas y Ifs(n) son los índices asociados a la banda (donde cada índice está asociado a un bin).
Por lo tanto, es posible detectar (por ejemplo, en S62) el ancho de banda (por ejemplo, entre un número finito de anchos de banda). El detector y controlador de ancho de banda del codificador 39 puede tener la capacidad de detectar el ancho de banda común utilizado en la comunicación de voz, es decir 4kHz, 8kHz, 12kHz y 16kHz. Por ejemplo, es posible detectar el silencio de cada ancho de banda. En caso de una detección positiva de silencio correspondiente a un ancho de banda, se detecta además una característica de corte especializada en el espectro. Por ejemplo, se puede obtener una bandera (o en todo caso datos) con respecto a la detección de silencio de la siguiente manera:
b^ w s t o p ( w^')
__________ Eb(n) __________
FQ(bw)
1 < TQ(bw)
¡bw stop(bw) — Ibw start(bw) 1
n= b^wstart( w^)
para bw = Nbw — 1.0
Fq(bw) es un valor binario que es 1 si la suma es menos de TQ(bw), y 0 si la suma es mayor que TQ(bw). FQ(bw), asociado a un ancho de banda determinado bw, indica silencio (por ejemplo, con un valor lógico “1”) cuando la suma de los valores de energía es inferior a un umbral para el ancho de banda específico bw (y “0” de lo contrario). La suma se relaciona con la suma de los valores de energía en diferentes índices (por ejemplo, energía por bin o banda), por ejemplo, en el caso de n de un primer índice del ancho de banda asociado al índice Ibw start(bw) a un último índice del ancho de banda asociado al índice Ibwst0p(bw). El número de anchos de banda examinados es Nbw.
El procedimiento se puede detener cuando FQ(bw) == 0 (energía mayor que el umbral correspondiente al ancho de banda bw). En caso de FQ(bw 1) = = 1, las banderas Fc(b) que indican la característica de corte del espectro pueden ser detectadas mediante
Fc (b) = [10logi0(Eb(b — D) ) — 10logi0(Eb(b) ) ] < Tc (bw)
CU, COSO d e b 1¡j-wstart(b w ) ... Ibw s tar t ( ^W^ ^
donde D define la distancia entre las bandas donde se debe verificar la característica de corte, es decir D(bw).
Seguidamente, es posible definir una información final (información de ancho de banda o información de selección de ancho de banda) que se ha de utilizar para controlar un subgrupo (por ejemplo, la herramienta de TNS 33 y/o herramienta de estimación de nivel de ruido 36 y/o la herramienta decodificadora con TNS 45 y/o herramienta de llenado de ruido 43). La información final puede, por ejemplo, ser codificada en algunos bits y puede tomar la siguiente forma
Figure imgf000012_0001
Se puede utilizar el parámetro ancho de banda Pb w (información de selección de ancho de banda) para controlar las herramientas de TNS y de llenado de ruido, por ejemplo, en el decodificador e incorporar la señal 39a. El parámetro Pb w puede ser almacenado y/o transmitido en un flujo de bits usando el número de bits nbitsb w . Notablemente, el número de bits no es necesariamente constante y puede variar de acuerdo con la velocidad de muestreo elegida fs, por ende, reduciendo la carga útil para el flujo de bits donde no es necesaria.
Se puede usar una tabla tal como la siguiente:
Tabla 1
Figure imgf000013_0001
fs es una velocidad de muestreo dada (por ejemplo, 8 KHz, 16 KHz, 24 KHz, 32 KHz y/o 48 KHz) y, por cada fs, el número de modos posibles es Nbw 1.
Por lo tanto, es posible que 0 datos codifiquen un campo de datos de control que incluye:
- 0 bits de datos correspondiente a (que señalizan la elección de) ancho de banda NB;
- 1 bit de datos correspondiente a (que señalizan la elección de uno de) anchos de banda NB y WB; - 2 bits de datos correspondientes a (que señalizan la elección de uno de) anchos de banda NB, WB y SSWB;
- 2 bits de datos correspondientes a (que señalizan la elección de uno de) anchos de banda NB, WB, SSWB y SWB;
- 3 bits de datos correspondientes a (que señalizan la elección de uno de) anchos de banda NB, WB, SSWB, SWB y FB.
Se puede almacenar una versión electrónica de por lo menos algunas porciones de la Tabla 1 en el codificador y/o decodificador. En consecuencia, cuando el parámetro ancho de banda es Fbw, es posible conocer automáticamente información de control para las operaciones de TNS y llenado de ruido. Por ejemplo, Ibw start se puede referir al índice de inicio asociado al extremo inferior del ancho de banda Ibw stop se puede referir al índice final asociado al extremo superior del ancho de banda. La elección del ancho de banda y los parámetros basados en esta elección pueden, por lo tanto, derivarse de una tabla tal como la Tabla 1.
En los ejemplos, cuando fs = 8000, el detector de ancho de banda no es necesario y tenemos Fj,w = 0 y nbitsbw = 0, es decir, el parámetro Fbw no se encuentra en el flujo de bits. Sin embargo, el decodificador entenderá que el ancho de banda elegido es NB (por ejemplo, sobre la base de instrumentos electrónicos tales como una versión electrónica de la Tabla 1).
Se pueden emplear otros métodos. Se puede identificar uno de los anchos de banda NB, WB, SSWB, SWB, FB y transmitirlo a las herramientas en FD del subgrupo del codificador, tal como la herramienta de modelado TNS 33 y la herramienta estimadora de ruido 36. Se puede codificar información tal como el parámetro Pbw (39a) y transmitirla al aparato decodificador 40 o 40a, de tal manera que la herramienta estimadora de ruido del decodificador 43 y la herramienta decodificadora con TNS 45 puedan utilizar la información respecto al ancho de banda seleccionado. En términos generales, las características de la señal de información que constituyen la base para la selección del ancho de banda pueden comprender, entre otras, una o más del ancho de banda de la señal, por lo menos una estimación de energía de la señal de información, características de corte en el espectro, información sobre la detección de silencio en algunas bandas determinadas, FQ(bw), etc.
Los ejemplos anteriores permiten obtener una conmutación suave entre anchos de banda.
5.2 MDCT o MDST (u otra transformada) en el codificador
Una herramienta de transformada de coseno discreta modificada (MDCT) o transformada de seno discreta modificada (MDST) (u otra transformada solapada modulada) 31 puede convertir una representación digital en el TD a una representación digital en el FD. Sin embargo, se pueden emplear otros ejemplos (basados, tal vez, en otras transformaciones, tales como transformaciones solapadas). Se proporciona aquí un ejemplo.
La señal de entrada x(n) de una trama en curso b en el TD puede consistir en Np muestras de audio, donde la más reciente se encuentra en x(NP — 1). Se accede a las muestras de audio de las tramas anteriores mediante indexación negativa, por ejemplo x(—1) es la más reciente de la trama anterior.
Se puede actualizar el búfer o memoria intermedia de entrada de tiempo para la MDCT t de acuerdo con
t(n) = x(Z — NF n) en caso de n = 0..2 NF — 1 —Z
• t(2NF —Z n) = 0 encaso de n = 0..Z — 1 (la inicialización solo es necesaria para la regularidad) Un bloque de NF muestras de tiempo se puede transformar en los coeficientes de frecuencia X(k) empleando la siguiente ecuación:
Figure imgf000014_0001
donde wN es la ventana de MDCT de Bajo Retardo de acuerdo con el tamaño de trama utilizado. La ventana se puede optimizar para NP = 480 y se pueden generar otras versiones para diferentes tamaños de trama por medio de interpolación. La forma de la ventana puede ser el resultado de un procedimiento de optimización y se puede proporcionar punto por punto.
También es posible aplicar MDST u otras transformaciones.
5.3.1 LPC en el codificador
Se puede realizar un análisis de codificación predictiva lineal (LPC) mediante una herramienta de LPC 32. Se utiliza la LPC, que representa la envolvente espectral de una señal digital en forma comprimida, empleando la información de un modelo predictivo lineal.
Se puede derivar un filtro de LPC en un dominio de la frecuencia distorsionada y, por lo tanto, optimizarlo psicoacústicamente. Para obtener la función de autocorrelación, se puede preenfatizar la energía EB(b), según lo definido anteriormente, mediante
b-fí tu t
Epre(b) = Eg(b) • 1010(" b-1) para b = 0..NB — 1 donde
Figure imgf000014_0003
y transformarla al dominio del tiempo empleando, por ejemplo, una DFT impar inversa
Figure imgf000014_0002
RPre( 0 ) = R Pre(0)* 1.0001
En caso de RPre(0) = 0, se establece RPre(0) = 1 y RPre(1..NB — 1) = 0. Se extraen las primeras NL muestras en el vector Rl = RPre(0..NL — 1), donde NL representa el orden de filtros de LP, es decir, NL = 16.
Los coeficientes de filtro de LP se pueden calcular, por ejemplo, basándose en el vector RL por medio del procedimiento de Levinson-Durbin. Este procedimiento puede ser descrito mediante el siguiente pseudocódigo:
e = RL(0)
a°(0) = 1
en caso de fe = 1 a NL do
rc _ -Z n = 0 afc~1(n)fi¿(fc-n)
e
ak(0) = 1
en caso d
ak(fe) =
e = (1 —
Figure imgf000015_0001
donde a(fe) = aNl(fe),fe = 0..NL son los coeficientes de LPC estimados y e es el error de predicción.
Los coeficientes de LPC pueden ser ponderados, en los ejemplos, mediante una ecuación como la siguiente:
aw(fe) = a(fe) • 0.94k en caso de fe = 0..NL
Los coeficientes de LPC pueden ser cuantizados.
Por ejemplo, en primer lugar se convolucionan los coeficientes de LPC ponderados aw(fe) con los coeficientes b(i) usando
2
ac(fe) ^ a'w(fe i)b(i) en caso de fe = 0..NL 2
í = °
donde
a'w(fe) {aw(fe) s i0 <fe < N l
{ 0 de lo contrario
y
Figure imgf000015_0002
Seguidamente se pueden transformar los coeficientes ac(fe) al dominio de la frecuencia utilizando
N¿+2 -nnk(n-'^++2)
A(fe) = ^ ac(n)e nt en caso de fe = 0..NT — 1
n=°
donde NT = 256 es la longitud de la transformada. Obsérvese que esta transformada puede ser eficientemente implementada utilizando una FFT podada. A continuación, se extraen las partes reales e imaginarias de A(fe)
Ar(fe) = Re(A(fe)) en caso de fe = 0 .. - j-
Al(fe) = lm(A(fe)') encaso de fe = 0..-¡^
Se pueden obtener LSFs mediante una búsqueda de cruce por cero de Ar(fe) y A¿(fe) que se puede describir con el siguiente seudocódigo
Figure imgf000016_0001
Figure imgf000016_0002
Si se encuentran menos de 16 LSFs , se establecen las LSFs de acuerdo con
k 1
lsf(k) = —-L-- -- - en caso de k = 0.. N — 1
N 1 L
Se puede ejecutar un modelado de LPC en el dominio de MDCT o MDST (FD) aplicando factores de ganancia computados a partir de los coeficientes de filtro de LP ponderados y cuantizados transformados al espectro de MDCT o MDST.
Para computar Ns = 64 ganancias de modelado de LPC, en primer lugar, se transforman los coeficientes de filtro de LP ponderados a en el dominio de la frecuencia usando una DFT impar.
Wl .TCK , , , 1,
^ lpcW = ^ 8(fc) e ( 6 2 ) en caso de b = 0.. Ws — 1
fc=0
Luego se pueden obtener las ganancias de modelado de LPC gLPC(¿) en forma de valores absolutos de GiPC(8).
5lpc W = 1 GiPC W l en caso de b = 0.. Ns — 1
Se pueden aplicar las ganancias de modelado de LPC gLPC(b) a las líneas de frecuencia de MDCT o MDST por cada banda por separado a fin de generar el espectro modelado Xs(k) como lo esboza el siguiente código.
for b=0 to — 1 do
for k=//s(6) to //s(6 1) — 1
Xs(fc) = X(fc) • #lpc(6)
Como se puede apreciar a partir de lo anterior, la herramienta de LPC, para ejecutar el análisis de LPC, no está controlada por el controlador 39: por ejemplo, no se selecciona un ancho de banda específico.
5.3.2 SNS en el codificador
Con referencia a la figura 4a, es posible utilizar una herramienta de modelado de ruido espectral 32a.
El modelado de ruido espectral (SNS) modela el ruido de cuantización en el dominio de la frecuencia de tal manera que sea ínfimamente percibido por el oído humano, maximizando la calidad perceptual de la salida decodificada.
El modelado de ruido espectral se puede llevar a cabo utilizando, por ejemplo, 16 parámetros de escala. Estos parámetros se pueden obtener en el codificador computando, en primer lugar, la energía del espectro de MDCT (o MDST, u otra transformada) en 64 bandas no uniformes, luego aplicando cierto grado de procesamiento a las 64 energías (alisado, preénfasis, piso de ruido, conversión logarítmica), seguidamente submuestreando las 64 energías procesadas en un factor de 4 para obtener 16 parámetros que por último son normalizados y escalados. A continuación, se pueden cuantizar estos 16 parámetros usando un vector. Luego se pueden interpolar los parámetros cuantizados para obtener 64 parámetros de escala interpolados. Seguidamente se utilizan estos 64 parámetros de escala para modelar directamente el espectro de MDCT (o MDST...) en las 64 bandas no uniformes. A continuación, se pueden cuantizar los coeficientes escalados de MDCT (o M D S T .) empleando un cuantizador de escala con un tamaño de etapa controlado por una ganancia global. En el decodificador, se ejecuta el escalado inverso en todas las 64 bandas, modelando el ruido de cuantización introducido por el cuantizador de escala. Se puede utilizar una técnica de SNS aquí descrita, por ejemplo, solo 16+1 parámetros como información lateral y se pueden codificar eficientemente los parámetros con un bajo número de bits utilizando la cuantización por vectores. En consecuencia, se reduce el número de bits de información lateral, lo que puede dar lugar a una ventaja significativa a una baja tasa de bits y/o bajo retardo. Se puede utilizar un escalado de frecuencia no lineal. En este ejemplo, no se utiliza ninguna de las funciones relacionadas con LPC para reducir la complejidad. Las funciones de procesamiento requeridas (alisado, pre-énfasis, piso de ruido, conversión logarítmica, normalización, escala, interpolación) requieren una complejidad muy pequeña en comparación. Solo la cuantización por vectores tiene aún una complejidad relativamente elevada. Sin embargo, se pueden utilizar algunas técnicas de cuantización por vectores de baja complejidad con poca pérdida de eficiencia (estrategias de multisplit/múltiples etapas). Esta técnica de SNS no se basa en un filtro perceptual basado en LPC. Utiliza 16 parámetros de escala que pueden ser computados con mucha libertad. Por lo tanto, se incrementa la flexibilidad.
En el codificador 30a, la herramienta de SNS 32 puede ejecutar por lo menos uno de los siguientes pasos:
• Etapa 1: Energía por banda
La energía por banda EB(n) se puede computar de la siguiente manera
Ind(b 1)-1
ebW = £ w en caso de b = 0...NR — 1
Ind(b + 1) — Ind(b) k= Ind(b)
donde X(k) son los coeficientes de MDCT (o MDST u otra transformada), NB = 64 es el número de bandas y Ifs(n) son los índices de banda. Las bandas pueden ser no uniformes y seguir la escala de corteza perceptualmente relevante (menor en bajas frecuencias, mayor en altas frecuencias)
• Etapa 2: Alisado
La energía por banda EB(b) se alisa utilizando
(0.75 •EB(0) 025 •Eg(l) ,si b = 0
Es(b) = { 025 • Eb(62) 0.75 • EB(63) ,si b = 63
(o.25 • EB(b — 1) 0.5 • EB(b) 0.25 • EB(b + 1) ,de lo contrario
Esta etapa se puede utilizar principalmente para alisar las posibles inestabilidades que pueden aparecer en el vector EB(b). Si no se alisan, estas inestabilidades se amplifican al convertirse al dominio logarítmico (ver la etapa 5), especialmente en los valles en que la energía se acerca a 0.
• Etapa 3: Preénfasis
Seguidamente se preenfatiza la energía por banda alisada Es(b) utilizando
b-fítilt
EP(b) = Es(b) • 1010 63 en caso de b = 0..63
donde gtllt controla la inclinación de preénfasis y depende de la frecuencia de muestreo. Es, por ejemplo 18 a 16kHz y 30 a 48kHz. El preénfasis utilizado en este Etapa tiene el mismo propósito que el preénfasis utilizado en el filtro perceptual basado en LPC de la técnica anterior 2, aumenta la amplitud del Espectro modelado en las bajas frecuencias, dando lugar al ruido de cuantización reducido en las bajas frecuencias.
• Etapa 4: Piso de ruido
Se agrega un piso de ruido de -40dB a EP(b) mediante
EP(b) = max(EP(b),noiseFloor) encaso de b = 0..63
donde el piso de ruido se calcula de la siguiente manera
(YZl0Ep(b) - 40
noiseFloor = max\ ------—------- 10 10 ,2 32\ 64
Esta etapa mejora la calidad de las señales que contienen dinámica espectral muy elevada tales como, por ejemplo, glockenspiel (carrillón), limitando la amplificación de la amplitud del espectro modelado en los valles, lo que tiene el efecto indirecto de reducir el ruido de cuantización en los picos (no es perceptible un aumento del ruido de cuantización en los valles).
• Etapa 5: Logaritmo
A continuación, se ejecuta una transformación al dominio logarítmico mediante
log2(EP(b ))
EL(b) en caso de b = 0..632
Etapa 6: Submuestreo
Luego se submuestrea el vector EL(b) en un factor de 4 mediante
Figure imgf000018_0001
donde
1 2 3 3 2 1 )
w(k) =
J 2 , 12 , 12, 12, 12 , 12)
Esta etapa aplica un filtro de paso bajo (w(k)) al vector EL(b) antes de la decimación. Este filtro de paso bajo tiene un efecto similar al de la función de ensanchamiento utilizada en modelos psicoacústicos: reduce el ruido de cuantización en los picos, a expensas de un aumento del ruido de cuantización alrededor de los picos, donde de todas maneras está perceptualmente enmascarado.
• Etapa 7: Eliminación de la media y escalado
Los factores de escala finales se obtienen después de la eliminación de la media y escalado en un factor de 0,85
scf(n) = 0.85 Í
Figure imgf000018_0002
corresponde a n = 0..15
Dado que el códec tiene una ganancia global adicional, se puede eliminar la media sin pérdida de información. La eliminación de la media también permite una cuantización más eficiente del vector. La escala de 0,85 comprime ligeramente la amplitud de la curva de modelado de ruido. Tiene un efecto perceptual similar a la función de ensanchamiento mencionada en la etapa 6: ruido reducido de cuantización en los picos y ruido de cuantización incrementado en los valles.
• Etapa 8: Cuantización
Los factores de escala se cuantizan empleando un vector de cuantización, produciendo índices que luego son integrados al flujo de bits y enviados al decodificador, y factores de escala cuantizados scfQ(n).
Etapa 9: Interpolación
Los factores de escala cuantizados scfQ(n) se interpolan mediante:
scfQint(Ü) = scfQ(0)
scfQint(1) = scfQ(0)
scfQint(4n 2) = scfQ(n) - ( s c fQ(n + 1) — scfQ(n)') en caso de n = 0..148
scfQint(4n 3) = scfQ(n) - ( s c f Q ( n + 1) — scfQ(n)) en caso de n = 0..148
scfQint(4n 4) = scfQ(n) + — (scfQ(n + 1) — scfQ(n)) en caso de n = 0..148
7
scfQint(4n 5) = scfQ(n) + — (scfQ(n + 1) — scfQ(n)) en caso de n = 0..148
scfQint(62) = scfQ(15) ^(scfQ(15) — scfQ(14))
scfQint(63) = scfQ(15) ^(scfQ(15) — scfQ(14))
y se vuelven a transformar al dominio lineal mediante
dsNs(b) = 2scf Qlnt(b') encaso de b = 0..63
La interpolación se puede utilizar para obtener una curva de modelado de ruido lisa y, de esa manera, evitar saltos de gran amplitud entre bandas adyacentes.
• Etapa 10: Modelado espectral
Los factores de escala de SNS gSNs(b) se aplican a las líneas de frecuencia de MDCT (o MDST u otra transformada) por cada banda por separado para generar el espectro modelado Xs(k)
X(k)
Xs(k) en caso de k = Ifs(b)..Ifs(b + 1) — 1, en caso de b = 0..63 dsNS(b)
5.4 TNS en el codificador
La figura 7 ilustra un método 70 que indica las operaciones de una herramienta de TNS tal como la herramienta de TNS 33 del codificador 30 o 30a.
En la etapa S71, se puede obtener información de selección con respecto al ancho de banda seleccionado (por ejemplo, el parámetro Pb w ) del detector y controlador de ancho de banda del codificador 39, por ejemplo.
De acuerdo con la información de selección (información de ancho de banda), el comportamiento del TNS es diferente en diferentes anchos de banda (NB, WB, SSWB, SWB, FB). La siguiente tabla presenta un ejemplo de ello:
Tabla 2
Figure imgf000019_0001
Por ejemplo, cuando la información de selección es SWB, el TNS ejecutará un filtrado dos veces (véase num_tns_filters). Como se puede apreciar en las tablas, hay diferentes índices asociados a diferentes anchos de banda (por ejemplo, para n B la frecuencia de cese es diferente de la correspondiente a WB, y así sucesivamente). Por lo tanto, como se puede ver, la herramienta de TNS 33 puede funcionar en un ancho de banda diferente sobre la base de la selección emitida por el controlador 39. Notablemente, otras herramientas en FD del mismo aparato codificador 40 o 40a pueden continuar ejecutando procesos a una frecuencia diferente.
A continuación, se describen las etapas de codificación con TNS. En primer lugar, un análisis estima una serie de coeficientes de reflexión para cada Filtro de TNS (etapa S72). Luego se cuantizan estos coeficientes de reflexión (etapa S73). Y, por último, se filtra el espectro de MDCT- o MDST- utilizando los coeficientes de reflexión cuantificados (etapa S73).
Con referencia a la etapa S72, se puede repetir un análisis completo de TNS por cada filtro de TNS f, donde f = 0..num_tns_filters-1 (se proporciona num_filters en la Tabla 2). Se pueden realizar otras operaciones de análisis de TNS que otorgan coeficientes de reflexión.
La herramienta de TNS puede estar configurada para realizar una autocorrelación en un valor de entrada de TNS. Se puede calcular una función de autocorrelación normalizada de la siguiente manera, por cada fe = 0. .8 (por ejemplo)
2
?o (fe) , si H e ( s ) = 0
r(fe) = - s=0
2 Zsub_stop(f,s)-1-k
n=sub_start(/,s) Xs(n)Xs(n fe)
de lo contrario
i e(s)
v s = 0
donde
si fe = 0
Figure imgf000020_0001
de lo contrario
y
sub_stop(f,s)-1
e(s) i Xs(n)2 en caso de s = 0..2
n=sub_start(/,s)
donde sub_start(/,s) y sub_stop(/,s) proporcionados en la Tabla 2. e(s) es una suma de energía en toda una subsección espectral (un factor de normalización entre la frecuencia inicial y de cese de cada filtro).
La función de autocorrelación normalizada puede ser enventanada con retardo utilizando, por ejemplo:
r(fe) = r(fe)exp (0.02nfe)2 en caso de fe = 0. .8
En algunos ejemplos, es posible ejecutar una decisión de encender/apagar el filtro de TNS f en la trama en curso basándose en la ganancia de predicción
Si predGain > thresh, luego se enciende el filtro de TNS f
donde thresh = 1.5 y la ganancia de predicción se pueden computar mediante
predGain
Figure imgf000020_0002
a etapas adicionales que se describen a continuación se llevan a cabo solo si se enciende el filtro de TNS f (o en el ejemplo que no utiliza el encendido/apagado).
En algunos ejemplos, se puede computar un factor de ponderación de la siguiente manera
thresh2 - predGain
Y = 1 -( 1-Ym in) , si tns_lpc_weighting 1 y predGain < thresh2
thresh2 — thresh
1 , de lo contrario
donde thresh2 = 2 , Ymin = 0.85 y
Figure imgf000020_0003
Los coeficientes de LPC pueden ser ponderados empleando el factor y
aw(k) = Yka(k) en caso de k = 0..8
Los coeficientes de LPC ponderados se pueden convertir a coeficientes de reflexión utilizando el siguiente procedimiento:
aK(k) = aw(k),k = 0,...,K
en caso de k = K a 1 do
rc(k) = ak(k)
e = (1 — rc(k)2)
en caso de n = 1 a k — 1 do
ak-1(n) _ ak(n)-rc(k)ak(k-n)
e
donde rc(k,f) = rc(k) son los coeficientes de reflexión estimados finales para el filtro de TNS f.
Si el filtro de TNS f está apagado, luego los coeficientes de reflexión se pueden simplemente ajustar a 0: rc(k,f) = 0, k = 0..8.
En la etapa S73, se puede ejecutar un etapa de cuantización. Por ejemplo, por cada filtro de TNS / , se pueden cuantizar los coeficientes de reflexión (por ejemplo, los obtenidos en la etapa S72). Por ejemplo, se puede emplear la cuantización uniforme de escala en el dominio del arcoseno:
arcsm(rc(fc,/))
rc¡(fc,/) = nint 8 en caso de k = 0..8
A
y/o
rc?(fc,/) = sen[A(rc¡(fc,/) — 8)] en caso de k = 0..8
donde A y nint(.) son la función de redondeo al entero más próximo, por ejemplo; rc¡(fc,/) los índices de salida del cuantizador y rc?(fc,/) los coeficientes de reflexión cuantizados.
Se puede calcular un orden de los coeficientes de reflexión cuantizados utilizando
k = 7
en tanto que k > 0 y rc ? (fc,/) = 0 do
k = k — 1
^^o r d e r (/ ) = ^ 1
Un número total de bits consumidos por el TNS en la trama en curso se puede computar de la siguiente manera
Figure imgf000021_0001
donde
'ac_tns_order_b¡ts[tns_lpc_we¡ght¡ng][rcorder( / ) — 1] ,sí rcorder( / ) > 0 nóíísTWSorder(/ )
0 , de ío contrarío
y/o
,sí rcorder(/ ) > 0
Figure imgf000021_0002
, de ío contrarío
[ . j se refiere a una operación de redondeo al número entero superior.
Las tablas tab_nbits_TNS_order y tab_nbits_TNS_coef pueden ser predefinidas.
En la etapa S74, se puede filtrar una representación digital de una señal de información en el FD (por ejemplo, provista por la herramienta de LPC 32 o la herramienta de SNS 32a). Esta representación puede estar, en los ejemplos, en forma de una transformada de coseno o seno discreta modificada (MDCT o MDST). Se puede filtrar el espectro de MDCT Xs(n) usando el siguiente algoritmo, por ejemplo:
s°(start_freq(0) - 1) = s1(start_freq(0) - 1) = — = s7(start_freq(0) - 1) = 0
en caso de f = 0 a num_tns_filters-1 do
en caso de n = start_freq(/) a stop_freq(f) - 1 do
í°(n ) = s°(n) = Xs(n)
en caso de fe = 0 a 7 do
í fc+1(n) = í fc(n) rc?(fe)sfc(n - 1)
sfc+1(n) = rc?(fe)ífc(n) sfc(n - 1)
Xf(n) = í 8(n)
donde X^(n) es el espectro de MDCT o MDST filtrado con TNS.
Se pueden emplear otras técnicas de filtrado. Sin embargo, se puede apreciar que el TNS se aplica al ancho de banda particular (por ejemplo, NB, WB, SSWB, SWB, FB) elegido por el controlador 39 sobre la base de las características de la señal.
5.5 Cuantización espectral en el codificador
Se describe aquí una herramienta cuantizadora del espectro 34. Se puede cuantizar el espectro de MDCT o MDST después del filtrado con TNS (Xf(n)) utilizando la cuantización de escala de zona muerta más umbral uniforme y luego se puede codificar el espectro de MDCT o MDST cuantizado Xq(n) empleando codificación aritmética. Una ganancia global gg puede controlar el tamaño de etapa del cuantizador. Esta ganancia global se cuantiza con 7 bits y luego el índice de ganancia global cuantizada ggind es un número entero, por ejemplo, entre 0 y 127. Se puede elegir el índice de ganancia global de tal manera que el número de bits necesario para codificar el espectro de MDCT o MDST cuantizado se acerque en lo posible al presupuesto de bits disponible.
En un ejemplo, un número de bits disponible para la codificación del espectro puede estar dado por
n¿ itsspec = n frits - n ¿ its fcw - n ¿ its rws - n¿ itsLTPF - n¿ itsLPC/SWS - n¿ its flaín -
Figure imgf000022_0001
- 1
donde nbrts es el número de bits disponible en una trama de TD correspondiente a la señal de información original, n¿íts6w presentada en la Tabla 1, nbr£srws provista por el TNS (número total de bits consumidos por el TNS en una trama en curso), estando n¿rtsiTPF asociado al LTPF 38b (número total de bits consumidos por LTPF), n&ítsiPC/sws = 38, n¿ítsfla¡n = 7 y nb rts^ = 3, por ejemplo. En los ejemplos, también se pueden tomar en cuenta los bits de protección (por ejemplo, los bits del código de redundancia cíclica, CRC).
En primer lugar, se puede computar el desplazamiento mediante
nbitsoffset = 0.8 * nbitsOffset 0.2 * min(40, max(-40, nbitsOffset nbitsOptc: - nbitsOSd))
donde nbitsOffset es el valor de nbitsoffset de la trama anterior, nbitsOpdc es el valor de nbitsspec de la trama anterior y nbitsOSf es el valor de nbitsest de la trama anterior.
Luego se puede utilizar este desplazamiento para ajustar el número de bits disponible para la codificación del espectro
nbitsspec = nint(nbitsspec nbitsoffset)
A continuación, se puede estimar el índice de ganancia global de tal manera que el número de bits necesarios para codificar el espectro de MDCT o MDST cuantizado se acerque el máximo posible al presupuesto de bits disponible. Esta estimación se basa en la búsqueda por bisección de baja complejidad que se aproxima toscamente al número de bits necesarios para codificar el espectro cuantizado. Se puede describir el algoritmo de la siguiente manera
Figure imgf000023_0002
__________________________________________________
donde E[k] es la energía (en dB) de bloques de 4 coeficientes de MDCT o MDST dada por
3
E(k) = 10 * log10 ( ^ Xf(4 * k n)2 ) en caso de k = 0..-^
n = 0
En primer lugar, se descuantiza el índice de ganancia global antes citado mediante
ggind
gg = 10 28
Seguidamente se puede cuantizar el espectro Xf mediante, por ejemplo:
0.375 32767) , si Xf(n) > 0
Figure imgf000023_0001
0.375 ,-32768 ) , de lo contrario
Se puede estimar con precisión el número de bits nbitsest necesarios para codificar el espectro de MDCT o MDST cuantizado (o, de todos modos, en FD) Xq(n) usando el siguiente algoritmo.
Se computa en primer lugar una bandera de tasa de bits mediante, por ejemplo:
Figure imgf000023_0003
Luego se obtiene el índice de la última tupla de 2 no cero mediante
Figure imgf000024_0001
Luego se puede computar el número de bits nbitsest de la siguiente manera
Figure imgf000024_0002
donde ac_lookup y ac_bits son tablas que pueden estar predefinidas.
Se puede comparar el número de bits nbitsest con el presupuesto de bits disponible nbitsspec. En caso de estar alejados, luego se ajusta el índice de ganancia global cuantizada ggind y se recuantiza el espectro. A continuación se presenta un procedimiento empleado para ajustar el índice de ganancia global cuantizada gg lnd
Figure imgf000025_0001
Como se puede apreciar por lo anterior, la cuantización espectral no está controlada por el controlador 39: no hay restricción alguna a ninguna banda específica.
5.6 Codificación entrópica
La totalidad o parte de los datos codificados (datos de TNS, datos de LTPF, ganancia global, espectro cuantizado ...) puede ser codificada por entropía, por ejemplo, por compresión de acuerdo con cualquier algoritmo.
Una porción de estos datos puede estar compuesta por bits puros que son colocados directamente en el flujo de bits a partir del final del flujo de bits y hacia atrás.
El resto de los datos puede ser codificado empleando codificación aritmética a partir del comienzo del flujo de bits y hacia delante.
Los dos campos de datos antes citados pueden ser intercambiados con respecto al punto de partida y la dirección de lectura/escritura del flujo de bits.
Un ejemplo en pseudocódigo puede ser:
Figure imgf000026_0001
_______________________________________________________________
Figure imgf000026_0002
5.7 Estimación de ruido en el codificador
Una herramienta de estimación de ruido 36 (estimador de nivel de ruido) puede controlar el llenado de ruido del lado del decodificador. En el lado del codificador, se puede estimar, cuantizar, transmitir el parámetro de nivel de ruido o almacenarlo en un flujo de bits.
El nivel de ruido se puede estimar basándose en los coeficientes espectrales que han sido cuantizados a cero, es decir Xq(k) == 0. Los índices para los coeficientes espectrales pertinentes están dados por
Figure imgf000027_0001
si 24 < k < b w stop y Xq ( i) = = 0 e n c a s o d e t o d o s i = k — 3.. m in (b w _ s t o p , k 3)
de lo contrario
donde bwstop puede depender del ancho de banda detectado en la etapa S62 y/o del detector y controlador de ancho de banda 39 según lo definido, por ejemplo, en la siguiente tabla:
Tabla 3
Figure imgf000027_0003
En el caso de los índices identificados, se estima el nivel medio de los coeficientes faltantes sobre la base del espectro después del filtrado de TNS (Xf(k)), por ejemplo, y normalizados por la ganancia global.
Figure imgf000027_0002
El nivel de ruido final puede ser cuantizado a ocho etapas:
Fnf = min(max( [8 — 16 • LNF1,0), 7)
Por lo tanto, la herramienta estimadora de nivel de ruido 36 puede ser controlada por el controlador 39, por ejemplo, sobre la base de la información de ancho de banda 39a.
Por ejemplo, se puede almacenar una versión electrónica de la Tabla 3 en una unidad de almacenamiento de manera que, cuando se obtiene la selección del ancho de banda para un ancho de banda específico, se derive fácilmente el parámetro bwstop.
5.8 Decodificación entrópica en el decodificador
Todos los datos codificados (datos de TNS, datos de LTPF, ganancia global, espectro cuantizado ...) pueden ser decodificados entrópicamente en el lado del decodificador, por ejemplo, empleando la herramienta decodificadora 42. Por lo tanto, se puede descomprimir un flujo de bits provisto por un codificador de acuerdo con cualquier algoritmo.
5.9 Llenado de ruido en el decodificador
Se describe aquí una herramienta de llenado de ruido de un decodificador 43. La herramienta de llenado de ruido del decodificador 43 puede estar controlada, entre otras cosas, por el controlador de ancho de banda del decodificador 49 (y/o por el controlador 39 mediante información 39a codificada en el flujo de bits, tal como el campo de datos de control Nbw y/o Pwb de la Tabla 1).
Los índices para los coeficientes espectrales relevantes pueden estar dados por
n ^ — (1 si 24 < k < bwstop y Xq(i) = = 0 en caso de todos i = k — 3.. min(bwstop,k 3) INF(k) = j . , . .t0 de lo contrario
donde 6wstop puede estar proporcionado en la Tabla 3.
El llenado de ruido se puede aplicar a las líneas espectrales relevantes identificadas INF(k) usando un factor de ruido transmitido Fnf obtenido del codificador. Se puede calcular Fnf en el estimador de ruido en el lado del codificador. Fnf puede ser un valor de 3 bits codificado en forma de información lateral en el flujo de bits. Fnf se puede obtener, por ejemplo, usando el siguiente procedimiento:
Figure imgf000028_0001
Aquí se proporciona un procedimiento:
Figure imgf000029_0001
Se puede describir cómo obtener el nf_seed, por ejemplo, mediante el siguiente pseudocódigo:
Figure imgf000029_0002
Como se puede deducir de lo anterior, la herramienta de filtro de ruido del decodificador 43 puede utilizar el parámetro bwstop.
En algunos ejemplos, el parámetro bwstop es obtenido explícitamente como valor en el flujo de bits. En los ejemplos, el parámetro bwstop es obtenido por el controlador 49 sobre la base de la información de ancho de banda 39a (Pbw) en un campo de control del flujo de bits codificado por el codificador. El decodificador puede tener una versión electrónica de la Tabla 3 almacenada en una unidad de almacenamiento no transitorio. En consecuencia, se reduce la longitud del flujo de bits.
Por lo tanto, el controlador de ancho de banda 49 (y/o el detector y controlador de ancho de banda 39 del decodificador mediante los datos de control 39a) puede controlar la herramienta de llenado de ruido del decodificador 43.
5.9 Ganancia global en el decodificador
Se puede aplicar una ganancia global al espectro una vez aplicado el llenado de ruido usando, por ejemplo, una fórmula tal como
Xf(k) = Xq(k) • 10( 28 ) en caso de k = 0.. NE — 1
donde ggind es un índice de ganancia global obtenido, por ejemplo, del codificador.
5.10 TNS en el decodificador
Se describe aquí una herramienta decodificadora con TNS 45. Se pueden obtener los coeficientes de reflexión cuantizados por cada filtro de TNS f usando
rcq(k, f) = sen[A(rci (k,f) — 8)] k = 0..8
donde rci (k,f) son los índices de salida del cuantizador.
Luego se puede filtrar el espectro de MDCT o MDST Xf(n) (por ejemplo, como se genera por la herramienta de ganancia global) empleando un procedimiento tal como el siguiente:
Figure imgf000030_0001
donde Xs(n) es la salida del decodificador TNS.
Se pueden proporcionar los parámetros num_tns_filters, start_freq y stop_freq, sobre la base de información de control provista por el codificador.
En algunos ejemplos num_tns_filters, start_freq y/o stop_freq no están presentes explícitamente en el flujo de bits. En los ejemplos, num_tns_filters, start_freq y stop_freq se derivan sobre la base del valor Nbw en un campo de control del flujo de bits codificado por el codificador. Por ejemplo, el decodificador puede tener una versión electrónica de la Tabla 2 (o por lo menos una porción de esta) almacenada en el mismo. En consecuencia, se reduce la longitud del flujo de bits.
Por lo tanto, la herramienta decodificadora con TNS 45 puede ser controlada por el ancho de banda detectado en el lado del codificador.
5.11.1 Modelado por MDCT o MDST en el decodificador
Se describe aquí una herramienta de modelado por MDCT o MDST 46. El modelado por LPC o SNS se puede realizar en el dominio de la MDCT (FD) mediante la aplicación de factores de ganancia computados a partir de los coeficientes de filtro de LP decodificados transformados al espectro de MDCT o MDST.
Para computar las ganancias de modelado de LPC NB, se pueden transformar primero los coeficientes de filtro de LP decodificados en el dominio de la frecuencia usando una DFT impar.
Nl . n k . , 1
GLPC(b) = ^ a(k) e ’ jN Nb B ( b 2 ) en caso de b = 0.. NB — 1
k=0
Seguidamente se pueden computar las ganancias de modelado de LPC gLPC(b) como los valores absolutos recíprocos de GLPC(b).
gLPc(b) = ^ ----pr-rr en caso de b = 0..NB —1
lGLPC(b)l
Las ganancias de modelado de LPC gLPC(b) se pueden aplicar a las líneas de frecuencia de MDCT filtradas con TNS por cada banda por separado como se representa a fin de generar el espectro modelado X(k) como se representa, por ejemplo, en el siguiente código:
Figure imgf000030_0002
_________________________________
Como se puede inferir de lo anterior, no es necesario que la herramienta de modelado por MDCT o MDST 46 se limite a un ancho de banda específico y, por lo tanto, no necesita ser controlada por el controlador 49 o 39.
5.11.2 SNS en el decodificador
Las siguientes etapas se pueden llevar a cabo en la herramienta de modelado de ruido del decodificador. SNS, 46a:
• Etapa 1: Cuantización
Los índices del cuantizador de vectores producidos en el codificador en la etapa 8 (véase la sección 5.3.2) se leen en el flujo de bits y se usan para decodificar los factores de escala cuantizados scfQ(n).
Etapa 2: Interpolación
Igual que la etapa 9 de la Sección 5.3.2.
• Etapa 3: Modelado Espectral
Se aplican los factores de escala de SNS gSNs(b) a las líneas de frecuencia cuantizadas de MDCT (o MDST u otra transformada) para cada banda por separado para generar el espectro decodificado X(k) como se indica en el siguiente código.
X(k) = Xs(k) • gSNS(b) en caso de k = If (b)..If (b Í ) - l , en caso de b = 0..63
5.12 Síntesis por MDCT o MDST en el decodificador
Se describe aquí una herramienta de MDCT o MDST inversa 48a (se pueden emplear otras herramientas basadas en otras transformaciones, tales como transformaciones solapadas).
Se puede transformar un espectro reconstruido X(k) al dominio del tiempo mediante las siguientes etapas:
1. Generación del búfer de solapamiento en el dominio del tiempo t(n)
Figure imgf000031_0001
caso de n = 0. .2NF — 1
2. Enventanado del búfer solapado en el tiempo
t(n) = wN(2N — 1 — n) • t(n) en caso de n = 0..2NF — 1
3. Conducir la operación de solapamiento y suma para obtener las muestras de tiempo reconstruidas X(n)
X(n) = memol^ (n) t(Z n) en caso de n = 0.. NF — Z — 1
X(n) = t(Z n) en caso de n = NF — Z.. NF — 1
memolaaM(n) = t(NF Z n) en caso de n = 0.. NF — Z — 1
donde mem_ola_add(n) se inicializa a 0 antes de decodificar la primera trama.
Con referencia a la etapa 1, se puede realizar una MDST intercambiando la función coseno por una función seno, por ejemplo, para tener:
Figure imgf000031_0002
Como se puede apreciar a partir de lo anterior, la herramienta de MDCT o MDST inversa 48a no es controlada sobre la base del ancho de banda determinado del lado del codificador.
6. Otros ejemplos
La figura 8a ilustra un aparato 110 que puede implementar por lo menos algunas herramientas del aparato codificador 30 o 30a y/o ejecutar por lo menos algunas etapas del método 60 y/o 70. El aparato 110 puede comprender un procesador 111 y una unidad de memoria no transitoria 112 que almacena instrucciones que, al ser ejecutadas por el procesador 111, pueden hacer que el procesador 111 implemente por lo menos una de las herramientas de TD y/o FD del aparato codificador 30 o 30a. En particular, las instrucciones pueden implementar un subgrupo de herramientas en FD (por ejemplo, TNS y/o llenado de ruido) y otras herramientas en FD que no están en el subgrupo (por ejemplo, 31,32, 34, 35). Las instrucciones pueden comprender asimismo instrucciones que, al ser ejecutadas por el procesador 111, realizan una selección del ancho de banda de manera que el ancho de banda de las señales procesadas por las herramientas en el subgrupo de herramientas en FD (por ejemplo, TNS y/o llenado de ruido) difiera del ancho de banda de las señales procesadas por las demás herramientas en FD que no están en el subgrupo (por ejemplo, 31, 32, 34, 35). Las instrucciones pueden ser tales que controlen la selección del ancho de banda basándose en las detecciones de energía asociadas a los diferentes anchos de banda. Las instrucciones también pueden comprender instrucciones que, al ser ejecutadas por el procesador 111, permiten controlar un decodificador y, en particular, permiten controlar el ancho de banda de un subgrupo de herramientas en FD (por ejemplo, 43, 45) que puede ser diferente del ancho de banda de otras herramientas en FD. El ancho de banda elegido para el subgrupo en el codificador puede ser igual al elegido para el subgrupo del decodificador. La unidad de memoria no transitoria 112 también puede comprender otros datos, tales como por lo menos porciones de versiones electrónicas de las Tablas 1, 2 y/o 3. El aparato 110 puede comprender un espacio de almacenamiento 118 para almacenar, por ejemplo, un flujo de bits obtenido de una señal de información (por ejemplo, una señal de audio). El aparato 110 puede comprender una unidad de salida 117 para la transmisión de datos, por ejemplo, en forma inalámbrica, por ejemplo, usando un protocolo específico tal como Bluetooth. Por ejemplo, el aparato 110 puede definir, mediante la ejecución de las instrucciones guardadas en la unidad de memoria no transitoria 112, un flujo de bits que se ha de transmitir a un decodificador. El aparato 110 puede comprender además una unidad de entrada 116 para obtener datos, por ejemplo, de forma inalámbrica, por ejemplo, empleando un protocolo particular, tal como Bluetooth.
La figura 8b ilustra un aparato 120 que puede implementar por lo menos algunas herramientas del aparato decodificador 40 o 40a. El aparato 120 puede comprender un procesador 121 y una unidad de memoria no transitoria 122 que guarda instrucciones que, al ser ejecutadas por el procesador 121, pueden hacer que el procesador 121 implemente por lo menos una de las herramientas en TD y/o FD del aparato decodificador 40 o 40a. En particular, las instrucciones pueden implementar un subgrupo de herramientas en f D (por ejemplo, TNS y/o llenado de ruido) y otras herramientas en FD que no están en el subgrupo (por ejemplo, 44, 46, etc.). Las instrucciones pueden comprender además instrucciones que, al ser ejecutadas por el procesador 121, realizan una selección del ancho de banda de manera tal que el ancho de banda de las señales procesadas por las herramientas del subgrupo de herramientas en FD (por ejemplo, TNS y/o llenado de ruido) sea diferente del ancho de banda de las señales procesadas por las demás herramientas en FD que no están en el subgrupo (por ejemplo, 44, 46, etc.). Las instrucciones pueden ser tales que controlen la selección de un ancho de banda basándose en las detecciones de energía asociadas a los diferentes anchos de banda, tales como, por ejemplo, las realizadas por un codificador. Las instrucciones pueden comprender además instrucciones que, al ser ejecutadas por el procesador 121, permitan operar como codificador y, en particular, permitan controlar el ancho de banda de un subgrupo de herramientas en f D (por ejemplo, 43, 45) que puede ser diferente del ancho de banda de otras herramientas en FD. El ancho de banda elegido para el subgrupo en el codificador puede ser igual al elegido para el subgrupo en el decodificador. La unidad de memoria no transitoria 122 puede comprender además otros datos tales como por lo menos porciones de versiones electrónicas de las Tablas 1, 2 y/o 3. El aparato 120 puede comprender un espacio de almacenamiento 128 para guardar, por ejemplo, un flujo de bits obtenido de una señal de información (por ejemplo, una señal de audio). El aparato 120 puede comprender una unidad de salida 127 para transmitir datos, por ejemplo, de forma inalámbrica, por ejemplo, empleando un protocolo particular tal como Bluetooth. El aparato 120 puede comprender además una unidad de entrada 126 para obtener datos, por ejemplo, en forma inalámbrica, por ejemplo, empleando un protocolo determinado tal como Bluetooth. Por ejemplo, el aparato 120 puede obtener, mediante la ejecución de las instrucciones almacenadas en la unidad de memoria no transitoria 122, un flujo de bits transmitido por un decodificador.
En los ejemplos, el aparato 110 y el 120 pueden ser el mismo dispositivo. En los ejemplos, la composición de diferentes aparatos 110 y 120 forman un sistema.
Dependiendo de ciertos requisitos de implementación, los ejemplos pueden ser implementados en hardware. La implementación se puede realizar empleando un medio de almacenamiento digital, por ejemplo, un disco blando, un Disco Versátil Digital (DVD, por sus siglas en inglés), un Disco Blu-Ray, un Disco Compacto (CD, por sus siglas en inglés), una Memoria de Solo Lectura (ROM, por sus siglas en inglés), una Memoria Programable de Solo Lectura (PROM, por sus siglas en inglés), una Memoria de Solo Lectura Borrable y Programable (EPROM, por sus siglas en inglés), una Memoria de Solo Lectura Borrable y Programable Electrónicamente (EEPROM, por sus siglas en inglés) o una memoria FLASH, que tiene almacenadas en la misma señales de control legibles electrónicamente, que cooperan (o tienen capacidad para cooperar) con un sistema informático programable de tal manera que se ejecute el método respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por un ordenador.
En general, los ejemplos pueden ser implementados en forma de producto de programa informático con instrucciones de programa, instrucciones de programa que cumplen la función de ejecutar uno de los métodos al ejecutarse el programa informático en un ordenador. Las instrucciones de programa pueden ser almacenadas, por ejemplo, en medio legible por una máquina.
Otros ejemplos comprenden el programa informático para llevar a cabo uno de los métodos descritos en el presente documento, almacenado en un portador legible por una máquina. En otras palabras, un ejemplo del método consiste, por lo tanto, en un programa informático que tiene instrucciones de programa para ejecutar uno de los métodos descritos en el presente documento al ejecutarse el programa informático en un ordenador.
Un ejemplo adicional de los métodos consiste, por lo tanto, en un medio portador de datos (o medio de almacenamiento digital, o medio legible por ordenador) que comprende, grabado en el mismo, el programa informático para ejecutar uno de los métodos descritos en el presente documento. El medio portador de datos, el medio de almacenamiento digital o el medio grabado son tangibles y/o no transitorios en lugar de señales que son intangibles y transitorios.
Un ejemplo adicional comprende una unidad de procesamiento, por ejemplo, un ordenador, un dispositivo lógico programable para ejecutar uno de los métodos descritos en el presente documento.
Un ejemplo adicional comprende un ordenador en el que se ha instalado el programa informático para ejecutar uno de los métodos descritos en el presente documento.
Un ejemplo adicional comprende un aparato o un sistema para transferir (por ejemplo, por vía electrónica u óptica) un programa informático para llevar a cabo uno de los métodos descritos en el presente documento a un receptor. El receptor puede ser, por ejemplo, un ordenador, un dispositivo móvil, un dispositivo de memoria o similar. El aparato o sistema puede comprender, por ejemplo, un servidor de archivos para transferir el programa informático al receptor.
En algunos ejemplos, se puede utilizar un dispositivo lógico programable (por ejemplo, una matriz de puertas programables en el campo) para ejecutar algunas o todas las funcionalidades de los métodos descritos en el presente documento. En algunos ejemplos, una matriz de puertas programables en el campo puede cooperar con un microprocesador para ejecutar uno de los métodos descritos en el presente documento. Por lo general, los métodos pueden ser ejecutados preferentemente por cualquier aparato de hardware apropiado.
Los ejemplos precedentemente descritos son ilustrativos de los principios descritos. Se entiende que las modificaciones y variaciones de las disposiciones y los detalles descritos en el presente documento han de resultar obvios. Por lo tanto, solo se pretende que queden limitados por el alcance de las siguientes reivindicaciones de patente y no por los detalles específicos presentados a manera de descripción y explicación de los ejemplos aquí presentados.

Claims (32)

REIVINDICACIONES
1. Aparato codificador que comprende:
una pluralidad de herramientas codificadoras en el dominio de la frecuencia, FD, para codificar una señal de audio, presentando la señal de audio una pluralidad de tramas y
un detector y controlador de ancho de banda del codificador (39) configurado para seleccionar un ancho de banda para por lo menos un subgrupo (33, 36) de la pluralidad de herramientas codificadoras en FD, incluyendo el subgrupo (33, 36) menos herramientas codificadoras en FD que la pluralidad de herramientas codificadoras en FD, sobre la base de las características de la señal de audio de manera tal que por lo menos una de las herramientas codificadoras en FD del subgrupo (33, 36) tenga un ancho de banda diferente con respecto a por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo (33, 36).
2. Aparato codificador según la reivindicación 1, en el que:
por lo menos una herramienta codificadora en FD del subgrupo es una herramienta de modelado de ruido temporal, TNS, (33) y/o una herramienta estimadora de nivel de ruido (36).
3. Aparato codificador según la reivindicación 1 o 2, en el que:
se elige por lo menos una herramienta codificadora en FD que no está en el subgrupo (33, 36) entre por lo menos una herramienta de modelado espectral basada en codificación predictiva lineal, LPC, una herramienta de modelado de ruido espectral, SNS, un cuantizador espectral y un codificador residual.
4. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que:
el detector y controlador de ancho de banda del codificador (39) está configurado para seleccionar el ancho de banda de por lo menos una herramienta codificadora en FD del subgrupo (33, 36) entre por lo menos un primer ancho de banda común a por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo y un segundo ancho de banda diferente del ancho de banda de por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo.
5. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que:
el detector y controlador de ancho de banda del codificador (39) está configurado para seleccionar el ancho de banda de por lo menos una de la pluralidad de herramientas codificadoras en FD sobre la base de por lo menos una estimación de energía en la señal de audio.
6. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que:
el detector y controlador de ancho de banda del codificador (39) está configurado para comparar por lo menos una estimación de energía asociada a un ancho de banda de la señal de audio con un umbral respectivo para controlar el ancho de banda para por lo menos una de la pluralidad de herramientas codificadoras en f D.
7. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que:
por lo menos una de la pluralidad de herramientas codificadoras en FD del subgrupo (33, 36) comprende un TNS configurado para autocorrelacionar una señal de entrada de TNS dentro del ancho de banda elegido por el detector y controlador de ancho de banda del codificador (39).
8. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo está configurada para operar con ancho de banda completo.
9. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que el detector y controlador de ancho de banda del codificador (39) está configurado para seleccionar por lo menos un ancho de banda que está dentro del ancho de banda completo en el cual por lo menos una de las herramientas codificadoras en FD que no están en el subgrupo está configurada para operar.
10. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que por lo menos una de las herramientas codificadoras restantes en FD de la pluralidad de herramientas codificadoras en FD está configurada para operar en cadena abierta con respecto al ancho de banda elegido por el detector y controlador de ancho de banda del codificador (39).
11. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que:
el detector y controlador de ancho de banda del codificador (39) está configurado para seleccionar un ancho de banda entre un número finito de anchos de bandas y/o entre una serie de anchos de banda predefinidos.
12. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que:
el detector y controlador de ancho de banda del codificador (39) está configurado para realizar una selección entre por lo menos uno o una combinación de los siguientes anchos de banda: a 4 KHz, 8 KHz, 12 KHz, 16 KHz y 24 KHz y/o NB, WB, SSWB, SWB, FB.
13. Aparato codificador según cualquiera de las reivindicaciones anteriores, en el que:
el detector y controlador de ancho de banda del codificador (39) está configurado para controlar la señalización del ancho de banda a un decodificador.
14. Aparato codificador según cualquiera de las reivindicaciones anteriores, que además está configurado para:
codificar un campo de datos de control que incluye una información con respecto al ancho de banda elegido.
15. Aparato codificador según cualquiera de las reivindicaciones anteriores, que además está configurado para:
codificar un campo de datos de control que incluye:
- 0 bits de datos correspondientes a un ancho de banda NB;
- 1 bit de datos correspondientes a un ancho de banda NB, WB;
- 2 bits de datos correspondientes a un ancho de banda NB, WB, SSWB;
- 2 bits de datos correspondientes a un ancho de banda NB, WB, SSWB, SWB;
- 3 bits de datos correspondientes a un ancho de banda NB, WB, SSWB, SWB, FB.
16. Aparato codificador según la reivindicación 5 o 6 en posible combinación con cualquiera de las reivindicaciones anteriores, en el que por lo menos una estimación de energía se realiza de la siguiente manera:
Ifs(n+1)-1
X(k ) 2
EB(n) = ^ en caso de n = 0... NB — 1
k= Ifs(n) ifs(n 1) - ¡fs(n)
donde X(k) son los coeficientes de MDCT o MDST o FD, NB es el número de bandas y lfs(n) son los índices asociados a la banda.
17. Aparato codificador según cualquiera de las reivindicaciones anteriores, que además comprende una herramienta de TNS (33) configurada para realizar una operación de filtrado que incluye el cálculo de la operación de filtrado:
por cada k = 0..8
ro(k) , si n2=o S(S) = 0
r(k) y,sub_stop(f,s)-1-k
zn=sub_start(/,s) Xs(n)Xs(n+k)
z s 2 =0 e(s) , de lo contrario
donde
si k = 0
Figure imgf000035_0001
de lo contrario
y
sub_stop(f,s)-1
e(s) ^ Xs(n)2 en caso de s = 0..2
n=sub_start(/,s)
donde X(k) son los coeficientes de MDCT o MDST o FD, sub_start(/,s) y sub_stop(/,s) se asocian al ancho de banda particular detectado por el detector y controlador de ancho de banda del codificador (39).
18. Aparato codificador según cualquiera de las reivindicaciones anteriores, que además comprende un estimador de ruido (36) configurado para estimar un nivel de ruido mediante
Figure imgf000036_0001
donde gg se refiere a la ganancia global, INF(k) a la identificación de las líneas espectrales sobre las cuales se ha de estimar el nivel de ruido y Xf(k) es la señal.
19. Aparato decodificador (40, 40a) que comprende una pluralidad de herramientas decodificadoras en FD (43-48a) para decodificar una señal de audio codificada en un flujo de bits, en el que:
las herramientas decodificadoras en FD se dividen:
- en un subgrupo que comprende por lo menos una herramienta decodificadora en FD (43, 45);
- en el resto de las herramientas decodificadoras en FD que comprenden por lo menos una herramienta decodificadora en FD (44, 46, 48a);
en el que el aparato decodificador (40, 40a) está configurado de manera tal que por lo menos una de la pluralidad de herramientas decodificadoras del subgrupo (43, 45) realice el procesamiento de señales en un ancho de banda diferente con respecto a por lo menos una del resto de las herramientas decodificadoras en FD de la pluralidad de herramientas del decodificadoras (44, 46, 48a).
20. Aparato decodificador según la reivindicación 19, que además comprende un controlador de ancho de banda (49) configurado para:
elegir el ancho de banda sobre la base de la información de ancho de banda.
21. Aparato decodificador según la reivindicación 19 o 20, en el que:
el subgrupo comprende por lo menos una de una herramienta de llenado de ruido del decodificador (43) y/o un decodificador con modelado de ruido temporal, TNS, (45).
22. Aparato decodificador según cualquiera de las reivindicaciones 19 a 21, en el que:
por lo menos una del resto de las herramientas decodificadoras en FD es por lo menos una de una herramienta de codificación predictiva lineal, LPC, del decodificador, una herramienta de modelado de ruido espectral, SNS, una herramienta de ganancia global del decodificador, una herramienta de modelado por MDCT o MDST u otra herramienta de modelado basada en otra transformación.
23. Aparato decodificador según cualquiera de las reivindicaciones 19 a 22, que además está configurado para:
controlar el ancho de banda de por lo menos una de la pluralidad de herramientas decodificadoras que integran el subgrupo entre:
por lo menos un primer ancho de banda común a por lo menos una del resto de las herramientas decodificadoras en FD y
por lo menos un segundo ancho de banda diferente del primer ancho de banda.
24. Aparato decodificador según cualquiera de las reivindicaciones 19 a 23, en el que por lo menos una del resto de las herramientas decodificadoras en FD está configurada para operar con ancho de banda total.
25. Aparato decodificador según cualquiera de las reivindicaciones 19 a 24, en el que dicha por lo menos una del resto de las herramientas decodificadoras en FD está configurada para operar en cadena abierta con respecto al ancho de banda elegido.
26. Decodificador según cualquiera de las reivindicaciones 19 a 25, que además está configurado para: elegir un ancho de banda entre un número finito de anchos de bandas y/o entre una serie de anchos de banda predefinidos.
27. Decodificador según cualquiera de las reivindicaciones 19 a 26, que además está configurado para:
realizar una elección entre por lo menos uno o una combinación de: a 8 KHz, 16 KHz, 24 KHz, 32 KHz y 48 KHz y/o NB, WB, SSWB, SWB, FB.
28. Decodificador según cualquiera de las reivindicaciones 19 a 27, que además comprende una herramienta de llenado de ruido (43) configurada para aplicar un nivel de ruido usando los índices dados por
¡ ('k'i _ (1 si 24 < k < bwstop y Xq(í) == 0 en caso de todos ¿ = fe — 3..min(bwstop, k 3)
NF ro de lo contrario
donde bwstop se obtiene sobre la base de información de ancho de banda en el flujo de bits.
29. Decodificador según cualquiera de las reivindicaciones 19 a 28, que además comprende un decodificador de TNS (45) configurado para realizar:
s°(start_freq(0) — 1) = s1(start_freq(0) — 1) = — = s7(start_freq(0) — 1) = 0
en caso de f = 0 a num_tns_filters-1 do
en caso de n = start_freq(/) a stop_freq(f) — 1 do
t K(n) = Á^(n)
en caso de fe = 7 a 0 do
í fc(n) = í fc+1(n) — rc?(fe)sfc(n — 1)
sfc+1(n) = rc?(fe)ífc(n) sfc(n — 1)
Xs(n) = s°(n) = í°(n)
donde X¡(n) es la salida del decodificador TNS y X^(n) es la entrada del decodificador TNS, num_tns_filters, start_freq, stop_freq se obtienen sobre la base de información de ancho de banda (39a) comprendida en el flujo de bits.
30. Sistema que comprende un aparato codificador y un aparato decodificador, en el que el aparato codificador es conforme a cualquiera de las reivindicaciones 1 a 18 y/o el aparato decodificador es conforme a cualquiera de las reivindicaciones 19 a 29.
31. Método para codificar una señal de audio según por lo menos una pluralidad de operaciones en el dominio de la frecuencia, FD, comprendiendo el método:
seleccionar un ancho de banda para un subgrupo de operaciones en FD;
ejecutar primeras operaciones de procesamiento de señales con el ancho de banda del subgrupo de operaciones en FD;
ejecutar segundas operaciones de procesamiento de señales con un ancho de banda diferente para operaciones en FD que no están en el subgrupo.
32. Método para decodificar un flujo de bits con una señal de audio y datos de control (39a), comprendiendo el método una pluralidad de operaciones de procesamiento de señales en el dominio de la frecuencia, FD, comprendiendo el método:
elegir una selección de ancho de banda para un subgrupo de operaciones en FD sobre la base de los datos de control (39a);
ejecutar primeras operaciones de procesamiento de señales con el ancho de banda del subgrupo de operaciones en FD;
ejecutar segundas operaciones de procesamiento de señales con un ancho de banda diferente para operaciones en FD que no están en el subgrupo.
ES18796674T 2017-11-10 2018-11-06 Control de ancho de banda en codificadores y/o decodificadores Active ES2898281T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP17201082.9A EP3483882A1 (en) 2017-11-10 2017-11-10 Controlling bandwidth in encoders and/or decoders
PCT/EP2018/080335 WO2019091977A1 (en) 2017-11-10 2018-11-06 Controlling bandwidth in encoders and/or decoders

Publications (1)

Publication Number Publication Date
ES2898281T3 true ES2898281T3 (es) 2022-03-04

Family

ID=60301903

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18796674T Active ES2898281T3 (es) 2017-11-10 2018-11-06 Control de ancho de banda en codificadores y/o decodificadores

Country Status (18)

Country Link
US (1) US11462226B2 (es)
EP (2) EP3483882A1 (es)
JP (1) JP7003253B2 (es)
KR (1) KR102426033B1 (es)
CN (1) CN111344784B (es)
AR (1) AR113479A1 (es)
AU (1) AU2018363698B2 (es)
BR (1) BR112020009034A2 (es)
CA (1) CA3080907C (es)
ES (1) ES2898281T3 (es)
MX (1) MX2020004779A (es)
PL (1) PL3707713T3 (es)
PT (1) PT3707713T (es)
RU (1) RU2752520C1 (es)
SG (1) SG11202004171WA (es)
TW (1) TWI691954B (es)
WO (1) WO2019091977A1 (es)
ZA (1) ZA202002082B (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112530444B (zh) * 2019-09-18 2023-10-03 华为技术有限公司 音频编码方法和装置
CN113643713B (zh) * 2021-10-13 2021-12-24 北京百瑞互联技术有限公司 一种蓝牙音频编码方法、装置及存储介质

Family Cites Families (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3639753A1 (de) 1986-11-21 1988-06-01 Inst Rundfunktechnik Gmbh Verfahren zum uebertragen digitalisierter tonsignale
US5012517A (en) 1989-04-18 1991-04-30 Pacific Communication Science, Inc. Adaptive transform coder having long term predictor
US5233660A (en) 1991-09-10 1993-08-03 At&T Bell Laboratories Method and apparatus for low-delay celp speech coding and decoding
JPH05281996A (ja) 1992-03-31 1993-10-29 Sony Corp ピッチ抽出装置
IT1270438B (it) 1993-06-10 1997-05-05 Sip Procedimento e dispositivo per la determinazione del periodo del tono fondamentale e la classificazione del segnale vocale in codificatori numerici della voce
US5581653A (en) 1993-08-31 1996-12-03 Dolby Laboratories Licensing Corporation Low bit-rate high-resolution spectral envelope coding for audio encoder and decoder
JP3402748B2 (ja) 1994-05-23 2003-05-06 三洋電機株式会社 音声信号のピッチ周期抽出装置
JPH0811644A (ja) 1994-06-27 1996-01-16 Nissan Motor Co Ltd ルーフモール取付構造
US6167093A (en) 1994-08-16 2000-12-26 Sony Corporation Method and apparatus for encoding the information, method and apparatus for decoding the information and method for information transmission
DE69619284T3 (de) 1995-03-13 2006-04-27 Matsushita Electric Industrial Co., Ltd., Kadoma Vorrichtung zur Erweiterung der Sprachbandbreite
US5781888A (en) 1996-01-16 1998-07-14 Lucent Technologies Inc. Perceptual noise shaping in the time domain via LPC prediction in the frequency domain
WO1997027578A1 (en) 1996-01-26 1997-07-31 Motorola Inc. Very low bit rate time domain speech analyzer for voice messaging
US5812971A (en) 1996-03-22 1998-09-22 Lucent Technologies Inc. Enhanced joint stereo coding method using temporal envelope shaping
JPH1091194A (ja) 1996-09-18 1998-04-10 Sony Corp 音声復号化方法及び装置
US6570991B1 (en) 1996-12-18 2003-05-27 Interval Research Corporation Multi-feature speech/music discrimination system
KR100261253B1 (ko) 1997-04-02 2000-07-01 윤종용 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치
GB2326572A (en) 1997-06-19 1998-12-23 Softsound Limited Low bit rate audio coder and decoder
WO1999016050A1 (en) 1997-09-23 1999-04-01 Voxware, Inc. Scalable and embedded codec for speech and audio signals
JP3344962B2 (ja) 1998-03-11 2002-11-18 松下電器産業株式会社 オーディオ信号符号化装置、及びオーディオ信号復号化装置
US6507814B1 (en) 1998-08-24 2003-01-14 Conexant Systems, Inc. Pitch determination using speech classification and prior pitch estimation
US7272556B1 (en) 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US7302396B1 (en) 1999-04-27 2007-11-27 Realnetworks, Inc. System and method for cross-fading between audio streams
EP1139665A1 (en) 2000-03-29 2001-10-04 Deutsche Thomson-Brandt Gmbh Method and apparatus for changing the output delay of audio or video data encoding
US6735561B1 (en) 2000-03-29 2004-05-11 At&T Corp. Effective deployment of temporal noise shaping (TNS) filters
US7099830B1 (en) 2000-03-29 2006-08-29 At&T Corp. Effective deployment of temporal noise shaping (TNS) filters
US6665638B1 (en) 2000-04-17 2003-12-16 At&T Corp. Adaptive short-term post-filters for speech coders
US7395209B1 (en) 2000-05-12 2008-07-01 Cirrus Logic, Inc. Fixed point audio decoding system and method
WO2002101717A2 (en) 2001-06-11 2002-12-19 Ivl Technologies Ltd. Pitch candidate selection method for multi-channel pitch detectors
US7353168B2 (en) 2001-10-03 2008-04-01 Broadcom Corporation Method and apparatus to eliminate discontinuities in adaptively filtered signals
US6785645B2 (en) 2001-11-29 2004-08-31 Microsoft Corporation Real-time speech and music classifier
US20030187663A1 (en) * 2002-03-28 2003-10-02 Truman Michael Mead Broadband frequency translation for high frequency regeneration
US7447631B2 (en) 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
US7433824B2 (en) 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
JP4287637B2 (ja) 2002-10-17 2009-07-01 パナソニック株式会社 音声符号化装置、音声符号化方法及びプログラム
KR101049751B1 (ko) 2003-02-11 2011-07-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 오디오 코딩
KR20030031936A (ko) 2003-02-13 2003-04-23 배명진 피치변경법을 이용한 단일 음성 다중 목소리 합성기
US20040162866A1 (en) 2003-02-19 2004-08-19 Malvar Henrique S. System and method for producing fast modulated complex lapped transforms
CN1809873B (zh) 2003-06-17 2010-05-12 松下电器产业株式会社 接收装置,发送装置及传输***
DE602004029786D1 (de) 2003-06-30 2010-12-09 Koninkl Philips Electronics Nv Verbesserung der qualität von dekodierten audio mittels hinzufügen von geräusch
US7620545B2 (en) 2003-07-08 2009-11-17 Industrial Technology Research Institute Scale factor based bit shifting in fine granularity scalability audio coding
KR100550003B1 (ko) 2003-07-11 2006-02-08 학교법인연세대학교 상호부호화기에서 개회로 피치 추정 방법 및 그 장치
US7983909B2 (en) 2003-09-15 2011-07-19 Intel Corporation Method and apparatus for encoding audio data
US7009533B1 (en) 2004-02-13 2006-03-07 Samplify Systems Llc Adaptive compression and decompression of bandlimited signals
KR20050087956A (ko) 2004-02-27 2005-09-01 삼성전자주식회사 무손실 오디오 부호화/복호화 방법 및 장치
CA3026276C (en) 2004-03-01 2019-04-16 Dolby Laboratories Licensing Corporation Reconstructing audio signals with multiple decorrelation techniques
DE102004009954B4 (de) 2004-03-01 2005-12-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Multikanalsignals
DE102004009949B4 (de) 2004-03-01 2006-03-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Ermitteln eines Schätzwertes
EP1722359B1 (en) 2004-03-05 2011-09-07 Panasonic Corporation Error conceal device and error conceal method
US7272567B2 (en) 2004-03-25 2007-09-18 Zoran Fejzo Scalable lossless audio codec and authoring tool
WO2006107837A1 (en) 2005-04-01 2006-10-12 Qualcomm Incorporated Methods and apparatus for encoding and decoding an highband portion of a speech signal
US7546240B2 (en) 2005-07-15 2009-06-09 Microsoft Corporation Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition
US7539612B2 (en) 2005-07-15 2009-05-26 Microsoft Corporation Coding and decoding scale factor information
KR20070037945A (ko) 2005-10-04 2007-04-09 삼성전자주식회사 오디오 신호의 부호화/복호화 방법 및 장치
US20070118361A1 (en) 2005-10-07 2007-05-24 Deepen Sinha Window apparatus and method
KR100888474B1 (ko) 2005-11-21 2009-03-12 삼성전자주식회사 멀티채널 오디오 신호의 부호화/복호화 장치 및 방법
US7805297B2 (en) 2005-11-23 2010-09-28 Broadcom Corporation Classification-based frame loss concealment for audio signals
WO2007070007A1 (en) 2005-12-14 2007-06-21 Matsushita Electric Industrial Co., Ltd. A method and system for extracting audio features from an encoded bitstream for audio classification
US8255207B2 (en) 2005-12-28 2012-08-28 Voiceage Corporation Method and device for efficient frame erasure concealment in speech codecs
US8345890B2 (en) 2006-01-05 2013-01-01 Audience, Inc. System and method for utilizing inter-microphone level differences for speech enhancement
WO2007102782A2 (en) 2006-03-07 2007-09-13 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for audio coding and decoding
US8150065B2 (en) 2006-05-25 2012-04-03 Audience, Inc. System and method for processing an audio signal
JP2009539132A (ja) 2006-05-30 2009-11-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーディオ信号の線形予測符号化
CN1983909B (zh) 2006-06-08 2010-07-28 华为技术有限公司 一种丢帧隐藏装置和方法
US8015000B2 (en) 2006-08-03 2011-09-06 Broadcom Corporation Classification-based frame loss concealment for audio signals
EP2054882B1 (en) 2006-08-15 2011-01-19 Dolby Laboratories Licensing Corporation Arbitrary shaping of temporal noise envelope without side-information
FR2905510B1 (fr) 2006-09-01 2009-04-10 Voxler Soc Par Actions Simplif Procede d'analyse en temps reel de la voix pour le controle en temps reel d'un organe numerique et dispositif associe
CN101140759B (zh) * 2006-09-08 2010-05-12 华为技术有限公司 语音或音频信号的带宽扩展方法及***
US7752038B2 (en) 2006-10-13 2010-07-06 Nokia Corporation Pitch lag estimation
DE102006049154B4 (de) 2006-10-18 2009-07-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung eines Informationssignals
KR101292771B1 (ko) 2006-11-24 2013-08-16 삼성전자주식회사 오디오 신호의 오류은폐방법 및 장치
WO2008072701A1 (ja) 2006-12-13 2008-06-19 Panasonic Corporation ポストフィルタおよびフィルタリング方法
FR2912249A1 (fr) 2007-02-02 2008-08-08 France Telecom Codage/decodage perfectionnes de signaux audionumeriques.
JP4871894B2 (ja) * 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
CN101308658B (zh) * 2007-05-14 2011-04-27 深圳艾科创新微电子有限公司 一种基于片上***的音频解码器及其解码方法
EP2015293A1 (en) 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
US20110022924A1 (en) 2007-06-14 2011-01-27 Vladimir Malenovsky Device and Method for Frame Erasure Concealment in a PCM Codec Interoperable with the ITU-T Recommendation G. 711
JP4928366B2 (ja) 2007-06-25 2012-05-09 日本電信電話株式会社 ピッチ探索装置、パケット消失補償装置、それらの方法、プログラム及びその記録媒体
JP4572218B2 (ja) 2007-06-27 2010-11-04 日本電信電話株式会社 音楽区間検出方法、音楽区間検出装置、音楽区間検出プログラム及び記録媒体
US10795949B2 (en) 2007-07-26 2020-10-06 Hamid Hatami-Hanza Methods and systems for investigation of compositions of ontological subjects and intelligent systems therefrom
US20110116542A1 (en) 2007-08-24 2011-05-19 France Telecom Symbol plane encoding/decoding with dynamic calculation of probability tables
EP2186087B1 (en) 2007-08-27 2011-11-30 Telefonaktiebolaget L M Ericsson (PUBL) Improved transform coding of speech and audio signals
CN100524462C (zh) 2007-09-15 2009-08-05 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
JP5547081B2 (ja) * 2007-11-02 2014-07-09 華為技術有限公司 音声復号化方法及び装置
WO2009066869A1 (en) 2007-11-21 2009-05-28 Electronics And Telecommunications Research Institute Frequency band determining method for quantization noise shaping and transient noise shaping method using the same
US9659568B2 (en) 2007-12-31 2017-05-23 Lg Electronics Inc. Method and an apparatus for processing an audio signal
US8386271B2 (en) 2008-03-25 2013-02-26 Microsoft Corporation Lossless and near lossless scalable audio codec
RU2475868C2 (ru) 2008-06-13 2013-02-20 Нокиа Корпорейшн Способ и устройство для маскирования ошибок кодированных аудиоданных
KR101227729B1 (ko) 2008-07-11 2013-01-29 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 샘플 오디오 신호의 프레임을 인코딩하기 위한 오디오 인코더 및 디코더
EP2144230A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
PL2346030T3 (pl) 2008-07-11 2015-03-31 Fraunhofer Ges Forschung Koder audio, sposób kodowania sygnału audio oraz program komputerowy
EP2144231A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme with common preprocessing
US8577673B2 (en) 2008-09-15 2013-11-05 Huawei Technologies Co., Ltd. CELP post-processing for music signals
KR20130069833A (ko) 2008-10-08 2013-06-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 다중 분해능 스위치드 오디오 부호화/복호화 방법
GB2466673B (en) 2009-01-06 2012-11-07 Skype Quantization
KR101316979B1 (ko) 2009-01-28 2013-10-11 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 오디오 코딩
JP4945586B2 (ja) 2009-02-02 2012-06-06 株式会社東芝 信号帯域拡張装置
US20100223061A1 (en) 2009-02-27 2010-09-02 Nokia Corporation Method and Apparatus for Audio Coding
JP4932917B2 (ja) 2009-04-03 2012-05-16 株式会社エヌ・ティ・ティ・ドコモ 音声復号装置、音声復号方法、及び音声復号プログラム
FR2944664A1 (fr) 2009-04-21 2010-10-22 Thomson Licensing Dispositif et procede de traitement d'images
US8352252B2 (en) 2009-06-04 2013-01-08 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
US8428938B2 (en) 2009-06-04 2013-04-23 Qualcomm Incorporated Systems and methods for reconstructing an erased speech frame
KR20100136890A (ko) 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
CN101958119B (zh) 2009-07-16 2012-02-29 中兴通讯股份有限公司 一种改进的离散余弦变换域音频丢帧补偿器和补偿方法
RU2591661C2 (ru) * 2009-10-08 2016-07-20 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Многорежимный декодировщик аудио сигнала, многорежимный кодировщик аудио сигналов, способы и компьютерные программы с использованием кодирования с линейным предсказанием на основе ограничения шума
ES2797525T3 (es) 2009-10-15 2020-12-02 Voiceage Corp Conformación simultánea de ruido en el dominio del tiempo y el dominio de la frecuencia para transformaciones TDAC
PL2491554T3 (pl) 2009-10-20 2014-08-29 Fraunhofer Ges Forschung Koder audio, dekoder audio, sposób kodowania informacji audio, sposób dekodowania informacji audio i program komputerowy wykorzystujący zasadę mapowania arytmetycznego kodowania zależnej od obszaru
BR122020024243B1 (pt) 2009-10-20 2022-02-01 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E. V. Codificador de sinal de áudio, decodificador de sinal de áudio, método para prover uma representação codificada de um conteúdo de áudio e método para prover uma representação decodificada de um conteúdo de áudio.
US7978101B2 (en) 2009-10-28 2011-07-12 Motorola Mobility, Inc. Encoder and decoder using arithmetic stage to compress code space that is not fully utilized
US8207875B2 (en) 2009-10-28 2012-06-26 Motorola Mobility, Inc. Encoder that optimizes bit allocation for information sub-parts
US9020812B2 (en) 2009-11-24 2015-04-28 Lg Electronics Inc. Audio signal processing method and device
JP5624159B2 (ja) 2010-01-12 2014-11-12 フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム
US20110196673A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Concealing lost packets in a sub-band coding decoder
EP2375409A1 (en) 2010-04-09 2011-10-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction
FR2961980A1 (fr) 2010-06-24 2011-12-30 France Telecom Controle d'une boucle de retroaction de mise en forme de bruit dans un codeur de signal audionumerique
CA2958360C (en) 2010-07-02 2017-11-14 Dolby International Ab Audio decoder
WO2012016839A1 (en) 2010-07-20 2012-02-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using an optimized hash table
US9082416B2 (en) 2010-09-16 2015-07-14 Qualcomm Incorporated Estimating a pitch lag
US8738385B2 (en) 2010-10-20 2014-05-27 Broadcom Corporation Pitch-based pre-filtering and post-filtering for compression of audio signals
KR101617816B1 (ko) 2011-02-14 2016-05-03 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 스펙트럼 도메인 잡음 형상화를 사용하는 선형 예측 기반 코딩 방식
US9270807B2 (en) 2011-02-23 2016-02-23 Digimarc Corporation Audio localization using audio signal encoding and recognition
EP2686848A1 (en) 2011-03-18 2014-01-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Frame element positioning in frames of a bitstream representing audio content
TWI672692B (zh) * 2011-04-21 2019-09-21 南韓商三星電子股份有限公司 解碼裝置
US8891775B2 (en) 2011-05-09 2014-11-18 Dolby International Ab Method and encoder for processing a digital stereo audio signal
FR2977439A1 (fr) 2011-06-28 2013-01-04 France Telecom Fenetres de ponderation en codage/decodage par transformee avec recouvrement, optimisees en retard.
FR2977969A1 (fr) 2011-07-12 2013-01-18 France Telecom Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee
US9363339B2 (en) 2011-07-12 2016-06-07 Hughes Network Systems, Llc Staged data compression, including block level long range compression, for data streams in a communications system
CN103493130B (zh) 2012-01-20 2016-05-18 弗劳恩霍夫应用研究促进协会 用以利用正弦代换进行音频编码及译码的装置和方法
ES2571742T3 (es) 2012-04-05 2016-05-26 Huawei Tech Co Ltd Método de determinación de un parámetro de codificación para una señal de audio multicanal y un codificador de audio multicanal
US20130282372A1 (en) 2012-04-23 2013-10-24 Qualcomm Incorporated Systems and methods for audio signal processing
US9026451B1 (en) 2012-05-09 2015-05-05 Google Inc. Pitch post-filter
CN108806703B (zh) 2012-06-08 2023-07-18 三星电子株式会社 用于隐藏帧错误的方法和设备
GB201210373D0 (en) 2012-06-12 2012-07-25 Meridian Audio Ltd Doubly compatible lossless audio sandwidth extension
FR2992766A1 (fr) 2012-06-29 2014-01-03 France Telecom Attenuation efficace de pre-echos dans un signal audionumerique
CN106941004B (zh) 2012-07-13 2021-05-18 华为技术有限公司 音频信号的比特分配的方法和装置
CN102779526B (zh) 2012-08-07 2014-04-16 无锡成电科大科技发展有限公司 语音信号中基音提取及修正方法
US9406307B2 (en) 2012-08-19 2016-08-02 The Regents Of The University Of California Method and apparatus for polyphonic audio signal prediction in coding and networking systems
US9293146B2 (en) 2012-09-04 2016-03-22 Apple Inc. Intensity stereo coding in advanced audio coding
TWI606440B (zh) 2012-09-24 2017-11-21 三星電子股份有限公司 訊框錯誤隱藏裝置
CN103714821A (zh) 2012-09-28 2014-04-09 杜比实验室特许公司 基于位置的混合域数据包丢失隐藏
US9401153B2 (en) 2012-10-15 2016-07-26 Digimarc Corporation Multi-mode audio recognition and auxiliary data encoding and decoding
US9318116B2 (en) 2012-12-14 2016-04-19 Disney Enterprises, Inc. Acoustic data transmission based on groups of audio receivers
EP2757558A1 (en) 2013-01-18 2014-07-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Time domain level adjustment for audio signal decoding or encoding
FR3001593A1 (fr) 2013-01-31 2014-08-01 France Telecom Correction perfectionnee de perte de trame au decodage d'un signal.
ES2750783T3 (es) 2013-02-05 2020-03-27 Ericsson Telefon Ab L M Procedimiento y aparato para controlar la ocultación de pérdida de trama de audio
TWI530941B (zh) 2013-04-03 2016-04-21 杜比實驗室特許公司 用於基於物件音頻之互動成像的方法與系統
RU2666327C2 (ru) 2013-06-21 2018-09-06 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Устройство и способ для улучшенного маскирования адаптивной таблицы кодирования при acelp-образном маскировании с использованием улучшенной повторной синхронизации импульсов
EP2830061A1 (en) * 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
EP2830055A1 (en) 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Context-based entropy coding of sample values of a spectral envelope
AU2014336097B2 (en) 2013-10-18 2017-01-19 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Coding of spectral coefficients of a spectrum of an audio signal
US9906858B2 (en) 2013-10-22 2018-02-27 Bongiovi Acoustics Llc System and method for digital signal processing
JP6396459B2 (ja) * 2013-10-31 2018-09-26 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 周波数領域における時間的予備整形雑音の挿入によるオーディオ帯域幅拡張
EP3355305B1 (en) 2013-10-31 2019-10-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder and method for providing a decoded audio information using an error concealment modifying a time domain excitation signal
ES2732952T3 (es) 2013-10-31 2019-11-26 Fraunhofer Ges Forschung Decodificador de audio y procedimiento para proporcionar una información de audio decodificada usando un ocultamiento de error basado en una señal de excitación en el dominio del tiempo
AU2014350366B2 (en) 2013-11-13 2017-02-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder for encoding an audio signal, audio transmission system and method for determining correction values
GB2524333A (en) * 2014-03-21 2015-09-23 Nokia Technologies Oy Audio signal payload
CA3134652A1 (en) 2014-04-17 2015-10-22 Voiceage Evs Llc Methods, encoder and decoder for linear predictive encoding and decoding of sound signals upon transition between frames having different sampling rates
US9396733B2 (en) 2014-05-06 2016-07-19 University Of Macau Reversible audio data hiding
NO2780522T3 (es) 2014-05-15 2018-06-09
EP2963649A1 (en) 2014-07-01 2016-01-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio processor and method for processing an audio signal using horizontal phase correction
US9685166B2 (en) 2014-07-26 2017-06-20 Huawei Technologies Co., Ltd. Classification between time-domain coding and frequency domain coding
EP2980799A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for processing an audio signal using a harmonic post-filter
EP2980798A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Harmonicity-dependent controlling of a harmonic filter tool
KR20240011875A (ko) * 2014-07-28 2024-01-26 삼성전자주식회사 패킷 손실 은닉방법 및 장치와 이를 적용한 복호화방법 및 장치
SG11201509526SA (en) 2014-07-28 2017-04-27 Fraunhofer Ges Forschung Apparatus and method for selecting one of a first encoding algorithm and a second encoding algorithm using harmonics reduction
EP2980796A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for processing an audio signal, audio decoder, and audio encoder
EP2988300A1 (en) 2014-08-18 2016-02-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Switching of sampling rates at audio processing devices
WO2016142002A1 (en) 2015-03-09 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
EP3067886A1 (en) * 2015-03-09 2016-09-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder for encoding a multichannel signal and audio decoder for decoding an encoded audio signal
US10296959B1 (en) 2015-03-30 2019-05-21 Audible, Inc. Automated recommendations of audio narrations
US10049684B2 (en) * 2015-04-05 2018-08-14 Qualcomm Incorporated Audio bandwidth selection
US9886963B2 (en) * 2015-04-05 2018-02-06 Qualcomm Incorporated Encoder selection
JP6422813B2 (ja) 2015-04-13 2018-11-14 日本電信電話株式会社 符号化装置、復号装置、これらの方法及びプログラム
US9978400B2 (en) 2015-06-11 2018-05-22 Zte Corporation Method and apparatus for frame loss concealment in transform domain
US10847170B2 (en) 2015-06-18 2020-11-24 Qualcomm Incorporated Device and method for generating a high-band signal from non-linearly processed sub-ranges
US9837089B2 (en) 2015-06-18 2017-12-05 Qualcomm Incorporated High-band signal generation
KR20170000933A (ko) 2015-06-25 2017-01-04 한국전기연구원 시간 지연 추정을 이용한 풍력 터빈의 피치 제어 시스템
US9830921B2 (en) 2015-08-17 2017-11-28 Qualcomm Incorporated High-band target signal control
WO2017039422A2 (ko) * 2015-09-04 2017-03-09 삼성전자 주식회사 음질 향상을 위한 신호 처리방법 및 장치
US9978381B2 (en) 2016-02-12 2018-05-22 Qualcomm Incorporated Encoding of multiple audio signals
US10219147B2 (en) * 2016-04-07 2019-02-26 Mediatek Inc. Enhanced codec control
US10283143B2 (en) 2016-04-08 2019-05-07 Friday Harbor Llc Estimating pitch of harmonic signals
CN107103908B (zh) 2017-05-02 2019-12-24 大连民族大学 复调音乐多音高估计方法及伪双谱在多音高估计中的应用

Also Published As

Publication number Publication date
AR113479A1 (es) 2020-05-06
EP3483882A1 (en) 2019-05-15
PL3707713T3 (pl) 2022-01-31
RU2752520C1 (ru) 2021-07-28
PT3707713T (pt) 2021-12-03
KR20200077591A (ko) 2020-06-30
AU2018363698B2 (en) 2020-12-17
WO2019091977A1 (en) 2019-05-16
US20200265852A1 (en) 2020-08-20
CN111344784A (zh) 2020-06-26
EP3707713A1 (en) 2020-09-16
CA3080907C (en) 2023-12-19
TWI691954B (zh) 2020-04-21
MX2020004779A (es) 2020-08-13
AU2018363698A1 (en) 2020-05-21
BR112020009034A2 (pt) 2020-10-27
CA3080907A1 (en) 2019-05-16
EP3707713B1 (en) 2021-09-22
SG11202004171WA (en) 2020-06-29
KR102426033B1 (ko) 2022-07-27
JP2021502591A (ja) 2021-01-28
CN111344784B (zh) 2023-08-08
ZA202002082B (en) 2021-07-28
JP7003253B2 (ja) 2022-01-20
US11462226B2 (en) 2022-10-04
TW201923747A (zh) 2019-06-16

Similar Documents

Publication Publication Date Title
RU2696292C2 (ru) Аудиокодер и декодер
ES2604983T3 (es) Ajuste de nivel en el dominio del tiempo para decodificación o codificación de señales de audio
US7383180B2 (en) Constant bitrate media encoding techniques
US8612214B2 (en) Apparatus and a method for generating bandwidth extension output data
ES2665599T3 (es) Codificador y descodificador de audio
KR102217709B1 (ko) 노이즈 신호 처리 방법, 노이즈 신호 생성 방법, 인코더, 디코더, 및 인코딩/디코딩 시스템
US11705142B2 (en) Signal encoding method and device and signal decoding method and device
TW201503108A (zh) 後設資料驅動動態範圍控制
JP2014510938A (ja) オーディオ信号の効率的なエンコーディング/デコーディング
EP2981961A2 (en) Advanced quantizer
BR112015018040B1 (pt) Ênfase de baixa frequência para codificação com base em lpc em domínio de frequência
ES2898281T3 (es) Control de ancho de banda en codificadores y/o decodificadores
US11900952B2 (en) Time-domain stereo encoding and decoding method and related product
JP2016539377A (ja) 低演算資源を用いて符号化済みオーディオ信号を復号化する装置及び方法
US10388293B2 (en) Signal encoding method and device and signal decoding method and device
RU2793725C2 (ru) Аудиокодер и декодер