ES2363346T3 - Códec de audio multi-canal sin pérdidas. - Google Patents
Códec de audio multi-canal sin pérdidas. Download PDFInfo
- Publication number
- ES2363346T3 ES2363346T3 ES05731220T ES05731220T ES2363346T3 ES 2363346 T3 ES2363346 T3 ES 2363346T3 ES 05731220 T ES05731220 T ES 05731220T ES 05731220 T ES05731220 T ES 05731220T ES 2363346 T3 ES2363346 T3 ES 2363346T3
- Authority
- ES
- Spain
- Prior art keywords
- channel
- channels
- base
- pairs
- correlated
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000002596 correlated effect Effects 0.000 claims abstract description 42
- 230000005236 sound signal Effects 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 30
- 238000005192 partition Methods 0.000 claims description 28
- 230000000875 corresponding effect Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 15
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000000903 blocking effect Effects 0.000 abstract description 2
- 230000003044 adaptive effect Effects 0.000 description 28
- 238000013139 quantization Methods 0.000 description 22
- 238000007906 compression Methods 0.000 description 20
- 230000006835 compression Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000011218 segmentation Effects 0.000 description 13
- 230000002441 reversible effect Effects 0.000 description 10
- 238000013459 approach Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 241000209094 Oryza Species 0.000 description 6
- 235000007164 Oryza sativa Nutrition 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 235000009566 rice Nutrition 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000006837 decompression Effects 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000032258 transport Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000006677 Appel reaction Methods 0.000 description 1
- 241000282693 Cercopithecidae Species 0.000 description 1
- 241000122235 Junco hyemalis Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012432 intermediate storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009022 nonlinear effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 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
-
- 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/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- 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/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
Abstract
Un método para codificar sin pérdidas datos de audio de PCM, que comprende: poner en bloques la señal de audio multicanal en tramas de igual tiempo de duración; procesar la señal de audio multicanal para ordenar los canales en pares incluyendo un canal base y un canal correlado; en el que los dos canales más correlados forman un primer par y así sucesivamente hasta que se agotan los canales, si queda un canal impar este forma un canal base; determinar una estimación de correlación cruzada de retardo cero para los pares de canales; determinar una estimación de auto-correlación de retardo cero del canal base; procesar el orden de los pares de canales para determinar un coeficiente de des-correlación dividiendo la estimación de correlación cruzada de retardo cero por la estimación de auto-correlación de retardo cero del canal base; generar un canal descorrelado para cada uno de los pares de canales para formar al menos un triplete (base, correlado, descorrelado), en el que el canal descorrelado se genera multiplicando el canal base por el coeficiente de des-correlación y restando el resultado del canal correlado; seleccionar los parámetros de codificación en base a las combinaciones posibles de pares de canales de dichos canales base y correlado y dichos canales base y descorrelado; seleccionar pares de canales (base, correlado) o (base, descorrelado) extraídos de cada uno de dichos tripletes; codificar la entropía de cada uno de los canales en los pares seleccionados de acuerdo con los parámetros de codificación; y empaquetar los datos de audio codificados en un flujo de bits.
Description
La presente solicitud reivindica el beneficio de prioridad bajo 35 U.S.C. 119(e) para la Solicitud Provisional de los Estados Unidos Nº 60/566.183 titulada "Códec de Audio Sin Perdidas Compatible con Versiones Anteriores" presentada el 25 de Marzo de 2004.
Antecedentes de la Invención
Esta invención se refiere a los códec de audio sin pérdida y más especialmente a un códec de audio multi-canal sin pérdidas con funcionamiento mejorado de la compresión.
Actualmente están en uso varios sistemas de codificación de audio de baja tasa de bits con pérdidas en un amplio intervalo de consumidores y productos y servicios de reproducción de audio profesional. Por ejemplo, el sistema de codificación de audio Dolby AC3 (Dolby digital) es una normativa de nivel internacional para la codificación en estéreo y pistas de sonido de audio de canal 5.1 para Discos Láser, video DVD con codificación NTSC, y ATV, usando tasas de bits de hasta 640 Kbtis/s. Las normativas de codificación de audio MPEG I y MPEG II, se usan ampliamente para la codificación de pistas de sonido estéreo y multicanal para video DVD con codificación PAL, difusión de radio digital terrestre en Europa y difusión por Satélite en los Estados Unidos a tasas de bit de hasta 768 Kbit/s. El sistema de codificación de audio Acústico Coherente (Sistemas de Teatro Digital) DTS se usa frecuentemente para pistas de sonido de audio de canal de calidad de estudio 5.1 para Disco Compacto, video de DVD, Difusión de Satélite en Europa y Disco Láser y tasas de bits de hasta 1536 Kbit/s.
Recientemente, muchos consumidores han mostrado interés en los llamados códec "sin perdidas". Los códec "sin perdidas" descansan en algoritmos que comprimen los datos sin descartar ninguna información y producen una señal decodificada que es idéntica que la señal fuente (digitalizada). Este funcionamiento tiene un coste: tales códec típicamente requieren más ancho de banda que los códec con pérdidas, y comprimen los datos en un menor grado.
La Figura 1 es una representación de un diagrama de bloques de las operaciones involucradas en la compresión sin pérdidas de un único canal de audio. Aunque los canales en el audio multi-canal no son generalmente independientes, la dependencia a menudo es débil y difícil de tener en cuenta. Por lo tanto, los canales se comprimen típicamente de forma separada. Sin embargo, algunos codificadores intentarán eliminar la correlación formando una señal residual única y codificando (Canal1, Canal1-Canal2). Enfoques más sofisticados toman, por ejemplo, varias etapas sucesivas de proyección ortogonal sobre la dimensión de canal. Todas las técnicas están basadas en el principio de eliminar en primer lugar la redundancia de la señal y a continuación codificar la señal resultante con un esquema de codificación digital eficaz. Los códec sin pérdida incluyen el MPL (DVD de Audio), audio de Monkey (aplicaciones de ordenadores), sin pérdidas de Appel, Windows Media Pro sin pérdidas, AudioPack, DVD, LTAC, MUSICcompress, OggSquish, Philips, Shorten, Sonarc y WA. Una revisión de muchos de estos códec se proporciona en el documento de "Compresión sin Pérdidas de Audio Digital" de Mat Hans, Ronald Schafer, Hewlett Packard, 1999.
El entramado 10 se introduce para proporcionar la facilidad de edición, el volumen total de datos prohíbe la descompresión repetitiva de toda la señal que precede a la región a editar. La señal de audio se divide en tramas independientes de igual tiempo de duración. Esta duración debería no ser demasiado corta, ya que puede resultar un control significativo de la cabecera que se prefija para cada una de las tramas. Por el contrario, la duración de trama no debería ser demasiado larga, ya que esto limitaría la adaptabilidad temporal y haría la edición más difícil. En muchas aplicaciones, el tamaño de la trama está restringido por la tasa de bit de pico del medio sobre el cual se transfiere el audio, la capacidad de almacenamiento intermedio del decodificador y el deseo de que cada una de las tramas sea decodificable independientemente.
La des-correlación intra-canal 12 elimina la redundancia des-correlando las muestras de audio en cada uno de los canales dentro de una trama. La mayor parte de los algoritmos eliminan la redundancia por algún tipo de modelado predictivo lineal de la señal. En este enfoque, se aplica una predictor lineal a las muestras de audio en cada una de las tramas dando por resultado una secuencia de predicción de muestras de error. Un segundo enfoque, menos común, es obtener una representación cuantizada de baja tasa de bits o una representación con pérdidas de la señal, y a continuación comprimir sin pérdidas la diferencia entre la versión con pérdidas y la versión original. La codificación de entropía 14 elimina la redundancia de error de la señal residual sin perder ninguna información. Métodos típicos incluyen la codificación de Huffman, la codificación de longitud de carrera y la codificación Rice. La salida es una señal comprimida que se puede reconstruir sin pérdidas.
La especificación de DVD existente y la especificación preliminar de DVD HD fija un límite hardware sobre el tamaño de una unidad de acceso de datos, que representa una parte del flujo de audio que una vez extraída puede decodificarse totalmente y enviarse las muestras de audio reconstruidas a las memorias intermedias de salida. Lo que esto significa para un flujo sin pérdidas es que la cantidad de tiempo que cada una de las unidades de acceso puede representar tiene que ser suficientemente pequeña para que en el peor caso de la tasa de bit de pico, la carga de datos codificados no exceda el límite hardware. El tiempo de duración debe ser también reducido para tasas de muestreo incrementadas y un número de canales incrementado, lo cual aumenta la tasa de bits de pico.
Para asegurar la compatibilidad, estos códec existentes tendrán que fijar la duración de toda la trama para que sea lo suficientemente corta para que no exceda el límite hardware en el peor caso de configuración de canal /frecuencia de muestreo /ancho de bit. En la mayor parte de las configuraciones, esto será excesivo y puede degradar el funcionamiento de la compresión. Además, este enfoque del peor caso no se adapta bien con canales adicionales.
Un artículo de LIEBCHEN T y otros titulado "MPEG-4 ALS: una normativa emergente para la codificación de audio sin pérdidas" (CONFERENCIA DE COMPRESIÓN DE DATOS, 2004. PROCEDIMIENTOS. DCC 2004 SNOWBIRD, UT, ESTADOS UNIDOS, 23-25 de Marzo de 2004, PISCATAWAY, NJ, ESTADOS UNIDOS, IEEE, 23 de Marzo de 2004 (23-03-2004), páginas 439-448, el documento XP010692571 ISBN: 978-0-7695-2082-7) proporciona una breve visión general de una normativa emergente para la codificación de audio sin pérdidas, MPEG-4 ALS. Se realiza una comparación entre la normativa emergente y el estado la técnica de los algoritmos para la compresión de audio sin pérdidas.
El documento WO 00/74038 A revela un método y un sistema para la reducción de las discontinuidades de bloques inducidas por la cuantización que se presentan de la comprensión con pérdidas y la descompresión de señales continuas, especialmente las señales de audio. Una realización abarca un algoritmo de códec de audio eficaz de propósito general, de ultra baja latencia. La invención incluye un método y un aparato para la compresión y descompresión de señales de audio usando un análisis de fronteras y síntesis de estructura para reducir sustancialmente la trama inducida por cuantización o discontinuidad de bloque; una transformada de paquetes de coseno adaptativo (ACPT) como la transformada de elegir capturar eficazmente las características de audio de entrada; un clasificador de señal residual para separar los grupos de señal fuerte del ruido y las componentes de señal débil (llamadas colectivamente residuo); un algoritmo de cuantización de vectores dispersos adaptativa (ASVQ) para componentes de señal, un modelo de ruido estocástico para el residuo; y un algoritmo de control de tasa asociado. La invención incluye además las implementaciones del programa de ordenador correspondiente de estos y otros algoritmos.
Otro artículo de LIEBCHEN T se titula "Codificación de Audio Sin Perdidas usando Predicción Multicanal Adaptativa"(CITACIÓN DE INTERNET, [En Línea] del 5 de Octubre de 2002 (05-10-2002), documento XP002466533). Enseña cómo puede extenderse la predicción convencional (mono), para la codificación de audio sin pérdidas a la predicción estéreo y multicanal para mejorar la eficacia de la compresión. Se dan los resultados para las grabaciones en estéreo y multicanal.
La presente invención de acuerdo con la reivindicación 1 proporciona un códec de audio sin pérdidas en el cual se optimiza el funcionamiento de la compresión para una restricción del tamaño máximo sobre cada una de las unidades de datos decodificable independientemente.
El códec de la señal de audio sin perdidas segmenta los datos de audio dentro de cada una de las tramas para mejorar el funcionamiento de la compresión sujeta a la restricción de que cada uno de los segmentos debe ser totalmente decodificable y menor que un tamaño máximo. Para cada una de las tramas, el códec selecciona la duración del segmento y los parámetros de codificación, por ejemplo, un codificador de entropía particular y sus parámetros para cada uno de los segmentos, que minimiza la carga de datos codificada para toda la trama sujeta a las restricciones. Pueden seleccionarse distintos conjuntos parámetros de codificación para cada uno de los canales
o puede seleccionarse un conjunto global de parámetros de codificación para todos los canales. El funcionamiento de la compresión puede mejorarse adicionalmente formando M/2 canales de des-correlación para M canales de audio. El triplete de canales (base, correlado, descorrelado) proporciona dos posibles pares de combinaciones (base, correlado) y (base, descorrelado) que pueden considerarse durante la segmentación y la optimización de la codificación de entropía para mejorar adicionalmente el funcionamiento de la compresión. Los pares de canales pueden especificarse por segmentos o por trama.
En una realización de ejemplo, el codificador encuadra los datos de audio y a continuación extrae pares de canales ordenados incluyendo un canal base y un canal correlado y genera un canal descorrelado para formar al menos un triplete (base, correlado, descorrelado). Si el número de canales es impar, se procesa un canal base extra. La predicción de polinomios fijos o adaptativos se aplica a cada uno de los canales para formar las señales residuales.
El codificador determina la duración del segmento, los pares de canales (base, correlado) o (base, descorrelado) para la trama y los conjuntos de parámetros de codificación (selección de código de entropía y parámetros) para cada uno de los segmentos por la primera partición de la trama en un número máximo de segmentos de duración mínima. Los parámetros de codificación óptima para la partición actual se determinan calculando los parámetros para uno o más codificadores de entropía (Binario, Rice, Huffman, etc.) y seleccionando el codificador y los parámetros con la carga de datos codificados más pequeña para cada uno de los canales (base, correlado, descorrelado) para cada uno de los segmentos. Para cada uno de los tripletes, se selecciona el par de canales (base, correlado) o (base, descorrelado) con la carga de datos codificados más pequeña. Usando el par de canales seleccionado, puede determinarse un conjunto global de parámetros de codificación para cada uno de los segmentos sobre todos los canales. El codificador selecciona el conjunto global o conjuntos distintos de parámetros de codificación en base a los cuales tiene la carga de datos codificados total más pequeña (cabecera y datos de audio).
Una vez que se ha determinado el conjunto óptimo de parámetros de codificación y los pares de canales para la partición actual, el codificador calcula la carga de datos codificados en cada uno de los segmentos a través de todos los canales. Asumiendo la restricción de que se satisface la restricción sobre el tamaño de segmento máximo, el codificador determina si la carga de datos codificados total para toda la trama para la partición actual es menor que la óptima actual para una partición anterior. Si es cierto, el conjunto actual de parámetros de codificación y carga de datos codificados se almacena y se aumenta la duración del segmento. Este proceso se repite hasta que el tamaño del segmento viola la restricción del tamaño máximo o la duración del segmento aumenta a la duración de trama. El codificador de entropía codifica (usando el codificador de entropía y los parámetros seleccionados) las señales residuales en cada uno de los canales de audio de los pares de canales seleccionados y todos los canales no pareados.
Estas y otras características y ventajas de la invención serán evidentes para los especialistas en la técnica a partir de la siguiente descripción detallada de las realizaciones preferidas, tomadas junto con los dibujos adjuntos, en los que:
La FIG. 1, como se ha descrito anteriormente, es un diagrama de bloques para un codificador de audio normalizado
sin pérdidas;
las FIG. 2a y 2b son diagramas de bloques de un codificador y decodificador de audio sin pérdidas, respectivamente,
de acuerdo con la presente invención;
la FIG. 3 es un diagrama de la información de cabecera como se relaciona con la segmentación y la selección de
código de entropía;
las FIG. 4a y 4b son diagramas de bloques del procesamiento de análisis de ventana y el procesamiento de análisis
de ventana inverso;
la FIG. 5 es un diagrama de flujo de la des-correlación cruzada de canales;
las FIG. 6a y 6b son diagramas de bloque del análisis y procesamiento de la predicción adaptativa y el
procesamiento de la predicción adaptativa inversa;
las FIG. 7a y 7b son diagramas de flujo de una segmentación óptima y la selección del código de entropía;
las FIG. 8a y 8b son diagramas de flujo de la selección de código de entropía para un conjunto de canales; y
las FIG. 9a y 9b son diagramas de bloques de un núcleo más un códec de extensión sin pérdidas.
La presente invención proporciona un códec de audio sin pérdidas en el cual el funcionamiento de la compresión está optimizado sometido a la restricción de tamaño máximo sobre cada una de las unidades de datos decodificable independientemente. El codificador de audio se adapta a medida que continúa creciendo el número de canales en una señal de audio multicanal.
Como se muestra en las Figuras 2a y 2b, los bloques funcionales esenciales son similares a los codificadores y los decodificadores sin pérdidas existentes con la excepción de la selección de la segmentación y del código de entropía. La señal de audio de PCM multicanal 20 está sujeta al procesamiento de análisis de ventana 22, que bloquea los datos en tramas de una duración constante y elimina la redundancia des-correlando las muestras de audio en cada uno de los canales dentro de una trama. En lugar de codificar la entropía de las señales residuales directamente, la presente invención realiza una segmentación óptima y un proceso de selección de código de entropía 24 que segmenta los datos en una pluralidad de segmentos y determina la duración del segmento y los parámetros de codificación, por ejemplo, la selección de un codificador de entropía particular y sus parámetros, para cada uno de los segmentos que minimiza la carga de datos codificados para toda la trama sujeta a la restricción de que cada una de los segmentos debe ser totalmente decodificable y menor que el tamaño máximo. Los conjuntos de parámetros de codificación están optimizados para cada uno de los distintos canales y pueden optimizarse para un conjunto global de parámetros de codificación. Cada uno de los segmentos se codifica de entropía a continuación 26 de acuerdo con su conjunto particular de parámetros de codificación. Los datos codificados y la información de cabecera se empaquetan 28 en un flujo de bits 30.
Como se muestra en la Figura 3, la cabecera 32 incluye información adicional además de la que se proporciona normalmente para un códec sin pérdidas para implementar la segmentación y selección de código de entropía. Más específicamente, la cabecera incluye una información de cabecera común 34 tal como el número de segmentos (NúmSegmentos) y el número de muestras en cada uno de los segmentos.
El (NúmMuestrEnSegmento), la información de cabecera del conjunto de canales 36 tal como los coeficientes de des-correlación cuantizados (CuantCanalDecorrCoef [][]) y la información de cabecera de segmento 38 tal como el número de bytes en el segmento actual para el conjunto de canales (CanalConjByteCons), un indicador de optimización global (TodosCanalesIgualParámInd) y los indicadores del codificador de entropía (RiceCodifInd [], CodifParám []) que indica si se usa una codificación Rice o Binaria y los parámetros de codificación.
Como se muestra en la Figura 2b, para realizar la operación de decodificación el flujo de bits 30 se desempaqueta 40 para extraer la información de cabecera y los datos codificados. Una decodificación de entropía 42 se realiza sobre cada uno de los segmentos de cada uno de los canales de acuerdo con los parámetros de codificación asignados para reconstruir sin pérdidas las señales residuales. Estas señales se sujetan a continuación al procesamiento de análisis de ventana inverso 44, que realiza la predicción inversa para reconstruir sin pérdidas la señal de audio PCM original 20.
Como se muestra en las Figuras 4a y 4b, una realización de ejemplo de un procesamiento de análisis de ventana 22 selecciona bien la predicción adaptativa 46 o la predicción de polinomios fijos 48 para descorrelar cada uno de los canales, que es un enfoque bastante común. Como se describirá en detalle con referencia a la Figura 6, se estima el orden del predictor óptimo para cada uno de los canales. Si el orden es mayor que cero, se aplica la predicción adaptativa. De otro modo se usa la predicción de polinomios fijos más simple. De forma similar, en el decodificador el procesamiento de análisis de ventana inverso 44 selecciona bien la predicción adaptativa inversa 50 o la predicción de polinomios fijos inversa 52 para reconstruir la señal de audio de PCM a partir de las señales residuales. Los órdenes del predictor adaptativo y los índices de coeficientes de predicción adaptativa y los órdenes del predictor fijados se empaquetan 53 en la información de cabecera del conjunto de canales.
Des-correlación Cruzada de Canales
De acuerdo con la presente invención, el funcionamiento de la descompresión puede mejorarse adicionalmente implementando la des-correlación cruzada de los canales 54, que ordena los M canales de entrada en pares de canales de acuerdo con la medida de la correlación entre los canales. Uno de los canales se designa como el canal "base" y el otro se designa como canal "correlado". Se genera un canal descorrelado para cada uno de los pares de canales para formar un "triplete" (base, correlado, descorrelado). La formación del triplete proporciona dos posibles pares de combinaciones (base, correlado) y (base, descorrelado) que pueden considerarse durante la segmentación y la optimización de la codificación de entropía para un funcionamiento de la compresión mejorado adicionalmente (véase la Figura 8a). Un enfoque más simple pero menos efectivo sería reemplazar el canal correlado con el canal descorrelado si, por ejemplo, su varianza fuese más pequeña.
El PCM original de M canales y el PCM de M/2 canales descorrelados 56 se retransmiten ambos para la predicción adaptativa y las operaciones de predicción de polinomios fijos, lo cual genera señales residuales para cada uno de los canales. Como se muestra en la Figura 3, los índices (OrigCanalOrden []) que indican el orden original de los canales antes de la clasificación realizada durante el proceso de des-correlación orientada a pares y el indicador PWCanalDescorrInd [] para cada uno de los pares de canales indicando la presencia de un código para los coeficientes de des-correlación cuantizada se almacenan en la cabecera del conjunto de canales 36 en la Figura 3.
Como se muestra en la Figura 4b, para realizar la operación de decodificación del procesamiento de análisis de ventana inverso 44 la información de la cabecera se desempaqueta 58 y los residuos se pasan a través de la predicción de polinomios fijos inversa 52 o la predicción adaptativa inversa 50 de acuerdo con la información de cabecera, a saber los órdenes del predictor adaptativo y fijo para cada uno de los canales. La señal de audio de PCM de M canales descorrelados (M/2 canales se descartan durante la segmentación) se pasa a través de la des-correlación cruzada de los canales inversa 60, que lee los índices OrigCanalOrden[] y el indicador PWCanalDescorrInd [] desde la cabecera del conjunto de canales y reconstruye sin pérdidas la señal de audio de PCM de M canales 20.
Un proceso de ejemplo para la realización de la des-correlación cruzada de canales 54 se ilustra en la Figura 5. A modo de ejemplo, la señal de audio de PCM se proporciona como M=6 canales distintos, L, R, C, Ls, Rs, y LFE, que también corresponden directamente a una configuración del conjunto de canales almacenada en la trama. Otros conjuntos de canales pueden ser, por ejemplo, el entorno posterior a la izquierda del centro y el entorno posterior a la derecha del centro para producir la señal de audio del entorno 7.1. El proceso comienza arrancando un bucle de trama y arrancando un bucle del conjunto de canales (etapa 70). Se calculan la estimación de la auto-correlación de retardo cero para cada uno de los canales (etapa 72) y la estimación de correlación cruzada de retardo cero para todas las combinaciones posibles de pares de canales en el conjunto de canales (etapa 74). A continuación, se estiman los coeficientes de correlación orientada a pares de canales CORCOEF como la estimación de correlación cruzada de retardo cero divididos por el producto de las estimaciones de auto-correlación de retardo cero para los canales involucrados en el par (etapa 76). Los CORCOEF se almacenan desde el mayor valor absoluto al más pequeño y se almacenan en una tabla (etapa 78). Comenzando desde la parte superior de la tabla, se extraen los índices de pares de canales correspondientes hasta que se han configurado todos los pares (etapa 80). Por ejemplo, los 6 canales pueden parearse en base a sus CORCOEF como (L, R), (Ls, Rs) y (C, LFE).
El proceso arranca un bucle de pares de canales (etapa 82), y selecciona un canal "base" como el canal con la estimación más pequeña de auto-correlación de retardo cero, que es indicativa de una energía más baja (etapa 84). En este ejemplo, los canales L, Ls y C forman los canales base. El coeficiente de des-correlación del par de canales (CanalParDescorrCoef) se calcula como la estimación de correlación cruzada de retardo cero dividida por la estimación de auto-correlación de retardo cero del canal base (etapa 86). El canal descorrelado se genera multiplicando las muestras del canal base por el CanalParDescorrCoef y restando el resultado de las muestras correspondientes del canal correlado (etapa 88). Los pares de canales y su canales descorrelados asociados definen "tripletes" (L, R, R-CanalParDescorrCoef[1]*L), (Ls, Rs, Rs-CanalParDescorrCoef[2]*Ls), (C, LFE, LFE-CanalParDescorrCoef[3]*C) (etapa 89). El CanalParDescorrCoef [] para cada uno de los pares de canales (y cada uno de los conjuntos de canales) y los índices de canal que definen la configuración de pares se almacenan en la información de la cabecera del conjunto de canales (etapa 90). Este proceso se repite para cada uno de los conjuntos de canales en una trama y a continuación para cada una de las tramas en la señal de audio de PCM en la ventana (etapa 92).
Predicción adaptativa
La predicción lineal intenta eliminar la correlación entre las muestras de una señal de audio. El principio básico de la predicción lineal es predecir un valor de una muestra imagen1
s(n) usando las muestras anteriores s(n-1), s(n-2), … imagen1
y restar el valor predicho
(n) de la muestra original s(n). La señal residual resultante e(n) = s(n) +
(n) idealmente estará descorrelada y consecuentemente tendrá un espectro de frecuencias plano. Además, la señal residual tendrá una varianza más pequeña implicando entonces que la señal original que serán necesarios menos bits para su representación digital.
En una realización de ejemplo de un códec de audio, se describe un modelo predictor de FIR por la siguiente ecuación:
donde Q{} denota la operación de cuantización, M denota el orden del predictor y ak son coeficientes de la predicción cuantizada. Una cuantización particular Q{} es necesaria para una compresión con pérdidas ya que la señal original se reconstruye sobre el lado de decodificación, usando diversas arquitecturas de procesador de precisión finita. La definición de Q{} está disponible tanto para el codificador como el decodificador y la reconstrucción de la señal original se obtienen simplemente por:
donde se asume que están disponibles los mismos coeficientes de predicción cuantizada ak tanto para el codificador como el decodificador. Se transmite un nuevo conjunto de parámetros del predictor por cada una de las ventanas de análisis (trama) permitiendo al predictor adaptarse a la estructura de la señal de audio variable con el tiempo.
Los coeficientes de predicción están diseñados para minimizar los residuos de la predicción de mínimos cuadrados. La cuantización Q{} hace del predictor un predictor no lineal. Sin embargo en la realización de ejemplo la cuantización se hace con una precisión de 24 bits y es razonable asumir que los efectos no lineales resultantes pueden ignorarse durante la optimización de coeficientes del predictor. Ignorando la cuantización Q{}, el problema de optimización subyacente puede representarse como un conjunto de ecuaciones lineales que involucran los retardos de la secuencia de auto-correlación de la señal y los coeficientes del predictor desconocidos. Este conjunto de ecuaciones lineales puede resolverse de forma eficaz usando el algoritmo de Levinson-Durbin (LD).
Los coeficientes de predicción lineal resultantes (LPC) necesitan cuantizarse, de este modo pueden transmitirse de forma eficaz en un flujo codificado. Desafortunadamente la cuantización directa de los LPC no es el enfoque más eficaz ya que los pequeños errores de cuantización pueden causar grandes errores espectrales. Una representación alternativa de los LPC es la representación de coeficientes de reflexión (RC), que exhibe menos sensibilidad a los errores de cuantización. Esta representación también puede obtenerse a partir del algoritmo LD. Por definición del algoritmo LD, está garantizado que los RC tienen una magnitud está garantizado que tienen una magnitud ≤ 1
5 (ignorando los errores numéricos). Cuando el valor absoluto de los RC está próximo a 1 la sensibilidad de la predicción lineal para los errores de cuantización presentes en los RC cuantizados se hacen altos. La solución es realizar una quantización no uniforme de los RC con etapas de cuantización más finas alrededor de la unidad. Esto se consigue en dos etapas:
10 1) transformar los RC a una representación de proporciones de log de área (LAR) por medio de la función de mapeo
donde log representa el logaritmo en base natural. 15 2) cuantizar uniformemente las LAR
La transformación de RC → LAR deforma la escala de amplitud de los parámetros de modo que el resultado de las etapas 1 y 2 es equivalente a la cuantización no uniforme con etapas de cuantización más finas alrededor de la 20 unidad.
Como se muestra en la Figura 6a, en una realización de ejemplo de un análisis de predicción adaptativa los parámetros de LAR cuantizados se usan para representar parámetros de predictor adaptativo y transmitidos en el flujo de bits codificados. Las muestras en cada uno de los canales de entrada se procesan independientemente
25 entre sí y en consecuencia la descripción sólo considerará el procesamiento en un canal único.
La primera etapa es calcular la secuencia de auto-correlación sobre la duración de la ventana de análisis (trama) (etapa 100). Para minimizar los efectos de bloqueo que se causan por las discontinuidades en las fronteras de trama, los datos en primer lugar se ajustan en ventanas. La secuencia de autocorrección para un número
30 especificado (igual a un orden de LP máximo +1) de retardos se estima a partir del bloque de datos ajustado a ventana.
El algoritmo de Levinson-Durbin (LD) se aplica al conjunto de retardos de auto-correlación estimados y se calcula el conjunto de coeficientes de reflexión (RC), hasta el orden de LP máximo, (etapa 102). Un resultado intermedio del
35 algoritmo de (LD) es un conjunto de varianzas estimadas de residuos de predicción para cada uno de los órdenes de predicción lineal hasta el orden de LP máximo. En el siguiente bloque, usando este conjunto de varianzas residuales, se selecciona el orden del predictor lineal (PrOr) (etapa 104).
Para el orden del predictor seleccionado se transforma el conjunto de coeficientes de reflexión (RC), al conjunto de 40 parámetros de proporción de área-log (LAR) usando la función de mapeo establecida anteriormente (etapa 106). Se
donde Umbral denota un número próximo pero menor que 1. Los parámetros de LAR se cuantizan (etapa 108) de 45 acuerdo con la siguiente norma:
donde QLARInd denota los índices LAR cuantizados, [x] indica la operación de encontrar el mayor valor de número entero menor o igual que x y q denota el tamaño de la etapa de cuantización. En la realización de ejemplo, la región 50 [-8 a 8] se codifica usando 8 bits, es decir q = (2 * 8) / 28 y en consecuencia QLARInd se limita de acuerdo con:
Antes de empaquetar (etapa 110), QLARInd se traduce de valores con signo a valores sin signo usando el siguiente mapeo
En el bloque "RC LUT", se realizan una cuantización inversa de parámetros LAR y una traducción a parámetros RC en una etapa simple usando una tabla de búsqueda (etapa 112). La tabla de búsqueda consiste de valores cuantizados del mapeo inverso de RC → LAR, es decir el mapeo LAR → RC dado por:
La tabla de búsqueda se calcula en valores cuantizados de LAR iguales a 0, 1,5*q, 2,5*q,… 127,5*q. Los valores correspondientes de RC, después de poner a escala por 216, se redondean a números enteros sin signo de 16 bits y se almacenan como números de punto fijo sin signo Q16 en una tabla de 128 entradas.
Los parámetros cuantizados de RC se calculan a partir de la tabla y los índices LAR de cuantización QLARInd como
Los parámetros de RC cuantizados QRCord para ord = 1, … PrOr se traducen a los parámetros de predicción lineal cuantizados (LPord para ord = 1, …PrOr) de acuerdo con el siguiente algoritmo (etapa 114):
Para ord = 0 a PrOr – 1 hacer
Para m = 1 a ord hacer
Cord+1, m = Cord, m + (QRCord +1 * Cord, ord +1 – m + (1� 15)) � 16
fin
Cord + 1, ord +1= QRCord + 1
fin
Para ord = 0 a PrOr – 1 hacer
LPord + 1 = CPrOr, ord +1
fin
Como los coeficientes de RC cuantizados se representaron en un formato de punto fijo con signo Q16 el algoritmo anterior generará coeficientes LP también en el formato de punto fijo con signo Q16. La trayectoria de cálculo del decodificador sin pérdidas se diseña para soportar resultados intermedios de hasta 24 bits. Por lo tanto es necesario realizar una comprobación de saturación después de que se calcula cada Cord + 1, m. Si se produce la saturación en cualquier etapa del algoritmo, se fija el indicador de saturación y el orden del predictor adaptativo PrOr, para un canal particular se pone a cero (etapa 116). Para este canal particular con PrOr = 0 se realizará una predicción de coeficientes fijos en lugar de una predicción adaptativa (véase la Predicción de Coeficientes Fijos). Obsérvese que los índices de cuantización de LAR sin signo (PackLARInd [n] para n = 1, …PrOr[Ch] se empaquetan dentro del flujo codificado sólo para los canales con PrOr[Canal] > 0.
Finalmente se realiza la predicción lineal adaptativa para cada uno de los canales con PrOr > 0 y se calculan los
Límite e(n) para 24 – intervalo de bits (-223 a 223 –1)
para n = PrOr +1, … NúmMuestEnTrama
Como el objetivo del diseño en la realización de ejemplo es que cada trama sea un "punto de acceso aleatorio", la historia de las muestras no se transporta entre las tramas. En cambio la predicción se ocupa sólo en la muestra PrOr
+ 1 en la trama.
Los residuos de la predicción adaptativa e(n) se codifican además en entropía y se empaquetan dentro del flujo de bits codificados.
5 Del lado de la decodificación, la primera etapa en la realización de la predicción adaptativa inversa es desempaquetar la información de la cabecera y extraer los órdenes de predicción adaptativa PrOr[Canal] para cada uno de los canales Canal=1, … NúmCanales (etapa 120). A continuación para los canales con PrOr[Canal]>0, se extrae la versión sin signo de los índices de cuantización de LAR (PackLARInd[n] para n=1, …PrOr[Canal]. Para
10 cada uno de los canales con orden de predicción PrOr[Canal]>0 se mapean los PackLARInd[n] a valores con signo QLARInd[n] usando el siguiente mapeo:
donde el símbolo � denota una operación de desplazamiento a la derecha de un número entero.
20 Se realiza una cuantización inversa de los parámetros LAR y una traducción a los parámetros RC en una única etapa usando una cuantificación de RC LUT (etapa 122). Esta es la misma tabla de búsqueda que TABLA{} como se define en el lado del codificador. Los coeficientes de reflexión cuantizados para cada uno de los canales (QRC[n] para n=1, …PrOr[Canal] se calculan a partir de la TABLA{} y los índices LAR de cuantización QLARInd[n], como
para n =1, …, PrOr[Canal]
30 Para cada uno de los canales, los parámetros de RC cuantizados QRCord para ord =1, …PrOr[Canal] se traducen a parámetros de predicción lineal cuantizados (LPord para ord =1, … PrOr[Canal] de acuerdo con el siguiente algoritmo (etapa 124):
35 Para ord = 0 a PrOr –1hacer Para m = 1 a ord hacer Cord+1, m = Cord, m + (QRCord+1 * Cord, ord+1-m + (1 << 15)) >>16 fin Cord+1, ord+1 = QRCord + 1 40 fin Para ord = 0 a PrOr – 1 hacer
LPord + 1 = CPrOr, ord +1
fin
45 Cualquier posibilidad de saturación de los resultados intermedios se elimina sobre el lado de la codificación. Por lo tanto sobre el lado de la decodificación no hay ninguna necesidad de realizar la comprobación de saturación después del calculo de cada uno de los Cord + 1, m.
Finalmente para cada uno de los canales con PrOr[Canal] > 0 se realiza una predicción lineal adaptativa inversa 50 (etapa 126). Asumiendo que los residuos de predicción e(n) se extraen previamente y se decodifica la entropía, las señales originales reconstruidas s(n) se calculan de acuerdo con las siguientes ecuaciones:
para n = PrOr[Canal] + 1, … NúnMuestEnTrama
55 Como la historia de las muestras no se mantiene dentro de las tramas la predicción adaptativa inversa comenzará desde la muestra (PrOr[Canal] + 1) en la trama.
Predicción de coeficientes fijos Una forma muy simple de coeficientes fijos del predictor lineal se ha encontrado que es útil. Los coeficientes de la predicción fija se deducen de acuerdo con un método de aproximación de polinomios muy simple propuesto en primer lugar por Shorten (T. Robinson. SHORTEN: Simple comprensión de la forma de onda sin pérdidas y casi sin pérdidas. Informe técnico 156. Universidad de Cambridge Departamento de Ingeniería, Calle Trumpington, Cambridge CB2 1PZ, Reino Unido, Diciembre de 1994). En este caso los coeficientes de predicción son los especificados fijando un polinomio de orden p para los últimos p puntos de datos. Expandiendo sobre cuatro aproximaciones
2[n] = 2s [n –1] – s [n –2]
3[n] = 3s [n –1] –3s [n –2] + s [n –3]
Una propiedad interesante de estas aproximaciones de polinomios es que la señal residual resultante ek[n]=s[n]--imagen1
k
[n] puede implementarse de modo eficaz en el siguiente modo recursivo.
e0[n] = s [n]
e1[n] = e0[n] -e0[n-1]
e2[n] = e1[n] – e1[n -1]
e3[n] = e2[n] – e2[n -1]
El análisis de predicción de coeficientes fijos se aplica sobre la base de trama por trama y no descansa sobre muestras calculadas anterior (ek [-1] = 0). El conjunto residual con la magnitud de la suma más pequeña sobre toda la trama se define como la mejor aproximación. El orden residual óptimo se calcula para cada uno de los canales separadamente y se empaqueta dentro del flujo como el Orden de Predicción Fijo (FPO[Canal]). Los residuos eFPO[Canal]) en la trama actual se codifica la entropía adicionalmente y se empaqueta dentro del flujo.
El proceso de predicción de coeficientes fijos inverso, del lado del decodificador, se defina por una fórmula recursiva de orden para el cálculo del residuo de orden k en el ejemplo de muestreo n:
ek[n] = ek+1 [n] + ek [n-1]
donde la señal original deseada s[n] viene dada por
s[n] = e0[n]
y donde para cada uno de los residuos de orden k ek[-1] = 0
como ejemplo se presentan las repeticiones para la predicción de coeficientes fijos de tercer orden donde los residuos e3[n] se codifican, se transmiten en el flujo y se desempaquetan del lado del decodificador:
e2 [n]= e3 [n] + e2 [n -1]
e1 [n] = e2 [n] + e1 [n -1]
e0 [n] = e1 [n] + eo [n -1]
s [n] = e0 [n]
Una realización de ejemplo de la segmentación y la selección del código de entropía 24 se ilustra en las Figuras 7 y
8. Para establecer la duración óptima de un segmento, los parámetros de codificación (selección del código de entropía y parámetros) y pares de canales, se determinan los parámetros de codificación y los pares de canales para una pluralidad de duraciones de segmentos diferentes y de entre esos candidatos se selecciona el que tiene la carga de datos codificados mínima por trama que satisface las restricciones que cada uno de los segmentos debe ser decodificable independientemente y no exceder un tamaño máximo. La segmentación "óptima", los parámetros de codificación y los pares de canales son por supuesto objeto de las restricciones del proceso de codificación así como las restricciones sobre el tamaño del segmento. Por ejemplo, en el proceso de ejemplo, el tiempo de duración de todos los segmentos en la trama es igual, la búsqueda de la duración óptima se realiza sobre una rejilla diádica, y la selección de pares de canales es válida sobre toda la trama. Al coste de la complejidad adicional del codificador y de bits de control, el tiempo de duración puede permitirse que varíe dentro de una trama, la búsqueda de la duración óptima podría resolverse de forma más fina y la selección del par de canales podría realizarse sobre la base de un segmento.
El proceso de ejemplo comienza inicializando los parámetros del segmento (etapa 150) tal como el número mínimo de muestras en un segmento, el tamaño máximo permitido de un segmento, el número máximo de segmentos y el número máximos de particiones. Por lo tanto, el procesamiento comienza un bucle de partición que se indexa desde 0 hasta el número máximo de particiones menos uno (etapa 152) e inicializa los parámetros de partición incluyendo el número de segmentos, el número de muestras en un segmento y el número de bytes consumidos en una partición (etapa 154). En esta realización particular, los segmentos son del mismo tiempo de duración y el número de segmentos escala como una potencia de dos con cada iteración de partición. El número de segmentos preferiblemente se inicializa al máximo, y por lo tanto el mínimo tiempo de duración. Sin embargo, el proceso podría usar segmentos de tiempo de duración variable, lo cual podría proporcionar una mejor compresión de los datos de audio pero a expensas de un control adicional. Además, el número de segmentos no tiene que limitarse a las potencias de dos o buscarse a partir de un mínimo a la duración máxima.
Una vez inicializado, el proceso arranca un bucle de un conjunto de canales (etapa 156) y determina los parámetros de codificación de entropía óptima y la selección del par de canales para cada uno de los segmentos y el consumo de los bytes correspondientes (etapa 158). Los parámetros de codificación PWCanalDecorrInd [][], TodosCanalesIgualParámInd [][], RiceCodificInd [][][], CodifParám [][][] y CanalConjByteCons [][] se almacenan (etapa 160). Esto se repita para cada uno del conjunto de canales hasta que termina el bucle del conjunto de canales (etapa 162).
El proceso comienza un bucle de segmento (etapa 164) y calcula el consumo de bytes (SegmByteCons) en cada uno de los segmentos sobre todos los conjuntos de canales (etapa 166) y actualiza el consumo de bytes (ByteConsEnPart) (etapa 168). En este punto, el tamaño del segmento se compara con la restricción del tamaño máximo (etapa 170). Si se viola la restricción se descarta la partición actual. Además, como el proceso comienza con la duración de tiempo más pequeña, una vez que el tamaño del segmento es demasiado grande el bucle de partición termina (etapa 172) y la mejor solución (tiempo de duración, pares de canales, parámetros de codificación) para ese punto se empaqueta dentro de la cabecera (etapa 174) y el proceso se mueve a la siguiente trama. Si la restricción falla sobre el tamaño mínimo del segmento (etapa 176), entonces el proceso termina e informa de un error (etapa 178) porque la restricción del tamaño máximo no puede satisfacerse. Asumiendo que la restricción se satisface, este proceso se repite para cada uno de los segmentos en la partición actual hasta que el bucle de segmento termina (etapa 180).
Una vez que el bucle de segmento se ha completado y se ha calculado el consumo de bytes para toda la trama como se representa por ByteConsEnPart, esta carga de datos se compara con la carga de datos mínima actual (MinByteEnPart) a partir de una iteración de partición anterior (182). Si la partición actual representa una mejora entonces la partición actual (PartInd) se almacena como la partición óptima (OptPartInd) y la carga de datos mínima se actualiza (etapa 184). Estos parámetros y los parámetros de codificación almacenados se almacenan a continuación como la solución óptima actual (etapa 186). Esto se repite hasta que el bucle de partición termina (etapa 172), en cuyo momento la información de segmentación y los parámetros de codificación se empaquetan en la cabecera (etapa 150) como se muestra en la Figura 3.
Una realización de ejemplo para la determinación de los parámetros de codificación óptimos y el consumo de bits asociado para un conjunto de canales para la partición actual (etapa 158) se ilustra en las Figuras 8a y 8b. El proceso arranca un bucle de segmento (etapa 190) y el bucle de canal (etapa 192) en el cual los canales para nuestro ejemplo son:
Canal 1: L;
Canal 2: R
Canal 3: R – CanalParDecorrCoef [1] * L
Canal 4: Ls
Canal 5: Rs
Canal 6: Rs – CanalParDecorrCoef [2] * Ls
Canal 7: C
Canal 8: LFE
Canal 9: LFE – CanalParDecorrCoef[3] * C
El proceso determina el tipo de código de entropía, el parámetro de codificación correspondiente y el consumo de bits correspondiente para los canales base y correlado (etapa 194). En este ejemplo, el proceso calcula los parámetros de codificación óptima para un código binario y un código Rice y a continuación selecciona el código con el menor consumo de bits para el canal y cada uno de los segmentos (etapa 196). En general, la optimización puede realizarse para uno, dos o más códigos de entropía posibles. Para los códigos binarios el número de bits se calcula a partir del valor absoluto máximo de todas las muestras en el segmento del canal actual. El parámetro de codificación Rice se calcula a partir del valor absoluto promedio de todas las muestras en el segmento del canal actual. En base a la selección, se fija el RiceCodifInd, se fija BitCons y se fija CodifParám para el NúmBitsBinario o el RiceKParám (etapa 198).
Si el canal actual que se está procesando es un canal correlado (etapa 200) entonces se repite la misma optimización para el canal descorrelado correspondiente (etapa 202), se selecciona el mejor código de entropía (etapa 204) y se fijan los parámetros de codificación (etapa 206). El proceso se repite hasta que el bucle de canal termina (etapa 208) y el bucle de segmento termina (etapa 210).
En este punto, se han determinado los parámetros de codificación óptima para cada uno de los segmentos y para cada uno de los canales. Estos parámetros de codificación y las cargas de datos podrían devolverse para los pares de canales (base, correlado) desde la señal de audio de PCM original. Sin embargo, el funcionamiento de la compresión puede mejorarse seleccionando entre los canales (base, correlado) y (base, descorrelado) en los tripletes.
Para determinar qué pares de canales (base, correlado) o (base, descorrelado) para los tres tripletes, se arranca un bucle de pares de canales (etapa 211) y se calcula la contribución de cada uno de los canales correlados (Canal 2, Canal 5 y Canal 8) y cada uno de los canales descorrelados (Canal 3, Canal 6 y Canal 9) para el consumo de bits de la trama global (etapa 212). Las contribuciones del consumo de la trama para cada uno de los canales correlados se compara frente a las contribuciones de consumo de la trama para los canales descorrelados correspondientes, es decir, Canal 2 para el Canal 3, Canal 5 para el Canal 6, y Canal 8 para el Canal 9 (etapa (214). Si la contribución para el canal descorrelado es mayor que el canal correlado, se fija PWCanalDecorrInd a falso (etapa 216). En caso contrario, el canal correlado se reemplaza por el canal descorrelado (etapa 218) y el PWCanalDecorrInd se fija verdadero y se configuran los pares de canales como (base, descorrelado) (etapa 220).
En base a estas comparaciones el algoritmo seleccionará:
- 1.
- El Canal 2 ó el Canal 3 como el canal que se emparejará con el canal base correspondiente Canal 1;
- 2.
- El Canal 5 ó el Canal 6 como el canal que se emparejará con el canal base correspondiente Canal 4; y
- 3.
- El Canal 8 ó el Canal 9 como el canal que se emparejará con el canal base correspondiente Canal 7;
Estas etapas se repiten para todos los pares de canales hasta que termina el bucle (etapa 222).
En este punto, se han determinado, los parámetros de codificación óptimos para cada uno de los segmentos y cada uno de los distintos canales y los pares de canales óptimos. Estos parámetros de codificación para cada uno de los distintos pares de canales y cargas de datos podrían devolverse al bucle de partición. Sin embargo, puede estar disponible un funcionamiento de compresión adicional calculando un conjunto de parámetros de codificación global para dada uno de los segmentos a través de todos los canales. A lo más, la porción de datos codificados de la carga de datos será del mismo tamaño que los parámetros de codificación optimizados para cada uno de los canales y lo más probable algo mayor. Sin embargo, la reducción en los bits de control puede más que la desviación de la eficacia de codificación de los datos.
Usando los mismos pares de canales, el proceso comienza un bucle de segmento (etapa 230), calcula los consumos de bits (CanalConjByteCons [seg]) por segmento para todos los canales usando los distintos conjuntos de parámetros de codificación (etapa 232) y almacena CanalConjByteCons [seg] (etapa 234). A continuación se determina un conjunto global de parámetros de codificación (selección del código de entropía y parámetros) para el segmento a través de todos los canales (etapa 236) usando los mismos cálculos del código binario y el código Rice que anteriormente excepto a través de todos los canales. Se seleccionan los mejores parámetros y se calcula el consumo de bytes (SegmByteCons) (etapa 238). El SegmByteCons se compara con el CanalConjByteCons [seg] (etapa 240). Si el uso de los parámetros globales no reduce el consumo de bits, se fija el indicador TodosCanalesIgualParámInd [seg] a falso (etapa 242). De otro modo, el indicador TodosCanalesIgualParámInd se fija a verdadero (etapa 244) y los parámetros de codificación global y el consumo de bits correspondiente por segmento se almacenan (etapa 246). Este proceso se repite hasta que se alcanza el fin del bucle del segmento (etapa 248). Todo el proceso se repite hasta que termina el bucle del conjunto de canales (etapa 250).
El proceso de codificación está estructurado de modo que las diferentes funcionalidades pueden deshabilitarse por el control de unos pocos indicadores. Por ejemplo un indicador único controla si el análisis de des-correlación del canal orientado a pares se va a realizar o no. Otro indicador controla si se realizará o no el análisis de la predicción adaptativa (otro indicador más para la predicción fija). Además un indicador único controla si se realizará o no la búsqueda de parámetros globales sobre todos los canales. La segmentación es también controlable fijando el número de particiones y la duración mínima del segmento (en la forma más simple puede ser una única partición con una duración de segmento predeterminada). En esencia, fijando unos pocos indicadores en el codificador, el codificador puede colapsar a una codificación simple de entramado y entropía.
CÓDEC DE AUDIO SIN PÉRDIDAS COMPATIBLE CON VERSIONES ANTERIORES
El códec sin pérdidas puede usarse como un "codificador de extensión" en combinación con un codificador de núcleo con pérdidas. Un flujo del codificador de núcleo "con pérdidas" se empaqueta como un flujo de bits del núcleo y una señal de diferencia codificada sin pérdidas se empaqueta como un flujo de bits de extensión separado. Una vez realizada la decodificación en un decodificador extendido con características sin pérdidas, los flujos con pérdidas y sin pérdidas se combinan para construir una señal reconstruida sin pérdidas. En un decodificador de una generación anterior, el flujo sin pérdidas se ignora, y flujo "con pérdidas" del núcleo se decodifica para proporcionar una señal de audio multicanal de alta calidad con el ancho de banda y la proporción de señal a ruido característica del flujo del núcleo.
La Figura 9 muestra una vista a nivel de sistema de un codificador sin pérdidas compatible con versiones anteriores 400 para un canal de una señal multicanal. Se proporcionan a la entrada como señal de audio digitalizada, muestras de audio PCM de M bits adecuadas 402. Preferiblemente, la señal de audio digitalizada tiene una tasa de muestreo y un ancho de banda que excede al de un codificador de núcleo con perdidas modificado 404. En una realización, la tasa de muestreo de la señal de audio digitalizada es de 96 KHz (correspondiente a un ancho de banda de 48 KHz para la señal de audio muestreada). Debería entenderse también que la señal de audio de entrada puede ser, y preferiblemente es, una señal multicanal en donde cada canal se muestrea a 96 KHz. La discusión que sigue se concentrará en el procesamiento de un canal único, pero la extensión para múltiples canales es sencilla. La señal de entrada se duplica en el nodo 406 y se maneja en ramas paralelas. En una primera rama de la trayectoria de la señal, un codificador con pérdidas modificado, de banda ancha 404 codifica la señal. El codificador de núcleo modificado 404, que se describe con detalle más adelante, produce un flujo de bits de núcleo codificados 408 que se dirige a un empaquetador o multiplexor 410. El flujo de bits de núcleo 408 se comunica también a un decodificador del núcleo modificado 412, que produce como salida una señal de núcleo reconstruida modificada 414.
Entre tanto, la señal de audio digitalizada de entrada 402 en la trayectoria en paralelo se somete a un retardo de compensación 416, sustancialmente igual que el retardo introducido en el flujo de audio reconstruido (por el codificador modificado y los decodificadores modificados), para producir un flujo de audio digitalizado retardado. El flujo de audio 400 se resta del flujo de audio digitalizado retardado 414 en el nodo sumador 420. El nodo sumador 420 produce una señal diferencia 422 que representa la señal original y la señal del núcleo reconstruida. Para cumplir la codificación puramente "sin pérdidas", es necesario codificar y transmitir la señal de diferencia con técnicas de codificación sin pérdidas. Por consiguiente, la señal de diferencia 422 se codifica con un codificador sin pérdidas 424, y el flujo de bits de extensión 426 se empaqueta con el flujo de bits de núcleo 408 en el empaquetador 410 para producir un flujo de bits de salida 428.
Obsérvese que la codificación sin pérdidas produce un flujo de bits de extensión 426 que es a una tasa de bits variable, para acomodarse a las necesidades del codificador sin pérdidas. El flujo empaquetado se sujeta a continuación opcionalmente a capas adicionales de codificación incluyendo la codificación de canal, y a continuación se transmite o se graba. Obsérvese que para los propósitos de esta revelación, la grabación puede considerarse como una transmisión a través de un canal.
El codificador de núcleo 404 se describe como "modificado" porque en una realización capaz de manejar el ancho de banda extendido el codificador del núcleo requeriría modificación. Un banco de filtros de análisis de 64 bandas 430 dentro del codificador rechaza la mitad de sus datos de salida 432 y el codificador de sub-bandas del núcleo 434 codifica sólo las 32 bandas de frecuencia inferiores. Esta información descartada no es concerniente a decodificadores heredados que serían incapaces de reconstruir la mitad superior del espectro de la señal en ningún caso. La información restante se codifica como por un codificador no modificado para formar un flujo de salida del núcleo compatible con versiones anteriores. Sin embargo, en otra realización que funciona a una tasa de muestreo de 48 KHz o inferior, el codificador del núcleo podría ser una versión sustancialmente no modificada de un codificador del núcleo anterior. De forma similar, para el funcionamiento por encima de la tasa de muestreo de los decodificadores heredados, el decodificador de núcleo modificado 412 incluye un decodificador de sub-banda de núcleo 436 que decodifica las muestras en las 32 sub-bandas inferiores. El decodificador de núcleo modificado toma las muestras de las sub-bandas a partir de las 32 sub-bandas inferiores y los ceros fuera de las muestras de las sub-bandas no transmitidas para las 32 bandas superiores 438 y reconstruye todas las 64 bandas usando un filtro de síntesis de QAF de 64 bandas 440. Para el funcionamiento a la tasa de muestreo convencional (por ejemplo, 48 KHz y por debajo) el decodificador del núcleo podría ser una versión sustancialmente sin modificar de un decodificador del núcleo anterior o equivalente. En algunas realizaciones la elección de la tasa de muestreo podría realizarse en el momento de la codificación, y los módulos de codificación y decodificación reconfigurados en ese momento por software como se desee.
Como el codificador sin pérdidas se está usando para codificar la señal diferencia, puede parecer que sería suficiente un código de entropía simple. Sin embargo, debido a las limitaciones de la tasa de bit sobre los códec del núcleo con pérdidas existentes, se requiere una cantidad considerable de bits totales para proporcionar un flujo de bits sin pérdidas aún restante. Además, debido a las limitaciones del ancho de banda del códec del núcleo el contenido de información por encima de 24 KHz en la señal diferencia está aún correlada. Por ejemplo una abundancia de componentes armónicos incluyendo trompeta, guitarra, triángulo,… que alcanzan más allá de 30 KHz. Por lo tanto los códec sin pérdidas más sofisticados que mejoran el funcionamiento de la compresión dan un valor añadido. Además, en algunas aplicaciones los flujos de bits del núcleo y la extensión deben satisfacer aún la restricción de que las unidades decodificables no deben exceder un tamaño máximo. Los códec sin pérdidas de la presente invención proporcionan tanto un funcionamiento de la compresión mejorado como una flexibilidad mejorada para satisfacer estas restricciones.
A modo de ejemplo, 8 canales de una señal de audio de PCM a 96 KHz de 24 bits requieren 18,5 Mbps. La compresión sin pérdidas puede reducir esto a aproximadamente 9 Mbps, La Acústica Coherente DTS codificaría el núcleo a 1,5 Mbps, dejando una señal diferencia de 7,5 Mbps. Para un tamaño de segmento máximo de 2 KBytes, la duración del segmento promedio es de 2048 * 8 / 7500000 = 2,18 mseg o aproximadamente 209 muestras a 96 KHz. Un tamaño de trama típico para el núcleo con pérdidas para satisfacer el tamaño máximo está entre 10 y 20 mseg.
A nivel de sistema, el códec sin pérdidas y el códec sin pérdidas compatible con las versiones anteriores pueden combinarse para una codificación sin pérdidas de canales extra de audio en un ancho de banda extendido mientras que se mantiene la compatibilidad con las versiones anteriores de los códec con pérdidas existentes. Por ejemplo, 8 canales de señal de audio de 96 KHz a 18,5 MHz pueden codificarse sin pérdidas para incluir canales 5.1 de señal de audio de 48 KHz a 1,5 Mbps. El núcleo más el codificador sin pérdidas se usaría para codificar los canales 5.1. El codificador sin pérdidas se usará para codificar las señales de diferencia en los canales 5.1. Los restantes 2 canales se codifican en un conjunto de canales separados usando un codificador sin pérdidas. Como todos los conjuntos de canales necesitan considerarse cuando se intenta optimizar la duración del segmento, se usarán todas las herramientas de codificación de un modo o de otro. Un decodificador compatible decodificaría todos los 8 canales y reconstruirá sin pérdidas la señal de audio de 18,5 Mbps de 96 KHz. Un decodificador más antiguo decodificaría sólo los canales 5.1 y reconstruiría la señal de 1,5 MHz a 48 KHz.
En general, pueden proporcionarse más de un canal puro sin pérdidas para los propósitos de adaptar la complejidad del decodificador. Por ejemplo, para una mezcla de 10,2 original los conjuntos de canales podrían organizarse de modo que:
-CANALCONJ 1 transporta 5.1 (con 10.2 incorporado para una mezcla inferior de 5.1) y se codifica usando núcleo + sin perdidas -CANALCONJ 1 y CANALCONJ 2 transportan 7.1 (con 10.2 incorporado para una mezcla inferior de 7.1) donde CANALCONJ 2 codifica 2 canales usando sin pérdidas -CANALCONJ 1 + CANALCONJ 2 + a CANALCONJ 3 transportan la mezcla discreta total de 10.2 donde CANALCONJ 3 codifica los canales 3.1 restantes usando sólo sin pérdidas.
Un decodificador que es capaz de decodificar sólo 5.1 decodificará el CANALCONJ 1 e ignorará los otros conjuntos de canales. Un decodificador que es capaz de decodificar sólo 7.1 decodificará CANALCONJ 1 y CANALCONJ 2 e ignorará todos los otros conjuntos de canales, …
Además, la señal con pérdidas más el núcleo sin pérdidas no está limitado a 5.1. Las implementaciones actuales soportan hasta 6.1 usando la señal con pérdidas (núcleo + XCh) y sin perdidas y puede soportar unos canales genéricos m.n organizados en cualquier número de conjuntos de canales. La codificación con pérdidas tendrá un núcleo compatible con las versiones anteriores de 5.1 y todos los demás canales que se codifican con el códec con pérdidas irán dentro de la versión XXCh. Esto proporciona el códec sin pérdidas global con una flexibilidad de diseño considerable para mantener la compatibilidad hacia atrás con los decodificadores existentes mientras que se soportan canales adicionales.
Aunque se han mostrado y descrito varias realizaciones ilustrativas de la invención, se ocurrirán numerosas variaciones y realizaciones alternativas a los especialistas en la técnica. Tales variaciones y realizaciones alternativas se contemplan, y pueden realizarse sin apartarse del ámbito de la invención como se define en las reivindicaciones adjuntas.
Claims (24)
- REIVINDICACIONES
- 1.
- Un método para codificar sin pérdidas datos de audio de PCM, que comprende:
poner en bloques la señal de audio multicanal en tramas de igual tiempo de duración; procesar la señal de audio multicanal para ordenar los canales en pares incluyendo un canal base y un canal correlado; en el que los dos canales más correlados forman un primer par y así sucesivamente hasta que se agotan los canales, si queda un canal impar este forma un canal base; determinar una estimación de correlación cruzada de retardo cero para los pares de canales; determinar una estimación de auto-correlación de retardo cero del canal base; procesar el orden de los pares de canales para determinar un coeficiente de des-correlación dividiendo la estimación de correlación cruzada de retardo cero por la estimación de auto-correlación de retardo cero del canal base; generar un canal descorrelado para cada uno de los pares de canales para formar al menos un triplete (base, correlado, descorrelado), en el que el canal descorrelado se genera multiplicando el canal base por el coeficiente de des-correlación y restando el resultado del canal correlado; seleccionar los parámetros de codificación en base a las combinaciones posibles de pares de canales de dichos canales base y correlado y dichos canales base y descorrelado; seleccionar pares de canales (base, correlado) o (base, descorrelado) extraídos de cada uno de dichos tripletes; codificar la entropía de cada uno de los canales en los pares seleccionados de acuerdo con los parámetros de codificación; y empaquetar los datos de audio codificados en un flujo de bits. -
- 2.
- El método de la reivindicación 1, en el que en cada uno de los pares el canal que tiene la estimación de auto-correlación de retardo cero más pequeña es el canal base.
-
- 3.
- El método de la reivindicación 1, en el que la etapa de procesamiento incluye el procesamiento de la señal de audio multicanal para crear pares de canales incluyendo el canal base y el canal correlado, y el método comprende además:
segmentar cada una de las tramas en una pluralidad de segmentos de un tiempo de duración predeterminado, y en el que la etapa de seleccionar pares de canales minimiza una carga de datos codificados de la trama sujeta a la restricción de que cada uno de los segmentos debe ser decodificable y menor de un tamaño máximo; y en el que la etapa de codificación de entropía incluye codificar la entropía de cada uno de los segmentos de cada uno de los canales en los pares seleccionados de acuerdo con los parámetros de codificación. -
- 4.
- El método de la reivindicación 3, en el que la duración predeterminada de los segmentos se determina en parte seleccionando uno de la pluralidad de codificadores de entropía y sus parámetros de codificación.
-
- 5.
- El método de la reivindicación 3, en el que a cada uno de los canales se asigna un conjunto de parámetros de codificación incluyendo el codificador de entropía seleccionado y sus parámetros, la duración del segmento se determina en parte seleccionando bien un conjunto distinto de parámetros de codificación para cada uno de los canales o un conjunto global de parámetros de codificación para dicha pluralidad de canales.
-
- 6.
- El método de la reivindicación 3, en el que la duración predeterminada es la misma para cada segmento en una trama.
-
- 7.
- El método de la reivindicación 3, en el que la duración predeterminada está determinada para cada una de las tramas y varía sobre la secuencia de tramas.
-
- 8.
- El método de la reivindicación 3, en el que la duración predeterminada se determina,
a) realizando una partición de la trama en un número de segmentos de una duración determinada; b) determinando un conjunto de parámetros de codificación y carga de datos codificados para cada uno de los segmentos en cada uno de los canales; c) calculando las cargas de datos codificados para cada uno de los segmentos a través de todos los canales; d) si la carga de datos codificados a través de todos los canales para cualquier segmento excede el tamaño máximo, descartando el conjunto de parámetros de codificación; e) si la carga de datos codificados para la trama para la partición actual es menor de una carga de datos codificados mínima para particiones anteriores, almacenando el conjunto actual de parámetros de codificación y actualizando la carga de datos codificados mínima; y f) repitiendo las etapas desde a) hasta e) para la pluralidad de segmentos de una duración diferente. -
- 9.
- El método de la reivindicación 8, en el que la duración del segmento se fija a una duración mínima inicialmente y
se aumenta en cada iteración de partición. -
- 10.
- El método de la reivindicación 9, en el que la duración del segmento se fija inicialmente a una potencia de dos y se dobla en cada una de las iteraciones de partición.
-
- 11.
- El método de la reivindicación 9, en el que si la carga de datos codificados a través de todos los canales para cualquier segmento excede el tamaño máximo, la iteración de partición termina.
-
- 12.
- El método de la reivindicación 8, en el que el conjunto de parámetros de codificación incluye una selección de un codificador de entropía y sus parámetros.
-
- 13.
- El método de la reivindicación 12, en el que el codificador de entropía y sus parámetros se seleccionan para minimizar la carga de datos codificados para ese segmento en ese canal.
-
- 14.
- El método de la reivindicación 8, que comprende además generar un canal descorrelado para pares de canales para formar un triplete (base, correlado, descorrelado), seleccionando bien el par de canales (base, correlado) o el par de canales (base, descorrelado), y codificar la entropía de los canales en los pares de canales seleccionados.
-
- 15.
- El método de la reivindicación 8, en el que el conjunto determinado de parámetros de codificación es bien distinto para cada uno de los canales o global para todos los canales en base a lo cual produce una carga de datos codificados más pequeña incluyendo tanto el control como los datos de audio para la trama.
-
- 16.
- El método de la reivindicación 3, en el que la duración predeterminada del segmento se determina para minimizar la carga de datos codificados de cada una de las tramas.
-
- 17.
- El método de la reivindicación 3, en el que la duración predeterminada del segmento se determina en parte seleccionando un conjunto de parámetros de codificación incluyendo uno de la pluralidad de codificadores de entropía y sus parámetros de codificación para cada uno de los segmentos.
-
- 18.
- El método de la reivindicación 17, en el que la duración predeterminada del segmento se determina en parte seleccionando bien un conjunto distinto de parámetros de codificación para cada uno de los canales o un conjunto global de parámetros de codificación para dicha pluralidad de canales.
-
- 19.
- El método de la reivindicación 17, en el que los conjuntos de parámetros de codificación se calculan para diferentes duraciones de segmentos y se selecciona la duración correspondiente al conjunto que tiene la carga de datos codificados más pequeña que satisface la restricción sobre el segmento máximo.
-
- 20.
- El método de la reivindicación 3, que comprende además generar un canal descorrelado para pares de canales para formar al menos un triplete (base, correlado, descorrelado), la duración predeterminada del segmento se determina en parte seleccionando bien un par de canales (base, correlado) o un par de canales (base, descorrelado) para cada uno de dichos tripletes para la codificación de entropía.
-
- 21.
- El método de la reivindicación 20, en el que los pares de canales se seleccionan determinando si el canal descorrelado o correlado contribuye con el menor número de bits para la carga de datos codificados.
-
- 22.
- El método de la reivindicación 20, en el que dos canales más correlados forman parte de un primer par y así sucesivamente hasta que se agotan los canales, si queda un número impar de canales se forma un canal base.
-
- 23.
- El método de la reivindicación 22, en el que en cada uno de los pares, el canal que tiene la estimación de auto-correlación de retardo cero más pequeña es el canal base.
-
- 24.
- El método de la reivindicación 23, en el que el canal descorrelado se genera multiplicando el canal base por un coeficiente de des-correlación y restando el resultado del canal correlado.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US55618304P | 2004-03-25 | 2004-03-25 | |
| US556183P | 2004-03-25 | ||
| US911062 | 2004-08-04 | ||
| US911067 | 2004-08-04 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2363346T3 true ES2363346T3 (es) | 2011-08-01 |
Family
ID=38072128
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES05731220T Expired - Lifetime ES2363346T3 (es) | 2004-03-25 | 2005-03-21 | Códec de audio multi-canal sin pérdidas. |
| ES05728310T Expired - Lifetime ES2363932T3 (es) | 2004-03-25 | 2005-03-21 | Codec audio sin pérdida escalable y herramienta de autoría. |
| ES10167970.2T Expired - Lifetime ES2537820T3 (es) | 2004-03-25 | 2005-03-21 | Códec de audio sin pérdidas escalable y herramienta de autoría |
Family Applications After (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES05728310T Expired - Lifetime ES2363932T3 (es) | 2004-03-25 | 2005-03-21 | Codec audio sin pérdida escalable y herramienta de autoría. |
| ES10167970.2T Expired - Lifetime ES2537820T3 (es) | 2004-03-25 | 2005-03-21 | Códec de audio sin pérdidas escalable y herramienta de autoría |
Country Status (6)
| Country | Link |
|---|---|
| US (5) | US7392195B2 (es) |
| JP (4) | JP4934020B2 (es) |
| KR (1) | KR101307693B1 (es) |
| CN (2) | CN101027717B (es) |
| ES (3) | ES2363346T3 (es) |
| RU (2) | RU2387022C2 (es) |
Families Citing this family (131)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7536305B2 (en) * | 2002-09-04 | 2009-05-19 | Microsoft Corporation | Mixed lossless audio compression |
| US7378586B2 (en) * | 2002-10-01 | 2008-05-27 | Yamaha Corporation | Compressed data structure and apparatus and method related thereto |
| JP4679049B2 (ja) | 2003-09-30 | 2011-04-27 | パナソニック株式会社 | スケーラブル復号化装置 |
| US7392195B2 (en) * | 2004-03-25 | 2008-06-24 | Dts, Inc. | Lossless multi-channel audio codec |
| US7536302B2 (en) * | 2004-07-13 | 2009-05-19 | Industrial Technology Research Institute | Method, process and device for coding audio signals |
| US7930184B2 (en) * | 2004-08-04 | 2011-04-19 | Dts, Inc. | Multi-channel audio coding/decoding of random access points and transients |
| DE102004042819A1 (de) * | 2004-09-03 | 2006-03-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Erzeugen eines codierten Multikanalsignals und Vorrichtung und Verfahren zum Decodieren eines codierten Multikanalsignals |
| ATE406652T1 (de) * | 2004-09-06 | 2008-09-15 | Matsushita Electric Industrial Co Ltd | Skalierbare codierungseinrichtung und skalierbares codierungsverfahren |
| US7466867B2 (en) * | 2004-11-26 | 2008-12-16 | Taiwan Imagingtek Corporation | Method and apparatus for image compression and decompression |
| US8265929B2 (en) * | 2004-12-08 | 2012-09-11 | Electronics And Telecommunications Research Institute | Embedded code-excited linear prediction speech coding and decoding apparatus and method |
| US20060235683A1 (en) * | 2005-04-13 | 2006-10-19 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Lossless encoding of information with guaranteed maximum bitrate |
| US7991610B2 (en) * | 2005-04-13 | 2011-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Adaptive grouping of parameters for enhanced coding efficiency |
| EP1876586B1 (en) * | 2005-04-28 | 2010-01-06 | Panasonic Corporation | Audio encoding device and audio encoding method |
| CN101167124B (zh) * | 2005-04-28 | 2011-09-21 | 松下电器产业株式会社 | 语音编码装置和语音编码方法 |
| JP5118022B2 (ja) * | 2005-05-26 | 2013-01-16 | エルジー エレクトロニクス インコーポレイティド | オーディオ信号の符号化/復号化方法及び符号化/復号化装置 |
| US8494667B2 (en) * | 2005-06-30 | 2013-07-23 | Lg Electronics Inc. | Apparatus for encoding and decoding audio signal and method thereof |
| EP1913576A2 (en) | 2005-06-30 | 2008-04-23 | LG Electronics Inc. | Apparatus for encoding and decoding audio signal and method thereof |
| US8214221B2 (en) | 2005-06-30 | 2012-07-03 | Lg Electronics Inc. | Method and apparatus for decoding an audio signal and identifying information included in the audio signal |
| US7411528B2 (en) | 2005-07-11 | 2008-08-12 | Lg Electronics Co., Ltd. | Apparatus and method of processing an audio signal |
| CA2620627C (en) * | 2005-08-30 | 2011-03-15 | Lg Electronics Inc. | Apparatus for encoding and decoding audio signal and method thereof |
| JP4568363B2 (ja) * | 2005-08-30 | 2010-10-27 | エルジー エレクトロニクス インコーポレイティド | オーディオ信号デコーディング方法及びその装置 |
| US8577483B2 (en) * | 2005-08-30 | 2013-11-05 | Lg Electronics, Inc. | Method for decoding an audio signal |
| US7788107B2 (en) * | 2005-08-30 | 2010-08-31 | Lg Electronics Inc. | Method for decoding an audio signal |
| CN102663975B (zh) * | 2005-10-03 | 2014-12-24 | 夏普株式会社 | 显示装置 |
| US7672379B2 (en) * | 2005-10-05 | 2010-03-02 | Lg Electronics Inc. | Audio signal processing, encoding, and decoding |
| US7751485B2 (en) * | 2005-10-05 | 2010-07-06 | Lg Electronics Inc. | Signal processing using pilot based coding |
| US7646319B2 (en) * | 2005-10-05 | 2010-01-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
| KR100878833B1 (ko) * | 2005-10-05 | 2009-01-14 | 엘지전자 주식회사 | 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치 |
| WO2007040357A1 (en) * | 2005-10-05 | 2007-04-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
| US7696907B2 (en) * | 2005-10-05 | 2010-04-13 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
| US7974713B2 (en) * | 2005-10-12 | 2011-07-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Temporal and spatial shaping of multi-channel audio signals |
| US7716043B2 (en) * | 2005-10-24 | 2010-05-11 | Lg Electronics Inc. | Removing time delays in signal paths |
| US7752053B2 (en) * | 2006-01-13 | 2010-07-06 | Lg Electronics Inc. | Audio signal processing using pilot based coding |
| CN101385079B (zh) * | 2006-02-14 | 2012-08-29 | 法国电信公司 | 在音频编码/解码中用于知觉加权的设备 |
| EP1988544B1 (en) * | 2006-03-10 | 2014-12-24 | Panasonic Intellectual Property Corporation of America | Coding device and coding method |
| JP4193865B2 (ja) * | 2006-04-27 | 2008-12-10 | ソニー株式会社 | デジタル信号切換え装置及びその切換え方法 |
| EP1852849A1 (en) * | 2006-05-05 | 2007-11-07 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for lossless encoding of a source signal, using a lossy encoded data stream and a lossless extension data stream |
| EP1852848A1 (en) * | 2006-05-05 | 2007-11-07 | Deutsche Thomson-Brandt GmbH | Method and apparatus for lossless encoding of a source signal using a lossy encoded data stream and a lossless extension data stream |
| KR101322392B1 (ko) * | 2006-06-16 | 2013-10-29 | 삼성전자주식회사 | 스케일러블 코덱의 부호화 및 복호화 방법 및 장치 |
| EP1881485A1 (en) * | 2006-07-18 | 2008-01-23 | Deutsche Thomson-Brandt Gmbh | Audio bitstream data structure arrangement of a lossy encoded signal together with lossless encoded extension data for said signal |
| US7907579B2 (en) * | 2006-08-15 | 2011-03-15 | Cisco Technology, Inc. | WiFi geolocation from carrier-managed system geolocation of a dual mode device |
| CN1920947B (zh) * | 2006-09-15 | 2011-05-11 | 清华大学 | 用于低比特率音频编码的语音/音乐检测器 |
| US7471218B2 (en) * | 2006-09-18 | 2008-12-30 | National Semiconductor Corporation | Methods and systems for efficiently storing and retrieving streaming data |
| JP4325657B2 (ja) * | 2006-10-02 | 2009-09-02 | ソニー株式会社 | 光ディスク再生装置、信号処理方法、およびプログラム |
| US8260070B1 (en) * | 2006-10-03 | 2012-09-04 | Adobe Systems Incorporated | Method and system to generate a compressed image utilizing custom probability tables |
| US20080114478A1 (en) * | 2006-11-09 | 2008-05-15 | David Wu | Method and System for Multi-Channel PCM Audio Grouping in Hardware |
| US9053753B2 (en) * | 2006-11-09 | 2015-06-09 | Broadcom Corporation | Method and system for a flexible multiplexer and mixer |
| US7385532B1 (en) * | 2007-02-16 | 2008-06-10 | Xilinx, Inc. | Extended bitstream and generation thereof for dynamically configuring a decoder |
| US7886303B2 (en) * | 2007-05-18 | 2011-02-08 | Mediatek Inc. | Method for dynamically adjusting audio decoding process |
| ES2416056T3 (es) * | 2007-07-06 | 2013-07-30 | France Telecom | Codificación jerárquica de señales digitales de audio |
| KR101518507B1 (ko) | 2007-07-19 | 2015-05-11 | 한국전자통신연구원 | 영상신호 송수신 장치 및 방법 |
| US9541658B2 (en) * | 2007-08-02 | 2017-01-10 | Westerngeco L. L. C. | Dynamically allocating different numbers of bits to windows of a series representing a seismic trace |
| KR100912826B1 (ko) * | 2007-08-16 | 2009-08-18 | 한국전자통신연구원 | G.711 코덱의 음질 향상을 위한 향상 계층 부호화 및복호화 장치와 그 방법 |
| KR101381602B1 (ko) * | 2007-09-17 | 2014-04-04 | 삼성전자주식회사 | 계층적 부호화 및 복호화 방법 및 장치 |
| JPWO2009050896A1 (ja) * | 2007-10-16 | 2011-02-24 | パナソニック株式会社 | ストリーム合成装置、復号装置、方法 |
| JP4893892B2 (ja) * | 2007-12-04 | 2012-03-07 | 国立大学法人島根大学 | 可逆圧縮用符号化システム、情報記録媒体及び印刷媒体 |
| US20090164223A1 (en) * | 2007-12-19 | 2009-06-25 | Dts, Inc. | Lossless multi-channel audio codec |
| US8239210B2 (en) * | 2007-12-19 | 2012-08-07 | Dts, Inc. | Lossless multi-channel audio codec |
| US8972247B2 (en) * | 2007-12-26 | 2015-03-03 | Marvell World Trade Ltd. | Selection of speech encoding scheme in wireless communication terminals |
| US8548002B2 (en) * | 2008-02-08 | 2013-10-01 | Koolspan, Inc. | Systems and methods for adaptive multi-rate protocol enhancement |
| US8386271B2 (en) | 2008-03-25 | 2013-02-26 | Microsoft Corporation | Lossless and near lossless scalable audio codec |
| GB0817977D0 (en) * | 2008-10-01 | 2008-11-05 | Craven Peter G | Improved lossy coding of signals |
| FR2938688A1 (fr) * | 2008-11-18 | 2010-05-21 | France Telecom | Codage avec mise en forme du bruit dans un codeur hierarchique |
| JP4784653B2 (ja) * | 2009-01-23 | 2011-10-05 | ソニー株式会社 | 音声データ送信装置、音声データ送信方法、音声データ受信装置および音声データ受信方法 |
| US20100191534A1 (en) * | 2009-01-23 | 2010-07-29 | Qualcomm Incorporated | Method and apparatus for compression or decompression of digital signals |
| CN105225667B (zh) | 2009-03-17 | 2019-04-05 | 杜比国际公司 | 编码器系统、解码器系统、编码方法和解码方法 |
| JP5355690B2 (ja) * | 2009-06-01 | 2013-11-27 | 三菱電機株式会社 | 信号処理装置 |
| KR20100136890A (ko) | 2009-06-19 | 2010-12-29 | 삼성전자주식회사 | 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법 |
| FR2947944A1 (fr) * | 2009-07-07 | 2011-01-14 | France Telecom | Codage/decodage perfectionne de signaux audionumeriques |
| EP2323130A1 (en) * | 2009-11-12 | 2011-05-18 | Koninklijke Philips Electronics N.V. | Parametric encoding and decoding |
| JP2011109172A (ja) * | 2009-11-12 | 2011-06-02 | Hitachi Kokusai Electric Inc | 映像符号化装置、および、そのデータ処理方法 |
| CA3107943C (en) | 2010-01-19 | 2022-09-06 | Dolby International Ab | Improved subband block based harmonic transposition |
| US8959366B2 (en) * | 2010-01-28 | 2015-02-17 | Cleversafe, Inc. | De-sequencing encoded data slices |
| US8374858B2 (en) * | 2010-03-09 | 2013-02-12 | Dts, Inc. | Scalable lossless audio codec and authoring tool |
| SG184230A1 (en) * | 2010-03-26 | 2012-11-29 | Agency Science Tech & Res | Methods and devices for providing an encoded digital signal |
| WO2011132368A1 (ja) * | 2010-04-19 | 2011-10-27 | パナソニック株式会社 | 符号化装置、復号装置、符号化方法及び復号方法 |
| LT2945382T (lt) * | 2010-04-23 | 2017-09-11 | M&K Holdings Inc. | Aparatas, skirtas vaizdo kodavimui |
| KR101696632B1 (ko) | 2010-07-02 | 2017-01-16 | 돌비 인터네셔널 에이비 | 선택적인 베이스 포스트 필터 |
| KR101676477B1 (ko) * | 2010-07-21 | 2016-11-15 | 삼성전자주식회사 | 컨텍스트 기반의 무손실 부호화 장치 및 방법, 그리고 복호화 장치 및 방법 |
| SG187743A1 (en) | 2010-08-12 | 2013-03-28 | Fraunhofer Ges Forschung | Resampling output signals of qmf based audio codecs |
| US9008811B2 (en) | 2010-09-17 | 2015-04-14 | Xiph.org Foundation | Methods and systems for adaptive time-frequency resolution in digital data coding |
| JP6000854B2 (ja) | 2010-11-22 | 2016-10-05 | 株式会社Nttドコモ | 音声符号化装置および方法、並びに、音声復号装置および方法 |
| EP2464145A1 (en) | 2010-12-10 | 2012-06-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for decomposing an input signal using a downmixer |
| US8639494B1 (en) * | 2010-12-28 | 2014-01-28 | Intuit Inc. | Technique for correcting user-interface shift errors |
| WO2012122299A1 (en) | 2011-03-07 | 2012-09-13 | Xiph. Org. | Bit allocation and partitioning in gain-shape vector quantization for audio coding |
| WO2012122297A1 (en) * | 2011-03-07 | 2012-09-13 | Xiph. Org. | Methods and systems for avoiding partial collapse in multi-block audio coding |
| US8838442B2 (en) | 2011-03-07 | 2014-09-16 | Xiph.org Foundation | Method and system for two-step spreading for tonal artifact avoidance in audio coding |
| EP2754096A4 (en) | 2011-09-09 | 2015-08-05 | Panamorph Inc | IMAGE PROCESSING SYSTEM AND METHOD |
| 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 |
| US9165563B2 (en) * | 2012-03-19 | 2015-10-20 | Casio Computer Co., Ltd. | Coding device, coding method, decoding device, decoding method, and storage medium |
| GB201210373D0 (en) * | 2012-06-12 | 2012-07-25 | Meridian Audio Ltd | Doubly compatible lossless audio sandwidth extension |
| EP2717262A1 (en) | 2012-10-05 | 2014-04-09 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder, decoder and methods for signal-dependent zoom-transform in spatial audio object coding |
| HUE032831T2 (en) | 2013-01-08 | 2017-11-28 | Dolby Int Ab | Model-based prediction in a critically sampled filter block |
| US9336791B2 (en) * | 2013-01-24 | 2016-05-10 | Google Inc. | Rearrangement and rate allocation for compressing multichannel audio |
| MX352092B (es) * | 2013-06-21 | 2017-11-08 | Fraunhofer Ges Forschung | Aparato y método para mejorar el ocultamiento del libro de códigos adaptativo en la ocultación similar a acelp empleando una resincronización de pulsos mejorada. |
| RU2665253C2 (ru) | 2013-06-21 | 2018-08-28 | Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. | Устройство и способ для улучшенного маскирования адаптивной таблицы кодирования при acelp-образном маскировании с использованием улучшенной оценки запаздывания основного тона |
| EP2830053A1 (en) * | 2013-07-22 | 2015-01-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Multi-channel audio decoder, multi-channel audio encoder, methods and computer program using a residual-signal-based adjustment of a contribution of a decorrelated signal |
| EP2830054A1 (en) | 2013-07-22 | 2015-01-28 | Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework |
| CN103346949B (zh) * | 2013-07-25 | 2016-08-17 | 北京大学 | 基于嵌入式的双通道网络数据包的拆包和组包方法及系统 |
| EP2863386A1 (en) | 2013-10-18 | 2015-04-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder, apparatus for generating encoded audio output data and methods permitting initializing a decoder |
| EP4629236A3 (en) | 2013-10-22 | 2025-12-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Concept for combined dynamic range compression and guided clipping prevention for audio devices |
| US11350015B2 (en) | 2014-01-06 | 2022-05-31 | Panamorph, Inc. | Image processing system and method |
| US9564136B2 (en) * | 2014-03-06 | 2017-02-07 | Dts, Inc. | Post-encoding bitrate reduction of multiple object audio |
| CN106471575B (zh) * | 2014-07-01 | 2019-12-10 | 韩国电子通信研究院 | 多信道音频信号处理方法及装置 |
| WO2016142002A1 (en) | 2015-03-09 | 2016-09-15 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal |
| EP3353785B2 (en) * | 2015-09-22 | 2021-09-22 | Koninklijke Philips N.V. | Audio signal processing |
| CN105512079B (zh) * | 2015-12-12 | 2018-07-03 | 中国航空工业集团公司西安航空计算技术研究所 | 一种1394总线多通道流数据并行组包方法 |
| CN108496221B (zh) | 2016-01-26 | 2020-01-21 | 杜比实验室特许公司 | 自适应量化 |
| CN108886626B (zh) * | 2016-03-28 | 2021-07-16 | 索尼公司 | 信息处理装置、信息处理方法以及信息处理系统 |
| EP3264644A1 (en) | 2016-07-01 | 2018-01-03 | Nxp B.V. | Multiple source receiver |
| US10936941B2 (en) * | 2016-08-12 | 2021-03-02 | Xilinx, Inc. | Efficient data access control device for neural network hardware acceleration system |
| US10522155B2 (en) * | 2017-02-21 | 2019-12-31 | Cirrus Logic, Inc. | Pulse code modulation (PCM) data-marking |
| US10891960B2 (en) * | 2017-09-11 | 2021-01-12 | Qualcomm Incorproated | Temporal offset estimation |
| CN107680605A (zh) * | 2017-09-29 | 2018-02-09 | 湖南国科微电子股份有限公司 | 一种ape格式错误数据处理方法及系统 |
| EP3483884A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Signal filtering |
| EP3483879A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Analysis/synthesis windowing function for modulated lapped transformation |
| EP3483882A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Controlling bandwidth in encoders and/or decoders |
| EP3483886A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Selecting pitch lag |
| WO2019091576A1 (en) * | 2017-11-10 | 2019-05-16 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits |
| EP3483878A1 (en) | 2017-11-10 | 2019-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio decoder supporting a set of different loss concealment tools |
| US10727858B2 (en) * | 2018-06-18 | 2020-07-28 | Qualcomm Incorporated | Error resiliency for entropy coded audio data |
| CN109243471B (zh) * | 2018-09-26 | 2022-09-23 | 杭州联汇科技股份有限公司 | 一种快速编码广播用数字音频的方法 |
| WO2020232631A1 (zh) * | 2019-05-21 | 2020-11-26 | 深圳市汇顶科技股份有限公司 | 一种语音分频传输方法、源端、播放端、源端电路和播放端电路 |
| JP7640526B2 (ja) * | 2019-08-14 | 2025-03-05 | エルジー エレクトロニクス インコーポレイティド | ポイントクラウドデータ送信装置、ポイントクラウドデータ送信方法、ポイントクラウドデータ受信装置及びポイントクラウドデータ受信方法。 |
| CN110827838A (zh) * | 2019-10-16 | 2020-02-21 | 云知声智能科技股份有限公司 | 一种基于opus的语音编码方法及装置 |
| CN112740708B (zh) | 2020-05-21 | 2022-07-22 | 华为技术有限公司 | 一种音频数据传输方法及相关装置 |
| CN111641416B (zh) * | 2020-06-19 | 2023-04-07 | 重庆邮电大学 | 一种多归一化因子的低密度奇偶校验码译码方法 |
| CN111768793B (zh) * | 2020-07-11 | 2023-09-01 | 北京百瑞互联技术有限公司 | 一种lc3音频编码器编码优化方法、系统、存储介质 |
| EP4243014A4 (en) | 2021-01-25 | 2024-07-17 | Samsung Electronics Co., Ltd. | DEVICE AND METHOD FOR PROCESSING A MULTI-CHANNEL AUDIO SIGNAL |
| EP4380193B1 (en) | 2021-11-17 | 2025-09-24 | Samsung Electronics Co., Ltd. | Electronic device for performing audio streaming and operating method thereof |
| US12341984B2 (en) | 2022-12-14 | 2025-06-24 | Qualcomm Incorporated | Truncation error signaling and adaptive dither for lossy bandwidth compression |
Family Cites Families (48)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4833718A (en) * | 1986-11-18 | 1989-05-23 | First Byte | Compression of stored waveforms for artificial speech |
| JPS6444499A (en) * | 1987-08-12 | 1989-02-16 | Fujitsu Ltd | Forecast encoding system for voice |
| KR100228688B1 (ko) * | 1991-01-08 | 1999-11-01 | 쥬더 에드 에이. | 다차원 음장용 인코우더/디코우더 |
| US5285498A (en) * | 1992-03-02 | 1994-02-08 | At&T Bell Laboratories | Method and apparatus for coding audio signals based on perceptual model |
| US5751902A (en) * | 1993-05-05 | 1998-05-12 | U.S. Philips Corporation | Adaptive prediction filter using block floating point format and minimal recursive recomputations |
| US5589830A (en) * | 1994-11-02 | 1996-12-31 | Advanced Micro Devices, Inc. | Stereo audio codec |
| GB9509831D0 (en) | 1995-05-15 | 1995-07-05 | Gerzon Michael A | Lossless coding method for waveform data |
| US5956674A (en) * | 1995-12-01 | 1999-09-21 | Digital Theater Systems, Inc. | Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels |
| US6449596B1 (en) * | 1996-02-08 | 2002-09-10 | Matsushita Electric Industrial Co., Ltd. | Wideband audio signal encoding apparatus that divides wide band audio data into a number of sub-bands of numbers of bits for quantization based on noise floor information |
| US6226325B1 (en) * | 1996-03-27 | 2001-05-01 | Kabushiki Kaisha Toshiba | Digital data processing system |
| US5839100A (en) * | 1996-04-22 | 1998-11-17 | Wegener; Albert William | Lossless and loss-limited compression of sampled data signals |
| JP3622365B2 (ja) * | 1996-09-26 | 2005-02-23 | ヤマハ株式会社 | 音声符号化伝送方式 |
| IL122714A (en) * | 1997-04-02 | 2011-06-30 | Samsung Electronics Co Ltd | Digital data coding/decoding method and apparatus |
| KR100261254B1 (ko) * | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 데이터 부호화/복호화방법 및 장치 |
| KR100261253B1 (ko) * | 1997-04-02 | 2000-07-01 | 윤종용 | 비트율 조절이 가능한 오디오 부호화/복호화 방법및 장치 |
| US6016111A (en) * | 1997-07-31 | 2000-01-18 | Samsung Electronics Co., Ltd. | Digital data coding/decoding method and apparatus |
| KR100251453B1 (ko) * | 1997-08-26 | 2000-04-15 | 윤종용 | 고음질 오디오 부호화/복호화장치들 및 디지털다기능디스크 |
| RU2214047C2 (ru) * | 1997-11-19 | 2003-10-10 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для масштабируемого кодирования/декодирования аудиосигналов |
| US6118392A (en) * | 1998-03-12 | 2000-09-12 | Liquid Audio Inc. | Lossless data compression with low complexity |
| US6023233A (en) | 1998-03-20 | 2000-02-08 | Craven; Peter G. | Data rate control for variable rate compression systems |
| US6360204B1 (en) * | 1998-04-24 | 2002-03-19 | Sarnoff Corporation | Method and apparatus for implementing rounding in decoding an audio signal |
| TW366660B (en) * | 1998-04-30 | 1999-08-11 | Nat Science Council | Method of degrouping a codeword in a computer system |
| KR100354531B1 (ko) * | 1998-05-06 | 2005-12-21 | 삼성전자 주식회사 | 실시간 복호화를 위한 무손실 부호화 및 복호화 시스템 |
| US6029126A (en) * | 1998-06-30 | 2000-02-22 | Microsoft Corporation | Scalable audio coder and decoder |
| JP3515903B2 (ja) * | 1998-06-16 | 2004-04-05 | 松下電器産業株式会社 | オーディオ符号化のための動的ビット割り当て方法及び装置 |
| JP3344581B2 (ja) * | 1998-10-13 | 2002-11-11 | 日本ビクター株式会社 | 音声符号化装置 |
| JP2000134105A (ja) * | 1998-10-29 | 2000-05-12 | Matsushita Electric Ind Co Ltd | オーディオ変換符号化に用いられるブロックサイズを決定し適応させる方法 |
| US6226608B1 (en) * | 1999-01-28 | 2001-05-01 | Dolby Laboratories Licensing Corporation | Data framing for adaptive-block-length coding system |
| ATE374458T1 (de) * | 1999-05-21 | 2007-10-15 | Scient Atlanta Europ | Verfahren und vorrichtung zur komprimierung und/oder übertragung und/oder dekomprimierung eines digitalen signals |
| US6370502B1 (en) * | 1999-05-27 | 2002-04-09 | America Online, Inc. | Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec |
| US6226616B1 (en) * | 1999-06-21 | 2001-05-01 | Digital Theater Systems, Inc. | Sound quality of established low bit-rate audio coding systems without loss of decoder compatibility |
| US6446037B1 (en) * | 1999-08-09 | 2002-09-03 | Dolby Laboratories Licensing Corporation | Scalable coding method for high quality audio |
| EP1087557A3 (en) * | 1999-09-22 | 2005-01-19 | Matsushita Electric Industrial Co., Ltd. | Apparatus for transmitting digital audio data and receiving apparatus for receiving the digital audio data |
| US6373411B1 (en) * | 2000-08-31 | 2002-04-16 | Agere Systems Guardian Corp. | Method and apparatus for performing variable-size vector entropy coding |
| US6675148B2 (en) * | 2001-01-05 | 2004-01-06 | Digital Voice Systems, Inc. | Lossless audio coder |
| EP1368898A2 (en) * | 2001-03-05 | 2003-12-10 | Koninklijke Philips Electronics N.V. | Device and method for compressing a signal |
| JP3690591B2 (ja) * | 2001-05-28 | 2005-08-31 | シャープ株式会社 | 符号化装置 |
| EP1292036B1 (en) * | 2001-08-23 | 2012-08-01 | Nippon Telegraph And Telephone Corporation | Digital signal decoding methods and apparatuses |
| US7110941B2 (en) * | 2002-03-28 | 2006-09-19 | Microsoft Corporation | System and method for embedded audio coding with implicit auditory masking |
| US20030231799A1 (en) * | 2002-06-14 | 2003-12-18 | Craig Schmidt | Lossless data compression using constraint propagation |
| DE10236694A1 (de) * | 2002-08-09 | 2004-02-26 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum skalierbaren Codieren und Vorrichtung und Verfahren zum skalierbaren Decodieren |
| US7742926B2 (en) * | 2003-04-18 | 2010-06-22 | Realnetworks, Inc. | Digital audio signal compression method and apparatus |
| CN1762099B (zh) * | 2003-04-28 | 2010-10-13 | 日本电信电话株式会社 | 浮点数字信号的可逆编码方法、解码方法及其装置 |
| CN101494460B (zh) * | 2003-09-02 | 2012-07-11 | 日本电信电话株式会社 | 浮点信号的编码方法、解码方法及其编码器、解码器 |
| US7009533B1 (en) * | 2004-02-13 | 2006-03-07 | Samplify Systems Llc | Adaptive compression and decompression of bandlimited signals |
| US7392195B2 (en) * | 2004-03-25 | 2008-06-24 | Dts, Inc. | Lossless multi-channel audio codec |
| US7408481B2 (en) * | 2004-10-15 | 2008-08-05 | Nippon Telegraph And Telephone Corporation | Information encoding method, decoding method, common multiplier estimating method, and apparatus, program, and recording medium using these methods |
| EP1901432B1 (en) * | 2005-07-07 | 2011-11-09 | Nippon Telegraph And Telephone Corporation | Signal encoder, signal decoder, signal encoding method, signal decoding method, program, recording medium and signal codec method |
-
2004
- 2004-08-04 US US10/911,067 patent/US7392195B2/en not_active Expired - Lifetime
- 2004-08-04 US US10/911,062 patent/US7272567B2/en not_active Expired - Lifetime
-
2005
- 2005-03-21 ES ES05731220T patent/ES2363346T3/es not_active Expired - Lifetime
- 2005-03-21 RU RU2006137566/09A patent/RU2387022C2/ru active
- 2005-03-21 ES ES05728310T patent/ES2363932T3/es not_active Expired - Lifetime
- 2005-03-21 JP JP2007505046A patent/JP4934020B2/ja not_active Expired - Fee Related
- 2005-03-21 CN CN2005800134448A patent/CN101027717B/zh not_active Expired - Lifetime
- 2005-03-21 CN CN2005800134433A patent/CN1961351B/zh not_active Expired - Lifetime
- 2005-03-21 KR KR1020127024711A patent/KR101307693B1/ko not_active Expired - Lifetime
- 2005-03-21 RU RU2006137573/09A patent/RU2387023C2/ru active
- 2005-03-21 ES ES10167970.2T patent/ES2537820T3/es not_active Expired - Lifetime
-
2007
- 2007-08-14 US US11/891,905 patent/US7668723B2/en not_active Expired - Lifetime
-
2009
- 2009-11-05 US US12/613,316 patent/US20100082352A1/en not_active Abandoned
-
2010
- 2010-03-09 US US12/720,416 patent/US20110106546A1/en not_active Abandoned
-
2011
- 2011-12-27 JP JP2011284818A patent/JP5551677B2/ja not_active Expired - Lifetime
-
2013
- 2013-05-10 JP JP2013100133A patent/JP5593419B2/ja not_active Expired - Fee Related
- 2013-05-10 JP JP2013100134A patent/JP5599913B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US20110106546A1 (en) | 2011-05-05 |
| RU2006137573A (ru) | 2008-04-27 |
| JP2013190809A (ja) | 2013-09-26 |
| US20050216262A1 (en) | 2005-09-29 |
| JP5551677B2 (ja) | 2014-07-16 |
| RU2387023C2 (ru) | 2010-04-20 |
| RU2006137566A (ru) | 2008-04-27 |
| JP5593419B2 (ja) | 2014-09-24 |
| ES2363932T3 (es) | 2011-08-19 |
| HK1099597A1 (en) | 2007-08-17 |
| KR101307693B1 (ko) | 2013-09-11 |
| CN1961351A (zh) | 2007-05-09 |
| US20080021712A1 (en) | 2008-01-24 |
| US7272567B2 (en) | 2007-09-18 |
| JP2012078865A (ja) | 2012-04-19 |
| KR20120116019A (ko) | 2012-10-19 |
| RU2387022C2 (ru) | 2010-04-20 |
| CN101027717A (zh) | 2007-08-29 |
| JP4934020B2 (ja) | 2012-05-16 |
| CN101027717B (zh) | 2011-09-07 |
| JP2007531012A (ja) | 2007-11-01 |
| US20100082352A1 (en) | 2010-04-01 |
| JP2013148935A (ja) | 2013-08-01 |
| US20050246178A1 (en) | 2005-11-03 |
| CN1961351B (zh) | 2010-12-15 |
| HK1105475A1 (en) | 2008-02-15 |
| JP5599913B2 (ja) | 2014-10-01 |
| US7392195B2 (en) | 2008-06-24 |
| US7668723B2 (en) | 2010-02-23 |
| ES2537820T3 (es) | 2015-06-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2363346T3 (es) | Códec de audio multi-canal sin pérdidas. | |
| ES2700139T3 (es) | Códec de audio multicanal sin pérdida que usa segmentación adaptativa con capacidad de punto de acceso aleatorio (RAP) | |
| TWI515720B (zh) | 壓縮數位化音訊信號之方法、解碼已編碼壓縮數位化音訊信號之方法、及機器可讀儲存媒體 | |
| JP3715653B2 (ja) | 波形データ用無損失符号化法 | |
| JP5395917B2 (ja) | 多チャンネルデジタル音声符号化装置および方法 | |
| US20090164223A1 (en) | Lossless multi-channel audio codec | |
| US8239210B2 (en) | Lossless multi-channel audio codec | |
| EP1743326B1 (en) | Lossless multi-channel audio codec | |
| HK1105475B (en) | Lossless multi-channel audio codec | |
| HK1147132B (en) | Lossless multi-channel audio codec using adaptive segmentation with random access point (rap) and multiple prediction parameter set (mpps) capability | |
| HK1156146B (en) | Compression of audio scale-factors by two-dimensional transformation |