ES2709360T3 - Concepto de llenado con ruido - Google Patents
Concepto de llenado con ruido Download PDFInfo
- Publication number
- ES2709360T3 ES2709360T3 ES14701991T ES14701991T ES2709360T3 ES 2709360 T3 ES2709360 T3 ES 2709360T3 ES 14701991 T ES14701991 T ES 14701991T ES 14701991 T ES14701991 T ES 14701991T ES 2709360 T3 ES2709360 T3 ES 2709360T3
- Authority
- ES
- Spain
- Prior art keywords
- noise
- zero
- spectrum
- spectral
- 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 319
- 238000001228 spectrum Methods 0.000 claims abstract description 236
- 230000005236 sound signal Effects 0.000 claims abstract description 102
- 238000013139 quantization Methods 0.000 claims abstract description 24
- 230000001419 dependent effect Effects 0.000 claims abstract description 15
- 230000003044 adaptive effect Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 163
- 238000000034 method Methods 0.000 claims description 37
- 230000011664 signaling Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 230000007774 longterm Effects 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 5
- 230000015572 biosynthetic process Effects 0.000 claims description 4
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 description 18
- 230000009466 transformation Effects 0.000 description 13
- 230000002123 temporal effect Effects 0.000 description 12
- 238000004590 computer program Methods 0.000 description 10
- 230000000873 masking effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000002441 reversible effect Effects 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 6
- 238000011002 quantification Methods 0.000 description 5
- 230000008707 rearrangement Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 230000001747 exhibiting effect Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 239000003623 enhancer Substances 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
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000005054 agglomeration Methods 0.000 description 1
- 230000002776 aggregation 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
- 239000012141 concentrate Substances 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
- 238000005520 cutting process Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000000977 initiatory effect Effects 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
- 230000008450 motivation Effects 0.000 description 1
- 238000000465 moulding Methods 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
- 229940035637 spectrum-4 Drugs 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- 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
Aparato configurado para ejecutar el llenado con ruido en un espectro (34) de una señal de audio de manera dependiente de la tonalidad de la señal de audio, donde el aparato está configurado para descuantificar (132; 174) el espectro (34), derivado después del llenado con ruido, utilizando un tamaño de paso de cuantificación espectralmente variable y adaptativo a la señal controlado por una envolvente espectral de predicción lineal por medio de coeficientes de predicción lineal (162) en un flujo de datos en el cual se codifica (164) el espectro (34), o 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), caracterizado porque el aparato está configurado para llenar una porción espectral contigua de cero (40) del espectro de la señal de audio (34) con ruido modelado espectralmente utilizando una función (48, 50) que presume un máximo en un punto interno (52) de la porción espectral contigua de cero (40) y que presenta bordes en bajada hacia el exterior (58, 60) cuya pendiente absoluta depende negativamente de la tonalidad, o una función (48, 50) que presume un máximo en un punto interno (52) de la porción espectral contigua de cero (40), y que presenta bordes en bajada hacia el exterior (58, 60) cuyo ancho espectral (54, 56) depende positivamente de la tonalidad, o una función constante o unimodal (48, 50) donde una integral de la cual - normalizada a una integral de 1 - sobre los cuartos externos (a, d) de la porción espectral contigua de cero (40) depende negativamente de la tonalidad o una función establecida (80) dependiendo de un ancho de la respectiva porción espectral contigua de cero de tal manera que la función quede confinada a la respectiva porción espectral contigua de cero, y dependiendo de la tonalidad de la señal de audio de manera tal que, si la tonalidad de la señal de audio se incrementa, la función se torna más compacta en la parte interna de la respectiva porción espectral contigua de cero y se aleja de los bordes externos de la respectiva porción espectral contigua de cero.
Description
DESCRIPCION
Concepto de llenado con ruido
La presente solicitud se refiere a la codificacion audio y, especialmente al llenado con ruido en conexion con la codificacion de audio.
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 lmeas 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.
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.
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.
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 correcto nivel de ruido.
Aunque las soluciones de [1] y [5] evitan la degradacion de los componentes tonales puesto que sugieren no llenar los pequenos agujeros espectrales, subsiste la necesidad de mejorar aun mas la calidad de la senal de audio codificada utilizando llenado con ruido, especialmente a muy bajas tasas de bits. El documento US2012046955 divulga un esquema de inyeccion de ruido segun el que la ganancia del ruido inyectado se reduce en caso de que el espectro sea ralo, en el que la escasez del espectro se interpreta como una medida que, cuando es alta, indica una senal tonal. Ademas, la inyeccion de ruido se describe para usar un vector de ruido de ruido gaussiano independiente e identicamente distribuido para llenar elementos vados en un espectro codificado, en el que el moldeo espectral puede aplicarse sobre el vector de ruido para concentrar el ruido mas alrededor de los maximos espectrales como se indica por los coeficientes de filtro LPC, y no tanto en los valles espectrales, lo que puede ser ligeramente preferible perceptualmente.
El documento WO 2012/016128 A2 describe un concepto de codificacion de audio de dominio de transformada y sugiere codificar el espectro de frecuencia de la senal de audio en porciones espedficas espectrales en lugar de en una manera espectralmente global: es decir, en lugar de cuantificar el espectro de frecuencia, mirar mas tarde a donde resultan porciones de cero y llenar con ruido esas porciones de cero, el documento sugiere recoger esas porciones donde el espectro de frecuencia tiene concentraciones de energfa para limitar la codificacion del espectro de frecuencia a esas ubicaciones exclusivamente. Por tanto, el documento sugiere ubicar picos en el espectro, colocar intervalos del numero de muestras espectrales alrededor de los picos de espectro ubicados y limitar la codificacion del espectro a los intervalos asf determinados. La motivacion es identificar regiones de energfa significativa dentro de una senal a codificar. Separar tales regiones del resto de la senal permite enfocarse en la codificacion de estas regiones para eficacia de codificacion incrementada. Por ejemplo, puede ser aconsejable incrementar la eficacia de codificacion usando relativamente mas bits para codificar tales regiones y relativamente menos bits (o incluso ningun bit) para codificar otras regiones de la senal.
El objetivo de la presente invencion es dar a conocer un concepto para el llenado con ruido con caractensticas mejoradas.
Este objetivo se alcanza mediante la materia expuesta en las reivindicaciones independientes adjuntas a la presente, donde los aspectos ventajosos de la presente solicitud son el tema de las reivindicaciones subordinadas. Es un hallazgo basico de la presente solicitud que el llenado con ruido del espectro de una senal de audio puede tener una calidad mejorada con respecto al espectro llenado con ruido por lo que la reproduccion de la senal de audio llenada con ruido es menos molesta, ejecutando el llenado con ruido de manera dependiente de una tonalidad
de la senal de audio.
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. Ademas o por otro lado, 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, ademas o por otro lado, 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.
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 manera tal 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 analtticamente utilizando una formula matematica dependiendo del ancho de la porcion espectral contigua de cero y de la tonalidad de la senal de audio. En todo caso, el esfuerzo para obtener la dependencia es relativamente mfimo 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.
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 ej., 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 explfcitamente 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.
De conformidad con una forma de realizacion de la presente solicitud, la tonalidad se deriva de un parametro de codificacion utilizando el 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 espedficas, 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.
De acuerdo con otra forma de realizacion, 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 explfcita en un flujo de datos y con la cual se codifica la senal de audio. Merced a esta medida, es factible una determinacion adaptativa a la senal del lfmite inferior de la porcion espectral de alta frecuencia en la cual se ejecuta el llenado con ruido. Merced a 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 explfcita es comparativamente pequena.
De acuerdo con otra forma de realizacion de la presente solicitud, el aparato esta configurado para ejecutar el llenado con ruido empleando un filtro espectral de paso bajo para contrarrestar la distorsion espectral causada por una preenfasis utilizada para codificar el espectro de la senal de audio. Merced a esta medida, la calidad del llenado
con ruido se incrementa aun mas, puesto que se reduce aun mas la profundidad de los agujeros espectrales restantes. Hablando en terminos mas generales, se puede mejorar el llenado con ruido en los codecs de audio de transformada perceptual ejecutando, ademas del modelado espectral dependiente de la tonalidad del ruido dentro de los agujeros espectrales, el llenado con ruido con una inclinacion espectral 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 por lo 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 ej., en casos en que el espectro codificado exhibe un caracter de tipo paso alto. En particular, las funciones de ponderacion perceptual espectral tienen por lo general a exhibir un aumento desde bajas a altas frecuencias. En consecuencia, el ruido introducido en el espectro de los codificadores de audio por transformada perceptual de manera espectralmente plana, terminana en un piso de ruido inclinado en el espectro reconstruido en ultima instancia. Los inventores de la presente solicitud, sin embargo, notaron 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, por lo menos en parte, dicha inclinacion espectral causada por el modelado subsiguiente del espectro llenado con ruido usando la funcion de ponderacion espectral perceptual, mejorando asf la calidad del audio. Segun las circunstancias, puede ser preferible una pendiente positiva, por ej., en ciertos espectros del tipo paso alto.
De conformidad con una forma de realizacion, la pendiente de la inclinacion espectralmente global se vana 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 explfcita, 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.
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 smtesis.
De conformidad con una forma de realizacion, un codificador determina el nivel de escalado global de ruido tomando en cuenta la dependencia de la tonalidad.
A continuacion se describen las formas de realizacion preferidas de la presente solicitud en relacion con las figuras, en las cuales:
Fig. 1 ilustra, en forma alineada en el tiempo, uno sobre otro, de arriba hacia abajo, un fragmento de tiempo extrafdo de una senal de audio, cuyo espectrograma utiliza una variacion espectrotemporal indicada esquematicamente “en escala de grises” de la energfa espectral y la tonalidad de la senal de audio con fines ilustrativos;
Fig. 2 ilustra un diagrama de bloques de un aparato de llenado con ruido de conformidad con una forma de realizacion;
Fig. 3 ilustra una vista esquematica de un espectro al que se ha de 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 ilustra una vista esquematica de un espectro al que se ha de 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 otra forma de realizacion;
Fig. 5 ilustra una vista esquematica de un espectro al que se ha de 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 ilustra un diagrama de bloques del dispositivo de llenado con ruido de la Fig. 2 de conformidad con una forma de realizacion;
Fig. 7 ilustra 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 ilustra esquematicamente un espectro que ha de 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 ilustra un diagrama de bloques de un codificador que se puede emplear en un codec de audio que adopta el concepto de llenado con ruido descrito con respecto a las Figs. 1 a 8;
Fig. 10 ilustra 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 ilustra 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 ilustra 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 ilustra 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. 1 a 8 de conformidad con una forma de realizacion;
Fig. 14 ilustra un diagrama de bloques de un decodificador que se adapta al codificador de la Fig. 13;
Fig. 15 ilustra ejemplos of fragmentos tomados de un espectro que ha de ser llenado con ruido;
Fig. 16 ilustra un ejemplo explfcito de una funcion para modelar el ruido introducido en una determinada porcion espectral contigua de cero del espectro que ha de ser llenado con ruido de conformidad con una forma de realizacion;
Figs. 17a-d ilustran 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 y
Fig. 18a ilustra un diagrama de bloques de un codificador de audio por transformada perceptual de conformidad con una forma de realizacion;
Fig. 18b ilustra un diagrama de bloques de un decodificador de audio por transformada perceptual de conformidad con una forma de realizacion;
Fig. 18c ilustra 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. En toda la siguiente descripcion de las figuras, se utilizan signos de referencia iguales para los elementos expuestos en estas figuras; se ha de 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 asf la descripcion de las diversas formas de realizacion en las diferencias entre sf en lugar de describir nuevamente y desde el comienzo todas las realizaciones una y otra vez.
La siguiente descripcion se inicia con las formas de realizacion correspondientes a un aparato para ejecutar el llenado con ruido en el espectro de una senal de audio, en primer lugar. En segundo lugar se presentan diferentes formas de realizacion correspondientes a diversos codecs de audio, a los cuales se puede incorporar dicho llenado con ruido, junto con detalles espedficos que se podnan 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 smtesis. 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.
La Fig. 1 presenta, 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, por lo menos entre otros modos, por medio de una transformacion adecuada tal como una transformacion solapada ilustrada en 14 a tttulo 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 espectrotemporalmente el espectrograma 12 son contiguas de ceros. La transformada solapada 14 puede ser, por ejemplo, una transformada con muestreo cntico tal como una MDCT. Las ventanas de transformada 16 pueden tener un traslapo de 50 % entre sf, aunque tambien son factibles otras formas de realizacion. Ademas, la resolucion espectrotemporal 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 vana, 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 han de 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.
Mas alla de eso, en forma alineada en el tiempo, la Fig. 1 ilustra una caractenstica 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 cuan condensada esta la energfa de la senal de audio en un determinado punto de tiempo en el espectro respectivo 18 asociado a ese punto de tiempo. Si la energfa esta muy dispersa, como por ejemplo en las fases temporales ruidosas de la senal de audio 10, la tonalidad es baja. Pero si la energfa esta sustancialmente concentrada en uno o mas picos espectrales, en ese caso la tonalidad es alta.
La Fig. 2 ilustra un aparato 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 en forma mas detallada, el aparato esta configurado para ejecutar el llenado con ruido dependiendo de la tonalidad de la senal de audio.
El aparato de la Fig. 2 esta indicado en general empleando el signo de referencia 30 y comprende un dispositivo de llenado con ruido 32 y un determinador de la tonalidad 34, que es opcional.
El llenado con ruido en sf es ejecutado por el dispositivo de llenado con ruido 32. El dispositivo de llenado con ruido 32 recibe el espectro al cual se ha de aplicar el llenado con ruido. Este espectro esta ilustrado en la Fig. 2 en forma de espectro ralo 34. El espectro ralo 34 puede ser un espectro 18 tomado del espectrograma 12. Los espectros 18 ingresan al 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. 1. Dependiendo de las circunstancias, la tonalidad puede no estar directamente disponible. Por ejemplo, los codecs de audio existentes no dan lugar a una senalizacion explfcita 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 sena 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.
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 en 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, merced a un respectivo parametro de codificacion acarreado en el flujo de datos del codec de audio dentro del cual se utiliza, por ejemplo, el aparato 30.
La Fig. 3 ilustra 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 sf por al menos una lmea espectral no cuantificada a cero en el espectro 34.
La dependencia de la tonalidad del llenado con ruido descrito anteriormente en general con respecto a la Fig. 2 puede ser implementada de la siguiente manera. La Fig. 3 ilustra 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 ilustra a manera 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 en 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. En otras palabras, 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. 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. Merced a 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.
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 12, y la funcion 50 en caso de que la tonalidad de la senal de audio sea n, aunque la descripcion presentada mas adelante ha de revelar 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 sobreyectivo de tonalidades a funciones.
Como nota menor, cabe senalar que la construccion 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 a 95 % de su valor maximo.
La Fig. 4 ilustra una alternativa correspondiente a la variacion 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.
La Fig. 4 ilustra 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 caractenstica de la funcion que vana 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.
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 tttulo 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.
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.
En esta situacion, 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.
Con fines ilustrativos, en el caso de la Fig. 5 las dos funciones 48 y 50 han sido expuestas, a tftulo 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, por lo menos una puede ser unimodal y por lo menos una constante (por partes) y otras potenciales pueden ser unimodales o constantes.
Aunque el tipo de variacion de las funciones 48 y 50 dependiendo de la tonalidad vana, 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 a 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.
Hasta ahora la descripcion de las Figs. 3 a 5 se enfoco 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. 2 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 asf identificadas. En particular, la Fig. 6 ilustra el dispositivo de llenado con ruido 32 de la Fig. 2 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 expftcita 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 ha de utilizar.
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.
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.
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 tftulo 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 ilustrada en la Fig. 7 es una serie de instanciaciones de funciones discretas que se distinguen mutuamente entre sf
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 ilustra mas detalladamente 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 mmimo 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 ha de utilizar para el modelado espectral del ruido que se ha de 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 arribar a los parametros de funcion a fin de erigir la respectiva funcion de acuerdo con los parametros de funcion computados matematicamente.
Hasta ahora, la descripcion de ciertas formas de realizacion de la presente solicitud se enfoco 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 reconstruccion agradable, o incluso controlar espectralmente el nivel de introduccion de ruido.
La Fig. 8 ilustra un espectro que ha de ser llenado 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).
De acuerdo con una forma de realizacion, toda la serie de funciones disponibles 48, 50 para el modelado espectral del ruido que se ha de 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 lmeas espectrales aleatorios o pseudoaleatorios, con los cuales las porciones 90-94 son preestablecidas del lado de la decodificacion para luego modelarlas 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 lmeas 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)” ha de indicar una funcion que da un valor aleatorio de un nivel correspondiente al nivel “N” y restante(i) ha de ser una funcion que indica, por cualquier valor espectral cuantificado a cero en el mdice i, el mdice 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 mdice i, donde Ji indica el ancho de esa porcion de cero. Luego, las porciones 90-94 se llenan de acuerdo con Xi = Frestante(i)(i - restante(i))aleatoria(N).
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 disposicion de las funciones 48, 50 de acuerdo con una funcion de transferencia de filtro de paso bajo. Esto puede compensar una inclinacion espectral causada al reescalar/descuantificar el espectro llenado debido, por ejemplo, a un preenfasis utilizado en la determinacion del curso espectral del tamano del paso de cuantificacion. En consecuencia, se puede controlar lo abrupto de la reduccion o la funcion de transferencia de filtro de paso bajo de acuerdo con un grado de preenfasis 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.
En lugar de usar un escalado fijo de las funciones seleccionadas dependiendo de la tonalidad y el ancho de la porcion de cero, la correccion de la inclinacion espectral que se acaba de resenar puede ser tenida en cuenta directamente utilizando la posicion espectral de la respectiva de la porcion contigua de cero tambien como mdice para la busqueda o de otro modo determinando 80 la funcion que se ha de 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 preescalado utilizado para el modelado espectral del ruido con que se ha de llenar 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 preescaladas 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.
Habiendo descrito las formas de realizacion atinentes a 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, ilustran 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 indicara 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.
La representacion por lmeas 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 vana 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 sf. Para hallar un buen compromiso entre la cantidad de informacion complementaria que se ha de insumir 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 espectrotemporal que es menor, o mas gruesa que, la resolucion espectrotemporal a la cual los niveles espectrales cuantificados describen la representacion por lmeas 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.
Tanto los niveles espectrales de los valores espectrales del espectrograma 12, como tambien 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 reescalado o descuantificacion del espectro mediante la aplicacion de los factores de escala 112. Esto esta ilustrado en la Fig. 10. La Fig. 10 ilustra, 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.
Como ya se indicara 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.
La Fig. 10 tambien ilustra otra caractenstica espedfica 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 ilustra 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 reeescalar 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, en forma representativa.
El codificador 100 de la Fig. 9 ya puede tomar en cuenta que dentro del lado de la decodificacion se ha de ejecutar el llenado con ruido usando el nivel global de ruido 114 empleando las formas de realizacion de llenado con ruido antes descritas, por ej., 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 asf sucesivamente.
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 en forma mas aproximada el espectro de la senal de audio original.
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. 2 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. Por consiguiente, un 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 asf tambien, por ejemplo, un indicio con valor binario referente a la tonalidad.
Ademas o por otro lado, el codificador 100 puede admitir 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 direccion 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 descuantificacion. La bandera de habilitacion de TNS tambien es un indicio de tonalidad: Si la bandera de habilitacion de TNS senaliza que se ha de activar la TNS, por ej., en un transitorio, luego es muy improbable 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 ende, no estacionario. En consecuencia, se puede determinar la tonalidad sobre la base de la bandera de habilitacion de TNS de manera tal 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.
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 opcion 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 retransponer, 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.
Para completar, y tambien con referencia 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, por lo menos en el caso de anchos de porciones espectrales contiguas de cero superiores a un ancho mmimo predeterminado.
En lo que respecta al concepto de imponer una inclinacion espectralmente global al ruido y tomando 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 por lo 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 asf ponderados.
La Fig. 11 ilustra 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 realizacion antes 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 representacion por lmeas 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 antes descritos. El dispositivo de llenado con ruido 30 llena a continuacion 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 antes 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 reescala el espectro llenado con ruido usando los factores de escala 112. El transformador inverso 134, a su vez, somete al espectro descuantificado a una transformacion inversa a fin de recuperar la senal de audio. Como se describiera anteriormente, la transformacion inversa 134 tambien puede comprender un proceso de solapamiento y suma para obtener la cancelacion del solapamiento en el dominio del tiempo en caso de que la transformacion usada por el transformador 104 sea una transformada solapada con muestreo cntico tal como MDCT, en cuyo caso la transformacion inversa aplicada por el transformador inverso 134 sena una IMDCT (MDCT inversa).
Como ya se describiera con respecto a las Figs. 9 y 10, el descuantificador 132 aplica los factores de escala al espectro pre-llenado. 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 describiera 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.
Cabe senalar que el ruido que el dispositivo de llenado con ruido 30 modela espectralmente en forma dependiente de la tonalidad antes descrita y/o somete a una inclinacion espectralmente global de la manera antes 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 las porciones espectrales contiguas de cero 40a a 40d en la forma dependiente de la tonalidad antes descrita y/o somete al mismo a inclinacion espectralmente global de la manera antes descrita.
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 espedfico de los factores de escala se implemente de manera diferente. De acuerdo con el ejemplo de
la Fig. 12, el codificador transmite en el flujo de datos informacion sobre una envolvente de ruido, espectrotemporalmente muestreado en una resolucion mas gruesa que la misma resolucion espectrotemporal 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. Merced a 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, como asf tambien 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 Brechas).
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 tttulo de ejemplo, como se ilustra en la Fig. 12.
De acuerdo con los ejemplos de codec de audio antes 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 representacion espectrotemporal en forma de factores de escala. Las Figs.
13 y 14 ilustran un par de codificador y decodificador en el cual se pueden utilizar asimismo las formas de realizacion de llenado con ruido descritas en relacion con las Figs. 1 a 8, pero donde el ruido de la cuantificacion es modelado espectralmente de acuerdo con una descripcion LP (Prediccion Lineal) del espectro de la senal de audio. En ambas formas de realizacion, el espectro que se ha de 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 dominio perceptualmente ponderado.
La Fig. 13 ilustra un codificador 150 que comprende un transformador 152, un cuantificador 154, un preenfatizador 156, un analizador LPC 158 y un conversor de LPC a lmeas espectrales 160. El preenfatizador 156 es opcional. El preenfatizador 156 somete a la senal de audio entrante 12 a preenfasis, 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 preenfatizador 156 como por ejemplo H(z) = 1 - az-1 donde a determina, por ejemplo, la cantidad o potencia de preenfasis en lmea con la cual, de acuerdo con una de las formas de realizacion, se vana la inclinacion espectralmente global a la cual se somete al ruido para introducir en el espectro. Una configuracion posible de a podna ser 0,68. La preenfasis causada por el preenfatizador 156 es para desplazar la energfa de los valores espectrales cuantificados transmitidos por el codificador 150, de las altas a bajas frecuencias, tomando en cuenta de esa manera las leyes psicoacusticas de acuerdo con las cuales la percepcion humana es mayor en la region de baja frecuencia que en la region de alta frecuencia. Sea o no preenfatizada 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 autocorrelacion 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 lmeas espectrales o similar. En todo caso, el analizador LPC 158 envfa al conversor de LPC a lmeas 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 transformacion, por ejemplo de manera igual a la que utiliza el transformador 104. Asf, 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.
La Fig. 14 ilustra 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 lmeas 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 describiera anteriormente, y envfa el espectrograma llenado de esa manera al descuantificador 174. El descuantificador 174 recibe del conversor de LPC a lmeas espectrales 172 una curva espectral que ha de 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 lmeas 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 cancelacion 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 cntico tal como MDCT.
Por medio de las lmeas de guiones de las Figs. 13 y 14 se indica que la preenfasis aplicada 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 tomar en cuenta la preenfasis al ejecutar el llenado con ruido como se describiera anteriormente con respecto a la Fig. 8. En particular, la preenfasis 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 antes descrita. Si se senaliza en el flujo de datos, se puede utilizar el grado de preenfasis para ejecutar la inclinacion adaptativa del ruido insertado de manera dependiente del grado de preenfasis. En otras palabras, el grado de preenfasis 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.
Hasta ahora se han descrito varias formas de realizacion, y en adelante se presentan ejemplos espedficos 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 notar que todas las formas de realizacion antes descritas se pueden utilizar asimismo en la codificacion de audio, como asf tambien 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 antes 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 explfcita de la frecuencia inicial permiten la remocion de los agujeros que causan degradacion, aunque permiten evitar insertar ruido a bajas frecuencias donde la insercion de ruido pudiera introducir distorsiones.
Mas aun, algunas de las formas de realizacion antes resenadas utilizan un llenado con ruido controlado con preenfasis para compensar la inclinacion espectral causada por la preenfasis. Estas formas de realizacion toman en cuenta la observacion de que si se calcula el filtro LPC en una senal de preenfasis, meramente aplicando una magnitud global o promedio o una energfa promedio del ruido que se ha de insertar causana que el modelado del ruido introduzca una inclinacion espectral en el ruido insertado, ya que la FDNS del lado de la decodificacion sometena al ruido insertado espectralmente plano a modelado espectral que de todas maneras muestra la inclinacion espectral de la preenfasis. En consecuencia, estas ultimas formas de realizacion ejecutaron un llenado con ruido de tal manera que se tome en cuenta y se compense la preenfasis.
Por consiguiente, en otras palabras, cada una de las Figs. 11 y 14 exhibfa 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 describiera 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 describiera anteriormente. “ Inclinacion espectralmente global” ha de 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 han de 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 auto-continuas, 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.
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 expKcita 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.
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.
De manera correspondiente, tanto la Fig. 13 como la 9 exhibieron 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 en 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 prediccion 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 senalara, 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 preenfasis 156. Como se describiera anteriormente con respecto a la Fig. 13, el filtro de preenfasis 156 puede estar configurado para filtrar por paso alto la senal de audio con una cantidad variable de preenfasis para obtener la version de la senal de audio sometida a un filtro de preenfasis, donde el computo del nivel de ruido puede estar configurado para fijar una cantidad de inclinacion espectralmente global dependiendo de la cantidad de preenfasis. Se puede utilizar la senalizacion explfcita 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 determinacion 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.
Se toma ahora la alternativa recien aplicada y generalizando los terminos para describir las Fig. 9 a 14 para describir las Figs. 18a y 18b.
La Fig. 18a ilustra un codificador de audio por transformada perceptual de conformidad con una forma de realizacion de la presente solicitud y la Fig. 18b ilustra un decodificador de audio por transformada perceptual de conformidad con una forma de realizacion de la presente solicitud, ambos adaptados entre sf para formar un codec de audio por transformada perceptual.
Como se ilustra en la Fig. 18a, 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, merced a esta medida, un espectro perceptualmente ponderado al que luego se somete a cuantificacion en forma espectralmente uniforme, es decir de manera igual para las lmeas 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.
Para controlar el llenado con ruido que se ha de 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 co-ubicadas en las porciones de cero 40 del espectro cuantificado 34. El parametro de nivel de ruido asf calculado puede ser codificado asimismo en el flujo de datos antes mencionado para que llegue al decodificador.
El decodificador de audio por transformada perceptual esta expuesto en la Fig. 18b. 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 espedficos 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. 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, luego el espectro emitido por FDNS 6 exhibina 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 por lo menos la porcion del ancho de banda del espectro en la cual se ejecuta el llenado con ruido, se vena 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 la direccion 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 asf introducido en el espectro reconstruido en ultima instancia a la salida del FDNS 6 es plano o por lo menos mas plano, aumentando asf la calidad del audio dejando menos agujeros profundos de ruido.
“Inclinacion espectralmente global” ha de indicar que el ruido 9 llenado en el espectro 34 tiene un nivel que tiene a decrecer (o aumentar) de bajas a altas frecuencias. Por ejemplo, al trazar una lmea 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 lmea de regresion lineal obtenida tiene la pendiente negativa (o positiva) a.
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. 18a, 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 podna ser el caso. Al hacerlo asf, 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. Mas adelante se explicara que puede ser factible controlar una variacion de una pendiente de la inclinacion espectralmente global a mediante senalizacion explfcita en el flujo de datos o mediante senalizacion implfcita 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 sf 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.
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. 18c, por ejemplo, ilustra que el aparato de llenado con ruido 30 ejecuta una multiplicacion por lmeas 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) en forma monotona 15, es decir una funcion que decrece (o aumenta) espectralmente en forma monotona a traves de todo el espectro o por lo menos la porcion en la que se ejecuta el llenado con ruido, para obtener el ruido 9. Como se ilustra en la Fig. 18c, la senal de ruido intermediaria 13 puede estar ya espectralmente modelada. Los detalles en este aspecto pertenecen a las formas de realizacion espedficas 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. 18c, una funcion lineal por fragmentos, una funcion polinomica o cualquier otra funcion.
Como se describe mas adelante en forma mas detallada, sena 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.
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 espedfica no plana y dependiente de la tonalidad, se debe explicar que tambien hay alternativas para la multiplicacion 11 ilustrada en la Fig. 18c para provocar la inclinacion espectralmente global descrita hasta ahora. Todas las formas de realizacion antes descritas tienen en comun que se evitan los agujeros espectrales y tambien se evita el ocultamiento de las lmeas tonales cuantificadas no cero. De la manera antes descrita, se puede preservar la energfa en las partes ruidosas de una senal y se evita la adicion de ruido que enmascara los componentes tonales de la manera antes descrita.
En las implementaciones espedficas que se describen a continuacion, 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 reconstruccion del espectro, independientemente del llenado con ruido, para el modelado del llenado con ruido.
De acuerdo con un ejemplo de implementacion, el llenado con ruido en el dispositivo de llenado con ruido 30 se realiza de la siguiente manera. Todas las lmeas espectrales por encima de un mdice 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 ilustra dos ejemplos correspondientes a un espectro al que se ha de 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 mdice de partida de llenado con ruido es un mdice de lmeas espectrales iFreqO y iFreq1 (0 < iFreqO <= iFreq1), donde iFreq0 y iFreq1 son indices de lmeas espectrales predeterminados dependientes de la tasa de bits y el ancho de banda. El mdice de partida de llenado con ruido es igual al mdice iStart (iFreq0 <= iStart <= iFreq1) de una lmea espectral cuantificada a un valor no cero, donde todas las lmeas espectrales con los indices j (iStart < j <= Freq1) se cuantifican a cero. Tambien se podnan transmitir diferentes valores para iStart, iFreq0 o iFreq1 en el flujo de bits para permitir la insercion de ruido de muy baja frecuencia en ciertas senales (por ej., ruido ambiental).
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 dominio 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 a Ac ) 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
La unica informacion complementaria adicional necesaria para el llenado con ruido es el nivel, que se transmite utilizando 3 bits, por ejemplo.
Cuando se utiliza FDNS no hay necesidad de adaptarlo a un llenado con ruido espedfico y modela el ruido en la totalidad del espectro utilizando un menor numero de bits que los factores de escala.
Se puede introducir una inclinacion espectral en el ruido insertado para contrarrestar la inclinacion espectral producida por la preenfasis en el modelado perceptual basado de LPC. Dado que la preenfasis representa un filtro suave de paso alto aplicado a la senal de entrada, la compensacion de la inclinacion pude 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 operacion de paso bajo depende del factor de preenfasis y, preferentemente, de la tasa de bits y el ancho de banda. Esto fue mencionado con referencia a la Fig. 8.
Por cada agujero espectral, constituido por 1 o mas lmeas 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 lmeas espectrales cuantificadas no cero y aumenta en la zona de transicion 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 lmeas espectrales cuantificadas no cero que podnan potencialmente enmascarar o distorsionar los componentes tonales. Sin embargo, todas las lmeas cuantificadas a cero son
reemplazadas por ruido, sin dejar ningun agujero espectral.
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 ilustra a manera de ejemplo el modelado de ruido para diferentes tamanos de agujeros y anchos de transicion.
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 (ver [6])
• Bandera de habilitacion de TNS
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.
En una forma de realizacion, 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 lmeas 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 mmimo.
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 prediccion del filtro.
En el codificador, se puede calcular el nivel de llenado con ruido preferentemente tomando 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 energfa (cuadrado) de todas lmeas del espectro normalizado de entrada en la region de llenado con ruido (es decir por encima de iStart) que fuera cuantificada a cero, luego dividir esta suma por el numero de esas lmeas para obtener la energfa promedio por lmea y por ultimo calcular un nivel de ruido cuantificado de la rafz cuadrada de la energfa de lmea 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 lmeas espectrales en que el espectro ha sido cuantificado a cero y que pertenece a cualquiera de las porciones de cero, por ej., 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) ha de ser una funcion que indica, por cada valor espectral cuantificado a cero en el mdice i, el mdice 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 ha de indicar la funcion asignada, dependiendo de la tonalidad, a la porcion de cero que se inicia en el mdice i, donde Ji indica el ancho de esa porcion de cero. Luego se puede determinar N segun N = sqrt( / c a r d in a l i t y ( A ) ).
En la forma de realizacion preferida, se consideran los tamanos de los agujeros individuales asf como el ancho de la transicion. Para este fin, se agrupan sucesiones de lmeas consecutivas cuantificadas a cero en las regiones de agujeros. A continuacion se escala cada lmea espectral de entrada normalizada en una region de agujero, es decir cada valor espectral de la senal original en una posicion espectral dentro de cualquier porcion espectral contigua de cero, mediante la funcion de transicion, como se describiera en la seccion anterior y seguidamente se calcula la suma de las energfas de las lmeas escaladas. Como en la forma de realizacion sencilla anterior, seguidamente se puede calcular el nivel de llenado con ruido del RMS de las lmeas cuantificadas a cero. Aplicando la nomenclatura antes expuesta, N se puede computar segun N =
sqrt(Z ieA(Frestante(i)(i - l e f t ( i ) ) • y {) 2 / c a r d in a l i t y ( A ) ).
Un problema con esta tecnica es, sin embargo, que se subestima la energfa 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 lmeas espectrales de la suma por el cual se divide la suma de energfa 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 lmeas 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 lmeas espectrales en esa region de agujero no se cuente como esta, es decir como numero entero de lmeas, sino como numero de lmea fraccionario que es menor que el numero entero de lmeas. En la
anterior formula concerniente a N, por ejemplo, se reemplazana “cardinality(A)” por un numero menor dependiendo del numero de porciones “pequenas” de cero.
Por anadidura, la compensacion de la inclinacion espectral en el llenado con ruido debido a la codificacion perceptual basada en LPC tambien debe ser tenida en cuenta durante el calculo del nivel de ruido. Mas espedficamente, se aplica preferentemente la inversa de la compensacion de inclinacion del llenado con ruido del lado del decodificador a las lmeas 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 preenfasis, esto implica que las lmeas de mas alta frecuencia se amplifican ligeramente con respecto a las lmeas de frecuencia mas baja antes de la estimacion del nivel de ruido. Aplicando la nomenclatura antes citada, N se puede computar segun N = sqrt(Z iEA(F restante( i ) ( i — r e s ta n te ( i ) ) • L P F ^ i) -1 • y i ) 2 / c a r d in a l i t y ( A ) ). Como se mencionara 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 Frestante en una funcion constante para que sea todo uno, revelana la manera en que se puede aplicar el concepto de someter al ruido que se ha de introducir en el espectro 34 a una inclinacion espectral global sin el llenado de agujeros dependiente de la tonalidad.
Los computes posibles de N se pueden realizar en el codificador como, por ejemplo, en 108 o 154.
Por ultimo, se encontro que cuando se cuantificaban a cero los armonicos de una senal estacionaria muy tonal, las lmeas que representaban esos armonicos llevaban a un nivel de ruido relativamente alto o inestable (es decir, fluctuante en el tiempo). Esta falla se puede reducir utilizando en el calculo del nivel de ruido la magnitud promedio de las lmeas cuantificadas a cero en lugar de su RMS. Si bien esta estrategia no siempre garantiza que la energfa de las lmeas llenadas con ruido en el decodificador reproduzca la energfa de las lmeas originales en las regiones de llenado con ruido, sf garantiza que los picos espectrales en las regiones de llenado con ruido hagan solo una contribucion limitada al nivel de ruido total, reduciendo asf el riesgo de sobreestimacion del nivel de ruido.
Por ultimo, se senala que un codificador puede estar configurado incluso para ejecutar el llenado con ruido por completo a fin de mantenerse en lmea con el decodificador, por ejemplo, para fines de analisis y smtesis.
Por consiguiente, la forma de realizacion precedente 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 antes mencionados implementando lo siguiente:
• El mdice 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 lmeas cuantificadas a cero por encima del mdice de inicio de llenado con ruido son reemplazadas por ruido
• Mediante una funcion de transicion, el ruido insertado se atenua cerca de las lmeas espectrales no cuantificadas a cero
• La funcion de transicion depende de las caractensticas instantaneas de la senal de entrada
• La adaptacion del mdice de inicio de llenado con ruido, la inclinacion espectral y la funcion de transicion se pueden basar en la informacion disponible en el decodificador
No hay necesidad de informacion complementaria adicional, excepto por un nivel de llenado con ruido
Si bien se han descrito algunos aspectos en el contexto de un aparato, es obvio que estos aspectos tambien representan una descripcion del metodo correspondiente, en el cual un bloque o dispositivo corresponde a un paso del metodo o a una caractenstica 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 caractenstica 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, una computadora programable o un circuito electronico. En algunas realizaciones, uno cualquiera o mas de los pasos mas importantes del metodo pueden ser ejecutados por ese tipo de aparato.
Dependiendo de ciertos requisitos de implementacion, las realizaciones de la invencion 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 computacion programable de tal manera que se ejecute el metodo respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por una computadora.
Algunas realizaciones 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 la presente.
En general, las realizaciones de la presente invencion pueden ser implementadas en forma de producto de programa de computacion con un codigo de programa, donde el codigo de programa cumple la funcion de ejecutar uno de los metodos al ejecutarse el programa de computacion en una computadora. El codigo de programa puede ser almacenado, por ejemplo, en un portador legible por una maquina.
Otras formas de realizacion comprenden el programa de computacion para ejecutar uno de los metodos aqrn descritos, almacenado en un portador legible por una maquina.
En otras palabras, una realizacion del metodo de la invencion consiste, por lo tanto, en un programa de computacion que consta de un codigo de programa para realizar uno de los metodos aqrn descritos al ejecutarse el programa de computacion en una computadora.
Otra de las realizaciones de los metodos de la invencion consiste, por lo tanto, en un portador de datos (o medio de almacenamiento digital, o medio legible por computadora) que comprende, grabado en el mismo, el programa de computacion para ejecutar uno de los metodos aqrn descritos. El portador de datos, el medio de almacenamiento digital o el medio grabado son por lo general tangibles y no transitorios.
Otra forma de realizacion del metodo de la invencion es, por lo tanto, un flujo de datos o una secuencia de senales que representa el programa de computacion para ejecutar uno de los metodos aqrn 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 por la Internet.
Otra forma de realizacion comprende un medio de procesamiento, por ejemplo una computadora, un dispositivo logico programable, configurado o adaptado para ejecutar uno de los metodos aqrn descritos.
Otra forma de realizacion comprende una computadora en la que se ha instalado el programa de computacion para ejecutar uno de los metodos aqrn descritos.
Otra forma de realizacion de acuerdo con la invencion comprende un aparato o sistema configurado para transferir (por ejemplo por via electronica u optica) un programa de computacion para poner en practica uno de los metodos aqrn descritos en un receptor. El receptor puede ser, por ejemplo, una computadora, 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 de computacion al receptor.
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 aqrn descritos. En algunas formas de realizacion, una matriz de puertas programables en el campo puede cooperar con un microprocesador para ejecutar uno de los metodos aqrn descritos. Por lo general, los metodos son ejecutados preferentemente por cualquier aparato de hardware.
El aparato descrito en la presente puede ser implementado empleando un aparato de hardware o empleando una computadora, o utilizando una combinacion de un aparato de hardware y una computadora.
Los metodos aqu descritos se pueden poner en practica empleando un aparato de hardware o empleando una computadora, o utilizando una combinacion de un aparato de hardware y una computadora.
Las realizaciones precedentemente descritas son meramente ilustrativas de los principios de la presente invencion. Se entiende que las modificaciones y variaciones de las disposiciones y detalles aqu descritos han de ser evidentes para las personas con capacitacion en la tecnica. Por lo tanto, solo es intencion limitarse al alcance de las siguientes reivindicaciones de patente y no a los detalles espedficos presentados a manera de descripcion y explicacion de las realizaciones aqrn presentadas.
Referencias
[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". Patente 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". Patente 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 132a Convencion de AES, Budapest, 2012. Tambien aparece en el 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 17a Conferencia Europea sobre Procesamiento de Senales (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". Patente WO 2012/046685 A1.
Claims (15)
1. Aparato configurado para ejecutar el llenado con ruido en un espectro (34) de una senal de audio de manera dependiente de la tonalidad de la senal de audio, donde el aparato esta configurado para descuantificar (132; 174) el espectro (34), derivado despues del llenado con ruido, utilizando un tamano de paso de cuantificacion espectralmente variable y adaptativo a la senal controlado por una envolvente espectral de prediccion lineal por medio de coeficientes de prediccion lineal (162) en un flujo de datos en el cual se codifica (164) el espectro (34), o 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),
caracterizado porque el aparato esta configurado para llenar una porcion espectral contigua de cero (40) del espectro de la senal de audio (34) con ruido modelado espectralmente utilizando
una funcion (48, 50) que presume un maximo en un punto interno (52) de la porcion espectral contigua de cero (40) y que presenta bordes en bajada hacia el exterior (58, 60) cuya pendiente absoluta depende negativamente de la tonalidad, o
una funcion (48, 50) que presume un maximo en un punto interno (52) de la porcion espectral contigua de cero (40), y que presenta bordes en bajada hacia el exterior (58, 60) cuyo ancho espectral (54, 56) depende positivamente de la tonalidad, o
una funcion constante o unimodal (48, 50) donde una integral de la cual - normalizada a una integral de 1 -sobre los cuartos externos (a, d) de la porcion espectral contigua de cero (40) depende negativamente de la tonalidad o
una funcion establecida (80) dependiendo de un ancho de la respectiva porcion espectral contigua de cero de tal manera que la funcion quede confinada a la respectiva porcion espectral contigua de cero, y dependiendo de la tonalidad de la senal de audio de manera tal que, si la tonalidad de la senal de audio se incrementa, la funcion se torna mas compacta en la parte interna de la respectiva porcion espectral contigua de cero y se aleja de los bordes externos de la respectiva porcion espectral contigua de cero.
2. Aparato de acuerdo con la reivindicacion 1, donde el aparato esta configurado para escalar el ruido con el cual se llenan las porciones espectrales contiguas de cero utilizando un nivel global de ruido escalar senalizado en un flujo de datos en el cual se codifica el espectro de manera espectralmente global.
3. Aparato de acuerdo con la reivindicacion 1 o 2, donde el aparato esta configurado para generar el ruido con el cual se llenan las porciones espectrales contiguas de cero, utilizando un proceso aleatorio o pseudoaleatorio o empleando parcheo.
4. Aparato de acuerdo con cualquiera de las reivindicaciones 1 a 3, donde el aparato esta configurado para derivar la tonalidad desde un parametro de codificacion codificado dentro del flujo de datos.
5. Aparato de acuerdo con la reivindicacion 4, donde el aparato esta configurado de tal manera que el parametro de codificacion es 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 que senala una opcion de codificacion segun la que los valores espectrales cuantificados se reordenan espectralmente transmitiendo adicionalmente dentro del flujo de datos la prescripcion de reordenamiento.
6. Aparato de acuerdo con cualquiera de las reivindicaciones anteriores, donde el aparato esta configurado para confinar la ejecucion del llenado con ruido a una porcion espectral de alta frecuencia del espectro de la senal de audio.
7. Aparato de acuerdo con cualquiera de las reivindicaciones anteriores, donde el aparato esta configurado para fijar una posicion de partida de baja frecuencia de la porcion espectral de alta frecuencia correspondiente a una senalizacion explfcita en el flujo de datos.
8. Aparato de acuerdo con cualquiera de las reivindicaciones anteriores, donde el aparato esta configurado para, al ejecutar el llenado con ruido, llenar las porciones espectrales contiguas de cero (40) del espectro (34) con ruido cuyo nivel exhibe una reduccion de bajas a altas frecuencias, aproximandose a una funcion de transferencia de filtro espectral de paso bajo para contrarrestar una inclinacion espectral causada por una preenfasis utilizada para codificar el espectro de la senal de audio.
9. Aparato de acuerdo con la reivindicacion 8, donde el aparato esta configurado para adaptar el grado de brusquedad de la reduccion a un factor de preenfasis de la preenfasis.
10. Aparato de acuerdo con cualquiera de las reivindicaciones anteriores, donde el aparato esta configurado para identificar porciones espectrales contiguas de cero del espectro de la senal de audio y para llenar las porciones
espectrales contiguas de cero con funciones establecidas dependiendo de un ancho de la respectiva porcion espectral contigua de cero de manera que la funcion este confinada a la respectiva porcion espectral contigua de cero, y dependiendo de la tonalidad de la senal de audio de manera tal que, si la tonalidad de la senal de audio aumenta, la funcion se torna cada vez 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 y, ademas, dependiendo de 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.
11. Decodificador de audio que admite el llenado con ruido y comprende un aparato de acuerdo con cualquiera de las reivindicaciones anteriores.
12. Decodificador de audio por transformada perceptual que comprende
un aparato configurado para ejecutar el llenado con ruido en un espectro (34) de una senal de audio de acuerdo con cualquiera de las reivindicaciones 1 a 10; 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 espectral perceptual.
13. Codificador de audio que admite el llenado con ruido y comprende un aparato de acuerdo con cualquiera de las reivindicaciones 1 a 10, donde el codificador esta configurado para usar un espectro llenado con ruido por el aparato, para analisis por smtesis.
14. Metodo que comprende ejecutar el llenado con ruido en un espectro (34) de una senal de audio de manera dependiente de la tonalidad de la senal de audio, donde el metodo comprende descuantificar (132; 174) el espectro (34), como se deriva tras el llenado de ruido, utilizando un tamano de paso de cuantificacion espectralmente variable y adaptativo a la senal controlado por una envolvente espectral de prediccion lineal senalizada por coeficientes de prediccion lineal (162) en un flujo de datos en el que se codifica (164) el espectro (34), o factores de escala (112) relacionados con bandas de factores de escala (110), senalizados en el flujo de datos en el que se codifica el espectro (34),
caracterizado porque el metodo comprende llenar una porcion espectral contigua de cero (40) del espectro (34) de senal de audio con ruido espectralmente moldeado usando
una funcion (48, 50) que presume un maximo en un punto interno (52) de la porcion espectral contigua de cero (40) y que presenta bordes en bajada hacia el exterior (58, 60) cuya pendiente absoluta depende negativamente de la tonalidad, o
una funcion (48, 50) que presume un maximo en un punto interno (52) de la porcion espectral contigua de cero (40), y que presenta bordes en bajada hacia el exterior (58, 60) cuyo ancho espectral (54, 56) depende positivamente de la tonalidad, o
una funcion constante o unimodal (48, 50) donde una integral de la cual - normalizada a una integral de 1 -sobre los cuartos externos (a, d) de la porcion espectral contigua de cero (40) depende negativamente de la tonalidad o
una funcion establecida (80) dependiendo de un ancho de la respectiva porcion espectral contigua de cero de tal manera que la funcion quede confinada a la respectiva porcion espectral contigua de cero, y dependiendo de la tonalidad de la senal de audio de manera tal que, si la tonalidad de la senal de audio se incrementa, la funcion se torna mas compacta en la parte interna de la respectiva porcion espectral contigua de cero y se aleja de los bordes externos de la respectiva porcion espectral contigua de cero.
15. Programa de computacion con un codigo de programa para realizar, cuando se ejecuta en una computadora, un metodo de acuerdo con la reivindicacion 14.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361758209P | 2013-01-29 | 2013-01-29 | |
PCT/EP2014/051630 WO2014118175A1 (en) | 2013-01-29 | 2014-01-28 | Noise filling concept |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2709360T3 true ES2709360T3 (es) | 2019-04-16 |
Family
ID=50029035
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18206224T Active ES2834929T3 (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 |
ES14701753T Active ES2714289T3 (es) | 2013-01-29 | 2014-01-28 | Llenado con ruido en la codificación de audio por transformada perceptual |
ES18199319T Active ES2796485T3 (es) | 2013-01-29 | 2014-01-28 | Concepto de llenado con ruido |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 (2)
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 |
ES18199319T Active ES2796485T3 (es) | 2013-01-29 | 2014-01-28 | Concepto de llenado con ruido |
Country Status (21)
Country | Link |
---|---|
US (4) | US9524724B2 (es) |
EP (6) | EP3761312B1 (es) |
JP (2) | JP6158352B2 (es) |
KR (6) | KR101926651B1 (es) |
CN (5) | CN110189760B (es) |
AR (2) | AR094678A1 (es) |
AU (2) | AU2014211544B2 (es) |
BR (2) | BR112015017748B1 (es) |
CA (2) | CA2898029C (es) |
ES (4) | ES2834929T3 (es) |
HK (2) | HK1218344A1 (es) |
MX (2) | MX345160B (es) |
MY (2) | MY185164A (es) |
PL (4) | PL3471093T3 (es) |
PT (4) | PT3471093T (es) |
RU (2) | RU2660605C2 (es) |
SG (2) | SG11201505893TA (es) |
TR (2) | TR201902849T4 (es) |
TW (2) | TWI529700B (es) |
WO (2) | WO2014118175A1 (es) |
ZA (2) | ZA201506269B (es) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL2951819T3 (pl) * | 2013-01-29 | 2017-08-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Urządzenie, sposób i nośnik komputerowy do syntetyzowania sygnału audio |
RU2660605C2 (ru) * | 2013-01-29 | 2018-07-06 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Концепция заполнения шумом |
MX356164B (es) | 2013-11-13 | 2018-05-16 | Fraunhofer Ges Forschung | Codificador para codificar una señal de audio, sistema de audio de transmisión y método para determinar valores de corrección. |
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 |
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 |
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 |
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 |
TW202341126A (zh) * | 2017-03-23 | 2023-10-16 | 瑞典商都比國際公司 | 用於音訊信號之高頻重建的諧波轉置器的回溯相容整合 |
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 |
WO2019166317A1 (en) * | 2018-02-27 | 2019-09-06 | 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空调器(中山)有限公司 | 噪音类型识别方法、空调器及计算机可读存储介质 |
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 |
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 |
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) |
JP2004522198A (ja) * | 2001-05-08 | 2004-07-22 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | 音声符号化方法 |
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 |
JP2008529073A (ja) * | 2005-01-31 | 2008-07-31 | ソノリト・アンパルトセルスカブ | 重み付けされたオーバーラップ加算方法 |
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 |
DK2186089T3 (en) | 2007-08-27 | 2019-01-07 | Ericsson Telefon Ab L M | Method and apparatus for perceptual spectral decoding of an audio signal including filling in spectral holes |
BRPI0815972B1 (pt) * | 2007-08-27 | 2020-02-04 | Ericsson Telefon Ab L M | método para recuperação de espectro em decodificação espectral de um sinal de áudio, método para uso em codificação espectral de um sinal de áudio, decodificador, e, codificador |
US8527265B2 (en) * | 2007-10-22 | 2013-09-03 | Qualcomm Incorporated | Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs |
JP5547081B2 (ja) * | 2007-11-02 | 2014-07-09 | 華為技術有限公司 | 音声復号化方法及び装置 |
EP2077550B8 (en) * | 2008-01-04 | 2012-03-14 | Dolby International AB | Audio encoder and decoder |
CN101335000B (zh) * | 2008-03-26 | 2010-04-21 | 华为技术有限公司 | 编码的方法及装置 |
EP2311032B1 (en) | 2008-07-11 | 2016-01-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding audio samples |
RU2621965C2 (ru) * | 2008-07-11 | 2017-06-08 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. | Передатчик сигнала активации с деформацией по времени, кодер звукового сигнала, способ преобразования сигнала активации с деформацией по времени, способ кодирования звукового сигнала и компьютерные программы |
ES2642906T3 (es) * | 2008-07-11 | 2017-11-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificador de audio, procedimientos para proporcionar un flujo de audio y programa de ordenador |
RU2520402C2 (ru) | 2008-10-08 | 2014-06-27 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Переключаемая аудио кодирующая/декодирующая схема с мультиразрешением |
ES2441069T3 (es) * | 2009-10-08 | 2014-01-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decodificador multimodo para señal de audio, codificador multimodo para señal de audio, procedimiento y programa de computación que usan un modelado de ruido en base a linealidad-predicción-codificación |
WO2011044700A1 (en) * | 2009-10-15 | 2011-04-21 | Voiceage Corporation | Simultaneous time-domain and frequency-domain noise shaping for tdac transforms |
MX2012004648A (es) * | 2009-10-20 | 2012-05-29 | Fraunhofer Ges Forschung | Codificacion de señal de audio, decodificador de señal de audio, metodo para codificar o decodificar una señal de audio utilizando una cancelacion del tipo aliasing. |
CN102063905A (zh) * | 2009-11-13 | 2011-05-18 | 数维科技(北京)有限公司 | 一种用于音频解码的盲噪声填充方法及其装置 |
CN102194457B (zh) * | 2010-03-02 | 2013-02-27 | 中兴通讯股份有限公司 | 音频编解码方法、***及噪声水平估计方法 |
US8924222B2 (en) * | 2010-07-30 | 2014-12-30 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for coding of harmonic 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 | 日本電信電話株式会社 | 符号化方法、復号方法、符号化装置、復号装置、プログラム、記録媒体 |
KR101624019B1 (ko) * | 2011-02-14 | 2016-06-07 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 오디오 코덱에서 잡음 생성 |
EP3319087B1 (en) * | 2011-03-10 | 2019-08-21 | Telefonaktiebolaget LM Ericsson (publ) | Filling of non-coded sub-vectors in transform coded audio signals |
RU2648595C2 (ru) * | 2011-05-13 | 2018-03-26 | Самсунг Электроникс Ко., Лтд. | Распределение битов, кодирование и декодирование аудио |
BR112013033900B1 (pt) | 2011-06-30 | 2022-03-15 | Samsung Electronics Co., Ltd | Método para gerar um sinal estendido de largura de banda para decodificação de áudio |
JP2013015598A (ja) * | 2011-06-30 | 2013-01-24 | Zte Corp | オーディオ符号化/復号化方法、システム及びノイズレベルの推定方法 |
CN102208188B (zh) * | 2011-07-13 | 2013-04-17 | 华为技术有限公司 | 音频信号编解码方法和设备 |
RU2660605C2 (ru) * | 2013-01-29 | 2018-07-06 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Концепция заполнения шумом |
-
2014
- 2014-01-28 RU RU2015136505A patent/RU2660605C2/ru active
- 2014-01-28 EP EP20192419.8A patent/EP3761312B1/en active Active
- 2014-01-28 EP EP14701753.7A patent/EP2951817B1/en active Active
- 2014-01-28 PL PL18206224T patent/PL3471093T3/pl unknown
- 2014-01-28 CN CN201910419610.8A patent/CN110189760B/zh active Active
- 2014-01-28 KR KR1020177028123A patent/KR101926651B1/ko active IP Right Grant
- 2014-01-28 KR KR1020167019946A patent/KR101778220B1/ko active IP Right Grant
- 2014-01-28 JP JP2015555680A patent/JP6158352B2/ja active Active
- 2014-01-28 CA CA2898029A patent/CA2898029C/en active Active
- 2014-01-28 MY MYPI2015001882A patent/MY185164A/en unknown
- 2014-01-28 CN CN201910420349.3A patent/CN110223704B/zh active Active
- 2014-01-28 ES ES18206224T patent/ES2834929T3/es active Active
- 2014-01-28 PL PL14701991T patent/PL2951818T3/pl unknown
- 2014-01-28 AU AU2014211544A patent/AU2014211544B2/en active Active
- 2014-01-28 ES ES14701991T patent/ES2709360T3/es active Active
- 2014-01-28 TR TR2019/02849T patent/TR201902849T4/tr unknown
- 2014-01-28 KR KR1020157022827A patent/KR101757347B1/ko active IP Right Grant
- 2014-01-28 CN CN201480006656.2A patent/CN105190749B/zh active Active
- 2014-01-28 ES ES14701753T patent/ES2714289T3/es active Active
- 2014-01-28 TR TR2019/02394T patent/TR201902394T4/tr unknown
- 2014-01-28 ES ES18199319T patent/ES2796485T3/es active Active
- 2014-01-28 PT PT182062240T patent/PT3471093T/pt unknown
- 2014-01-28 EP EP18206224.0A patent/EP3471093B1/en active Active
- 2014-01-28 CN CN201480019092.6A patent/CN105264597B/zh active Active
- 2014-01-28 PT PT14701991T patent/PT2951818T/pt unknown
- 2014-01-28 EP EP14701991.3A patent/EP2951818B1/en active Active
- 2014-01-28 WO PCT/EP2014/051630 patent/WO2014118175A1/en active Application Filing
- 2014-01-28 CN CN201910419597.6A patent/CN110197667B/zh active Active
- 2014-01-28 MX MX2015009600A patent/MX345160B/es active IP Right Grant
- 2014-01-28 PL PL18199319T patent/PL3451334T3/pl unknown
- 2014-01-28 PT PT181993197T patent/PT3451334T/pt unknown
- 2014-01-28 KR KR1020167019944A patent/KR101778217B1/ko active IP Right Grant
- 2014-01-28 SG SG11201505893TA patent/SG11201505893TA/en unknown
- 2014-01-28 BR BR112015017748-4A patent/BR112015017748B1/pt active IP Right Grant
- 2014-01-28 PL PL14701753T patent/PL2951817T3/pl unknown
- 2014-01-28 EP EP20164371.5A patent/EP3693962B1/en active Active
- 2014-01-28 SG SG11201505915YA patent/SG11201505915YA/en unknown
- 2014-01-28 JP JP2015555679A patent/JP6289508B2/ja active Active
- 2014-01-28 PT PT14701753T patent/PT2951817T/pt unknown
- 2014-01-28 CA CA2898024A patent/CA2898024C/en active Active
- 2014-01-28 KR KR1020157022497A patent/KR101897092B1/ko active IP Right Grant
- 2014-01-28 MX MX2015009601A patent/MX343572B/es active IP Right Grant
- 2014-01-28 AU AU2014211543A patent/AU2014211543B2/en active Active
- 2014-01-28 KR KR1020167019945A patent/KR101877906B1/ko active IP Right Grant
- 2014-01-28 EP EP18199319.7A patent/EP3451334B1/en active Active
- 2014-01-28 BR BR112015017633-0A patent/BR112015017633B1/pt active IP Right Grant
- 2014-01-28 WO PCT/EP2014/051631 patent/WO2014118176A1/en active Application Filing
- 2014-01-28 RU RU2015136502A patent/RU2631988C2/ru active
- 2014-01-28 MY MYPI2015001884A patent/MY172238A/en unknown
- 2014-01-29 TW TW103103519A patent/TWI529700B/zh 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 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/06269A patent/ZA201506269B/en unknown
- 2015-08-27 ZA ZA2015/06266A patent/ZA201506266B/en unknown
-
2016
- 2016-06-03 HK HK16106322.8A patent/HK1218344A1/zh unknown
- 2016-06-03 HK HK16106324.6A patent/HK1218345A1/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 |
---|---|---|
ES2709360T3 (es) | Concepto de llenado con ruido | |
ES2952973T3 (es) | Dispositivo de determinación de la función de ponderación y procedimiento para cuantificar el coeficiente de codificación de predicción lineal |