ES2614358T3 - Selección de uno de un primer algoritmo de codificación y un segundo algoritmo de codificación usando reducción de armónicos - Google Patents
Selección de uno de un primer algoritmo de codificación y un segundo algoritmo de codificación usando reducción de armónicos Download PDFInfo
- Publication number
- ES2614358T3 ES2614358T3 ES15739590.6T ES15739590T ES2614358T3 ES 2614358 T3 ES2614358 T3 ES 2614358T3 ES 15739590 T ES15739590 T ES 15739590T ES 2614358 T3 ES2614358 T3 ES 2614358T3
- Authority
- ES
- Spain
- Prior art keywords
- audio signal
- coding algorithm
- algorithm
- estimate
- quality
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 171
- 230000009467 reduction Effects 0.000 title description 7
- 230000005236 sound signal Effects 0.000 claims abstract description 195
- 230000005284 excitation Effects 0.000 claims abstract description 15
- 230000007774 longterm Effects 0.000 claims abstract description 15
- 238000005259 measurement Methods 0.000 claims abstract description 10
- 230000003044 adaptive effect Effects 0.000 claims description 52
- 238000000034 method Methods 0.000 claims description 32
- 230000002123 temporal effect Effects 0.000 claims description 27
- 230000008859 change Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000007781 pre-processing Methods 0.000 claims description 12
- 230000009849 deactivation Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 230000001052 transient effect Effects 0.000 description 23
- 238000013459 approach Methods 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 11
- 238000005070 sampling Methods 0.000 description 11
- 238000001914 filtration Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000001934 delay Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000003595 spectral effect Effects 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000005311 autocorrelation function Methods 0.000 description 3
- 101500028021 Drosophila melanogaster Immune-induced peptide 16 Proteins 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 238000007493 shaping process Methods 0.000 description 2
- VWDWKYIASSYTQR-UHFFFAOYSA-N sodium nitrate Chemical compound [Na+].[O-][N+]([O-])=O VWDWKYIASSYTQR-UHFFFAOYSA-N 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- LNEPOXFFQSENCJ-UHFFFAOYSA-N haloperidol Chemical compound C1CC(O)(C=2C=CC(Cl)=CC=2)CCN1CCCC(=O)C1=CC=C(F)C=C1 LNEPOXFFQSENCJ-UHFFFAOYSA-N 0.000 description 1
- 230000005923 long-lasting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010972 statistical evaluation Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/22—Mode decision, i.e. based on audio signal content versus external parameters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/12—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/26—Pre-filtering or post-filtering
- G10L19/265—Pre-filtering, e.g. high frequency emphasis prior to encoding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/09—Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
- G10L2019/0002—Codebook adaptations
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L2019/0001—Codebooks
- G10L2019/0011—Long term prediction filters, i.e. pitch estimation
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Mathematical Physics (AREA)
Abstract
Aparato (10) para seleccionar uno de un primer algoritmo de codificación que tiene una primera característica y un segundo algoritmo de codificación que tiene una segunda característica para codificar una porción de una señal de audio (40) para obtener una versión codificada de la porción de la señal de audio (40), que comprende: un filtro de predicción a largo plazo configurado para recibir la señal de audio, para reducir la amplitud de armónicos en la señal de audio y para emitir una versión filtrada de la señal de audio; un primer estimador (12) para usar la versión filtrada de la señal de audio en la estimación de una relación de señal a ruido, SNR, o relación de señal a ruido de SNR segmentaria de la porción de la señal de audio como una primera medida de calidad para la porción de la señal de audio, estando asociada la primera medida de calidad con el primer algoritmo de codificación, en el que estimar dicha primera medida de calidad comprende realizar una aproximación del primer algoritmo de codificación para obtener una estimación de distorsión del primer algoritmo de codificación y para estimar la primera medida de calidad basándose en la porción de la señal de audio y la estimación de distorsión del primer algoritmo de codificación sin codificar y decodificar realmente la porción de la señal de audio usando el primer algoritmo de codificación; un segundo estimador (14) para estimar una SNR o una SNR segmentaria como una segunda medida de calidad para la porción de la señal de audio, estando asociada la segunda medida de calidad con el segundo algoritmo de codificación, en el que estimar dicha segunda medida de calidad comprende realizar una aproximación del segundo algoritmo de codificación para obtener una estimación de distorsión del segundo algoritmo de codificación y para estimar la segunda medida de calidad usando la porción de la señal de audio y la estimación de distorsión del segundo algoritmo de codificación sin codificar y decodificar realmente la porción de la señal de audio usando el segundo algoritmo de codificación; y un controlador (16) para seleccionar el primer algoritmo de codificación o el segundo algoritmo de codificación basándose en una comparación entre la primera medida de calidad y la segunda medida de calidad, en el que el primer algoritmo de codificación es un algoritmo de codificación por transformada, un algoritmo de codificación basado en transformada de coseno discreta modificada, MDCT, o un algoritmo de codificación de excitación codificada por transformada, TCX, y en el que el segundo algoritmo de codificación es un algoritmo de codificación de predicción lineal con excitación por código, CELP, o un algoritmo de codificación de predicción lineal con excitación por código algebraico, ACELP.
Description
5
10
15
20
25
30
35
40
45
50
55
60
Seleccion de uno de un primer algoritmo de codificacion y un segundo algoritmo de codificacion usando reduccion
de armonicos
DESCRIPCION
La presente invencion se refiere a la codificacion de audio, y en particular, a la codificacion de audio conmutada, donde, para diferentes porciones de una senal de audio, la senal codificada se genera utilizando diferentes algoritmos de codificacion.
Los codificadores de audio conmutado que determinan diferentes algoritmos de codificacion para diferentes porciones de la senal de audio son conocidos. En terminos generales, los codificadores de audio conmutados proporcionan la conmutacion entre dos modos diferentes, es decir, algoritmos tales como ACELP (Algebraic Code Excited Linear Prediction, Prediccion Lineal Con Excitacion por Codigo Algebraico) y TCX (Transform Coded Excitation, Excitacion Codificada por Transformadas).
El modo LPD de MPEG USAC (MPEG Unified Speech Audio Coding, Codificacion Unificada de Audio del Habla), se basa en dos modos diferentes: ACELP y TCX. El ACELP proporciona una mejor calidad para las senales similares al habla y similares a transitorios. El TCX proporciona una mejor calidad para senales similares a musica y similares al ruido. El codificador decide cual modo utilizar en una base trama a trama. La decision tomada por el codificador es cntica para la calidad del codec. Una unica decision equivocada puede producir un fuerte artefacto, particularmente a bajas tasas de bits.
El enfoque mas sencillo para decir cual modo utilizar es una seleccion de modo de bucle cerrado, es decir, llevar a cabo una codificacion/decodificacion completa de ambos modos, a continuacion calcular un criterio de seleccion (por ejemplo, la SNR segmentaria) para ambos modos basandose en la senal de audio y en las senales de audio codificadas/decodificadas y finalmente elegir un modo basandose en el criterio de seleccion. Por lo general este enfoque produce una decision estable y robusta. Sin embargo, tambien requiere una cantidad significativa de complejidad, cuando ambos modos han de ejecutarse en cada trama.
Para reducir la complejidad, un enfoque alternativo es la seleccion en modo de bucle abierto. La seleccion en bucle abierto consiste en no llevar a cabo una codificacion/decodificacion completa de ambos modos, sino en cambio, elegir un modo utilizando un criterio de seleccion calculado con baja complejidad. La complejidad del peor caso se reduce a continuacion mediante la complejidad del modo menos complejo (normalmente TCX), menos la complejidad necesaria para calcular el criterio de seleccion. El ahorro en complejidad es normalmente significativo, lo que hace que este tipo de enfoque sea atractivo cuando la complejidad del peor caso del codec esta restringida.
La norma AMR-WB+ (definida en International Standard 3GPP TS 26.290 V6.1.0 2004-12) incluye una seleccion en modo de bucle abierto, utilizada para decidir entre todas las combinaciones de ACELP/TCX20/TCX40/TCX80 en una trama de 80 ms. Esta descrito en la Seccion 5.2.4 de 3GPP TS 26.290. Tambien se describe en el artfculo de conferencia “Low Complex Audio Encoding for Mobile, Multimedia, VTC 2006, Makinen et al.” y los documentos US 7.747.430 B2 y US 7.739.120 B2 que se refieren al autor de este artfculo de conferencia.
En el documento US 7.747.430 B2 divulga una seleccion en modo de bucle abierto basandose en un analisis de parametros de prediccion a largo plazo. El documento US 7.739.120 B2 divulga una seleccion en modo de bucle abierto basandose en caractensticas de la senal que indican el tipo de contenido de audio en las respectivas secciones de una senal de audio, en el que, si una seleccion de este tipo no es viable, la seleccion se basa ademas en una evaluacion estadfstica llevada a cabo para secciones respectivamente adyacentes.
La seleccion en modo de bucle abierto de AMR-WSB + puede describirse en dos etapas principales. En la primera etapa principal, se calculan varios rasgos sobre la senal de audio, tales como la desviacion tfpica de los niveles de energfa, la relacion de energfa de baja frecuencia/alta frecuencia, energfa total, distancia de ISP (immittance spectral pair, par espectral de inmitancia), retardos y ganancias de tono, inclinacion espectral. Estos rasgos se utilizan a continuacion para tomar una decision entre ACELP y TCX, utilizandose un unico clasificador basado en el umbral. Si se selecciona TCX en la primera etapa principal, entonces la segunda etapa principal decide entre las posibles combinaciones de TCX20/TCX40/TCX80 de una manera en bucle cerrado.
El documento WO 2012/110448 A1 desvela un enfoque para decidir entre dos algoritmos de codificacion que tienen diferentes caractensticas basandose en un resultado de deteccion de transitorios y un resultado de la calidad de una senal de audio. Ademas, se desvela la aplicacion de histeresis, en el que la histeresis se basa en las selecciones realizadas en el pasado, es decir, para las porciones anteriores de la senal de audio.
En el artfculo de conferencia “Low Complex Audio Encoding for Mobile, Multimedia, VTC 2006, Makinen et al.”, se comparan la seleccion en modo de bucle cerrado y en modo de bucle abierto de AMR-WB+. Las pruebas de
5
10
15
20
25
30
35
40
45
50
55
60
escucha subjetiva indican que la seleccion en modo de bucle abierto tiene un rendimiento significativamente peor que la seleccion en modo de bucle cerrado. Pero tambien se muestra que la seleccion en modo de bucle abierto reduce la complejidad del peor caso en un 40 %.
El documento WO2014/118136A1 desvela un enfoque para realizar seleccion de bucle abierto entre TCX y ACELP usando estimaciones de SNR (por segmentos) derivadas para la aproximacion respectiva de cada uno de los algoritmos de codificacion de TCX y ACELP.
Es el objeto de la invencion proporcionar un enfoque mejorado que permita la seleccion entre un primer algoritmo de codificacion y un segundo algoritmo de codificacion con un buen rendimiento y complejidad reducida.
Este objetivo se consigue mediante un aparato de acuerdo con la reivindicacion 1, un metodo de acuerdo con la reivindicacion 14 y un programa de computadora de acuerdo con la reivindicacion 15.
Algunas formas de realizacion de la invencion estan basadas en el reconocimiento que una seleccion en bucle abierto con un rendimiento mejorado puede implementarse mediante la estimacion de una medida de la calidad para cada uno del primer y segundo algoritmos de codificacion y seleccionando uno de los algoritmos de codificacion basandose en una comparacion entre la primera y segunda medidas de calidad. Las medidas de la calidad se estiman, es decir, la senal de audio no se codifica y decodifica realmente para obtener las medidas de calidad. De esta manera, las medidas de calidad pueden obtenerse con una complejidad reducida. El modo de seleccion puede llevarse a cabo a continuacion utilizando las medidas de calidad estimada comparables a una seleccion en modo de bucle abierto. Ademas, la invencion se basa en el reconocimiento que puede obtenerse una seleccion de modo mejorada si la estimacion de la primera medida de la calidad utiliza una version filtrada de la porcion de la senal de audio, en la que los armonicos estan reducidos en comparacion con la version no filtrada de la senal de audio.
En algunas formas de realizacion de la invencion, se implementa una seleccion en modo de bucle abierto donde la SNR segmentaria de ACELP y TCX se estima en primer lugar con baja complejidad. Y a continuacion se lleva a cabo la seleccion de modo utilizando estos valores de SNR estimados, como en una seleccion de modo de bucle cerrado.
Las formas de realizacion de la invencion no emplean un enfoque de rasgos+clasificador clasico como se efectua en la seleccion el modo de bucle abierto de AMR-WB+. En cambio, las formas de realizacion de la invencion intentan estimar una medida de la calidad de cada modo y seleccionar el modo que proporcione la mejor calidad.
Ahora se describiran formas de realizacion de la presente invencion en mayor detalle con referencia a los dibujos adjuntos, en los que:
La Figura 1 muestra una vista esquematica de una forma de realizacion de un aparato para seleccionar uno
de un primer algoritmo de codificacion y un segundo algoritmo de codificacion;
La Figura 2 muestra una vista esquematica de una forma de realizacion de un aparato para codificar una
senal de audio;
La Figura 3 muestra una vista esquematica de una forma de realizacion de un aparato para seleccionar uno
de un primer algoritmo de codificacion y un segundo algoritmo de codificacion;
La Figura 4a y 4b posibles representaciones de SNR y SNR segmentaria.
En la siguiente descripcion, se hara referencia a los elementos/etapas similares en los diferentes dibujos mediante los mismos signos de referencia. Cabe observar que en los dibujos los rasgos, tales como las conexiones de las senales o similares, que no sean necesarias para entender la invencion, se han omitido.
La Figura 1 muestra un aparato 10 para seleccionar uno de un primer algoritmo de codificacion, tal como un algoritmo TCX y un segundo algoritmo de codificacion, tal como un algoritmo ACELP, como el codificador para codificar una porcion de una senal de audio. El aparato 10 comprende un primer estimador 12 para estimar una SNR o se proporciona una SNR segmentaria de la porcion de la senal de audio como primera medida de la calidad para la porcion de la senal. La primera medida de la calidad esta asociada con el primer algoritmo de codificacion. El aparato 10 comprende un filtro 2 configurado para recibir la senal de audio, para reducir la amplitud de los armonicos en la senal de audio y para emitir una version filtrada de la senal de audio. El filtro 2 puede ser interno en el primer estimador 12, como se muestra en la Figura 1, o puede ser externo con respecto al primer estimador 12. El primer estimador 12 utiliza la version filtrada de la senal de audio para estimar la primera medida de la calidad. En otras palabras, el primer estimador 12 estima una primera medida de la calidad que la porcion de la senal de audio tendna si se codificara y decodificara utilizando el primer algoritmo de codificacion, sin realmente codificar y decodificar la porcion de la senal de audio utilizando el primer algoritmo de codificacion. El aparato 10 comprende un segundo estimador 14 para estimar una segunda medida de la calidad para la porcion de la senal. La segunda medida de la
5
10
15
20
25
30
35
40
45
50
55
60
calidad esta asociada con el segundo algoritmo de codificacion. En otras palabras, el segundo estimador 14 estima la segunda medida de la calidad que tendna la porcion de la senal de audio si se codificara y decodificara utilizando el segundo algoritmo de codificacion, sin realmente codificar y decodificar la porcion de la senal de audio utilizando el segundo algoritmo de codificacion. Ademas, el aparato 10 comprende un controlador 16 para seleccionar el primer algoritmo de codificacion o el segundo algoritmo de codificacion basandose en una comparacion entre la primera medida de la calidad y la segunda medida de la calidad. El controlador puede comprender una salida 18 que indica el algoritmo de codificacion seleccionado.
En la siguiente memoria descriptiva, el primer estimador utiliza la version filtrada de la senal de audio, es decir, la version filtrada de la porcion de la senal de audio al estimar la primera medida de la calidad si se proporciona el filtro 2 configurado para reducir la amplitud de los armonicos y no esta desactivado, incluso si no se indica explfcitamente.
En una forma de realizacion, la primera caractenstica asociada con el primer algoritmo de codificacion es mas adecuada para senales similares a musica y similares a ruido, y la segunda caractenstica de codificacion asociada con el segundo algoritmo de codificacion es mas adecuada para senales similares al habla y similares a transitorios. En algunas formas de realizacion de la invencion, el primer algoritmo de codificacion es un algoritmo de codificacion de audio, tal como un algoritmo de codificacion de transformadas, por ejemplo, un algoritmo de codificacion MDCT (modified discrete cosine transform, transformada de coseno discreta modificada), tal como un algoritmo de codificacion TCX (transform coding excitation, excitacion codificada por transformadas). Otros algoritmos de codificacion de transformadas pueden estar basados en una transformada de FFT o en cualquier otra transformada o banco de filtros. En algunas formas de realizacion de la invencion, el segundo algoritmo de codificacion es un algoritmo de codificacion del habla, tal como un algoritmo de codificacion CELP (code excited linear prediction, prediccion lineal con excitacion por codigo), tal como un algoritmo de codificacion ACELP (algebraic code excited linear prediction, prediccion lineal con excitacion por codigo algebraico).
En algunas formas de realizacion, la medida de la calidad representa una medida de calidad perceptual. Puede calcularse un valor unico que es una estimacion de la calidad subjetiva del primer algoritmo de codificacion y un valor unico que es una estimacion de la calidad subjetiva del segundo algoritmo de codificacion. El algoritmo de codificacion que proporciona la mejor calidad subjetiva estimada puede elegirse basandose solamente en la comparacion de estos dos valores. Esto es diferente de lo que se hace en la norma AMR-WB+ donde se calculan muchos rasgos representativos de diferentes caractensticas de la senal, y a continuacion se aplica un clasificador para decidir cual algoritmo elegir.
En algunas formas de realizacion, la respectiva medida de la calidad se estima basandose en una porcion de la senal de audio ponderada, es decir, una version ponderada de la senal de audio. En algunas formas de realizacion, la senal de audio ponderada puede definirse como una senal de audio filtrada mediante una funcion de ponderacion, donde la funcion de ponderacion es un filtro de LPC ponderado de A(z/g) siendo A(z) un filtro de LPC y g una ponderacion entre 0 y 1 tal como 0,68. Se ha comprobado que de esta manera pueden obtenerse buenas medidas de la calidad perceptual. Observese que el filtro de LPC de A(z) y el de filtro de LPC de A(z/g) ponderado se determinan en una etapa de pre-procesamiento y que tambien se utilizan en ambos algoritmos de codificacion. En otras formas de realizacion, la funcion de ponderacion puede ser un filtro lineal, un filtro FIR o un filtro de prediccion lineal.
En algunas formas de realizacion, la medida de la calidad es la SNR segmentaria (relacion de senal a ruido) en el dominio de las senales ponderadas. Se ha comprobado que la SNR segmentaria en el dominio de las senales ponderadas representa una buena medida de la calidad perceptual y, por lo tanto, puede utilizarse como la medida de la calidad de una manera beneficiosa. Esta es tambien la medida de la calidad utilizada en los algoritmos de codificacion tanto de ACELP como de TCX para estimar los parametros de codificacion.
Otra medida de la calidad puede ser la SNR en el dominio de las senales ponderadas. Otras medidas de la calidad pueden ser la SNR segmentaria, la SNR de la correspondiente porcion de la senal de audio en el dominio de las senales no ponderadas, es decir, no filtradas por los coeficientes de LPC (ponderados).
En terminos generales, la SNR compara las senales de audio originales y procesadas (tales como las senales del habla), muestra a muestra. Su objetivo es el de medir la distorsion de los codificadores de forma de onda que reproducen la forma de onda introducida. La SNR puede calcularse como se muestra en la Figura 4a, donde x(i) e y(i) son las muestras originales y procesadas indexadas por i y N es numero total de muestras. La SNR segmentaria, en lugar de funcionar sobre la totalidad de la senal, calcula el promedio del valor de los valores de SNR de los segmentos cortos, tal como de 1 a 10 ms, tal como 5 ms. La SNR puede calcularse como se muestra en la Figura 4b, donde N y M son la longitud de segmento y el numero de segmentos, respectivamente.
En algunas formas de realizacion de la invencion, la porcion de la senal de audio representa una trama de la senal de audio que se obtiene mediante la puesta en ventanas de la senal de audio y se lleva a cabo la seleccion de un algoritmo de codificacion adecuado para una pluralidad de tramas sucesivas obtenidas mediante la aplicacion de la
5
10
15
20
25
30
35
40
45
50
55
60
puesta en ventanas de una senal de audio. En la siguiente memoria descriptiva, y en relacion con la senal de audio, los terminos “porcion” y “trama” se utilizan de una manera intercambiable. En algunas formas de realizacion, cada trama se divide en subtramas y la SNR segmentaria se estima para cada trama calculando la SNR para cada subtrama, convertida en dB y calculandose el promedio de las SNR de las subtramas en dB.
Por lo tanto, en algunas formas de realizacion, no se estima la SNR (segmentaria) entre la senal de audio introducida y la senal de audio decodificada, sino que se estima la SNR (segmentaria) entre la senal de audio introducida ponderada y la senal de audio decodificada ponderada. En lo que se refiere a esta SNR (segmentaria), puede hacerse referencia al capftulo 5.2.3 de la norma AMR-WB+ (International Standard 3GPP TS 26.290 V6.1.0 2004-12).
En algunas formas de realizacion de la invencion, la respectiva medida de la calidad se estima basandose en la energfa de una porcion de la senal de audio ponderada y basandose en una distorsion estimada que se introduce cuando se codifica la porcion de la senal mediante el respectivo algoritmo, en el que el primer y segundo estimadores estan configurados para determinar las distorsiones estimadas en funcion de la energfa de una senal de audio ponderada.
En algunas formas de realizacion de la invencion, se determina una distorsion estimada del cuantificador introducida por un cuantificador utilizado en el primer algoritmo de codificacion cuando se cuantifica la porcion de la senal de audio, y se determina la primera medida de la calidad basandose en la energfa de la porcion de la senal de audio ponderada y de la distorsion estimada del cuantificador. En tales formas de realizacion, puede estimarse una ganancia global para la porcion de la senal de audio de manera tal que la porcion de la senal de audio producina una tasa de bits objetivo dada cuando se codifica con un cuantificador y con un codificador de entropfa utilizado en el primer algoritmo de codificacion, en el que se determina la distorsion estimada del cuantificador basandose en la ganancia global estimada. En tales formas de realizacion, la distorsion estimada del cuantificador puede determinarse basandose en una potencia de la ganancia estimada. Cuando el cuantificador utilizado en el primer algoritmo de codificacion es un cuantificador uniforme escalar, el primer estimador puede configurarse para determinar la distorsion estimada del cuantificador utilizando la formula D = G*G/12, en la que D es la distorsion estimada del cuantificador y G es la ganancia global estimada. En el caso en que el primer algoritmo de codificacion utilice otro cuantificador, la distorsion del cuantificador puede determinarse a partir de la ganancia global, de una manera diferente.
Los inventores han reconocido que una medida de la calidad, tal como una SNR segmentaria, que se obtendna cuando se codifica y decodifica la porcion de la senal de audio utilizando el primer algoritmo de codificacion, tal como el algoritmo TCX, puede estimarse de una manera apropiada utilizando los rasgos anteriores en cualquier combinacion de los mismos.
En algunas formas de realizacion de la invencion, la primera medida de la calidad es una SNR segmentaria y la SNR segmentaria se estima calculando una SNR estimada asociada con cada una de la pluralidad de subporciones de la porcion de la senal de audio basandose en una energfa de la correspondiente subporcion de la senal de audio ponderada y de la distorsion estimada del cuantificador y calculando un promedio de las SNR asociadas con las subporciones de la porcion de la senal de audio ponderada para obtener la SNR segmentaria estimada para la porcion de la senal de audio ponderada.
En algunas formas de realizacion de la invencion, se determina una distorsion estimada de un libro de codigo adaptativo introducido por un libro de codigo adaptativo utilizado en el segundo algoritmo de codificacion cuando se utiliza el libro de codigo adaptativo para codificar la porcion de la senal de audio, y se estima la segunda medida de la calidad basandose en una energfa de la porcion de la senal de audio ponderada y de la distorsion estimada del libro de codigo adaptativo.
En tales formas de realizacion, para cada una de la pluralidad de subporciones de la porcion de la senal de audio, el libro de codigo adaptativo puede aproximarse basandose en una version de la subporcion de la senal de audio ponderada desplazada hacia el pasado mediante un retardo de paso determinado en una etapa de pre- procesamiento, puede estimarse una ganancia del libro de codigo adaptativo de manera tal que se minimiza un error entre la subporcion de la porcion de la senal de audio ponderada y el libro de codigo adaptativo aproximado, y puede determinarse una distorsion estimada del libro de codigo adaptativo basandose en la energfa de un error entre la subporcion de la porcion de la senal de audio ponderada y el libro de codigo adaptativo aproximado escalado por la ganancia del libro de codigo adaptativo.
En algunas formas de realizacion de la invencion, la distorsion estimada del libro de codigo adaptativo determinada para cada subporcion de la porcion de la senal de audio puede reducirse en un factor constante para tener en cuenta una reduccion de la distorsion que se consigue mediante un libro de codigo innovador en el segundo algoritmo de codificacion.
5
10
15
20
25
30
35
40
45
50
55
60
En algunas formas de realizacion de la invencion, la segunda medida de la calidad es una SNR segmentaria y la SNR segmentaria se estima calculando una SNR estimada asociada con cada subporcion basandose en la energfa de la correspondiente subporcion de la senal de audio ponderada y de la distorsion estimada del libro de codigo adaptativo y calculando un promedio de las SNR asociadas con las subporciones para obtener la SNR segmentaria estimada.
En algunas formas de realizacion de la invencion, el libro de codigo adaptativo se aproxima basandose en una version de la porcion de la senal de audio ponderada desplazada hacia el pasado mediante un retardo de paso determinado en una etapa de pre-procesamiento, se estima una ganancia del libro de codigo adaptativo de manera tal que se minimiza un error entre la porcion de la senal de audio ponderada y el libro de codigo adaptativo aproximado, y se determina la distorsion estimada del libro de codigo adaptativo basandose en la energfa entre la porcion de la senal de audio ponderada y el libro de codigo adaptativo aproximado escalado por la ganancia del libro de codigo adaptativo. De esta manera, puede determinarse la distorsion del libro de codigo adaptativo estimado con una baja complejidad.
Los inventores han reconocido que la medida de la calidad, tal como una SNR segmentaria, que se obtendna cuando se codifica y decodifica la porcion de la senal de audio utilizando el segundo algoritmo de codificacion, tal como un algoritmo ACELP, puede estimarse de una manera apropiada utilizando los rasgos anteriores en cualquier combinacion de los mismos.
En algunas formas de realizacion de la invencion, se utiliza un mecanismo de histeresis al comparar las medidas de calidad estimadas. Esto puede hacer que la decision de que algoritmo utilizar sea mas estable. El mecanismo de histeresis puede depender de las medidas de calidad estimadas (tales como las diferencias entre ellas) y de otros parametros, tales como las estadfsticas relacionadas con decisiones anteriores, la cantidad de tramas temporalmente estacionarias, los transitorios en las tramas. En lo que a dichos mecanismos de histeresis se refiere, se puede hacer referencia al documento WO 2012/110448 A1, por ejemplo.
En algunas formas de realizacion de la invencion, un codificador para codificar una senal de audio comprende el aparato 10, una etapa para llevar a cabo el primer algoritmo de codificacion y una etapa para llevar a cabo el segundo algoritmo de codificacion, en el que el codificador esta configurado para codificar la porcion de la senal de audio utilizando el primer algoritmo de codificacion o el segundo algoritmo de codificacion en funcion de la seleccion por el controlador 16. En algunas formas de realizacion de la invencion, un sistema para codificar y decodificar comprende el codificador y un decodificador configurado para recibir la version codificada de la porcion de la senal de audio y una indicacion del algoritmo utilizado para codificar una porcion de la senal de audio y para decodificar la version codificada de la porcion de la senal de audio utilizando el algoritmo indicado.
Un algoritmo de seleccion de modo de bucle abierto de este tipo como se muestra en la Figura 1 y se ha descrito anteriormente (con la excepcion del filtro 2) se describe en una solicitud anterior PCT/EP2014/051557. Este algoritmo se utilizar para tomar una decision entre dos modos, tales como ACELP y TCX, en una base trama a trama. La seleccion puede estar basada en una estimacion de la SNR segmentaria tanto de ACELP como de TCX. Se selecciona el modo con la SNR segmentaria estimada mas elevada. Opcionalmente, puede utilizarse un mecanismo de histeresis para proporcionar una seleccion mas robusta. La SNR segmentaria de ACELP puede estimarse utilizando una aproximacion de la distorsion del libro de codigo adaptativo y una aproximacion de la distorsion de libro de codigo innovador. El libro de codigo adaptativo puede aproximarse en el dominio de las senales ponderadas utilizando un retardo de paso estimado mediante un algoritmo de analisis de paso. La distorsion puede calcularse en el dominio de las senales ponderadas suponiendo una ganancia optima. La distorsion puede reducirse a continuacion mediante un factor constante, aproximandose a la distorsion del libro de codigo innovador. La SNR segmentaria de TCX puede estimarse utilizando una version simplificada del codificador TCX real. La senal introducida puede transformarse en primer lugar con una MDCT, y a continuacion conformarse usando un filtro LPC ponderado. Finalmente, puede estimarse la distorsion en el dominio del MDCT ponderado, utilizandose una ganancia global y un estimador de la ganancia global.
Resulto que este algoritmo de seleccion de modo de bucle abierto descrito en la solicitud anterior proporciona la decision esperada en la mayona de las veces, seleccionandose ACELP en las senales similares al habla y similares a los transitorios y seleccionandose TCX en las senales similares a musica y similares a ruido. Sin embargo, los inventores han reconocido que puede suceder que a veces se seleccione ACELP en algunas senales de musica de armonicos. En tales senales, el libro de codigo adaptativo tiene por lo general una elevada ganancia de prediccion, debido a la elevada predictibilidad de las senales de armonicos, produciendose una baja distorsion y a continuacion una SNR segmentaria mas elevada que en TCX. Sin embargo, el TCX tiene mejor sonido en la mayona de las senales de musica de armonicos, por lo que en estos casos se preferina TCX.
Por lo tanto, la presente invencion sugiere llevar a cabo la estimacion de la SNR o de la SNR segmentaria como la primera medida de la calidad utilizando una version de la senal introducida, que se filtra para reducir los armonicos de la misma. De esta manera puede obtenerse una seleccion de modo mejorada sobre las senales musica de
5
10
15
20
25
30
35
40
45
50
55
60
armonicos.
En terminos generales podna utilizarse cualquier filtro adecuado para reducir los armonicos. En algunas formas de realizacion de la invencion, el filtro es un filtro de prediccion a largo plazo. Un ejemplo simple de un filtro de prediccion a largo plazo es:
F(z) = 1 - g • z-T
donde los parametros de filtro son la ganancia “g” y el retardo de paso “T”, que se determinan a partir de la senal de audio.
Algunas formas de realizacion de la invencion estan basadas en un filtro de prediccion a largo plazo que se aplica a la senal de audio antes del analisis de MDCT en la estimacion de la SNR segmentaria de TCX. El filtro de prediccion a largo plazo reduce la amplitud de los armonicos en la senal introducida antes del analisis de MDCT. La consecuencia es que la distorsion en el dominio de MDCT se reduce, se incrementa la SNR segmentaria estimada de TCX y finalmente se selecciona el TCX con mayor frecuencia en las senales de musica de armonicos.
En algunas formas de realizacion de la invencion, una funcion de transferencia del filtro de prediccion a largo plazo comprende una parte de numero entero de un retardo de paso y un filtro de multiples derivaciones en funcion de una parte fraccional del retardo de paso. Esto permite una implementacion eficiente ya que la parte de numero entero se utiliza unicamente en la estructura de la tasa de muestreo normal (z-Tint). Al mismo tiempo, puede conseguirse elevada exactitud debido al uso de la parte fraccional en el filtro de multiples derivaciones. Considerando la parte fraccional en el filtro de multiples derivaciones puede conseguirse una eliminacion de la energfa de los armonicos mientras se evita una eliminacion de la energfa de las porciones cercanas a los armonicos.
En algunas formas de realizacion de la invencion, el filtro de prediccion a largo plazo se describe como sigue:
- 1 - ftr&[z,T»r~T|'ir
en el que Tint y Tfr son la parte de numero entero y fraccional de un retardo de paso, g es una ganancia, p es una ponderacion y B(z, Tfr) es un filtro FIR de paso bajo cuyos coeficientes dependen de la parte fraccional del retardo de paso. A continuacion se proporcionan detalles adicionales acerca de formas de realizacion de un filtro de prediccion a largo plazo de este tipo.
El retardo de paso y la ganancia pueden estimarse en una base trama a trama.
El filtro de prediccion puede estar desactivado (ganancia = 0) basandose en una combinacion de una o mas medidas de armonicidad (por ejemplo, correlacion normalizada o ganancia de prediccion) y/o una o mas medidas de estructura temporal (por ejemplo, una medida de uniformidad temporal o el cambio de energfa).
El filtro puede aplicarse a la senal de audio introducida en una base de trama a trama. Si los parametros del filtro cambian de una trama al siguiente, puede introducirse una discontinuidad en el lfmite entre dos tramas. En algunas formas de realizacion, el aparato comprende ademas una unidad para eliminar las discontinuidades en la senal de audio causadas por el filtro. Para eliminar las posibles discontinuidades, puede utilizarse cualquier tecnica, tales como las tecnicas comparables a las descritas en los siguientes documentos: US5012517, EP0732687A2, US5999899A o US7353168B2. A continuacion se describe otra tecnica para eliminar posibles discontinuidades.
Antes de describir una forma de realizacion del primer estimador 12 y del segundo estimador 14 en detalle con referencia a la Figura 3, se describe una forma de realizacion del codificador 20 con referencia a la Figura 2.
El codificador 20 comprende el primer estimador 12, el segundo estimador 14, el controlador 16, una unidad de pre- procesamiento 22, un conmutador 24, una primera etapa del codificador 26 configurada para llevar a cabo un algoritmo de TCX, una segunda etapa del codificador 28 configurada para llevar a cabo un algoritmo ACELP, y una interfaz de salida 30. La unidad de pre-procesamiento 22 puede ser parte de un codificador USAC comun y puede estar configurada para emitir los coeficientes de LPC, los coeficientes de LPC ponderados, la senal de audio ponderada y un conjunto de retardos de paso. Cabe observar que todos estos parametros se utilizan en ambos algoritmos de codificacion, es decir el algoritmo de TCX y el algoritmo ACELP. Por lo tanto, tales parametros no han de calcularse adicionalmente para la decision de modo de bucle abierto. La ventaja de la utilizacion de parametros ya calculados en la decision de modo de bucle abierto consiste es ahorro en complejidad.
Como se muestra en la Figura 2, el aparato comprende el filtro de reduccion de los armonicos 2. El aparato comprende ademas una unidad de desactivacion opcional 4 para desactivar el filtro de reduccion de los armonicos 2 basandose en una combinacion de una o mas medidas de armonicidad (por ejemplo, correlacion normalizada o ganancia de prediccion) y/o de una o mas medidas de estructura temporal (por ejemplo, medida de uniformidad
7
5
10
15
20
25
30
35
40
45
50
55
60
temporal o cambio de energfa). El aparato comprende una unidad de eliminacion de discontinuidad opcional 6 para eliminar las discontinuidades de la version filtrada de la senal de audio. Ademas, el aparato comprende opcionalmente una unidad 8 para estimar los parametros de filtro del filtro de reduccion de armonicos 2. En la Figura 2, estos componentes (2,4, 6 y 8) se muestran como que son parte del primer estimador 12. Se da por entendido que estos componentes pueden implementarse externos o separados desde el primer estimador y que pueden configurarse para proporcionar la version filtrada de la senal de audio al primer estimador.
Se proporciona una senal de audio introducida 40 en una lmea de entrada. La senal de audio introducida 40 se aplica al primer estimador 12, a la unidad de pre-procesamiento 22 y a ambas etapas de codificador 26, 28. En el primer estimador 12, la senal de audio introducida 40 se aplica al filtro 2 y la version filtrada de la senal de audio introducida se utiliza para estimar la primera medida de calidad. En el caso en que el filtro este desactivado por la unidad de desactivacion 4, la senal de audio introducida 40 se utiliza para estimar la primera medida de la calidad, en lugar de la version filtrada de la senal de audio introducida. La unidad de pre-procesamiento 22 procesa la senal de audio introducida de una manera convencional para derivar coeficientes de LPC y coeficientes de LPC ponderados 42 y para filtrar la senal de audio 40 con los coeficientes de LPC ponderados 42 para obtener la senal de audio ponderada 44. La unidad de pre-procesamiento 22 emite los coeficientes de LPC ponderados 42, la senal de audio ponderada 44 y un conjunto de retardos de paso 48. Como entenderan los expertos en la materia, los coeficientes de LPC ponderados 42 y la senal de audio ponderada 44 pueden estar segmentados en tramas o subtramas. La segmentacion puede obtenerse mediante la generacion de ventanas a la senal de audio de una manera apropiada.
En algunas formas de realizacion alternativas, es posible proporcionar un preprocesador que esta configurado para generar coeficientes de LPC ponderados y una senal de audio ponderada basada en la version filtrada de la senal de audio. Los coeficientes de LPC ponderados y la senal de audio ponderada, que estan basados en la version filtrada de la senal de audio, son seguidamente aplicados al primer estimador para estimar la primera medida de la calidad, en lugar de los coeficientes de LPC ponderados 42 y de la senal de audio ponderada 44.
En algunas formas de realizacion de la invencion, es posible utilizar coeficientes de LPC cuantificados o coeficientes de LPC ponderados cuantificados. Por lo tanto, debe entenderse que la expresion “coeficientes de LPC” tambien tiene por objeto abarcar la expresion ““coeficientes de LPC cuantificados” y que la expresion “coeficientes de LPC ponderados” tambien tiene por objeto abarcar “coeficientes de LPC ponderados cuantificados”. En este aspecto, vale la pena observar que el algoritmo de TCX de USAT utiliza coeficientes de LPC ponderados cuantificados para configurar el espectro de MCDT.
El primer estimador 12 recibe la senal de audio 40, los coeficientes de LPC ponderados 42 y la senal de audio ponderada 44, estima la primera medida de calidad 46 basandose los mismos y emite la primera medida de calidad al controlador 16. El segundo estimador 16 recibe la senal de audio ponderada 44 y el conjunto de retardos de paso 48, estima la segunda medida de la calidad 50 basandose en los mismos y emite la segunda medida de calidad 50 al controlador 16. Como es conocido para los expertos en la materia, los coeficientes de LPC ponderados 42, la senal de audio ponderada 44, y el conjunto de retardos de paso 48 ya estan calculados en un modulo previo (es decir, la unidad de pre-procesamiento 22) y, por lo tanto, estan disponibles sin coste.
El controlador toma una decision de seleccionar cualquiera del algoritmo de TCX o el algoritmo ACELP basandose en una comparacion de las medidas de calidad recibidas. Como se ha indicado anteriormente, el controlador puede utilizar un mecanismo de histeresis para decidir que algoritmo usarse. La seleccion de la primera etapa de codificador 26 o de la segunda etapa de codificador 28 se muestra esquematicamente en la Figura 2 mediante el conmutador 24 que se controla por una senal de control 52 emitida por el controlador 16. La senal de control 52 indica si ha de utilizarse la primera etapa de codificador 26 o la segunda etapa de codificador 28. Basandose en la senal de control 52, las senales requeridas esquematicamente indicadas mediante la flecha 54 en la Figura 2 y que incluye al menos los coeficientes de LPC, los coeficientes de LPC ponderados, la senal de audio, la senal de audio ponderada, el conjunto de retardos de paso se aplican a cualquiera de la primera etapa de codificador 26 o a la segunda etapa de codificador 28. La etapa de codificador seleccionada aplica el algoritmo de codificacion asociado y emite la representacion codificada 56 o 58 a la interfaz de salida 30. La interfaz de salida 30 puede estar configurada para emitir una senal de audio codificada 60 que puede comprender entre otros datos la representacion codificada 56 o 58, los coeficientes de LPC o los coeficientes de LPC ponderados, los parametros para el algoritmo de codificacion seleccionado e informacion acerca del algoritmo de codificacion seleccionado.
Algunas formas de realizacion espedficas para estimar la primera y segunda medidas de calidad, en el que la primera y segunda medidas de calidad son SNR segmentarias en el dominio de las senales ponderadas se describen ahora con referencia la Figura 3. La Figura 3 muestra el primer estimador 12 y el segundo estimador 14 y las funcionalidades de los mismos en forma de diagramas de flujo que muestran la respectiva estimacion etapa a etapa.
Estimacion de SNR segmentaria de TCX
5
10
15
20
25
30
35
40
45
50
55
60
El primer estimador (de TCX) recibe la senal de audio 40 (senal introducida), los coeficientes de LPC ponderados 42 y las senales de audio ponderadas 44, como entradas. Se genera la version filtrada de la senal de audio 40, etapa 98. En la version filtrada de la senal de audio 40 los armonicos se reducen o son suprimidos.
La senal de audio 40 puede ser analizada para determinar una o mas medidas de armonicidad (por ejemplo, la correlacion normalizada o la ganancia de prediccion) y una o mas medidas de estructura temporal (por ejemplo, la medida de uniformidad temporal o el cambio de energfa). Basandose en una de estas medidas o de una combinacion de estas medidas, el filtro 2, y por lo tanto la filtracion 98 pueden desactivarse. Si se desactiva la filtracion 98, la estimacion de la primera medida de calidad se lleva a cabo utilizando la senal de audio 40 en lugar de la version filtrada de la misma.
En algunas formas de realizacion de la invencion, una etapa de la eliminacion de discontinuidades (no se muestra en la Figura 3) puede seguir a la filtracion 98 para eliminar las discontinuidades en la senal de audio, que pueden resultar de la filtracion 98.
En la etapa 100, la version filtrada de la senal de audio 40 se pone en ventanas. La puesta en ventanas puede tener lugar con una ventana de seno de bajo solapamiento de 10 ms. Cuando la trama anterior es ACELP; el tamano del bloque puede incrementarse en 5 ms, el lado izquierdo de la ventana puede ser rectangular, y la respuesta de impulso cero de la ventana del filtro de smtesis de ACELP puede eliminarse de la senal introducida puesta en ventanas. Esto es similar a lo que se hace en el algoritmo de TCX. Una trama de la version filtrada de la senal de audio 40, que representa una porcion de la senal de audio, se emite desde la etapa 100.
En la etapa 102, la senal de audio puesta en ventanas, es decir la trama resultante, se transforma con una MDCT (transformada de coseno discreta modificada). En la etapa 104 se lleva a cabo conformacion de espectro conformando el espectro de MDCT con los coeficientes de LPC ponderados.
En la etapa 106, se estima una ganancia global G de manera tal que el espectro ponderado cuantificado con la ganancia G producina un objetivo R dado, cuando se codifica con un codificador de entropfa, por ejemplo un codificador aritmetico. La expresion “ganancia global” se utiliza ya que se determina una ganancia para la totalidad de la trama.
Un ejemplo de una implementacion de la estimacion de la ganancia global se explica ahora. Cabe observar que esta estimacion de la ganancia global es apropiada para formas de realizacion en las que el algoritmo de codificacion de TCX utiliza un cuantificador escalar con un codificador aritmetico. Un cuantificador escalar de este tipo con un codificador aritmetico se supone en la norma MPEG USAC.
Inicializacion
En primer lugar, las variables utilizadas en la estimacion de ganancias se inicializan como sigue:
1. Establecer en[i] = 9,0 + 10,0*log10(c[4*i+0] + c[4*i+1] + c[4*i+2] + c[4*i+3]), donde 0<=i<L/4, c[] es el vector de coeficientes para cuantificar y L es la longitud de c[].
2. Establecer fac = 128, desplazamiento = fac y objetivo = cualquier valor (por ejemplo, 1000)
Iteracion
A continuacion se lleva a cabo el siguiente bloque de operaciones NITER veces (por ejemplo, aqu NITER = 10).
1. fac = fac/2
2. desplazamiento = desplazamiento - fac
3. ener = 0
4. para cada i donde 0<=i<L/4 hacer lo siguiente:
si en[i]-desplazamiento > 3,0, entonces ener = ener + en[i]-desplazamiento
5. si ener > target, entonces desplazamiento = desplazamiento + fac
El resultado de la iteracion es el valor de desplazamiento. Despues de la iteracion, la ganancia global se estima como G = 10A(offset/20).
La manera espedfica en la que se estima la ganancia global puede variar en funcion del codificador y del codificador de entropfa utilizados. En la norma MPEG USAC, se supone un cuantificador escalar con un codificador aritmetico.
5
10
15
20
25
30
35
40
45
50
55
60
Otros enfoques de TCX pueden utilizar un cuantificador diferente, y se entiende por los expertos en la materia como estimar la ganancia global para tales cuantificadores diferentes. Por ejemplo, la norma AMR-WB+ supone que se utiliza un cuantificador de malla RE8. Para un cuantificador de este tipo, la estimacion de la ganancia global se estimana como se describe en el capftulo 5.3.5.7 en la pagina 34 de 3GPP TS 26.290 V6.1.0 2004-12, en el que se supone una tasa de bits objetivo fija.
Despues de haber estimado la ganancia global en la etapa 106, la estimacion de la distorsion tiene lugar en la etapa 108. Para ser mas espedficos, la distorsion del cuantificador se aproxima basandose en la ganancia global estimada. En la presente forma de realizacion se supone que se utiliza un cuantificador escalar uniforme. Por lo tanto, la distorsion del cuantificador se determina mediante la formula sencilla D = G*G/12, en la que D representa la distorsion determinada del cuantificador y G representa la ganancia global estimada. Esto corresponde a la aproximacion de elevada velocidad de una distorsion del cuantificador uniforme escalar.
Basandose en la distorsion determinada del cuantificador, se lleva a cabo el calculo de la SNR segmentaria en la etapa 110. La SNR en cada subtrama de la trama se calcula como la relacion de la energfa ponderada de la senal de audio y la distorsion D que se supone que es constante en las subtramas. Por ejemplo, la trama se divide en cuatro subtramas consecutivas (vease la Figura 4). La SNR segmentaria es entonces el promedio de las SNR de las cuatro subtramas y puede indicarse en dB.
Este enfoque permite la estimacion de la primera SNR segmentaria que se obtendna cuando realmente se codifica y decodifica la trama objeto utilizando el algoritmo de TCX, sin embargo sin tener realmente que codificar y decodificar la senal de audio, y por lo tanto, con una complejidad fuertemente reducida y un tiempo de calculo reducido.
Estimacion de la SNR segmentaria de ACELP
El segundo estimador 14 recibe la senal de audio ponderada 44 y el conjunto de retardos de paso 48 que ya se han calculado en la unidad de pre-procesamiento 22.
Como se muestra en la etapa 112, en cada subtrama, el libro de codigo adaptativo se aproxima utilizando de manera simple la senal de audio ponderada y el retardo de paso T. El libro de codigo adaptativo se aproxima mediante:
xw(n-T), n = 0, ..., N
donde xw es la senal de audio ponderada, T es el retardo de paso de la correspondiente subtrama y N es la longitud del subtrama. Por lo tanto, el libro de codigo adaptativo se aproxima utilizando una version del subtrama desplazada al pasado en T. Por lo tanto, en algunas formas de realizacion de la invencion, el libro de codigo adaptativo se aproxima de una manera muy sencilla.
En la etapa 114, se determina una ganancia de libro de codigo adaptativo para cada subtrama. Para ser mas espedficos, en cada subtrama, se estima la ganancia de libro de codigo G de manera tal que minimiza el error entre la senal de audio ponderada y el libro de codigo adaptativo aproximado. Esto puede efectuarse simplemente comparando las diferencias entre ambas senales para cada muestra y encontrando una ganancia tal que la suma de estas diferencias sea minima.
En la etapa 116, se determina la distorsion del libro de codigo adaptativo para cada subtrama. En cada subtrama, la distorsion D introducida por el libro de codigo adaptativo es simplemente la energfa del error entre la senal de audio ponderada y el libro de codigo adaptativo aproximado escalado por la ganancia G.
Las distorsiones determinadas en la etapa 116 pueden ajustarse en una etapa opcional 118 para tener en cuenta el libro de codigo innovador. La distorsion del libro de codigo innovador utilizado en los algoritmos ACELP puede estimarse simplemente como un valor constante. En la forma de realizacion descrita de la invencion, se supone simplemente que el libro de codigo innovador reduce la distorsion D en un factor constante. Por lo tanto, las distorsiones obtenidas en la etapa 116 para cada subtrama pueden multiplicarse en la etapa 118 por un factor constante, tal como un factor constante en el orden de 0 a 1, tal como 0,055.
En la etapa 120 tiene lugar el calculo de la SNR segmentaria. En cada subtrama, la SNR se calcula como la relacion entre la energfa de la senal de audio ponderada y la distorsion D. La SNR segmentaria es entonces la media de las SNR de las cuatro subtramas y puede indicarse en dB.
Este enfoque permite la estimacion de la segunda SNR que se obtendna cuando realmente se codifica y decodifica la trama objeto utilizando el algoritmo ACELP, sin embargo sin tener que realmente codificar y decodificar la senal de audio, y, por lo tanto con una complejidad considerablemente reducida y un tiempo de calculo reducido.
El primer y segundo estimadores 12 y 14 emiten las SNR segmentarias estimadas 46, 50 hacia el controlador 16 y el
5
10
15
20
25
30
35
40
45
50
55
60
controlador 16 toma una decision acerca de que algoritmo debe utilizarse para la porcion asociada de la senal de audio basandose en las SNR segmentarias estimadas 46, 50. El controlador puede opcionalmente utilizar un mecanismo de histeresis para hacer que la decision sea mas estable. Por ejemplo, puede utilizarse el mismo mecanismo de histeresis que en la decision de bucle cerrado, con parametros de ajuste ligeramente diferentes. Un mecanismo de histeresis de este tipo puede calcular un valor “dsnr” que puede depender de las SNR segmentarias estimadas (tales como la diferencia entre ellas) y otros parametros, tales como estadfsticas acerca de decisiones anteriores, el numero de tramas temporalmente estacionarias y los transitorios en las tramas.
Sin un mecanismo de histeresis, el controlador puede seleccionar el algoritmo de codificacion que tenga la SNR estimada mas elevada, es decir, se selecciona ACELP si la segunda SNR estimada es menos elevada que la primera SNR estimada, y se selecciona TCX si la primera SNR estimada es superior a la segunda SNR estimada. Con un mecanismo de histeresis, el controlador puede seleccionar el algoritmo de codificacion de acuerdo con la siguiente regla de decision, en la que acelp_snr es la segunda SNR estimada y tcx_snr es la primera SNR estimada:
si acelp_snr + dsnr > tcx_snr entonces seleccionar ACELP, de otra manera seleccionar TCX.
Determinacion de los parametros del filtro para reducir la amplitud de los armonicos
Ahora se describe una forma de realizacion para determinar los parametros del filtro para reducir la amplitud de los armonicos. Los parametros de filtro pueden estimarse en el lado del codificador, tal como en la unidad 8
Estimacion del paso
Se estima un retardo de paso (parte de numero entero + parte fraccional) por trama (tamano de trama, por ejemplo, 20 ms). Esto se efectua en tres etapas para reducir la complejidad y de mejorar la exactitud de la estimacion
a) Primera estimacion de la parte de numero entero del retardo de paso
Se utiliza un algoritmo de analisis de paso que produce un contorno de evolucion de paso suave (por ejemplo, el analisis de paso de bucle abierto descrito en Rec. ITU-T G.718, sec. 6.6). Este analisis es efectuado por lo general en una base de subtramas (tamano de la subtrama, por ejemplo de 10 ms), y produce una estimacion de retardo de paso por subtrama. Observese que estas estimaciones de retardo de paso no tienen ninguna parte fraccional y que por lo general estiman en una senal submuestreada (tasa de muestreo, por ejemplo, 6.400 Hz). La senal utilizada puede ser cualquier senal de audio, por ejemplo, una senal de audio ponderada de LPC tal como se describe en Rec. ITU-T G.718, sec. 6.5.
b) Perfeccionamiento de la parte de numero entero Tint del retardo de paso
La parte de numero entero final del retardo de paso se estima en una senal de audio x[n] que se ejecuta a la tasa de muestreo del codificador principal, que es por lo general superior submuestreada utilizada en a) (por ejemplo, 12,8 kHz, 16 kHz, 32 kHz...). de audio, por ejemplo una senal de audio ponderada de LPC.
La parte de numero entero del Tint es entonces el retardo que maximiza la
w
c(tO = ^ jr[n)i[n - a)
estimandose d alrededor de un retardo de paso T en a).
T — <5j £ (t T + $2
c) Estimacion de la parte fraccional Tfr del retardo de paso La parte fraccional Tfr se encuentra interpolando la funcion de autocorrelacion C(d) calculada en la etapa b) y seleccionando el retardo de paso fraccional que maximice la funcion de autocorrelacion interpolada. La interpolacion puede llevarse a cabo mediante un filtro FIR de pase bajo tal como se describe en por ejemplo Rec. ITU-T G.718, sec. 6.6.7.
Estimacion ganancia y cuantificacion
Por lo general, la ganancia se estima sobre en la senal de audio introducida a la tasa de muestreo del codificador principal, pero tambien puede ser cualquier senal de audio como la senal de audio ponderada de LPC. Esta senal se indica y[n], y puede ser igual a o diferente de, x[n].
Primero se encuentra la prediccion de yP[n] de y[n] filtrando y[n] con el siguiente filtro:
que la tasa de muestreo de la senal La senal x[n] puede ser cualquier senal
funcion de autocorrelacion
5
10
15
20
25
30
35
40
Siendo Tnt la parte de numero entero del retardo de paso (estimada en b)) y B(z, Tf) un filtro FIR de paso bajo cuyos coeficientes dependen de la parte fraccional del retardo de paso Tfr (estimada en c)).
Un ejemplo de B(z) cuando la resolucion del retardo de paso es de %:
Tfr = - B(z) = 0,0000z~2 + 0,2325z_1 + 0,5349z° + 0,2325z1
Tfr - - 5(z) = 0,0152z-2 + 0,3400z-1 + 0,5094z° + 0.1353Z1
4
Tfr = - B(z) = 0,0609z-2 + 0,4391z_1 + 0,4391z° + 0,0609z1
Tfr =
B(z) = 0,1353z~2 + 0,5094z-1 + 0,3400z° + 0,015 2Z1
La ganancia g se calcula como sigue:
9 S^=olyp [n]yp[n]
y esta limitada entre 0 y 1.
Finalmente, la ganancia g se cuantifica, por ejemplo, en 2 bits, utilizandose por ejemplo la cuantificacion uniforme.
Se utiliza p para controlar la intensidad del filtro. p igual a 1 produce efectos completes, p igual a cero desactiva el filtro. Por lo tanto, en algunas formas de realizacion de la invencion, el filtro puede desactivarse estableciendo p a un valor de 0. En algunas formas de realizacion de la invencion, si el filtro esta activado, p puede establecerse a un valor entre 0,5 y 0,75. En algunas formas de realizacion de la invencion, si el filtro esta desactivado, p puede establecerse a un valor 0,625. Un ejemplo de B(z,7V) se ha proporcionado anteriormente. El orden y los coeficientes de B(z,Tfr) pueden depender tambien de la tasa de bits y de la tasa de muestreo de salida. Puede disenarse una respuesta de frecuencia diferente y ajustarse para cada combinacion de tasa de bits y de tasa de muestreo de salida.
Desactivacion del filtro
El filtro puede desactivarse basandose en una combinacion de una o mas medidas de armonicidad y/o de una o mas medidas de estructura temporales. A continuacion se muestran ejemplos de tales medidas:
i) Medida de la armonicidad como la correlacion normalizada del retardo de paso de numero entero estimado en la etapa b).
Tint)
norm.corr.- ■ —, 1 —
7-rir]
La correlacion normalizada es de 1 si la senal introducida es perfectamente predecible por el retardo de paso de numero entero y 0 si no es predecible en absoluto. Un valor elevado (cercano a 1) indicana a continuacion una senal armonica. Para una decision mas robusta, la correlacion normalizada de la trama anterior tambien puede utilizarse en la decision, por ejemplo:
Si (norm.corr(curr.)*norm.corr.(prev.)) > 0,25, entonces el filtro no esta desactivado
5
10
15
20
25
30
35
40
45
50
55
ii) Medidas de estructura temporal calculadas, por ejemplo, basandose en muestras de ene^a tambien utilizadas por un detector de transitorios para la deteccion de transitorios (por ejemplo, medida de la uniformidad temporal, cambio de energfa), por ejemplo
si (medida de uniformidad temporal > 3,5 o cambio de energfa > 3,5) entonces el filtro esta desactivado.
A continuacion se exponen mas detalles en cuanto a la determinacion de una o mas medidas de la armonicidad.
La medida de la armonicidad se calcula, por ejemplo, mediante una correlacion normalizada de la senal de audio o de una version premodificada de la misma en o alrededor del retardo de paso. El retardo de paso aun podna determinarse en etapas que comprenden una primera etapa y una segunda etapa, en las que, dentro de la primera etapa, se determina una estimacion preliminar del retardo de paso en un dominio submuestreado de una primera tasa de muestreo, y, dentro de la segunda etapa, la estimacion preliminar del retardo de paso se perfecciona en una segunda tasa de muestreo, mas elevada que la primera tasa de muestreo. El retardo de paso se determina, por ejemplo, usando autocorrelacion. La al menos una medida de estructura temporal se determina, por ejemplo, dentro de una region temporal temporalmente colocada en dependencia de la informacion de paso. Un extremo temporalmente de encabezamiento del pasado de la region temporal esta colocado, por ejemplo, en funcion de la informacion de paso. El extremo temporal de encabezamiento del pasado de la region temporal puede estar colocado de manera tal que el extremo temporalmente de encabezamiento del pasado de la region temporal esta desplazado en la direccion del pasado en una cantidad temporal que aumenta monotonicamente con un incremento de la informacion de paso. El extremo temporalmente de encabezamiento futuro de la region temporal puede estar situado en funcion de la estructura temporal de la senal de audio dentro de una region temporal candidata que se extiende desde el extremo temporalmente de encabezamiento pasado de la region temporal, o de la region de mayor influencia en la determinacion de la medida de la estructura temporal, hacia un extremo temporalmente de encabezamiento futuro de una trama actual. Para este fin puede utilizarse la amplitud o relacion entre las muestras de energfa maxima y minima dentro de la region temporal candidata. Por ejemplo, la al menos una medida de la estructura temporal puede medir una variacion de energfa promedio o maxima de la senal de audio dentro de la region temporal y es posible satisfacer una condicion de desactivacion si tanto la al menos una medida de estructura temporal es mas pequena que un primer valor umbral predeterminado y la medida de la armonicidad es, para una trama actual y/o una trama precedente, superior a un segundo umbral. La condicion se satisface tambien si, para una trama actual, la medida de la armonicidad es superior a un tercer umbral, y, para una trama actual y una trama precedente, la medida de la armonicidad es superior a un cuarto umbral que disminuye al aumentar el retardo de paso.
Ahora se presenta una descripcion etapa a etapa de una forma de realizacion concreta para determinar las medidas. Etapa 1. Deteccion de transitorios y medidas temporales
La senal introducida SHp(n) se introduce en el detector de transitorios en el dominio del tiempo. La senal introducida SHp(n) se filtra en paso alto. La funcion de transferencia del filtro de HP de deteccion de los transitorios se proporciona mediante
La senal, filtrada por el filtro de HP para la deteccion de transitorios, se indica como STo(n). La senal filtrada por HP se segmenta en 8 segmentos consecutivos de la misma longitud. La energfa de la senal filtrada por HP STo(n) para cada segmento se calcula como:
donde LseSmento - y es el numero de muestras en segmentos de 2,5 milisegundos a la frecuencia de muestreo introducida.
Una energfa acumulada se calcula usando:
EAcc =msx(ETD{i-\)fi,%\2SEAcc) (3)
Se detecta un ataque si la energfa de un segmento Etd(i') supera la energfa acumulada en un factor constante
5
10
15
20
25
30
35
40
relacion de ataque = 8,5 y el mdice de ataque se establece a i:
etd (0 > relacion de ataque • E qcc
(4)
Si no se detecta un ataque basandose en el criterio anterior, pero se detecta un fuerte incremento de la energfa en el segmento i, el mdice de ataque se establece a i sin indicar la presencia de un ataque. El mdice de ataque se establece basicamente a la posicion del ultimo ataque en una trama con algunas restricciones adicionales.
El cambio de energfa para cada segmento se calcula como:
etd (0 . ^roO)
Etd(‘)> etd(‘- ') ETD{i -\)> ETD{i)
(5)
La medida de la uniformidad temporal se calcula como:
7
tfm{nP3SJ=
1
8 + Npasado._
^cambioif}
(6)
■N
pasado
El maximo cambio de ene^a se calcula como:
MEC(Npasad0 ’Efnuevo} max(Ecambio( ^pasado\ E cambio^ Fpasado~l~\^,--’,-Ecambi(lNnuevo !)) (/)
Si el mdice de Ecambio(i) o Etd() es negativo, entonces indica un valor del segmento precedente, con una indexacion de segmento con relacion a la trama actual.
Npasado es el numero de los segmentos de las tramas anteriores. Es igual a 0 si la medida de uniformidad temporal se calcula para la utilizacion en la decision de ACELP/TCX. Si la medida de la uniformidad temporal se calcula para la decision de TCX LTP entonces es igual a:
Nnuevo es el numero de segmentos de la trama actual. Es igual a 8 para las tramas no transitorias. Para las tramas transitorias se hallan primero las ubicaciones de los elementos con la maxima y minima energfa:
‘max = argmax ETD{i) (9)
i ^ Npasado »■ ■ ■ ? ^ f
'min = argmin ErD(i) (10)
'el-...71
Si ETD(imin)>0,375ETo(imax) entonces Nnuevo se establece a imax - -3, de otra manera Nnuevo se establece a 8.
Etapa 2. Conmutacion de la longitud de los bloques de transformada
La longitud de solapamiento y la longitud del bloque de transformada del TCX dependen de la existencia de un transitorio y de su ubicacion.
Tabla 1: codificacion del solapamiento y de la longitud de la transformada basandose en la posicion del transitorio
- Indice de ataque
- Solapamiento con la primera ventana de la siguiente trama Decision de transformada corta/larga (codificado en binario) 0-Larga, 1-Corta Codigo binario para la anchura de solapamiento Codigo de solapamiento
- ninguno
- ALDO 0 0 00
5
10
15
20
25
30
35
40
- Indice de ataque
- Solapamiento con la primera ventana de la siguiente trama Decision de transformada corta/larga (codificado en binario) 0-Larga, 1-Corta Codigo binario para la anchura de solapamiento Codigo de solapamiento
- -2
- COMPLETO 1 0 10
- -1
- COMPLETO 1 0 10
- 0
- COMPLETO 1 0 10
- 1
- COMPLETO 1 0 10
- 2
- MfNIMO 1 10 110
- 3
- MITAD 1 11 111
- 4
- MITAD 1 11 111
- 5
- MfNIMO 1 10 110
- 6
- MfNIMO 0 10 010
- 7
- MITAD 0 11 011
El detector de transitorios anteriormente descrito basicamente devuelve el mdice del ultimo ataque con la restriccion de que si hay multiples transitorios entonces se prefiere el solapamiento IVHNIMO con respecto al solapamiento MITAd que se prefiere sobre solapamiento TOTAL. Si un ataque en la posicion 2 o 6 no es suficientemente intenso entonces se elige el solapamiento MITAD en lugar del solapamiento MfNIMO.
Etapa 3. Estimacion de paso
Se estima un retardo de paso (parte de numero entero + parte fraccional) por trama (tamano de la trama, por ejemplo, 20 ms) como se indico anteriormente en 3 etapas a) a c) para reducir la complejidad y mejorar la exactitud de la estimacion.
Etapa 4. Bit de decision
Si la senal de audio introducida no contiene ningun contenido de armonico o si una tecnica basada en la prediccion introducina distorsiones en la estructura del tiempo (por ejemplo, la repeticion de un transitorio corto), entonces se toma una decision de desactivar el filtro.
La decision se toma basandose en varios parametros tales como la correlacion normalizada en el retardo de paso de numero entero y las medidas de estructura temporal.
La correlacion normalizada en el retardo de paso de numero entero norm_corr se estima como se ha expuesto anteriormente. La correlacion normalizada es de 1 si la senal introducida es perfectamente predecible por el retardo de paso de numero entero y 0 si no es predecible en absoluto. Un valor elevado (cercano a 1) indicana entonces una senal de armonicos. Para una decision mas robusta, ademas de la correlacion normalizada para la trama actual (norm_corr(curr)) tambien puede usarse en la decision la correlacion normalizada de la trama pasada (norm_corr(prev)), por ejemplo:
Si (norm_corr(curr)*norm_corr(prev)) > 0,25
o
Si max(norm_corr(curr),norm_corr(prev)) > 0,5, entonces la trama actual contiene algun contenido de armonicos.
Las medidas de estructura temporal pueden calcularse mediante un detector de transitorios (por ejemplo, una medida de uniformidad temporal (ecuacion (6)) y ecuacion de maximo cambio de energfa (7)) para evitar la activacion del filtro en una senal que contenga fuertes cambios transitorios o fuertes cambios temporales. Los rasgos temporales se calculan en la senal que contiene la trama actual (Nnuevo segmentos) y la ultima trama hasta el retardo de paso (Npasado segmentos). Para los transitorios similares a etapa que estan decayendo lentamente, algunos de los rasgos, o todos ellos, se calculan solamente hasta la ubicacion del transitorio (imax-3) debido a que las distorsiones en la parte no armonica del espectro introducidas por la filtracion de LTP se supriminan por el enmascaramiento del transitorio fuerte de duracion prolongada (por ejemplo, golpe de platillo).
15
5
10
15
20
25
30
35
40
45
50
Los trenes de pulsos para las senales de bajo paso pueden detectarse como un transitorio mediante un detector de transitorios. Para las senales con un bajo paso los rasgos desde el detector de transitorios se ignoran por lo tanto y en su lugar hay un umbral adicional para la correlacion normalizada que depende del retardo de paso, por ejemplo:
Si norm_corr <= 1,2-Tnt/L , en tal caso desactivar el filtro.
A continuacion se muestra un ejemplo de decision en donde b1 es alguna tasa de bits, por ejemplo 48 kbps, donde TCX_20 indica que la trama se codifica utilizando un unico bloque largo, donde TCX_10 indica que la trama se codifica utilizando 2, 3, 4 o mas bloques cortos, donde la decision TCX_20/TCX_10 se basa en la salida del detector de transitorios anteriormente descrito. Temp-Flatness es la Medida Temporal de Uniformidad definida en (6), maxEnergyChange es el Cambio de Energfa Maximo como se define en (7). La condicion norm_corr(curr) > 1,2- Tnt/L tambien podna escribirse como (1,2-norm_corr(curr))*L < Tint.
enableLTP =
(tasa de bits< b1 && tcxMode==TCX_20 && (norm_corr(curr) * norm_corr(prev)) > 0,25 && tempFlatness < 3,5) ||
(tasa de bits>=b1 && tcxMode==TCX_10 && max(norm_corr(curr),norm_corr(prev)) > 0,5 && maxEnergyChange<3,5) ||
(tasa de bits >= b1 && norm_corr(curr) > 0,44 && norm_corr(curr) > 1,2-Tnt/L) ||
(tasa de bits >= b1 && tcxMode == TCX_20 && norm_corr(curr) > 0,44 &&
(tempFlatness < 6,0 || (tempFlatness < 7,0 && maxEnergyChange < 22,0)));
______________(tasa de bits >= b1 && tcxMode == TCX 20 && norm corr > 0,44 &&___________
Es obvio a partir de los ejemplos anteriores que la deteccion de un transitorio influye sobre que mecanismo de decision para la prediccion a largo plazo se utilizara y que parte de la senal se utilizara para las mediciones utilizadas en la decision y que no desencadenen directamente la desactivacion del filtro de prediccion a largo plazo.
Las mediciones temporales utilizadas para la decision de longitud de transformada pueden ser completamente diferentes de las mediciones temporales utilizadas por la decision del filtro de LTP, o pueden solaparse o ser exactamente iguales pero calcularse en diferentes regiones. Para senales de bajo paso la deteccion de los transitorios puede ignorarse por completo si se alcanza el umbral para la correlacion normalizada que depende del retardo de paso.
Tecnica para eliminar posibles discontinuidades
Ahora se describe una posible tecnica para eliminar las discontinuidades causadas por la aplicacion de un filtro lineal H(z), trama a trama. El filtro lineal puede ser el filtro LTP descrito. El filtro lineal puede ser un filtro FIR (respuesta de impulso finita) o un filtro IIR (respuesta de impulso infinita). El enfoque propuesto no filtra una porcion de la trama dirigente con los parametros de filtro de la trama pasada y por lo tanto evita posibles problemas de los enfoques conocidos. El enfoque propuesto utiliza un filtro de LPC para eliminar la discontinuidad. Este filtro de LPC se estima en la senal de audio (filtrada por un filtro lineal invariable en el tiempo (Hz), o no) y es por lo tanto un buen modelo de la forma espectral de la senal de audio (filtrada por H(z), o no). El filtro de LPC se utiliza entonces de manera tal que la forma espectral de la senal de audio enmascara la discontinuidad.
El filtro de LPC puede estimarse de diversas maneras. Puede estimarse por ejemplo utilizando la senal de audio (trama actual y/o pasad) y el algoritmo de Levinson-Durbin. Tambien puede calcularse sobre la senal de trama filtrada pasada, utilizandose el algoritmo de Levinson-Durbin.
Si se utiliza H(z) en un codec de audio y el codec del audio ya utiliza un filtro de LPC (cuantificado o no) para por ejemplo conformar el ruido de cuantificacion en un codec de audio basado en transformada, entonces este filtro de LPC puede utilizarse directamente para suavizar la discontinuidad, sin la complejidad adicional necesaria para estimar un nuevo filtro de LPC.
A continuacion se describe el procesamiento de la trama actual para el caso del filtro FIR y para el caso del filtro IIR. Se supone que la trama anterior ya se ha procesado.
Caso del filtro FIR:
1. Filtrar la trama actual con los parametros de filtro de la trama actual, produciendose una trama actual filtrada.
2. Considerar un filtro de LPC (cuantificado o no) de orden M, estimado en la senal de audio (filtrada o no).
3. Las M ultimas muestras de la trama pasada se filtran con el filtro H(z) y con los coeficientes de la trama actual, produciendose una primera porcion de senal filtrada.
5
10
15
20
25
30
35
40
45
50
55
60
4. Las M ultimas muestras de la trama pasada filtrada se restan a continuacion de la primera porcion de la senal filtrada, produciendose una segunda porcion de senal filtrada.
5. A continuacion se genera una Respuesta de Impulso Cero (ZIR) del filtro de LPC filtrando una trama de cero muestras con el filtro de LPC y estados iniciales iguales a la segunda porcion de senal filtrada.
6. El ZIR puede ser opcionalmente puesto en ventanas de manera tal que su amplitud vaya mas rapidamente que 0.
7. Una porcion de comienzo del ZIR se resta de una correspondiente porcion de comienzo de la trama actual filtrada.
Caso del filtro IIR:
1. Considerar un filtro de LPC (cuantificado o no) de orden M, estimado en la senal de audio (filtrada o no).
2. Las M ultimas muestras de la trama pasada se filtran con el filtro H(z) y con los coeficientes de la trama actual, produciendose una primera porcion de senal filtrada.
3. Las M ultimas muestras de la trama pasada filtrada se restan a continuacion de la primera porcion de la senal filtrada, produciendose una segunda porcion de senal filtrada.
4. A continuacion se genera una Respuesta de Impulso Cero (ZIR) del filtro de LPC filtrando una trama de cero muestras con el filtro de LPC y con estados iniciales iguales a la segunda porcion de senal filtrada.
5. El ZIR puede ponerse en ventanas opcionalmente de manera tal que su amplitud vaya mas rapido a 0.
6. A continuacion se procesa una porcion de comienzo de la trama actual muestra a muestra empezandose con la primera muestra de la trama actual.
7. La muestra se filtra con el filtro H(z) y con los parametros de trama actuales, produciendose una primera muestra filtrada.
8. La muestra correspondiente del ZIR se resta a continuacion de la primera muestra filtrada, produciendose la correspondiente muestra de la trama actual filtrada.
9. Pasar a la muestra siguiente.
10. Repetir 9 a 12 hasta que se haya procesado la ultima muestra de la porcion de comienzo de la trama actual.
11. Filtrar las muestras restantes de la trama actual con los parametros del filtro de la trama actual.
Por lo tanto, las formas de realizacion de la invencion permiten estimar las SNR segmentarias y la seleccion de un algoritmo de codificacion apropiado, de una manera simple y precisa. En particular, las formas de realizacion de la invencion permiten una seleccion de bucle abierto, de un algoritmo de codificacion apropiado, en el que se evita la seleccion inapropiada de un algoritmo de codificacion en el caso de una senal de audio que tenga armonicos.
En las formas de realizacion anteriores, las SNR segmentarias se estiman calculando un promedio de las SNR estimadas para respectivas subtramas. En formas de realizacion alternativas, la SNR de una trama completa podna estimarse sin dividir la trama en subtramas.
Las formas de realizacion de la invencion permiten una fuerte reduccion en el tiempo de calculo en comparacion con la seleccion de bucle cerrado ya que se omite una cantidad de etapas requeridas en la seleccion de bucle cerrado.
Por lo tanto, una gran cantidad de etapas y el tiempo de calculo asociado con ellas pueden ahorrarse gracias al enfoque inventivo, sin dejar de permitir la seleccion de un algoritmo de codificacion apropiado con un buen rendimiento.
Aunque se han descrito algunos aspectos en el contexto de un aparato, es evidente que estos aspectos tambien representan una descripcion del metodo correspondiente, donde un bloque o dispositivo corresponde a una etapa de metodo o a un rasgo de una etapa de metodo. De manera analoga, los aspectos descritos en el contexto de una etapa de metodo tambien representan una descripcion de un bloque o elemento o rasgo correspondiente de un aparato correspondiente.
Las formas de realizacion de los aparatos descritos en el presente documento y los rasgos de las mismas pueden implementarse mediante una computadora, uno o mas procesadores, uno o mas microprocesadores, campos de matrices de puertas programables (FPGA), circuitos integrados espedficos de la aplicacion (ASIC) y similares o combinaciones de los mismos, que estan configurados o programados para proporcionar las funcionalidades descritas.
Algunas de las etapas de metodo, o todos ellas, pueden ejecutarse (o usarse) mediante un aparato de hardware, como por ejemplo, un microprocesador, una computadora programable o un circuito electronico. En algunas formas de realizacion, algunas de las etapas de metodo mas importantes, o varias de ellas, pueden ejecutarse mediante un aparato de este tipo.
Dependiendo de ciertos requisitos de implementacion, las formas de realizacion de la invencion pueden implementarse en hardware o en software. La implementacion puede llevarse a cabo utilizando un medio de
5
10
15
20
25
30
35
40
45
50
55
almacenamiento digita no transitorio, por ejemplo un disco flexible, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene almacenadas en el mismo senales de control electronicamente legibles, que cooperan (o son capaces de cooperar) con un sistema de computadora programable de manera tal que se lleve a cabo el respectivo metodo. Para ello, el medio de almacenamiento digital puede ser legible por computadora.
Algunas formas de realizacion de acuerdo con la invencion comprenden un portador de datos que tiene senales de control electronicamente legibles, que son capaces de cooperar con un sistema de computadora programable, de manera tal que se lleve a cabo uno de los metodos descritos en el presente documento.
En terminos generales, las formas de realizacion de la presente invencion pueden implementarse como un producto programa de computadora con un codigo de programa, siendo el codigo del programa operativo para llevar a cabo uno de los metodos cuando el producto programa de computadora se ejecuta en una computadora. Por ejemplo, el codigo del programa puede almacenarse en un portador legible por maquina.
Otras formas de realizacion comprenden el programa de computadora para llevar a cabo uno de los metodos descritos en el presente documento, almacenado en un portador legible por maquina.
En otras palabras, por lo tanto una forma de realizacion del metodo inventivo es un programa de computadora que tiene un codigo de programa para llevar a cabo uno de los metodos descritos en el presente documento, cuando el programa de computadora se ejecuta en una computadora.
Por lo tanto, una forma de realizacion del metodo inventivo consiste en un portador de datos (o un medio de almacenamiento digital, o un medio legible por computadora), que comprende, grabado en el mismo, el programa de computadora para llevar a cabo uno de los metodos descritos en el presente documento. El portador de datos, el medio de almacenamiento digital o el medio grabado son tfpicamente tangibles y/o no transitorios.
Una forma de realizacion adicional del metodo inventivo es, por lo tanto, una corriente de datos o una secuencia de senales que representan el programa de computadora para llevar a cabo uno de los metodos descritos en el presente documento. La corriente de datos o la secuencia de senales pueden estar configuradas, por ejemplo, para transferirse mediante una conexion de comunicacion de datos, por ejemplo, mediante Internet.
Una forma de realizacion adicional comprende un medio de procesamiento, por ejemplo una computadora o un dispositivo logico programable, configurado para, o programado para, llevar a cabo uno de los metodos descritos en el presente documento.
Una forma de realizacion adicional comprende una computadora que tiene instalado en la misma el programa de computadora para llevar a cabo uno de los metodos descritos en el presente documento.
Una forma de realizacion adicional de acuerdo con la invencion se refiere a un aparato o sistema configurados para transferir (por ejemplo, electronicamente u opticamente) un programa de computadora para llevar a cabo uno de los metodos descritos en el presente documento, a un receptor. El receptor puede ser, por ejemplo, una computadora, un dispositivo movil, un dispositivo de memoria, o similar. El aparato o sistema puede comprender, por ejemplo, un servidor de archivos para transferir el programa de computadora al receptor.
En algunas formas de realizacion puede utilizarse un dispositivo logico programable (por ejemplo, un campo de matrices de puertas programables), para llevar a cabo algunas o todas las funcionalidades de los metodos descritos en el presente documento. En algunas formas de realizacion, un campo de matrices de puertas programables puede cooperar con un microprocesador para llevar a cabo uno de los metodos descritos en el presente documento. En terminos generales, los metodos se llevan a cabo preferentemente mediante un aparato de hardware.
Las formas de realizacion anteriormente descritas son meramente ilustrativas de los principios de la presente invencion. Se entiende que sera evidente para los expertos en la materia modificaciones y variaciones en las disposiciones y detalles descritos en el presente documento. Por lo tanto, se pretende que la invencion quede limitada solamente por el alcance de las reivindicaciones de patente siguientes y no por los detalles espedficos presentados a modo de descripcion y explicacion de las formas de realizacion presentadas en el presente documento.
Claims (15)
- 51015202530354045505560REIVINDICACIONES1. Aparato (10) para seleccionar uno de un primer algoritmo de codificacion que tiene una primera caractenstica y un segundo algoritmo de codificacion que tiene una segunda caractenstica para codificar una porcion de una senal de audio (40) para obtener una version codificada de la porcion de la senal de audio (40), que comprende:un filtro de prediccion a largo plazo configurado para recibir la senal de audio, para reducir la amplitud de armonicos en la senal de audio y para emitir una version filtrada de la senal de audio;un primer estimador (12) para usar la version filtrada de la senal de audio en la estimacion de una relacion de senal a ruido, SNR, o relacion de senal a ruido de SNR segmentaria de la porcion de la senal de audio como una primera medida de calidad para la porcion de la senal de audio, estando asociada la primera medida de calidad con el primer algoritmo de codificacion, en el que estimar dicha primera medida de calidad comprende realizar una aproximacion del primer algoritmo de codificacion para obtener una estimacion de distorsion del primer algoritmo de codificacion y para estimar la primera medida de calidad basandose en la porcion de la senal de audio y la estimacion de distorsion del primer algoritmo de codificacion sin codificar y decodificar realmente la porcion de la senal de audio usando el primer algoritmo de codificacion;un segundo estimador (14) para estimar una SNR o una SNR segmentaria como una segunda medida de calidad para la porcion de la senal de audio, estando asociada la segunda medida de calidad con el segundo algoritmo de codificacion, en el que estimar dicha segunda medida de calidad comprende realizar una aproximacion del segundo algoritmo de codificacion para obtener una estimacion de distorsion del segundo algoritmo de codificacion y para estimar la segunda medida de calidad usando la porcion de la senal de audio y la estimacion de distorsion del segundo algoritmo de codificacion sin codificar y decodificar realmente la porcion de la senal de audio usando el segundo algoritmo de codificacion; yun controlador (16) para seleccionar el primer algoritmo de codificacion o el segundo algoritmo de codificacion basandose en una comparacion entre la primera medida de calidad y la segunda medida de calidad,en el que el primer algoritmo de codificacion es un algoritmo de codificacion por transformada, un algoritmo de codificacion basado en transformada de coseno discreta modificada, MDCT, o un algoritmo de codificacion de excitacion codificada por transformada, TCX, y en el que el segundo algoritmo de codificacion es un algoritmo de codificacion de prediccion lineal con excitacion por codigo, CELP, o un algoritmo de codificacion de prediccion lineal con excitacion por codigo algebraico, ACELP.
- 2. Aparato (10) de la reivindicacion 1, en el que una funcion de transferencia del filtro de prediccion a largo plazo comprende una parte de numero entero de un retardo de paso y un filtro de multiples derivaciones que depende de una parte fraccional del retardo de paso.
- 3. Aparato (10) de la reivindicacion 1, en el que el filtro de prediccion a largo plazo tiene la funcion de transferencia:P(z) = 1 - PgB(z,Tfr)z~TintTint y Tfr son la parte de numero entero y fraccional de un retardo de paso, g es una ganancia, p es una ponderacion y B(z,Tfr) es un filtro FIR de paso bajo cuyos coeficientes dependen de la parte fraccional del paso.
- 4. Aparato de una de las reivindicaciones 1 a 3, que ademas comprende una unidad de desactivacion para desactivar el filtro basandose en una combinacion de una o mas medidas de armonicidad y/o una o mas medidas de estructura temporal.
- 5. Aparato de la reivindicacion 4, en el que la una o mas medidas de armonicidad comprenden al menos una de una correlacion normalizada o una ganancia de prediccion y en el que la una o mas medidas de estructura temporal comprenden al menos una de una medida de uniformidad temporal y un cambio de energfa.
- 6. Aparato de una de las reivindicaciones 1 a 5, en el que el filtro se aplica a la senal de audio en una base trama a trama, comprendiendo dicho aparato ademas una unidad para eliminar las discontinuidades en la senal de audio provocadas por el filtro.
- 7. Aparato (10) de una de las reivindicaciones 1 a 6, en el que el primer y segundo estimadores estan configurados para estimar una SNR o SNR segmentaria de una porcion de una version ponderada de la senal de audio.
- 8. Aparato (10) de una de las reivindicaciones 1 a 7, en el que el primer estimador (12) esta configurado para determinar una distorsion estimada de cuantificador que un cuantificador utilizado en el primer algoritmo de codificacion introducina cuando cuantifica la porcion de la senal de audio y para estimar la primera medida de calidad basandose en una energfa de una porcion de una version ponderada de la senal de audio y de la distorsion estimada del cuantificador, en el que el primer estimador (12) esta configurado para estimar una ganancia global para la porcion de la senal de audio de manera tal que la porcion de la senal de audio producina una tasa de bits51015202530354045505560objetivo dada cuando se codifica con un cuantificador y un codificador de entrc^a utilizado en el primer algoritmo de codificacion, en el que el primer estimador (12) esta ademas configurado para determinar la distorsion estimada del cuantificador basandose en la ganancia global estimada.
- 9. Aparato (10) de una de las reivindicaciones 1 a 8, en el que el segundo estimador (14) esta configurado para determinar una distorsion estimada del libro de codigo adaptativo que un libro de codigo adaptativo utilizado en el segundo algoritmo de codificacion introducina cuando se utiliza el libro de codigo adaptativo para codificar la porcion de la senal de audio y en el que el segundo estimador (14) esta configurado para estimar la segunda medida de calidad basandose en una energfa de una porcion de una version ponderada de la senal de audio y la distorsion estimada del libro de codigo adaptativo, en el que, para cada una de una pluralidad de subporciones de la porcion de la senal de audio, el segundo estimador (14) esta configurado para aproximar el libro de codigo adaptativo basandose en una version de la subporcion de la senal de audio ponderada desplazada hacia el pasado mediante un retardo de paso determinado en una etapa de pre-procesamiento, para estimar una ganancia del libro de codigo adaptativo de manera tal que se minimiza un error entre la subporcion de la porcion de la senal de audio ponderada y el libro de codigo adaptativo aproximado, y para determinar la distorsion estimada del libro de codigo adaptativo basandose en la energfa de un error entre la subporcion de la porcion de la senal de audio ponderada y el libro de codigo adaptativo aproximado escalado por la ganancia del libro de codigo adaptativo.
- 10. Aparato (10) de la reivindicacion 9, en el que el segundo estimador (14) esta ademas configurado para reducir la distorsion estimada del libro de codigo adaptativo determinada para cada subporcion de la porcion de la senal de audio en un factor constante.
- 11. Aparato (10) de una de las reivindicaciones 1 a 8, en el que el segundo estimador (14) esta configurado para determinar una distorsion estimada del libro de codigo adaptativo que un libro de codigo adaptativo utilizado en el segundo algoritmo de codificacion introducina cuando se utiliza el libro de codigo adaptativo para codificar la porcion de la senal de audio, y en el que el segundo estimador (14) esta configurado para estimar la segunda medida de calidad basandose en una energfa de una porcion de una version ponderada de la senal de audio y la distorsion estimada del libro de codigo adaptativo, en el que el segundo estimador (14) esta configurado para aproximar el libro de codigo adaptativo basandose en una version de la porcion de la senal de audio ponderada desplazada hacia el pasado mediante un retardo de paso determinado en una etapa de pre-procesamiento, para estimar una ganancia del libro de codigo adaptativo de manera tal que se minimiza un error entre la porcion de la senal de audio ponderada y el libro de codigo adaptativo aproximado, y para determinar la distorsion estimada del libro de codigo adaptativo basandose en la energfa de un error entre la porcion de la senal de audio ponderada y el libro de codigo adaptativo aproximado escalado en la ganancia del libro de codigo adaptativo.
- 12. Aparato (20) para codificar una porcion de una senal de audio, que comprende el aparato (10) de acuerdo con una de las reivindicaciones 1 a 11, una primera etapa de codificador (26) para llevar a cabo el primer algoritmo de codificacion y una segunda etapa de codificador (28) para llevar a cabo el segundo algoritmo de codificacion, en el que el aparato para codificar (20) esta configurado para codificar la porcion de la senal de audio utilizando el primer algoritmo de codificacion o el segundo algoritmo de codificacion en funcion de la seleccion por el controlador (16).
- 13. Sistema para codificar y decodificar que comprende un aparato (20) para codificar de acuerdo con la reivindicacion 12 y un decodificador configurado para recibir la version codificada de la porcion de la senal de audio y una indicacion del algoritmo utilizado para codificar la porcion de la senal de audio y para decodificar la version codificada de la porcion de la senal de audio utilizando el algoritmo indicado.
- 14. Metodo para seleccionar uno de un primer algoritmo de codificacion que tiene una primera caractenstica y un segundo algoritmo de codificacion que tiene una segunda caractenstica para codificar una porcion de una senal de audio para obtener una version codificada de la porcion de la senal de audio, que comprende:filtrar la senal de audio utilizando un filtro de prediccion a largo plazo para reducir la amplitud de los armonicos en la senal de audio y para emitir una version filtrada de la senal de audio;utilizar la version filtrada de la senal de audio al estimar una relacion de senal a ruido, SNR, o una SNR segmentaria de la porcion de la senal de audio como una primera medida de la calidad para la porcion de la senal de audio, estando asociada la primera medida de la calidad con el primer algoritmo de codificacion, en el que estimar dicha primera medida de la calidad comprende llevar a cabo una aproximacion del primer algoritmo de codificacion para obtener una estimacion de la distorsion del primer algoritmo de codificacion y para estimar la primera medida de la calidad basandose en la porcion de la primera senal de audio y de la estimacion de la distorsion del primer algoritmo de codificacion sin realmente codificar y decodificar la porcion de la senal de audio utilizando el primer algoritmo de codificacion.estimar una SNR o SNR segmentaria como una segunda medida de la calidad para la porcion de la senal de audio, estando asociada la segunda medida de la calidad con el segundo algoritmo de codificacion, en el que estimar dicha segunda medida de la calidad comprende llevar a cabo una aproximacion del segundo algoritmo de codificacion para obtener una estimacion de la distorsion del segundo algoritmo de codificacion y para estimar1015la segunda medida de la calidad utilizando la porcion de la senal de audio y la estimacion de la distorsion del segundo algoritmo de codificacion sin realmente codificar y decodificar la porcion de la senal de audio utilizando el segundo algoritmo de codificacion; yseleccionar el primer algoritmo de codificacion o el segundo algoritmo de codificacion basandose en una comparacion entre la primera medida de la calidad y la segunda medida de la calidad,en el que el primer algoritmo de codificacion es un algoritmo de codificacion por transformadas, un algoritmo de codificacion basado en transformada de coseno discreta modificada, MDCT, o un algoritmo de codificacion de excitacion codificada por transformada, TCS, y en el que el segundo algoritmo de codificacion es un algoritmo de codificacion de prediccion lineal con excitacion por codigo, CELP, o un algoritmo de codificacion de prediccion lineal con excitacion por codigo algebraico, ACELP.
- 15. Programa de computadora que tiene un codigo de programa para llevar a cabo, cuando se ejecuta en una computadora, el metodo de la reivindicacion 14.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14178809 | 2014-07-28 | ||
EP14178809 | 2014-07-28 | ||
PCT/EP2015/066677 WO2016016053A1 (en) | 2014-07-28 | 2015-07-21 | Apparatus and method for selecting one of a first encoding algorithm and a second encoding algorithm using harmonics reduction |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2614358T3 true ES2614358T3 (es) | 2017-05-30 |
Family
ID=51224872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15739590.6T Active ES2614358T3 (es) | 2014-07-28 | 2015-07-21 | Selección de uno de un primer algoritmo de codificación y un segundo algoritmo de codificación usando reducción de armónicos |
Country Status (19)
Country | Link |
---|---|
US (3) | US9818421B2 (es) |
EP (1) | EP3000110B1 (es) |
JP (1) | JP6086999B2 (es) |
KR (1) | KR101748517B1 (es) |
CN (2) | CN110444219B (es) |
AR (1) | AR101347A1 (es) |
AU (1) | AU2015258241B2 (es) |
BR (1) | BR112015029172B1 (es) |
ES (1) | ES2614358T3 (es) |
HK (1) | HK1222943A1 (es) |
MX (1) | MX349256B (es) |
MY (1) | MY174028A (es) |
PL (1) | PL3000110T3 (es) |
PT (1) | PT3000110T (es) |
RU (1) | RU2632151C2 (es) |
SG (1) | SG11201509526SA (es) |
TW (1) | TWI582758B (es) |
WO (1) | WO2016016053A1 (es) |
ZA (1) | ZA201508541B (es) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2899013C (en) | 2013-01-29 | 2017-11-07 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and method for selecting one of a first audio encoding algorithm and a second audio encoding algorithm |
CN110444219B (zh) * | 2014-07-28 | 2023-06-13 | 弗劳恩霍夫应用研究促进协会 | 选择第一编码演算法或第二编码演算法的装置与方法 |
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 |
EP3483886A1 (en) * | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Selecting pitch lag |
EP3483882A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Controlling bandwidth in encoders and/or decoders |
WO2019091576A1 (en) | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
EP3483879A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Analysis/synthesis windowing function for modulated lapped transformation |
EP3483884A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Signal filtering |
EP3483883A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio coding and decoding with selective postfiltering |
EP3483878A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder supporting a set of different loss concealment tools |
US10896674B2 (en) * | 2018-04-12 | 2021-01-19 | Kaam Llc | Adaptive enhancement of speech signals |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2899013A (en) * | 1956-04-09 | 1959-08-11 | Nat Tank Co | Apparatus for recovery of petroleum vapors from run tanks |
US5012517A (en) | 1989-04-18 | 1991-04-30 | Pacific Communication Science, Inc. | Adaptive transform coder having long term predictor |
US5533052A (en) * | 1993-10-15 | 1996-07-02 | Comsat Corporation | Adaptive predictive coding with transform domain quantization based on block size adaptation, backward adaptive power gain control, split bit-allocation and zero input response compensation |
EP0732687B2 (en) | 1995-03-13 | 2005-10-12 | Matsushita Electric Industrial Co., Ltd. | Apparatus for expanding speech bandwidth |
GB2326572A (en) | 1997-06-19 | 1998-12-23 | Softsound Limited | Low bit rate audio coder and decoder |
JP4622164B2 (ja) * | 2001-06-15 | 2011-02-02 | ソニー株式会社 | 音響信号符号化方法及び装置 |
US7512535B2 (en) | 2001-10-03 | 2009-03-31 | Broadcom Corporation | Adaptive postfiltering methods and systems for decoding speech |
US7536305B2 (en) * | 2002-09-04 | 2009-05-19 | Microsoft Corporation | Mixed lossless audio compression |
US7191136B2 (en) * | 2002-10-01 | 2007-03-13 | Ibiquity Digital Corporation | Efficient coding of high frequency signal information in a signal using a linear/non-linear prediction model based on a low pass baseband |
US7133521B2 (en) | 2002-10-25 | 2006-11-07 | Dilithium Networks Pty Ltd. | Method and apparatus for DTMF detection and voice mixing in the CELP parameter domain |
US7478040B2 (en) * | 2003-10-24 | 2009-01-13 | Broadcom Corporation | Method for adaptive filtering |
CA2457988A1 (en) | 2004-02-18 | 2005-08-18 | Voiceage Corporation | Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization |
FI118835B (fi) | 2004-02-23 | 2008-03-31 | Nokia Corp | Koodausmallin valinta |
GB0408856D0 (en) * | 2004-04-21 | 2004-05-26 | Nokia Corp | Signal encoding |
US7739120B2 (en) | 2004-05-17 | 2010-06-15 | Nokia Corporation | Selection of coding models for encoding an audio signal |
US7716046B2 (en) * | 2004-10-26 | 2010-05-11 | Qnx Software Systems (Wavemakers), Inc. | Advanced periodic signal enhancement |
CN101069232A (zh) * | 2004-11-30 | 2007-11-07 | 松下电器产业株式会社 | 立体声编码装置、立体声解码装置及其方法 |
CN100592389C (zh) * | 2008-01-18 | 2010-02-24 | 华为技术有限公司 | 合成滤波器状态更新方法及装置 |
US7720677B2 (en) * | 2005-11-03 | 2010-05-18 | Coding Technologies Ab | Time warped modified transform coding of audio signals |
US8090573B2 (en) * | 2006-01-20 | 2012-01-03 | Qualcomm Incorporated | Selection of encoding modes and/or encoding rates for speech compression with open loop re-decision |
US8682652B2 (en) * | 2006-06-30 | 2014-03-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic |
US7873511B2 (en) * | 2006-06-30 | 2011-01-18 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic |
GB0705328D0 (en) * | 2007-03-20 | 2007-04-25 | Skype Ltd | Method of transmitting data in a communication system |
CN101743586B (zh) * | 2007-06-11 | 2012-10-17 | 弗劳恩霍夫应用研究促进协会 | 音频编码器、编码方法、解码器、解码方法 |
US9653088B2 (en) * | 2007-06-13 | 2017-05-16 | Qualcomm Incorporated | Systems, methods, and apparatus for signal encoding using pitch-regularizing and non-pitch-regularizing coding |
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 |
EP2077550B8 (en) * | 2008-01-04 | 2012-03-14 | Dolby International AB | Audio encoder and decoder |
FR2929466A1 (fr) * | 2008-03-28 | 2009-10-02 | France Telecom | Dissimulation d'erreur de transmission dans un signal numerique dans une structure de decodage hierarchique |
US8060042B2 (en) * | 2008-05-23 | 2011-11-15 | Lg Electronics Inc. | Method and an apparatus for processing an audio signal |
MY181231A (en) * | 2008-07-11 | 2020-12-21 | Fraunhofer Ges Zur Forderung Der Angenwandten Forschung E V | Audio encoder and decoder for encoding and decoding audio samples |
RU2493651C2 (ru) * | 2008-07-11 | 2013-09-20 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Способ кодирования символа, способ декодирования символа, способ передачи символа от передатчика к приемнику, кодер, декодер и система для передачи символа от передатчика к приемнику |
CA2836871C (en) * | 2008-07-11 | 2017-07-18 | Stefan Bayer | Time warp activation signal provider, audio signal encoder, method for providing a time warp activation signal, method for encoding an audio signal and computer programs |
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 |
CN102089814B (zh) | 2008-07-11 | 2012-11-21 | 弗劳恩霍夫应用研究促进协会 | 对编码的音频信号进行解码的设备和方法 |
ES2592416T3 (es) * | 2008-07-17 | 2016-11-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Esquema de codificación/decodificación de audio que tiene una derivación conmutable |
EP2148528A1 (en) * | 2008-07-24 | 2010-01-27 | Oticon A/S | Adaptive long-term prediction filter for adaptive whitening |
KR101649376B1 (ko) * | 2008-10-13 | 2016-08-31 | 한국전자통신연구원 | Mdct 기반 음성/오디오 통합 부호화기의 lpc 잔차신호 부호화/복호화 장치 |
US8140342B2 (en) * | 2008-12-29 | 2012-03-20 | Motorola Mobility, Inc. | Selective scaling mask computation based on peak detection |
CA2777073C (en) * | 2009-10-08 | 2015-11-24 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Multi-mode audio signal decoder, multi-mode audio signal encoder, methods and computer program using a linear-prediction-coding based noise shaping |
BR112012009490B1 (pt) * | 2009-10-20 | 2020-12-01 | Fraunhofer-Gesellschaft zur Föerderung der Angewandten Forschung E.V. | ddecodificador de áudio multimodo e método de decodificação de áudio multimodo para fornecer uma representação decodificada do conteúdo de áudio com base em um fluxo de bits codificados e codificador de áudio multimodo para codificação de um conteúdo de áudio em um fluxo de bits codificados |
WO2011048117A1 (en) * | 2009-10-20 | 2011-04-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio signal encoder, audio signal decoder, method for encoding or decoding an audio signal using an aliasing-cancellation |
KR101525185B1 (ko) * | 2011-02-14 | 2015-06-02 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법 |
MY166394A (en) | 2011-02-14 | 2018-06-25 | Fraunhofer Ges Forschung | Information signal representation using lapped transform |
KR101551046B1 (ko) * | 2011-02-14 | 2015-09-07 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 저-지연 통합 스피치 및 오디오 코딩에서 에러 은닉을 위한 장치 및 방법 |
PL2676265T3 (pl) * | 2011-02-14 | 2019-09-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Urządzenie i sposób do kodowania sygnału audio z stosowaniem zrównanej części antycypacji |
JP2013057792A (ja) * | 2011-09-08 | 2013-03-28 | Panasonic Corp | 音声符号化装置及び音声符号化方法 |
US9043201B2 (en) * | 2012-01-03 | 2015-05-26 | Google Technology Holdings LLC | Method and apparatus for processing audio frames to transition between different codecs |
CN103915100B (zh) * | 2013-01-07 | 2019-02-15 | 中兴通讯股份有限公司 | 一种编码模式切换方法和装置、解码模式切换方法和装置 |
CN103137135B (zh) * | 2013-01-22 | 2015-05-06 | 深圳广晟信源技术有限公司 | Lpc系数量化方法和装置及多编码核音频编码方法和设备 |
CA2899013C (en) * | 2013-01-29 | 2017-11-07 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and method for selecting one of a first audio encoding algorithm and a second audio encoding algorithm |
CN110444219B (zh) * | 2014-07-28 | 2023-06-13 | 弗劳恩霍夫应用研究促进协会 | 选择第一编码演算法或第二编码演算法的装置与方法 |
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 |
-
2015
- 2015-07-21 CN CN201910295456.8A patent/CN110444219B/zh active Active
- 2015-07-21 SG SG11201509526SA patent/SG11201509526SA/en unknown
- 2015-07-21 PT PT157395906T patent/PT3000110T/pt unknown
- 2015-07-21 EP EP15739590.6A patent/EP3000110B1/en active Active
- 2015-07-21 MX MX2015015684A patent/MX349256B/es active IP Right Grant
- 2015-07-21 WO PCT/EP2015/066677 patent/WO2016016053A1/en active Application Filing
- 2015-07-21 JP JP2015563151A patent/JP6086999B2/ja active Active
- 2015-07-21 AU AU2015258241A patent/AU2015258241B2/en active Active
- 2015-07-21 BR BR112015029172-4A patent/BR112015029172B1/pt active IP Right Grant
- 2015-07-21 PL PL15739590T patent/PL3000110T3/pl unknown
- 2015-07-21 MY MYPI2015002775A patent/MY174028A/en unknown
- 2015-07-21 RU RU2015149810A patent/RU2632151C2/ru active
- 2015-07-21 CN CN201580000798.2A patent/CN105451842B/zh active Active
- 2015-07-21 KR KR1020157032911A patent/KR101748517B1/ko active IP Right Grant
- 2015-07-21 ES ES15739590.6T patent/ES2614358T3/es active Active
- 2015-07-24 TW TW104124171A patent/TWI582758B/zh active
- 2015-07-28 AR ARP150102402A patent/AR101347A1/es active IP Right Grant
- 2015-11-19 ZA ZA2015/08541A patent/ZA201508541B/en unknown
- 2015-11-20 US US14/947,746 patent/US9818421B2/en active Active
-
2016
- 2016-09-19 HK HK16110966.1A patent/HK1222943A1/zh unknown
-
2017
- 2017-07-07 US US15/644,040 patent/US10224052B2/en active Active
-
2019
- 2019-01-24 US US16/256,937 patent/US10706865B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2614358T3 (es) | Selección de uno de un primer algoritmo de codificación y un segundo algoritmo de codificación usando reducción de armónicos | |
JP7568695B2 (ja) | ハーモニックフィルタツールのハーモニック依存制御 | |
CN110289005B (zh) | 用于产生舒缓噪声的自适应频谱形状的装置及方法 | |
ES2616434T3 (es) | Aparato y método para seleccionar uno de un primer algoritmo de codificación de audio y un segundo algoritmo de codificación de audio | |
ES2961553T3 (es) | Dispositivo y método para reducir el ruido de cuantificación en un decodificador de dominio del tiempo | |
ES2924427T3 (es) | Decodificador para generar una señal de audio mejorada en frecuencia, procedimiento de decodificación, codificador para generar una señal codificada y procedimiento de codificación que utiliza información lateral de selección compacta | |
ES2623291T3 (es) | Codificación de una porción de una señal de audio utilizando una detección de transitorios y un resultado de calidad | |
ES2900594T3 (es) | Procedimiento para determinar un modo de codificación | |
CN110827841A (zh) | 音频解码器 | |
CA2910878C (en) | Apparatus and method for selecting one of a first encoding algorithm and a second encoding algorithm using harmonics reduction | |
ES2963367T3 (es) | Aparato y procedimiento de decodificación de una señal de audio usando una parte de anticipación alineada |