AR089918A2

Audio decoder and decoding method using efficient downmixing

Abstract

A method, an apparatus, a computer-readable storage medium configured with instructions for carrying out a method, and an arrangement for carrying out the method. The method must decode audio information that includes Nn channels in Mm decoded audio channels, which includes unpacking metadata and unpacking and decoding frequency domain and mantissa exponent information; the determination of transformation coefficients from the unpacked and decoded information of frequency domain mantissa and mantissa; the inverse transformation of frequency domain information; and in the case M <N, the audio channel reduction combination according to the audio channel reduction combination information, where the audio channel reduction combination is carried out efficiently.

AR089918A2, drawing sheet 1
Sheet 1 of 14

Term

No projected expiry on record.

  1. Priority
  2. Filed
  3. Published
  4. Today

13 claims: 8 independent, 5 dependent

  1. 1
    CLAIMS REIVINDICACIONES Habiendo así especialmente descripto y determinado la naturaleza de la presente invención y la forma como la misma ha de ser llevada a la práctica, se declara reivindicar como de propiedad y derecho exclusivo:Having thus specially described and determined the nature of the present invention and the manner in which it is to be put into practice, it is claimed to claim ownership and exclusive right: 1. A method for the operation of an audio decoder to decode audio information that includes encoded blocks of Nn audio information channels, to form decoded audio information that includes Mm decoded audio channels, where M> 1, where n is the number of 1. Un método para la operación de un decodificador de audio para decodificar información de audio que incluye bloques codificados de N.n canales de información de audio, para formar información de audio decodificada que incluye M.m canales de audio decodificado, donde M>1, donde n es el número de 10 Low frequency effect channels in the encoded audio information, and m is the number of low frequency effect channels in the decoded audio information, where the method characterized by the fact that it comprises: 10 canales de efectos de baja frecuencia en la información de audio codificada, y m es el número de canales de efectos de baja frecuencia en la información de audio decodificada, donde el método caracterizado por el hecho de que comprende: la aceptación de la información de audio que incluye bloques de N.n canales de información de audio codificada, codificada por un método de the acceptance of audio information that includes blocks of Nn channels of encoded audio information, encoded by a method of 15 codificación, donde el método de codificación incluye la transformación de N.n canales de información de audio digital, y la formación y el empaque de información de exponente de dominio de frecuencia y mantisa;y la decodificación de la información de audio aceptada, donde la decodificación incluye: fifteen coding, where the coding method includes the transformation of Nn channels of digital audio information, and the formation and packaging of frequency domain and mantissa exponent information;and decoding of accepted audio information, where decoding includes: 20 el desempaque y la decodificación de la información de exponente de dominio de frecuencia y mantisa;twenty unpacking and decoding of frequency domain and mantissa exponent information;la determinación de coeficientes de transformación a partir de la información de exponente de dominio de frecuencia y mantisa desempacada y decodificada;the determination of transformation coefficients from the frequency domain exponent information and unpacked and decoded mantissa;25 the inverse transformation of frequency domain information and the application of additional processing, in order to determine samples of audio information;Y 25 la transformación inversa de la información de dominio de frecuencia y la aplicación de procesamiento adicional, a fin de determinar muestras de información de audio;y 100 the downstream mix in the time domain of at least some blocks of the audio information samples determined according to the downstream mix for the case M <N;100 la mezcla descendente en el dominio de tiempo de por lo menos algunos bloques de las muestras de información de audio determinadas de acuerdo con la mezcla descendente para el caso M<N;en donde el método incluye la identificación (835) de uno o más canales no 5 contributivos de los N.n canales de entrada, donde un canal no contributivo es aquel que no contribuye a los M.m canales, y en donde el método no requiere realizar una transformada inversa de los datos del dominio de la frecuencia y no necesita la aplicación de procesos posteriores sobre los uno o más canales no contributivos identificados. where the method includes the identification (835) of one or more non-contributory channels of the Nn input channels, where a non-contributory channel is one that does not contribute to the Mm channels, and where the method does not require a transform Inverse of the frequency domain data and does not need the application of subsequent processes on the one or more identified non-contributory channels. 10 10
  2. 4
    El método de acuerdo con cualquiera de las reivindicaciones precedentes, caracterizado por el hecho de que el decodificador (200) utiliza por lo menos un procesador x86 cuyo conjunto de instrucciones incluyen instrucciones de vector que comprenden múltiples extensiones de información de Four. The method according to any of the preceding claims, characterized in that the decoder (200) uses at least one x86 processor whose instruction set includes vector instructions comprising multiple extensions of information of 25 a single instruction in execution (SSE) comprising instructions in vector, and where the downstream mix the execution of instructions in vector in at least one of one or more of the x86 processors. 25 una sola instrucción en ejecución (SSE) que comprende instrucciones en vector, y donde la mezcla descendente la ejecución de instrucciones en vector en por lo menos uno de uno o más de los procesadores x86. 101 101
  3. 8
    A computer readable storage medium, characterized by the fact that it stores decoding instructions that 8. Un medio de almacenamiento legible por computadora, caracterizado por el hecho de que almacena instrucciones de decodificación que 5 when executed by one or more processors of a processing system, they cause the processing system to carry out the method according to any of the preceding claims. 5 cuando son ejecutadas por uno o más procesadores de un sistema de procesamiento, hacen que el sistema de procesamiento lleve a cabo el método de acuerdo con cualquiera de las reivindicaciones precedentes.
  4. 9
    An apparatus (1200) for carrying out the method according to any of claims 1 to 7, characterized in that it is 9. Un aparato (1200) para llevar a cabo el método de acuerdo con cualquiera de las reivindicaciones 1 a 7, caracterizado por el hecho de que se
  5. 10
    10 used for the processing of audio information for the decoding of audio information that includes blocks encoded from Nn channels of audio information, in order to form decoded audio information that includes Mm channels of decoded audio, M £ 1, where n is the number of low frequency effect channels in the encoded audio information, and m 10 utiliza para el procesamiento de información de audio para la decodificación de la información de audio que incluye bloques codificados de N.n canales de información de audio, a fin de formar información de audio decodificada que incluye M.m canales de audio decodificado, M£1, donde n es el número de canales de efectos de baja frecuencia en la información de audio codificada, y m
  6. 11
    15 es el número de canales de efectos de baja frecuencia en la información de audio decodificada. fifteen is the number of channels of low frequency effects in decoded audio information. 10. An arrangement (1200) for carrying out the method according to any of claims 1 to 7, characterized in that it is configured for decoding audio information that 10. Una disposición (1200) para para llevar a cabo el método de acuerdo con cualquiera de las reivindicaciones 1 a 7, caracterizada por el hecho de que está configurada para la decodificación de información de audio que
  7. 12
    20 incluye N.n canales de información de audio codificada a fin de formar información de audio decodificada que incluye M.m canales de audio decodificado, M£1, donde n es el número de canales de efectos de baja frecuencia en la información de audio codificada, y m es el número de canales de efectos de baja frecuencia en la información de audio decodificada, donde la twenty includes Nn channels of encoded audio information in order to form decoded audio information that includes Mm channels of decoded audio, M £ 1, where n is the number of low frequency effect channels in the encoded audio information, and m is the number of low frequency effect channels in the decoded audio information, where the
  8. 13
    25 provision includes:25 disposición comprende: one or more processors;and a storage subsystem coupled to one or more processors;uno o más procesadores;y un subsistema de almacenamiento acoplado a uno o más procesadores;103 where the arrangement is configured to accept the audio information that includes Nn blocks of encoded audio information channels, encoded by an encoding method, where the encoding method includes the transformation of Nn digital audio information channels, and training Y 103 donde la disposición está configurada para aceptar la información de audio que incluye N.n bloques de canales de información de audio codificada, codificada por un método de codificación, donde el método de codificación incluye la transformación de N.n canales de información de audio digital, y la formación y 5 The packaging of exponent information and frequency domain mantissa. 5 el empaque de Información de exponente y mantisa de dominio de frecuencia. p. de: DOLBY LABORATORIES LICENSING CORPORA INTERNATIONAL AB p. from: DOLBY LABORATORIES LICENSING CORPORA INTERNATIONAL AB Desempaque de información BSl Para bloque= 1 a B (el nro. de bloques) Unpacking BSl information For block = 1 to B (the number of blocks) Desempaque de Información establecida Guardado de punteros de exponentes empacados Para canal=1 a N (el nro. de canales codificados) Unpacking Established Information Saving pointers of packed exponents For channel = 1 to N (the number of coded channels) Desempaque de exponentes Para banda= 1 a L (el nro. de bandas) Unpacking of exponents For band = 1 to L (the number of bands) Bit allocation computation Unpacking mantissa Cómputo de asignación de bits Desempaque de mantisas Desempaque de canal de acoplamiento (guardado de punteros) Unpacking the coupling channel (saving pointers) Graduado de mantlsas/desecho de acoplamiento Desnormalización de mantisas por exponentes Cómputo de transformación Inversa a dominio de ventana Combin. reduc. canal de audio a nro. apropiado M de canales de salida Para canal= 1 a M (el nro. de canales de salida) Graduate of mantlsas / coupling waste Normalization of mantissa by exponents Computation of transformation Reverse to window domain Combin. reduction audio channel to no. appropriate M of output channels For channel = 1 to M (the number of output channels) Ventana y superp. de adición con un buffer de demora Window and superp. addition with a delay buffer Copla de valores de buffer de comb.de reduc. a buffer de demora Copy of buffer values ​​of comb.de reduc. to delay buffer FIG. 1 (ARTE PREVIO) FIG. 1 (PRIOR ART) 100 100 FRAME AC-3 / E-AC-3 TRAMA AC-3/E-AC-3 FRAME AC-3 / E-AC-3 TRAMA AC-3/E-AC-3 FIG. 2B FIG. 2B FIG. 2A FIG. 2A FRAME AC-3 / E-AC-3 TRAMA AC-3/E-AC-3 Hasta 7.1 canales de PCM Up to 7.1 PCM channels FRAME AC-3 / E-AC-3 TRAMA AC-3/E-AC-3 Hasta 5.1 canales de PCM Up to 5.1 PCM channels FIG. 2 C FIG. 2C FIG. 2D FIG. 2D Decodificación extremo inicial /‘Decod.extremo inicial primer pasa*/ Initial Extreme Decoding /'Decox. Initial End First Pass * / For block = 0 to (B-1 number of blocks) Para bloque = 0 a (B-1 nro. de bloques) Desempaque de inform. establecida Inform unpacking established For channel = 0 to N-1 (N = no. Of encoded channels) Para canal= 0 a N-1 (N=nro. de canales codificados) Guardado de puntero de corriente de bits de exponentesempacados) Desempaque de exponentes Save pointer of current exponent bits packaged) Unpack exponents Guardado de puntero de corriente de bits de mantisas empacadas Saving bit stream pointer from packed mantissa Bit allocation computation Cómputo de asignación de bits Omitir mantisas sobre la base de asignación de bits /*Decod. extremo inicial segundo pase*/ Skip mantissa based on bit allocation / * Decod. initial end second pass * / For channel = 0 to N-1 (N = no. Of encoded channels) Para canal= 0 a N-1 (N=nro. de canales codificados) For bJoque = 0 to B-1 B = no. of blocks) / * unpacking * / Para bJoque= 0 a B-1 B= nro. de bloques) /*desempaque*/ Bitstream pointer load saved from expos, packet Unpacking exponents Computation of bit allocation Carga de puntero de corriente de bits guardado de expon, empac. Desempaque de exponentes Cómputo ae asignación de bits Bit stream pointer load saved from mant. empa. Carga de puntero de corriente de bits guardado de mant. empa. Desempaque de mantisas /*decocl·*/ Unwrap mantissa / * decocl · * / I do decouple standard / improved (amplitude only) Realiz. desacopl. norma/mejorado (solo amplitud) Generación de banda de extensión espectral ) Spectral extension band generation) I sent, inform. Expose, and mantis. int memory to ext. Transí, inform. expon, y mantis. de memoria int. a ext. FIG. 3 frame AC-3 / E-AC-3 FIG. 3 trama AC-3/E-AC-3 FIG. 4 FIG. 4 Información de metadatos y trama de audio, información de bloque de audio Metadata and audio frame information, audio block information Decodificación extremo finaí: ca. Finai extreme decoding: ca. Pare bloque = Oa B-1 (B -- bloques por trama) t Stop block = Oa B-1 (B - blocks per frame) t Transfer in all the blocks of a channel from external memory Transferencia en toóos los bloques de un canal desde memoria externa For channel - 0 to NI and LFE if n = l | Nn = no. Of coded channels) í Para canal - 0 a N I y LFE si n=l |Nn = nro.de canales codificados) í Aplicación de control de rango dinámico, normalización de diálogo y variación de ganancia Desnormalización de mantisas por exponentes Computo de transformación inversa Ventana / superposición de adición con buffer de demora Realización de procesamiento de ruido previo transitono Combinación de reducción de canales de audío a canales de salida apropiados 1 Application of dynamic range control, dialogue normalization and gain variation Normalization of mantras by exponents Reverse transformation compute Window / addition overlay with delay buffer Performing pre-noise processing processing Transono Combination of reduction of audio channels to output channels appropriate 1 Dynamic range control module (dialog normalization, dynamic range control) Módulo control rango dinámico (normalización de diálogo, control rango dinámico) Transformación Transformation Procesamiento rudio previo transitorio Transitional prior Russian processing Adtc overlay window. Ventana-superposición de adtc. Combin.reduc. TD audio channel Combin.reduc. canal audio TD FIG. 5 A FIG. 5 a 520 % Final extreme decoding: 520 % Decodlficación extremo final: For block · - Oa 0-1 (B - blocks per frame) { Para bloque ·- Oa 0-1 (B - bloques por trama) { Transfer in all the blocks of an external memory channel Evaluation of whether to reduce the audio channel FOocomb reduc. audio channel TD Yes comb. reduction audio channel FD;Transferencia en todos tes bloques de un canal de memoria externa Evaluación de si comb reduccanal audio FOocomb reduc. canal audio TD Si comb. reduc. canal audio FD;< < For channel «0 to ΝΊ and LFE if π · = 1 i Para canal « 0 a ΝΊ y LFE si π ·= 1 i Aplic, control de rango dinámico, nermafiz de diálogo, pero deshabito. variación ganancia Aplic, dynamic range control, dialogue nermaphiz, but uninhabited. gain variation Demantlement mantises by exponents Comb. FD audio channel reduction Desnormafización mantisas por exponentes Comb. reduc.canal audio FD Procesam. difte. bloque transición luego de bloque somet a combn. reduc. canal audroTD Tratamiento de cualquier canal apagado saliente } ) Processing diff. transition block after block subject to combn. reduction audroTD channel Treatment of any outgoing off channels}) De lo contrario,% Combin. reduc. canales audio TD { Otherwise,% Combin. reduction TD audio channels { For channel = 0a N-1 and LFE if n = T (But only for channels in combination. Audio channel reduction) Para canal = 0a N-1 y LFE si n=T (Pero solo para canales en combin. reduc. canal audio) Different process block transtc.after block submit combin.reduc audio channel FD Stack.control dynamic range, normalization dialog, but uninhabited. Variation gain Normalization mantises by exponents Proceso difnte. bloque transtc.luego de bloque someta combin.reduc canal audio FD Apile.control rango dinámico, normalización diálogo, pero deshabito. variación ganancia Desnormalización mantisas por exponentes For channel = 0a N-1 and LFE if n = 1 (But «Mo for channels in combination. Audio channel reduction;N = M if audio channel reduction comb FD) { Para canal = 0a N-1 y LFE si n =1 (Pero «Mo para canales en combin. reduc canal audio;N=M si comb. reduc.canal audio FD) { Cómputo transformación inversa Ventana/su^serposkión de adición con buffer demora Si combin. reduc.canal audio TD f Reverse transformation computation Window / its ^ serposkión of addition with buffer delay If combined. audio channel reduction TD f Combination prior noise processing. audio channel reduction to appropriate output channels Realización procesamiento ruido previo transitorio Combin. reduc.canal audio hasta canales de salida apropiados Dynamic range control module (dialog normalization, dynamic unce control) Combination method selection module. reduction audio channel Módulo control rango dinámico (normalización diálogo, control unce dinámica)Módulo selección método combin. reduc. canal audio Módulo selec.transic.comb reduc. FI1 Select module transic.comb reduc. FI1 Comb. reduc. i L) (incluye módulo lógica transic. comb. reduc. TD) Comb. reduction i L) (includes logic module transic. comb. reduction TD) Transformación Transformation Proces. ruido previo transit. Process. pre transit noise Ventana - stiperp. adición Window - stiperp. addition Comb. recfuc. TD audio channel Comb. recfuc. canal audio TD FIG. 5 B FIG. 5 B Exponentes Mantisas Metadatos Exponents Mantisas Metadata I ί I ί I I PCM Muestras PCM Samples FIG. 6 r0 ~ Logka séléccTlon mltóBo FIG. 6 r0 ~Logka séléccTón mltóBo FIG. 8 FIG. 8 FIG. 9 / * Comb reduc.TD according to inform.comb. reduction * / Si (new inform.comb.reduc. - old inform.comb.reduc.) (execute SSE instructions comb. reduction using comb. FIG. 9 /* Comb reduc.TD de acuerdo con inform.comb. reduc.*/ Si (nueva inform.comb.reduc. - vieja inform.comb.reduc.) ( ejecutar instrucciones SSE comb. reduc. usando inform. comb. reduc.;de lo contrario, ( on the contrary, ( apagado cruzado vieja inform. usando comb. reduc. vent. usando inform. comb. reduc. apag. cruz.;cross off old inform. using comb reduction vent. using inform. comb. reduction off cross.;1101 1101 FIG. 11 FIG. eleven Processing system Sistema de procesamiento 1200 1200 1207 network interfaces Interfaces 1207 de red F 2Q3 x86 processor Procesador f 2Q3 x86 --— iW --—iW Dispositivos de audio l/O L / O audio devices 1205 1205 Collective bar subsystem. Subsistema barra colect. Storage device storage subsystem .;^ 11 memory and possibly other storage devices. Subsistema de almacenamiento de dispositivos de almacén.;^11 memoria y posiblemente otros dispositivos de almacén. -Ί7ΪΓ programas ¡nform -Ί7ΪΓ programs nform Análisis inform. Computer Analysis plot trama 1221 1221 1213 1213 Cartografiador canal_1227 Cartographer channel_1227