ES2736309T3 - Aparato y procedimiento para codificar o descodificar una señal de audio utilizando una superposición que depende de una ubicación de transitorios - Google Patents
Aparato y procedimiento para codificar o descodificar una señal de audio utilizando una superposición que depende de una ubicación de transitorios Download PDFInfo
- Publication number
- ES2736309T3 ES2736309T3 ES14706529T ES14706529T ES2736309T3 ES 2736309 T3 ES2736309 T3 ES 2736309T3 ES 14706529 T ES14706529 T ES 14706529T ES 14706529 T ES14706529 T ES 14706529T ES 2736309 T3 ES2736309 T3 ES 2736309T3
- Authority
- ES
- Spain
- Prior art keywords
- window
- length
- overlay
- windows
- transient
- 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
- 230000001052 transient effect Effects 0.000 title claims abstract description 162
- 230000005236 sound signal Effects 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims description 51
- 230000003595 spectral effect Effects 0.000 claims abstract description 62
- 230000011218 segmentation Effects 0.000 claims abstract description 38
- 230000004044 response Effects 0.000 claims abstract description 10
- 230000006870 function Effects 0.000 claims description 126
- 238000012545 processing Methods 0.000 claims description 13
- 230000015572 biosynthetic process Effects 0.000 claims description 10
- 238000003786 synthesis reaction Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims 1
- 230000007704 transition Effects 0.000 description 21
- 238000001514 detection method Methods 0.000 description 15
- 230000002441 reversible effect Effects 0.000 description 7
- 238000002592 echocardiography Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000013139 quantization Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
- G10L19/025—Detection of transients or attacks for time/frequency resolution switching
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3002—Conversion to or from differential modulation
- H03M7/3044—Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Aparato para codificar una señal de audio que comprende: un dispositivo de segmentación en ventanas controlable (102) para segmentar en ventanas la señal de audio para proporcionar una secuencia de bloques de muestras segmentadas en ventanas; un convertidor (104) para convertir la secuencia de bloques de muestras segmentadas en ventanas en una representación espectral que comprende una secuencia de tramas de valores espectrales; un detector de ubicación de transitorios (106) para identificar una ubicación de un transitorio dentro de una zona de anticipación de transitorios de una trama; y un controlador (108) para controlar el dispositivo de segmentación en ventanas controlable (102) para aplicar una ventana específica que tiene una longitud de superposición especificada a la señal de audio en respuesta a una ubicación identificada (210-213) del transitorio, en el que el controlador (108) está configurado para seleccionar la ventana específica a partir de un grupo de al menos tres ventanas que comprende una primera ventana (201) que tiene una primera longitud de superposición (203), una segunda ventana (215) que tiene una segunda longitud de superposición (218), y una tercera ventana (224) que tiene una tercera longitud de superposición (229) o que no tiene ninguna superposición, en el que la primera longitud de superposición (203) es mayor que la segunda longitud de superposición (218), y en el que la segunda longitud de superposición (218) es mayor que la tercera longitud de superposición (229) o mayor que una superposición de cero, en el que la ventana específica se selecciona en base a la ubicación del transitorio de manera que una de dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la primera ventana en la ubicación del transitorio y la otra de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la segunda ventana en la ubicación del transitorio, en el que los coeficientes de la segunda ventana son al menos nueve veces mayores que los coeficientes de la primera ventana.
Description
DESCRIPCIÓN
Aparato y procedimiento para codificar o descodificar una señal de audio utilizando una superposición que depende de una ubicación de transitorios
[0001] La presente invención se refiere al procesamiento de señales de audio o imagen y, en particular, a la codificación o descodificación de señales de audio o imagen en presencia de transitorios.
[0002] Los esquemas de codificación de voz y audio actuales en el dominio de la frecuencia basados en FFT superpuestas o la transformada discreta del coseno modificada (MDCT) ofrecen cierto grado de adaptación a las características de señales no estacionarias. Los códecs de uso general estandarizados en MPEG, concretamente, MPEG-1 Layer 3 mejor conocido como MP3, MPEG-4 (HE-) AAC [1] y, más recientemente, MPEG-0 xHE-AAC (USAC), así como el códec Opus/Celt especificado por el IETF [2], permiten la codificación de una trama utilizando una entre al menos dos longitudes de transformada diferentes - una longitud de transformada larga M para el paso de señales estacionarias, u 8 transformadas cortas de longitud M/8 cada una. En el caso de los códecs MPEG, la conmutación de transformadas largas a cortas y de cortas a largas (también conocido como conmutación de bloques) requiere la utilización de transformadas de transición con ventanas asimétricas, es decir, una ventana de inicio y una ventana de finalización, respectivamente. Estas formas de transformadas, junto con otras formas conocidas de la técnica anterior, se representan en la figura 16. Debe observarse que la pendiente de superposición lineal es meramente ilustrativa y varía en su forma exacta. Las posibles formas de las ventanas se dan en el estándar AAC [1] y en la sección 6 de [3].
[0003] Dado que, si la trama siguiente se va a codificar con transformadas cortas por un codificador MPEG, la trama actual debe codificarse con una transformada transitoria de inicio, se hace evidente que un codificador implementado según una de las normas MPEG antes mencionadas requiere por lo menos una longitud de trama de anticipación. Sin embargo, en aplicaciones de comunicación de bajo retardo, es deseable minimizar o incluso evitar esta trama adicional por adelantado. Con este fin se han propuesto dos modificaciones al paradigma de la codificación de propósito general. Una de ellas, adoptada por ejemplo en Celt [2], consiste en reducir la superposición de la transformada larga a la de la transformada corta para evitar las ventanas de transición asimétricas. La otra modificación que se utiliza, por ejemplo, en los esquemas de codificación MPEG-4 (Enhanced) Low Delay AAC, es inhabilitar la conmutación a transformadas más cortas y, en lugar de ello, basarse en una herramienta de codificación del modelado del ruido temporal (TNS) [4] que opera los coeficientes de la transformada larga para minimizar la propagación temporal del error de codificación alrededor de los transitorios.
[0004] Además, al igual que xHE-AAC, Low Delay AAC permite la utilización de dos anchos de superposición de trama - la superposición por defecto del 50 % para la entrada estacionaria, o una superposición reducida (similar a la superposición corta de las transformadas de transiciones) para las señales no estacionarias. La superposición reducida limita eficazmente la extensión de tiempo de una transformada y, por lo tanto, su error de codificación en el caso de cuantización de los coeficientes.
[0005] La patente US 2008/0140428A1 cedida a Samsung Electronics Co., así como las patentes US 5502789 y 5819214 cedidas a Sony Corp., describen unidades de determinación del tamaño de transformada o del tamaño de ventana adaptable a la señal. Sin embargo, las unidades de transformador controladas por dichas unidades de determinación del tamaño de transformador o dicha ventana operan en valores de subbandas QMF o LOT (lo que implica que los sistemas descritos emplean tanto bancos de filtros en cascada como transformadas) en contraposición a trabajar directamente con la señal de entrada en el dominio del tiempo de la banda completa, como en el presente caso. Además, en 2008/0140428A 1 no se describen detalles sobre la forma o control de la superposición de la ventana, y en 5819214 vienen las formas de superposición, es decir, son el resultado de la salida de la unidad de determinación del tamaño de transformada, lo cual es lo contrario a lo que propone la realización preferida de la presente invención.
[0006] La patente US 2010/0076754A 1 cedida a France Telecom sigue la misma motivación que la presente invención, concretamente, ser capaz de realizar conmutación de la longitud de transformada en escenarios de codificación de comunicación para mejorar la codificación de segmentos de señal transitorios y hacerlo sin un codificador extra de anticipación. Sin embargo, mientras que dicho documento revela que el objetivo de bajo retardo se logra evitando ventanas de transición de una longitud de transformada y posprocesando la señal reconstruida en el descodificador (desventajosamente mediante amplificación de partes de la señal descodificada y, por lo tanto, el error de codificación), la presente invención propone una modificación sencilla de la ventana de transición de un sistema de la técnica anterior que se introducirá a continuación, de manera que se puede minimizar la anticipación
adicional del codificador y se puede evitar el posprocesamiento especial del descodificador (arriesgado).
[0007] La transformada de transición a la que se ha de aplicar una modificación inventiva es la ventana de inicio descrita en dos variantes de la patente US 5848391 cedida a Fraunhofer-Gesellschaft eV y Dolby Laboratories Licensing Corp. así como, de forma ligeramente diferente, en la patente US 2006/0122825A 1 cedida a Samsung Electronics Co. La figura 16 muestra estas ventanas de inicio y revela que la diferencia entre las ventanas de Fraunhofer/Dolby y Samsung es la presencia de un segmento que no se superpone, es decir, una zona de la ventana que tiene un valor máximo constante que no pertenece a ninguna pendiente de superposición. Las ventanas de Fraunhofer/Dolby presentan una “parte no superpuesta que tiene una longitud”, las ventanas de Samsung no. Se puede concluir que un codificador con la menor cantidad de anticipación adicional, pero utilizando la conmutación de transformada de la técnica anterior puede realizarse empleando la estrategia de ventana de transición de Samsung. Con dichas transformadas, una anticipación igual al ancho de superposición entre las transformadas cortas es suficiente para conmutar completamente de transformadas largas a cortas antes de una señal transitoria.
[0008] Información adicional sobre la técnica anterior puede encontrarse en los documentos WO 90/09063 o “Coding of audio signals with overlap block transform and adaptive window functions”, Frequenz, Band 43, setiembre de 1989, páginas 2052 a 2056, o bien en AES Convention Paper 4929, “MPEG-4 Low Delay Audio Coding based on the AAC Codec”, E. Allamanche, et al., 106 Convention, 1999, o en el documento WO-2008/022566.
[0009] Sin embargo, en función de la longitud de la transformada corta, la anticipación puede permanecer bastante grande y no debe evitarse. La figura 17 ilustra el resultado de la conmutación de bloques durante la situación de entrada en el peor de los casos, es decir, la presencia de un transitorio repentino al inicio de la zona de anticipación, que a su vez comienza al final de la pendiente larga, es decir, en la zona de superposición en las tramas. Según las estrategias de la técnica anterior, al menos uno de los dos transitorios representados alcanza la transformada de transición. En un sistema de codificación con pérdida que utiliza un codificador sin anticipación adicional - un codificador que no “ve el transitorio que viene” - esta condición provoca la propagación temporal del error de codificación hasta el comienzo de la pendiente larga e incluso cuando se utiliza TNS, es probable que un ruido de pre eco sea audible en la señal descodificada.
[0010] Las dos soluciones de anticipación antes mencionadas tienen sus desventajas. La reducción de la superposición de las transformadas largas por un factor de hasta 8, por un lado, como se hace en el codificador Celt, limita severamente la eficacia (es decir, la ganancia de codificación, la compactación espectral) sobre el material de entrada estacionario, especialmente altamente tonal. Por otro lado, la prohibición de las transformadas cortas como en el Low Delay AAC (Enhanced) reduce el resultado de los códecs en transitorios fuertes con duraciones mucho menores que la longitud de trama, lo que a menudo conduce a ruido de pre-eco o posteco audible, incluso cuando se utiliza TNS.
[0011] Por lo tanto, los procedimientos de determinación de secuencia de ventanas de la técnica anterior son subóptimos con respecto a flexibilidad debido a las longitudes de ventana restringidas, son subóptimos con respecto al retardo requerido debido a los períodos de anticipación transitorios mínimos requeridos, son subóptimos con respecto a la calidad de audio debido a pre-ecos o postecos, son subóptimos con respecto a la eficacia debido al preprocesamiento adicional potencialmente necesario que utiliza funcionalidades adicionales aparte de los procedimientos de segmentación en ventanas con determinadas ventanas, o son subóptimos con respecto a la flexibilidad y eficacia debido a la necesidad potencial de cambiar un ráster de tramas/bloques en presencia de un transitorio.
[0012] Un objetivo de la presente invención es proporcionar un concepto mejorado de codificación/descodificación de audio que proporcione un resultado mejorado con respecto a, al menos uno, de los inconvenientes de la técnica anterior.
[0013] Este objetivo se consigue mediante un aparato para codificar una señal de audio de la reivindicación 1, un aparato para descodificar una señal de audio de la reivindicación 17, un procedimiento para codificar una señal de audio de la reivindicación 32, un procedimiento de descodificación de una señal de audio de la reivindicación 33 o un programa informático de la reivindicación 34.
[0014] Los aspectos de la presente invención se basan en el hallazgo de que, para que un códec de audio o imagen de bajo retardo sea capaz de aproximarse a la calidad de codificación de códecs de propósito general, es útil mantener un alto porcentaje de superposición entre las transformadas largas durante las entradas de señal estacionaria y permitir la conmutación instantánea a superposiciones y transformadas más cortas en partes de señal
de audio o imagen que rodean a señales no estacionarias. Además, es deseable permitir una flexibilidad algo mayor que ofrecer solo una elección binaria con respecto al ancho de superposición y, adicionalmente o alternativamente con respecto a las longitudes de las transformadas, de manera que el ancho de superposición o las longitudes de la(s) transformada(s) dentro de una trama se puedan adaptar con precisión en base a la ubicación de un posible transitorio dentro de la zona temporal de la trama con el fin de minimizar pre-ecos u otros artefactos.
[0015] Específicamente, un detector de ubicación de transitorio está configurado para identificar la ubicación de un transitorio dentro de una zona de anticipación de transitorios de una trama y, en base a la ubicación del transitorio dentro de la trama, se selecciona una ventana específica entre un grupo de al menos tres ventanas, donde estas tres ventanas son diferentes con respecto a sus longitudes de superposición con las ventanas adyacentes correspondientes. De este modo, la primera ventana tiene una longitud de superposición mayor que la segunda ventana y la segunda ventana tiene una longitud de superposición mayor que la longitud de superposición de la tercera ventana y la tercera ventana puede, de forma alternativa, tener también una superposición cero, es decir, no superposición. La ventana específica se selecciona en base a la ubicación de transitorios de manera que una de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la primera ventana en la ubicación del transitorio y la otra de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de segunda ventana en la ubicación del transitorio, en el que los segundos coeficientes son al menos nueve veces mayores que los primeros coeficientes. De este modo, se asegura que la ubicación de transitorios sea, con respecto a la primera ventana, suficientemente suprimida y que el transitorio sea, con respecto a la segunda ventana, suficientemente capturado. En otras palabras y, preferentemente, la ventana anterior ya está en valores cercanos a cero en la ubicación de transitorios donde se ha detectado el transitorio y la segunda ventana tiene coeficientes de ventana cercanos o iguales a uno en esta zona de modo que, durante al menos una parte del transitorio, el transitorio se suprime en la ventana anterior y no se suprime en la ventana posterior o siguiente.
[0016] En una implementación, las longitudes de superposición son diferentes por factores enteros, de manera que la segunda longitud de superposición es, por ejemplo, igual a la mitad de la tercera longitud de superposición y la tercera longitud de superposición es igual a la mitad de la segunda longitud de superposición, o es diferente de la segunda longitud de superposición por un factor diferente pero es mayor o igual a, al menos 64 muestras, o es mayor o igual a, al menos 32, muestras o es mayor o igual a, al menos incluso, 16 muestras de audio o imagen.
[0017] La selección de ventana obtenida a partir de la ubicación de transitorios se transmite junto con las tramas de la señal de audio o imagen de manera que un descodificador pueda seleccionar las ventanas de síntesis correspondientes en línea con la selección de codificador de las ventanas de análisis, asegurándose de que el codificador y el descodificador están sincronizados durante toda la operación de codificación/ descodificación.
[0018] En una implementación, un dispositivo de segmentación en ventanas controlable, un convertidor, un detector de ubicación de transitorios y un controlador forman un aparato para codificar y el convertidor aplica cualquiera de las transformadas de introducción de aliasing conocidas tales como una MDCT (transformada discreta del coseno modificada), un DST (transformada discreta del seno modificada), o cualquier otra transformadas similar. En el lado del descodificador, un procesador coopera con un convertidor controlable para convertir una secuencia de bloques de valores espectrales en una representación en el dominio del tiempo utilizando un procesamiento de suma de superposición según secuencias de ventanas indicadas por la información de una ventana recibida en el descodificador.
[0019] En función de la implementación, se puede implementar una conmutación de longitud de una transformada además de la selección de superposición de la transformada, de nuevo en base a la ubicación de transitorios dentro de la trama. Mediante la implementación de una sección de superposición múltiple en la que al menos tres ventanas se superponen entre sí, se logra un concepto de códec de retardo muy bajo que, de nuevo, reduce sustancialmente el retardo de anticipación de transitorios requerido con respecto a conceptos anteriores. En una implementación adicional, se prefiere realizar en primer lugar una selección de superposición y, posteriormente, adoptar una decisión de longitud de transformada para determinar un código de superposición para cada trama. De forma alternativa, la decisión de conmutación de longitud de transformada puede hacerse independientemente de la decisión de ancho de superposición y, sobre la base de estas dos decisiones, se determina un código de superposición. Basándose en el código de superposición de una trama actual y el código de superposición de una trama anterior, se realiza una selección de secuencia de ventanas para un transitorio específico, en base a la cual un codificador, así como un descodificador, funcionan sincronizados entre sí.
[0020] En un aspecto adicional, un controlador de secuencia de ventanas, un preprocesador y un convertidor espectral conjuntamente constituyen un aparato para generar una señal codificada, en la que tres ventanas tienen una
parte de superposición múltiple. Esta parte de superposición múltiple en la que no solo dos ventanas, como en la técnica anterior, sino tres ventanas se superponen entre sí, permite un concepto de retardo muy bajo por el hecho de que el retardo requerido debido a la anticipación transitoria se reduce aún más. Un descodificador correspondiente está formado por un procesador descodificador, un convertidor de tiempo y un posprocesador. El posprocesador y el preprocesador realizan operaciones adicionales de segmentación en ventanas utilizando una misma ventana auxiliar en el lado del codificador y en el lado del descodificador, de modo que se puede obtener una implementación eficaz particularmente en dispositivos móviles o dispositivos de bajo coste en los que se requiere el almacenamiento en una ROM o RAM lo más pequeño posible.
[0021] Las realizaciones preferidas se basan en una secuencia de ventanas específica y una interacción específica de ventanas que tienen diferentes longitudes, de manera que una ventana de longitud corta se “coloca” en el transitorio con el fin de evitar pre-ecos o postecos largos. Para asegurarse de que la parte de superposición múltiple no da lugar a artefactos de audio o imagen, el preprocesador en el lado del codificador realiza una operación de segmentación en ventanas utilizando la función ventana auxiliar y una operación de preprocesamiento utilizando una operación de plegamiento para obtener una superposición múltiple modificada que, a continuación, se transforma en el dominio espectral utilizando una transformada de introducción de aliasing. En el lado del descodificador, se configura un posprocesador correspondiente para realizar una operación de despliegue posterior a las transformadas correspondientes en la representación temporal y, después de la operación de despliegue, una operación de segmentación en ventanas utilizando la función ventana auxiliar y una función que añade una superposición final con un bloque anterior de muestras originadas por una operación basada en ventanas con una ventana larga.
[0022] En una realización en la que se lleva a cabo una selección de superposición de transformadas, se obtiene una calidad de audio o imagen aumentada.
[0023] A diferencia de los sistemas de codificación existentes, que emplean solo una selección binaria de ancho de superposición de transformadas (grande/máximo o pequeño), la realización propone un conjunto de tres anchos de superposición a partir de los cuales un codificador puede elegir una base por trama (u opcionalmente, por transformada): superposición máxima, superposición media o superposición mínima. La superposición máxima podría ser igual a la longitud de la trama como para las transformadas largas en AAC, es decir, el 50 % de superposición, pero también podría equivaler a la mitad de la longitud de la trama, es decir, el 33 % de superposición o menos, como se describirá en una realización preferida. En consecuencia, la superposición mínima podría indicar un ancho de superposición de cero, es decir, sin superposición, pero también podría representar una superposición superior a cero de un número muy pequeño de muestras de tiempo o milisegundos, como demostrará dicha realización preferida. Finalmente, la superposición media podría ser, pero no necesariamente tiene que ser, la mitad de la superposición máxima.
[0024] En particular, según un aspecto de la presente invención, se define una unidad de determinación de ancho de superposición que selecciona para cada trama (u, opcionalmente, para cada transformadas dentro de una trama) una de los tres anchos de superposición posibles. Más precisamente, dicha unidad de determinación de ancho de superposición tiene como entrada la salida de una unidad de detección de transitorios para identificar con suficiente precisión la posición de un transitorio dentro de la trama actual (u, opcionalmente, dentro de una transformada en la trama actual) y obtener un ancho de superposición de manera que se consigan al menos uno de los dos objetivos: - El ancho se elige de manera que solo una de las transformadas superpuestas contiene el transitorio.
- Se suprimen en gran medida los pseudotransitorios debido al modelado TNS del error de codificación con aliasing en el tiempo.
[0025] En otras palabras, el ancho de superposición se determina con el objetivo de impedir la distorsión del pre-eco o posteco alrededor de un transitorio codificado perceptualmente situado en la trama dada. Debe observarse que es posible un cierto grado de libertad con respecto a los medios para determinar la ubicación exacta del transitorio. El tiempo o índice de subbloque que designa una ubicación de transitorios podría ser igual al inicio (comienzo) de esa ubicación de transitorio, como en una realización preferida, pero también podría ser la ubicación de la energía o amplitud máxima, o el centro de energía, del transitorio.
[0026] Además, a diferencia de los esquemas de codificación de la técnica anterior que obtienen las superposiciones entre-transformadas instantáneas a partir de la selección dada de longitudes de transformada para un par de tramas (es decir, el ancho de superposición viene a continuación de la salida de una unidad de determinación del tamaño de transformada), según otro aspecto de la presente invención un sistema de codificación puede, en determinadas condiciones que se examinarán a continuación en una realización preferida, controlar u obtener la
longitud o longitudes de las transformadas que se utilizarán para una trama particular utilizando el ancho de superposición atribuida a esa trama y, opcionalmente, el ancho de superposición de la trama anterior (es decir, el tamaño de la transformada va detrás de los datos de la unidad de determinación del ancho de superposición).
[0027] En una realización adicional en la que se utiliza una parte de superposición múltiple o se aplica una conmutación de longitud de transformada, se obtiene un concepto de retardo particularmente bajo.
[0028] Una mejora de los esquemas de conmutación de bloques de la técnica anterior es una modificación ventajosa de las transformadas transitorias de la figura 16, que permite que la anticipación adicional del codificador necesaria para un funcionamiento con calidad estable durante las señales no estacionarias se reduzca a la mitad. Como se ha expuesto anteriormente, las ventanas de inicio propuestas por Fraunhofer/ Dolby o por Samsung se caracterizan por la presencia o ausencia, respectivamente, de una “parte no superpuesta que tiene una longitud”. La realización va incluso más allá y permite que las pendientes de superposición izquierda y derecha de la ventana de transición se extiendan entre sí. En otras palabras, la transformada de transición modificada presenta una zona de “doble superposición” de longitud no cero en la que se superpone tanto con la transformada larga de la trama anterior como con la siguiente transformada corta. La forma resultante de la transformada de transición de la invención se ilustra en la figura 13. En comparación con la ventana de transición de Samsung que se muestra en la figura 17, está claro que al permitir una zona de “superposición doble” en la transformada, la pendiente de superposición corta en el extremo derecho de la transformada puede desplazarse a la izquierda por (y por lo tanto la anticipación necesaria del codificador se puede reducir por) la mitad del ancho de superposición de la transformada corta. La longitud reducida de dicha ventana de transición modificada presenta tres ventajas cruciales que facilitan la implementación, especialmente en dispositivos móviles:
El kernel de la transformada, es decir, la longitud del vector de coeficientes resultante de la transformada superpuesta en tiempo/frecuencia (preferentemente MDCT), es exactamente la mitad del ancho de la zona de superposición entre dos transformadas largas. Dado el hecho de que dicho ancho de superposición largo generalmente es igual a la longitud de la trama o la mitad de la longitud de la trama, esto implica que la ventana de transición de la invención y las ventanas cortas subsiguientes encajan perfectamente en la matriz de la trama y que todos los tamaños de transformadas del códec resultante están relacionados con un factor de potencia de dos enteros, como se ve en la figura 13.
- Ambas ubicaciones de transitorios representadas en la figura 17 y de nuevo en la figura 13 se encuentran fuera de la transformada de transición, por lo que una dispersión temporal del error de codificación debido a los transitorios puede restringirse dentro de la extensión de las dos primeras ventanas cortas después de la transformada. Por lo tanto, contrariamente a los esquemas Fraunhofer/Dolby y Samsung de la técnica anterior, es improbable que se produzca ruido pre-eco audible alrededor de los transitorios cuando se usa la estrategia de conmutación de bloques de la invención de la figura 13.
- Tanto el codificador como el descodificador pueden utilizar las mismas ventanas para las transformadas directa e inversa. En un dispositivo de comunicación que realiza tanto codificación como descodificación, solo se necesita almacenar un conjunto de datos de ventana en la ROM. Además, también se puede evitar un preprocesamiento o posprocesamiento especial de la señal, que requeriría un programa ROM y/o RAM adicional.
[0029] Tradicionalmente, las ventanas de transición con un segmento de “superposición doble” como en la presente invención no se han utilizado en la codificación de voz o audio o imagen, lo más probablemente porque se pensaba que violaban ciertos principios que aseguran una reconstrucción de forma de onda perfecta en ausencia de cuantización de los coeficientes de las transformadas. Sin embargo, es posible reconstruir exactamente la entrada cuando se utiliza la transformada de transición de la invención y, además, no se requiere posprocesamiento especial en el lado del descodificador como en la propuesta de France Telecom.
[0030] Como nota adicional, vale la pena enfatizar que la utilización de dicha ventana de transición de la invención se puede controlar por medio de la unidad de determinación del ancho de superposición de la invención en lugar de, o además de, una unidad de determinación de la longitud de la transformada.
[0031] Posteriormente, se analizan e ilustran con más detalle las realizaciones preferidas de la presente invención. Además, se hace referencia particular a las reivindicaciones dependientes en las que se definen otras realizaciones.
[0032] Además, la memoria descriptiva ilustra concretamente un aspecto relacionado con la conmutación de superposición adaptable a la ubicación de transitorios, particularmente con respecto a las figs. 1a a 7. Un aspecto adicional relacionado con la parte de superposición múltiple se ilustra y se describe con respecto a las figs. 8a a 15f. Estos aspectos individuales se pueden implementar independientemente unos de otros, es decir, la conmutación de
superposición se puede aplicar sin una zona de superposición múltiple, o bien la zona de superposición múltiple puede aplicarse sin conmutación de superposición adaptable a la ubicación de transitorios. Sin embargo, en una implementación, ambos aspectos se pueden combinar ventajosamente dando como resultado un concepto de codificación/descodificación que tiene una conmutación de superposición adaptable a la ubicación de transitorios y una zona de superposición múltiple. Dicho concepto puede ser adicionalmente mejorado por un procedimiento de conmutación de longitud de transformada, que de nuevo depende de una ubicación de transitorios en una zona de anticipación de transitorios de una trama. La conmutación de longitud de transformada puede realizarse en función de la determinación del ancho de superposición o independiente de la conmutación de superposición.
[0033] A pesar de no ser parte de la invención como se define por las reivindicaciones adjuntas, la presente invención no solo es útil para señales de audio, sino que también es útil para señales de vídeo, fotos o, generalmente, señales de imagen. Por ejemplo, en la codificación de imágenes fijas, o las llamadas tramas I en AVC, o tecnologías más o menos avanzadas, la presente invención puede aplicarse para evitar artefactos de bloqueo. Un transitorio en el campo de imagen sería un borde afilado y una trama correspondería, por ejemplo, a un macrobloque. Preferentemente, la imagen se codifica bidimensionalmente utilizando una transformada de introducción de aliasing y la superposición espacial correspondiente. Esto reduce los artefactos de bloqueo, por un lado, y reduce cualquier otro artefacto causado por partes transitorias, es decir, partes con bordes afilados, por otro lado.
[0034] A continuación, se describen realizaciones y aspectos con respecto a los dibujos adjuntos en los que:
la fig. 1a ilustra un aparato para codificar en el contexto de un aspecto de conmutación de superposición;
la fig. 1b ilustra un aparato para descodificar el aspecto de la conmutación de superposición;
la fig. 2a ilustra una secuencia de ventanas con superposición total entre ventanas adyacentes;
la fig. 2b ilustra una secuencia de ventanas con superposición media entre dos ventanas adyacentes;
la fig. 2c ilustra una secuencia de ventanas con un cuarto de superposición entre ventanas adyacentes y una superposición media entre ventanas adyacentes y una superposición total posterior entre ventanas adyacentes; las figs. 3a y 3c e ilustran diferentes anchos de superposición en diferentes ubicaciones de transitorios para una realización con una longitud de transformada de 20 ms tal como en TCX 20;
las figs. 4a a 4g ilustran una selección de longitudes de superposición de transformadas para una longitud de transformadas de 10 ms tal como TCX 10 en función de una ubicación de transitorios;
las figs. 5a a 5c ilustran una codificación de un ancho de superposición;
la fig. 6a ilustra una codificación del ancho de superposición y la longitud de la transformada en base a la ubicación de transitorios;
la fig. 6b ilustra una tabla de decisiones de longitud de transformadas;
la fig. 7 ilustra diferentes secuencias de ventanas dependientes de los códigos de superposición anteriores y actuales; la fig. 8a ilustra un codificador en el contexto de una parte de superposición múltiple en una realización de la presente invención;
la fig. 8d ilustra un descodificador para el aspecto de la parte de superposición múltiple en una realización de la presente invención;
la fig. 9a ilustra un procedimiento según una realización preferida que ilustra el lado del codificador;
la fig. 9b ilustra un diagrama de flujo de un procedimiento preferido realizado en el lado del codificador;
la fig. 10a ilustra una realización de un procedimiento en el lado del descodificador;
la fig. 10b ilustra una realización adicional de un procedimiento realizado en el lado del descodificador;
la fig. 11a ilustra operaciones realizadas en el lado del codificador de una realización;
la fig. 11 b ilustra operaciones realizadas por un descodificador en una realización de la presente invención;
las figs. 12a y 12b ilustran una realización adicional de procedimientos a realizar en el lado del codificador/descodificador en el contexto del aspecto de superposición múltiple de la invención;
la fig. 13 ilustra diferentes secuencias de ventanas que tienen ambas una parte de superposición múltiple;
la fig. 14a ilustra una secuencia de ventanas que tiene una longitud de transformada conmutada en función de la ubicación de transitorios;
la fig. 14b ilustra una secuencia de ventanas adicional que tiene una parte de superposición múltiple;
las figs. 15a a 15f ilustran diferentes secuencias de ventanas y las partes de anticipación correspondientes y pre-ecos; la fig. 16 ilustra formas de ventanas de la técnica anterior; y
la fig. 17 ilustra las secuencias de ventanas de la técnica anterior formadas por las formas de ventana de la fig. 16.
[0035] La fig. 1a ilustra un aparato para codificar una señal de audio 100. El aparato para codificar una señal de audio comprende un dispositivo de segmentación en ventanas controlable 102 para segmentar en ventanas la señal de audio 100 y proporcionar una secuencia de bloques de muestras segmentadas en ventanas en 103. El descodificador comprende además un convertidor 104 que convertir la secuencia de bloques de las muestras
segmentadas en ventanas 103 en una representación espectral que comprende una secuencia de tramas de valores espectrales indicados en 105. Además, se proporciona un detector de ubicación de transitorios 106. El detector está configurado para identificar la ubicación de un transitorio en una zona de anticipación de transitorios dentro de una trama. Además, un controlador 108 que controla el dispositivo de segmentación en ventanas controlable está configurado para aplicar una ventana específica que tiene una longitud de superposición especificada a la señal de audio 100 en respuesta a una ubicación identificada del transitorio que se ilustra en 107. Además, el controlador 108 está configurado, en una realización, para proporcionar información de ventana 112 no solo al dispositivo de ventanas controlable 102, sino también a una interfaz de salida 114 que proporciona, en su salida, la señal de audio codificada 115. La representación espectral que comprende la secuencia de tramas de valores espectrales 105 se introduce en un procesador de codificación 110, que puede realizar cualquier tipo de operación de codificación tal como una operación de predicción, una operación de modelado de ruido temporal, una operación de cuantización preferentemente con respecto a un modelo psicoacústico o, al menos con respecto a principios psicoacústicos, o puede comprender una operación de codificación de reducción de redundancia tal como una operación de codificación Huffman o una operación de codificación aritmética. La salida del procesador de codificación 110 se envía, a continuación, a la interfaz de salida 114 y la interfaz de salida 114 proporciona finalmente la señal de audio codificada que tiene asociada, a cada trama codificada, una determinada información de ventana 112.
[0036] El controlador 108 está configurado para seleccionar la ventana específica a partir de un grupo de al menos tres ventanas. El grupo comprende una primera ventana que tiene una primera longitud de superposición, una segunda ventana que tiene una segunda longitud de superposición y una tercera ventana que tiene una tercera longitud de superposición o ninguna superposición. La primera longitud de superposición es mayor que la segunda longitud de superposición y la segunda longitud de superposición es mayor que una superposición cero. La ventana específica se selecciona con el dispositivo de segmentación en ventanas controlable 102 en base a la ubicación de transitorios de manera que una de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la primera ventana en la ubicación del transitorio y la otra de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de segunda ventana en la ubicación del transitorio y los segundos coeficientes son al menos nueve veces mayores que los primeros coeficientes. Esto asegura que el transitorio es sustancialmente suprimido por la primera ventana que tiene los primeros coeficientes (pequeños) y el transitorio no es demasiado afectado por la segunda ventana que tiene los coeficientes de la segunda ventana.
Preferentemente, los coeficientes de la primera ventana son iguales a 1 dentro de una tolerancia de más/menos 5 %, tal como entre 0,95 y 1,05, y los segundos coeficientes de la ventana son, preferentemente, iguales a 0 o al menos menores que 0,05. Los coeficientes de ventana también pueden ser negativos y, en este caso, las relaciones y las cantidades de los coeficientes de ventana están relacionadas con la magnitud absoluta.
[0037] La fig. 2a ilustra una secuencia de ventanas con primeras ventanas solamente y las primeras ventanas tienen la primera longitud de superposición.
Particularmente, la última trama tiene asociada una primera ventana 200, la trama actual tiene una ventana asociada 202 y la tercera o siguiente trama tiene asociada una ventana 204. En esta realización, las ventanas adyacentes se superponen en un 50 %, es decir, una longitud total. Además, las tramas se colocan con respecto a las ventanas con el fin de identificar qué parte de la señal de audio es procesada por una trama. Esto se explica haciendo referencia a la trama actual La trama actual tiene una parte izquierda 205a y una parte derecha 205b. Correspondientemente, la última trama tiene una parte derecha 204b y una parte izquierda 204a. De forma análoga, la trama siguiente tiene una parte izquierda 206a y una parte derecha 206b. Izquierda/derecha se refiere a antes en el tiempo y después en el tiempo, como se ilustra en la fig. 2a. Cuando se genera la trama actual de valores espectrales, se utilizan las muestras de audio obtenidas con la segmentación en ventanas con la ventana 202. Las muestras de audio provienen de las partes 204b a 206a.
[0038] Como se conoce en la técnica del procesamiento MDCT, en general, el procesamiento que utiliza una transformada de introducción de aliasing, esta transformada de introducción de aliasing se puede separar en una etapa de plegamiento y una etapa de transformada subsiguiente que utiliza una determinada transformada de introducción de no aliasing. En la fig. 2a, por ejemplo, la sección 204b se pliega dentro de la sección 205a y la sección 206a se pliega dentro de la sección 205b. El resultado de la operación de plegamiento, es decir, la combinación ponderada de 205a, 204b, por un lado, y 206a y 205b, se transforman a continuación en el dominio espectral utilizando una transformada tal como una transformada DCT. En el caso de una MDCT, se aplica una transformada DCT IV.
[0039] Posteriormente, esto se ejemplifica con referencia a la MDCT, pero pueden procesarse otras transformadas de introducción de aliasing de una manera análoga y similar. Como una transformada superpuesta, la MDCT es un poco inusual en comparación con otras transformadas relacionadas con Fourier, ya que tiene la mitad de
salidas que entradas (en lugar del mismo número). En particular, es una función lineal F: R2N -> RN (donde R indica el conjunto de números reales). Los 2N números reales x0, ..., x2N-1 se transforman en los N números reales X0, ..., XN-1 según la fórmula:
(El coeficiente de normalización frente a esta transformada, aquí la unidad, es una convención arbitraria y difiere entre los tratamientos. Solo el producto de las normalizaciones de la MDCT y la IMDCT, a continuación, está restringido). Transformada inversa
[0040] La MDCT inversa se conoce como la IMDCT. Debido a que hay diferentes números de entradas y salidas, a primera vista puede parecer que la MDCT no debe ser invertible. Sin embargo, la invertibilidad perfecta se logra añadiendo las IMDCT superpuestas de los bloques de superposición adyacentes en el tiempo, haciendo que los errores se anulen y se recuperen los datos originales; esta técnica se conoce como Cancelación de Aliasing en el Dominio del Tiempo (TDAC).
[0041] La IMDC transforma N números reales X0, ..., XN-1 en 2N números reales y0, ..., y2N-1 según la fórmula:
(Al igual que para la DCT-IV, una transformada ortogonal, la inversa tiene la misma forma que la transformada directa.) [0042] En el caso de una MDCT segmentada en ventanas con la normalización habitual de ventanas (véase más adelante), el coeficiente de normalización frente a la IMDCT debe multiplicarse por 2 (es decir, convertirse en 2/N).
[0043] En aplicaciones típicas de compresión de señal, las propiedades de las transformadas se mejoran adicionalmente utilizando una función ventana wn (n = 0, ..., 2N-1) que se multiplica con xn e yn en las fórmulas MDCT y IMDCT, arriba, con el fin de evitar discontinuidades en los límites n = 0 y 2n , haciendo que la función transcurra suavemente a cero en esos puntos. (Esto es, segmentamos en ventanas los datos antes de la MDCT y después de la IMDCT). En principio, x e y podrían tener diferentes funciones ventana, y la función ventana también podría cambiar de un bloque al siguiente (especialmente para el caso en el que se combinan bloques de datos de diferentes tamaños), pero por simplicidad consideramos el caso común de funciones ventana idénticas para bloques del mismo tamaño.
[0044] La transformada permanece invertible (es decir, funciona la TDAC), para una ventana simétrica wn = w2N-1-n, siempre que w satisfaga la condición de Princen-Bradley:
se utilizan varias funciones ventana. Una ventana que produce una forma conocida como transformada superpuesta modulada [3] [4] se da con
y se utiliza para MP3 y MPEG-2 AAC, y
para Vorbis. AC-3 utiliza una ventana obtenida a partir de Kaiser-Bessel (KBD), y MPEG-4 AAC también puede usar una ventana KBD.
[0045] Tenga en cuenta que las ventanas aplicadas a la MDCT son diferentes de las ventanas utilizadas para algunos otros tipos de análisis de señales, ya que deben cumplir la condición Princen-Bradley. Una de las razones de esta diferencia es que las ventanas MDCT se aplican dos veces, tanto para la MDCT (análisis) como para la IMDCT (síntesis).
[0046] Como puede verse mediante la inspección de las definiciones, para N par, la MDCT es esencialmente equivalente a una DCT-IV, donde la entrada se desplaza según N/2 y dos N-bloques de datos se transforman a la vez. Examinando esta equivalencia más cuidadosamente, se pueden obtener fácilmente propiedades importantes como la TDAC.
[0047] Para definir la relación exacta con la DCT-IV, debe tener en cuenta de que la DCT-IV corresponde a condiciones limítrofes par/impar alternantes: par en el límite izquierdo (alrededor de n=-1/2), impar en el límite derecho (alrededor de n=N-1/2) y así sucesivamente (en lugar de límites periódicos como para una DFT). Esto se deduce de las identidades y. De este modo, si las entradas
y
[0048] Por lo tanto, si las entradas son una matriz x de longitud N, podemos imaginar extendiendo esta matriz a (x, -xR, -x, xR, ...) y así sucesivamente, donde xR indica x en orden inverso.
[0049] Consideremos una MDCT con 2N entradas y N salidas, donde dividimos las entradas en cuatro bloques (a, b, c, d) de tamaño N/2. Si desplazamos estos N/2 a la derecha (a partir del término N/2 en la definición MDCT), entonces (b, c, d) se extienden más allá del final de las N entradas DCT-IV, por lo que debemos “plegarlos” según las condiciones limítrofes descritas anteriormente.
[0050] Por lo tanto, la MDCT de 2N entradas (a, b, c, d) es exactamente equivalente a una DCT-IV de las N entradas: (-cR-d, a-bR), donde R indica inversión igual que arriba.
[0051] Esto se ejemplifica para la función basada en ventana 202 en la fig. 2a; a es la parte 204b, b es la parte 205a, c es la parte 205b y d es la parte 206a.
[0052] (De esta manera, cualquier algoritmo para calcular la DCT-IV puede aplicarse trivialmente a la MDCT). De forma similar, la fórmula de la IMDCT anterior es precisamente 1/2 de la DCT-IV (que es su propia inversa), donde la salida se extiende (a través de las condiciones limítrofes) a una longitud 2N y se desplaza hacia atrás N/2 a la izquierda. La DCT-IV inversa simplemente devolvería las entradas (-cR-d, a-bR) de arriba. Cuando esto se extiende a través de las condiciones limítrofes y se desplaza, se obtiene:
IM D C T (M D C T (a , b, c, d )) = (a -b R , b -a R , c+ d R , d c R ) / 2.
[0053] De este modo, la mitad de las salidas de IMDCT son redundantes, como b-aR = -(a-bR) R, y también para los dos últimos términos. Si agrupamos la entrada en bloques mayores A, B de tamaño N, donde A= (a, b) y B = (c, d), podemos escribir este resultado de una manera más simple:
IM D C T (M D C T (A , B )) = ( A - A R , B B R ) / 2
[0054] Ahora se puede entender cómo funciona la TDAC. Supongamos que se calcula la MDCT del bloque 2N (B, C), adyacente en el tiempo y superpuesto un 50 %. La IMDCT producirá entonces, de forma análoga al anterior: (B-BR, C+CR)/2. Cuando esto se agrega con el anterior resultado de la IMDCT en la superposición media, los términos invertidos se cancelan y se obtiene simplemente B, recuperando los datos originales.
[0055] El origen del término “cancelación de aliasing en el dominio del tiempo” ahora está claro. La utilización de datos de entrada que se extienden más allá de los límites de la DCT-IV lógica hace que los datos sean aliasados de la misma manera que las frecuencias más allá de la frecuencia de Nyquist son alias con las frecuencias más bajas, excepto que este aliasing ocurre en el dominio del tiempo en lugar del dominio de la frecuencia: no podemos distinguir las contribuciones de a y bR a la MDCT de (a, b, c, d) o, de manera equivalente, al resultado de la IMDCT (MDCT (a, b, c, d)) = (a -bR, b-aR, c+dR, d+cR)/2. Las combinaciones c-dR, y así sucesivamente, tienen precisamente los signos correctos para que las combinaciones se cancelen cuando se añaden.
[0056] Para el N impar (que rara vez se usa en la práctica), N/2 no es un entero por lo que la MDCT no es simplemente una permutación de cambio de una DCT-IV. En este caso, el desplazamiento adicional de la mitad de una muestra significa que la MDCT/IMDCT se convierte en equivalente a la DCT-III/II y el análisis es análogo al anterior.
[0057] Hemos visto anteriormente que la MDCT de 2N entradas (a, b, c, d) es equivalente a una DCT-IV de las N entradas (-cR-d, a-bR). La DCT-IV está diseñada para el caso en que la función en el límite derecho es impar y, por lo tanto, los valores cerca del límite derecho son cercanos a 0. Si la señal de entrada es lisa, este es el caso: los componentes más a la derecha de a y bR son consecutivos en la secuencia de entrada (a, b, c, d), y por lo tanto su diferencia es pequeña. Veamos la mitad del intervalo: si reescribimos la expresión anterior como (-cR-d, a-bR) = (-d, a) -(b, c) R, el segundo término, (b, c) R, forma una transición suave en el medio. Sin embargo, en el primer término, (-d, a), hay una discontinuidad potencial donde el extremo derecho de -d se encuentra con el extremo izquierdo de a. Esta es la razón para usar una función ventana que reduce los componentes cercanos a los límites de la secuencia de entrada (a, b, c, d) hacia 0.
[0058] Por encima, se probó la propiedad TDAC para la MDCT ordinaria, mostrando que la adición de IMDCT de bloques adyacentes en el tiempo en su superposición media recupera los datos originales. El razonamiento de esta propiedad inversa para la ventana MDCT es solo un poco más complicado.
[0059] Considere la superposición de conjuntos consecutivos de 2N entradas (A, B) y (B, C), para los bloques A, B, C de tamaño N. Recuerde desde arriba que cuando se realiza la MDCT y la IMDCT de (A, B) y (b C) y se añaden en su superposición media, obtenemos (B + B r ) I 2 + (B - B r ) I 2 = B, los datos originales. Ahora supongamos que multiplicamos tanto las entradas MDCT como las salidas IMDCT por una función basada en ventana de longitud 2n . Igual que antes, asumimos una función basada en ventana simétrica, que es por lo tanto de la forma (W, W r ) donde W es un vector de longitud N y R indica inversión como antes. Entonces la condición de Princen-Bradley puede escribirse como W + W 2r = (1, 1, ...), con los cuadrados y las adiciones realizadas en el sentido de los elementos.
[0060] Por lo tanto, en lugar de realizar la MDCT (A, B), se realiza la MDCT (WA, W r B) con todas las multiplicaciones realizadas en el sentido de los elementos. Cuando se realiza la IMDCT de esto y se multiplica de nuevo (en el sentido de los elementos) por la función ventana, la última N-mitad se convierte en:
WR-
(
WrB+{ WrB)r )= W
r -(
WrB+ WBr)=w r
B+
WWrBr
(Tenga en cuenta que ya no tenemos la multiplicación por 1/2, porque la normalización IMDCT difiere por un factor de 2 en el caso de ventanas.)
[0061] De forma similar, la MDCT con ventana y la IMDCT de (B, C) producen en su primera N-mitad:
[0062] Cuando uno añade estas dos mitades juntas, se recuperan los datos originales.
[0063] En un procedimiento similar, la siguiente trama se calcula utilizando las partes 205b, 206a, 206b y la primera parte de la siguiente trama de la fig. 2a. Por lo tanto, las ventanas 200, 202, 204 corresponden a la función ventana que tiene una primera longitud de superposición de las tres ventanas con las diferentes longitudes de superposición utilizadas por el dispositivo de segmentación en ventanas controlable 102 de la fig. 1a. Como se ha indicado, la fig. 2a ilustra una situación en la que no se detectan transitorios en la última trama, la trama actual y la trama siguiente y, específicamente, en la zona de anticipación de cada trama indicada por el punto 207 en la última trama, 208 en la trama actual y 209 en la trama siguiente. La fig. 2b ilustra una situación, en la que se detectan transitorios en las posiciones transitorias 210, 211, 212, 213. Debido al hecho de que, por ejemplo, se detecta una posición de transitorios en 210 y debido al hecho de que 210 está en la zona de anticipación que comienza en 207 para la última trama, el controlador 108 determina que se realice una conmutación desde la primera ventana 201 a una ventana adicional 215. Debido a los transitorios adicionales 211 y, en particular, 212/213 que se encuentran en la siguiente zona de anticipación, la trama actual se procesa adicionalmente utilizando la segunda ventana 216 con la segunda longitud de superposición. De este modo, la ventana 215 es una especie de ventana de inicio que cambia desde la ventana con la primera longitud de superposición indicada en 201 a la segunda ventana que tiene la segunda longitud de superposición. Tal como se ilustra, la segunda longitud de superposición solo se extiende sobre ocho espacios y, por lo tanto, es solo la mitad de longitud que la primera longitud de superposición. Debido al hecho de que en la zona de anticipación que comienza en 209, ya no se detecta ningún transitorio, se realiza una conmutación de nuevo a la ventana larga 201 mediante una especie de “ventana de parada 217”. De nuevo, se observa que la longitud de superposición ilustrada en 218 en la trama actual, por un lado, y entre la trama actual y la trama siguiente, por otro lado, que está indicada en 218 es la mitad de larga que la longitud de superposición en la fig. 2a para la primera ventana que tiene 16 espacios ilustrados.
[0064] Por lo tanto, la ventana con superposición media se utiliza para los transitorios que se detectan en las zonas de detección 1 y 6. Como se ilustra en 219, dicha zona de detección comprende dos espacios. De este modo, el intervalo de anticipación está separado en preferentemente ocho espacios. Por otra parte, sin embargo, se puede realizar una subdivisión más gruesa o más fina. Sin embargo, en las realizaciones preferidas, la zona de anticipación está subdividida en al menos cuatro espacios y, preferentemente, subdividida en ocho espacios como se ilustra en 2b y 2c y otras figuras.
[0065] Como se ilustra, la segunda ventana 216 tiene una superposición media en ambos lados, mientras que la ventana 215 tiene una superposición media en el lado derecho y tiene una superposición total en el lado izquierdo y la ventana 217 tiene una superposición media en el lado izquierdo y una superposición total en el lado derecho.
[0066] Se hace referencia a la fig. 2c. La fig. 2c ilustra una situación en la que el detector de transitorios detecta, en la zona de anticipación que comienza en el centro de la última trama, que hay un transitorio en la segunda zona de detección de transitorios 222. De este modo, se realiza un cambio a un cuarto de superposición para asegurarse de que el transitorio 223 solo está “disperso” dentro de la ventana 224, pero no está incluido en la zona definida por la ventana 201 ni en la zona definida por la ventana 225. Además, se indica una secuencia, en la que se realiza una conmutación desde un cuarto de superposición en la última trama y la trama actual a una superposición media entre la trama actual y la trama siguiente, y vuelve a la superposición total entre la trama siguiente y la siguiente y la trama siguiente. Esto se debe a los transitorios detectados. En la zona de anticipación que comienza en 208, se detectan transitorios en la parte una y en la parte seis mientras se detectan transitorios en la parte dos y en la parte cinco entre la última trama 207 y la trama actual 208.
[0067] Así, la fig. 2c ilustra una secuencia de ventanas, en la que se ilustra la primera ventana 201 que tiene toda o la primera longitud de superposición, en la que se utiliza una segunda ventana que tiene la segunda longitud de superposición indicada en 218, en la que la segunda ventana puede ser, por ejemplo, la ventana 225 o la ventana 226 y, en la que se ilustra una tercera ventana que tiene una tercera longitud de superposición como tiene la ventana 224 o la ventana 225 que tiene, en su lado izquierdo, la longitud de superposición pequeña 229. Por lo tanto, se ilustra una secuencia de ventanas que cambia de una superposición total a un cuarto de superposición y después a una superposición media y luego a una superposición total. Por lo tanto, la primera ventana que tiene la primera longitud de superposición puede ser una ventana asimétrica que tiene una superposición diferente de la primera superposición
en un lado y que tiene la primera longitud de superposición en el otro lado. De forma alternativa, sin embargo, la primera ventana también puede ser una ventana que tiene la primera longitud de superposición en ambos lados como se ilustra en 216 en la fig. 2b. Además, la segunda ventana que tiene la segunda longitud de superposición puede ser una ventana simétrica que tiene la segunda longitud de superposición en ambos lados o puede ser una ventana asimétrica que tiene la segunda longitud de superposición en un lado y que tiene, en el otro lado, la primera longitud de superposición o la tercera longitud de superposición o cualquier otra longitud de superposición. Finalmente, la tercera ventana que tiene la tercera longitud de superposición puede ser una ventana simétrica que tiene la tercera longitud de superposición en ambos lados o puede ser una ventana que tiene la tercera longitud de superposición en un lado y que tiene una longitud de superposición diferente en el otro lado.
[0068] Posteriormente, se ilustran otras realizaciones con respecto a las figuras siguientes. Generalmente, la detección del transitorio y su ubicación pueden realizarse, por ejemplo, utilizando un procedimiento o un procedimiento similar al detector de transitorios descrito en la patente US 6.826.525 B2, pero también se pueden utilizar otros detectores de transitorios.
[0069] La unidad de detección de transitorios identifica la presencia y, si es aplicable, la ubicación del inicio del transitorio más fuerte en la nueva parte de señal de una trama dada, es decir, excluyendo la zona de superposición entre la trama actual y la anterior. La resolución del índice que describe la ubicación de transitorios es, en las figuras siguientes, 1/8 de la longitud de la trama, por lo que el intervalo de índice es de Oto 7. En las figuras posteriores, los subbloques con índices 0, ..., 7 representan los 20 ms más nuevos de una señal de dominio en el tiempo que se utilizan para la codificación en la trama actual.
[0070] Las figs. 3a-3c ilustran la selección del ancho de superposición de transformadas para una longitud de transformada ejemplar ms, es decir, para una longitud de transformada de TCX20.
[0071] En la fig. 3a, ningún transitorio está presente en la trama actual. Por lo tanto, se detecta una superposición total 300.
[0072] La fig. 3b, por el contrario, ilustra una situación en la que se detecta un transitorio en el séptimo subbloque de manera que el controlador 108 de la fig. 1a. selecciona una superposición media 302. Además, la fig.
3c ilustra la situación en la que se detecta un transitorio en el sexto subbloque y, por lo tanto, el controlador establece una superposición mínima 304. De este modo, el detector de ubicación de transitorios 106 detecta si hay un transitorio y, si no, se selecciona el ancho de superposición o el primer ancho de superposición 300. Sin embargo, cuando existe un transitorio en el séptimo subbloque determinado por el detector de ubicación de transitorios 106 de la fig. 1a, a continuación, la segunda longitud de superposición 302, preferentemente la mitad de la primera longitud de superposición 300, es establecida por el controlador y cuando el transitorio está en el subbloque 6, entonces se establece una superposición mínima. La fig. 3c muestra adicionalmente la situación en la que, en lugar del hecho de que el transitorio se detecta en la posición 6 o 7, se mantiene sin embargo la longitud de la transformada. De este modo, las longitudes de las transformadas de las ventanas 301a, 301b o 303a o 303b son idénticas e iguales a la primera ventana que tiene la longitud de superposición más larga ilustrada en la fig. 3a en 301a y 301b. Como se mostrará más adelante, se prefiere no solo controlar la longitud de superposición, sino también controlar asimismo la longitud de las transformadas, específicamente en situaciones en las que el transitorio se detecta en otros subbloques. Por lo tanto, el ancho de superposición entre la actual y la siguiente ventana transformada depende de la ubicación del transitorio. Sin embargo, la superposición entre la ventana transformada actual y la anterior se determinó al procesar la trama anterior.
[0073] Posteriormente, se hace referencia a la fig. 4a a 4g con el fin de mostrar la selección de la longitud de superposición de transformada durante 10 ms de longitud de transformada, es decir, TCX10. Si, por ejemplo, un códec está limitado a una longitud de transformada de 10 ms, se elige la superposición entre dos ventanas TCX10 de manera que los pseudotransitorios debido al modelado TNX del error de codificación con aliasing en el tiempo se suprimen en gran medida. Además, se minimiza la dispersión del transitorio a más de cinco bloques anteriores y a más de cinco subsiguientes. Es decir, es el pre-eco y el posteco están limitados a 12,5 ms. La elección de la superposición se basa en la ubicación de transitorios.
[0074] La fig. 4a ilustra una situación en la que se detecta un transitorio en el cero o primer subbloque. A continuación, se eligen las “primeras ventanas” 401, 402, que tienen la longitud de superposición máxima o primera 403. Además, con fines ilustrativos, se ilustra una superposición total de TCX20 con la ventana anterior y con la siguiente ventana como referencia en 404. De este modo, la “superposición total” corresponde al 50 % de la ventana 401, 402 o corresponde al 33 % de la ventana TCX20 301a, 301b, por ejemplo. Así, la longitud de superposición 300
en la fig. 3a y 403 en la fig. 4a son idénticas.
[0075] La fig. 4b ilustra una situación en la que se detecta un transitorio en el segundo subbloque y el controlador controla luego la secuencia de ventanas de manera que se elige una superposición mínima 404 correspondiente a la “tercera longitud de superposición” ilustrada en 229 de la fig. 2c. De este modo, se seleccionan las ventanas 406, 407 que son, en esta realización, ventanas asimétricas que tienen la longitud de superposición corta correspondiente a la “segunda ventana” en el lenguaje de la fig. 1a y 1b. Además, cuando se detecta el transitorio en el tercer subbloque, se selecciona la segunda longitud de superposición 405. De este modo, las ventanas 408, 409 corresponden a la tercera ventana que tiene la tercera longitud de superposición 405, pero son ventanas asimétricas.
[0076] Además, como se ilustra en la fig. 4d, se determina la longitud total de superposición cuando el transitorio está en la parte de transitorio 4 y, por lo tanto, las ventanas seleccionadas en esta situación son las ventanas 401, 402 ilustradas en la fig. 4a. Cuando se elige la superposición de manera que en una de las transformadas superpuestas contenga un transitorio como se ilustra, el caso en el que el transitorio está en el segundo o tercer subbloque es como se ilustra en la fig. 4f o 4g, respectivamente. Los casos, cuando el transitorio está en el cero o primer subbloque, se tratan por separado, así como los casos, cuando el transitorio está en el cuarto o quinto subbloque. Por lo tanto, se hace referencia a la fig. 4e que ilustra la situación, en la que el transitorio está en el subbloque cero, se obtiene una secuencia de ventanas como se ilustra en la fig. 4e, donde hay una superposición media 405 y que conmuta de nuevo a la superposición total 403. Esto se obtiene mediante la secuencia de ventanas formada por la ventana de inicio 408 y la ventana de parada 409 y otra ventana de longitud normal 402.
[0077] La fig. 4f, por otra parte, ilustra la situación en la que el transitorio está en el primer subbloque de manera que se selecciona una longitud corta o una tercera longitud de superposición 404, lo que es posible gracias a la ventana de inicio 406 y a la ventana de parada 407 que va seguida por una ventana de superposición total 402. De este modo, la ventana 408 o 409 en la fig. 4e ilustra la segunda ventana que tiene la segunda longitud de superposición 405 y las ventanas 406 y 407 corresponden a la tercera ventana que tiene la tercera longitud de superposición 404”.
[0078] La fig. 4g ilustra una situación en la que el transitorio se detecta en el cuarto subbloque. Esta situación se refleja mediante una primera ventana 401 que tiene una longitud de superposición total 403 y una segunda ventana 409 que tiene una longitud de superposición media 405 y otra segunda ventana 414 que tiene la segunda longitud de superposición 405. Sin embargo, el lado derecho de la ventana 414 depende de la longitud de superposición determinada para la siguiente trama, es decir, en la siguiente zona de anticipación que comienza en el instante de tiempo indicado con el número de referencia 415.
[0079] Así, las figs. 4a a 4g ilustran la situación en la que se determina la longitud de superposición de manera que el transitorio se sitúa solamente dentro de una ventana que se asegura por el hecho de que, en la ubicación del transitorio, por ejemplo, en el subbloque 4, los coeficientes de ventana de la ventana 414 son iguales a 0 y los coeficientes de ventana de la ventana 409 son iguales a 1.
[0080] Posteriormente, se hace referencia a una realización preferida, en la que la longitud de transformada se obtiene del ancho de superposición. Las figs. 5a, 5b, 5c ilustran tres longitudes de superposición 403, 405, 404 diferentes, donde la longitud de superposición total está determinada por dos primeras ventanas indicadas en 501 y 502. Además, la longitud de superposición media se obtiene mediante dos segundas ventanas que tienen la segunda longitud de superposición ilustrada en 503 y 504 y la tercera longitud de superposición 404 se obtiene mediante dos terceras ventanas 505 y 506 que tienen la tercera longitud de superposición 404. La superposición total se codifica, preferentemente, utilizando un bit “0”, la superposición media se codifica utilizando una combinación de bits “11” y la superposición mínima se codifica utilizando la combinación de bits “10”.
[0081] De este modo, esta codificación es útil cuando se determina el ancho de superposición y se puede utilizar una selección de longitud de transformada cuando se puede usar TCX-20 y una combinación de tramas TCX-5 y TCX-10.
[0082] A diferencia de los esquemas de codificación de la técnica anterior que obtienen las superposiciones entre-transformadas instantáneas a partir de la selección dada de longitudes de transformada para un par de tramas (es decir, el ancho de superposición viene a continuación de la salida de la determinación de longitud de transformada), una realización preferida de la presente invención se refiere a un sistema de codificación que puede controlar u obtener la longitud o longitudes de las transformadas que se utilizarán para una trama particular utilizando el ancho de superposición atribuido a esa trama y, opcionalmente, el ancho de superposición de la trama anterior (es decir, la longitud de transformada va después de la unidad de determinación del ancho de superposición, o bien, con respecto
a la fig. 1 a, mediante la cooperación del detector de ubicación de transitorios 106 y el controlador 108). La fig. 6a ilustra una tabla de codificación y la fig. 6b ilustra una tabla de decisiones correspondiente. En las figs. 5a, 5b y 5c, la línea completa representa la mitad derecha de la ventana de la última transformada en la trama actual y la línea discontinua representa la mitad izquierda de la ventana de la primera transformadas en la trama siguiente.
[0083] La fig. 6a ilustra una codificación de la superposición y la longitud de la transformada en base a la ubicación de transitorios. En particular, la decisión de transformada corta/larga se codifica utilizando 1 bit como se indica en la columna 600 y la superposición con la primera ventana de la trama siguiente se codifica utilizando el código de longitud variable con 1 o 2 bits como se ilustra en la columna 602. El código para la decisión de transformada corta/larga 600, por una parte, y el código binario para el ancho de superposición de la columna 602, se concatenan para obtener el denominado código de superposición en la columna 603. Además, la superposición con la primera ventana de la siguiente trama está determinada por el controlador 108 en función del índice de posición del transitorio de la columna 604 según lo determinado con el detector de transitorios 106. A diferencia de las ilustraciones anteriores, el índice de posición de transitorios tiene un intervalo de anticipación incrementado que comienza en dos espacios anteriores indicados por -1 y - 2 y para esta situación, además, se señala la superposición total en esta realización.
[0084] Por lo tanto, la superposición total se indica para “no transitorios” o una ubicación de transitorios entre -2 y 1. Además, la columna 605 señala una superposición media para las posiciones de transitorios 2 y 3 y 7 y señala la superposición mínima para las posiciones de transitorios 4, 5, 6.
[0085] Por lo tanto, el índice “-2” en la fig. 6a significa que había un transitorio en la trama anterior en la posición 6 y “-1” significa que había un transitorio en la trama anterior en la posición 7. Como se ha indicado, “ninguno” significa que no se detectó ningún transitorio en la zona de anticipación de transitorios.
[0086] Como se ha detallado, la decisión de transformada corta/larga y el ancho de superposición se codifican conjuntamente utilizando el código de superposición. El código de superposición consiste en 1 bit para una decisión de transformada corta/larga y en el código binario para el ancho de superposición codificado con 1 o 2 bits. El código es un código de longitud variable en el que se detecta automáticamente donde comienza una palabra de código y termina la palabra de código anterior. Los códigos para la decisión de transformada corta/larga y para el ancho de superposición se definen en la fig. 6a. Por ejemplo, cuando la decisión de transformada corta/larga da 1 y se selecciona la superposición mínima, es decir, un código binario es igual a 10, el código de superposición es 110.
[0087] Además, la fig. 6a ilustra la situación en la que se toma una decisión de transformada corta para todas las posiciones de transitorios entre -2 y 5 y se elige una transformada larga si no hay ningún transitorio o el transitorio está en la posición 6 o 7. Así, la fig. 6a ilustra la situación en la que el detector de ubicación de transitorios puede detectar un cierto transitorio en una determinada posición y, cuando son independientes entre sí o en paralelo, se puede determinar la decisión de transformada corta/larga y la superposición con la primera ventana de la trama siguiente, es decir, se puede obtener el código de superposición total 603. Se hace hincapié en que los expertos en la técnica comprenderán que pueden usarse otros códigos para codificar diferentes transformadas cortas/largas y diferentes superposiciones. Además, se pueden determinar y señalar más de dos, es decir, tres o incluso más longitudes de transformadas y, a la vez, se pueden determinar y codificar también más de tres superposiciones tales como cuatro o cinco longitudes de superposición diferentes. Todo esto determinado es, por ejemplo, en respuesta a un detector de ubicación de transitorios que funciona sobre, al menos cuatro divisiones diferentes por trama, o bien, como en la realización, operando en ocho divisiones por trama o, para una decisión más fina, operando en aún más divisiones, como dieciséis divisiones de una trama.
[0088] Basándose en el código de superposición para la trama actual y para la trama anterior, se toma una decisión para una combinación de la longitud de transformadas a utilizar, como se ilustra en la fig. 6b. Así, la fig. 6b ilustra la decisión de una longitud de transformadas basada en el código de superposición anterior y el código de superposición actual. Por ejemplo, si el código de superposición anterior y el código de superposición actual son ambos “00”, se utiliza una ventana tal como 401. Si el código de superposición anterior era 10 y el código de superposición actual es 00, entonces se selecciona la misma ventana. Sin embargo, si el código anterior es 111, es decir, un código de superposición media y el código de superposición actual es 00, entonces se selecciona, por ejemplo, la ventana 409 de la fig. 4c. Para un código de superposición anterior de 110 y el código de superposición actual 00, se selecciona de nuevo una transformada larga, pero con una ventana similar a la ventana 407, y la misma situación se observa para un código de superposición anterior de 010 y el código de superposición actual de 00, es decir, se selecciona la ventana 407 de la fig. 4f. Finalmente, para un código de superposición anterior 011 y para el código de superposición actual 00, se selecciona una ventana tal como 409 en la fig. 4e.
[0089] Se seleccionan otras ventanas para otras combinaciones y esto se ilustra específicamente con respecto a la fig. 7. Así, la fig. 7 ilustra algunas de las combinaciones de longitudes de transformadas junto con la ubicación de transitorios en la trama actual y con los códigos de superposición para la trama actual y para las tramas anteriores.
110/010 - 111 en la fig. 7 significa que el código de superposición anterior es 110 o 010 y el código de superposición actual es 111. La fig. 7 ilustra, por tanto, diferentes combinaciones. Por ejemplo, la imagen superior izquierda de la fig.
7 ilustra una superposición mínima al inicio de una secuencia de dos transformadas TCX-5 y una transformada TCX-10 siguiente que tiene la superposición total. Contrariamente a esto, la imagen debajo de esta imagen ilustra una superposición mínima seguida de cuatro ventanas TCX-5, donde la cuarta ventana de las ventanas TCX-5 tiene una superposición media y así sucesivamente. De este modo, los números de referencia 700, 701 ilustran una secuencia de dos TCX-5 o dos ventanas cortas seguidas de una ventana media. De forma similar, los números de referencia 702, 703, 704, 705, 706, 707 ilustran una situación con cuatro longitudes de transformadas cortas o transformadas “TCX-5” mientras que los números de referencia 708, 709, 710, 711 ilustran la situación en la que hay, en el primer tiempo, es decir, al inicio de la secuencia, una ventana de longitud de transformada media tal como una ventana TXC 10 seguida de dos ventanas de longitud de transformada corta o TCX-5. Las secuencias 700 a 711 en la fig. 7 pueden ser introducidas por otras secuencias de este tipo o por ventanas de longitud de transformada larga o TCX-20 que tienen superposiciones diferentes tales como superposiciones cortas en 700, 702 por ejemplo, una superposición media en 704 o superposiciones largas en 708 o 710, por ejemplo. Al mismo tiempo, la secuencia puede ir seguida por otras secuencias de este tipo o puede ir seguida por t CX-20, es decir, ventanas de transformadas largas, pero con una longitud de superposición diferente. De este modo, la secuencia 700 termina, por ejemplo, con una superposición larga y la secuencia 702, por ejemplo, termina con una superposición media o la secuencia 706, por ejemplo, termina con una longitud de superposición pequeña.
[0090] Como se ilustra en la fig. 1a, la información de ventana, es decir, el código de superposición 603 de la fig. 6a que se ilustra en 112 en la fig. 1a se puede asociar a cada trama codificada mediante una interfaz de salida 114.
[0091] Además, la transformada aplicada en el convertidor 104 puede ser una MDCT o una MDST o una transformada de introducción de aliasing diferente que se caracteriza por el hecho de que el número de valores espectrales en un bloque de valores espectrales es menor que el número de muestras segmentadas en ventanas en un bloque de muestras segmentadas en ventanas introducidas en la transformada o, con respecto al lado del descodificador, en el que el número de muestras de salida en el dominio del tiempo es mayor que el número de valores espectrales introducidos en dicha transformada inversa o de reducción de aliasing.
[0092] Como se ilustra en todas las figs. 2 a 7, se mantiene un ráster de trama constante. De este modo, el controlador 108 garantiza que, aunque se realice una conmutación a longitudes de transformadas más cortas, como se ilustra, por ejemplo, en la fig. 7, siempre se mantiene el mismo ráster de trama constante. Esto se asegura utilizando solo estas ventanas específicas que siempre dan como resultado una longitud de transformada similar para cada clase de ventanas en el contexto del tamaño de superposición correcto. De este modo, se define que cada longitud de transformada TCX-5 tiene dicha zona de superposición y una zona constante entre las dos zonas de superposición que la transformada da como resultado N/4 valores espectrales, donde N es el número de valores espectrales dentro de una trama. La forma y el tamaño y, concretamente, las longitudes de superposición de las ventanas de transformadas TCX 20 se diseñan asimismo de tal manera que esta ventana da como resultado N muestras espectrales posteriores a la transformada.
[0093] La fig. 1c ilustra una implementación preferida en el lado del descodificador del convertidor controlable 158. En particular, el convertidor controlable 158 comprende un convertidor de tiempo- frecuencia 170, un dispositivo de segmentación en ventanas de síntesis conectado posteriormente 172 y un sumador de superposiciones final 174. Específicamente, el convertidor de tiempo-frecuencia realiza la transformada tal como una transformada DCT-IV y una operación de despliegue posterior de modo que la salida del convertidor de tiempo-frecuencia 170 tiene, para una ventana primera o larga, 2N muestras mientras que la entrada en el convertidor de tiempo-frecuencia era, por ejemplo, de N valores espectrales. Por otro lado, cuando la entrada en el convertidor de tiempo-frecuencia es de N/8 valores espectrales, la salida es de N/4 valores en el dominio del tiempo para una operación MDCT, de manera ejemplar.
[0094] A continuación, la salida del convertidor de tiempo-frecuencia 170 se introduce en un dispositivo de segmentación en ventanas de síntesis que aplica la ventana de síntesis que es, preferentemente, exactamente la misma que la ventana en el lado del codificador. De este modo, cada muestra es, antes de que se realice una suma de superposición, segmentada en dos ventanas de modo que la “ventana total” resultante es un cuadrado de los coeficientes de ventana correspondientes de modo que se cumple la condición de Princen-Bradley como se ha analizado anteriormente.
[0095] Finalmente, el sumador de superposición 174 realiza la suma de superposición correcta correspondiente para obtener finalmente la señal de audio descodificada en la salida 175. En particular, el convertidor de tiempofrecuencia 170, el dispositivo de segmentación en ventanas de síntesis 172 y el sumador de superposición 174 son controlables y están controlados, por ejemplo, mediante el código de superposición 603 analizado en el contexto de la fig. 6a, o bien mediante cualquier otra información relativa a la situación analizada en el contexto de la fig. 6b. Sin embargo, preferentemente, se determina la longitud de transformada correspondiente para el convertidor de tiempofrecuencia en base al código de superposición anterior y al código de superposición actual utilizando la tabla de decisión de longitud de transformada. Además, el tamaño/forma de la ventana también se determina basándose en el código de superposición anterior y un código de superposición actual, y lo mismo es cierto para el sumador de superposición de modo que el sumador de superposición aplica la superposición máxima, la superposición media o la superposición mínima señalada.
[0096] De este modo, se prefiere que el controlador 180 en el descodificador de la fig. 1c reciba los códigos de superposición, es decir, el código de superposición anterior 606 y el código de superposición actual 607 y determine, a partir de esta información, la superposición y la ventana para el bloque de valores espectrales.
[0097] De este modo, se determina cada ventana y el tamaño de transformada correspondiente asociado con la ventana. En las realizaciones preferidas en las que se utiliza una MDCT como transformada y se utiliza una MDCT inversa para la transformada inversa, el tamaño de ventana es dos veces la longitud de transformada, o bien la longitud de transformada es la mitad del tamaño de ventana.
[0098] La fig. 1d ilustra una realización adicional de la presente invención implementada con un dispositivo móvil donde el dispositivo móvil comprende, por una parte, un codificador 195 y, por otra parte, un descodificador 196. Además, según una realización preferida de la presente invención, tanto el codificador 105 como el descodificador 106 recuperan la misma información de ventana desde una única memoria 197, puesto que las ventanas utilizadas en el codificador 195 y las ventanas utilizadas en el descodificador 196 son idénticas entre sí. De este modo, el descodificador tiene una memoria de solo lectura 197 o una memoria de acceso aleatorio o, en general, cualquier memoria 197 en la que se almacena solo un único conjunto de secuencias de ventanas o ventanas para su uso tanto en el codificador como en el descodificador. Esto es ventajoso por el hecho de que los diferentes coeficientes de ventana para las diferentes ventanas no tienen que ser almacenados dos veces, con un conjunto para el codificador y un conjunto para el descodificador. En su lugar, debido al hecho de que, según la presente invención, se utilizan ventanas y secuencias de ventanas idénticas en el codificador y el descodificador, solo se tiene que almacenar un único conjunto de coeficientes de ventana. Por lo tanto, la utilización de memoria del dispositivo móvil de la invención que se ilustra en la fig. 1d se reduce sustancialmente con respecto a un concepto diferente en el que el codificador y el descodificador tienen ventanas diferentes o en el que se realiza cierto posprocesamiento con procesamiento distinto aparte de las operaciones basadas en ventanas.
[0099] Posteriormente, se hace referencia a una realización preferida adicional con respecto a la realización de conmutación de transformada/longitud transformada.
[0100] El esquema de codificación adaptable a la longitud de superposición y transformada descrito anteriormente se implementó en el modelo de excitación de transformada codificada (TCX) del codificador LD-USAC, una variante de bajo retardo de xHE-AAC [5] con una longitud de trama de 20 ms y probado a 48 kbit/s mono. En este punto de configuración, LD-USAC funciona solo en modo TCX con una longitud de 512 muestras y una superposición de 256 muestras, es decir, un 33 % durante condiciones de entrada (pseudo) estacionarias. El codificador incluye una unidad de detección de transitorios, cuya salida es introducida a una unidad de determinación de longitud de transformada y a la unidad de determinación del ancho de superposición de la invención. Se dispone de tres longitudes de transformadas para la codificación: una longitud TCX-20 con 512 coeficientes MDCT, una longitud TCX-10 con 256 coeficientes MDCT y una longitud especial TCX-5 con 128 coeficientes MDCT. En consecuencia, se puede utilizar y transmitir por trama uno de los tres anchos de superposición: superposición máxima de 256 muestras básicas (10 ms), superposición media de 128 muestras básicas (5 ms) y superposición mínima de 16 muestras (0,6 ms). Para cada trama se deben seleccionar las longitudes de transformadas de manera que la suma de las longitudes de todas las transformadas en esa trama sea igual a la longitud de la trama básica, es decir, 512 muestras.
[0101] En una realización preferida del sistema de codificación de la invención, el codificador funciona de la siguiente manera:
1. La unidad de detección de transitorios identifica la presencia y, si es aplicable, la ubicación del inicio del
transitorio más fuerte en la nueva parte de señal de una trama dada (es decir, excluyendo la zona de superposición entre la trama actual y la anterior). La resolución del índice que describe la ubicación de transitorios es 1/8 de la longitud de trama, por lo que el rango del índice es 0, ..., 7.
2. Si no se ha detectado ningún transitorio, o si el índice de ubicación de transitorio es 6 o 7, la trama afectada se codifica utilizando la transformada TCX-20 por decisión de la unidad de determinación de longitud de transformada. De lo contrario, se utiliza una combinación de transformadas TCX-10 y/o TCX-5: 2x TCX-10 o 4x TCX-5, o bien, TCX-10 seguido de 2x TCX-5, o bien, 2x TCX-5 seguido de TCX-10.
3. La unidad de determinación del ancho de superposición controla en este punto las formas de superposición de las transformadas utilizadas dentro de la trama actual (excluyendo la superposición ya elegida con la última trama) según los objetivos enumerados anteriormente, de tal manera que se seleccionan las superposiciones más largas posibles que no violan dichos objetivos. En particular, si una trama es TCX-20 y el índice de ubicación de transitorio es 6 o 7, la unidad de superposición devuelve una superposición media o mínima, respectivamente. Si no hay ninguna señal estacionaria en una trama, se utiliza superposición máxima.
4. Además, si una combinación TCX-10/-5 ha sido devuelta por la unidad de determinación de longitud de transformada para la trama (no estacionaria), la unidad de determinación del ancho de superposición controla la composición exacta de las longitudes de transformada en esa trama. En particular, si se utiliza la superposición máxima tanto en la trama anterior como en la trama actual, se aplican 2x t CX-5 seguido de un TCX-10 en la trama actual, siendo la primera de las transformadas TCX-5 la transformada de transición de la invención con superposición doble. Si el ancho de superposición de la última trama o la trama actual es menor que el máximo, también se utiliza una de las configuraciones mixtas TCX-10/-5. Si tanto la trama última como la trama actual tienen menos que la superposición máxima, se utiliza 4x TCX-5.
5. El codificador ahora procede a segmentar en ventanas la señal y las MDCT reales para la trama. Debe tenerse especial cuidado con respecto al orden de las operaciones basadas en ventanas en presencia de la ventana de transición de doble superposición de la invención a fin de lograr una reconstrucción perfecta después de la descodificación. El resto del procedimiento de codificación es similar al de xH E-AAC. Opcionalmente se aplica TNS a las transformadas individuales y se puede realizar el agrupamiento de dos conjuntos de coeficientes MDCt TCX-5 en un conjunto de coeficientes (entrelazados) de tipo TCX-10 para guardar información lateral. Para cada trama, se transmite al descodificador un valor de ancho de superposición, así como un indicador de 1 bit que indica TCX-20 o codificación no TCX-20.
[0102] Al igual que el codificador, el descodificador apropiado según la realización preferida presenta una unidad de determinación de ancho de superposición que interpreta los valores de ancho de superposición transmitidos para controlar la longitud y la segmentación en ventanas de las MDCT inversas de modo que el codificador y el descodificador están totalmente sincronizados con respecto a las transformadas utilizadas. Como en el codificador, el orden de las operaciones basadas en ventanas y plegamiento después de cada MDCT es crítico para obtener una reconstrucción de la señal perfecta.
[0103] Posteriormente, se analiza e ilustra una realización adicional de la invención en el contexto de las figs.
8 a 15f. Este aspecto, que también se denomina “aspecto de superposición múltiple”, se puede combinar con la forma de realización de conmutación de ancho de superposición y longitud de transformada analizada con respecto a las figs. 1 a 7, o bien se puede implementar por separado de este aspecto.
[0104] Un lado del codificador de la invención se ilustra en la fig. 8a y un lado del descodificador se ilustra en la fig. 8b. En particular, el aparato para generar una señal codificada o el codificador ilustrado en la fig. 8a comprende un controlador de secuencia de ventanas para generar una información de secuencia de ventanas 809 enviada, por ejemplo, a un preprocesador 802, un convertidor espectral 804, o una interfaz de salida 810 como se ilustra en la fig.
8a. La información de secuencia de ventanas indica una primera función ventana para generar una primera trama de valores espectrales, una segunda función ventana y una o más terceras funciones ventana para generar una segunda trama de valores espectrales. La primera función ventana, la segunda función ventana y la una o más terceras funciones ventana se superponen dentro de una zona de superposición múltiple.
[0105] Esta zona de superposición múltiple se ilustra, por ejemplo, en 1300 en la fig. 13 o la fig. 14b o la fig.
15e o la fig. 15f. Por lo tanto, en esta zona de superposición múltiple 1300, al menos tres funciones ventana, es decir, la primera función ventana con respecto a la fig. 15f ilustrada en 1500, la segunda función ventana 1502 y la tercera función ventana 1503, se superponen entre sí dentro de la zona de superposición múltiple 1300. También puede haber
una superposición superior, como una superposición de cuatro, cinco o incluso más ventanas. De forma alternativa, la fig. 15e ilustra la situación en la que una tiene de nuevo la primera función ventana 1500, la segunda función ventana 1502 pero ahora cuatro terceras funciones ventana 1503 a diferencia de una única función ventana 1503 de la fig. 15f.
[0106] Con el fin de manejar correctamente esta zona de superposición múltiple que da como resultado una reducción significativa del retardo necesario en la zona de anticipación de transitorios, se proporciona un preprocesador 102. El preprocesador está configurado para segmentar en ventanas un segundo bloque de muestras correspondiente a la segunda ventana y la una o más terceras funciones ventana utilizando una función ventana auxiliar para obtener un segundo bloque de muestras segmentadas en ventanas. Además, el preprocesador está configurado para preprocesar el segundo bloque de muestras de ventanas utilizando una operación de plegamiento de una parte del segundo bloque que se superpone con el primer bloque en la parte de superposición múltiple para obtener un segundo bloque preprocesado de muestras segmentadas en ventanas que tienen una parte de superposición múltiple modificada. Además, un convertidor espectral 804 está configurado para aplicar una transformada de introducción de aliasing en el primer bloque de muestras utilizando la primera ventana para obtener la primera trama de valores espectrales. Además, el convertidor espectral está configurado para aplicar una transformada de introducción de aliasing a una primera parte del segundo bloque preprocesado de muestras segmentadas en ventanas utilizando la segunda ventana para obtener una primera parte de muestras espectrales de una segunda trama y aplicar la transformada de introducción de aliasing a una segunda parte del segundo bloque preprocesado de muestras segmentadas en ventanas utilizando la una o más terceras funciones ventana para obtener una segunda parte de muestras espectrales de la segunda trama. Además, se proporciona un procesador 806 indicado como “procesador de codificación” dentro del codificador de la fig. 8a para procesar la primera trama y la segunda trama de valores espectrales y obtener las tramas codificadas de la señal de audio en la salida 807 del bloque 806. De este modo, el procesador de codificación puede ser idéntico o diferente del procesador de codificación 110 de la fig. 1a y puede realizar cualquiera de las bien conocidas MPEG o AMR o cualquier otra característica de codificación en la técnica.
[0107] Posteriormente, se hace referencia a la fig. 13. La fig. 13 ilustra una vez más la segunda mitad de la primera función ventana 1500, la segunda función ventana 1502 y, en la segunda imagen de la fig. 13, dos terceras funciones ventana 1503. Al contrario, la ilustración superior de la fig. 13 ilustra de nuevo una primera función ventana 1500, una segunda función ventana 1502 y, a diferencia de, por ejemplo, la fig. 15f y ligeramente similar a la fig. 15e, cuatro terceras funciones ventana 1503. De forma alternativa, el número de terceras funciones ventana también puede ser tres, cinco, más o menos.
[0108] Además, la fig. 13 ilustra adicionalmente una situación con una primera función ventana 1500', una segunda función ventana diferente 1502' y la misma tercera función ventana 1503. La diferencia entre 1500 y 1500' es que la longitud de superposición de las funciones 1500' y 1502 'es la mitad con respecto a las ventanas 1500, 1502. De este modo, la situación de las funciones ventana 1500 'y 1502' es que la longitud de superposición es una superposición media ilustrada en 218, por ejemplo, en la fig. 2d, mientras que la longitud de superposición total corresponde a una trama completa como, por ejemplo, la que se ilustra en 203 en la fig. 2a o la fig. 13. Por lo tanto, las funciones ventana 1500 'y 1502' ilustradas en esta figura representan una combinación del aspecto de superposición múltiple y el aspecto de determinación de ancho de superposición.
[0109] Con el fin de explicar mejor el procedimiento del preprocesador 802 en el lado del codificador, se hace referencia a la ilustración de la fig. 11a, por un lado, y a los diagramas de flujo en la fig. 9a, 9b, por otro lado. Con respecto al descodificador, se hace referencia a las ilustraciones correspondientes en la fig. 8b, Figs. 10a, 10b y la ilustración de la fig. 11b. Además, el codificador se ilustra también en la fig. 12a y el descodificador se ilustra en la fig.
12b.
[0110] En particular, la fig. 11a ilustra nuevamente la primera función ventana 1500 y al menos una parte de la segunda función ventana 1502 y cuatro terceras funciones ventana 1503 o una única tercera función ventana 1503. En particular, la fig. 11a ilustra adicionalmente la función ventana auxiliar 1100. La función ventana auxiliar 1100 tiene una primera parte 1100a que coincide con la primera parte ascendente 1500a de la primera función ventana 1500. Además, la función ventana auxiliar 1100 tiene una segunda parte sin superposición 1100b que tiene, preferentemente, coeficientes de ventana igual a la unidad y una tercera parte 1100c que corresponde a una parte descendente o decreciente o una parte derecha de una o más terceras funciones ventana. De este modo, la función ventana auxiliar 1100 cubre la segunda mitad de trama anterior ilustrada en 1102, la primera mitad de la trama actual i indicada por 1103, la segunda mitad de la trama actual i indicada por 1104 y la primera parte pequeña 1105 cubierta por la parte de función ventana auxiliar 1100c. Como se desprende claramente de la fig. 11a, la función ventana auxiliar se trata como una “secuencia de ventanas de inicio” o corresponde a dicha “secuencia de ventanas de inicio”, como si en la
trama i 1 se tuviera que introducir una secuencia de ventanas cortas. No obstante, es importante destacar que una secuencia de ventanas cortas ya se ha introducido en la trama actual en lugar de en la trama siguiente i 1.
[0111] La funcionalidad del preprocesador se ilustra a continuación en la fig. 11a. El preprocesador preprocesa el segundo bloque de muestras de ventanas obtenidas con la segmentación de ventanas utilizando la función ventana auxiliar que utiliza una operación de votación indicada como “alias de inicio de plegamiento, trama i”. De este modo, la parte más izquierda del segundo bloque de muestras segmentadas en ventanas indicadas por 1110 se pliega hacia dentro. Esta parte 1110 es la parte del segundo bloque de muestras segmentadas en ventanas que se superponen con la primera función ventana anterior 1500, es decir, la parte del segundo bloque de muestras segmentadas en ventanas que corresponde al período de tiempo 1102 y que se encuentra en la trama anterior i - 1. Debido al hecho de que esta operación de plegamiento de la parte 1110 influye ahora en la zona de superposición 1300, la operación de plegamiento realizada por el preprocesador da como resultado una parte modificada de superposición múltiple. En este punto, el convertidor espectral aplica la operación ilustrada en la línea de la fig. 11a indicada como “aliases de plegamiento interno”. En particular, el convertidor espectral aplica una transformada de introducción de aliasing al primer bloque de muestras utilizando la primera función ventana que se ilustra para la trama i - 1. La transformada de introducción de aliasing comprende la operación de plegamiento ilustrada en 1120 y la subsiguiente, por ejemplo, la transformada DCT-IV indicada en 1122. Para ello, se requiere la primera función ventana 1500 a fin de obtener la forma antes de la operación de plegamiento 1120 para la trama i - 1. Además, el convertidor espectral aplica la transformada de introducción de aliasing a la primera parte indicada por el punto 1131 en la fig. 11 a. Esto se realiza utilizando la segunda función ventana 1502 y, en particular, la parte derecha de la segunda función ventana 1502. Esta operación da como resultado una primera parte de muestras espectrales de una segunda trama obtenida por la transformada 1132, donde la transformada 1132 representa, una vez más, una operación DCT-IV que constituye, junto con la correspondiente operación de plegamiento, pero ahora solo en la parte de superposición derecha del bloque 1131, la transformada de introducción de aliasing.
[0112] Además, el convertidor espectral está configurado para aplicar la transformada de introducción de aliasing a una segunda parte 1133 del segundo bloque preprocesado 1130 utilizando la una o más terceras funciones ventana 1503 para obtener una segunda parte 1135 de muestras espectrales de la segunda trama. Por lo tanto, con el fin de obtener la segunda parte 1135 de muestras espectrales, se pueden aplicar cuatro transformadas N/8 DCT-IV o una única transformada DCT-IV N/2. El número de transformadas y las longitudes dependen del número de terceras funciones ventana. Generalmente, la longitud, la transformada o el número de muestras espectrales en la segunda parte 1135 es igual al número de muestras espectrales en una trama menos la longitud de la transformada 1132 y el resultado se divide, a continuación, por el número de terceras funciones ventana utilizadas.
[0113] Por lo tanto, el preprocesador 802 es generalmente operativo para la segmentación en ventanas 902 (figura 9a) de la señal de audio utilizando la función ventana auxiliar 1100 para obtener el segundo bloque de muestras segmentadas en ventanas. A continuación, el procesador 904 aplica, preferentemente, la operación de plegamiento indicada en 1110 en la fig. 11a para obtener el segundo bloque preprocesado de muestras segmentadas en ventanas con la parte de superposición múltiple modificada 1300. A continuación, el convertidor 906 aplica las transformadas utilizando la primera, segunda y tercera funciones ventana para obtener la primera trama de valores espectrales 1122, la primera parte 1132 de la segunda trama y la segunda parte 1135 de la segunda trama o trama i en la notación de la fig. 11a.
[0114] En la realización preferida, ilustrada con respecto a la fig. 9b, se determina la función ventana auxiliar 910 haciendo referencia a la primera función ventana y, ejemplarmente seleccionando, como primera parte 1100a de la función ventana auxiliar 1100, la primera parte 1500a de la primera función ventana. Además, se determina la parte sin superposición 1100b (se toman los coeficientes de ventana de uno para la longitud correspondiente) y se determina entonces la tercera parte 1100c, de nuevo ejemplarmente, tomando la segunda parte de la función ventana corta.
[0115] A continuación, se segmenta en ventanas 912 la señal de audio con esta función ventana auxiliar en la relación correcta con la anterior o primera trama i - 1 ilustrada en la fig. 11a. A continuación, como se ilustra en 914 en la fig. 9b, la parte izquierda 1110 y, preferentemente, la parte derecha 1111 se pliegan. En la etapa 916, se realiza un plegamiento de las partes superpuestas ilustradas en las líneas sombreadas en el punto e) o f) en la zona interna. Además, como se ilustra en 918, si hay más terceras funciones ventana como en la fig. 11a subimagen e), entonces también se realiza el plegamiento de partes superpuestas de las terceras funciones ventana. Sin embargo, si solo hay una única tercera función ventana como se ilustra en la fig. 11a, subimagen f), entonces el control procede desde la etapa 916 a 920 directamente sin la etapa 918. En la etapa 920, las operaciones DCT se realizan utilizando los kernels DCT más cortos que el kernel DCT de la primera trama. El kernel DCT de la subimagen e) es, para la segunda función ventana, N/2, y para las terceras funciones ventana, N/8. Contrariamente a esto, cuando solo hay una sola tercera
función ventana, entonces el kernel de la transformada es igual a N/2 para la segunda función ventana y es igual a N/2 para la única tercera función ventana.
[0116] Por lo tanto, queda claro que la zona de superposición múltiple 1300 se segmenta en ventanas dos veces. La primera segmentación en ventanas es realizada por la primera parte 1100a de la ventana auxiliar y la segunda segmentación en ventanas es realizada por la segunda mitad de la primera tercera función ventana 1503 como se ilustra en la subimagen e) o f) de la fig. 11 a.
[0117] Se hace referencia a la fig. 13 de nuevo. Como se ha analizado en el contexto de la fig. 1a o en el contexto de la fig. 8a, el controlador de secuencia de ventanas genera las formas de ventana específicas. En una realización, el controlador de secuencia de ventanas está configurado para comprender el detector de ubicación de transitorios 106. Cuando se detecta un transitorio en las partes de detección de transitorios 0 o 1, entonces el codificador es controlado para entrar en el modo de parte de superposición múltiple de modo que estos transitorios indicados en 1305 se limitan a quedar solamente dentro de una única tercera ventana o dentro de dos terceras ventanas adyacentes. Específicamente, el transitorio izquierdo 1305 está confinado para quedar en la primera función ventana corta solamente, donde el transitorio derecho de los transitorios 1305 se encuentra entre la primera a tercera funciones ventana. Sin embargo, cuando se determina que los transitorios están situados en una zona diferente de 0, tal como en la zona 1, 2, 3, más o menos, entonces se puede realizar un procesamiento sin la zona de superposición múltiple, por ejemplo, de manera similar a lo analizado en el contexto de la fig. 6a, Fig. 6b, Fig. 7, más o menos.
[0118] Sin embargo, contrariamente a esto, el procesamiento de la zona de superposición múltiple también se puede realizar en el contexto de la aplicación de conmutación de ventana, en el que, cuando se detecta un transitorio, se puede conmutar un conjunto aún mayor de ventanas cortas para la trama actual, de manera que, preferentemente, dentro de un mismo bloque o ráster de trama, se utiliza una ventana larga o un número especificado de ventanas cortas para la segmentación en ventanas. La primera ventana corresponde a la ventana 1500, por ejemplo, en la fig.
13, la segunda ventana corresponde a la ventana 1502 y se realiza una conmutación, sin tener que hacer referencia a una determinada ubicación de transitorios, a un número de terceras funciones ventana solamente cuando en cualquier parte de la trama actual se detecta un transitorio sin saber exactamente dónde se encuentra el transitorio dentro de la trama.
[0119] Sin embargo, se prefiere, con el fin de mantener el número de terceras funciones ventana tan pequeño como sea posible, que la conmutación en el modo de parte de superposición múltiple y la conmutación adicional de la superposición de transformadas y la selección de longitud de transformada se lleve a cabo en función de la ubicación específica del transitorio dentro de la trama, es decir, en una entre, preferentemente, cuatro o incluso ocho partes diferentes de una trama, o de una parte de tiempo correspondiente a una trama, donde esta parte de tiempo es entonces igual a la mitad del tamaño de una ventana larga, tal como una ventana larga 1500 de la fig. 13. Preferentemente, la parte de superposición múltiple, como puede verse en la fig. 13, está situada antes de un inicio 208 (ilustrado en la fig. 2 por un lado y la fig.13 por otro lado) de la zona de anticipación.
[0120] En el lado del descodificador, se realiza un procesamiento análogo. En una realización de un aparato para descodificar una señal de audio codificada 821, que comprende una primera trama codificada y una segunda trama codificada, un procesador de descodificación 824 de la fig. 8b es necesario para procesar la primera trama codificada y la segunda trama codificada y obtener una primera trama de valores espectrales y una segunda trama de valores espectrales, la primera trama y la segunda tramas que comprenden partes de aliasing. Un convertidor de tiempo 826 está conectado al procesador decodificado 824 y el convertidor de tiempo 826 está configurado para aplicar una transformada a esta primera trama utilizando una primera función ventana para obtener un primer bloque de muestras. Además, el convertidor de tiempo 826 está configurado para aplicar la transformada a una primera parte de la segunda trama utilizando una segunda función ventana y para aplicar la transformada a una segunda parte de la segunda trama utilizando una o más terceras funciones ventana para obtener el segundo bloque de las muestras. Como se ha analizado en el contexto de la fig. 1a, la primera función ventana 1500, la segunda función ventana 1502 y la una o más terceras funciones ventana 1503 conjuntamente tienen una zona de superposición múltiple 1300.
[0121] Además, el descodificador comprende un posprocesador 828 para posprocesar el segundo bloque de muestras utilizando una operación de despliegue y obtener un segundo bloque de muestras posprocesadas que tiene una parte del segundo bloque de muestras que se superpone con el primer bloque de muestras en la zona de superposición múltiple. Además, el posprocesador 828 está configurado para segmentar en ventanas el segundo bloque de muestras posprocesadas utilizando la función ventana auxiliar analizada en el contexto de la fig. 8a y la fig.
11a. El posprocesador 828 realiza una suma de superposición del segundo bloque de muestras procesadas segmentado en ventanas y el primer bloque de muestras para obtener la señal de audio descodificada indicada en
829 de la fig. 8b o en el bloque 175 de la fig. 1c. Así, básicamente, el posprocesador 828 de la fig. 8b puede tener la funcionalidad del dispositivo de segmentación en ventanas de síntesis 172 con respecto a la función ventana auxiliar y el sumador de superposición 174.
[0122] Posteriormente, se analiza la funcionalidad del posprocesador en cooperación con el convertidor de tiempo con respecto a la ilustración de la fig. 11b que ilustra un procesamiento inverso con respecto a la fig. 11a una ilustración del codificador. La primera trama de valores espectrales 1142 se introduce en una transformada inversa 1161 de tamaño N y la primera parte 1152 de la segunda trama se introduce en una transformada inversa N/21162 y en función del número de terceras funciones ventana, la segunda parte 1155 de la segunda trama o bien se introduce en cuatro transformadas cortas N/8 1163 o una única transformada N/2 1162 similar a la primera parte 1152 de la segunda trama.
[0123] Este procedimiento es realizado por el convertidor de tiempo. El convertidor de tiempo utiliza adicionalmente la primera función ventana para realizar la segmentación en ventanas junto con una operación de despliegue realizada antes que se ilustra en 1170 en la fig. 11b. Además, la segunda función ventana se utiliza cuando se aplican los procedimientos a la primera parte 1152 ilustrada en 1172. Específicamente, se realiza el despliegue específicamente de la parte más derecha 1173 de la segunda función ventana y se realiza la segunda segmentación en ventanas posterior, mientras que, en el lado izquierdo de la trama, no se realiza ningún despliegue interno. Además, la transformada realiza un despliegue específico y subsiguiente segmentación en ventanas y la suma de superposición adicional no solo con la primera parte 1152 de la segunda trama, sino también con la segunda parte 1155 de la segunda trama como se ilustra en 1172 en la fig. 11b. Si solo hay una única tercera función ventana ilustrada en la subimagen f) de la fig. 11 b, entonces solo se realiza una única operación de despliegue de ambos lados junto con la segmentación en ventanas, utilizando la parte derecha de la segunda función ventana y la parte izquierda de la tercera función ventana y la posterior suma de superposición dentro del intervalo de superposición 1174.
[0124] Después, el posprocesador aplica el posprocesamiento utilizando la operación de despliegue ilustrada en 1175 con la primera parte del resultado del procedimiento en 1172 para obtener una parte 1176a que se extiende en la trama anterior y, preferentemente, 1176b que se extiende en la trama siguiente. A continuación, se realiza la segmentación en ventanas con la parte desplegada 1176a, 1176b y, por supuesto, con la parte dentro de la trama actual i utilizando la función ventana auxiliar para obtener el estado ilustrado en 1175. A continuación, se realiza una suma de superposición final del segundo bloque de muestras posprocesadas segmentadas en ventanas con la función ventana auxiliar y el primer bloque de muestras, en y dentro del intervalo de superposición 1180 para obtener la señal de audio descodificada final correspondiente a este intervalo de superposición 1180. Además, este procedimiento da lugar adicionalmente a una parte posterior de muestras de señal de audio descodificadas 1181 debido al hecho de que no hay superposición y la sección siguiente 1182 se obtiene mediante la superposición con la parte correspondiente de una función ventana para la trama i 1, que sigue a la trama i en el tiempo.
[0125] De este modo, como se ilustra en la fig. 10a, el procedimiento del lado del descodificador comprende aplicar 1000 una transformada a la primera trama utilizando la primera función ventana y aplicar 1010 la transformada a la primera parte de la segunda trama utilizando la segunda función ventana y aplicar 1020 la transformada a la segunda parte de la segunda trama utilizando la tercera o terceras funciones ventana. A continuación, en la etapa 1030 se realiza una operación de despliegue y en la etapa 1040 se realiza una segmentación en ventanas utilizando la función ventana auxiliar y, finalmente, en la etapa 1050 se realiza una suma de superposición del segundo bloque posprocesado segmentado en ventanas y el primer bloque para obtener la señal de audio descodificada al final del procesamiento ilustrado, por ejemplo, en la fig. 11 b.
[0126] Como se ilustra en la fig. 10b, las realizaciones preferidas comprenden realizar una operación de DCT inversa para cada parte de la segunda trama, es decir, realizar varias operaciones de DCT con longitudes más cortas con respecto a la trama anterior i - 1, donde se utilizó una ventana larga 1500. En la etapa 1070 se realiza un despliegue de las partes de aliasing internas como la operación ilustrada en 1172 y el despliegue es, preferentemente, una réplica en el límite correspondiente ilustrado como líneas verticales en la línea indicada por 1172 en la fig. 11b. A continuación, en la etapa 1080, se lleva a cabo una segmentación en ventanas utilizando la segunda y tercera funciones ventana dentro del bloque 1184 y la posterior suma de superposición del resultado de la segmentación en ventanas dentro del bloque se realiza como se ilustra en 1090. Entonces, como se indica en 192, se realiza un despliegue de la derecha/izquierda o, dicho de otro modo, de las partes de aliasing anterior/posterior del resultado de la suma de superposición con el fin de obtener la parte 1176a que se extiende en la trama anterior y la parte 1176b que se extiende en la trama siguiente. Sin embargo, la representación en 1175 solo es posterior a la segmentación en ventanas que utiliza la función ventana auxiliar ilustrada en 1094. A continuación, en la etapa 1906, se realiza una superposición con el primer bloque de muestras posterior a la segmentación en ventanas que utiliza la función ventana auxiliar.
[0127] Posteriormente, se hace referencia a la fig. 12a y la fig. 12b. El punto a en la fig. 12a corresponde al procedimiento de la primera línea de la fig. 11a. El procedimiento en la subimagen b) corresponde al procedimiento realizado en la segunda y tercera líneas de la fig. 11a y los procedimientos ilustrados en el punto c) de la fig. 12a corresponden a los procedimientos de las dos últimas líneas de la fig. 11a. De forma análoga, la representación del lado del descodificador corresponde a la fig. 12b. En particular, las dos primeras líneas de la fig. 11b corresponden a la subimagen f) de la fig. 12b. La tercera y cuarta líneas corresponden al punto e) de la fig. 12b y la última línea de la fig. 12b corresponde a la última línea de la fig. 11b.
[0128] La fig. 14a ilustra una situación en la que el controlador de secuencia de ventanas en el lado del codificador o los elementos 824, 826, 828 del lado del descodificador están configurados para conmutar entre una situación de no superposición múltiple como en la fig. 14a y una situación de superposición múltiple ilustrada en la fig.
14b. Por lo tanto, cuando se detecta un transitorio en la parte de transitorios 0, un procedimiento es no aplicar la parte de superposición múltiple, sino conmutar a ventanas cortas de superposición única TCX-10 a partir de ventanas TCX-20. Preferentemente, sin embargo, se realiza una conmutación a una parte de superposición múltiple aplicando una secuencia de ventanas que comprende la primera ventana 1400, la segunda ventana 1402 y una o, en la realización de la fig. 14b, dos terceras ventanas 1403.
[0129] Las superposiciones y tamaños de la ventana de la fig. 14b son algo diferentes de la ilustración de la fig. 13, pero queda claro que los procedimientos generales con respecto al lado del codificador en la fig. 11a o el lado del descodificador en la fig. 11 b tienen lugar de la misma manera.
[0130] Posteriormente, se analiza la fig. 15. Específicamente, la fig. 15 ilustra, como las cajas negras, una anticipación de detección de transitorios 1590 y la duración del pre-eco resultante 1595. La fig. 15a ilustra una secuencia tradicional High-Efficiency-AAC-type que comprende una ventana de inicio largo, ocho ventanas cortas, una ventana de parada larga y así sucesivamente. La anticipación necesaria es alta y asciende a N N/2 N/16, pero el pre-eco 1595 es pequeño. De forma análoga, la fig. 15b ilustra un procedimiento tradicional de detección de transitorios AAC low delay-type que da como resultado una secuencia de ventanas que comprende una secuencia larga, una ventana de inicio largo, una ventana con superposición baja y una ventana de parada larga. La anticipación de detección de transitorios es la misma que en la fig. 15a, pero la duración del pre-eco es más larga que en la fig. 15a. Por otra parte, sin embargo, la eficacia es mayor debido al hecho de que cuando se utilizan ventanas más cortas, la eficacia de la velocidad binaria es menor.
[0131] La fig. 15c y 15d ilustran una implementación del High-Efficiency AAC o un procedimiento de AAC-low delay con una anticipación reducida de detección de transitorios de N/16 muestras y solo se muestran secuencias largas posibles con una anticipación reducida de detección de transitorios de N/16 muestras. Si la secuencia consiste en una ventana larga, una ventana larga, una ventana de inicio largo, una ventana de parada larga, y así sucesivamente, como se ilustra en la fig. 15d, solo el posteco se reduce en comparación con la fig. 15c, pero el pre eco 1595 es el mismo. Por lo tanto, la fig. 15c, d, ilustran una anticipación corta similar a las figs. 15e y 15f de la invención. Si ahora se implementa la parte de superposición múltiple como en las figs. 15c y 15e, entonces solo se pueden utilizar secuencias como en esas figuras, pero cualquier conmutación a una ventana corta no es posible. De este modo, la parte de superposición múltiple permite conmutar a ventanas cortas para reducir los pre-ecos/postecos, o utilizar un retardo de anticipación corto, o ambas características para reducir el retardo y reducir los pre y post-ecos.
[0132] La fig. 15e ilustra una secuencia de High-Efficiency AAC con una detección reducida de transitorios frente a las N/16 muestras y la zona de superposición múltiple preferida 1300. La secuencia comprende una ventana larga, otra ventana larga 1500, otra secuencia de inicio 1502, cuatro secuencias cortas 1503 y una ventana de parada larga 1504. Como queda claro, la anticipación es pequeña, así como lo es el pre-eco. Se obtiene una situación similar para la fig. 15f que ilustra una configuración similar a la de la fig. 15e, pero con solo una única tercera función ventana en lugar de cuatro secuencias cortas.
[0133] Aunque la presente invención se ha descrito en el contexto de diagramas de bloques en los que los bloques representan componentes de hardware reales o lógicos, la presente invención también puede implementarse mediante un procedimiento implementado por ordenador. En este último caso, los bloques representan las etapas del procedimiento correspondientes en las que estas etapas representan las funcionalidades realizadas por bloques de hardware lógico o físico correspondientes.
[0134] Aunque se han descrito algunos aspectos en el contexto de un aparato, es evidente que estos aspectos también representan una descripción del procedimiento correspondiente, donde un bloque o dispositivo se
corresponde con una etapa del procedimiento o una característica de una etapa del procedimiento. De forma análoga, los aspectos que se describen en el contexto de una etapa del procedimiento también representan una descripción de un bloque correspondiente o un punto o característica del aparato correspondiente. Algunas o todas las etapas del procedimiento se pueden ejecutar con (o utilizando) un aparato de hardware, como, por ejemplo, un microprocesador, un ordenador programable o un circuito electrónico. En algunas realizaciones, una o más de las etapas más importantes del procedimiento se pueden ejecutar con dicho aparato.
[0135] La señal codificada o transmitida de la invención se puede almacenar en un medio de almacenamiento digital o se puede transmitir con un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión por cable como Internet.
[0136] En función de ciertos requisitos de implementación, las realizaciones de la invención se pueden implementar en hardware o en software. La implementación puede realizarse utilizando un medio de almacenamiento digital, por ejemplo, un disquete, un DVD, un Blu-Ray, un CD, una ROM, una PROM, una EPROM, una EEPROM o una memoria FLASH, que tiene señales de control legibles electrónicamente y almacenadas en el mismo, que coopera (o es capaz de cooperar) con un sistema informático programable de tal manera que se lleve a cabo el procedimiento respectivo. Por lo tanto, el medio de almacenamiento digital puede ser legible mediante ordenador.
[0137] Algunas realizaciones según la invención comprenden un soporte de datos que tiene señales de control legibles electrónicamente y que son capaces de cooperar con un sistema informático programable, de tal manera que se lleve a cabo uno de los procedimientos descritos en este documento.
[0138] En general las realizaciones de la presente invención se pueden implementar como un producto de programa informático con un código de programa, siendo el código de programa operativo para llevar a cabo uno de los procedimientos cuando el producto de programa informático se ejecuta en un ordenador. El código de programa se puede almacenar, por ejemplo, en un soporte legible por máquina.
[0139] Otras realizaciones comprenden el programa de ordenador para llevar a cabo uno de los procedimientos descritos en este documento, almacenado en un soporte legible por máquina.
[0140] En otras palabras, una realización del procedimiento de la invención es, por lo tanto, un programa informático que tiene un código de programa para realizar uno de los procedimientos descritos en este documento cuando el programa informático se ejecuta en un ordenador o un procesador.
[0141] Las realizaciones anteriormente descritas son meramente ilustrativas de los principios de la presente invención. Se entiende que las modificaciones y variaciones de las disposiciones y los detalles descritos en este documento serán evidentes para otros expertos en la técnica. La intención es, por lo tanto, estar limitado solo por el alcance de las reivindicaciones de patente inminentes y no por los detalles específicos presentados a modo de descripción y las explicaciones de las realizaciones de este documento.
Referencias
[0142]
[1] International Organization for Standardization, ISO/IEC 14496-32009, “Information Technology - Coding of audio visual objects - Part 3 Audio,” Geneva, Switzerland, Aug. 20096.
[2] Internet Engineering Task Force (IETF), RFC 6716, “Definition of the Opus Audio Codec,” Proposed Standard, Sep.
2012. Disponible en línea en http://tools.ietf.org/html/rfc6716.
[3] C. R. Heimrich, “On the Use of Sums of Sines in the Signal Windows,” in Proc. of the 13th Int. Conference on Digital Audio Effects (DAFx-10), Graz, Austria, Sep. 2010.
[4] J. Herre y J. D. Johnston, “Enhancing the Performance of Perceptual Audio Coders by Using Temporal Noise Shaping (TNS),” in Proc. 101 st AES Convention, LA, USA, Nov. 1996
[5] M. Neuendorf y col., “MPEG Unified Speech and Audio Coding - The ISO/MPEG Standard for High-Efficiency Audio Coding of All Content Types,” in Proc 132nd Convention of the AES, Budapest, Hungary, Apr. 2012. También aparecerá en el Journal de la AES, 2013.
Claims (34)
1. Aparato para codificar una señal de audio que comprende:
un dispositivo de segmentación en ventanas controlable (102) para segmentar en ventanas la señal de audio para proporcionar una secuencia de bloques de muestras segmentadas en ventanas;
un convertidor (104) para convertir la secuencia de bloques de muestras segmentadas en ventanas en una representación espectral que comprende una secuencia de tramas de valores espectrales;
un detector de ubicación de transitorios (106) para identificar una ubicación de un transitorio dentro de una zona de anticipación de transitorios de una trama; y
un controlador (108) para controlar el dispositivo de segmentación en ventanas controlable (102) para aplicar una ventana específica que tiene una longitud de superposición especificada a la señal de audio en respuesta a una ubicación identificada (210-213) del transitorio,
en el que el controlador (108) está configurado para seleccionar la ventana específica a partir de un grupo de al menos tres ventanas que comprende una primera ventana (201) que tiene una primera longitud de superposición (203), una segunda ventana (215) que tiene una segunda longitud de superposición (218), y una tercera ventana (224) que tiene una tercera longitud de superposición (229) o que no tiene ninguna superposición,
en el que la primera longitud de superposición (203) es mayor que la segunda longitud de superposición (218), y en el que la segunda longitud de superposición (218) es mayor que la tercera longitud de superposición (229) o mayor que una superposición de cero,
en el que la ventana específica se selecciona en base a la ubicación del transitorio de manera que una de dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la primera ventana en la ubicación del transitorio y la otra de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la segunda ventana en la ubicación del transitorio, en el que los coeficientes de la segunda ventana son al menos nueve veces mayores que los coeficientes de la primera ventana.
2. Aparato de la reivindicación 1, en el que el controlador (108) está configurado para seleccionar la ventana específica de manera que los coeficientes de la segunda ventana sean iguales a 1 y los coeficientes de la primera ventana sean iguales a cero.
3. Aparato de la reivindicación 1 o 2, en el que la primera longitud de superposición es igual a un cuarto o una tercera parte o una mitad de una longitud de la ventana específica, en el que la segunda longitud de superposición es igual a una mitad o una tercera parte de la primera longitud de superposición, y en el que la tercera longitud de superposición es una mitad o un cuarto o una octava parte de la segunda longitud de superposición o inferior a o igual a 1,25 milisegundos.
4. Aparato según una de las reivindicaciones anteriores, que comprende además una interfaz de salida (114) para asociar una información de ventana (112) proporcionada por el controlador (108) con una representación codificada de la representación espectral que comprende una secuencia de bloques codificados de valores espectrales.
5. Aparato de una de las reivindicaciones anteriores,
en el que el convertidor (104) está configurado para llevar a cabo una transformada discreta del coseno modificada o una transformada discreta del seno modificada, en el que un número de valores espectrales en un bloque de valores espectrales es inferior a un número de muestras segmentadas en ventanas en un bloque de muestras segmentadas en ventanas.
6. Aparato de una de las reivindicaciones anteriores, en el que el controlador (108) está configurado para controlar el dispositivo de segmentación en ventanas (102) de tal modo que se mantenga un ráster de trama constante en la secuencia de bloques que comprende al menos cinco tramas, en el que una trama tiene una longitud que es igual a una longitud de la primera ventana o que es igual a la longitud de la primera ventana dividida por un múltiplo entero de dos, y
en el que la zona de anticipación de transitorios se extiende desde una ubicación en la trama actual hasta una ubicación en una trama siguiente, estando la ubicación en el centro de la trama o desplazada del centro de la trama en menos de o igual al 25 % de las muestras de una trama.
7. Aparato según una de las reivindicaciones anteriores,
en el que el detector de ubicación de transitorios (106) está configurado para aplicar la zona de anticipación de transitorios que se extiende por toda una trama y para distinguir al menos cuatro cuartos, y en el que el controlador
(108) está configurado para seleccionar la primera ventana, cuando no se detecta ningún transitorio, para seleccionar la segunda ventana, cuando se detecta un transitorio en el primer o cuarto cuarto y para seleccionar la tercera ventana, cuando se detecta un transitorio en el segundo o el tercer cuarto.
8. Aparato según una de las reivindicaciones anteriores,
en el que el controlador (108) está configurado para determinar la ventana específica de manera que se elija un ancho de superposición de tal modo que solo una de dos ventanas superpuestas adyacentes en el tiempo contenga el transitorio detectado.
9. Aparato según una de las reivindicaciones anteriores,
en el que el detector de ubicación de transitorios (106) está configurado para detectar la ubicación del transitorio dentro de la zona de anticipación de transitorios de manera que la ubicación del transitorio coincida con un comienzo o un inicio del transitorio o coincida con una ubicación de tiempo de una amplitud o energía máxima o un centro de una energía del transitorio.
10. Aparato de una de las reivindicaciones anteriores,
en el que el detector de ubicación de transitorios (106) está configurado para utilizar una zona de anticipación de transitorios que cubra una segunda parte de una trama actual y una primera parte de una trama siguiente, en el que el detector de ubicación de transitorios (106) está configurado para identificar ocho ubicaciones de transitorios diferentes identificadas por un índice de cero a siete,
en el que el controlador (108) está configurado para seleccionar la segunda ventana, cuando el índice de transitorio es siete o para seleccionar la tercera ventana, cuando el índice de transitorio es seis.
11. Aparato de una de las reivindicaciones anteriores,
en el que el detector de ubicación de transitorios (106) está configurado para utilizar una zona de anticipación de transitorios que cubra una segunda parte de una trama actual y una primera parte de una trama siguiente, en el que el detector de ubicación de transitorios (106) está configurado para identificar ocho ubicaciones de transitorios diferentes identificadas por un índice de cero a siete,
en el que el controlador está configurado para seleccionar la primera ventana, cuando no se detecta ningún transitorio, para seleccionar la segunda ventana, cuando el índice de transitorio es igual a cero, uno, seis, siete, o para seleccionar la tercera ventana, cuando el índice de transitorio es igual a dos, tres, cuatro, cinco.
12. Aparato de una de las reivindicaciones anteriores,
en el que el controlador (108) está configurado para seleccionar un número de ventanas específicas para una trama de manera que un número de valores espectrales obtenidos por una pluralidad de ventanas para una trama sea igual al número de valores espectrales obtenidos convirtiendo una función ventana que tenga el primer tamaño de ventana, en el que las ventanas primera a tercera tienen un primer tamaño de ventana idéntico, y en el que una trama está definida por el tamaño de ventana idéntico, y en el que el grupo comprende una cuarta ventana y una quinta ventana, teniendo la cuarta ventana y la quinta ventana un segundo tamaño de ventana idéntico, siendo el segundo tamaño de ventana una fracción entera del primer tamaño de ventana, y en el que la cuarta ventana tiene una cuarta longitud de superposición y la quinta ventana tiene una quinta longitud de superposición inferior a la cuarta longitud de superposición.
13. Aparato de una de las reivindicaciones anteriores,
en el que el controlador (1085) está configurado para determinar, en base a la ubicación de transitorios, una información de ancho de superposición (602) y una información de transformada corta/larga (600),
en el que la información de ancho de superposición (602) se determina para tener un primer valor que indica un ancho de superposición máximo, un segundo valor que indica un ancho de superposición medio y un tercer valor que indica un ancho de superposición mínimo, en el que la información de transformada corta/larga (600) comprende una identificación para una ventana larga o una ventana corta para una trama que tiene más de una transformada, y en el que el controlador (108) está configurado para determinar una única ventana para una trama o una secuencia de dos, tres o cuatro ventanas para la trama (608) en base a la información de ancho de superposición (602) y la información de transformada corta/larga (600).
14. Aparato de una de las reivindicaciones anteriores,
en el que el controlador (108) está configurado para determinar un número de transformadas y longitudes correspondientes de las transformadas para una trama en respuesta a una ubicación de un transitorio identificado (605),
en el que el controlador (108) está configurado para determinar el número y longitudes de la transformada para una
trama de tal manera que un número de valores espectrales obtenidos por las transformadas para la trama sea igual a un número de valores espectrales obtenidos por la longitud de transformada más larga asociada con una función ventana de superposición máxima.
15. Aparato de una de las reivindicaciones anteriores,
en el que el controlador (108) está configurado para determinar una longitud y un número de transformadas o para seleccionar una ventana específica de manera que una zona de superposición múltiple que se extiende por una pluralidad de muestras se obtenga dentro de la trama de manera que la pluralidad de muestras se segmente en al menos tres ventanas superpuestas (1500, 1502, 1503).
16. Aparato de una de las reivindicaciones anteriores,
en el que el controlador (108) está configurado para determinar la longitud y número de transformadas o para seleccionar la ventana específica de manera que se determine la zona de superposición múltiple, en el que un transitorio se ubica en una ubicación de la zona de anticipación de transitorios correspondiente a una zona que se extiende por el 30 % de las muestras de la trama alrededor del centro de la trama.
17. Descodificador para descodificar una señal de audio que comprende una secuencia de bloques de muestras segmentadas en ventanas convertidas e información de ventana asociada (160) que identifica una función ventana específica para un bloque de al menos tres funciones ventana diferentes, que comprende:
un procesador (156) para proporcionar una secuencia de bloques de valores espectrales;
un convertidor controlable (158) para convertir la secuencia de bloques de valores espectrales en una representación en el dominio del tiempo utilizando un procesamiento de suma de superposición,
en el que el convertidor controlable (158) es controlado por la información de ventana para aplicar funciones ventana indicadas por la información de ventana al bloque correspondiente para calcular una señal de audio descodificada, en el que la ventana se selecciona de un grupo de al menos tres ventanas que comprende una primera ventana (201) que tiene una primera longitud de superposición (203), una segunda ventana (215) que tiene una segunda longitud de superposición (218), y una tercera ventana (224) que tiene una tercera longitud de superposición (229) o que no tiene ninguna superposición, en el que la primera longitud de superposición (203) es mayor que la segunda longitud de superposición (218), y en el que la segunda longitud de superposición (218) es mayor que la tercera longitud de superposición (229) o mayor que una superposición de cero,
en el que la ventana específica se selecciona en base a una ubicación de un transitorio de tal manera que una de dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la primera ventana en la ubicación del transitorio y la otra de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la segunda ventana en la ubicación del transitorio, en el que los coeficientes de la segunda ventana son al menos nueve veces mayores que los coeficientes de la primera ventana.
18. Descodificador de la reivindicación 17, en el que el convertidor controlable (158) comprende:
un convertidor de tiempo-frecuencia (170) para convertir los bloques de valores espectrales en una representación en el tiempo; un dispositivo de segmentación en ventanas de síntesis (172) para aplicar una función ventana de síntesis a la representación en el tiempo del bloque de valores espectrales; y
un sumador de superposición (174) para superponer y sumar representaciones en el tiempo de ventanas adyacentes en el tiempo para obtener la señal de audio descodificada,
en el que el dispositivo de segmentación en ventanas de síntesis (172), el sumador de superposición (174) o el convertidor de tiempo-frecuencia (170) son controlados por la información de ventana asociada para aplicar la ventana de síntesis y una superposición como indica la información de ventana (160).
19. Descodificador de la reivindicación 18,
en el que la información de ventana (603) comprende una información de longitud de transformada (600) y una información de superposición (602),
en el que un controlador (180) está configurado para determinar una superposición y una ventana para un bloque de valores espectrales en base a una información de ventana anterior (606) y una información de ventana actual (607), en el que una información de ventana actual (607) indica una primera transformada que tiene una primera longitud de transformada o bien dos segundas transformadas cada una con una segunda longitud de transformada, o una segunda transformada que tiene la segunda longitud de transformada y dos terceras transformadas cada una con una tercera longitud de transformada o cuatro transformadas que tienen la tercera longitud de transformada,
en el que la primera longitud de transformada es el doble de tamaño de la segunda longitud de transformada, y en el que la segunda longitud de transformada es el doble de tamaño de la tercera longitud de transformada.
20. Descodificador de una de las reivindicaciones 17 a 19,
en el que la información de ventana (603) comprende una información de superposición anterior (606) que indica una superposición de una parte posterior de una función ventana anterior, y en el que la información de ventana comprende una información de superposición actual (607) que indica una superposición de una parte posterior, en el que el controlador (180) está configurado para determinar una parte anterior de una ventana que sigue inmediatamente a la ventana anterior en conformidad con la información de superposición de la parte posterior de la ventana anterior.
21. Descodificador de una de las reivindicaciones anteriores,
en el que la información de ventana para una trama actual indica una información de longitud de transformada (600) requiriéndose una segunda longitud de transformada que sea más pequeña que una primera longitud de transformada que define la trama,
en el que el convertidor controlable (158) está configurado para aplicar una secuencia de dos o cuatro ventanas asociadas con una tercera longitud de transformada, en el que una superposición entre dos ventanas adyacentes en el tiempo asociadas con la tercera longitud de transformada es la tercera longitud de superposición, y en el que la tercera longitud de transformada es inferior a la segunda longitud de transformada.
22. Descodificador de una de las reivindicaciones 17 a 21,
en el que la primera ventana, la segunda ventana y la tercera ventana tienen asociado el mismo tamaño de transformada que define una trama,
en el que la primera longitud de superposición es un cuarto o una tercera parte o una mitad de una longitud de la primera ventana, en el que la segunda longitud de superposición es una mitad o una tercera parte de la primera longitud de superposición, y en el que la tercera longitud de superposición es una mitad o un cuarto o una octava parte de la segunda longitud de superposición o inferior a o igual a 1,25 milisegundos.
23. Descodificador de la reivindicación 22,
en el que el convertidor controlable (158) está configurado para aplicar, en respuesta a la información de ventana, una cuarta ventana que tiene la primera longitud de superposición, en el que la cuarta ventana tiene asociado un tamaño de transformada que es la mitad del tamaño de transformada de las ventanas primera a tercera, o
en el que el convertidor controlable (158) está configurado para aplicar, en respuesta a la información de ventana, una quinta ventana que tiene la segunda longitud de superposición y una sexta ventana que tiene la tercera longitud de superposición, en el que la quinta ventana y la sexta ventana tienen asociado el mismo tamaño de transformada que es un cuarto del tamaño de transformada de las ventanas primera a tercera.
24. Descodificador de la reivindicación 23,
en el que el convertidor controlable (158) está configurado para aplicar, en respuesta a la información de ventana, una secuencia de una única cuarta ventana y dos sextas ventanas, en el que las dos sextas ventanas tienen la tercera longitud de superposición en partes de ventanas superpuestas.
25. Descodificador de la reivindicación 23,
en el que el convertidor controlable (158) está configurado para aplicar, en respuesta a la información de ventana (603), una secuencia de ventanas que comprende en orden:
una primera ventana, una cuarta ventana, una sexta ventana y una quinta ventana (708),
una primera ventana, una cuarta ventana y dos sextas ventanas (710),
una segunda ventana, una quinta ventana, dos sextas ventanas y una quinta ventana (704),
una tercera ventana y cuatro sextas ventanas (706);
una tercera ventana, dos sextas ventanas, y una cuarta ventana (700),
una tercera ventana, tres sextas ventanas, y una quinta ventana (702);
una primera ventana y una segunda ventana, o viceversa,
una primera ventana, una tercera ventana o viceversa, o
una segunda ventana y una tercera ventana, o viceversa.
26. Descodificador de una de las reivindicaciones 17 a 25,
en el que la indicación de ventana (603) está asociada con cada trama de la señal de audio codificada, en el que una trama está definida por una transformada asociada con la primera ventana,
en el que la indicación de ventana (603) es un código de longitud variable que tiene un bit para una longitud de transformada (600) y un único o 2 bits para una longitud de superposición (602),
en el que el convertidor controlable (158) está configurado para aplicar una secuencia de ventanas definida por una
longitud de superposición de una identificación de ventana anterior (606) y por una longitud de superposición y una longitud de transformada de una indicación de ventana actual (607) que sigue inmediatamente a la indicación de ventana anterior (606) en la señal de audio codificada.
27. Descodificador de una de las reivindicaciones 17 a 26,
en el que el convertidor controlable (158) está configurado para llevar a cabo una transformada discreta del coseno modificada inversa o una transformada discreta del seno modificada inversa o cualquier otra transformada de reducción de aliasing con una funcionalidad de superposición y suma.
28. Descodificador de una de las reivindicaciones 17 a 27,
en el que la primera longitud de superposición comprende 256 muestras o aproximadamente 10 ms, en el que la segunda longitud de superposición comprende 128 muestras o aproximadamente 5 ms y en el que la tercera longitud de superposición comprende 16 muestras o aproximadamente 0,6 ms, y en el que la longitud de trama comprende 512 muestras o aproximadamente 20 ms.
29. Descodificador de una de las reivindicaciones 17 a 28,
en el que una primera longitud de transformada comprende 512 coeficientes MDCT o MDST, en el que una segunda longitud de transformada comprende 256 coeficientes MDCT o MDST, y en el que una tercera longitud de transformada comprende 128 coeficientes MdCT o MDST.
30. Descodificador de una de las reivindicaciones 17 a 26, que comprende además:
un aparato para codificar una señal de audio de una de las reivindicaciones 1 a 16.
31. Descodificador de la reivindicación 30,
en el que las ventanas utilizadas en el aparato para codificar son idénticas a ventanas correspondientes utilizadas en el descodificador, y
en el que el descodificador tiene una memoria de solo lectura (197), en la que solo un único conjunto de ventanas se almacena para su uso en el aparato para codificar y el descodificador.
32. Procedimiento para codificar una señal de audio, que comprende:
segmentar en ventanas (102) la señal de audio para proporcionar una secuencia de bloques de muestras segmentadas en ventanas;
convertir (104) la secuencia de bloques de muestras segmentadas en ventanas en una representación espectral que comprende una secuencia de tramas de valores espectrales;
identificar (106) una ubicación de un transitorio dentro de una zona de anticipación de transitorios de una trama; y controlar (108) la segmentación en ventanas (102) para aplicar una ventana específica que tenga una longitud de superposición especificada a la señal de audio en respuesta a una ubicación identificada (210-213) del transitorio, en el que la ventana específica se selecciona a partir de un grupo de al menos tres ventanas que comprende una primera ventana (201) que tiene una primera longitud de superposición (203), una segunda ventana (215) que tiene una segunda longitud de superposición (218), y una tercera ventana (224) que tiene una tercera longitud de superposición (229) o que no tiene ninguna superposición,
en el que la primera longitud de superposición (203) es mayor que la segunda longitud de superposición (218), y en el que la segunda longitud de superposición (218) es mayor que la tercera longitud de superposición (229) o mayor que una superposición de cero,
en el que la ventana específica se selecciona en base a la ubicación del transitorio de tal manera que una de dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la primera ventana en la ubicación del transitorio y la otra de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la segunda ventana en la ubicación del transitorio, en el que los coeficientes de la segunda ventana son al menos nueve veces mayores que los coeficientes de la primera ventana.
33. Procedimiento para descodificar una señal de audio que comprende una secuencia de bloques de muestras segmentadas en ventanas convertidas e información de ventana asociada (160) que identifica una función ventana específica para un bloque de al menos tres funciones ventana diferentes, que comprende: proporcionar (156) una secuencia de bloques de valores espectrales;
convertir (158) la secuencia de bloques de valores espectrales en una representación en el dominio del tiempo utilizando un procesamiento de suma de superposición,
en el que la conversión (158) es controlada por la información de ventana para aplicar funciones ventana indicadas
por la información de ventana al bloque correspondiente para calcular una señal de audio descodificada,
en el que la ventana se selecciona a partir de un grupo de al menos tres ventanas que comprende una primera ventana (201) que tiene una primera longitud de superposición (203), una segunda ventana (215) que tiene una segunda longitud de superposición (218), y una tercera ventana (224) que tiene una tercera longitud de superposición (229) o que no tiene ninguna superposición, en el que la primera longitud de superposición (203) es mayor que la segunda longitud de superposición (218), y en el que la segunda longitud de superposición (218) es mayor que la tercera longitud de superposición (229) o mayor que una superposición de cero,
en el que la ventana específica se selecciona en base a una ubicación de un transitorio de tal manera que una de dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la primera ventana en la ubicación del transitorio y la otra de las dos ventanas superpuestas adyacentes en el tiempo tenga los coeficientes de la segunda ventana en la ubicación del transitorio, en el que los coeficientes de la segunda ventana son al menos nueve veces mayores que los coeficientes de la primera ventana.
34. Programa informático para realizar, cuando se ejecuta en un ordenador o un procesador, el procedimiento de la reivindicación 32 o el procedimiento de la reivindicación 33.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361767115P | 2013-02-20 | 2013-02-20 | |
PCT/EP2014/053293 WO2014128197A1 (en) | 2013-02-20 | 2014-02-20 | Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2736309T3 true ES2736309T3 (es) | 2019-12-27 |
Family
ID=50179586
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14706529T Active ES2736309T3 (es) | 2013-02-20 | 2014-02-20 | Aparato y procedimiento para codificar o descodificar una señal de audio utilizando una superposición que depende de una ubicación de transitorios |
ES14706528.8T Active ES2634621T3 (es) | 2013-02-20 | 2014-02-20 | Aparato y procedimiento para generar una señal de audio o imagen codificada o para descodificar una señal de audio o imagen codificada en presencia de transitorios utilizando una parte de superposición múltiple |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES14706528.8T Active ES2634621T3 (es) | 2013-02-20 | 2014-02-20 | Aparato y procedimiento para generar una señal de audio o imagen codificada o para descodificar una señal de audio o imagen codificada en presencia de transitorios utilizando una parte de superposición múltiple |
Country Status (20)
Country | Link |
---|---|
US (7) | US9947329B2 (es) |
EP (4) | EP4375996A3 (es) |
JP (2) | JP6175148B2 (es) |
KR (2) | KR101764725B1 (es) |
CN (5) | CN110232929B (es) |
AR (2) | AR096576A1 (es) |
AU (2) | AU2014220722B2 (es) |
BR (2) | BR112015019543B1 (es) |
CA (2) | CA2901186C (es) |
ES (2) | ES2736309T3 (es) |
HK (2) | HK1218988A1 (es) |
MX (2) | MX348506B (es) |
MY (2) | MY185210A (es) |
PL (2) | PL2959481T3 (es) |
PT (2) | PT2959482T (es) |
RU (2) | RU2625560C2 (es) |
SG (2) | SG11201506542QA (es) |
TR (1) | TR201910956T4 (es) |
TW (2) | TWI550600B (es) |
WO (2) | WO2014128197A1 (es) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2830058A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Frequency-domain audio coding supporting transform length switching |
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 |
EP2980794A1 (en) | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder using a frequency domain processor and a time domain processor |
EP2980795A1 (en) * | 2014-07-28 | 2016-02-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor |
FR3024581A1 (fr) * | 2014-07-29 | 2016-02-05 | Orange | Determination d'un budget de codage d'une trame de transition lpd/fd |
EP3107096A1 (en) | 2015-06-16 | 2016-12-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Downscaled decoding |
WO2017050398A1 (en) * | 2015-09-25 | 2017-03-30 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and methods for signal-adaptive switching of the overlap ratio in audio transform coding |
EP3182411A1 (en) | 2015-12-14 | 2017-06-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for processing an encoded audio signal |
ES2727462T3 (es) * | 2016-01-22 | 2019-10-16 | Fraunhofer Ges Forschung | Aparatos y procedimientos para la codificación o decodificación de una señal multicanal de audio mediante el uso de repetición de muestreo de dominio espectral |
JP6976277B2 (ja) * | 2016-06-22 | 2021-12-08 | ドルビー・インターナショナル・アーベー | 第一の周波数領域から第二の周波数領域にデジタル・オーディオ信号を変換するためのオーディオ・デコーダおよび方法 |
US10210874B2 (en) * | 2017-02-03 | 2019-02-19 | Qualcomm Incorporated | Multi channel coding |
EP3382701A1 (en) | 2017-03-31 | 2018-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for post-processing an audio signal using prediction based shaping |
EP3382700A1 (en) * | 2017-03-31 | 2018-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for post-processing an audio signal using a transient location detection |
KR102615903B1 (ko) * | 2017-04-28 | 2023-12-19 | 디티에스, 인코포레이티드 | 오디오 코더 윈도우 및 변환 구현들 |
WO2019068915A1 (en) * | 2017-10-06 | 2019-04-11 | Sony Europe Limited | AUDIO FILE ENVELOPE BASED ON RMS POWER IN SUB-WINDOW SEQUENCES |
EP3483879A1 (en) * | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Analysis/synthesis windowing function for modulated lapped transformation |
TWI681384B (zh) * | 2018-08-01 | 2020-01-01 | 瑞昱半導體股份有限公司 | 音訊處理方法與音訊等化器 |
WO2020094263A1 (en) | 2018-11-05 | 2020-05-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and audio signal processor, for providing a processed audio signal representation, audio decoder, audio encoder, methods and computer programs |
CN113365057B (zh) * | 2019-03-09 | 2023-02-28 | 杭州海康威视数字技术股份有限公司 | 进行编码和解码的方法、解码端、编码端和*** |
WO2021027774A1 (en) | 2019-08-10 | 2021-02-18 | Beijing Bytedance Network Technology Co., Ltd. | Subpicture dependent signaling in video bitstreams |
CN114631317B (zh) | 2019-10-18 | 2024-03-15 | 北京字节跳动网络技术有限公司 | 子图片的参数集信令中的语法约束 |
CN112803959B (zh) * | 2019-11-13 | 2022-05-10 | 瑞昱半导体股份有限公司 | 收发电路与应用于收发电路的信号处理方法 |
US11942078B2 (en) | 2021-02-26 | 2024-03-26 | International Business Machines Corporation | Chunking and overlap decoding strategy for streaming RNN transducers for speech recognition |
Family Cites Families (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4920426A (en) * | 1986-11-10 | 1990-04-24 | Kokusai Denshin Denwa Co., Ltd. | Image coding system coding digital image signals by forming a histogram of a coefficient signal sequence to estimate an amount of information |
DE3902948A1 (de) | 1989-02-01 | 1990-08-09 | Telefunken Fernseh & Rundfunk | Verfahren zur uebertragung eines signals |
AU7041791A (en) * | 1989-10-06 | 1991-04-28 | Telefunken Fernseh Und Rundfunk Gmbh | Process for transmitting a signal |
US5502789A (en) | 1990-03-07 | 1996-03-26 | Sony Corporation | Apparatus for encoding digital data with reduction of perceptible noise |
CN1062963C (zh) * | 1990-04-12 | 2001-03-07 | 多尔拜实验特许公司 | 用于产生高质量声音信号的解码器和编码器 |
JP3186307B2 (ja) | 1993-03-09 | 2001-07-11 | ソニー株式会社 | 圧縮データ記録装置及び方法 |
US5701389A (en) * | 1995-01-31 | 1997-12-23 | Lucent Technologies, Inc. | Window switching based on interblock and intrablock frequency band energy |
KR0154387B1 (ko) | 1995-04-01 | 1998-11-16 | 김주용 | 음성다중 시스템을 적용한 디지탈 오디오 부호화기 |
JP3552811B2 (ja) * | 1995-09-29 | 2004-08-11 | 三菱電機株式会社 | ディジタル映像信号符号化装置および復号化装置 |
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 |
US6131084A (en) | 1997-03-14 | 2000-10-10 | Digital Voice Systems, Inc. | Dual subframe quantization of spectral magnitudes |
DE19736669C1 (de) | 1997-08-22 | 1998-10-22 | Fraunhofer Ges Forschung | Verfahren und Vorrichtung zum Erfassen eines Anschlags in einem zeitdiskreten Audiosignal sowie Vorrichtung und Verfahren zum Codieren eines Audiosignals |
JP2000000247A (ja) | 1998-06-15 | 2000-01-07 | Yoshihiro Adachi | ウルトラ ラグ スクリュー |
US6173255B1 (en) | 1998-08-18 | 2001-01-09 | Lockheed Martin Corporation | Synchronized overlap add voice processing using windows and one bit correlators |
DE10000934C1 (de) * | 2000-01-12 | 2001-09-27 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Bestimmen eines Codierungs-Blockrasters eines decodierten Signals |
JP2002118517A (ja) * | 2000-07-31 | 2002-04-19 | Sony Corp | 直交変換装置及び方法、逆直交変換装置及び方法、変換符号化装置及び方法、並びに復号装置及び方法 |
JP4596197B2 (ja) | 2000-08-02 | 2010-12-08 | ソニー株式会社 | ディジタル信号処理方法、学習方法及びそれらの装置並びにプログラム格納媒体 |
JP2004506947A (ja) * | 2000-08-16 | 2004-03-04 | ドルビー・ラボラトリーズ・ライセンシング・コーポレーション | 補足情報に応答するオーディオ又はビデオ知覚符号化システムのパラメータ変調 |
FR2822980B1 (fr) * | 2001-03-29 | 2003-07-04 | Ela Medical Sa | Procede de traitement de donnees d'electogrammes d'un dispositif medical implantable actif pour l'aide au diagnostic par un praticien |
MXPA03010237A (es) * | 2001-05-10 | 2004-03-16 | Dolby Lab Licensing Corp | Mejoramiento del funcionamiento de transitorios en sistemas de codificacion de audio de baja tasa de transferencia de bitios mediante la reduccion del pre-ruido. |
US7460993B2 (en) | 2001-12-14 | 2008-12-02 | Microsoft Corporation | Adaptive window-size selection in transform coding |
EP1394772A1 (en) | 2002-08-28 | 2004-03-03 | Deutsche Thomson-Brandt Gmbh | Signaling of window switchings in a MPEG layer 3 audio data stream |
US7876966B2 (en) | 2003-03-11 | 2011-01-25 | Spyder Navigations L.L.C. | Switching between coding schemes |
US7325023B2 (en) * | 2003-09-29 | 2008-01-29 | Sony Corporation | Method of making a window type decision based on MDCT data in audio encoding |
DE10345996A1 (de) | 2003-10-02 | 2005-04-28 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Verarbeiten von wenigstens zwei Eingangswerten |
EP1711938A1 (en) * | 2004-01-28 | 2006-10-18 | Koninklijke Philips Electronics N.V. | Audio signal decoding using complex-valued data |
WO2005091275A1 (en) * | 2004-03-17 | 2005-09-29 | Koninklijke Philips Electronics N.V. | Audio coding |
US8744862B2 (en) * | 2006-08-18 | 2014-06-03 | Digital Rise Technology Co., Ltd. | Window selection based on transient detection and location to provide variable time resolution in processing frame-based data |
US7630902B2 (en) * | 2004-09-17 | 2009-12-08 | Digital Rise Technology Co., Ltd. | Apparatus and methods for digital audio coding using codebook application ranges |
US7937271B2 (en) * | 2004-09-17 | 2011-05-03 | Digital Rise Technology Co., Ltd. | Audio decoding using variable-length codebook application ranges |
EP1793372B1 (en) * | 2004-10-26 | 2011-12-14 | Panasonic Corporation | Speech encoding apparatus and speech encoding method |
KR100668319B1 (ko) | 2004-12-07 | 2007-01-12 | 삼성전자주식회사 | 오디오 신호의 변환방법 및 장치와 오디오 신호에적응적인 부호화방법 및 장치, 오디오 신호의 역변환 방법및 장치와 오디오 신호에 적응적인 복호화 방법 및 장치 |
US7386445B2 (en) | 2005-01-18 | 2008-06-10 | Nokia Corporation | Compensation of transient effects in transform coding |
CN101124740B (zh) * | 2005-02-23 | 2012-05-30 | 艾利森电话股份有限公司 | 多声道音频信号编码和解码的方法和装置和音频传送*** |
RU2409874C9 (ru) * | 2005-11-04 | 2011-05-20 | Нокиа Корпорейшн | Сжатие звуковых сигналов |
JP2007304258A (ja) * | 2006-05-10 | 2007-11-22 | Matsushita Electric Ind Co Ltd | オーディオ信号符号化およびその復号化装置、方法ならびにプログラム |
US7987089B2 (en) * | 2006-07-31 | 2011-07-26 | Qualcomm Incorporated | Systems and methods for modifying a zero pad region of a windowed frame of an audio signal |
DE102006051673A1 (de) | 2006-11-02 | 2008-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale |
GB2443832B (en) | 2006-11-14 | 2010-08-18 | Schlumberger Holdings | Method and system of deploying one or more optical fiber waveguides in conjunction with a pipeline |
JP2008129250A (ja) * | 2006-11-20 | 2008-06-05 | National Chiao Tung Univ | Aacのためのウィンドウ切り替え方法およびm/s符号化の帯域決定方法 |
KR20080053739A (ko) | 2006-12-11 | 2008-06-16 | 삼성전자주식회사 | 적응적으로 윈도우 크기를 적용하는 부호화 장치 및 방법 |
CN101589623B (zh) | 2006-12-12 | 2013-03-13 | 弗劳恩霍夫应用研究促进协会 | 对表示时域数据流的数据段进行编码和解码的编码器、解码器以及方法 |
FR2911228A1 (fr) | 2007-01-05 | 2008-07-11 | France Telecom | Codage par transformee, utilisant des fenetres de ponderation et a faible retard. |
FR2911227A1 (fr) * | 2007-01-05 | 2008-07-11 | France Telecom | Codage par transformee, utilisant des fenetres de ponderation et a faible retard |
RU2459283C2 (ru) * | 2007-03-02 | 2012-08-20 | Панасоник Корпорэйшн | Кодирующее устройство, декодирующее устройство и способ |
EP2015293A1 (en) | 2007-06-14 | 2009-01-14 | Deutsche Thomson OHG | Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain |
CN101790756B (zh) * | 2007-08-27 | 2012-09-05 | 爱立信电话股份有限公司 | 瞬态检测器以及用于支持音频信号的编码的方法 |
JP5327982B2 (ja) * | 2008-03-25 | 2013-10-30 | 旭化成ケミカルズ株式会社 | エラストマー組成物及びエアバッグ装置の収納カバー |
US8447591B2 (en) | 2008-05-30 | 2013-05-21 | Microsoft Corporation | Factorization of overlapping tranforms into two block transforms |
RU2443028C2 (ru) | 2008-07-11 | 2012-02-20 | Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен | Устройство и способ расчета параметров расширения полосы пропускания посредством управления фреймами наклона спектра |
KR101227729B1 (ko) * | 2008-07-11 | 2013-01-29 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | 샘플 오디오 신호의 프레임을 인코딩하기 위한 오디오 인코더 및 디코더 |
MX2011000375A (es) * | 2008-07-11 | 2011-05-19 | Fraunhofer Ges Forschung | Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada. |
EP2144171B1 (en) * | 2008-07-11 | 2018-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding frames of a sampled audio signal |
EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
AU2013200679B2 (en) | 2008-07-11 | 2015-03-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder and decoder for encoding and decoding audio samples |
KR101250309B1 (ko) * | 2008-07-11 | 2013-04-04 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 에일리어싱 스위치 기법을 이용하여 오디오 신호를 인코딩/디코딩하는 장치 및 방법 |
AU2009267507B2 (en) * | 2008-07-11 | 2012-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and discriminator for classifying different segments of a signal |
EP2311032B1 (en) | 2008-07-11 | 2016-01-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder and decoder for encoding and decoding audio samples |
US8380498B2 (en) | 2008-09-06 | 2013-02-19 | GH Innovation, Inc. | Temporal envelope coding of energy attack signal by using attack point location |
KR101315617B1 (ko) | 2008-11-26 | 2013-10-08 | 광운대학교 산학협력단 | 모드 스위칭에 기초하여 윈도우 시퀀스를 처리하는 통합 음성/오디오 부/복호화기 |
US9384748B2 (en) * | 2008-11-26 | 2016-07-05 | Electronics And Telecommunications Research Institute | Unified Speech/Audio Codec (USAC) processing windows sequence based mode switching |
US8457975B2 (en) * | 2009-01-28 | 2013-06-04 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio decoder, audio encoder, methods for decoding and encoding an audio signal and computer program |
MX2011007925A (es) * | 2009-01-28 | 2011-08-17 | Dten Forschung E V Fraunhofer Ges Zur Foeerderung Der Angewan | Codificador de audio, decodificador de audio, información de audio codificada, métodos para la codificación y decodificación de una señal de audio y programa de computadora. |
EP2234103B1 (en) * | 2009-03-26 | 2011-09-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Device and method for manipulating an audio signal |
PL3352168T3 (pl) * | 2009-06-23 | 2021-03-08 | Voiceage Corporation | Postępowe tłumienie aliasingu w dziedzinie czasu z zastosowaniem w ważonej albo pierwotnej dziedzinie sygnału |
US8892427B2 (en) * | 2009-07-27 | 2014-11-18 | Industry-Academic Cooperation Foundation, Yonsei University | Method and an apparatus for processing an 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 |
KR101137652B1 (ko) * | 2009-10-14 | 2012-04-23 | 광운대학교 산학협력단 | 천이 구간에 기초하여 윈도우의 오버랩 영역을 조절하는 통합 음성/오디오 부호화/복호화 장치 및 방법 |
US9093066B2 (en) * | 2010-01-13 | 2015-07-28 | Voiceage Corporation | Forward time-domain aliasing cancellation using linear-predictive filtering to cancel time reversed and zero input responses of adjacent frames |
CN102222505B (zh) | 2010-04-13 | 2012-12-19 | 中兴通讯股份有限公司 | 可分层音频编解码方法***及瞬态信号可分层编解码方法 |
EP2591470B1 (en) | 2010-07-08 | 2018-12-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Coder using forward aliasing cancellation |
US20140046670A1 (en) * | 2012-06-04 | 2014-02-13 | Samsung Electronics Co., Ltd. | Audio encoding method and apparatus, audio decoding method and apparatus, and multimedia device employing the same |
KR20140075466A (ko) * | 2012-12-11 | 2014-06-19 | 삼성전자주식회사 | 오디오 신호의 인코딩 및 디코딩 방법, 및 오디오 신호의 인코딩 및 디코딩 장치 |
-
2014
- 2014-02-20 SG SG11201506542QA patent/SG11201506542QA/en unknown
- 2014-02-20 AU AU2014220722A patent/AU2014220722B2/en active Active
- 2014-02-20 WO PCT/EP2014/053293 patent/WO2014128197A1/en active Application Filing
- 2014-02-20 MX MX2015010596A patent/MX348506B/es active IP Right Grant
- 2014-02-20 EP EP24167580.0A patent/EP4375996A3/en active Pending
- 2014-02-20 RU RU2015139597A patent/RU2625560C2/ru active
- 2014-02-20 TR TR2019/10956T patent/TR201910956T4/tr unknown
- 2014-02-20 CA CA2901186A patent/CA2901186C/en active Active
- 2014-02-20 AR ARP140100545A patent/AR096576A1/es active IP Right Grant
- 2014-02-20 TW TW103105681A patent/TWI550600B/zh active
- 2014-02-20 RU RU2015139596A patent/RU2626666C2/ru active
- 2014-02-20 BR BR112015019543-1A patent/BR112015019543B1/pt active IP Right Grant
- 2014-02-20 PT PT14706529T patent/PT2959482T/pt unknown
- 2014-02-20 PL PL14706528T patent/PL2959481T3/pl unknown
- 2014-02-20 AR ARP140100544A patent/AR094845A1/es active IP Right Grant
- 2014-02-20 BR BR112015019270-0A patent/BR112015019270B1/pt active IP Right Grant
- 2014-02-20 JP JP2015558442A patent/JP6175148B2/ja active Active
- 2014-02-20 PT PT147065288T patent/PT2959481T/pt unknown
- 2014-02-20 CN CN201910452024.3A patent/CN110232929B/zh active Active
- 2014-02-20 SG SG11201506543WA patent/SG11201506543WA/en unknown
- 2014-02-20 EP EP14706529.6A patent/EP2959482B1/en active Active
- 2014-02-20 CN CN201910368646.8A patent/CN110097889B/zh active Active
- 2014-02-20 WO PCT/EP2014/053287 patent/WO2014128194A1/en active Application Filing
- 2014-02-20 MY MYPI2015002060A patent/MY185210A/en unknown
- 2014-02-20 CA CA2900437A patent/CA2900437C/en active Active
- 2014-02-20 ES ES14706529T patent/ES2736309T3/es active Active
- 2014-02-20 TW TW103105684A patent/TWI550599B/zh active
- 2014-02-20 MX MX2015010595A patent/MX348505B/es active IP Right Grant
- 2014-02-20 AU AU2014220725A patent/AU2014220725B2/en active Active
- 2014-02-20 PL PL14706529T patent/PL2959482T3/pl unknown
- 2014-02-20 EP EP19164500.1A patent/EP3525207A1/en active Pending
- 2014-02-20 JP JP2015558443A patent/JP6196324B2/ja active Active
- 2014-02-20 KR KR1020157025744A patent/KR101764725B1/ko active IP Right Grant
- 2014-02-20 KR KR1020157025743A patent/KR101764726B1/ko active IP Right Grant
- 2014-02-20 CN CN201480009722.1A patent/CN105074819B/zh active Active
- 2014-02-20 ES ES14706528.8T patent/ES2634621T3/es active Active
- 2014-02-20 CN CN201811631280.0A patent/CN110047498B/zh active Active
- 2014-02-20 EP EP14706528.8A patent/EP2959481B1/en active Active
- 2014-02-20 CN CN201480009744.8A patent/CN105378835B/zh active Active
- 2014-02-28 MY MYPI2015002058A patent/MY173774A/en unknown
-
2015
- 2015-08-19 US US14/830,484 patent/US9947329B2/en active Active
- 2015-08-19 US US14/830,453 patent/US10354662B2/en active Active
-
2016
- 2016-06-16 HK HK16106931.1A patent/HK1218988A1/zh unknown
- 2016-06-23 HK HK16107301.1A patent/HK1219343A1/zh unknown
-
2017
- 2017-07-26 US US15/660,902 patent/US10685662B2/en active Active
-
2019
- 2019-06-21 US US16/448,260 patent/US10832694B2/en active Active
-
2020
- 2020-05-28 US US16/886,066 patent/US11621008B2/en active Active
- 2020-08-17 US US16/995,581 patent/US11682408B2/en active Active
-
2023
- 2023-02-17 US US18/111,445 patent/US20230282221A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2736309T3 (es) | Aparato y procedimiento para codificar o descodificar una señal de audio utilizando una superposición que depende de una ubicación de transitorios |