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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3002—Conversion to or from differential modulation
- H03M7/3044—Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
- H03M7/3046—Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM] 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
| 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}))
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.
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.
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.
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.
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.
| 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.
| 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 |
| 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:
para -1 x 2
| x | Código de Huffman |
| -1 | 111 |
| 0 | 0 |
| 1 | 10 |
| 2 | 110 |
para -2 x 2
| x | Código de Huffman |
| -2 | 110 |
| -1 | 100 |
| 0 | 0 |
| 1 | 101 |
| 2 | 111 |
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.
| 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.
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).
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.
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
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.
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
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
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_{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
y el cuantificador inverso de matriz de la Figura
23b realiza una matriz de n x
n
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
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
Más en general, en el caso de 2 x 2, la matriz de
determinante 1
es realizada en el cuantificador de matriz de
codificación y la matriz
inversa
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
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
^{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.
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.
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.
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)
| 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)
| 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 |
-
1995
- 1995-05-15 GB GBGB9509831.5A patent/GB9509831D0/en active Pending
-
1996
- 1996-05-15 ES ES96914279T patent/ES2203694T3/es not_active Expired - Lifetime
- 1996-05-15 WO PCT/GB1996/001164 patent/WO1996037048A2/en not_active Ceased
- 1996-05-15 US US08/952,743 patent/US6664913B1/en not_active Expired - Lifetime
- 1996-05-15 EP EP96914279A patent/EP0826274B1/en not_active Expired - Lifetime
- 1996-05-15 JP JP53463596A patent/JP3715653B2/ja not_active Expired - Lifetime
- 1996-05-15 DE DE69629369T patent/DE69629369T2/de not_active Expired - Lifetime
- 1996-05-15 AU AU57689/96A patent/AU5768996A/en not_active Abandoned
- 1996-05-15 CA CA002218893A patent/CA2218893C/en not_active Expired - Lifetime
-
2003
- 2003-10-27 US US10/694,712 patent/US6784812B2/en not_active Expired - Lifetime
-
2004
- 2004-08-30 US US10/930,661 patent/US6891482B2/en not_active Expired - Fee Related
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 |