ES2714289T3 - Llenado con ruido en la codificación de audio por transformada perceptual - Google Patents
Llenado con ruido en la codificación de audio por transformada perceptual Download PDFInfo
- Publication number
- ES2714289T3 ES2714289T3 ES14701753T ES14701753T ES2714289T3 ES 2714289 T3 ES2714289 T3 ES 2714289T3 ES 14701753 T ES14701753 T ES 14701753T ES 14701753 T ES14701753 T ES 14701753T ES 2714289 T3 ES2714289 T3 ES 2714289T3
- Authority
- ES
- Spain
- Prior art keywords
- noise
- spectral
- spectrum
- zero
- function
- 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
- 230000003595 spectral effect Effects 0.000 claims abstract description 325
- 238000001228 spectrum Methods 0.000 claims abstract description 229
- 230000005236 sound signal Effects 0.000 claims abstract description 89
- 230000007423 decrease Effects 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 11
- 230000011664 signaling Effects 0.000 claims description 11
- 230000008707 rearrangement Effects 0.000 claims description 9
- 230000002123 temporal effect Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000002441 reversible effect Effects 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 6
- 230000007774 longterm Effects 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 146
- 238000011002 quantification Methods 0.000 description 18
- 230000007704 transition Effects 0.000 description 18
- 230000001419 dependent effect Effects 0.000 description 12
- 238000013139 quantization Methods 0.000 description 12
- 230000009466 transformation Effects 0.000 description 12
- 230000000873 masking effect Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000012886 linear function Methods 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 229940035637 spectrum-4 Drugs 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000005054 agglomeration Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 238000012885 constant function Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/028—Noise substitution, i.e. substituting non-tonal spectral components by noisy source
-
- 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/012—Comfort noise or silence coding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Quality & Reliability (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stereo-Broadcasting Methods (AREA)
- Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
- Noise Elimination (AREA)
- Stereophonic System (AREA)
Abstract
Decodificador de audio por transformada perceptual que comprende un dispositivo de llenado con ruido configurado para ejecutar el llenado con ruido en un espectro (34) de una señal de audio llenando el espectro con ruido para obtener un espectro llenado con ruido y un modelador de ruido en el dominio de la frecuencia configurado para someter al espectro llenado con ruido a modelado espectral utilizando una función de ponderación perceptual espectral, en el cual el modelador de ruido en el dominio de la frecuencia está configurado para determinar la función de ponderación espectral perceptual de información de coeficientes de predicción lineal (162) señalizados en un flujo de datos en el cual se codifica (164) el espectro (34), o determinar la función de ponderación espectral perceptual de factores de escala (112) relacionados con bandas de factores de escala (110), señalizados en el flujo de datos en el cual se codifica el espectro (34), en donde el dispositivo de llenado con ruido está configurado para generar una señal de ruido intermediaria; identificar porciones espectrales contiguas de cero del espectro de la señal de audio; caracterizado porque el dispositivo de llenado con ruido está configurado además para determinar una función por cada porción espectral contigua de cero dependiendo de el ancho de la respectiva porción espectral contigua de cero de manera que la función quede confinada a la respectiva porción espectral contigua de cero la posición espectral de la respectiva porción espectral contigua de cero por lo que el escalado de la función depende de la posición espectral de la respectiva porción espectral contigua de cero de tal manera que la cantidad de escalado aumente de manera monótona o decrezca de manera monótona con el aumento de la frecuencia de la respectiva porción espectral contigua de cero y modelar espectralmente, por cada porción espectral contigua de cero, la señal de ruido intermediaria utilizando la función determinada para la respectiva porción espectral contigua de cero de tal manera que el ruido exhiba una inclinación espectralmente global que tiene una pendiente negativa.
Description
DESCRIPCION
Llenado con ruido en la codificacion de audio por transformada perceptual
[0001] La presente solicitud se refiere al llenado con ruido en la codificacion de audio por transformada perceptual.
[0002] En la codificacion por transformadas con frecuencia se reconoce (comparar [1], [2], [3]) que la cuantificacion de partes de un espectro a cero lleva a una degradacion perceptual. Esas partes cuantificadas a cero se denominan agujeros espectrales. Una solucion a este problema presentada en [1], [2], [3] y [4] consiste en reemplazar las llneas espectrales cuantificadas a cero con ruido. En ocasiones, se evita la insercion de ruido por debajo de una determinada frecuencia. La frecuencia de partida para el llenado con ruido es fija, aunque difiere en la tecnica anterior.
[0003] En ocasiones se utiliza FDNS (Modelado de ruido en el dominio de la frecuencia) para modelar el espectro (incluyendo el ruido insertado) y para el control del ruido de cuantificacion, como en USAC (comparar [4]). El FDNS se ejecuta empleando una respuesta de magnitud del filtro LPC. Los coeficientes de filtro LPC se calculan empleando una senal de entrada pre-enfatizada.
[0004] En [1] se senalo que la adicion de ruido en la proximidad inmediata de un componente tonal lleva a una degradacion y, en consecuencia, tal como en [5] solo se llenan con ruido largas sucesiones de ceros para evitar que los valores no cero queden ocultos por el ruido circundante inyectado.
[0005] En [3] se senala que existe un problema de un compromiso entre la granularidad del llenado con ruido y el tamano de la informacion complementaria necesaria. En [1], [2], [3] y [5] se transmite un parametro de llenado con ruido por espectro completo. Se modela espectralmente el ruido insertado utilizando LPC como en [2] o utilizando factores de escala como en [3]. En [3] se describe como se deben adaptar los factores de escala a un llenado con ruido con un nivel de llenado con ruido para la totalidad del espectro. En [3], se modifican los factores de escala correspondientes a las bandas que se cuantifican por completo a cero para evitar agujeros espectrales y para tener un nivel de ruido correcto.
[0006] Aunque las soluciones de [1] y [5] evitan la degradacion de los componentes tonales puesto que sugieren no llenar los agujeros espectrales pequenos, aun existe una necesidad de mejorar adicionalmente la calidad de una senal de audio codificada mediante el uso de llenado con ruido, especialmente a muy bajas tasas de bits.
[0007] Existen otros problemas mas alla de los descritos anteriormente, que se producen como resultado de los conceptos de llenado con ruido conocidos hasta ahora, de acuerdo con los cuales se introduce ruido en el espectro de manera espectralmente plana.
[0008] El documento US 2012/0271644 A1 esta relacionado con codificacion de audio multi-modo y, en particular, con la codificacion de audio multi-modo que utiliza un modo TCX-LPD y un modo ACELP en paralelo. Con respecto a la codificacion por transformada de la senal de excitacion, el documento D1 describe que un llenado con ruido opcional se puede aplicar a los coeficientes espectrales cuantificados de manera inversa para obtener coeficientes espectrales llenados con ruido.
[0009] Serla favorable tener a mano un concepto mejorado de llenado con ruido que aumente la calidad de audio obtenido como resultado del espectro llenado con ruido, al menos en conexion con la codificacion de audio por transformada perceptual.
[0010] En consecuencia, un objetivo de la presente invencion consiste en presentar un concepto de llenado con ruido en la codificacion de audio por transformada perceptual con caracterlsticas mejoradas.
[0011] Este objetivo se alcanza mediante la materia expuesta en las reivindicaciones independientes adjuntas a la presente invencion, donde los aspectos ventajosos de la presente solicitud son el tema de las reivindicaciones dependientes.
[0012] Es un hallazgo basico de la presente solicitud que el llenado con ruido en los codecs de audio por transformada perceptual se puede mejorar mediante la ejecucion del llenado con ruido con una inclinacion espectralmente global, en lugar de en forma espectralmente plana. Por ejemplo, la inclinacion espectralmente global puede tener pendiente negativa, es decir exhibir una reduccion de bajas a altas frecuencias, para revertir al menos parcialmente la inclinacion espectral causada al someter al espectro llenado con ruido a la funcion de ponderacion espectral perceptual. Tambien se puede concebir una pendiente positiva, por ejemplo en casos en que el espectro codificado exhibe un caracter de tipo paso alto. En particular, las funciones de ponderacion perceptual espectral tienden por lo general a exhibir un aumento desde bajas a altas frecuencias. En consecuencia, el ruido llenado en el espectro de los codificadores de audio por transformada perceptual de manera espectralmente plana, terminarla en
un piso de ruido inclinado en el espectro reconstruido en ultima instancia. Los inventores de la presente solicitud, sin embargo, se dieron cuenta de que esta inclinacion en el espectro reconstruido en ultima instancia afecta a la calidad del audio, puesto que da lugar a agujeros espectrales restantes en las partes llenadas con ruido del espectro. En consecuencia, la insercion del ruido con una inclinacion espectral global para que el nivel de ruido se reduzca desde las frecuencias bajas a las altas compensa, al menos en parte, dicha inclinacion espectral causada por el modelado subsiguiente del espectro llenado con ruido usando la funcion de ponderacion espectral perceptual, mejorando as! la calidad del audio. Dependiendo de las circunstancias, puede ser preferible una pendiente positiva, como se ha senalado anteriormente.
[0013] De conformidad con una forma de realizacion, la pendiente de la inclinacion espectralmente global se varla en respuesta a una senalizacion en el flujo de datos en el cual se codifica el espectro. La senalizacion puede senalizar, por ejemplo, de manera expllcita, el grado de empinado y se puede adaptar, del lado de la codificacion, a la cantidad de inclinacion espectral causada por la funcion de ponderacion espectral perceptual. Por ejemplo, la cantidad de inclinacion espectral causada por la funcion de ponderacion espectral perceptual se puede originar en un preenfasis a la cual se somete a la senal de audio antes de aplicar el analisis LpC a la misma.
[0014] De conformidad con una forma de realizacion, se mejora aun mas la calidad del llenado con ruido de un espectro de una senal de audio con respecto al ruido introducido en el espectro, por lo que la reproduccion de la senal llenada con ruido es menos molesta, mediante la ejecucion del llenado con ruido de manera dependiente de una tonalidad de la senal de audio.
[0015] De conformidad con una forma de realizacion de la presente solicitud, se llena una porcion espectral contigua de cero del espectro de la senal de audio con ruido modelado espectralmente utilizando una funcion que presume un maximo en el interior de la porcion espectral contigua de cero, y que presenta bordes que caen en el exterior cuya pendiente absoluta depende negativamente de la tonalidad, es decir que la pendiente decrece con el aumento de la tonalidad. Adicionalmente o alternativamente, la funcion empleada para el llenado presume un maximo en la parte interna de la porcion espectral contigua de cero y tiene bordes que caen en el exterior, cuyo ancho espectral depende positivamente de la tonalidad, es decir el ancho espectral se incrementa con el aumento de la tonalidad. Por anadidura, adicionalmente o alternativamente, se puede utilizar una funcion constante o unimodal para llenar, una integral de la cual - normalizada a una integral de 1 - en los cuartos externos de la porcion espectral contigua de cero depende negativamente de la tonalidad, es decir que la integral se reduce con el aumento de la tonalidad. Con todas estas medidas, el llenado con ruido tiende a ser menos perjudicial para las partes tonales de la senal de audio, aunque de todos modos es eficaz para las partes no tonales de la senal de audio en terminos de reduccion de los agujeros espectrales. En otras palabras, siempre que la senal de audio tenga un contenido de componentes tonales, el ruido introducido en el espectro de la senal de audio deja indemnes los picos tonales del espectro al mantener una distancia suficiente de los mismos, donde no obstante el caracter no tonal de las fases temporales de la senal de audio con el contenido de audio no tonal es satisfecho por el llenado con ruido.
[0016] De conformidad con una forma de realizacion de la presente solicitud, se identifican las porciones espectrales contiguas de ceros del espectro de la senal de audio y las porciones de ceros identificadas se llenan con ruido espectralmente modelado con funciones de tal manera que, por cada porcion espectral contigua de cero se fija la respectiva funcion dependiendo de un ancho de la respectiva porcion espectral contigua de cero y de la tonalidad de la senal de audio. Para facilitar la implementacion, se puede determinar la dependencia mediante una busqueda en una tabla de busqueda de funciones, o se pueden calcular las funciones anallticamente utilizando una formula matematica dependiendo del ancho de la porcion espectral contigua de cero y de la tonalidad de la senal de audio. En cualquier caso, el esfuerzo para obtener la dependencia es relativamente Infimo en comparacion con las ventajas que se obtienen como resultado de la dependencia. En particular, la dependencia puede ser tal que se fije la respectiva funcion dependiendo del ancho de la porcion espectral contigua de cero de manera que la funcion quede limitada a la respectiva porcion espectral contigua de cero, y dependiendo de la tonalidad de la senal de audio de manera que, para una tonalidad mas alta de la senal de audio, la masa de una funcion se torne mas compacta en la parte interna de la respectiva porcion espectral contigua de cero y alejada de los bordes de la respectiva porcion espectral contigua de cero.
[0017] De acuerdo con otra forma de realizacion, el ruido modelado espectralmente e introducido en las porciones espectrales contiguas de ceros por lo general es escalado utilizando un nivel espectralmente global de llenado con ruido. En particular, el ruido es escalado de tal manera que una integral del ruido en las porciones espectrales contiguas de ceros o una integral sobre las funciones de las porciones espectrales contiguas de ceros corresponda a, por ejemplo sea igual a, un nivel global de llenado con ruido. Ventajosamente, un nivel global de llenado con ruido es codificado dentro de los codecs de audio existente de manera que no hay necesidad de suministrar sintaxis adicional para esos codecs de audio. En otras palabras, el nivel global de llenado con ruido puede ser expllcitamente senalizado en el flujo de datos en el cual se codifica la senal de audio con poco esfuerzo. En efecto, las funciones con las cuales el ruido de la porcion espectral contigua de cero es modelado espectralmente pueden ser escaladas de tal manera que una integral sobre el ruido con el cual se llenan todas las porciones espectrales contiguas de ceros corresponde al nivel global de llenado con ruido.
[0018] De conformidad con una forma de realizacion de la presente solicitud, la tonalidad se deriva de un parametro de codificacion mediante el uso del cual se codifica la senal de audio. Mediante esta medida, no es necesario transmitir ninguna informacion adicional dentro de un codec de audio existente. De acuerdo con formas de realizacion especlficas, el parametro de codificacion es una bandera o ganancia de LTP (Prediccion a Largo Plazo), una bandera o ganancia de habilitacion de TNS (Modelado Temporal de Ruido) y/o una bandera de habilitacion de reordenamiento del espectro.
[0019] De acuerdo con una forma de realizacion adicional, la ejecucion del llenado con ruido se limita a una porcion espectral de alta frecuencia, donde se fija una posicion de partida de baja frecuencia de la porcion espectral de alta frecuencia que corresponde a una senalizacion expllcita en un flujo de datos y con la cual se codifica la senal de audio. Por esta medida, es factible una determinacion adaptativa a la senal del llmite inferior de la porcion espectral de alta frecuencia en la cual se ejecuta el llenado con ruido. Por esta medida, a su vez, se puede aumentar la calidad del audio obtenida como resultado del llenado con ruido. A su vez, la informacion complementaria adicional necesaria causada por la senalizacion expllcita es comparativamente pequena.
[0020] Se puede utilizar el llenado con ruido del lado de la codificacion de audio y/o la decodificacion de audio. Cuando se utiliza del lado de la codificacion de audio, el espectro llenado con ruido se puede emplear para fines de analisis por slntesis.
[0021] De conformidad con una forma de realizacion, un codificador determina el nivel de escalado global de ruido teniendo en cuenta la dependencia de la tonalidad.
[0022] A continuacion se describen las formas de realizacion preferidas de la presente solicitud en relacion con las figuras, en las cuales:
Fig. 1a muestra un diagrama de bloques de un codificador de audio por transformada perceptual con fines ilustrativos; Fig. 1b muestra un diagrama de bloques de un decodificador de audio por transformada perceptual de conformidad de conformidad con una forma de realizacion;
Fig. 1c muestra a un diagrama esquematico que muestra una manera posible de obtener la inclinacion espectralmente global introducida en el ruido introducido de conformidad con una forma de realizacion.
Fig.2a muestra, en forma alineada en el tiempo, uno sobre otro, de arriba hacia abajo, un fragmento de tiempo extraldo de una senal de audio, cuyo espectrograma utiliza una variacion espectro-temporal indicada esquematicamente “en escala de grises” de la energla espectral y la tonalidad de la senal de audio con fines ilustrativos;
Fig. 2b muestra un diagrama de bloques de un aparato de llenado con ruido de conformidad con una forma de realizacion;
Fig. 3 muestra una vista esquematica de un espectro al que se va a someter a llenado con ruido y una funcion empleada para el modelado espectral del ruido utilizado para llenar una porcion espectral contigua de cero de este espectro de conformidad con una forma de realizacion;
Fig. 4 muestra una vista esquematica de un espectro al que se va a someter a llenado con ruido y una funcion empleada para el modelado espectral del ruido utilizado para llenar una porcion espectral contigua de cero de este espectro de acuerdo con una forma de realizacion adicional;
Fig. 5 muestra una vista esquematica de un espectro al que se va a someter a llenado con ruido y una funcion empleada para el modelado espectral del ruido utilizado para llenar una porcion espectral contigua de cero de este espectro de acuerdo con una forma de realizacion adicional;
Fig. 6 muestra un diagrama de bloques del dispositivo de llenado con ruido de la Fig. 2 de conformidad con una forma de realizacion;
Fig. 7 muestra esquematicamente una relacion posible entre la tonalidad de la senal de audio determinada por un lado y las funciones posibles disponibles para el modelado espectral de una porcion espectral contigua de cero por el otro, de conformidad con una forma de realizacion;
Fig. 8 muestra esquematicamente un espectro que va a ser llenado con ruido y ademas exhibe las funciones utilizadas para el modelado espectral del ruido para llenar las porciones espectrales contiguas de ceros del espectro a fin de ilustrar como se debe escalar el nivel de ruido de conformidad con una forma de realizacion;
Fig. 9 muestra un diagrama de bloques de un codificador que se puede utilizar dentro de un codec de audio que adopta el concepto de llenado con ruido descrito con respecto a las Figs. 1 a 8;
Fig. 10 muestra esquematicamente un espectro cuantificado para llenar con ruido, codificado por el codificador de la Fig. 9 junto con informacion complementaria transmitida, es decir factores de escala y nivel global de ruido, de conformidad con una forma de realizacion;
Fig. 11 muestra un diagrama de bloques de un decodificador que se ajusta al codificador de la Fig. 9 y que incluye un aparato de llenado con ruido de acuerdo con la Fig. 2;
Fig. 12 muestra una vista esquematica de un espectrograma con datos de informacion complementaria asociados de acuerdo con una variante de una implementacion del codificador y decodificador de las Figs. 9 y 11;
Fig. 13 muestra un codificador de audio por transformada de prediccion lineal que se puede incluir en un codec de audio utilizando el concepto de llenado con ruido de las Figs. 1a a 8;
Fig. 14 muestra un diagrama de bloques de un decodificador que se adapta al codificador de la Fig. 13;
Fig. 15 muestra ejemplos de fragmentos tomados de un espectro que va a ser llenado con ruido;
Fig. 16 muestra un ejemplo expilcito de una funcion para modelar el ruido introducido en una determinada porcion espectral contigua de cero del espectro que va a ser llenado con ruido de conformidad con una forma de realizacion; Figs. 17a-d muestran diversos ejemplos de funciones para el modelado espectral del ruido introducido en porciones espectrales contiguas de ceros correspondientes a diferentes anchos de porciones de ceros y diferentes anchos de transicion empleados para las diferentes tonalidades
[0023] En toda la siguiente descripcion de las figuras, se utilizan signos de referencia iguales para los elementos expuestos en estas figuras; se debe interpretar que la descripcion presentada con respecto a un elemento de una figura se puede transferir al elemento de otra figura que esta indicado con el mismo signo de referencia. En virtud de esta medida, se evita en lo posible una descripcion extensa y repetitiva, concentrando as! la descripcion de las diversas formas de realizacion en las diferencias entre si en lugar de describir de nuevo y desde el comienzo todas las formas de realizacion una y otra vez.
[0024] La Fig. 1 a muestra un codificador de audio de conformidad con una forma de realizacion de la presente solicitud y la Fig. 1b muestra un decodificador de audio de conformidad con una forma de realizacion de la presente solicitud, ambos adaptados entre si para formar un codec de audio por transformada perceptual.
[0025] Como se muestra en la Fig. 1a, el codificador de audio por transformada perceptual comprende un ponderador del espectro 1 configurado para ponderar espectralmente el espectro original de una senal de audio recibida por el ponderador del espectro 1 de acuerdo con la inversa de una funcion de ponderacion espectral perceptual determinada por el ponderador del espectro 1 de manera predeterminada de la cual se exponen ejemplos mas adelante. El ponderador espectral 1 obtiene, por esta medida, un espectro perceptualmente ponderado al que se somete a continuacion a cuantificacion de forma espectralmente uniforme, es decir de manera igual para las llneas espectrales, en un cuantificador 2 del codificador de audio por transformada perceptual. El resultado emitido por el cuantificador uniforme 2 es un espectro cuantificado 34 que finalmente es codificado en un flujo de datos emitido por el codificador de audio por transformada perceptual.
[0026] Para controlar el llenado con ruido que se va a ejecutar del lado de la decodificacion a fin de mejorar el espectro 34, en lo referente a la fijacion del nivel de ruido, opcionalmente puede haber una calculadora de nivel de ruido 3 del codificador de audio por transformada perceptual presente para computar un parametro de nivel de ruido midiendo un nivel del espectro perceptualmente ponderado 4 en las porciones 5 ubicadas conjuntamente en las porciones de cero 40 del espectro cuantificado 34. El parametro de nivel de ruido calculado de este modo puede ser codificado asimismo en el flujo de datos antes mencionado para que llegue al decodificador.
[0027] El decodificador de audio por transformada perceptual se muestra en la Fig. 1b. El mismo comprende un aparato de llenado con ruido 30 configurado para ejecutar el llenado con ruido en el espectro entrante 34 de la senal de audio, codificada en el flujo de datos generado por el codificador de la Fig. 1a, llenando el espectro 34 con ruido que exhibe una inclinacion espectralmente global de manera que el nivel de ruido se reduzca de bajas a altas frecuencias a fin de obtener un espectro llenado con ruido 36. Un modelador de ruido en el dominio de la frecuencia del decodificador de audio por transformada perceptual, indicado con el signo de referencia 6, esta configurado para someter al espectro llenado con ruido a modelado espectral utilizando la funcion de ponderacion espectral perceptual obtenida del lado de la codificacion a traves del flujo de datos de la manera descrita mediante los siguientes ejemplos especlficos adicionales. Este espectro emitido por el modelador de ruido en el dominio de la frecuencia 6 puede ser reenviado a un transformador inverso 7 para reconstruir la senal de audio en el dominio del tiempo y del mismo modo, dentro del codificador de audio por transformada perceptual, un transformador 8 puede preceder al ponderador del espectro 1 para suministrar al ponderador del espectro 1 el espectro de la senal de audio.
[0028] La significancia de llenar el espectro 34 con ruido 9 que exhibe una inclinacion espectralmente global es la siguiente: cuando se somete al espectro llenado con ruido 36 a modelado espectral por el modelador de ruido en el dominio de la frecuencia 6, se somete al espectro 36 a una funcion de ponderacion inclinada. Por ejemplo, el espectro se amplifica a las altas frecuencias en comparacion con una ponderacion de las bajas frecuencias. En otras palabras, el nivel del espectro 36 se eleva a frecuencias mas altas en relacion con las frecuencias mas bajas. Esto causa una inclinacion espectralmente global con pendiente positiva en las porciones en principio espectralmente planas del espectro 36. En consecuencia, en caso de introducir ruido 9 en el espectro 36 para llenar la porcion de cero 40 del mismo, de manera espectralmente plana, a continuacion el espectro emitido por FDNS 6 exhibirla en estas porciones 40 un piso de ruido que tiende a incrementarse, por ejemplo, de bajas a altas frecuencias. En otras palabras, al examinar la totalidad del espectro o al menos la porcion del ancho de banda del espectro en la cual se ejecuta el llenado con ruido, se verla que el ruido dentro de las porciones 40 tiene tendencia o una funcion de regresion lineal con pendiente positiva o pendiente negativa. Sin embargo, cuando el aparato de llenado con ruido 30 llena el espectro 34 con ruido que exhibe una inclinacion espectralmente global de pendiente positiva o negativa, indicada con a en la Fig. 1b, y que esta inclinada en l direction opuesta en comparacion con la inclinacion causada por el FDNS 9, la inclinacion espectral causada por el FDNS 6 se compensa y el piso de ruido as! introducido en el espectro reconstruido en ultima instancia a la salida del FDNS 6 es plano o al menos mas plano, aumentando as! la calidad del audio dejando menos agujeros profundos de ruido.
[0029] “Inclinacion espectralmente global” debe indicar que el ruido 9 llenado en el espectro 34 tiene un nivel que tiende a decrecer (o aumentar) de bajas a altas frecuencias. Por ejemplo, al trazar una linea de regresion lineal a traves de un maximo local de ruido 9 insertado, por ejemplo, en porciones de cero espectrales contiguas mutuamente espectralmente distanciadas 40, la linea de regresion lineal obtenida tiene la pendiente negativa (o positiva) a.
[0030] Aunque no es indispensable, la calculadora de nivel de ruido del codificador de audio por transformada perceptual puede dar cuenta de la manera inclinada del llenado con ruido del espectro 34 midiendo el nivel del espectro perceptualmente ponderado 4 en las porciones 5 de manera ponderada con una inclinacion espectral global que tiene, por ejemplo, pendiente positiva en caso de que a sea negativo y pendiente negativa si a es positivo. No es necesario que la pendiente aplicada por la calculadora de nivel de ruido, que esta indicada con p en la Fig. 1a, sea igual a la aplicada del lado de la decodificacion en lo que respecta al valor absoluto de la misma, aunque de conformidad con una forma de realizacion este podria ser el caso. Al hacerlo asi, la calculadora de nivel de ruido 3 puede adaptar el nivel del ruido 9 insertado del lado de la decodificacion con mas precision al nivel de ruido que se aproxima mejor a la senal original y a traves de todo el ancho de banda espectral.
[0031] Mas adelante se explicara que puede ser factible controlar una variacion de una pendiente de la inclinacion espectralmente global a mediante senalizacion explicita en el flujo de datos o mediante senalizacion implicita por el hecho de que, por ejemplo, el aparato de llenado con ruido 30 deduce lo abrupto de la pendiente, por ejemplo, de la funcion de ponderacion espectral perceptual en si o de una conmutacion de largo de ventana de transformada. Mediante esta ultima deduccion, por ejemplo, se puede adaptar la pendiente a la longitud de la ventana.
[0032] Hay diferentes maneras posibles por medio de las cuales el aparato de llenado con ruido 30 hace que el ruido 9 exhiba la inclinacion espectralmente global. La Fig. 1c, por ejemplo, ilustra que el aparato de llenado con ruido 30 ejecuta una multiplicacion por lineas espectrales 11 entre una senal de ruido intermediaria 13, que representa un estado intermedio en el proceso de llenado con ruido, y una funcion que aumenta (o decrece) de forma monotona 15, es decir una funcion que decrece (o aumenta) espectralmente de forma monotona a traves de todo el espectro o al menos la porcion en la que se ejecuta el llenado con ruido, para obtener el ruido 9. Como se ilustra en la Fig. 1c, la senal de ruido intermediaria 13 puede estar ya espectralmente modelada. Los detalles en este aspecto pertenecen a las formas de realizacion especificas resenadas con mas detalle mas adelante, de acuerdo con las cuales tambien se ejecuta el llenado con ruido dependiendo de la tonalidad. Sin embargo, tambien se puede omitir el modelado espectral o se puede ejecutar despues de la multiplicacion 11. Se puede utilizar la senal de parametro de nivel de ruido y el flujo de datos para establecer el nivel de la senal de ruido intermediaria 13, aunque por otro lado se puede generar la senal de ruido intermediaria utilizando un nivel estandar, aplicando el parametro escalar de nivel de ruido para escalar el espectro despues de la multiplicacion 11. La funcion en decrecimiento monotono 15 puede ser una funcion lineal, como se ilustra en la Fig. 1c, una funcion lineal por fragmentos, una funcion polinomica o cualquier otra funcion.
[0033] Como se describe mas adelante de forma mas detallada, seria factible fijar adaptativamente la porcion de todo el espectro dentro del cual el llenado con ruido es ejecutado por el aparato de llenado con ruido 30.
[0034] En conexion con las formas de realizacion que se describen mas detalladamente mas adelante, de acuerdo con las cuales se llenan las porciones espectrales contiguas de cero del espectro 34, es decir los agujeros espectrales, de manera especifica no plana y dependiente de la tonalidad, se debe explicar que tambien hay alternativas para la multiplicacion 11 ilustrada en la Fig. 1c para provocar la inclinacion espectralmente global descrita hasta ahora.
[0035] La siguiente descripcion sigue adelante con formas de realizacion especificas para la ejecucion del llenado con ruido. En adelante se presentan diferentes formas de realizacion correspondientes a diversos codecs de audio a los cuales se puede incorporar el llenado con ruido, junto con detalles especificos que se podrian aplicar en conexion con un respectivo codec de audio presentado. Cabe senalar que el llenado con ruido que se describe a continuacion puede ser ejecutado, en todo caso, del lado de la decodificacion. Dependiendo del codificador, sin embargo, tambien se puede ejecutar el llenado con ruido que se describe a continuacion del lado de la codificacion como, por ejemplo, por razones de analisis por síntesis. A continuacion tambien se describe un caso intermedio de acuerdo con el cual la forma modificada de llenado con ruido de acuerdo con las formas de realizacion descritas a continuacion simplemente cambia parcialmente la manera de funcionar del codificador como por ejemplo, para determinar un nivel espectralmente global de llenado con ruido.
[0036] La Fig. 2a muestra, con fines ilustrativos, una senal de audio 10, es decir el curso temporal de sus muestras de audio, por ejemplo, el espectrograma alineado en el tiempo 12 de la senal de audio que ha sido derivado de la senal de audio 10, al menos entre otros modos, por medio de una transformacion adecuada tal como una transformacion solapada ilustrada en 14 a titulo de ejemplo respecto de dos ventanas consecutivas de transformada 16 y los espectros asociados 18 que, de esa manera, representan un corte de un espectrograma 12 en una instancia de tiempo que corresponde a un punto medio de la ventana de transformada asociada 16, por ejemplo. Mas adelante se presentan ejemplos de espectrograma 12 y de como se obtiene el mismo. En todo caso, el espectrograma 12 ha sido objeto de algun tipo de cuantificacion y, por consiguiente, tiene porciones de ceros donde los valores espectrales en los cuales se muestrea espectro-temporalmente el espectrograma 12 son contiguas de ceros. La transformada
solapada 14 puede ser, por ejemplo, una transformada con muestreo crltico tal como una MDCT. Las ventanas de transformada 16 pueden tener un traslapo del 50% entre si, aunque tambien son factibles otras formas de realizacion. Ademas, la resolucion espectro-temporal con la cual se muestrea el espectrograma 12 en los valores espectrales puede variar en el tiempo. En otras palabras, la distancia temporal entre espectros consecutivos 18 del espectrograma 12 puede variar en el tiempo y lo mismo se aplica a la resolucion espectral de cada espectro 18. En particular, la variacion en tiempo en lo que se refiere a la distancia temporal entre espectros consecutivos 18, puede ser inversa a la variacion de la resolucion espectral de los espectros. La cuantificacion utiliza, por ejemplo, un tamano de paso de cuantificacion adaptativa a la senal con variacion espectral, que varla, por ejemplo, de acuerdo con una envolvente espectral de LPC de la senal de audio descrita por los coeficientes de Lp senalizados en el flujo de datos en el cual se codifican los valores espectrales cuantificados del espectrograma 12 con los espectros 18 que se deben llenar con ruido, o de acuerdo con factores de escala determinados, a su vez, de acuerdo con un modelo psicoacustico, y senalizados en el flujo de datos.
[0037] Mas alla de eso, en forma alineada en el tiempo, la Fig. 2a ilustra una caracterlstica de la senal de audio 10 y su variacion temporal, es decir la tonalidad de la senal de audio. En terminos generales, la “tonalidad” indica una medida que describe como de condensada esta la energla de la senal de audio en un determinado punto de tiempo en el espectro respectivo 18 asociado a ese punto de tiempo. Si la energla esta muy dispersa, como por ejemplo en las fases temporales ruidosas de la senal de audio 10, la tonalidad es baja. Pero si la energla esta sustancialmente concentrada en uno o mas picos espectrales, en ese caso la tonalidad es alta.
[0038] La Fig. 2b muestra un aparato de llenado con ruido 30 configurado para ejecutar el llenado con ruido en el espectro de una senal de audio de conformidad con una forma de realizacion de la presente solicitud. Como se describe mas adelante de forma mas detallada, el aparato esta configurado para ejecutar el llenado con ruido dependiendo de la tonalidad de la senal de audio.
[0039] El aparato de la Fig. 2b comprende un dispositivo de llenado con ruido 32 y un determinador de la tonalidad 34, que es opcional.
[0040] El llenado con ruido en si es ejecutado por el dispositivo de llenado con ruido 32. El dispositivo de llenado con ruido 32 recibe el espectro al cual se debe aplicar el llenado con ruido. Este espectro esta ilustrado en la Fig. 2b en forma de espectro ralo 34. El espectro ralo 34 puede ser un espectro 18 tomado del espectrograma 12. Los espectros 18 entran en el dispositivo de llenado con ruido 32 sucesivamente. El dispositivo de llenado con ruido 32 somete al espectro 34 a llenado con ruido y emite el “espectro llenado” 36. El dispositivo de llenado con ruido 32 ejecuta el llenado con ruido dependiendo de la tonalidad de la senal de audio, tal como la tonalidad 20 de la Fig. 2a. Dependiendo de las circunstancias, la tonalidad puede no estar directamente disponible. Por ejemplo, los codecs de audio existentes no dan lugar a una senalizacion expllcita de la tonalidad de la senal de audio en el flujo de datos, por lo que si el aparato 30 es instalado del lado de la decodificacion, no serla factible reconstruir la tonalidad sin un alto grado de estimacion falsa. Por ejemplo, el espectro 34 puede no ser una base optima para el calculo de la tonalidad debido a su poca densidad y/o debido a su cuantificacion variante adaptativa a la senal.
[0041] En consecuencia, es la tarea del determinador de tonalidades 34 suministrar al dispositivo de llenado con ruido 32 una estimacion de la tonalidad sobre la base de otro indicio de tonalidad 38 como se describe mas adelante de forma mas detallada. De acuerdo con las formas de realizacion que se describen mas adelante, el indicio de tonalidad 38 puede estar disponible de todas maneras en los lados de la codificacion y la decodificacion, por medio de un respectivo parametro de codificacion transmitido en el flujo de datos del codec de audio dentro del cual se utiliza, por ejemplo, el aparato 30. En la Fig. 1b, se emplea el aparato 30 del lado de la decodificacion, aunque por otro lado, se podrla utilizar asimismo el aparato 30 del lado de la codificacion, como en un bucle de realimentacion de prediccion del codificador de la Fig. 1a en caso de estar presente.
[0042] La Fig. 3 muestra un ejemplo correspondiente al espectro ralo 34, es decir un espectro cuantificado que consta de porciones contiguas 40 y 42 que consisten en sucesiones de valores espectrales espectralmente cercanos del espectro 34, que se cuantifican a cero. Por consiguiente, las porciones contiguas 40 y 42 estan separadas o distanciadas espectralmente entre si por al menos una llnea espectral no cuantificada a cero en el espectro 34.
[0043] La dependencia de la tonalidad del llenado con ruido descrito anteriormente en general con respecto a la Fig. 2b puede ser implementada de la siguiente manera. La Fig. 3 muestra una porcion temporal 44 que incluye una porcion espectral contigua de cero 40, exagerada en 46. El dispositivo de llenado con ruido 32 esta configurado para llenar esta porcion espectral contigua de cero 40 de manera dependiente de la tonalidad de la senal de audio en el momento a que el espectro 34 pertenece. En particular, el dispositivo de llenado con ruido 32 llena la porcion espectral contigua de cero con ruido modelado espectralmente utilizando una funcion que presume un maximo en el interior de la porcion espectral contigua de cero, y que presenta bordes que caen en el exterior, cuya pendiente absoluta depende negativamente de la tonalidad. La Fig. 3 muestra a modo de ejemplo dos funciones 48 correspondientes a dos tonalidades diferentes. Ambas funciones son “unimodales”, es decir que presumen un maximo absoluto en la parte interna de la porcion espectral contigua de cero 40 y tienen meramente un maximo local que puede ser una meseta o una unica frecuencia espectral. En este caso, el maximo local es asumido por las funciones 48 y 50 de forma continua
en todo un intervalo extendido 52, es decir una meseta, dispuesta en el centro de la porcion de cero 40. El dominio de las funciones 48 y 50 es la porcion de cero 40. El intervalo central 52 cubre solamente la porcion central de la porcion de cero 40 y esta flanqueado por una porcion de borde 54 en un extremo de frecuencia mas elevada del intervalo 52, y una porcion de borde de frecuencia mas baja 56 en un extremo de menor frecuencia del intervalo 52. Dentro de la porcion de borde 54, las funciones 48 y 52 tienen un borde de bajada 58, y dentro de la porcion de borde 56, un borde de subida 60. Se puede atribuir una pendiente absoluta a cada borde 58 y 60, respectivamente, tal como la pendiente media dentro de la porcion de borde 54 y 56, respectivamente. Es decir, la pendiente atribuida al borde de bajada 58 puede ser la pendiente media de la respectiva funcion 48 y 52, respectivamente, dentro de la porcion de borde 54 y la pendiente atribuida al borde de subida 60 puede ser la pendiente media de la funcion 48 y 52, respectivamente, dentro de la porcion de borde 56.
[0044] Como se puede apreciar, el valor absoluto de la pendiente de los bordes 58 y 60 es mas elevada en el caso de la funcion 50 que en el de la funcion 48. El dispositivo de llenado con ruido 32 opta por llenar la porcion de cero 40 con la funcion 50 para tonalidades mas bajas que las tonalidades para las cuales el dispositivo de llenado con ruido 32 elige usar la funcion 48 para llenar la porcion de cero 40. Por esta medida, el dispositivo de llenado con ruido 32 evita la aglomeracion en la periferia inmediata de los picos espectrales potencialmente tonales del espectro 34, como por ejemplo, el pico 62. Cuanto menor es la pendiente absoluta de los bordes 58 y 60, mas lejos esta el ruido introducido en la porcion de cero 40 de las porciones no cero del espectro 34 que rodean a la porcion de cero 40.
[0045] El dispositivo de llenado con ruido 32 puede optar, por ejemplo, por seleccionar la funcion 48 en un caso en que la tonalidad de la senal de audio es t 2, y la funcion 50 en caso de que la tonalidad de la senal de audio sea ti, aunque la description presentada mas adelante revelara que el dispositivo de llenado con ruido 32 puede discriminar entre mas de dos estados diferentes de la tonalidad de la senal de audio, es decir puede admitir mas de dos funciones diferentes 48, 50 para llenar una determinada porcion espectral contigua de cero y elegir entre ellas dependiendo de la tonalidad mediante un mapeo suryectivo de tonalidades a funciones.
[0046] Como nota menor, cabe senalar que la construction de las funciones 48 y 50 de acuerdo con las cuales estas tienen una meseta en el intervalo interno 52, flanqueado por los bordes 58 y 60 para dar origen a funciones unimodales, es meramente un ejemplo. Por otro lado, se pueden utilizar funciones acampadas, por ejemplo, de acuerdo con una alternativa. El intervalo 52 se puede definir, por otro lado, como intervalo en el cual la funcion es superior al 95% de su valor maximo.
[0047] La Fig. 4 ilustra una alternativa correspondiente a la variation de la funcion empleada para el modelado espectral del ruido con el cual el dispositivo de llenado con ruido 32 llena cierta porcion espectral contigua de cero 40 y, en la tonalidad. De acuerdo con la Fig. 4, la variacion se refiere al ancho espectral de las porciones de bordes 54 y 56 y los bordes de bajada externos 58 y 60, respectivamente. Como se ilustra en la Fig. 4, de acuerdo con el ejemplo de la Fig. 4, la pendiente de los bordes 58 y 60 pueden ser incluso independientes de la tonalidad, es decir no cambiar con esta. En particular, de acuerdo con el ejemplo de la Fig. 4, el dispositivo de llenado con ruido 32 establece la funcion empleando la cual se modela espectralmente el ruido para llenar la porcion de cero 40 de tal manera que el ancho espectral de los bordes de bajada hacia el exterior 58 y 60 dependa positivamente de la tonalidad, es decir que para tonalidades mas altas, se utiliza la funcion 48 por la cual el ancho espectral de los bordes de bajada hacia el exterior 58 y 60 es mayor, y en el caso de las tonalidades mas bajas, se utiliza la funcion 50 respecto de la cual el ancho espectral de los bordes de bajada hacia el exterior 58 y 60 es menor.
[0048] La Fig. 4 muestra otro ejemplo de variacion de una funcion empleada por el dispositivo de llenado con ruido 32 para el modelado espectral del ruido con el cual se llena la porcion espectral contigua de cero 40: en este caso, la caracterlstica de la funcion que varla con la tonalidad es la integral sobre los cuartos externos de la porcion de cero 40. Cuanto mas alta es la tonalidad, mayor es el intervalo. Antes de determinar el intervalo, se ecualiza/normaliza el intervalo total de la funcion sobre la porcion de cero completa 40, por ejemplo a 1.
[0049] Para explicar esto, vease la Fig. 5. La porcion espectral contigua de cero 40 aparece dividida en cuatro cuartos de igual tamano a, b, c, d, entre los cuales los cuartos a y d son cuartos externos. Como se puede apreciar, ambas funciones 50 y 48 tienen su centro de masa en la parte interna, en este caso, a tltulo de ejemplo, en el punto medio de la porcion de cero 40, aunque ambas se extienden desde los cuartos internos b, c hacia los cuartos externos a y d. La porcion traslapada de las funciones 48 y 50, que se traslapa sobre los cuartos externos a y d, respectivamente, aparece simplemente sombreada.
[0050] En la Fig. 5, ambas funciones tienen la misma integral sobre toda la porcion de cero 40, es decir sobre los cuatro cuartos a, b, c, d. La integral se normaliza, por ejemplo, a 1.
[0051] En esta situation, la integral de la funcion 50 sobre los cuartos a, d es mayor que la integral de la funcion 48 sobre los cuartos a, d y en consecuencia, el dispositivo de llenado con ruido 32 utiliza la funcion 50 para las tonalidades mas altas y la funcion 48 para las tonalidades mas bajas, es decir que la integral sobre los cuartos externos de las funciones normalizadas 50 y 48 depende negativamente de la tonalidad.
[0052] Con fines ilustrativos, en el caso de la Fig. 5 las dos funciones 48 y 50 han sido expuestas, a tltulo de ejemplo, como funciones constantes o binarias La funcion 50, por ejemplo, es una funcion que asume un valor constante en todo el dominio, es decir que la totalidad de la porcion de cero 40, y la funcion 48 es una funcion binaria que es cero en los bordes externos de la porcion de cero 40, y que asume un valor constante no cero entre las mismas. Debe resultar evidente que, en terminos generales, las funciones 50 y 48 de acuerdo con el ejemplo de la Fig. 5 puede ser cualquier funcion constante o unimodal tal como las que corresponden a las expuestas en las Figs. 3 y 4. Para ser mas precisos, al menos una puede ser unimodal y al menos una constante (por partes) y otras potenciales pueden ser unimodales o constantes.
[0053] Aunque el tipo de variacion de las funciones 48 y 50 dependiendo de la tonalidad varla, todos los ejemplos de las Figs. 3 a 5 tienen en comun que, para aumentar la tonalidad, se reduce el grado de dispersion en las proximidades inmediatas de picos tonales en el espectro 34 o se evita, por lo que la calidad del llenado con ruido se incrementa, puesto que el llenado con ruido no afecta negativamente las fases tonales de la senal de audio y de todas maneras da lugar a una aproximacion agradable de las fases no tonales de la senal de audio.
[0054] Hasta ahora la descripcion de las Figs. 3 a 5 se centro en el llenado de una porcion espectral contigua de cero. De acuerdo con una forma de realizacion de la Fig. 6, el aparato de la Fig. 2a-2b esta configurado para identificar porciones espectrales contiguas de ceros del espectro de la senal de audio y para aplicar el llenado con ruido a las porciones espectrales contiguas de ceros as! identificadas. En particular, la Fig. 6 ilustra el dispositivo de llenado con ruido 32 de la Fig.2a-2b en mas detalle mostrando que comprende un identificador de porciones de ceros 70 y un dispositivo de llenado de la porcion de cero 72. El identificador de porciones de ceros busca en el espectro 34 las porciones espectrales contiguas de ceros tales como 40 y 42 de la Fig. 3. Como ya se describiera anteriormente, las porciones espectrales contiguas de ceros se pueden definir como sucesiones de valores espectrales que han sido cuantificados a cero. El identificador de porciones de cero 70 puede estar configurado para confinar la identificacion a una porcion espectral de alta frecuencia del espectro de la senal de audio a partir, es decir situado mas arriba, de cierta frecuencia inicial. En consecuencia, el aparato puede estar configurado para confinar la ejecucion del llenado con ruido a esa porcion espectral de alta frecuencia. La frecuencia inicial por encima de la cual el identificador de porciones de cero 70 ejecuta la identificacion de porciones espectrales contiguas de cero, y por encima de la cual el aparato esta configurado para confinar la ejecucion del llenado con ruido, puede ser fija o puede variar. Por ejemplo, se puede emplear la senalizacion expllcita en el flujo de datos de una senal de audio en el cual se codifica la senal de audio a traves de su espectro para senalizar la frecuencia inicial que se va a utilizar.
[0055] El dispositivo de llenado de porciones de cero 72 esta configurado para llenar las porciones espectrales contiguas de ceros identificadas por el identificador 70 con ruido modelado espectralmente de acuerdo con una funcion antes descrita con respecto a la Fig. 3, 4 o 5. En consecuencia, el dispositivo de llenado de porciones de cero 72 llena las porciones espectrales contiguas de ceros identificadas por el identificador 70 con funciones establecidas dependiendo de un ancho de la respectiva porcion espectral contigua de cero, como por ejemplo del numero de valores espectrales que han sido cuantificados a cero de la sucesion de valores espectrales cuantificados a cero de la respectiva porcion espectral contigua de cero y de la tonalidad de la senal de audio.
[0056] En particular, el llenado individual de cada porcion espectral contigua de cero identificada por el identificador 70 puede ser ejecutado por el dispositivo de llenado 72 de la siguiente manera: la funcion se establece de conformidad con el ancho de la porcion espectral contigua de cero por lo que la funcion queda confinada a la respectiva porcion espectral contigua de cero, es decir que el dominio de la funcion coincide con el ancho de la porcion espectral contigua de cero. El establecimiento de la funcion depende asimismo de la tonalidad de la senal de audio, es decir de la manera antes resenada con respecto a las Figs. 3 a 5, por lo que, si la tonalidad de la senal de audio aumenta, la masa de la funcion se torna mas compacta en la parte interna de la respectiva porcion contigua de cero y alejada de los bordes de la respectiva porcion espectral contigua de cero. Usando esta funcion, se fija el estado preliminarmente llenado de la porcion espectral contigua de cero de acuerdo con la cual se fija cada valor espectral en un valor aleatorio, pseudo-aleatorio o parcheado/copiado, se modela espectralmente, es decir multiplicando la funcion por los valores espectrales preliminares.
[0057] Ya se ha resenado que la dependencia del llenado con ruido puede discriminar entre mas de solo dos tonalidades diferentes, como por ejemplo 3, 4 o incluso mas de 4. La Fig. 7, por ejemplo, ilustra el dominio de las tonalidades posibles, es decir el intervalo de posibles valores entre tonalidades, determinados por el determinador 34 en el numero de referencia 74. En 76, la Fig. 7 ilustra a tltulo de ejemplo la serie de funciones posibles empleadas para el modelado espectral del ruido con el cual se pueden llenar las porciones espectrales contiguas de cero. La serie 76 como se ilustra en la Fig. 7 es una serie de instanciaciones de funciones discretas que se distinguen mutuamente entre si por el ancho espectral o la longitud y/o la forma del dominio, es decir la compactacion y la distancia de los bordes externos. En 78, la Fig. 7 muestra ademas el dominio de los anchos posibles de la porcion de cero. Aunque el intervalo 78 es un intervalo de valores discretos que oscilan entre un ancho mlnimo y cierto ancho maximo, los valores de tonalidad emitidos por el determinador 34 para medir la tonalidad de la senal de audio pueden tener valores enteros o de algun otro tipo tales como valores de punto flotante. El mapeo del par de intervalos 74 y 78 con la serie de funciones posibles 76 se puede obtener mediante busqueda en tablas o utilizando una funcion matematica. Por ejemplo, en el caso de una determinada porcion espectral contigua de cero identificada por el identificador 70, el
dispositivo de llenado de porciones de cero 72 puede utilizar el ancho de la respectiva porcion espectral contigua de cero y la tonalidad actual determinada por el determinador 34 a fin de realizar una busqueda en una tabla una funcion de la serie 76 definida, por ejemplo, como secuencia de valores de funcion, donde la longitud de la secuencia coincide con el ancho de la porcion espectral contigua de cero. Por otro lado, el dispositivo de llenado de porciones de cero 72 busca parametros de funcion e introduce estos parametros de funcion en una funcion predeterminada a fin de derivar la funcion que se va a utilizar para el modelado espectral del ruido que se va a introducir en la respectiva porcion espectral contigua de cero. En otra alternativa, el dispositivo de llenado de porciones de cero 72 puede insertar directamente el ancho de la respectiva porcion espectral contigua de cero y la tonalidad actual en una formula matematica para llegar a los parametros de funcion a fin de erigir la respectiva funcion de acuerdo con los parametros de funcion computados matematicamente.
[0058] Hasta ahora, la descripcion de ciertas formas de realizacion de la presente solicitud se centro en la forma de la funcion utilizada para el modelado espectral del ruido con el cual se llenan ciertas porciones espectrales contiguas de cero. Sin embargo, es ventajoso controlar el nivel general de ruido agregado a un determinado espectro para ser llenado con ruido a fin de dar lugar a una reconstruction agradable, o incluso controlar espectralmente el nivel de introduccion de ruido.
[0059] La Fig. 8 muestra un espectro que se va a llenar con ruido, donde las porciones no cuantificadas a cero y, en consecuencia, no sometidas a llenado con ruido, estan indicadas con un cuadriculado, donde tres porciones espectrales contiguas de cero 90, 92 y 94 aparecen en un estado previo al llenado ilustrado por la porcion de cero en la cual se ha inscrito la funcion seleccionada para el modelado espectral del ruido introducido en estas porciones 90 94, usando una escala “de descuido” (don't-care).
[0060] De acuerdo con una forma de realizacion, toda la serie de funciones disponibles 48, 50 para el modelado espectral del ruido que se va a introducir en las porciones 90-94, tiene una escala predefinida conocida por el codificador y el decodificador. Se senaliza un factor de escala espectralmente global dentro del flujo de datos en el cual se codifica la senal de audio, es decir la parte no cuantificada del espectro. Este factor indica, por ejemplo, el RMS u otra medida correspondiente a un nivel de ruido, es decir valores de llneas espectrales aleatorios o pseudoaleatorios, con los cuales las porciones 90-94 son preestablecidas del lado de la decodificacion para modelarlas a continuation espectralmente utilizando las funciones dependientes de la tonalidad 48, 50 tal como estan. En cuanto a como se puede determinar el factor de escala de ruido total del lado del codificador, esto se describe mas adelante. Digamos, por ejemplo, que A es la serie de Indices i de llneas espectrales en que el espectro es cuantificado a cero y que pertenecen a cualquiera de las porciones 90-94, y digamos que N denota el factor de escala de ruido total. Los valores del espectro se indican como xi. Ademas, “aleatorio(N)” debe indicar una funcion que da un valor aleatorio de un nivel correspondiente al nivel “N” y restante(i) debe ser una funcion que indica, por cualquier valor espectral cuantificado a cero en el Indice i, el Indice del valor cuantificado a cero en el extremo de baja frecuencia de la porcion de cero a la cual i pertenece, y Fi (j) donde j=0 a Ji -1 debe indicar la funcion 48 o 50 que se asigna, dependiendo de la tonalidad, a la porcion de cero 90-94 a partir del Indice i, donde Ji indica el ancho de esa porcion de cero. A continuacion, las porciones 90-94 se llenan de acuerdo con Xi = Frestante(i)(i - restante(i))aleatoria(N).
[0061] Ademas, el llenado con ruido de las porciones 90-94, puede ser controlado de tal manera que el nivel de ruido se reduzca de bajas a altas frecuencias. Esto se puede hacer mediante el modelado espectral del ruido con el cual se preestablecen las funciones, o el modelado espectral de la disposition de las funciones 48, 50 de acuerdo con una funcion de transferencia de filtro de paso bajo. Esto puede compensar una inclination espectral causada al reescalar/descuantificar el espectro llenado debido, por ejemplo, a un pre-enfasis utilizado en la determination del curso espectral del tamano del paso de cuantificacion. En consecuencia, se puede controlar lo abrupto de la reduction o la funcion de transferencia de filtro de paso bajo de acuerdo con un grado de pre-enfasis aplicado. Aplicando la nomenclatura antes utilizada, las porciones 90-94 pueden ser llenadas de acuerdo con Xi = Frestante(i)(i -restante(i))aleatorio(N)LPF(i) donde LPF(i) denota la funcion de transferencia de filtro de baja frecuencia que puede ser lineal. Dependiendo de las circunstancias, la funcion LPF que corresponde a la funcion 15 puede tener una pendiente positiva y LPF se cambia para leer HPF de manera consiguiente.
[0062] En lugar de usar un escalado fijo de las funciones seleccionadas dependiendo de la tonalidad y el ancho de la porcion de cero, la correction de la inclinacion espectral que se acaba de resenar puede ser tenida en cuenta directamente utilizando la position espectral de la respectiva de la porcion contigua de cero tambien como Indice para la busqueda o de otro modo determinando 80 la funcion que se va a utilizar para el modelado espectral del ruido con el cual se debe llenar la respectiva porcion espectral contigua de cero. Por ejemplo, un valor medio de la funcion o su pre-escalado utilizado para el modelado espectral del ruido que se va a llenar en una cierta porcion de cero 90-94 puede depender de la posicion espectral de la porcion de cero 90-94 por lo que, en todo el ancho de banda del espectro, las funciones usadas para las porciones espectrales contiguas de cero 90-94 son pre-escaladas a fin de emular una funcion de transferencia de filtro de paso bajo para compensar cualquier funcion de transferencia de preenfasis de paso alto utilizada para derivar las porciones cuantificadas no cero del espectro.
[0063] Por ultimo, se senala que, mientras que la Fig. 8 se referla a tltulo de ejemplo a la forma de realizacion que utiliza llenado con ruido espectralmente modelado de porciones espectrales contiguas de cero, esta puede ser
modificada de modo alternative para referirse a formas de realizacion que no utilizan llenado con ruido con modelado espectral, sino llenando las porciones espectrales contiguas de cero de manera espectralmente plana, por ejemplo. Por consiguiente, las porciones 90-94 sedan llenadas entonces de acuerdo con xi = LPF(i)random(N).
[0064] Habiendo descrito las formas de realizacion para la ejecucion del llenado con ruido, a continuacion se presentan las formas de realizacion correspondientes a codecs de audio, a los que se puede incorporar ventajosamente el llenado con ruido antes resenado. Las Figs. 9 y 10, por ejemplo, muestran un par de codificador y decodificador, respectivamente, que juntos implementan un codec de audio perceptual basado en transformada del tipo que constituye la base de, por ejemplo, AAC (Codificacion Avanzada de Audio). El codificador 100 expuesto en la Fig. 9 somete a la senal de audio original 102 a una transformada en un transformador 104. La transformacion ejecutada por el transformador 104 es, por ejemplo, una transformada solapada que corresponde a una transformacion 14 de la Fig. 1: descompone espectralmente la senal de audio original entrante 102 sometiendo a ventanas de transformada consecutivas, mutuamente solapadas de la senal de audio original a una secuencia de espectros 18 que, en conjunto, componen el espectrograma 12. Como se ha indicado anteriormente, el parche de la ventana entre transformada que define la resolucion temporal del espectrograma 12 puede variar en tiempo, tal como puede variar la longitud temporal de las ventanas de transformada, lo que define la resolucion espectral de cada espectro 18. El codificador 100 comprende asimismo un modelador perceptual 106 que deriva de la senal de audio original, sobre la base de la version en el dominio del tiempo que entra al transformador 104 o de la version espectralmente descompuesta emitida por el transformador 104, un umbral de enmascaramiento perceptual que define una curva espectral por debajo de la cual se puede ocultar el ruido de la cuantificacion para que este no sea perceptible.
[0065] La representacion por lineas espectrales de la senal de audio, es decir el espectrograma 12, y el umbral de enmascaramiento entran al cuantificador 108 que es responsable de la cuantificacion de las muestras espectrales del espectrograma 12 utilizando un tamano de paso de cuantificacion que varia espectralmente que depende del umbral de enmascaramiento: cuanto mas grande es el umbral de enmascaramiento, menor es el tamano del paso de cuantificacion. En particular, el cuantificador 108 informa al lado de la decodificacion sobre la variacion del tamano del paso de cuantificacion en forma de los denominados factores de escala que, mediante la relacion recien presentada entre el tamano del paso de cuantificacion por un lado y el umbral de enmascaramiento perceptual por el otro, representan un tipo de representacion del umbral de enmascaramiento perceptual en si. Para encontrar un buen compromiso entre la cantidad de informacion complementaria que se va a emplear para la transmision de los factores de escala al lado de la decodificacion, y la granularidad de la adaptacion del ruido de la cuantificacion al umbral de enmascaramiento perceptual, el cuantificador 108 fija/vana los factores de escala en una resolucion espectro-temporal que es menor, o mas gruesa que, la resolucion espectro-temporal a la cual los niveles espectrales cuantificados describen la representacion por lineas espectrales del espectrograma de la senal de audio 12. Por ejemplo, el cuantificador 108 subdivide cada espectro en bandas de factores de escala 110 tales como bandas bark y transmite un factor de escala por cada banda de factores de escala 110. En lo que respecta a la resolucion temporal, esta tambien puede ser mas baja en lo concerniente a la transmision de los factores de escala, en comparacion con los niveles espectrales de los valores espectrales del espectrograma 12.
[0066] Tanto los niveles espectrales de los valores espectrales del espectrograma 12, asi como los factores de escala 112 se transmiten al lado de la decodificacion. Sin embargo, para mejorar la calidad del audio, el codificador 100 transmite tambien, dentro del flujo de datos, un nivel global de ruido que senaliza al lado de la decodificacion el nivel de ruido hasta el cual se tienen que llenar con ruido las porciones cuantificadas a cero de la representacion 12 antes del re-escalado o descuantificacion del espectro mediante la aplicacion de los factores de escala 112. Esto se muestra en la Fig. 10. La Fig. 10 muestra, utilizando un cuadriculado, el espectro aun no reescalado de la senal de audio, tal como 18 en la Fig. 9. Este tiene porciones espectrales contiguas de cero 40a, 40b, 40c y 40d. El nivel global de ruido 114 que tambien se puede transmitir en el flujo de datos correspondiente a cada espectro 18, indica al decodificador el nivel hasta el cual estas porciones de cero 40a a 40d deben ser llenadas con ruido antes de someter a este espectro llenado a un reescalado o recuantificacion empleando los factores de escala 112.
[0067] Como ya se ha indicado anteriormente, el llenado con ruido al que se refiere el nivel global de ruido 114, puede ser objeto de una restriccion por el hecho de que este tipo de llenado con ruido se refiere simplemente a las frecuencias superiores a cierta frecuencia inicial que se indica en la Fig. 10 unicamente con fines ilustrativos como fstart.
[0068] La Fig. 10 tambien ilustra otra caracteristica especifica que puede ser implementada en el codificador 100: ya que puede haber espectros 18 que comprenden bandas de factores de escala 110 donde todos los valores espectrales dentro de las respectivas bandas de factores de escala han sido cuantificados a cero, el factor de escala 112 asociado a esa banda de factores de escala es en realidad superfluo. En consecuencia, el cuantificador 100 usa este mismo factor de escala para llenar individualmente la banda de factores de escala con ruido ademas del ruido introducido en la banda de factores de escala utilizando el nivel global de ruido 114, o, en otros terminos, para escalar el ruido atribuido a la respectiva banda de factores de escala en respuesta al nivel global de ruido 114. Vease, por ejemplo, la Fig. 10. La Fig. 10 muestra una subdivision ejemplificativa del espectro 18 en bandas de factores de escala 110a a 110h. La banda de factores de escala 110e es una banda de factores de escala cuyos valores espectrales han sido cuantificados a cero en su totalidad. En consecuencia, el factor de escala asociado 112 es “libre” y se utiliza para
determinar 114 el nivel de ruido hasta el cual se llena por completo esta banda de factores de escala. Las otras bandas de factores de escala que comprenden valores espectrales cuantificados a niveles no cero, tienen factores de escala asociados a las mismas que se utilizan para reescalar los valores espectrales del espectro 18 que no han sido cuantificados a cero, incluyendo el ruido utilizado para llenar las porciones de cero 40a a 40d, escalado que se indica usando la flecha 116, de forma representativa.
[0069] El codificador 100 de la Fig. 9 ya puede tener en cuenta que dentro del lado de la decodificacion se va a ejecutar el llenado con ruido usando el nivel global de ruido 114 empleando las formas de realizacion de llenado con ruido antes descritas, por ejemplo usando una dependencia de la tonalidad y/o imponiendo una inclinacion espectralmente global al ruido y/o variando la frecuencia inicial de llenado con ruido y as! sucesivamente.
[0070] En lo que respecta a la dependencia de la tonalidad, el codificador 100 puede determinar el nivel global de ruido 114, e insertar el mismo en el flujo de datos, asociando a las porciones de cero 40a a 40d la funcion para el modelado espectral del ruido para llenar la porcion de cero respectiva. En particular, el codificador puede utilizar estas funciones para ponderar los valores espectrales de la senal de audio original, es decir ponderados pero aun no cuantificados en estas porciones 40a a 40d para determinar el nivel global de ruido 114. De esa manera, el nivel global de ruido 114 determinado y transmitido en el flujo de datos, lleva a un llenado con ruido del lado de la decodificacion que recupera de forma mas aproximada el espectro de la senal de audio original.
[0071] El codificador 100 puede decidir, dependiendo del contenido de la senal de audio, sobre el uso de algunas opciones de codificacion que, a su vez, se pueden utilizar como indicios de tonalidad tales como el indicio de tonalidad 38 expuesto en la Fig. 2b a fin de permitir que el lado de la decodificacion establezca correctamente la funcion para el modelado espectral del ruido utilizado para llenar las porciones 40a a 40d. Por ejemplo, el codificador 100 puede utilizar la prediccion temporal para predecir un espectro 18 a partir de un espectro anterior utilizando un denominado parametro de ganancia por prediccion a largo plazo. En otras palabras, la ganancia por prediccion a largo plazo puede fijar el grado en el cual se utiliza o no dicha prediccion temporal. En consecuencia, la ganancia por prediccion a largo plazo o ganancia LTP, es un parametro que se puede emplear como indicio de tonalidad ya que cuanto mas alta sea la ganancia de LTP, mas alta sera probablemente la tonalidad de la senal de audio. De este modo, el determinador de la tonalidad 34 de la Fig. 2, puede fijar por ejemplo, la tonalidad de acuerdo con una dependencia positiva monotona de la ganancia por LTP. En lugar, o ademas de una ganancia por LTP, el flujo de datos puede comprender una bandera de habilitacion de LTP para senalizar la activacion/desactivacion de la LTP, revelando as! tambien, por ejemplo, un indicio con valor binario referente a la tonalidad.
[0072] Adicionalmente o alternativamente, el codificador 100 puede soportar el modelado temporal de ruido. En otras palabras, segun el espectro 18, por ejemplo, el codificador 100 puede optar por someter al espectro 18 a modelado temporal de ruido indicando esta decision al decodificador mediante una bandera de habilitacion de modelado temporal de ruido. La bandera de habilitacion de TNS indica si los niveles espectrales del espectro 18 forman la prediccion residual de una prediccion lineal espectral, es decir a lo largo de la direction de frecuencia determinada, del espectro o si el espectro no ha sido sometido a prediccion LP. Si se senaliza que la TNS esta habilitada, el flujo de datos comprende ademas los coeficientes de prediccion lineal para la prediccion espectralmente lineal del espectro a fin de que el decodificador pueda recuperar el espectro usando estos coeficientes de prediccion lineal mediante la aplicacion de los mismos al espectro antes o despues del reescalado o la descuantificacion. La bandera de habilitacion de TNS tambien es un indicio de tonalidad: Si la bandera de habilitacion de TNS senaliza que se va a activar la TNS, por ejemplo en un transitorio, es muy improbable entonces que la senal de audio sea tonal, ya que el espectro parece ser muy predecible por prediccion lineal a lo largo del eje de frecuencia y, por tanto, no estacionario. En consecuencia, se puede determinar la tonalidad sobre la base de la bandera de habilitacion de TNS de tal manera que la tonalidad es mas alta si la bandera de habilitacion de TNS deshabilita la TNS, y es mas baja si la bandera de habilitacion de TNS senaliza la habilitacion de TNS. En lugar, o ademas de una bandera de habilitacion de TNS, existe la posibilidad de derivar de los coeficientes de filtro TNS una ganancia que indica un grado en el cual se puede emplear la TNS para predecir el espectro, revelando tambien de esa manera un indicio de un valor superior a dos concerniente a la tonalidad.
[0073] Otros parametros de codificacion tambien pueden ser codificados en el flujo de datos por el codificador 100. Por ejemplo, una bandera de habilitacion de reordenamiento espectral puede senalizar una option de codificacion de acuerdo con la cual se codifica el espectro 18 reordenando los niveles espectrales, es decir los valores espectrales cuantificados, espectralmente, transmitiendo ademas, dentro del flujo de datos, la receta de reordenamiento de manera que el decodificador pueda reordenar, o volver a transponer, los niveles espectrales a fin de recuperar el espectro 18. Si la bandera de habilitacion de reordenamiento del espectro esta habilitada, es decir si se aplica el reordenamiento del espectro, esto indica que es probable que la senal de audio sea tonal ya que el reordenamiento tiende a ser mas efectivo en velocidad/distorsion al comprimir el flujo de datos si hay muchos picos tonales en el espectro. En consecuencia, ademas o por otro lado, se puede utilizar la bandera de habilitacion de reordenamiento del espectro como indicio tonal y se puede fijar la tonalidad utilizada para el llenado con ruido de un tamano mayor que la bandera de habilitacion de reordenamiento del espectro que se esta habilitando y mas baja si la bandera de habilitacion de reordenamiento del espectro esta deshabilitada.
[0074] Para completar, y tambien con referenda a la Fig. 2b, cabe senalar que el numero de funciones diferentes para el modelado espectral de las porciones de cero 40a a 40d, es decir el numero de tonalidades diferentes discriminadas para fijar la funcion para el modelado espectral, puede ser, por ejemplo, mayor que cuatro, o incluso mayor que ocho, al menos en el caso de anchos de porciones espectrales contiguas de cero superiores a un ancho mlnimo predeterminado.
[0075] En lo que respecta al concepto de imponer una inclinacion espectralmente global al ruido y teniendo esto en cuenta al computar el parametro de nivel de ruido del lado de la codificacion, el codificador 100 puede determinar el nivel global de ruido 114, e insertarlo en el flujo de datos, mediante porciones de ponderacion de los valores espectrales de la senal de audio aun no cuantificados, aunque cuantificados con la inversa de la funcion de ponderacion perceptual, espectralmente ubicados conjuntamente en las porciones de cero 40a a 40d, donde una funcion se extiende espectralmente al menos a traves de toda la porcion de llenado con ruido del ancho de banda del espectro y que presenta una pendiente de signo opuesto a la funcion 15 usada del lado de la decodificacion para el llenado con ruido, por ejemplo y midiendo el nivel sobre la base de los valores no cuantificados as! ponderados.
[0076] La Fig. 11 muestra un decodificador que se ajusta al codificador de la Fig. 9. El decodificador de la Fig. 11 esta indicado en general empleando el signo de referencia 130 y comprende un dispositivo de llenado con ruido 30 que corresponde a las formas de realization anteriormente descritas, un descuantificador 132 y un transformador inverso 134. El dispositivo de llenado con ruido 30 recibe la secuencia de espectros 18 dentro del espectrograma 12, es decir la representation por llneas espectrales que incluye los valores espectrales cuantificados, y, opcionalmente, indicios de tonalidad del flujo de datos tal como uno o varios de los parametros de codificacion anteriormente descritos. El dispositivo de llenado con ruido 30 llena a continuation las porciones espectrales contiguas de cero 40a a 40d con ruido de acuerdo con lo descrito anteriormente, utilizando por ejemplo la dependencia de la tonalidad anteriormente descrita y/o imponiendo una inclinacion espectralmente global al ruido y utilizando el nivel global de ruido 114 para escalar el nivel de ruido de acuerdo con lo descrito anteriormente. Llenados de esa manera, estos espectros llegan al descuantificador 132, que a su vez descuantifica o re-escala el espectro llenado con ruido usando los factores de escala 112. El transformador inverso 134, a su vez, somete al espectro descuantificado a una transformation inversa a fin de recuperar la senal de audio. Como se ha descrito anteriormente, la transformacion inversa 134 tambien puede comprender un proceso de solapamiento y suma para obtener la cancelation del solapamiento en el dominio del tiempo en caso de que la transformacion usada por el transformador 104 sea una transformada solapada con muestreo crltico tal como MDCT, en cuyo caso la transformacion inversa aplicada por el transformador inverso 134 serla una IMDCT (MDCT inversa).
[0077] Como ya se ha descrito con respecto a las Figs. 9 y 10, el descuantificador 132 aplica los factores de escala al espectro prellenado. En otras palabras, los valores espectrales contenidos en las bandas de factores de escala no cuantificados a cero son escalados empleando el factor de escala independientemente de los valores espectrales que representan un valor espectral no cero o un ruido que ha sido objeto de modelado espectral por el dispositivo de llenado con ruido 30 como se ha descrito anteriormente. Las bandas espectrales completamente cuantificadas a cero tienen factores de escala asociados a las mismas que son completamente libres para controlar el llenado con ruido y el dispositivo de llenado con ruido 30 puede emplear este factor de escala para escalar individualmente el ruido con el cual se ha llenado la banda de factores de escala por medio del llenado con ruido con el dispositivo de llenado con ruido 30 de las porciones espectrales contiguas de cero, o bien el dispositivo de llenado con ruido 30 puede utilizar el factor de escala para llenar adicionalmente, es decir sumar, ruido adicional en lo concerniente a las bandas espectrales cuantificadas a cero.
[0078] Cabe senalar que el ruido que el dispositivo de llenado con ruido 30 modela espectralmente de forma dependiente de la tonalidad anteriormente descrita y/o somete a una inclinacion espectralmente global de la manera anteriormente descrita, puede originarse en una fuente de ruido pseudoaleatoria, o puede originarse en un dispositivo de llenado con ruido 30 sobre la base del parcheo o copia espectral de otras areas del mismo espectro o espectros relacionados tales como el espectro alineado en tiempo de otro canal, o un espectro temporalmente precedente. Puede ser factible incluso el parcheo del mismo espectro, como por ejemplo copiando de areas de frecuencia mas baja del espectro 18 (copiado espectral). Independientemente de la manera en que el dispositivo de llenado con ruido 30 deriva el ruido, el dispositivo de llenado modela espectralmente el ruido para insertarlo en la porciones espectrales contiguas de cero 40a a 40d en la forma dependiente de la tonalidad anteriormente descrita y/o somete al mismo a inclinacion espectralmente global de la manera anteriormente descrita.
[0079] Solo para completar mas, se ilustra en la Fig. 12 que se pueden variar las formas de realizacion del codificador 100 y el decodificador 130 de las Figs. 9 y 11 de manera que la yuxtaposicion entre los factores de escala por un lado y el nivel de ruido especlfico de los factores de escala se implementen de manera diferente. De acuerdo con el ejemplo de la Fig. 12, el codificador transmite en el flujo de datos information sobre una envolvente de ruido, espectro-temporalmente muestreado en una resolution mas gruesa que la misma resolution espectro-temporal que los factores de escala 112, ademas de los factores de escala 112. Esta informacion de envolvente de ruido se indica empleando el signo de referencia 140 en la Fig. 12. Por esta medida, en el caso de las bandas de factores de escala no completamente cuantificados a cero existen dos valores: un factor de escala para reescalar o descuantificar los valores espectrales no cero dentro de esa banda de factores de escala respectiva, as! como un nivel de ruido 140
correspondiente a la banda de factores de escala individual que escala el nivel de ruido de los valores espectrales cuantificados a cero dentro de esa banda de factores de escala. Este concepto se denomina en ocasiones IGF (Llenado inteligente de huecos).
[0080] Aun en este caso, el dispositivo de llenado con ruido 30 puede aplicar el llenado dependiente de la tonalidad de las porciones espectrales contiguas de cero 40a a 40d a tltulo de ejemplo, como se muestra en la Fig. 12.
[0081] De acuerdo con los ejemplos de codec de audio anteriormente resenados con respecto a las Figs. 9 a 12, se ha ejecutado el modelado espectral del ruido de la cuantificacion mediante la transmision de una informacion referente al umbral de enmascaramiento perceptual usando una representation espectro-temporal en forma de factores de escala. Las Figs. 13 y 14 muestran un par de codificador y decodificador en el cual se pueden utilizar asimismo las formas de realization de llenado con ruido descritas en relation con las Figs. 1 a 8, pero donde el ruido de la cuantificacion es modelado espectralmente de acuerdo con una description LP (Prediction Lineal) del espectro de la senal de audio. En ambas formas de realizacion, el espectro que se va a llenar con ruido esta en el dominio ponderado, es decir que es cuantificado utilizando un tamano de paso espectralmente constante en el dominio ponderado o el domino perceptualmente ponderado.
[0082] La Fig. 13 muestra un codificador 150 que comprende un transformador 152, un cuantificador 154, un pre-enfatizador 156, un analizador LPC 158, y un conversor de LPC a llneas espectrales 160. El pre-enfatizador 156 es opcional. El pre-enfatizador 156 somete a la senal de audio entrante 12 a pre-enfasis, es decir un filtrado de paso alto con una funcion plana de transferencia de filtro de paso alto utilizando, por ejemplo, un filtro FIR o IIR. Se puede utilizar, un filtro de paso alto de primer orden, por ejemplo, para el pre-enfatizador 156 como por ejemplo H(z) = 1 -az-1 donde a determina, por ejemplo, la cantidad o potencia de pre-enfasis en llnea con la cual, de acuerdo con una de las formas de realizacion, se varla la inclination espectralmente global a la cual se somete al ruido para introducir en el espectro. Una configuration posible de a podrla ser 0,68. El pre-enfasis causado por el pre-enfatizador 156 es para desplazar la energla de los valores espectrales cuantificados transmitidos por el codificador 150, de las altas a bajas frecuencias, teniendo en cuenta de esa manera las leyes psicoacusticas de acuerdo con las cuales la perception humana es mayor en la region de baja frecuencia que en la region de alta frecuencia. Sea o no pre-enfatizada la senal de audio, el analizador LPC 158 ejecuta un analisis de LPC de la senal de audio entrante 12 a fin de predecir linealmente la senal de audio o, para ser mas precisos, estima su envolvente espectral. El analizador LPC 158 determina en unidades de tiempo, por ejemplo, de subtramas que consisten en un numero de muestras de audio de la senal de audio 12, coeficientes de prediccion lineal y transmite los mismos como se ilustra en 162 al lado de la decodificacion dentro del flujo de datos. El analizador lPc 158 determina, por ejemplo, los coeficientes de prediccion lineal usando autocorrelation en ventanas de analisis y usando, por ejemplo, un algoritmo de Levinson-Durbin. Los coeficientes de prediccion lineal se pueden transmitir en el flujo de datos en una version cuantificada y/o transformada tal como en forma de pares de llneas espectrales o similar. En todo caso, el analizador LPC 158 envla al conversor de LPC a llneas espectrales 160 los coeficientes de prediccion lineal tambien disponibles del lado de la decodificacion a traves del flujo de datos, y el conversor 160 convierte los coeficientes de prediccion lineal en una curva espectral utilizada por el cuantificador 154 para variar/establecer el tamano del paso de cuantificacion. En particular, el transformador 152 somete a la senal de audio entrante 12 a una transformation, por ejemplo de manera igual a la que utiliza el transformador 104. Asl, el transformador 152 emite una secuencia de espectros y el cuantificador 154 puede dividir, por ejemplo, cada espectro por la curva espectral obtenida del conversor 160 donde luego se utiliza un tamano del paso de cuantificacion espectralmente constante para todo el espectro. El espectrograma de una secuencia de espectros emitida por el cuantificador 154 esta indicado en 164 en la Fig. 13 y comprende ademas algunas porciones espectrales contiguas de cero que se pueden llenar del lado de la decodificacion. El codificador 150 puede transmitir un parametro de nivel global de ruido en el flujo de datos.
[0083] La Fig. 14 muestra un decodificador que se adapta al codificador de la Fig. 13. El decodificador de la Fig. 14 esta indicado en general empleando el signo de referencia 170 y comprende un dispositivo de llenado con ruido 30, un conversor de LPC a llneas espectrales 172, un descuantificador 174 y un transformador inverso 176. El dispositivo de llenado con ruido 30 recibe los espectros cuantificados 164, ejecuta el llenado con ruido en las porciones espectrales contiguas de ceros como se ha descrito anteriormente, y envla el espectrograma llenado de esa manera al descuantificador 174. El descuantificador 174 recibe del conversor de LPC a llneas espectrales 172 una curva espectral que va a ser utilizada por el descuantificador 174 para remodelar el espectro llenado o, en otras palabras, para descuantificarlo. Este proceso en ocasiones se denomina FDNS (Modelado de Ruido en el Dominio de la Frecuencia). El conversor de LPC a llneas espectrales 172 deriva la curva espectral sobre la base de la informacion de LPC 162 en el flujo de datos. El espectro descuantificado, o espectro remodelado emitido por el descuantificador 174 es sometido a una transformacion inversa por el transformador inverso 176 para recuperar la senal de audio. Una vez mas, la secuencia de los espectros remodelados puede ser sometida por el transformador inverso 176 a una transformacion inversa seguida por un proceso de solapamiento y suma a fin de ejecutar la cancelation del solapamiento en el dominio del tiempo entre retransformadas consecutivas en caso de que una transformacion del transformador 152 sea una transformada solapada con muestreo crltico tal como MDCT.
[0084] Por medio de las ilneas de guiones de las Figs. 13 y 14 se indica que el pre-enfasis aplicado por el preenfatizador 156 puede variar en tiempo, donde la variacion es senalizada en el flujo de datos. En ese caso, el dispositivo de llenado con ruido 30 puede tener en cuenta el pre-enfasis al ejecutar el llenado con ruido como se ha descrito anteriormente con respecto a la Fig. 8. En particular, el pre-enfasis causa una inclinacion espectral en el espectro cuantificado emitido por el cuantificador 154 por el hecho de que los valores espectrales cuantificados, es decir los niveles espectrales, tienden a decrecer desde las frecuencias mas bajas a las frecuencias mas altas, es decir que exhiben una inclinacion espectral. Esta inclinacion espectral puede ser compensada, o mejor emulada o adaptada, por el dispositivo de llenado con ruido 30 de la manera anteriormente descrita. Si se senaliza en el flujo de datos, se puede utilizar el grado de pre-enfasis para ejecutar la inclinacion adaptativa del ruido insertado de manera dependiente del grado de pre-enfasis. En otras palabras, el grado de pre-enfasis senalizado en el flujo de datos puede ser utilizado por el decodificador para fijar el grado de inclinacion espectral impuesto al ruido introducido en el espectro por el dispositivo de llenado con ruido 30.
[0085] Hasta ahora se han descrito varias formas de realizacion, y en adelante se presentan ejemplos especlficos de implementacion. Los detalles expuestos con respecto a estos ejemplos deben ser considerados individualmente transferibles a las formas de realizacion antes expuestas para especificar las mismas aun mas. Sin embargo, antes de eso se debe senalar que todas las formas de realizacion anteriormente descritas se pueden utilizar asimismo en la codificacion de audio, as! como de voz. En general se refieren a la codificacion por transformadas y utilizan un concepto de adaptacion a la senal para reemplazar los ceros introducidos en el proceso de cuantificacion con ruido espectralmente modelado utilizando una cantidad muy pequena de informacion complementaria. En las formas de realizacion anteriormente descritas, se aprovecho la observacion de que en ocasiones tambien aparecen agujeros espectrales inmediatamente por debajo de la frecuencia inicial de ruido en caso de utilizarse esa frecuencia inicial, y que esos agujeros espectrales a veces son perceptualmente molestos. Las formas de realizacion expuestas que utilizan una senalizacion expllcita de la frecuencia inicial permiten la eliminacion de los agujeros que causan degradacion, aunque permiten evitar insertar ruido a bajas frecuencias donde la insercion de ruido pudiera introducir distorsiones.
[0086] Ademas, algunas de las formas de realizacion antes senaladas utilizan un llenado con ruido controlado con pre-enfasis para compensar la inclinacion espectral causada por el pre-enfasis. Estas formas de realizacion tienen en cuenta la observacion de que si se calcula el filtro LPC en una senal de pre-enfasis, meramente aplicando una magnitud global o promedio o una energla promedio del ruido que se va a insertar causarla que el modelado del ruido introduzca una inclinacion espectral en el ruido insertado, ya que la FDNS del lado de la decodificacion someterla al ruido insertado espectralmente plano a modelado espectral que de todas maneras muestra la inclinacion espectral del pre-enfasis. En consecuencia, estas ultimas formas de realizacion ejecutaron un llenado con ruido de tal manera que se tenga en cuenta y se compense el pre-enfasis.
[0087] Por consiguiente, en otras palabras, cada una de las Figs. 11 y 14 mostraba un decodificador de audio por transformada perceptual. Este comprende un dispositivo de llenado con ruido 30 configurado para ejecutar el llenado con ruido en un espectro 18 de una senal de audio. La ejecucion se puede realizar dependiendo de la tonalidad como se ha descrito anteriormente. La ejecucion se puede realizar llenando el espectro con ruido que exhibe una inclinacion espectralmente global a fin de obtener un espectro llenado con ruido, como se ha descrito anteriormente. “Inclinacion espectralmente global” debe significar, por ejemplo, que la inclinacion se manifiesta, por ejemplo, en una envolvente que envuelve el ruido a traves de todas las porciones 40 que se van a llenar con ruido, que esta inclinado, es decir que tiene una pendiente que no es cero. “Envolvente” se define, por ejemplo, como curva de regresion espectral tal como una funcion lineal u otro polinomio de orden dos o tres, por ejemplo, llevando a traves de la maxima local del ruido introducido en las porciones 40 todas las cuales son autocontinuas, aunque espectralmente distanciadas. “Decrece de frecuencias bajas a altas” significa que esta inclinacion tiene pendiente negativa y “aumenta de bajas a altas frecuencias” significa que esta inclinacion tiene pendiente positiva. Ambos aspectos de la ejecucion se pueden aplicar simultaneamente o solo uno de ellos.
[0088] Asimismo, el decodificador de audio por transformada perceptual comprende un modelador de ruido en el dominio de la frecuencia 6 en forma de descuantificador 132, 174, configurado para someter al espectro llenado con ruido a modelado espectral utilizando una funcion de ponderacion espectral perceptual. En el caso de la Fig. 11, el modelador de ruido en el dominio de la frecuencia 132 esta configurado para determinar la funcion de ponderacion espectral perceptual a partir de la informacion de coeficientes de prediccion lineal 162 senalizada en el flujo de datos en el cual se codifica el espectro. En el caso de la Fig. 14, el modelador de ruido en el dominio de la frecuencia 174 esta configurado para determinar la funcion de ponderacion espectral perceptual a partir de factores de escala 112 relacionados con las bandas de factores de escala 110, senalizados en el flujo de datos. Como se describiera en relacion con la Fig. 8 y se ilustrara con respecto a la Fig. 11, el dispositivo de llenado con ruido 34 puede estar configurado para variar la pendiente de la inclinacion espectralmente global en respuesta a una senalizacion expllcita en el flujo de datos, o para deducirla de una porcion del flujo de datos que senaliza la funcion de ponderacion espectral perceptual como por ejemplo evaluando la envolvente espectral de LpC o los factores de escala, o para deducirla del espectro cuantificado y transmitido 18.
[0089] Ademas, el decodificador de audio por transformada perceptual comprende un transformador inverso 134, 176 configurado para transformar inversamente el espectro llenado con ruido, espectralmente modelado por el modelador de ruido en el dominio de la frecuencia, para obtener una transformada inversa y someter a la transformada inversa a un proceso de solapamiento y suma.
[0090] De manera correspondiente, tanto la Fig. 13 como la 9 mostraron ejemplos de un codificador de audio por transformada perceptual configurado para ejecutar la ponderacion de un espectro 1 y su cuantificacion 2, ambas implementadas en los modulos del cuantificador 108, 154 expuestos en la Fig. 9 y 13. La ponderacion del espectro 1 pondera espectralmente el espectro original de una senal de audio de acuerdo con la inversa de una funcion de ponderacion espectral perceptual a fin de obtener un espectro perceptualmente ponderado y la cuantificacion 2 cuantifica el espectro perceptualmente ponderado de forma espectralmente uniforme a fin de obtener un espectro cuantificado. El codificador de audio por transformada perceptual ejecuta ademas un computo del nivel de ruido 3 dentro de los modulos de cuantificacion 108, 154, por ejemplo, computando un parametro de nivel de ruido midiendo un nivel del espectro perceptualmente ponderado ubicado conjuntamente en las porciones de cero del espectro cuantificado de manera ponderada con una inclinacion espectral global que aumenta de bajas a altas frecuencias. De acuerdo con la Fig. 13, el codificador de audio por transformada perceptual comprende un analizador LPC 158 configurado para determinar informacion de coeficientes de prediction lineal 162 que representa una envolvente espectral LPC del espectro original de la senal de audio, donde el ponderador espectral 154 esta configurado para determinar la funcion de ponderacion espectral perceptual a fin de seguir la envolvente espectral de LPC. Como se ha descrito, el analizador de LPC 158 puede estar configurado para determinar la informacion de coeficientes de prediccion lineal 162 mediante la ejecucion del analisis de LP en una version de la senal de audio, sometida al filtro de pre-enfasis 156. Como se ha descrito anteriormente con respecto a la Fig. 13, el filtro de pre-enfasis 156 puede estar configurado para filtrar por paso alto la senal de audio con una cantidad variable de pre-enfasis para obtener la version de la senal de audio sometida a un filtro de pre-enfasis, donde el computo del nivel de ruido puede estar configurado para fijar una cantidad de inclinacion espectralmente global dependiendo de la cantidad de pre-enfasis. Se puede utilizar la serialization expllcita de la cantidad de inclinacion espectralmente global o la cantidad de preenfasis en el flujo de datos. En el caso de la Fig. 9, el codificador de audio por transformada perceptual comprende una determination de factores de escala, controlada mediante un modelo perceptual 106, que determina los factores de escala 112 relacionados con bandas de factores de escala 110 a fin de seguir un umbral de enmascaramiento. Esta determinacion es implementada en el modulo de cuantificacion 108, por ejemplo, que tambien actua como ponderador espectral configurado para determinar la funcion de ponderacion espectral perceptual para seguir los factores de escala.
[0091] Todas las formas de realization anteriormente descritas tienen en comun que se evitan los agujeros espectrales y tambien se evita el ocultamiento de las llneas tonales cuantificadas no cero. De la manera anteriormente descrita, se puede preservar la energla en las partes ruidosas de una senal y se evita la adicion de ruido que enmascara los componentes tonales de la manera anteriormente descrita.
[0092] En las implementaciones especlficas que se describen a continuation, la parte de la informacion complementaria para la ejecucion del llenado con ruido dependiente de la tonalidad no agrega nada a la informacion complementaria existente del codec en que se utiliza el llenado con ruido. Tambien se puede utilizar toda la informacion del flujo de datos que se utiliza para la reconstruction del espectro, independientemente del llenado con ruido, para el modelado del llenado con ruido.
[0093] De acuerdo con un ejemplo de implementation, el llenado con ruido en el dispositivo de llenado con ruido 30 se realiza de la siguiente manera. Todas las llneas espectrales por encima de un Indice de inicio de llenado con ruido que se cuantifican a cero son reemplazadas por un valor no cero. Esto se hace, por ejemplo, de manera aleatoria o pseudoaleatoria con una funcion de densidad de probabilidades espectralmente constante o utilizando parcheo de otras ubicaciones (fuentes) espectrales del espectrograma. Vease, por ejemplo, la Fig. 15. La Fig. 15 muestra dos ejemplos correspondientes a un espectro al que se va a someter a llenado con ruido tal como el espectro 34 o los espectros 18 del espectrograma 12 emitido por el cuantificador 108 o los espectros 164 emitidos por el cuantificador 154. El Indice de partida de llenado con ruido es un Indice de llneas espectrales iFreq0 y iFreq1 (0 < iFreq0 <= iFreq1), donde iFreq0 y iFreq1 son Indices de llneas espectrales predeterminados dependientes de la tasa de bits y el ancho de banda. El Indice de partida de llenado con ruido es igual al Indice iStart (iFreq0 <= iStart <= iFreq1) de una llnea espectral cuantificada a un valor no cero, donde todas las llneas espectrales con los Indices j (iStart < j <= Freq1) se cuantifican a cero. Tambien se podrlan transmitir diferentes valores para iStart, iFreq0 o iFreq1 en el flujo de bits para permitir la insertion de ruido de muy baja frecuencia en ciertas senales (por ejemplo, ruido ambiental).
[0094] El ruido insertado se modela en los siguientes pasos:
1. En el dominio residual o el dominio ponderado. El modelado en el dominio residual o en el dominio ponderado ha sido extensamente descrito con respecto a las Figs. 1-14.
2. El modelado espectral utilizando un LPC o el FDNS (modelado en el domino de transformada utilizando la respuesta a la magnitud de LPC) ha sido descrito con respecto a las Figs. 13 y 14. El espectro tambien puede ser modelado
empleando factores de escala (como en AAC) o utilizando cualquier otro metodo de modelado espectral para modelar el espectro completo, como se describe con respecto a las Figs. 9-12.
3. El modelado opcional empleando TNS (Modelado temporal de ruido) usando un menor numero de bits, ha sido descrito brevemente con respecto a las Figs. 9-12
[0095] La unica informacion complementaria adicional necesaria para el llenado con ruido es el nivel, que se transmite utilizando 3 bits, por ejemplo.
[0096] Cuando se utiliza FDNS no hay necesidad de adaptarlo a un llenado con ruido especlfico y modela el ruido en la totalidad del espectro utilizando un menor numero de bits que los factores de escala.
[0097] Se puede introducir una inclinacion espectral en el ruido insertado para contrarrestar la inclinacion espectral producida por el pre-enfasis en el modelado perceptual basado en LPC. Dado que el pre-enfasis representa un filtro suave de paso alto aplicado a la senal de entrada, la compensation de la inclinacion puede contrarrestar esto multiplicando el equivalente de la funcion de transferencia de un filtro de paso bajo sutil en el espectro del ruido insertado. La inclinacion espectral de esta operation de paso bajo depende del factor de pre-enfasis y, preferentemente, de la tasa de bits y el ancho de banda. Esto fue mencionado con referencia a la Fig. 8.
[0098] Por cada agujero espectral, constituido por 1 o mas llneas espectrales consecutivas cuantificadas a cero, se puede modelar el ruido insertado como se ilustra en la Fig. 16. El nivel de llenado con ruido se puede encontrar en el codificador y transmitir en el flujo de bits. No hay llenado con ruido en las llneas espectrales cuantificadas no cero y aumenta en la zona de transition hasta el llenado con ruido completo. En la zona de llenado con ruido completo el nivel de llenado con ruido es igual al nivel transmitido en el flujo de bits, por ejemplo. Esto evita insertar un alto nivel de ruido en la proximidad inmediata de las llneas espectrales cuantificadas no cero que podrlan potencialmente enmascarar o distorsionar los componentes tonales. Sin embargo, todas las llneas cuantificadas a cero son reemplazadas por ruido, sin dejar ningun agujero espectral.
[0099] El ancho de la transicion depende de la tonalidad de la senal de entrada. La tonalidad se obtiene por cada trama de tiempo. En las Figs. 17a-d se representa a modo de ejemplo el modelado de ruido para diferentes tamanos de agujeros y anchos de transicion.
[0100] La medida de tonalidad del espectro se puede basar en la informacion disponible en el flujo de bits: • Ganancia de LTP
• Bandera de habilitacion de reordenamiento del espectro (vease [6])
• Bandera de habilitacion de TNS
[0101] El ancho de la transicion es proporcional a la tonalidad - pequena para las senales de tipo ruido, grande en el caso de las senales muy tonales.
[0102] En una forma de realization, el ancho de la transicion es proporcional a la ganancia de LTP si la ganancia de LTP > 0. Si la ganancia de LTP es igual a 0 y el reordenamiento del espectro esta habilitado, en ese caso se utiliza el ancho de la transicion correspondiente a la ganancia promedio de LTP. Si el TNS esta habilitado, en ese caso no hay area de transicion, sino que se debe aplicar el llenado con ruido completo a todas las llneas espectrales cuantificadas a cero. Si la ganancia de LTP es igual a 0 y el TNS y el reordenamiento del espectro estan deshabilitados, se utiliza un ancho de transicion mlnimo.
[0103] Si no hay informacion de tonalidad en el flujo de bits se puede calcular una medida de la tonalidad en la senal decodificada sin el llenado con ruido. Si no hay informacion de TNS, se puede calcular una medida temporal del nivel plano de la senal decodificada. No obstante, si hay informacion de TNS disponible, dicha medida del nivel plano se puede derivar directamente de los coeficientes de filtro de TNS, por ejemplo computando la ganancia de prediction del filtro.
[0104] En el codificador, se puede calcular el nivel de llenado con ruido preferentemente teniendo en cuenta el ancho de la transicion. Hay varias maneras posibles de determinar el nivel de llenado con ruido a partir del espectro cuantificado. La mas sencilla es sumar la energla (cuadrado) de todas llneas del espectro normalizado de entrada en la region de llenado con ruido (es decir por encima de iStart) que fuera cuantificada a cero, a continuation dividir esta suma por el numero de esas llneas para obtener la energla promedio por llnea y por ultimo calcular un nivel de ruido cuantificado de la ralz cuadrada de la energla de llnea promedio. De esta manera se deriva con eficacia el nivel de ruido del RMS de los espectros componentes cuantificados a cero. Digamos que, por ejemplo, A es la serie de Indices i de llneas espectrales en que el espectro ha sido cuantificado a cero y que pertenece a cualquiera de las porciones de cero, por ejemplo, esta por encima de la frecuencia inicial y digamos que N indica el factor de escala de ruido total. Los valores del espectro que aun no han sido cuantificados se indican con yi. Ademas, restante(i) debe ser una funcion que indica, por cada valor espectral cuantificado a cero en el Indice i, el Indice del valor cuantificado a cero en el extremo de baja frecuencia de la portion de cero a la cual i pertenece, y Fi (j) donde j= 0 a Ji -1 debe indicar la funcion
asignada, dependiendo de la tonalidad, a la porcion de cero que se inicia en el Indice i, donde Ji indica el ancho de esa porcion de cero. A continuacion, se puede determinar N segun N = sqrt( S ieAyi2 /cardinality(A) ).
[0105] En la forma de realization preferida, se consideran los tamanos de los agujeros individuales as! como el ancho de la transition. Para este fin, se agrupan sucesiones de llneas consecutivas cuantificadas a cero en las regiones de agujeros. A continuacion se escala cada llnea espectral de entrada normalizada en una region de agujero, es decir cada valor espectral de la senal original en una position espectral dentro de cualquier porcion espectral contigua de cero, mediante la funcion de transicion, como se ha descrito en la section anterior y seguidamente se calcula la suma de las energlas de las llneas escaladas. Como en la forma de realizacion sencilla anterior, seguidamente se puede calcular el nivel de llenado con ruido del RMS de las llneas cuantificadas a cero. Aplicando la nomenclatura antes expuesta, N se puede computar segun N = sqrt(SieA(Flef t(i)(i - left(i)) • yi)2 /cardinality (A) ).
[0106] Un problema con esta estrategia es, sin embargo, que se subestima la energla espectral en las regiones de agujero pequenas (es decir las regiones con un ancho muy inferior al doble del ancho de la transicion), puesto que en el calculo de RMS, el numero de llneas espectrales de la suma por el cual se divide la suma de energla permanece inalterado. En otras palabras, cuando el espectro cuantificado exhibe principalmente regiones de agujero muy pequenas, el nivel de llenado con ruido obtenido es mas bajo cuando el espectro es ralo y solo tiene unas pocas regiones largas de agujero. Para garantizar que, en ambos casos, se encuentre un nivel similar de ruido, es ventajoso, por lo tanto, adaptar el recuento de llneas empleado en el denominador del computo de RMS al ancho de la transicion. Es muy importante que, si el tamano de una region de agujero es mejor que el doble del ancho de la transicion, el numero de llneas espectrales en esa region de agujero no se cuente como esta, es decir como numero entero de llneas, sino como numero de llnea fraccionario que es menor que el numero entero de llneas. En la anterior formula concerniente a N, por ejemplo, se reemplazarla “cardinality(A)” por un numero menor dependiendo del numero de porciones “pequenas” de cero.
[0107] Ademas, la compensation de la inclination espectral en el llenado con ruido debido a la codification perceptual basada en LPC tambien debe ser tenida en cuenta durante el calculo del nivel de ruido. Mas especlficamente, se aplica preferentemente la inversa de la compensacion de inclinacion del llenado con ruido del lado del decodificador a las llneas espectrales originales no cuantificadas que fueran cuantificadas a cero antes del computo del nivel de ruido. En el contexto de la codificacion basada en LPC que emplea pre-enfasis, esto implica que las llneas de mas alta frecuencia se amplifican ligeramente con respecto a las llneas de frecuencia mas baja antes de la estimation del nivel de ruido. Aplicando la nomenclatura antes citada, N se puede computar segun N = sqrt(LieA(Flef t(i)(i - left(i)) • LPF(i)~ 1 • y^2 /cardinality(A) ). Como se ha mencionado anteriormente, dependiendo de las circunstancias, la funcion LPF que corresponde a la funcion 15 puede tener una pendiente positiva y LPF cambiada para leerse como HPF, en consecuencia. Se senala brevemente que en todas las formulas antes expuestas el uso de “LPF” fijando Fleft en una funcion constante para que sea todo uno, revelarla la manera en que se puede aplicar el concepto de someter al ruido que se va a introducir en el espectro 34 a una inclinacion espectral global sin el llenado de agujeros dependiente de la tonalidad.
[0108] Los computes posibles de N se pueden realizar en el codificador como, por ejemplo, en 108 o 154.
[0109] Por ultimo, se encontro que cuando se cuantificaban a cero los armonicos de una senal estacionaria muy tonal, las llneas que representaban esos armonicos llevaban a un nivel de ruido relativamente alto o inestable (es decir, fluctuante en el tiempo). Este artefacto se puede reducir utilizando en el calculo del nivel de ruido la magnitud promedio de las llneas cuantificadas a cero en lugar de su RMS. Aunque esta estrategia alternativa no siempre garantiza que la energla de las llneas llenadas con ruido en el decodificador reproduzca la energla de las llneas originales en las regiones de llenado con ruido, si garantiza que los picos espectrales en las regiones de llenado con ruido hagan solo una contribution limitada al nivel de ruido total, reduciendo as! el riesgo de sobreestimacion del nivel de ruido.
[0110] Por ultimo, se senala que un codificador puede estar configurado incluso para ejecutar el llenado con ruido por completo a fin de mantenerse en llnea con el decodificador, por ejemplo, para fines de analisis y slntesis.
[0111] Por consiguiente, la forma de realizacion anterior describe, entre otras cosas, un metodo adaptativo a la senal para reemplazar los ceros introducidos en el proceso de cuantificacion con ruido modelado espectralmente. Se describe una extension de llenado con ruido correspondiente a un codificador y un decodificador que satisface los requisitos anteriormente mencionados implementando lo siguiente:
• El Indice de inicio de llenado con ruido puede adaptarse al resultado de la cuantificacion del espectro pero sin limitarse a cierto rango
• Se puede introducir una inclinacion espectral en el ruido insertado para contrarrestar la inclinacion espectral producida por el modelado perceptual de ruido
• Todas las llneas cuantificadas a cero por encima del Indice de inicio de llenado con ruido son reemplazadas por ruido • Mediante una funcion de transicion, el ruido insertado se atenua cerca de las llneas espectrales no cuantificadas a cero
• La funcion de transicion depende de las caracterlsticas instantaneas de la senal de entrada
• La adaptacion del Indice de inicio de llenado con ruido, la inclinacion espectral y la funcion de transicion se pueden basar en la information disponible en el decodificador
[0112] No hay necesidad de informacion complementaria adicional, excepto por un nivel de llenado con ruido.
[0113] Aunque se han descrito algunos aspectos en el contexto de un aparato, es obvio que estos aspectos tambien representan una description del metodo correspondiente, en el cual un bloque o dispositivo corresponde a un paso del metodo o a una caracterlstica de un paso del metodo. De manera analoga, los aspectos descritos en el contexto de un paso del metodo tambien representan una descripcion de un bloque o Item correspondiente o de una caracterlstica de un aparato correspondiente. Algunos o todos los pasos del metodo pueden ser ejecutados por medio de (o utilizando) un aparato de hardware, como por ejemplo, un microprocesador, un ordenador programable o un circuito electronico. En algunas formas de realization, uno cualquiera o mas de los pasos mas importantes del metodo pueden ser ejecutados por ese tipo de aparato.
[0114] Dependiendo de ciertos requisitos de implementation, las formas de realizacion de la invention pueden ser implementadas en hardware o en software. La implementacion se puede realizar empleando un medio de almacenamiento digital, por ejemplo un disco blando, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene almacenadas en la misma senales de control legibles electronicamente, que cooperan (o tienen capacidad para cooperar) con un sistema de computation programable de tal manera que se ejecute el metodo respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por un ordenador.
[0115] Algunas formas de realizacion de acuerdo con la invencion comprenden un transportador de datos que comprende senales de control legibles electronicamente, con capacidad para cooperar con un sistema de computacion programable de tal manera que se ejecute uno de los metodos descritos en esta invencion.
[0116] En general, las formas de realizacion de la presente invencion pueden ser implementadas en forma de producto de programa informatico con un codigo de programa, donde el codigo de programa cumple la funcion de ejecutar uno de los metodos al ejecutarse el programa informatico en un ordenador. El codigo de programa puede ser almacenado, por ejemplo, en un soporte legible por una maquina.
[0117] Otras formas de realizacion comprenden el programa informatico para ejecutar uno de los metodos aqul descritos, almacenado en un soporte legible por una maquina.
[0118] En otras palabras, una forma de realizacion del metodo de la invencion consiste, por lo tanto, en un programa informatico que consta de un codigo de programa para realizar uno de los metodos aqul descritos al ejecutarse el programa informatico en un ordenador.
[0119] Una forma de realizacion adicional de los metodos de la invencion consiste, por lo tanto, en un soporte de datos (o medio de almacenamiento digital, o medio legible por ordenador) que comprende, grabado en el mismo, el programa informatico para ejecutar uno de los metodos aqul descritos. El soporte de datos, el medio de almacenamiento digital o el medio grabado son por lo general tangibles y no transitorios.
[0120] Una forma de realizacion adicional del metodo de la invencion es, por lo tanto, un flujo de datos o una secuencia de senales que representa el programa informatico para ejecutar uno de los metodos aqul descritos. El flujo de datos o la secuencia de senales pueden estar configurados, por ejemplo, para ser transferida a traves de una conexion de comunicacion de datos, por ejemplo a traves de Internet.
[0121] Una forma de realizacion adicional comprende un medio de procesamiento, por ejemplo un ordenador, un dispositivo logico programable, configurado o adaptado para ejecutar uno de los metodos aqul descritos.
[0122] Una forma de realizacion adicional comprende un ordenador en el que se ha instalado el programa informatico para ejecutar uno de los metodos aqul descritos.
[0123] Una forma de realizacion adicional de acuerdo con la invencion comprende un aparato o sistema configurado para transferir (por ejemplo por via electronica u optica) un programa informatico para poner en practica uno de los metodos descritos en esta invencion en un receptor. El receptor puede ser, por ejemplo, un ordenador, un dispositivo movil, un dispositivo de memoria y similar. El aparato o sistema puede comprender, por ejemplo, un servidor de archivos para transferir el programa informatico al receptor.
[0124] En algunas formas de realizacion, se puede utilizar un dispositivo logico programable (por ejemplo una matriz de puertas programables en el campo) para ejecutar algunas o todas las funcionalidades de los metodos descritos en esta invencion. En algunas formas de realizacion, una matriz de puertas programables en el campo puede
cooperar con un microprocesador para ejecutar uno de los procedimientos descritos en esta invencion. Por lo general, los metodos son ejecutados preferentemente por cualquier aparato de hardware.
[0125] El aparato descrito en esta invencion puede ser implementado empleando un aparato de hardware o empleando un ordenador, o utilizando una combination de un aparato de hardware y un ordenador.
[0126] Los metodos descritos en esta invencion se pueden poner en practica empleando un aparato de hardware o empleando un ordenador, o utilizando una combinacion de un aparato de hardware y un ordenador.
[0127] Las formas de realization anteriormente descritas son meramente ilustrativas de los principios de la presente invencion. Se entiende que las modificaciones y variaciones de las disposiciones y detalles descritos en esta invencion seran evidentes para las personas expertas en la tecnica. Por lo tanto, solo es intention limitarse al alcance de las siguientes reivindicaciones de patente y no a los detalles especlficos presentados a modo de description y explication de las formas de realizacion de esta invencion.
Referencias
[0128]
[1] B. G. G. F. S. G. M. M. H. P. J. H. S. W. G. S. J. H. Nikolaus Rettelbach, "Noise Filler, Noise Filling Parameter Calculator Encoded Audio Signal Representation, Methods and Computer Program". Patent US 2011/0173012 A1.
[2] Extended Adaptive Multi-Rate-Wideband (AMR-WB+) codec, 3GPP TS 26.290 V6.3.0, 2005-2006.
[3] B. G. G. F. S. G. M. M. H. P. J. H. S. W. G. S. J. H. Nikolaus Rettelbach, "Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program". Patent WO 2010/003556 A1.
[4] M. M. N. R. G. F. J. R. J. L. S. W. S. B. S. D. C. H. R. L. P. G. B. B. J. L. K. K. H. Max Neuendorf, "MPEG Unified Speech and Audio Coding - The ISO/MPEG Standard for High-Efficiency Audio Coding of all Content Types," in 132nd Convertion AES, Budapest, 2012. Also appears in the Journal of the AES, vol. 61, 2013.
[5] M. M. M. N. a. R. G. Guillaume Fuchs, " MDCT-Based Coder for Highly Adaptive Speech and Audio Coding ," in 17th European Signal Processing Conference (EUSIPCO 2009), Glasgow, 2009.
[6] H. Y. K. Y. M. T. Harada Noboru, " Coding Mmethod, Decoding Method, Coding Device, Decoding Device, Program, and Recording Medium". Patent WO 2012/046685 A1.
Claims (17)
1. Decodificador de audio por transformada perceptual que comprende
un dispositivo de llenado con ruido configurado para ejecutar el llenado con ruido en un espectro (34) de una senal de audio llenando el espectro con ruido para obtener un espectro llenado con ruido y
un modelador de ruido en el dominio de la frecuencia configurado para someter al espectro llenado con ruido a modelado espectral utilizando una funcion de ponderacion perceptual espectral, en el cual el modelador de ruido en el dominio de la frecuencia esta configurado para determinar la funcion de ponderacion espectral perceptual de information de coeficientes de prediction lineal (162) senalizados en un flujo de datos en el cual se codifica (164) el espectro (34), o determinar la funcion de ponderacion espectral perceptual de factores de escala (112) relacionados con bandas de factores de escala (110), senalizados en el flujo de datos en el cual se codifica el espectro (34), en donde el dispositivo de llenado con ruido esta configurado para
generar una senal de ruido intermediaria;
identificar porciones espectrales contiguas de cero del espectro de la senal de audio; caracterizado porque el dispositivo de llenado con ruido esta configurado ademas para
determinar una funcion por cada portion espectral contigua de cero dependiendo de
el ancho de la respectiva porcion espectral contigua de cero de manera que la funcion quede confinada a la respectiva porcion espectral contigua de cero
la position espectral de la respectiva porcion espectral contigua de cero por lo que el escalado de la funcion depende de la posicion espectral de la respectiva porcion espectral contigua de cero de tal manera que la cantidad de escalado aumente de manera monotona o decrezca de manera monotona con el aumento de la frecuencia de la respectiva porcion espectral contigua de cero y
modelar espectralmente, por cada porcion espectral contigua de cero, la senal de ruido intermediaria utilizando la funcion determinada para la respectiva porcion espectral contigua de cero de tal manera que el ruido exhiba una inclination espectralmente global que tiene una pendiente negativa.
2. Decodificador de audio por transformada perceptual de acuerdo con la revindication 1, en el que el dispositivo de llenado con ruido esta configurado para variar el grado de brusquedad de la inclinacion espectralmente global en respuesta a una serialization impllcita o expllcita en un flujo de datos en el cual se codifica (164) el espectro (34).
3. Decodificador de audio por transformada perceptual de acuerdo con las reivindicaciones 1 o 2, en el que el dispositivo de llenado con ruido esta configurado para deducir el grado de brusquedad de la inclinacion espectralmente global de una porcion del flujo de datos que senaliza la funcion de ponderacion espectral perceptual o de una longitud de ventana de transformada senalizada en el flujo de datos.
4. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 1 a 3, que ademas comprende
un transformador inverso configurado para transformar inversamente el espectro llenado con ruido, modelado espectralmente por el modelador de ruido en el dominio de la frecuencia, para obtener una transformada inversa y someter a la transformada inversa a un proceso de solapamiento suma.
5. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 1 a 4, en el que el dispositivo de llenado con ruido esta configurado de modo que la funcion (48, 50) asuma un maximo en una parte interna (52) de la porcion espectral contigua de cero (40), y presente bordes de bajada hacia el exterior (58, 60) cuya pendiente absoluta depende negativamente de la tonalidad.
6. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 1 a 5, en el que el dispositivo de llenado con ruido esta configurado de modo que la funcion (48, 50) asuma un maximo en una parte interna (52) de la porcion espectral contigua de cero (40), y presente bordes de bajada hacia el exterior (58, 60) cuyo ancho espectral (54,56) depende positivamente de la tonalidad.
7. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 1 a 4, en el que el dispositivo de llenado con ruido esta ademas configurado de modo que la funcion sea una funcion constante o unimodal (48, 50), un integral de la cual - normalizada a un integral de 1 - sobre los cuartos externos (a, d) de la porcion espectral contigua de cero (40) depende negativamente de la tonalidad.
8. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 1 a 4, en el que el dispositivo de llenado con ruido esta ademas configurado de modo que la funcion establecida (80) dependa de la tonalidad de la senal de audio de manera que, si la tonalidad de la senal de audio aumenta, la masa de una funcion se torna mas compacta en la parte interna de la respectiva porcion espectral contigua de cero y alejada de los bordes externos de la respectiva porcion espectral contigua de cero.
9. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 1 a 8, en el que el dispositivo de llenado con ruido esta ademas configurado para escalar el ruido utilizando un parametro de nivel de ruido senalizado en un flujo de datos en el cual se codifica el espectro de manera espectralmente global.
10. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 1 a 9, el dispositivo de llenado con ruido esta ademas configurado para generar el ruido utilizando un proceso aleatorio o pseudo-aleatorio o utilizando parcheo.
11. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 5 a 7, en el que el dispositivo de llenado con ruido esta ademas configurado para derivar la tonalidad de un parametro de codificacion utilizando el cual se codifica la senal de audio.
12. Decodificador de audio por transformada perceptual de acuerdo con la reivindicacion 11, en el que el dispositivo de llenado con ruido esta ademas configurado de tal manera que el parametro de codificacion sea una bandera de habilitacion o ganancia de LTP (prediccion a largo plazo) o TNS (modelado temporal de ruido) y/o una bandera de habilitacion del reordenamiento del espectro, la bandera de habilitacion del reordenamiento del espectro senala una opcion de codificacion de acuerdo con la cual se reordenan espectralmente los valores espectrales cuantificados que transmiten adicionalmente dentro del flujo de datos la prescripcion de reordenamiento.
13. Decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones anteriores en el que el dispositivo de llenado con ruido esta ademas configurado para confinar la introduccion de ruido a una porcion espectral de alta frecuencia del espectro de la senal de audio.
14. Decodificador de audio por transformada perceptual de acuerdo con la reivindicacion 13, en el que el dispositivo de llenado con ruido esta ademas configurado para establecer una posicion inicial de baja frecuencia de la porcion espectral de alta frecuencia que corresponde a una senalizacion expllcita en un flujo de datos en el cual se senaliza el espectro de la senal de audio.
15. Codificador de audio que comprende un aparato de acuerdo con cualquiera de las reivindicaciones anteriores, estando configurado el codificador para utilizar un espectro llenado con ruido por el aparato para analisis por slntesis.
16. Metodo para la decodificacion de audio por transformada perceptual que comprende
ejecutar el llenado con ruido en un espectro (34) de una senal de audio llenando el espectro con ruido para obtener un espectro llenado con ruido; y
un modelado de ruido en el dominio de la frecuencia que comprende someter al espectro llenado con ruido a modelado espectral utilizando una funcion de ponderacion perceptual espectral, en el que el modelador de ruido en el dominio de la frecuencia comprende determinar la funcion de ponderacion espectral perceptual de informacion de coeficientes de prediccion lineal (162) senalizados en un flujo de datos en el cual se codifica (164) el espectro (34), o determinar la funcion de ponderacion espectral perceptual de factores de escala (112) relacionados con bandas de factores de escala (110), senalizados en el flujo de datos en el cual se codifica el espectro (34),
en el que el dispositivo de llenado con ruido comprende
generar una senal de ruido intermediaria;
identificar porciones espectrales contiguas de cero del espectro de la senal de audio; caracterizado porque el llenado con ruido comprende
determinar una funcion por cada porcion espectral contigua de cero dependiendo de
el ancho de la respectiva porcion espectral contigua de cero de manera que la funcion quede confinada a la respectiva porcion espectral contigua de cero
la posicion espectral de la respectiva porcion espectral contigua de cero por lo que el escalado de la funcion depende de la posicion espectral de la respectiva porcion espectral contigua de cero de tal manera que la cantidad de escalado aumente de manera monotona o decrezca de manera monotona con el aumento de la frecuencia de la respectiva porcion espectral contigua de cero y
modelar espectralmente, por cada porcion espectral contigua de cero, la senal de ruido intermediaria utilizando la funcion determinada para la respectiva porcion espectral contigua de cero de tal manera que el ruido exhiba una inclinacion espectralmente global tiene pendiente negativa.
17. Programa informatico que tiene un codigo de programa para poner en practica, al ejecutarse en un ordenador, un metodo de acuerdo con la reivindicacion 16.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361758209P | 2013-01-29 | 2013-01-29 | |
PCT/EP2014/051631 WO2014118176A1 (en) | 2013-01-29 | 2014-01-28 | Noise filling in perceptual transform audio coding |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2714289T3 true ES2714289T3 (es) | 2019-05-28 |
Family
ID=50029035
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14701753T Active ES2714289T3 (es) | 2013-01-29 | 2014-01-28 | Llenado con ruido en la codificación de audio por transformada perceptual |
ES14701991T Active ES2709360T3 (es) | 2013-01-29 | 2014-01-28 | Concepto de llenado con ruido |
ES18199319T Active ES2796485T3 (es) | 2013-01-29 | 2014-01-28 | Concepto de llenado con ruido |
ES18206224T Active ES2834929T3 (es) | 2013-01-29 | 2014-01-28 | Llenado con ruido en la codificación de audio por transformada perceptual |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14701991T Active ES2709360T3 (es) | 2013-01-29 | 2014-01-28 | Concepto de llenado con ruido |
ES18199319T Active ES2796485T3 (es) | 2013-01-29 | 2014-01-28 | Concepto de llenado con ruido |
ES18206224T Active ES2834929T3 (es) | 2013-01-29 | 2014-01-28 | Llenado con ruido en la codificación de audio por transformada perceptual |
Country Status (21)
Country | Link |
---|---|
US (4) | US9524724B2 (es) |
EP (6) | EP3761312B1 (es) |
JP (2) | JP6158352B2 (es) |
KR (6) | KR101757347B1 (es) |
CN (5) | CN110223704B (es) |
AR (2) | AR094678A1 (es) |
AU (2) | AU2014211544B2 (es) |
BR (2) | BR112015017748B1 (es) |
CA (2) | CA2898029C (es) |
ES (4) | ES2714289T3 (es) |
HK (2) | HK1218345A1 (es) |
MX (2) | MX345160B (es) |
MY (2) | MY185164A (es) |
PL (4) | PL2951817T3 (es) |
PT (4) | PT3451334T (es) |
RU (2) | RU2660605C2 (es) |
SG (2) | SG11201505915YA (es) |
TR (2) | TR201902394T4 (es) |
TW (2) | TWI536367B (es) |
WO (2) | WO2014118176A1 (es) |
ZA (2) | ZA201506266B (es) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101757347B1 (ko) | 2013-01-29 | 2017-07-26 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. | 지각적 변환 오디오 코딩에서의 노이즈 채움 |
MX347316B (es) * | 2013-01-29 | 2017-04-21 | Fraunhofer Ges Forschung | Aparato y método para sintetizar una señal de audio, decodificador, codificador, sistema y programa de computación. |
AU2014350366B2 (en) | 2013-11-13 | 2017-02-23 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Encoder for encoding an audio signal, audio transmission system and method for determining correction values |
EP2980795A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor |
EP2980794A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder using a frequency domain processor and a time domain processor |
EP2980792A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating an enhanced signal using independent noise-filling |
DE102016104665A1 (de) * | 2016-03-14 | 2017-09-14 | Ask Industries Gmbh | Verfahren und Vorrichtung zur Aufbereitung eines verlustbehaftet komprimierten Audiosignals |
US10146500B2 (en) | 2016-08-31 | 2018-12-04 | Dts, Inc. | Transform-based audio codec and method with subband energy smoothing |
TWI807562B (zh) | 2017-03-23 | 2023-07-01 | 瑞典商都比國際公司 | 用於音訊信號之高頻重建的諧波轉置器的回溯相容整合 |
EP3483880A1 (en) * | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Temporal noise shaping |
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 |
EP3759917B1 (en) * | 2018-02-27 | 2024-07-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A spectrally adaptive noise filling tool (sanft) for perceptual transform coding of still and moving images |
US10950251B2 (en) * | 2018-03-05 | 2021-03-16 | Dts, Inc. | Coding of harmonic signals in transform-based audio codecs |
CN112735449B (zh) * | 2020-12-30 | 2023-04-14 | 北京百瑞互联技术有限公司 | 优化频域噪声整形的音频编码方法及装置 |
CN113883672B (zh) * | 2021-09-13 | 2022-11-15 | Tcl空调器(中山)有限公司 | 噪音类型识别方法、空调器及计算机可读存储介质 |
WO2023118598A1 (en) * | 2021-12-23 | 2023-06-29 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for spectrotemporally improved spectral gap filling in audio coding using a tilt |
WO2023117144A1 (en) * | 2021-12-23 | 2023-06-29 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method and apparatus for spectrotemporally improved spectral gap filling in audio coding using a tilt |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5040217A (en) * | 1989-10-18 | 1991-08-13 | At&T Bell Laboratories | Perceptual coding of audio signals |
US5692102A (en) * | 1995-10-26 | 1997-11-25 | Motorola, Inc. | Method device and system for an efficient noise injection process for low bitrate audio compression |
US6167133A (en) | 1997-04-02 | 2000-12-26 | At&T Corporation | Echo detection, tracking, cancellation and noise fill in real time in a communication system |
SE9903553D0 (sv) * | 1999-01-27 | 1999-10-01 | Lars Liljeryd | Enhancing percepptual performance of SBR and related coding methods by adaptive noise addition (ANA) and noise substitution limiting (NSL) |
DE60209888T2 (de) * | 2001-05-08 | 2006-11-23 | Koninklijke Philips Electronics N.V. | Kodieren eines audiosignals |
US7447631B2 (en) * | 2002-06-17 | 2008-11-04 | Dolby Laboratories Licensing Corporation | Audio coding system using spectral hole filling |
CA2454296A1 (en) * | 2003-12-29 | 2005-06-29 | Nokia Corporation | Method and device for speech enhancement in the presence of background noise |
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 |
CA2596341C (en) * | 2005-01-31 | 2013-12-03 | Sonorit Aps | Method for concatenating frames in communication system |
KR100707186B1 (ko) * | 2005-03-24 | 2007-04-13 | 삼성전자주식회사 | 오디오 부호화 및 복호화 장치와 그 방법 및 기록 매체 |
US8332216B2 (en) | 2006-01-12 | 2012-12-11 | Stmicroelectronics Asia Pacific Pte., Ltd. | System and method for low power stereo perceptual audio coding using adaptive masking threshold |
US7953595B2 (en) | 2006-10-18 | 2011-05-31 | Polycom, Inc. | Dual-transform coding of audio signals |
KR101291672B1 (ko) * | 2007-03-07 | 2013-08-01 | 삼성전자주식회사 | 노이즈 신호 부호화 및 복호화 장치 및 방법 |
CN101303855B (zh) * | 2007-05-11 | 2011-06-22 | 华为技术有限公司 | 一种舒适噪声参数产生方法和装置 |
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 |
PT2186089T (pt) * | 2007-08-27 | 2019-01-10 | Ericsson Telefon Ab L M | Método e dispositivo para descodificação espetral percetual de um sinal áudio que inclui preenchimento de buracos espetrais |
CN101939782B (zh) * | 2007-08-27 | 2012-12-05 | 爱立信电话股份有限公司 | 噪声填充与带宽扩展之间的自适应过渡频率 |
US8527265B2 (en) * | 2007-10-22 | 2013-09-03 | Qualcomm Incorporated | Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs |
EP2207166B1 (en) * | 2007-11-02 | 2013-06-19 | Huawei Technologies Co., Ltd. | An audio decoding method and device |
EP2077551B1 (en) * | 2008-01-04 | 2011-03-02 | Dolby Sweden AB | Audio encoder and decoder |
CN101335000B (zh) * | 2008-03-26 | 2010-04-21 | 华为技术有限公司 | 编码的方法及装置 |
CN103000178B (zh) * | 2008-07-11 | 2015-04-08 | 弗劳恩霍夫应用研究促进协会 | 提供时间扭曲激活信号以及使用该时间扭曲激活信号对音频信号编码 |
EP2304719B1 (en) | 2008-07-11 | 2017-07-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, methods for providing an audio stream and computer program |
MY159110A (en) | 2008-07-11 | 2016-12-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E V | Audio encoder and decoder for encoding and decoding audio samples |
CN102177426B (zh) | 2008-10-08 | 2014-11-05 | 弗兰霍菲尔运输应用研究公司 | 多分辨率切换音频编码/解码方案 |
WO2011042464A1 (en) * | 2009-10-08 | 2011-04-14 | Fraunhofer-Gesellschaft zur Förderung 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 |
PL2489041T3 (pl) * | 2009-10-15 | 2020-11-02 | Voiceage Corporation | Jednoczesne kształtowanie szumu w dziedzinie czasu i w dziedzinie częstotliwości dla przekształcenia tdac |
EP4362014A1 (en) * | 2009-10-20 | 2024-05-01 | 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 |
CN102063905A (zh) * | 2009-11-13 | 2011-05-18 | 数维科技(北京)有限公司 | 一种用于音频解码的盲噪声填充方法及其装置 |
CN102194457B (zh) * | 2010-03-02 | 2013-02-27 | 中兴通讯股份有限公司 | 音频编解码方法、系统及噪声水平估计方法 |
US20120029926A1 (en) * | 2010-07-30 | 2012-02-02 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals |
US9208792B2 (en) * | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
WO2012046685A1 (ja) | 2010-10-05 | 2012-04-12 | 日本電信電話株式会社 | 符号化方法、復号方法、符号化装置、復号装置、プログラム、記録媒体 |
AR085895A1 (es) * | 2011-02-14 | 2013-11-06 | Fraunhofer Ges Forschung | Generacion de ruido en codecs de audio |
EP2975611B1 (en) * | 2011-03-10 | 2018-01-10 | Telefonaktiebolaget LM Ericsson (publ) | Filling of non-coded sub-vectors in transform coded audio signals |
KR102053900B1 (ko) * | 2011-05-13 | 2019-12-09 | 삼성전자주식회사 | 노이즈 필링방법, 오디오 복호화방법 및 장치, 그 기록매체 및 이를 채용하는 멀티미디어 기기 |
EP2728577A4 (en) * | 2011-06-30 | 2016-07-27 | Samsung Electronics Co Ltd | APPARATUS AND METHOD FOR GENERATING A BANDWIDTH EXTENSION SIGNAL |
US8731949B2 (en) * | 2011-06-30 | 2014-05-20 | Zte Corporation | Method and system for audio encoding and decoding and method for estimating noise level |
CN102208188B (zh) * | 2011-07-13 | 2013-04-17 | 华为技术有限公司 | 音频信号编解码方法和设备 |
KR101757347B1 (ko) * | 2013-01-29 | 2017-07-26 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. | 지각적 변환 오디오 코딩에서의 노이즈 채움 |
-
2014
- 2014-01-28 KR KR1020157022827A patent/KR101757347B1/ko active IP Right Grant
- 2014-01-28 PL PL14701753T patent/PL2951817T3/pl unknown
- 2014-01-28 MY MYPI2015001882A patent/MY185164A/en unknown
- 2014-01-28 PL PL18199319T patent/PL3451334T3/pl unknown
- 2014-01-28 WO PCT/EP2014/051631 patent/WO2014118176A1/en active Application Filing
- 2014-01-28 KR KR1020167019944A patent/KR101778217B1/ko active IP Right Grant
- 2014-01-28 PT PT181993197T patent/PT3451334T/pt unknown
- 2014-01-28 EP EP20192419.8A patent/EP3761312B1/en active Active
- 2014-01-28 MY MYPI2015001884A patent/MY172238A/en unknown
- 2014-01-28 AU AU2014211544A patent/AU2014211544B2/en active Active
- 2014-01-28 KR KR1020167019946A patent/KR101778220B1/ko active IP Right Grant
- 2014-01-28 TR TR2019/02394T patent/TR201902394T4/tr unknown
- 2014-01-28 BR BR112015017748-4A patent/BR112015017748B1/pt active IP Right Grant
- 2014-01-28 CN CN201910420349.3A patent/CN110223704B/zh active Active
- 2014-01-28 EP EP14701753.7A patent/EP2951817B1/en active Active
- 2014-01-28 CA CA2898029A patent/CA2898029C/en active Active
- 2014-01-28 EP EP20164371.5A patent/EP3693962B1/en active Active
- 2014-01-28 EP EP18199319.7A patent/EP3451334B1/en active Active
- 2014-01-28 SG SG11201505915YA patent/SG11201505915YA/en unknown
- 2014-01-28 EP EP18206224.0A patent/EP3471093B1/en active Active
- 2014-01-28 PT PT14701753T patent/PT2951817T/pt unknown
- 2014-01-28 PL PL14701991T patent/PL2951818T3/pl unknown
- 2014-01-28 CN CN201910419597.6A patent/CN110197667B/zh active Active
- 2014-01-28 BR BR112015017633-0A patent/BR112015017633B1/pt active IP Right Grant
- 2014-01-28 PL PL18206224T patent/PL3471093T3/pl unknown
- 2014-01-28 CN CN201910419610.8A patent/CN110189760B/zh active Active
- 2014-01-28 JP JP2015555680A patent/JP6158352B2/ja active Active
- 2014-01-28 ES ES14701753T patent/ES2714289T3/es active Active
- 2014-01-28 KR KR1020167019945A patent/KR101877906B1/ko active IP Right Grant
- 2014-01-28 EP EP14701991.3A patent/EP2951818B1/en active Active
- 2014-01-28 ES ES14701991T patent/ES2709360T3/es active Active
- 2014-01-28 MX MX2015009600A patent/MX345160B/es active IP Right Grant
- 2014-01-28 CA CA2898024A patent/CA2898024C/en active Active
- 2014-01-28 CN CN201480019092.6A patent/CN105264597B/zh active Active
- 2014-01-28 ES ES18199319T patent/ES2796485T3/es active Active
- 2014-01-28 PT PT182062240T patent/PT3471093T/pt unknown
- 2014-01-28 MX MX2015009601A patent/MX343572B/es active IP Right Grant
- 2014-01-28 PT PT14701991T patent/PT2951818T/pt unknown
- 2014-01-28 SG SG11201505893TA patent/SG11201505893TA/en unknown
- 2014-01-28 RU RU2015136505A patent/RU2660605C2/ru active
- 2014-01-28 KR KR1020157022497A patent/KR101897092B1/ko active IP Right Grant
- 2014-01-28 WO PCT/EP2014/051630 patent/WO2014118175A1/en active Application Filing
- 2014-01-28 JP JP2015555679A patent/JP6289508B2/ja active Active
- 2014-01-28 CN CN201480006656.2A patent/CN105190749B/zh active Active
- 2014-01-28 ES ES18206224T patent/ES2834929T3/es active Active
- 2014-01-28 KR KR1020177028123A patent/KR101926651B1/ko active IP Right Grant
- 2014-01-28 TR TR2019/02849T patent/TR201902849T4/tr unknown
- 2014-01-28 AU AU2014211543A patent/AU2014211543B2/en active Active
- 2014-01-28 RU RU2015136502A patent/RU2631988C2/ru active
- 2014-01-29 TW TW103103524A patent/TWI536367B/zh active
- 2014-01-29 AR ARP140100294A patent/AR094678A1/es active IP Right Grant
- 2014-01-29 TW TW103103519A patent/TWI529700B/zh active
- 2014-01-29 AR ARP140100295A patent/AR094679A1/es active IP Right Grant
-
2015
- 2015-07-28 US US14/811,748 patent/US9524724B2/en active Active
- 2015-07-29 US US14/812,354 patent/US9792920B2/en active Active
- 2015-08-27 ZA ZA2015/06266A patent/ZA201506266B/en unknown
- 2015-08-27 ZA ZA2015/06269A patent/ZA201506269B/en unknown
-
2016
- 2016-06-03 HK HK16106324.6A patent/HK1218345A1/zh unknown
- 2016-06-03 HK HK16106322.8A patent/HK1218344A1/zh unknown
-
2017
- 2017-09-07 US US15/698,442 patent/US10410642B2/en active Active
-
2019
- 2019-07-26 US US16/523,588 patent/US11031022B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2714289T3 (es) | Llenado con ruido en la codificación de audio por transformada perceptual | |
ES2938668T3 (es) | Mejorar la clasificación entre codificación en el dominio del tiempo y codificación en el dominio de la frecuencia | |
ES2687249T3 (es) | Decisión no sonora/sonora para el procesamiento de la voz |