ES2965487T3 - Aparato y procedimiento para la codificación o decodificación de una señal multicanal mediante el uso de repetición de muestreo de dominio espectral - Google Patents
Aparato y procedimiento para la codificación o decodificación de una señal multicanal mediante el uso de repetición de muestreo de dominio espectral Download PDFInfo
- Publication number
- ES2965487T3 ES2965487T3 ES19157001T ES19157001T ES2965487T3 ES 2965487 T3 ES2965487 T3 ES 2965487T3 ES 19157001 T ES19157001 T ES 19157001T ES 19157001 T ES19157001 T ES 19157001T ES 2965487 T3 ES2965487 T3 ES 2965487T3
- Authority
- ES
- Spain
- Prior art keywords
- spectral
- blocks
- sequence
- time
- sequences
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000003595 spectral effect Effects 0.000 title claims abstract description 213
- 238000012952 Resampling Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 title claims description 67
- 238000005070 sampling Methods 0.000 claims abstract description 130
- 238000012545 processing Methods 0.000 claims abstract description 97
- 230000005236 sound signal Effects 0.000 claims description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000002156 mixing Methods 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 description 69
- 238000003775 Density Functional Theory Methods 0.000 description 50
- 230000015572 biosynthetic process Effects 0.000 description 46
- 238000003786 synthesis reaction Methods 0.000 description 46
- 238000001228 spectrum Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 11
- 208000029523 Interstitial Lung disease Diseases 0.000 description 10
- 208000024875 Infantile dystonia-parkinsonism Diseases 0.000 description 9
- 208000001543 infantile parkinsonism-dystonia Diseases 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000009499 grossing Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005562 fading Methods 0.000 description 4
- 238000009432 framing Methods 0.000 description 4
- 201000006747 infectious mononucleosis Diseases 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 3
- 108010076504 Protein Sorting Signals Proteins 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000004134 energy conservation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000011049 filling Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000874889 Euphilotes enoptes Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/022—Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S3/00—Systems employing more than two channels, e.g. quadraphonic
- H04S3/008—Systems employing more than two channels, e.g. quadraphonic in which the audio signals are in digital form, i.e. employing more than two discrete digital channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/01—Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/03—Aspects of down-mixing multi-channel audio to configurations with lower numbers of playback channels, e.g. 7.1 -> 5.1
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2420/00—Techniques used stereophonic systems covered by H04S but not provided for in its groups
- H04S2420/03—Application of parametric coding in stereophonic audio systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Stereophonic System (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Stereo-Broadcasting Methods (AREA)
- Control Of Eletrric Generators (AREA)
- Emergency Protection Circuit Devices (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Mobile Radio Communication Systems (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
Un aparato para codificar una señal multicanal que comprende al menos dos canales, comprende: un convertidor tiempo-espectral (1000) para convertir secuencias de bloques de valores de muestra de al menos dos canales en una representación en el dominio de la frecuencia que tiene secuencias de bloques de valores espectrales. valores para al menos dos canales, en donde un bloque de valores de muestreo tiene una tasa de muestreo de entrada asociada, y un bloque de valores espectrales de las secuencias de bloques de valores espectrales tiene valores espectrales hasta una frecuencia de entrada máxima (1211) que está relacionada con la tasa de muestreo de entrada; un procesador multicanal (1010) para aplicar un procesamiento multicanal conjunto a las secuencias de bloques de valores espectrales o a secuencias remuestreadas de bloques de valores espectrales para obtener al menos una secuencia resultante de bloques de valores espectrales que comprende información relacionada con el al menos dos canales; un remuestreador de dominio espectral (1020) para remuestrear los bloques de las secuencias resultantes en el dominio de frecuencia o para remuestrear las secuencias de bloques de valores espectrales para al menos dos canales en el dominio de frecuencia para obtener una secuencia remuestreada de bloques de valores espectrales, en el que un bloque de la secuencia remuestreada de bloques de valores espectrales tiene valores espectrales hasta una frecuencia de salida máxima (1231, 1221) que es diferente de la frecuencia de entrada máxima (1211); un convertidor de tiempo espectral para convertir la secuencia remuestreada de bloques de valores espectrales en una representación en el dominio del tiempo o para convertir la secuencia resultante de bloques de valores espectrales en una representación en el dominio del tiempo que comprende una secuencia de salida de bloques de valores de muestreo que tienen asociado un muestreo de salida siendo la tasa diferente de la tasa de muestreo de entrada; y un codificador central (1040) para codificar la secuencia de salida de bloques de valores de muestreo para obtener una señal multicanal codificada (1510). (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Aparato y procedimiento para la codificación o decodificación de una señal multicanal mediante el uso de repetición de muestreo de dominio espectral
[0001] La presente solicitud se refiere al procesamiento estéreo o, en términos generales al procesamiento multicanal, donde una señal multicanal tiene dos canales tales como un canal izquierdo y un canal derecho en el caso de una señal estéreo o más de dos canales, tales como tres, cuatro, cinco o cualquier otro número de canales.
[0002] El habla estéreo y, particularmente, el habla estéreo de habla de conversación, ha recibido mucha menos atención científica que el almacenamiento y radiodifusión de música estereofónica. De hecho, hoy en día en las comunicaciones de habla la transmisión monofónica es la más utilizada. Sin embargo, al aumentar el ancho de banda y la capacidad de la red, se prevé que las comunicaciones basadas en tecnologías estereofónicas se volverán más populares y ocasionarán una mejor experiencia de escucha.
[0003] La codificación eficaz del material de audio estereofónico ha sido objeto de estudio desde hace mucho tiempo en la codificación de audio perceptual de música, con vistas a un almacenamiento o difusión eficaces. Con elevadas velocidades de bits, en las que la conservación de la forma de onda es esencial, el estéreo de sumadiferencia, conocido como estéreo M/S (lado/medio), se ha utilizado durante mucho tiempo. Para bajas velocidades de bits, se ha introducido el estéreo de intensidad y, más recientemente, la codificación estéreo paramétrica. Esta última técnica ha sido adoptada en diferentes estándares tales como HeAACv2 y Mpeg USAC. Genera un mezclado de forma descendente de la señal de doble canal y asocia la información compacta del lado espacial.
[0004] Usualmente, la codificación estéreo conjunta se efectúa con resolución de elevada frecuencia, es decir, con una baja resolución en tiempo, y una transformación de la señal en tiempo-frecuencia, por lo que no es compatible con un bajo retardo ni con el procesamiento de dominio de tiempo llevado a cabo en la mayoría de los codificadores de habla. Además, la velocidad de bits generada es usualmente elevada.
[0005] Por otra parte, el estéreo paramétrico utiliza un banco de filtros extra posicionado en el extremo frontal del codificador como pre-procesador y en el extremo posterior del decodificador como post-procesador. Por lo tanto, el estéreo paramétrico puede utilizarse con codificadores de habla convencionales como ACELP como se hace en MPEG USA<c>. Además, la parametrización de la escena del auditorio puede lograrse con una mínima cantidad de información lateral, lo que es conveniente para bajas velocidades de bits. Sin embargo, el estéreo paramétrico, como se da por ejemplo en MPEG USAC, no está específicamente diseñado para un bajo retardo y no proporciona una calidad constante para diferentes escenarios de conversaciones. En la representación paramétrica convencional de la escena espacial, el ancho de la imagen estéreo se reproduce de manera artificial por un decorrelacionador aplicado sobre los dos canales sintetizados y controlados por parámetros de coherencia entre canales (ICs, Interchannel Coherence) computados y transmitidos por el codificador. Para la mayoría del habla estero, esta manera de ensanchar la imagen estéreo no es adecuada para recrear el ambiente natural del habla que es un sonido bastante directo dado que es producido por una única fuente situada en una posición específica en el espacio (con a veces alguna reverberación debida al ambiente interior). En cambio, los instrumentos musicales tienen un ancho mucho más natural que el habla, el cual se puede imitar mejor mediante la decorrelación de los canales.
[0006] También se presenten problemas cuando se registra el habla con micrófonos no coincidentes, tales como en la configuración A-B cuando los micrófonos están separados entre sí o para el registro o renderización binaurales. Pueden preverse estos escenarios para capturar el habla en teleconferencias o para crear una escena de auditorio virtual con locutores distantes en la unidad de control multipunto (MCU, multipoint control unit). El momento de la llegada de la señal es en tal caso diferente de un canal a otro a diferencia de las grabaciones efectuadas en micrófonos coincidentes tales como X-Y (registro de intensidad) o M-S (registro lado-medio). El cálculo de la coherencia de tales dos canales no alineados en el tiempo puede en tal caso estimarse equivocadamente, lo que hace que la síntesis del ambiente artificial falle.
[0007] Las referencias del estado anterior de la técnica relacionadas con el procesamiento estéreo son la Patente de EE. UU. N.° 5.434.948 o la Patente de EE.UU. N.° 8.811.621.
[0008] En el documento WO 2006/089570 A1 se describe un esquema de codificador/decodificador multicanal casi transparente o transparente. Adicionalmente, un esquema de codificador/decodificador multicanal genera una señal residual de tipo forma de onda. Esta señal residual se transmite junto con uno o más parámetros multicanal a un decodificador. A diferencia de un decodificador multicanal puramente paramétrico, el decodificador reforzado genera una señal de salida multicanal que tiene una calidad de salida mejorada debido a la señal residual adicional. En el lado del codificador, un canal izquierdo y un canal derecho son filtrados, ambos, por un banco de filtros de análisis. En tal caso, para cada señal de subbanda, se calcula un valor de alineación y un valor de ganancia para una superbanda. Una alineación de este tipo se lleva entonces a cabo antes de un procesamiento ulterior. En el lado del decodificador, se lleva a cabo una desalineación y un procesamiento de ganancia, y las correspondientes señales son seguidamente sintetizadas por un banco de filtros de síntesis con el fin de generar una señal izquierda decodificada y una señal derecha decodificada.
[0009] Por otra parte, el estéreo paramétrico utiliza un banco de filtros extra posicionado en el extremo frontal del codificador como pre-procesador y en el extremo posterior del decodificador como post-procesador. Por ello, el estéreo paramétrico puede utilizarse con codificadores de estéreo convencionales tales como ACELP ya que se efectúa en MPEG USAC. Además, la parametrización de la escena de auditorio puede efectuarse con una cantidad mínima de información lateral, lo que es conveniente para bajas velocidades de bits. Sin embargo, el estéreo paramétrico como por ejemplo en MPEG USAC, no está diseñado para un bajo retardo, y el sistema en su conjunto muestra un retardo algorítmico muy elevado.
[00010] Se conoce según la solicitud de patente internacional WO201608655A1 un procedimiento de codificación con conversión de tasa de muestreo antes de un codificador envolvente MPEG o después del codificador envolvente MPEG.
[00011] Se conoce según la solicitud de patente de EE. UU. 2014/0032226A1 un procedimiento que implica el remuestreo en un dominio de frecuencia.
[0012] Es un objeto de la presente invención proporcionar un concepto mejorado para la codificación/decodificación multicanal, que sea eficaz y con la capacidad de obtener un bajo retardo. Este objeto se logra mediante un aparato para la codificación de una señal multicanal según la reivindicación 1, un procedimiento de codificación de una señal multicanal según la reivindicación 7, un aparato para la decodificación de una señal multicanal codificada según la reivindicación 8, un procedimiento de decodificación de una señal multicanal codificada según la reivindicación 14 o un programa informático según la reivindicación 15.
[0013] La presente invención se basa en el hallazgo de que al menos una porción y preferentemente todas las partes del procesamiento multicanal, es decir, un procesamiento multicanal conjunto, se llevan a cabo en un dominio espectral. Según la invención reivindicada, la operación de mezclado de forma descendente del procesamiento multicanal conjunto se realiza en el dominio espectral y de forma preferente, adicionalmente, las operaciones temporales y de alineación de fase o incluso los procedimientos para analizar los parámetros para el procesamiento estéreo conjunto/multicanal conjunto. Adicionalmente, el muestreo repetido en el dominio espectral se lleva a cabo ya sea subsiguientemente al procesamiento multicanal o incluso antes del procesamiento multicanal con el fin de proporcionar una señal de salida desde un convertidor espectral-tiempo adicional que ya se encuentre en una velocidad de muestreo de salida requerido por un codificador de núcleo subsiguientemente conectado.
[0014] En el lado del decodificador, según la invención reivindicada, un procesamiento multi-canal inverso se realiza incluyendo un procesamiento de mezcla ascendente para obtener al menos dos secuencias de resultado de bloques de valores espectrales para generar una señal del primer canal y una señal de un segundo canal a partir de una señal de mezclado de forma descendente en el dominio espectral y, es preferible para llevar a cabo incluso el procesamiento multicanal inverso total en el dominio espectral. Además, se proporciona el convertidor tiempoespectral para convertir la señal decodificada de núcleo en una representación en el dominio espectral y, dentro del dominio de las frecuencias, se lleva a cabo el procesamiento multicanal inverso. Se lleva a cabo un muestreo repetido en el dominio espectral ya sea antes del procesamiento multicanal inverso o se lleva a cabo subsiguientemente al procesamiento multicanal inverso de tal manera que, al final, un convertidor espectral-tiempo convierte una señal espectralmente muestreada en el dominio del tiempo con una velocidad de muestreo de salida que está destinada a la señal de salida en el dominio del tiempo.
[0015] Por ello, la presente invención permite evitar por completo cualquier operación de muestreo repetido en el dominio del tiempo, computacionalmente intensivas. En cambio, se combina el procesamiento multicanal con el muestreo repetido. En realizaciones preferidas, el muestreo repetido se lleva a cabo ya sea truncando el espectro en el caso del muestreo descendente o se lleva a cabo mediante el padding cero del espectro en el caso del muestreo ascendente. Estas operaciones fáciles, es decir, la truncación del espectro por una parte o el padding cero del espectro por otra parte, y las puestas en escala adicionales preferibles con el fin de tener en cuenta determinadas operaciones de normalización llevadas a cabo en los algoritmos de conversión dominio espectral/dominio del tiempo tales como el algoritmo de DFT o FFT, completan la operación de muestreo repetido en el dominio espectral de una manera muy eficaz y con bajo retardo.
[0016] Además, se ha descubierto que al menos una porción o incluso el procesamiento estéreo conjunto/procesamiento multicanal conjunto, completo, en el lado del codificador y el correspondiente procesamiento multicanal inverso en el lado del decodificador, es adecuado para ser ejecutado en el dominio de las frecuencias. Esto es válido no solamente para la operación de mezclado de forma descendente como un procesamiento multicanal conjunto mínimo en el lado del codificador o para un procesamiento de mezclado de forma ascendente como para un procesamiento multicanal inverso mínimo en el lado del decodificador. En cambio, también pueden llevarse a cabo un análisis estéreo de escena y alineaciones del tiempo/fase en el lado del codificador o desalineaciones de fase y tiempo en el lado del decodificador, en el dominio espectral. Lo mismo se aplica para la codificación de canal lateral preferentemente llevada a cabo en el lado del codificador o para síntesis de canal lateral y para la utilización en la generación de los dos canales de salida decodificados en el lado del decodificador.
[0017] Por ello, una ventaja de la presente invención es la de proporcionar un nuevo esquema de codificación de estéreo mucho más adecuado para la conversión de un habla estéreo que los esquemas de codificación estéreo existentes. Las realizaciones de la presente invención proporcionan un nuevo marco para lograr un códec estéreo de bajo retardo y para integrar una herramienta estéreo en común llevada a cabo en el dominio de las frecuencias tanto para un codificador de núcleo del habla como para un codificador de núcleo basado en MDCT dentro de un códec de audio conmutado.
[0018] Las realizaciones de la presente invención se refieren a una estrategia híbrida en la que se mezclan elementos de un estéreo M/S o estéreo paramétrico, convencional. Las realizaciones utilizan algunos aspectos y herramientas de la codificación estéreo conjunta y otros de estéreo paramétrico. Más particularmente, las realizaciones adoptan el análisis y síntesis de tiempo-frecuencia extra efectuados en el extremo frontal del codificador y en el extremo posterior del decodificador. La descomposición de tiempo-frecuencia y la transformada inversa se logran mediante la utilización ya sea de un banco de filtros o de una transformada de bloque con valores complejos. Desde la entrada de dos canales o de múltiples canales, el procesamiento estéreo o multicanal combina y modifica los canales de entrada a los canales de salida que llevan la designación de señales media y lado (MS, Mid and Side).
[0019] Las realizaciones de la presente invención proporcionan una solución para reducir un retardo algorítmico introducido por un módulo estéreo y particularmente a partir de la estructura y formación en ventana de su banco de filtros. Proporciona una transformada inversa multi-coeficiente para alimentar un codificador conmutado tal como 3GPP EVS o una conmutación de codificador entre un codificador de habla tal como ACELP y un codificador de audio genérico tal como TCX por el hecho de producir la misma señal de procesamiento estéreo con diferentes velocidades de muestreo. Además, proporciona una formación en ventana adaptada para las diferentes restricciones del sistema de bajo retardo y baja complejidad así como para el procesamiento estéreo. Además, las realizaciones proporcionan un procedimiento para combinar y muestrear repetidamente diferentes resultados de síntesis decodificados en el dominio espectral, donde también se aplica el procesamiento estéreo inverso.
[0020] Las realizaciones preferidas de la presente invención comprenden una multifunción en un remuestreador en el dominio espectral que no solamente genera un bloque individual remuestreado en el dominio espectral de valores espectrales sino, adicionalmente, también otra secuencia remuestreada de bloques de valores espectrales correspondientes a una velocidad de muestreo diferente, más elevada o más baja.
[0021] Además, el codificador multicanal está configurado para proporcionar adicionalmente una señal de salida a la salida del convertidor espectral-tiempo que tiene la misma velocidad de muestreo que la señal de canal primero y segundo original introducida en el convertidor tiempo-espectral en el lado del codificador. Por lo tanto, en algunas realizaciones, el codificador multicanal proporciona al menos una señal de salida con la velocidad de muestreo introducida original, que se utiliza preferentemente para una codificación basada en MDCT. Adicionalmente, se proporciona al menos una señal de salida con una velocidad de muestreo intermedia que es específicamente útil para la codificación de ACELP y que proporciona adicionalmente otra señal de salida a otra velocidad de muestreo de salida que también es útil para la codificación de ACELP, pero que es diferente de la otra velocidad de muestreo de salida.
[0022] Estos procedimientos pueden llevarse a cabo ya sea para la Señal media (Mid) o para la señal de lado (Side), o para ambas señales derivadas de las señales de los canales primero y segundo de una señal multicanal donde la primera señal también puede ser una señal izquierda y la segunda señal puede ser una señal derecha en el caso de una señal estéreo que solamente tiene dos canales (adicionalmente dos, por ejemplo, un canal de refuerzo de baja frecuencia).
[0023] En otras realizaciones, el codificador de núcleo del codificador multicanal está configurado para operar según un control de estructura, y el convertidor tiempo-espectral y el convertidor espectro-tiempo del post procesador estéreo y remuestreador están configurados también para operar según otro control de estructura que está sincronizado con el control de control de estructura del codificador de núcleo. La sincronización se lleva a cabo de tal manera que un borde de inicio de la trama o un borde final de la trama de cada trama de una secuencia de tramas del codificador de núcleo se halla en una relación predeterminada con respecto a un instante de inicio o con un instante final de una porción superpuesta de una ventana utilizada por el convertidor tiempo-espectral o por el convertidor espectral tiempo para cada bloque de la secuencia de bloques de valores de muestreo para cada bloque de la secuencia remuestreada de bloques de valores espectrales. Por lo tanto, se asegura que las operaciones de estructura subsiguientes operen de manera sincronizada entre sí.
[0024] En otras realizaciones, el codificador de núcleo lleva a cabo una operación de anticipación mediante una porción de anticipación. En esta realización, se prefiere que la porción de anticipación sea utilizada también por una ventana de análisis del convertidor tiempo-espectral donde se utiliza una porción superpuesta de la ventana de análisis que tiene una longitud en tiempo que es inferior o igual a la longitud en tiempo de la porción de anticipación.
[0025] Por lo tanto, haciendo que la porción de anticipación del codificador de núcleo y la porción de superposición de la ventana de análisis sean iguales entre sí o haciendo que la porción de superposición sea aún más pequeña que la porción de anticipación del codificador de núcleo, no puede implementarse el análisis tiempoespectral del pre-procesador estéreo sin algún retardo algorítmico adicional. Con el fin de asegurar que esta porción formada en ventana de anticipación no influya excesivamente sobre la funcionalidad de anticipación del codificador de núcleo, se prefiere compensar esta porción utilizando una inversa de la función de la ventana de análisis.
[0026] Con el fin de asegurar que esto se lleve a cabo con una buena estabilidad, se utiliza una raíz cuadrada de forma de ventana seno en lugar de una forma de ventana seno como una ventana de análisis y se utiliza un seno a la potencia de 1,5 ventana de síntesis a los efectos de la formación en ventana de síntesis antes de llevar a cabo la porción de superposición a la salida del convertidor espectral-tiempo. Por lo tanto, se asegura que la función de compensación supone valores que están reducidos con respecto a sus magnitudes en comparación con una función de compensación que es la inversa de una función seno.
[0027] Sin embargo, en el lado del decodificador se prefiere utilizar las mismas formas de ventana de análisis y de síntesis, ya que no se requiere ninguna compensación, por supuesto. Por otra parte, se prefiere utilizar un espacio de tiempo en el lado del decodificador, existiendo el espacio de tiempo entre un extremo de una porción superpuesta principal de una ventana de análisis del convertidor tiempo-espectral en el lado del decodificador y un instante de tiempo en el extremo de una salida de trama por el decodificador de núcleo en el lado del decodificador multicanal. Por lo tanto, las muestras de salida del decodificador de núcleo dentro de este espacio de tiempo no se requieren de inmediato para los fines de la formación en ventana de análisis por el post-procesador estéreo, pero se requieren únicamente para el procesamiento/formación en ventana de la trama siguiente. Un espacio de tiempo de este tipo puede implementarse por ejemplo mediante el uso de una porción no superpuesta típicamente situada en el medio de una ventana de análisis, lo que resulta en un acortamiento de la porción superpuesta. Sin embargo, también pueden utilizarse otras alternativas para implementar un espacio de tiempo de este tipo, pero se prefiere implementar el espacio de tiempo mediante la porción no superpuesta en el medio. Por lo tanto, este espacio de tiempo puede utilizarse para otras operaciones del decodificador de núcleo o para suavizar las operaciones entre acontecimientos que preferentemente son de conmutación cuando el decodificador de núcleo conmuta de un dominio de las frecuencias a una trama en el dominio del tiempo o para cualquier otra operación de suavización que puedan ser útiles cuando han tenido lugar los cambios de parámetros o los cambios de características de la codificación.
[0028] A continuación, se exponen en detalle realizaciones preferidas de la presente invención con respecto a los dibujos adjuntos, en los que:
la figura 1 es un diagrama de bloques de una realización del codificador multicanal;
la figura 2 ilustra realizaciones del muestreo repetido en el dominio espectral;
las figuras 3a-3c ilustran diferentes alternativas para llevar a cabo conversiones de tiempo/frecuencia o de frecuencia/tiempo con diferentes normalizaciones y correspondientes puestas en escala en el dominio espectral; la figura 3d ilustra diferentes resoluciones de frecuencia y otros aspectos relacionados con la frecuencia, para determinadas realizaciones;
la figura 4a ilustra un diagrama de bloques de una realización de un codificador;
la figura 4b ilustra un diagrama de bloques de una correspondiente realización de un decodificador;
la figura 5 ilustra una realización preferida de un codificador multicanal;
la figura 6 ilustra un diagrama de bloques de una realización de un decodificador multicanal;
la figura 7a ilustra otra realización de un decodificador multicanal que comprende un combinador;
la figura 7b ilustra otra realización de un decodificador multicanal que comprende adicionalmente el combinador (adición);
la figura 8a ilustra una tabla que muestra diferentes características de ventana para varias velocidades de muestreo; la figura 8b ilustra diferentes propuestas/realizaciones para un banco de filtros DFT como una implementación del convertidor tiempo-espectral y de convertidor espectro-tiempo;
la figura 8c ilustra una secuencia de dos ventanas de análisis de un DFT con una resolución del tiempo de 10 ms; la figura 9a ilustra una formación en ventana esquemática de codificador según una primera propuesta/realización; la figura 9b ilustra una formación en ventana esquemática de decodificador según la primera propuesta/realización; la figura 9c ilustra las ventanas en el codificador y en el decodificador según la primera propuesta/realización; la figura 9d ilustra un diagrama de flujo preferido que ilustra la realización de compensación;
la figura 9e ilustra una realización que ilustra en mayor grado la realización de compensación;
la figura 9f ilustra un diagrama de flujo para explicar la realización del lado de decodificador del espacio de tiempo; la figura 10a ilustra una formación en ventana esquemática de codificador según la cuarta propuesta/realización; la figura 10b ilustra una ventana esquemática de decodificador según la cuarta propuesta/realización;
la figura 10c ilustra ventanas en el codificador y en el decodificador según la cuarta propuesta/realización;
la figura 11a ilustra una formación en ventana esquemática de un codificador según la quinta propuesta/realización; la figura 11b ilustra una formación en ventana esquemática de un decodificador según la quinta propuesta/realización;
la figura 11c ilustra el codificador y el decodificador según la quinta propuesta/realización;
la figura 12 es un diagrama de bloques de una implementación preferida del procesamiento multicanal que utiliza un mezclado de forma descendente en el procesador de señales;
la figura 13 es una realización preferida del procesamiento multicanal inverso con una operación de mezclado de forma ascendente dentro del procesador de señales;
la figura 14a ilustra un diagrama de flujo de procedimientos llevados a cabo en el aparato para codificación con fines de alineación de los canales;
la figura 14b ilustra una realización preferida de procedimientos llevados a cabo en el dominio de las frecuencias; la figura 14c ilustra una realización preferida de procedimientos llevados a cabo en el aparato para la codificación mediante el uso de una ventana de análisis con porciones de padding cero e intervalos de superposición;
la figura 14d ilustra un diagrama de flujo para otros procedimientos llevados a cabo dentro de una realización del aparato para codificación;
la figura 15a ilustra procedimientos llevados a cabo mediante una realización del aparato para decodificación y codificación de señales multicanal;
la figura 15b ilustra una implementación preferida del aparato para decodificación con respecto a algunos aspectos; y
la figura 15c ilustra un procedimiento llevado a cabo en el contexto de desalineación de banda ancha en la estructura de la decodificación de una señal multicanal codificada.
[0029] La figura 1 ilustra un aparato para la codificación de una señal multicanal que comprende al menos dos canales 1001, 1002. El primer canal 1001 en el canal izquierdo, y el segundo canal 1002 pueden ser un canal derecho en el caso de un escenario estéreo de dos canales. Sin embargo, en el caso de un escenario multicanal, el primer canal 1001 y el segundo canal 1002 puede ser cualquiera de los canales de la señal multicanal tales como, por ejemplo, el canal izquierdo por una parte y el canal envolvente izquierdo por otra parte o el canal derecho por una parte y el canal envolvente derecho por otra parte. Sin embargo, estos emparejamientos de canales, son solamente ejemplos, y es posible aplicar otros emparejamientos de canales en función del caso.
[0030] El codificador multicanal de la figura 1 comprende un convertidor tiempo-espectral para convertir secuencias de bloques de valores de muestreo de los al menos dos canales en una representación en el dominio de las frecuencias a la salida del convertidor tiempo-espectral. Cada representación en el dominio de las frecuencias tiene una secuencia de bloques de valores espectrales para uno de los al menos dos canales. Particularmente, un bloque de valores de muestreo del primer canal 1001 o del segundo canal 1002 tiene una velocidad de muestreo de entrada asociada, y un bloque de valores espectrales de las secuencias de la salida del convertidor tiempo-espectral tiene valores espectrales hasta una frecuencia de entrada máxima que está relacionada con la velocidad de muestreo de entrada. En la realización ilustrada en la figura 1, el convertidor tiempo-espectral está conectado al procesador multicanal 1010. Este procesador multicanal está configurado para aplicar un procesamiento multicanal conjunto a las secuencias de bloques de valores espectrales para obtener al menos una secuencia de bloques de valores espectrales resultado que comprende información relacionada con los al menos dos canales. Una operación de procesamiento multicanal típico es una operación de mezclado de forma descendente, pero la operación multicanal preferida comprende procedimientos adicionales que se describirán a continuación.
[0031] En una realización alternativa, el procesador multicanal 1010 está conectado a un remuestreador en el dominio espectral 1020, y una salida del remuestreador en el dominio espectral 1020 se introduce en el procesador multicanal. Esto se ilustra mediante las líneas de conexión discontinuas 1021, 1022. En esta realización alternativa, el procesador multicanal está configurado para aplicar el procesamiento multicanal conjunto no a las secuencias de bloques de valores espectrales como salida por el convertidor tiempo-espectral, sino secuencias remuestreadas de bloques disponibles sobre las líneas de conexión 1022.
[0032] El remuestreador en el dominio espectral 1020 está configurado para un muestreo repetido de la secuencia resultado generada por el procesador multicanal o para remuestrear las secuencias de bloques emitidas por el convertidor tiempo-espectral 1000 para obtener una secuencia remuestreada de bloques de valores espectrales que pueden representar una señal media (Mid) tal como la ilustrada en la línea 1025. Es preferible que el remuestreador en el dominio espectral lleve a cabo adicionalmente el muestreo repetido hacia la señal lateral (Side) por medio del procesador multicanal y, por ello, también emita una secuencia remuestreada correspondiente a la señal lateral (Side) como se ilustra en 1026. Sin embargo, la generación y muestreo repetido de la señal lateral (Side) es opcional y no se requiere para una implementación con una baja velocidad de bits. Es preferible que el remuestreador en el dominio espectral 1020 esté configurado para truncar bloques de valores espectrales a los fines del muestreo descendente o para el padding cero de los bloques de valores espectrales con fines del muestreo ascendente. El codificador multicanal comprende adicionalmente un convertidor espectral-tiempo para convertir la secuencia remuestreada de bloques de valores espectrales en una representación en el dominio del tiempo que comprende una secuencia de salida de bloques de valores de muestreo asociados con una velocidad de muestreo de salida que es diferente de la velocidad de muestreo de entrada. En realizaciones alternativas, en las que el muestreo repetido en el dominio espectral se lleva a cabo antes del procesamiento multicanal, el procesador multicanal proporciona la secuencia resultado por medio de la línea discontinua 1023 directamente al convertidor espectral-tiempo 1030. En esta realización alternativa, una característica opcional es que, adicionalmente, la señal lateral (Side) es generada por el procesador multicanal ya en la representación muestreada y la señal lateral (Side) es procesada también seguidamente por el convertidor espectral-tiempo.
[0033] Al final, el convertidor espectral-tiempo proporciona preferentemente una señal media (Mid) en el dominio del tiempo 1031 y una señal lateral (Side) en el dominio del tiempo, opcional, 1032, las cuales pueden ser ambas codificadas en núcleo por el codificador de núcleo 1040. En términos generales, el codificador de núcleo está configurado para una codificación núcleo de la secuencia de bloques emitida de valores de muestreo para obtener la señal multicanal codificada.
[0034] La figura 2 ilustra diagramas espectrales que son útiles para explicar el muestreo repetido en el dominio espectral.
[0035] El diagrama superior en la figura 2 ilustra un espectro de canal disponible a la salida del convertidor tiempo-espectral 1000. Este espectro 1210 tiene valores espectrales hasta la frecuencia de entrada máxima 12w11. En el caso del muestreo ascendente, se lleva a cabo un padding cero dentro de la porción de padding cero o de la región de padding cero 1220 que se extiende hasta la frecuencia de salida máxima 1221. La frecuencia de salida máxima 1221 es mayor que la frecuencia de entrada máxima 1211, dado que se prevé un muestreo ascendente.
[0036] A diferencia de lo anterior, el diagrama más bajo en la figura 2 ilustra los procedimientos en los que se incurre por medio del muestreo descendente de una secuencia de bloques. A tal efecto, se trunca un bloque dentro de una región truncada 1230 de tal manera que una frecuencia máxima de salida del espectro truncado en 1231 es inferior a la frecuencia de entrada máxima 1211.
[0037] Típicamente, la velocidad de muestreo asociada con un espectro correspondiente en la figura 2 es de al menos 2x la frecuencia máxima del espectro. Por lo tanto, para el caso superior en la figura 2, la velocidad de muestreo será de al menos 2 veces la frecuencia de entrada máxima 1211.
[0038] En el segundo diagrama de la figura 2, la velocidad de muestreo será de al menos dos veces la frecuencia máxima de salida 1221, es decir, la frecuencia más elevada de la región de padding cero 1220. A diferencia de lo anterior, en el diagrama más bajo en la figura 2, la velocidad de muestreo será de al menos 2x la frecuencia de salida máxima 1231, es decir, el valor espectral más elevado restante subsiguiente a una truncación dentro de la región truncada 1230.
[0039] Las figuras 3a a 3c ilustran diversas alternativas que pueden utilizarse en el contexto de determinados algoritmos de transformada DFT directa o inversa. En la figura 3a, se considera una situación en la que se lleva a cabo una DFT de magnitud x, y en la que no tiene lugar ninguna normalización en el algoritmo de transformada directa 1311. En el bloque 1331, se ilustra una transformada inversa con una magnitud y diferente, donde se lleva a cabo una normalización con 1/N<y>. N<y>es el número de valores espectrales de la transformada inversa con la magnitud y. En tal caso, se prefiere llevar a cabo una puesta en escala por N<y>/N<x>como se ilustra en el bloque 1321.
[0040] A diferencia de lo anterior, en la figura 3b se ilustra una implementación, en la que la normalización está distribuida a la transformada directa 1312 y a la transformada inversa 1332. Seguidamente se requiere una puesta en escala como se ilustra en el bloque 1322, en la que es útil una raíz cuadrada de la relación entre el número de valores espectrales de la transformada inversa y el número de valores espectrales de la transformada directa.
[0041] En la figura 3c se ilustra otra implementación, en la que se lleva a cabo la normalización completa sobre la transformada directa donde se lleva a cabo la transformada directa con la magnitud x. Seguidamente, la transformada inversa ilustrada en el bloque 1333 opera sin ninguna normalización por lo que no se requiere ninguna puesta en escala como se ilustra mediante el bloque 1323 en la figura 3c. Por lo tanto, en función de determinados algoritmos, se requieren determinadas operaciones de puesta en escala o incluso ninguna operación de puesta en escala. Sin embargo, se prefiere actuar según la figura 3a.
[0042] Con el fin de mantener bajo el retardo global, la presente invención proporciona un procedimiento en el lado del codificador para evitar la necesidad de un remuestreador en el dominio del tiempo y mediante su reemplazo por el muestreo repetido de las señales en el dominio de DFT. Por ejemplo, en el EVS permite ahorrar 0,9375 ms de retardo debido al remuestreador en el dominio del tiempo. El muestreo repetido en el dominio de las frecuencias se logra mediante el padding cero o truncación del espectro y su puesta en escala correcta.
[0043] Consideremos una señal formada en ventana de entrada x muestreada con una velocidad fx con un espectro X de magnitud N<x>y una versión de la misma señal remuestreada con la velocidad fy con un espectro de magnitud N<y>. El factor de muestreo es en tal caso igual a:
fy/fx = N<y>/N<x>
en el caso del muestreo descendente N<x>>N<y>. El muestreo descendente puede llevarse a cabo de manera simple en el dominio de las frecuencias mediante puesta en escala directa y truncación del espectro X original:
Y[k]=X[k].N<y>/N<x>para k=0..N<y>
en el caso del muestreo ascendente N<x><N<y>. El muestreo de forma ascendente puede llevarse a cabo simplemente en el dominio de las frecuencias mediante puesta en escala directa y padding cero del espectro X original:
Y[k]=X[k].N<y>/N<x>para k=0... N<x>
Y[k]= 0 para k= N<x>. N<y>
[0044] Ambas operaciones de remuestreo pueden resumirse del siguiente modo:
Y[k]=X[k].N<y>/N<x>para todos los k=0...m¡n(N<y>,N<x>)
Y[k]= 0 para todos los k= min(N<y>,N<x>)...N<y>para si N<y>>N<x>
[0045] Una vez que se ha obtenido el nuevo espectro Y, es posible obtener la señal en el dominio del tiempo y mediante la aplicación de la transformada inversa ¡d Ft asociada de magnitud N<y>:
y = iDFT(Y)
[0046] Para construir la señal de tipo continua sobre diferentes tramas, se forma en ventana la trama de salida y a continuación se superpone a la trama previamente obtenida.
[0047] La forma de ventana es igual para todas las velocidades de muestreo, pero las ventanas tienen diferentes tamaños en cuanto a las muestras y velocidades de muestreo. El número de las muestras de las ventanas y sus valores pueden derivarse fácilmente dado que la forma se define puramente de manera analítica. Las diferentes partes y tamaños de la ventana pueden encontrarse en la figura 8a como una función de la velocidad de muestreo específica. En este caso se utiliza una función seno en la parte de solapamiento (LA) para las ventanas de análisis y síntesis. Para estas regiones, los coeficientes ascendentes ovlp_size están dados por:
win_ovlp(k) = sin(pi*(k+0.5)/(2* ovlp_size));, para k=0..ovlp_size-1 mientras que los coeficientes descendentes ovlp_size están dados por:
win_ovlp(k) = sin(pi*(ovlp_size-1-k+0.5)/(2* ovlp_size));, para k=0..ovlp_size-1 donde ovlp_size es en función de la velocidad de muestreo y se indica en la figura 8a.
[0048] La nueva codificación estéreo de bajo retardo es una codificación estéreo media/lateral (Mid/Side (M/S)) conjunta que aprovecha algunas claves espaciales, donde el canal medio (Mid) está codificado por un codificador mono núcleo primario, y el canal lateral (Side) está codificado por un codificador de núcleo contrario. Los principios de codificador y de decodificador se ilustran en las figuras 4a y 4b.
[0049] El procesamiento estéreo se lleva a cabo principalmente en el dominio de las frecuencias (FD, frequency-domain). Opcionalmente puede llevarse a cabo parte del procesamiento estéreo en el dominio del tiempo (TD, Dominio del Tiempo (TD) antes del análisis de frecuencia. Este es el caso para la computación de ITD, que puede computarse y aplicarse antes del análisis de frecuencia para alinear los canales en el tiempo antes de continuar con el análisis y procesamiento estéreo. Como alternativa, el procesamiento ITD puede llevarse a cabo directamente en el dominio de las frecuencias. Dado que los codificadores de habla usuales como ACELP no contienen ninguna descomposición interna de tiempo-frecuencia, la codificación estéreo añade un banco de filtros modulado complejo extra mediante un banco de filtros de análisis y síntesis antes del codificador de núcleo y de otra etapa de banco de filtros de análisis-síntesis después del codificador de núcleo. En la realización preferida, se utiliza un DFT sobremuestreado con una región de baja superposición. Sin embargo, en otras realizaciones, pueden utilizarse cualquier descomposición valorada compleja de tiempo-frecuencia con una resolución temporal compleja. En lo que sigue con respecto a la banda de filtros estéreo, se hace referencia ya sea a un banco de filtros tal como QMF o a un bloque de transformada, DFT.
[0050] El procesamiento estéreo consiste en computar los indicios espaciales y/o los parámetros estéreo tales como la ITD (diferencia de tiempo entre canales, Diferencia de tiempo inter-canal), las IPDs (diferencias de fase inter-canal, Diferencias de tiempo entre canales), las ILDs (Diferencia de niveles entre canales, Diferencias de nivel inter-canal) y las ganancias de predicción para predecir la señal lateral (Side (S)) con la señal media (Mid(M)). Es importante observar que el banco de filtros estéreo tanto en el codificador como en el decodificador introduce un retardo extra en el sistema de codificación.
[0051] En la figura 4a se ilustra un aparato para la codificación de una señal multicanal donde, en esta implementación, se lleva a cabo un cierto procesamiento estéreo conjunto en el dominio del tiempo mediante el uso de un análisis de diferencia de tiempo entre canales (ITD) y donde el resultado de este análisis de ITD 1420 se aplica dentro del dominio del tiempo mediante el uso de un bloque de cambio de tiempo 1410 colocado delante de los convertidores de tiempo-espectros 1000.
[0052] A continuación, dentro del dominio espectral, se lleva a cabo otro procesamiento estéreo 1010 que implica, al menos un mezclado de forma descendente de izquierda y derecha de la señal media (Mid M), y, opcionalmente, el cálculo de una señal lateral (Side S) y, si bien no se ilustra explícitamente en la figura 4a, una operación de muestreo repetido llevada a cabo por el remuestreador en el dominio espectral 1020 ilustrado en la figura 1 que puede aplicar una de las dos alternativas diferentes, es decir, llevar a cabo el muestreo repetido subsiguiente al procesamiento multicanal o antes del procesamiento multicanal.
[0053] Además, en la figura 4a se ilustran detalles adicionales de un codificador de núcleo preferido 1040. En particular, con fines de codificación de la señal media (Mid) en el dominio del tiempo m a la salida del convertidor espectral-tiempo 1030, se utiliza un codificador EVS. Adicionalmente, se lleva a cabo una codificación MDCT 1440 y la cuantificación de vector subsiguientemente conectado 1450 con fines de la codificación de la señal lateral (Side).
[0054] La señal media (Mid), codificada o codificada por núcleo, y la señal lateral (Side), codificada por núcleo, son comunicadas a un multiplexador 1500 que multiplexa estas señales codificadas junto con información lateral. Un tipo de información lateral es la salida del parámetro ID en 1421 al multiplexador (y opcionalmente al elemento de procesamiento estéreo 1010), y otros parámetros se encuentran en los parámetros de diferencias/predicción de nivel de canal, diferencias de fase entre canales (parámetros IPD) o parámetros de relleno de estéreo como se ilustra en la línea 1422. De manera correspondiente, el aparato de la figura 4b para la decodificación de una señal multicanal representada por una corriente de bits 1510 comprende un demultiplexador 1520, un decodificador de núcleo que en esta realización consiste en un decodificador EVS 1602 para la señal media (Mid) codificada y en un cuantificador del vector 1603 y un bloque MDCT inverso subsiguientemente conectado 1604. El bloque 1604 proporciona la señal lateral (Side) decodificada por núcleo. Las señales decodificadas m, s son seguidamente convertidas en el dominio espectral mediante el uso de los convertidores tiempo-espectral 1610, y, seguidamente, dentro del dominio espectral, se lleva a cabo el procesamiento estéreo inverso y muestreo repetido. De nuevo, en la figura 4b se ilustra una situación en la que se lleva a cabo el mezclado de forma ascendente de la señal M a izquierda L y derecha R y, adicionalmente, una desalineación de banda estrecha mediante el uso de parámetros IPD y, adicionalmente, otros procedimientos para calcular lo mejor posible los canales izquierdo y derecho mediante el uso de los parámetros de diferencia de nivel entre canales ILD y los parámetros de relleno de estéreo en la línea 1605. Además, el demultiplexador 1520 no solo extrae los parámetros en la línea 1605 de la corriente de bits 1510, sino que también extrae la diferencia de tiempo entre canales en la línea 1606 y comunica esta información al procesamiento estéreo inverso del bloque/remuestreador y, adicionalmente, a un procesamiento del cambio de tiempo inverso en el bloque 1650 que se lleva a cabo en el dominio del tiempo es decir, subsiguientemente al procedimiento llevado a cabo por los convertidores espectraltiempo que proporcionan las señales izquierda y derecha decodificadas con la velocidad de salida, que es diferente de la velocidad en la salida del decodificador EVS 1602 o diferente de la velocidad del bloque IMDCT 1604, por ejemplo.
[0055] El DFT estéreo puede proporcionar seguidamente diferentes versiones muestreadas de la señal que es comunicada seguidamente al codificador de núcleo conmutado. La señal para la codificación puede ser el canal medio (Mid), el canal lateral (Side), o los canales izquierdo y derecho, o cualquier señal resultante de una rotación o mapeo de canales de los dos canales de entrada. Dado que los diferentes codificadores de núcleo del sistema conmutado aceptan diferentes velocidades de muestreo, es un rasgo importante que el banco de filtros para la síntesis estéreo puede proporcionar una señal multivelocidad. El principio se indica en la figura 5.
[0056] En la figura 5, el módulo estéreo toma como entrada los dos canales de entrada, l y r, y los transforma en el dominio de las frecuencias en las señales M y S. En el procesamiento estéreo los canales de entrada pueden finalmente ser mapeados o modificados de manera que generen dos nuevas señales M y S. M es objeto de mayor codificación por el estándar 3GPP EVS mono o por una versión modificada de éste. Un codificador de este tipo es un codificador conmutado, que conmuta entre núcleos de MDCT (TCX y HQ-Core en el caso de EVS) y un codificador de habla (ACELP en EVS). También tiene una función de pre-procesamiento que se ejecuta todo el tiempo a 12,8 kHz y otras funciones de pre-procesamiento que se ejecutan con una velocidad de muestreo que varía según los modos operativos (12,8, 16, 25,6 o 32 kHz). Además, el ACELP se ejecuta ya sea a 12,8 o a 16 kHz, mientras que los núcleos MDCT se ejecutan a la velocidad de muestreo de entrada. La señal S puede ser ya sea codificada por un codificador estándar EVS mono (o por una versión modificada del mismo), o por un codificador de señal lateral (Side) específico especialmente diseñado por sus características. También puede ser posible omitir la codificación de la señal lateral (Side S).
[0057] En la figura 5 se ilustran detalles del codificador estéreo preferido con banco de filtros de síntesis de múltiples velocidades de las señales estéreo procesadas M y S. La figura 5 muestra el convertidor tiempo-espectral 1000 que lleva a cabo una transformada de tiempo frecuencia con la velocidad de entrada, es decir, la velocidad que tienen las señales 1001 y 1002. Explícitamente, la figura 5 muestra adicionalmente un bloque de análisis en el dominio del tiempo 1000a, 1000e, para cada canal. En particular, aunque la figura 5 ilustra un bloque explícito de análisis en el dominio del tiempo, es decir, una formación en ventana para aplicar una ventana de análisis al canal correspondiente, cabe observar que en otros lugares en esta memoria descriptiva, se considera que el aspecto para la formación en ventana para aplicar el bloque de análisis en el dominio del tiempo está incluido en un bloque indicado como “convertidor tiempo-espectral” o “DFT” con alguna velocidad de muestreo. Además, y de manera correspondiente, la mención de un convertidor espectral-tiempo incluye típicamente, en la salida del algoritmo DFT real, un aspecto para la formación en ventana para aplicar una correspondiente ventana de síntesis donde, con el fin de obtener finalmente muestras de salida, se lleva a cabo una superposición-adición de bloques de valores de muestreo formados en ventana con una correspondiente ventana de síntesis. Por ello, aunque el bloque 1030 solamente menciona un “IDFT” este bloque también designa una subsiguiente formación en ventana de un bloque de muestras en el dominio del tiempo con una ventana de análisis y, de nuevo, una subsiguiente operación de superposición-adición con el fin de obtener finalmente la señal en el dominio del tiempo m.
[0058] Además, la figura 5 ilustra un bloque de análisis de escena estéreo específico 1011 que utiliza los parámetros utilizados en el bloque 1010 para llevar a cabo el procesamiento estéreo y de mezclado de forma ascendente, y estos parámetros pueden, por ejemplo, ser los parámetros en las líneas 1422 o 1421 de la figura 4a. Por lo tanto, en la implementación, el bloque 1011 puede corresponder al bloque 1420 en la figura 4a, en la que incluso el análisis de los parámetros, es decir, el análisis de la escena estéreo tiene lugar en el dominio espectral y, particularmente, con la secuencia de bloques de valores espectrales que no han sido remuestreadas, sino que están en la frecuencia máxima correspondiente a la velocidad de muestreo de entrada.
[0059] Además, el decodificador de núcleo 1040 comprende una rama de codificador basada en MDCT 1430a y una rama codificadora de ACELP 1430b. En particular, el codificador medio (Mid) para las señales medias (Mid M) y, el correspondiente codificador lateral (Side) para las señales lateral (Side) lleva a cabo una codificación de conmutación entre una codificación basada en MDCT y una codificación ACELP donde, típicamente, el codificador de núcleo tiene adicionalmente un aspecto de decisión en modo de codificación que opera típicamente en una determinada porción de anticipación con el fin de determinar si un determinado bloque o trama debe ser codificado mediante el uso de procedimientos basados en MDCT o Procedimientos basados en ACELP. Además, o como alternativa, el codificador de núcleo está configurado para utilizar la porción de anticipación con el fin de determinar otras características tales como parámetros de LPC, etc.
[0060] Además, el codificador de núcleo comprende adicionalmente etapas del pre-procesamiento a diferentes velocidades de muestreo tales como una primera etapa de pre-procesamiento 1430c que opera a 12,8 kHz y otra etapa de pre-procesamiento 1430d que opera con velocidades de muestreo del grupo de las velocidades de muestreo consistente en 16 kHz, 25,6 kHz o 32 kHz.
[0061] Por ello, en términos generales, la realización ilustrada en la figura 5 está configurada para tener un remuestreador en el dominio espectral para muestreo repetido, a partir de la velocidad de entrada, que puede ser 8 kHz, 16 kHz o 32 kHz en cualquiera de las velocidades de salida que sean diferentes de 8, 16 o 32.
[0062] Además, la realización en la figura 5 está configurada adicionalmente para tener una rama adicional que no se ha remuestreado, es decir, la rama ilustrada como “IDFT con velocidad de entrada” para la señal media (Mid) y, opcionalmente, para la señal lateral (Side).
[0063] Además, el codificador en la figura 5 comprende preferentemente un remuestreador que no solamente remuestrea con una primera velocidad de muestreo de salida, sino también con una segunda velocidad de muestreo de salida con el fin de tener datos para ambos, los pre-procesadores 1430c y 1430d que pueden, por ejemplo, ser operativos para llevar a cabo algún tipo de filtrado, algún tipo de cálculo de LPC o algún tipo de otro procesamiento de señales que se describe preferentemente en el estándar 3GPP para el Codificador EVS ya mencionado en el contexto de la figura 4a.
[0064] La figura 6 ilustra una realización para un aparato para decodificación de una señal multicanal codificada 1601. El aparato para decodificación comprende un decodificador de núcleo 1600, un convertidor tiempoespectral 1610, un remuestreador en el dominio espectral 1620, un procesador multicanal 1630 y un convertidor espectral-tiempo 1640.
[0065] De nuevo, la invención con respecto al aparato para decodificación de la señal multicanal codificada 1601 puede implementarse en dos alternativas. Una alternativa es que el remuestreador en el dominio espectral está configurado para remuestrear la señal decodificada por núcleo en el dominio espectral antes de llevar a cabo el procesamiento multicanal. Esta alternativa se ilustra mediante líneas continuas en la figura 6. Sin embargo, la otra alternativa es que el muestreo repetido en el dominio espectral se lleve a cabo subsiguientemente al procesamiento multicanal, es decir, que el procesamiento multicanal tenga lugar con la velocidad de muestreo de entrada. Esta realización se ilustra en la figura 6 mediante líneas discontinuas.
[0066] Particularmente, en la primera realización, es decir, en la que el muestreo repetido en el dominio espectral se lleva a cabo en el dominio espectral antes del procesamiento multicanal, la señal decodificada de núcleo que representa una secuencia de bloques de valores de muestreo se convierte en una representación en el dominio de las frecuencias que tiene una secuencia de bloques de valores espectrales para la señal decodificada por núcleo, en la línea 1611.
[0067] Adicionalmente, la señal decodificada por núcleo no solo comprende la señal M en la línea 1602, sino también una señal lateral (Side) en la línea 1603, en la que se ilustra una señal lateral (Side) en 1604 en una representación codificada por núcleo.
[0068] Entonces, el convertidor tiempo-espectral 1610 genera adicionalmente una secuencia de bloques de valores espectrales para la señal lateral (Side) en la línea 1612.
[0069] Entonces, se lleva a cabo un muestreo repetido en el dominio espectral por el bloque 1620, y la secuencia remuestreada de bloques de valores espectrales con respecto a la señal media (Mid) o canal de mezclado de forma descendente o primer canal se comunica al procesador multicanal en la línea 1621 y, opcionalmente, también se comunica una secuencia remuestreada de bloques de valores espectrales para la señal lateral (Side) desde el remuestreador en el dominio espectral 1620 al procesador multicanal 1630 por medio de la línea 1622.
[0070] Entonces, el procesador multicanal 1630 lleva a cabo un procesamiento multicanal inverso con respecto a una secuencia que comprende una secuencia de la señal de mezclado de forma descendente y, opcionalmente, de la señal lateral (Side) ilustrada en las líneas 1621 y 1622 con el fin de emitir al menos dos secuencias resultado de bloques de valores espectrales ilustrados en 1631 y 1632. Estas al menos dos secuencias son convertidas seguidamente en el dominio del tiempo mediante el uso del convertidor espectral-tiempo con el fin de emitir las señales del canal en el dominio del tiempo 1641 y 1642. En la otra alternativa, ilustrada en la línea 1615, el convertidor tiempo-espectral está configurado para introducir la señal decodificada por núcleo tal como la señal media (Mid) en el procesador multicanal. Adicionalmente, el convertidor tiempo-espectral también puede conducir una señal lateral (Side) decodificada 1603 en su representación en el dominio espectral hacia el procesador multicanal 1630, aunque esta opción no se ha representado en la figura 6. Entonces, el procesador multicanal lleva a cabo el procesamiento inverso y la salida de al menos dos canales se comunica por medio de la línea de conexión 1635 al remuestreador en el dominio espectral que comunica seguidamente lo remuestreado en estos dos canales por medio de la línea 1625 hacia el convertidor espectral-tiempo 1640.
[0071] Por lo tanto, de una manera un tanto análoga a lo que se ha expuesto en el contexto de la figura 1, el aparato para decodificación de una señal multicanal codificada comprende también dos alternativas, es decir, una en la que el muestreo repetido en el dominio espectral se lleva a cabo antes del procesamiento multicanal inverso o, como alternativa, una en la que el muestreo repetido en el dominio espectral se lleva a cabo subsiguientemente al procesamiento multicanal a la velocidad de muestreo de entrada. Sin embargo, es preferible llevar a cabo la primera alternativa dado que permite una alineación ventajosa de las diferentes contribuciones de señal ilustradas en la figura 7a y en la figura 7b.
[0072] De nuevo, en la figura 7a se ilustra el decodificador de núcleo 1600 que, sin embargo, emite tres señales de salida diferentes, es decir, una primera señal de salida 1601 con una velocidad de muestreo diferente de la velocidad de muestreo de salida, una segunda señal decodificada de núcleo 1602 a la velocidad de muestreo de entrada, es decir, la velocidad de muestreo subyacente a la señal codificada por núcleo 1601 y el decodificador de núcleo adicionalmente genera una tercera señal de salida 1603 operable y disponible a la velocidad de muestreo de salida, es decir, la velocidad de muestreo finalmente prevista en la salida del convertidor espectral-tiempo 1640 en la figura 7a.
[0073] La totalidad de las tres señales decodificadas por núcleo son introducidas en el convertidor tiempoespectral 1610 que genera tres secuencias diferentes de bloques de valores espectrales 1613, 1611 y 1612.
[0074] La secuencia de bloques de valores espectrales 1613 tiene valores de frecuencia o espectrales de hasta la máxima frecuencia de salida y, por ello, está asociada con la velocidad de muestreo de salida.
[0075] La secuencia de bloques de valores espectrales 1611 tiene valores espectrales de hasta una máxima frecuencia diferente y, por ello, esta señal no corresponde a la velocidad de muestreo de salida.
[0076] Además, los valores espectrales de la señal 1612 de hasta la máxima frecuencia introducida que también es diferente de la frecuencia de salida máxima.
[0077] Por lo tanto, se comunican las secuencias 1612 y 1611 al remuestreador en el dominio espectral 1620 mientras que la señal 1613 no se comunica al remuestreador en el dominio espectral 1620, dado que esta señal ya está asociada con la velocidad de muestreo de salida correcta.
[0078] El remuestreador en el dominio espectral 1620 comunica las secuencias remuestreadas de valores espectrales a un combinador 1700 que está configurado para llevar a cabo una combinación bloque por bloque con líneas espectrales para señales que corresponden en situaciones superpuestas. Por lo tanto, típicamente habrá una región de cruce entre una conmutación desde una señal basada en MDCT a una señal ACELP, y en este intervalo de superposición, existen valores de señales que se combinan entre sí. Sin embargo, una vez superado este intervalo de superposición, y una señal existe solamente en la señal 1603 por ejemplo mientras que la señal 1602, por ejemplo, no existe, entonces el combinador no llevará a cabo una adición de línea espectral bloque por bloque en esta porción. Sin embargo, cuando se presenta un cruce posteriormente, en tal caso tendrá lugar una línea espectral bloque por bloque mediante adición de línea espectral durante esta región de cruce.
[0079] Además, también puede ser posible una adición continua como se ilustra en la figura 7b, en la que se lleva a cabo una señal de salida de post-filtro bajo en el bloque 1600a, que genera una señal de error entre armónicas que podría ser, por ejemplo, la señal 1601 de la figura 7a. Entonces, subsiguientemente a la conversión tiempo-espectral en el bloque 1610, y del muestreo repetido subsiguiente en el dominio espectral 1620, se lleva preferentemente a cabo una operación de filtrado adicional 1702 antes de llevar a cabo la adición en el bloque 1700 en la figura 7b.
[0080] De manera similar, la etapa de decodificación basada en MDCT 1600d y la etapa de decodificación de extensión del ancho de banda en el dominio del tiempo 1600c pueden acoplarse por medio de un bloque de desvanecimiento cruzado 1704 con el fin de obtener la señal decodificada de núcleo 1603 que es convertida seguidamente en la representación en el dominio espectral a la velocidad de muestreo de salida de tal manera que para esta señal 1613, el muestreo repetido en el dominio espectral no es necesario, sino que la señal puede ser comunicada directamente al combinador 1700. El procesamiento estéreo inverso o el procesamiento multicanal 1603 seguidamente tiene lugar subsiguientemente hacia el combinador 1700.
[0081] Por lo tanto, a diferencia de la realización ilustrada en la figura 6, el procesador multicanal 1630 no opera sobre la secuencia remuestreada de valores espectrales, sino que opera sobre una secuencia que comprende la al menos una secuencia remuestreada de valores espectrales tales como 1622 y 1621 donde la secuencia, sobre la cual opera el procesador multicanal 1630, comprende adicionalmente la secuencia 1613 cuyo remuestreo no era necesario.
[0082] Como se ilustra en la figura 7, las diferentes señales decodificadas procedentes de diferentes DFTs que trabajan con diferentes velocidades de muestreo ya están alineadas en el tiempo dado que las ventanas de análisis con diferentes velocidades de muestreo comparten la misma forma. Sin embargo, los espectros muestran diferentes magnitudes y puestas en escala. Para armonizarlos y hacerlos compatibles, todos los espectros son remuestreados en el dominio de las frecuencias con la deseada velocidad de muestreo de salida antes de ser adicionados entre sí.
[0083] Por lo tanto, en la figura 7 se ilustra la combinación de diferentes contribuciones de una señal sintetizada en el dominio DFT, donde el muestreo repetido en el dominio espectral se lleva a cabo de tal manera que, al final, todas las señales que deben ser añadidas por el combinador 1700 ya están disponibles con valores espectrales que se extienden hasta la frecuencia de salida máxima que corresponde a la velocidad de muestreo de salida, es decir, es inferior o igual a la mitad de la velocidad de muestreo de salida que seguidamente se obtiene a la salida del convertidor espectral tiempo 1640.
[0084] La elección del banco de filtros estéreo es esencial para un sistema de bajo retardo, y el compromiso obtenible se ha resumido en la figura 8b. Puede utilizar ya sea una DFT (transformada de bloque) o un QMF de bajo pseudo-retardo llamado CLDFB (banco de filtros). Cada propuesta muestra un retardo, tiempo y resoluciones de frecuencia diferentes. Para el sistema debe elegirse el mejor compromiso entre estas características. Es importante tener una buena frecuencia y buenas resoluciones de tiempo. Esta es la razón por la que mediante la utilización de un banco de filtros de pseudo QMF como en la propuesta 3 puede ser problemática. La resolución de frecuencia es baja. Se puede reforzar mediante estrategias híbridas como en MPS 212 de MPEG-USAC, pero tiene el inconveniente de incrementar de manera significativa tanto la complejidad como el retardo. Otro punto importante es el retardo disponible en el lado del decodificador entre el decodificador de núcleo y el procesamiento estéreo inverso. Cuanto mayor sea este retardo, mejor será. Por ejemplo, la propuesta 2 no puede proporcionar un retardo de éste, por lo que no es una solución útil. Por estas razones mencionadas más arriba, nos enfocaremos en el resto de la descripción en las propuestas 1, 4 y 5.
[0085] La ventana de análisis y síntesis del banco de filtros es otro aspecto importante. En la realización preferida se utiliza la misma ventana para el análisis y síntesis de la DFT. También es el mismo en los lados de codificador y decodificador. Se prestó especial atención a satisfacer las siguientes restricciones:
• la región de superposición tiene que ser igual o más pequeña que la región de superposición del núcleo de MDCT y de la vista adelantada de ACELP. En la realización preferida todas las magnitudes son iguales a 8,75 ms • El padding cero debería ser al menos de aproximadamente 2,5 ms con el fin de permitir la aplicación de un desplazamiento lineal de los canales en el dominio de DFT.
• El tamaño de la ventana, el tamaño de la región de superposición y la magnitud del padding cero deben expresar en números enteros de muestras para diferentes velocidades de muestreo 12,8, 16, 25,6, 32 y 48 kHz
• La complejidad de la DFT debe ser lo más baja posible, es decir la base máxima de la DFT en una implementación de FFT de tipo base dividida debería ser lo más baja posible.
• Se fija la resolución de tiempo en 10 ms.
[0086] En base a estas restricciones, las ventanas para las propuestas 1 y 4 se describen en la figura 8c y en la figura 8a.
[0087] La figura 8c ilustra una primera ventana que consiste en una porción superpuesta inicial 1801, una porción central subsiguiente 1803 y una porción superpuesta terminal o una segunda porción superpuesta 1802. Además, la primera porción superpuesta 1801 y la segunda porción superpuesta 1802 tienen adicionalmente una porción de padding cero de 1804 en el inicio y 1805 al final de ella.
[0088] Por otra parte, en la figura 8c se ilustra el procedimiento llevado a cabo con respecto a la estructura del convertidor tiempo-espectral 1000 de la figura 1 o como alternativa, 1610 de la figura 7a. La ventana de análisis adicional consistente en los elementos 1811, es decir, una primera porción superpuesta, una porción central no superpuesta 1813 y una segunda porción superpuesta 1812 se superpone a la primera ventana en un 50 %. Adicionalmente, la segunda ventana tiene las porciones de padding cero 1814 y 1815 en el inicio y final de ella. Estas porciones de padding cero son necesarias con el fin de estar en la posición de llevar a cabo la alineación de tiempo del ancho de banda en el dominio de las frecuencias.
[0089] Además, la primera porción superpuesta 1811 de la segunda ventana empieza al final de la parte central 1803, es decir, la parte no superpuesta de la primera ventana, y parte superpuesta de la segunda ventana, es decir, la parte no superpuesta 1813 empieza al final de la segunda porción superpuesta 1802 de la primera ventana, como se ilustra.
[0090] Si se considera que la figura 8c representa una operación de superposición-adición en un convertidor espectral-tiempo tal como el convertidor espectral-tiempo 1030 de la figura 1 para el codificador o para el convertidor espectral-tiempo 1640 para el decodificador, entonces la primera ventana que consiste en los bloques 1801, 1802, 1803, 1805, 1804 corresponde a una ventana de síntesis y la segunda ventana que consiste en las partes 1811, 1812, 1813, 1814, 1815 corresponde a la ventana de síntesis para el bloque siguiente. En tal caso, la superposición entre la ventana ilustra la porción superpuesta, y la porción superpuesta se ilustra en 1820, y la longitud de la porción superpuesta es igual a la trama actual dividida por dos y es, en la realización preferida, igual a 10 ms. Además, en la parte inferior de la figura 8c, la ecuación analítica para calcular los coeficientes de ventana ascendentes dentro del intervalo de superposición 1801 o 1811 se ilustra como una función seno, y, de manera correspondiente, los coeficientes de magnitud de superposición descendente de la porción superpuesta 1802 y 1812 también se ilustran como una función seno.
[0091] En realizaciones preferidas, se utiliza la misma ventana de análisis y síntesis solamente para el decodificador ilustrado en la figura 6, figura 7a, y figura 7b. Por lo tanto, el convertidor tiempo-espectral 1616 y el convertidor espectral-tiempo 1640 utilizan exactamente las mismas ventanas que las ilustradas en la figura 8c.
[0092] Sin embargo, en determinadas realizaciones particularmente con respecto a la subsiguiente propuesta/realización 1, se utiliza una ventana de análisis que en términos generales concuerda con la figura 1c, pero los coeficientes de ventana para las posiciones de superposición ascendente o descendente se calculan utilizando una raíz cuadrada de función seno, con el mismo argumento en la función seno que en la figura 8c. De manera correspondiente, la ventana de síntesis se calcula mediante el uso de una función seno a la potencia de 1,5, pero de nuevo con el mismo argumento que la función seno.
[0093] Además, cabe observar que debido a la operación de superposición-adición, la multiplicación de seno a la potencia 0,5 multiplicado por seno a la potencia 1,5 resulta de nuevo en un seno a la potencia 2, resultado que es necesario con el fin de tener una situación de conservación de energía.
[0094] La propuesta 1 tiene como características principales que la región de superposición de la DFT tiene el mismo tamaño y está alineada con la anticipación de ACELP y con la región de superposición del núcleo de MDCT. El retardo del codificador es en tal caso el mismo para los ACELP/Núcleos de MDCT y el estéreo no introduce ningún retardo adicional en el codificador. En el caso de EVS y en caso de utilizarse la estrategia del banco de filtros de síntesis multivelocidad descrito en la figura 5, el retardo del codificador estéreo es bajo, de aproximadamente 8,75 ms.
[0095] La estructura esquemática del codificador se ilustra en la figura 9a, mientras que el decodificador se ilustra en la figura 9e. En la figura 9c, las ventanas han sido dibujadas en azul de puntos para el codificador y en rojo sólido para el decodificador.
[0096] Un tema importante en el caso de la propuesta 1 es que la anticipación en el codificador está formada en ventana. Se puede compensar para el procesamiento subsiguiente, o se puede dejar formada en ventana si el procesamiento subsiguiente está adaptado para tener en cuenta una anticipación formada en ventana. Podría darse el caso de que si el procesamiento estéreo llevado a cabo en la DFT modificó el canal de entrada, y especialmente cuando se utilizan operaciones no lineales, que la señal compensada o formada en ventana no permita lograr una reconstrucción perfecta en el caso en que se omita la codificación de núcleo.
[0097] Cabe observar que entre la ventana de síntesis del decodificador de núcleo y la ventana de análisis del decodificador estéreo hay un espacio de tiempo de 1,25ms que puede ser aprovechado por el decodificador de núcleo después del procesamiento, por la extensión del ancho de banda (BWE, bandwidth extension), como BWE del dominio del tiempo utilizado sobre ACELP, o mediante alguna suavización en el caso de transición entre ACELP y núcleos de MDCT.
[0098] Dado que este espacio de tiempo de solamente 1,25 ms es inferior a los 2,3125 ms requeridos por el estándar EVS para tales operaciones, la presente invención proporciona una manera de combinar, remuestrear y suavizar las diferentes partes de síntesis del decodificador conmutado dentro del dominio de DFT del módulo estéreo.
[0099] Como se ilustra en la figura 9a, el codificador de núcleo 1040 está configurado para operar según un control de estructura para proporcionar una secuencia de tramas, donde una trama está delimitada por un borde de inicio de la trama 1901 y un borde final de la trama 1902. Además, el convertidor tiempo-espectral 1000 y/o el convertidor espectral-tiempo 1030 están configurados también para operar según un segundo control de estructura que está sincronizado con el primer control de estructura. El control de estructura se ilustra con dos ventanas superpuestas 1903 y 1904 para el convertidor tiempo-espectral 1000 en el codificador, y, particularmente, para el primer canal 1001 y el segundo canal 1002 que son procesados simultáneamente y completamente sincronizados. Además, el control de estructura también es visible en el lado del decodificador, específicamente, con dos ventanas propuestas para el convertidor tiempo-espectral 1610 de la figura 6 que se ilustran en 1913 y 1914. Estas ventanas.
1913 y 1914 se aplican a la señal del decodificador de núcleo que es preferentemente una única señal mono o de mezclado de forma descendente 1610 de la figura 6, por ejemplo. Además, como puede observarse en la figura 9a, la sincronización entre el control de estructura del codificador de núcleo 1040 y el convertidor tiempo-espectral 1000 o el convertidor espectral-tiempo 1030 es tal que el borde de inicio de la trama 1901 o el borde final de la trama 1902 de cada trama de la secuencia de tramas se encuentra en una relación predeterminada con respecto a una instancia de inicio y la instancia final de una porción superpuesta de una ventana utilizada por el convertidor tiempo-espectral 1000 o por el convertidor espectral-tiempo 1030 para cada bloque de la secuencia de bloques de valores de muestreo o para cada bloque de la secuencia remuestreada de bloques de valores espectrales. En la realización ilustrada en la figura 9a, la relación predeterminada es tal que el inicio de la primera porción superpuesta coincide con el borde de tiempo de inicio con respecto a la ventana 1903, y el inicio de la porción superpuesta de la ventana adicional 1904 coincide con el extremo de la parte central tal como la parte 1803 de la figura 8c, por ejemplo. Por lo tanto, el borde de tramo final 1902 coincide con el extremo de la parte central 1813 de la figura 8c, cuando la segunda ventana en la figura 8c corresponde a la ventana 1904 en la figura 9a.
[00100] Por lo tanto, es evidente que la segunda porción superpuesta tal como 1812 de la figura 8c de la segunda ventana 1904 en la figura 9a se extiende sobre el borde de trama de inicio o de parada 1902, y, por ello, se extiende en la porción codificador-núcleo de anticipación ilustrada en 1905.
[00101] Por lo tanto, el codificador de núcleo 1040 está configurado para utilizar una porción de anticipación tal como la porción de anticipación 1905 cuando se codifique por núcleo el bloque de salida de la secuencia de salida de los bloques de muestreo, donde la porción de salida de anticipación está situada en el tiempo subsiguiente al bloque de salida. El bloque de salida se corresponde con la trama delimitada por los límites de trama 1901, 1904 y la porción de salida de anticipación 1905 se presenta después de este bloque de salida para el codificador de núcleo 1040.
[00102] Además, como se ilustra, el convertidor tiempo-espectral está configurado para utilizar una ventana de análisis, es decir, la ventana 1904 que tiene la porción de superposición con una longitud en tiempo inferior o igual a la longitud en tiempo de la porción de anticipación 1905, donde esta porción superpuesta correspondiente a la superposición 1812 de la figura 8c que está situada en el intervalo de superposición, se utiliza para generar la porción formada en ventana de anticipación.
[00103] Además, el convertidor espectral-tiempo 1030 está configurado para procesar la porción de salida de anticipación correspondiente a la porción formada en ventana de anticipación preferentemente mediante el uso de una función de compensación, donde la función de compensación está configurada de manera que reduzca o elimine una influencia de la superposición de la ventana de análisis.
[0104] Por lo tanto, el convertidor espectral-tiempo que opera entre el codificador de núcleo 1040 y el bloque de mezclado de forma descendente 1010/bloque de muestreo descendente 1020 en la figura 9a está configurado para aplicar una función de compensación con el fin de deshacer la formación en ventana aplicada por la ventana 1904 en la figura 9a.
[0105] Por lo tanto, se asegura que el codificador de núcleo 1040, cuando aplica su funcionalidad de anticipación a la porción de anticipación 1095, lleve a cabo la función de anticipación no porción sino a una porción que esté lo más cercana posible a la porción original.
[0106] Sin embargo, debido a las restricciones de bajo retardo, y debido a la sincronización entre la estructura del pre-procesador estéreo y el codificador de núcleo, no existe una señal original en el dominio del tiempo para la porción de anticipación. Sin embargo, la aplicación de la función de compensación asegura que cualquier artefacto ocasionado por este procedimiento se reduzca lo máximo posible.
[0107] En la figura 9d y 9e se ilustra con mayor detalle una secuencia de procedimientos con respecto a esta tecnología.
[0108] En la etapa 1910, se lleva a cabo una DFT'1 de un bloque 0ésimo de manera que se obtenga un bloque 0ésim° en el dominio del tiempo. El bloque 0ésimo podría haber obtenido una ventana utilizada a la izquierda de la ventana 1903 en la figura 9a. Sin embargo, este bloque 0-ésimo, no se ilustra explícitamente en la figura 9a.
[0109] Seguidamente, en la etapa 1912, el bloque zero®5™ se forma en ventana mediante el uso de una ventana de síntesis, es decir, se forma en ventana en el convertidor espectral-tiempo 1030 ilustrado en la figura 1.
[0110] Entonces, como se ilustra en el bloque 1911, se lleva a cabo una DFT-1 del primer bloque obtenido por la ventana 1903 para obtener un primer bloque en el dominio del tiempo, y este primer bloque se forma de nuevo en ventana mediante el uso de la ventana de síntesis en el bloque 1910.
[0111] Entonces, como se indica en 1918 en la figura 9d, se lleva a cabo una DFR inversa del segundo bloque, es decir, el bloqueo obtenido por la ventana 1904 de la Figura 9a, para obtener un segundo bloque en el dominio del tiempo, y, seguidamente la primera porción del segundo bloque se forma en ventana mediante el uso de la ventana de síntesis como se ilustra por 1920 de la Figura 9d. Sin embargo, lo importante es que la segunda porción del segundo bloque obtenido por el elemento 1918 en la Figura 9d no se forma en ventana mediante el uso de la ventana de síntesis, sino que se compensa como se ilustra en el bloque 1922 de la Figura 9d, y, para la función de compensación, se utiliza la inversa de la función de ventana de análisis y la correspondiente porción superpuesta de función de la ventana de análisis.
[0112] Por lo tanto, si la ventana utilizada para generar el segundo bloque fue una ventana seno ilustrada en la Figura 8c, en tal caso se utiliza 1/sin() para los coeficientes de tamaño de superposición descendentes de las ecuaciones a la parte inferior de la Figura 8c, como función de compensación.
[0113] Sin embargo, se prefiere utilizar una raíz cuadrada de ventana seno para la ventana de análisis y, por 1 /v 's in Ó
ello, la función de compensación es una función de ventana de . Esto asegura que la porción compensada de anticipación obtenida por el bloque 1922 es lo más cercana posible a la señal original, pero por supuesto no es la señal izquierda original ni la señal derecha original sino la señal que se habría obtenido mediante la adición de izquierda y derecha para obtener la señal media (Mid).
[0114] Entonces, en la etapa 1924 en la figura 9d, una trama indicada mediante los límites de trama 1901,1902 se genera llevando a cabo una operación de superposición-adición en el bloque 1030 de tal manera que el codificador tenga una señal en el dominio del tiempo, y esta trama se lleva a cabo mediante una operación de superposición-adición entre el bloque correspondiente a la ventana 1903, y las muestras anteriores del bloque anterior y mediante el uso de la primera porción del segundo bloque obtenido por el bloque 1920. Entonces, Esta trama emitida por el bloque 1924 se comunica al codificador de núcleo 1040 y, adicionalmente, el codificador de núcleo recibe adicionalmente la porción compensada de anticipación para la trama y, como se ilustra en la etapa 1926, el codificador de núcleo puede determinar seguidamente la característica para el codificador de núcleo mediante el uso de la porción compensada de anticipación obtenida por la etapa 1922. Entonces, como se ilustra en la etapa 1928, el codificador de núcleo codifica por núcleo la trama mediante el uso de la característica determinada en el bloque 1926 de manera que finalmente se obtenga la trama, codificada por núcleo, correspondiente al borde de trama 1901, 1902 que tiene, en la realización preferida, una longitud de 20 ms.
[0115] Es preferible que la porción superpuesta de la ventana 1904 que se extiende en la porción de anticipación 1905 tenga la misma longitud que en la porción de anticipación, pero también puede ser más corta que la porción de anticipación pero se prefiere que no sea más larga que la porción de anticipación de tal manera que el pre-procesador estéreo no introduzca ningún retardo adicional debido a las ventanas superpuestas.
[0116] Seguidamente, el procedimiento continúa con la formación en ventana de la segunda porción del segundo bloque mediante el uso de la ventana de síntesis ilustrada en el bloque 1930. Por lo tanto, la segunda porción del segundo bloque es, por una parte, compensada por el bloque 1922 y por otra parte se forma en ventana por ventana de síntesis ilustrada en el bloque 1930, dado que, a continuación, se requiere esta porción para regenerar la siguiente trama para el codificador de núcleo por superposición/adición de la segunda porción formada en ventana del segundo bloque, un tercer bloque puesto en ventana y una primera porción de ventana del cuarto bloque ilustrado en el bloque 1932. Por supuesto, el cuarto bloque y en particular la segunda porción del cuarto bloque sería una vez más sometido a la operación de compensación como se expuso con respecto al segundo bloque en el elemento 1922 de la figura 9d y, entonces, se repetiría una vez más el procedimiento como se ha expuesto más arriba. Además, en la etapa 1934, el codificador de núcleo determinaría las características del codificador de núcleo utilizado para compensar la segunda porción del cuarto bloque y, entonces, la siguiente trama se codificaría mediante el uso de las características de codificación determinadas con el fin de obtener finalmente la siguiente trama codificada en el bloque 1934. Por lo tanto, la alineación de la segunda porción superpuesta de la ventana de análisis (en la síntesis correspondiente) con la porción de anticipación del codificador de núcleo 1905 asegura que es posible obtener una implementación de retardo muy baja y que esta ventaja se debe al hecho de que la porción de anticipación formada en ventana es compensada, por una parte, por la realización de la función de compensación y por otra parte por la aplicación de una ventana de análisis que no es igual a la ventana de síntesis sino que aplica una influencia más pequeña, de tal manera que puede asegurarse que la función de compensación es más estable en comparación con la utilización de la misma ventana de análisis/síntesis. Sin embargo, en el caso en que el codificador del núcleo haya sido modificado para operar esta función de anticipación que típicamente es necesaria para determinar las características de codificación del núcleo en una porción formada en ventana, no es necesaria para llevar a cabo la función de compensación. Sin embargo, se ha descubierto que la utilización de la función de compensación es ventajosa en comparación con la modificación del codificador de núcleo.
[0117] Además, como se ha expuesto más arriba, cabe observar que hay un espacio de tiempo entre el fin de una ventana, es decir, la ventana de análisis 1914 y el borde de trama 1902 de la trama definida por el borde de inicio de la trama 1901 y el límite final de la trama 1902 de la figura 9b.
[0118] En particular, el espacio de tiempo se ilustra en 1920 con respecto a las ventanas de análisis aplicadas por el convertidor de tiempo-espectro 1610 de la figura 6, y este espacio de tiempo también es visible 120 con respecto al primer canal de salida 1641 y el segundo canal de salida 1642.
[0119] La figura 9f muestra un procedimiento de las etapas llevadas a cabo en el contexto del espacio de tiempo, el decodificador de núcleo 1600 decodifica en núcleo la trama o al menos la porción inicial de la trama hasta el espacio de tiempo 1920. Entonces, el convertidor de tiempo-espectro 1610 de la figura 6 está configurado para aplicar una ventana de análisis a la porción inicial de la trama utilizando la ventana de análisis 1914 que no se extiende hasta el final de la trama, es decir, hasta el instante de tiempo 1902, sino que solamente se extiende hasta el inicio del espacio de tiempo 1920.
[0120] Por lo tanto, el decodificador de núcleo tiene tiempo adicional para decodificar en núcleo las muestras en el espacio de tiempo y/o para post-procesar las muestras en el espacio de tiempo como se ilustra en el bloque 1940. Por lo tanto, el convertidor de tiempo-espectro 1610 ya emite un primer bloque como el resultado de la etapa 1938 allí el decodificador de núcleo puede proporcionar las muestras permanentes en el espacio de tiempo y puede post-procesar las muestras en el espacio de tiempo en la etapa 1940.
[0121] Seguidamente, en la etapa 1942, el convertidor de tiempo-espectro 1610 está configurado para poner en ventana las muestras en el espacio de tiempo junto con muestras de la trama siguiente mediante el uso de una siguiente ventana de análisis que se presentaría subsiguientemente a la ventana 1914 en la figura 9b. A continuación, como se ilustra en la etapa 1944, el decodificador de núcleo 1600 está configurado para decodificación de la siguiente trama o al menos la porción inicial de la trama siguiente hasta que tenga lugar el espacio de tiempo 1920 en la siguiente trama. Entonces, en la etapa 1946, el convertidor de tiempo-espectro 1610 está configurado para poner en ventana las muestras en la siguiente trama hasta el espacio de tiempo 1920 de la trama siguiente y, en la etapa 1948, el decodificador de núcleo podría entonces decodificar en núcleo las muestras restantes en el espacio de tiempo de la trama siguiente y/o post-procesar estas muestras.
[0122] Por lo tanto, este espacio de tiempo de, por ejemplo, 1,25 ms cuando se considera que la realización de la figura 9b puede ser aprovechada para el post-procesamiento del decodificador de núcleo, por la extensión del ancho de banda, mediante, por ejemplo, una extensión del ancho de banda en el dominio del tiempo utilizada en el contexto de ACELP, o mediante alguna suavización en el caso de una transición de la transmisión entre señales ACELP y MDCT de núcleo.
[0123] Por lo tanto, una vez más, el decodificador de núcleo 1600 está configurado para operar según un primer control de la estructura para proporcionar una secuencia de tramas, en la que el convertidor de tiempoespectro 1610 o el convertidor espectro-tiempo 1640 están configurados para operar según un segundo control de estructura que está sincronizado con el primer control de estructura, de tal manera que el borde de inicio de la trama o el borde final de la trama de cada trama de la secuencia de tramas se encuentra en una relación predeterminada con respecto a un instante de inicio o con respecto a un instante final de una porción superpuesta de una ventana utilizada por el convertidor de tiempo-espectro o por el convertidor espectro-tiempo para cada bloque de la secuencia de bloques de valores de muestreo o para cada bloque de la secuencia remuestreada de bloques de valores espectrales.
[0124] Además, el convertidor de tiempo-espectro 1610 está configurado para utilizar una ventana de análisis para formar en ventana la trama de la secuencia de tramas que tiene un intervalo de superposición que termina antes del borde de trama final 1902 quedando un espacio de tiempo 1920 entre el fin de la porción de superposición y el borde final de la trama. El decodificador de núcleo 1600 está configurado, por lo tanto, para llevar a cabo el procesamiento de las muestras en el espacio de tiempo 1920 en paralelo con la formación en ventana de la trama mediante el uso de la ventana de análisis o donde se lleva a cabo otro post-procesamiento en paralelo con la formación en ventana de la trama mediante el uso de la ventana de análisis por el convertidor tiempo-espectral.
[0125] Además, es preferible que la ventana de análisis para un siguiente bloque de la señal decodificada de núcleo esté situada de tal manera que una porción central no superpuesta de la ventana se encuentre situada dentro del espacio de tiempo como se ilustra en 1920 de la figura 9b.
[0126] En la propuesta 4 el retardo global del sistema está incrementado con respecto al de la propuesta 1. En el codificador llega un retardo extra debido al módulo estéreo. El tema de una reconstrucción perfecta ya no se aplica en la propuesta 4, a diferencia de la propuesta 1.
[0127] En el decodificador, el retardo disponible entre el decodificador de núcleo y el análisis del primer DFT es de 2,5 ms, lo que permite llevar a cabo un muestreo repetido convencional, combinación y suavización entre las diferentes síntesis de núcleo y las señales de ancho de banda extendidas como se hace para el estándar EVS.
[0128] La estructura esquemática del codificador se ilustra en la figura 10a mientras que el decodificador se ilustra en la figura 10b. Las ventanas se indican en la figura 10c.
[0129] En la propuesta 5, la resolución de tiempo de la DFT está disminuida a 5 ms. La región de anticipación y de superposición del codificador núcleo no se forma en ventana, lo que es una ventaja compartida con respecto a la propuesta 4. Por otra parte, el retardo disponible entre la decodificación de codificador y el análisis estéreo es pequeño y se necesita una solución como se propone en la Propuesta 1 (Figura 7). Las principales desventajas de esta propuesta es la baja resolución de frecuencia de la descomposición de tiempo-frecuencia y la pequeña región de superposición reducida a 5 ms, lo que impide un gran desplazamiento del tiempo en el dominio de las frecuencias.
[0130] La estructura esquemática del codificador se ilustra en la figura 11a mientras que el decodificador se ilustra en la figura 11b. Las ventanas se indican en la figura 11c.
[0131] En vista de lo anterior, las realizaciones preferidas se refieren, en cuanto al lado del codificador, a una síntesis de tiempo-frecuencia de múltiples velocidades que proporciona al menos una señal estéreo procesada con diferentes velocidades de muestreo a los módulos de procesamiento subsiguientes. El módulo incluye, por ejemplo, un codificador del habla como ACELP, herramientas de pre-procesamiento, un codificador de audio basado en MDCT tal como TCX o un codificador de extensión de ancho de banda tal como un codificador de extensión de ancho de banda en el dominio del tiempo.
[0132] Con respecto al decodificador, se lleva a cabo la combinación en el muestreo repetido en el dominio de las frecuencias de estéreo con respecto a diferentes contribuciones de la síntesis de decodificador. Estas señales de síntesis pueden proceder de un decodificador del habla tal como un Decodificador ACELP, un Decodificador basado en MDCT, un módulo de extensión de ancho de banda o una señal de error entre las armónicas procedente de un post-procesamiento tal como un post-filtro bajo.
[0133] Además, con respecto tanto al codificador como al decodificador, es útil aplicar una ventana para la DFT o un valor complejo transformado con un padding cero, una región de baja superposición y un hopsize que corresponde a un número entero de muestras con diferentes velocidades de muestreo tales como 12,9 kHz, 16 kHz, 25,6 kHz, 32 kHz o 48 kHz.
[0134] Algunas realizaciones son capaces de lograr una codificación con baja velocidad de bits de audio estéreo con bajo retardo. Se diseñó específicamente para combinar un esquema de codificación de audio conmutado con bajo retardo, tal como EVS, con los bancos de filtros de un módulo de codificación estéreo.
[0135] Las realizaciones pueden encontrar una utilización en la distribución o radiodifusión de todos los tipos de contenido audio estéreo o de múltiples canales (tanto habla como música con una calidad perceptual constante con una velocidad de bits baja dada) tales como, por ejemplo con aplicaciones de radio digital, streaming en Internet y comunicaciones de audio.
[0136] La figura 12 ilustra un aparato para la codificación de una señal multicanal que tiene al menos dos canales. La señal multicanal 10 se introduce en un determinador de parámetros 100 por una parte y en un alineador de señales 200 por otra parte. El determinador de parámetros 100 determina, por una parte, un parámetro de alineación de banda ancha y, por otra parte, una pluralidad de parámetros de alineación de banda ancha de la señal multicanal. Estos parámetros son emitidos por medio de una línea de parámetros 12. Además, estos parámetros son emitidos también por medio de otra línea de parámetros 14 alguna interfaz de salida 500 como se ilustra. Sobre la línea de parámetros 14, unos parámetros adicionales tales como los parámetros de nivel son comunicados desde el determinador de parámetros 100 a la interfaz de salida 500. El alineador de señales 200 está configurado para alinear los al menos dos canales de la señal multicanal 10 mediante el uso del parámetro de alineación de banda ancha y la pluralidad de parámetros de alineación de banda ancha recibida por medio de la línea de parámetros 10 para obtener canales alineados 20 en la salida del alineador de señal 200. Estos canales alineados 20 son comunicados a un procesador de señales 300 que está configurado para calcular una señal media (Mid) 31 y una señal lateral (Side) 32 a partir de los canales alineados recibidos por medio de la línea 20. El aparato para la codificación comprende además un codificador de señales 400 para la codificación de la señal media (Mid) de la línea 31 y la señal lateral (Side) de la línea 32 para obtener una señal media (Mid) codificada en la línea 41 y una señal lateral (Side) codificada en la línea 42. Estas dos señales se comunican a la interfaz de salida 500 para generar una señal multicanal codificada en la línea de salida 50. La señal codificada en la línea de salida 50 comprende la señal media (Mid) codificada de la línea 41, la señal lateral (Side) codificada de la línea 42, los parámetros de alineación de banda ancha y los parámetros de alineación de banda ancha de la línea 14 y, opcionalmente, un parámetro de nivel de la línea 14 y, adicional y opcionalmente, un parámetro de relleno de estéreo generado por el codificador de señales 400 y comunicado a la interfaz de salida 500 por medio de la línea de parámetros 43.
[0137] Preferentemente, el alineador de señales está configurado para alinear los canales de la señal multicanal mediante el uso del parámetro de alineación de banda ancha, antes de que el determinador de parámetros 100 calcule realmente los parámetros de banda estrecha. Por ello, en esta realización, el alineador de señales 200 envía los canales alineados de banda ancha de vuelta al determinador de parámetros 100 por medio de una línea de conexión 15. Seguidamente, el determinador de parámetros 100 determina la pluralidad de parámetros de alineación de banda estrecha de una señal multicanal ya alineada con respecto a las características de banda ancha. Sin embargo, en otras realizaciones, los parámetros se determinan sin esta secuencia específica de procedimientos.
[0138] En la figura 14a se ilustra una implementación preferida, en la que se lleva a cabo la secuencia específica de etapas en la que interviene la línea de conexión 15. En la etapa 16, se determina el parámetro de alineación de banda ancha mediante el uso de los dos canales y se obtiene el parámetro de alineación de banda ancha tal como una diferencia de tiempo entre canales o parámetro de ITD. A continuación, en la etapa 21, los dos canales son alineados por el alineador de señales 200 de la figura 12 mediante el uso del parámetro de alineación de banda ancha. Seguidamente, en la etapa 17, se determinan los parámetros de banda estrecha mediante el uso de los canales alineados dentro del determinador de parámetros 100 para determinar una pluralidad de parámetros de alineación de banda ancha tales como una pluralidad de parámetros de diferencia de fase entre canales para diferentes bandas de la señal multicanal. A continuación, en la etapa 22, se alinean los valores espectrales en cada banda de parámetros mediante el uso del correspondiente parámetro de alineación de banda estrecha para esta banda específica. Si se lleva a cabo este procedimiento en la etapa 22 para cada banda, para la que está disponible un parámetro de alineación de banda estrecha, en tal caso los canales primero y segundo o izquierdo/derecho, alineados están disponibles para un procesamiento de las señales adicional por el procesador de señales 300 de la figura 12.
[0139] La figura 14b ilustra otra implementación del codificador multicanal de la figura 12 en la que se llevan a cabo diversos procedimientos en el dominio de las frecuencias.
[0140] Específicamente, el codificador multicanal comprende además un convertidor de tiempo-espectro 150 para convertir una señal multicanal en el dominio del tiempo en una representación espectral de los al menos dos canales dentro del dominio de las frecuencias.
[0141] Además, como se ilustra en 152, el determinador de parámetros, el alineador de señales y el procesador de señales ilustrados en 100, 200 y 300 en la figura 12 operan, todos ellos, en el dominio de las frecuencias.
[0142] Además, el codificador multicanal y, específicamente, el procesador de señales comprende además un convertidor espectro-tiempo 154 para generar una representación en el dominio del tiempo, de al menos la señal media (Mid).
[0143] Preferentemente, el convertidor de espectro tiempo convierte adicionalmente una representación espectral de la señal lateral (Side) también determinada mediante los procedimientos representados por el bloque 152 en una representación en el dominio del tiempo, y a continuación se configura el codificador de señales 400 de la figura 12 para continuar con la codificación de la señal media (Mid) y/o de la señal lateral (Side) como señales en el dominio del tiempo en función de la implementación específica del codificador de señales 400 de la figura 12.
[0144] Preferentemente, el convertidor de tiempo-espectro 150 de la figura 14b está configurado para implementar las etapas 155, 156 y 157 de la figura 4c. Específicamente, la etapa 155 comprende el suministro de una ventana de análisis con al menos un paciente de padding cero en uno de sus extremos, y, específicamente, una porción de padding cero en la porción inicial de la ventana y una porción de padding cero en la porción terminal de la ventana como se ilustra, por ejemplo, en la figura 7 más adelante. Además, la ventana de análisis tiene adicionalmente intervalos de superposición o porciones de superposición en una primera mitad de la ventana y en una segunda mitad de la ventana y, adicionalmente, preferentemente una parte central que es un intervalo de no superposición, según sea el caso.
[0145] En la etapa 156, cada canal se forma en ventana mediante el uso de la ventana de análisis con intervalos de superposición. Específicamente, cada canal se forma en ventana mediante el uso de la ventana de análisis de tal manera que se obtiene un primer bloque del canal. Subsiguientemente, se obtiene un segundo bloque que tiene un determinado intervalo de superposición con el primer bloque y así sucesivamente, de tal manera que subsiguientemente a, por ejemplo, cinco operaciones de formación en ventana, se dispone de cinco bloques de muestras formadas en ventana que son seguidamente transformados en una representación espectral como se ilustra en 157 en la figura 14c. Se lleva a cabo el mismo procedimiento también para el otro canal de tal manera que al final de la etapa 157, se encuentra disponible una secuencia de bloques de valores espectrales y, específicamente, valores espectrales complejos tales como los valores espectrales de DFT o muestras de subbanda complejas.
[0146] En la etapa 158, que se lleva a cabo mediante el determinador de parámetros 100 de la figura 12, se determina un parámetro de alineación de banda ancha y en la etapa 159, que se lleva a cabo mediante la alineación de señales 200 de la figura 12, se lleva a cabo un desplazamiento circular mediante el uso del parámetro de alineación de banda ancha. En la etapa 160, de nuevo llevada a cabo por el determinador de parámetros 100 de la figura 12, se determinan los parámetros de alineación de banda ancha para bandas/subbandas individuales y en la etapa 161, se hacen rotar valores espectrales alineados para cada banda mediante el uso de parámetros de alineación correspondientes de banda ancha determinados para las bandas específicas.
[0147] La figura 14d ilustra otros procedimientos llevados a cabo por el procesador de señales 300. Específicamente, el procesador de señales 300 está configurado para calcular una señal media (Mid) y una señal lateral (Side) como se ilustra en la etapa 301. En la etapa 302, puede llevarse a cabo algún tipo de procesamiento adicional de la señal y a continuación, en la etapa 303, cada bloque de la señal media (Mid) y la señal lateral (Side) se transforma de vuelta en el dominio del tiempo, y, en la etapa 304, se aplica una ventana de síntesis a cada bloque obtenido por la etapa 303 y, en la etapa 305, se lleva a cabo una operación de adición de superposición para la señal media (Mid) por una parte y una operación de adición de superposición para la señal lateral (Side) por otra parte de manera que se obtengan finalmente las señales media/lateral (Mid/Side) en el dominio del tiempo.
[0148] Específicamente, las operaciones de las etapas 304 y 305 resultan en una especie de desvanecimiento cruzado desde un bloque de la señal media (Mid) o de la señal lateral (Side) en el siguiente bloque de la señal media (Mid) y la señal lateral (Side) se lleva a cabo de tal manera que incluso si se presentan algunos cambios tales como el parámetro de la diferencia de tiempo entre canales o en el parámetro de la diferencia de fases entre canales, sin embargo no será audible en las señales media/lateral (Mid/Side) en el dominio del tiempo obtenido por la etapa 305 en la figura 14d.
[0149] La figura 13 ilustra un diagrama de bloques de una realización de un aparato para decodificación de una señal multicanal codificada recibida en la línea de entrada 50.
[0150] En particular, la señal es recibida por una interfaz de entrada 600. Conectados a la interfaz de entrada 600 hay un decodificador de señales 700, y un desalineador de señales 900. Además, hay un procesador de señales 800 conectado a un decodificador de señales 700 por una parte y conectado al desalineador de señales por otra parte.
[0151] En particular, la señal multicanal codificada comprende una señal media (Mid) codificada, una señal lateral (Side) codificada, información sobre la utilización del parámetro de alineación de banda ancha e información acerca de la pluralidad de parámetros de banda estrecha. Por lo tanto, la señal multicanal codificada en la línea 50 puede ser exactamente la misma señal que la emitida por la interfaz de salida de 500 de la figura 12.
[0152] Sin embargo, es importante observar que, a diferencia de lo que se ilustra en la figura 12, la utilización del parámetro de alineación de banda ancha y de la pluralidad de parámetros de alineación de banda ancha incluidos en la señal codificada en una forma determinada pueden ser exactamente los parámetros de alineación utilizados por el alineador de señales 200 en la figura 12 pero, como alternativa, también pueden ser los valores inversos de los mismos, es decir, parámetros que pueden ser utilizados exactamente por las mismas operaciones llevadas a cabo por el alineador de señales 200 pero con valores inversos de manera que se obtenga la desalineación.
[0153] Por lo tanto, la información sobre los parámetros de alineación pueden ser los parámetros de alineación utilizados por el alineador de señales 200 en la figura 12 o pueden ser valores inversos, es decir, “parámetros de desalineación” reales. Adicionalmente, típicamente estos parámetros se cuantificarán de una forma determinada como se explica más adelante con respecto a la figura 8.
[0154] La interfaz de entrada 600 de la figura 13 separa la información acerca de la utilización del parámetro de alineación de banda ancha y de la pluralidad de parámetros de alineación de banda ancha de las señales media/lateral (Mid/Side) codificadas y comunica esta información por medio de línea de parámetros 610 al desalineador de señales 900. Por otra parte, la señal media (Mid) codificada se comunica al decodificador de señales 700 por medio de la línea 601 y la señal lateral (Side) codificada se comunica al decodificador de señales 700 por medio de la línea de señales 602.
[0155] El decodificador de señales está configurado para decodificación de la señal media (Mid) codificada y para decodificación de la señal lateral (Side) codificada para obtener una señal media (Mid) decodificada en la línea 701 y una señal lateral (Side) decodificada en la línea 702. Estas señales las utiliza el procesador de señales 800 para calcular una señal de primer canal decodificada o una señal izquierda decodificada y para calcular un segundo canal decodificado o una señal de canal derecho decodificada de la señal media (Mid) decodificada y la señal lateral (Side) decodificada, y el primer canal decodificado y el segundo canal decodificado son emitidos en las líneas 801, 802, respectivamente. El desalineador de señales 900 está configurado para desalinear el primer canal codificado en la línea 801 y el canal derecho decodificado 802 mediante el uso de la información acerca de la utilización del parámetro de alineación de banda ancha y adicionalmente mediante el uso de la información sobre la pluralidad de parámetros de alineación de banda ancha para obtener una señal multicanal decodificada, es decir, una señal decodificada que tiene al menos dos canales decodificados y desalineados en las líneas 901 y 902.
[0156] La figura 9a ilustra una secuencia de etapas preferida llevada a cabo por el desalineador de señales 900 de la figura 13. Específicamente, la etapa 910 recibe los canales izquierdo y derecho alineados disponibles sobre las líneas 801, 802 de la figura 13. En la etapa 910, el desalineador de señales 900 desalinea subbandas individuales mediante el uso de la información acerca de la utilización de los parámetros de alineación de banda ancha con el fin de obtener canales primero y segundo o izquierdo y derecho decodificados, desalineados en fase en 911a y 911b. En la etapa 912, los canales se desalinean mediante el uso del parámetro de alineación de banda ancha de tal manera que en 913a y 913b, se obtienen canales desalineados en fase y tiempo.
[0157] En la etapa 914, se lleva a cabo cualquier procesamiento adicional que comprenda el uso de una formación en ventana o cualquier operación de superposición-adición o, en términos generales, cualquier operación del desvanecimiento cruzado con el fin de obtener, en 915a o 915b, una señal decodificada reducida en artefactos o libre de artefactos, es decir, a señales decodificadas que no tengan ningún artefacto aunque típicamente ha habido parámetros de desalineación variables en el tiempo para la banda ancha por una parte y para la pluralidad de bandas estrechas por otra parte.
[0158] La figura 15b ilustra una implementación preferida del decodificador multicanal ilustrado en la figura 13.
[0159] En particular, el procesador de señales 800 de la figura 13 comprende un convertidor de tiempoespectro 810.
[0160] El procesador de señales comprende además un convertidor medio/lateral (Mid/Side) o izquierdo/derecho 820 con el fin de calcular a partir de una señal media (Mid) M y una señal lateral (Side) S una señal izquierda L y una señal derecha R.
[0161] Sin embargo, es importante observar que con el fin de calcular L y R mediante la conversión media/lateral Mid/Side-izquierda/derecha en el bloque 820, no es necesario utilizar la señal lateral (Side) S. En cambio, como se expone más adelante en esta invención, las señales izquierda/derecha se calculan inicialmente mediante el uso solamente de un parámetro de ganancia derivado de un parámetro de diferencia de nivel entre los canales ILD. Por ello, en esta implementación, la señal lateral (Side) S se utiliza solamente en el actualizador de canales 830 que opera con el fin de proporcionar una mejor señal izquierda/derecha mediante el uso de la señal lateral (Side) S transmitida como se ilustra mediante la línea de desvío 821.
[0162] Por tanto, el convertidor 820 opera utilizando un parámetro de nivel obtenido por medio de una entrada de parámetro de nivel 822 y sin utilizar realmente la señal lateral (Side) S pero el actualizador de canales 830 seguidamente opera utilizando el lado (Side) 821 y, en función de la implementación específica, mediante el uso de un parámetro de relleno de estéreo recibido por medio de la línea 831. El alineador de señales 900 comprende seguidamente un desalineador de fase y escalador de energía 910. La puesta en escala de energía la controla un factor de puesta en escala derivado mediante un calculador del factor de puesta en escala 940. El calculador del factor de puesta en escala 940 es alimentado por la salida del actualizador de canales 830. En base a los parámetros de alineación de banda ancha recibidos por medio de la entrada 911, se lleva a cabo la desalineación de fase y, en el bloque 920, en base a la utilización del parámetro de alineación de banda ancha recibido por medio de la línea 921, se lleva a cabo la desalineación en tiempo. Finalmente, se incrementa una conversión de espectrotiempo 930 con el fin de obtener finalmente la señal decodificada.
[0163] La figura 15c ilustra otra secuencia de etapas llevadas a cabo típicamente dentro de los bloques 920 y 930 de la figura 15b en una realización preferida.
[0164] Específicamente, los canales de banda estrecha desalineados se introducen en la funcionalidad de desalineación de banda ancha correspondiente al bloque 920 de la figura 15b. Se lleva a cabo una DFT o cualquier otra transformada en el bloque 931. Subsiguientemente al cálculo real de las muestras en el dominio del tiempo, se lleva a cabo una formación en ventana de síntesis opcional mediante el uso de una ventana de síntesis. La ventana de síntesis es preferentemente exactamente la misma que la ventana de análisis o se deriva de la ventana de análisis, por ejemplo, interpolación o decimación, pero depende de cierta manera de la ventana de análisis. Es preferible que esta dependencia sea tal que los factores de multiplicación definidos por dos ventanas de superposición se añadan a uno de cada punto en el intervalo de superposición. Por lo tanto, subsiguientemente a la ventana de síntesis en el bloque 932, se lleva a cabo una operación de superposición y una operación de adición subsiguiente. Como alternativa, en lugar de la formación en ventana de síntesis y operación de superposición/adición, se lleva cabo cualquier desvanecimiento entre bloques subsiguientes para cada canal con el fin de obtener, como ya se ha dispuesto en el contexto de la figura 15a, una señal decodificada reducida de artefacto.
[0165] Cuando se considera la figura 6b, se pone en evidencia que las operaciones de decodificación reales para la señal media (Mid), es decir, el “Decodificador de EVS” por una parte y, para la señal lateral (Side), la cuantificación inversa de vector VQ-1 y la operación inversa de MDCT (IMDCT) corresponden al decodificador de señales 700 de la figura 13.
[0166] Además, las operaciones de DFT en los bloques 810 corresponden al elemento 810 en la figura 15b y las funcionalidades del procesamiento estéreo inverso y el desplazamiento inverso de tiempo corresponden a los bloques 800, 900 de la figura 13 y las operaciones inversas de DFT 930 en la figura 15b corresponden a la correspondiente operación en el bloque 930 en la figura 15b.
[0167] Subsiguientemente, se expone con mayor detenimiento la figura 3d. En particular, en la figura 3d se ilustra un espectro de DFT que tiene líneas espectrales individuales. Es preferible que el espectro de DFT o cualquier otro espectro ilustrado en la figura 3d sea un espectro complejo y que cada línea sea una línea de espectro complejo que tiene magnitud y fase o que tiene una parte real y una parte imaginaria.
[0168] Adicionalmente, el espectro también se divide en diferentes bandas de parámetros. Cada banda de parámetro tiene preferentemente al menos una línea espectral y preferentemente más de una línea espectral. Adicionalmente, la utilización de las bandas de parámetro aumenta de frecuencias más bajas a frecuencias más elevadas. Típicamente, la utilización del parámetro de alineación de banda ancha es un único parámetro de alineación de banda ancha para la totalidad del espectro, es decir, para un espectro que comprende la totalidad de las bandas 1 a 6 en el ejemplo de realización en la figura 3d.
[0169] Además, la pluralidad de parámetros de alineación de banda estrecha se proporciona de tal manera que exista un único parámetro de alineación para cada banda de parámetro. Esto significa que el parámetro de alineación para una banda se aplica siempre a la totalidad de los valores espectrales dentro de la banda correspondiente.
[0170] Por otra parte, además de la utilización de los parámetros de alineación de banda estrecha, también se proporcionan parámetros de nivel para cada banda de parámetros.
[0171] A diferencia de los parámetros de nivel que se proporcionan para cada una de las bandas de parámetros y para la totalidad de ellas, de la banda 1 a la banda 6, se prefiere proporcionar la pluralidad de parámetros de alineación de banda estrecha solamente para un número limitado de bandas inferiores tales como las bandas 1, 2, 3 y 4.
[0172] Adicionalmente, se proporcionan parámetros de relleno de estéreo para un determinado número de bandas que incluyen las bandas inferiores tales como, en el ejemplo de realización, para las bandas 4, 5 y 6, mientras que hay valores espectrales de señal lateral (Side) para las bandas de parámetro inferiores 1, 2 y 3 y, por lo tanto, no existen parámetros de relleno de estéreo para estas bandas inferiores en los que la concordancia de forma de onda se obtiene mediante el uso de la señal lateral (Side) como tal o una señal de predicción residual que representa la señal lateral (Side).
[0173] Como ya se ha mencionado, existen más líneas espectrales en las bandas superiores tales como, en la realización en la figura 3d, siete líneas espectrales en la banda de parámetros 6 en comparación con solamente tres líneas espectrales en la banda de parámetros 2. Sin embargo, por supuesto, el número de banda de parámetros, el número de líneas espectrales y el número de líneas espectrales dentro de una banda de parámetros y también los límites diferentes para determinados parámetros serán diferentes.
[0174] Sin embargo, en la figura 8 se ilustra una distribución de la utilización de los parámetros y del número de bandas para los que se proporcionan parámetros en una determinada realización en la que, a diferencia de la figura 3d, hay realmente 12 bandas.
[0175] Como se ilustra, el parámetro de nivel ILD se proporciona para cada una de las 12 bandas y se cuantifica con una exactitud de cuantificación representada por cinco bits por banda.
[0176] Además, los parámetros de alineación de banda estrecha IPD se proporcionan solamente para las bandas inferiores hasta una frecuencia límite de 2,5 kHz. Adicionalmente, la diferencia de tiempo entre canales o parámetros de alineación de banda ancha se proporciona solamente como un parámetro único para la totalidad del espectro pero con una cuantificación de exactitud de cuantificación muy elevada representada por ocho bits para la banda entera.
[0177] Además, de una manera más bien aproximada se proporcionan parámetros de relleno de estéreo mediante los tres bits por banda y no para las bandas inferiores por debajo de 1 kHz dado que, para las bandas inferiores, se incluyen señales laterales (Side) realmente codificadas o valores residuales espectrales de señal lateral (Side).
[0178] A continuación se resume un procesamiento preferido en el lado del codificador. En una primera etapa, se lleva a cabo un análisis de DFT en los canales izquierdo y derecho. Este procedimiento corresponde a las etapas 155 a 157 de la figura 14c. Se calcula el parámetro de alineación de banda ancha y, en particular, la diferencia de tiempo entre canales correspondiente al parámetro de alineación preferido (ITD). Se lleva a cabo un desplazamiento de tiempo de L y R en el dominio de las frecuencias. Como alternativa, este desplazamiento de tiempo también puede llevarse a cabo en el dominio del tiempo. A continuación se lleva a cabo un DFT inverso, se ejecuta el desplazamiento de tiempo en el dominio del tiempo y lleva a cabo una DFT directa adicional con el fin de tener una vez más representaciones espectrales posteriores a la alineación mediante el uso del parámetro de alineación de banda ancha.
[0179] Los parámetros ILD, es decir, los parámetros de nivel y los parámetros de fase (parámetros IPD), se calculan para cada banda de parámetros en las representaciones L y D desplazadas. Esta etapa corresponde a la etapa 160 de la figura 14c, por ejemplo. Las representaciones L y D desplazadas en el tiempo se hacen rotar como una función de los parámetros de diferencia de fase entre canales como se ilustra en la etapa 161 de la figura 14c. Subsiguientemente, las señales media (Mid) y lateral (Side) se calculan como se ilustra en la etapa 301 y, es preferible que adicionalmente con una operación de conservación de energía como se expone más adelante en esta invención. Además, se lleva a cabo una predicción de S con M como una función de ILD y opcionalmente con una señal M pasada, es decir, una señal media (Mid) de una trama anterior. Subsiguientemente, se ejecuta una DFT inversa de la señal media (Mid) y de la señal lateral (Side) que corresponde a las etapas 303, 304, 305 de la figura 14d en la realización preferida.
[0180] En la etapa final, se codifican la señal media (Mid) en el dominio del tiempo y opcionalmente, la señal residual. Este procedimiento se corresponde al que se lleva a cabo mediante el codificador de señales 400 en la figura 12.
[0181] En el decodificador en el procesamiento estéreo inverso, se genera la señal lateral(Side)en el dominio de DFT y se predice por primera vez a partir de la señal media(Mid):
dondeges una ganancia calculada para cada banda de parámetros y va en función de la Diferencia de niveles entre canales (ILDs) transmitida.
[0182] El residual de la predicción puede refinarse seguidamente de dos maneras diferentes:
- Mediante una codificación secundaria de la señal residual:
donde¡Jcudes una ganancia global transmitida para la totalidad del espectro
- Mediante una predicción residual, conocida como relleno estéreo, se predice el espectro lateral (side) residual con laSeñal de espectro media (Mid)previamente decodificada a partir de la trama de<d>F<t>previo:
donde&ptbúes una ganancia predictiva transmitida por banda de parámetros.
[0183] Los dos tipos de refinamiento de la codificación pueden mezclarse dentro del mismo espectro de DFT. En la realización preferida, la codificación residual se aplica sobre las bandas de parámetro inferiores, mientras que la predicción residual se aplica sobre las bandas restantes. En la realización preferida, la codificación residual ilustrada en la figura 12 se lleva a cabo en el Dominio de MDCT después de sintetizar la señal lateral (Side) residual en el Dominio del Tiempo y transformándolo mediante una MDCT. A diferencia de la DFT, la MDCT tiene un muestreo crítico y es más adecuado para la codificación de audio. Los coeficientes de MDCT se cuantifican directamente por vector mediante una Cuantificación Vectorial de Retícula pero como alternativa también pueden ser codificados por un Cuantificador Escalar seguido por un codificador de entropía. Como alternativa, la señal lateral (Side) residual también puede ser codificada en el Dominio del Tiempo mediante una técnica de codificación del habla o directamente en el dominio de DFT.
[0184] Subsiguientemente se describe otra realización de un procesamiento de codificador estéreo/multicanal conjunto o procesamiento estéreo/multicanal inverso.
1. Análisis de tiempo-frecuencia: DFT
[0185] Es importante que la descomposición extra de tiempo-frecuencia del procesamiento estéreo efectuada mediante DFTs permita un buen análisis de la escena del auditorio sin incrementar de manera significativa el retardo global del sistema de codificación. Por defecto, se utiliza una resolución del tiempo de 10 ms (que es el doble de la estructura de 20 ms del codificador de núcleo). Las ventanas de análisis y síntesis son iguales y simétricas. La ventana se representa con 16 kHz de velocidad de muestreo en la figura 7a-7b. Puede observarse que la región de superposición está limitada con el fin de reducir el retardo generado y que también se añade el padding cero para equilibrar el desplazamiento circular cuando se aplique ITD en el dominio de las frecuencias como se explicará más adelante en esta invención.
2. Parámetros estéreo
[0186] Los parámetros estéreo pueden transmitirse al máximo con la resolución de tiempo del DFT estéreo. Como mínimo se puede reducir a la resolución de estructura del codificador de núcleo, es decir 20 ms. Por defecto, si no se detectan transitorios, los parámetros se calculan cada 20 ms en las ventanas de DFT. La utilización de las bandas de parámetros constituye una descomposición no uniforme y no superpuesta del espectro según aproximadamente 2 veces o 4 veces el ERB (Equivalent Rectangular Bandwidth, Ancho de Banda Rectangular Equivalente). Por defecto, se utiliza un ERB de 4 veces para un total de 12 bandas para un ancho de banda de frecuencia de 16kHz (32 kbps de velocidad de muestreo, estéreo de superancho de banda). En la figura 8 se resume un ejemplo de configuración, para el que la información lateral de estéreo se transmite aproximadamente a 5 kbps.
3. Computación de ITD y alineación de tiempo de canal
[0187] El ITD se calcula estimando el TDOA (Time Delay of Arrival, Retardo Temporal de Llegada), utilizando la Correlación Cruzada Generalizada (Generalized Cross Correlación) con transformada de fase (GCC-PHAT):
donde L y R son los espectros de frecuencia de los canales izquierdo y derecho respectivamente. El análisis de frecuencia puede llevarse a cabo independientemente de la DFT utilizada para el subsiguiente procesamiento estéreo o se puede compartir. El pseudocódigo para calcular el ITD es el siguiente:
L =fft(ventana(l));
R =fft(ventana(r));
tmp = L . * conj(R);
sfm_L = prod(abs(L).h(1/longitud(L)))/(medio(abs(L))+eps);
sfm_R = prod(abs(R).A(1/longitud(R)))/(medio(abs(R))+eps);
sfm = max(sfm_L,sfm_R);
h.cross_corr_suave = (1-sfm)*h.cross_corr_suave+sfm*tmp;
tmp = h.cross_corr_suave . / abs(h.cross_corr_suave+ep);
tmp = ifft(tmp);
tmp = tmp([longitud(tmp)/2+1:longitud(tmp) 1:longitud(tmp)/2+1]);
tmp_sort = sort(abs(tmp));
thresh = 3 * tmp_sort(ronda(0.95*longitud(tmp_sort)));
xcorr_tiempo=abs(tmp(- (h.estéreo_itd_q_max - (longitud(tmp)-1)/2 -1):-(h.estéreo_itd_q_min - (longitud(tmp)-1)/2 -1)));
% de salida suave para una mejor detección
xcorr_tiempo=[xcorr_tiempo 0];
xcorr_tiempo2=filtro([0,250,50,25],1,xcorr_tiempo);
[m,i] = max(xcorr_tiempo2(2:fin));
si m > trillado
itd = h.estéreo_itd_q_max - i 1;
también
itd = 0;
fin
[0188] La computación de ITD también puede resumirse del siguiente modo. La correlación cruzada se computa en el dominio de las frecuencias antes de ser suavizada en función de la Medición de Planitud Espectral (SFM, Spectral Flatness Measurement). La SFM está delimitada entre 0 y 1. En el caso de señales similares a ruido, la SFM será elevada (es decir, será de aproximadamente 1) y la suavización será débil. En el caso de una señal similar a tono, la SFM será baja y la suavización se hará más fuerte. La correlación cruzada suavizada se normaliza seguidamente en amplitud antes de ser transformada de vuelta al dominio del tiempo. La normalización corresponde a la transformada de fase de la correlación cruzada, y es sabido que muestra un mejor comportamiento que la correlación cruzada en entornos de bajo ruido y con una reverberación relativamente elevada. La función en el dominio del tiempo, así obtenida, se filtra en primer lugar con el fin de lograr una formación de pico más robusta. El índice correspondiente a la máxima amplitud corresponde a una estimación de la diferencia de tiempo entre canal izquierdo y canal derecho (ITD). Si la amplitud del máximo es inferior a un umbral dado, entonces se considera que el valor estimado para ITD no es fiable y se establece en cero.
[0189] Si se aplica la alineación del tiempo en el dominio del tiempo, se computa el ITD en un análisis de DFT por separado. El desplazamiento se efectúa del siguiente modo:
[0190] Requiere un retardo extra en el codificador, que es igual como máximo al ITD máximo absoluto que se puede procesar. La variación del ITD a lo largo del tiempo se suaviza mediante la formación en ventana de análisis del DFT.
[0191] Como alternativa, la alineación en el tiempo puede llevarse a cabo en el dominio de las frecuencias. En este caso, el cómputo de ITD y el desplazamiento circular se encuentran en el mismo dominio de DFT, dominio compartido con este otro procesamiento estéreo. El desplazamiento circular está dado por:
[0192] Se necesita el padding cero de las ventanas de DFT para simular un desplazamiento temporal con un desplazamiento circular. La magnitud del padding cero corresponde al ITD máximo absoluto que se puede procesar. En la realización preferida, el padding cero se distribuye uniformemente en ambos lados de las ventanas de análisis, mediante la adición de 3,125 ms de ceros en ambos extremos. El ITD máximo absoluto posible es entonces de 6,25 ms. En el montaje de los micrófonos A-B, corresponde al peor caso de una distancia máxima de aproximadamente 2,15 metros entre los dos micrófonos. La variación en ITD a lo largo del tiempo se suaviza mediante la formación en ventana de síntesis y superposición-adición de la DFT.
[0193] Es importante que el desplazamiento temporal sea seguido por una formación en ventana de la señal desplazada. Se trata de una distinción principal con respecto a la BCC (Binaural Cue Coding, Codificación Binaural por Indicios) de la técnica anterior, donde el desplazamiento en tiempo se aplica sobre una señal formada en ventana pero no se forma en ventana adicionalmente en la etapa de síntesis. Como una consecuencia, cualquier cambio en ITD a lo largo del tiempo produce un transitorio artificial/clic en la señal decodificada.
4. Computación de IPDs y rotación de canales
[0194] Los IPDs se calculan después de la alineación temporal de los dos canales y esto para cada banda de parámetros o al menos hasta una dadaip d i mz.xrbandi en función de la configuración estéreo.
[0195]
A continuación se aplican los IPDs a los dos canales para alinear sus fases:
^ , fi = a tanZ ís inQ P D Jb ]), cos flP D Jb ]) c) c =io ILDdb]/2o
[0196] Donde H ^ v uAJ ’v lL\ybesta basado en el índice de la banda de parámetros al que pertenece el índice de frecuenciak.La utilización del parámetro@es responsable de distribuir la cantidad de rotación de fase entre los dos canales mientras se alinean sus fases. depende del IPD pero también del nivel de amplitud relativa de los canales, ILD. Si un canal tiene una amplitud más elevada, será considerado como el canal de guía y estará menos afectado por la rotación de canal que el canal con la amplitud menor.
5. Suma-diferencia y codificación de la señal lateral (Side)
[0197] La transformación de suma diferencia se lleva a cabo en los espectros alineados en tiempo y fase de los dos canales de tal manera que se conserve la energía en la señal media (Mid).
donde está delimitado entre 1/1,2 y 1,2, es decir -1,58 y 1,58 dB. La limitación evita los artefactos cuando se ajusta la energía de M y S. Cabe observar que esta conservación de la energía es menos importante cuando la fase y el tiempo han sido alineados anteriormente. Como alternativa los límites se pueden incrementar o disminuir.
[0198] Además, la señal lateral (Side) S se predice con M:
<c - 1>c _10 ILDi[b]/20_
dondec+ 1 donde ^ 1 Como alternativa es posible hallar la ganancia de predicción óptima g minimizando el MSE (Mean Square Error, Error Cuadrado Medio) del residual e ILDs deducidos mediante la ecuación previa.
[0199] La señal residual puede modelarse mediante dos medios: ya sea prediciéndola con el espectro retardado de M o mediante su codificación directa en el dominio de MDCT.
6. Decodificación estéreo
[0200] La señal media (Mid) X y la señal lateral (Side) S se convierten en primer término en los canales izquierdo y derecho L y R del siguiente modo:
donde la ganancia g por banda de parámetros se deriva del parámetro de ILD:
[0201] Para las bandas de parámetros inferiores a cod_max_band, los dos canales se actualizan con la Señal lateral (Side) decodificada:
[0202] Para las bandas de parámetros superiores, se predice la señal lateral (Side) y los canales se actualizan del siguiente modo:
[0203] Finalmente, se multiplican los canales por un valor complejo que tiene la finalidad de restaurar la energía original y la fase intercanal de la señal estéreo:
donde
donde a se define y delimita como se ha definido anteriormente, y donde<P = atan2(sin(IPDi[b]),cos(IPDi[b]) c),>, y donde atan2(x,y) es la tangente inversa de cuatro cuadrantes de x sobre y.
[0204] Finalmente, los canales son desplazados ya sea en tiempo o en el dominio de las frecuencias en función de los ITDs transmitidos. Los canales en el dominio del tiempo se sintetizan mediante DFTs inversos y superposición-adición.
[0205] Es posible almacenar una señal de audio codificada según la invención en un medio de almacenamiento digital o en un medio de almacenamiento no transitorio, o se puede transmitir en un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión alámbrico tal como Internet.
[0206] Aunque algunos aspectos se han descrito 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 corresponde a una etapa de procedimiento o a un rasgo de una etapa de procedimiento. De manera análoga, los aspectos descritos en el contexto de una etapa de procedimiento también representan una descripción de un bloque, elemento o rasgo, correspondientes, de un aparato correspondiente.
[0207] En función de determinados requisitos para la implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede llevarse a cabo mediante el uso de un medio de almacenamiento digital, por ejemplo un disco flexible, un DVD, un CD, un ROM, un PROM, un EPROM, un EEPROM o una memoria FLASH, que tiene señales de control electrónicamente legibles almacenadas en él, que cooperan (o que son capaces de cooperar) con un sistema informático programable de tal manera que se lleve a cabo el procedimiento respectivo.
[0208] Algunas realizaciones según la invención comprenden un soporte de datos que tiene señales de control electrónicamente legibles, que son capaces de cooperar con un sistema informático programable, de tal manera que se lleva a cabo uno de los procedimientos descritos en esta invención.
[0209] En términos generales, las realizaciones de la presente invención pueden implementarse 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 se ejecuta el producto de programa informático en un ordenador. El código de programa puede estar almacenado, por ejemplo, en un soporte legible por máquina.
[0210] Otras realizaciones comprenden el programa informático para llevar a cabo uno de los procedimientos descritos en esta invención, almacenado en un soporte legible por máquina o en un medio de almacenamiento no transitorio.
[0211] Por lo tanto, y en otras palabras, una realización de la invención consiste en un programa informático que tiene un código de programa para llevar a cabo uno de los procedimientos descritos en esta invención, cuando se ejecuta el programa informático en un ordenador.
[0212] Por lo tanto, otra realización de los procedimientos según la invención consiste en un soporte de datos (o un medio de almacenamiento digital o un medio legible por ordenador) que comprende, grabado en él, el programa informático para llevar a cabo uno de los procedimientos descritos en esta invención.
[0213] Por lo tanto, otra realización del procedimiento según la invención se refiere a un flujo de datos o a una secuencia de señales que representa el programa informático para llevar a cabo uno de los procedimientos descritos en esta invención. El flujo de datos o la secuencia de señales pueden estar configurados, por ejemplo, para ser transferidos por medio de una conexión de comunicación de datos, por ejemplo, a través de Internet.
[0214] Y otra realización comprende un medio de procesamiento, por ejemplo un ordenador, o un dispositivo lógico programable, configurado o adaptado para llevar a cabo uno de los procedimientos descritos en esta invención.
[0215] Otra realización comprende un ordenador que tiene instalado en él el programa informático para llevar a cabo uno de los procedimientos descritos en esta invención.
[0216] En algunas realizaciones, puede utilizarse un dispositivo lógico programable (por ejemplo, una matriz de puertas programable de campo) para llevar a cabo algunas o la totalidad, de las funcionalidades de los procedimientos descritos en esta invención. En algunas realizaciones, una matriz de puertas programable de campo puede cooperar con un microprocesador con el fin de llevar a cabo uno de los procedimientos descritos en esta invención. Generalmente, los procedimientos se implementan preferentemente mediante un aparato de hardware.
[0217] Las realizaciones anteriormente descritas son meramente ilustrativas para exponer los principios de la presente invención. Se da por entendido que las modificaciones y las variaciones de las disposiciones y los detalles descritos en esta invención serán evidentes para los expertos en la técnica. Por lo tanto, la finalidad es que la invención esté limitada solamente por el ámbito de las reivindicaciones de patente pendientes y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones de esta invención.
Claims (15)
1. Aparato para la codificación de una señal de audio multicanal que comprende al menos dos canales, que comprende:
un convertidor tiempo-espectral (1000) para convertir secuencias de bloques de valores de muestra de los al menos dos canales en una representación en el dominio de las frecuencias que tiene secuencias de bloques de valores espectrales para los al menos dos canales, en el que un bloque de valores de muestreo tiene una velocidad de muestreo de entrada asociada, y un bloque de valores espectrales de las secuencias de bloques de valores espectrales tiene valores espectrales hasta una frecuencia de entrada máxima (1211) que está relacionada con la velocidad de muestreo de entrada; estando el aparato caracterizado porque comprende:
un procesador multicanal (1010) para aplicar un procesamiento multicanal conjunto a las secuencias de bloques de valores espectrales o a secuencias remuestreadas de bloques de valores espectrales de la señal de audio multicanal para obtener al menos una secuencia resultado de bloques de valores espectrales que comprende información relacionada con los al menos dos canales, donde el procesamiento multicanal conjunto comprende una operación de mezcla descendente;
un remuestreador en el dominio espectral (1020) para el muestreo repetido de los bloques de las secuencias resultado en el dominio de las frecuencias o para el muestreo repetido de las secuencias de bloques de valores espectrales para los al menos dos canales en el dominio de las frecuencias para obtener una secuencia remuestreada de bloques de valores espectrales, en el que un bloque de la secuencia remuestreada de bloques de valores espectrales tiene valores espectrales hasta una frecuencia de salida máxima (1231, 1221) que es diferente de la frecuencia de entrada máxima (1211);
un convertidor espectral-tiempo (1030) para convertir la secuencia remuestreada de bloques de valores espectrales en una representación en el dominio del tiempo o para convertir la secuencia resultado de bloques de valores espectrales en una representación en el dominio del tiempo que comprende una secuencia de salida de bloques de valores de muestreo asociados con velocidad de muestreo de salida que es diferente de la velocidad de muestreo de entrada; y
un codificador de núcleo (1040) para la codificación de la secuencia de bloques emitida de valores de muestreo para obtener una señal de audio multicanal codificada (1510).
2. Aparato según la reivindicación 1,
en el que el remuestreador en el dominio espectral (1020) está configurado para truncar los bloques de las secuencias de resultado en el dominio de frecuencia o los bloques de valores espectrales para los al menos dos canales en el dominio de frecuencia con fines de muestreo descendente o
donde el remuestreador de dominio espectral (1020) está configurado para padding cero de los bloques de las secuencias de resultado en el dominio de frecuencia o los bloques de valores espectrales para los al menos dos canales en el dominio de frecuencia con fines de muestreo ascendente.
3. Aparato según la reivindicación 1 o 2,
en el que el remuestreador en el dominio espectral (1020) está configurado para poner en escala (1322) los valores espectrales de los bloques de la secuencia resultado de bloques mediante el uso de un factor de puesta en escala que depende de la frecuencia de entrada máxima y que depende de la frecuencia de salida máxima.
4. Aparato según la reivindicación 3,
en el que el factor de puesta en escala es mayor que uno en el caso del muestreo ascendente, en el que la velocidad de muestreo de salida es mayor que la velocidad de muestreo de entrada, o en el que el factor de puesta en escala es inferior a uno en el caso del muestreo descendente, en el que la velocidad de muestreo de salida es inferior a la velocidad de muestreo de entrada, o
en el que el convertidor tiempo-espectral (1000) está configurado para llevar a cabo un algoritmo de transformada de tiempo-frecuencia sin utilizar una normalización en cuanto a un número total de valores espectrales un bloque de valores espectrales (1311), y en el que el factor de puesta en escala es igual a un cociente entre el número de valores espectrales de un bloque de la secuencia remuestreada y el número de valores espectrales de un bloque de valores espectrales antes del muestreo repetido, y en el que el convertidor espectral-tiempo está configurado para aplicar una normalización basada en la frecuencia de salida máxima (1331).
5. Aparato según una de las reivindicaciones anteriores,
en el que el convertidor tiempo-espectral (1000) está configurado para llevar a cabo un algoritmo de transformada de Fourier discreta, o en el que el convertidor espectral-tiempo (1030) está configurado para llevar a cabo un algoritmo de transformada de Fourier inversa discreta.
6. Aparato según la reivindicación 1,
en el que el procesador multicanal (1010) está configurado para obtener otra secuencia resultado de bloques de valores espectrales, y
en el que el convertidor espectral-tiempo (1030) está configurado para convertir la otra secuencia resultado de valores espectrales en otra representación en el dominio del tiempo (1032) que comprende otra secuencia de salida de bloques de valores de muestreo asociados con velocidades de muestreo de salida que son iguales a la velocidad de muestreo de entrada.
7. Procedimiento para la codificación de una señal de audio multicanal que comprende al menos dos canales, que comprende:
convertir (1000) secuencias de bloques de valores de muestras de los al menos dos canales en una representación en el dominio de las frecuencias que tiene secuencia de bloques de valores espectrales para los al menos dos canales, en el que un bloque de valores de muestreo tiene una velocidad de muestreo de entrada asociada, y un bloque de valores espectrales de las secuencias de bloques de valores espectrales tiene valores espectrales hasta una frecuencia de entrada máxima (1211) que está relacionada con la velocidad de muestreo de entrada; estando el procedimiento caracterizado porque comprende además:
aplicar (1010) un procesamiento multicanal conjunto a las secuencias de bloques de valores espectrales o a secuencias remuestreadas de bloques de valores espectrales de la señal de audio multicanal para obtener al menos una secuencia resultado de bloques de valores espectrales que comprende información relacionada con los al menos dos canales, donde el procesamiento multicanal conjunto comprende una operación de mezcla descendente; un muestreo repetido en el dominio espectral (1020) de los bloques de las secuencias resultado en el dominio de las frecuencias o muestreo repetido de las secuencias de bloques de valores espectrales para los al menos dos canales en el dominio de las frecuencias para obtener una secuencia remuestreada de bloques de valores espectrales, en el que un bloque de la secuencia remuestreada de bloques de valores espectrales tiene valores espectrales hasta una frecuencia de salida máxima (1231, 1221) que es diferente de la frecuencia de entrada máxima (1211); convertir (1030) la secuencia remuestreada de bloques de valores espectrales en una representación en el dominio del tiempo o para convertir la secuencia resultado de bloques de valores espectrales en una representación en el dominio del tiempo que comprende una secuencia de salida de bloques de valores de muestreo asociados con la velocidad de muestreo de salida que es diferente de la velocidad de muestreo de entrada; y
codificar en núcleo (1040) la secuencia de salida de bloques de valores de muestreo para obtener una señal de audio multicanal codificada (1510).
8. Aparato para decodificación de una señal de audio multicanal codificada, que comprende:
un decodificador de núcleo (1600) para generar una señal de audio decodificada de núcleo; estando el aparato caracterizado porque:
un convertidor de tiempo-espectro (1610) para convertir una secuencia de bloques de valores de muestreo de la señal de audio decodificada de núcleo en una representación en el dominio de las frecuencias que tiene una secuencia de bloques de valores espectrales para la señal de audio decodificada de núcleo, en el que un bloque de valores de muestreo tiene una velocidad de muestreo de entrada asociada, y en el que un bloque de valores espectrales tiene valores espectrales hasta una frecuencia de entrada máxima que está relacionada con la velocidad de muestreo de entrada;
un remuestreador en el dominio espectral (1620) para el muestreo repetido de los bloques de valores espectrales de la secuencia (1611, 1612) de bloques de valores espectrales para la señal de audio decodificada de núcleo o al menos dos secuencias resultado (1635) obtenidas mediante el procesamiento multicanal inverso en el dominio de las frecuencias para obtener una secuencia remuestreada (1621) o al menos dos secuencias remuestreadas (1625) de bloques de valores espectrales, en el que un bloque de una secuencia remuestreada tiene valores espectrales hasta una frecuencia de salida máxima que es diferente de la frecuencia de entrada máxima; y
un procesador multicanal (1630) para aplicar un procesamiento multicanal inverso a una secuencia (1615) que comprende la secuencia de bloques de valores espectrales para la señal de audio decodificada de núcleo o la secuencia remuestreada (1621) de bloques de valores espectrales para obtener al menos dos secuencias resultado (1631, 1632, 1635) de bloques de valores espectrales; donde el procesamiento multicanal inverso comprende un procesamiento de mezclado ascendente; y
un convertidor espectral-tiempo (1640) para convertir las al menos dos secuencias resultado (1631, 1632, 1635) de bloques de valores espectrales o las al menos dos secuencias remuestreadas (1625) de bloques de valores espectrales en una representación en el dominio del tiempo que comprende al menos dos secuencias de salida de bloques de valores de muestreo asociados con una velocidad de muestreo de salida que es diferente de la velocidad de muestreo de entrada.
9. Aparato de la reivindicación 8,
en el que el remuestreador en el dominio espectral (1620) está configurado para truncar los bloques de las secuencias de resultado en el dominio de frecuencia o los bloques de los valores espectrales para los al menos dos canales en el dominio de frecuencia con fines de muestreo descendente, donde el remuestreador de dominio espectral (1620) está configurado o para el padding cero de los bloques de las secuencias de resultado en el dominio de frecuencia con fines de muestreo ascendente.
10. Aparato de la reivindicación 8 o 9,
en el que el remuestreador en el dominio espectral (1620) está configurado para poner en escala (1322) los valores espectrales de los bloques de la secuencia resultado de bloques mediante el uso de un factor de puesta en escala que depende de la frecuencia de entrada máxima y que depende de la frecuencia de salida máxima.
11. Aparato de una de las reivindicaciones 8 a 10,
en el que el factor de puesta en escala es mayor que uno en el caso del muestreo ascendente, en el que la velocidad de muestreo de salida es mayor que la velocidad de muestreo de entrada, o en el que el factor de puesta en escala es inferior a uno en el caso del muestreo descendente, en el que la velocidad de muestreo de salida es inferior a la velocidad de muestreo de entrada, o
en el que el convertidor tiempo-espectral (1610) está configurado para llevar a cabo un algoritmo de transformada de tiempo-frecuencia sin utilizar una normalización en cuanto al número total de valores espectrales de un bloque de valores espectrales (1311), y en el que el factor de puesta en escala es igual a un cociente entre el número de valores espectrales de un bloque de la secuencia remuestreada y el número de valores espectrales de un bloque de valores espectrales antes del muestreo repetido, y en el que el convertidor espectral-tiempo (1640) para convertir las al menos dos secuencias de resultado (1631, 1632) de bloques de valores espectrales o las al menos dos secuencias remuestreadas (1625) de bloques de valores espectrales en una representación de dominio de tiempo que comprende al menos dos secuencias de salida de bloques de valores de muestreo que tienen asociados una velocidad de muestreo de salida que es diferente de la velocidad de muestreo de entrada está configurado para aplicar una normalización basada en la frecuencia de salida máxima (1331).
12. Aparato de una de las reivindicaciones 8 a 10,
en el que el convertidor tiempo-espectral (1610) está configurado para llevar a cabo un algoritmo de transformada de Fourier discreta, o en el que el convertidor espectral-tiempo (1640) está configurado para llevar a cabo un algoritmo inverso de transformada de Fourier discreta.
13. Aparato de una de las reivindicaciones 8 a 12,
en el que el decodificador de núcleo (1600) está configurado para generar una señal de audio decodificada de núcleo adicional (1601) que tiene una velocidad de muestreo adicional que es diferente de la velocidad de muestreo de entrada,
en el que el convertidor tiempo-espectral (1610) está configurado para convertir la otra señal de audio decodificada de núcleo en una representación en el dominio de las frecuencias que tiene otra secuencia (1611) de bloques de valores espectrales para la otra señal decodificada de núcleo, en el que un bloque de valores espectrales de la señal de audio decodificada de núcleo adicional tiene valores espectrales de hasta una frecuencia de entrada máxima adicional que es diferente de la frecuencia de entrada máxima y relacionado con la otra velocidad de muestreo, en el que el remuestreador en el dominio espectral (1620) está configurado para remuestrear la otra secuencia (1611) de bloques para la señal de audio decodificada de núcleo adicional en el dominio de las frecuencias para obtener una secuencia remuestreada adicional (1621) de bloques de valores espectrales, en el que un bloque de valores espectrales de la secuencia remuestreada adicional tiene valores espectrales hasta la frecuencia de salida máxima que es diferente de la frecuencia de entrada máxima adicional; y
en el que el aparato comprende además un combinador (1700) para combinar la secuencia remuestreada (1622) y la secuencia remuestreada adicional (1621) para obtener la secuencia (1701) que va a ser procesada por el procesador multicanal (1630).
14. Procedimiento para la decodificación de una señal de audio multicanal codificada, que comprende: generar (1600) una señal de audio decodificada de núcleo; estando el procedimiento caracterizado porque comprende además:
convertir (1610) una secuencia de bloques de valores de muestreo de la señal de audio decodificada de núcleo en una representación en el dominio de las frecuencias que tiene una secuencia de bloques de valores espectrales para la señal de audio decodificada de núcleo, en el que un bloque de valores de muestreo tiene una velocidad de muestreo de entrada asociada, y en el que un bloque de valores espectrales tiene valores espectrales hasta una frecuencia de entrada máxima que está relacionada con la velocidad de muestreo de entrada;
muestrear repetidamente (1620) los bloques de valores espectrales de la secuencia (1611, 1612) de bloques de valores espectrales para la señal de audio decodificada de núcleo o al menos dos secuencias resultado (1635) obtenidas mediante procesamiento multicanal inverso en el dominio de las frecuencias para obtener una secuencia remuestreada (1621) o al menos dos secuencias remuestreadas (1625) de bloques de valores espectrales, en el que un bloque de una secuencia remuestreada tiene valores espectrales hasta una frecuencia de salida máxima que es diferente de la frecuencia de entrada máxima;
aplicar (1630) un procesamiento multicanal inverso a una secuencia (1615) que comprende la secuencia de bloques de valores espectrales para la señal de audio decodificada de núcleo o la secuencia remuestreada (1621) de bloques de valores espectrales para obtener al menos dos secuencias resultado (1631, 1632, 1635) de bloques de valores espectrales, en el que el procesamiento multicanal inverso comprende un procesamiento de mezcla ascendente; y
convertir las al menos dos secuencias resultado (1631, 1632, 1635) de bloques de valores espectrales, en el que el procesamiento multicanal inverso comprende un procesamiento de mezcla ascendente; y
convertir las al menos dos secuencias resultado (1631, 1632, 1635) de bloques de valores espectrales o las al menos dos secuencias remuestreadas (1625) de bloques de valores espectrales en una representación de dominio de tiempo que comprende al menos dos secuencias de salida de bloques de valores de muestreo que tienen asociados una velocidad de muestreo de salida que es diferente de la velocidad de muestreo de entrada.
15. Programa informático para llevar a cabo, cuando se ejecuta en un ordenador o procesador, el procedimiento según la reivindicación 7 o el procedimiento de la reivindicación 14.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP16152453 | 2016-01-22 | ||
EP16152450 | 2016-01-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2965487T3 true ES2965487T3 (es) | 2024-07-09 |
Family
ID=57838406
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES17700706T Active ES2727462T3 (es) | 2016-01-22 | 2017-01-20 | 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 |
ES17700705T Active ES2790404T3 (es) | 2016-01-22 | 2017-01-20 | Aparato y procedimiento para la codificación o decodificación de una señal de audio multi-canal mediante el uso de un parámetro de alineación de banda ancha y una pluralidad de parámetros de alineación de banda estrecha |
ES19157001T Active ES2965487T3 (es) | 2016-01-22 | 2017-01-20 | Aparato y procedimiento para la codificación o decodificación de una señal multicanal mediante el uso de repetición de muestreo de dominio espectral |
ES17700707T Active ES2773794T3 (es) | 2016-01-22 | 2017-01-20 | Aparato y procedimiento para estimar una diferencia de tiempos entre canales |
ES17701669T Active ES2768052T3 (es) | 2016-01-22 | 2017-01-20 | Aparatos y procedimientos para codificar o decodificar una señal de audio multicanal usando sincronización de control de trama |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES17700706T Active ES2727462T3 (es) | 2016-01-22 | 2017-01-20 | 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 |
ES17700705T Active ES2790404T3 (es) | 2016-01-22 | 2017-01-20 | Aparato y procedimiento para la codificación o decodificación de una señal de audio multi-canal mediante el uso de un parámetro de alineación de banda ancha y una pluralidad de parámetros de alineación de banda estrecha |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES17700707T Active ES2773794T3 (es) | 2016-01-22 | 2017-01-20 | Aparato y procedimiento para estimar una diferencia de tiempos entre canales |
ES17701669T Active ES2768052T3 (es) | 2016-01-22 | 2017-01-20 | Aparatos y procedimientos para codificar o decodificar una señal de audio multicanal usando sincronización de control de trama |
Country Status (20)
Country | Link |
---|---|
US (7) | US10535356B2 (es) |
EP (5) | EP3405951B1 (es) |
JP (10) | JP6626581B2 (es) |
KR (4) | KR102343973B1 (es) |
CN (6) | CN107710323B (es) |
AU (5) | AU2017208580B2 (es) |
BR (4) | BR112018014799A2 (es) |
CA (4) | CA2987808C (es) |
ES (5) | ES2727462T3 (es) |
HK (1) | HK1244584B (es) |
MX (4) | MX371224B (es) |
MY (4) | MY181992A (es) |
PL (4) | PL3405949T3 (es) |
PT (3) | PT3284087T (es) |
RU (4) | RU2693648C2 (es) |
SG (3) | SG11201806246UA (es) |
TR (1) | TR201906475T4 (es) |
TW (4) | TWI653627B (es) |
WO (4) | WO2017125559A1 (es) |
ZA (3) | ZA201804625B (es) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101670063B1 (ko) * | 2008-09-18 | 2016-10-28 | 한국전자통신연구원 | Mdct 기반의 코더와 이종의 코더 간 변환에서의 인코딩 장치 및 디코딩 장치 |
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 |
CN107731238B (zh) * | 2016-08-10 | 2021-07-16 | 华为技术有限公司 | 多声道信号的编码方法和编码器 |
US10224042B2 (en) | 2016-10-31 | 2019-03-05 | Qualcomm Incorporated | Encoding of multiple audio signals |
ES2834083T3 (es) | 2016-11-08 | 2021-06-16 | Fraunhofer Ges Forschung | Aparato y método para la mezcla descendente o mezcla ascendente de una señal multicanal usando compensación de fase |
US10475457B2 (en) * | 2017-07-03 | 2019-11-12 | Qualcomm Incorporated | Time-domain inter-channel prediction |
US10839814B2 (en) * | 2017-10-05 | 2020-11-17 | Qualcomm Incorporated | Encoding or decoding of audio signals |
US10535357B2 (en) * | 2017-10-05 | 2020-01-14 | Qualcomm Incorporated | Encoding or decoding of audio signals |
PL3724876T3 (pl) * | 2018-02-01 | 2022-11-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Enkoder sceny audio, dekoder sceny audio i powiązane sposoby wykorzystujące analizę przestrzenną hybrydowego enkodera/dekodera |
US10978091B2 (en) * | 2018-03-19 | 2021-04-13 | Academia Sinica | System and methods for suppression by selecting wavelets for feature compression in distributed speech recognition |
PL3776541T3 (pl) * | 2018-04-05 | 2022-05-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Urządzenie, sposób lub program komputerowy do estymacji międzykanałowej różnicy czasowej |
CN110556116B (zh) * | 2018-05-31 | 2021-10-22 | 华为技术有限公司 | 计算下混信号和残差信号的方法和装置 |
EP3588495A1 (en) * | 2018-06-22 | 2020-01-01 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | Multichannel audio coding |
JP7407110B2 (ja) * | 2018-07-03 | 2023-12-28 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置及び符号化方法 |
JP7092048B2 (ja) * | 2019-01-17 | 2022-06-28 | 日本電信電話株式会社 | 多地点制御方法、装置及びプログラム |
EP3719799A1 (en) | 2019-04-04 | 2020-10-07 | FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. | A multi-channel audio encoder, decoder, methods and computer program for switching between a parametric multi-channel operation and an individual channel operation |
WO2020216459A1 (en) * | 2019-04-23 | 2020-10-29 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method or computer program for generating an output downmix representation |
WO2020256631A1 (en) * | 2019-06-18 | 2020-12-24 | Razer (Asia-Pacific) Pte. Ltd. | Method and apparatus for optimizing input latency in a wireless human interface device system |
CN110459205B (zh) * | 2019-09-24 | 2022-04-12 | 京东科技控股股份有限公司 | 语音识别方法及装置、计算机可存储介质 |
CN110740416B (zh) * | 2019-09-27 | 2021-04-06 | 广州励丰文化科技股份有限公司 | 一种音频信号处理方法及装置 |
US20220156217A1 (en) * | 2019-11-22 | 2022-05-19 | Stmicroelectronics (Rousset) Sas | Method for managing the operation of a system on chip, and corresponding system on chip |
CN110954866B (zh) * | 2019-11-22 | 2022-04-22 | 达闼机器人有限公司 | 声源定位方法、电子设备及存储介质 |
CN111131917B (zh) * | 2019-12-26 | 2021-12-28 | 国微集团(深圳)有限公司 | 音频频谱实时同步方法、播放装置 |
JP7316384B2 (ja) | 2020-01-09 | 2023-07-27 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
TWI750565B (zh) * | 2020-01-15 | 2021-12-21 | 原相科技股份有限公司 | 真無線多聲道揚聲裝置及其多音源發聲之方法 |
CN111402906B (zh) * | 2020-03-06 | 2024-05-14 | 深圳前海微众银行股份有限公司 | 语音解码方法、装置、引擎及存储介质 |
US11276388B2 (en) * | 2020-03-31 | 2022-03-15 | Nuvoton Technology Corporation | Beamforming system based on delay distribution model using high frequency phase difference |
CN111525912B (zh) * | 2020-04-03 | 2023-09-19 | 安徽白鹭电子科技有限公司 | 一种数字信号的任意重采样方法及*** |
CN113223503B (zh) * | 2020-04-29 | 2022-06-14 | 浙江大学 | 一种基于测试反馈的核心训练语音选择方法 |
CN115917644A (zh) * | 2020-06-24 | 2023-04-04 | 日本电信电话株式会社 | 声音信号编码方法、声音信号编码装置、程序以及记录介质 |
WO2021260826A1 (ja) * | 2020-06-24 | 2021-12-30 | 日本電信電話株式会社 | 音信号復号方法、音信号復号装置、プログラム及び記録媒体 |
BR112023001616A2 (pt) * | 2020-07-30 | 2023-02-23 | Fraunhofer Ges Forschung | Aparelho, método e programa de computador para codificar um sinal de áudio ou para decodificar uma cena de áudio codificada |
MX2023003965A (es) | 2020-10-09 | 2023-05-25 | Fraunhofer Ges Forschung | Aparato, metodo, o programa de computadora para procesar una escena de audio codificada utilizando una extension de ancho de banda. |
JP2023549038A (ja) | 2020-10-09 | 2023-11-22 | フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | パラメータ変換を用いて符号化されたオーディオシーンを処理するための装置、方法、またはコンピュータプログラム |
AU2021357364B2 (en) | 2020-10-09 | 2024-06-27 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method, or computer program for processing an encoded audio scene using a parameter smoothing |
US20240064483A1 (en) * | 2021-01-18 | 2024-02-22 | Panasonic Intellectual Property Corporation Of America | Signal processing device and signal processing method |
EP4243015A4 (en) | 2021-01-27 | 2024-04-17 | Samsung Electronics Co., Ltd. | AUDIO PROCESSING APPARATUS AND METHOD |
CN117501361A (zh) | 2021-06-15 | 2024-02-02 | 瑞典爱立信有限公司 | 用于重合立体声捕获的声道间时差(itd)估计器的提高的稳定性 |
CN113435313A (zh) * | 2021-06-23 | 2021-09-24 | 中国电子科技集团公司第二十九研究所 | 一种基于dft的脉冲频域特征提取方法 |
WO2023153228A1 (ja) * | 2022-02-08 | 2023-08-17 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、及び、符号化方法 |
CN115691515A (zh) * | 2022-07-12 | 2023-02-03 | 南京拓灵智能科技有限公司 | 一种音频编解码方法及装置 |
WO2024053353A1 (ja) * | 2022-09-08 | 2024-03-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 信号処理装置、及び、信号処理方法 |
WO2024074302A1 (en) | 2022-10-05 | 2024-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Coherence calculation for stereo discontinuous transmission (dtx) |
EP4383254A1 (en) | 2022-12-07 | 2024-06-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder comprising an inter-channel phase difference calculator device and method for operating such encoder |
WO2024160859A1 (en) | 2023-01-31 | 2024-08-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Refined inter-channel time difference (itd) selection for multi-source stereo signals |
CN117476026A (zh) * | 2023-12-26 | 2024-01-30 | 芯瞳半导体技术(山东)有限公司 | 一种多路音频数据混音的方法、***、装置及存储介质 |
Family Cites Families (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5434948A (en) * | 1989-06-15 | 1995-07-18 | British Telecommunications Public Limited Company | Polyphonic coding |
US5526359A (en) * | 1993-12-30 | 1996-06-11 | Dsc Communications Corporation | Integrated multi-fabric digital cross-connect timing architecture |
US6073100A (en) * | 1997-03-31 | 2000-06-06 | Goodridge, Jr.; Alan G | Method and apparatus for synthesizing signals using transform-domain match-output extension |
US5903872A (en) * | 1997-10-17 | 1999-05-11 | Dolby Laboratories Licensing Corporation | Frame-based audio coding with additional filterbank to attenuate spectral splatter at frame boundaries |
US6138089A (en) * | 1999-03-10 | 2000-10-24 | Infolio, Inc. | Apparatus system and method for speech compression and decompression |
US6549884B1 (en) * | 1999-09-21 | 2003-04-15 | Creative Technology Ltd. | Phase-vocoder pitch-shifting |
EP1199711A1 (en) * | 2000-10-20 | 2002-04-24 | Telefonaktiebolaget Lm Ericsson | Encoding of audio signal using bandwidth expansion |
US7583805B2 (en) * | 2004-02-12 | 2009-09-01 | Agere Systems Inc. | Late reverberation-based synthesis of auditory scenes |
FI119955B (fi) * | 2001-06-21 | 2009-05-15 | Nokia Corp | Menetelmä, kooderi ja laite puheenkoodaukseen synteesi-analyysi puhekoodereissa |
US7240001B2 (en) * | 2001-12-14 | 2007-07-03 | Microsoft Corporation | Quality improvement techniques in an audio encoder |
US7089178B2 (en) * | 2002-04-30 | 2006-08-08 | Qualcomm Inc. | Multistream network feature processing for a distributed speech recognition system |
WO2003107591A1 (en) * | 2002-06-14 | 2003-12-24 | Nokia Corporation | Enhanced error concealment for spatial audio |
CN1233163C (zh) * | 2002-08-21 | 2005-12-21 | 中山正音数字技术有限公司 | 多声道数字音频信号的压缩编码和解码设备及其方法 |
US7502743B2 (en) * | 2002-09-04 | 2009-03-10 | Microsoft Corporation | Multi-channel audio encoding and decoding with multi-channel transform selection |
US7536305B2 (en) * | 2002-09-04 | 2009-05-19 | Microsoft Corporation | Mixed lossless audio compression |
US7394903B2 (en) | 2004-01-20 | 2008-07-01 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and method for constructing a multi-channel output signal or for generating a downmix signal |
US7596486B2 (en) | 2004-05-19 | 2009-09-29 | Nokia Corporation | Encoding an audio signal using different audio coder modes |
RU2391714C2 (ru) * | 2004-07-14 | 2010-06-10 | Конинклейке Филипс Электроникс Н.В. | Преобразование аудиоканалов |
US8204261B2 (en) * | 2004-10-20 | 2012-06-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Diffuse sound shaping for BCC schemes and the like |
US7573912B2 (en) | 2005-02-22 | 2009-08-11 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschunng E.V. | Near-transparent or transparent multi-channel encoder/decoder scheme |
US9626973B2 (en) * | 2005-02-23 | 2017-04-18 | Telefonaktiebolaget L M Ericsson (Publ) | Adaptive bit allocation for multi-channel audio encoding |
US7630882B2 (en) * | 2005-07-15 | 2009-12-08 | Microsoft Corporation | Frequency segmentation to obtain bands for efficient coding of digital media |
US20070055510A1 (en) * | 2005-07-19 | 2007-03-08 | Johannes Hilpert | Concept for bridging the gap between parametric multi-channel audio coding and matrixed-surround multi-channel coding |
KR100712409B1 (ko) * | 2005-07-28 | 2007-04-27 | 한국전자통신연구원 | 벡터의 차원변환 방법 |
TWI396188B (zh) * | 2005-08-02 | 2013-05-11 | Dolby Lab Licensing Corp | 依聆聽事件之函數控制空間音訊編碼參數的技術 |
EP1953736A4 (en) * | 2005-10-31 | 2009-08-05 | Panasonic Corp | STEREO CODING DEVICE AND METHOD FOR PREDICTING STEREO SIGNAL |
US7720677B2 (en) | 2005-11-03 | 2010-05-18 | Coding Technologies Ab | Time warped modified transform coding of audio signals |
US7953604B2 (en) * | 2006-01-20 | 2011-05-31 | Microsoft Corporation | Shape and scale parameters for extended-band frequency coding |
US7831434B2 (en) * | 2006-01-20 | 2010-11-09 | Microsoft Corporation | Complex-transform channel coding with extended-band frequency coding |
EP1989707A2 (fr) * | 2006-02-24 | 2008-11-12 | France Telecom | Procede de codage binaire d'indices de quantification d'une enveloppe d'un signal, procede de decodage d'une enveloppe d'un signal et modules de codage et decodage correspondants |
DE102006049154B4 (de) * | 2006-10-18 | 2009-07-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Kodierung eines Informationssignals |
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 |
US7885819B2 (en) * | 2007-06-29 | 2011-02-08 | Microsoft Corporation | Bitstream syntax for multi-process audio decoding |
GB2453117B (en) * | 2007-09-25 | 2012-05-23 | Motorola Mobility Inc | Apparatus and method for encoding a multi channel audio signal |
AU2008339211B2 (en) * | 2007-12-18 | 2011-06-23 | Lg Electronics Inc. | A method and an apparatus for processing an audio signal |
EP2107556A1 (en) * | 2008-04-04 | 2009-10-07 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio transform coding using pitch correction |
CN101267362B (zh) * | 2008-05-16 | 2010-11-17 | 亿阳信通股份有限公司 | 一种性能指标值正常波动范围的动态确定方法及其装置 |
BR122020009727B1 (pt) | 2008-05-23 | 2021-04-06 | Koninklijke Philips N.V. | Método |
US8355921B2 (en) * | 2008-06-13 | 2013-01-15 | Nokia Corporation | Method, apparatus and computer program product for providing improved audio processing |
KR101400484B1 (ko) * | 2008-07-11 | 2014-05-28 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 시간 워프 활성 신호의 제공 및 이를 이용한 오디오 신호의 인코딩 |
EP2144229A1 (en) * | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Efficient use of phase information in audio encoding and decoding |
MY154452A (en) | 2008-07-11 | 2015-06-15 | Fraunhofer Ges Forschung | An apparatus and a method for decoding an encoded audio signal |
ES2683077T3 (es) * | 2008-07-11 | 2018-09-24 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codificador y decodificador de audio para codificar y decodificar tramas de una señal de audio muestreada |
KR101345695B1 (ko) * | 2008-07-11 | 2013-12-30 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 대역폭 확장 출력 데이터를 생성하기 위한 장치 및 방법 |
EP2146344B1 (en) * | 2008-07-17 | 2016-07-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoding/decoding scheme having a switchable bypass |
US8504378B2 (en) * | 2009-01-22 | 2013-08-06 | Panasonic Corporation | Stereo acoustic signal encoding apparatus, stereo acoustic signal decoding apparatus, and methods for the same |
EP2382625B1 (en) | 2009-01-28 | 2016-01-06 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder, encoded audio information, methods for encoding and decoding an audio signal and computer program |
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 |
CN102388417B (zh) * | 2009-03-17 | 2015-10-21 | 杜比国际公司 | 基于自适应地可选择的左/右或中央/侧边立体声编码和参数立体声编码的组合的高级立体声编码 |
WO2010134332A1 (ja) | 2009-05-20 | 2010-11-25 | パナソニック株式会社 | 符号化装置、復号装置、およびこれらの方法 |
CN101989429B (zh) * | 2009-07-31 | 2012-02-01 | 华为技术有限公司 | 转码方法、装置、设备以及*** |
JP5031006B2 (ja) | 2009-09-04 | 2012-09-19 | パナソニック株式会社 | スケーラブル復号化装置及びスケーラブル復号化方法 |
KR101341115B1 (ko) * | 2009-10-21 | 2013-12-13 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 적응식 오버샘플링을 사용하는 고주파수 오디오 신호를 발생시키기 위한 장치 및 방법 |
PL2532001T3 (pl) * | 2010-03-10 | 2014-09-30 | Fraunhofer Ges Forschung | Dekoder sygnału audio, koder sygnału audio, sposoby i program komputerowy wykorzystujące zależne od częstotliwości próbkowania kodowanie krzywej dopasowania czasowego |
JP5405373B2 (ja) * | 2010-03-26 | 2014-02-05 | 富士フイルム株式会社 | 電子内視鏡システム |
JP5814340B2 (ja) * | 2010-04-09 | 2015-11-17 | ドルビー・インターナショナル・アーベー | Mdctベース複素予測ステレオ符号化 |
EP2375409A1 (en) | 2010-04-09 | 2011-10-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction |
JP5820464B2 (ja) | 2010-04-13 | 2015-11-24 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | オーディオまたはビデオエンコーダ、オーディオまたはビデオデコーダ、及び予測方向可変の予測を使用したマルチチャンネルオーディオまたはビデオ信号処理方法 |
US8463414B2 (en) * | 2010-08-09 | 2013-06-11 | Motorola Mobility Llc | Method and apparatus for estimating a parameter for low bit rate stereo transmission |
AU2011288406B2 (en) * | 2010-08-12 | 2014-07-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Resampling output signals of QMF based audio codecs |
WO2012045744A1 (en) * | 2010-10-06 | 2012-04-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for processing an audio signal and for providing a higher temporal granularity for a combined unified speech and audio codec (usac) |
FR2966634A1 (fr) | 2010-10-22 | 2012-04-27 | France Telecom | Codage/decodage parametrique stereo ameliore pour les canaux en opposition de phase |
EP3035330B1 (en) * | 2011-02-02 | 2019-11-20 | Telefonaktiebolaget LM Ericsson (publ) | Determining the inter-channel time difference of a multi-channel audio signal |
EP2671221B1 (en) * | 2011-02-03 | 2017-02-01 | Telefonaktiebolaget LM Ericsson (publ) | Determining the inter-channel time difference of a multi-channel audio signal |
ES2529025T3 (es) * | 2011-02-14 | 2015-02-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Aparato y método para procesar una señal de audio decodificada en un dominio espectral |
AR085221A1 (es) * | 2011-02-14 | 2013-09-18 | Fraunhofer Ges Forschung | Aparato y metodo para codificar y decodificar una señal de audio utilizando una porcion alineada anticipada |
WO2012167479A1 (en) * | 2011-07-15 | 2012-12-13 | Huawei Technologies Co., Ltd. | Method and apparatus for processing a multi-channel audio signal |
EP2600343A1 (en) * | 2011-12-02 | 2013-06-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for merging geometry - based spatial audio coding streams |
BR122021018240B1 (pt) * | 2012-02-23 | 2022-08-30 | Dolby International Ab | Método para codificar um sinal de áudio multicanal, método para decodificar um fluxo de bits de áudio codificado, sistema configurado para codificar um sinal de áudio, e sistema para decodificar um fluxo de bits de áudio codificado |
CN103366749B (zh) * | 2012-03-28 | 2016-01-27 | 北京天籁传音数字技术有限公司 | 一种声音编解码装置及其方法 |
CN103366751B (zh) * | 2012-03-28 | 2015-10-14 | 北京天籁传音数字技术有限公司 | 一种声音编解码装置及其方法 |
ES2555579T3 (es) | 2012-04-05 | 2016-01-05 | Huawei Technologies Co., Ltd | Codificador de audio multicanal y método para codificar una señal de audio multicanal |
WO2013149672A1 (en) * | 2012-04-05 | 2013-10-10 | Huawei Technologies Co., Ltd. | Method for determining an encoding parameter for a multi-channel audio signal and multi-channel audio encoder |
US10083699B2 (en) * | 2012-07-24 | 2018-09-25 | Samsung Electronics Co., Ltd. | Method and apparatus for processing audio data |
EP2896040B1 (en) * | 2012-09-14 | 2016-11-09 | Dolby Laboratories Licensing Corporation | Multi-channel audio content analysis based upmix detection |
US9460729B2 (en) * | 2012-09-21 | 2016-10-04 | Dolby Laboratories Licensing Corporation | Layered approach to spatial audio coding |
EP2940898B1 (en) | 2012-12-27 | 2018-08-22 | Panasonic Intellectual Property Corporation of America | Video display method |
EP2959482B1 (en) | 2013-02-20 | 2019-05-01 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding or decoding an audio signal using a transient-location dependent overlap |
CN105074818B (zh) * | 2013-02-21 | 2019-08-13 | 杜比国际公司 | 音频编码***、用于产生比特流的方法以及音频解码器 |
TWI546799B (zh) * | 2013-04-05 | 2016-08-21 | 杜比國際公司 | 音頻編碼器及解碼器 |
EP2830061A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping |
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 |
WO2016108655A1 (ko) * | 2014-12-31 | 2016-07-07 | 한국전자통신연구원 | 다채널 오디오 신호의 인코딩 방법 및 상기 인코딩 방법을 수행하는 인코딩 장치, 그리고, 다채널 오디오 신호의 디코딩 방법 및 상기 디코딩 방법을 수행하는 디코딩 장치 |
CN107113147B (zh) * | 2014-12-31 | 2020-11-06 | Lg电子株式会社 | 在无线通信***中分配资源的方法和设备 |
EP3067887A1 (en) * | 2015-03-09 | 2016-09-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder for encoding a multichannel signal and audio decoder for decoding 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 |
US10224042B2 (en) | 2016-10-31 | 2019-03-05 | Qualcomm Incorporated | Encoding of multiple audio signals |
-
2017
- 2017-01-20 ES ES17700706T patent/ES2727462T3/es active Active
- 2017-01-20 JP JP2018538601A patent/JP6626581B2/ja active Active
- 2017-01-20 PL PL17700707T patent/PL3405949T3/pl unknown
- 2017-01-20 PL PL17700706T patent/PL3284087T3/pl unknown
- 2017-01-20 CA CA2987808A patent/CA2987808C/en active Active
- 2017-01-20 WO PCT/EP2017/051208 patent/WO2017125559A1/en active Application Filing
- 2017-01-20 EP EP17701669.8A patent/EP3405951B1/en active Active
- 2017-01-20 ES ES17700705T patent/ES2790404T3/es active Active
- 2017-01-20 AU AU2017208580A patent/AU2017208580B2/en active Active
- 2017-01-20 RU RU2017145250A patent/RU2693648C2/ru active
- 2017-01-20 SG SG11201806246UA patent/SG11201806246UA/en unknown
- 2017-01-20 RU RU2018130151A patent/RU2705007C1/ru active
- 2017-01-20 CN CN201780002248.3A patent/CN107710323B/zh active Active
- 2017-01-20 EP EP17700707.7A patent/EP3405949B1/en active Active
- 2017-01-20 MY MYPI2017001705A patent/MY181992A/en unknown
- 2017-01-20 AU AU2017208575A patent/AU2017208575B2/en active Active
- 2017-01-20 BR BR112018014799-0A patent/BR112018014799A2/pt active Search and Examination
- 2017-01-20 CN CN202311130088.4A patent/CN117238300A/zh active Pending
- 2017-01-20 PT PT17700706T patent/PT3284087T/pt unknown
- 2017-01-20 AU AU2017208576A patent/AU2017208576B2/en active Active
- 2017-01-20 BR BR112017025314-3A patent/BR112017025314A2/pt active Search and Examination
- 2017-01-20 PT PT177007077T patent/PT3405949T/pt unknown
- 2017-01-20 MY MYPI2018001318A patent/MY189223A/en unknown
- 2017-01-20 WO PCT/EP2017/051205 patent/WO2017125558A1/en active Application Filing
- 2017-01-20 JP JP2018510479A patent/JP6412292B2/ja active Active
- 2017-01-20 MY MYPI2018001321A patent/MY189205A/en unknown
- 2017-01-20 MX MX2017015009A patent/MX371224B/es active IP Right Grant
- 2017-01-20 CN CN201780018903.4A patent/CN108780649B/zh active Active
- 2017-01-20 AU AU2017208579A patent/AU2017208579B2/en active Active
- 2017-01-20 CA CA3011915A patent/CA3011915C/en active Active
- 2017-01-20 MX MX2018008889A patent/MX2018008889A/es active IP Right Grant
- 2017-01-20 PT PT177016698T patent/PT3405951T/pt unknown
- 2017-01-20 CN CN202210761486.5A patent/CN115148215A/zh active Pending
- 2017-01-20 KR KR1020187024233A patent/KR102343973B1/ko active IP Right Grant
- 2017-01-20 MX MX2018008890A patent/MX2018008890A/es active IP Right Grant
- 2017-01-20 PL PL19157001.9T patent/PL3503097T3/pl unknown
- 2017-01-20 EP EP19157001.9A patent/EP3503097B1/en active Active
- 2017-01-20 WO PCT/EP2017/051214 patent/WO2017125563A1/en active Application Filing
- 2017-01-20 ES ES19157001T patent/ES2965487T3/es active Active
- 2017-01-20 KR KR1020177037759A patent/KR102083200B1/ko active IP Right Grant
- 2017-01-20 RU RU2018130275A patent/RU2704733C1/ru active
- 2017-01-20 SG SG11201806241QA patent/SG11201806241QA/en unknown
- 2017-01-20 EP EP17700706.9A patent/EP3284087B1/en active Active
- 2017-01-20 KR KR1020187024171A patent/KR102230727B1/ko active IP Right Grant
- 2017-01-20 PL PL17701669T patent/PL3405951T3/pl unknown
- 2017-01-20 RU RU2018130272A patent/RU2711513C1/ru active
- 2017-01-20 CN CN201780019674.8A patent/CN108885879B/zh active Active
- 2017-01-20 ES ES17700707T patent/ES2773794T3/es active Active
- 2017-01-20 CN CN201780018898.7A patent/CN108885877B/zh active Active
- 2017-01-20 SG SG11201806216YA patent/SG11201806216YA/en unknown
- 2017-01-20 MX MX2018008887A patent/MX2018008887A/es active IP Right Grant
- 2017-01-20 CA CA3011914A patent/CA3011914C/en active Active
- 2017-01-20 JP JP2018538602A patent/JP6641018B2/ja active Active
- 2017-01-20 ES ES17701669T patent/ES2768052T3/es active Active
- 2017-01-20 MY MYPI2018001323A patent/MY196436A/en unknown
- 2017-01-20 CA CA3012159A patent/CA3012159C/en active Active
- 2017-01-20 EP EP17700705.1A patent/EP3405948B1/en active Active
- 2017-01-20 BR BR112018014689-7A patent/BR112018014689A2/pt active Search and Examination
- 2017-01-20 BR BR112018014916-0A patent/BR112018014916A2/pt active Search and Examination
- 2017-01-20 KR KR1020187024177A patent/KR102219752B1/ko active IP Right Grant
- 2017-01-20 TR TR2019/06475T patent/TR201906475T4/tr unknown
- 2017-01-20 JP JP2018538633A patent/JP6730438B2/ja active Active
- 2017-01-20 WO PCT/EP2017/051212 patent/WO2017125562A1/en active Application Filing
- 2017-01-23 TW TW106102408A patent/TWI653627B/zh active
- 2017-01-23 TW TW106102398A patent/TWI628651B/zh active
- 2017-01-23 TW TW106102410A patent/TWI643487B/zh active
- 2017-01-23 TW TW106102409A patent/TWI629681B/zh active
- 2017-11-22 US US15/821,108 patent/US10535356B2/en active Active
-
2018
- 2018-03-20 HK HK18103855.8A patent/HK1244584B/zh unknown
- 2018-07-11 ZA ZA2018/04625A patent/ZA201804625B/en unknown
- 2018-07-12 US US16/034,206 patent/US10861468B2/en active Active
- 2018-07-13 US US16/035,456 patent/US10706861B2/en active Active
- 2018-07-13 US US16/035,471 patent/US10424309B2/en active Active
- 2018-07-17 ZA ZA2018/04776A patent/ZA201804776B/en unknown
- 2018-07-20 ZA ZA2018/04910A patent/ZA201804910B/en unknown
- 2018-09-27 JP JP2018181254A patent/JP6856595B2/ja active Active
-
2019
- 2019-04-04 US US16/375,437 patent/US10854211B2/en active Active
- 2019-08-09 AU AU2019213424A patent/AU2019213424B8/en active Active
- 2019-12-26 JP JP2019235359A patent/JP6859423B2/ja active Active
-
2020
- 2020-02-19 US US16/795,548 patent/US11410664B2/en active Active
- 2020-07-02 JP JP2020114535A patent/JP7053725B2/ja active Active
-
2021
- 2021-03-18 JP JP2021044222A patent/JP7258935B2/ja active Active
- 2021-03-25 JP JP2021051011A patent/JP7161564B2/ja active Active
-
2022
- 2022-03-31 JP JP2022057862A patent/JP7270096B2/ja active Active
- 2022-05-23 US US17/751,303 patent/US11887609B2/en active Active
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2965487T3 (es) | Aparato y procedimiento para la codificación o decodificación de una señal multicanal mediante el uso de repetición de muestreo de dominio espectral | |
ES2810824T3 (es) | Sistema decodificador, método de decodificación y programa informático respectivo | |
ES2901758T3 (es) | Codificación y decodificación de audio usando un procesador de dominio de frecuencia, un procesador de dominio de tiempo y un procesador cruzado para inicialización del procesador de dominio de tiempo |