ES2203694T3 - Metodo de codificacion sin perdidas para datos en forma de ondas. - Google Patents

Metodo de codificacion sin perdidas para datos en forma de ondas.

Info

Publication number
ES2203694T3
ES2203694T3 ES96914279T ES96914279T ES2203694T3 ES 2203694 T3 ES2203694 T3 ES 2203694T3 ES 96914279 T ES96914279 T ES 96914279T ES 96914279 T ES96914279 T ES 96914279T ES 2203694 T3 ES2203694 T3 ES 2203694T3
Authority
ES
Spain
Prior art keywords
quantifier
matrix
signal
coding
filter
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
Application number
ES96914279T
Other languages
English (en)
Inventor
Peter Graham Craven
Michael Anthony Gerzon
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Application granted granted Critical
Publication of ES2203694T3 publication Critical patent/ES2203694T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • H03M7/3044Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
    • H03M7/3046Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM] adaptive, e.g. adaptive differential pulse code modulation [ADPCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

EN UN METODO DE PROCESAMIENTO SIN PERDIDA DE UNA SEÑAL DE VALOR ENTERO EN UN FILTRO DE PREDICCION QUE INCLUYE UN CUANTIFICADOR, SE IMPLEMENTA UN NUMERADOR DEL FILTRO DE PREDICCION ANTERIOR AL CUANTIFICADOR Y SE IMPLEMENTA UN DENOMINADOR DEL FILTRO DE PREDICCION RECURSIVAMENTE ALREDEDOR DEL CUANTIFICADOR PARA REDUCIR LA VELOCIDAD DE DATOS MAXIMA DE UNA SEÑAL DE SALIDA. EN EL PROCESADOR SIN PERDIDA, EN CADA INSTANTE DE MUESTRA, UNA ENTRADA DEL CUANTIFICADOR ES SENSIBLE CONJUNTAMENTE A UN PRIMER VALOR DE MUESTRA DE UNA ENTRADA DEL FILTRO DE PREDICCION, UN SEGUNDO VALOR DE MUESTRA DE UNA ENTRADA DE SEÑAL AL FILTRO DE PREDICCION EN UN INSTANTE DE MUESTRA PREVIO, Y UN VALOR DE SALIDA DEL CUANTIFICADOR EN UN SUCESO DE MUESTRA PREVIO. EN UNA REALIZACION PREFERIDA, EL FILTRO DE PREDICCION INCLUYE CONFORMACION DE RUIDO PARA AFECTAR A LA SALIDA DEL CUANTIFICADOR.

Description

Método de codificación sin pérdidas para datos en forma de ondas.
Campo técnico
Este invento se refiere a la codificación y descodificación sin pérdida de datos de forma de onda de modo que se reduzca el régimen de datos requerido sin alteración alguna de los datos de forma de onda descodificados, y en particular al uso de métodos de matriciar sin pérdida con respecto, en particular, a aquellos en los que se usa una aritmética de valores no enteros de precisión finita no afectada por los errores de redondeo y a aplicaciones en la codificación y descodificación de formas de onda de audio y de imagen.
Antecedentes en la técnica
El régimen de datos ocupado por los datos de forma de onda de audio u otros en forma de PCM (Modulación en Código de Impulsos) digital, es frecuentemente demasiado alto para el medio de transmisión o de almacenamiento usado para conducir las formas de onda. Son conocidos de la técnica anterior métodos para reducir el régimen de datos de formas de onda y éstos pueden ser clasificados en dos tipos, de codificación con pérdida y de codificación sin pérdida. En la codificación sin pérdida se desechan o se alteran los datos de formas de onda de un modo que es pequeño en relación con el requisito de cómo se usan los datos, mientras que en la codificación sin pérdida se reduce el régimen de datos eliminando para ello las redundancias de señal en forma codificada pero de un modo que permite que los datos originales exactos sean recuperados por un proceso de descodificación.
Tales métodos de codificación sin pérdida basados en el uso de predictores son conocidos de la técnica anterior y se han descrito, por ejemplo, en la publicación de C. Cellier, P. Chenes y Rossi titulada "Lossless Audio Bit Rate Reduction" en las Memorias de la Conferencia sobre "Managing The Bit Budget" de la Audio Engineering Society del Reino Unido, 16-17 de mayo de 1994, págs. 107-122; en la publicación de R.C. Gonzales y R.E. Woods titulada "Digital Image Processing", Addison Wesley, Reading Mass (EE.UU.) 1992, Capítulo 6, sección especial 6.4.3, págs. 358-362 y en la publicación de Rabbani y P.W. Jones titulada "Digital Image Compression Techniques", SPIE Press, Bellingham, Wash, EE.UU., 1991.
Las señales de PCM pueden ser consideradas como señales en serie de tiempo de valores enteros, donde el entero es un múltiplo del valor del dígito menos significativo (LSB). El concepto básico en los sistemas de la técnica anterior es el de codificar la señal de PCM en valores enteros a través de un filtro de predicción, donde el cuantificador comprende una operación de redondeo al valor entero más próximo, transmitir la diferencia cuantificada (denominada aquí la señal codificada por predicción) entre la señal real y la señal predicha derivada de la salida del cuantificador, y transmitir luego esos datos codificados eficientemente por medio de la codificación de Huffman, o bien transmitir el número de bits más significativos cero (MSBs cero) solamente una vez para un bloque de palabras o por técnicas similares, para reducir las longitudes de las palabras de las muestras individuales de la forma de onda codificada. En tales sistemas de la técnica anterior, la descodificación sin pérdida se efectúa usando la descodificación de Huffman, u otra apropiada, para restituir la longitud de la palabra de la señal codificada, y pasar luego los datos codificados a un filtro predictor idéntico al usado en la codificación, añadir el resultado a la señal codificada, y restituir luego la señal de valores enteros original por medio de una segunda operación de cuantificación de redondeo. Se pueden omitir las operaciones de redondeo si los filtros de predicción tienen solamente coeficientes enteros.
No obstante, en muchas aplicaciones, los métodos de la técnica anterior de codificación y descodificación sin pérdida de datos de forma de onda tienen considerables problemas prácticos. Tal es en particular el caso con los datos de audio de PCM de alta calidad, especialmente cuando se transmiten a través de medios con limitaciones en el régimen de datos de pico con el cual se pueden transferir los datos, tales como los reproductores de discos compactos, o bien las grabadoras de cinta digitales.
Entendemos por audio de alta calidad las señales que en la forma de PCM requerirán típicamente 16 o más bits, quizás hasta 20 ó 24 bits, para una representación exacta de las palabras digitales, y regímenes de muestreo de 44,1 KHz o más altos. La compresión sin pérdida de datos de audio es especialmente útil cuando además el régimen de muestreo es una cifra alta, tal como de 96 KHz. Tales altos regímenes de muestreo están siendo usados para el caso de que se requiera una anchura de banda de audio extendida para una calidad especial de la reproducción. Cuando se desea además conducir sonido estéreo o ambiente por múltiples canales, puede ser necesario conducir al usuario quizás 5 ó 6 canales de audio, a un régimen de muestreo de 96 KHz, con una resolución de alrededor de 20 bits, y los regímenes de datos resultantes de alrededor de 11,5 Mbit/segundo son difíciles de conducir con un tiempo de reproducción adecuado a través de los medios de almacenamiento existentes, tales como el disco compacto de alta densidad o los medios ópticos de almacenamiento.
En cualquier caso, la codificación y la descodificación sin pérdida de tales datos de audio de alta calidad permiten aumentar la capacidad efectiva de los medios de almacenamiento, tales como un disco duro, en los sistemas de procesado de audio basados en ordenador, así como aumentar la capacidad efectiva de almacenamiento\Delta de medios de almacenamiento tales como el disco compacto, los medios de cinta digital, y similares. En tales aplicaciones, es deseable que especialmente los algoritmos de descodificación sean de ejecución relativamente simple, dado que el número de reproductores puede muy bien sobrepasar al número de registradores en lo correspondiente a un factor grande, especialmente para emisiones del tipo de disco compacto de material de programas de música de audio. Hay también un requisito de que los algoritmos de codificación y de descodificación sean transportables a muchas plataformas de procesado digital de señales diferentes sin demasiadas dificultades de ingeniería en su puesta en práctica, dado que sería de esperar que los registros codificados producidos por una cualquiera de muchas compañías de grabación u otras organizaciones fuesen reproducidos en reproductores de muchos usuarios diferentes fabricados por muchos fabricantes diferentes.
En la técnica anterior, la forma más simple y en audio la más generalmente usada de codificación de forma de onda sin pérdida usada es una técnica de predicción de valores enteros. Esta comprende transmitir no la propia señal de audio de PCM, sino la diferencia entre muestras sucesivas más una muestra inicial, a partir de la cual se puede reconstruir la señal original recuperando para ello cada muestra añadiendo la muestra diferencia a la muestra previamente recuperada. Para señales de audio típicas, la señal de diferencia tendrá una energía más baja que la señal original. Una extensión de la técnica anterior conocida y generalmente usada de esta técnica de predicción de valores enteros puede en cambio transmitir segundas o terceras diferencias de la señal, juntamente con dos o tres muestras iniciales de la señal de PCM. Usando el símbolo z^{-1} para indicar un retardo por una muestra, este método transmite el resultado de hacer pasar la señal a través de un filtro de codificación de la forma (1-z^{-1})^{n} para n =0, 1, 2 ó 3. La señal original puede ser recuperada de los datos mediante un proceso de suma inversa. El valor de n se puede elegir por adaptación, bloque por bloque, de muestras de forma de onda de audio, de modo que se reduzca al mínimo la energía de la señal transmitida en cada momento, dado que los datos de forma de onda de baja energía pueden ser transmitidos con un régimen de datos más bajo que los datos de forma de onda de más alta energía.
Se ha comprobado que los predictores de coeficientes de valores enteros reducen el régimen de datos medio y el contenido de la mayoría de las señales de audio, pero pueden realmente aumentar el régimen de datos de pico requerido para la transmisión. Esto hace que tales predictores no sean adecuados para enfrentarse a medios que tengan limitaciones del régimen para leer o escribir datos de pico. Además, es bien conocido que el filtro de predicción óptimo para reducir al mínimo el régimen de datos, véase la publicación de J.I. Makhoul, titulada "Linear Prediction: A Tutorial Review", Memorias del IEEE, vol. 63, págs. 561-580 (abril de 1975), es uno tal que la respuesta de frecuencia de la diferencia entre la señal real y la predicha es aproximadamente inversa al espectro de la señal de forma de onda a ser codificada, y para muchas señales, los filtros de predicción de coeficientes de valores enteros solamente se aproximan a este requisito muy deficientemente. Por consiguiente, los filtros de valores enteros dan también un régimen de datos medio inferior al óptimo. Para codificar señales de audio, estas ineficacias de los predictores de valores enteros afectan en particular a señales tales como los sonidos sibilantes en la palabra, la música popular con alta energía de los tonos altos, las formas de onda de "platillos", y otras como éstas.
Los predictores que implican coeficientes de valores no enteros pueden codificar formas de onda con mucho mejores reducciones de los regímenes de datos tanto de pico como medio, pero desafortunadamente éstos tienen el problema de que para una puesta en práctica ideal se requiere el uso de una aritmética de precisión infinita, lo cual no es posible. En la práctica, se usan filtros de predicción que incorporan errores de redondeo en su aritmética, y en tal caso es esencial para la codificación sin pérdida que los errores de redondeo en los predictores sean absolutamente idénticos en el codificador y en el descodificador. Este requisito de idénticos errores de redondeo hace que sea muy difícil transportar un algoritmo de descodificación o de codificación entre diferentes equipos físicos de procesado de la señal, donde se encuentran ligeras diferencias en los errores de redondeo. En las aplicaciones en las que se puede usar una gran diversidad de diseños de equipo para codificar o descodificar señales, es prácticamente necesario usar algoritmos que sean transportables entre las diferentes plataformas de DSP (Procesado de Señal Digital) que pueden no tener idénticos errores de redondeo. Además, la necesidad de controlar los errores aritméticos de redondeo en los predictores para que sean absolutamente idénticos hace que sea muy difícil diseñar arquitecturas de filtros de predicción alternativas para aplicaciones particulares cuando se sabe que diferentes codificadores y descodificados deben trabajar unos con otros.
Además, los algoritmos de predicción sin pérdida de valores no enteros existentes añaden un ruido de cuantificación a la señal codificada que tiene un espectro que es inverso a la respuesta de frecuencia de la diferencia entre la señal real y la señal predicha. Para señales de forma de onda de bajo nivel, la amplitud de este ruido de cuantificación añadido puede dominar en la señal codificada, aumentando innecesariamente su amplitud media y, por consiguiente, el régimen de datos codificado.
Además de esto, los métodos de predicción sin pérdida existentes solamente codifican y descodifican canales simples de datos de forma de onda por separado unos de otros. En muchas aplicaciones, incluyendo audio estéreo y de múltiples canales, se desea codificar dos o más señales de formas de onda relacionadas, las cuales tienen con bastante frecuencia un alto grado de correlación. Se desea obtener codificación sin pérdida que pueda sacar partido de la redundancia debida a tales correlaciones para reducir más el régimen de datos.
Exposición del invento
En esta exposición se describen métodos modificados de predicción y de matrizado basados en coeficientes de filtro de predicción de precisión finita de valores no enteros, y en el uso opcional adicional de filtrado de conformación de ruido de coeficientes de valores enteros, o bien de coeficientes de valores no enteros de precisión finita alrededor del cuantificador de la operación de redondeo de valores enteros.
El invento se aplica a la codificación sin pérdida y a la descodificación sin pérdida de señales de forma de onda de múltiple canales relacionadas en forma de PCM, en donde las etapas en cascada de la codificación pueden incluir etapas de codificación de matriz sin pérdida y las etapas en cascada de descodificación pueden incluir etapas de descodificación de matriz sin pérdida.
Tales etapas de codificación de matriz sin pérdida pueden usar coeficientes de valores no enteros de precisión finita y comprenden etapas individuales de procesado en donde solamente se modifica un canal en cada etapa, teniendo dicho canal como salida una cuantificación o redondeo al valor entero más próximo de una combinación lineal de los canales de entrada a esa etapa, siendo el coeficiente del canal alterado la unidad. La etapa inversa de descodificación de matriz sin pérdida en el descodificador sin pérdida inverso comprende una disposición similar, excepto en que se han invertido los signos de los coeficientes de todos los canales no alterados, y en donde el cuantificador en el descodificador tiene el mismo efecto que el cuantificador en el codificador original. Las etapas de codificación y de descodificación sin pérdida pueden también incorporar una inversión de la polaridad general, aplicada a cualquier subconjunto de los n canales.
Una cascada de etapas de codificación de matriz sin pérdida aplicada a n canales se denomina aquí un cuantificador de matriz n x n, y la cascada inversa de etapas de descodificación de matriz sin pérdida que invierte el efecto de tal cuantificador de matriz de n x n aplicado a n canales se denomina aquí el cuantificador de matriz inverso n x n. Típicamente, tales cuantificadores de matriz n x n se usan en la codificación de datos de forma de onda de PCM de n canales para reducir el régimen de datos alterando para ello los canales de entrada de modo que las señales en el canal de salida sean combinaciones lineales de canales que tienen energía y régimen de datos codificados totales más bajos.
Los filtros se realizan ya sea sin error de redondeo o ya sea con solamente errores de redondeo que no afecten al valor de la salida de dicho cuantificador.
Entendemos por coeficientes de valores no enteros de precisión finita que todos los coeficientes se pueden imprimir como números racionales con un denominador común entero d, tal que se pueda llevar a cabo la aritmética del filtro sin errores de redondeo ambiguos. Por de valores no enteros entendemos que al menos uno de tales coeficientes no es un número entero.
El mover los modos de suma manipulando señales divisibles por G cuantificadas a un tamaño de paso G desde antes o desde después de un cuantificador con el tamaño de paso G, o viceversa, no cambia la naturaleza del invento, sino que es simplemente una variante evidente de su puesta en práctica. Cualquier operación de suma antes de un cuantificador que implique una entrada de señal de valores enteros, tal como el camino directo desde la entrada al nodo de suma, puede por el contrario ser añadida en un nodo de suma después del cuantificador pero antes de la salida. Además, se puede emplear idéntica conformación del ruido en torno a los cuantificadores de codificación y de descodificación. Se prefiere que o bien los conformadores del ruido tengan un filtrado de FIR (Respuesta de Impulsos Finitos) de precisión aritmética finita usando una arquitectura de conformación del ruido de la forma exterior, de modo que la diferencia entre la entrada y la salida del sistema cuantificador de ruido conformado sea alimentada a través de un filtro de FIR (Finite Impulse Response) D con coeficientes de valores no enteros de precisión finita y que tenga un retardo de al menos una muestra a la entrada del cuantificador, o bien que los filtros de conformación del ruido tengan un filtrado aritmético de valores enteros.
Puede verse un estudio de los métodos y arquitecturas de conformación del ruido en la Sección 1 de la publicación de M.A. Gerzon, P.G. Craven, J.R. Stuart y R.J. Wilson, titulada "Psycoacoustic Noise Shaped Improvements in CD and Other Lineal Digital Media", Preprint 3501 de la 94ª Audio Engineering Society Convention, Berlin, Alemania, (1993, 26-19 de marzo). A la vez que se describen muchas formas diferentes de topología de conformación del ruido que son de actuaciones equivalentes, en esta referencia se describen métodos para reordenar los filtros con coeficientes de valores enteros y de valores no enteros alrededor de cuantificadores que pueden ser aplicados ventajosamente para la puesta práctica del presente invento.
Se pueden poner en práctica disposiciones de predictor de filtro de codificación y de descodificación, ya sea con o sin conformación del ruido, usando aritmética de punto fijo de precisión finita, y se puede así poner en práctica sin efecto alguno de errores de redondeo en las operaciones de filtrado. Como resultado, las mismas son susceptibles de ser transportadas entre diferentes ejecuciones y plataformas de DSP de punto fijo. La única operación de redondeo que es necesario ejecutar es la contenida en la operación de redondeo del cuantificador. Aunque como cuestión de conveniencia práctica, los coeficientes de precisión finita serán frecuentemente fracciones que tengan solo un número limitado de dígitos binarios fraccionarios, se comprenderá que por coeficientes de valores no enteros de precisión finita entendemos coeficientes que tienen partes fraccionarias definidas como relaciones racionales de dos números enteros, dado que la precisión finita puede definirse en aritmética de valores enteros para cualquier base, y no solamente para la base 2.
La conformación del ruido puede usarse en torno al cuantificador del codificador y del descodificador. El uso de tal conformación del ruido permite un mejor control de ya sea el régimen de datos de las señales codificadas durante los pasos de forma de onda de bajo nivel, o ya sea de las propiedades de recuperación en la descodificación de los errores de datos en la transmisión.
\newpage
La disposición de predictor de filtro de codificación puede ser aplicada a bloques de muestras de forma de onda, siendo frecuentemente la longitud L de uno de tales bloques de un orden de magnitud de 576 muestras. Cuando se codifica tal bloque de muestras, típicamente se elige una disposición de filtro de predictor que aproximadamente reduzca al mínimo la media de la energía de las señales codificadas de pico dentro del bloque y transmita los coeficientes de filtro usados para codificar como datos adicionales. El descodificador cargará los mismos coeficientes de filtro dentro de la disposición de filtro de descodificación inversa. Con objeto de que la disposición de filtro de descodificación reconstruya la forma de onda con precisión, es usualmente necesario que las variables de estado del filtro iniciales, al principio del bloque, sean idénticas en el filtro de descodificación y de codificación, y es también usualmente necesario transmitir tales variables de estado para "inicializar" las variables de estado en el filtro de descodificar al principio de un bloque, o bien al principio de una secuencia de bloques en los cuales hayan sido cambiados los coeficientes de filtro. En la práctica, las variables de estado adecuadas para un filtro con un denominador y un numerador de orden n-ésimo, son las n primeras muestras de entrada y las n primeras muestras de salida del filtro de codificación al principio del bloque. Éstas se usan, respectivamente, como las n primeras muestras de salida y las n primeras muestras de entrada del filtro de descodificación en el bloque.
Cuando se usen filtros de conformación del ruido, las variables de estado del filtro de conformación del ruido en la descodificación deben ser también usualmente inicializadas correctamente, y transmitidas para uso por el descodificador.
Está también claro que se puede usar una sucesión de disposiciones de predictor de filtro de codificación en cascada para codificación sin pérdida, y que la disposición de descodificación sin pérdida inversa es una cascada en orden inverso de las disposiciones de predictor de filtro de descodificación inversa.
El invento es aplicable a señales de PCM en su sentido más general, es decir, a señales representadas por números enteros que representan el valor de una forma de onda en un número relativamente grande de instantes o puntos de muestreo. Aunque en la ejecución práctica se usarán normalmente representaciones digitales binarias de los números, se pueden usar representaciones en cualquier otra base numérica. Cualesquiera referencias a bits menos o más significativos pueden generalizarse en tales representaciones no binarias a dígitos más o menos significativos.
Las referencias a una disposición de transformación de forma de onda de valores enteros susceptible de inversión significan cualquier método para transformar una señal de valores enteros en otra tal que exista una disposición de transformación inversa que tome las señales de valores enteros en señal de valores enteros que restaure la señal de valores enteros original a partir de la señal de valores enteros transformada. Al decir que no tiene retardo de entrada/salida significamos que tiene una ejecución causal y que la inversa tiene una ejecución causal tal que las dos en cascada no tienen retardo en conjunto. Las disposiciones de filtro de codificar y descodificar sin pérdida son en sí mismas ejemplos de una disposición de transformación de forma de onda de valores enteros susceptible de inversión que no tiene retardo de entrada/salida, y en esta descripción se dan otros varios ejemplos de tales disposiciones. Tales disposiciones pueden ser "triviales", es decir, tener una salida igual a, por ejemplo, la entrada o menos la entrada.
La disposición de etapas de filtro de cuantificación en cascada seguidas de un cuantificador de valores enteros puede usarse ya sea para codificar sin pérdida o ya sea para descodificar sin pérdida. Una disposición inversa que use como una cadena lateral de realimentación alrededor del cuantificador de valores enteros los filtros en cascada con todos los caminos de la señal sin retardo omitidos y en que las alimentaciones directas desde la entrada lo sean a través de todos los filtros de retardo A_{i} y B_{i}, que aquí se describen con referencia a las figuras 16 y 17 en lo que sigue, puede usarse para descodificar o codificar, respectivamente.
Preferiblemente, las disposiciones de filtro usadas para codificar y las disposiciones de filtro inversas usadas para descodificar serán causales y estables, de modo que las salidas del filtro no aumenten indebidamente de magnitud.
Es necesario para la estabilidad de la codificación y de la descodificación que los filtros de codificación y de descodificación sean de una forma de fase mínima, es decir, que ellos y sus inversos (ignorando la cuantificación) sean estables de acuerdo con los criterios de estabilidad bien conocidos, tales como que los polos de filtro y los ceros estén todos dentro de, o sobre, el círculo complejo unidad. Véase cualquier texto normal sobre la teoría del filtrado digital, por ejemplo, el de A. Antoniou titulado "Digital Filter Analysis, Design and Application", 2ª Edición, McGraw-Hill Inc., New York, EE.UU., 1993.
Sin embargo, aunque muy preferible, no es esencial que el filtro de descodificar sea estable, dado que la naturaleza inversa sin pérdida de la descodificación asegurará una recuperación exacta de la entrada. No obstante, si se usa una disposición de filtro de codificar que no sea de fase mínima, en general no se reducirá tanto la longitud de la palabra por la disposición de codificar como por las disposiciones de filtro de codificar adecuadas que sean de fase mínima. Además, el uso de una disposición de filtro de codificar de fase no mínima dará por resultado una disposición de descodificación que sea deficiente en cuanto a la recuperación de los errores de datos en la transmisión.
El invento puede ser aplicado a señales de forma de onda de múltiples canales relacionadas, usando filtros de FIR A y B, o A_{i} y B_{i} en los filtros de codificar y de descodificar inverso que sean filtros de matriz en donde cada entrada de canal alimenta a cada salida de canal por un filtro de FIR con coeficientes de precisión finita, y el filtro de conformación del ruido puede ser también un filtro de matriz. En el caso de matriz, el criterio de estabilidad es que todos los polos y ceros del filtro definidos por el determinante de las matrices estén dentro de, o sobre, el círculo unidad.
Como se describirá con más detalle en lo que sigue, en el caso de que el filtro de FIR A o A_{i} en el codificador tenga "fugas", es decir, sea estrictamente estable y no tenga ceros en el círculo unidad, puede entonces no ser necesario transmitir las variables de estado de inicialización desde el codificador al descodificador, ya que en ese caso las variables de estado alcanzarán finalmente, después de un lapso de tiempo suficiente con las señales de entrada reales, los mismos valores en el descodificador que en el codificador, y desde ese punto en adelante la descodificación será sin pérdida.
El invento puede usarse, y preferiblemente se usa, con una disposición de codificación o de descodificación de entropía asociada o de Huffman o similar. El uso de tal codificación de entropía o de Huffman o similar en la salida de una disposición de codificación de datos de forma de onda de PCM de acuerdo con el invento, proporciona un régimen de datos más bajo para la señal codificada, y es también necesaria para que el descodificador asociado preceda a la disposición de filtro de descodificación mediante una descodificación inversa de entropía o de Huffman, o similar. El invento puede ser también aplicado a señales de entrada que tengan cualquier tamaño G uniforme de paso de cuantificación, considerando para ello el tamaño del paso como el entero unidad para los fines de la puesta en práctica del invento. En particular, la señal de entrada a un codificador puede ser pre-procesada para separar los componentes de corriente continua y para normalizar la ganancia de modo que el tamaño del paso se convierta en, o pueda ser considerado como, la unidad, y el descodificador puede ir seguido de un proceso inverso de multiplicación por el tamaño G de paso original y la reinserción del componente de corriente continua.
Al transmitir señales de PCM, puede desearse manejar señales de forma de onda de PCM de diferentes longitudes de palabra o precisión, de una manera común. Esto puede hacerse en la representación de PCM añadiendo para ello dígitos menos significativos adicionales a la longitud de la palabra más corta que tengan una forma invariable constante para la longitud de palabra más corta para llevarlas a una longitud de palabra más larga común. Se pueden obtener economías en el régimen de datos al transmitir tales señales, no solamente por reducirse la energía de la señal de valores enteros transmitida, sino, además, por detectar en la señal de PCM de longitud de palabra más larga si están presentes tales dígitos menos significativos constantes durante secuencias extendidas de muestras, y si es así, para transmitir las palabras digitales en forma codificada sin los dígitos menos significativos, transmitiendo esos dígitos menos significativos una vez por separado durante una secuencia, y añadiendo esos dígitos menos significativos de nuevo en el descodificador. Por este medio se puede usar un solo formato común para transmitir una gran diversidad de longitudes de palabra, al tiempo que se permite que los regímenes de datos se ajusten automáticamente de acuerdo con la longitud de la palabra.
En particular, se pueden usar un codificador y un descodificador en los cuales la longitud de la palabra y la precisión de la palabra sean adaptables en cada momento para bloques sucesivos de muestras de formas de onda, usando una longitud de palabra posiblemente diferente en cada bloque.
Al tiempo que esto permite la codificación y la descodificación sin pérdida de señales de cualquier longitud de palabra fijada, permite también que los codificadores y los descodificadores del presente invento sean usados también con un sistema de codificación con pérdida.
Esto se hace precediendo un codificador sin pérdida de adaptación a la longitud de palabra y a la precisión de la palabra por un algoritmo de redondeo de adaptación, el cual redondea o cuantifica bloque por bloque de muestras de forma de onda los datos de formas de onda para una precisión reducida, e incorpora conformación del ruido de adaptación en torno al cuantificador, de tal modo que la energía y la forma espectral del error de cuantificación del ruido conformado así introducido esté por debajo de umbrales de percepción aceptables, en presencia de la señal de forma de onda de PCM en esa parte de los datos de la forma de onda. Un sistema subsiguiente de transmisión sin pérdida asociado, de adaptación a la longitud de la palabra y a la precisión de la palabra, transmite después los datos de forma de onda modificados sin ninguna otra pérdida adicional.
Esto permite usar los sistemas de descodificación sin pérdida de adaptación a la longitud de la palabra y a la precisión de la palabra también para la transmisión con pérdida de señales de acuerdo con el criterio de percepción cuando se requiera un régimen de datos reducido, sin que se requieran características especiales en el descodificador que no estén ya presentes para los fines de descodificación sin pérdida. Debido a que la cuantificación de ruido conformado de adaptación con pérdida por percepción inicial de la señal de forma de onda precede al codificador, el sistema está todavía manejando la señal resultante en una forma sin pérdida, de una manera eficiente, para reducir todo lo posible el régimen de datos.
Es evidente que los algoritmos de codificación sin pérdida en cascada para formas de onda de valores enteros darán por resultado algoritmos de codificación sin pérdida compuestos más complejos, cuyo efecto puede deshacerse mediante una cascada en orden invertido de algoritmos de descodificación sin pérdida inversos. Por lo tanto, el invento incluye codificadores o descodificadores en cascada o compuestos que incorporan codificadores o descodificadores de componentes de acuerdo con el invento.
Además, la puesta en práctica del invento puede efectuarse redistribuyendo, combinando o dividiendo los sub-algoritmos componentes en formas evidentes para quienes sean expertos en la técnica, y también sobre la base de métodos que aquí se describen y a los que aquí se hace referencia. En particular, se pueden añadir en forma equivalente señales divisibles por G que tengan un tamaño G del paso de cuantificación, antes o después de un cuantificador del tamaño de paso G, con resultados equivalentes, y los sub-algoritmos en cascada pueden ser sustituidos por sub-algoritmos simples que se sepa que son de idénticas actuaciones, o viceversa. Se pueden añadir o retirar inversiones de la polaridad en formas evidentes para quienes sean expertos en la técnica, por ejemplo, cambiando la suma a nodos de diferencia, con tal de que la funcionalidad general permanezca sin cambio. Se pueden aplicar también otras redistribuciones de la clase descrita en la Sección 1 de la antes citada referencia de Gerzon, Craven, Stuart y Wilson.
Breve descripción de los dibujos
A continuación se describirán realizaciones del invento, a modo de ejemplos, con referencia a los dibujos que se acompañan, en los cuales:
En la Figura 1 se ha ilustrado un sistema basado en predictor de codificación y descodificación sin pérdida de señales de valores enteros de longitud de palabra reducida;
En la Figura 2 se ha ilustrado un sistema de codificación y descodificación de predictor sin pérdida de la técnica anterior;
En las Figuras 3 y 4 se ha ilustrado un esquema de un sistema de codificación y descodificación sin pérdida usando codificación de entropía de los datos;
En la Figura 5 se ha ilustrado una forma equivalente a la de la Figura 2 de sistemas de codificación y descodificación de predictor sin pérdida;
En la Figura 6 se han ilustrado formas de un sistema de codificación y descodificación sin pérdida;
En las Figuras 7a y 7b se ha ilustrado un sistema de codificación y descodificación de predictor sin pérdida de tercer orden;
En la Figura 7c se han ilustrado las respuestas de frecuencia asociadas con los diversos valores de los coeficientes del filtro de codificación;
En la Figura 8 se ha ilustrado un sistema de codificación y descodificación de predictor sin pérdida que incorpora la conformación del ruido alrededor del cuantificador;
En la Figura 9 se ha ilustrado un conformador del ruido de la forma interior alrededor de un cuantificador;
En la Figura 10 se ha ilustrado un sistema de codificación y descodificación de predictor sin pérdida que incorpora la conformación del ruido de la forma interior alrededor del cuantificador;
En la Figura 11 se ha ilustrado un sistema de codificación y descodificación de predictor sin pérdida de tercer orden que incorpora conformación del ruido de la forma interior alrededor del cuantificador;
En la Figura 12 se ha ilustrado un conformador del ruido de la forma exterior alrededor de un cuantificador;
En las Figuras 13a y 13b se ha ilustrado un sistema de codificación y descodificación de predictor sin pérdida que incorpora conformación del ruido de la forma exterior alrededor del cuantificador;
En las Figuras 13c y 13d se ha ilustrado un sistema de codificación y descodificación de predictor sin pérdida que es equivalente al sistema ilustrado en las Figs. 13a y 13b;
En la Figura 14 se ha ilustrado un sistema de codificación y descodificación de predictor sin pérdida de tercer orden que incorpora conformación del ruido de la forma exterior alrededor del cuantificador;
En las Figuras 15a a 15d se han ilustrado sistemas de codificación y descodificación inversa sin pérdida más generales;
En las Figuras 16 se han ilustrado sistemas de codificación y descodificación inversa sin pérdida en los que se usa un cuantificador fraccionario;
En las Figuras 17 se han ilustrado sistemas de codificación y descodificación en cascada inversa en los que se usan cuantificadores fraccionarios;
En las Figuras 18a y 18b se han ilustrado, respectivamente, un esquema de un sistema d codificación y descodificación sin pérdida general para aplicaciones de audio de alta calidad;
En la Figura 19 se ha ilustrado un árbol de codificación de Huffman para estadística de la función de densidad de probabilidad Laplaciana para la longitud de bloque L = 256 ó más muestras;
\newpage
En las Figuras 20a y 20b se han ilustrado sistemas de codificación con pérdida que incorporan un codificador y descodificador sin pérdida para reducir los regímenes de datos de las señales de audio, usando redondeo de adaptación de la señal de entrada, que representan respectivamente los casos sin y con cuantificador de percepción de adaptación;
En las Figuras 21a y 21b se han ilustrado, respectivamente, un codificador de pre-énfasis sin pérdida y un descodificador de de-énfasis sin pérdida;
En la Figura 21c se ha ilustrado una curva de respuesta de la frecuencia de pre-énfasis para un régimen de muestreo de 96 KHz, para uso con codificación de pre-énfasis sin pérdida;
En las Figuras 22 se ha ilustrado una disposición de cuantificación de matriz sin pérdida simple y de descodificación de matriz inversa que altera un canal solamente;
En la Figura 23 se ha ilustrado una disposición de cuantificador de codificación sin pérdida y de descodificación de matriz inversa, que comprende dos sistemas en cascada del tipo de la Figura 22;
En las Figuras 24a, 24c, 24e, 24g, 24i y 24k se ha ilustrado un sistema de codificación de predictor sin pérdida de matriz de n canales, y en las Figuras 24b, 24d, 24f, 24h, 24j y 24l, se han ilustrado los respectivos sistemas de descodificación de predictor sin pérdida de matriz de n canales inversa;
En la Figura 25 se ha ilustrado un filtro de FIR de matriz de segundo orden de 2 x 2 con retardo de al menos una muestra;
En la Figura 26 se ha ilustrado un sistema de codificación simplificado para señales de n canales, y el correspondiente descodificador inverso;
En las Figuras 27a y 27b se han ilustrado, respectivamente, un codificador sin pérdida y un descodificador sin pérdida, que incluyen auto oscilación de pequeña amplitud; y,
En las Figuras 28a y 28b se ha ilustrado una forma de cambio de ganancia sin pérdida que incorpora auto oscilación de pequeña amplitud.
Los mejores modos para la puesta en práctica del invento
Se puede llevar a la práctica el invento alimentando para ello datos de formas de onda en forma de PCM digital, en pastillas de procesado de señales digitales, de las cuales son ejemplos típicos actuales las de la familia Motorola DSP 56000 o DSO 96000, o las de la familia TMS 320 de la firma Texas Instrument, y los algoritmos de codificación y descodificación pueden ser puestos en práctica en forma de código diseñado para funcionar en la pastilla y almacenado en la memoria del programa sobre, o asociado con, la pastilla. Alternativamente, en aplicaciones basadas en ordenador, la señal de forma de onda en las formas de PCM y codificada puede ser manejada como datos digitales en el ordenador y en su memoria asociada, y los algoritmos de codificación y descodificación pueden ser puestos en práctica en forma de código de programa para el ordenador, en formas bien conocidas por los expertos en la técnica. En aplicaciones para las que se requiera la producción de grandes números de codificadores y descodificadores baratos, las pastillas de procesado de señal usadas pueden ser optimizadas para los algoritmos usados para producir pastillas dedicadas para esa aplicación específica.
Las señales de forma de onda se originarán usualmente ya sea a partir de una señal de forma de onda analógica original (tal como una señal de audio o de imagen o de vídeo), la cual es luego convertida en PCM o en forma similar, mediante un convertidor de analógico a digital, y tales señales de forma de onda serán usadas finalmente por un usuario final, siendo para ello hechas pasar a un convertidor de digital a analógico para producir una forma de onda analógica reproducida. No obstante, en algunos casos, la forma de onda puede ser producida por entero en el dominio digital, por ejemplo mediante un sintetizador digital para señales de música de audio, o bien mediante un programa de dibujo para las formas de onda de imagen. La forma de onda puede ser también ampliamente modificada en el dominio digital, por ejemplo mezclando señales de audio juntas en una estación de trabajo de audio digital, o bien mediante el uso de efectos y filtros.
El invento, como los métodos de codificación sin pérdida conocidos de la técnica anterior, está basado en el uso de una disposición de filtrado de cuantificación invertible, para codificar formas de onda de valores enteros para producir señales de forma de onda de valores enteros que tienen longitudes de palabra más pequeñas y en la descodificación de la forma de onda de valores enteros de longitud de palabra reducida mediante una disposición de filtrado de cuantificación inversa, para descodificar para recuperar exactamente la forma de onda de valores enteros original, como se ha ilustrado en la Figura 1.
La disposición de filtro de cuantificación conocida de la técnica anterior usada para la codificación sin pérdida se ha representado en la Figura 2a, y la disposición de filtro de cuantificación conocida de la técnica anterior usada para descodificación sin pérdida se ha ilustrado en la Figura 2b. En la Figura 2a se ha ilustrado un sistema de predictor usual alrededor de una operación de redondeo de cuantificador de valores enteros, del tipo familiar en la bibliografía sobre predicción, tal como en la antes citada referencia de Makhoul. El filtro de predictor P(z^{-1}), donde z^{-1} representa un retardo de una muestra y P(z^{-1}) es la respuesta del predictor, es alimentado desde la salida a través de un cuantificador de nodo de suma, el cual puede redondear al entero más próximo, al cual es también alimentada la salida del predictor, y el cuantificador es alimentado a través de un segundo nodo de suma mediante la señal de entrada y en fase invertida la salida del predictor. El descodificador sin pérdida inverso ilustrado en la Fig. 2b alimenta la señal codificada a través de un nodo de suma al cuantificador, y el predictor, idéntico al usado en el codificador, es alimentado por la entrada al cuantificador y su salida alimenta al nodo de suma.
Como es sabido de la técnica anterior, y puede comprobarse por cálculo de las relaciones matemáticas entre señales presentes en cada camino en las redes de las Figuras 2a y 2b, la red de descodificación reconstruye con precisión la señal de entrada original, con tal únicamente de que en cualquier tiempo anterior las variables de estado en los filtros de predicción sean idénticas.
Aunque con una elección adecuada de predictores, el codificador de la técnica anterior de la Figura 2a reduce la magnitud típica y media de las señales codificadas, ésta se convierte a un régimen de datos reducido mediante un segundo paso en las Figuras 3 y 4 que denominaremos aquí genéricamente como "codificación de entropía", mediante el cual se acortan las longitudes de las palabras comunes para transmisión. A fin de descodificar la señal original, se usa otro paso, como el ilustrado en las Figuras 3 y 4, al que aquí designaremos con el término genérico de "descodificación de entropía" para recuperar la longitud de la palabra original de la señal codificada, y luego se descodifica la señal codificada de vuelta a las palabras de entrada originales.
Este acortamiento de la longitud de la palabra por "codificación de entropía" puede conseguirse de numerosas formas conocidas de la técnica anterior, y describiremos a modo de ejemplo brevemente dos métodos típicos que han sido de uso común. Por un método sencillo se divide la señal en bloques de muestras de longitud L, y para cada bloque se examina cuántos B_{2} de los bits más significativos son invariables en todo el bloque, y se desechan esos B_{2} bits más significativos, dejando las palabras de B_{2} bits de longitud más cortas. El número B_{2} es transmitido por separado con los datos de la palabra del bloque. El descodificador de entropía reinserta estos B_{2} bits invariables más significativos para recuperar la longitud de la palabra.
En un método más elaborado, que ofrece una reducción aumentada del régimen de datos, se hace uso del método de codificación de Huffman usando las tablas de consulta de codificación de Huffman. Este método se ha descrito, por ejemplo, en la antes citada referencia de Cellier y otros. Las técnicas de codificación de Huffman se han descrito en numerosas referencias, por ejemplo, véase el artículo de J. Weiss y D. Schremp titulado "Putting data on a diet", aparecido en la publicación IEEE Spectrum, Vol. 30, Nº 8, págs. 36-39 (agosto de 1993), o bien la antes citada referencia de Cellier y otros, o el Capítulo 6 de la antes citada referencia de Gonzales y Woods. o bien la anterior referencia de Rabbani y Jones. El método de la tabla de Huffman sustituye cada palabra digital por otra palabra de longitud variable elegida de una tabla de consulta, elegida de modo que más palabras digitales comunes tengan una longitud corta y menos de las comunes una longitud más larga. La tabla de Huffman se deriva de un árbol de Huffman, tal como se ha descrito en las referencias citadas, y tiene la propiedad de que las palabras de la tabla de Huffman pueden ser recuperadas sin ambigüedades a partir de la corriente de datos, sin necesidad de información alguna "separadora" entre palabras, y se usa a través de una tabla inversa para recuperar las palabras digitales originales.
La tabla de Huffman usada puede ser de adaptación a las estadísticas de las señales, y el codificador y el descodificador pueden tener una serie de tablas de Huffman para codificar y descodificar, siendo elegida la tabla usada en cada bloque de datos para reducir al mínimo el régimen de datos en ese bloque, y siendo transmitida la elección de la tabla con los datos codificados de modo que el descodificador conozca qué tabla debe usar para descodificar ese bloque.
Esta técnica anterior es bien conocida y se ha descrito, por ejemplo, en las citadas referencias y en otros lugares en la bibliografía. Un ejemplo particular de codificación y de descodificación de Huffman se describe a modo de ejemplo más adelante en esta memoria Descriptiva.
En las Figuras 5a y 5b se ha ilustrado un esquema simplificado del respectivo codificador y descodificador de los sistemas de predicción ilustrados en las Figuras 2a y 2b, donde B(z^{-1}) representa un filtro que tiene como respuesta
B(z^{-1})=\frac{P(z^{-1})}{1-P(z^{-1})}
Donde z^{-1} representa un retardo de una muestra y P(z^{-1}) es la respuesta del predictor.
En las realizaciones de la técnica anterior, B(z^{-1}) ha sido un filtro recursivo, y no se ha reconocido que las realizaciones con B(z^{-1}) y coeficientes del filtro de FIR con partes fraccionarias de precisión finita sean particularmente ventajosas.
El esquema de la Figura 5 puede generalizarse al de las Figuras 6a y 6b, y realizando los filtros A(z^{-1}) y
B(z^{-1}) mediante filtros de respuesta de impulsos finitos (FIR) cuyos coeficientes sean números racionales cuyo mínimo denominador común sea un entero d. Tales filtros pueden ser realizados por aritmética de precisión finita y los sistemas generales ilustrados en la Figura 6 pueden ser realizados sin error alguno de redondeo general por medio de una realización tal como la ilustrada en las Figs. 6e y 6f.
En algunas realizaciones, en las que los filtros A(z^{-1}) y B(z^{-1}) son filtros de respuesta de impulsos finitos (FIR) cuyos coeficientes sean números racionales cuyo mínimo denominador común sea un entero d, uno u otros de los filtros A(z^{-1}) y B(z^{-1}) pueden estar ausentes, o lo que es equivalente, tener todos los coeficientes iguales a cero.
En la Figura 6a, un sistema de codificación predictivo comprende la entrada de variable de estado que alimenta a un nodo de suma tanto directamente como a través de un filtro de FIR, teniendo A(z^{-1}) al menos un retardo de una muestra y teniendo coeficientes racionales de precisión finita, por ejemplo, coeficientes con solamente n dígitos binarios fraccionarios, de modo que d = 2^{-n}. El nodo de suma alimenta a un cuantificador de variable de estado u operación de redondeo con un paso de tamaño unidad, de modo que su salida es también de variable de estado, y la salida del cuantificador es también realimentada al, y restada del, nodo de suma, a través de otro filtro de FIR, teniendo B(z^{-1}) al menos un retardo de una muestra y teniendo coeficientes racionales de precisión finita, por ejemplo, coeficientes con solamente n dígitos binarios fraccionarios, de modo que d = 2^{-n}. Las señales alimentadas al nodo de suma son o bien de variable de estado o bien múltiplos de 1/d, de modo que pueden ser representadas sin ambigüedades en el cuantificador, de manera que la operación de cuantificación, típicamente redondeando al entero más próximo, puede ser realizada sin ambigüedades y sin error.
Una característica particular del sistema ilustrada en la Figura 6a es la de que el proceso de codificar la señal de variable de estado de entrada en una señal de variable de estado de salida es invertible, es decir, que un segundo sistema puede recuperar la señal de variable de estado de entrada a partir de la señal de variable de estado de salida, es decir, que el proceso de cuantificación es sin pérdida y reversible.
La Figura 6b es un esquema de este proceso de descodificación inversa o sin pérdida. Funcionalmente, esto es idéntico al codificador de la Fig. 6a, con exactamente dos excepciones: en primer lugar, los filtros de FIR A(z^{-1}) y
B(z^{-1}) están intercambiados, y en segundo lugar el cuantificador usado en el descodificador es equivalente al cuantificador de codificación tanto precedido como seguido por una ganancia de -1. Para un cuantificador de redondeo, esto es equivalente a usar una operación de redondeo que redondee rebajando los valores a mitad de recorrido entre los niveles de cuantificación si el cuantificador usado en el codificador redondea aumentando, o viceversa.
En cualquier instante en el tiempo, los filtros A(z^{-1}) y B(z^{-1}) en el codificador de la Fig. 6a están almacenando valores pasados de la historia de la entrada a los filtros en la memoria, realizando los retardos de tiempo en el filtro. Estos valores almacenados son conocidos como las variables de estado del sistema de la Fig. 6a.
A fin de que el descodificador de la Fig. 6b invierta el proceso de la Fig. 6a, es necesario que las variables de estado en cualquier momento en los filtros A(z^{-1}) y B(z^{-1}) en el codificador y en el descodificador sean idénticas. Es suficiente, para garantizar esto en momentos subsiguientes en el tiempo, que las variables de estado en cualquier momento dado en el tiempo sean idénticas. Así, a fin de reconstruir la señal de entrada al codificador en la salida del descodificador es necesario no solamente transmitir la salida del codificador a la entrada del descodificador, sino también transmitir los valores iniciales de las variables de estado en los filtros A(z^{-1}) y B(z^{-1}) del codificador al descodificador. Este proceso se denomina "inicialización" del descodificador.
Para ver que la Figura 6b realiza ciertamente la descodificación inversa para la codificación de la Figura 6a, obsérvese que la salida S' de la Figura 6a viene dada en términos de la entrada S mediante la expresión
S' = S + cuantificar (AS BS')
donde cuantificar es la operación de redondeo al valor entero y donde los operadores A y B representan los respectivos filtros A(z^{-1}) y B(z^{-1}) que incorporan retardos. La ecuación inversa es
S = S' + cuantificar (AS BS') = S' + cuantificar' (BS' AS)
donde cuantificar' es el proceso de cuantificar original precedido y seguido por una inversión de la polaridad. Este procedimiento inverso se ha realizado mediante la Figura 6b.
El codificador de la Figura 6a trabajará para filtros de FIR de precisión finita arbitraria A(z^{-1}) y B(z^{-1}), y el descodificador de la Fig. 6b reconstruirá siempre la señal de entrada al codificador a partir de la salida del descodificador, con tal de que sea inicializada correctamente. No obstante, si el filtro digital realizado mediante la Fig. 6a es inestable, entonces su salida aumentará de nivel de forma rápida e ilimitada, y no será adecuada para su transmisión. Es por lo tanto necesario elegir el denominador 1 + B(z^{-1}) del filtro de codificación para que sea estable, es decir, que tenga ceros dentro de, o sobre, el círculo unidad. Además, para reducir al mínimo el régimen de datos, es también deseable, aunque no esencial, que el descodificador inverso sea también estable, es decir, que el denominador 1 + A(z^{-1}) del filtro de descodificación sea estable, es decir, que tenga ceros de la variable compleja z dentro de, o sobre, el círculo unidad. La teoría de la estabilidad de los filtros digitales recursivos, y de los medios para asegurar la estabilidad, son bien conocidos y se pueden encontrar en la mayor parte de los textos normales sobre el diseño de filtros digitales, tales como la antes citada referencia de Antoniou.
Una realización alternativa, pero funcionalmente equivalente, de los sistemas de codificación y descodificación sin pérdida de las Figuras 6a y 6b se ha ilustrado, respectivamente, en las Figuras 6c y 6d. La señal de entrada puede ser añadida después del cuantificador en vez de antes, para formar la salida, como se ha ilustrado en la Figura 6c y 6d, ya que la adición de una señal de un valor entero antes de un cuantificador de valores enteros produce el mismo resultado que la adición después. Obsérvese que para equivalencia funcional, el cuantificador usado en la Figura 6b es equivalente al cuantificador usado en la Figura 6d, tanto precedido como seguido por una ganancia de -1.
El mismo proceso puede ser usado en el descodificador, como se ha ilustrado en la Figura 6d, que en el codificador de la Figura 6c, difiriendo únicamente en que los filtros de FIR A(z^{-1}) y B(z^{-1}) están intercambiados. Los cuantificadores usados en el codificador y en el descodificador son funcionalmente idénticos en este caso.
En las Figuras 6e y 6f se han ilustrado, respectivamente, realizaciones prácticas usando aritmética de valores enteros de los sistemas de codificación y descodificación sin pérdida de las Figuras 6a ó 6c y 6b ó 6d. En vez de realizar los filtros A(z^{-1}) y B(z^{-1}) con coeficientes fraccionarios, se realizan dA(z^{-1}) y dB(z^{-1}) los cuales tienen coeficientes todos enteros, se restan los resultados, y se divide después por d y se cuantifica. La división por d y la cuantificación pueden realizarse en un solo paso, cuantificando para ello en los pasos de d en vez de hacerlo en los pasos de 1, o bien puede realizarse mediante una multiplicación por una aproximación 1/d con la exactitud de una precisión suficiente pero finita para representar correctamente la parte fraccionaria de la salida hasta el entero más próximo, seguida de una operación de redondeo al valor entero.
El mismo proceso de aritmética de valores enteros puede usarse en el descodificador, como se ha ilustrado en la Figura 6f, que difiere del codificador de la Fig. 6e únicamente en que los filtros de FIR dA(z^{-1}) y dB(z^{-1}) están intercambiados. El cuantificador usado en el codificador y el usado en el descodificador inverso son funcionalmente idénticos en este caso.
En las Figuras 7a y b se han ilustrado, a modo de ejemplos, un codificador y un descodificador respectivos para el caso de los filtros A(z^{-1}) y B(z^{-1}) que son filtros de FIR de tercer orden, con
A(z^{-1}) = a_{1}z^{-1} + a_{2}z^{-1} + a_{3}z^{-1}
B(z^{-1}) = b_{1}z^{-1} + b_{2}z^{-1} + b_{3}z^{-1}
donde a_{1}, a_{2}, a_{3}, b_{1}, b_{2}, b_{3} son todos coeficientes de la forma m/d, donde d es un mínimo con denominador entero, y m es un numerador entero que puede ser diferente para cada coeficiente del filtro.
También se han ilustrado en la Figura 7 las variables de estado, las cuales comprenden tres valores de entrada sucesivos I_{1}, I_{2}, I_{3} y tres valores de salida sucesivos O_{1}, O_{2}, O_{3}, del codificador, y las correspondientes variables de estado en el descodificador.
En una aplicación típica, el filtrado del codificador será elegido con adaptación, de modo que se reduzca al mínimo la energía de la señal de salida de un momento a otro. Esto puede efectuarse típicamente codificando bloques de L muestras sucesivas de datos de la forma de onda, donde en aplicaciones de audio de alta calidad, L puede estar comprendida típicamente entre 256 y 1536 muestras. Cada bloque puede ser codificado con diferentes coeficientes de filtro adaptados para reducir al mínimo el nivel de la señal de salida para ese bloque de datos. Con fines ilustrativos, consideramos el caso de L = 576 muestras. En tales aplicaciones típicas, se seleccionarán un filtro de codificación
A(z^{-1}) y B(z^{-1}) posiblemente nuevos para cada bloque, y los seis coeficientes a_{1}, a_{2}, a_{3}, b_{1}, b_{2}, b_{3}, transmitidos al descodificador para ese bloque de muestras, y además se transmiten también el descodificador las tres primeras muestras de entrada I_{1}, I_{2}, I_{3} y todas las L muestras de salida del codificador. Las tres primeras muestras de entrada al codificador se usan tanto para inicializar el descodificador para ese bloque como para proporcionar las tres primeras muestras de salida. Las tres primeras muestras de salida del codificador se usan también para inicializar el descodificador, de modo que desde la cuarta muestra de salida a la muestra L-ésima de salida del descodificador, el descodificador reconstruye la entrada al codificador en forma sin pérdida.
La elección de filtros A(z^{-1}) y B(z^{-1}) para reducir al mínimo el régimen de datos codificados puede hacerse de una diversidad de formas. Un método consiste en simplemente tener un pequeño conjunto de posibles elecciones y codificar la forma de onda de entrada con cada una de ellas y seleccionar esa elección que da el menor nivel de señal de salida media o bien el menor nivel de pico en un bloque. Los coeficientes usados en ese predictor son luego transmitidos al descodificador y cargados en los filtros en el descodificador.
En general, se tratará de producir filtros tales que el filtro
\frac{1}{1+B(z^{-1})} (1+A(z^{-1}))
tenga una respuesta de frecuencia cuya tendencia general sea aproximadamente inversa al contenido espectral de la señal a ser codificada, de modo que la señal codificada de salida tenga un espectro que se aproxime mucho más a ser blanco. Si, por ejemplo, una señal de PCM de audio a ser codificada tiene una energía de base relativamente alta, como es corrientemente el caso, se dispondría entonces el filtro para producir un gran corte de bajos, por ejemplo, haciendo que el numerador 1 + A(z^{-1}) incorpore uno o más factores que se aproximen a 1 kz^{-1} para k próximo a 1, o bien poniendo un cero del numerador próximo al círculo unidad a la frecuencia cero o próxima a ésta. Para material de audio con una alta energía en el margen de frecuencias medias alrededor de 7 KHz, tal como en los sonidos sibilantes en la palabra, en el sonido de los platillos y en alguna música "pop", se usaría un filtro para codificar que atenuase esas frecuencias en gran medida. Para material de audio con muy poca energía a frecuencias muy altas, tal como es típico en muchas formas de onda de música clásica, se usarían filtros que produjesen un gran refuerzo de esas frecuencias, por ejemplo, situando un polo del denominador I + B(z^{-1}) próximo a la frecuencia de Nyquist.
En general, es útil tener en cuenta cuando se diseña una disposición de filtrado para un espectro de señales particular que la respuesta de frecuencia en decibelios o logarítmica de un filtro de fase mínima de la forma
\frac{1}{1+B(z^{-1})} (1+A(z^{-1}))
tenga como valor medio, promediado entre la frecuencia cero y la frecuencia de Nyquist, de 0 dB.
Se ha demostrado que esta es una condición necesaria y suficiente para que un filtro sea de fase mínima en la referencia de M.A. Gerzon y P.G. Craven titulada "Optimal Noise Shaping and Dither of Digital Signals" Preprint 2822 de la 87ª Audio Engineering Society Convention, New York (EE.UU.) (18-21 de octubre de 1989). Debido a esto, un reforzamiento de una parte de la gama de frecuencias producirá un corte del promedio de compensación sobre el resto de la gama de frecuencias.
A modo de ejemplo de un conjunto de posibles elecciones de filtro codificador en una aplicación de codificación de forma de onda de audio a un régimen de muestreo de 44,1 KHz, se podrían elegir los filtros de codificación con
a_{3} = 0, b_{3} = 0, y valores de a_{1}, a_{2}, b_{1}, b_{2}, reflejados en uno de los casos presentados en la tabla 1.
TABLA 1
caso a_{1} = a_{2} = b_{3} = b_{2} =
0 0 0 0 0
1 -6/4 3/4 3/4 2/4
2 -6/4 2/4 3/4 2/4
3 -6/4 2/4 -1/4 1/4
4 -7/4 3/4 0 -2/4
5 -1/4 1/4 5/4 2/4
6 -3/4 3/4 5/4 2/4
7 5/4 2/4 -1/4 1/4
Las respuestas de frecuencia de estos 8 casos de la tabla 1 de filtros de codificación de segundo orden se han representado gráficamente en dB frente a las frecuencias en KHz en la Figura 7c para un régimen de muestreo de 44,1 KHz. Se verá que estos filtros varían considerablemente en el grado de corte o de refuerzo para frecuencias de base, central y de tonos altos, en adaptación a una gran diversidad de espectros de señal. La variedad de posibles respuestas de frecuencia se aumentará aún más si se permite también que a_{3} y b_{3} no sean cero, y si se permite que el denominador de los coeficientes sea 8, 16 ó más alto. En particular, al aumentar el denominador las curvas pueden tener márgenes dinámicos más extremos entre los refuerzos y los cortes, y el más alto orden permite una transición más brusca entre las regiones de frecuencias que están cortadas y las que están reforzadas, así como formas más complicadas de las respuestas de frecuencia. Estos refinamientos permiten una predicción más precisa de la señal, produciendo una menor amplitud de la señal codificada por predicción.
Donde haya un número muy grande de posibles elecciones de filtros para el codificador, no será posible ensayar por cálculo cada posible filtro para averiguar cuál es el que da la mínima energía de la señal codificada media o de pico. No obstante, se puede seleccionar de entre una pequeña selección (puede ser de tan solo cuatro o cinco) de filtros que difieren ampliamente adaptados a los espectros de formas de onda esperados típicamente, como un primer paso, codificar la forma de onda en un bloque con cada uno de esos filtros especialmente seleccionados, y seleccionar aquél que dé el mínimo nivel de salida medio o de pico. Una vez que se haya encontrado el mejor de ellos, se puede entonces, para una codificación mejorada como un segundo paso, ensayar una segunda pequeña selección de filtros, todos mucho más similares al filtro seleccionado en el primer paso, a fin de averiguar si existe un filtro mejor. Este proceso se puede incluso repetir de nuevo, usando cada vez un conjunto de filtros más similar que el de la etapa anterior. Por este medio, se pueden hallar para cada bloque filtros que se acerquen bastante a producir la reducción óptima del nivel de salida medio o de pico.
También se prefiere con frecuencia realizar el codificador para ensayar en un bloque de muestras el filtro ya hallado como óptimo en el último bloque de muestras, puesto que para señales con estadísticas relativamente estacionarias, éste se encuentra frecuentemente que es un buen filtro también para el bloque actual de muestras. Si se comprueba que ese predictor es mejor que otros ensayados en una primera etapa de la determinación de cuál de los varios filtros reduce al mínimo los niveles de salida, se puede efectuar entonces otra búsqueda para filtros que se aproximen más al usado en el último bloque, o bien se puede simplemente retener el filtro usado en el bloque anterior si los nuevos filtros dan escasa mejora en cuanto a la reducción del nivel de salida.
Se pueden idear métodos más elaborados para optimizar la elección de filtros A(z^{-1}) y B(z^{-1}). Por ejemplo, se puede hacer una estimación del espectro de las señales de entrada a lo largo de la duración del bloque usando para ello métodos FFT (Transformada de Fourier Rápida) sobre un bloque de muestras encuadradas en una ventana más larga que el bloque que esté siendo codificado, siendo usado el encuadre de ventana para mejorar la estimación del espectro. Se puede entonces diseñar un filtro de fase mínima de tercer orden, usando técnicas de adaptación de curvas para que tengan una adaptación de respuesta espectral que sea la inversa del espectro resultante, reduciendo para ello al mínimo la diferencia media en decibelios entre el espectro de la señal y la respuesta de frecuencia en dB del filtro
\frac{1}{1+A(z^{-1})} (1+B(z^{-1}))
Incorporación de la conformación del ruido
El sistema de codificación ideal es, como ya se ha explicado, un filtro
\frac{1}{1+B(z^{-1})} (1+A(z^{-1}))
que incorpore un cuantificador de redondeo, cuyo efecto es el de "blanquear" el espectro de la señal que llega.
No obstante, el propio cuantificador contribuye también a la salida del codificador, y cuando el nivel de la señal que llega sea bajo, puede incluso predominar la energía de salida del codificador. En este caso, puede ser deseable reducir al mínimo la energía aportada por el cuantificador a la salida del codificador. El propio espectro del ruido de cuantificación se aproxima a ser blanco, y el efecto del filtrado asociado es el de filtrar el ruido del cuantificador a través del filtro
\frac{1}{1+B(z^{-1})}
lo cual produce el efecto de aumentar el nivel del ruido de cuantificación en la salida.
Se puede crear un sistema de codificación sin pérdida más general incorporando para ello conformación del ruido alrededor del cuantificador, como se ha indicado esquemáticamente en las Figuras 8a y 8b para el codificador y el descodificador, respectivamente. En éste se usa la misma disposición que anteriormente para el codificador y el descodificador, excepto en que ahora tanto el cuantificador de codificación como el cuantificador de descodificación incorporan conformación del ruido de un tipo que necesita solamente una aritmética de precisión finita. la conformación del ruido usada en el codificador deberá ser idéntica a la usada en el descodificador, y la inicialización de las variables de estado del filtro de conformación del ruido ha de ser necesariamente transmitida desde el codificador al descodificador.
La conformación del ruido ha sido revisada en la antes citada referencia de Gerzon, Craven, Stuart, Wilson. Hay dos arquitecturas de conformación del ruido generales que pueden usarse, conocidas como las formas interior y exterior.
En la Figura 9 se ha ilustrado la forma interior de conformación del ruido alrededor de un cuantificador. En tal conformador del ruido de la forma interior se realimenta la diferencia entre la entrada y la salida del cuantificador a la entrada, a través de un filtro de FIR C(z^{-1}), preferiblemente tal que 1 + C(z^{-1}) sea la fase mínima a fin de reducir al mínimo la energía de ruido añadida.
El filtro de FIR C(z^{-1}) tiene preferiblemente coeficientes de valores enteros de modo que solamente se identifica una aritmética de precisión finita para realizar el codificador exactamente, sin error alguno de redondeo. Tales conformadores del ruido de la forma interior tienen el efecto de producir un espectro de ruido de cuantificación que es 1 +
C(z^{-1}) veces el espectro aproximadamente blanco del cuantificador básico.
\newpage
Cuando se usa en el sistema de codificación de la Fig. 8a, dando el sistema de codificación ilustrado en la Fig. 10a, el espectro del ruido de salida resultante del codificador debido al cuantificador es
\frac{1}{1+B(z^{-1})} (1+C(z^{-1}))
veces el de un espectro blanco. Así, si se desea reducir al mínimo la energía del ruido de cuantificación de salida del codificador, es mejor elegir C(z^{-1}) que sea la aproximación de valores enteros más próxima a B(z^{-1}), de tal modo que 1 + C(z^{-1}) sea la fase mínima.
El sistema de descodificación inversa al sistema de ruido conformado de la forma interior de la Figura 10a se ha ilustrado en la Fig. 10b, y hace uso de un conformador del ruido idéntico alrededor del cuantificador, pero intercambia los filtros A(z^{-1}) y B(z^{-1}), y usa un cuantificador en el descodificador equivalente al cuantificador de codificación, tanto precedido como seguido por una ganancia de -1.
En las Figuras 11a y 11b se han ilustrado, a modo de ejemplos, un codificador y un descodificador respectivos para el caso de los filtros de FIR A(z^{-1}) y B(z^{-1}) que son de tercer orden, y para el filtro de FIR C(z^{-1}) que es de segundo orden, siendo
A(z^{-1}) = a_{1}z^{-1} + a_{2}z^{-2} + a_{3}z^{-3}
B(z^{-1}) = b_{1}z^{-1} + b_{2}z^{-2} + b_{3}z^{-3}
C(z^{-1}) = c_{1}z^{-1} + c_{2}z^{-2}
donde a_{1}, a_{2}, a_{3}, b_{1}, b_{2}, b_{3}, son todos coeficientes de la forma m/d, donde d es un entero mínimo denominador común y m es un numerador entero, que puede ser diferente para cada coeficiente de filtro, y donde c_{1}, c_{2} son números enteros.
También se han ilustrado en las Figuras 11a y 11b las variables de estado, las cuales comprenden tres valores de entrada sucesivos I_{1}, I_{2}, I_{3}, tres valores de salida sucesivos O_{1}, O_{2}, O_{3}, del codificador, y dos variables de estado N_{1}, N_{2}, del conformador del ruido, y las correspondientes variables de estado en el descodificador. Obsérvese el signo invertido de las variables de estado del conformador del ruido en el descodificador. Desde la cuarta muestra de la salida del descodificador en adelante, es necesario inicializar los valores de las variables de estado a partir de los cuales se calcula la cuarta muestra de salida.
En la Figura 12 se ha ilustrado la forma exterior de la conformación del ruido alrededor de un cuantificador. En tal conformador del ruido de la forma exterior, la diferencia entre la entrada y la salida de todo el sistema alrededor del cuantificador es realimentada a la entrada del cuantificador a través de un filtro de FIR D(z^{-1}), preferiblemente tal que 1 + D(z^{-1}) sea la fase mínima, a fin de reducir al mínimo la energía de ruido añadida.
El filtro de FIR D(z^{-1}) tiene preferiblemente coeficientes racionales de precisión finita, con un denominador d, de modo que solamente se necesite aritmética de precisión finita para realizar el codificador y el descodificador exactamente, sin error alguno de redondeo. Tales conformadores del ruido de la forma interior tienen el efecto de producir un espectro del ruido de cuantificación que es
\frac{1}{(1+D(z^{-1}))}
veces el espectro aproximadamente blanco del cuantificador básico.
Cuando se usa en el sistema de codificación de la Figura 8a, dando el sistema de codificación ilustrado en la Fig. 13a, el espectro del ruido de salida resultante del codificador debido al cuantificador es
\frac{1}{(1+D(z^{-1}))(1+B(z^{-1}))}
veces el de un espectro blanco. Por consiguiente, si se desea reducir al mínimo la energía de ruido de cuantificación de salida del codificador, es lo mejor elegir D(z^{-1}) tal que sea 1 + D(z^{-1}) la fase mínima, y tal que 1 + D(z^{-1}) se aproxime a la inversa de 1 + B(z^{-1}).
El sistema de descodificación al sistema de ruido conformado de la forma exterior de la Figura 13a se ha ilustrado en la Fig. 13b, y usa un conformador del ruido idéntico alrededor del cuantificador, pero intercambia los filtros A(z^{-1}) y B(z^{-1}), y usa un cuantificador en el descodificador equivalente al cuantificador de codificación, tanto precedido como seguido por una ganancia de -1.
Puede demostrarse que los sistemas de codificación y de descodificación producidos usando una conformación del ruido de la forma exterior alrededor del cuantificador son funcionalmente equivalentes al uso de un sistema de codificación y descodificación sin conformación del ruido, con tal de que el filtro A(z^{-1}) sea sustituido por
A(z^{-1}) + D(z^{-1}) + D(z^{-1})A(z^{-1})
y de que el filtro B(z^{-1}) sea sustituido por
B(z^{-1}) + D(z^{-1}) + D(z^{-1})B(z^{-1}), como se ha ilustrado para el codificador y el descodificador en las respectivas Figuras 13c y 13d. Sin embargo, las realizaciones de ruido conformado de la forma exterior son en general más simples, dado que no hay duplicación del filtro D(z^{-1}) dentro de dos filtros separados.
En las Figuras 14a y 14b se han ilustrado, a modo de ejemplos, un codificador y un descodificador respectivos, usando conformación del ruido de la forma exterior para el caso de que los filtros de FIR A(z^{-1}) y B(z^{-1}) sean de tercer orden y que el filtro de FIR D(z^{-1}) sea de segundo orden, con
A(z^{-1}) = a_{1}z^{-1} + a_{2}z^{-2} + a_{3}z^{-3}
B(z^{-1}) = b_{1}z^{-1} + b_{2}z^{-2} + b_{3}z^{-3}
D(z^{-1}) = d_{1}z^{-1} + d_{2}z^{-2}
donde a_{1}, a_{2}, a_{3}, b_{1}, b_{2}, b_{3}, d_{1}, d_{2}, son todos coeficientes de la forma m/d, donde d es el máximo común denominador entero y m es un numerador entero que puede ser diferente para cada coeficiente de filtro.
También se han ilustrado en la Figura 14 las variables de estado, las cuales comprenden tres valores de entrada sucesivos I_{1}, I_{2}, I_{3}, tres valores de salida sucesivos O_{1}, O_{2}, O_{3}, del codificador, y dos variables de estado N_{1}, N_{2} del conformador del ruido, y las correspondientes variables de estado en el descodificador. Obsérvese el signo invertido de las variables de estado del conformador del ruido en el descodificador. Para la cuarta muestra de la salida del descodificador en adelante, es necesario inicializar los valores de las variables de estado a partir de los cuales se calcula la cuarta muestra de salida.
Es también posible combinar el uso de un conformador del ruido de la forma interior con coeficientes enteros, y un conformador del ruido de la forma exterior con coeficientes de precisión finita alrededor de un cuantificador en el sistema de codificación y en el sistema de descodificación. Esto produciría el efecto de conformar el espectro del ruido del cuantificador mediante
\frac{1+C(z^{-1})}{1+D(z^{-1})}
Esto puede hacerse encajando los conformadores del ruido de la forma interior y de la forma exterior alrededor del cuantificador. Puede verse una descripción de conformadores del ruido encajados en la sección 1 de la antes citada referencia de Gerzon, Craven, Stuart, Wilson.
Filtrado más general
Aunque se prefiere que los filtros A(z^{-1}) y B(z^{-1}) sean de FIR con coeficientes de precisión finita, que sean o bien realizados exactamente o bien tales que cualesquiera errores de redondeo no afecten a la salida del cuantificador. tal como el del ejemplo descrito en relación con las Figuras 6e y 6f, también se pueden realizar filtros para controlar errores de redondeo.
En particular, los filtro A(z^{-1}) y/o B(z^{-1}) en las realizaciones ilustradas en las Figuras 6, 8, 10 ó 13, pueden ser, por ejemplo, cascadas de sub-algoritmos de filtrado, cada una de las cuales puede incorporar cuantificación de niveles de salida con ya sea un tamaño de paso unidad o ya sea un tamaño de paso racional menor que la unidad. Esto puede conseguirse haciendo que cada uno de los sub-algoritmos en cascada sea un filtro de FIR con coeficientes de precisión finita, seguido de un cuantificador, o incluso haciendo que cualquiera, o cada uno, de los sub-algoritmos en cascada tenga individualmente la forma de un filtro de cuantificación de la forma ilustrada en la Figura 6a, siendo los dos filtros del mismo filtros de FIR con coeficientes de precisión finita. Todas esas arquitecturas para los filtros A(z^{-1}) y B(z^{-1}) pueden realizarse con aritmética exacta que sea transportable entre diferentes arquitecturas DSP de punto fijo.
En general, tales arquitecturas usando cascadas de sub-algoritmos de filtros de salida cuantificados para A(z^{-1}) y/o B(z^{-1}) tienen la desventaja de aumentar la cantidad total de ruido de cuantificación en la salida del codificador. Tienen sin embargo la ventaja de permitir realizar filtros A(z^{-1}) y B(z^{-1}) más complejos, mediante la factorización o el uso de topologías de cuantificación recursivas, sin necesitar que sea muy alta la precisión de la aritmética.
En las Figuras 15a ó 15c se ha ilustrado una topología más general para el codificador y en las Figuras 15b ó 15d para el descodificador inverso. Como se ha ilustrado en las Figuras 15a o 15c, el cuantificador del codificador va seguido de un cuantificador de codificación 1b, el cual puede ser de por sí cualquier sistema de codificación de valores enteros sin pérdida que no tenga retraso de tiempo de entrada/salida, precediendo dicho cuantificador de codificación a la salida, y la entrada de valores enteros alimenta al nodo de suma, no directamente sino mediante un cuantificador de codificación 1a que no tiene retraso de tiempo de entrada/salida, el cual puede ser a su vez cualquier sistema de codificación de valores enteros sin pérdida. Los nodos de suma son también alimentados con filtros
A(z^{-1}) y B(z^{-1}), como antes. Uno u otro de los cuantificadores de codificación 1a ó 1b, y sus inversos, pueden ser triviales, en el sentido de no tener efecto alguno sobre la señal. Como se ha ilustrado en las Figuras 15b ó 15d, el cuantificador del descodificador inverso va seguido de un cuantificador de descodificación inverso 1a, inverso con respecto al cuantificador de codificación 1a usado en el codificador, precediendo dicho cuantificador de descodificación inverso a la salida, y la entrada de valores enteros alimenta al nodo de suma, no directamente sino mediante un cuantificador de descodificación inverso 1b, inverso con respecto al cuantificador de codificación 1b. Los nodos de suma son también alimentados con filtros A(z^{-1}) y B(z^{-1}), como antes. Los cuantificadores usados en las realizaciones generales de las Figuras 15a a 15d pueden también incorporar conformación del ruido, con tal de que se use idéntica conformación del ruido en la codificación y en la descodificación inversa. Los filtros de codificación y descodificación con cuantificadores fraccionarios.
Un problema que plantean los filtros de cuantificación y de descodificación descritos en lo que antecede es el de que el ruido del cuantificador producido por los filtros puede ser muy alto si los filtros deseados son de alto orden y tienen una Q relativamente alta. En casos extremos, esto puede hacer que el ruido del cuantificador transmitido sea de amplitudes tan extremas que absorba la amplitud de la señal codificada deseada, dando regímenes de datos muy altos. En el diseño de un filtro digital normal, se reducen los efectos del ruido de cuantificación mediante dos estrategias: usando un menor tamaño del paso de cuantificación, es decir, trabajando efectivamente con una precisión aumentada, y mediante la realización de un filtro de alto orden como de secciones en cascada "bicuadráticos" (de segundo orden). Aquí describimos, con referencia a las Figuras 16 y 17, una extensión de las antes descritas estrategias de filtro de codificador/descodificador que permite conseguir un objetivo similar en la codificación y descodificación sin pérdida, a fin de evitar un excesivo ruido del cuantificador en la señal de forma de onda codificada por predicción.
En las Figuras 16 y 17, los cuantificadores tienen todos un tamaño de paso de cuantificación uniforme, estando indicado el tamaño del paso en la esquina inferior derecha de los bloques del cuantificador.
En la Figura 16a se ha ilustrado una transformación de filtro invertible de señales de forma de onda de valores enteros a valores enteros que puede ser usada ya sea como un codificador sin pérdida o ya sea como un descodificador sin pérdida. Para simplificar la descripción, nos referiremos a éste como al sistema de transformación original, y a un codificador o un descodificador respectivo inverso respectivo como al sistema de transformación inversa. En la Figura 16a se acepta como entrada una señal de forma de onda de PCM de valores enteros y se alimenta la misma tanto directamente como a través de un filtro A(z^{-1}) con al menos un retraso de una muestra, a un nodo de suma que alimenta a un primer cuantificador, cuya salida alimenta a un segundo filtro B(z^{-1}) con al menos un retraso de una muestra a ser restado en el nodo de suma, alimentando la salida del primer cuantificador a un segundo cuantificador, el cual es un cuantificador de valores enteros (es decir, con el tamaño de paso 1) para proporcionar la señal de forma de onda de valores enteros de salida. Evidentemente, si el primer cuantificador es un cuantificador de valores enteros, éste es el mismo que el sistema descrito con respecto a las Figuras 6a ó 6b, siendo entonces superfluo el segundo cuantificador.
Sin embargo, en la Figura 16a, el primer cuantificador está dispuesto para que tenga un tamaño de paso 1/G para el entero G, es decir, un tamaño de paso que divide exactamente al tamaño de paso del entero. Este menor tamaño del paso significa que el ruido de cuantificación producido por el sistema de filtro de cuantificación es proporcionalmente más pequeño, siendo restaurados los variable de estado únicamente por el segundo cuantificador en la salida.
Para ver que esta transformación ilustrada en la Figura 16a es ciertamente invertible, obsérvese que, dado que la señal de entrada de variable de estado tiene un tamaño de paso que es un múltiplo entero del tamaño del paso del primer cuantificador, se pueden obtener resultados equivalentes añadiendo en cambio la señal de entrada no en el nodo de suma sino en la salida del primer cuantificador, y esto es a su vez equivalente a añadirla tanto en la entrada al segundo cuantificador como en la entrada al filtro B(z^{-1}). Por lo tanto, el sistema de la Fig. 16a es equivalente al sistema ilustrado en la Figura 16b, donde el filtro de la cadena lateral de alimentación hacia delante A'(z^{-1}) tiene la forma ilustrada en la Figura 16c.
El sistema inverso al de la Figura 16b existe y tiene la forma con el filtro de cadena lateral de realimentación A'(z^{-1}) ilustrado en la Figura 16d. Por lo tanto, la inversa de la Figura 16a puede realizarse como se ha ilustrado en la Figura 16e. El cuantificador de tamaño de paso 1 de la Figura 16e es equivalente al de la Figura 16a, tanto precedido como seguido por una inversión de la polaridad. Las Figuras 16f, 16g, 16h, 16i son formas alternativas funcionalmente equivalentes del sistema inverso al de la Figura 16a, donde los cuantificadores de las Figuras 16f, 16g y 16h son idénticos a los de la Figura 16a, y donde el cuantificador del paso 1 en la Figura 16i es equivalente al cuantificador de la Figura 16a, tanto precedido como seguido por una inversión de la polaridad. La equivalencia funcional de las formas alternativas de las Figuras 16e a 16i surge de la toma en consideración y del uso de las siguientes observaciones:
(1) la salida de un segundo cuantificador con un segundo tamaño del paso que es un múltiplo entero de un primer tamaño del paso no cambia aunque el segundo cuantificador sea alimentado con la entrada a, o la salida de, un primer cuantificador con el primer tamaño del paso.
Esto establece la equivalencia funcional de las Figuras 16f a 16e.
(2) Si se alimenta un nodo de suma o de diferencia mediante dos señales, una de las cuales es cuantificada con un segundo tamaño del paso que sea un múltiplo entero de un primer tamaño del paso, entonces los resultados de poner un cuantificador con el primer tamaño del paso en el camino de la otra señal que alimenta al nodo es equivalente a poner el mismo cuantificador después del nodo (precedido y seguido por una inversión de la polaridad si antes del nodo alimenta una sustracción en el nodo). Esto establece la equivalencia funcional de las Figuras 16e a 16f, y de las Figuras 16g a 16h y 16i.
(3) Además, la anterior observación (2) sigue siendo de aplicación si el cuantificador está equipado con conformación del ruido, la cual puede ser de la forma interior y/o de la forma exterior.
Usando estas tres observaciones, se puede efectuar una amplia gama de redistribuciones de los codificadores y los descodificadores sin cambio alguno de las actuaciones funcionales, y los ejemplos de las Figuras 16e a 16i son válidos únicamente como tales ejemplos. Las mismas observaciones pueden aplicarse también para demostrar que el sistema original de la Figura 16a es un funcionalmente equivalente al de las Figuras 16j y 16k.
En el caso de que cualquiera de ellos, o los dos cuantificadores incorporen conformación del ruido, entonces estas observaciones y argumentos pueden usarse para demostrar que la Figura 16e y la Figura 16g son funcionalmente equivalentes, y que son ambas inversas a las Figuras 16a ó 16j, las cuales son también funcionalmente equivalentes. Las Figuras 16f, 16h, y 16i son funcionalmente equivalentes, y son inversas al sistema de la Figura 16k cuando se usa conformación del ruido alrededor de los cuantificadores.
El beneficio práctico del uso del tamaño del paso de cuantificación fraccionario en los filtros de codificación y de descodificación sin pérdida, es de máxima evidencia cuando varias secciones de filtro están en cascada. Estas secciones pueden ser, típicamente, secciones de segundo orden (bicuadráticas) o de primer orden (bilineales), siendo los filtros A y B filtros de FIR de primer o de segundo orden con coeficientes de precisión finita, y teniendo al menos un retraso de una muestra. En aplicaciones, estos filtros serán usual y preferiblemente realizados exactamente, o bien realizados con errores de redondeo lo suficientemente pequeños como para que los errores de redondeo no establezcan diferencia alguna en las salidas de los cuantificadores en el codificador y en el descodificador. Se pueden usar las técnicas normales usadas en el diseño del filtro de sintetizar una característica del filtro deseada, compleja, como secciones bicuadráticas y bilineales en cascada, usando pequeños tamaños del paso del cuantificador interno para reducir al mínimo la energía del ruido de cuantificación.
Un ejemplo de un filtro de codificación o de descodificación complejo al cual se puede aplicar en particular una realización bicuadrática en cascada usando la aritmética fraccionaria es el de los filtros que tienen reforzamiento o corte de "pared de ladrillo", con una transición muy rápida entre las bandas de frecuencia de alta ganancia y de baja ganancia. Tales filtros están adaptados para proporcionar buena codificación y descodificación de señales que tengan una anchura de banda limitada, reforzando el codificador las bandas con poca energía, y cortando grandemente el resto de la banda, y efectuando el descodificador la tarea inversa. Los filtros recursivos que tienen tales características de transición rápida de "pared de ladrillo" tienden a ser de alto orden, frecuentemente de orden 8, y son convenientemente realizados como una cascada de cuatro secciones bicuadráticas que pueden ser diseñadas usando paquetes de diseño de filtro normal, tales como los que intervienen en MATLAB. Las secciones bicuadráticas individuales tienden a tener un factor Q muy alto, y tienden a amplificar cualquier ruido de cuantificación en la realización del filtro.
En la Figura 17 se ha ilustrado el caso de dos etapas en cascada con tamaños del paso del cuantificador de filtro fraccionarios, que dividen el tamaño del paso entero de entrada y de salida por factores enteros. En la Figura 17a se ha ilustrado una transformación de filtro invertible de señales de forma de onda de valores enteros a variable de estado, que puede usarse ya sea como un codificador sin pérdida o ya sea como un descodificador sin pérdida. Para simplificar la descripción, nos referiremos a éste como al sistema de transformación original, y a un codificador o descodificador inverso respectivo como al sistema de transformación inversa. El sistema de la Figura 17a ilustra dos etapas de cuantificación de filtro en cascada, con cadena lateral de filtros de alimentación hacia delante A_{i}(z^{-1}) y cadena lateral de filtros de realimentación B_{i}(z^{-1}) alrededor de un cuantificador con un tamaño del paso 1/G_{i}, donde G_{i} es un entero, para i = 1, 2 para las etapa primera y segunda de la cascada, con un cuantificador de salida con el tamaño del paso 1 en la salida de la cascada. Como antes, esto puede redistribuirse moviendo para ello el nodo de suma para la señal de entrada de valores enteros a los otros lados de los cuantificadores de paso fraccionario de uno en uno, para obtener una forma equivalente a la de la Figura 17b, donde el sistema de filtro de cadena lateral de alimentación hacia adelante A'(z^{-1}) tiene la forma ilustrada en la Figura 17c.
Se observará en particular que la señal de entrada en el filtro de cadena lateral A'(z^{-1}) de la Figura 17c alimenta al sistema únicamente a través de un retraso en el tiempo de al menos una muestra, de modo que se puede usar en el filtro A'(z^{-1}) en bucles de realimentación recursiva. La inversa del sistema original se puede realizar como se ha ilustrado en la Figura 17d, donde el cuantificador del tamaño del paso 1 es equivalente al cuantificador en el sistema original de la Fig. 17a, tanto precedido como seguido por una inversión de la polaridad. En la Figura 17e se ha ilustrado la plena realización de esta inversa a la Figura 17a. En el sistema de codificación y descodificación, cualquiera de los cuantificadores, o todos ellos, pueden incorporar conformación del ruido, con tal de que ésta esté adaptado en el codificador y en el descodificador. La generalización para el caso de cualquier número n de etapas en cascada, cada una con una cadena lateral de filtros de alimentación hacia delante A_{i}(z^{-1}) y una cadena lateral de filtros de realimentación B_{i}(z^{-1}) alrededor de un cuantificador con el tamaño del paso 1/G_{i}, donde G_{i} es un número entero, para i = 1, 2, ..., n, es también evidente. En muchas realizaciones prácticas, puede ser conveniente usar el mismo tamaño de paso en todas las etapas de filtro, pero no se requiere que sea así.
En la Figura 17f se ha ilustrado una arquitectura en cascada alternativa para el sistema original. Usando las observaciones (1) a (3) anteriores, se ve que ésta es funcionalmente equivalente al sistema de la Fig. 17a, con tal de que G_{1} divida a G_{2}. Sea o no éste el caso, la forma de la cadena lateral de la Figura 17b de la Figura 17f tiene una cadena lateral A'(z^{-1}) que tiene la forma ilustrada en la Figura 17g. Si esta cadena lateral se realiza en la Figura 17d como una cadena lateral de realimentación alrededor de un cuantificador de tamaño de paso unidad, como se ha ilustrado en la Figura 17d, entonces la misma realiza el sistema inverso al sistema en cascada de la Figura 17f.
Estos ejemplos pueden generalizarse, de un modo que es evidente y obvio, para cualquier número n de etapas en cascada. El caso con tres cascadas se ha ilustrado a modo de ejemplo en la Figura 17h, con el filtro de cadena lateral A'(z^{-1}) en la Figura 17i.
Es también posible mezclar etapas en cascada de las formas ilustradas en las Figuras 17a y 17f en el sistema original, y tales formas mezcladas tendrán entonces lugar en el filtro de cadena lateral A'(z^{-1}) y en la forma inversa de la Figura 17d.
El filtro de cadena lateral A'(z^{-1}) de las Figuras 16c ó 17c, o 17g ó 17i, no tiene una de las arquitecturas de filtro normales que se usarían normalmente por alguien experto en la técnica para realizar el filtrado en un bucle de realimentación recursiva de la forma de la Figura 17d, sino que tiene una forma particular y desusada. En esta forma se omite un camino en cascada directo entre la entrada y la salida, y en cambio se toma la entrada y se alimenta la misma a un nodo de suma antes de todos, excepto el primero, de los filtros de alimentación hacia delante A_{i}(z^{-1}) y de todos los filtros de realimentación B_{i}(z^{-1}) y se pone esa cascada codificada dentro de un bucle de realimentación alrededor del cuantificador de paso unidad.
Se puede usar conformación del ruido alrededor de cualquiera o de todos los cuantificadores, con tal de que la conformación del ruido esté adaptada en el codificador y en el descodificador. Esto puede frecuentemente preferirse ya sea para controlar más el nivel del ruido de cuantificación en los filtros, o ya sea para proporcionar una característica óptima de conformación del ruido, bien sea para reducir al mínimo el régimen de datos para bajos niveles de la señal de forma de onda codificada por predicción, o bien para mejorar la estabilidad en la recuperación de los errores de datos o de una inicialización equivocada del descodificador.
La inicialización del descodificador se proporciona, como es usual, en el caso de cuantificación fraccionaria al principio de un bloque de muestras, transmitiendo para ello desde el codificador al descodificador las variables de estado almacenadas en los retrasos de los filtros de FIR A_{i}(z^{-1}) y B_{I}(z^{-1}) - obsérvese, en general, en las Figuras 17a, 17c, 17e, 17f, 17g, 17h y 17i, que A_{i+1}(z^{-1}) y B_{i}(z^{-1}) comparten las mismas variables de estado para i = 1, y que esto se generaliza a cascadas de longitud n arbitraria para i = 1 a n. Obsérvese también que las variables de estado tienen precisiones numéricas diferentes en este caso, teniendo por ejemplo la precisión numérica de las variables de estado de salida de la Figura 17a un factor G_{2} veces mayor que la salida real del sistema de la Figura 17a, debido al tamaño del paso de cuantificación final. Las variables de estado de salida de la Figura 17f tienen análogamente una precisión numérica de un factor mínimo común múltiplo de G_{1} y G_{2} veces mayor que la salida real del sistema de la Figura 17f. Por lo tanto, en general, el uso de una cuantificación fraccionaria aumentará la longitud de la palabra de los datos de inicialización.
En el caso de cuatro filtros bicuadráticos en cascada, tales como los que pueden usarse para el filtrado en "pared de ladrillo" para una eficaz codificación sin pérdida de señales de banda limitada, en general se han de transmitir desde el codificador al descodificador ocho muestras de datos de inicialización de precisión aumentada, por encima de los datos de forma de onda codificados por predicción para el bloque. No obstante, como se indica en lo que sigue, cabe la posibilidad de economizar en la transmisión de los datos de inicialización en una diversidad de circunstancias.
Tal sistema bicuadrático en cascada para codificar o descodificar requiere también la transmisión de 16 coeficientes de filtro (más los coeficientes para cualesquiera conformadores del ruido usados), y para una realización precisa de algo como un filtro de "pared de ladrillo" éstos pueden requerir una precisión relativamente alta. En tal caso, para economizar en la transmisión de grandes cantidades de datos extra, puede ser aconsejable descargar del codificador al descodificador una tabla de conjuntos de coeficientes de filtro de codificación corrientemente usados predeterminados, y luego simplemente transmitir un número de la tabla a ser usada en la tabla de consulta del descodificador.
La forma recursiva inversa de la arquitectura en cascada ilustrada con referencia a la Figura 17d se prefiere para uso como un descodificador, y la cascada directa original como codificador cuando se prefiere que el ruido de cuantificación añadido en la señal codificada por predicción tenga un espectro blanco, de modo que se reduzca así al mínimo cualquier aumento del régimen de datos para señales de entrada de bajo nivel. Por otra parte, para la mejor recuperación de los errores de datos y de la inicialización incorrecta en el descodificador, se prefiere la forma recursiva inversa de la arquitectura en cascada ilustrada con referencia a la Figura 17d para uso como codificador, y la cascada directa original como descodificador.
\newpage
Se pueden usar ambas formas de cadena lateral recursiva, tanto la original como la inversa, para representar filtros en cascada, si se ignora el ruido de cuantificación interno, representando la forma directa el filtro
\frac{1}{1+B_{n} (z^{-1})} (1+A_{n}(z^{-1}))\frac{1}{1+B_{n-1} (z^{-1})} (1+A_{n} (z^{-1}))...\frac{1}{1+B_{1} (z^{-1})} (1+A_{1}(z^{-1}))
y representando la forma de cadena lateral recursiva inversa un filtro
\frac{1}{1+A_{1} (z^{-1})} (1+B_{1}(z^{-1}))\frac{1}{1+A_{2} (z^{-1})} (1+B_{2} (z^{-1}))...\frac{1}{1+A_{n} (z^{-1})} (1+B_{n}(z^{-1}))
Es también posible combinar ambas formas en un simple codificador y descodificador inverso, como se ha ilustrado con referencia a las Figuras 17j a 17l. En la Figura 17j, la primera parte de la cascada de filtros de cuantificador de paso fraccionario se realiza en una forma directa u original, tal que las cascadas ilustradas en las Figuras 17a ó 17f ó 17h antes del cuantificador de paso unidad, y la segunda parte de la cascada, se realizan con la forma de cadena lateral recursiva alrededor de un cuantificador de paso unidad, teniendo el filtro de cadena lateral B'(z^{-1}) la forma sin camino no retrasado directo, tal como la ilustrada en las Figuras 16c ó 17c, ó 17g ó 17i. El descodificador inverso tiene la misma arquitectura que se ha ilustrado en la Figura 17k, excepto en que ahora la cascada inicial de filtros del cuantificador de paso fraccionario está basada en B'(z^{-1}) y la cadena lateral recursiva está basada en A'(z^{-1}). El cuantificador de paso unidad de la Figura 17k es equivalente al de la Figura 17i, tanto precedido como seguido por una inversión de la polaridad. Por analogía con la Figura 6, hay otras formas equivalentes a las de las Figuras 17j y 17k. Por ejemplo, la ilustrada en la Figura 17I es equivalente a la de la Figura 17j.
Las realizaciones del sistema de codificación y descodificación pueden redistribuirse y variarse por quien sea experto en la técnica usando las observaciones (1) a (3) anteriores.
Codificación de entropía de datos codificados por predicción sin pérdida
A modo de ejemplo de una realización típica, describimos ahora con referencia a la Figura 18 un sistema de codificación sin pérdida basado en el uso de una disposición de filtro de codificador sin pérdida seguida de un codificador de entropía de codificación de Huffman para la codificación, y un descodificador de Huffman inverso seguido de una disposición de filtrado de descodificador sin pérdida, como se ha indicado en líneas generales en los esquemas de las Figuras 3 y 4.
En este ejemplo de un sistema de codificación, tal como el que puede usarse para codificar formas de onda de PCM de audio de alta calidad a regímenes de muestreo comprendidos entre 44,1 y 96 KHz, la señal se divide primero en bloques de longitud de L muestras que elegimos, a modo de ejemplo, que sea L = 576. Cada bloque se codifica y se descodifica por separado.
En la Figura 18a se ha representado el esquema general del sistema de cuantificación sin pérdida aquí descrito, y en la Figura 18b el sistema de descodificación sin pérdida aquí descrito. En los ejemplos descritos, suponemos que usamos filtros de codificación y descodificación de tercer orden y que se usa también conformación del ruido de la forma interior de enteros de segundo orden opcional, como se ha descrito en lo que antecede con referencia a la Figura 11, o que se usa también conformación del ruido de la forma exterior de enteros de segundo orden opcional, como se ha descrito en lo que antecede con referencia a la Figura 14.
La información transmitida para cada bloque comprenderá dos componentes, en primer lugar los datos de la cabecera que transmiten al descodificador toda la información necesaria para que el descodificador descodifique correctamente los datos codificados, y en segundo lugar los datos de forma de onda en codificación de Huffman que comprenden datos que representan la salida en valores enteros del sistema de filtro del codificador ilustrado en la Figura 11a o en la Figura 14a.
A fin de reducir al mínimo el régimen de datos total, es por supuesto importante asegurar que la cantidad de datos transmitidos como "gastos generales" (gastos invertidos en actividades indirectas) en los datos de la cabecera se mantiene pequeña, como una proporción de los datos contenidos en los datos de forma de onda en codificación de Huffman.
Los datos de cabecera incluyen los ocho coeficientes a_{1}, a_{2}, a_{3}, b_{1}, b_{2}, b_{3}, c_{1}, c_{2} (o d_{1}, d_{2}) del filtro y el conformador del ruido. Típicamente, estos seis coeficientes a_{1}, a_{2}, a_{3}. b_{1}. b_{2}, b_{3}, serán todos de la forma m/16 ó m/64, siendo m un entero, a fin de que sea de precisión finita y con objeto de reducir los gastos para la transmisión de actividades indirectas. Tomando el caso de m/64 a modo de ejemplo, los coeficientes a_{1}, a_{2}, a_{3}, b_{1}, b_{2}, b_{3} tendrán típicamente márgenes respectivos de valores a fin de realizar todos los filtros de fase mínima
\newpage
-192 = 64a_{1} = 192
-192 = 64a_{2} = 192
-64 = 64a_{3} < 64
-192 = 64b_{1} = 192
-192 = 64b_{2} = 192
-64 < 64b_{3} < 64
lo cual requiere 50 bits para transmisión de datos de actividades indirectas. Si en cambio se hubiera tomado el caso de m/16, solamente se requerirían 38 bits para transmisión de datos de actividades indirectas para transmitir los 6 valores de coeficientes de filtro. Es también posible tener algunos coeficientes de la forma de, por ejemplo, m/64 y otros de la forma de m/32 ó m/16. Algunos de los conjuntos de valores de los coeficientes permitidos dan por resultado un filtro de codificación inestable, y deberá evitarse el uso de éstos. Es en principio posible omitir estos conjuntos de valores en los datos de coeficientes transmitidos, economizándose con ello unos pocos bits de datos, pero las complicaciones que implican los datos de los coeficientes de codificación y de descodificación pueden no compensar la pequeña economía resultante en el régimen de bits.
Es también posible reducir los datos que se necesitan para transmitir los coeficientes, preseleccionando para ello una tabla de consulta de conjuntos permitidos de valores de coeficientes, omitiendo los coeficientes que conduzcan a un filtro cuya respuesta espectral sea demasiado similar a otra que sea permitida.
Los coeficientes del conformador del ruido de la forma interior, al ser enteros y de fase mínima solamente tienen nueve valores posibles, a saber
c_{1} = 0, c_{2} = 0
c_{1} = 1, c_{2} = 0
c_{1} = 1, c_{2} = 0
c_{1} = 0, c_{2} = 1
c_{1} = 0, c_{2} = 1
c_{1} = 1, c_{2} = 1
c_{1} = 1, c_{2} = 1
c_{1} = 2, c_{2} = 1
c_{1} = 2, c_{2} = 1
los cuales requieren 4 bits para transmisión, o bien solamente tres bits si se omite una de esas posibilidades.
Los coeficientes del conformador del ruido de la forma exterior, al ser de fase mínima, solamente tienen valores posibles que pudieran quedar limitados, a modo de ejemplo, a múltiplos de 1/4 o de 1/8, por ejemplo con
-16 < sd_{1} < 16
-9 < sd_{2} < 8
lo cual requiere 9 bits para transmisión.
En el ejemplo que actualmente se está describiendo, suponemos que las palabras de PCM de entrada tienen una longitud de palabra fija N que puede ser, por ejemplo, de 20 o de 24 bits. Para simplificar la descripción, supondremos aquí que N = 20 bits. Mediante tal sistema se pueden conducir otras longitudes de palabra de PCM digitales de longitud N - B_{1} menor que N = 20 bits, estableciendo para ello el conjunto de bits menos significativos que permanecen sin ser usados en 0, o bien en un valor fijo tal como una aproximación a la mitad del bit menos significativo retenido. Por ejemplo, B_{1} = 4 para una longitud de palabra de 16 bits, y N = 20, y los 4 bits menos significativos de la palabra de 20 bits pueden establecerse en 0000 o bien en 1000 o en 0111, con tal de que se haga la misma elección para todas las palabras. Se puede hacer una elección precisa que no sea la de 0000 si se desea reducir al mínimo cualesquiera compensaciones de corriente continua, es decir, desviaciones del valor medio de la forma de onda de audio a partir de un valor cero verdadero.
En la codificación de tales palabras de precisión menor que N = 20 bits, sería un gran desperdicio del régimen de datos transmitir esos B_{1} bits menos significativos por separado para cada muestra. Así, la primera etapa del procesado del codificador para cada bloque de L muestras es la de determinar para ese bloque cuántos B_{1} de los bits menos significativos tienen idéntica forma en todo el bloque, lo cual puede hacerse mediante una simple lógica comparando la identidad de cada bit de una palabra con la de la primera palabra. Si todas las ocurrencias de un dígito en las palabras de todo un bloque son idénticas, ese dígito puede ser separado para su transmisión por separado y desechado de las palabras digitales, dejando una palabra de longitud N - B_{1} enteros para cada muestra, a la cual denominamos la palabra significativa, más una palabra de B_{1} enteros, tal como 0000 ó 1000 ó 0111, a la cual denominamos la palabra LSB (de bits menos significativos), para su transmisión en la cabecera del bloque. Este proceso se ha ilustrado en la Figura 18a. Los datos para la longitud B_{1} de la palabra de LSB y la palabra de LSB real son transmitidos como datos de la cabecera para el bloque. Para B_{1} puede permitirse cualquier valor comprendido entre 0 y N, requiriéndose típicamente 8 bits para transmisión, y la palabra de LSB requerirá N bits para su transmisión.
No hay razón alguna para que, además, la palabra de LSB transmitida no incorpore en sus N - B_{1} bits delanteros un componente añadido de "desplazamiento de corriente continua", que deberá restarse de las L palabras significativas del bloque. Esta característica permite la retirada de cualquier componente de corriente continua no deseado dentro de un bloque antes de la etapa de codificación. Este componente de corriente continua no deseado puede elegirse, por ejemplo, que sea el valor medio de las muestras o bien el valor mediano de las muestras dentro de un bloque redondeado a N - B_{1} bits, o cualquier otra elección redondeada a N - B_{1} bits que pueda hallarse que sea ventajosa.
El siguiente paso en el proceso de codificación es el de codificar las palabras significativas usando un método de filtro de predicción, como se ha descrito, por ejemplo, en relación con el codificador de ruido conformado de tercer orden de la Figura 11a anterior. Esto produce como salidas datos de cabecera que comprenden ocho coeficientes a_{1}, a_{2}, a_{3}, b_{1}, b_{2}, b_{3}, c_{1}, c_{2} del filtro y el conformador del ruido, más las tres primeras muestras I_{1}, I_{2}, I_{3} en el bloque de la entrada al codificador del filtro de predicción y las dos variables de estado N_{1}, N_{2} del conformador del ruido después de la tercera muestra del bloque para uso en la inicialización del descodificador para ese bloque. Las salidas del codificador del filtro de predicción para todas las L muestras (incluidas las tres primeras usadas para inicialización) son luego hechas pasar a una etapa de codificación de entropía o de Huffman.
Los gastos en actividades indirectas añadidos, debidos a las variables de inicialización serán en este ejemplo 3(N - B_{1}) bits para I_{1}, I_{2}, I_{3} y 12 bits para la variable de inicialización del conformador del ruido cuando se usen m/64 coeficientes para los filtros, dado que la diferencia alrededor del cuantificador en la Fig. 11a puede entonces tener 64 valores posibles.
Es preferible determinar las variables de estado iniciales dejando que el sistema de predicción funcione no exactamente sobre las L muestras del bloque que esté siendo codificado, sino también durante un número de muestras de antemano (cuidando, cuando sea necesario, de asegurar que las muestras anteriores tengan todas B_{1} bits menos significativos retirados, teniendo B_{1} el valor determinado para el bloque actual si B_{1} varía entre bloques), de modo que se permita que las variables de estado iniciales en el filtro se asienten en un valor razonable que ayude a reducir al mínimo las amplitudes de salida del predictor al principio del bloque. Alternativa, y menos preferiblemente, las variables de estado pueden ser establecidas en valores arbitrarios, tales como el cero.
La señal de valores enteros codificada por predicción que emerge del codificador del filtro de predicción es entonces, como se ha ilustrado en la Fig. 18a, alimentada a un codificador de entropía o de Huffman para reducir al mínimo el régimen de datos de la señal codificada por predicción transmitida.
Se describe a continuación un método conveniente de codificación de Huffman.
En muchas aplicaciones, incluyendo el caso de la mayor parte de las señales de forma de onda de audio, se ha comprobado que la función de densidad de probabilidad (PDF) de las estadísticas de amplitud de la forma de onda es,típicamente, aproximadamente la Laplaciana, es decir, que tiene una PDF de la forma
\frac{1}{2k}e^{-\frac{|x|}{k}}
donde el valor medio cuadrático (rms) del nivel de energía es v2 k. Por consiguiente, se puede usar una tabla de codificación de Huffman adaptada al valor cuadrático medio del nivel de la señal dentro de un bloque y suponiendo las estadísticas Laplacianas. A fin de reducir el número de tablas de consulta requeridas, se puede usar un número limitado, uno que esté de acuerdo con el nivel absoluto de pico de la palabra significativa en ese bloque. Hemos comprobado que, especialmente para bloques de longitud L = 256 ó más, que la tabla de codificación de Huffman que sigue, basada en el árbol de codificación de Huffman ilustrado en la Figura 19, da buenos resultados para las estadísticas Laplacianas de la PDF.
Este árbol codifica las palabras de una señal de 4 bits (que tomaremos como valores representativos de x desde -7 a +8) de acuerdo con la siguiente Tabla 2.
TABLA 2
x Código de Huffman
-7 00000000
-6 00000001
-5 0000001
-4 000001
-3 00001
-2 0001
-1 001
0 01
1 10
2 110
3 1110
4 11110
5 111110
6 1111110
7 11111110
8 11111111
Para longitudes de palabra de una palabra significativa mayores que 4 bits, codificamos como sigue en la Tabla 3.
TABLA 3
Margen de todas las pa- Dígitos de la palabra sig- Más los dígitos que quedan Longitud total de la pa-
labras significativas en nificativa codificados de de la palabra significativa labra en codificación de
el bloque acuerdo con la anterior Huffman
tabla de 4 bits
-7 x 8 Dígitos LSB 1 a 4 ninguno 2 a 8
-15 x 16 Dígitos LSB 2 a 5 Dígito LSB 1 3 a 9
-31 x 32 Dígitos LSB 3 a 6 Dígitos LSB 1 a 2 4 a 10
-63 x 64 Dígitos LSB 4 a 7 Dígitos LSB 1 a 3 5 a 11
-127 x 128 Dígitos LSB 5 a 8 Dígitos LSB 1 a 4 6 a 12
-255 x 256 Dígitos LSB 6 a 9 Dígitos LSB 1 a 5 7 a 13
-511 x 512 Dígitos LSB 7 a 10 Dígitos LSB 1 a 6 8 a 14
-1023 x 1024 Dígitos LSB 8 a 11 Dígitos LSB 1 a 7 9 a 15
TABLA 3 (continuación)
Margen de todas las pa- Dígitos de la palabra sig- Más los dígitos que quedan Longitud total de la pa-
labras significativas en nificativa codificados de de la palabra significativa labra en codificación de
el bloque acuerdo con la anterior Huffman
tabla de 4 bits
-2047 x 2048 Dígitos LSB 9 a 12 Dígitos LSB 1 a 8 10 a 16
-4095 x 4096 Dígitos LSB 10 a 13 Dígitos LSB 1 a 9 11 a 17
-8191 x 8192 Dígitos LSB 11 a 14 Dígitos LSB 1 a 10 12 a 18
-16383 x 16384 Dígitos LSB 12 a 15 Dígitos LSB 1 a 11 13 a 19
-32767 x 32768 Dígitos LSB 13 a 16 Dígitos LSB 1 a 12 14 a 20
-65535 x 65536 Dígitos LSB 14 a 17 Dígitos LSB 1 a 13 15 a 21
-131071 x 131072 Dígitos LSB 15 a 18 Dígitos LSB 1 a 14 16 a 22
-262143 x 262144 Dígitos LSB 16 a 19 Dígitos LSB 1 a 15 17 a 23
-524297 x 524288 Dígitos LSB 17 a 20 Dígitos LSB 1 a 16 18 a 24
Esto requiere un total de 17 tablas de Huffman. La que se use dependerá del nivel de la señal de pico en un bloque, representada en la primera columna de la Tabla. Los 4 dígitos más significativos que varían durante el bloque en la palabra significativa son codificados con la tabla Laplaciana de Huffman de 4 bits y los restantes dígitos menos significativos son transmitidos tal como son, sin ser alterados después de la palabra de Huffman para los 4 bits delanteros. Aunque no exactamente adaptado de modo óptimo a las estadísticas Laplacianas, puede verse que el régimen de datos resultante es típicamente menor que el óptimo en solamente aproximadamente 0,1 a 0,3 bit/muestra, dependiendo de que la señal esté modulando por completo los 4 dígitos más significativos que varían durante el bloque en la palabra significativa. La ineficacia media sobre la codificación de Huffman óptima de este enfoque con la tabla de consulta simplificada es de alrededor de 0,2 bit/muestra, excepto cuando la longitud de la palabra significativa sea muy pequeña, es decir, de 3 bits o menos.
Se ha comprobado que el régimen de datos típico para un bloque cuando la palabra significativa x está comprendida entre -2^{n} + 1 y +2^{n} es de n - 0,5 bits por muestra aproximadamente, en vez de los n + 1 bits requeridos para la PCM binaria sin la codificación de Huffman, es decir, que la codificación de Huffman por sí misma reduce el régimen de datos para las estadísticas Laplacianas en la media en aproximadamente 1,5 bit/muestra. El régimen real de reducción de datos varía según que los N + 1 bits modulados antes de la codificación de Huffman estén plenamente modulados. Con plena modulación, el régimen de datos en codificación de Huffman es de alrededor de n bit/muestra, mientras que si la modulación es de alrededor de 6 dB más baja que el nivel de pico (por debajo del cual se usaría un menor valor de n) entonces el régimen de datos en codificación de Huffman cae a n-0,7 bit/muestra, aproximadamente.
Además, para que el proceso de codificación transmita los datos de la forma de onda en codificación de Huffman, es también necesario transmitir a la cabecera del descodificador la información que diga al descodificador qué tabla de Huffman usar para descodificar en ese bloque. Denominamos a esos datos de cabecera como el "número de la tabla de Huffman".
Se pueden usar tablas de Huffman adicionales para situaciones especiales, tal como en el caso de señales muy pequeñas en un bloque. Por ejemplo, un bloque que conduzca una señal negra (todos ceros) digital puede usar una tabla de Huffman "vacía" que no conduzca datos en absoluto en la parte de datos en codificación de Huffman del bloque. En este caso, no es necesario que sean transmitidos los coeficientes de filtro del predictor ni los datos de inicialización, economizándose los gastos de actividades indirectas asociadas. Para los casos en los que la longitud de palabra de la palabra significativa sea menor que 3 bits, se pueden usar códigos de Huffman más eficientes que los de las tablas 2 y 3 anteriores, tales como:
TABLA 4
para -1 x 2
x Código de Huffman
-1 111
0 0
1 10
2 110
TABLA 5
para -2 x 2
x Código de Huffman
-2 110
-1 100
0 0
1 101
2 111
TABLA 6
para -3 x 3
x Código de Huffman
-3 1100
-2 1101
-1 100
0 0
1 101
2 1110
3 1111
Se observará también que los datos en codificación de PCM, omitiendo para ello los bits no usados más significativos, no usados en un bloque, es también realmente una codificación de Huffman (óptima para las estadísticas de la señal de PDF uniforme) que tiene la tabla de Huffman representada en la tabla 7.
TABLA 7
Margen de todas las palabras Código de Huffman Longitud de palabra total en
significativas en el bloque codificación de Huffman
-2^{n}+1 x 2^{n} Dígitos LSB 1 a n + 1 n + 1 bits
Este código de Huffman de "PCM" es usualmente menos eficiente en cuanto al régimen de datos que los otros códigos dados en lo que antecede, pero es ocasionalmente más eficiente (por ejemplo, en señales de onda sinusoidal) y tiene la propiedad única de que los errores de datos aislados no afectan a la descodificación del resto de la secuencia de la forma de onda de codificación de Huffman para un bloque, por lo que puede preferirse cuando el riesgo de error de datos pese más que la eficiencia del régimen de datos.
Los datos de cabecera generales transmitidos en el anterior esquema incluirán por lo tanto típicamente, como se ha ilustrado en la Figura 18a, un número de tabla de Huffman, una palabra de LSB que conduzca los dígitos menos significativos más opcionalmente un desplazamiento de corriente continua, B_{1}, para conducir la precisión de redondeo efectiva de la entrada en ese bloque, coeficientes de filtro para el descodificador, y datos de inicialización para el descodificador. Además, pueden ser necesarios algunos datos de la cabecera para identificar y sincronizar la iniciación de los datos del bloque, y/o para llevar información adicional tal como la de temporización o identificación de canal para el bloque.
En los casos en los que haya riesgo de que la transmisión de datos origine errores de datos, tales errores originarán gran corrupción de la descodificación de la tabla de Huffman, incluso aunque solamente se produzca uno de tales errores. Es por lo tanto deseable en tales casos añadir también a la corriente de datos los datos de detección y/o de corrección del error, tales como bits de paridad y otros esquemas conocidos por los expertos en la técnica. Esto puede hacerse sobre una base de bloque a bloque, si se desea reducir al mínimo el retraso en la codificación y en la descodificación.
La descodificación inversa al proceso de codificación aquí descrito en relación con la Figura 18a se ha ilustrado esquemáticamente en la Figura 18b.
En primer lugar se lee el número de la tabla de Huffman en la cabecera y se carga en el descodificador de Huffman la tabla de Huffman pertinente, la cual es luego usada para la descodificación de Huffman de los datos de forma de onda en codificación de Huffman en el bloque, produciéndose la señal codificada por predicción variable de estado. Se cargan los datos de inicialización y los coeficientes de filtro de la cabecera del bloque en el algoritmo de filtro de descodificación sin pérdida, tal como el de las Figuras 6b, 7b, 10b, 11b, 13b ó 14b, y se descodifica la señal variable de estado codificada por predicción mediante el algoritmo de filtro de descodificación para formar la palabra significativa, la cual tiene la longitud de palabra N - B_{1}. Se restauran las palabras digitales originales cargando para ello primero B_{1} desde los datos de cabecera del bloque, e insertando después B_{1} ceros como bits menos significativos en las palabras (lo cual puede hacerse, por ejemplo, mediante un proceso de cambio o bien por multiplicación por 2^{B}_{1}) y añadiendo luego la palabra de LSB también cargada desde la cabecera del bloque al resultado. Los bloques de L muestras resultantes son luego vueltos a montar para formar la corriente de datos de PCM de la forma de onda original.
Se observará que en los términos del procesado de la señal, el descodificador es más simple que el codificador, dado que no hay necesidad de adaptación en el descodificador para realizar tareas tales como la de determinar la mejor disposición de filtro de predicción o la de determinar los parámetros tales como B_{1}, o bien el número de la tabla de Huffman, o la palabra de LSB - todos son conducidos a través de la información de la cabecera.
Hay muchas variaciones detalladas del anterior esquema que retienen las características genéricas descritas. Se mencionan a continuación unas pocas variaciones, a modo de ejemplos.
Los gastos en actividades indirectas de datos asociados con la cabecera de cada bloque pueden reducirse permitiendo una cabecera corta que simplemente instruya al descodificador para repetir algunos, o todos, de los datos de la cabecera requeridos para descodificar del bloque anterior y que admita los datos de inicialización I_{1}, I_{2}, I_{3}. Esto se puede usar cuando, como se comprueba frecuentemente que ocurre, se comprueba que el mismo filtro de codificación que en el bloque anterior es un buen predictor para el bloque actual y donde la precisión de los datos de entrada es idéntica a la del bloque anterior, y donde posiblemente se pueda usar la misma tabla de Huffman. Los datos de inicialización I_{1}, I_{2}, I_{3} se obtienen de las últimas muestras de la salida del bloque anterior, continuando para ello el funcionamiento del filtro de codificación. Por este medio se puede en efecto elegir la longitud del bloque en las etapas de codificación que sea de múltiplos arbitrarios de L, y variar la longitud del bloque efectiva por adaptación, según que las estadísticas de la señal sean estáticas o varíen rápidamente. Si se dispone de tal opción para repetir la información de la cabecera, puede ser ventajoso elegir una longitud de bloque corta, que puede ser de L = 192 ó 384 muestras, dado que se pueden reducir las ineficacias de las cabeceras usando para ello información de cabecera repetida.
Incluso en los casos en los que los coeficientes de filtro del filtro sean diferentes en el bloque actual con respecto a los del bloque anterior, se pueden reducir los gastos por actividades indirectas de los datos en la cabecera, no transmitiendo los datos de inicialización I_{1}, I_{2}, I_{3} en cada bloque, sino poniendo en cambio una marca de la cabecera que instruya al descodificador para que tome la salida del descodificador del final del bloque anterior para inicializar el bloque actual, y simplemente sincronizando la conmutación de los coeficientes de filtro al principio del bloque en el codificador y en el descodificador, sin cambiar las variables de estado almacenadas.
Un defecto del esquema anterior es el de que la resolución digital de palabras permitida es únicamente un número entero de bits, de modo que la resolución puede ser cambiada solamente en pasos discreteos de un bit, (cambios de 6 dB en el nivel del ruido de cuantificación), lo que puede algunas veces significar que es posible una resolución, por medio de un canal capaz de un régimen de datos dado, ligeramente menor que la que pudiera ser deseada. Una variación que atenúa este problema permitiría también señales que sean cuantificadas con un tamaño de paso que sea un múltiplo entero G del LSB de la entrada distinto a una potencia de B_{1} de 2. Por ejemplo, podría permitirse un tamaño de paso de cuantificación ya sea de la forma G = 2^{B}_{1} o bien de 3 x 2^{B}_{1}.
En este caso, se determina la palabra de LSB de tal modo que el resto después de la división por G =2^{B}_{1} o por 3 x 2^{B}_{1} sea constante en todo el bloque y que la palabra de LSB sea un múltiplo de G = 2^{B}_{1} o de 3 x 2^{B}_{1} (lo que representa cualquier compensación de corriente continua usada) más ese resto, y la palabra significativa es la de los datos de PCM originales menos la palabra de LSB dividida por G = 2^{B}_{1} o por 3 x 2^{B}_{1}. En el descodificador de la Figura 18b en esta variante, se recupera de la cabecera del bloque cual es el factor G = 2^{B}_{1} o 3 x 2^{B}_{1} que se usa en ese bloque, y se multiplica la palabra significativa por el mismo y luego se suma la palabra de LSB. La generalización a otros tamaños de paso G no es evidente.
Un esquema todavía más general permite un tamaño de paso de cuantificación G de entero arbitrario. Este puede determinarse en el codificador a partir de su entrada, restando para ello las muestras subsiguientes de la primera muestra en el bloque, y determinando el máximo común divisor (por ejemplo, mediante el algoritmo de restos de Euclides) de todas esas diferencias. Ese máximo común divisor G puede entonces ser transmitido en lugar de B_{1} y las palabras significativas formadas, comprendiendo la parte entera de las palabras originales dividida por G menos una compensación de corriente continua entera, y comprendiendo la palabra de LSB el resto después de la división por G más dicha compensación de corriente continua entera multiplicada por G, pueden ser transmitidas como datos de la cabecera. La descodificación inversa comprende multiplicar las palabras significativas por G y añadir la palabra de LSB. Tal esquema permite la manipulación eficaz a bajo regímenes de datos de las señales de PCM con cualquier tamaño de paso G de cuantificación entero uniforme, con cualquier compensación de corriente continua cualquiera que sea siempre que sea un múltiplo de G. Tal esquema tiene la ventaja de que para señales cuyo tamaño de paso de cuantificación sea un múltiplo entero significativo G_{0} de la LSB, todas las ganancias de la forma G/G_{0} pueden realizarse exactamente sin afectar al régimen de datos codificados, permitiendo usar la codificación sin pérdida con flexibilidad de la ganancia de señal. Una segunda variación es la de retirar una componente de corriente continua de valores enteros de la señal codificada por predicción antes de la codificación de Huffman, para transmitirla por separado en la cabecera del bloque, y añadirla de nuevo después de la descodificación de Huffman. Esta es distinto de la componente de corriente continua transmitida como la palabra de LSB, dado que esta es una componente de corriente continua de la señal codificada por predicción y no de la señal original. Tal componente de corriente continua de valores enteros puede elegirse para optimizar o reducir al mínimo el régimen de datos en codificación de Huffman, y puede ser una media total, una mediana, o bien la media de los picos positivos y negativos del bloque, o algún otro valor de corriente continua elegido.
También se pueden proporcionar otras tablas de Huffman para señales grandes, optimizadas para estadísticas de la señal distintas a las estadísticas de PDF Laplacianas. Los bloques de señales de bajo nivel se pueden codificar por técnicas distintas a la de codificación de Huffman, tales como la de codificación aritmética, como se ha descrito en la antes citada referencia de Weiss y Schremp.
En los sistemas más simples, la codificación de Huffman puede ser sustituida por esquemas más simples, tales como los de simplemente acortar las longitudes de las palabras desechando para ello todos, excepto uno, los bits más significativos (MSBs) invariables (es decir, aquéllos que son todos ceros o son todos unos, para todas las palabras del bloque) y simplemente transmitiendo el número B_{2} de esos MSBs invariables al principio de cada bloque. En la descodificación se restauran los bits más significativos, repitiendo para ello el bit más significativo B_{2} veces en cada palabra.
Este esquema más simple de desechar los MSBs invariables tiene un régimen de datos codificados más pobre que el de codificación de Huffman, típicamente de 1,5 bit/muestra. Sin embargo, tiene la ventaja de que a diferencia de la codificación de Huffman, los errores de datos aislados solamente a una única muestra de los datos descodificados, en vez de afectar a la totalidad del resto del bloque.
Se estima que los esquemas de la forma anterior permiten que señales de audio de PCM típicas con resoluciones de 14 ó más bits a regímenes de datos de 44,1 ó 48 KHz sean codificadas a regímenes de datos medios de 6 a 9 bit/muestra menos que el régimen de datos de PCM no codificados, siendo la reducción de 6 bit/muestra típica de señales con altas energías de tonos altos y un estrecho margen dinámico, y siendo la cifra de 9 bits típica de señales con margen dinámico muy ancho y poca energía de tonos altos. Cuando se transmiten al mismo tiempo varios canales asociados, será raro que todos alcancen simultáneamente su régimen de datos de pico, y en tal situación la capacidad para adaptar los espectros de señales bien usando una disposición de filtros de codificación de tercer orden, juntamente con la codificación de Huffman, significa que en señales típicas, incluso el régimen de datos de pico es típicamente reducido en alrededor de 4 bit/muestra/canal.
Es característico de los esquemas de codificación sin pérdida de audio usar filtros de codificación bien adaptados al espectro de la señal, en los que a medida que se aumenta el régimen de muestreo aumenta la economía típica en el régimen de datos en bit/muestra/canal, de modo que duplicando el régimen de muestreo no se duplica el régimen de datos, sino que se puede aumentar en quizás solamente un 30%. Esto es debido a que la energía de audio típica cae rápidamente al aumentar la frecuencia, teniendo frecuentemente más de 60 dB de disminución a 30 KHz con relación a las energías a bajas frecuencias. Por consiguiente, usando un filtro de codificación que tenga un reforzamiento del orden de 60 dB de altas frecuencias con relación a las bajas frecuencias se obtendrá una reducción sustancial del régimen de datos para tales señales.
Se estima que los esquemas de la forma anterior permiten que señales de audio de PCM típicas con resoluciones de 16 o más bits a un régimen de muestreo de 96 KHz sean codificadas a regímenes de datos medios comprendidos entre 8 y 11 bit/muestra menos que el régimen de datos de PCM sin codificar, siendo la reducción de 8 bit/muestra típica de señales con altas energías de tonos altos y estrecho margen dinámico, y siendo la cifra de 11 bits típica de señales con muy amplio margen dinámico y poca energía de tonos altos. Cuando se transmiten al mismo tiempo varios canales asociados, será raro que todos alcancen simultáneamente su régimen de datos de pico, y en tal situación la capacidad para adaptar los espectros de la señal bien usando una disposición de filtro de codificación de tercer orden, juntamente con la codificación de Huffman, significa que en señales típicas, incluso el régimen de datos de pico se reduce típicamente en alrededor de 6 bit/muestra/canal.
Por consiguiente, la codificación sin pérdida de la clase aquí descrita es particularmente apropiada para uso para regímenes de muestreo altos, tales como de 96 KHz, donde las economías en los regímenes de datos pueden ser particularmente ventajosas.
Además, la codificación sin pérdida de esta clase reduce automáticamente el régimen de datos y está siendo transmitida una señal de PCM de anchura de banda de alta frecuencia limitada, dado que para tales señales se puede usar un filtro de codificación con un reforzamiento de la alta frecuencia particularmente grande, lo cual reduce la energía de la señal codificada por predictor sobre el resto del margen de frecuencias.
Por consiguiente, el uso de codificación sin pérdida basada en los filtros de predicción, como aquí se ha descrito con un régimen de muestreo de audio alto, tal como de 96 KHz, permite la transmisión de señales de audio de diferentes anchuras de banda y diferentes resoluciones digitales con un rendimiento relativamente alto, y no hay necesidad de adoptar sistemas de PCM basados en diferentes regímenes de muestreo y en diferentes longitudes de palabra para sacar partido de las diferentes anchuras de banda de audio y resoluciones para obtener los mejores resultados dentro de un régimen de datos transmitidos dado. Se puede usar un solo sistema de régimen de muestreo que opere a 96 KHz con una capacidad de 20 a 24 bits, con las técnicas de codificación y descodificación sin pérdida aquí descritas, para conseguir canales con un amplio margen de anchuras de banda y resoluciones, al tiempo que se usan eficientemente los regímenes de datos.
Codificación con pérdida con descodificación sin pérdida
Aunque los sistemas aquí descritos están dirigidos principalmente a la transmisión sin pérdida y a la recuperación de los datos de forma de onda originales, también se puede usar el descodificador con un codificador con pérdida para proporcionar una reducción adicional en el régimen de datos de la señal transmitida.
Esto está basado en la observación de que si la forma de onda de entrada al codificador tiene una longitud de palabra variable, es decir, si el número B_{1} de bits menos significativos que son invariables para grandes números de muestras sucesivas varía de un momento a otro, entonces el régimen de datos de una señal codificada variará también de acuerdo con el valor de B_{1}. Por consiguiente, se puede realizar una codificación con pérdida disponiendo para ello una operación de redondeo inicial para retirar los B_{1} bits menos significativos en bloques sucesivos de L muestras, antes del sistema de codificación descrito en lo que antecede, como se ha ilustrado en la Fig. 20a, donde el número de bits B_{1} retirados es pequeño o cero en los pasos de bajo nivel, pero es mayor en los pasos de alto nivel, donde los errores de redondeo resultantes es menos probable que sean apreciados en presencia de una gran energía de la señal.
Tal redondeo de adaptación en la entrada puede usarse para reducir el régimen de datos usado para la transmisión en los pasos más altos.
No obstante, el simple redondeo de bloques de L muestras no es en general la estrategia óptima para reducir al mínimo la capacidad de percepción de errores debido a que la longitud de la palabra se reduce por adaptación a N-B_{1} bits. Una técnica superior que puede hacer que tales errores sean menos perceptibles es la de combinar el proceso de redondeo con anterioridad al codificador con una conformación del ruido de adaptación como se ha ilustrado en la Figura 20b. El error del ruido de cuantificación producido por la operación de redondeo puede entonces ser conformado espectralmente de modo que el espectro del ruido de cuantificación siga la forma, o esté por debajo, de la curva de umbral de enmascaramiento del auditorio para la señal de audio en ese momento.
Esto se hace usando primero un modelo psicoacústico de enmascaramiento espectral del auditorio que actúa sobre la entrada para determinar el umbral de enmascaramiento, como se ha ilustrado en la Fig. 20b. Este proceso es bien conocido en la técnica, siendo de uso generalizado en la realización de sistemas de codificación de percepción con pérdida, y comprende usualmente una transformada de Fourier rápida, encuadrada en ventana para determinar el contenido espectral, seguida de un post-procesado del espectro donde cada componente espectral es sustituido por una curva de enmascaramiento similar a la de los oídos, y el máximo de tales curvas de enmascaramiento es la curva de enmascaramiento general. Hay varios perfeccionamientos y detalles que pueden usarse para simular con más exactitud las curvas de enmascaramiento, tales como las que se mencionan en las siguientes referencias de Stuart.
J.R. Stuart "Predicting the audibility, detectability and loudness of errors in audio systems", Preprint 3209 de la 91ª Audio Engineering Society Convention, New York (EE.UU.) (octubre 1991).
J.R. Stuart "Implementation of Measurement with Respect to Human Auditory Capability", Memorias de la Audio Engineering Society UK Conference on DSP, London (Reino Unido) (14-15 de septiembre de 1992), págs. 45-61.
Un método algorítmico de diseño de los coeficientes de filtro de conformación del ruido y de determinación del tamaño del paso de redondeo permisible para asegurar que el espectro del ruido de cuantificación queda bajo las curvas de enmascaramiento de umbral del auditorio, ha sido descrito en detalle en la técnica anterior para otra aplicación, en la referencia de A.W.J. Oomen, M.E. Groenewegen, R.G. van der Waal y R.N.J Veldhuis, titulada "A Variable-Bit-Rate Buried-Data Channel for Compact Disc" de la J.Audio Eng. Soc. vol. 43, Nº 1/2, págs. (Ene/Feb 1995). Este método puede ser también usado en la presente aplicación como un método para realizar el redondeo de percepción de adaptación ilustrado en la Fig. 20b.
Por este medio, se puede aumentar el grado de redondeo usado para permitir la retirada de un mayor número B_{1} de bits, al tiempo que se dan errores de cuantificación inaudibles o mínimamente audibles en cuanto a percepción debido al enmascaramiento de los errores de un momento a otro. Se encuentra frecuentemente para regímenes de muestreo de 44,1 o 48 KHz que B_{1} es típicamente tal que la longitud de la palabra significativa de la señal codificada por predicción es solamente de 4 ó 5 bits, cuando se realiza tal conformación del ruido de percepción en el proceso de cuantificación de la entrada ilustrado en la Figura 20b. Para altos regímenes de muestreo tales como de 96 KHz, donde el audio contiene frecuencias a las cuales no se modelan las curvas de enmascaramiento, se puede sustituir la curva de enmascaramiento por una curva de enmascaramiento presumida, que asegure que el espectro de cuantificación sigue al espectro de la señal a las altas frecuencias, pero está a una cantidad predeterminada, tal como de 12 ó 18 dB, por debajo de la señal en energía. Esto asegura una amplia preservación de las características espectrales de la señal ultrasónica, más allá del límite del oído humano, para las señales de onda sinusoidal. (Hay alguna evidencia de que los oídos responden a las frecuencias más allá de los límites de la frecuencia a la cual se pueden oír las ondas sinusoidales, pero este es un proceso no lineal que implica la percepción de características de formas de onda complejas).
Aunque en la operación de redondeo usada se ha de emplear un valor fijo de B_{1}, o más generalmente del tamaño de paso G, para cada bloque de L muestras, no hay razón alguna para que la conformación del ruido de percepción de adaptación no deba variar con más frecuencia, o incluso continuamente, en el tiempo, dado que la información de la conformación del ruido está incorporada en la señal de entrada al proceso de codificación sin pérdida en la Fig. 20b y no es usada en el resto del proceso de codificación y de descodificación.
Este proceso de codificación de reducción del régimen de datos de percepción con pérdida va seguido de la codificación y la descodificación sin pérdida que reconstruye en la salida del descodificador la señal con ruido de cuantificación de ruido conformado que entró en el sistema de codificación sin pérdida en el codificador de la Figura 20b. No se requiere cambio alguno en el algoritmo de descodificación.
Un sistema de codificación de percepción con pérdida de esta forma, basado en redondeo de adaptación de ruido conformado por percepción, seguido de codificación y de descodificación sin pérdida de las longitudes reducidas de las palabras significativas resultantes tiene una característica útil e inusual. A diferencia de otros sistemas de codificación con pérdida de percepción conocidos, basados en el enmascaramiento del auditorio, es posible disponer en cascada "codecs" (sistemas de codificador/descodificador) un número indefinido de veces sin una acumulación indefinidamente grande de los artefactos de ruido de cuantificación. La razón para esto es que una vez que un "codec" haya retirado B_{1} bits menos significativos de una parte de la señal de forma de onda, ninguna otra retirada de B_{1} o menos bits menos significativos tendrá efecto alguno posterior en la señal. Solamente si se retiran más bits habrá algún error de cuantificación añadido en un "codec", y el número de veces en que se reduzca la longitud de la palabra significativa es finito, lo cual limita la acumulación del error de ruido de cuantificación.
Esta característica es útil en aplicaciones tales como la de codificación y descodificación de la señal repetidas en aplicaciones de emisión, donde la capacidad para disponer en cascada procesos de codificación por percepción con pérdida es sumamente deseable.
Más generalmente, en vez de cuantificar un número B_{1} discreto de bits con conformación del ruido, se puede cuantificar con conformación del ruido de percepción de un tamaño de paso de cuantificación arbitrario G si se usa un sistema de codificación y descodificación sin pérdida que codifique tales tamaños de paso arbitrarios eficientemente, como se ha descrito en lo que antecede.
En aplicaciones de edición de audio, si los pasajes editados reciben únicamente ganancias que aseguren que el tamaño del paso de cuantificación de la señal es un múltiplo de valor entero del LSB que esté codificado eficientemente, entonces el régimen de datos de codificación de la señal editada permanecerá invariable, excepto durante desvanecimientos o apariciones graduales de la señal entre ediciones cruzadas cuando el régimen de datos de la señal aumenta temporalmente. Por consiguiente, los esquemas de codificación descritos permiten realizar edición de audio, incluyendo ajustes de la ganancia, con escaso efecto sobre los requisitos del régimen de datos de la señal editada, ya haya sido ésta codificada sin pérdida o con pérdida. Esto permite que las señales editadas sean almacenadas eficientemente, sin necesidad de la degradación de la calidad asociada a la recuantificación adicional.
Las ventajas distintas a las de la técnica anterior en la codificación con pérdida de esta solución para codificar con pérdida surgen como consecuencia del uso de la reducción de la precisión en el dominio de la PCM original con conformación del ruido psicoacústica seguida del uso de un sistema de codificación sin pérdida capaz de detectar por adaptación la reducción de la precisión y de codificar con un régimen de datos apropiado para la precisión detectada.
En el proceso de reducción de la precisión en el dominio de la PCM se puede hacer uso de un simple cuantificador con el tamaño de paso G, como se ha descrito en lo que antecede, o bien se pueden añadir además oscilaciones de pequeña amplitud en la entrada al cuantificador, a fin de reducir el efecto de la distorsión no lineal en el cuantificador. Tales oscilaciones de pequeña amplitud pueden ser oscilaciones de pequeña amplitud aditivas o sustractivas, de cualquier forma conocida que sea ventajosa, tal como la descrita en la antes citada referencia de Gerzon, Craven, Stuart y Wilson, o bien en la antes citada referencia de Gerzon y Craven, o bien en la publicación de P.G. Craven y M.A. Gerzon titulada "Compatible Improvement of 16-Bit Systems Using Subtractive Dither", Preprint 3356 de la 93ª Audio Engineering Society Convention, San Francisco, EE.UU. (1-4 octubre 1992).
Pre-énfasis y de-énfasis sin pérdida
También se puede realizar la codificación y la descodificación sin pérdida sin dividir la señal en bloques y sin necesidad de inicialización, por un método que denominamos de pre-énfasis sin pérdida y de de-énfasis sin pérdida. Esta técnica es particularmente útil para usar un canal de forma de onda de PCM de régimen fijo usual para conducir un número aumentado de bits de resolución sin pérdida. Además, este método de codificación tiene un grado de compatibilidad con los métodos usuales de pre-énfasis y de-énfasis de un canal de PCM.
En primer lugar resumiremos brevemente la técnica anterior conocida de pre-énfasis y de-énfasis en un canal de PCM. El pre-énfasis es el proceso de aplicación de una característica de ecualización predeterminada a una forma de onda antes de usar la codificación de PCM, y el de-énfasis es el proceso inverso de aplicación de una ecualización inversa a la señal de PCM descodificada. En la práctica actual, el pre-énfasis y el de-énfasis se aplican, lo más corrientemente, en el dominio de las señales analógicas, aunque a veces se realizan el pre-énfasis y el de-énfasis en el dominio digital. En audio, el pre-énfasis comprende usualmente un reforzamiento relativo de las frecuencias altas o de tonos altos con relación a las frecuencias de base, y en el de-énfasis inverso se usa un rebajo correspondiente de las frecuencias de tonos altos.
La idea del pre-énfasis sin pérdida es la de realizar el pre-énfasis en el dominio digital, usando un filtro de codificación sin pérdida con cuantificador de valores enteros incorporado, y realizar el de-énfasis inverso en la descodificación con un filtro de descodificación sin pérdida inverso con cuantificador de valores enteros incorporado. Con tal de que se esté preparado para perder precisión en precisamente las primeras pocas muestras de datos, es posible realizar esta codificación y descodificación sin pérdida con exactitud, sin inicialización alguna de las variables de estado, con tal de que los filtros y los conformadores del ruido de la codificación y de la descodificación sin pérdida tengan una forma especial, ilustradas en la Fig. 21a y 21b, respectivamente.
En esta forma especial, el codificador comprende simplemente un cuantificador con conformación del ruido de la forma exterior usando un filtro de FIR de precisión finita D(z^{-1}), el cual puede estar ausente (es decir, con coeficientes cero), cuya salida es alimentada a su entrada a través de un nodo de sustracción que sustrae un filtro de FIR de precisión finita B(z^{-1}). El descodificador comprende el mismo filtro B(z^{-1}) alimentado desde la entrada del descodificador y añadido a un camino de señal directo, seguido de un cuantificador con el mismo filtro de FIR de precisión finita
D(z^{-1}) de conformación del ruido de la forma exterior, donde el cuantificador usado en el descodificador es equivalente al cuantificador de codificación tanto precedido como seguido por una ganancia de -1.
Si el filtro de FIR B(z^{-1}) es de orden N, es evidente de la Fig. 21b que la salida del nodo de suma después de N muestras en el descodificador es independiente de la inicialización. Lo que es algo menos evidente es que, con tal de que la señal de entrada tenga una fluctuación estadística significativa, la inicialización del filtro de FIR de precisión finita D(z^{-1}) del conformador del ruido de la forma exterior tampoco afectará eventualmente a la salida. Evidentemente, si el conformador del ruido es de orden N', entonces si ocurre que la señal de salida coincide con la que hay en la entrada del codificador para cualesquiera N' muestras sucesivas, entonces el mismo coincidirá en todo momento después, dado que esto establecerá las variables de estado internas del conformador del ruido idénticas a las del codificador. Si se supone que en las señales típicas de audio o de forma de onda la distribución estadística de la parte estacionaria entre enteros de la salida del nodo de suma de la Fig. 21b es una distribución de probabilidad uniforme discreta, como es razonable para casi todas las señales, es entonces únicamente cuestión de tiempo, determinado por las probabilidades estadísticas, el que ocurra N' muestras de salidas sucesivas tengan idénticos valores a los de la entrada al codificador. En la práctica, sobre la base de estudios numéricos de inicialización errónea de cuantificadores de ruido conformado de la forma exterior, se ha comprobado que para un conformador del ruido de la forma exterior de primer orden, los valores correctos de las variables de estado de los conformadores del ruido es probable que tengan lugar dentro de unas pocas muestras de la reproducción de partida de una forma de onda, y para conformadores del ruido de la forma exterior de segundo orden, el tiempo probable para que tenga lugar la descodificación correcta será probablemente de decenas, y como máximo de unos pocos cientos, de muestras para conformadores del ruido cuyo reforzamiento máximo de alta frecuencia no exceda de 20 dB. Por lo tanto, en aplicaciones en las que la reproducción incorrecta de unas pocas muestras iniciales no sea crítica, como en la resolución de formas de onda de audio de duración extendida, se puede usar sin inicialización el método de codificación y descodificación de las Figs. 21a y 21b, siendo B(z^{-1}) un filtro de FIR de precisión finita y D(z^{-1}) un filtro de FIR de precisión finita de bajo orden.
En la mayor parte de las aplicaciones contempladas los filtros permanecerán fijos durante todo el proceso de codificación y descodificación en esta aplicación de pre-énfasis y de-énfasis sin pérdida.
La codificación y la descodificación permanecerán sin pérdida con tal de que solamente la salida del codificador no exceda de la capacidad de nivel de pico del canal de PCM usado para la transmisión. Para muchas señales que se encuentran en audio, y con unas características apropiadas de pre-énfasis, es fácil asegurar que no se rebasa esa capacidad de nivel de pico después de la codificación, ni mediante señales de registro con lectura de medida del nivel de pico obtenido por pre-énfasis, ni usando un limitador para impedir que la forma de onda de la señal exceda del nivel obtenido por pre-énfasis deseado.
Dado que muchas señales de audio no tienen niveles de pico muy altos en los tonos altos, sino un alto nivel en la base, un reforzamiento de las características de pre-énfasis de los tonos altos y el rebajo de los bajos reducirá los niveles de pico de los pasos de las señales a través del pre-énfasis sin pérdida, permitiendo que sea usada una longitud de palabra más corta. Por este medio, por ejemplo, cabe la posibilidad de usar un canal de PCM de 16 bits para conducir señales de 17 ó 18 bits, mediante pre-énfasis sin pérdida de la señal de 18 bits, dando una salida de longitud de palabra de 16 bits, la cual puede ser luego sometida a de-énfasis sin pérdida por el descodificador inverso, de vuelta a los 18 bits.
La conformación del ruido en esta aplicación de pre-énfasis sin pérdida puede emplearse para mejorar la compatibilidad de la descodificación con la reproducción a través del de-énfasis usual, en vez del de-énfasis sin pérdida correcto. Si se emplea el de-énfasis usual, no se retira entonces el error de cuantificación añadido introducido en el codificador, y ello degrada la calidad del sonido reproducido. No obstante, el efecto de percepción del error introducido, el cual sin la conformación del ruido tendría típicamente un espectro blanco, puede reducirse usando para ello conformación del ruido tal como D(z^{-1}) = 3/2 z^{-1} + 5/8 z^{-2}, lo cual daría típicamente menos energía a las frecuencias a las cuales el oído es más sensible, reduciendo los niveles de ruido percibidos en alrededor de 9 dB para un régimen de muestreo de 44,1 ó 48 KHz, y aproximadamente 9,7 dB a un régimen de muestreo de 96 KHz.
En la Figura 21c se ha representado un ejemplo de posible característica de respuesta de frecuencia de pre-énfasis que puede usarse para el pre-énfasis sin pérdida de finales de audio a un régimen de muestreo de 96 KHz. Esto se obtiene usando el filtro de FIR
B(z^{-1}) = b_{1}z^{-1} + b_{2}z^{-2} + b_{3}z^{-3} + b_{4}z^{-4}
donde
b_{1} = 34/16, b_{2} = 23/16, b_{3} = 2/16, b_{4} = -2/16
Esta característica de pre-énfasis atenúa las señales en más de 12 dB por debajo de 10 KHz, reduciendo típicamente la longitud de la palabra de audio en más de 2 bits, y la atenuación permanece siendo de más de 9 dB casi hasta los 20 KHz y aumenta a 0 dB por encima de 30 KHz, con fuertes reforzamientos de alrededor de 24 dB que quedan limitados a las frecuencias muy altas, por encima de 40 KHz.
Por consiguiente, en señales de audio típicas, esta característica de pre-énfasis sin pérdida reduce típicamente la longitud de la palabra en 2 ó más bits, permitiendo que un canal de PCM conduzca la señal sometida a pre-énfasis sin pérdida para conducir una longitud de palabra 2 bits mayor después del de-énfasis sin pérdida. Por ejemplo, un canal de PCM de 16 bits que use codificación de pre-énfasis sin pérdida puede transmitir sin pérdida una señal de PCM de 18 bits, con tal de que el pre-énfasis no origine sobrecarga del canal de transmisión.
En esta aplicación, el conformador del ruido puede ser un conformador del ruido de la forma exterior de segundo orden como por ejemplo
B(z^{-1}) = 3/2 z^{-1} + 3/4 z^{-2}
el cual reducirá típicamente los niveles de ruido percibidos cuando la descodificación sea a través del de-énfasis usual, en vez del de-énfasis sin pérdida, en aproximadamente 10 dB a un régimen de muestreo de 96 KHz. Si la señal original fuese de 18 bits y la señal sometida a pre-énfasis sin pérdida fuese de 16 bits de longitud de palabra, entonces el ruido percibido debido al cuantificador del codificador cuando se d descodifique con pre-énfasis usual empleando tal conformación del ruido, es equivalente a un ruido de cuantificación añadido de aproximadamente 19, 7 bits por debajo.
Más en general, la arquitectura general de ruido conformado de la forma exterior, ilustrada en, y descrita con referencia a, las Figuras 13a a 13d, puede usarse sin inicialización, y para señales de entrada que tengan una forma aleatoria se estabilizará finalmente en los mismos valores de las variables de estado y se convertirá en sin pérdida, con tal, únicamente, de que el filtro de codificación sea "con fugas", es decir, que el numerador 1 + A(z^{-1}) tenga todos ceros estrictamente dentro del círculo unidad, pero no sobre éste.
Sin embargo, el tiempo para estabilización antes de que desaparezcan los errores en la descodificación y de que la descodificación se convierta en sin pérdida, puede ser inaceptablemente largo, puede incluso exceder de la duración de una pieza de música larga.
Es por lo tanto necesario verificar mediante simulaciones numéricas la alimentación en una misma señal de entrada variable de estado aleatoria en el sistema de descodificación de la Fig. 13b con diferentes inicializaciones que las diferencias en salidas para dos cualesquiera de tales inicializaciones se estabilizan en cero después de un tiempo razonable, el cual puede ser de unos pocos milisegundos, o quizás de unas pocas decenas de milisegundos. Se ha comprobado como una regla general del pulgar que tal estabilización rápida se produce si el filtro de FIR
A(z^{-1}) + D(z^{-1}) + D(z^{-1})A(z^{-1})
es de bajo orden y si es tal que el aumento de la potencia del ruido blanco alimentado al filtro
\frac{1}{1+A(z^{-1})+D(z^{-1} + D(z^{-1}A(z^{-1})))}
\frac{1}{1+A(z^{-1})}\cdot\frac{1}{1+D(z^{-1})}=\frac{1}{1+D(z^{-1})}(1+A(z^{-1}))
se mantiene dentro de límites moderados. Es también deseable que el tiempo de decaimiento de este filtro sea corto.
El uso de una inicialización incorrecta en el descodificador de la Fig. 13b produce el efecto de no solamente iniciar incorrectamente la conformación del ruido, sino también de hacer que la forma de onda de salida descodifique inicialmente con errores posiblemente muy grandes. No obstante, las "fugas" del filtrado, es decir, el alto grado de amortiguación debido a los ceros de 1 + A(z^{-1}) que están estrictamente dentro del círculo unidad, significan que tales errores grandes se irán amortiguando y desaparecerán de acuerdo con el tiempo de decaimiento de cualesquiera resonancias en el filtro
\frac{1}{1+A(z^{-1})}
y una vez que se haya producido tal amortiguación, también tiene entonces la inicialización de la conformación del ruido la oportunidad de estabilizarse.
Así, con tal de que se use un filtro de codificación "con fugas" y que se tomen precauciones para elegir el filtro de FIR
A(z^{-1}) + D(z^{-1}) + 'D(z^{-1})A(z^{-1})
de las Figuras 13 para tener como resultado una rápida estabilización del descodificador de ruido conformado de la forma exterior, después de la inicialización incorrecta, se puede usar la codificación y la descodificación sin pérdida con conformación del ruido de la forma exterior opcional alrededor del cuantificador sin inicialización.
El uso de tales descodificadores que olvidan las condiciones de inicialización después de un corto 'período de exposición a señales de entrada aleatorias es también ventajoso, incluso aunque se use una inicialización no frecuente, dado que el mismo permite una rápida recuperación de los errores de datos aislados en la entrada al descodificador.
Las técnicas de predicción sin pérdida conocidas de la técnica anterior requerían todas la inicialización.
Por lo tanto, el pre-énfasis sin pérdida representa un medio conveniente para aumentar la longitud efectiva de la palabra de canales de PCM cuando se descodifican con de-énfasis sin pérdida, y proporciona un grado de compatibilidad con el de-énfasis usual del mismo canal.
\newpage
Descodificación sin inicialización
El anterior esquema con un filtro de codificación "con fugas" fijo para descodificar pre-énfasis sin pérdida sin inicialización puede ser también extendido a esquemas de adaptación más generales. En este caso, dependiendo del tiempo aceptable para estabilizar a codificación sin pérdida. se pueden omitir los datos de inicialización al principio de muchos o de todos los bloques de L muestras, y empezar el proceso de descodificación usando variables de estado cero y variables de estado arrastradas del bloque anterior. Con tal de que se elijan el filtro y los coeficientes de conformación del ruido exterior que sean suficientemente susceptibles de fugas en el codificador, se puede comprobar que el tiempo de estabilización es adecuadamente corto, y se pueden omitir los gastos en actividades indirectas de inicialización frecuente. Se ha de poner cuidado, sin embargo, para evitar el uso de filtros de codificación que no sean susceptibles de "fugas" o que no tengan muchas fugas, es decir, de aquellos cuyos ceros estén sobre el, o muy próximos al, círculo unidad, ya que tales codificadores tendrán un tiempo de estabilización muy largo o infinito.
Se puede mejorar el tiempo de estabilización mediante varias estrategias posibles. Una estrategia es la de disponer en cascada varios codificadores relativamente con fugas, en vez de usar un solo codificador que presente muchas menos fugas de actuaciones de filtro similares, ya que cada uno de los descodificadores inversos se estabilizará más rápidamente a su vez, permitiendo entonces que se estabilice el siguiente descodificador en la cadena.
Otra estrategia hace uso de la conformación del ruido para reducir el tiempo de estabilización. En esta estrategia, se usa un codificador de la forma exterior D(z^{-1}) tal que 1 + D(z^{-1}) tiene fugas y tal que la respuesta de frecuencia del filtro
\frac{1}{(1+D(z^{-1}))(1+A(z^{-1}))}
sea aproximadamente plana, o bien que al menos no refuerce mucho la amplitud del ruido blanco. Esto produce el efecto de reducir la amplitud del ruido de cuantificación después de descodificar con inicialización incorrecta, y la menor amplitud del ruido de cuantificación ayuda al proceso de estabilización, dado que se aumenta la probabilidad en cualquier momento de que el número requerido n de salidas cuantificadas tenga el valor correcto si se reducen las desviaciones de las salidas correctas.
Estas estrategias también mejoran en general la recuperación del filtro de descodificación en respuesta a errores aislados en las muestras codificadas por predicción recibidas por el descodificador.
La posibilidad de omitir o de reducir los datos de inicialización debido a un rápido tiempo de estabilización puede también permitir usar filtros de codificación de más alto orden sin que se requiera la transmisión de una cantidad excesiva de datos de inicialización. A modo de ejemplo, se podría usar una cascada de tres filtros de codificación de segundo orden, de los cuales solamente el último transmita los datos de inicialización, y de los cuales los dos primeros tienen un grado relativamente alto de fugas y conformación del ruido adaptada al numerador del codificador para reducir al mínimo la amplitud del error del ruido de cuantificación en la salida del descodificador. Esto permite que la primera etapa de la descodificación sea inicializada y que las etapas segunda y tercera se estabilicen rápidamente, produciendo un filtrado de codificación de sexto orden que incluye un factor que no tiene que ser necesariamente con fugas, al tiempo que tiene bajos gastos en actividades indirectas de datos de inicialización.
El tiempo de estabilización no deberá ser grandemente afectado por el uso de los sistemas de codificación o de descodificación con filtros en cascada que usen cuantificadores de paso fraccionario, como se ha descrito en lo que antecede con referencia a las Figuras 16 y 17.
El tiempo de estabilización puede ser deficiente si la señal de entrada no es de naturaleza lo suficientemente aleatoria como para "avanzar poco a poco a saltitos" o aumentar la probabilidad de que se consigan las variables de estado correctas. En esta situación, el uso de oscilaciones de pequeña amplitud de adición o de sustracción en la entrada de la señal al codificador y/o en cualquiera de los cuantificadores internos, con la correspondiente sustracción de oscilaciones de pequeña amplitud sincronizadas en los puntos correspondientes antes de los cuantificadores o en la salida, ayudará a que "avance poco a poco a saltitos" el sistema para estabilizarse.
El caso de multicanal
Los anteriores métodos de codificar y descodificar sin pérdida pueden extenderse a señales de multicanal. Aunque las señales de multicanal pueden ser codificadas y descodificadas sin pérdida como canales separados, tal codificación por separado no reduce óptimamente el régimen de datos, dado que no saca partido de cualquier redundancia que pueda haber, debida a las correlaciones entre la información en los diferentes canales.
A fin de describir el proceso de multicanal en general, describiremos primero el proceso de cuantificación matricial sin pérdida de n canales de datos de forma de onda de valores enteros. En la Figura 22a se ha ilustrado un cuantificador primitivo de matriz de n x n que produce n señales de salida de valores enteros S'_{1}, S_{2}, ..., S_{n} a partir de señales de entrada de valores enteros S_{1}, S_{2}, ... S_{n}, donde la primera señal S_{1} es alterada para que se convierta en una señal modificada
S'_{1} = S_{1} + cuantificar(a_{2}S_{2} + ... *a_{n}S_{n}),
donde la cuantificación es una operación de redondeo a valores enteros. Los coeficientes a_{2}, ... a_{n} pueden ser, preferiblemente, de precisión finita, teniendo un máximo común divisor d, de modo que el algoritmo pueda ser realizado exactamente sin error alguno general de redondeo.
Entonces se pueden recuperar las señales S_{1}, S_{2}, ... S_{n} exactamente de las señales S'_{1}, S_{2}, ..., S_{n} mediante un cuantificador primitivo inverso de matriz de n x n ilustrado en la Figura 22b, el cual realiza
S_{1} = S'_{1} - cuantificar(a_{2}S_{2} + ... + a_{m}S_{n}),
usando un cuantificador idéntico al cuantificador de matriz original.
Obsérvese que en las Figuras 22 y 23 hemos representado que las señales de valores enteros son alimentadas a un nodo de suma antes del cuantificador de valores enteros en vez de después. Esto hace que no haya claramente diferencia para las señales de entrada de valores enteros.
Ahora, aparte de la presencia del cuantificador, el cuantificador primitivo de matriz de la Figura 22a realiza una matriz de n x n
1
y el cuantificador primitivo inverso de matriz de la Figura 22b realiza una matriz de n x n, teniendo ambas matrices el determinante 1.
Se pueden realizar cuantificadores de matriz sin pérdida más elaborados que tengan n señales de valores enteros de entrada y salida, que sean sin pérdida en el sentido de ser invertibles para recuperar las señales de entrada a partir de
2
señales de salida, disponiendo para ello en cascada cualquier número de cuantificadores primitivos de matriz de n x n de la forma anterior, donde en los sucesivos cuantificadores de matriz primitivos, la señal que es alterada pueda ser elegida que sea uno diferente de los caminos de n señales cada vez.
A modo de ejemplo, en la Figura 23a se ha ilustrado la cascada de dos cuantificadores primitivos de matriz de n x n, siendo el primero como antes, y aceptando el segundo las n señales de valores enteros S'_{1}, S_{2}, S_{3}, ..., S_{n} y dando salida a las n señales de valores enteros S'_{1}, S'_{2}, S_{3}, ..., S_{n}, donde S'_{2} = S_{2} + cuantificar(b_{1}S'_{1} + .b_{3}S_{3} + :.. b_{n}S_{n}), y en la Figura 23b se ha ilustrado la cascada inversa de dos cuantificadores primitivos de matriz de n x n, aceptando el primero las n señales de valores enteros S'_{1}, S'_{2}, S_{3}, ... S_{n} y dando salida a las n señales de valores enteros S'_{1}, S_{2},
S_{3}, ..., S_{n} donde
S_{2} = S'_{2} - cuantificar(b_{1}S'_{1} + .b_{3}S_{3} + ... b_{n}S_{n}), y siendo el segundo como antes en la Fig. 22b.
Ahora, aparte de la presencia de los cuantificadores, la cascada de cuantificadores primitivos de matriz de la Figura 23a realiza una matriz de n x n
3
y el cuantificador inverso de matriz de la Figura 23b realiza una matriz de n x n
4
teniendo ambas matrices el determinante 1. (Recuérdese que el determinante de un producto de matrices es el producto de sus determinantes individuales).
En una forma similar, se puede invertir cualquier cascada de cuantificadores primitivos de matriz de n x n de la clase de la Fig. 22a para recuperar la entrada mediante una cascada invertida de los cuantificadores primitivos inversos de matriz de n x n de la clase ilustrada en la Fig. 22b, y las matrices resultantes tienen el determinante 1. Ciertamente, cualquier matriz de determinante 1 puede ser representada como el producto de tales matrices primicias. Un sistema general de esta clase en el cual se puede deshacer el efecto de la recuantificación a valores enteros mediante un sistema inverso se denominará un cuantificador de matriz sin pérdida.
Normalmente, no hay necesidad de disponer en cascada más de n cuantificadores primitivos de matriz de n x n, que cada uno altere a un canal de entrada diferente, para conseguir un cuantificador de matriz sin pérdida eficiente que reduzca al mínimo el régimen de datos codificados de las n señales de salida, aunque se puedan disponer en cascada en cualquier número.
A modo de ejemplo de un cuantificador de matriz sin pérdida de 2 x 2, consideremos el caso de la Figura 23a, donde n=2 y a_{2} = -1, y donde b_{1} = 1/2. Esto realiza una matriz de 2 x 2
5
donde la primera salida no necesita cuantificador alguno (al ser una señal de diferencia de valores enteros) pero la segunda es una señal suma dividida por 2 y seguida de un cuantificador. Esto permite una codificación sin pérdida eficiente de señales donde la energía de la señal diferencia es mucho menor que la de la señal suma, como en el caso con señales en estéreo de 2 canales que tienen la mayor parte de su energía en el centro de la etapa de estéreo. La matriz sin pérdida de descodificación inversa de la Fig. 23b realiza con un cuantificador antes de la segunda etapa la matriz inversa
6
Más en general, en el caso de 2 x 2, la matriz de determinante 1
7
es realizada en el cuantificador de matriz de codificación y la matriz inversa
8
es realizada en el descodificador. Se puede disponer que las filas de la primera matriz y las columnas de la segunda sean vectores ortogonales, poniendo
b_{1}=\frac{-a_{2}}{1+a^{2}_{2}}
Cuantificando a lo largo de ejes ortogonales de este modo se reduce al mínimo en general el régimen de datos de la salida si se eligen los ejes a lo largo de las direcciones de los vectores característicos de la matriz de correlación de la señal de entrada.
Evidentemente, los cuantificadores de matriz sin pérdida pueden ser dispuestos en cascada con filtro de codificación sin pérdida de la clase antes descrita con referencia a las Figuras 1 a 14 en cada uno de los caminos, o en cualquiera de ellos, de la señal de entrada o de salida, para formar un sistema de codificación sin pérdida compuesto para n señales de valores enteros, dado que la cascada invertida de sistemas de descodificación inversa recuperará las n señales de valores enteros originales.
Sin embargo, hay una versión de matriz de n x n del sistema de codificación y descodificación sin pérdida de la forma de onda de 1 canal genérico de las Figuras 6 y 15 que describiremos ahora con referencia a la Figura 24.
En la Figura 24a se ha ilustrado un codificador para codificar n señales de forma de onda de valores enteros distintas pero relacionadas en n señales de forma de onda de valores enteros de más baja energía para su transmisión a regímenes de datos reducidos. Como en el caso de un solo canal (o bien denominado "escalar"), un nodo de suma de n canales va seguido de un cuantificador de n canales, el cual es simplemente un cuantificador de valores enteros separado u operación de redondeo en cada uno de los n canales. No obstante, en este caso, el cuantificador de n canales alimenta a un cuantificador 1b de matriz de n x n sin pérdida, el cual alimenta a su vez a la salida de los n canales así como a un filtro de FIR de matriz de n x n B(z^{-1}) que tiene al menos un retraso de una muestra con coeficientes fraccionarios de precisión finita, todos con el denominador d, cuyas salidas de los n canales son restadas del nodo de suma. La señal de entrada de valores enteros de n canales alimenta de modo similar al nodo de suma directamente a través de un cuantificador 1a de matriz de n x n sin pérdida, y también a través de un filtro de FIR de matriz de n x n A(z^{-1}) que tiene al menos un retraso de una muestra con coeficientes fraccionarios de precisión finita todos con el denominador d. Los filtros de FIR de matriz de n x n son simplemente disposiciones de filtros mediante las cuales cada una de las n entradas alimenta a cada una de las n salidas a través de un filtro de FIR, dando hasta n^{2} caminos de filtro de FIR (algunos pueden omitirse si tienen coeficientes cero). A modo de ejemplo, en la Figura 25 se ha ilustrado un filtro de FIR de matriz de 2 x 2 de segundo orden que tiene al menos un retraso de una muestra. En la Figura 25 se han ilustrado también las variables de estado I_{ij} del filtro.
En la Figura 24b se ha ilustrado el descodificador inverso al codificador de la Figura 24a. Tiene éste la misma forma que el codificador excepto en que: (1) los filtros de FIR de matriz A(z^{-1}) y B(z^{-1}) están intercambiados, (2) el cuantificador 1a de matriz de n x n está sustituido por el cuantificador de matriz de n x n inverso a 1b y el cuantificador de matriz de n x n 1b está sustituido por el cuantificador de matriz de n x n inverso al 1a, y (3) el cuantificador de n canales en el descodificador es equivalente en actuaciones al cuantificador de n canales en el cuantificador precedido y seguido por inversión de fase.
Una arquitectura alternativa pero exactamente equivalente para el codificador y el descodificador para n canales se ha ilustrado en las Figuras 25c y 25d, respectivamente, donde se ha movido el cuantificador para seguir la diferencia de las salidas d los dos filtros pero precede el nodo de suma que manipula los caminos de la señal manipulando las señales de valores enteros, ya que la colocación de un nodo de adición o de sustracción antes o después de un cuantificador de valores enteros no afecta a los resultados cuando todas las señales son de valores enteros. Sin embargo, en la Figura 24d hemos elegido polaridades en los nodos de suma tales que el cuantificador usado en el descodificador inverso es idéntico al usado en el codificador (a diferencia del caso de la Figura 25b).
Otras arquitecturas para la realización del codificador de n canales se han ilustrado en otras Figuras 24e, 24g, 24i y 24k, y las correspondientes formas de descodificación inversa se han ilustrado en las Figuras 24f, 24h, 24j y 24l.
\newpage
Los codificadores de las Figuras 24e y 24g son exactamente equivalentes, y difieren de los codificadores anteriores en la colocación de cuantificadores de matriz de n x n sin pérdida en el camino del filtro que precede a los filtros de matriz de n x n en vez de en los caminos directos. A primera vista, puede parecer que no están relacionados con los codificadores de las Figuras 24a o 24c, pero de hecho están íntimamente relacionados y son simplemente variantes.
El codificador de la Figura 24a ó 24c puede ser convertido para que sea exactamente equivalente al de la Figura 24e ó 24g precediéndolo de un cuantificador de matriz de n x n inverso 1a y siguiéndolo por un cuantificador de matriz de n x n inverso 1b, si se pone el cuantificador 2a de matriz de n x n igual al cuantificador 1a de matriz de n x n inverso, y se pone el cuantificador 2b de matriz de n x n igual al cuantificador 1b de matriz de n x n inverso.
Análogamente, el codificador de la Figura 24e ó 24f puede ser convertido para que sea exactamente equivalente al de la Figura 24a ó 24c precediéndolo de un cuantificador de matriz de n x n inverso 2a y siguiéndolo por un cuantificador de matriz de n x n inverso 2b.
Análogamente, los correspondientes descodificadores inversos pueden ser convertidos para que sean exactamente equivalentes entre sí, precediendo y siguiendo al descodificador por cuantificadores de matriz de n x n inversos apropiados.
Ambas arquitecturas anteriores pueden ser combinadas en los codificadores ilustrados en las Figuras 24i ó 24k, los cuales son exactamente equivalentes entre sí en actuaciones, poniendo codificadores de matriz de n x n tanto en el camino directo como en el camino de filtros, precediendo en este último caso a los filtros. Uno o más de los cuantificadores de matriz de n x n puede ser, si se desea, "trivial", en el sentido de que no haga nada, con su salida igual a la entrada.
Obsérvese que en el caso de los descodificadores de las Figuras 24b, 24f y 24j, respectivamente inversos a los codificadores de las Figuras 24a, 24e y 24i, el descodificador del cuantificador de n canales deberá ser equivalente en actuaciones al codificador del cuantificador de n canales, tanto precedido como seguido por una inversión de la polaridad. No obstante, en el caso de los descodificadores de las Figuras 24d, 24h y 24l, respectivamente inversos a los codificadores de las Figuras 24c, 24g y 24k, los cuantificadores de n canales del codificador y del descodificador deberán ser equivalentes en actuaciones.
Estas arquitecturas variadas proporcionan un alcance considerable de la realización algorítmica variada de lo que son filtros de cuantificación de codificación o de descodificación funcionalmente idénticos.
En todos los casos considerados en la descripción, el mover los nodos de suma que manipulan señales cuantificadas a un tamaño de paso G desde antes o después de un cuantificador con el tamaño de paso G, o viceversa, es simplemente una variante obvia de la realización.
Además, la disposición en cascada o la combinación o la división sin pérdida de matrices de n x n no cambia aspecto alguno esencial, sino que es también un detalle de realización.
Los cuantificadores de n canales antes considerados pueden incorporar, si se desea, conformación del ruido como en el caso escalar, usando ya sea conformadores del ruido de la forma interior de valores enteros, como en la Figura 9, o ya sea conformadores del ruido de la forma exterior, como en la Figura 12, o incluso una combinación de los dos acoplados. En el caso de n canales, los filtros C(z^{-1}) o D(z^{-1}) pueden ser, si se desea, filtros de FIR de matriz de n x n con al menos una muestra de retraso. Esta opción permite diseñar la conformación del ruido que tenga una matriz de correlación deseada específica, posiblemente una que se adapte a la de la señal codificada de modo que se reduzca al mínimo el régimen de datos transmitidos para bajos niveles de la señal.
En general, la codificación y descodificación de matriz de n x n requiere la transmisión de muchos más coeficientes de filtro que los que requiere la codificación por separado de n canales, y esto puede añadirse a los gastos en actividades indirectas de datos si no se pone cuidado, posiblemente contrarrestando las mejoras en el régimen de datos de la codificación sacando partido de la correlación entre canales. Por esta razón, puede preferirse frecuentemente usar codificadores y descodificadores simplificados que no estén adaptados idealmente a las estadísticas de la señal de n canales.
Ignorando el efecto de los cuantificadores, la respuesta del filtro de matriz de n x n del sistema de codificación de las Figuras 24a ó 24c viene dada por
M(z^{-1}) = (M_{1b} + B(z^{-1}))^{-1} (M_{1a} + A(z^{-1})) = (1 + M_{1b}^{-1}B(z^{-1}))^{-1} (1 + M_{1b}^{-1} A(z^{-1})M_{1a}^{-1}M_{1b})M_{1b}^{-1}M_{1a}
donde M_{1b} es la matriz de determinante 1 del cuantificador 1a de matriz de n x n, y donde la inversión es inversión de matriz y la multiplicación es multiplicación de matriz. La transformada de Fourier con respecto al tiempo discreto de M(z^{-1}) es la respuesta de frecuencia M-(F) de matriz de n x n del sistema de codificación, y la matriz espectral de n x n de la salida del sistema de codificación es
S'(F) = M-(F)* S(F) M-(F)
donde S(F) es la matriz espectral de n x n como función de la frecuencia de la señal de entrada y donde * indica el adjunto de Hermite de la matriz. Recuérdese que el adjunto de Hermite de una matriz con entradas de valores complejos m_{ij} es la matriz con entradas de valores complejos (m_{ji})* donde * es la conjugación compleja. Idealmente, se elegiría para un régimen de datos codificados mínimo que esta matriz espectral S'(F) fuese blanca y con ejes de vectores característicos alineados a lo largo de las direcciones de los vectores de los canales de salida en el siguiente sentido:
El sistema de codificación de n canales ideal, tal como el de la Figura 24c, elegiría cuantificadores de matriz de n x n y filtros de matriz de n x n adaptados a las estadísticas de la señal de n canales en ese momento, con el objetivo de aproximarse a un espectro de salida blanco en todos los canales, de tal modo que (1) todas las combinaciones lineales de los canales de salida tengan también un espectro blanco, y (2) los vectores característicos de la matriz de correlación de las señales de salida de los n canales esté en la dirección del vector de los n canales. Para la teoría de correlaciones y espectros de múltiples canales, véase por ejemplo el capítulo 3 del texto de A.M Yaglom titulado "An Introduction to the Theory of Stationary Random Functions", Prentice-Hall, 1962, y Dover Publications 1973. En la práctica, como en el caso escalar, se puede con frecuencia preseleccionar simplemente un número de coeficientes de codificador de n canales adaptados razonablemente bien a los espectros de señal y distribución de energías más probables en los n canales, sobre la base de la medición de las matrices espectrales de señales típicas.
En general, la codificación y descodificación de matriz de n x n con filtro de orden n puede requerir la transmisión de muchos más coeficientes de filtro (hasta 2mn^{2}) que los que requiere la codificación separada de n canales, y esto puede añadirse a los gastos en actividades indirectas de datos si no se pone cuidado, contrarrestando posiblemente las mejoras en el régimen de datos de la codificación sacando partido de la correlación entre canales. Por esta razón, puede frecuentemente preferirse usar codificadores y descodificadores simplificados no adaptados idealmente a las estadísticas de la señal de n canales.
Los codificadores sin pérdida más simples para n canales comprende un cuantificador de matriz de n x n inicial seguido de n disposiciones de filtro de codificación sin pérdida de 1 canal separadas, para cada una de las n salidas, usando para cada una un conjunto posiblemente diferente de coeficientes de filtro y de conformación del ruido. Tales sistemas de codificación se han ilustrado en la Figura 26a y los sistemas de descodificación inversa en la Figura 26b. En este caso, la reducción del régimen de datos requiere hacer una elección adecuada para el cuantificador de matriz de n x n de entrada del codificador.
Esto puede hacerse de diversas formas. Es ventajoso disponer que el primer cuantificador de matriz de n x n primitivo produzca la máxima reducción del régimen de datos, y que el siguiente en la cascada (si hay alguno) produzca el grado máximo siguiente de reducción del régimen de datos, y así sucesivamente. Frecuentemente, la mayor parte de la reducción del régimen de datos de las correlaciones entre canales se obtendrá de los uno o dos primeros cuantificadores de matriz de n x n primitivos en la cascada, de modo que será en la práctica frecuentemente necesario solamente usar una o dos etapas de la cascada para que el cuantificador de matriz de n x n consiga la mayor parte de la reducción del régimen de datos que puede alcanzarse.
Así, la primera etapa del cuantificador de matriz de n x n primitivo del cuantificador de matriz de n x n en el codificador será seleccionada en general para que actúe sobre un canal y para disponerla en matriz en esa dirección del vector en los n canales que codifica con el mínimo régimen de datos. Preferiblemente, se elige aquel canal cuya dirección sea la más próxima a la dirección del vector en los n canales que codifican con el régimen de datos más bajo.
Por ejemplo, para una señal en estéreo de 2 canales, frecuentemente la energía predominante estará en la dirección L + R de la "suma", y la energía mínima en la dirección L - R de la "diferencia" de los canales izquierdo L y derecho R. En ese caso, se convertiría la mayor energía de los dos canales en una dirección de la diferencia, poniendo a_{z} = -1 o valores similares en la Figura 22a. Más en general, si la mayor energía se concentra en la dirección de Lcos\theta + Rsen\theta y la menor energía en la dirección de -Lsen\theta + Rcos\theta, entonces si -45 \leq \theta \leq 45 grados, se elige s_{1} = R, s_{2} = L y a_{2} = tan\theta aproximadamente, y si 45 \leq \theta \leq 135 grados, se elige S_{1} = L, S_{2} = R y a_{2} = cot\theta aproximadamente, en el cuantificador de matriz de n x n primitivo de la Figura 22a.
En este ejemplo de sonido estéreo de 2 canales, se hace uso del hecho de que en muchos casos, la energía se concentra principalmente en la dirección de un vector \theta en los dos canales de estéreo, y se elige el uso de un cuantificador de matriz sin pérdida de 2 x 2, de modo que una de las salidas cancele en la máxima medida posible la componente de energía dominante.
Una estimación cruda de la dirección del vector en los n canales que codifica con el mínimo régimen de datos viene dada por la dirección del vector en los n canales que tienen la más baja energía. Esa dirección puede calcularse para un bloque de muestras de longitud L, calculando para ello la matriz de correlación de los n canales para el bloque. Si el valor de la señal en la muestra i-ésima en el canal p-ésimo es x_{pi}, entonces esta matriz de correlación es la matriz M con las entradas
m_{pq} = \sum\limits_{i=1}^{L} x_{pi}x_{qi}
Luego se calculan los vectores característicos y los valores característicos asociados de esta matriz, y la dirección con la mínima energía es la dirección de aquel vector característico que tenga el mínimo valor característico. En el caso de señales de 2 canales, la dirección q en el ejemplo de estéreo anterior viene dada teniendo en cuenta que la matriz de correlación de 2 x 2 tiene la forma
10
con k \leq = 0.
Sin embargo, esta estimación de la dirección del vector en los n canales que codifica con el más bajo régimen de datos es cruda por cuanto puede ser cargada mediante señales de alta energía pero de bajo régimen de datos (tales como de audio de bajos fuertes) en otras direcciones. Se puede obtener una estimación más elaborada, pero más complicada desde el punto de vista del cálculo, sobre la base del régimen de datos mediante un procedimiento que aquí se indica.
Se calcula primero la matriz espectral S(F) como función de la frecuencia de la señal de n canales sobre un bloque encuadrado en ventana, empleando los métodos usuales de FFT (Transformada de Fourier Rápida) o similares conocidos. Luego se expande la matriz S(F) con las entradas de matriz S(F)_{pq}, p. q = 1, ..., n a cada frecuencia, en términos de sus valores característicos y sobre la base ortonormal de los vectores característicos \Phi_{p}(F) = (^{f}_{p1} (F), ...
^{f}_{pn} (F^\mu, de tal modo que
S(F)_{pq}= \sum\limits_{r=1}^{n}\lambda_{r} (F)f_{rq} (F)f_{rq} (F)*
Después se calcula el logaritmo ln(S(F)) de la matriz de n x n S(F), a su vez una matriz de n x n, definido por la fórmula
\in (S(F))_{pq}=\sum\limits_{r=1}^{n}ln(\lambda_{r} (F)f_{rq} (F)f_{rq} (F)*
El valor medio de esta matriz sobre todas las frecuencias F desde 0 hasta la frecuencia N de Nyquist proporciona una estimación de las direcciones óptimas para codificar para esa señal. Esta matriz de n x n del "logaritmo medio"
M_{pq} = \frac{1}{N}\int\limits_{0}^{N}ln(S(F))_{pq}dF
define las direcciones óptimas del vector de codificación como las direcciones de sus vectores característicos, siendo la dirección del vector en los n canales que codifica con el más bajo régimen de datos la dirección de aquel vector característico que tenga el menor valor característico.
Los cálculos de los vectores característicos y de los valores característicos de las matrices que intervienen en esta estimación para la óptima dirección del vector de codificación requieren considerable potencia numérica, especialmente en los codificadores de tiempo real. Se puede reducir algo la cantidad de cálculo aproximando para ello la integral mediante una suma, de modo que se efectúe el costoso cálculo del ln(S(F))_{pq} no para cada frecuencia simple sino como
\frac{1}{b}(ln(\int\limits_{F-b/2}^{F+b/2}S(x)dx))_{pq}
sobre una banda de frecuencias F - b/2 a F + b/2 de la anchura de banda b. Se puede disponer que la anchura de banda b sobre la cual se haga esto sea más amplia para las altas frecuencias que para las bajas frecuencias, para reducir la cantidad de cálculo que se necesite además, puede ser haciendo que la anchura de banda b sea quizás la máxima de un tercio de una octava y un valor mínimo previamente establecido.
También se puede calcular de un modo más barato el logaritmo ln(M) de una matriz M mediante un procedimiento de aproximación de la forma
\newpage
ln(M) = p(M) aproximadamente donde p(x) es una función polinómica o racional conocida para aproximarse a ln(x) sobre un amplio margen dinámico de valores de x.
Una aproximación eficiente, aproximadamente igual al logaritmo natural de x más una constante sobre un amplio margen dinámico de valores e^{-3(s-a-1)} < x < e^{3(s-a-2)} de los valores característicos de la matriz viene dada usando el cálculo racional aproximado
ln(M)+constante=f(e^{2\text.5(a-a^{-1})M})+f(e^{1\text.5(a-a^{-1})M})+ f(e^{0\text.5(a-a^{-1})M}) + f \left( \frac{M}{e^{0\text.5(a-a^{-1})}} \right) + f \left( \frac{M}{e^{1\text.5(a-a^{-1})}} \right) + k(1-a^{-2}) \left( \frac{M}{e^{2\text.5(a-a^{-1})}} \right)
donde
f(x)= \frac{1-a^{-2}}{a+x}
donde a = 5,4 aproximadamente, y k = 0,82 para que la aproximación logarítmica sea razonable (exacta en menos de \pm0,3) sobre el margen de 120 dB definido por 10^{6} < x < 10^{6}. En este método para calcular el logaritmo de una matriz se hace uso de cinco inversiones de matriz y es más eficiente desde el punto de vista del cálculo que el del cálculo a través de vectores característicos y de valores característicos, y es de una exactitud adecuada en esta aplicación. La constante no afecta a la determinación de los vectores característicos.
Sin embargo, se sigue requiriendo un cálculo del vector característico y del valor característico para determinar la dirección del vector que tiene el mínimo régimen de datos. El vector (1, a_{2}, ..., a_{n}) de los coeficientes usados en el cuantificador de matriz de n x n primitivo de la Figura 22a será una aproximación racional proporcional a este vector.
Sin embargo, una vez estimado, la realización del cuantificador de n x n primitivo de la Fig. 22a es simple y requiere la transmisión al descodificador de solamente n 1 coeficientes.
El procedimiento de codificación de matriz para reducir el régimen de datos se hace considerable más simple en los casos en los que se pueda usar una información a priori acerca de las correlaciones entre canales.
A modo de ejemplo, consideremos un sistema de audio que conduzca 7 canales de datos de forma de onda de audio, cinco de los cuales se usen para sonido ambiente en 5 altavoces y dos para estéreo en 2 altavoces. En muchos casos, la señal de estéreo se aproximará a una mezcla de las señales de sonido ambiente, de modo que en principio estará conduciendo pocos nuevos datos. Designamos aquí las señales en estéreo izquierda y derecha como Lt, Rt y las 5 señales de sonido ambiente por L_{3}, C_{3}, R_{3}, L_{s} y R_{s} para las respectivas señales destinadas para los altavoces delantero izquierdo, delantero central, delantero derecho, izquierdo ambiente y derecho ambiente.
Se pueden entonces elegir para mezcla, típicamente, las señales estéreo izquierda y derecha por medio de ecuaciones de mezclado tales como
Lt = g_{r}((0,5 + 0,5w_{r})L_{3} + k_{1}C_{3} + (0,5 + 0,5w_{F})R_{3}) + g_{s}((0,5 + 0,5w_{S})L_{s} + (0,5 + 0,5w_{S})R_{S})
Rt = g_{r}((0,5 + 0,5w_{r})L_{3} + k_{1}C_{3} + (0,5 + 0,5w_{F})R_{3}) + g_{s}((0,5 + 0,5w_{S}))L_{s} + (0,5 + 0,5w_{S})R_{S})
donde g_{r} es la ganancia de los canales delanteros, w_{F} es la anchura de los canales delanteros, k_{1} es la ganancia relativa del central, g_{s}b es la ganancia de los canales ambiente, y w_{S} es la anchura de los canales ambiente en la mezcla de ambiente.
En este caso, si los coeficientes de la mezcla son conocidos, se tienen las relaciones matemáticas conocidas
L_{3} = (1/g_{r})((0,5 + 0,5/w_{r})Lt + k_{1}C_{3} + (0,5 + 0,5/w_{r})Rt) -(g_{s}/g_{F})((0,5 + 0,5w_{S}/w_{F})L_{S} + (0,5 - 0,5w_{S}/w_{R}P_{S})
R_{3} = (1/g_{r})((0,5 + 0,5/w_{r})Lt + k_{1}C_{3} + (0,5 + 0,5/w_{r})Rt) -(g_{s}/g_{F})((0,5 + 0,5w_{S}/w_{F})L_{S} + (0,5 + 0,5w_{S}/w_{R}P_{S})
Sin embargo, si se transmiten los canales Lt y Rt además de L_{3}, C_{3}, R_{3}, L_{S} y R_{S}, estas relaciones matemáticas no serán completamente exactas, dado que habrá varios errores de redondeo y aproximaciones implicadas en la derivación de las señales de estéreo. No obstante, se pueden transmitir en vez de L_{3} y R_{3} las salidas dedos cuantificadores de matriz de 6 x 6 primitivos, como en la Figura 22a que realiza aproximaciones racionales a
L'_{3} = L_{3} - (1/g_{r})((0,5 + 0,5/w_{r})Lt - k_{1}C_{3} + (0,5 + 0,5/w_{r})Rt) + (g_{s}/g_{F})((0,5 + 0,5w_{S}/w_{F})L_{S} + (0,5 – 0,5w_{S}/w_{R}P_{S})
R'_{3} = R_{3} + (1/gr)((0,5 - 0,5/w_{r})Lt - k_{1}C_{3} + (0,5 + 0,5/w_{r})Rt) + (g_{s}/g_{F})((0,5 + 0,5w_{S}/w_{F})L_{S} + (0,5 + 0,5w_{S}/w_{R}P_{S})
y añadir a las cabeceras transmitidas para L'_{3} y R'_{3} las aproximaciones racionales usadas en los codificadores de matriz de 6 x 6 primitivos de la Figura 22a para los 5 coeficientes
(0,5 + 0,5w_{F})/g_{F},
-k_{1}/g_{F},
(0,5 + 0,5w_{F}\gamma_{F},
-(g_{S}/g_{F})((0,5 + 0,5w_{S}/w_{F}), y
-(g_{S}/g_{F})((0,5 - 0,5w_{S}/w_{F}).
Luego, como se ha ilustrado en la Figura 26a, se codifican los 7 canales Lt, Rt, L'_{3}, C_{3}, R'_{3}, L_{S} y R_{S} usando codificadores de filtros de codificación y de entropía, de la manera aquí descrita en lo que antecede. Los canales L'_{3} y R'_{3} son codificados con un régimen de datos grandemente reducido, que es de pequeña magnitud. La descodificación inversa es como se ha ilustrado en la Figura 26b, donde los coeficientes transmitidos son cargados en los cuantificadores de matriz de 6 x 6 primitivos inversos de la Figura 22b, para recuperar sin pérdida las señales L_{3} y R_{3}.
Este ejemplo ilustra cómo se puede usar una relación lineal aproximada conocida entre n canales transmitidos, para reducir el régimen de datos transmitidos. Un esquema más general de codificación y de descodificación inversa simplificadas para señales por n canales se han ilustrado, respectivamente, en las Figuras 26c y 26d. Aquí, las disposiciones separadas de filtros de codificación y de descodificación para los n canales están sustituidas por un sistema de codificación y descodificación de filtros de matriz de n x n de la forma ilustrada en, descrita con referencia a, las Figuras 6, 8, 10, 13, 15, 16 ó 17, donde los filtros A(z^{-1}), B(z^{-1}), C(z^{-1}) y D(z^{-1}) son ahora filtros de matriz de n x n, preferiblemente de la clase de FIR. e nuevo, para asegurar la transportabilidad de los algoritmos entre las diferentes plataformas de DSP, es deseable que los coeficientes de los filtros sean de una precisión finita, y que los filtros o bien sean realizados exactamente, o bien sean realizados de tal modo que cualesquiera errores de redondeo sean lo suficientemente pequeños como para que no afecten a la salida de los cuantificadores.
Aplicaciones a los datos de la forma de onda de imagen
El invento puede ser aplicado a datos de forma de onda de imagen de PCM definidos en disposiciones ordenadas de instantes de muestreo en dos o más dimensiones. Se interpretan además las cifras de la anterior descripción interpretando el símbolo z^{-1} como un par (z_{1}^{-1}, z_{2}^{-1}) de retrasos a lo largo de dos ejes en el caso bidimensional o como un n-múltiple z_{1}^{-1}, ..., z_{n}^{-1} de retrasos a lo largo de n ejes en el caso n-dimensional. Con esta interpretación y el requisito de que los filtros A(z_{1}^{-1}, ...z_{n}^{-1}), B(z_{1}^{-1}, ..., z_{n}^{-1}), C(z_{1}^{-1}, ..., z_{n}^{-1}) y D(z_{1}^{-1}, ..., z_{n}^{-1}) hayan de comprender términos cada uno de los cuales tenga al menos un retraso de una muestra a lo largo de al menos un eje de la disposición ordenada, las realizaciones ilustradas pueden ser generalizadas a tales datos de forma de onda n-dimensionales.
En imágenes bi-dimensionales, z_{1}^{-1} puede ser un retraso de una muestra a lo lago de, por ejemplo, el eje horizontal, y z_{2}^{-1} puede ser un retraso de una muestra a lo largo del eje vertical.
El uso de predictores bi-dimensionales en la codificación de formas de onda de imagen es bien conocido de la técnica anterior, y las nuevas características del presente invento pueden ser aplicadas a la codificación sin pérdida mejorada de tales imágenes. En realizaciones preferidas particulares, el filtro de codificación será un filtro recursivo bi-dimensional con recursión a través de un filtro de FIR B(z_{1}^{-1}, z_{2}^{-1}) alrededor de un cuantificador de valores enteros precedido por un factor numerador 1 + A(z_{1}^{-1}, z_{2}^{-1}), como se ha descrito en lo que antecede, y estos filtros tendrán una aritmética de precisión finita exactamente realizada. Se puede usar conformación del ruido bi-dimensional de la forma interior o de la forma exterior alrededor del cuantificador, tanto en el codificador como en el descodificador inverso, con filtrado bi-dimensional C(z_{1}^{-1}, z_{2}^{-1}) o D(z_{1}^{-1}, z_{2}^{-1}) para ayudar a reducir al mínimo el régimen de datos transmitidos, haciendo para ello que el espectro de ruido del cuantificador transmitido tenga un espectro bi-dimensional aproximadamente blanco.
En las aplicaciones de imágenes bi-dimensionales, los bloques sobre los cuales se aplica un filtro de codificación sin pérdida pueden ser típicamente de un tamaño L = 16 x 16 muestras, y los filtros pueden tener la forma de FIR
A(z_{1}^{-1}, z_{2}^{-1}) = a_{10}z_{1}^{-1} + a_{01}z_{2} ^{-1} + a_{11}z_{1}^{-1}z_{2}^{-1} + a_{20}z_{1}^{-2} + a_{02}z_{2}^{-2}
B(z_{1}^{-1}, z_{2}^{-1}) = b_{10}z_{1}^{-1} + b_{01}z_{2}^{-1} + b_{11}z_{1}^{-1}z_{2}^{-1} + b_{20}z_{1}^{-2} + b_{02}z_{2}^{-2}
donde todos los coeficientes tienen un denominador común d tal que d = 4 u 8 ó 16.
En muchas realizaciones, se pueden retener solamente los tres primeros términos de cada filtro.
Como en el caso de audio antes descrito, el bloque de datos será típicamente codificado sin pérdida como información de cabecera más los datos de forma de onda en codificación de Huffman. Se puede usar un esquema de codificación de la tabla de Huffman similar al usado en el caso de audio descrito en lo que antecede, dado que los datos de la forma de onda de imagen codificados por predictor se aproximan frecuentemente a las estadísticas de PDF Laplacianas, como se ha ilustrado, por ejemplo, en la publicación de R. J. Clarke titulada "Transform Coding of Images", Academic Press, London (Reino Unido), 1985. Los datos de la cabecera incluirán típicamente los coeficientes del filtro de codificación y del filtro de conformación del ruido (si lo hay) usado en ese bloque, el tamaño del paso de cuantificación de la señal de entrada, cualquier compensación de corriente continua retirada en la codificación, el número de la tabla de Huffman, y los datos de inicialización para los filtros del descodificador. También se pueden incorporar en la cabecera datos que digan al descodificador simplemente que repita los datos de no inicialización de un bloque anterior en la dirección horizontal o vertical, a fin de economizar gastos en actividades indirectas, donde los bloques adyacentes tengan propiedades estadísticas similares y se puedan obtener los datos de inicialización de las variables de estado de los bloques anteriores, en vez de ser transmitidos en cada bloque. Aparte de la bi-dimensionalidad del filtrado y de la estructura del bloque, el esquema de codificación y su esquema de descodificación inversa son similares en líneas generales a los del caso unidimensional antes descrito, aunque en aplicaciones de imagen las longitudes de palabra de PCM típicas son más cortas que en el audio de alta calidad, siendo típicamente de 8 a 12 bits antes de la codificación.
Se procurará en general producir filtros de codificación tales que el filtro
\frac{1}{1+B(z_{1}^{-1}, z_{2}^{-1})} (1+A(z_{1}^{-1}, z_{2}^{-1}))
tenga una respuesta de frecuencia bi-dimensional cuya tendencia general sea aproximadamente inversa al contenido espectral bi-dimensional de la señal a ser codificada, de modo que la señal codificada de salida tenga un espectro bi-dimensional que se aproxime mucho más a ser blanco.
En general, es necesario en el codificador que
\frac{1}{1+B(z_{1}^{-1}, z_{2}^{-1})} (1+A(z_{1}^{-1}, z_{2}^{-1}))
sea estable y es sumamente deseable que su inversa
\frac{1}{1+A(z_{1}^{-1}, z_{2}^{-1})} (1+B(z_{1}^{-1}, z_{2}^{-1}))
sea también estable. En la antes citada referencia de Shanks y Treitel, página 137, se hace notar que un filtro
1 + a_{10}z_{1}^{-1} + a_{01}z_{2}^{-1} + a_{11}z_{1}^{-1}z_{2}^{-1}
tiene una inversa estable siempre y cuando se cumpla que
|a_{01}|\leq1,
|1+a_{01}|>|a_{10}+a_{11}|, y
|1-a_{01}|>|a_{10}-a_{11}|.
Shanks y Treitel aportan también métodos generales de evaluación de la estabilidad de un filtro bi-dimensional. Sin embargo, desde un punto de vista práctico, un criterio numérico útil para que un filtro de la forma "1 + términos con retraso en al menos la dirección de un eje" sea estable con inversa estable, es que la media de los logaritmos de su respuesta de energía espectral bi- o n-dimensional, evaluada por integración hasta la frecuencia de Nyquist en la dirección de cada eje, sea cero. Esto es lo análogo al citado resultado unidimensional de la antes citada referencia de Gerzon y Craven. Debido a esto, un reforzamiento sobre una parte de la gama de frecuencias espacial producirá un rebajo medio de compensación sobre el resto de la gama de frecuencias espaciales.
En un bloque de imagen típico que contenga algún detalle, se ha comprobado que el espectro de la imagen tiene una alta energía para bajas frecuencias espaciales, pero que la energía cae en todas las direcciones espaciales con un ritmo de aproximadamente 6 dB por octava, a partir de una frecuencia espacial bastante baja que puede ser típicamente de alrededor de una décima parte de la de Nyquist.
Dentro de cada bloque, la caída de las altas frecuencias espaciales puede ser menor en algunas direcciones espaciales que en otras, debido a la orientación direccional típica de los detalles en ese bloque. Por consiguiente, se elegirá típicamente el filtrado espacial ideal realizado en la codificación para atenuar las bajas frecuencias espaciales y reforzar las altas frecuencias espaciales en alrededor de 6 dB por octava, con un más alto reforzamiento de las altas frecuencias en la dirección que tenga el máximo rebajo en la energía espectral de alta frecuencia. Aunque se puede usar un amplio margen de filtros de codificación y de descodificación inversa, por cuestión de conveniencia para la realización, puede desearse seleccionar el filtro en la codificación realizando para ello un pequeño número de filtros de codificación correspondientes a los diferentes grados de detalle fino en un bloque, y seleccionar el que de la mínima amplitud de la salida media o de la energía de salida en ese bloque. Alternativamente, se pueden usar las mediciones del espectro en el bloque, obtenidas puede ser atendiendo a la magnitud de los coeficientes de la DCT (transformada de coseno discreta) bi-dimensional dentro del bloque, para estimar el filtro de codificación preferido para ese bloque. Con las componentes de imagen relacionadas, tales como las componentes de color, se puede reducir todavía más el régimen de datos usando para ello los métodos de codificación sin pérdida multicanal, tales como el de cuantificadores de matriz de n x n sin pérdida antes descritos con referencia a las Figuras 22 a 26. Por ejemplo, una imagen en forma de componentes rojo, verde y azul, puede ser puesta en matriz sin pérdida en una forma que comprenda señales cromáticas o de diferencia de dos colores, y quizás una señal de luminancia, disponiendo para ello en matriz sin pérdida a fin de reducir el régimen de datos, dado que las señales de diferencia de colores tendrán en general menor energía y serán codificables con un régimen de datos más bajo. Tal disposición en matriz de colores sin pérdida puede hacerse en forma de adaptación bloque por bloque para sacar partido de las redundancias de color específicas para ese bloque. Los ejes a lo largo de los cuales se puede seleccionar la salida de tales codificaciones de cuantificador de matriz de 3 x 3 pueden seleccionarse para que se aproximen a los ejes del vector característico de valor principal para ese bloque de la imagen de color después de la separación de los componentes de corriente continua. Tales ejes se han analizado en la publicación de W. K. Pratt titulada "Digital Image Processing", Wiley-Interscience, New York, EE.UU., 1978, páginas 681-685, y en la comunicación de W.K. Pratt titulada "Spatial Transform Coding of Color Imaging", IEEE Trans. Commun. Tech-, vol, COM-19 (1971) páginas 980-982 con el nombre de transformación de Karhunen-Loeve que descorrelaciona las imágenes en 3 colores.
En formas similares, se puede aplicar el invento a señales de forma de onda tridimensionales tales como las de imágenes en movimiento o de vídeo, en donde el tercer eje sea el tiempo, y donde z_{3}^{-1} realiza un retraso entre cuadros de una imagen. Tal codificación por predicción sin pérdida de imágenes en movimiento puede incorporar seguimiento del movimiento, para mover imágenes de modo que se determine por correlación cruzada, o por otros métodos conocidos, aquel vector de desplazamiento de la imagen que adapte en forma más ajustada los cuadros sucesivos de la imagen para un bloque de datos específico, y hacer que z_{3}^{-1} represente el retraso entre bloques apropiadamente desplazados de cuadros sucesivos. Los filtros de codificación que usen tales vectores de desplazamiento en la tercera dimensión (el tiempo) darán por resultado un régimen de codificación sin pérdida más bajo para imágenes en movimiento.
Auto-oscilaciones de pequeña amplitud
La arquitectura de la Figura 6a puede ser usada en un contexto distinto al de la reducción del régimen de datos, por ejemplo, a fin de conseguir que un filtro de almacén altere el equilibrio subjetivo de la frecuencia de la señal transmitida, de tal modo que el oyente con un filtro inverso adecuado (Fig. 6b) pueda recuperar exactamente la señal original. No obstante, en este caso, el oyente que no tenga el filtro inverso sufrirá los efectos audibles adversos del cuantificador sin oscilaciones de pequeña amplitud de la Fig. 6a.
Para superar este defecto, se puede trasmitir usando la arquitectura de la Fig. 27a, la cual es afín a la de la Figura 6a pero con una señal de auto oscilaciones de pequeña amplitud añadida justamente antes del cuantificador. El correspondiente proceso inverso se ha ilustrado en la Fig. 27b. La teoría de las auto oscilaciones de pequeña amplitud se explica en la Solicitud de Patente Internacional PCT/GB 93/01644, y también en la comunicación titulada "Compatible Improvement of 16-bit Systems Using Subtractive Dither", de P.G. Craven y M.A. Gerzon, Preprint 3356 de la 93ª Audio Engineering Society Convention, San Francisco, EE.UU. (octubre, 1992).
El bloque designado como de "Generador de Auto oscilaciones de pequeña amplitud" en la Fig. 27 se refiere a la cascada de "Memoria tampón intermedia" y "Tabla de consulta" como se ha ilustrado en las Figs. 7 a 10 de la antes mencionada Memoria Descriptiva de patente, o bien de cualquier generador de auto oscilaciones de pequeña amplitud más avanzado o general, como se ha considerado en esas o en otras referencias. Obsérvese que se ha presupuesto que el generador de auto oscilaciones de pequeña amplitud incluye un retraso de al menos una muestra, de modo que es también realizable el bucle de realimentación de la Fig. 27a de la Memoria Descriptiva.
Con objeto de evitar la posibilidad de diferente comportamiento del redondeo en las diferentes plataformas de equipo físico, la señal de auto oscilaciones de pequeña amplitud deberá ser generada, preferiblemente, como una señal de precisión finita con un tamaño de paso G_{a}, y si los filtros A y B de la Fig. 6a son filtros de FIR con coeficientes de precisión finita, generando así la salida con el tamaño de paso G_{f}, sería entonces ventajoso elegir la relación G_{a}:G_{f} para que fuese una relación simple. Por ejemplo, G_{a} puede ser un múltiplo o un submúltiplo de G_{f}, o bien G_{a} puede ser igual a G_{f}.
El pre-enfatizador sin pérdida de la Fig. 16a puede ser mejorado de un modo similar, para beneficio del oyente que puede usar de-énfasis analógico, mediante la adición de auto oscilaciones de pequeña amplitud. El correspondiente de-énfasis sin pérdida de la Fig. 16b tiene que restar entonces la señal de auto oscilaciones de pequeña amplitud.
Análogamente, se puede usar la arquitectura de la Fig. 23a para realizar una matriz con propiedades psicoacústicamente deseables, por ejemplo, en una emisión comercial para dar óptimo resultado para un oyente con altavoces en una disposición diferente a la que se adoptó cuando se hizo el registro patrón, o bien para convertir de "formato-B ambisónico" a alimentaciones de altavoz adecuadas para el oyente doméstico. En este caso, el oyente más refinado puede desear usar el procesado inverso de la Fig. 23b para recuperar exactamente el registro patrón original. Una vez más, el oyente ordinario oirá el ruido de cuantificación sin oscilaciones de pequeña amplitud procedente de los cuantificadores, y esto puede evitarse mediante la adición de una señal de auto oscilaciones de pequeña amplitud antes de cada cuantificador, la cual puede ser restada por el oyente más refinado como se ha explicado en lo que antecede para el filtro de almacén con referencia a la Fig. 27.
Son posibles variaciones en la idea básica, por ejemplo, en el caso del cuantificador de matriz primitivo de la Fig. 22a, la señal de auto oscilaciones de pequeña amplitud puede depender del valor ACTUAL de los canales no procesados así como de los valores de muestras anteriores de todos los canales. En el caso de un patrón de formato-B ambisónico puede ser deseable usar tanto filtros de almacén como matrices en cascada para derivar alimentaciones de altavoz para la emisión comercial, y en ese caso se puede añadir auto oscilaciones de pequeña amplitud a ambos procesos. El proceso inverso consiste entonces en invertir los procesos individuales en cascada en orden inverso, con la apropiada adición/sustracción de la señal de auto oscilaciones de pequeña amplitud en cada caso.
En anteriores aplicaciones de auto oscilaciones de pequeña amplitud se ha supuesto que la salida del cuantificador es transmitida directamente, y por lo tanto la señal con auto oscilaciones de pequeña amplitud se deriva dependiendo de los valores anteriores de la señal transmitida. En el caso de procesadores sin pérdida en cascada, es cuestión de elección el que las auto oscilaciones de pequeña amplitud para cada proceso se deriven de la salida de ese proceso, o bien de la salida de un proceso subsiguiente (por ejemplo, de un último proceso cuya salida sea la señal transmitida). Por supuesto, el procesador de descodificación debe derivar la correspondiente señal de auto oscilaciones de pequeña amplitud del correspondiente punto en la cascada de orden invertido.
Otro elemento útil es el cambio de ganancia sin pérdida, para realizar una ganancia G es \geq 1 de una manera exactamente invertible. Esto puede ponerse en cascada con las matrices sin pérdida y con los filtros de almacén sin pérdida, a fin de derivar alimentaciones de altavoz del registro patrón de formato B Ambisónico de manera sin pérdida, y también tiene otros muchos usos.
Una forma de cambio de ganancia sin pérdida que incorpora auto oscilaciones de pequeña amplitud se ha ilustrado en la Fig. 28a, con el correspondiente descodificador en la Fig. 28b. En la Fig. 28a, la señal x de entrada de valores enteros es sometida a una ganancia G, \geq unidad. Se añade una señal de auto oscilaciones de pequeña amplitud y se cuantifica el resultado. Si el cuantificador es un cuantificador de redondeo (redondeando al entero más próximo) y si D es la señal de auto oscilaciones de pequeña amplitud, se tiene entonces que
g.x + d - 0,5 \leq y \leq g.x + d + 0,5
El procesador inverso de la Figura 28b resta la señal y de auto oscilaciones de pequeña amplitud y multiplica por la ganancia inversa 1/g, para formar la señal w dada por
W = (y - d)/g
la cual es dada de entrada al cuantificador para formar la salida z.
De ello se deduce que
x - 0,5/g \leq w \leq x + 0,5/g
y por consiguiente si g \geq 1 y el cuantificador redondea al entero más próximo, z debe ser igual a x.

Claims (8)

1. Un cuantificador de matriz para cuantificar datos de forma de onda que comprende señales para dos o más canales, en que el cuantificador de matriz comprende:
una primera entrada y una o más segundas entradas, en donde la primera entrada y las una o más segundas entrada reciben una señal cada una de valores enteros para un canal respectivo;
un cuantificador de un solo canal que tiene una entrada al cuantificador acoplada a las una o más segundas entradas y que tiene una salida del cuantificador;
una primera salida acoplada a la salida del cuantificador que proporciona una señal que representa una combinación lineal de la señal recibida en la primera entrada y una cuantificación de cada señal recibida en una segunda entrada respectiva; y
uno o más segundas salidas, cada una acoplada a una segunda entrada respectiva.
2. Un cuantificador de matriz de acuerdo con la Reivindicación 1, que comprende un nodo de suma, en donde el nodo de suma tiene una salida acoplada a la entrada del cuantificador, y tiene entradas acopladas a la primera entrada y a las una o más segundas entradas, de tal modo que la entrada al cuantificador responde a una suma o diferencia de la señal recibida en la primera entrada y una combinación lineal de las una o más señales recibidas en las una o más segundas entradas.
3. Un cuantificador de matriz de acuerdo con la Reivindicación 1, que comprende un nodo de suma, en donde el nodo de suma tiene entradas acopladas a la salida del cuantificador y a la primera entrada, y tiene una salida acoplada a la primera salida.
4. Un conformación del ruido de matriz de acuerdo con una cualquiera de las Reivindicaciones 1 a 3, en el que la entrada del cuantificador recibe una señal de auto oscilaciones de pequeña amplitud que comprende una secuencia de muestras, una muestra respectiva derivada de una o más muestras anteriores de una señal en la salida del cuantificador y/o una o más muestras anteriores de una señal en la entrada al cuantificador.
5. Un aparato que comprende una cascada de una pluralidad de cuantificadores de matriz, en el que cada cuantificador de matriz respectivo es de acuerdo con una cualquiera de las Reivindicaciones 1 a 4.
6. Un aparato de acuerdo con la Reivindicación 5 para cuantificar datos de forma de onda que comprende una señal para cada uno de N canales, en el que la cascada de cuantificadores de matriz proporciona un conjunto de N caminos de señal y los cuantificadores de matriz de la cascada están acoplados uno a otro de tal modo que cada uno de los N caminos de señal incluye la primera entrada de al menos un cuantificador de matriz.
7. Un aparato de acuerdo con la Reivindicación 5, para cuantificar datos de forma de onda que comprende una señal para cada uno de N canales, en el que la cascada de cuantificadores de matriz proporciona un conjunto de N caminos de la señal y los cuantificadores de matriz de la cascada están acoplados uno a otro de tal modo que cada una de los N caminos de señal incluye la primera entrada de no más de un cuantificador de matriz.
8. Un sistema de codificación multicanal que comprende:
un codificador multicanal que comprende un primer cuantificador de matriz de acuerdo con una cualquiera de las Reivindicaciones 1 a 4, en el que la combinación lineal en el primer cuantificador de matriz incluye cada señal recibida en una segunda entrada del primer cuantificador de matriz ponderada por un primer coeficiente respectivo; y
un descodificador multicanal acoplado al codificador multicanal, que comprende un segundo cuantificador de matriz de acuerdo con una cualquiera de las Reivindicaciones 1 a 4, en el que la combinación lineal en el segundo cuantificador de matriz incluye cada señal recibida en una segunda entrada del segundo cuantificador de matriz ponderada por un segundo coeficiente respectivo que es el negativo del primer coeficiente respectivo.
ES96914279T 1995-05-15 1996-05-15 Metodo de codificacion sin perdidas para datos en forma de ondas. Expired - Lifetime ES2203694T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9509831 1995-05-15
GBGB9509831.5A GB9509831D0 (en) 1995-05-15 1995-05-15 Lossless coding method for waveform data

Publications (1)

Publication Number Publication Date
ES2203694T3 true ES2203694T3 (es) 2004-04-16

Family

ID=10774504

Family Applications (1)

Application Number Title Priority Date Filing Date
ES96914279T Expired - Lifetime ES2203694T3 (es) 1995-05-15 1996-05-15 Metodo de codificacion sin perdidas para datos en forma de ondas.

Country Status (9)

Country Link
US (3) US6664913B1 (es)
EP (1) EP0826274B1 (es)
JP (1) JP3715653B2 (es)
AU (1) AU5768996A (es)
CA (1) CA2218893C (es)
DE (1) DE69629369T2 (es)
ES (1) ES2203694T3 (es)
GB (1) GB9509831D0 (es)
WO (1) WO1996037048A2 (es)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925127B1 (en) * 1997-07-22 2005-08-02 Ericsson Inc. Method and apparatus for subtracting multiple rays of multiple interfering received signals
CA2859333A1 (en) * 1999-04-07 2000-10-12 Dolby Laboratories Licensing Corporation Matrix improvements to lossless encoding and decoding
AU2005204293B2 (en) * 1999-04-07 2008-07-10 Dolby Laboratories Licensing Corporation Matrix improvements to lossless encoding and decoding
GB2350984B (en) * 1999-06-11 2003-10-15 Mitel Corp Synchronisation method and system
DE19959156C2 (de) * 1999-12-08 2002-01-31 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Verarbeiten eines zu codierenden Stereoaudiosignals
SE0001727L (sv) * 2000-05-10 2001-11-11 Global Ip Sound Ab Överföring över paketförmedlade nät
SE522261C2 (sv) * 2000-05-10 2004-01-27 Global Ip Sound Ab Kodning och avkodning av en digital signal
US6873654B1 (en) * 2000-05-16 2005-03-29 Redrock Semiconductor, Inc Method and system for predictive control for live streaming video/audio media
ATE336829T1 (de) * 2000-10-06 2006-09-15 Ericsson Inc Verfahren und vorrichtung zum subtrahieren von mehreren pfaden empfangener störsignale
JP4506039B2 (ja) * 2001-06-15 2010-07-21 ソニー株式会社 符号化装置及び方法、復号装置及び方法、並びに符号化プログラム及び復号プログラム
US7333929B1 (en) 2001-09-13 2008-02-19 Chmounk Dmitri V Modular scalable compressed audio data stream
US7106366B2 (en) * 2001-12-19 2006-09-12 Eastman Kodak Company Image capture system incorporating metadata to facilitate transcoding
WO2003069800A1 (en) * 2002-01-29 2003-08-21 Nokia Corporation Data transfer method in radio system
US7525455B2 (en) * 2002-03-04 2009-04-28 Stmicroelectronics N.V. Coder apparatus for resonant power conversion and method
US7924937B2 (en) * 2002-03-04 2011-04-12 Stmicroelectronics N.V. Resonant power converter for radio frequency transmission and method
US7225135B2 (en) * 2002-04-05 2007-05-29 Lectrosonics, Inc. Signal-predictive audio transmission system
WO2004006121A2 (en) * 2002-07-02 2004-01-15 Koninklijke Philips Electronics N.V. Method and arrangement for processing a signal using a digital processor having a given word length
US7424434B2 (en) * 2002-09-04 2008-09-09 Microsoft Corporation Unified lossy and lossless audio compression
US7536305B2 (en) * 2002-09-04 2009-05-19 Microsoft Corporation Mixed lossless audio compression
US7742926B2 (en) * 2003-04-18 2010-06-22 Realnetworks, Inc. Digital audio signal compression method and apparatus
US7657429B2 (en) * 2003-06-16 2010-02-02 Panasonic Corporation Coding apparatus and coding method for coding with reference to a codebook
JP2006528858A (ja) * 2003-07-24 2006-12-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ハイファイオーディオのための改良ロスレス圧縮及び高オーディオ品質を有するノイズシェーピング装置及び方法
DE10345995B4 (de) 2003-10-02 2005-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten
US7715480B2 (en) * 2003-10-17 2010-05-11 Mitsubishi Electric Research Laboratories, Inc. Video encoding with motion-selective wavelet transform
DE20318967U1 (de) * 2003-12-06 2004-03-11 Eads Astrium Gmbh Unterdrückung von Störungen bei digitaler Frequenzsynthese, insbesondere in einer Zeitfrequenz einer Navigationssignal-Sendeeinrichtung
DE102004007185B3 (de) * 2004-02-13 2005-06-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Prädiktives Codierungsschema
US20050180522A1 (en) * 2004-02-13 2005-08-18 Carroll Thomas L. Method and system for high bandwidth-efficiency communications using signals having positive entropy
GB2398191B (en) * 2004-03-10 2004-12-22 David Asher Jaffa Adaptive quantiser
US7392195B2 (en) * 2004-03-25 2008-06-24 Dts, Inc. Lossless multi-channel audio codec
US7424163B1 (en) * 2004-07-13 2008-09-09 Itt Manufacturing Enterprises, Inc. System and method for lossless image compression
JP4150798B2 (ja) * 2004-07-28 2008-09-17 国立大学法人徳島大学 デジタルフィルタリング方法、デジタルフィルタ装置、デジタルフィルタプログラム及びコンピュータで読み取り可能な記録媒体
US7930184B2 (en) * 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
US20060104353A1 (en) * 2004-11-16 2006-05-18 Johnson Andrew W Video signal preprocessing to minimize prediction error
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
MX2007011093A (es) * 2005-03-10 2007-12-04 Qualcomm Inc Una arquitectura de descodificador para manejo optimizado de errores en multimedia continua.
US7574057B1 (en) * 2005-03-23 2009-08-11 Lockheed Martin Corporation Eigen-based method for covariance data compression
US7548853B2 (en) * 2005-06-17 2009-06-16 Shmunk Dmitry V Scalable compressed audio bit stream and codec using a hierarchical filterbank and multichannel joint coding
US8630727B2 (en) * 2005-08-26 2014-01-14 Endless Analog, Inc Closed loop analog signal processor (“CLASP”) system
US7751916B2 (en) * 2005-08-26 2010-07-06 Endless Analog, Inc. Closed loop analog signal processor (“CLASP”) system
US9070408B2 (en) 2005-08-26 2015-06-30 Endless Analog, Inc Closed loop analog signal processor (“CLASP”) system
US7756592B2 (en) * 2005-12-30 2010-07-13 Peter Craven Enhanced feedback for plant control
US7576606B2 (en) * 2007-07-25 2009-08-18 D2Audio Corporation Digital PWM amplifier having a low delay corrector
EP1988635A1 (en) * 2006-02-14 2008-11-05 Matsushita Electric Industrial Co., Ltd. D/a converter
EP2007131B1 (en) * 2006-04-07 2013-02-27 Mitsubishi Electric Corporation Noise elimination apparatus and noise elimination method
JP4940888B2 (ja) * 2006-10-23 2012-05-30 ソニー株式会社 オーディオ信号伸張圧縮装置及び方法
US8761248B2 (en) * 2006-11-28 2014-06-24 Motorola Mobility Llc Method and system for intelligent video adaptation
US7728658B2 (en) * 2007-07-25 2010-06-01 D2Audio Corporation Low-noise, low-distortion digital PWM amplifier
US8239210B2 (en) * 2007-12-19 2012-08-07 Dts, Inc. Lossless multi-channel audio codec
US20090164223A1 (en) * 2007-12-19 2009-06-25 Dts, Inc. Lossless multi-channel audio codec
EP2232700B1 (en) 2007-12-21 2014-08-13 Dts Llc System for adjusting perceived loudness of audio signals
WO2009108776A1 (en) * 2008-02-29 2009-09-03 California Institute Of Technology Method and components for simultaneous processing of multiple functions
US8975922B2 (en) 2008-02-29 2015-03-10 California Institute Of Technology Method and apparatus for simultaneous processing of multiple functions
US8386271B2 (en) * 2008-03-25 2013-02-26 Microsoft Corporation Lossless and near lossless scalable audio codec
TWI377521B (en) * 2008-05-27 2012-11-21 Novatek Microelectronics Corp Image processing apparatus and method
US20130142520A1 (en) * 2008-06-30 2013-06-06 Chuan Xie Anti-causal pre-emphasis for high speed optical transmission
GB2466675B (en) 2009-01-06 2013-03-06 Skype Speech coding
GB2466673B (en) * 2009-01-06 2012-11-07 Skype Quantization
GB2466671B (en) * 2009-01-06 2013-03-27 Skype Speech encoding
GB2466670B (en) * 2009-01-06 2012-11-14 Skype Speech encoding
CN101615911B (zh) * 2009-05-12 2010-12-08 华为技术有限公司 一种编解码方法和装置
US9245529B2 (en) * 2009-06-18 2016-01-26 Texas Instruments Incorporated Adaptive encoding of a digital signal with one or more missing values
KR20100136890A (ko) 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
US8538042B2 (en) 2009-08-11 2013-09-17 Dts Llc System for increasing perceived loudness of speakers
US8374858B2 (en) * 2010-03-09 2013-02-12 Dts, Inc. Scalable lossless audio codec and authoring tool
KR101676477B1 (ko) * 2010-07-21 2016-11-15 삼성전자주식회사 컨텍스트 기반의 무손실 부호화 장치 및 방법, 그리고 복호화 장치 및 방법
WO2012112357A1 (en) 2011-02-16 2012-08-23 Dolby Laboratories Licensing Corporation Methods and systems for generating filter coefficients and configuring filters
CN103443854B (zh) 2011-04-08 2016-06-08 杜比实验室特许公司 用于混合来自两个编码位流的音频节目的元数据的自动配置
US20120331176A1 (en) * 2011-06-24 2012-12-27 Exar Corporation Method for transport and recovery of client clocking across asynchronous server networks
US20140214431A1 (en) 2011-07-01 2014-07-31 Dolby Laboratories Licensing Corporation Sample rate scalable lossless audio coding
CN102571518B (zh) * 2011-12-19 2015-01-21 西安交通大学 一种基于现场总线的电子式互感器数据传输方法
US8798129B2 (en) * 2012-01-04 2014-08-05 Lsi Corporation Biquad infinite impulse response system transformation
US9312829B2 (en) * 2012-04-12 2016-04-12 Dts Llc System for adjusting loudness of audio signals in real time
EP3358811A1 (en) 2012-05-01 2018-08-08 Lisnr, Inc. Systems and methods for content delivery and management
US11452153B2 (en) 2012-05-01 2022-09-20 Lisnr, Inc. Pairing and gateway connection using sonic tones
DE112013002793T5 (de) * 2012-06-05 2015-04-09 Powerwave Technologies S.A.R.L. Rekonfigurierbare FIR-Filter varibler Länge zur Optimierung der Leistung von Digital-Repeatern
WO2014035864A1 (en) 2012-08-31 2014-03-06 Dolby Laboratories Licensing Corporation Processing audio objects in principal and supplementary encoded audio signals
WO2014096236A2 (en) 2012-12-19 2014-06-26 Dolby International Ab Signal adaptive fir/iir predictors for minimizing entropy
US9383766B2 (en) 2013-01-09 2016-07-05 International Business Machines Corporation Chip performance monitoring system and method
WO2014161994A2 (en) 2013-04-05 2014-10-09 Dolby International Ab Advanced quantizer
EP3660843B1 (en) 2013-09-13 2022-11-09 Samsung Electronics Co., Ltd. Lossless coding method
US9338552B2 (en) 2014-05-09 2016-05-10 Trifield Ip, Llc Coinciding low and high frequency localization panning
US11330319B2 (en) * 2014-10-15 2022-05-10 Lisnr, Inc. Inaudible signaling tone
US9501717B1 (en) * 2015-08-10 2016-11-22 Mitsubishi Electric Research Laboratories, Inc. Method and system for coding signals using distributed coding and non-monotonic quantization
GB2547877B (en) 2015-12-21 2019-08-14 Graham Craven Peter Lossless bandsplitting and bandjoining using allpass filters
US10204187B1 (en) * 2015-12-28 2019-02-12 Cadence Design Systems, Inc. Method and system for implementing data reduction for waveform data
US10395664B2 (en) 2016-01-26 2019-08-27 Dolby Laboratories Licensing Corporation Adaptive Quantization
US10114916B1 (en) 2016-06-30 2018-10-30 Cadence Design Systems, Inc. Method and system to accelerate visualization of waveform data
US10455250B2 (en) * 2017-05-30 2019-10-22 Mitsubishi Electric Research Laboratories, Inc. Method and system for distributed coding of images
CN107291862A (zh) * 2017-06-12 2017-10-24 腾讯科技(深圳)有限公司 业务数据存储方法、装置、存储介质及电子设备
JP6932439B2 (ja) * 2017-07-11 2021-09-08 日本無線株式会社 デジタル信号処理装置
US11189295B2 (en) 2017-09-28 2021-11-30 Lisnr, Inc. High bandwidth sonic tone generation
DE102018112215B3 (de) * 2018-04-30 2019-07-25 Basler Ag Quantisiererbestimmung, computerlesbares Medium und Vorrichtung, die mindestens zwei Quantisierer implementiert
US11528176B2 (en) 2019-09-13 2022-12-13 Samsung Electronics Co., Ltd Apparatus and method for symbol time recovery using feedback loop
BR112022007279A2 (pt) 2019-10-18 2022-07-05 Dolby Laboratories Licensing Corp Métodos e sistema para codificação de forma de onda de sinais de áudio com um modelo generativo
US12176918B2 (en) * 2021-02-23 2024-12-24 Intel Corporation Hybrid LDPC decoder with mixed precision components
US11677480B2 (en) * 2021-04-13 2023-06-13 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for symbol timing recovery based on machine learning
US12231860B2 (en) * 2022-05-03 2025-02-18 Infineon Technologies Austria Ag Measurement-based loudspeaker excursion limiting
GB2624686B (en) 2022-11-25 2025-07-23 Lenbrook Industries Ltd Improvements to audio coding
US12425607B2 (en) * 2023-03-08 2025-09-23 Sony Interactive Entertainment Inc. Reserved bit prediction for slice size control with pipelined video encoding

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3569952A (en) * 1967-12-12 1971-03-09 Gen Electric Time division multiplex system and a logarithmic encoder for high speed multiplex operation
DE1762877A1 (de) * 1968-09-14 1970-11-12 Standard Elek K Lorenz Ag Analog-Digital-Wandler mit beliebiger Kennlinie fuer n Bit,insbesondere Coder fuer schnelle PCM
FR2039522A5 (es) * 1969-04-02 1971-01-15 Cit Alcatel
JPS493219B1 (es) * 1969-11-10 1974-01-25
US3795900A (en) * 1971-11-09 1974-03-05 Nasa Multifunction audio digitizer
BE793564A (fr) * 1971-12-30 1973-04-16 Western Electric Co Convertisseur analogique-numerique
US3909721A (en) 1972-01-31 1975-09-30 Signatron Signal processing system
US3937897A (en) * 1974-07-25 1976-02-10 North Electric Company Signal coding for telephone communication system
FR2441971A1 (fr) * 1978-11-17 1980-06-13 Trt Telecom Radio Electr Systeme de transmission utilisant la modulation differentielle par codage d'impulsions
JPS5730108A (en) * 1980-07-28 1982-02-18 Sony Corp Digital signal processing circuit
FR2515901A1 (fr) 1981-11-04 1983-05-06 Trt Telecom Radio Electr Systeme de transmission mic-differentiel avec prediction adaptative
JPH06101683B2 (ja) * 1983-03-14 1994-12-12 株式会社日立製作所 デイジタルアナログ変換装置
US4546342A (en) 1983-12-14 1985-10-08 Digital Recording Research Limited Partnership Data compression method and apparatus
JPS62152225A (ja) * 1985-12-26 1987-07-07 Canon Inc 予測符号化装置
JPS63211987A (ja) * 1987-02-27 1988-09-05 Sony Corp 予測符号化装置
US4882754A (en) 1987-08-25 1989-11-21 Digideck, Inc. Data compression system and method with buffer control
EP0331405B1 (en) * 1988-02-29 1996-11-27 Sony Corporation Method and apparatus for processing a digital signal
US4821119A (en) * 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
JP3151874B2 (ja) * 1991-02-26 2001-04-03 日本電気株式会社 音声パラメータ符号化方式および装置
JP3050934B2 (ja) 1991-03-22 2000-06-12 株式会社東芝 音声認識方式
JP3191457B2 (ja) * 1992-10-31 2001-07-23 ソニー株式会社 高能率符号化装置、ノイズスペクトル変更装置及び方法
CA2100729C (en) * 1993-07-16 2001-01-16 Simon Skierszkan Serial bit rate converter embedded in a switching matrix
AT403969B (de) * 1995-12-04 1998-07-27 Ericsson Schrack Aktiengesells Verfahren zur kompression eines analogen signals

Also Published As

Publication number Publication date
US20040125003A1 (en) 2004-07-01
US6784812B2 (en) 2004-08-31
US6891482B2 (en) 2005-05-10
CA2218893A1 (en) 1996-11-21
GB9509831D0 (en) 1995-07-05
CA2218893C (en) 2007-07-31
DE69629369T2 (de) 2004-06-24
WO1996037048A2 (en) 1996-11-21
US6664913B1 (en) 2003-12-16
US20050030207A1 (en) 2005-02-10
EP0826274A2 (en) 1998-03-04
DE69629369D1 (de) 2003-09-11
JPH11511299A (ja) 1999-09-28
WO1996037048A3 (en) 1997-01-09
JP3715653B2 (ja) 2005-11-09
EP0826274B1 (en) 2003-08-06
AU5768996A (en) 1996-11-29

Similar Documents

Publication Publication Date Title
ES2203694T3 (es) Metodo de codificacion sin perdidas para datos en forma de ondas.
ES2208297T3 (es) Generacion de matrices para codificacion y descodificacion sin perdidas de señales de audio multicanal.
ES2363346T3 (es) Códec de audio multi-canal sin pérdidas.
JP5027799B2 (ja) 符号化効率向上のためのパラメータの適応グループ化
TWI515720B (zh) 壓縮數位化音訊信號之方法、解碼已編碼壓縮數位化音訊信號之方法、及機器可讀儲存媒體
Craven et al. Lossless coding for audio discs
WO1994018762A1 (en) Transmission of digital data words representing a signal waveform
US7038606B2 (en) Digital signal processing device and audio signal reproduction device
CA2585240C (en) Lossless coding method for waveform data
JPH1083623A (ja) 信号記録方法、信号記録装置、記録媒体および信号処理方法
JP4534112B2 (ja) 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
AU2005204293B2 (en) Matrix improvements to lossless encoding and decoding
HK1163415A (en) Lossless encoding and decoding methods and apparatus for multichannel signals