ES2834929T3 - Llenado con ruido en la codificación de audio por transformada perceptual - Google Patents
Llenado con ruido en la codificación de audio por transformada perceptual Download PDFInfo
- Publication number
- ES2834929T3 ES2834929T3 ES18206224T ES18206224T ES2834929T3 ES 2834929 T3 ES2834929 T3 ES 2834929T3 ES 18206224 T ES18206224 T ES 18206224T ES 18206224 T ES18206224 T ES 18206224T ES 2834929 T3 ES2834929 T3 ES 2834929T3
- Authority
- ES
- Spain
- Prior art keywords
- spectral
- noise
- spectrum
- zero
- audio signal
- 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 331
- 238000001228 spectrum Methods 0.000 claims abstract description 235
- 230000005236 sound signal Effects 0.000 claims abstract description 98
- 238000007493 shaping process Methods 0.000 claims abstract description 13
- 230000007423 decrease Effects 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 30
- 230000002123 temporal effect Effects 0.000 claims description 14
- 230000011664 signaling Effects 0.000 claims description 13
- 230000000873 masking effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 230000007774 longterm Effects 0.000 claims description 5
- 230000008707 rearrangement Effects 0.000 claims description 3
- 238000005259 measurement Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 146
- 238000013139 quantization Methods 0.000 description 23
- 230000007704 transition Effects 0.000 description 18
- 230000001419 dependent effect Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000001747 exhibiting effect Effects 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000012886 linear function Methods 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003801 milling Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 229940035637 spectrum-4 Drugs 0.000 description 2
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000005054 agglomeration Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 230000000295 complement effect Effects 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
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/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/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/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
Codificador configurado para realizar el llenado de ruido en un espectro (34) de una señal de audio llenando el espectro con ruido para obtener un espectro lleno de ruido generando una señal de ruido intermedia; identificando porciones de cero espectrales contiguas del espectro de la señal de audio; determinando una función para cada porción de cero espectral contigua dependiendo del ancho de la porción de cero espectral contigua respectiva de modo que la función se limite a la porción de cero espectral contigua respectiva, la posición espectral de la porción de cero espectral contigua respectiva de modo que una escala de la función dependa de la posición espectral de la porción de cero espectral contigua respectiva de manera que una cantidad de escalado aumente o disminuya monótonamente con el aumento de la frecuencia de la posición espectral de la porción de cero espectral contigua respectiva; y conformando espectralmente, para cada porción de cero espectral contigua, la señal de ruido intermedia usando la función determinada para la porción de cero espectral contigua respectiva de manera que el ruido exhiba una inclinación espectralmente global que tenga una pendiente negativa.
Description
DESCRIPCIÓN
Llenado con ruido en la codificación de audio por transformada perceptual
[0001] La presente solicitud se refiere al llenado con ruido en la codificación de audio por transformada perceptual.
[0002] En la codificación por transformadas con frecuencia se reconoce (comparar [1], [2], [3]) que la cuantificación de partes de un espectro a cero lleva a una degradación perceptual. Tales partes cuantificadas a cero se denominan agujeros espectrales. Una solución a este problema presentada en [1], [2], [3] y [4] consiste en reemplazar las líneas espectrales cuantificadas a cero con ruido. En ocasiones, se evita la inserción de ruido por debajo de una determinada frecuencia. La frecuencia de partida para el llenado con ruido es fija, aunque difiere en la técnica anterior.
[0003] En ocasiones se utiliza FDNS (Modelado de Ruido en el Dominio de la Frecuencia) para modelar el espectro (incluyendo el ruido insertado) y para el control del ruido de cuantificación, 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 señal de entrada pre-enfatizada.
[0004] En [1] se señaló que la adición de ruido en la proximidad inmediata de un componente tonal lleva a una degradación y, en consecuencia, tal como en [5] solo se llenan con ruido largas sucesiones de ceros para evitar que los valores no cero queden ocultos por el ruido circundante inyectado.
[0005] En [3] se señala que existe un problema de un compromiso entre la granularidad del llenado con ruido y el tamaño de la información complementaria necesaria. En [1], [2], [3] y [5] se transmite un parámetro 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 cómo 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.
[0006] Aunque las soluciones de [1] y [5] evitan la degradación de los componentes tonales puesto que sugieren no llenar los pequeños agujeros espectrales, especialmente a muy bajas tasas de bits.
[0007] Existen otros problemas más allá de los descritos anteriormente, que se producen como resultado de los conceptos de llenado con ruido conocidos hasta ahora, de acuerdo con los cuales se introduce ruido en el espectro de manera espectralmente plana.
[0008] El documento US 2012/0271644 A1 se refiere a la codificación de audio multi-modo y, en particular, a la codificación de audio multi-modo utilizando un modo TCX-LPD y un modo ACELP en paralelo. Con respecto a la codificación de transformada de la señal de excitación, el documento D1 describe que puede aplicarse un relleno de ruido opcional a los coeficientes espectrales cuantificados inversamente para obtener coeficientes espectrales llenos de ruido.
[0009] Sería favorable tener a mano un concepto mejorado de llenado con ruido que aumente la calidad de audio obtenido como resultado del espectro llenado con ruido, al menos en conexión con la codificación de audio por transformada perceptual.
[0010] En consecuencia, un objeto de la presente invención consiste en presentar un concepto de llenado con ruido en la codificación de audio por transformada perceptual con características mejoradas.
[0011] Este objeto 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 dependientes.
[0012] Es un hallazgo básico de la presente solicitud que el llenado con ruido en los códecs de audio por transformada perceptual se puede mejorar mediante la ejecución del llenado con ruido con una inclinación espectralmente global, en lugar de en forma espectralmente plana. Por ejemplo, la inclinación espectralmente global puede tener pendiente negativa, es decir exhibir una reducción de bajas a altas frecuencias, para revertir al menos parcialmente la inclinación espectral causada al someter al espectro llenado con ruido a la función de ponderación espectral perceptual. También se puede concebir una pendiente positiva, por ejemplo, en casos en que el espectro codificado exhibe un carácter de tipo paso alto. En particular, las funciones de ponderación perceptual espectral tienden 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, terminaría en un ruido de fondo inclinado en el espectro reconstruido en última instancia. Los inventores de la presente solicitud, sin embargo, observaron que esta inclinación en el espectro reconstruido en última 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 inserción del ruido con una inclinación espectral global para que el nivel de ruido se reduzca desde las frecuencias bajas a las altas compensa, al menos en parte, tal inclinación espectral causada por el modelado subsiguiente del espectro llenado con ruido usando la función de ponderación espectral perceptual, mejorando así la calidad del audio. Según las circunstancias, puede ser preferible una pendiente positiva, como se ha señalado anteriormente.
[0013] La pendiente de la inclinación espectralmente global se varía en respuesta a una señalización en el flujo de datos en el cual se codifica el espectro. La señalización puede señalizar, por ejemplo, de manera explícita, el grado de inclinación y se puede adaptar, del lado de la codificación, a la cantidad de inclinación espectral causada por la función de ponderación espectral perceptual. Por ejemplo, la cantidad de inclinación espectral causada por la función de ponderación espectral perceptual se puede originar en un pre-énfasis al cual se somete a la señal de audio antes de aplicar el análisis LPC a la misma.
[0014] Se mejora aun más la calidad del llenado con ruido de un espectro de una señal de audio con respecto al ruido introducido en el espectro, por lo que la reproducción de la señal llenada con ruido es menos molesta, mediante la ejecución del llenado con ruido de manera dependiente de una tonalidad de la señal de audio.
[0015] Se llena una porción espectral contigua de cero del espectro de la señal de audio con ruido modelado espectralmente utilizando una función que asume un máximo en el interior de la porción espectral contigua de cero, y que presenta bordes de bajada hacia el exterior cuya pendiente absoluta depende negativamente de la tonalidad, es decir que la pendiente se reduce con el aumento de la tonalidad. Además o por otro lado, la función empleada para el llenado asume un máximo en la parte interna de la porción espectral contigua de cero y tiene bordes de bajada hacia el exterior, cuyo ancho espectral depende positivamente de la tonalidad, es decir el ancho espectral se incrementa con el aumento de la tonalidad. Por añadidura, además o por otro lado, se puede utilizar una función constante o unimodal para llenar, una integral de la cual - normalizada a una integral de 1 - en los cuartos externos de la porción 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 señal de audio, aunque de todos modos es eficaz para las partes no tonales de la señal de audio en términos de reducción de los agujeros espectrales. En otras palabras, siempre que la señal de audio tenga un contenido de componentes tonales, el ruido introducido en el espectro de la señal de audio deja intactos los picos tonales del espectro al mantener una distancia suficiente de los mismos, donde no obstante el carácter no tonal de las fases temporales de la señal de audio con el contenido de audio no tonal es satisfecho por el llenado con ruido.
[0016] Se identifican las porciones espectrales contiguas de cero del espectro de la señal de audio y las porciones de cero identificadas se llenan con ruido espectralmente modelado con funciones de tal manera que, por cada porción espectral contigua de cero se fija la función respectiva dependiendo de un ancho de la respectiva porción espectral contigua de cero y de la tonalidad de la señal de audio. Para facilitar la implementación, se puede determinar la dependencia mediante una búsqueda en una tabla de búsqueda de funciones, o se pueden calcular las funciones analíticamente utilizando una fórmula matemática dependiendo del ancho de la porción espectral contigua de cero y de la tonalidad de la señal de audio. En todo caso, el esfuerzo para obtener la dependencia es relativamente ínfimo en comparación con las ventajas que se obtienen como resultado de la dependencia. En particular, la dependencia puede ser tal que se fije la respectiva función dependiendo del ancho de la porción espectral contigua de cero de manera que la función quede limitada a la respectiva porción espectral contigua de cero, y dependiendo de la tonalidad de la señal de audio de manera que, para una tonalidad más alta de la señal de audio, la masa de una función se vuelva más compacta en la parte interna de la respectiva porción espectral contigua de cero y alejada de los bordes de la respectiva porción espectral contigua de cero.
[0017] El ruido modelado espectralmente e introducido en las porciones espectrales contiguas de ceros por lo general se escala utilizando un nivel espectralmente global de llenado con ruido. En particular, el ruido se escala de tal manera que una integral del ruido en las porciones espectrales contiguas de ceros o una integral sobre las funciones de las porciones espectrales contiguas de ceros corresponda a, por ejemplo, sea igual a, un nivel global de llenado con ruido. Ventajosamente, un nivel global de llenado con ruido se codifica dentro de los códecs de audio existentes de manera que no haya necesidad de suministrar sintaxis adicional para esos códecs de audio. En otras palabras, el nivel global de llenado con ruido puede ser explícitamente señalizado en el flujo de datos en el cual se codifica la señal de audio con poco esfuerzo. En efecto, las funciones con las cuales se modela el ruido de la porción espectral contigua de cero espectralmente se pueden escalar de tal manera que una integral sobre el ruido con el cual se llenan todas las porciones espectrales contiguas de ceros corresponde al nivel global de llenado con ruido.
[0018] La tonalidad se deriva de un parámetro de codificación utilizando el cual se codifica la señal de audio. Mediante esta medida, no es necesario transmitir ninguna información adicional dentro de un códec de audio existente. De acuerdo con realizaciones específicas, el parámetro de codificación es una bandera o ganancia de LTP (Predicción a Largo Plazo), una bandera o ganancia de habilitación de TNS (Modelado Temporal de Ruido) y/o una bandera de habilitación de reordenamiento del espectro.
[0019] La ejecución del llenado con ruido se limita a una porción espectral de alta frecuencia, donde se fija una
posición de partida de baja frecuencia de la porción espectral de alta frecuencia que corresponde a una señalización explícita en un flujo de datos y con la cual se codifica la señal de audio. Por esta medida, es factible una determinación adaptativa a la señal del límite inferior de la porción espectral de alta frecuencia en la cual se ejecuta el llenado con ruido. Por esta medida, a su vez, se puede aumentar la calidad del audio obtenida como resultado del llenado con ruido. A su vez, la información complementaria adicional necesaria causada por la señalización explícita es comparativamente pequeña.
[0020] Se puede utilizar el llenado con ruido del lado de la codificación de audio y/o la decodificación de audio.
[0021] Cuando se utiliza del lado de la codificación de audio, el espectro llenado con ruido se puede emplear para fines de análisis por síntesis.
[0022] De conformidad con una realización, un codificador determina el nivel de escalado global de ruido tomando en cuenta la dependencia de la tonalidad.
[0023] A continuación se describen las realizaciones preferidas de la presente solicitud en relación con las figuras, en las cuales:
Fig. 1a ilustra un diagrama de bloques de un codificador de audio por transformada perceptual de conformidad con una realización;
Fig. 1b ilustra un diagrama de bloques de un decodificador de audio por transformada perceptual de conformidad con una realización;
Fig. 1c ilustra un diagrama esquemático que muestra una manera posible de obtener la inclinación espectralmente global introducida en el ruido introducido de conformidad con una realización.
Fig. 2a ilustra, de manera alineada en el tiempo, uno sobre otro, de arriba hacia abajo, un fragmento de tiempo extraído de una señal de audio, cuyo espectrograma utiliza una variación espectro-temporal indicada esquemáticamente “en escala de grises” de la energía espectral y la tonalidad de la señal de audio con fines ilustrativos;
Fig. 2b ilustra un diagrama de bloques de un aparato de llenado con ruido de conformidad con una realización; Fig. 3 ilustra una vista esquemática de un espectro que se va a someter a llenado con ruido y una función empleada para el modelado espectral del ruido utilizado para llenar una porción espectral contigua de cero de este espectro de conformidad con una realización;
Fig. 4 ilustra una vista esquemática de un espectro que se va a someter a llenado con ruido y una función empleada para el modelado espectral del ruido utilizado para llenar una porción espectral contigua de cero de este espectro de acuerdo con otra realización;
Fig. 5 ilustra una vista esquemática de un espectro que se va a someter a llenado con ruido y una función empleada para el modelado espectral del ruido utilizado para llenar una porción espectral contigua de cero de este espectro de acuerdo con una realización adicional;
Fig. 6 ilustra un diagrama de bloques del dispositivo de llenado con ruido de la Fig. 2 de conformidad con una realización;
Fig. 7 ilustra esquemáticamente una relación posible entre la tonalidad de la señal de audio determinada por un lado y las funciones posibles disponibles para el modelado espectral de una porción espectral contigua de cero por el otro, de conformidad con una realización;
Fig. 8 ilustra esquemáticamente un espectro que se va a llenar con ruido y además exhibe las funciones utilizadas para el modelado espectral del ruido para llenar las porciones espectrales contiguas de ceros del espectro con el fin de ilustrar cómo se debe escalar el nivel de ruido de conformidad con una realización;
Fig. 9 ilustra un diagrama de bloques de un codificador que se puede emplear en un códec de audio que adopta el concepto de llenado con ruido descrito con respecto a las Figs. 1 a 8;
Fig. 10 ilustra esquemáticamente un espectro cuantificado para su llenado con ruido como se codifica por el codificador de la Fig. 9 junto con información complementaria transmitida, es decir factores de escala y nivel global de ruido, de conformidad con una realización;
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 esquemática de un espectrograma con datos de información complementaria asociados acuerdo con una variante de una implementación del codificador y decodificador de las Figs. 9 y 11;
Fig. 13 ilustra un codificador de audio por transformada de predicción lineal que se puede incluir en un códec de audio utilizando el concepto de llenado con ruido de las Figs. 1 a 8 de conformidad con una realización;
Fig. 14 ilustra un diagrama de bloques de un decodificador que se adapta al codificador de la Fig. 13;
Fig. 15 ilustra ejemplos de fragmentos tomados de un espectro que se va a llenar con ruido;
Fig. 16 ilustra un ejemplo explícito de una función para modelar el ruido introducido en una determinada porción espectral contigua de cero del espectro que se va a llenar con ruido de conformidad con una realización;
Figs. 17a-d ilustran diversos ejemplos de funciones para el modelado espectral del ruido introducido en porciones espectrales contiguas de cero correspondientes a diferentes anchos de porciones de cero y diferentes anchos de transición empleados para las diferentes tonalidades.
[0024] En toda la descripción siguiente de las figuras, se utilizan signos de referencia iguales para los elementos expuestos en estas figuras; se debe interpretar que la descripción presentada con respecto a un elemento de una figura se puede transferir al elemento de otra figura que está indicado con el mismo signo de referencia. En virtud de esta medida, se evita en lo posible una descripción extensa y repetitiva, concentrando así la descripción de las diversas realizaciones en las diferencias entre sí en lugar de describir de nuevo y desde el comienzo todas las realizaciones una y otra vez.
[0025] La Fig. 1a ilustra un codificador de audio de conformidad con una realización de la presente solicitud y la Fig. 1b ilustra un decodificador de audio de conformidad con una realización de la presente solicitud, ambos adaptados entre sí para formar un códec de audio por transformada perceptual.
[0026] Como se ilustra en la Fig. 1a, el codificador de audio por transformada perceptual comprende un ponderador del espectro 1 configurado para ponderar espectralmente el espectro original de una señal de audio recibida por el ponderador del espectro 1 de acuerdo con la inversa de una función de ponderación espectral perceptual determinada por el ponderador del espectro 1 de manera predeterminada de la cual se exponen ejemplos más adelante. El ponderador espectral 1 obtiene, por esta medida, un espectro perceptualmente ponderado que se somete a continuación a cuantificación de forma espectralmente uniforme, es decir de manera igual para las líneas 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 se codifica en un flujo de datos emitido por el codificador de audio por transformada perceptual.
[0027] Para controlar el llenado con ruido que se va a ejecutar del lado de la decodificación con el fin de mejorar el espectro 34, en lo referente a la fijación del nivel de ruido, opcionalmente puede haber una calculadora de nivel de ruido 3 del codificador de audio por transformada perceptual presente para calcular un parámetro de nivel de ruido midiendo un nivel del espectro perceptualmente ponderado 4 en las porciones 5 ubicadas conjuntamente en las porciones de cero 40 del espectro cuantificado 34. El parámetro de nivel de ruido calculado de este modo se puede codificar asimismo en el flujo de datos antes mencionado para que llegue al decodificador.
[0028] El decodificador de audio por transformada perceptual se expone en la Fig. 1b. El mismo comprende un aparato de llenado con ruido 30 configurado para ejecutar el llenado con ruido en el espectro entrante 34 de la señal 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 inclinación espectralmente global de manera que el nivel de ruido se reduzca de bajas a altas frecuencias con el 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, está configurado para someter al espectro llenado con ruido a modelado espectral utilizando la función de ponderación espectral perceptual obtenida del lado de la codificación a través del flujo de datos de la manera descrita mediante los siguientes ejemplos específicos 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 señal 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 señal de audio.
[0029] La significancia de llenar el espectro 34 con ruido 9 que exhibe una inclinación 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 función de ponderación inclinada. Por ejemplo, el espectro se amplifica a las altas frecuencias en comparación con una ponderación de las bajas frecuencias. En otras palabras, el nivel del espectro 36 se eleva a frecuencias más altas en relación con las frecuencias más bajas. Esto causa una inclinación 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 porción de cero 40 del mismo, de manera espectralmente plana, entonces el espectro emitido por FDNS 6 exhibiría en estas porciones 40 un ruido de fondo que tiende a incrementarse, por ejemplo, de bajas a altas frecuencias. En otras palabras, al examinar la totalidad del espectro o al menos la porción del ancho de banda del espectro en la cual se ejecuta el llenado con ruido, se vería que el ruido dentro de las porciones 40 tiene tendencia o una función de regresión 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 inclinación espectralmente global de pendiente positiva o negativa, indicada con a en la Fig. 1b, y que está inclinada en dirección opuesta en comparación con la inclinación causada por el FDNS 9, la inclinación espectral causada por el FDNS 6 se compensa y el ruido de fondo introducido de ese modo en el espectro reconstruido en última instancia a la salida del FDNS 6 es plano o al menos más plano, aumentando así la calidad del audio dejando menos agujeros profundos de ruido.
[0030] “Inclinación espectralmente global” debe indicar que el ruido 9 llenado en el espectro 34 tiene un nivel que tiende a disminuir (o aumentar) de bajas a altas frecuencias. Por ejemplo, al trazar una línea de regresión lineal a través de un máximo local de ruido 9 insertado, por ejemplo, en porciones de cero espectrales contiguas mutuamente espectralmente distanciadas 40, la línea de regresión lineal obtenida tiene la pendiente negativa (o positiva) a.
[0031] 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 inclinación 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 está indicada con p en la Fig. 1a, sea igual a la aplicada del lado de la decodificación en lo que respecta al valor absoluto de la misma, aunque de conformidad con una realización éste podría ser el caso. Al hacerlo así, la calculadora de nivel de ruido 3 puede adaptar el nivel del ruido 9 insertado del lado de la decodificación con más precisión al nivel de ruido que se aproxima mejor a la señal original y a través de todo el ancho de banda espectral.
[0032] Más adelante se explicará que puede ser factible controlar una variación de una pendiente de la inclinación espectralmente global a mediante señalización explícita en el flujo de datos o mediante señalización implícita por el hecho de que, por ejemplo, el aparato de llenado con ruido 30 deduce la inclinación, por ejemplo, de la función de ponderación espectral perceptual en sí o de una conmutación de largo de ventana de transformada. Mediante esta última deducción, por ejemplo, se puede adaptar la pendiente a la longitud de la ventana.
[0033] Hay diferentes maneras posibles por medio de las cuales el aparato de llenado con ruido 30 hace que el ruido 9 exhiba la inclinación espectralmente global. La Fig. 1c, por ejemplo, ilustra que el aparato de llenado con ruido 30 ejecuta una multiplicación por líneas espectrales 11 entre una señal de ruido intermediaria 13, que representa un estado intermedio en el procedimiento de llenado con ruido, y una función que aumenta (o disminuye) de forma monótona 15, es decir una función que disminuye (o aumenta) espectralmente de forma monótona a través de todo el espectro o al menos la porción en la que se ejecuta el llenado con ruido, para obtener el ruido 9. Como se ilustra en la Fig. 1c, la señal de ruido intermediaria 13 puede estar ya espectralmente modelada. Los detalles en este aspecto pertenecen a las realizaciones específicas señaladas con más detalle más adelante, de acuerdo con las cuales se ejecuta también el llenado con ruido dependiendo de la tonalidad. Sin embargo, se puede omitir también el modelado espectral o se puede ejecutar después de la multiplicación 11. Se puede utilizar la señal de parámetro de nivel de ruido y el flujo de datos para establecer el nivel de la señal de ruido intermediaria 13, aunque por otro lado se puede generar la señal de ruido intermediaria utilizando un nivel estándar, aplicando el parámetro escalar de nivel de ruido para escalar el espectro después de la multiplicación 11. La función en disminución monótona 15 puede ser una función lineal, como se ilustra en la Fig. 1c, una función lineal por fragmentos, una función polinómica o cualquier otra función.
[0034] Como se describe más adelante de forma más detallada, sería factible fijar adaptativamente la porción de todo el espectro dentro del cual el llenado con ruido es ejecutado por el aparato de llenado con ruido 30.
[0035] En conexión con las realizaciones que se describen más detalladamente más adelante, de acuerdo con las cuales se llenan las porciones espectrales contiguas de cero del espectro 34, es decir los agujeros espectrales, de manera específica no plana y dependiente de la tonalidad, se debe explicar que también hay alternativas para la multiplicación 11 ilustrada en la Fig. 1c para provocar la inclinación espectralmente global descrita hasta ahora.
[0036] La siguiente descripción sigue adelante con realizaciones específicas para la ejecución del llenado con ruido. En adelante se presentan diferentes realizaciones correspondientes a diversos códecs de audio a los cuales se puede incorporar el llenado con ruido, junto con detalles específicos que se podrían aplicar en conexión con un respectivo códec de audio presentado. Cabe señalar que el llenado con ruido que se describe a continuación puede ser ejecutado, en todo caso, del lado de la decodificación. Dependiendo del codificador, sin embargo, se puede ejecutar también el llenado con ruido que se describe a continuación del lado de la codificación como, por ejemplo, por razones de análisis por síntesis. A continuación se describe también un caso intermedio de acuerdo con el cual la forma modificada de llenado con ruido de acuerdo con las realizaciones descritas a continuación simplemente cambia
parcialmente la manera de funcionar del codificador como, por ejemplo, para determinar un nivel espectralmente global de llenado con ruido.
[0037] La Fig. 2a presenta, con fines ilustrativos, una señal de audio 10, es decir el curso temporal de sus muestras de audio, por ejemplo, el espectrograma alineado en el tiempo 12 de la señal de audio que ha sido derivado de la señal de audio 10, al menos entre otros modos, por medio de una transformación adecuada tal como una transformación solapada ilustrada en 14 a título de ejemplo para 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. Más adelante se presentan ejemplos de espectrograma 12 y de cómo se obtiene el mismo. En todo caso, el espectrograma 12 ha sido objeto de algún tipo de cuantificación y, por consiguiente, tiene porciones de ceros donde los valores espectrales en los cuales se muestrea espectro-temporalmente el espectrograma 12 son contiguas de ceros. La transformada solapada 14 puede ser, por ejemplo, una transformada con muestreo crítico tal como una MDCT. Las ventanas de transformada 16 pueden tener un solapamiento del 50 % entre sí, aunque también son factibles otras realizaciones. Además, la resolución espectro-temporal con la cual se muestrea el espectrograma 12 en los valores espectrales puede variar en el tiempo. En otras palabras, la distancia temporal entre espectros consecutivos 18 del espectrograma 12 puede variar en el tiempo y lo mismo se aplica a la resolución espectral de cada espectro 18. En particular, la variación en tiempo en lo que se refiere a la distancia temporal entre espectros consecutivos 18, puede ser inversa a la variación de la resolución espectral de los espectros. La cuantificación utiliza, por ejemplo, un tamaño de paso de cuantificación adaptativa a la señal con variación espectral, que varía, por ejemplo, de acuerdo con una envolvente espectral de LPC de la señal de audio descrita por los coeficientes de Lp señalizados en el flujo de datos en el cual se codifican los valores espectrales cuantificados del espectrograma 12 con los espectros 18 que se van a llenar con ruido, o de acuerdo con factores de escala determinados, a su vez, de acuerdo con un modelo psico-acústico, y señalizados en el flujo de datos.
[0038] Más allá de eso, en forma alineada en el tiempo, la Fig. 2a ilustra una característica de la señal de audio 10 y su variación temporal, es decir la tonalidad de la señal de audio. En términos generales, la “tonalidad” indica una medida que describe cómo de condensada está la energía de la señal de audio en un determinado punto de tiempo en el espectro respectivo 18 asociado a ese punto de tiempo. Si la energía está muy dispersa como, por ejemplo, en las fases temporales ruidosas de la señal de audio 10, la tonalidad es baja. Pero si la energía está sustancialmente concentrada en uno o más picos espectrales, en ese caso la tonalidad es alta.
[0039] La Fig. 2b ilustra un aparato de llenado con ruido 30 configurado para ejecutar el llenado con ruido en el espectro de una señal de audio de conformidad con una realización de la presente solicitud. Como se describe más adelante de forma más detallada, el aparato está configurado para ejecutar el llenado con ruido dependiendo de la tonalidad de la señal de audio.
[0040] El aparato de la Fig. 2b comprende un dispositivo de llenado con ruido 32 y un determinador de la tonalidad 34, que es opcional.
[0041] El llenado con ruido en sí es ejecutado por el dispositivo de llenado con ruido 32. El dispositivo de llenado con ruido 32 recibe el espectro al que se va a aplicar el llenado con ruido. Este espectro se ilustra en la Fig. 2b en forma de espectro disperso 34. El espectro disperso 34 puede ser un espectro 18 tomado del espectrograma 12. Los espectros 18 entran en el dispositivo de llenado con ruido 32 sucesivamente. El dispositivo de llenado con ruido 32 somete al espectro 34 a llenado con ruido y emite el “espectro relleno” 36. El dispositivo de llenado con ruido 32 ejecuta el llenado con ruido dependiendo de la tonalidad de la señal de audio, tal como la tonalidad 20 de la Fig. 2a. Dependiendo de las circunstancias, la tonalidad puede no estar directamente disponible. Por ejemplo, los códecs de audio existentes no dan lugar a una señalización explícita de la tonalidad de la señal de audio en el flujo de datos, por lo que si el aparato 30 se instala del lado de la decodificación, no sería factible reconstruir la tonalidad sin un alto grado de estimación falsa. Por ejemplo, el espectro 34 puede no ser una base óptima para el cálculo de la tonalidad debido a su poca densidad y/o debido a su cuantificación variante adaptativa a la señal.
[0042] En consecuencia, es la tarea del determinador de tonalidades 34 suministrar al dispositivo de llenado con ruido 32 una estimación de la tonalidad sobre la base de otro indicio de tonalidad 38 como se describe más adelante de forma más detallada. De acuerdo con las realizaciones que se describen más adelante, el indicio de tonalidad 38 puede estar disponible de todas maneras en los lados de la codificación y la decodificación, por medio de un respectivo parámetro de codificación transportado en el flujo de datos del códec de audio dentro del cual se utiliza, por ejemplo, el aparato 30. En la Fig. 1b, se emplea el aparato 30 del lado de la decodificación, aunque por otro lado, se podría utilizar asimismo el aparato 30 del lado de la codificación, como en un bucle de realimentación de predicción del codificador de la Fig. 1a en caso de estar presente.
[0043] La Fig. 3 ilustra un ejemplo correspondiente al espectro disperso 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 están separadas o distanciadas espectralmente entre sí por al menos una línea espectral no cuantificada a cero en el espectro 34.
[0044] La dependencia de la tonalidad del llenado con ruido descrito anteriormente en general con respecto a la Fig. 2b puede ser implementada de la siguiente manera. La Fig. 3 ilustra una porción temporal 44 que incluye una porción espectral contigua de cero 40, desproporcionada en 46. El dispositivo de llenado con ruido 32 está configurado para llenar esta porción espectral contigua de cero 40 de manera dependiente de la tonalidad de la señal de audio en el momento al que pertenece el espectro 34. En particular, el dispositivo de llenado con ruido 32 llena la porción espectral contigua de cero con ruido modelado espectralmente utilizando una función que asume un máximo en el interior de la porción espectral contigua de cero, y que presenta bordes de bajada hacia el exterior, cuya pendiente absoluta depende negativamente de la tonalidad. La Fig. 3 ilustra a modo de ejemplo dos funciones 48 correspondientes a dos tonalidades diferentes. Ambas funciones son “unimodales”, es decir que asumen un máximo absoluto en la parte interna de la porción espectral contigua de cero 40 y tienen meramente un máximo local que puede ser una meseta o una única frecuencia espectral. En este caso, el máximo local es asumido por las funciones 48 y 50 de forma continua en todo un intervalo extendido 52, es decir una meseta, dispuesta en el centro de la porción de cero 40. El dominio de las funciones 48 y 50 es la porción de cero 40. El intervalo central 52 abarca solamente la porción central de la porción de cero 40 y está flanqueado por una porción de borde 54 en un extremo de frecuencia más elevada del intervalo 52, y una porción de borde de frecuencia más baja 56 en un extremo de menor frecuencia del intervalo 52. Dentro de la porción de borde 54, las funciones 48 y 52 tienen un borde de descenso 58, y dentro de la porción de borde 56, un borde de ascenso 60. Se puede atribuir una pendiente absoluta a cada borde 58 y 60, respectivamente, tal como la pendiente media dentro de la porción de borde 54 y 56, respectivamente. En otras palabras, la pendiente atribuida al borde de descenso 58 puede ser la pendiente media de la respectiva función 48 y 52, respectivamente, dentro de la porción de borde 54 y la pendiente atribuida al borde de subida 60 puede ser la pendiente media de la función 48 y 52, respectivamente, dentro de la porción de borde 56.
[0045] Como se puede apreciar, el valor absoluto de la pendiente de los bordes 58 y 60 es más elevada en el caso de la función 50 que en el de la función 48. El dispositivo de llenado con ruido 32 opta por llenar la porción de cero 40 con la función 50 para tonalidades más bajas que las tonalidades para las cuales el dispositivo de llenado con ruido 32 elige usar la función 48 para llenar la porción de cero 40. Por esta medida, el dispositivo de llenado con ruido 32 evita la aglomeración 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, más lejos está el ruido introducido en la porción de cero 40 de las porciones no cero del espectro 34 que rodean a la porción de cero 40.
[0046] El dispositivo de llenado con ruido 32 puede optar, por ejemplo, por seleccionar la función 48 en un caso en que la tonalidad de la señal de audio es 12 , y la función 50 en caso de que la tonalidad de la señal de audio sea n, aunque la descripción presentada más adelante revelará que el dispositivo de llenado con ruido 32 puede discriminar entre más de dos estados diferentes de la tonalidad de la señal de audio, es decir puede admitir más de dos funciones diferentes 48, 50 para llenar una determinada porción espectral contigua de cero y elegir entre ellas dependiendo de la tonalidad mediante un mapeo sobreyectivo de tonalidades a funciones.
[0047] Como nota menor, cabe señalar que la construcción 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 acampanasen forma de campana, por ejemplo, de acuerdo con una alternativa. El intervalo 52 se puede definir, por otro lado, como intervalo en el cual la función es superior al 95 % de su valor máximo.
[0048] La Fig. 4 ilustra una alternativa correspondiente a la variación de la función empleada para el modelado espectral del ruido con el cual el dispositivo de llenado con ruido 32 llena cierta porción espectral contigua de cero 40 y, en la tonalidad. De acuerdo con la Fig. 4, la variación 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 puede ser incluso independiente de la tonalidad, es decir no cambiar con ésta. En particular, de acuerdo con el ejemplo de la Fig. 4, el dispositivo de llenado con ruido 32 establece la función con cuyo uso se modela espectralmente el ruido para llenar la porción 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 más altas, se utiliza la función 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 más bajas, se utiliza la función 50 para la cual el ancho espectral de los bordes de bajada hacia el exterior 58 y 60 es menor.
[0049] La Fig. 4 ilustra otro ejemplo de variación de una función empleada por el dispositivo de llenado con ruido 32 para el modelado espectral del ruido con el cual se llena la porción espectral contigua de cero 40: en este caso, la característica de la función que varía con la tonalidad es la integral sobre los cuartos externos de la porción de cero 40. Cuanto más alta es la tonalidad, mayor es el intervalo. Antes de determinar el intervalo, se ecualiza/normaliza el intervalo total de la función sobre la porción de cero completa 40, por ejemplo a 1.
[0050] Para explicar esto, véase la Fig. 5. La porción espectral contigua de cero 40 aparece dividida en cuatro cuartos de igual tamaño 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 título de ejemplo, en el punto
medio de la porción de cero 40, aunque ambas se extienden desde los cuartos internos b, c hacia los cuartos externos a y d. La porción solapada de las funciones 48 y 50, que se solapa sobre los cuartos externos a y d, respectivamente, aparece simplemente sombreada.
[0051] En la Fig. 5, ambas funciones tienen la misma integral sobre toda la porción de cero 40, es decir sobre los cuatro cuartos a, b, c, d. La integral se normaliza, por ejemplo, a 1.
[0052] En esta situación, la integral de la función 50 sobre los cuartos a, d es mayor que la integral de la función 48 sobre los cuartos a, d y en consecuencia, el dispositivo de llenado con ruido 32 utiliza la función 50 para las tonalidades más altas y la función 48 para las tonalidades más bajas, es decir que la integral sobre los cuartos externos de las funciones normalizadas 50 y 48 depende negativamente de la tonalidad.
[0053] Con fines ilustrativos, en el caso de la Fig. 5 las dos funciones 48 y 50 han sido expuestas, a título de ejemplo, como funciones constantes o binarias. La función 50, por ejemplo, es una función que asume un valor constante en todo el dominio, es decir que la totalidad de la porción de cero 40, y la función 48 es una función binaria que es cero en los bordes externos de la porción de cero 40, y que asume un valor constante no cero entre las mismas. Debe resultar evidente que, en términos generales, las funciones 50 y 48 de acuerdo con el ejemplo de la Fig. 5 pueden ser cualquier función constante o unimodal tal como las que corresponden a las expuestas en las Figs. 3 y 4. Para ser más precisos, al menos una puede ser unimodal y al menos una constante (por partes) y otras potenciales pueden ser unimodales o constantes.
[0054] Aunque el tipo de variación de las funciones 48 y 50 dependiendo de la tonalidad varía, todos los ejemplos de las Figs. 3 a 5 tienen en común que, para aumentar la tonalidad, se reduce el grado de dispersión 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 señal de audio y de todas maneras da lugar a una aproximación agradable de las fases no tonales de la señal de audio.
[0055] Hasta ahora la descripción de las Figs. 3 a 5 se centró en el llenado de una porción espectral contigua de cero. De acuerdo con una realización de la Fig. 6, el aparato de la Fig. 2a-2b está configurado para identificar porciones espectrales contiguas de ceros del espectro de la señal de audio y para aplicar el llenado con ruido a las porciones espectrales contiguas de ceros así identificadas. En particular, la Fig. 6 ilustra el dispositivo de llenado con ruido 32 de la Fig. 2a-2b con más detalle mostrando que comprende un identificador de porciones de ceros 70 y un dispositivo de llenado de la porción 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 en la Fig. 3. Como ya se ha descrito 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 identificación a una porción espectral de alta frecuencia del espectro de la señal de audio a partir, es decir situado más arriba, de cierta frecuencia inicial. En consecuencia, el aparato puede estar configurado para confinar la ejecución del llenado con ruido a esa porción espectral de alta frecuencia. La frecuencia inicial por encima de la cual el identificador de porciones de cero 70 ejecuta la identificación de porciones espectrales contiguas de cero, y por encima de la cual el aparato está configurado para confinar la ejecución del llenado con ruido, puede ser fija o puede variar. Por ejemplo, se puede emplear la señalización explícita en el flujo de datos de una señal de audio en el cual se codifica la señal de audio a través de su espectro para señalizar la frecuencia inicial que se va a utilizar.
[0056] El dispositivo de llenado de porciones de cero 72 está configurado para llenar las porciones espectrales contiguas de ceros identificadas por el identificador 70 con ruido modelado espectralmente de acuerdo con una función 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 porción espectral contigua de cero como, por ejemplo, del número de valores espectrales que se han cuantificado a cero de la sucesión de valores espectrales cuantificados a cero de la respectiva porción espectral contigua de cero y de la tonalidad de la señal de audio.
[0057] En particular, el llenado individual de cada porción espectral contigua de cero identificada por el identificador 70 puede ser ejecutado por el dispositivo de llenado 72 de la siguiente manera: la función se establece de conformidad con el ancho de la porción espectral contigua de cero por lo que la función queda confinada a la respectiva porción espectral contigua de cero, es decir que el dominio de la función coincide con el ancho de la porción espectral contigua de cero. El establecimiento de la función depende asimismo de la tonalidad de la señal de audio, es decir de la manera antes reseñada con respecto a las Figs. 3 a 5, por lo que, si la tonalidad de la señal de audio aumenta, la masa de la función se vuelve más compacta en la parte interna de la respectiva porción contigua de cero y alejada de los bordes de la respectiva porción espectral contigua de cero. Usando esta función, se fija el estado preliminarmente llenado de la porción 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 función por los valores espectrales preliminares.
[0058] Ya se ha señalado que la dependencia del llenado con ruido puede discriminar entre más de solo dos
tonalidades diferentes como, por ejemplo, 3, 4 o incluso más 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 número de referencia 74. En 76, la Fig. 7 ilustra a título 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 ejemplificaciones de funciones discretas que se distinguen mutuamente entre sí por el ancho espectral o la longitud y/o la forma del dominio, es decir la compactación y la distancia de los bordes externos. En 78, la Fig. 7 ilustra más detalladamente el dominio de los anchos posibles de la porción de cero. Aunque el intervalo 78 es un intervalo de valores discretos que oscilan entre un ancho mínimo y cierto ancho máximo, los valores de tonalidad emitidos por el determinador 34 para medir la tonalidad de la señal de audio pueden tener valores enteros o de algún 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 búsqueda en tablas o utilizando una función matemática. Por ejemplo, en el caso de una determinada porción 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 porción espectral contigua de cero y la tonalidad actual determinada por el determinador 34 con el fin de realizar una búsqueda en una tabla una función de la serie 76 definida, por ejemplo, como secuencia de valores de función, donde la longitud de la secuencia coincide con el ancho de la porción espectral contigua de cero. Por otro lado, el dispositivo de llenado de porciones de cero 72 busca parámetros de función e introduce estos parámetros de función en una función predeterminada con el fin de derivar la función que se va a utilizar para el modelado espectral del ruido que se va a introducir en la respectiva porción espectral contigua de cero. En otra alternativa, el dispositivo de llenado de porciones de cero 72 puede insertar directamente el ancho de la respectiva porción espectral contigua de cero y la tonalidad actual en una fórmula matemática para lograr los parámetros de función con el fin de erigir la respectiva función de acuerdo con los parámetros de función calculados matemáticamente.
[0059] Hasta ahora, la descripción de ciertas realizaciones de la presente solicitud se centró en la forma de la función 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 añadido a un determinado espectro que se va a llenar con ruido con el fin de dar lugar a una reconstrucción agradable, o incluso controlar espectralmente el nivel de introducción de ruido.
[0060] La Fig. 8 ilustra un espectro que se va a llenar con ruido, donde las porciones no cuantificadas a cero y, en consecuencia, no sometidas a llenado con ruido, están 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 porción de cero en la cual se ha inscrito la función seleccionada para el modelado espectral del ruido introducido en estas porciones 90 94, usando una escala “de descuido” (don't-care).
[0061] De acuerdo con una realización, toda la serie de funciones disponibles 48, 50 para el modelado espectral del ruido que se va a introducir en las porciones 90-94, tiene una escala predefinida conocida por el codificador y el decodificador. Se señaliza un factor de escala espectralmente global dentro del flujo de datos en el cual se codifica la señal 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 líneas espectrales aleatorios o pseudo-aleatorios, con los cuales las porciones 90-94 son preestablecidas del lado de la decodificación para modelarlas a continuación espectralmente utilizando las funciones dependientes de la tonalidad 48, 50 tal como están. En cuanto a cómo se puede determinar el factor de escala de ruido total del lado del codificador, esto se describe más adelante. Digamos, por ejemplo, que A es la serie de índices i de líneas espectrales donde el espectro se cuantifica a cero y que pertenecen a cualquiera de las porciones 90-94, y digamos que N indica el factor de escala de ruido total. Los valores del espectro se indican como Xi. Además, “aleatorio(N)” indicará una función que da un valor aleatorio de un nivel correspondiente al nivel “N” y restante(i) será una función que indica, por cualquier valor espectral cuantificado a cero en el índice i, el índice del valor cuantificado a cero en el extremo de baja frecuencia de la porción de cero a la cual pertenece i, y Fi (j) donde j=0 a Ji -1 debe indicar la función 48 o 50 que se asigna, dependiendo de la tonalidad, a la porción de cero 90 94 a partir del índice i, donde Ji indica el ancho de esa porción de cero. A continuación, las porciones 90-94 se llenan de acuerdo con Xi = Frestante(i)(i - restante(i))aleatoria(N).
[0062] Además, el llenado con ruido de las porciones 90-94, se puede controlar 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 disposición de las funciones 48, 50 de acuerdo con una función de transferencia de filtro de paso bajo. Esto puede compensar una inclinación espectral causada al reescalar/descuantificar el espectro llenado debido, por ejemplo, a un pre-énfasis utilizado en la determinación del curso espectral del tamaño del paso de cuantificación. En consecuencia, se puede controlar lo abrupto de la reducción o la función de transferencia de filtro de paso bajo de acuerdo con un grado de pre-énfasis aplicado. Aplicando la nomenclatura antes utilizada, las porciones 90-94 se pueden llenar de acuerdo con Xi = Frestante(i)(i -restante(i))aleatorio(N) LPF(i) donde LPF(i) denota la función de transferencia de filtro de baja frecuencia que puede ser lineal. Dependiendo de las circunstancias, la función LPF que corresponde a la función 15 puede tener una pendiente positiva y LPF se cambia para leer HPF de manera consiguiente.
[0063] En lugar de usar un escalado fijo de las funciones seleccionadas dependiendo de la tonalidad y el ancho
de la porción de cero, la corrección de la inclinación espectral que se acaba de señalar se puede tener en cuenta directamente utilizando la posición espectral de la respectiva porción contigua de cero también como índice para la búsqueda o de otro modo determinando 80 la función que se va a utilizar para el modelado espectral del ruido con el cual se debe llenar la respectiva porción espectral contigua de cero. Por ejemplo, un valor medio de la función o su pre-escalado utilizado para el modelado espectral del ruido con el que se va a llenar una cierta porción de cero 90-94 puede depender de la posición espectral de la porción de cero 90-94 por lo que, en todo el ancho de banda del espectro, las funciones usadas para las porciones espectrales contiguas de cero 90-94 son pre-escaladas con el fin de emular una función de transferencia de filtro de paso bajo para compensar cualquier función de transferencia de pre-énfasis de paso alto utilizada para derivar las porciones cuantificadas no cero del espectro.
[0064] Por último, se señala que, aunque la Fig. 8 se refería a título de ejemplo a la realización que utiliza llenado con ruido espectralmente modelado de porciones espectrales contiguas de cero, ésta se puede modificar de modo alternativo para referirse a realizaciones que no utilizan llenado con ruido con modelado espectral, sino llenando las porciones espectrales contiguas de cero de manera espectralmente plana, por ejemplo. De este modo, las porciones 90-94 se llenarían entonces de acuerdo con Xi = LPF(i)aleatorio(N).
[0065] Habiendo descrito las realizaciones para la ejecución del llenado con ruido, a continuación se presentan las realizaciones correspondientes a códecs de audio, a los que se puede incorporar ventajosamente el llenado con ruido antes señalado. Las Figs. 9 y 10, por ejemplo, ilustran un par de codificador y decodificador, respectivamente, que juntos implementan un códec de audio perceptual basado en transformada del tipo que constituye la base de, por ejemplo, AAC (Codificación Avanzada de Audio). El codificador 100 expuesto en la Fig. 9 somete a la señal de audio original 102 a una transformada en un transformador 104. La transformación ejecutada por el transformador 104 es, por ejemplo, una transformada solapada que corresponde a una transformación 14 de la Fig. 1: descompone espectralmente la señal de audio original entrante 102 sometiendo a ventanas de transformada consecutivas, mutuamente solapadas de la señal de audio original a una secuencia de espectros 18 que, en conjunto, componen el espectrograma 12. Como se ha indicado anteriormente, el parche de la ventana entre transformada que define la resolución temporal del espectrograma 12 puede variar en tiempo, tal como puede variar la longitud temporal de las ventanas de transformada, lo que define la resolución espectral de cada espectro 18. El codificador 100 comprende asimismo un modelador perceptual 106 que deriva de la señal de audio original, sobre la base de la versión en el dominio del tiempo que entra al transformador 104 o de la versión 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 cuantificación para que éste no sea perceptible.
[0066] La representación por líneas espectrales de la señal de audio, es decir el espectrograma 12, y el umbral de enmascaramiento entran en el cuantificador 108 que es responsable de la cuantificación de las muestras espectrales del espectrograma 12 utilizando un tamaño de paso de cuantificación que varía espectralmente que depende del umbral de enmascaramiento: cuanto mayor es el umbral de enmascaramiento, menor es el tamaño del paso de cuantificación. En particular, el cuantificador 108 informa al lado de la decodificación sobre la variación del tamaño del paso de cuantificación en forma de los denominados factores de escala que, mediante la relación recién presentada entre el tamaño del paso de cuantificación por un lado y el umbral de enmascaramiento perceptual por el otro, representan un tipo de representación del umbral de enmascaramiento perceptual en sí. Para encontrar un buen compromiso entre la cantidad de información complementaria que se va a emplear para la transmisión de los factores de escala al lado de la decodificación, y la granularidad de la adaptación del ruido de la cuantificación al umbral de enmascaramiento perceptual, el cuantificador 108 fija/ varía los factores de escala en una resolución espectro-temporal que es menor, o más gruesa que, la resolución espectro-temporal a la cual los niveles espectrales cuantificados describen la representación por líneas espectrales del espectrograma de la señal 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 resolución temporal, esta también puede ser más baja en lo concerniente a la transmisión de los factores de escala, en comparación con los niveles espectrales de los valores espectrales del espectrograma 12.
[0067] Tanto los niveles espectrales de los valores espectrales del espectrograma 12, así como los factores de escala 112 se transmiten al lado de la decodificación. Sin embargo, para mejorar la calidad del audio, el codificador 100 transmite también, dentro del flujo de datos, un nivel global de ruido que señaliza al lado de la decodificación el nivel de ruido hasta el cual se tienen que llenar con ruido las porciones cuantificadas a cero de la representación 12 antes del reescalado o descuantificación del espectro mediante la aplicación de los factores de escala 112. Esto se ilustra en la Fig. 10. La Fig. 10 ilustra, utilizando un cuadriculado, el espectro aun no reescalado de la señal 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 se puede transmitir también 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 recuantificación empleando los factores de escala 112.
[0068] Como ya se ha indicado anteriormente, el llenado con ruido al que se refiere el nivel global de ruido 114, puede ser objeto de una restricción 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 únicamente con fines ilustrativos como
fstart.
[0069] La Fig. 10 ilustra también otra característica específica 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 además del ruido introducido en la banda de factores de escala utilizando el nivel global de ruido 114, o, en otros términos, para escalar el ruido atribuido a la respectiva banda de factores de escala en respuesta al nivel global de ruido 114. Véase, por ejemplo, la Fig. 10. La Fig. 10 ilustra una subdivisión ejemplificativa del espectro 18 en bandas de factores de escala 110a a 110h. La banda de factores de escala 110e es una banda de factores de escala cuyos valores espectrales han sido cuantificados a cero en su totalidad. En consecuencia, el factor de escala asociado 112 es “libre” y se utiliza para determinar 114 el nivel de ruido hasta el cual se llena por completo esta banda de factores de escala. Las otras bandas de factores de escala que comprenden valores espectrales cuantificados a niveles no cero, tienen factores de escala asociados a las mismas que se utilizan para reescalar los valores espectrales del espectro 18 que no han sido cuantificados a cero, incluyendo el ruido utilizado para llenar las porciones de cero 40a a 40d, escalado que se indica usando la flecha 116, de forma representativa.
[0070] El codificador 100 de la Fig. 9 ya puede tomar en cuenta que dentro del lado de la decodificación se va a ejecutar el llenado con ruido usando el nivel global de ruido 114 empleando las realizaciones de llenado con ruido antes descritas, por ejemplo, usando una dependencia de la tonalidad y/o imponiendo una inclinación espectralmente global al ruido y/o variando la frecuencia inicial de llenado con ruido y así sucesivamente.
[0071] 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 función para el modelado espectral del ruido para llenar la porción de cero respectiva. En particular, el codificador puede utilizar estas funciones para ponderar los valores espectrales de la señal 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 decodificación que recupera de forma más aproximada el espectro de la señal de audio original.
[0072] El codificador 100 puede decidir, dependiendo del contenido de la señal de audio, sobre el uso de algunas opciones de codificación que, a su vez, se pueden utilizar como indicios de tonalidad tales como el indicio de tonalidad 38 expuesto en la Fig. 2b a fin de permitir que el lado de la decodificación establezca correctamente la función para el modelado espectral del ruido utilizado para llenar las porciones 40a a 40d. Por ejemplo, el codificador 100 puede utilizar la predicción temporal para predecir un espectro 18 a partir de un espectro anterior utilizando un denominado parámetro de ganancia por predicción a largo plazo. En otras palabras, la ganancia por predicción a largo plazo puede fijar el grado en el cual se utiliza o no dicha predicción temporal. En consecuencia, la ganancia por predicción a largo plazo o ganancia LTP, es un parámetro que se puede emplear como indicio de tonalidad ya que cuanto más alta sea la ganancia de LTP, más alta será probablemente la tonalidad de la señal de audio. Por consiguiente, un determinador de la tonalidad 34 de la Fig. 2b, puede fijar por ejemplo, la tonalidad de acuerdo con una dependencia positiva monótona de la ganancia por LTP. En lugar, o además de una ganancia por LTP, el flujo de datos puede comprender una bandera de habilitación de LTP para señalizar la activación/desactivación de la LTP, revelando así también, por ejemplo, un indicio con valor binario referente a la tonalidad.
[0073] Además o por otro lado, el codificador 100 puede admitir el modelado temporal de ruido. En otras palabras, según el espectro 18, por ejemplo, el codificador 100 puede optar por someter al espectro 18 a modelado temporal de ruido indicando esta decisión al decodificador mediante una bandera de habilitación de modelado temporal de ruido. La bandera de habilitación de TNS indica si los niveles espectrales del espectro 18 forman la predicción residual de una predicción lineal espectral, es decir a lo largo de la dirección de frecuencia determinada, del espectro o si el espectro no ha sido sometido a predicción LP. Si se señaliza que la TNS está habilitada, el flujo de datos comprende además los coeficientes de predicción lineal para la predicción espectralmente lineal del espectro a fin de que el decodificador pueda recuperar el espectro usando estos coeficientes de predicción lineal mediante la aplicación de los mismos al espectro antes o después del reescalado o descuantificación. La bandera de habilitación de TNS también es un indicio de tonalidad: si la bandera de habilitación de TNS señaliza que se va a activar la TNS, por ejemplo, en un transitorio, es muy improbable entonces que la señal de audio sea tonal, ya que el espectro parece ser muy predecible por predicción 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 habilitación de TNS de tal manera que la tonalidad es más alta si la bandera de habilitación de TNS deshabilita la TNS, y es más baja si la bandera de habilitación de TNS señaliza la habilitación de TNS. En lugar, o además de una bandera de habilitación 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 también de esa manera un indicio de un valor superior a dos concerniente a la tonalidad. Otros parámetros de codificación se pueden codificar también en el flujo de datos por el codificador 100. Por ejemplo, una bandera de habilitación de reordenamiento espectral puede señalizar una opción de codificación de acuerdo con la cual se codifica el espectro 18 reordenando los niveles espectrales, es decir los valores espectrales
cuantificados, espectralmente, transmitiendo además, 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 habilitación de reordenamiento del espectro está habilitada, es decir si se aplica el reordenamiento del espectro, esto indica que es probable que la señal de audio sea tonal ya que el reordenamiento tiende a ser más efectivo en velocidad/ distorsión al comprimir el flujo de datos si hay muchos picos tonales en el espectro. En consecuencia, además o por otro lado, se puede utilizar la bandera de habilitación de reordenamiento del espectro como indicio tonal y se puede fijar la tonalidad utilizada para el llenado con ruido de un tamaño mayor que la bandera de habilitación de reordenamiento del espectro que se está habilitando y más baja si la bandera de habilitación de reordenamiento del espectro está deshabilitada.
[0074] Para completar, y también con referencia a la Fig. 2b, cabe señalar que el número de funciones diferentes para el modelado espectral de las porciones de cero 40a a 40d, es decir el número de tonalidades diferentes discriminadas para fijar la función para el modelado espectral, puede ser, por ejemplo, mayor que cuatro, o incluso mayor que ocho, al menos en el caso de anchos de porciones espectrales contiguas de cero superiores a un ancho mínimo predeterminado.
[0075] En lo que respecta al concepto de imponer una inclinación espectralmente global al ruido y tomando esto en cuenta al calcular el parámetro de nivel de ruido del lado de la codificación, el codificador 100 puede determinar el nivel global de ruido 114, e insertarlo en el flujo de datos, mediante porciones de ponderación de los valores espectrales de la señal de audio aun no cuantificados, aunque cuantificados con la inversa de la función de ponderación perceptual, espectralmente ubicados conjuntamente en las porciones de cero 40a a 40d, donde una función se extiende espectralmente al menos a través de toda la porción de llenado con ruido del ancho de banda del espectro y que presenta una pendiente de signo opuesto a la función 15 usada del lado de la decodificación para el llenado con ruido, por ejemplo y midiendo el nivel sobre la base de los valores no cuantificados así ponderados.
[0076] La Fig. 11 ilustra un decodificador que se ajusta al codificador de la Fig. 9. El decodificador de la Fig. 11 se indica en general empleando el signo de referencia 130 y comprende un dispositivo de llenado con ruido 30 que corresponde a las realizaciones 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 representación por líneas espectrales que incluye los valores espectrales cuantificados y, opcionalmente, indicios de tonalidad del flujo de datos tal como uno o varios de los parámetros de codificación antes descritos. El dispositivo de llenado con ruido 30 llena a continuación 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 inclinación 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 transformación inversa a fin de recuperar la señal de audio. Como se ha descrito anteriormente, la transformación inversa 134 puede comprender también un procedimiento de solapamiento y suma para obtener la cancelación del solapamiento en el dominio del tiempo en caso de que la transformación usada por el transformador 104 sea una transformada solapada con muestreo crítico tal como MDCT, en cuyo caso la transformación inversa aplicada por el transformador inverso 134 sería una IMDCT (MDCT inversa).
[0077] Como ya se ha descrito con respecto a las Figs. 9 y 10, el descuantificador 132 aplica los factores de escala al espectro pre-llenado. En otras palabras, los valores espectrales contenidos en las bandas de factores de escala no cuantificados a cero se escalan empleando el factor de escala independientemente de los valores espectrales que representan un valor espectral no cero o un ruido que ha sido objeto de modelado espectral por el dispositivo de llenado con ruido 30 como se ha descrito anteriormente. Las bandas espectrales completamente cuantificadas a cero tienen factores de escala asociados a las mismas que son completamente libres para controlar el llenado con ruido y el dispositivo de llenado con ruido 30 puede emplear este factor de escala para escalar individualmente el ruido con el cual se ha llenado la banda de factores de escala por medio del llenado con ruido con el dispositivo de llenado con ruido 30 de las porciones espectrales contiguas de cero, o bien el dispositivo de llenado con ruido 30 puede utilizar el factor de escala para llenar adicionalmente, es decir sumar, ruido adicional en lo concerniente a las bandas espectrales cuantificadas a cero.
[0078] Cabe señalar que el ruido que el dispositivo de llenado con ruido 30 modela espectralmente de forma dependiente de la tonalidad antes descrita y/o somete a una inclinación espectralmente global de la manera antes descrita, puede originarse en una fuente de ruido pseudo-aleatoria, o puede originarse en un dispositivo de llenado con ruido 30 sobre la base del parcheo o copia espectral de otras áreas 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 áreas de frecuencia más 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 inclinación espectralmente global de la manera antes descrita.
[0079] Solo para completar más, se ilustra en la Fig. 12 que se pueden variar las realizaciones del codificador 100 y el decodificador 130 de las Figs. 9 y 11 de manera que la yuxtaposición entre los factores de escala por un lado y el nivel de ruido específico de los factores de escala se implementen de manera diferente. De acuerdo con el ejemplo de la Fig. 12, el codificador transmite en el flujo de datos información sobre una envolvente de ruido, espectrotemporalmente muestreado en una resolución más gruesa que la misma resolución espectro-temporal que los factores de escala 112, además de los factores de escala 112. Esta información de envolvente de ruido se indica empleando el signo de referencia 140 en la Fig. 12. Por esta medida, en el caso de las bandas de factores de escala no completamente cuantificados a cero existen dos valores: un factor de escala para reescalar o descuantificar los valores espectrales no cero dentro de esa banda de factores de escala respectiva, así como un nivel de ruido 140 correspondiente a la banda de factores de escala individual que escala el nivel de ruido de los valores espectrales cuantificados a cero dentro de esa banda de factores de escala. Este concepto se denomina en ocasiones IGF (Llenado inteligente de huecos).
[0080] Aun en este caso, el dispositivo de llenado con ruido 30 puede aplicar el llenado dependiente de la tonalidad de las porciones espectrales contiguas de cero 40a a 40d a título de ejemplo, como se ilustra en la Fig. 12.
[0081] De acuerdo con los ejemplos de códec de audio antes señalados con respecto a las Figs. 9 a 12, se ha ejecutado el modelado espectral del ruido de la cuantificación mediante la transmisión de una información referente al umbral de enmascaramiento perceptual usando una representación espectro-temporal 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 realizaciones de llenado con ruido descritas en relación con las Figs. 1 a 8, pero donde el ruido de la cuantificación es modelado espectralmente de acuerdo con una descripción LP (Predicción Lineal) del espectro de la señal de audio. En ambas realizaciones, el espectro que se va a llenar con ruido está en el dominio ponderado, es decir que se cuantifica utilizando un tamaño de paso espectralmente constante en el dominio ponderado o el domino perceptualmente ponderado.
[0082] 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 líneas espectrales 160. El pre-enfatizador 156 es opcional. El pre-enfatizador 156 somete a la señal de audio entrante 12 a pre-énfasis, es decir un filtrado de paso alto con una función plana de transferencia de filtro de paso alto utilizando, por ejemplo, un filtro FIR o IIR. Se puede utilizar, un filtro de paso alto de primer orden, por ejemplo, para el pre-enfatizador 156 como por ejemplo H(z) = 1 -az-1 donde a determina, por ejemplo, la cantidad o potencia de pre-énfasis en línea con la cual, de acuerdo con una de las realizaciones, se varía la inclinación espectralmente global a la cual se somete al ruido que se va a introducir en el espectro. Una configuración posible de a podría ser 0,68. El pre-énfasis causado por el pre-enfatizador 156 es para desplazar la energía de los valores espectrales cuantificados transmitidos por el codificador 150, de las altas a bajas frecuencias, tomando en cuenta de esa manera las leyes psico-acústicas de acuerdo con las cuales la percepción humana es mayor en la región de baja frecuencia que en la región de alta frecuencia. Sea o no pre enfatizada la señal de audio, el analizador LPC 158 ejecuta un análisis de LPC de la señal de audio entrante 12 a fin de predecir linealmente la señal de audio o, para ser más precisos, estima su envolvente espectral. El analizador LPC 158 determina en unidades de tiempo, por ejemplo, de subtramas que consisten en un número de muestras de audio de la señal de audio 12, coeficientes de predicción lineal y transmite los mismos como se ilustra en 162 al lado de la decodificación dentro del flujo de datos. El analizador LPC 158 determina, por ejemplo, los coeficientes de predicción lineal usando auto-correlación en ventanas de análisis y usando, por ejemplo, un algoritmo de Levinson-Durbin. Los coeficientes de predicción lineal se pueden transmitir en el flujo de datos en una versión cuantificada y/o transformada tal como en forma de pares de líneas espectrales o similares. En todo caso, el analizador LPC 158 envía al conversor de LPC a líneas espectrales 160 los coeficientes de predicción lineal también disponibles del lado de la decodificación a través del flujo de datos, y el conversor 160 convierte los coeficientes de predicción lineal en una curva espectral utilizada por el cuantificador 154 para variar/establecer el tamaño del paso de cuantificación. En particular, el transformador 152 somete a la señal de audio entrante 12 a una transformación, por ejemplo de manera igual a la que utiliza el transformador 104. Así, 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 a continuación se utiliza un tamaño del paso de cuantificación espectralmente constante para todo el espectro. El espectrograma de una secuencia de espectros emitida por el cuantificador 154 está indicado en 164 en la Fig. 13 y comprende además algunas porciones espectrales contiguas de cero que se pueden llenar del lado de la decodificación. El codificador 150 puede transmitir un parámetro de nivel global de ruido en el flujo de datos.
[0083] La Fig. 14 ilustra un decodificador que se adapta al codificador de la Fig. 13. El decodificador de la Fig. 14 está indicado en general empleando el signo de referencia 170 y comprende un dispositivo de llenado con ruido 30, un conversor de LPC a líneas espectrales 172, un descuantificador 174 y un transformador inverso 176. El dispositivo de llenado con ruido 30 recibe los espectros cuantificados 164, ejecuta el llenado con ruido en las porciones espectrales contiguas de ceros como se ha descrito anteriormente, y envía el espectrograma llenado de esa manera al descuantificador 174. El descuantificador 174 recibe del conversor de LPC a líneas espectrales 172 una curva espectral que va a ser utilizada por el descuantificador 174 para remodelar el espectro llenado o, en otras palabras, para descuantificarlo. Este procedimiento en ocasiones se denomina FDNS (Modelado de Ruido en el Dominio de la Frecuencia). El conversor de LPC a líneas espectrales 172 deriva la curva espectral sobre la base de la información
de LPC 162 en el flujo de datos. El espectro descuantificado, o espectro remodelado emitido por el descuantificador 174 se somete a una transformación inversa por el transformador inverso 176 para recuperar la señal de audio. Una vez más, la secuencia de los espectros remodelados puede ser sometida por el transformador inverso 176 a una transformación inversa seguida por un procedimiento de solapamiento y suma con el fin de ejecutar la cancelación del solapamiento en el dominio del tiempo entre retransformadas consecutivas en caso de que una transformación del transformador 152 sea una transformada solapada con muestreo crítico tal como MDCT.
[0084] Por medio de las líneas de puntos de las Figs. 13 y 14 se indica que el pre-énfasis aplicado por el preenfatizador 156 puede variar en el tiempo, donde la variación es señalizada en el flujo de datos. En ese caso, el dispositivo de llenado con ruido 30 puede tomar en cuenta el pre-énfasis al ejecutar el llenado con ruido como se ha descrito anteriormente con respecto a la Fig. 8. En particular, el pre-énfasis causa una inclinación 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 disminuir desde las frecuencias más bajas a las frecuencias más altas, es decir que exhiben una inclinación espectral. Esta inclinación espectral puede ser compensada, o mejor emulada o adaptada, por el dispositivo de llenado con ruido 30 de la manera antes descrita. Si se señaliza en el flujo de datos, se puede utilizar el grado de pre-énfasis para ejecutar la inclinación adaptativa del ruido insertado de manera dependiente del grado de pre-énfasis. En otras palabras, el grado de pre-énfasis señalizado en el flujo de datos puede ser utilizado por el decodificador para fijar el grado de inclinación espectral impuesto al ruido introducido en el espectro por el dispositivo de llenado con ruido 30.
[0085] Hasta ahora se han descrito varias realizaciones, y en adelante se presentan ejemplos específicos de implementación. Los detalles expuestos con respecto a estos ejemplos deben ser considerados individualmente transferibles a las realizaciones antes expuestas para especificar las mismas aun más. Sin embargo, antes de eso se debe señalar que todas las realizaciones antes descritas se pueden utilizar asimismo en la codificación de audio, así como de voz. En general se refieren a la codificación por transformadas y utilizan un concepto de adaptación a la señal para reemplazar los ceros introducidos en el procedimiento de cuantificación con ruido espectralmente modelado utilizando una cantidad muy pequeña de información complementaria. En las realizaciones antes descritas, se aprovechó la observación de que en ocasiones también 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 realizaciones expuestas que utilizan una señalización explícita de la frecuencia inicial permiten la eliminación de los agujeros que causan degradación, aunque permiten evitar insertar ruido a bajas frecuencias donde la inserción de ruido pudiera introducir distorsiones.
[0086] Además, algunas de las realizaciones antes señaladas utilizan un llenado con ruido controlado con preénfasis para compensar la inclinación espectral causada por el pre-énfasis. Estas realizaciones toman en cuenta la observación de que si se calcula el filtro LPC en una señal de pre-énfasis, meramente aplicando una magnitud global o promedio o una energía promedio del ruido que se va a insertar causaría que el modelado del ruido introduzca una inclinación espectral en el ruido insertado, ya que la FDNS del lado de la decodificación sometería al ruido insertado espectralmente plano a modelado espectral que de todas maneras muestra la inclinación espectral del pre-énfasis. En consecuencia, estas últimas realizaciones ejecutaron un llenado con ruido de tal manera que se tome en cuenta y se compense el pre-énfasis.
[0087] Por consiguiente, en otras palabras, cada una de las Figs. 11 y 14 exhibía un decodificador de audio por transformada perceptual. Éste comprende un dispositivo de llenado con ruido 30 configurado para ejecutar el llenado con ruido en un espectro 18 de una señal de audio. La ejecución se puede realizar dependiendo de la tonalidad como se ha descrito anteriormente. La ejecución se puede realizar llenando el espectro con ruido que exhibe una inclinación espectralmente global con el fin de obtener un espectro llenado con ruido, como se ha descrito anteriormente. “Inclinación espectralmente global” significará, por ejemplo, que la inclinación se manifiesta, por ejemplo, en una envolvente que envuelve el ruido a través de todas las porciones 40 que se van a llenar con ruido, que está inclinado, es decir que tiene una pendiente que no es cero. “Envolvente” se define, por ejemplo, como curva de regresión espectral tal como una función lineal u otro polinomio de orden dos o tres, por ejemplo, pasando a través de la máxima local del ruido introducido en las porciones 40 todas las cuales son auto-continuas, aunque espectralmente distanciadas. “Disminución de frecuencias bajas a altas” significa que esta inclinación tiene pendiente negativa y “aumento de bajas a altas frecuencias” significa que esta inclinación tiene pendiente positiva. Ambos aspectos de la ejecución se pueden aplicar simultáneamente o solo uno de ellos.
[0088] Asimismo, el decodificador de audio por transformada perceptual comprende un modelador de ruido en el dominio de la frecuencia 6 en forma de descuantificador 132, 174, configurado para someter al espectro llenado con ruido a modelado espectral utilizando una función de ponderación espectral perceptual. En el caso de la Fig. 11, el modelador de ruido en el dominio de la frecuencia 132 está configurado para determinar la función de ponderación espectral perceptual a partir de la información de coeficientes de predicción lineal 162 señalizada 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 está configurado para determinar la función de ponderación espectral perceptual a partir de factores de escala 112 relacionados con las bandas de factores de escala 110, señalizados en el flujo de datos. Como se ha descrito en relación con la Fig. 8 y se ha ilustrado con respecto a la Fig. 11, el dispositivo de llenado con ruido 34 puede estar
configurado para variar la pendiente de la inclinación espectralmente global en respuesta a una señalización explícita en el flujo de datos, o para deducirla de una porción del flujo de datos que señaliza la función de ponderación espectral perceptual como, por ejemplo, evaluando la envolvente espectral de LPC o los factores de escala, o para deducirla del espectro cuantificado y transmitido 18.
[0089] Además, 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 procedimiento de solapamiento y suma.
[0090] De manera correspondiente, tanto la Fig. 13 como la 9 mostraron ejemplos de un codificador de audio por transformada perceptual configurado para ejecutar la ponderación de un espectro 1 y su cuantificación 2, ambas implementadas en los módulos del cuantificador 108, 154 expuestos en la Fig. 9 y 13. La ponderación del espectro 1 pondera espectralmente el espectro original de una señal de audio de acuerdo con la inversa de una función de ponderación espectral perceptual con el fin de obtener un espectro perceptualmente ponderado y la cuantificación 2 cuantifica el espectro perceptualmente ponderado de forma espectralmente uniforme con el fin de obtener un espectro cuantificado. El codificador de audio por transformada perceptual ejecuta además un cálculo del nivel de ruido 3 dentro de los módulos de cuantificación 108, 154, por ejemplo, calculando un parámetro 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 inclinación 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 información de coeficientes de predicción lineal 162 que representa una envolvente espectral LPC del espectro original de la señal de audio, donde el ponderador espectral 154 está configurado para determinar la función de ponderación espectral perceptual con el fin de seguir la envolvente espectral de LPC. Como se ha descrito, el analizador de LPC 158 puede estar configurado para determinar la información de coeficientes de predicción lineal 162 mediante la ejecución del análisis de LP en una versión de la señal de audio, sometida al filtro de pre-énfasis 156. Como se ha descrito anteriormente con respecto a la Fig. 13, el filtro de pre-énfasis 156 puede estar configurado para filtrar por paso alto la señal de audio con una cantidad variable de pre-énfasis para obtener la versión de la señal de audio sometida a un filtro de pre-énfasis, donde el cálculo del nivel de ruido puede estar configurado para fijar una cantidad de inclinación espectralmente global dependiendo de la cantidad de pre-énfasis. Se puede utilizar la señalización explícita de la cantidad de inclinación espectralmente global o la cantidad de pre-énfasis en el flujo de datos. En el caso de la Fig. 9, el codificador de audio por transformada perceptual comprende una determinación 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 con el fin de seguir un umbral de enmascaramiento. Esta determinación se implementa en el módulo de cuantificación 108, por ejemplo, que actúa también como ponderador espectral configurado para determinar la función de ponderación espectral perceptual para seguir los factores de escala.
[0091] Todas las realizaciones antes descritas tienen en común que se evitan los agujeros espectrales y también se evita el ocultamiento de las líneas tonales cuantificadas no cero. De la manera antes descrita, se puede preservar la energía en las partes ruidosas de una señal y se evita la adición de ruido que enmascara los componentes tonales de la manera antes descrita.
[0092] En las implementaciones específicas que se describen a continuación, la parte de la información complementaria para la ejecución del llenado con ruido dependiente de la tonalidad no agrega nada a la información complementaria existente del códec en que se utiliza el llenado con ruido. También se puede utilizar toda la información del flujo de datos que se utiliza para la reconstrucción del espectro, independientemente del llenado con ruido, para el modelado del llenado con ruido.
[0093] De acuerdo con un ejemplo de implementación, el llenado con ruido en el dispositivo de llenado con ruido 30 se realiza de la siguiente manera. Todas las líneas espectrales por encima de un índice 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 pseudo-aleatoria con una función de densidad de probabilidades espectralmente constante o utilizando parcheo de otras ubicaciones (fuentes) espectrales del espectrograma. Véase, por ejemplo, la Fig. 15. La Fig. 15 ilustra dos ejemplos correspondientes a un espectro al que se va a someter a llenado con ruido tal como el espectro 34 o los espectros 18 del espectrograma 12 emitido por el cuantificador 108 o los espectros 164 emitidos por el cuantificador 154. El índice de partida de llenado con ruido es un índice de líneas espectrales iFreq0 y iFreq1 (0 < iFreq0 <= iFreq1), donde iFreq0 y iFreq1 son índices de líneas espectrales predeterminados dependientes de la tasa de bits y el ancho de banda. El índice de partida de llenado con ruido es igual al índice iStart (iFreq0 <= iStart <= iFreq1) de una línea espectral cuantificada a un valor no cero, donde todas las líneas espectrales con los índices j (iStart < j <= Freq1) se cuantifican a cero. También se podrían transmitir diferentes valores para iStart, iFreq0 o iFreq1 en el flujo de bits para permitir la inserción de ruido de muy baja frecuencia en ciertas señales (por ejemplo, ruido ambiental).
[0094] El ruido insertado se modela en las siguientes etapas:
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. 1a-14.
2. El modelado espectral utilizando un LPC o el FDNS (modelado en el domino de transformada utilizando la respuesta a la magnitud de LPC) se ha descrito con respecto a las Figs. 13 y 14. El espectro puede ser modelado también empleando factores de escala (como en AAC) o utilizando cualquier otro procedimiento 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 número de bits, sidote ha descrito brevemente con respecto a las Figs. 9-12.
[0095] La única información complementaria adicional necesaria para el llenado con ruido es el nivel, que se transmite utilizando 3 bits, por ejemplo.
[0096] Cuando se utiliza FDNS no hay necesidad de adaptarlo a un llenado con ruido específico y modela el ruido en la totalidad del espectro utilizando un menor número de bits que los factores de escala.
[0097] Se puede introducir una inclinación espectral en el ruido insertado para contrarrestar la inclinación espectral producida por el pre-énfasis en el modelado perceptual basado de LPC. Dado que el pre-énfasis representa un filtro suave de paso alto aplicado a la señal de entrada, la compensación de la inclinación puede contrarrestar esto multiplicando el equivalente de la función de transferencia de un filtro de paso bajo sutil en el espectro del ruido insertado. La inclinación espectral de esta operación de paso bajo depende del factor de pre-énfasis y, preferentemente, de la tasa de bits y el ancho de banda. Esto se mencionó con referencia a la Fig. 8.
[0098] Por cada agujero espectral, constituido por 1 o más líneas 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 líneas espectrales cuantificadas no cero y aumenta en la zona de transición 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 líneas espectrales cuantificadas no cero que podrían potencialmente enmascarar o distorsionar los componentes tonales. Sin embargo, todas las líneas cuantificadas a cero son reemplazadas por ruido, sin dejar ningún agujero espectral.
[0099] El ancho de la transición depende de la tonalidad de la señal de entrada. La tonalidad se obtiene por cada trama de tiempo. En las Figs. 17a-d se ilustra a modo de ejemplo el modelado de ruido para diferentes tamaños de agujeros y anchos de transición.
[0100] La medida de tonalidad del espectro se puede basar en la información disponible en el flujo de bits: • Ganancia de LTP
• Bandera de habilitación de reordenamiento del espectro (véase [6])
• Bandera de habilitación de TNS
[0101] El ancho de la transición es proporcional a la tonalidad - pequeña para las señales de tipo ruido, grande en el caso de las señales muy tonales.
[0102] En una realización, el ancho de la transición 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 está habilitado, en ese caso se utiliza el ancho de la transición correspondiente a la ganancia promedio de LTP. Si el TNS está habilitado, en ese caso no hay área de transición, sino que se debe aplicar el llenado con ruido completo a todas las líneas espectrales cuantificadas a cero. Si la ganancia de LTP es igual a 0 y el TNS y el reordenamiento del espectro están deshabilitados, se utiliza un ancho de transición mínimo.
[0103] Si no hay información de tonalidad en el flujo de bits se puede calcular una medida de la tonalidad en la señal decodificada sin el llenado con ruido. Si no hay información de TNS, se puede calcular una medida temporal del nivel plano de la señal decodificada. No obstante, si hay información de TNS disponible, tal medida del nivel plano se puede derivar directamente de los coeficientes de filtro de TNS, por ejemplo calculando la ganancia de predicción del filtro.
[0104] En el codificador, se puede calcular el nivel de llenado con ruido preferentemente tomando en cuenta el ancho de la transición. Hay varias maneras posibles de determinar el nivel de llenado con ruido a partir del espectro cuantificado. La más sencilla es sumar la energía (cuadrado) de todas las líneas del espectro normalizado de entrada en la región de llenado con ruido (es decir por encima de iStart) que se cuantificó a cero, a continuación, dividir esta suma por el número de esas líneas para obtener la energía promedio por línea y por último calcular un nivel de ruido cuantificado de la raíz cuadrada de la energía de línea 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 índices
i de líneas espectrales en que el espectro sidote ha cuantificado a cero y que pertenece a cualquiera de las porciones de cero, por ejemplo, está 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. Además, restante(i) será una función que indica, por cada valor espectral cuantificado a cero en el índice i, el índice del valor cuantificado a cero en el extremo de baja frecuencia de la porción de cero a la cual i pertenece, y Fi (j) donde j= 0 a Ji -1 va a indicar la función asignada, dependiendo de la tonalidad, a la porción de cero que se inicia en el índice i, donde Ji indica el ancho de esa porción de cero. A continuación, se puede determinar N según N = sqrt(I,^ y 2/ 2/cardinality(A)).
[0105] En la realización preferida, se consideran los tamaños de los agujeros individuales así como el ancho de la transición. Para este fin, se agrupan sucesiones de líneas consecutivas cuantificadas a cero en las regiones de agujeros. A continuación se escala cada línea espectral de entrada normalizada en una región de agujero, es decir cada valor espectral de la señal original en una posición espectral dentro de cualquier porción espectral contigua de cero, mediante la función de transición, como se ha descrito en la sección anterior y, seguidamente, se calcula la suma de las energías de las líneas escaladas. Como en la realización sencilla anterior, seguidamente se puede calcular el nivel de llenado con ruido del RMS de las líneas cuantificadas a cero. Aplicando la nomenclatura antes expuesta, N se puede calcular según N = sqrt(sqrt(1,6A(F/e/f(/) (i-/eft(i)) • yi)2/cardina/ity(A)).
[0106] Un problema con esta estrategia es, sin embargo, que se subestima la energía espectral en las regiones de agujero pequeñas (es decir las regiones con un ancho muy inferior al doble del ancho de la transición), puesto que en el cálculo de RMS, el número de líneas espectrales de la suma por el cual se divide la suma de energía permanece inalterado. En otras palabras, cuando el espectro cuantificado exhibe principalmente regiones de agujero muy pequeñas, el nivel de llenado con ruido obtenido es más bajo cuando el espectro es disperso 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 líneas empleado en el denominador del cálculo de RMS al ancho de la transición. Es muy importante que, si el tamaño de una región de agujero es mejor que el doble del ancho de la transición, el número de líneas espectrales en esa región de agujero no se cuente como está, es decir como número entero de líneas, sino como número de línea fraccionario que es menor que el número entero de líneas. En la anterior fórmula concerniente a N, por ejemplo, se reemplazaría “cardinality(A)” por un número menor dependiendo del número de porciones “pequeñas” de cero.
[0107] Además, la compensación de la inclinación espectral en el llenado con ruido debido a la codificación perceptual basada en LPC debe ser tenida en cuenta también durante el cálculo del nivel de ruido. Más específicamente, se aplica preferentemente la inversa de la compensación de inclinación del llenado con ruido del lado del decodificador a las líneas espectrales originales no cuantificadas que se cuantificaron a cero antes del cálculo del nivel de ruido. En el contexto de la codificación basada en LPC que emplea pre-énfasis, esto implica que las líneas de más alta frecuencia se amplifican ligeramente con respecto a las líneas de frecuencia más baja antes de la estimación del nivel de ruido. Aplicando la nomenclatura antes citada, N se puede calcular según N = sqú(Y¡eA (F/eft ( i) (i - /efí(i)) • LPF(i)-i. yi)2/cardina/ity(A)) ). Como se ha mencionado anteriormente, dependiendo de las circunstancias, la función LPF que corresponde a la función 15 puede tener una pendiente positiva y LPF cambiada para leerse como HPF, en consecuencia. Se señala brevemente que en todas las fórmulas antes expuestas el uso de “LPF” fijando Frestante en una función constante para que sea todo uno, revelaría la manera en que se puede aplicar el concepto de someter al ruido que se va a introducir en el espectro 34 a una inclinación espectral global sin el llenado de agujeros dependiente de la tonalidad.
[0108] Los cálculos posibles de N se pueden realizar en el codificador como, por ejemplo, en 108 o 154.
[0109] Por último, se encontró que cuando se cuantificaban a cero los armónicos de una señal estacionaria muy tonal, las líneas que representaban esos armónicos llevaban a un nivel de ruido relativamente alto o inestable (es decir, fluctuante en el tiempo). Este fallo se puede reducir utilizando en el cálculo del nivel de ruido la magnitud promedio de las líneas cuantificadas a cero en lugar de su RMS. Aunque esta estrategia no siempre garantiza que la energía de las líneas llenadas con ruido en el decodificador reproduzca la energía de las líneas originales en las regiones de llenado con ruido, sí garantiza que los picos espectrales en las regiones de llenado con ruido hagan solo una contribución limitada al nivel de ruido total, reduciendo así el riesgo de sobreestimación del nivel de ruido.
[0110] Por último, se señala que un codificador puede estar configurado incluso para ejecutar el llenado con ruido por completo a fin de mantenerse en línea con el decodificador, por ejemplo, para fines de análisis y síntesis.
[0111] Por consiguiente, la realización anterior describe, entre otras cosas, un procedimiento adaptativo a la señal para reemplazar los ceros introducidos en el procedimiento de cuantificación con ruido modelado espectralmente. Se describe una extensión de llenado con ruido correspondiente a un codificador y un decodificador que satisface los requisitos antes mencionados implementando lo siguiente:
• El índice de inicio de llenado con ruido puede adaptarse al resultado de la cuantificación del espectro pero sin limitarse a un cierto intervalo
• Se puede introducir una inclinación espectral en el ruido insertado para contrarrestar la inclinación espectral
producida por el modelado perceptual de ruido
• Todas las líneas cuantificadas a cero por encima del índice de inicio de llenado con ruido son reemplazadas por ruido
• Mediante una función de transición, el ruido insertado se atenúa cerca de las líneas espectrales no cuantificadas a cero
• La función de transición depende de las características instantáneas de la señal de entrada
• La adaptación del índice de inicio de llenado con ruido, la inclinación espectral y la función de transición se pueden basar en la información disponible en el decodificador
[0112] No hay necesidad de información complementaria adicional, excepto por un nivel de llenado con ruido.
[0113] Aunque se han descrito algunos aspectos en el contexto de un aparato, es obvio que estos aspectos también representan una descripción del procedimiento correspondiente, en el cual un bloque o dispositivo corresponde a una etapa del procedimiento o a una característica de una etapa del procedimiento. De manera análoga, los aspectos descritos en el contexto de una etapa del procedimiento representan también una descripción de un bloque o elemento correspondiente o de una característica de un aparato correspondiente. Algunas o todas las etapas del procedimiento se pueden ejecutar por medio de (o utilizando) un aparato de hardware, como por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, una cualquiera o más de las etapas más importantes del procedimiento se pueden ejecutar por ese tipo de aparato.
[0114] Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden ser implementadas en hardware o en software. La implementación se puede realizar empleando un medio de almacenamiento digital, por ejemplo, un disco blando, un DVD, un Blue-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene almacenadas en la misma señales control legibles electrónicamente, que cooperan (o tienen capacidad para cooperar) con un sistema de computación programable de tal manera que se ejecute el procedimiento respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible por ordenador.
[0115] Algunas realizaciones de acuerdo con la invención comprenden un soporte de datos que comprende señales de control legibles electrónicamente, con capacidad para cooperar con un sistema de computación programable de tal manera que se ejecute uno de los procedimientos descritos en esta invención.
[0116] En general, las realizaciones de la presente invención pueden ser implementadas en forma de producto programa informático con un código de programa, donde el código de programa cumple la función de ejecutar uno de los procedimientos al ejecutarse el programa informático en un ordenador. El código de programa puede ser almacenado, por ejemplo, en un soporte legible por una máquina.
[0117] Otras realizaciones comprenden el programa informático para ejecutar uno de los procedimientos descritos en esta invención, almacenado en un soporte legible por una máquina.
[0118] En otras palabras, una realización del procedimiento de la invención consiste, por lo tanto, en un programa informático que consta de un código de programa para realizar uno de los procedimientos descritos en esta invención al ejecutarse el programa informático en un ordenador.
[0119] El aparato descrito en esta invención puede ser implementado empleando un aparato de hardware o empleando un ordenador, o utilizando una combinación de un aparato de hardware y un ordenador.
[0120] Los procedimientos descritos en esta invención se pueden poner en práctica empleando un aparato de hardware o empleando un ordenador, o utilizando una combinación de un aparato de hardware y un ordenador.
[0121] Las realizaciones descritas anteriormente son meramente ilustrativas de los principios de la presente invención. Se entiende que las modificaciones y variaciones de las disposiciones y detalles descritos en esta invención serán evidentes para los expertos en la materia. Por lo tanto, solo es intención limitarse al alcance de las siguientes reivindicaciones de patente y no a los detalles específicos presentados a modo de descripción y explicación de las realizaciones presentadas en esta invención.
Referencias
[0122]
[1] B. G. G. F. S. G. M. M. H. P. J. H. S. W. G. S. J. H. Nikolaus Rettelbach, "Noise Filler, Noise Filling Parameter Calculator Encoded Audio Signal Representation, Methods and Computer Program". Patent US 2011/0173012 A1.2 [2] Extended Adaptive Multi-Rate-Wideband (AMR-WB+) codec, 3GPP TS 26.290 V6.3.0, 2005-2006.
[3] B. G. G. F. S. G. M. M. H. P. J. H. S. W. G. S. J. H. Nikolaus Rettelbach, "Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program". Patent WO 2010/003556 A1.
[4] M. M. N. R. G. F. J. R. J. L. S. W. S. B. S. D. C. H. R. L. P. G. B. B. J. L. K. K. H. Max Neuendorf, "MPEG Unified Speech and Audio Coding - The ISO/MPEG Standard for High-Efficiency Audio Coding of all Content Types," in 132nd Convertion AES, Budapest, 2012. Also appears in the Journal of the AES, vol. 61,2013.
[5] M. M. M. N. a. R. G. Guillaume Fuchs, " MDCT-Based Coder for Highly Adaptive Speech and Audio Coding ," in 17th European Signal Processing Conference (EUSIPCO 2009), Glasgow, 2009.
[6] H. Y. K. Y. M. T. Harada Noboru, " Coding Mmethod, Decoding Method, Coding Device, Decoding Device, Program, and Recording Medium". Patent WO 2012/046685 A1.
Claims (12)
1. Codificador configurado para realizar el llenado de ruido
en un espectro (34) de una señal de audio llenando el espectro con ruido para obtener un espectro lleno de ruido generando una señal de ruido intermedia;
identificando porciones de cero espectrales contiguas del espectro de la señal de audio;
determinando una función para cada porción de cero espectral contigua dependiendo
del ancho de la porción de cero espectral contigua respectiva de modo que la función se limite a la porción de cero espectral contigua respectiva, la posición espectral de la porción de cero espectral contigua respectiva de modo que una escala de la función dependa de la posición espectral de la porción de cero espectral contigua respectiva de manera que una cantidad de escalado aumente o disminuya monótonamente con el aumento de la frecuencia de la posición espectral de la porción de cero espectral contigua respectiva; y
conformando espectralmente, para cada porción de cero espectral contigua, la señal de ruido intermedia usando la función determinada para la porción de cero espectral contigua respectiva de manera que el ruido exhiba una inclinación espectralmente global que tenga una pendiente negativa.
2. Codificador según la reivindicación 1, en el que el codificador es un codificador de audio de transformada perceptual que comprende un filtro de pre-énfasis;
un analizador de LPC configurado para determinar la información del coeficiente de predicción lineal (162) realizando un análisis LP en una versión de la señal de audio, sujeto al filtro de pre-énfasis, representando la información del coeficiente de predicción lineal (162) una envolvente espectral LPC de un espectro de la versión pre-enfatizada de la señal de audio;
un transformador configurado para proporcionar un espectro original de la señal de audio;
un ponderador de espectro configurado para ponderar espectralmente el espectro original de una señal de audio de acuerdo con un inverso de una función de ponderación perceptual espectral para obtener un espectro ponderado perceptualmente, en el que el ponderador espectral está configurado para determinar la función de ponderación perceptual espectral para seguir la envolvente espectral de LPC;
un cuantificador configurado para cuantificar el espectro ponderado perceptualmente de una manera igual para las líneas espectrales del espectro ponderado perceptualmente para obtener un espectro cuantificado, en el que el codificador está configurado para codificar el espectro cuantificado en un flujo de datos que se envía a un decodificador de audio de transformada perceptual según cualquiera de las reivindicaciones anteriores, señalándose también la información del coeficiente de predicción lineal en el flujo de datos;
un calculador de nivel de ruido configurado para calcular un parámetro de nivel de ruido midiendo un nivel del espectro ponderado perceptualmente ubicado en porciones cero espectrales contiguas del espectro cuantificado de una manera ponderada con una inclinación espectralmente global que tiene una pendiente positiva.
3. Codificador de audio por transformada perceptual de la reivindicación 2, en el que el filtro de pre-énfasis está configurado para filtrar de paso alto la señal de audio con una cantidad de pre-énfasis variable para obtener la versión de la señal de audio, sujeta a un filtro de pre-énfasis, en el que el calculador del nivel de ruido está configurado para establecer una pendiente de la inclinación espectralmente global dependiendo de la cantidad de pre-énfasis.
4. Codificador de audio por transformada perceptual según la reivindicación 3, configurado para codificar explícitamente la cantidad de inclinación espectralmente global o la cantidad de pre-énfasis en el flujo de datos en el que se codifica (164) el espectro cuantificado (34).
5. Codificador de audio por transformada perceptual según la reivindicación 4, que comprende un determinador de factor de escala configurado para, controlado mediante un modelo perceptual, determinar factores de escala (112) relacionados con bandas de factor de escala (110) para seguir un umbral de enmascaramiento, en el que el ponderador espectral está configurado para determinar la función de ponderación perceptual espectral para seguir los factores de escala.
6. Codificador de audio por transformada perceptual según la reivindicación 2, en el que el calculador de nivel de ruido está configurado además para determinar, para cada porción cero espectral contigua, la función (48, 50) de manera que
asume un máximo en un interior (52) de la porción cero espectral contigua (40), y tiene bordes descendentes hacia fuera (58, 60) cuya pendiente absoluta depende negativamente de la tonalidad,
asume un máximo en un interior (52) de la porción cero espectral contigua (40), y tiene bordes descendentes hacia fuera (58, 60) cuyo ancho espectral (54, 56) depende positivamente de la tonalidad, y/o
es una función constante o unimodal ( 48, 50) una integral de la cual, normalizada a una integral de 1, sobre los cuartos exteriores (a, d) de la porción cero espectral contigua (40) depende negativamente de la tonalidad.
7. Codificador de audio por transformada perceptual según la reivindicación 6, en el que el calculador de nivel de ruido está configurado para deducir la tonalidad de una bandera o ganancia de habilitación de LTP (predicción
a largo plazo) o TNS (modelado de ruido temporal) y/o una bandera de habilitación de reordenamiento del espectro utilizada por el codificador de audio por transformada perceptual para codificar la señal de audio, señalando la bandera de habilitación de reordenamiento espectral una opción de codificación según la cual los valores espectrales cuantificados se reordenan espectralmente transmitiendo adicionalmente dentro del flujo de datos la prescripción de reordenamiento.
8. Codificador de audio por transformada perceptual según cualquiera de las reivindicaciones 2 a 7, en el que el llenado de ruido está configurado para limitar el llenado de ruido a una porción espectral de alta frecuencia del espectro de la señal de audio.
9. Codificador de audio por transformada perceptual según cualquiera de las reivindicaciones 2 a 8, en el que el calculador de nivel de ruido está configurado para restringir la medición a una porción espectral de alta frecuencia con señalización explícita, establecer una posición de inicio de baja frecuencia del mismo en un flujo de datos en el que se codifica la señal de audio.
10. Procedimiento de codificación que comprende la realización de llenado de ruido
en un espectro (34) de una señal de audio llenando el espectro con ruido para obtener un espectro lleno de ruido generando una señal de ruido intermedia;
identificando porciones cero espectrales contiguas del espectro de la señal de audio; determinando una función para cada porción cero espectral contigua dependiendo
del ancho de la porción cero espectral contigua respectiva de modo que la función se limite a la porción cero espectral contigua respectiva, la posición espectral de la porción cero espectral contigua respectiva de modo que una escala de la función dependa de la posición espectral de la porción cero espectral contigua respectiva de manera que una cantidad de escalado aumente o disminuya monótonamente con el aumento de la frecuencia de la posición espectral de la porción cero espectral contigua respectiva; y
conformando espectralmente, para cada porción cero espectral contigua, la señal de ruido intermedio usando la función determinada para la porción cero espectral contigua respectiva de modo que el ruido exhiba una inclinación espectralmente global que tiene una pendiente negativa.
11. Procedimiento según la reivindicación 10, en el que el procedimiento usa codificación de audio por transformada perceptual y comprende
determinar de la información del coeficiente de predicción lineal (162) realizando un análisis LP en una versión de la señal de audio, sujeta a un filtro de pre-énfasis, representando la información del coeficiente de predicción lineal (162) una envolvente espectral LPC de un espectro de la versión pre-enfatizada de la señal de audio;
proporcionar un espectro original de la señal de audio por un transformador;
ponderar espectralmente el espectro original de la señal de audio de acuerdo con un inverso de una función de ponderación perceptual espectral para obtener un espectro ponderado perceptualmente, en el que la función de ponderación espectral se determina para seguir la envolvente espectral LPC;
cuantificar el espectro ponderado perceptualmente de una manera igual para las líneas espectrales del espectro ponderado perceptualmente para obtener un espectro cuantificado, en el que el espectro cuantificado se codifica en un flujo de datos que se envía a un decodificador de audio por transformada perceptual de acuerdo con cualquiera de las reivindicaciones 1 a 14, la información del coeficiente de predicción lineal se señaliza también en el flujo de datos; calcular un parámetro de nivel de ruido midiendo un nivel del espectro ponderado perceptualmente co-localizado en porciones cero espectrales contiguas del espectro cuantificado de una manera ponderada con una inclinación espectralmente global que tiene una pendiente positiva.
12. Programa informático que tiene un código de programa para realizar, cuando se ejecuta en un ordenador, un procedimiento según la reivindicación 10 u 11.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361758209P | 2013-01-29 | 2013-01-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2834929T3 true ES2834929T3 (es) | 2021-06-21 |
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 After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
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 |
---|---|---|
ES2834929T3 (es) | Llenado con ruido en la codificación de audio por transformada perceptual |