ES2404132T3 - Descodificador de señal de audio, codificador de señal de audio, representacón de señal de audio de multi-canal modificada, procedimientos y programa de computadora - Google Patents
Descodificador de señal de audio, codificador de señal de audio, representacón de señal de audio de multi-canal modificada, procedimientos y programa de computadora Download PDFInfo
- Publication number
- ES2404132T3 ES2404132T3 ES09776910T ES09776910T ES2404132T3 ES 2404132 T3 ES2404132 T3 ES 2404132T3 ES 09776910 T ES09776910 T ES 09776910T ES 09776910 T ES09776910 T ES 09776910T ES 2404132 T3 ES2404132 T3 ES 2404132T3
- Authority
- ES
- Spain
- Prior art keywords
- time
- audio
- channel
- distortion
- contour
- 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
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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/04—Time compression or expansion
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/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/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
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)
- Quality & Reliability (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Stereophonic System (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Un descodificador de señal de audio (200; 300; 1500; 1800) para proveer una representación de señal deaudio de multi-canal descodificada (232;312;1812) en base a una representación de señal de audio de multicanalcodificada (211,212;310;1810), comprendiendo el descodificador de señal de audio: un descodificador de distorsión del tiempo (210,216,218,219,220, 230,240;340;1830) configurado para usarselectivamente contornos de distorsión del tiempo específicos de canal de audio individuales (332;1824) o uncontorno de distorsión del tiempo de multi-canal adjunto (332;1824) para la reconstrucción de una pluralidad decanales de audio representados por la representación de señal de audio de multi-canal codificada.
Description
Descodificador de señal de audio, codificador de señal de audio, representación de señal de audio de multi-canal modificada, procedimientos y programa de computadora
5 [0001] Las realizaciones de acuerdo con la invención se refieren a un descodificador de señal de audio. Realizaciones adicionales de acuerdo con la invención se refieren a un codificador de señal de audio. Realizaciones adicionales de acuerdo con la invención se refieren a una representación de señal de audio de multi-canal codificada. Realizaciones adicionales de acuerdo con la invención se refieren a un procedimiento para proveer una representación de señal de audio de multi-canal descodificada, con un procedimiento para proveer una representación codificada de una señal de audio de multi-canal y con un programa de computadora para implementar dichos procedimientos.
[0002] Algunas realizaciones de acuerdo con la invención se refieren a procedimientos para un codificador de transformada de MDCT distorsionada en el tiempo.
[0003] En lo siguiente, se dará una breve introducción al campo de codificación de audio distorsionada en el tiempo, 15 conceptos de los cuales pueden ser aplicados en conjunción con algunas realizaciones de la invención.
[0004] En años recientes, se han desarrollado técnicas para transformar una señal de audio a una representación de dominio de frecuencia y para codificar eficientemente esta representación de dominio de frecuencia, por ejemplo, tomando en cuenta umbrales de enmascaramiento perceptual. Este concepto de codificación de señal de audio es particularmente eficiente si las longitudes de bloque, para los cuales un conjunto de coeficientes espectrales codificados son transmitidos, son largos y si solamente un número comparativamente pequeño de coeficientes espectrales está por encima del umbral de enmascaramiento global mientras que un número grande de coeficientes espectrales están cerca o debajo del umbral de enmascaramiento global y pueden así ser despreciados (o codificados con longitud de código mínima).
[0005] Por ejemplo, las transformadas dobladas moduladas a base de coseno o a base de seno son frecuentemente
25 usadas en aplicaciones para codificación fuente debido a sus propiedades de compactación de energía. Esto es, para tonos armónicos con frecuencias fundamentales constantes (altura), concentran la energía de señal a un número bajo de componentes espectrales (sub-bandas), lo que conduce a una representación de señal eficiente.
[0006] En general, la altura (fundamental) de una señal se comprenderá que es la frecuencia dominante más baja distinguible del espectro de la señal. En el modelo de habla común, la altura es la frecuencia de la señal de excitación modulada por la garganta humana. Si solamente una frecuencia fundamental estuviera presente, el espectro sería extremadamente simple, comprendiendo la frecuencia fundamental y los sobretonos solamente. Tal espectro podría ser codificado altamente de manera eficiente. Para señales con altura variable, sin embargo, la energía correspondiente a cada componente armónico es esparcida sobre varios coeficientes de transformada, conduciendo así a una reducción de eficiencia de codificación.
35 [0007] Con el fin de superar esta recepción de la eficiencia de codificación, la señal de audio a ser codificada es remuestreada efectivamente en una rejilla temporal no uniforme. En el procesamiento subsecuente, las posiciones de muestra obtenidas por el re-muestreo uniforme son procesadas como si representaran valores en una rejilla temporal uniforme. Esta operación es denotada comúnmente por la parte “formación de tiempo”. Los tiempos de muestra pueden ser escogidos ventajosamente en dependencia de la variación temporal de la altura, de tal manera que una variación de altura en la versión distorsionada en el tiempo de la señal de audio es más pequeña que una variación de altura en la variación original de la señal de audio (antes de la distorsión de tiempo). Después de la distorsión en el tiempo de la señal de audio, la versión distorsionada en el tiempo de la señal de audio es convertida al dominio de frecuencia. La distorsión de tiempo altura-dependiente tiene el efecto de que la representación del dominio de frecuencia de la señal de audio distorsionada en el tiempo es comúnmente concentrada a un número
45 mucho más pequeño de componentes espectrales que una representación de dominio de frecuencia de la señal de audio original (no distorsionada en el tiempo).
[0008] En el lado del descodificador, la representación de frecuencia-dominio de la señal de audio distorsionada en el tiempo es convertida de regreso al dominio de tiempo, de tal manera que una representación de tiempo-dominio de la señal de audio distorsionada en el tiempo está disponible en el lado del descodificador. Sin embargo, en la representación del dominio de tiempo de la señal de audio distorsionada en el tiempo reconstruida del lado del descodificador, las variaciones de altura originales de la señal de audio de entrada del lado del codificador no son incluidas. Así, todavía otra distorsión de tiempo mediante re-muestreo de la representación del dominio de tiempo reconstruida del lado del descodificador de la señal de audio distorsionada en el tiempo es aplicada. Con el fin de obtener una buena reconstrucción de la señal de audio concentrada del lado del codificador en el descodificador, es
55 deseable que la distorsión en el tiempo del lado del descodificador sea por lo menos aproximadamente la operación inversa con respecto a la distorsión de tiempo del lado del codificador. Con el fin de obtener una distorsión de tiempo apropiada, es deseable tener información disponible en el lado del descodificador que permite el ajuste de distorsión de tiempo del lado del descodificador.
[0009] Ya que es comúnmente requerido transferir tal información del descodificador de señal de audio al descodificador de señal de audio, es deseable mantener una velocidad de bits requerida para esta transmisión pequeña en tanto que todavía permite una reconstrucción confiable de la información de distorsión de tiempo requerida en el lado del descodificador.
[0010] En vista de la discusión anterior, hay un deseo de tener un concepto que permita un almacenamiento eficiente en velocidad de bits y/o transmisión de una señal de audio de multi-canal.
[0011] Una realización de acuerdo con la invención crea un descodificador de señal de audio para proveer una representación de señal de audio de multi-canal descodificada en base a una representación de señal de audio de multi-canal descodificada. El descodificador de señal de audio comprende un descodificador de distorsión del tiempo configurado para usar selectivamente contornos de distorsión del tiempo específicos de canal de audio individuales
o un contorno de distorsión del tiempo de multi-canal adjunto para una reconstrucción de distorsión del tiempo de una pluralidad de canales de audio representados por la representación de señal de audio de multi-canal codificada.
[0012] Esta realización de acuerdo con la invención está basada en el descubrimiento de que una codificación eficiente de diferentes tipos de señales de audio de multi-canal puede ser obtenida al conmutar entre un almacenamiento y/o transmisión de contornos de distorsión del tiempo específicos del canal de audio y contornos de distorsión del tiempo de multi-canal adjuntos. Se ha encontrado que, en algunos casos, una variación de altura es significativamente diferente en los canales de una señal de audio de multi-canal. También, se ha encontrado que en otros casos, la variación de altura es aproximadamente igual para múltiples canales de una señal de audio de multicanal. En vista de estos tipos diferentes de señales (o porciones de señal de una sola señal de audio), se ha encontrado que la exigencia de codificación puede ser mejorada si el descodificador es apto de derivar flexiblemente (conmutable o selectivamente) los contornos de distorsión del tiempo para la reconstrucción de los diferentes canales de la señal de audio de multi-canal a partir de representaciones de contorno de distorsión del tiempo específicas de canal de audio individuales o de una representación de contorno de distorsión del tiempo de multicanal adjunta.
[0013] En una realización preferida, el descodificador de distorsión del tiempo está configurado para usar selectivamente un contorno de distorsión del tiempo de multi-canal adjunto para una reconstrucción de distorsión del tiempo de una pluralidad de canales de audio para los cuales la información del dominio espectral codificada individual está disponible. De acuerdo con un aspecto de la invención, se ha encontrado que el uso de un contorno de distorsión del tiempo de multi-canal adjunto para una reconstrucción de distorsión del tiempo de una pluralidad de canales de audio no es solamente aplicable si los diferentes canales de audio representan un contenido de audio similar, si no aún si diferentes canales de audio representan un contenido de audio significativamente diferente. Así, se ha encontrado que es útil combinar el concepto de usar un contorno de distorsión del tiempo de multi-canal adjunto para la evaluación de información de domino espectral codificada individual para diferentes canales de audio. Por ejemplo, este concepto es particularmente útil si un primer canal de audio representa una primera arte de una pieza polifónica de música, mientras que un segundo canal de audio representa una segunda parte de la pieza polifónica de música. La primera señal de audio y la segunda señal de audio pueden por ejemplo, representar el sonido producido por diferentes cantantes o por diferentes instrumentos. Así, una representación de dominio espectral del primer canal de audio puede ser significativamente diferente de una representación del dominio espectral de dicho canal de audio. Por ejemplo, las frecuencias fundamentales de los diferentes canales de audio pueden ser diferentes. También, los diferentes canales de audio pueden comprender diferentes características con respecto a las harmónicas de la frecuencia fundamental. No obstante, puede haber una tendencia significativa de que las alturas de los diferentes canales de audio varían aproximadamente en paralelo. En este caso, es muy eficiente aplicar una distorsión en tiempo común (descrita por el contorno de distorsión del tiempo de multi-canal adjunto) a los diferentes canales de audio, aunque los diferentes canales de audio comprenden contenidos de audio significativamente diferentes (por ejemplo, que tienen diferentes frecuencias fundamentales y diferentes espectros harmónicos. No obstante, en otros casos, es naturalmente deseable aplicar diferentes distorsiones de tiempo a diferentes canales de audio.
[0014] En una realización preferida de la invención, el descodificador de distorsión del tiempo está configurado para recibir una primera información de dominio espectral codificada asociada con un primero de los canales de audio y para proveer, en base a lo mismo, una representación del dominio de tiempo distorsionada del primer canal de audio utilizando una transformación de dominio de frecuencia a dominio de tiempo. También, el descodificador de distorsión del tiempo está configurado además para recibir una segunda información de dominio espectral codificada, asociada con un segundo de los canales de audio y para proveer, en base a lo mismo, una representación del dominio de tiempo distorsionada del segundo canal de audio utilizando una transformación de dominio de frecuencia a dominio de tiempo. En este caso, la segunda información de dominio espectral codificada puede ser diferente de la primera información de dominio espectral. También, el descodificador de distorsión del tiempo está configurado para re-muestrear de manera variable en el tiempo, en base al contorno de distorsión del tiempo de multi-canal adjunto, la representación del dominio del tiempo distorsionada del primer canal de audio o una versión procesada del mismo, para obtener una representación muestreada regularmente con el primer canal de audio y para re-muestrear de manera variable en el tiempo, también en base al contorno de distorsión del tiempo de
multi-canal adjunto, la representación del dominio de tiempo distorsionada del segundo canal de audio o una versión procesada de la misma, para obtener una representación muestreada regularmente del segundo canal de audio.
[0015] En otra realización preferida, el descodificador de distorsión del tiempo está configurado para derivar un contorno de tiempo de multi-canal adjunto a partir de la información de contorno de distorsión del tiempo de multicanal adjunta. Además, el descodificador de distorsión del tiempo está configurado para derivar una primera forma de ventana específica de canal individual asociada con el primero de los canales de audio en base a la primera información de forma de ventana codificada y para derivar una segunda forma de ventana específica de canal individual asociada con el segundo de los canales de audio en base a la segunda información de forma de ventana codificada. El descodificador de distorsión del tiempo está configurado además para aplicar la primera forma de ventana a la representación del dominio de tiempo distorsionada del primer canal de audio, para obtener una versión procesada de la representación del dominio de tiempo distorsionada del primer canal de audio y para aplicar la segunda forma de ventana a la representación del dominio de tiempo distorsionada del segundo canal de audio, para obtener una versión procesada de la representación del dominio de tiempo distorsionada del segundo canal de audio. En este caso, el descodificador de distorsión del tiempo es apto de aplicar diferentes formas de ventana a las representaciones de dominio de tiempo distorsionadas del primero y segundo canal de audio dependiendo de la formación de forma de ventana específica de canal individual.
[0016] Se ha encontrado que es en algunos casos recomendable aplicar ventanas de diferentes formas a diferentes señales de audio en preparación de una operación de distorsión de tiempo, aún si la separación de distorsión de tiempo está basada en un contorno de distorsión del tiempo común. Por ejemplo, puede haber una transición entre un cuadro, en el cual hay un contorno de distorsión del tiempo común para dos canales de audio y un cuadro subsecuente en el cual hay diferentes contornos de distorsión del tiempo para los dos canales de audio. Sin embargo, el contorno de distorsión del tiempo de uno de los dos canales de audio en el cuadro subsecuente puede ser una continuación no variable del contorno de distorsión del tiempo común en el cuadro presente, mientras que el contorno de distorsión del tiempo del otro canal de audio en el cuadro subsecuente puede ser variable con respecto al contorno de distorsión del tiempo común del cuadro presente. Así, una forma de ventana que está adaptada a una evolución no variable del contorno de distorsión del tiempo es representada para uno de los canales de audio, mientras que una forma de ventana adaptada a una evolución variable del contorno de distorsión del tiempo puede ser aplicada para el otro canal de audio. Así, la evolución diferente de los canales de audio puede ser tomada en consideración.
[0017] En otra realización de acuerdo con la invención, el descodificador de distorsión del tiempo puede estar configurado para aplicar un escalamiento de tiempo común, que es determinado por el contorno de distorsión del tiempo del multi-canal adjunto y diferentes formas de ventana cuando se forman ventanas de las representaciones de dominio del tiempo de los primeros y segundos canales de audio. Se a encontrado que aún si se usan diferentes formas de ventana para la formación de ventanas diferentes canales de audio antes de la distorsión del tiempo respectiva, el escalamiento en el tiempo del contorno de distorsión debe ser adaptado en paralelo con el fin de evitar la degradación de la impresión de audición.
[0018] Otra realización de acuerdo con la invención crea un codificador de señal de audio para proveer una representación codificada de una señal de audio de multi-canal. El codificador de señal de audio comprende un proveedor de representación de audio codificada configurado para proveer selectivamente una representación de audio que comprende una información de contorno de distorsión del tiempo común, asociada comúnmente con una pluralidad de canales de audio de la señal de audio de multi-canal o una representación de audio codificada que comprende información de contorno de distorsión del tiempo individual, asociada individualmente con los diferentes canales de audio de la pluralidad de canales de audio, dependiendo de una información que describe una similitud de diferencias entre los contornos de distorsión del tiempo asociados con canales de audio de la pluralidad de canales de audio. Esta realización de acuerdo con la invención está basada en el descubrimiento de que en muchos casos, múltiples canales de una señal de audio de multi-canal comprenden características de variación de altura similares. Así, es en algunos casos eficiente incluir a la representación codificada de la señal de audio de multi-canal una información de contorno de distorsión del tiempo común, asociada comúnmente con una pluralidad de los canales de audio. De esta manera, la eficiencia de codificación puede ser mejorada para muchas señales. Sin embargo, se ha encontrado que para otros tipos de señales (o aún para otras porciones de una señal) no es recomendable usar tal información de distorsión del tiempo común. Así, una codificación de señal es suficiente y puede ser obtenida si el codificador de señal de audio determina la similitud o diferencia entre contornos de distorsión asociados con los diferentes canales de audio bajo consideración. Sin embargo, se ha encontrado que es por supuesto valioso tener una mirada en los contornos de distorsión del tiempo individuales, debido a que hay muchas señales que comprenden una representación del dominio del tiempo significativamente diferentes o representación del dominio de frecuencia significativamente diferente, aunque tienen contornos de distorsión del tiempo muy similares. Así, se ha encontrado que la evaluación del contorno de distorsión del tiempo es un nuevo criterio para la determinación de la similitud en las señales, que proporciona una información extra cuando se compara con una sola evaluación de las representaciones del dominio de tiempo de múltiples señales de audio o de las representaciones del dominio de frecuencia de las señales de audio.
[0019] En una realización preferida, el proveedor de representación de audio codificada está configurado para aplicar selectivamente la información de contorno de distorsión del tiempo común para obtener una versión distorsionada en el tiempo de un primero de los canales de audio y para obtener una versión distorsionada en el tiempo de un segundo de los canales de audio. El proveedor de representación de audio codificada está configurado además para proveer una primera información del dominio espectral codificada individual asociada con el primero de los canales de audio en base a la versión distorsionada en el tiempo del canal de audio y para proveer una segunda información del dominio espectral codificado individual asociada con el segundo canal de audio en base a la versión distorsionada en el tiempo del segundo de los canales de audio. Esta realización está basada en el descubrimiento mencionado anteriormente de que los canales de audio pueden tener contenidos de audio significativamente diferentes, aún si tienen un contorno de distorsión del tiempo muy similar. Así, es frecuentemente recomendable proveer diferente información del dominio espectral asociado con diferentes canales de audio, aún si los canales de audio son distorsionados en el tiempo de acuerdo con una información de distorsión del tiempo común. En otras palabras, la realización está basada en el descubrimiento de que no hay ninguna interrelación estricta entre la similitud de los contornos de distorsión del tiempo y la similitud de las representaciones del dominio de frecuencia de los diferentes canales de audio.
[0020] En otra realización preferida, el codificador está configurado para obtener la información de contorno de distorsión común de tal manera que el contorno de distorsión común representa un promedio de contornos de distorsión individuales asociados con el primer canal de señal de audio y con el segundo canal de señal de audio.
[0021] En otra realización preferida, el proveedor de representación de audio codificada está configurado para proveer una información lateral dentro de la representación codificada de la señal de audio de multi-canal, de tal manera que la información lateral indica, en una base según el cuadro de audio, si los datos de distorsión del tiempo están presentes para un cuadro si una información del contorno de distorsión del tiempo común está presente para un cuadro. Al proveer información de si datos de distorsión del tiempo están presentes para un cuadro, es posible reducir la velocidad de bits preferida para la transmisión de la información de distorsión del tiempo. Se ha encontrado que es comúnmente referido transmitir una información que describe una pluralidad de valores de contorno de distorsión del tiempo dentro de un cuadro, si se usa la información del tiempo para tal cuadro. Sin embargo, también se ha encontrado que hay muchos cuadros para los cuales la aplicación de una distorsión del tiempo no efectúa una ventaja significativa. Todavía, se ha encontrado que es más eficiente indicar, utilizando por ejemplo un bit de información adicional, si los datos de distorsión del tiempo para un cuadro están disponibles. Al usar tal señalización, la transmisión de la información de distorsión del tiempo extensa (que comprende comúnmente información con respecto a una pluralidad de valores de contorno de distorsión del tiempo) puede ser omitida, ahorrando mediante esto bits.
[0022] Una realización adicional de acuerdo con la invención crea una representación de señal de audio de multicanal codificada que representa una señal de audio de multi-canal. La representación de señal de audio de multicanal comprende una representación del dominio de frecuencia codificada que representa una pluralidad de canales de audio distorsionados en el tiempo, distorsionándose selectivamente en el tiempo de acuerdo con una distorsión del tiempo común, en función de una información que describe una similitud o diferencia entre contornos de tiempo asociados con los canales de audio de la señal de audio multi-canal. La representación de señal de audio de multicanal también comprende una representación codificada de una información de contorno de distorsión del tiempo común, asociada comúnmente con los canales de audio y que representan la distorsión del tiempo común.
[0023] En una realización preferida, la representación del dominio de frecuencia codificada comprende información del dominio de frecuencia codificada de múltiples canales de audio que tienen diferente contenido de audio. También, la representación codificada de la información de contorno de distorsión común está asociada con los múltiples canales de audio que tienen diferentes contenidos de audio.
[0024] Otra realización de acuerdo con la invención crea un procedimiento para proveer una representación de señal de audio multi-canal codificada en base a una representación de señal de audio de multi-canal codificada. Este procedimiento puede ser complementado por cualquiera de los elementos y funcionalidades descritos en la presente también para el aparato de la invención.
[0025] Todavía otra realización de acuerdo con la invención crea un procedimiento para proveer una representación codificada de una señal de audio de multi-canal. Este procedimiento puede ser complementado por cualquiera de los elementos y funcionalidades descritos en la presente también para el aparato de la invención.
[0026] Todavía otra realización de acuerdo con la invención crea un programa de computadora para implementar los procedimientos mencionados anteriormente.
[0027] Las realizaciones de acuerdo con la invención serán descritas subsecuentemente tomando referencias a las figuras adjuntas en las cuales:
La figura 1 muestra un diagrama de bloques esquemático de un codificador de audio de distorsión de tiempo;
La figura 2 muestra un diagrama de bloques esquemático de un descodificador de audio de distorsión de tiempo;
La figura 3 muestra un diagrama de bloques esquemático de un descodificador de señal de audio de acuerdo con
una realización de la invención;
La figura 4 muestra un diagrama de flujo de un procedimiento para proveer una representación de señal de audio
descodificada de acuerdo con una realización de la invención;
La figura 5 muestra un extracto detallado de un diagrama de bloques esquemático de un descodificador de señal de
audio de acuerdo con una realización de la invención;
La figura 6 muestra un extracto detallado de un diagrama de flujo de un procedimiento para proveer una
representación de señal de audio descodificada de acuerdo con una realización de la invención;
Las figuras 7a, 7b muestran una representación gráfica de una reconstrucción del contorno de distorsión de tiempo
de acuerdo con una realización de la invención;
La figura 8 muestra otra representación gráfica de una reconstrucción de un contorno de distorsión de tiempo de
acuerdo con una realización de la invención;
Las figuras 9a y 9b muestran algoritmos para el cálculo del contorno de distorsión de tiempo;
La figura 9c muestra una tabla de un mapeo de un índice de proporción de distorsión de tiempo a un valor de
proporción de distorsión de tiempo;
Las figuras 10a y 10b muestran representaciones de algoritmos para el cálculo de un contorno de tiempo, una
posición de muestra, una longitud de transición, una “primera posición” y una “última posición”;
La figura 10c muestra una representación de algoritmos para un cálculo de forma de ventana;
Las figuras 10d y 10e muestran una representación de algoritmos para una aplicación de una ventana;
La figura 10f muestra una representación de algoritmos para un re – muestreo variable en el tiempo;
La figura 10g muestra una representación gráfica de algoritmos para un procesamiento de cuadro de distorsión post
– tiempo y para superposición y adición;
Las figuras 11a y 11b muestran una leyenda;
La figura 12 muestra una representación gráfica de un contorno de tiempo que puede ser extraído de un contorno de
distorsión de tiempo;
La figura 13 muestra un diagrama de bloques detallado esquemático de un aparato para proveer un contorno de
distorsión, de acuerdo con una realización de la invención;
La figura 14 muestra un diagrama de bloques esquemático de un descodificador de señal de audio de acuerdo con
otra realización de la invención;
La figura 15 muestra un diagrama de bloques esquemático de otro calculador de contorno de distorsión de tiempo,
de acuerdo con una realización de la invención;
Las figuras 16a, 16b muestran una representación gráfica del cálculo de valores de nodo de distorsión de tiempo, de
acuerdo con una realización de la invención;
La figura 17 muestra un diagrama de bloques esquemático de otro codificador de señal de audio de acuerdo con una
realización de la invención;
La figura 18 muestra un diagrama de bloques esquemático de otro descodificador de señal de audio de acuerdo con
una realización de la invención y Las figuras 19a – 19f muestran representaciones de elementos de sintaxis de una corriente de audio, de acuerdo con una realización de la invención.
DESCRIPCION DETALLADA DE LAS REALIZACIONES
[0028] Ya que la presente invención está relacionada con la codificación de audio de formación de tiempo y descodificación de audio de distorsión de tiempo, se dará una vista general breve de un prototipo de codificador de audio de formación de tiempo y un descodificador de audio de distorsión de tiempo en los cuales se puede aplicar la presente invención.
[0029] La figura 1 muestra un diagrama de bloques esquemático de un codificador de audio de distorsión de tiempo, al cual se pueden integrar algunos aspectos y realizaciones de la invención. El codificador de señal de audio 100 de la figura 1 está configurado para recibir una señal de audio de entrada 110 y proveer una representación codificada de la señal de audio de entrada 110 en una secuencia de cuadros. El codificador de audio 100 comprende un muestreador 104, que está adaptado para tomar muestras de la señal de audio 110 (señal de entrada) para derivar bloques de señales (representaciones muestreadas) 105 usadas como base para una transformada de dominio de frecuencia. El codificador de audio 100 comprende además un calculador de ventana de transformada 106, adaptado para derivar ventanas de escalamiento para las representaciones muestreadas 105 emitidas del muestreador 104. Estas son introducidas a un formador de ventana 108 que es apto para aplicar las ventanas de escalamiento a las representaciones muestreadas 105 derivadas del muestreador 104. En algunas realizaciones, el codificador de audio 100 puede comprender adicionalmente un transformador de dominio de frecuencia 108a con el fin de derivar una representación de dominio de frecuencia (por ejemplo, en forma de coeficiente de transformada) de las representaciones muestreadas y escaladas 105. Las representaciones de dominio de frecuencia pueden ser procesadas o transmitidas adicionalmente como una representación codificada de la señal de audio 110.
[0030] El codificador de audio 100 usa además un contorno de altura 112 de la señal de audio 110, que puede ser provisto al codificador de audio 100 o que puede ser derivado por el codificador de audio 100. El codificador de audio 100 puede por consiguiente comprender opcionalmente un estimador de altura para derivar el contorno de altura 112. El muestreador 104 puede operar sobre una representación continua de la señal de audio de entrada
110. Alternativamente, el muestreador 104 puede operar sobre una representación ya muestreada de la señal de audio de entrada 110. En el último caso, el muestreador 104 puede volver a tomar muestras de la señal de audio
110. El muestreador 104 puede por ejemplo estar adaptado a la superposición de bloques de audio vecinos de distorsión de tiempo de tal manera que la porción de superposición tiene una altura constante o variación de altura reducida dentro de cada uno de los bloques de entrada después de la toma de muestras.
[0031] El calculador de ventana de transformada 106 deriva las ventanas de escalamiento para los bloques de audio dependiendo de la distorsión de tiempo efectuada por el muestreador 104. Para este fin, un bloque de ajuste de velocidad de muestras opcional 114 puede estar presente con el fin de definir una regla de distorsión de tiempo usada por el muestreador, que es luego también provista al especulador de ventana de transformada 106. En una realización alternativa, el bloque de ajuste de velocidad de muestreo 114 puede ser emitido y el contorno de altura 112 puede ser provisto directamente al calculador de ventana de transformada 106, que puede por sí mismo efectuar los cálculos apropiados. Además, el muestreador 104 puede comunicar el muestreo aplicado al calculador de ventana de transformada 106 con el fin de permitir el cálculo de ventanas de escalamiento apropiadas.
[0032] La distorsión de tiempo es efectuada de tal manera que un contorno de altura de los bloques de audio muestreados distorsionados en tiempo y muestreados por el muestreador 104 es más constante que el contorno de altura de la señal de audio original 110 dentro del bloque de entrada.
[0033] La figura 2 muestra un diagrama de bloques esquemático de un descodificador de audio de distorsión de tiempo 200 para el procesamiento de una primera representación distorsionada en el tiempo y muestreada o simplemente representación distorsionada en el tiempo de un primero y segundo cuadro de una señal de audio que tiene una señal de audio en los cuales el segundo cuadro sigue el primer cuadro y para el procesamiento adicional de una segunda representación distorsionada en el tiempo del segundo cuadro y de un tercer cuadro en seguida del segundo cuadro en la secuencia de cuadros. El descodificador de audio 200 comprende un calculador de ventana de transformada 210 apto para derivar una primera ventana de escalamiento para la primera representación distorsionada en el tiempo 211a utilizando información en cuanto a un contorno de altura 212 del primero y el segundo cuadro y para derivar una segunda ventana de escalamiento para la segunda representación distorsionada en el tiempo 211b utilizando información en cuanto a un contorno de altura del segundo y tercer cuadro, en donde las ventanas de escalamiento pueden tener números idénticos de muestras y en donde el primer número de muestras usadas para desvanecer la primera ventana de escalamiento puede diferir del segundo número de muestras usadas para desvanecer la segunda ventana de escalamiento. El descodificador de audio 200 comprende además un formador de ventana 216 apto para aplicar la primera ventana de escalamiento a la primera representación de distorsión de tiempo y para aplicar la segunda ventana de escalamiento a la segunda representación distorsionada en el tiempo. El descodificador de audio 200 comprende además un re – muestreador 218 adaptado para distorsionar inversamente el tiempo la primera representación distorsionada en el tiempo escalada para derivar una primera representación muestreada utilizando la información en cuanto al contorno de altura del primero y el segundo cuadro y para distorsionar inversamente en el tiempo la segunda representación escalada para derivar una segunda representación muestreada utilizando la información en cuanto al contorna de altura del segundo y el tercer cuadro, de tal manera que una porción de la primera representación muestreada correspondiente al segundo cuadro comprende un contorno de altura que es igual, dentro del intervalo de tolerancia predeterminado, a un contorno de altura de la porción de la segunda representación muestreada correspondiente al segundo cuadro. Con el fin de derivar la ventana de escalamiento, el calculador de ventana de transformada 210 puede ya sea recibir el contorno de altura 212 directamente o recibir información en cuanto a la distorsión de tiempo desde un ajustador de velocidad de muestras opcional 220, que recibe el contorno de altura 212 y que deriva una estrategia de distorsión de tiempo inversa, de tal manera que las posiciones de muestra en una escala de tiempo
lineal para las muestras de superposición son idénticas o caso idénticas y espaciadas regularmente, de tal manera que la altura se convierte en la misma en las regiones de superposición y opcionalmente las longitudes de desvanecimiento diferentes de partes de ventana traslapantes antes de la distorsión de tiempo inversa se vuelven de la misma longitud después de la distorsión de tiempo inversa.
[0034] El descodificador de audio 200 comprende además un adicionador opcional 230, que está adaptado para agregar la porción de la primera representación muestreada correspondiente al segundo cuadro y la porción de la segunda representación muestreada correspondiente al segundo cuadro para derivar una representación de construida de segundo cuadro de la señal de audio como una señal de salida 242. La primera representación distorsionada en el tiempo y la segunda representación distorsionada en el tiempo podrían ser provistas, en una realización, como una entrada al descodificador de audio 200. En una realización adicional, el descodificador de audio 200 puede comprender opcionalmente un transformador de dominio de frecuencia inverso 240, que puede derivar las primeras y segundas representaciones distorsionadas en el tiempo de representaciones de dominio de frecuencia de las primeras y segundas representaciones distorsionadas en el tiempo provistas a la entrada del transformador de dominio de frecuencia inverso 240.
[0035] En lo siguiente, se describirá un descodificador de señal de audio simplificado. La Figura 3 muestra un diagrama de bloques esquemático de este descodificador de señal audio simplificado 300. El descodificador de señal de audio 300 está configurado para recibir la representación de señal de audio codificada 310, y proveer, en base a la misma, una representación de señal de audio descodificada 312, en donde la representación de señal de audio codificada 310 comprende una información de evaluación del contorno de distorsión de tiempo. El descodificador de señal de audio 300 comprende un calculador de contorno de formación de tiempo 320 configurado para generar datos de contorno de distorsión de tiempo 322 en base a la información de evolución de contorno de distorsión de tiempo, tal información de evolución del contorno de distorsión de tiempo describe una evolución temporal del contorno de distorsión de tiempo, y tal información de evolución del contorno de distorsión de tiempo está comprendida por la representación de señal de audio codificada 310. Cuando se derivan los datos de contorno de distorsión de tiempo 322 de la información de evolución del contorno de distorsión de tiempo 312, el calculador de contorno de distorsión de tiempo 320 se reinicia repetidamente desde un valor de inicio de contorno de distorsión de tiempo predeterminada, como se describirá en detalle en lo siguiente. El reinicio puede tener la consecuencia de que el contorno de distorsión de tiempo comprende discontinuidades (cambios graduales que son más grandes que las etapas codificadas por la información de evolución del contorno de formación de tiempo 312). El decodificador de señal de audio 300 comprende además un re-escalador de datos de contorno de formación de tiempo 330 que está configurado para reescalar por lo menos una porción de los datos de contorno de distorsión de tiempo 322, de tal manera que se evita una discontinuidad en el reinicio del cálculo del contorno de distorsión de tiempo, es reducido o eliminado, en una versión reescalada 332 del contorno de distorsión de tiempo.
[0036] El descodificador de señal de audio 300 también comprende un descodificador de distorsión 340 configurado para proveer una representación de señal de audio descodificada 312 en base a la representación de señal de audio codificada 310 y que utiliza la versión reescalada 332 del contorno de distorsión de tiempo.
[0037] Para poner el descodificador de señal de audio 300 en el contexto de decodificación de audio de distorsión de tiempo, se debe notar que la representación de señal de audio codificada 310 puede comprender una representación codificada de los coeficientes de transformada 211 y también una representación codificada del contorno de altura 212 (también designado como el contorno de distorsión de tiempo). El calculador de contorno de distorsión de tiempo 320 y el re-escalador de datos de contorno de distorsión de tiempo 330 pueden estar configurados para proveer una representación reconstruida del contorno de altura 212 en forma de la versión reescalada 332 del contorno de distorsión de tiempo. El descodificador de distorsión 340 por ejemplo, puede tomar la funcionalidad de la formación de ventana 216, la retoma de muestras 218, el ajuste de velocidad de muestreo 220 y el ajuste de la forma de ventana 210. Además, el descodificador de distorsión 340 puede por ejemplo comprender opcionalmente la funcionalidad de la transformada inversa 240 y el traslape/adición 230, de tal manera que la representación de señal de audio descodificada 312 puede ser equivalente a la señal de audio de salida 232 del descodificador de audio de distorsión de tiempo 200.
[0038] Al aplicar el re-escalamiento a los datos de contorno de distorsión de tiempo 322, se puede obtener una versión reescalada continua (o por lo menos aproximadamente continua) 332 del contorno de distorsión de tiempo, asegurando mediante esto que se evite un sobreflujo o subflujo numérico aún cuando se usa una información de evolución de contorno de distorsión de tiempo de variación relativa eficiente de codificar.
[0039] La Figura 4 muestra un diagrama de flujo de un procedimiento para proveer una representación de señal de audio descodificada en base a una representación de señal de audio codificada que comprende una información de evolución del contorno de distorsión de tiempo, que puede ser efectuada por el aparato 300 de acuerdo con la Figura 3. El procedimiento 400 comprende una primera etapa 410 para generar los datos de contorno de distorsión
de tiempo, reiniciándose repetidamente desde un valor de inicio de contorno de distorsión de tiempo predeterminado, en base a la información de evolución de contorno de distorsión de tiempo que describe una evolución temporal del contorno de distorsión de tiempo.
[0040] El procedimiento 400 comprende además una etapa 420 de re-escalamiento de lo menos una porción de los datos de control de distorsión de tiempo, de tal manera que una discontinuidad en uno de los reinicios es evitada, reducida o eliminada en una versión reescalada del contorno de distorsión de tiempo.
[0041] El procedimiento 400 comprende además una etapa 430 de proveer una representación de señal de audio descodificada en base a la representación de señal de audio codificada utilizando la versión reescalada del contorno de distorsión de tiempo.
[0042] En lo siguiente, se describirá una realización de acuerdo con la invención en detalle con referencia a las Figuras 5-9.
[0043] La Figura 5 muestra un diagrama de bloques esquemático de un aparato 500 para proveer información de control de distorsión de tiempo 512 en base a la información de evolución del contorno de distorsión de tiempo 510. El aparato 500 comprende medios 520 para proveer una información de contorno de distorsión de tiempo reconstruida 522 en base a la información de evolución de contorno de distorsión de tiempo 510, y un calculador de información de control de distorsión de tiempo 530 para proveer la información de control de distorsión de tiempo 512 en base a la información de contorno de distorsión de tiempo reconstruida 522.
Medios 520 para proveer la informaci6n de contorno de distorsi6n de tiempo reconstruida
[0044] En lo siguiente, se describirá la estructura y funcionalidad de los medios 520. Los medios 520 comprenden un calculador de contorno de distorsión de tiempo 540, que está configurado para recibir la información de evolución de contorno de distorsión de tiempo 510 y para proveer, en base a la misma, una nueva información de porción de contorno de distorsión 542. Por ejemplo, un conjunto de información de evolución del contorno de distorsión de tiempo puede ser transmitido al aparato 500 para cada cuadro de la señal de audio a ser reconstruido. No obstante, el conjunto de información de evolución de contorno de distorsión de tiempo 510 asociado con el cuadro de la señal de audio a ser reconstruido puede ser usado para la reconstrucción de una pluralidad de cuadros de la señal de audio. Similarmente, una pluralidad de conjuntos de información de evolución de contorno de distorsión de tiempo puede ser usado para la reconstrucción del contenido de audio de un solo cuadro de la señal de audio, como se discutirá en detalle en lo siguiente. Como conclusión, se puede afirmar que en algunas realizaciones, la información de evolución del contorno de distorsión de tiempo 510 puede ser actualizada a la misma velocidad a la cual conjuntos del coeficiente de dominio de transformada de la señal de audio a ser reconstruida o actualizada (una porción de contorno de distorsión de tiempo por cuadro de la señal de audio).
[0045] El calculador de contorno de distorsión de tiempo 540 comprende un calculador de valor de modo de distorsión 544, que está configurado para calcular una pluralidad (o secuencia temporal) de valores de nodo de contorno de distorsión en base a la pluralidad (o secuencia temporal) de valores de proporción de contorno de distorsión de tiempo (o índices de proporción de distorsión de tiempo), en donde los valores de proporción de distorsión de tiempo (o índices) están comprendidos por la información de evolución del contorno de distorsión de tiempo 510. Para este propósito, el calculador de valor de nodo de distorsión 544 está configurado para iniciar la provisión de los valores de nodo de contorno de distorsión de tiempo a un valor de partida predeterminado (por ejemplo 1) y para calcular valores de nodo de contorno de distorsión de tiempo subsecuentes que utilizan los valores de proporción de contorno de distorsión de tiempo, como se discutirá posteriormente en la presente.
[0046] Además, el calculador de contorno de distorsión de tiempo 540 comprende opcionalmente un interpolador 548 que está configurado para interpolar entre valores de nodo de contorno de distorsión de tiempo subsecuentes. Así, es obtiene la descripción 542 de la nueva porción de contorno de distorsión de tiempo, en donde la nueva porción de contorno de distorsión de tiempo se inicia comúnmente a partir del valor de partida predeterminado usado por el calculador de valor de nodo de distorsión 524. Además, los medios 520 están configurados para considerar porciones de contorno de distorsión de tiempo adicionales, es decir una llamada “última porción de contorno de distorsión de tiempo” y una llamada “porción de contorno de distorsión de tiempo actual” para la provisión de una plena sección de contorno de distorsión de tiempo. Para este propósito, los medios 520 están configurados para guardar la llamada “última porción de contorno de distorsión de tiempo” y la llamada “porción de contorno de distorsión de tiempo actual” en una memoria no mostrada en la Figura 5.
[0047] Sin embargo, los medios 520 también comprenden un re-escalador 550, que está configurado para reescalar la “última porción de contorno de distorsión de tiempo” y la “porción de contorno de distorsión de tiempo actual” para evitar (o reducir o eliminar) cualesquier discontinuidades en la plena sección de contorno de distorsión de tiempo, que está basada en la “última porción de contorno de distorsión de tiempo”, la “porción de contorno de distorsión de tiempo actual” y la “nueva porción de contorno de distorsión de tiempo”. Para este propósito, el re-escalador 550 está configurado para recibir la descripción almacenada de la “última porción de contorno de distorsión de tiempo” y de la “porción de contorno de distorsión de tiempo actual” y para reescalar conjuntamente la “última porción de contorno de distorsión de tiempo” y la “porción de contorno de distorsión de tiempo actual”, para obtener versiones reescaladas de la “última porción de contorno de distorsión de tiempo” y la “porción de contorno de distorsión de tiempo actual”. Detalles concernientes con el re-escalamiento efectuado por el re-escalador 550 serán discutidos a continuación, con referencia a las Figuras 7a, 7b y 8.
[0048] Además, el re-escalador 550 puede también estar configurado para recibir, por ejemplo de una memoria no mostrada en la Figura 5, un valor de suma asociado con la “última porción de contorno de distorsión de tiempo” y otro valor de suma asociado con la “porción de contorno de distorsión de tiempo actual”. Estos valores de suma son algunas veces designado con “last_warp_sum” y “cur_warp_sum”, respectivamente. El re-escalador 550 está configurado para reescalar los valores de suma asociados con las porciones de contorno de distorsión de tiempo que utilizan el mismo factor de re-escalamiento con los cuales las porciones de contorno de distorsión de tiempo correspondientes son reescaladas. Así, se tienen valores de suma reescalados.
[0049] En algunos casos, los medios 520 pueden comprender un actualizador 560, que está configurado para actualizar repetidamente las porciones de contorno de distorsión de tiempo introducidas al re-escalador 550 y también los valores de suma introducidos al re-escalador 550. Por ejemplo, el actualizador 560 puede estar configurado para actualizar dicha información a la velocidad de cuadro. Por ejemplo, la “nueva porción de contorno de distorsión de tiempo” del presente ciclo de cuadros puede servir como la “porción de contorno de distorsión de tiempo actual” en un siguiente ciclo de cuadro. Similarmente, la “porción de contorno de distorsión de tiempo actual” reescalada del ciclo de cuadros actual puede servir como la “última porción de contorno de distorsión de tiempo” en un siguiente ciclo de cuadros. Así, se crea una implementación eficiente en memoria, debido a que la “última porción de contorno de distorsión de tiempo” del ciclo de cuadros actual puede ser descartada después de la consumación del ciclo de cuadros actual.
[0050] Para resumir lo anterior, los medios 520 están configurados para proveer, para cada ciclo de cuadros (con la excepción de algunos ciclo de cuadros especiales, por ejemplo al comienzo de una secuencia de cuadros, o al final de una secuencia de cuadros, o en un cuadro en el cual la distorsión de tiempo es inactiva) una descripción de una sección de contorno de distorsión de tiempo que comprende una descripción de una “nueva porción de contorno de distorsión de tiempo”, de una “porción de contorno de distorsión de tiempo actual reescalada” y de una “última porción de contorno de distorsión de tiempo reescalada”. Además, los medios 520 pueden proveer, para cada ciclo de cuadro (con la excepción del ciclo de cuadros especial mencionado anteriormente) una representación de valores de suma de contorno de distorsión, por ejemplo, que comprenden un “nuevo valor de toma de porción de contorno de distorsión de tiempo”, un “valor de suma de contorno de distorsión de tiempo actual reescalado” y un “último valor de suma de contorno de distorsión de tiempo reescalado”.
[0051] El calculador de información de control de distorsión de tiempo 530 está configurado para calcular la información de control de distorsión de tiempo 512 en base a la información de contorno de distorsión de tiempo reconstruida provista por los medios 520. Por ejemplo, el calculador de información de control de distorsión de tiempo comprende un calculador de contorno de tiempo 570, que está configurado para calcular un contorno de tiempo 572 en base a la información de control de distorsión de tiempo reconstruida. Además, el calculador de información de contorno de distorsión de tiempo 530 comprende un calculador de posición de muestras 574, que está configurado para recibir el contorno de tiempo 572 y proveer, en base a lo mismo, una información de posición de muestra, por ejemplo en forma de un vector de posición de muestra 576. El vector de posición de muestra 576 describe la distorsión de tiempo efectuada, por ejemplo por el re-muestreador 218.
[0052] El calculador de información de control de distorsión de tiempo 530 también comprende un calculador de longitud de transición, que está configurado para derivar una información de longitud de transición a partir de la información de control de distorsión de tiempo reconstruida. La información de longitud de transición 582 puede comprender por ejemplo una información que describe una longitud de transición izquierda y una información que describe una longitud de transición derecha. La longitud de transición puede depender por ejemplo de la longitud de segmento de tiempo descritos por la “última porción de contorno de distorsión de tiempo”, la “porción de contorno de distorsión de tiempo actual” y la “nueva porción de contorno de distorsión de tiempo”. Por ejemplo, la longitud de transición puede ser acortada (cuando se compara con una longitud de transición predeterminada) si la extensión temporal de un segmento de tiempo descrito por la “última porción de contorno de distorsión de tiempo” es más corta que una extensión temporal del segmento de tiempo descrito por la “porción de contorno de distorsión de tiempo actual”, o si la extensión temporal de un segmento de tiempo descrita por la “nueva porción de contorno de distorsión de tiempo” es más corta que la extensión temporal del segmento de tiempo descrito por la “porción de contorno de distorsión de tiempo actual”. Además, el calculador de información de control de distorsión de tiempo 530 puede comprender además un calculador de primera y última posición 584, que está configurado para calcular una llamada “primera posición” y una llamada “última posición” en base a la longitud de transición izquierda y derecha. La “primera posición” y la “última posición” incrementan la eficiencia del re-muestreador, ya que las regiones fuera de estas posiciones son idénticas a cero después de la formación de ventanas y por consiguiente no necesitan ser tomados en cuenta para la distorsión de tiempo. Se debe notar aquí que el vector de posición de muestra 576 comprende, por ejemplo, información requerida por la distorsión de tiempo efectuada por el remuestreador 280. Además, la longitud de transición izquierda y derecha 582 y la “primera posición” y “última posición” 586 constituyen información, que es por ejemplo, requerida por el formador de ventanas 216.
[0053] Así, se puede decir que los medios 520 y el calculador de información de control de distorsión de tiempo 530 pueden emprender conjuntamente la funcionalidad del ajuste de velocidad de muestras 220, del ajuste de forma de ventana 210 y del cálculo de posición de toma de muestras 219.
[0054] En lo siguiente, la funcionalidad de un descodificador de audio que comprende los medios 520 y el calculador de información de control de distorsión de tiempo 530 serán descritos con referencia a las Figuras. 6, 7a, 7b, 8, 9a9c, 10a-10g, 11a, 11b y 12.
[0055] La Figura 6 muestra un diagrama de flujo de un procedimiento para descodificar una representación codificada de una señal de audio, de acuerdo con una realización de la invención. El procedimiento 600 comprende proveer una información de contorno de distorsión de tiempo reconstruida, en donde la provisión de la información de contorno de distorsión de tiempo reconstruida comprende calcular 610 valores de nodo de distorsión, interpolar 620 entre los valores de nodo de distorsión y re-escalamiento 630 de una o más porciones de contorno de distorsión previamente calculadas y uno o más valores de suma de contorno de distorsión previamente calculados. El procedimiento 600 comprende además calcular 640 información de control de distorsión de tiempo utilizando una “nueva porción de contorno de distorsión de tiempo” obtenida en las etapas 610 y 620, las porciones de contorno de distorsión de tiempo previamente calculadas reescaladas (“porción de contorno de distorsión de tiempo actual” y “última porción de contorno de distorsión de tiempo”) y también, opcionalmente, utilizando los valores de suma de contorno de distorsión previamente calculados reescalados. Como resultado, una información de contorno de tiempo y/o una información de posición de muestra y/o una información de longitud de transición y/o una primera porción y información de última posición puede ser obtenida en la etapa 640.
[0056] El procedimiento 600 comprende además efectuar 650 la reconstrucción de señal distorsionada en el tiempo utilizando la información de control de distorsión de tiempo obtenida en la etapa 640. detalles concernientes con la reconstrucción de señal de distorsión de tiempo serán descritos subsecuentemente.
[0057] El procedimiento 600 también comprende una etapa 660 de actualizar una memoria como se describirá posteriormente en la presente.
Calculo de las porciones de contorno de distorsi6n de tiempo
[0058] En lo siguiente, detalles concernientes con el cálculo de las porciones de contorno de distorsión de tiempo serán descritos, con referencia a las Figuras 7a, 7b, 8, 9a, 9b, 9c.
[0059] Se supondrá que un estado inicial está presente, que es ilustrado en una representación gráfica 710 de la Figura 7a. Como se puede ver, una primera porción de contorno de distorsión 716 (porción de contorno de distorsión 1) y una segunda porción de contorno de distorsión 718 (porción de contorno de distorsión 2) están presentes. Cada una de las porciones de contorno de distorsión comprenden comúnmente una pluralidad de valores de datos de contorno de distorsión discretos, que son almacenados comúnmente en una memoria. Los diferentes valores de datos del contorno de distorsión están asociados con los valores de tiempo, en donde un tiempo es mostrado en una absisa 712. La magnitud de los valores de datos de contorno de distorsión son mostrados en las ordenadas 714. Como se puede ver, la primera porción de contorno de distorsión tiene un valor final de uno y la segunda porción de contorno de distorsión tiene un valor de partida de uno, en donde el valor de uno puede ser considerado como un “valor predeterminado”. Se debe notar que la primera porción de contorno de distorsión 716 puede ser considerada como la “última porción de distorsión de tiempo” (también designada como “last_warp_contour”), mientras que la segunda porción de contorno de distorsión 718 puede ser considerada como una “porción de contorno de distorsión de tiempo actual” (también denominada como “cur_warp-contour”).
[0060] Iniciando del estado inicial, se calcula una nueva porción de contorno de distorsión, por ejemplo, en las etapas 610, 620 del procedimiento 600. Así, los valores de datos de contorno de distorsión de la tercera porción de contorno de distorsión (también designada como “porción de contorno de distorsión 3” o “nueva porción de contorno de distorsión de tiempo” o “new_warp-contour”) es calculada. El cálculo puede ser separado, por ejemplo, en un cálculo de valores de nodo de distorsión, de acuerdo con un algoritmo 910 mostrado en la Figuras 9a y una interpolación 620 entre los valores de nodo de distorsión de acuerdo con el algoritmo 920 mostrado en la Figura 9a. Así, se obtiene una nueva porción de contorno de distorsión 722, que inicia a partir del valor predeterminado (por ejemplo, uno) y que es mostrado en una representación gráfica 720 de la Figura 7a. Como se puede ver, la primera porción de contorno de distorsión de tiempo 716, la segunda porción de contorno de distorsión de tiempo 718 y la tercera porción de contorno de distorsión de tiempo nueva están asociadas con intervalos de tiempo subsecuentes y contiguos. Además, se puede ver que hay una discontinuidad 724 entre un punto final 718b de la segunda porción de contorno de distorsión de tiempo 718 y un punto de inicio 722a de la tercera porción de contorno de distorsión de tiempo.
[0061] Se debe notar aquí que la discontinuidad 724 comprende comúnmente una magnitud que es más grande que una variación entre cualesquier dos valores de datos de contorno de distorsión temporalmente adyacentes del contorno de distorsión de tiempo dentro de una porción de contorno de distorsión de tiempo. Esto es debido al hecho de que el valor de inicio 722a de la tercera porción de contorno de distorsión de tiempo 722 es forzada a un valor predeterminado (por ejemplo, uno), independiente del valor final 718b de la segunda porción de contorno de
distorsión de tiempo 718. Se debe notar que la discontinuidad 724 es por consiguiente más grande que la variación inevitable entre dos valores de datos de contorno de distorsión discretos adyacentes.
[0062] No obstante, esta discontinuidad entre la segunda porción de contorno de distorsión de tiempo 718 y la tercera porción de contorno de distorsión de tiempo 722 sería perjudicial para el uso adicional de los valores de datos de contorno de distorsión de tiempo.
[0063] Así, la primera porción de contorno de distorsión de tiempo y la segunda porción de contorno de distorsión de tiempo son reescaladas conjuntamente en la etapa 630 del procedimiento 600. Por ejemplo, los valores de datos del contorno de distorsión de tiempo de la primera porción del contorno de distorsión de tiempo 716 y los valores de datos del contorno de distorsión de tiempo de la segunda porción del contorno de distorsión de tiempo 718 son reescalados por multiplicación con un factor de re-escalamiento (también designado como “norm_fac”). Así, se obtiene una versión reescalada 716 de la primera porción de contorno de distorsión de tiempo 716 y también una versión reescalada 718’ de la segunda porción de contorno de distorsión de tiempo 718. En contraste, la tercera porción de contorno de distorsión de tiempo es comúnmente dejada sin aceptar en esta etapa de re-escalamiento, como se puede ver en una representación grafica 730 de la Figura 7a. El re-escalamiento puede ser efectuado de tal manera que el punto final reescalado 718b comprende por lo menos aproximadamente el mismo valor de datos como el punto de partida 722a de la tercera porción de contorno de distorsión de tiempo 722. Así, la versión reescalada 716’ de la primera porción de contorno de distorsión de tiempo, la versión reescalada 718’ de la segunda porción de contorno de distorsión de tiempo y la tercera porción de contorno de distorsión de tiempo 722 forman conjuntamente una sección de contorno de distorsión de tiempo (aproximadamente) continua. En particular, el escalamiento puede ser efectuado de tal manera que la diferencia entre el valor de datos del punto final reescalado 718b y el punto de partida 722 no es mayor que un máximo de la diferencia entre cualesquier dos valores de datos adyacentes de las porciones de contorno de distorsión de tiempo 716’, 718’, 722.
[0064] Así, la sección de contorno de distorsión de tiempo aproximadamente continua que comprende las porciones de contorno de distorsión de tiempo escaladas 716’, 718’ y la porción de contorno de distorsión de tiempo original 722 es usada para el cálculo de la información de control de distorsión de tiempo que es efectuada en la etapa 640. Por ejemplo, la información de control de distorsión de tiempo puede ser calculada para un cuadro de audio asociado temporalmente con la segunda porción de contorno de distorsión de tiempo 718.
[0065] Sin embargo, después del cálculo de la información de control de distorsión de tiempo en la etapa 640, se puede efectuar una reconstrucción de señal distorsionada en el tiempo en la etapa 650, que será explicada en más detalle posteriormente en la presente.
[0066] Subsecuentemente, se requiere obtener información de control de distorsión de tiempo para un siguiente cuadro de audio. Para este propósito, la versión reescalada 716’ de la primera porción del contorno de distorsión de tiempo puede ser descartada para ahorrar memoria, debido a que ya no se necesita. Sin embargo, la versión reescalada 716’ puede naturalmente también ser guardada para cualquier propósito. Además, la versión reescalada 718’ de la segunda porción de contorno de distorsión de tiempo toma el lugar de la “última porción de contorno de distorsión de tiempo” para el nuevo cálculo, como se puede ver en una representación gráfica 740 de la Figura 7b. Además, la tercera porción de contorno de distorsión de tiempo 722, que tomó el lugar de la “nueva porción de contorno de distorsión de tiempo” en el cálculo previo, toma el papel de la “porción de contorno de distorsión de tiempo actual” para un siguiente cálculo. La asociación es mostrada en la representación gráfica 740.
[0067] Subsecuentemente a esta actualización de la memoria (etapa 660 del procedimiento 600), se calcula una nueva porción del contorno de distorsión de tiempo 752 como se puede ver en la representación gráfica 750. Para este propósito, las etapas 610 y 620 del procedimiento 600 pueden ser re-ejecutadas con nuevos datos introducidos. La cuarta porción de contorno de distorsión de tiempo 752 toma el papel de la “nueva porción de del tiempo” por ahora. Como se puede ver, hay comúnmente una discontinuidad entre un punto final 722b de la tercera porción de contorno de distorsión de tiempo y un punto de partida 750a de la cuarta porción de contorno de distorsión de tiempo
752. Esta discontinuidad 754 es reducida o eliminada por un re-escalamiento subsecuente (etapa 630 del procedimiento 600) de la versión reescalada 718’ de la segunda porción de contorno de distorsión de tiempo y de la versión original de la tercera porción de contorno de distorsión de tiempo 722. Así, una versión reescalada dos veces 718” de la segunda porción de contorno de distorsión de tiempo y una versión reescalada una vez 722’ de la tercera porción de contorno de distorsión de tiempo son obtenidas, como se puede ver de una representación gráfica 760 de la Figura 7b. Como se puede ver, las porciones de contorno de distorsión de tiempo 718”, 722’, 752 forman una sección de contorno de distorsión de tiempo por lo menos aproximadamente continua, que puede ser usada para el cálculo de la información de control de distorsión de tiempo en la red-ejecución de la etapa 640.
[0068] Por ejemplo, la información de control de distorsión de tiempo puede ser calculada en base a las porciones de contorno de distorsión de tiempo 718”, 722’, 752, tal información de control de distorsión de tiempo está asociada con un cuadro de tiempo de señal de audio centrado sobre la segunda porción de contorno de distorsión de tiempo.
[0069] Se debe notar que en algunos casos es deseable tener un valor de suma de contorno de distorsión asociado para cada una de las porciones de contorno de distorsión de tiempo. Por ejemplo, un primer valor de suma de contorno de distorsión puede ser asociado con la primera porción de contorno de distorsión de tiempo, un segundo
valor de suma de contorno de distorsión puede ser asociado con la segunda porción de contorno de distorsión de tiempo y así sucesivamente. Los valores de suma de contorno de distorsión pueden ser usados por ejemplo, para el cálculo de la información de control de distorsión de tiempo en la etapa 640.
[0070] Por ejemplo, el valor de suma de contorno de distorsión puede representar una suma de los valores de datos
5 de contorno de distorsión de una porción de contorno de distorsión de tiempo respectiva. Sin embargo, ya que las porciones de contorno de distorsión de tiempo son escaladas, es algunas veces deseable también escalar el valor de suma de contorno de distorsión de tiempo, de tal manera que el valor de suma del contorno de distorsión de tiempo sigue la característica de su porción de contorno de distorsión de tiempo asociada. Así, un valor de suma de contorno de distorsión asociado con la segunda porción de contorno de distorsión de tiempo 718 puede ser escalado (por ejemplo, por el mismo factor de escalamiento) cuando la segunda porción de contorno de distorsión de tiempo 718 es escalada para obtener la porción escalada 718’ de la misma. Similarmente, el valor de suma de contorno de distorsión asociado con la primera porción de contorno de distorsión de tiempo 716 puede ser escalado (por ejemplo, con el mismo factor de escalamiento) cuando la primera porción de contorno de distorsión de tiempo 716 es escalada para obtener la porción escalada 716’ de la misma, si se desea.
15 [0071] Además, se puede efectuar una re-asociación (o re-asignación de memoria) cuando se procede a la consideración de una nueva porción de contorno de distorsión de tiempo. Por ejemplo, el valor de suma de contorno de distorsión asociado con la versión escalada 718’ de la segunda porción de contorno de distorsión de tiempo, que toma el papel de un “valor de suma de contorno de distorsión de tiempo actual” para el cálculo de la información de control de distorsión de tiempo asociada con las porciones de contorno de distorsión de tiempo 716’, 718’, 722 puede ser considerado como un “último valor de suma de distorsión de tiempo” para el cálculo de una información de control de distorsión de tiempo asociada con las porciones de contorno de distorsión de tiempo 718”, 722’, 752. Similarmente, el valor de suma del contorno de distorsión asociado con la tercera porción de contorno de distorsión de tiempo 722 puede ser considerado como un “nuevo valor de suma de contorno de distorsión “ para el cálculo de la información de control de distorsión de tiempo asociada con las porciones de contorno de distorsión de tiempo
25 716’, 718’, 722 y puede ser mapeada para actuar como “valor de suma de contorno de distorsión actual” para el cálculo de la información de control de distorsión de tiempo asociada con las porciones de contorno de distorsión de tiempo 718”, 722’, 752. Además, el valor de suma de contorno de distorsión recién calculado de la cuarta porción de contorno de distorsión de tiempo 752 puede tomar el papel del “nuevo valor de suma del contorno de distorsión” para el cálculo de la información del control de distorsión de tiempo asociada con las porciones de contorno de distorsión de tiempo 718”, 722’, 752.
[0072] La Figura 8 muestra una representación gráfica que ilustra un problema que es resuelto por las realizaciones
35 de acuerdo con la invención. Una primera representación gráfica 810 muestra una evolución temporal de una altura relativa reconstruida con el tiempo, que es obtenida en algunas realizaciones convencionales. Las abcisas 812 describen el tiempo, las ordenadas 814 describen la altura relativa. La curva 816 muestra la evolución temporal de la altura relativa con el paso del tiempo, que podría ser reconstruida a partir de una información de altura relativa. Concerniente con la reconstrucción del contorno de altura relativo, se debe notar que para la aplicación de la transformada de coseno discreta modificada distorsionada en el tiempo (MDCT) solamente el conocimiento de la variación relativa de la altura dentro del cuadro actual es necesaria. Con el fin de entender esto, se hace referencia a las etapas de cálculo para obtener el contorno de tiempo a partir del contorno de altura relativa, que conduce a un contorno de tiempo idéntico para versiones escaladas del mismo contorno de altura relativo. Por consiguiente, es suficiente codificar solamente el valor de altura relativo en lugar de un valor de altura absoluto, lo que incrementa la
45 eficiencia de codificación. Para incrementar adicionalmente la eficiencia, el valor cuantificado real no es la altura relativa, si no el cambio relativo en altura, esto es, la proporción de la altura relativa actual con respecto a la altura relativa previa (como se discutirá en detalle en lo siguiente). En algunos cuadros, en donde por ejemplo, la señal exhibe ninguna estructura armónica, ninguna distorsión de tiempo podría ser deseable. En tales casos, una bandera adicional puede indicar opcionalmente un contorno de altura plano en lugar de la codificación de este contorno plano con el procedimiento mencionado anteriormente. Puesto que en las señales del mundo real la cantidad de tales cuadros es comúnmente suficientemente alta, el intercambio entre los bits adicionales agregados en todos los tiempos y los bits ahorrados para el cuadro sin distorsión están a favor del ahorro de bits.
[0073] El valor de partida para el cálculo de la variación de altura (contorno de altura relativo o contorno de distorsión de tiempo) puede ser elegido arbitrariamente y aún diferir en el codificador y descodificador. Debido a la
55 naturaleza de los valores de partida diferentes de MDCT distorsionados en el tiempo (TW-MDCT) de la variación de altura todavía produce las mismas posiciones de muestra y formas de ventana adaptadas para efectuar el TW-MDCT.
[0074] Por ejemplo, un codificador (audio) obtiene un contorno de altura para cada nodo que es expresado como retraso de altura real en muestras en conjunción con una especificación con voz/sin voz opcional que fue por
ejemplo, obtenida al aplicar una estimación de altura y decisión con voz/sin voz conocida de la codificación de habla. Si para el nodo actual la clasificación es ajustada a con voz o no está disponible ninguna una decisión de voz/sin voz, el codificador calcula la proporción entre el retraso de altura real y lo cuantifica o solo ajusta la proporción a uno y es sin voz. Otro ejemplo, podría ser que la variación de altura es estimada directamente mediante un procedimiento apropiado (por ejemplo, estimación de variación de señal).
[0075] En el descodificador, el valor de inicio para la primera altura relativa al inicio del audio codificado es ajustado a un valor arbitrario, por ejemplo, a uno. Por consiguiente, el contorno de altura relativo descodificado ya no está en el mismo intervalo absoluto del contorno de altura del codificador, si no una versión escalada del mismo. Todavía, como se describe anteriormente, el algoritmo de TW-MDCT conduce a las mismas porciones de muestra y formas de ventana. Además, el codificador podría decidir si las proporciones de altura codificadas producirían un contorno de altura plano, no enviar el contorno plenamente codificado, si no ajustarla bandera de activePitchData a cero en lugar de esto, ahorrando bits en este cuadro (por ejemplo, ahorrando numPitchbits * numPitches bits en este cuadro).
[0076] En lo siguiente, los problemas serán discutidos que ocurren en ausencia de la re-normalización del contorno de altura de la invención. Como se menciona anteriormente, para el TW-MDCT, solamente el cambio de altura relativo dentro de una cierta extensión de tiempo limitado alrededor del bloque actual es necesario para el cálculo de la distorsión de tiempo y la adaptación de forma de ventana correcta (véanse las especificaciones anteriores). La distorsión de tiempo sigue el contorno descodificado para segmentos en donde se ha detectado un cambio de altura y sigue siendo constante en todos los otros casos (véase la representación gráfica 810 de la Figura 8). Para el cálculo de las posiciones de ventana y toma de muestras de un bloque, tres segmentos de contorno de altura relativos consecutivos (por ejemplo, tres porciones de contorno de distorsión de tiempo) son necesarios, en donde el tercero es el recién transmitido en el cuadro (designado como “nueva porción de contorno de distorsión de tiempo”) y los otros dos son guardados en la memoria del pasado (por ejemplo, designados como “última porción del contorno de distorsión de tiempo” y “porción de contorno de distorsión de tiempo actual”).
[0077] Para tener un ejemplo, se hace referencia por ejemplo, a las explicaciones que se hicieron con referencia a las Figuras 7a y 7b y también a las representaciones gráficas 810, 860 de la Figura 8. Para calcular, por ejemplo, las posiciones de toma de muestras de la ventana para (o asociada con) el cuadro 1, que se extiende desde el cuadro 0 al cuadro 2, se necesitan los contornos de altura de (o asociados con) el cuadro 0, 1 y 2. En la corriente de bits, solamente la información de altura para el cuadro 2 es enviada en el cuadro actual y los otros dos son tomados del pasado. Como se explica en la presente, el contorno de altura puede ser conseguido mediante la aplicación de la primera proporción de altura relativa descodificada a la última altura del cuadro 1 para obtener el cuadro en el primer nodo del cuadro 2 y así sucesivamente. Es ahora posible, debido a la naturaleza de la señal, que si el contorno de altura es simplemente proseguido (esto es, si la parte recién transmitida del contorno es anexada a las dos partes existentes sin ninguna modificación) que un traslape del intervalo en el formato del número interno del codificador se presente después de un cierto tiempo. Por ejemplo, una seña podría iniciar con un segmento de características armónicas fuertes y un valor de altura alto al comienzo que es descendente en todo el segmento, conduciendo a una altura relativa decreciente. Luego, un segmento y ninguna información de altura puede seguir, de tal manera que la altura relativa se mantiene constante. Luego, otra vez, una sección armónica puede iniciar con una altura absoluta que es más alta que la última altura absoluta al segmento previo y otra vez yendo hacia abajo. Sin embargo, simplemente se continúa la altura relativa, es la misma como al final del último segmento armónico y avanzará además hacia abajo y así sucesivamente. Si la señal es suficiente fuerte y tiene en sus segmentos armónicos una tendencia global al ir ya sea hacia arriba o hacia abajo (como se muestra en la representación gráfica 810 de la Figura 8), más pronto o más tarde la altura relativa llega a la frontera de un intervalo del formato del número interno. Es bien conocido de la codificación del habla que las señales de habla exhiben por supuesto tal característica. Por consiguiente, no es sorpresa que la codificación de un conjunto concatenado de señales del mundo real que incluyen habla excedan realmente el intervalo de los valores flotantes usados para la altura relativa después de una cantidad relativamente corta de tiempo cuando se usa el procedimiento convencional descrito anteriormente.
[0078] Para resumir, para un segmento de señal de audio (o cuadro) para el cual se puede diseñar una altura, una evolución apropiada del contorno de altura relativo (o contorno de distorsión de tiempo) podría ser determinado. Para segmentos de señal de audio (o cuadro de señal de audio) para los cuales no se puede determinar una altura (por ejemplo, debido a que los segmentos de señal de audio son semejantes a ruido) el contorno de altura relativo (o contorno de distorsión de tiempo) podría ser mantenido constante. Así, si hubiera un equilibrio entre los segmentos de audio con altura incrementada y altura decreciente, el contorno de altura relativo (o contorno de distorsión de tiempo) avanzaría ya sea a un sub-flujo numérico o un desbordamiento numérico.
[0079] Por ejemplo, en la representación gráfica 810, se muestra un contorno de altura relativa para el caso en que hay una pluralidad de porciones de contorno de altura relativa 820a, 820b, 820c, 820d con altura decreciente y algunos segmentos de audio 822a, 822b sin altura, pero ningún segmento de audio con altura incrementada. Así, se puede ver que el contorno de altura relativo 810 avanza a un subflujo numérico (por lo menos bajo circunstancias muy adversas).
[0080] En lo siguiente, se describirá una solución para este problema. Para impedir los problemas mencionados anteriormente, en particular el sub-flujo o desbordamiento numérico, una normalización de contorno de altura relativa
periódica ha sido introducida de acuerdo con un aspecto de la invención. Puesto que el cálculo del contorno de tiempo distorsionado y la forma de ventana solamente dependen del cambio relativo con respecto a los tres segmentos de contorno de altura relativos mencionados anteriormente (también designadas como “porciones de contorno de distorsión de tiempo”), como se explica en la presente, es posible normalizar este contorno (por ejemplo, el contorno de distorsión de tiempo que puede estar compuesto de tres piezas de “porciones de contorno de distorsión de tiempo”) para cada cuadro (por ejemplo, de la señal de audio) nuevamente con el mismo resultado.
[0081] Para esto, la referencia fue por ejemplo, escogida para ser la última muestra del segundo segmento de contorno (también designado como “porción de contorno de distorsión de tiempo”) y el contorno es ahora normalizado (por ejemplo, multiplicativamente en el dominio lineal) de tal manera que esta muestra tiene un valor de
1.0 (véase la representación gráfica 860 de la Figura 8).
[0082] La representación gráfica 860 de la Figura 8 representa la normalización de contorno de altura relativa. Las abcisas 862 muestran en tiempo, subdividido en cuadros (cuadros 0, 1, 2). Las ordenadas 864 describen el valor de contorno de altura relativa. Un contorno de altura relativa antes de la normalización es diseñado con 870 y cubre dos cuadros (por ejemplo, cuadro número 0 y cuadro número 1). Un nuevo segmento de contorno de altura relativa (también designada como “porción de contorno de distorsión de tiempo”) que inicia del valor de partida de contorno de altura relativa predeterminado (o valor de partida del contorno de distorsión de tiempo) es designado con 874. Como se puede ver, el reinicio del nuevo segmento de contorno de altura relativo 874 del valor de partida del contorno de altura relativa predeterminado (por ejemplo, uno) efectúa una discontinuidad entre el segmento de contorno de altura relativa 870 al punto en el tiempo de inicio y el nuevo segmento de contorno de altura relativa 874, que es designado con 878. Esta discontinuidad efectuaría un problema severo para la derivación de cualquier información de control de distorsión de tiempo del contorno y dará como resultado posiblemente distorsiones de audio. Por consiguiente, un segmento de contorno de altura relativa obtenido previamente 870 precedente al reinicio de punto en el tiempo de reinicio es reescalado (o normalizado), para obtener un segmento de contorno de altura relativa reescalado 870’. Las normalizaciones efectuadas de tal manera que en la última muestra del segmento de contorno de altura relativa 870 es escalada al valor de partida de contorno de altura relativa predeterminada (por ejemplo, de 1.0).
Descripci6n detallada del algoritmo
[0083] En lo siguiente, algunos de los algoritmos efectuados por el descodificador de audio de conformidad con una realización de la invención serán descritos en detalle. Para este propósito, se hará referencia a las Figuras 5, 6, 9a, 9b, 9c y 10a-10g. Además, se hace referencia a la leyenda de elementos de datos, elementos de ayuda y constantes de las Figuras 11a y 11b.
[0084] Generalmente hablando, se puede decir que el procedimiento descrito en la presente puede ser usado para descodificar una corriente de audio que es codificada de acuerdo con una transformada de coseno discreta modificada de distorsión de tiempo. Así, cuando la TW-MDCT es habilitada para la corriente de audio (que puede ser indicada por una bandera, por ejemplo, denominada como bandera “twMdct”, que puede estar comprendida en una información de configuración específica), un banco de filtros distorsionados en el tiempo y conmutación de bloqueo para reemplazar un banco de filtros estándar y conmutación de bloques. Adicionalmente, a la transformada de coseno discreta modificada inversa (IMDCT) el banco de filtros distorsionado en el tiempo y conmutación de bloque contiene un mapeo de dominio de tiempo a dominio de tiempo desde una red en el tiempo espaciada arbitrariamente a la rejilla de tiempo espaciada regularmente de manera normal y adaptación correspondiente de formas de ventana.
[0085] En lo siguiente, el proceso de descodificación será descrito. En una primera etapa, el contorno de distorsiones descodificado. El contorno de distorsión puede por ejemplo, puede ser verificado utilizando índices del libro de códigos del nodo del contorno de distorsión. Los índices del libro de códigos transformados de contorno de distorsión son descodificados, por ejemplo utilizando el algoritmo mostrado en una representación gráfica 910 de la Figura 9a. De acuerdo con el algoritmo, se derivan valores de proporción de distorsión (warp_value_tbl) a partir de los índices de libro de códigos de proporción de distorsión (tw_proporción), por ejemplo utilizando un mapeo definido por la tabla de mapeo 990 de la Figura 9c. Como se puede ver del algoritmo mostrado como el número de referencia 910, los valores de nodo de distorsión pueden ser ajustados a un valor predeterminado constante, si la bandera (tw_data_present) indica que los datos de distorsión de tiempo no están presentes. En contraste, si la bandera indica que datos de distorsión en tiempo están presentes, un primer valor de nodo de distorsión puede ser ajustado al valor de partida del contorno de distorsión de tiempo predeterminado (por ejemplo, uno). Los valores de nodo de distorsión ejemplares (de una porción de contorno de distorsión de tiempo) pueden ser combinados en base a la formación de un producto de valores de proporción de distorsiones de tiempo múltiples. Por ejemplo, un nodo de distorsión de un nodo inmediatamente siguiente al primer nodo de distorsión i = 0) puede ser igual a un primer valor de proporción de distorsión (si el valor de partida es uno) o igual a un producto del primer valor de proporción de distorsión y el valor de partida. Valores de nodo de distorsión de tiempo subsecuentes (i = 2, 3, …, num_tw_nodes) son calculados al formar un producto de múltiples valores de proporción de distorsión de tiempo (opcionalmente tomando en consideración el valor de partida, si el valor de partida difiere de uno). Naturalmente, el orden de la formación del producto es arbitrario. Sin embargo, es ventajoso derivar un valor de modo de distorsión (i + 1)-ésimo a partir de un valor de nodo de distorsión i-ésimo al multiplicar el valor del nodo de distorsión i-ésimo con un solo valor de proporción de distorsión que describe la proporción entre dos valores del nodo subsecuente del contorno de
distorsión de tiempo.
[0086] Como se puede ver del algoritmo mostrado en el número de referencia 910, pueden haber múltiples índices de código de libros de proporción de distorsión para una sola porción de contorno de distorsión de tiempo en un solo cuadro de audio (en donde puede haber una correspondencia de 1 a 1 entre porciones de contorno de distorsión de tiempo y cuadros de audio).
[0087] Para resumir, una pluralidad de valores de nodos de distorsión de tiempo puede ser obtenida para una porción del contorno de distorsión de tiempo dada (o un cuadro de audio dado) en la etapa 610, por ejemplo, utilizando el calculador de valor de nodo de distorsión 544. Subsecuentemente, se puede efectuar una interpolación lineal entre los valores de nodo de distorsión de tiempo (warp_node_values[i]). Por ejemplo, para obtener los valores de datos de contorno de distorsión de tiempo de la “nueva porción de contorno de distorsión de tiempo” (new_warp_contour) se pueden usar el algoritmo mostrado con el número de referencia 920 en la Figura 9a pueden ser usados. Por ejemplo, el número de muestras de la nueva porción de contorno de distorsión de tiempo es igual a la mitad del número de las muestras de dominio de tiempo de una transformada de coseno discreta modificada inversa. Con respecto a esta cuestión, se debe notar que cuadros de señal de audio adyacentes son desplazados comúnmente (por lo menos aproximadamente) por la mitad del número de las muestras de dominio de tiempo del MDCT o IMDCT. En otras palabras, para obtener el nuevo_ contorno de distorsión [], el warp_node_values[] de muestra en muestra (N_muestras de largo), los valores de nodo_de distorsión son interpolados linealmente entre los nodos espaciados igualmente (Inter._dist aparte) utilizando el algoritmo mostrado con el número de referencia 920.
[0088] La interpolación puede ser efectuada por ejemplo, por el interpolador 548 del aparato de la Figura 5 o en la etapa 620 del procedimiento 600.
[0089] Antes de obtener el contorno completo de distorsión para este cuadro (esto es, para el cuadro actualmente bajo consideración) los valores almacenados en memoria del pasado son reescalados, de tal manera que el último valor de distorsión del past_warp_contour[] es igual a uno (o cualquier otro valor predeterminado que es preferiblemente igual al valor de partida de la nueva porción de contorno de distorsión de tiempo).
[0090] Se debe notar aquí que el término de “contorno de distorsión del pasado” comprende preferiblemente la “última porción del contorno de distorsión de tiempo” descrita anteriormente y la “porción de contorno de distorsión de tiempo actual” descrita anteriormente. También se debe notar que el “contorno de distorsión del pasado” comprende comúnmente una longitud que es igual al número de muestras de dominio del tiempo del IMDCT, de tal manera que valores del “contorno de distorsión del pasado” son designados con índices entre cero y 2*n_largo-1. Así, “past_warp_contour[2*n_largo-1]” designa un último valor de designación del “contorno de distorsión del pasado”. Así, un factor de normalización “norm_fac” puede ser calculado de acuerdo con la ecuación mostrada con el número de referencia 930 en la Figura 9a. Así, el contorno de distorsión del pasado (que comprende la “última porción de contorno de distorsión de tiempo” y la “porción de contorno de distorsión de tiempo actual”) pueden ser reescalados multiplicativamente de acuerdo con la ecuación mostrada con el número de referencia 932 en la Figura 9a. Además, el “último valor de suma del contorno de distorsión” (last_warp_sum) y el “valor de suma de contorno de distorsión actual” (cur_warp_sum) pueden ser reescalados multiplicativamente, como se muestra con los números de referencia 934 y 936 de la Figura 9a. El re-escalamiento puede ser efectuado por el re-escalador 550 de la Figura 5 o en la etapa 630 del procedimiento 600 de la Figura 6.
[0091] Se debe notar que la normalización descrita en la presente, por ejemplo en el número de referencia 930, podría luego ser modificada, por ejemplo, al reemplazar el valor de partida “1” por cualquier otro valor predeterminado deseado.
[0092] Al aplicar la normalización, un “warp_contour[] completo” también designado como una “sección de contorno de distorsión de tiempo” es obtenida al concatenar el “past_warp_contour” y el “new_warp_contour”. Así, tres porciones de contorno de distorsión de tiempo (“última porción de contorno de distorsión de tiempo” y “porción de contorno de distorsión de tiempo actual” y “nueva porción de contorno de distorsión de tiempo”) del “contorno de distorsión pleno” que pueden ser aplicados en etapas adicionales de cálculo.
[0093] Además, se calcula un valor de suma de contorno de distorsión (new_warp_sum) por ejemplo, como una suma sobre todos los valores de “new_warp_contour[]”. Por ejemplo, un nuevo valor de suma de contorno de distorsión puede ser calculado de acuerdo con los algoritmos mostrados en el número de referencia 940 en la Figura 9a.
[0094] En seguida de los cálculos descritos anteriormente, la información de entrada requerida por el calculador de información de control de distorsión de tiempo 330 o por la etapa 640 del procedimiento 600 está disponible. Así, el cálculo 640 de la información de control de distorsión de tiempo puede ser efectuado, por ejemplo, por el calculador de información de control de distorsión de tiempo 530. También, la reconstrucción de señal distorsionada en el tiempo 650 puede ser efectuada por el descodificador de audio. Tanto el cálculo 640 como la reconstrucción de señal distorsionada en el tiempo 650 serán explicados en más detalle posteriormente en la presente.
[0095] Sin embargo, es importante notar que el algoritmo presente procede iterativamente. Es por consiguiente, computacionalmente eficiente actualizar una memoria. Por ejemplo, es posible descartar información acerca de la
última porción de contorno de distorsión de tiempo. Además, es recomendable usar la “porción de contorno de distorsión de tiempo actual” presente como una “última porción de contorno de distorsión de tiempo” en un siguiente ciclo de cálculos. Además, es recomendable usar la presente “nueva porción de contorno de distorsión de tiempo” como una “porción de contorno de distorsión de tiempo actual” en un siguiente signo del cálculo. Esta asignación se puede hacer utilizando la ecuación ilustrada con el número de referencia en la presente 950 en la Figura 9b (en donde warp_contour[n] describe en la presente la “nueva porción de contorno de distorsión de tiempo presente” para 2* n_largo<3.n_largo).
[0096] Asignaciones apropiadas se pueden ver en los números de referencia 952 y 954 en la Figura 9b.
[0097] En otras palabras, las memorias temporales usadas para descodificar el siguiente cuadro pueden ser actualizadas de acuerdo con las ecuaciones mostradas en los números de referencia 950, 952 y 954.
[0098] Se debe notar que la actualización de acuerdo con las ecuaciones 950, 952 y 954 no proporciona un resultado razonable si la información apropiada no es generada para un cuadro previo- así, antes de descodificar el primer cuadro o si el último cuadro fue codificado con un tipo diferente de codificador (por ejemplo, un codificador de dominio de LPC) en el contexto de un codificador cambiado, los estados de memoria pueden ser ajustados de acuerdo con las ecuaciones mostradas con los números de referencia 960, 962 y 964 de la Figura 9b.
Calculo de informaci6n de control de distorsi6n de tiempo
[0099] En lo siguiente, se describirá brevemente cómo se puede calcular la información de contorno de distorsión de tiempo en base al contorno de distorsión de tiempo (que comprende, por ejemplo, tres porciones de contorno de distorsión de tiempo) y en base a los valores de suma de contorno de distorsión.
[0100] Por ejemplo, es deseable reconstruir un contorno de tiempo utilizando el contorno de distorsión de tiempo. Para este propósito, se puede usar un algoritmo que es mostrado con los números de referencia 1010, 1012 en la Figura 10a. Como se puede ver, el contorno del tiempo mapea un índice i (0<i<3 n_largo) sobre un valor de contorno de tiempo correspondiente. Un ejemplo de tal mapeo es mostrado en la Figura 12.
[0101] En base al cálculo del contorno de tiempo, es comúnmente requerido calcular una posición de muestra (simple_pos[]), que describe posiciones de las muestras distorsionadas en el tiempo en una escala de tiempo lineal. Tal cálculo puede ser efectuado utilizando un algoritmo que es mostrado con el número de referencia 1030 en la Figura 10b. En el algoritmo 1030, se pueden usar funciones auxiliares, que son mostradas con los números de referencia 1020 y 1022 en la Figura 10a. Así, se puede obtener una información acerca del tiempo de muestra.
[0102] Además, algunas longitudes de las transiciones distorsionadas en el tiempo (warped_trans_len_left; warped_trans_len_right) son calculadas, por ejemplo utilizando un algoritmo 1032 mostrado en la Figura 10b. Opcionalmente, las longitudes de transición de distorsión de tiempo pueden ser adaptadas dependiendo del tipo de ventana o una longitud de transformada, por ejemplo utilizando un algoritmo mostrado con el número de referencia 1034 en la Figura 10b. Además, una llamada “primera posición” y una llamada “última posición” pueden ser calculadas en base a las informaciones de longitudes de transición, por ejemplo utilizando un algoritmo mostrado con el número de referencia 1036 en la Figura 10b. Para resumir, las posiciones de muestra y ajuste de longitudes de ventana, que pueden ser efectuadas por el aparato 530 en la etapa 640 del procedimiento 600 serán efectuadas. Del “warp_contour[]” un vector de las posiciones de muestra (“simple_pos[]”) de las muestras distorsionadas en el tiempo sobre una escala de tiempo lineal pueden ser calculadas. Para esto, primero el contorno de tiempo puede ser generado utilizando el algoritmo mostrado en los números de referencia 1010, 1012. Con las funciones auxiliares “warp_in_vec()” y “warp_time_inv()”, mostradas con los números de referencia 1020 y 1022, el vector de posición de muestra (“sample_pos[]”) y las longitudes de transición de (“warped_trans_len_left” y “warped_trans_len_right”) son calculadas, por ejemplo utilizando los algoritmos mostrados en los números de referencia 1030, 1032, 1034 y 1036. Así, se obtiene la información de control de distorsión de tiempo 512.
Reconstrucci6n de seral distorsionada en el tiempo
[0103] En lo siguiente, la reconstrucción de señal distorsionada en el tiempo, que puede ser efectuada en base a la información de control de distorsión de tiempo será discutida brevemente para poner el cálculo del contorno de distorsión de tiempo en el contexto apropiado.
[0104] La reconstrucción de una señal de audio comprende la ejecución de una transformada de coseno discreta modificada inversa, que no es descrita en la presente en detalle, debido a que es bien conocido para cualquiera experimentado en el arte. La ejecución de la transformada de coseno discreta modificada inversa permite reconstruir muestras de dominio de tiempo distorsionadas en base a un conjunto de coeficientes de dominio de frecuencia. La ejecución del IMDCT puede ser efectuada por ejemplo, de cuadro en cuadro, lo que significa, por ejemplo un cuadro de 2048 muestras de dominio de tiempo distorsionadas es reconstruido en base a un conjunto de 1024 coeficientes de dominio de frecuencia. Para la reconstrucción correcta es necesario que no más de dos ventanas subsecuentes se traslapen. Debido a la naturaleza de TW-MDCT podría ocurrir que una porción distorsionada en el tiempo inversamente de un cuadro se extienda a un cuadro no vecino, violando así el prerrequisito afirmado anteriormente. Por consiguiente, la longitud de desvanecimiento de la forma de ventana necesita ser acortada al calcular los valores
de warped_trans_len_left y warped_trans_len_right apropiados mencionados anteriormente.
[0105] Una operación de formación de ventana y cambio de bloques 650b es luego aplicada a las muestras de dominio de tiempo obtenidas del IMDCT. La formación de ventana y cambio de bloques pueden ser aplicados a las muestras de dominio de tiempo distorsionados provistos por el IMDCT 650a dependiendo de la información de control de distorsión de tiempo, para obtener muestras de dominio de tiempo distorsionadas de ventana. Por ejemplo, dependiendo de la información de “forma_ventana” o elemento, se pueden usar diferentes prototipos de ventana de transformada sobre-muestreadas, en donde la longitud de las ventanas sobre-mestreadas puede ser dada por la ecuación mostrada en el número de referencia 1040 en la Figura 10c. Por ejemplo, para un primer tipo de forma de ventana (por ejemplo, forma de ventana = 1) los coeficientes de ventana son dados por una ventana derivada de “kaiser-Bessel” (KBD) de acuerdo con la definición mostrada en el número de referencia 1042 de la Figura 10c, en donde W’, la “función de ventana de centro de Kaiser-Bessel” es definida como se muestra en el número de referencia 1044 en la Figura 10c.
[0106] De otra manera, cuando se usa una forma de ventana diferente (por ejemplo, si la forma de ventana = 0), se puede emplear una ventana de seno de acuerdo con la definición del número de referencia 1046. Para todas las clases de secuencias de ventana (“secuencias_ventana”), el prototipo usado para la parte de ventana izquierda es determinada por la forma de ventana del bloque previo. La fórmula mostrada con el número de referencia 1048 de la Figura 10c expresa este hecho. Asimismo, el prototipo para la forma de ventana derecha es determinado por la fórmula mostrada con el número de referencia 1050 en la Figura 10c.
[0107] En lo siguiente, se describirá la aplicación de las ventanas descritas anteriormente a las muestras de dominio de tiempo distorsionadas provistas por el IMDCT. En algunas realizaciones, la información para un cuadro puede ser provista por una pluralidad de secuencias cortas (por ejemplo, ocho secuencias cortas). En otras realizaciones, la información para el cuadro puede ser provista utilizando bloques de diferentes longitudes, en donde se puede requerir un tratamiento especial para secuencias de partida, secuencias separadas y/o secuencias de longitudes no estándar. Sin embargo, puesto que la longitud transicional puede ser determinada como se describe anteriormente, puede ser suficiente diferenciar entre cuadros codificados utilizando ocho secuencias cortas (indicadas por una información del tipo de cuadro apropiado “eight_short_sequence”) y todos los otros cuadros.
[0108] Por ejemplo, en un cuadro descrito por ocho secuencias cortas, un algoritmo mostrado con el número de referencia 1060 en la Figura 10d puede ser aplicado para la formación de ventanas. En contraste, para cuadros codificados utilizando otra información, un algoritmo es mostrado con el número de referencia 1064 en la Figura 10e puede ser aplicado. En otras palabras, la porción semejante al código C mostrada con el número de referencia 1060 en la Figura 10d describe la formación de ventana y superposición-adición interna de una llamada “”ocho secuencias cortas”. En contraste, la porción semejante al código C mostrada en el número de referencia 1064 en la Figura 10d describe la formación de ventanas en ortos casos.
[0109] En lo siguiente, la distorsión de tiempo inversa 650c de las muestras de dominio de tiempo distorsionadas en ventana en dependencia de la información de control de distorsión de tiempo será descrita, mediante lo cual muestras de dominio de tiempo muestreadas regularmente o simplemente muestras de dominio de tiempo son obtenidas mediante un re-muestreo o re-toma de muestras variable en el tiempo. En el re-muestreo variable en el tiempo, el bloque de ventana z[] es re-muestreado de acuerdo con las posiciones muestreadas, por ejemplo utilizando una respuesta de impulso mostrada con el número de referencia 1070 en la Figura 10f. Antes del remuestreo, el bloque de ventana puede ser relleno con ceros sobre ambos extremos, como se muestra con el número de referencia 1072 en la Figura 10f. El re-muestreo por sí mismo es descrito por la sección de seudocódigos mostrada con el número de referencia 1074 en la Figura 10f.
Procesamiento de cuadro del post-remuestreador
[0110] En lo siguiente, un post-procesamiento opcional 650d de las muestras de dominio de tiempo será descrito. En algunas realizaciones, el procesamiento de cuadro de post-re-toma de muestras puede ser efectuado dependiendo del tipo de la secuencia de ventana. Dependiendo del parámetro “secuencia_ventana”, ciertas etapas de procesamiento adicionales pueden ser aplicadas.
[0111] Por ejemplo, si la secuencia de ventana es una llamada "OCHO_SECUENCIAS_CORTAS", una llamada "SECUENCIA DE INICIO LARGA", una llamada "SECUENCIA DE INICIO DE PARADA", una llamada "SECUENCIA 1152 DE INICIO DE PARADA" seguida por una llamada SECUENCIA_LPD, iun post-procesamiento como se muestra en los números de referencia 1080a, 1080b, 1082 puede ser efectuado.
[0112] Por ejemplo, si la siguiente secuencia de ventana es una llamada “SECUENCIA_LPD”, se puede calcular una ventana de corrección Wcorr(n) puede ser calculada como se muestra en el número de referencia 1080a, tomando en cuenta las definiciones mostradas en el número de referencia 1080b. También, la ventama de corrección Wcorr(n) puede ser aplicada como se muestra con el número de referencia 1082 en la Figura 10g.
[0113] Para todos los otros casos, nada se puede hacer, como se puede ver con el número de referencia 1084 en la
Figura 10g.
Traslape y adici6n con secuencias de ventana previas
[0114] Además, un traslape y adición 650e de las muestras de dominio de tiempo actuales con una o más muestras de dominio de tiempo previas puede ser efectuada. El traslape y adición pueden ser los mismos para todas las secuencias y pueden ser descritos matemáticamente como se muestra con el número de referencia 1086 en la Figura 10g.
[0115] Con respecto a las explicaciones dadas, también se hace referencia a la leyenda que es mostrada en las Figuras 11a y 11d. En particular, la longitud de ventana de síntesis N para la transformada inversa es comúnmente una función del elemento de sintaxis “ventana_secuencia” y el contexto algorítmico. Puede por ejemplo ser definida como se muestra en el número de 1190 de la Figura 11b.
Realizaci6n de acuerdo con la Figura 13
[0116] La Figura 13 muestra un diagrama de bloques esquemático de medios 1300 para proveer una información de contorno de distorsión de tiempo reconstruida que emprende la funcionalidad de los medios 520 descritos con referencia a la Figura 5. Sin embargo, la trayectoria de datos y la memoria temporales son mostrados en más detalle. Los medios 1300 comprenden un calculador de valor de nodo de distorsión 1344, que toma la función del calculador de valor de nodo distorsionado 544. El calculador de valor de nodo de distorsión 1344 recibe un índice de libro de códigos “tw_ratio[]” de la proporción de distorsión como información de proporción de distorsión codificada. El calculador de valor de nodo de distorsión comprende una tabla de valores de distorsión que representan, por ejemplo, el mapeo de un índice de proporción de distorsión de tiempo sobre un valor de proporción de distorsión en el tiempo representado en la Figura 9c. El calculador de valor de nodo de distorsión 1344 puede comprender además un multiplicador para efectuar el algoritmo representado con el número de referencia 910 de la Figura 9a. Así, el calculador del valor de nodo de distorsión proporciona valores de nodo de distorsión “warp_node_values[i]”. Además, los medios 1300 comprenden un interpolador de contorno de distorsión 1348, que toma la función del interpolador 540a, y que puede ser configurado para efectuar el algoritmo mostrado en el numeral de referencia 920 de la Figura 9a, obteniendo mediante esto valores del nuevo contorno de distorsión (“new_warp_contour”). Los medios 1300 comprenden además una nueva memoria temporal de contorno de distorsión 1350, que guarda los valores del nuevo contorno de distorsión (esto es warp_contour [i], con 2·n_long:i<3·n_long). Los medios 1300 comprenden además una memoria temporal/actualizador de contorno de distorsión del pasado 1360, que guarda la “última porción de contorno de distorsión de tiempo” y la “porción de contorno de distorsión de tiempo actual” y actualiza el contenido de memoria en respuesta a un re-escalamiento y en respuesta a la consumación del procesamiento del cuadro actual. Así, la memoria temporal/actualizador de contorno de distorsión del pasado 1360 puede estar en cooperación con el re-escalador de contorno de distorsión del pasado 1370, de tal manera que la memoria temporal/actualizador de contorno de distorsión del pasado y el re-escalador de contorno de distorsión del pasado satisfacen conjuntamente la funcionalidad de los algoritmos 930, 932, 934, 936, 950, 960. Opcionalmente, la memoria temporal/actualizador de contorno de distorsión del pasado 1360 puede también tomar la funcionalidad de los algoritmos 932, 936, 952, 954, 962, 964.
[0117] Así, los medios 1300 proveen el contorno de distorsión (“warp_contour”) y opcionalmente también proveen los valores de suma de contorno de distorsión.
[0118] En lo siguiente, se describirá un codificador de señal de audio de acuerdo con un aspecto de la invención. El codificador de señal de audio de la Figura 14 es designado en su totalidad con 1400. El codificador de señal de audio 1400 está configurado para recibir una señal de audio 1410 y opcionalmente, una información de contorno de distorsión provista externamente 1412 asociada con la señal de audio 1410. Además, el codificador de señal de audio 1400 está configurado para proveer una representación codificada 1440 de la señal de audio 1410.
[0119] El codificador de señal de audio 1400 comprende un codificador de contorno de distorsión de tiempo 1420, configurado para recibir una información de contorno de distorsión de tiempo 1422 asociada con la señal de audio 1410 y para provee una información de contorno de distorsión de tiempo codificada 1424 en base a la misma.
[0120] El codificador de señal de audio 1400 comprende además aun procesador de señal de distorsión de tiempo (o codificador de señal de distorsión de tiempo) 1430 que está configurado para recibir la señal de audio 1410 y para proveer, en base a la misma, una representación codificada distorsionada en el tiempo 1432 de la señal de audio 1410, tomando en cuenta la formado de tiempo descrita por la información de distorsión en el tiempo 1422. La representación codificada 1414 de la señal de audio 1410 comprende la información de contorno de distorsión de tiempo codificada 1424 y la representación codificada 1432 del espectro de la señal de audio 1410.
[0121] Opcionalmente, el codificador de señal de audio 1400 comprende un calculador de información de contorno de distorsión 1440, que está configurado para proveer la información de contorno de distorsión en el tiempo 1422 en
base a la señal de audio 1410. Alternativamente, sin embargo, la información de contorno de distorsión en el tiempo 1422 puede ser provista en base a la información de contorno de distorsión provista externamente 1412.
[0122] El codificador de contorno de distorsión en el tiempo 1420 puede estar configurado para calcular la proporción entre valores de nodo subsecuentes del contorno de distorsión de tiempo descrito por la información de contorno de distorsión en el tiempo 1422. Por ejemplo, los valores de nodo pueden ser valores de muestra del contorno de distorsión de tiempo representado por la información de contorno de distorsión en el tiempo. Por ejemplo, si la información de contorno de distorsión en el tiempo comprende una pluralidad de valores para cada cuadro de la señal de audio 1410, los valores de nodo de distorsión en el tiempo puede ser un sub-conjunto verdadero de esta información de contorno de distorsión de tiempo. Por ejemplo, los valores de nodo de distorsión en el tiempo pueden ser un sub-conjunto verdadero periódico de los valores de contorno de distorsión de tiempo. Un valor de nodo de contorno de distorsión en el tiempo puede estar presente por N de las muestras de audio, en donde N puede ser mayor o igual a 2.
[0123] El calculador de proporción de valor de nodo de contorno de tiempo puede estar configurado para calcular una proporción entre valores de nodo de distorsión en el tiempo subsecuentes del contorno de distorsión de tiempo, proporcionando así una información que describe una proporción entre valores de nodo subsecuentes del contorno de distorsión de tiempo. Un codificador de proporción del codificador de contorno de distorsión de tiempo puede estar configurado para codificar la proporción entre valores de nodo subsecuentes del contorno de distorsión de tiempo. Por ejemplo, el codificador de proporción puede mapear diferentes proporciones a diferentes índices de libro de códigos diferentes. Por ejemplo, se puede escoger un mapeo de tal manera que las proporciones provistas por el calculador de proporción de valor de distorsión de contorno en el tiempo están dentro de un intervalo de entre 0.9 y 1.1, o aún entre 0.95 y 1.05. Así, el codificador de proporción puede estar configurado para mapear este intervalo a diferentes índices de libro de códigos. Por ejemplo, correspondencias mostradas en la tabla de la Figura 9c pueden actuar como puntos de soporte en este mapeo, de tal manera que, por ejemplo, una proporción de 1 es mapeada sobre un índice de libro de códigos de 3, mientras que una proporción de 1.0057 es mapeada a un índice de libro de código de 4, y así sucesivamente (compárese Figura 9c). Los valores de proporción entre aquellos mostrados en la tabla de la Figura 9c pueden ser mapeados a índices de libro de códigos apropiados, por ejemplo al índice de libro de códigos del valor de proporción más cercano para el cual el índice de libro de códigos es dado en la tabla de la Figura 9c.
[0124] Naturalmente, diferentes codificaciones pueden ser usadas, de tal manera que, por ejemplo, un número de índices de libro de código disponibles puede ser escogidos más grandes o más pequeños que los mostrados en la presente. También, la asociación entre valores de nodo de contorno de distorsión e índices de valores de libro de códigos pueden ser escogidos apropiadamente. También, los índices de libro de códigos pueden ser codificados, por ejemplo utilizando una codificación binaria, utilizando opcionalmente una codificación de entropía.
[0125] Así, se obtienen las proporciones codificadas 1424.
[0126] El procesador de señal de distorsión de tiempo 1430 comprende un convertidor de dominio de tiempo de distorsión de tiempo a dominio de frecuencia 1434, que está configurado para recibir la señal de audio 1410 y una información de contorno de distorsión de tiempo 1422a asociada con la señal de audio (o una versión codificada de la misma), y para proveer, en base a la misma, una representación de dominio espectral (dominio de frecuencia) 1436.
[0127] La información de contorno de distorsión de tiempo 1422a puede ser derivada preferiblemente de la información codificada 1424 provista por y el codificador de contorno de distorsión de tiempo 1420 utilizando un descodificador de distorsión 1425. De esta manera, es puede obtener que el codificador (en particular el procesador de señal de distorsión de tiempo 1430 del mismo) y el descodificador (que recibe la representación codificada 1414 de la señal de audio) operen en los mismos contornos de distorsión, es decir, el contorno de distorsión descodificado (tiempo). Sin embargo, en una realización simplificada, la información de contorno de distorsión de tiempo 1422a usada por el procesador de señal de distorsión de tiempo 1430 puede ser idéntica a la información de contorno de distorsión de tiempo 1422 introducida al codificador de contorno de distorsión de tiempo 1420.
[0128] El convertidor de dominio de tiempo de distorsión de tiempo a dominio de frecuencia 1434 puede considerar por ejemplo una distorsión de tiempo cuando forma la representación de dominio espectral 1436, por ejemplo utilizando una operación de re-muestreo variable en el tiempo de la señal de audio 1410. Alternativamente, sin embargo, el re-muestreo variable en el tiempo y la conversión de dominio en el tiempo a dominio de frecuencia pueden ser integrados en una sola etapa de procesamiento. El procesador de señal de distorsión de tiempo también comprende un codificador de valor espectral 1438, que está configurado para codificar la representación de dominio espectral 1346. El codificador de valor espectral 1438 puede estar configurado por ejemplo para tomar en consideración el enmascaramiento perceptual. También, el codificador de valor espectral 1438 puede estar configurado para adaptar la exactitud de codificación a la relevancia perceptual de las bandas de frecuencia y para aplicar una codificación de entropía. Así, se obtenido la representación codificada 1432 de la señal de audio 1410.
[0129] La Figura 15 muestra un diagrama de bloques esquemático de un calculador de contorno de distorsión de tiempo, de acuerdo con otra realización de la invención. El calculador de contorno de distorsión de tiempo 1500 está configurado para recibir una información de proporción de distorsión codificada 1510 para proveer, en base a la misma, una pluralidad de valores de nodo de distorsión 1512. El calculador de contorno de distorsión de tiempo 1500 comprende, por ejemplo, un descodificador de proporción de distorsión 1520, que está configurado para derivar una secuencia de valores de proporción de distorsión 1522 a partir de la información de proporción de distorsión codificada 1510. El calculador de contorno de distorsión de tiempo 1500 también comprende un calculador de contorno de distorsión 1530, que está configurado para derivar la secuencia de valores de nodo de distorsión 1512 a partir de la secuencia de los valores de proporción de distorsión 1522. Por ejemplo, el calculador de contorno de distorsión puede estar configurado para obtener los valores de nodo de contorno de distorsión partiendo de un valor de inicio de contorno de distorsión, en donde las proporciones entre el valor de partida del contorno de distorsión, asociado con un nodo de partida de contorno de distorsión, y los valores de nodo de contorno de distorsión son determinados por los valores de proporción de distorsión 1522. El calculador de valor de nodo de distorsión también está configurado para calcular un valor del nodo de contorno de distorsión 1512 de un nodo de contorno de distorsión dado que está espaciado del nodo de inicio de contorno de distorsión por un nodo de contorno de distorsión intermediario, en base a una formación de producto que comprende una proporción entre el valor de partida de contorno de distorsión (por ejemplo 1) y el valor de nodo de contorno de distorsión del nodo de contorno de distorsión intermedio y una proporción entre el valor de nodo de contorno de distorsión del nodo de contorno de distorsión intermedio y el valor de nodo de contorno de distorsión del nodo de contorno de distorsión dado como factores.
[0130] En lo siguiente, la operación del calculador de contorno de distorsión en el tiempo 1500 será discutida brevemente con referencia a las Figuras 16a y 16b.
[0131] La Figura 16a muestra una representación gráfica de un cálculo sucesivo de un contorno de distorsión de tiempo. Una primera representación gráfica 1610 muestra una secuencia de índices de libro de códigos de proporción de distorsión en el tiempo 1510 (índice=0, índice=1, índice=2, índice=3, índice=7). Además, la representación gráfica 1610 muestra una secuencia de virus de proporción de distorsión (0.983, 0.988, 0.994, 1.000, 1.023) asociados con los índices de libro de códigos. Además, se puede ver que un primer valor de nodo distorsionado 1621 (i=0) es escogido como 1 (en donde 1 es un valor de partida). Como se puede ver, un segundo valor de nodo de distorsión 1622 (i=1) es obtenido al multiplicar el valor de partida de 1 con el primer valor de proporción de 0.983 (asociado con el primer índice 0). Se puede ver además que el tercer valor de nodo de distorsión 1623 es obtenido al multiplicar el segundo valor de nodo de distorsión 1622 de 0.983 con el segundo valor de proporción de distorsión de 0.988 (asociado con el segundo índice de 1). De la misma manera, el cuarto valor de nodo de formación 1624 es obtenido al multiplicar el tercer valor de nodo de distorsión 1623 con el tercer valor de proporción de distorsión de 0.994 (asociado con un tercer índice de 2).
[0132] Así, se obtiene una secuencia de valores de nodo de distorsión 1621, 1622, 1623, 1624, 1625, 1626.
[0133] Un valor de nodo de distorsión respetivo es obtenido efectivamente de tal manera que es un producto del valor de partida (por ejemplo 1) y todos los valores de proporción de distorsión intermedios que caen entre los nodos de distorsión de partida 1621 y el respectivo valor de nodo de distorsión 1622 a 1626.
[0134] Una representación gráfica 1640 ilustra una interpolación lineal entre los valores de nodo de distorsión. Por ejemplo, los valores interpolados 1621a, 1621b, 1621c podrían ser obtenidos en un descodificador de señal de audio entre dos valores de nodo de distorsión de tiempo adyacentes 1621, 1622, por ejemplo haciendo uso de una interpolación lineal.
[0135] La Figura 16b muestra una representación gráfica de una reconstrucción de contorno de distorsión de tiempo utilizando un reinicio periódico de un valor de partida predeterminado, que puede opcionalmente ser implementado en el calculador de contorno de distorsión de tiempo 1500. En otras palabras, el reinicio repetido o periódico no es un elemento esencial, a condición de que un desbordamiento numérico pueda ser evitado mediante cualquier otra medida apropiada en el lado del codificador o en el lado del descodificador. Como se puede ver, una porción de contorno de distorsión puede iniciar desde un nodo de partida 1660, en donde se pueden determinar los nodos de contorno de distorsión 1661, 1662, 1663, 1664 para este propósito, valores de proporción de distorsión (0.983, 0.988, 0.965, 1.000) pueden ser considerados, de tal manera que los nodos de contorno de distorsión adyacentes 1661 a 1664 de la primera porción de contorno de distorsión de tiempo están separados por proporciones determinadas por estos valores de proporción de distorsión. Sin embargo, una segunda porción de contorno de distorsión en el tiempo adicional puede ser iniciada después de un nodo final 1664 de la primera porción de contorno de distorsión de tiempo (que comprende los nodos 1660-1664) ha sido alcanzado. La segunda porción de contorno de distorsión de tiempo puede iniciar desde un nuevo nodo de partida 1665, que puede tomar el valor de partida predeterminado, independientemente de cualesquier valores de proporción de distorsión. Así, los valores de nodo de distorsión de la segunda porción de contorno de distorsión de tiempo pueden ser calculados partiendo del nodo de partida 1665 de la segunda porción de contorno de distorsión de tiempo en base a los valores de proporción de distorsión de la segunda porción de contorno de distorsión de tiempo. Más tarde, una tercera porción de contorno de distorsión en el tiempo puede iniciar de un nodo de partida correspondiente 1670, que puede tomar otra vez el valor de partida predeterminado independientemente de cualesquier valores de proporción de distorsión. Así, se tiene un reinicio periódico de las porciones de contorno de distorsión de tiempo. Opcionalmente, una re-normalización repetida puede ser aplicada, como se describe en detalle anteriormente.
[0136] En lo siguiente, un codificador de señal de audio de acuerdo con otra realización de la invención será descrito brevemente con referencia a la Figura 17. El codificador de señal de audio 1700 está configurado para recibir una señal de audio de multi-canal 1710 y proveer una representación codificada 1712 de la señal de audio de multi-canal 1710. El codificador de señal de audio 1700 comprende un proveedor de representación de audio codificado 1720, que está configurado para proveer selectivamente una representación de audio que comprende una información de contorno de distorsión común, asociada comúnmente con una pluralidad de canales de audio de la señal de audio de multi-canal, o una representación de audio codificada que comprende información de contorno de distorsión individual, asociada individualmente con los diferentes canales de audio de la pluralidad de canales de audio, dependiendo de la información que describe una similitud o diferencia entre contornos de distorsión asociados con los canales de audio de la pluralidad de canales de audio.
[0137] Por ejemplo, el codificador de señal de audio 1700 comprende un calculador de similitud de contorno de distorsión o calculador de diferencia de contorno de distorsión 1730 configurado para proveer la información 1732 que describe la similitud o diferencia entre contorno de distorsión asociado con los canales de audio. El proveedor de representación de audio codificado comprende, por ejemplo, un codificador de contorno de distorsión de tiempo selectivo 1722 configurado para recibir información de contorno de distorsión de tiempo 1724 (que puede ser provista externamente o que puede ser provista por un calculador de información de contorno de distorsión de tiempo opcional 1734) y la información 1732. Si la información 1732 indica que los contornos de distorsión de tiempo de dos o más canales de audio son suficientemente similares, el codificador de contorno de distorsión de tiempo selectivo 1722 puede estar configurado para proveer una información de contorno de distorsión de tiempo codificada adjunta. La información de contorno de distorsión adjunta puede por ejemplo estar basada en un promedio de la información de contorno de distorsión de dos o más canales. Sin embargo, alternativamente, la información de contorno de distorsión adjunta puede estar basada en una sola información de contorno de distorsión de un solo canal de audio, pero asociada conjuntamente con una pluralidad de canales.
[0138] Sin embargo, si la información 1732 indica que los contornos de distorsión de múltiples canales de audio no son suficientemente similares, el codificador de contorno de distorsión de tiempo selectivo 1722 puede proveer información codificada separada de los diferentes contornos de distorsión de tiempo.
[0139] El proveedor de representación de audio codificado 1720 también comprende un procesador de señal de distorsión de tiempo 1726, que también está configurado para recibir la información de contorno de distorsión de tiempo 1724 y la señal de audio de multi-canal 1710. El procesador de señal de distorsión de tiempo 1726 está configurado para codificar los múltiples canales de la señal de audio 1710. El procesador de señal de distorsión en el tiempo 1726 puede comprender diferentes modos de operación. Por ejemplo, el procesador de señal de distorsión de tiempo 1726 puede estar configurado para codificar selectivamente canales de audio individual o conjuntamente codificarlos, aprovechando similitudes de inter-canal. En algunos casos, es preferido que el procesador de señal de distorsión en el tiempo 1726 sea capaz de codificar comúnmente múltiples canales de audio que tienen una información de contorno de distorsión en el tiempo común. Hay casos en los cuales un canal de audio izquierdo y un canal de audio derecho exhiben la misma evolución de altura relativa pero tienen de otra manera diferentes características de señal, por ejemplo diferentes frecuencias fundamentales absolutas o diferentes envolventes espectrales. En este caso, no es deseable codificar el canal de audio izquierdo y el canal de audio derecho conjuntamente, debido a la diferencia significativa entre el canal de audio izquierdo y el canal de audio derecho. No obstante, la evolución de altura relativa en el canal de audio izquierdo y el canal de audio derecho puede ser paralela, de tal manera que la aplicación de una distorsión de tiempo común es una solución muy eficiente. Un ejemplo de tal señal de audio es una música polifónica, en donde el contenido de múltiples canales de audio exhiben una diferencia significativa (por ejemplo, son dominadas por diferentes cantantes o instrumentos musicales), pero exhiben una variación de altura similar. Así, la eficiencia de codificación puede ser mejorada significativamente al proveer la posibilidad de tener una codificación conjunta de los contornos de distorsión de tiempo para múltiples canales de audio en tanto que se mantiene la opción de codificar separadamente los espectros de frecuencia de los diferentes canales de audio para los cuales se provee una información de contorno de altura común.
[0140] El proveedor de representación de audio codificado 1720 comprende opcionalmente un codificador de información lateral 1728, que está configurado para recibir la información 1732 y proveer una información lateral que indica si un contorno de distorsión codificado común es provisto para múltiples canales de audio o si contornos de distorsión codificados individuales son provistos para los múltiples canales de audio. Por ejemplo, tal información lateral puede ser provista en forma de una bandera de 1 bit llamada “common_tw”.
[0141] Para resumir, el codificador de contorno de distorsión de tiempo selectivo 1722 provee selectivamente representaciones codificadas individuales de los contornos de audio de distorsión de tiempo asociados con múltiples señales de audio, o una representación de contorno de distorsión de tiempo codificada adjunta que representa un solo contorno de distorsión de tiempo adjunto asociado con múltiples canales de audio. El codificador de información lateral 1728 provee opcionalmente una información lateral que indica si las representaciones de contorno de distorsión de tiempo individuales o una representación de contorno de distorsión de tiempo adjunta son provistas. El procesador de señal de distorsión de tiempo 1726 proporciona representaciones codificadas de los múltiples canales de audio. Opcionalmente, una información codificada común puede ser provista para múltiples canales de audio. Sin embargo, comúnmente es aún posible proveer representaciones codificadas individuales de múltiples canales de audio, para los cuales una representación de contorno de distorsión de tiempo común está disponible, de tal manera que diferentes canales de audio que tienen contenido de audio diferente, pero idéntico distorsión de tiempo son representados apropiadamente. Consecuentemente, la representación codificada 1712 comprende información codificada provista por el codificador de contorno de distorsión de tiempo selectivo 1722, y el procesador de señal de distorsión de tiempo 1726 y opcionalmente, el codificador de información lateral 1728.
El decodificador de seral de audio de acuerdo con la Figura 18
[0142] La Figura 18 muestra un diagrama de bloques esquemático de un descodificador de señal de audio de acuerdo con una realización de la invención. El descodificador de señal de audio 1800 está configurado para recibir una representación de señal de audio codificada 1810 (por ejemplo, la representación codificada 1712) y proveer, en base a la misma, una representación descodificada 1812 de la señal de audio de multi-canal. El descodificador de señal de audio 1800 comprende un extractor de información lateral 1820 y un descodificador de distorsión de tiempo 1830. El extractor de información lateral 1820 está configurado para extraer una información de aplicación de contorno de distorsión de tiempo 1822 y una información de contorno de distorsión 1824 de la representación de señal de audio codificada 1810. Por ejemplo, el extractor de información lateral 1820 puede estar configurado para reconocer si una sola información de contorno de distorsión de tiempo común está disponible para múltiples canales de la señal de audio codificada, o si la información de contorno de distorsión de tiempo separad está disponible para múltiples canales. Así, el extractor de información lateral puede proveer tal información de aplicación de contorno de distorsión en el tiempo 1822 (que indica si información de contorno de distorsión de tiempo conjunta o individual está disponible) y la información de contorno de distorsión en el tiempo 1824 (que describe la evolución temporal del contorno de distorsión en el tiempo común (adjunta) o de los contornos de distorsión de tiempo individuales). El descodificador de distorsión de tiempo 1830 puede estar configurado para reconstruir la representación descodificada de la señal de audio de multi-canal en base a la representación de señal de audio codificada 1810, tomando en consideración la distorsión de tiempo descrita por la información 1822, 1824. Por ejemplo, el descodificador de distorsión de tiempo 1830 puede estar configurado para aplicar un contorno de distorsión de tiempo común para descodificar diferentes canales de audio, para los cuales información de dominio de frecuencia codificada individual está disponible. Así, el descodificador de distorsión de tiempo 1830 puede reconstruir por ejemplo diferentes canales de la señal de audio de multi-canal, que comprenden distorsión de tiempo similar o idéntica pero diferente altura.
Corriente de audio de acuerdo con las Figuras 19a a 19e
[0143] En lo siguiente, una corriente de audio será descrita, que comprende una representación codificada de uno o más señal de canales de audio y uno o más contornos de distorsión de tiempo.
[0144] La Figura 19a muestra una representación gráfica de un llamado elemento de corriente de datos “USAC_raw_data_block” que puede comprender un solo elemento de canal (SCE), un par de elementos de canal (CPE) o una combinación de uno o más elementos de canal individuales y/o uno o más pares de elementos de canal.
[0145] El “USAC_raw_data_block” puede comprender comúnmente un bloque de datos de audio codificados, mientras que la información de contorno de distorsión de tiempo individual puede ser provista en un elemento de corriente de datos separado. No obstante, es usualmente posible codificar algo de los datos de contorno de distorsión de tiempo al “USAC_raw_data_block”.
[0146] Como se puede ver de la Figura 19b, un solo elemento de canal comprende comúnmente una corriente de canal de dominio de frecuencia (“fd_channel_stream”), que será explicado en detalle con referencia a la Figura 9d.
[0147] Como se puede ver de la Figura 19c, un par de elementos de canal (“channel_pair_element”) comprende comúnmente una pluralidad de corrientes de canal de dominio de frecuencia. También, el par de elementos de canal puede comprender información de distorsión de tiempo. Por ejemplo, una bandera de activación de distorsión de tiempo (“tw_MDCT”) que puede ser transmitida en un elemento de corriente de datos de configuración o en el “USAC_saw_data_block” determina si la información de distorsión en el tiempo está incluida en el par de elementos de canal. Por ejemplo, si la bandera “tw_MDCT” indica que la distorsión de tiempo está activa, el par de elementos de canal puede comprender una bandera (“common_tw”) que indica si hay una distorsión de tiempo común para los canales de audio del par de elementos de canal. Si la bandera (common_tw) indica que hay una distorsión de tiempo común para múltiples de los canales de audio, entonces una información de distorsión en el tiempo común (tw_data)
está incluida en el par de elementos de canal, por ejemplo, separados de las corrientes de canal de dominio de frecuencia.
[0148] Con referencia ahora a la Figura 19d, se describe la corriente de canal de dominio de frecuencia. Como se puede ver de la Figura 19d, la corriente de canal de dominio de frecuencia, por ejemplo, comprende una información de ganancia global. También, la corriente de canal de dominio de frecuencia comprende los datos de distorsión de tiempo, si la distorsión de tiempo está activa (bandera “tw_MDCT” activa) y si no hay una información de distorsión en el tiempo común para múltiples canales de señal de audio (bandera “common_tw” está inactiva).
[0149] Además, una corriente de canal de dominio de frecuencia también comprende datos de factor de escala (“scale_factor_data”) y datos espectrales codificados (para datos espectrales codificados por ejemplo aritméticamente “ac_espectral_data”).
[0150] Con referencia ahora a la Figura 19e, la sintaxis de los datos de distorsión de tiempo son discutidos brevemente. Los datos de distorsión de tiempo pueden comprender por ejemplo, opcionalmente una bandera (por ejemplo, “tw_data_present” o “active Pitch Data”) que indica si los datos de distorsión de tiempo están presentes. Si los datos de distorsión de tiempo están presentes, (esto es, el contorno de distorsión de tiempo no es plano) los datos de distorsión de tiempo pueden comprender una secuencia de una pluralidad de valores de proporción de distorsión de tiempo codificados (por ejemplo, “tw_ratio [i]” o “pitchIdx[i]”), que pueden por ejemplo ser codificados de acuerdo con la tabla de libro de códigos de la Figura 9c.
[0151] Así, los datos de distorsión de tiempo pueden comprender una bandera que indica que no hay datos de distorsión de tiempo disponibles, que pueden ser ajustados por un codificador de señal de audio, si el contorno de distorsión de tiempo es constante (las proporciones de distorsión de tiempo son aproximadamente iguales a 1.000). En contraste, si el contorno de distorsión de tiempo es variable, las proporciones entre nodos de contorno de distorsión de tiempo subsecuentes pueden ser codificados utilizando los índices de libro de códigos que compone la información de “tw_ratio”.
[0152] Resumiendo lo anterior, las realizaciones de acuerdo con la invención efectúan diferentes mejoras en el campo de distorsión de tiempo.
[0153] Los aspectos de la invención descritos en la presente están en el contexto de un codificador de transformada de MDCT distorsionada en el tiempo (véase, por ejemplo, referencia [1]). Las realizaciones de acuerdo con la invención proveen procedimientos para un desempeño mejorado de un codificador de transformada de MDCT distorsionada en el tiempo.
[0154] De acuerdo con un aspecto de la invención, se provee un formato de corriente de bits particularmente eficiente. La descripción de formato de corriente de bits está basada sobre y mejora la sintaxis de corriente de bits AAC de MPEG-2 (véase, por ejemplo, referencia [2]), pero es por supuesto aplicable a todos los formatos de corrientes de bits con un encabezado de descripción general al inicio de una corriente y una sintaxis de información de cuadro en cuadro individual.
[0155] Por ejemplo, la siguiente información lateral puede ser transmitida en la corriente de bits:
[0156] En general, una bandera de un bit (por ejemplo, llamada “tw_MDCT”) puede estar presente en la configuración específica de audio general (GASC), que indica si la distorsión de tiempo está activa o no. Los datos de altura pueden ser transmitidos utilizando la sintaxis mostrada en la Figura 19e o la sintaxis mostrada en la Figura 19f. En la sintaxis mostrada en la Figura 19f, el número de alturas (“numPitches”) puede ser igual a 16, y el número de bits de altura en (“numPitchBits”) puede ser igual a 3. En otras palabras, pueden haber 16 valores de proporción de distorsión codificados por porción de contorno de distorsión de tiempo (o por cuadro de señal de audio), y cada valor de proporción de contorno de distorsión puede ser codificado utilizando 3 bits.
[0157] Además, en un solo elemento de canal (SCE) los datos de altura (pitch_data[]) pueden estar ubicados antes de los datos de sección en el canal individual, si la distorsión está activa.
[0158] En un par de elementos de canal (CPE), una bandera de atura común señala si hay datos de altura comunes para ambos canales, lo que sigue después que, si no, los contornos de altura individuales son encontrados en los canales individuales.
[0159] En lo siguiente, se dará un ejemplo para un par de elementos de canal. Un ejemplo podría ser una señal de una sola fuente de sonido armónica, colocada dentro del panorama estéreo. En este caso, los contornos de altura relativos para el primer canal y el segundo canal serán iguales o diferirían solamente ligeramente debido a algunos errores pequeños en la estimación de la variación. En este caso, el codificador puede decidir que en lugar de enviar dos contornos de altura codificados separados para cada canal, enviar solamente un contorno de altura que es el promedio del contorno de altura del primero y segundo canal y usar el mismo contorno en la aplicación del TW-MDCT sobre ambos canales. Por otra parte, podría haber una señal en donde la estimación del contorno de altura
produce resultado diferentes para el primero y segundo canal respectivamente. En este caso, los contornos de altura codificados individualmente son enviados dentro del canal correspondiente.
[0160] En lo siguiente, se describirá una descodificación ventajosa de datos de contorno de altura de acuerdo con un aspecto de la invención. Por ejemplo, si la bandera “active PitchData” es 0, el contorno de altura es ajustado a 1 para todas las muestras en el cuadro, de otra manera los nodos de contorno de altura individuales son calculados como sigue:
- -
- hay numPitches + 1 nodos,
- -
- nodo [0] es siempre 1.0;
- -
- nodo [i]=nodo[i-1]•relChange[i] (i=1..numPitches+1), en donde el relChange es obtenido por la cuantificación inversa del pitchIdx[i].
[0161] El contorno de altura es luego generado por la interpolación lineal entre los nodos, en donde las posiciones de muestra de nodo son 0:frameLen/numPitches:frameLen.
Alternativas de Implementaci6n
[0162] Dependiendo de ciertos requerimientos de implementación, las realizaciones de la invención pueden ser implementadas en elementos físicos o en elementos de programación. La implementación puede ser efectuada utilizando un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un CD, un ROM, un PROM, un EPROM, un EEPROM o una memoria instantánea, que tiene señales de control que se pueden leer electrónicamente guardadas en el mismo, que cooperan (o son aptas de cooperar) con un sistema de computadora programable de tal manera que el procedimiento respectivo es ejecutado.
[0163] Algunas realizaciones de acuerdo con la invención comprenden un portador de datos que tiene señales de control que se pueden leer electrónicamente, que son aptas de cooperar con un sistema de computadora programable, de tal manera que uno de los procedimientos descritos en la presente es efectuado.
[0164] En general, las realizaciones de la presente invención pueden ser implementadas como un producto de programa de computadora con un código de programa, el código de programa es operativo para efectuar uno de los procedimientos cuando el producto de programa de computadora se ejecuta en una computadora. El código de programa puede por ejemplo ser guardado en un portador que se puede leer por una máquina.
[0165] Otras realizaciones comprenden el programa de computadora para efectuar uno de los procedimientos descritos en la presente, guardados sobre un portador que se puede leer por una máquina.
[0166] En otras palabras, una realización del procedimiento de la invención es, por consiguiente, un programa de computadora que tiene códigos de programa para efectuar uno de los procedimientos descritos en la presente, cuando el programa de computadora se ejecuta en una computadora.
[0167] Una realización adicional del procedimiento de la invención es, por consiguiente, un portador de datos (o un medio de almacenamiento digital o un medio que se puede leer por computadora) que comprende, grabado sobre el mismo, el programa de computadora para efectuar uno de los procedimientos descritos en la presente.
[0168] Una realización adicional del procedimiento de la invención es, por consiguiente, una corriente de datos o una secuencia de señales que representan el programa de computadora para efectuar uno de los procedimientos descritos en la presente. La corriente de datos o la secuencia de señales pueden por ejemplo estar configuradas conexión de comunicación de datos, por ejemplo vía Internet.
[0169] Una realización adicional comprende medios de procesamiento, por ejemplo una computadora, o un dispositivo lógico programable, configurado para ser transferidas vía una o apto para efectuar uno de los procedimientos descritos en la presente.
[0170] Una realización adicional comprende una computadora que tiene instalado en la misma el programa de computadora para efectuar uno de los procedimientos descritos en la presente.
[0171] En algunas realizaciones, se puede usar un dispositivo lógico programable (por ejemplo un arreglo de compuertas programable en el campo) para efectuar algunas o toda las funcionalidades de los procedimientos descritos en la presente. En algunas realizaciones, un arreglo de compuerta programable en el campo puede cooperar con un microprocesador con el fin de efectuar uno de los procedimientos descritos en la presente.
Referencias
[0172]
[1] L. Villemoes, "Time Warped Transform Coding of Audio Signals", PCT/EP2006/010246, Int. patent application,
November 2005 [2] Generic Coding of Moving Pictures and Associated Audio: Advanced Audio Coding. International Standard 13818-7, ISO/IECJTC1/SC29/WG11 Moving Pictures Expert Group, 1997
Claims (14)
- REIVINDICACIONES
- 1.
- Un descodificador de señal de audio (200; 300; 1500; 1800) para proveer una representación de señal de audio de multi-canal descodificada (232;312;1812) en base a una representación de señal de audio de multicanal codificada (211,212;310;1810), comprendiendo el descodificador de señal de audio:
un descodificador de distorsión del tiempo (210,216,218,219,220, 230,240;340;1830) configurado para usar selectivamente contornos de distorsión del tiempo específicos de canal de audio individuales (332;1824) o un contorno de distorsión del tiempo de multi-canal adjunto (332;1824) para la reconstrucción de una pluralidad de canales de audio representados por la representación de señal de audio de multi-canal codificada. -
- 2.
- El descodificador de señal de audio (200;300;1800) de conformidad con la reivindicación 1, en el que el descodificador de distorsión del tiempo (210,216,218,219,220, 230,240;340;1830) está configurado para usar selectivamente un contorno de distorsión del tiempo de multi-canal adjunto (332;1824) para una reconstrucción de distorsión en el tiempo de una pluralidad de canales de audio representados por la representación de señal de audio de multi-canal codificada para la cual información del dominio espectral codificada individual (211) está disponible.
-
- 3.
- El descodificador de señal de audio (200;300;1800) de conformidad con la reivindicación 2, caracterizado porque el descodificador de distorsión del tiempo (210,216,218,219,220, 230,240;340;1830) está configurado para recibir una primera información del dominio espectral asociada con un primero de los canales de audio y para proveer, a partir de esta, una representación del dominio de tiempo del primer canal de audio utilizando una transformación del dominio de frecuencia a dominio de tiempo distorsionado;
en donde el descodificador de distorsión del tiempo está configurado además para recibir una segunda información del dominio espectral codificada, asociada con un segundo de los canales de audio y para proveer, en base a lo mismo, una representación del dominio de tiempo distorsionada del segundo canal de audio utilizando una transformación del dominio de frecuencia a dominio de tiempo;en donde la segunda información del dominio espectral es diferente de la primera información del dominio espectral yen donde el descodificador de distorsión del tiempo está configurado para re-muestrear variablemente en el tiempo, en base al contorno de distorsión del tiempo de multi-canal adjunto, la representación del dominio de tiempo distorsionada del primer canal de audio o una versión procesada de la misma, para obtener una representación muestreada regularmente del primer canal de audio ypara re-muestrear de manera variable en el tiempo, en base al contorno de distorsión del tiempo de multi-canal adjunto, la representación del dominio de tiempo distorsionada del segundo canal de audio o una versión procesada del mismo, para obtener una representación muestreada regularmente del segundo canal de audio. - 4. El descodificador de señal de audio (200;300;1800) de conformidad con cualquiera de las reivindicaciones 1 a 3, en el que el descodificador de distorsión del tiempo está configurado para derivar un contorno de tiempo de multi-canal adjunto a partir de la información de contorno de distorsión del tiempo de multi-canal adjunta yderivar una primera forma de ventana específica de canal individual asociada con el primero de los canales de audio en base a la primera información de forma de ventana codificada yderivar una segunda forma de ventana específica de canal individual asociada con el segundo de los canales de audio en base a la segunda información de forma de ventana codificada yaplicar la primera forma de ventana a la representación del dominio de tiempo distorsionada del primer canal de audio, para obtener una versión procesada de la representación del dominio de tiempo distorsionada del primer canal de audio yaplicar la segunda forma de ventana a la representación del dominio de tiempo distorsionada del segundo canal de audio, para obtener una versión procesada de la representación del dominio de tiempo distorsionada del segundo canal de audio;en donde el descodificador de distorsión del tiempo es apto de aplicar diferentes formas de ventana a las representaciones del dominio de tiempo distorsionadas del primero y segundo canal de audio de un cuadro dado dependiendo de la información de forma de ventana específica de canal individual.
-
- 5.
- El descodificador de señal de audio (200;300;1800) de conformidad con la reivindicación 4, en el que el descodificador de distorsión del tiempo está configurado para aplicar un escalamiento de tiempo común, que es determinado por el contorno de tiempo multi-canal adjunto a diferentes formas de ventana cuando se forman en ventanas las representaciones del dominio de tiempo distorsionadas de los primeros y segundos canales de
audio. -
- 6.
- Un codificador de señal de audio (100;1700) para proveer una representación codificada (150,152;1712) de una señal de audio de multi-canal, comprendiendo el codificador de señal de audio:
un proveedor de representación de audio codificada configurado (104,106,108,108a,114;1720) para proveer selectivamente una representación de audio codificada (150,152;1712) que comprende una información de contorno de distorsión del tiempo de multi-canal común, asociada comúnmente con una pluralidad de canales de audio de la señal de audio de multi-canal o una representación de audio codificada que comprende información del contorno de distorsión del tiempo individual, asociada individualmente con los diferentes canales de audio de la pluralidad de canales de audio, dependiendo de la información que describe una similitud de diferencias entre los contornos de distorsión del tiempo asociados con los canales de audio de la pluralidad de canales de audio. -
- 7.
- El descodificador de señal de audio (100;1700) de conformidad con la reivindicación 6, en el que el proveedor de representación de audio codificada (104, 106, 108, 108a, 114; 1720) está configurado para aplicar selectivamente la información de contorno de distorsión del tiempo de multi-canal común para obtener una versión distorsionada en el tiempo de un primero de los canales de audio y para obtener una versión distorsionada en el tiempo de un segundo de los canales de audio y proveer una primera información de dominio espectral codificada individual asociada con un primero de los canales de audio, en base a la versión distorsionada en el tiempo del primer canal de audio y proveer una segunda información del dominio espectral codificada individual asociada con un segundo de los canales de audio, en base a la versión distorsionada en el tiempo del segundo canal de audio.
-
- 8.
- El descodificador de señal de audio (100;1700) de conformidad con la reivindicación 6 o 7, en el que el proveedor de representación de audio codificado (104,106,108,108a,114;1720) está configurado para proveer la representación codificada (150,152;1712) de la señal de audio de multi-canal, de tal manera que la representación codificada de la señal de multi-canal comprende la información de contorno de distorsión del tiempo de multi-canal común, una representación espectral codificada de una versión distorsionada en el tiempo de una primera señal de canal de audio, distorsionada en el tiempo de acuerdo con la información de contorno de distorsión del tiempo de multi-canal común y una representación espectral codificada de una versión distorsionada en el tiempo de una segunda señal de audio de canal, distorsionada en el tiempo de acuerdo con la información de contorno de distorsión del tiempo de multi-canal común.
-
- 9.
- El descodificador de señal de audio (100;1700) de conformidad con cualquiera de las reivindicaciones 6 a 8, en el porque el codificador de señal de audio está configurado para obtener la información de contorno de distorsión en el tiempo de multi-canal común, de tal manera que la información de contorno de distorsión del tiempo de multi-canal común representa un promedio de contornos de distorsión individuales asociados con el primer canal de señal de audio y el segundo canal de señal de audio.
-
- 10.
- El descodificador de señal de audio (100;1700) de conformidad con cualquiera de las reivindicaciones 6 a 9, en el que el proveedor de representación de audio codificado está configurado para proveer una información lateral (tw_data_present; common_tw) dentro de la representación codificada de la señal (150;152;1712) de audio de multi-canal, la información lateral indica, en una base por cuadro de audio, si datos de distorsión del tiempo están presentes para un cuadro de audio dado y si una información de contorno de distorsión del tiempo común está presente para el cuadro de audio dado.
-
- 11.
- Una representación de señal de audio de multi-canal codificada (usac_raw_data_block) que representa una señal de audio de multi-canal, comprendiendo la representación de señal de audio de multi-canal:
una representación del dominio de frecuencia codificada (fd_channel_stream) que representa una pluralidad de canales de audio distorsionados en el tiempo, selectivamente distorsionados en el tiempo, de acuerdo con una distorsión del tiempo común en función de una información que describe una similitud o diferencia entre contornos de distorsión en el tiempo asociados con los canales de audio de la señal de audio multi-canal; yuna representación codificada (tw data) de una información de contorno de distorsión del tiempo de multi-canal común, asociada comúnmente con los canales de audio y que representa la distorsión del tiempo común. -
- 12.
- La representación de canal de audio codificada (usac_raw_data_block) de conformidad con la reivindicación 11, en la que la representación del dominio de frecuencia codificada comprende información del dominio de frecuencia codificada individual (fd_channel_stream) de múltiples canales de audio que tienen diferentes contenidos de audio y en donde la representación codificada (tw data) de la información de contorno de distorsión del tiempo de multi-canal común está asociada con los múltiples canales de audio que tienen diferente contenido de audio.
-
- 13.
- Un procedimiento para proveer una representación de señal de audio de multi-canal descodificada (232;300;1500;1800) en base a una representación de señal de audio de multi-canal codificada (211,212;310;1810), comprendiendo el procedimiento:
utilizar selectivamente contornos de distorsión de tiempo específico de canal de audio individuales o un 5 contorno de distorsión del tiempo de multi-canal adjunto para una reconstrucción de la pluralidad de canales de audio representados por la representación de señal de audio de multi-canal codificada. - 14. Un procedimiento para proveer una representación codificada (150,152;1712) de una señal de audio de multi-canal, comprendiendo el procedimiento: proveer selectivamente una representación de audio codificada que comprende una información de contorno de distorsión del tiempo de multi-canal común, asociada10 comúnmente con una pluralidad de canales de audio con la señal de audio de multi-canal o una representación de audio codificada que comprende información de contorno de distorsión del tiempo individual, asociada individualmente con los diferentes canales de audio de la pluralidad de canales de audio, dependiendo de la información que describe la similitud o diferencia entre contornos de distorsión del tiempo asociados con los canales de audio de la pluralidad de señales de audio.15 15. Un programa de computadora adaptado para efectuar el procedimiento de conformidad con la reivindicación 13 o la reivindicación 14, en el que el programa de computadora se ejecuta en una computadora.
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US7987308P | 2008-07-11 | 2008-07-11 | |
| US79873P | 2008-07-11 | ||
| US10382008P | 2008-10-08 | 2008-10-08 | |
| US103820P | 2008-10-08 | ||
| PCT/EP2009/004758 WO2010003583A1 (en) | 2008-07-11 | 2009-07-01 | Audio signal decoder, audio signal encoder, encoded multi-channel audio signal representation, methods and computer program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2404132T3 true ES2404132T3 (es) | 2013-05-24 |
Family
ID=41131685
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES09776908T Active ES2376849T3 (es) | 2008-07-11 | 2009-07-01 | Calculador de contorno de alineación de tiempo, codificador de señal de audio, representación de señal de audio codificada, métodos y programa informático |
| ES09776910T Active ES2404132T3 (es) | 2008-07-11 | 2009-07-01 | Descodificador de señal de audio, codificador de señal de audio, representacón de señal de audio de multi-canal modificada, procedimientos y programa de computadora |
| ES09776909T Active ES2376974T3 (es) | 2008-07-11 | 2009-07-01 | Decodificador de señal de audio, proveedor de datos de contorno de alineación de tiempo, método y programa informático |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES09776908T Active ES2376849T3 (es) | 2008-07-11 | 2009-07-01 | Calculador de contorno de alineación de tiempo, codificador de señal de audio, representación de señal de audio codificada, métodos y programa informático |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES09776909T Active ES2376974T3 (es) | 2008-07-11 | 2009-07-01 | Decodificador de señal de audio, proveedor de datos de contorno de alineación de tiempo, método y programa informático |
Country Status (17)
| Country | Link |
|---|---|
| US (3) | US9299363B2 (es) |
| EP (3) | EP2257945B1 (es) |
| JP (4) | JP5323180B2 (es) |
| KR (3) | KR101205644B1 (es) |
| CN (3) | CN102007537B (es) |
| AR (3) | AR072739A1 (es) |
| AT (2) | ATE532176T1 (es) |
| AU (3) | AU2009267485B2 (es) |
| BR (2) | BRPI0906320B1 (es) |
| CA (3) | CA2718859C (es) |
| ES (3) | ES2376849T3 (es) |
| MX (3) | MX2010010747A (es) |
| MY (1) | MY154452A (es) |
| PL (3) | PL2257944T3 (es) |
| RU (3) | RU2509381C2 (es) |
| TW (3) | TWI459374B (es) |
| WO (3) | WO2010003582A1 (es) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7720677B2 (en) * | 2005-11-03 | 2010-05-18 | Coding Technologies Ab | Time warped modified transform coding of audio signals |
| EP2107556A1 (en) * | 2008-04-04 | 2009-10-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio transform coding using pitch correction |
| RU2621965C2 (ru) | 2008-07-11 | 2017-06-08 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. | Передатчик сигнала активации с деформацией по времени, кодер звукового сигнала, способ преобразования сигнала активации с деформацией по времени, способ кодирования звукового сигнала и компьютерные программы |
| MY154452A (en) | 2008-07-11 | 2015-06-15 | Fraunhofer Ges Forschung | An apparatus and a method for decoding an encoded audio signal |
| 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 |
| ES2458354T3 (es) * | 2010-03-10 | 2014-05-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Decodificador de señales de audio, codificador de señales de audio, métodos y programa de ordenador que utiliza tasa de muestreo dependiente de la codificación del contorno de distorsión en el tiempo |
| EP2372704A1 (en) * | 2010-03-11 | 2011-10-05 | Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. | Signal processor and method for processing a signal |
| SG184230A1 (en) * | 2010-03-26 | 2012-11-29 | Agency Science Tech & Res | Methods and devices for providing an encoded digital signal |
| KR20130111611A (ko) * | 2011-01-25 | 2013-10-10 | 니뽄 덴신 덴와 가부시키가이샤 | 부호화 방법, 부호화 장치, 주기성 특징량 결정 방법, 주기성 특징량 결정 장치, 프로그램, 기록 매체 |
| TWI479478B (zh) | 2011-02-14 | 2015-04-01 | 弗勞恩霍夫爾協會 | 用以使用對齊的預看部分將音訊信號解碼的裝置與方法 |
| TWI488176B (zh) | 2011-02-14 | 2015-06-11 | Fraunhofer Ges Forschung | 音訊信號音軌脈衝位置之編碼與解碼技術 |
| TWI564882B (zh) | 2011-02-14 | 2017-01-01 | 弗勞恩霍夫爾協會 | 利用重疊變換之資訊信號表示技術(一) |
| WO2012110448A1 (en) | 2011-02-14 | 2012-08-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result |
| KR101613673B1 (ko) | 2011-02-14 | 2016-04-29 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 불활성 위상 동안에 잡음 합성을 사용하는 오디오 코덱 |
| BR112013020324B8 (pt) | 2011-02-14 | 2022-02-08 | Fraunhofer Ges Forschung | Aparelho e método para supressão de erro em fala unificada de baixo atraso e codificação de áudio |
| KR101699898B1 (ko) * | 2011-02-14 | 2017-01-25 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 스펙트럼 영역에서 디코딩된 오디오 신호를 처리하기 위한 방법 및 장치 |
| MY165853A (en) | 2011-02-14 | 2018-05-18 | Fraunhofer Ges Forschung | Linear prediction based coding scheme using spectral domain noise shaping |
| EP2676267B1 (en) | 2011-02-14 | 2017-07-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoding and decoding of pulse positions of tracks of an audio signal |
| SG194199A1 (en) | 2011-03-18 | 2013-12-30 | Fraunhofer Ges Forschung | Frame element positioning in frames of a bitstream representing audio content |
| TWI450266B (zh) * | 2011-04-19 | 2014-08-21 | Hon Hai Prec Ind Co Ltd | 電子裝置及音頻資料的解碼方法 |
| US9967600B2 (en) * | 2011-05-26 | 2018-05-08 | Nbcuniversal Media, Llc | Multi-channel digital content watermark system and method |
| ES2549953T3 (es) * | 2012-08-27 | 2015-11-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Aparato y método para la reproducción de una señal de audio, aparato y método para la generación de una señal de audio codificada, programa de ordenador y señal de audio codificada |
| CN102855884B (zh) * | 2012-09-11 | 2014-08-13 | 中国人民解放军理工大学 | 基于短时连续非负矩阵分解的语音时长调整方法 |
| CN105976824B (zh) | 2012-12-06 | 2021-06-08 | 华为技术有限公司 | 信号解码的方法和设备 |
| WO2014096236A2 (en) * | 2012-12-19 | 2014-06-26 | Dolby International Ab | Signal adaptive fir/iir predictors for minimizing entropy |
| RU2638734C2 (ru) | 2013-10-18 | 2017-12-15 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Кодирование спектральных коэффициентов спектра аудиосигнала |
| FR3015754A1 (fr) * | 2013-12-20 | 2015-06-26 | Orange | Re-echantillonnage d'un signal audio cadence a une frequence d'echantillonnage variable selon la trame |
| EP2980791A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Processor, method and computer program for processing an audio signal using truncated analysis or synthesis window overlap portions |
| US10553230B2 (en) * | 2015-11-09 | 2020-02-04 | Sony Corporation | Decoding apparatus, decoding method, and program |
| US10074373B2 (en) * | 2015-12-21 | 2018-09-11 | Qualcomm Incorporated | Channel adjustment for inter-frame temporal shift variations |
| RU2704733C1 (ru) * | 2016-01-22 | 2019-10-30 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Устройство и способ кодирования или декодирования многоканального сигнала с использованием параметра широкополосного выравнивания и множества параметров узкополосного выравнивания |
| CN107749304B (zh) * | 2017-09-07 | 2021-04-06 | 电信科学技术研究院 | 有限冲激响应滤波器系数矢量的可持续更新方法及装置 |
| CN114424282B (zh) * | 2019-09-03 | 2026-03-24 | 杜比实验室特许公司 | 低时延低频率效应编译码器 |
| TWI752551B (zh) * | 2020-07-13 | 2022-01-11 | 國立屏東大學 | 迅吃偵測方法、迅吃偵測裝置與電腦程式產品 |
Family Cites Families (81)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5054075A (en) | 1989-09-05 | 1991-10-01 | Motorola, Inc. | Subband decoding method and apparatus |
| JP3076859B2 (ja) * | 1992-04-20 | 2000-08-14 | 三菱電機株式会社 | ディジタルオーディオ信号の信号処理装置 |
| US5408580A (en) | 1992-09-21 | 1995-04-18 | Aware, Inc. | Audio compression system employing multi-rate signal analysis |
| JPH0784597A (ja) * | 1993-09-20 | 1995-03-31 | Fujitsu Ltd | 音声符号化装置および音声復号化装置 |
| US5717823A (en) * | 1994-04-14 | 1998-02-10 | Lucent Technologies Inc. | Speech-rate modification for linear-prediction based analysis-by-synthesis speech coders |
| FI105001B (fi) * | 1995-06-30 | 2000-05-15 | Nokia Mobile Phones Ltd | Menetelmä odotusajan selvittämiseksi puhedekooderissa epäjatkuvassa lähetyksessä ja puhedekooderi sekä lähetin-vastaanotin |
| US5704003A (en) | 1995-09-19 | 1997-12-30 | Lucent Technologies Inc. | RCELP coder |
| JP3707116B2 (ja) | 1995-10-26 | 2005-10-19 | ソニー株式会社 | 音声復号化方法及び装置 |
| US5659622A (en) | 1995-11-13 | 1997-08-19 | Motorola, Inc. | Method and apparatus for suppressing noise in a communication system |
| US5848391A (en) | 1996-07-11 | 1998-12-08 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Method subband of coding and decoding audio signals using variable length windows |
| US6134518A (en) | 1997-03-04 | 2000-10-17 | International Business Machines Corporation | Digital audio signal coding using a CELP coder and a transform coder |
| KR100261253B1 (ko) * | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치 |
| US6070137A (en) | 1998-01-07 | 2000-05-30 | Ericsson Inc. | Integrated frequency-domain voice coding using an adaptive spectral enhancement filter |
| DE69926821T2 (de) | 1998-01-22 | 2007-12-06 | Deutsche Telekom Ag | Verfahren zur signalgesteuerten Schaltung zwischen verschiedenen Audiokodierungssystemen |
| US6115689A (en) | 1998-05-27 | 2000-09-05 | Microsoft Corporation | Scalable audio coder and decoder |
| US6453285B1 (en) * | 1998-08-21 | 2002-09-17 | Polycom, Inc. | Speech activity detector for use in noise reduction system, and methods therefor |
| US6330533B2 (en) | 1998-08-24 | 2001-12-11 | Conexant Systems, Inc. | Speech encoder adaptively applying pitch preprocessing with warping of target signal |
| US6449590B1 (en) * | 1998-08-24 | 2002-09-10 | Conexant Systems, Inc. | Speech encoder using warping in long term preprocessing |
| US7047185B1 (en) * | 1998-09-15 | 2006-05-16 | Skyworks Solutions, Inc. | Method and apparatus for dynamically switching between speech coders of a mobile unit as a function of received signal quality |
| US6424938B1 (en) * | 1998-11-23 | 2002-07-23 | Telefonaktiebolaget L M Ericsson | Complex signal activity detection for improved speech/noise classification of an audio signal |
| US6691084B2 (en) | 1998-12-21 | 2004-02-10 | Qualcomm Incorporated | Multiple mode variable rate speech coding |
| US6223151B1 (en) | 1999-02-10 | 2001-04-24 | Telefon Aktie Bolaget Lm Ericsson | Method and apparatus for pre-processing speech signals prior to coding by transform-based speech coders |
| DE19910833C1 (de) | 1999-03-11 | 2000-05-31 | Mayer Textilmaschf | Kurzketten-Schärmaschine |
| EP1099215B1 (en) * | 1999-05-26 | 2005-02-23 | Koninklijke Philips Electronics N.V. | Audio signal transmission system |
| US6782360B1 (en) | 1999-09-22 | 2004-08-24 | Mindspeed Technologies, Inc. | Gain quantization for a CELP speech coder |
| US6604070B1 (en) * | 1999-09-22 | 2003-08-05 | Conexant Systems, Inc. | System of encoding and decoding speech signals |
| US6978236B1 (en) * | 1999-10-01 | 2005-12-20 | Coding Technologies Ab | Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching |
| US6366880B1 (en) | 1999-11-30 | 2002-04-02 | Motorola, Inc. | Method and apparatus for suppressing acoustic background noise in a communication system by equaliztion of pre-and post-comb-filtered subband spectral energies |
| JP2001255882A (ja) * | 2000-03-09 | 2001-09-21 | Sony Corp | 音声信号処理装置及びその信号処理方法 |
| JP2002149200A (ja) | 2000-08-31 | 2002-05-24 | Matsushita Electric Ind Co Ltd | 音声処理装置及び音声処理方法 |
| US6850884B2 (en) * | 2000-09-15 | 2005-02-01 | Mindspeed Technologies, Inc. | Selection of coding parameters based on spectral content of a speech signal |
| EP1340317A1 (en) * | 2000-11-03 | 2003-09-03 | Koninklijke Philips Electronics N.V. | Parametric coding of audio signals |
| US6925435B1 (en) | 2000-11-27 | 2005-08-02 | Mindspeed Technologies, Inc. | Method and apparatus for improved noise reduction in a speech encoder |
| SE0004818D0 (sv) | 2000-12-22 | 2000-12-22 | Coding Technologies Sweden Ab | Enhancing source coding systems by adaptive transposition |
| ATE338333T1 (de) | 2001-04-05 | 2006-09-15 | Koninkl Philips Electronics Nv | Zeitskalenmodifikation von signalen mit spezifischem verfahren je nach ermitteltem signaltyp |
| FI110729B (fi) | 2001-04-11 | 2003-03-14 | Nokia Corp | Menetelmä pakatun audiosignaalin purkamiseksi |
| DK1386312T3 (da) | 2001-05-10 | 2008-06-09 | Dolby Lab Licensing Corp | Forbedring af transient ydeevne af audio kodningssystemer med lav bithastighed ved reduktion af forudgående stöj |
| DE20108778U1 (de) | 2001-05-25 | 2001-08-02 | Mannesmann VDO AG, 60388 Frankfurt | Gehäuse für ein in einem Fahrzeug verwendbares Gerät zur automatischen Ermittlung von Straßenbenutzungsgebühren |
| US6879955B2 (en) | 2001-06-29 | 2005-04-12 | Microsoft Corporation | Signal modification based on continuous time warping for low bit rate CELP coding |
| EP1278185A3 (en) | 2001-07-13 | 2005-02-09 | Alcatel | Method for improving noise reduction in speech transmission |
| US6963842B2 (en) | 2001-09-05 | 2005-11-08 | Creative Technology Ltd. | Efficient system and method for converting between different transform-domain signal representations |
| EP1446796A1 (en) * | 2001-10-26 | 2004-08-18 | Koninklijke Philips Electronics N.V. | Tracking of sinusoidal parameters in an audio coder |
| CA2365203A1 (en) * | 2001-12-14 | 2003-06-14 | Voiceage Corporation | A signal modification method for efficient coding of speech signals |
| JP2003316392A (ja) * | 2002-04-22 | 2003-11-07 | Mitsubishi Electric Corp | オーディオ信号の復号化及び符号化装置、復号化装置並びに符号化装置 |
| US7457757B1 (en) | 2002-05-30 | 2008-11-25 | Plantronics, Inc. | Intelligibility control for speech communications systems |
| US7447631B2 (en) | 2002-06-17 | 2008-11-04 | Dolby Laboratories Licensing Corporation | Audio coding system using spectral hole filling |
| TWI288915B (en) | 2002-06-17 | 2007-10-21 | Dolby Lab Licensing Corp | Improved audio coding system using characteristics of a decoded signal to adapt synthesized spectral components |
| US7043423B2 (en) | 2002-07-16 | 2006-05-09 | Dolby Laboratories Licensing Corporation | Low bit-rate audio coding systems and methods that use expanding quantizers with arithmetic coding |
| CN1703736A (zh) | 2002-10-11 | 2005-11-30 | 诺基亚有限公司 | 用于源控制可变比特率宽带语音编码的方法和装置 |
| US7379866B2 (en) * | 2003-03-15 | 2008-05-27 | Mindspeed Technologies, Inc. | Simple noise suppression model |
| JP4629353B2 (ja) * | 2003-04-17 | 2011-02-09 | インベンテイオ・アクテイエンゲゼルシヤフト | エスカレータまたは動く歩道のための移動手摺り駆動装置 |
| CN1820306B (zh) | 2003-05-01 | 2010-05-05 | 诺基亚有限公司 | 可变比特率宽带语音编码中增益量化的方法和装置 |
| US7363221B2 (en) | 2003-08-19 | 2008-04-22 | Microsoft Corporation | Method of noise reduction using instantaneous signal-to-noise ratio as the principal quantity for optimal estimation |
| KR100604897B1 (ko) | 2004-09-07 | 2006-07-28 | 삼성전자주식회사 | 하드 디스크 드라이브 조립체, 하드 디스크 드라이브의장착 구조 및 이를 채용한 휴대폰 |
| KR100640893B1 (ko) | 2004-09-07 | 2006-11-02 | 엘지전자 주식회사 | 음성 인식용 베이스밴드 모뎀 및 이동통신용 단말기 |
| WO2006079813A1 (en) | 2005-01-27 | 2006-08-03 | Synchro Arts Limited | Methods and apparatus for use in sound modification |
| CN101171626B (zh) * | 2005-03-11 | 2012-03-21 | 高通股份有限公司 | 通过修改残余对声码器内的帧进行时间扭曲 |
| US8155965B2 (en) | 2005-03-11 | 2012-04-10 | Qualcomm Incorporated | Time warping frames inside the vocoder by modifying the residual |
| US8260611B2 (en) | 2005-04-01 | 2012-09-04 | Qualcomm Incorporated | Systems, methods, and apparatus for highband excitation generation |
| JP4550652B2 (ja) * | 2005-04-14 | 2010-09-22 | 株式会社東芝 | 音響信号処理装置、音響信号処理プログラム及び音響信号処理方法 |
| US7885809B2 (en) | 2005-04-20 | 2011-02-08 | Ntt Docomo, Inc. | Quantization of speech and audio coding parameters using partial information on atypical subsequences |
| PT1875463T (pt) | 2005-04-22 | 2019-01-24 | Qualcomm Inc | Sistemas, métodos e aparelho para nivelamento de fator de ganho |
| JP4450324B2 (ja) | 2005-08-15 | 2010-04-14 | 日立オートモティブシステムズ株式会社 | 内燃機関の始動制御装置 |
| JP2007084597A (ja) | 2005-09-20 | 2007-04-05 | Fuji Shikiso Kk | 表面処理カーボンブラック組成物およびその製造方法 |
| US7720677B2 (en) * | 2005-11-03 | 2010-05-18 | Coding Technologies Ab | Time warped modified transform coding of audio signals |
| US7366658B2 (en) | 2005-12-09 | 2008-04-29 | Texas Instruments Incorporated | Noise pre-processor for enhanced variable rate speech codec |
| US7991494B2 (en) * | 2006-02-23 | 2011-08-02 | Lg Electronics Inc. | Method and apparatus for processing an audio signal |
| TWI294107B (en) | 2006-04-28 | 2008-03-01 | Univ Nat Kaohsiung 1St Univ Sc | A pronunciation-scored method for the application of voice and image in the e-learning |
| US7873511B2 (en) * | 2006-06-30 | 2011-01-18 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic |
| US8682652B2 (en) * | 2006-06-30 | 2014-03-25 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic |
| MX2008016163A (es) | 2006-06-30 | 2009-02-04 | Fraunhofer Ges Forschung | Codificador de audio, decodificador de audio y procesador de audio con caracteristicas de warping variable de manera dinamica. |
| CN100489964C (zh) * | 2006-08-18 | 2009-05-20 | 广州广晟数码技术有限公司 | 音频解码 |
| US8239190B2 (en) | 2006-08-22 | 2012-08-07 | Qualcomm Incorporated | Time-warping frames of wideband vocoder |
| CN101025918B (zh) | 2007-01-19 | 2011-06-29 | 清华大学 | 一种语音/音乐双模编解码无缝切换方法 |
| 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 |
| EP2107556A1 (en) | 2008-04-04 | 2009-10-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio transform coding using pitch correction |
| MY154452A (en) | 2008-07-11 | 2015-06-15 | Fraunhofer Ges Forschung | An apparatus and a method for decoding an encoded audio signal |
| RU2621965C2 (ru) | 2008-07-11 | 2017-06-08 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. | Передатчик сигнала активации с деформацией по времени, кодер звукового сигнала, способ преобразования сигнала активации с деформацией по времени, способ кодирования звукового сигнала и компьютерные программы |
| JP5297891B2 (ja) | 2009-05-25 | 2013-09-25 | 京楽産業.株式会社 | 遊技機 |
| US8670990B2 (en) | 2009-08-03 | 2014-03-11 | Broadcom Corporation | Dynamic time scale modification for reduced bit rate audio coding |
| CN102257564B (zh) * | 2009-10-21 | 2013-07-10 | 松下电器产业株式会社 | 音频编码装置、解码装置、方法、电路及程序 |
-
2009
- 2009-06-23 MY MYPI2011000095A patent/MY154452A/en unknown
- 2009-07-01 PL PL09776908T patent/PL2257944T3/pl unknown
- 2009-07-01 KR KR1020107021817A patent/KR101205644B1/ko active Active
- 2009-07-01 JP JP2011510908A patent/JP5323180B2/ja active Active
- 2009-07-01 MX MX2010010747A patent/MX2010010747A/es active IP Right Grant
- 2009-07-01 EP EP09776909A patent/EP2257945B1/en active Active
- 2009-07-01 AU AU2009267485A patent/AU2009267485B2/en active Active
- 2009-07-01 US US12/935,731 patent/US9299363B2/en active Active
- 2009-07-01 EP EP09776908A patent/EP2257944B1/en active Active
- 2009-07-01 RU RU2010139021/08A patent/RU2509381C2/ru active
- 2009-07-01 ES ES09776908T patent/ES2376849T3/es active Active
- 2009-07-01 PL PL09776910T patent/PL2260485T3/pl unknown
- 2009-07-01 EP EP09776910A patent/EP2260485B1/en active Active
- 2009-07-01 WO PCT/EP2009/004757 patent/WO2010003582A1/en not_active Ceased
- 2009-07-01 RU RU2010139023/08A patent/RU2527760C2/ru active
- 2009-07-01 CN CN2009801116869A patent/CN102007537B/zh active Active
- 2009-07-01 MX MX2010010749A patent/MX2010010749A/es active IP Right Grant
- 2009-07-01 CN CN2009801116801A patent/CN102007536B/zh active Active
- 2009-07-01 KR KR1020107021830A patent/KR101205615B1/ko active Active
- 2009-07-01 AT AT09776908T patent/ATE532176T1/de active
- 2009-07-01 US US12/935,740 patent/US9025777B2/en active Active
- 2009-07-01 JP JP2011510907A patent/JP5323179B2/ja active Active
- 2009-07-01 WO PCT/EP2009/004758 patent/WO2010003583A1/en not_active Ceased
- 2009-07-01 RU RU2010139022/28A patent/RU2486484C2/ru active
- 2009-07-01 MX MX2010010748A patent/MX2010010748A/es active IP Right Grant
- 2009-07-01 WO PCT/EP2009/004756 patent/WO2010003581A1/en not_active Ceased
- 2009-07-01 AU AU2009267486A patent/AU2009267486B2/en active Active
- 2009-07-01 AT AT09776909T patent/ATE532177T1/de active
- 2009-07-01 CN CN2009801116873A patent/CN102007531B/zh active Active
- 2009-07-01 BR BRPI0906320-0A patent/BRPI0906320B1/pt active IP Right Grant
- 2009-07-01 BR BRPI0906300-5A patent/BRPI0906300B1/pt active IP Right Grant
- 2009-07-01 KR KR1020107021806A patent/KR101205593B1/ko active Active
- 2009-07-01 PL PL09776909T patent/PL2257945T3/pl unknown
- 2009-07-01 JP JP2011510909A patent/JP5551686B2/ja active Active
- 2009-07-01 ES ES09776910T patent/ES2404132T3/es active Active
- 2009-07-01 CA CA2718859A patent/CA2718859C/en active Active
- 2009-07-01 CA CA2718857A patent/CA2718857C/en active Active
- 2009-07-01 ES ES09776909T patent/ES2376974T3/es active Active
- 2009-07-01 CA CA2718740A patent/CA2718740C/en active Active
- 2009-07-01 US US12/935,718 patent/US9043216B2/en active Active
- 2009-07-01 AU AU2009267484A patent/AU2009267484B2/en active Active
- 2009-07-09 TW TW098123191A patent/TWI459374B/zh active
- 2009-07-09 TW TW098123194A patent/TWI451402B/zh active
- 2009-07-09 TW TW098123192A patent/TWI453732B/zh active
- 2009-07-13 AR ARP090102630A patent/AR072739A1/es active IP Right Grant
- 2009-07-13 AR ARP090102627A patent/AR072498A1/es unknown
- 2009-07-13 AR ARP090102629A patent/AR072500A1/es active IP Right Grant
-
2014
- 2014-01-27 JP JP2014012379A patent/JP6041815B2/ja active Active
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2404132T3 (es) | Descodificador de señal de audio, codificador de señal de audio, representacón de señal de audio de multi-canal modificada, procedimientos y programa de computadora | |
| HK1151619B (en) | Time warp contour calculator, audio signal encoder, encoded audio signal representation, methods and computer program | |
| HK1151620B (en) | Audio signal decoder, time warp contour data provider, method and computer program | |
| HK1151883B (en) | Audio signal decoder, audio signal encoder, encoded multi-channel audio signal representation, methods and computer program | |
| BRPI0906319B1 (pt) | Decodificador de sinal de áudio, codificador de sinal de áudio, representação de sinal de áudio multi-canal codificado e métodos |